$cl_quotas = $request->getParameter('quotas');
$cl_week_view = $request->getParameter('week_view');
$cl_work_units = $request->getParameter('work_units');
+ $cl_approval = $request->getParameter('approval');
+ $cl_timesheets = $request->getParameter('timesheets');
+ $cl_templates = $request->getParameter('templates');
+ $cl_attachments = $request->getParameter('attachments');
+ $cl_work = $request->getParameter('work');
} else {
// Note: we get here in get, and also in post when group changes.
// Which plugins do we have enabled in currently selected group?
$plugins = explode(',', $user->getPlugins());
$cl_charts = in_array('ch', $plugins);
$cl_clients = in_array('cl', $plugins);
- $cl_client_required = in_array('cm', $plugins);
+ $cl_client_required = $user->isOptionEnabled('client_required');
$cl_invoices = in_array('iv', $plugins);
$cl_paid_status = in_array('ps', $plugins);
$cl_custom_fields = in_array('cf', $plugins);
$cl_quotas = in_array('mq', $plugins);
$cl_week_view = in_array('wv', $plugins);
$cl_work_units = in_array('wu', $plugins);
+ $cl_approval = in_array('ap', $plugins);
+ $cl_timesheets = in_array('ts', $plugins);
+ $cl_templates = in_array('tp', $plugins);
+ $cl_attachments = in_array('at', $plugins);
+ $cl_work = in_array('wk', $plugins);
}
$form = new Form('pluginsForm');
$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'=>'checkbox','name'=>'approval','value'=>$cl_approval));
+$form->addInput(array('type'=>'checkbox','name'=>'timesheets','value'=>$cl_timesheets));
+$form->addInput(array('type'=>'checkbox','name'=>'templates','value'=>$cl_templates,'onchange'=>'handlePluginCheckboxes()'));
+$form->addInput(array('type'=>'checkbox','name'=>'attachments','value'=>$cl_attachments,'onchange'=>'handlePluginCheckboxes()'));
+$form->addInput(array('type'=>'checkbox','name'=>'work','value'=>$cl_work,'onchange'=>'handlePluginCheckboxes()'));
+
// Submit button.
$form->addInput(array('type'=>'submit','name'=>'btn_save','value'=>$i18n->get('button.save')));
$plugins .= ',ch';
if ($cl_clients)
$plugins .= ',cl';
- if ($cl_client_required)
- $plugins .= ',cm';
if ($cl_invoices)
$plugins .= ',iv';
if ($cl_paid_status)
$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->getPlugins());
- if (in_array('wvn', $existing_plugins))
- $plugins .= ',wvn';
- if (in_array('wvl', $existing_plugins))
- $plugins .= ',wvl';
- if (in_array('wvns', $existing_plugins))
- $plugins .= ',wvns';
-
+ if ($cl_approval)
+ $plugins .= ',ap';
+ if ($cl_timesheets)
+ $plugins .= ',ts';
+ if ($cl_templates)
+ $plugins .= ',tp';
+ if ($cl_attachments)
+ $plugins .= ',at';
+ if ($cl_work)
+ $plugins .= ',wk';
$plugins = trim($plugins, ',');
+ // Prepare a new config string.
+ $user->setOption('client_required', $cl_client_required);
+ $user->setOption('tax_expenses', $cl_tax_expenses);
+ $config = $user->getConfig();
+
if ($user->updateGroup(array(
- 'plugins' => $plugins))) {
+ 'plugins' => $plugins,
+ 'config' => $config))) {
header('Location: success.php');
exit();
} else