X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=profile_edit.php;h=7f024fe88b81a87a603775f45016f5671e1d3613;hb=ad98b13400fdc2fa2299a22c9bd54c4cd27960c3;hp=1d12bae483f5ce5e7b97f3f9671b02879f445fdf;hpb=16cbd33bec16854f1b6a4caf4ac24ededc8326f3;p=timetracker.git diff --git a/profile_edit.php b/profile_edit.php index 1d12bae4..7f024fe8 100644 --- a/profile_edit.php +++ b/profile_edit.php @@ -29,6 +29,7 @@ require_once('initialize.php'); import('form.Form'); import('ttUserHelper'); +import('ttRoleHelper'); // Access check. if (!ttAccessCheck(right_data_entry|right_view_reports)) { @@ -52,15 +53,20 @@ if ($request->isPost()) { $cl_team = trim($request->getParameter('team_name')); $cl_currency = trim($request->getParameter('currency')); if (!$cl_currency) $cl_currency = CURRENCY_DEFAULT; + $cl_roles = $request->getParameter('roles'); $cl_lang = $request->getParameter('lang'); $cl_decimal_mark = $request->getParameter('decimal_mark'); $cl_date_format = $request->getParameter('date_format'); $cl_time_format = $request->getParameter('time_format'); $cl_start_week = $request->getParameter('start_week'); + $cl_show_holidays = $request->getParameter('show_holidays'); $cl_tracking_mode = $request->getParameter('tracking_mode'); $cl_project_required = $request->getParameter('project_required'); $cl_task_required = $request->getParameter('task_required'); $cl_record_type = $request->getParameter('record_type'); + $cl_punch_mode = $request->getParameter('punch_mode'); + $cl_allow_overlap = $request->getParameter('allow_overlap'); + $cl_future_entries = $request->getParameter('future_entries'); $cl_uncompleted_indicators = $request->getParameter('uncompleted_indicators'); $cl_bcc_email = trim($request->getParameter('bcc_email')); @@ -85,15 +91,20 @@ if ($request->isPost()) { if ($user->canManageTeam()) { $cl_team = $user->team; $cl_currency = ($user->currency == ''? CURRENCY_DEFAULT : $user->currency); + $cl_roles = $user->roles; $cl_lang = $user->lang; $cl_decimal_mark = $user->decimal_mark; $cl_date_format = $user->date_format; $cl_time_format = $user->time_format; $cl_start_week = $user->week_start; + $cl_show_holidays = $user->show_holidays; $cl_tracking_mode = $user->tracking_mode; $cl_project_required = $user->project_required; $cl_task_required = $user->task_required; $cl_record_type = $user->record_type; + $cl_punch_mode = $user->punch_mode; + $cl_allow_overlap = $user->allow_overlap; + $cl_future_entries = $user->future_entries; $cl_uncompleted_indicators = $user->uncompleted_indicators; $cl_bcc_email = $user->bcc_email; @@ -125,6 +136,8 @@ $form->addInput(array('type'=>'text','maxlength'=>'100','name'=>'email','value'= if ($user->canManageTeam()) { $form->addInput(array('type'=>'text','maxlength'=>'200','name'=>'team_name','value'=>$cl_team)); $form->addInput(array('type'=>'text','maxlength'=>'7','name'=>'currency','value'=>$cl_currency)); + // Roles checkbox. + $form->addInput(array('type'=>'checkbox','name'=>'roles','value'=>$cl_roles,'onchange'=>'handleRolesCheckbox()')); // Prepare an array of available languages. $lang_files = I18n::getLangFileList(); @@ -168,6 +181,9 @@ if ($user->canManageTeam()) { } $form->addInput(array('type'=>'combobox','name'=>'start_week','style'=>'width: 150px;','data'=>$week_start_options,'datakeys'=>array('id','name'),'value'=>$cl_start_week)); + // Show holidays checkbox. + $form->addInput(array('type'=>'checkbox','name'=>'show_holidays','value'=>$cl_show_holidays)); + // Prepare tracking mode choices. $tracking_mode_options = array(); $tracking_mode_options[MODE_TIME] = $i18n->getKey('form.profile.mode_time'); @@ -184,11 +200,17 @@ if ($user->canManageTeam()) { $record_type_options[TYPE_DURATION] = $i18n->getKey('form.profile.type_duration'); $form->addInput(array('type'=>'combobox','name'=>'record_type','style'=>'width: 150px;','data'=>$record_type_options,'value'=>$cl_record_type)); - // Prepare uncompleted indicators choices. - $uncompleted_indicators_options = array(); - $uncompleted_indicators_options[UNCOMPLETED_INDICATORS_NONE] = $i18n->getKey('form.profile.uncompleted_indicators_none'); - $uncompleted_indicators_options[UNCOMPLETED_INDICATORS] = $i18n->getKey('form.profile.uncompleted_indicators_show'); - $form->addInput(array('type'=>'combobox','name'=>'uncompleted_indicators','style'=>'width: 150px;','data'=>$uncompleted_indicators_options,'value'=>$cl_uncompleted_indicators)); + // Punch mode checkbox. + $form->addInput(array('type'=>'checkbox','name'=>'punch_mode','value'=>$cl_punch_mode)); + + // Allow overlap checkbox. + $form->addInput(array('type'=>'checkbox','name'=>'allow_overlap','value'=>$cl_allow_overlap)); + + // Future entries checkbox. + $form->addInput(array('type'=>'checkbox','name'=>'future_entries','value'=>$cl_future_entries)); + + // Uncompleted indicators checkbox. + $form->addInput(array('type'=>'checkbox','name'=>'uncompleted_indicators','value'=>$cl_uncompleted_indicators)); // Add bcc email control, for manager only. if ($user->isManager()) { @@ -266,8 +288,39 @@ if ($request->isPost()) { $plugins .= ',mq'; if ($cl_week_view) $plugins .= ',wv'; + + // Recycle week view plugin options as they are not configured on this page. + $existing_plugins = explode(',', $user->plugins); + if (in_array('wvn', $existing_plugins)) + $plugins .= ',wvn'; + if (in_array('wvl', $existing_plugins)) + $plugins .= ',wvl'; + if (in_array('wvns', $existing_plugins)) + $plugins .= ',wvns'; + $plugins = trim($plugins, ','); + // If we use roles... No, we'll do it differently. + /* + if ($cl_roles && !ttRoleHelper::rolesExist()) { + ttRoleHelper::createDefaultRoles(); + }*/ + + // Prepare config string. + if ($cl_roles) + $config .= ',roles'; + 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_result = ttTeamHelper::update($user->team_id, array( 'name' => $cl_team, 'currency' => $cl_currency, @@ -282,7 +335,8 @@ if ($request->isPost()) { 'record_type' => $cl_record_type, 'uncompleted_indicators' => $cl_uncompleted_indicators, 'bcc_email' => $cl_bcc_email, - 'plugins' => $plugins)); + 'plugins' => $plugins, + 'config' => $config)); } if ($update_result) { $update_result = ttUserHelper::update($user->id, array( @@ -302,7 +356,7 @@ if ($request->isPost()) { $smarty->assign('auth_external', $auth->isPasswordExternal()); $smarty->assign('forms', array($form->getName()=>$form->toArray())); -$smarty->assign('onload', 'onLoad="handleTaskRequiredCheckbox(); handlePluginCheckboxes();"'); +$smarty->assign('onload', 'onLoad="handleRolesCheckbox(); handleTaskRequiredCheckbox(); handlePluginCheckboxes();"'); $smarty->assign('title', $i18n->getKey('title.profile')); $smarty->assign('content_page_name', 'profile_edit.tpl'); $smarty->display('index.tpl');