X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=group_edit.php;h=6ec572e9856d06236f36d17bb43ae9d34b1ebe1c;hb=e5af7e8b92762ab25710235c72c5504de2e091c6;hp=1d71cc17d581dbf9c3102e0044ec355a1079b1d2;hpb=45c855269d952873285f7a835e82fc2b3eff3971;p=timetracker.git diff --git a/group_edit.php b/group_edit.php index 1d71cc17..6ec572e9 100644 --- a/group_edit.php +++ b/group_edit.php @@ -32,12 +32,13 @@ import('ttUserHelper'); import('ttRoleHelper'); // Access checks. -if (!ttAccessAllowed('manage_basic_settings')) { +if (!(ttAccessAllowed('manage_basic_settings') || ttAccessAllowed('manage_advanced_settings'))) { header('Location: access_denied.php'); exit(); } // End of access checks. +$advanced_settings = $user->can('manage_advanced_settings'); if (!defined('CURRENCY_DEFAULT')) define('CURRENCY_DEFAULT', '$'); if ($request->isPost()) { @@ -59,6 +60,7 @@ if ($request->isPost()) { $cl_future_entries = $request->getParameter('future_entries'); $cl_uncompleted_indicators = $request->getParameter('uncompleted_indicators'); $cl_bcc_email = trim($request->getParameter('bcc_email')); + $cl_allow_ip = trim($request->getParameter('allow_ip')); // Plugin checkboxes. $cl_charts = $request->getParameter('charts'); @@ -91,6 +93,7 @@ if ($request->isPost()) { $cl_future_entries = $user->future_entries; $cl_uncompleted_indicators = $user->uncompleted_indicators; $cl_bcc_email = $user->bcc_email; + $cl_allow_ip = $user->allow_ip; // Which plugins do we have enabled? $plugins = explode(',', $user->plugins); @@ -109,7 +112,7 @@ if ($request->isPost()) { } $form = new Form('groupForm'); -$form->addInput(array('type'=>'text','maxlength'=>'200','name'=>'team_name','value'=>$cl_team)); +$form->addInput(array('type'=>'text','maxlength'=>'200','name'=>'team_name','value'=>$cl_team,'enable'=>$advanced_settings)); $form->addInput(array('type'=>'text','maxlength'=>'7','name'=>'currency','value'=>$cl_currency)); // Prepare an array of available languages. @@ -185,9 +188,10 @@ $form->addInput(array('type'=>'checkbox','name'=>'future_entries','value'=>$cl_f // Uncompleted indicators checkbox. $form->addInput(array('type'=>'checkbox','name'=>'uncompleted_indicators','value'=>$cl_uncompleted_indicators)); -// Add bcc email control, for manager only. -if ($user->can('manage_advanced_settings')) { +// Add bcc email control. +if ($advanced_settings) { $form->addInput(array('type'=>'text','maxlength'=>'100','name'=>'bcc_email','value'=>$cl_bcc_email)); + $form->addInput(array('type'=>'text','maxlength'=>'100','name'=>'allow_ip','value'=>$cl_allow_ip)); } // Plugin checkboxes. @@ -207,10 +211,11 @@ $form->addInput(array('type'=>'submit','name'=>'btn_save','value'=>$i18n->get('b if ($request->isPost()) { // Validate user input. - if (!ttValidString($cl_team, true)) $err->add($i18n->get('error.field'), $i18n->get('label.team_name')); + if (!ttValidString($cl_team, true)) $err->add($i18n->get('error.field'), $i18n->get('label.group_name')); if (!ttValidString($cl_currency, true)) $err->add($i18n->get('error.field'), $i18n->get('label.currency')); - if ($user->can('manage_advanced_settings')) { + if ($advanced_settings) { if (!ttValidEmail($cl_bcc_email, true)) $err->add($i18n->get('error.field'), $i18n->get('label.bcc')); + if (!ttValidIP($cl_allow_ip, true)) $err->add($i18n->get('error.field'), $i18n->get('form.profile.allow_ip')); } // Finished validating user input. @@ -282,6 +287,7 @@ if ($request->isPost()) { 'record_type' => $cl_record_type, 'uncompleted_indicators' => $cl_uncompleted_indicators, 'bcc_email' => $cl_bcc_email, + 'allow_ip' => $cl_allow_ip, 'plugins' => $plugins, 'config' => $config)); }