From 178047d8d6c1e693d8e4adc8b51f6479ac719a3d Mon Sep 17 00:00:00 2001 From: ralf Date: Mon, 20 Feb 2023 15:36:52 +0100 Subject: [PATCH] * Mail/OAuth: fix mail account creation failed for regular EGroupware users / non-admins --- admin/inc/class.admin_mail.inc.php | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/admin/inc/class.admin_mail.inc.php b/admin/inc/class.admin_mail.inc.php index 3046c918fa..c05de70aed 100644 --- a/admin/inc/class.admin_mail.inc.php +++ b/admin/inc/class.admin_mail.inc.php @@ -1570,9 +1570,16 @@ class admin_mail } $content['acc_oauth_access_token'] = $oidc->getAccessToken(); - $GLOBALS['egw_info']['flags']['currentapp'] = 'admin'; - - $obj = new self; + if (empty($GLOBALS['egw_info']['user']['apps']['admin'])) + { + $GLOBALS['egw_info']['flags']['currentapp'] = 'mail'; + $obj = new mail_wizard(); + } + else + { + $GLOBALS['egw_info']['flags']['currentapp'] = 'admin'; + $obj = new self; + } unset($content['oauth_failure']); if (!empty($content['acc_id'])) { @@ -1593,9 +1600,16 @@ class admin_mail */ public static function oauthFailure(Throwable $exception=null, array $content) { - $GLOBALS['egw_info']['flags']['currentapp'] = 'admin'; - - $obj = new self; + if (empty($GLOBALS['egw_info']['user']['apps']['admin'])) + { + $GLOBALS['egw_info']['flags']['currentapp'] = 'mail'; + $obj = new mail_wizard(); + } + else + { + $GLOBALS['egw_info']['flags']['currentapp'] = 'admin'; + $obj = new self; + } $content['oauth_failure'] = $exception ?: true; if (!empty($content['acc_id'])) {