Merge branch 'master' of github.com:ZoneMinder/zoneminder

pull/3054/head
Isaac Connor 2020-09-21 11:15:41 -04:00
commit b16d4045ee
10 changed files with 28 additions and 80 deletions

View File

@ -80,8 +80,8 @@ the following steps. While step 3 is optional, it is preferred.
1. Fork the repo
2. Open an issue at our [GitHub Issues Tracker](https://github.com/ZoneMinder/ZoneMinder/issues).
Describe the bug that you've found, or the feature which you're asking for.
Jot down the issue number (e.g. 456)
Follow the issue template to describe the bug or security issue you found. Please note feature
requests or questions should be posted in our user forum or Slack channel.
3. Create your feature branch (`git checkout -b 456-my-new-feature`)
4. Commit your changes (`git commit -am 'Added some feature'`)
It is preferred that you 'commit early and often' instead of bunching all

View File

@ -51,7 +51,7 @@ This screen is called the "console" screen in ZoneMinder and shows a summary of
* **A**: The options menu lets you configure many aspects of ZoneMinder. Refer to :doc:`options`.
* **B**: This brings up a color coded log window that shows various system and component level logs. This window is useful if you are trying to diagnose issues. Refer to :doc:`logging`.
* **C**: ZoneMinder allows you to group monitors gor logical separation. This option lets you create new groups, associate monitors to them and edit/delete existing groups.
* **C**: ZoneMinder allows you to group monitors for logical separation. This option lets you create new groups, associate monitors to them and edit/delete existing groups.
* **D**: Filters are a powerful mechanism to perform actions when certain conditions are met. ZoneMinder comes with some preset filters that keep a tab of disk space and others. Many users create their own filters for more advanced actions like sending emails when certain events occur and more. Refer to :doc:`filterevents`.
* **E**: The Cycle option allows you to rotate between live views of each cofigured monitor.
* **F**: The Montage option shows a collage of your monitors. You can customize them including moving them around.

View File

@ -393,10 +393,7 @@ if ( currentView != 'none' && currentView != 'login' ) {
$j(".optionhelp").click(function(evt) {
$j.getJSON(thisUrl + '?request=modal&modal=optionhelp&ohndx=' + evt.target.id)
.done(optionhelpModal)
.fail(function(jqxhr, textStatus, error) {
console.log("Request Failed: " + textStatus + ", " + error);
console.log("Response Text: " + jqxhr.responseText);
});
.fail(logAjaxFail);
});
});
@ -420,7 +417,7 @@ if ( currentView != 'none' && currentView != 'login' ) {
.done(setNavBar)
.fail(function(jqxhr, textStatus, error) {
console.log("Request Failed: " + textStatus + ", " + error);
console.log("Response Text: " + jqxhr.responseText);
console.log("Response Text: " + jqxhr.responseText.replace(/(<([^>]+)>)/gi, ''));
if ( textStatus != "timeout" ) {
// The idea is that this should only fail due to auth, so reload the page
// which should go to login if it can't stay logged in.
@ -722,10 +719,7 @@ function reminderClickFunction() {
var option = $j(this).data('pdsa-dropdown-val');
$j.getJSON(thisUrl + '?view=version&action=version&option=' + option)
.done(window.location.reload(true)) //Do a full refresh to update ZM_DYN_LAST_VERSION
.fail(function(jqxhr, textStatus, error) {
console.log("Request Failed: " + textStatus + ", " + error);
console.log("Response Text: " + jqxhr.responseText);
});
.fail(logAjaxFail);
});
}
@ -745,10 +739,7 @@ function enoperm() {
$j('#ENoPerm').modal('hide');
});
})
.fail(function(jqxhr, textStatus, error) {
console.log("Request Failed: " + textStatus + ", " + error);
console.log("Response Text: " + jqxhr.responseText);
});
.fail(logAjaxFail);
}
function getLogoutModal() {
@ -760,10 +751,7 @@ function getLogoutModal() {
$j("body").append(data.html);
}
})
.fail(function(jqxhr, textStatus, error) {
console.log("Request Failed: " + textStatus + ", " + error);
console.log("Response Text: " + jqxhr.responseText);
});
.fail(logAjaxFail);
}
function getStateModal() {
@ -777,10 +765,7 @@ function getStateModal() {
$j('#modalState').modal('show');
manageStateModalBtns();
})
.fail(function(jqxhr, textStatus, error) {
console.log("Request Failed: " + textStatus + ", " + error);
console.log("Response Text: " + jqxhr.responseText);
});
.fail(logAjaxFail);
}
function manageStateModalBtns() {
@ -845,3 +830,8 @@ function stateStuff(action, runState, newState) {
location.reload();
});
}
function logAjaxFail(jqxhr, textStatus, error) {
console.log("Request Failed: " + textStatus + ", " + error);
console.log("Response Text: " + jqxhr.responseText.replace(/(<([^>]+)>)/gi, '')); // strip any html from the response
}

View File

@ -188,10 +188,7 @@ function initPage() {
$j('#donateForm').submit();
});
})
.fail(function(jqxhr, textStatus, error) {
console.log("Request Failed: " + textStatus + ", " + error);
console.log("Response Text: " + jqxhr.responseText);
});
.fail(logAjaxFail);
}
// Makes table sortable
@ -217,10 +214,7 @@ function initPage() {
// Manage the Function modal
manageFunctionModal();
})
.fail(function(jqxhr, textStatus, error) {
console.log("Request Failed: " + textStatus + ", " + error);
console.log("Response Text: " + jqxhr.responseText);
});
.fail(logAjaxFail);
}
function applySort(event, ui) {

View File

@ -50,10 +50,7 @@ var cueFrames = null; //make cueFrames available even if we don't send another a
function initialAlarmCues(eventId) {
$j.getJSON(thisUrl + '?view=request&request=status&entity=frames&id=' + eventId, setAlarmCues) //get frames data for alarmCues and inserts into html
.fail(function(jqxhr, textStatus, error) {
console.log("Request Failed: " + textStatus + ", " + error);
console.log("Response Text: " + jqxhr.responseText);
});
.fail(logAjaxFail);
}
function setAlarmCues(data) {

View File

@ -46,10 +46,7 @@ function getDelConfirmModal() {
}
manageDelConfirmModalBtns();
})
.fail(function(jqxhr, textStatus, error) {
console.log("Request Failed: " + textStatus + ", " + error);
console.log("Response Text: " + jqxhr.responseText);
});
.fail(logAjaxFail);
}
// Manage the DELETE CONFIRMATION modal button
@ -68,10 +65,7 @@ function manageDelConfirmModalBtns() {
$j('#eventTable').bootstrapTable('refresh');
window.location.reload(true);
})
.fail(function(jqxhr, textStatus, error) {
console.log("Request Failed: " + textStatus + ", " + error);
console.log("Response Text: " + jqxhr.responseText);
});
.fail(logAjaxFail);
});
// Manage the CANCEL modal button
@ -95,10 +89,7 @@ function getEventDetailModal(eid) {
$j('#eventDetailForm').submit();
});
})
.fail(function(jqxhr, textStatus, error) {
console.log("Request Failed: " + textStatus + ", " + error);
console.log("Response Text: " + jqxhr.responseText);
});
.fail(logAjaxFail);
}
function initPage() {
@ -199,10 +190,7 @@ function initPage() {
$j('#eventTable').bootstrapTable('refresh');
window.location.reload(true);
})
.fail(function(jqxhr, textStatus, error) {
console.log("Request Failed: " + textStatus + ", " + error);
console.log("Response Text: " + jqxhr.responseText);
});
.fail(logAjaxFail);
});
// Manage the UNARCHIVE button
@ -221,10 +209,7 @@ function initPage() {
$j('#eventTable').bootstrapTable('refresh');
window.location.reload(true);
})
.fail(function(jqxhr, textStatus, error) {
console.log("Request Failed: " + textStatus + ", " + error);
console.log("Response Text: " + jqxhr.responseText);
});
.fail(logAjaxFail);
if ( openFilterWindow ) {
//opener.location.reload(true);
@ -259,10 +244,7 @@ function initPage() {
$j('#eventDetailForm').submit();
});
})
.fail(function(jqxhr, textStatus, error) {
console.log("Request Failed: " + textStatus + ", " + error);
console.log("Response Text: " + jqxhr.responseText);
});
.fail(logAjaxFail);
});
// Manage the EXPORT button

View File

@ -95,10 +95,7 @@ function getEventDetailModal(eid) {
$j('#eventDetailForm').submit();
});
})
.fail(function(jqxhr, textStatus, error) {
console.log("Request Failed: " + textStatus + ", " + error);
console.log("Response Text: " + jqxhr.responseText);
});
.fail(logAjaxFail);
}
function initPage() {

View File

@ -422,10 +422,7 @@ function getModal(id) {
}
$j('#'+id+'Modal').modal('show');
})
.fail(function(jqxhr, textStatus, error) {
console.log("Request Failed: " + textStatus + ", " + error);
console.log("Response Text: " + jqxhr.responseText);
});
.fail(logAjaxFail);
}
function manageModalBtns(id) {

View File

@ -32,10 +32,7 @@ function detailFormatter(index, row, $detail) {
.done(function(data) {
$detail.html(data.html);
})
.fail(function(jqxhr, textStatus, error) {
console.log("Request Failed: " + textStatus + ", " + error);
console.log("Response Text: " + jqxhr.responseText);
});
.fail(logAjaxFail);
}
function initPage() {
var backBtn = $j('#backBtn');

View File

@ -14,10 +14,7 @@ function getServerModal(sid) {
$j('#serverModalForm').submit();
});
})
.fail(function(jqxhr, textStatus, error) {
console.log("Request Failed: " + textStatus + ", " + error);
console.log("Response Text: " + jqxhr.responseText);
});
.fail(logAjaxFail);
}
function enableServerModal() {
@ -48,10 +45,7 @@ function getStorageModal(sid) {
$j('#storageModalForm').submit();
});
})
.fail(function(jqxhr, textStatus, error) {
console.log("Request Failed: " + textStatus + ", " + error);
console.log("Response Text: " + jqxhr.responseText);
});
.fail(logAjaxFail);
}
function enableStorageModal() {