From 1291303c5a312fad9f01fbaf22cc21e3b9b3675d Mon Sep 17 00:00:00 2001 From: Thomas Müller Date: Sun, 2 Mar 2014 22:30:24 +0100 Subject: Replace OC.Router.generate() with OC.generateUrl() --- settings/js/admin.js | 2 +- settings/js/personal.js | 10 +++++----- settings/js/users.js | 5 +++-- 3 files changed, 9 insertions(+), 8 deletions(-) (limited to 'settings/js') diff --git a/settings/js/admin.js b/settings/js/admin.js index 5ea6a5af2df..cfb1cb788d0 100644 --- a/settings/js/admin.js +++ b/settings/js/admin.js @@ -64,7 +64,7 @@ $(document).ready(function(){ $('#mail_settings').change(function(){ OC.msg.startSaving('#mail_settings .msg'); var post = $( "#mail_settings" ).serialize(); - $.post(OC.Router.generate('settings_mail_settings'), post, function(data){ + $.post(OC.generateUrl('/settings/admin/mailsettings'), post, function(data){ OC.msg.finishedSaving('#mail_settings .msg', data); }); }); diff --git a/settings/js/personal.js b/settings/js/personal.js index 98bfe7132d4..7a4257f1c97 100644 --- a/settings/js/personal.js +++ b/settings/js/personal.js @@ -67,7 +67,7 @@ function showAvatarCropper() { $cropper.prepend(""); $cropperImage = $('#cropper img'); - $cropperImage.attr('src', OC.Router.generate('core_avatar_get_tmp')+'?requesttoken='+oc_requesttoken+'#'+Math.floor(Math.random()*1000)); + $cropperImage.attr('src', OC.generateUrl('/avatar/tmp')+'?requesttoken='+oc_requesttoken+'#'+Math.floor(Math.random()*1000)); // Looks weird, but on('load', ...) doesn't work in IE8 $cropperImage.ready(function(){ @@ -95,7 +95,7 @@ function sendCropData() { w: cropperdata.w, h: cropperdata.h }; - $.post(OC.Router.generate('core_avatar_post_cropped'), {crop: data}, avatarResponseHandler); + $.post(OC.generateUrl('/avatar/cropped'), {crop: data}, avatarResponseHandler); } function saveCoords(c) { @@ -132,7 +132,7 @@ $(document).ready(function(){ $('#passwordchanged').hide(); $('#passworderror').hide(); // Ajax foo - $.post(OC.Router.generate('settings_personal_changepassword'), post, function(data){ + $.post(OC.generateUrl('/settings/personal/changepassword'), post, function(data){ if( data.status === "success" ){ $('#pass1').val(''); $('#pass2').val(''); @@ -243,7 +243,7 @@ $(document).ready(function(){ OC.dialogs.filepicker( t('settings', "Select a profile picture"), function(path){ - $.post(OC.Router.generate('core_avatar_post'), {path: path}, avatarResponseHandler); + $.post(OC.generateUrl('/avatar/'), {path: path}, avatarResponseHandler); }, false, ["image/png", "image/jpeg"] @@ -253,7 +253,7 @@ $(document).ready(function(){ $('#removeavatar').click(function(){ $.ajax({ type: 'DELETE', - url: OC.Router.generate('core_avatar_delete'), + url: OC.generateUrl('/avatar/'), success: function(msg) { updateAvatar(true); } diff --git a/settings/js/users.js b/settings/js/users.js index 160d0a8d9d2..6b5447c7674 100644 --- a/settings/js/users.js +++ b/settings/js/users.js @@ -225,7 +225,8 @@ var UserList = { } $('table+.loading').css('visibility', 'visible'); UserList.updating = true; - $.get(OC.Router.generate('settings_ajax_userlist', { offset: UserList.offset, limit: UserList.usersToLoad }), function (result) { + var query = $.param({ offset: UserList.offset, limit: UserList.usersToLoad }); + $.get(OC.generateUrl('/settings/ajax/userlist') + query, function (result) { var loadedUsers = 0; var trs = []; if (result.status === 'success') { @@ -401,7 +402,7 @@ $(document).ready(function () { if ($(this).val().length > 0) { var recoveryPasswordVal = $('input:password[id="recoveryPassword"]').val(); $.post( - OC.Router.generate('settings_users_changepassword'), + OC.generateUrl('/settings/users/changepassword'), {username: uid, password: $(this).val(), recoveryPassword: recoveryPasswordVal}, function (result) { if (result.status != 'success') { -- cgit v1.2.3 From 5f711912a1f6db7a2f28105101f808e89a2efe50 Mon Sep 17 00:00:00 2001 From: Thomas Müller Date: Sun, 2 Mar 2014 23:45:23 +0100 Subject: remove OC.Router.registerLoadedCallback() --- settings/js/users.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'settings/js') diff --git a/settings/js/users.js b/settings/js/users.js index 6b5447c7674..284976d3bad 100644 --- a/settings/js/users.js +++ b/settings/js/users.js @@ -372,9 +372,7 @@ $(document).ready(function () { UserList.doSort(); UserList.availableGroups = $('#content table').data('groups'); - OC.Router.registerLoadedCallback(function() { - $(window).scroll(function(e) {UserList._onScroll(e);}); - }); + $(window).scroll(function(e) {UserList._onScroll(e);}); $('table').after($('')); $('select[multiple]').each(function (index, element) { -- cgit v1.2.3 From 5b8cde48dc6d68a3921195b5367024b94abe14af Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Wed, 26 Feb 2014 12:13:20 +0100 Subject: Add button to send a test mail after changing the email settings Fix #7175 --- settings/admin/controller.php | 30 ++++++++++++++++++++++++++++++ settings/js/admin.js | 12 ++++++++++-- settings/routes.php | 3 +++ settings/templates/admin.php | 6 +++++- 4 files changed, 48 insertions(+), 3 deletions(-) (limited to 'settings/js') diff --git a/settings/admin/controller.php b/settings/admin/controller.php index a075d774361..7019f9a4d2a 100644 --- a/settings/admin/controller.php +++ b/settings/admin/controller.php @@ -73,6 +73,36 @@ class Controller { \OC_JSON::success(array("data" => array( "message" => $l->t("Saved") ))); } + /** + * Send a mail to test the settings + */ + public static function sendTestMail() { + \OC_Util::checkAdminUser(); + \OCP\JSON::callCheck(); + + $l = \OC_L10N::get('settings'); + $email = \OC_Preferences::getValue(\OC_User::getUser(), 'settings', 'email', ''); + if (!empty($email)) { + $defaults = new \OC_Defaults(); + + try { + \OC_Mail::send($email, $_POST['user'], + $l->t('test email settings'), + $l->t('If you received this email, the settings seem to be correct.'), + \OCP\Util::getDefaultEmailAddress('no-reply'), $defaults->getName()); + } catch (\Exception $e) { + $message = $l->t('A problem occurred while sending the e-mail. Please revisit your settings.'); + \OC_JSON::error( array( "data" => array( "message" => $message)) ); + exit; + } + + \OC_JSON::success(array("data" => array( "message" => $l->t("Email sent") ))); + } else { + $message = $l->t('You need to set your user email before being able to send test emails.'); + \OC_JSON::error( array( "data" => array( "message" => $message)) ); + } + } + /** * Get the field name to use it in error messages * diff --git a/settings/js/admin.js b/settings/js/admin.js index 5ea6a5af2df..684822f1834 100644 --- a/settings/js/admin.js +++ b/settings/js/admin.js @@ -62,10 +62,18 @@ $(document).ready(function(){ }); $('#mail_settings').change(function(){ - OC.msg.startSaving('#mail_settings .msg'); + OC.msg.startSaving('#mail_settings_msg'); var post = $( "#mail_settings" ).serialize(); $.post(OC.Router.generate('settings_mail_settings'), post, function(data){ - OC.msg.finishedSaving('#mail_settings .msg', data); + OC.msg.finishedSaving('#mail_settings_msg', data); + }); + }); + + $('#sendtestemail').click(function(){ + OC.msg.startAction('#sendtestmail_msg', t('settings', 'Sending...')); + var post = $( "#sendtestemail" ).serialize(); + $.post(OC.Router.generate('settings_admin_mail_test'), post, function(data){ + OC.msg.finishedAction('#sendtestmail_msg', data); }); }); }); diff --git a/settings/routes.php b/settings/routes.php index 64f7122f0cf..a0d54dea1e7 100644 --- a/settings/routes.php +++ b/settings/routes.php @@ -73,5 +73,8 @@ $this->create('settings_ajax_setloglevel', '/settings/ajax/setloglevel.php') $this->create('settings_mail_settings', '/settings/admin/mailsettings') ->post() ->action('OC\Settings\Admin\Controller', 'setMailSettings'); +$this->create('settings_admin_mail_test', '/settings/admin/mailtest') + ->post() + ->action('OC\Settings\Admin\Controller', 'sendTestMail'); $this->create('settings_ajax_setsecurity', '/settings/ajax/setsecurity.php') ->actionInclude('settings/ajax/setsecurity.php'); diff --git a/settings/templates/admin.php b/settings/templates/admin.php index 139a9dd076c..487da036e74 100644 --- a/settings/templates/admin.php +++ b/settings/templates/admin.php @@ -272,7 +272,7 @@ if (!$_['internetconnectionworking']) {
-

t('Email Server'));?>

+

t('Email Server'));?>

t('This is used for sending out notifications.')); ?>

@@ -347,6 +347,10 @@ if (!$_['internetconnectionworking']) { placeholder="t('SMTP Password'))?>" value='' />

+
+ t( 'Test email settings' )); ?> + +
-- cgit v1.2.3