X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=reports.php;h=fe560016eff16df0daa16604fc3a2d33ab900afb;hb=ecf7d911c95935f8cfb2403f645cd12f93d8c3f5;hp=2e9bc26f2424ec510aa5ac26ed2b5365c0943ae0;hpb=058d776c118501eb510967c8b870bc346bc39e71;p=timetracker.git diff --git a/reports.php b/reports.php index 2e9bc26f..fe560016 100644 --- a/reports.php +++ b/reports.php @@ -37,7 +37,7 @@ import('ttFavReportHelper'); import('ttClientHelper'); // Access check. -if (!ttAccessCheck(right_view_reports)) { +if (!ttAccessAllowed('view_own_reports')) { header('Location: access_denied.php'); exit(); } @@ -68,7 +68,7 @@ $form->addInput(array('type'=>'submit','name'=>'btn_delete','value'=>$i18n->getK // Dropdown for clients if the clients plugin is enabled. if ($user->isPluginEnabled('cl') && !($user->isClient() && $user->client_id)) { if ($user->canManageTeam() || ($user->isClient() && !$user->client_id)) - $client_list = ttClientHelper::getClients($user->team_id); + $client_list = ttClientHelper::getClients(); else $client_list = ttClientHelper::getClientsForUser(); $form->addInput(array('type'=>'combobox', @@ -122,6 +122,16 @@ $form->addInput(array('type'=>'combobox', 'data'=>$include_options, 'empty'=>array(''=>$i18n->getKey('dropdown.all')))); +if ($user->canManageTeam() && $user->isPluginEnabled('ps')) { + $form->addInput(array('type'=>'combobox', + 'name'=>'paid_status', + 'style'=>'width: 250px;', + 'data'=>array('1'=>$i18n->getKey('dropdown.paid'),'2'=>$i18n->getKey('dropdown.not_paid')), + 'empty'=>array(''=>$i18n->getKey('dropdown.all')) + )); +} + + // Add invoiced / not invoiced selector. $invoice_options = array('1'=>$i18n->getKey('form.reports.include_invoiced'), '2'=>$i18n->getKey('form.reports.include_not_invoiced')); @@ -161,10 +171,12 @@ if ($user->canManageTeam() || $user->isClient()) { $form->addInput(array('type'=>'combobox', 'name'=>'period', 'style'=>'width: 250px;', - 'data'=>array(INTERVAL_THIS_MONTH=>$i18n->getKey('dropdown.this_month'), - INTERVAL_LAST_MONTH=>$i18n->getKey('dropdown.last_month'), - INTERVAL_THIS_WEEK=>$i18n->getKey('dropdown.this_week'), - INTERVAL_LAST_WEEK=>$i18n->getKey('dropdown.last_week')), + 'data'=>array(INTERVAL_THIS_MONTH=>$i18n->getKey('dropdown.current_month'), + INTERVAL_LAST_MONTH=>$i18n->getKey('dropdown.previous_month'), + INTERVAL_THIS_WEEK=>$i18n->getKey('dropdown.current_week'), + INTERVAL_LAST_WEEK=>$i18n->getKey('dropdown.previous_week'), + INTERVAL_THIS_DAY=>$i18n->getKey('dropdown.current_day'), + INTERVAL_LAST_DAY=>$i18n->getKey('dropdown.previous_day')), 'empty'=>array(''=>$i18n->getKey('dropdown.select')))); // Add controls for start and end dates. $form->addInput(array('type'=>'datefield','maxlength'=>'20','name'=>'start_date')); @@ -185,12 +197,12 @@ if ((TYPE_START_FINISH == $user->record_type) || (TYPE_ALL == $user->record_type } $form->addInput(array('type'=>'checkbox','name'=>'chduration')); $form->addInput(array('type'=>'checkbox','name'=>'chnote')); -if (defined('COST_ON_REPORTS') && isTrue(COST_ON_REPORTS)) - $form->addInput(array('type'=>'checkbox','name'=>'chcost')); +$form->addInput(array('type'=>'checkbox','name'=>'chcost')); // If we have a custom field - add a checkbox for it. if ($custom_fields && $custom_fields->fields[0]) $form->addInput(array('type'=>'checkbox','name'=>'chcf_1')); - +if ($user->canManageTeam() && $user->isPluginEnabled('ps')) + $form->addInput(array('type'=>'checkbox','name'=>'chpaid')); // Add group by control. $group_by_options['no_grouping'] = $i18n->getKey('form.reports.group_by_no'); $group_by_options['date'] = $i18n->getKey('form.reports.group_by_date'); @@ -219,11 +231,11 @@ $form->addInput(array('type'=>'submit','name'=>'btn_generate','value'=>$i18n->ge $bean = new ActionForm('reportBean', $form, $request); // At this point form values are obtained from session if they are there. -if (($request->getMethod() == 'GET') && !$bean->isSaved()) { +if ($request->isGet() && !$bean->isSaved()) { // No previous form data were found in session. Use the following default values. $form->setValueByElement('users', array_keys($user_list)); $period = new Period(INTERVAL_THIS_MONTH, new DateAndTime($user->date_format)); - $form->setValueByElement('start_date', $period->getBeginDate()); + $form->setValueByElement('start_date', $period->getStartDate()); $form->setValueByElement('end_date', $period->getEndDate()); $form->setValueByElement('chclient', '1'); $form->setValueByElement('chinvoice', '0'); @@ -235,6 +247,7 @@ if (($request->getMethod() == 'GET') && !$bean->isSaved()) { $form->setValueByElement('chfinish', '1'); $form->setValueByElement('chnote', '1'); $form->setValueByElement('chcf_1', '0'); + $form->setValueByElement('chpaid', '0'); $form->setValueByElement('chtotalsonly', '0'); }