Merge branch 'master' of github.com:ZoneMinder/zoneminder
commit
b16d4045ee
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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() {
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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');
|
||||
|
|
|
@ -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() {
|
||||
|
|
Loading…
Reference in New Issue