X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=reports.php;h=fcefd047bae708497b740bbed8269e4f6b881dd7;hb=9eb2c5f542ed33fc1aba2e7392a5a29181cbfd1a;hp=0028e99572d816cc4d427af733cb93844e01d8a9;hpb=a6c4fa37379736e1c7568ccea1c5d371de7c6271;p=timetracker.git diff --git a/reports.php b/reports.php index 0028e995..fcefd047 100644 --- a/reports.php +++ b/reports.php @@ -66,10 +66,11 @@ $form->addInput(array('type'=>'submit','name'=>'btn_generate','value'=>$i18n->ge $form->addInput(array('type'=>'submit','name'=>'btn_delete','value'=>$i18n->get('label.delete'),'onclick'=>"return confirm('".$i18n->get('form.reports.confirm_delete')."')")); // 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(); - else +if ($user->isPluginEnabled('cl') && !$user->isClient()) { + if ($user->can('view_reports') || $user->can('view_all_reports')) { + $client_list = ttClientHelper::getClients(); // TODO: improve getClients for "view_reports" + // by filtering out not relevant clients. + } else $client_list = ttClientHelper::getClientsForUser(); $form->addInput(array('type'=>'combobox', 'name'=>'client', @@ -89,8 +90,8 @@ if ($custom_fields && $custom_fields->fields[0] && $custom_fields->fields[0]['ty } // Add controls for projects and tasks. -if ($user->canManageTeam()) { - $project_list = ttProjectHelper::getProjects(); // Manager and co-managers can run reports on all active and inactive projects. +if ($user->can('view_reports') || $user->can('view_all_reports')) { + $project_list = ttProjectHelper::getProjects(); // All active and inactive projects. } elseif ($user->isClient()) { $project_list = ttProjectHelper::getProjectsForClient(); } else { @@ -123,15 +124,17 @@ $form->addInput(array('type'=>'combobox', 'empty'=>array(''=>$i18n->get('dropdown.all')))); // Add invoiced / not invoiced selector. -$invoice_options = array('1'=>$i18n->get('form.reports.include_invoiced'), - '2'=>$i18n->get('form.reports.include_not_invoiced')); -$form->addInput(array('type'=>'combobox', - 'name'=>'invoice', - 'style'=>'width: 250px;', - 'data'=>$invoice_options, - 'empty'=>array(''=>$i18n->get('dropdown.all')))); +if ($user->can('manage_invoices')) { + $invoice_options = array('1'=>$i18n->get('form.reports.include_invoiced'), + '2'=>$i18n->get('form.reports.include_not_invoiced')); + $form->addInput(array('type'=>'combobox', + 'name'=>'invoice', + 'style'=>'width: 250px;', + 'data'=>$invoice_options, + 'empty'=>array(''=>$i18n->get('dropdown.all')))); +} -if ($user->canManageTeam() && $user->isPluginEnabled('ps')) { +if ($user->can('manage_invoices') && $user->isPluginEnabled('ps')) { $form->addInput(array('type'=>'combobox', 'name'=>'paid_status', 'style'=>'width: 250px;', @@ -191,11 +194,11 @@ $form->addInput(array('type'=>'datefield','maxlength'=>'20','name'=>'end_date')) // Add checkboxes for fields. if ($user->isPluginEnabled('cl')) $form->addInput(array('type'=>'checkbox','name'=>'chclient')); -if (($user->canManageTeam() || $user->isClient()) && $user->isPluginEnabled('iv')) +if (($user->can('manage_invoices') || $user->isClient()) && $user->isPluginEnabled('iv')) $form->addInput(array('type'=>'checkbox','name'=>'chinvoice')); -if ($user->canManageTeam() && $user->isPluginEnabled('ps')) +if ($user->can('manage_invoices') && $user->isPluginEnabled('ps')) $form->addInput(array('type'=>'checkbox','name'=>'chpaid')); -if ($user->canManageTeam()) +if ($user->can('view_reports') || $user->can('view_all_reports')) $form->addInput(array('type'=>'checkbox','name'=>'chip')); if (MODE_PROJECTS == $user->tracking_mode || MODE_PROJECTS_AND_TASKS == $user->tracking_mode) $form->addInput(array('type'=>'checkbox','name'=>'chproject')); @@ -214,7 +217,7 @@ if ($custom_fields && $custom_fields->fields[0]) // Add group by control. $group_by_options['no_grouping'] = $i18n->get('form.reports.group_by_no'); $group_by_options['date'] = $i18n->get('form.reports.group_by_date'); -if ($user->canManageTeam() || $user->isClient()) +if ($user->can('view_reports') || $user->can('view_all_reports') || $user->isClient()) $group_by_options['user'] = $i18n->get('form.reports.group_by_user'); if ($user->isPluginEnabled('cl') && !($user->isClient() && $user->client_id)) $group_by_options['client'] = $i18n->get('form.reports.group_by_client');