X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=group_edit.php;h=01d2ecdc4c26a3bb7e8826c26015dae446728162;hb=6dbcf228dba9d1175ffd0c177f0739c58ce0f199;hp=d79ba2d3593d702204f1bcd738e33133a78f72f2;hpb=95d4442c1517b0d9e76081fd901a600e45e9fbea;p=timetracker.git diff --git a/group_edit.php b/group_edit.php index d79ba2d3..01d2ecdc 100644 --- a/group_edit.php +++ b/group_edit.php @@ -30,6 +30,7 @@ require_once('initialize.php'); import('form.Form'); import('ttUserHelper'); import('ttRoleHelper'); +import('ttConfigHelper'); // Access checks. if (!(ttAccessAllowed('manage_basic_settings') || ttAccessAllowed('manage_advanced_settings'))) { @@ -38,6 +39,8 @@ if (!(ttAccessAllowed('manage_basic_settings') || ttAccessAllowed('manage_advanc } // End of access checks. +$config = new ttConfigHelper($user->config); + $advanced_settings = $user->can('manage_advanced_settings'); if (!defined('CURRENCY_DEFAULT')) define('CURRENCY_DEFAULT', '$'); @@ -75,6 +78,7 @@ if ($request->isPost()) { $cl_locking = $request->getParameter('locking'); $cl_quotas = $request->getParameter('quotas'); $cl_week_view = $request->getParameter('week_view'); + $cl_work_units = $request->getParameter('work_units'); } else { $cl_group = $user->group; $cl_currency = ($user->currency == ''? CURRENCY_DEFAULT : $user->currency); @@ -109,6 +113,7 @@ if ($request->isPost()) { $cl_locking = in_array('lk', $plugins); $cl_quotas = in_array('mq', $plugins); $cl_week_view = in_array('wv', $plugins); + $cl_work_units = in_array('wu', $plugins); } $form = new Form('groupForm'); @@ -207,6 +212,8 @@ $form->addInput(array('type'=>'checkbox','name'=>'notifications','value'=>$cl_no $form->addInput(array('type'=>'checkbox','name'=>'locking','value'=>$cl_locking,'onchange'=>'handlePluginCheckboxes()')); $form->addInput(array('type'=>'checkbox','name'=>'quotas','value'=>$cl_quotas,'onchange'=>'handlePluginCheckboxes()')); $form->addInput(array('type'=>'checkbox','name'=>'week_view','value'=>$cl_week_view,'onchange'=>'handlePluginCheckboxes()')); +$form->addInput(array('type'=>'checkbox','name'=>'work_units','value'=>$cl_work_units,'onchange'=>'handlePluginCheckboxes()')); + $form->addInput(array('type'=>'submit','name'=>'btn_save','value'=>$i18n->get('button.save'))); if ($user->can('delete_group')) $form->addInput(array('type'=>'submit','name'=>'btn_delete','value'=>$i18n->get('button.delete'))); @@ -253,6 +260,8 @@ if ($request->isPost()) { $plugins .= ',mq'; if ($cl_week_view) $plugins .= ',wv'; + if ($cl_work_units) + $plugins .= ',wu'; // Recycle week view plugin options as they are not configured on this page. $existing_plugins = explode(',', $user->plugins); @@ -265,18 +274,12 @@ if ($request->isPost()) { $plugins = trim($plugins, ','); - // Prepare config string. - if ($cl_show_holidays) - $config .= ',show_holidays'; - if ($cl_punch_mode) - $config .= ',punch_mode'; - if ($cl_allow_overlap) - $config .= ',allow_overlap'; - if ($cl_future_entries) - $config .= ',future_entries'; - if ($cl_uncompleted_indicators) - $config .= ',uncompleted_indicators'; - $config = trim($config, ','); + // Update config. + $config->setDefinedValue('show_holidays', $cl_show_holidays); + $config->setDefinedValue('punch_mode', $cl_punch_mode); + $config->setDefinedValue('allow_overlap', $cl_allow_overlap); + $config->setDefinedValue('future_entries', $cl_future_entries); + $config->setDefinedValue('uncompleted_indicators', $cl_uncompleted_indicators); if ($user->updateGroup(array( 'name' => $cl_group, @@ -294,7 +297,7 @@ if ($request->isPost()) { 'bcc_email' => $cl_bcc_email, 'allow_ip' => $cl_allow_ip, 'plugins' => $plugins, - 'config' => $config))) { + 'config' => $config->getConfig()))) { header('Location: time.php'); exit(); } else