var SharingGroupList = { setupGroupsSelect: function($elements) { if ($elements.length > 0) { // note: settings are saved through a "change" event registered // on all input fields $elements.select2({ placeholder: t('core', 'Groups'), allowClear: true, multiple: true, ajax: { url: OC.generateUrl('/settings/ajax/grouplist'), dataType: 'json', quietMillis: 100, data: function (term) { return { pattern: term, //search term }; }, results: function (data) { if (data.status === "success") { var results = []; // add groups $.each(data.data.adminGroups, function(i, group) { results.push({id:group.id, displayname:group.name}); }); $.each(data.data.groups, function(i, group) { results.push({id:group.id, displayname:group.name}); }); return {results: results}; } else { //FIXME add error handling } } }, id: function(element) { return element.id; }, initSelection: function(element, callback) { var selection = _.map(($(element).val() || []).split(',').sort(), function(groupName) { return { id: groupName, displayname: groupName }; }); callback(selection); }, formatResult: function (element) { return element.displayname; }, formatSelection: function (element) { return element.displayname; } }); } } }; $(document).ready(function(){ var params = OC.Util.History.parseUrlQuery(); // Hack to add a trusted domain if (params.trustDomain) { OC.dialogs.confirm(t('core', 'Are you really sure you want add "{domain}" as trusted domain?', {domain: params.trustDomain}), t('core', 'Add trusted domain'), function(answer) { if(answer) { $.ajax({ type: 'POST', url: OC.generateUrl('settings/ajax/setsecurity.php'), data: { trustedDomain: params.trustDomain } }).done(function() { window.location.replace(OC.generateUrl('settings/admin')); }); } }); } $('#excludedGroups').each(function (index, element) { SharingGroupList.setupGroupsSelect($(element)); }); $('#loglevel').change(function(){ $.post(OC.filePath('settings','ajax','setloglevel.php'), { level: $(this).val() },function(){ OC.Log.reload(); } ); }); $('#backgroundjobs input').change(function(){ if($(this).attr('checked')){ var mode = $(this).val(); if (mode === 'ajax' || mode === 'webcron' || mode === 'cron') { OC.AppConfig.setValue('core', 'backgroundjobs_mode', mode); } } }); $('#shareAPIEnabled').change(function() { $('#shareAPI p:not(#enable)').toggleClass('hidden', !this.checked); }); $('#shareAPI input').change(function() { if ($(this).attr('type') === 'checkbox') { if (this.checked) { var value = 'yes'; } else { var value = 'no'; } } else { var value = $(this).val(); } OC.AppConfig.setValue('core', $(this).attr('name'), value); }); $('#shareapiDefaultExpireDate').change(function() { $("#setDefaultExpireDate").toggleClass('hidden', !this.checked); }); $('#allowLinks').change(function() { $("#publicLinkSettings").toggleClass('hidden', !this.checked); $('#setDefaultExpireDate').toggleClass('hidden', !(this.checked && $('#shareapiDefaultExpireDate')[0].checked)); }); $('#security').change(function(){ $.post(OC.filePath('settings','ajax','setsecurity.php'), { enforceHTTPS: $('#forcessl').val() },function(){} ); }); $('#mail_smtpauth').change(function() { if (!this.checked) { $('#mail_credentials').addClass('hidden'); } else { $('#mail_credentials').removeClass('hidden'); } }); $('#mail_smtpmode').change(function() { if ($(this).val() !== 'smtp') { $('#setting_smtpauth').addClass('hidden'); $('#setting_smtphost').addClass('hidden'); $('#mail_smtpsecure_label').addClass('hidden'); $('#mail_smtpsecure').addClass('hidden'); $('#mail_credentials').addClass('hidden'); } else { $('#setting_smtpauth').removeClass('hidden'); $('#setting_smtphost').removeClass('hidden'); $('#mail_smtpsecure_label').removeClass('hidden'); $('#mail_smtpsecure').removeClass('hidden'); if ($('#mail_smtpauth').attr('checked')) { $('#mail_credentials').removeClass('hidden'); } } }); $('#mail_settings').change(function(){ OC.msg.startSaving('#mail_settings_msg'); var post = $( "#mail_settings" ).serialize(); $.post(OC.generateUrl('/settings/admin/mailsettings'), post, function(data){ OC.msg.finishedSaving('#mail_settings_msg', data); }); }); $('#sendtestemail').click(function(event){ event.preventDefault(); OC.msg.startAction('#sendtestmail_msg', t('settings', 'Sending...')); $.post(OC.generateUrl('/settings/admin/mailtest'), '', function(data){ OC.msg.finishedAction('#sendtestmail_msg', data); }); }); $('#shareapiExcludeGroups').change(function() { $("#selectExcludedGroups").toggleClass('hidden', !this.checked); }); });