Refactor settings saving

This commit is contained in:
Pellaeon Lin 2017-02-18 11:58:56 +08:00
parent a10109f570
commit 8786d92276
3 changed files with 29 additions and 17 deletions

View File

@ -60,21 +60,25 @@ class SettingsController extends Controller {
$this->config->deleteAppValue($this->appName, 'registered_user_group'); $this->config->deleteAppValue($this->appName, 'registered_user_group');
return new DataResponse(array( return new DataResponse(array(
'data' => array( 'data' => array(
'message' => (string) $this->l10n->t('Your settings have been updated.'), 'message' => (string) $this->l10n->t('Saved'),
), ),
'status' => 'success'
)); ));
} else if ( in_array($registered_user_group, $group_id_list) ) { } else if ( in_array($registered_user_group, $group_id_list) ) {
$this->config->setAppValue($this->appName, 'registered_user_group', $registered_user_group); $this->config->setAppValue($this->appName, 'registered_user_group', $registered_user_group);
return new DataResponse(array( return new DataResponse(array(
'data' => array( 'data' => array(
'message' => (string) $this->l10n->t('Your settings have been updated.'), 'message' => (string) $this->l10n->t('Saved'),
), ),
'status' => 'success'
)); ));
} else { } else {
return new DataResponse(array( return new DataResponse(array(
'data' => array( 'data' => array(
'message' => (string) $this->l10n->t('No such group'), 'message' => (string) $this->l10n->t('No such group'),
), ),
'status' => 'error'
), Http::STATUS_NOT_FOUND); ), Http::STATUS_NOT_FOUND);
} }
} }

View File

@ -1,14 +1,23 @@
$(document).ready(function() { $(document).ready(function() {
function saveSettings() { function saveSettings() {
var post = $('#registration').serialize(); OC.msg.startSaving('#registration_settings_msg');
$.post(OC.generateUrl('/apps/registration/settings'), post); $.ajax({
} url: OC.generateUrl('/apps/registration/settings'),
type: 'POST',
data: $('#registration_settings_form').serialize(),
success: function(data){
OC.msg.finishedSaving('#registration_settings_msg', data);
},
error: function(data){
OC.msg.finishedError('#registration_settings_msg', data.responseJSON.message);
}
});
}
$('#registered_user_group').change(saveSettings); $('#registration_settings_form').change(saveSettings);
$('#allowed_domains').change(saveSettings); $('#registration').keypress(function(event) {
$('#registration').keypress(function(event) { if (event.keyCode === 13) {
if (event.keyCode === 13) { event.preventDefault();
event.preventDefault(); }
} });
});
}); });

View File

@ -1,8 +1,8 @@
<?php <?php
script('registration', 'settings'); script('registration', 'settings');
?> ?>
<form id="registration" class="section"> <form id="registration_settings_form" class="section">
<h2><?php p($l->t('Registration')); ?></h2> <h2><?php p($l->t('Registration')); ?></h2><span id="registration_settings_msg" class="msg"></span>
<p> <p>
<label for="registered_user_group"><?php p($l->t('Default group that all registered users belong')); ?></label> <label for="registered_user_group"><?php p($l->t('Default group that all registered users belong')); ?></label>
<select id="registered_user_group" name="registered_user_group"> <select id="registered_user_group" name="registered_user_group">
@ -20,8 +20,7 @@ foreach ( $_['groups'] as $group ) {
<input type="text" id="allowed_domains" name="allowed_domains" value=<?php p($_['allowed']);?>> <input type="text" id="allowed_domains" name="allowed_domains" value=<?php p($_['allowed']);?>>
</p> </p>
<p> <p>
<em><?php p($l->t('Enter a semicolon-separated list of allowed domains. Example: owncloud.com;github.com'));?> <em><?php p($l->t('Enter a semicolon-separated list of allowed domains. Example: owncloud.com;github.com'));?></em>
</em>
</p> </p>
</form> </form>