posaune
[timetracker.git] / week_view.php
index 319235b..149842e 100644 (file)
 // +----------------------------------------------------------------------+
 
 require_once('initialize.php');
-require_once('plugins/MonthlyQuota.class.php');
 import('form.Form');
-import('ttTeamHelper');
-import('ttTimeHelper');
 
-// Access check.
-if (!ttAccessCheck(right_manage_team) || !$user->isPluginEnabled('wv')) {
+// Access checks.
+if (!ttAccessAllowed('manage_advanced_settings')) {
   header('Location: access_denied.php');
   exit();
 }
 
+$config = $user->getConfigHelper();
 
-// Get selected year from url parameter.
-$selectedYear = $request->getParameter('year');
-if (!$selectedYear or !ttValidInteger($selectedYear)){
-  $selectedYear = date('Y');
+if ($request->isPost()) {
+  $cl_week_menu = $request->getParameter('week_menu');
+  $cl_week_note = $request->getParameter('week_note');
+  $cl_week_list = $request->getParameter('week_list');
+  $cl_notes = $request->getParameter('notes');
 } else {
-  $selectedYear = (int) $selectedYear;
+  $cl_week_menu =  $config->getDefinedValue('week_menu');
+  $cl_week_note = $config->getDefinedValue('week_note');
+  $cl_week_list = $config->getDefinedValue('week_list');
+  $cl_notes = $config->getDefinedValue('week_notes');
 }
 
-// Months are zero indexed.
-$months = $i18n->monthNames;
-
-$quota = new MonthlyQuota();
+$form = new Form('weekViewForm');
+$form->addInput(array('type'=>'checkbox','name'=>'week_menu','value'=>$cl_week_menu));
+$form->addInput(array('type'=>'checkbox','name'=>'week_note','value'=>$cl_week_note));
+$form->addInput(array('type'=>'checkbox','name'=>'week_list','value'=>$cl_week_list));
+$form->addInput(array('type'=>'checkbox','name'=>'notes','value'=>$cl_notes));
+$form->addInput(array('type'=>'submit','name'=>'btn_save','value'=>$i18n->get('button.save')));
 
 if ($request->isPost()){
-  // Validate user input.
-  if (!ttTimeHelper::isValidDuration($request->getParameter('workdayHours')))
-    $err->add($i18n->getKey('error.field'), $i18n->getKey('form.quota.workday_hours'));
-
-  for ($i = 0; $i < count($months); $i++){
-    $val = $request->getParameter($months[$i]);
-    if (!$quota->isValidQuota($val))
-      $err->add($i18n->getKey('error.field'), $months[$i]);
-  }
-  // Finished validating user input.
-
-  if ($err->no()) {
-
-    // Handle workday hours.
-    $hours = $quota->quotaToFloat($request->getParameter('workdayHours'));
-    if ($hours != $user->workday_hours) {
-      if (!ttTeamHelper::update($user->team_id, array('name'=>$user->team,'workday_hours'=>$hours)))
-        $err->add($i18n->getKey('error.db'));
-    }
-
-    // Handle monthly quotas for a selected year.
-    $selectedYear = (int) $request->getParameter('year');
-    for ($i = 0; $i < count($months); $i++){
-      if (!$quota->update($selectedYear, $i+1, $request->getParameter($months[$i])))
-        $err->add($i18n->getKey('error.db'));
-    }
-
-    if ($err->no()) {
-      // Redisplay the form.
-      header('Location: quotas.php?year='.$selectedYear);
-      exit();
-    }
+  // Update config.
+  $config->setDefinedValue('week_menu', $cl_week_menu);
+  $config->setDefinedValue('week_note', $cl_week_note);
+  $config->setDefinedValue('week_list', $cl_week_list);
+  $config->setDefinedValue('week_notes', $cl_notes);
+  if (!$user->updateGroup(array('config' => $config->getConfig()))) {
+    $err->add($i18n->get('error.db'));
   }
 }
 
-// Get monthly quotas for the entire year.
-$monthsData = $quota->get($selectedYear);
-$workdayHours = ttTimeHelper::toAbsDuration($user->workday_hours * 60, true);
-
-$form = new Form('weekViewForm');
-$form->addInput(array('type'=>'checkbox','name'=>'week_note','value'=>$cl_week_note));
-$form->addInput(array('type'=>'checkbox','name'=>'week_list','value'=>$cl_week_list));
-
 $smarty->assign('forms', array($form->getName()=>$form->toArray()));
-$smarty->assign('title', $i18n->getKey('label.week_view'));
+$smarty->assign('title', $i18n->get('title.week_view'));
 $smarty->assign('content_page_name', 'week_view.tpl');
 $smarty->display('index.tpl');