aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files_encryption/js/settings-admin.js
diff options
context:
space:
mode:
authorFlorin Peter <github@florin-peter.de>2013-05-24 20:54:13 +0200
committerFlorin Peter <github@florin-peter.de>2013-05-24 20:54:13 +0200
commit946e9ccc0ade60bb9ff34ace9e94e85cce6af96c (patch)
tree4770fb73b25d6eb50caa2149df8fb06dd8928a45 /apps/files_encryption/js/settings-admin.js
parent5076c0d392f6eb17e368a9382cf5b0abe7408889 (diff)
parentae9adcaf8cc1f2b279494cfdd30a1d62d41f5060 (diff)
downloadnextcloud-server-946e9ccc0ade60bb9ff34ace9e94e85cce6af96c.tar.gz
nextcloud-server-946e9ccc0ade60bb9ff34ace9e94e85cce6af96c.zip
Merge branch 'master' into fix_for_2377
Diffstat (limited to 'apps/files_encryption/js/settings-admin.js')
-rw-r--r--apps/files_encryption/js/settings-admin.js102
1 files changed, 102 insertions, 0 deletions
diff --git a/apps/files_encryption/js/settings-admin.js b/apps/files_encryption/js/settings-admin.js
new file mode 100644
index 00000000000..7c1866445ee
--- /dev/null
+++ b/apps/files_encryption/js/settings-admin.js
@@ -0,0 +1,102 @@
+/**
+ * Copyright (c) 2013, Sam Tuke <samtuke@owncloud.com>, Robin Appelman
+ * <icewind1991@gmail.com>
+ * This file is licensed under the Affero General Public License version 3 or later.
+ * See the COPYING-README file.
+ */
+
+OC.msg={
+ startSaving:function(selector){
+ $(selector)
+ .html( t('settings', 'Saving...') )
+ .removeClass('success')
+ .removeClass('error')
+ .stop(true, true)
+ .show();
+ },
+ finishedSaving:function(selector, data){
+ if( data.status === "success" ){
+ $(selector).html( data.data.message )
+ .addClass('success')
+ .stop(true, true)
+ .delay(3000)
+ .fadeOut(900);
+ }else{
+ $(selector).html( data.data.message ).addClass('error');
+ }
+ }
+};
+
+$(document).ready(function(){
+ // Trigger ajax on recoveryAdmin status change
+ var enabledStatus = $('#adminEnableRecovery').val();
+
+ $('input:password[name="recoveryPassword"]').keyup(function(event) {
+ var recoveryPassword = $( '#recoveryPassword' ).val();
+ var checkedButton = $('input:radio[name="adminEnableRecovery"]:checked').val();
+ var uncheckedValue = (1+parseInt(checkedButton)) % 2;
+ if (recoveryPassword != '' ) {
+ $('input:radio[name="adminEnableRecovery"][value="'+uncheckedValue.toString()+'"]').removeAttr("disabled");
+ } else {
+ $('input:radio[name="adminEnableRecovery"][value="'+uncheckedValue.toString()+'"]').attr("disabled", "true");
+ }
+ });
+
+ $( 'input:radio[name="adminEnableRecovery"]' ).change(
+ function() {
+ var recoveryStatus = $( this ).val();
+ var oldStatus = (1+parseInt(recoveryStatus)) % 2;
+ var recoveryPassword = $( '#recoveryPassword' ).val();
+ $.post(
+ OC.filePath( 'files_encryption', 'ajax', 'adminrecovery.php' )
+ , { adminEnableRecovery: recoveryStatus, recoveryPassword: recoveryPassword }
+ , function( result ) {
+ if (result.status === "error") {
+ OC.Notification.show(t('admin', result.data.message));
+ $('input:radio[name="adminEnableRecovery"][value="'+oldStatus.toString()+'"]').attr("checked", "true");
+ } else {
+ OC.Notification.hide();
+ if (recoveryStatus === "0") {
+ $('button:button[name="submitChangeRecoveryKey"]').attr("disabled", "true");
+ $('input:password[name="changeRecoveryPassword"]').attr("disabled", "true");
+ $('input:password[name="changeRecoveryPassword"]').val("");
+ } else {
+ $('input:password[name="changeRecoveryPassword"]').removeAttr("disabled");
+ }
+ }
+ }
+ );
+ }
+ );
+
+ // change recovery password
+
+ $('input:password[name="changeRecoveryPassword"]').keyup(function(event) {
+ var oldRecoveryPassword = $('input:password[id="oldRecoveryPassword"]').val();
+ var newRecoveryPassword = $('input:password[id="newRecoveryPassword"]').val();
+ if (newRecoveryPassword != '' && oldRecoveryPassword != '' ) {
+ $('button:button[name="submitChangeRecoveryKey"]').removeAttr("disabled");
+ } else {
+ $('button:button[name="submitChangeRecoveryKey"]').attr("disabled", "true");
+ }
+ });
+
+
+ $('button:button[name="submitChangeRecoveryKey"]').click(function() {
+ var oldRecoveryPassword = $('input:password[id="oldRecoveryPassword"]').val();
+ var newRecoveryPassword = $('input:password[id="newRecoveryPassword"]').val();
+ OC.msg.startSaving('#encryption .msg');
+ $.post(
+ OC.filePath( 'files_encryption', 'ajax', 'changeRecoveryPassword.php' )
+ , { oldPassword: oldRecoveryPassword, newPassword: newRecoveryPassword }
+ , function( data ) {
+ if (data.status == "error") {
+ OC.msg.finishedSaving('#encryption .msg', data);
+ } else {
+ OC.msg.finishedSaving('#encryption .msg', data);
+ }
+ }
+ );
+ });
+
+}); \ No newline at end of file