X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=reports.php;h=c191de9aae189f623d77c672d45a9f5a62c4306e;hb=4fb3e6fdb5dff1a08126d53fb4e8baec64074da7;hp=10df36483c1a7f1ae920905f799a96e9875ad61e;hpb=93dc9c1832b4035167d53796db9fac88bf90a2b6;p=timetracker.git diff --git a/reports.php b/reports.php index 10df3648..c191de9a 100644 --- a/reports.php +++ b/reports.php @@ -38,7 +38,7 @@ import('ttClientHelper'); import('ttReportHelper'); // Access check. -if (!(ttAccessAllowed('view_own_reports') || ttAccessAllowed('view_reports') || ttAccessAllowed('view_all_reports'))) { +if (!(ttAccessAllowed('view_own_reports') || ttAccessAllowed('view_reports') || ttAccessAllowed('view_all_reports') || ttAccessAllowed('view_client_reports'))) { header('Location: access_denied.php'); exit(); } @@ -89,6 +89,7 @@ if ($showClient) { } if ($showClient) { $form->addInput(array('type'=>'combobox', + 'onchange'=>'fillProjectDropdown(this.value);', 'name'=>'client', 'style'=>'width: 250px;', 'data'=>$client_list, @@ -178,18 +179,34 @@ if ($showPaidStatus) { )); } +// Add approved / not approved selector. +$showApproved = $user->isPluginEnabled('ap') && + ($user->can('view_own_reports') || $user->can('view_reports') || + $user->can('view_all_reports') || ($user->can('view_client_reports') && $user->can('view_client_unapproved'))); +if ($showApproved) { + $form->addInput(array('type'=>'combobox', + 'name'=>'approved', + 'style'=>'width: 250px;', + 'data'=>array('1'=>$i18n->get('dropdown.approved'),'2'=>$i18n->get('dropdown.not_approved')), + 'empty'=>array(''=>$i18n->get('dropdown.all')) + )); +} + // Add timesheet assignment selector. -$showTimesheet = $user->isPluginEnabled('ts') && - ($user->can('view_own_timesheets') || $user->can('manage_own_timesheets') || - $user->can('view_timesheets') || $user->can('manage_timesheets') || $user->can('approve_timesheets')); -if ($showTimesheet) { +$showTimesheetDropdown = $user->isPluginEnabled('ts'); +if ($showTimesheetDropdown) { $form->addInput(array('type'=>'combobox', 'name'=>'timesheet', 'style'=>'width: 250px;', - 'data'=>array('1'=>$i18n->get('form.reports.include_assigned'),'2'=>$i18n->get('form.reports.include_not_assigned')), + 'data'=>array(TIMESHEET_NOT_ASSIGNED=>$i18n->get('form.reports.include_not_assigned'), + TIMESHEET_ASSIGNED=>$i18n->get('form.reports.include_assigned'), + TIMESHEET_PENDING=>$i18n->get('form.reports.include_pending'), + TIMESHEET_APPROVED=>$i18n->get('dropdown.approved'), + TIMESHEET_NOT_APPROVED=>$i18n->get('dropdown.not_approved')), 'empty'=>array(''=>$i18n->get('dropdown.all')) )); } +$showTimesheetCheckbox = $user->isPluginEnabled('ts'); // Add user table. $showUsers = $user->can('view_reports') || $user->can('view_all_reports') || $user->isClient(); @@ -270,8 +287,17 @@ $form->addInput(array('type'=>'checkbox','name'=>'chcost')); $showWorkUnits = $user->isPluginEnabled('wu'); if ($showWorkUnits) $form->addInput(array('type'=>'checkbox','name'=>'chunits')); -if ($showTimesheet) +if ($showTimesheetCheckbox) $form->addInput(array('type'=>'checkbox','name'=>'chtimesheet')); +if ($showApproved) + $form->addInput(array('type'=>'checkbox','name'=>'chapproved')); +$showFiles = $user->isPluginEnabled('at'); +if ($showFiles) + $form->addInput(array('type'=>'checkbox','name'=>'chfiles')); + +// Add a hidden control for timesheet_user_id (who to generate a timesheet for). +if ($showTimesheetCheckbox) + $form->addInput(array('type'=>'hidden','name'=>'timesheet_user_id')); // Add group by control. $group_by_options['no_grouping'] = $i18n->get('form.reports.group_by_no'); @@ -310,20 +336,27 @@ if ($request->isGet() && !$bean->isSaved()) { $period = new Period(INTERVAL_THIS_MONTH, new DateAndTime($user->getDateFormat())); $form->setValueByElement('start_date', $period->getStartDate()); $form->setValueByElement('end_date', $period->getEndDate()); + $form->setValueByElement('chclient', '1'); - $form->setValueByElement('chinvoice', '0'); - $form->setValueByElement('chpaid', '0'); - $form->setValueByElement('chip', '0'); - $form->setValueByElement('chproject', '1'); $form->setValueByElement('chstart', '1'); + $form->setValueByElement('chfinish', '1'); $form->setValueByElement('chduration', '1'); - $form->setValueByElement('chcost', '0'); + + $form->setValueByElement('chproject', '1'); $form->setValueByElement('chtask', '1'); - $form->setValueByElement('chfinish', '1'); $form->setValueByElement('chnote', '1'); + $form->setValueByElement('chcost', '0'); + + $form->setValueByElement('chtimesheet', '0'); + $form->setValueByElement('chip', '0'); + $form->setValueByElement('chapproved', '0'); + $form->setValueByElement('chpaid', '0'); + $form->setValueByElement('chcf_1', '0'); $form->setValueByElement('chunits', '0'); - $form->setValueByElement('chtimesheet', '0'); + $form->setValueByElement('chinvoice', '0'); + $form->setValueByElement('chfiles', '1'); + $form->setValueByElement('chtotalsonly', '0'); } @@ -411,21 +444,25 @@ if ($request->isPost()) { } } // isPost +$smarty->assign('client_list', $client_list); $smarty->assign('show_client', $showClient); $smarty->assign('show_cf_1_dropdown', $showCustomFieldDropdown); $smarty->assign('show_cf_1_checkbox', $showCustomFieldCheckbox); $smarty->assign('show_project', $showProject); $smarty->assign('show_task', $showTask); $smarty->assign('show_billable', $showBillable); +$smarty->assign('show_approved', $showApproved); $smarty->assign('show_invoice_dropdown', $showInvoiceDropdown); $smarty->assign('show_invoice_checkbox', $showInvoiceCheckbox); $smarty->assign('show_paid_status', $showPaidStatus); -$smarty->assign('show_timesheet', $showTimesheet); +$smarty->assign('show_timesheet_dropdown', $showTimesheetDropdown); +$smarty->assign('show_timesheet_checkbox', $showTimesheetCheckbox); $smarty->assign('show_users', $showUsers); $smarty->assign('show_start', $showStart); $smarty->assign('show_finish', $showFinish); $smarty->assign('show_work_units', $showWorkUnits); $smarty->assign('show_ip', $showIP); +$smarty->assign('show_files', $showFiles); $smarty->assign('project_list', $project_list); $smarty->assign('task_list', $task_list); $smarty->assign('assigned_projects', $assigned_projects);