}
if ($showClient) {
$form->addInput(array('type'=>'combobox',
+ 'onchange'=>'fillProjectDropdown(this.value);',
'name'=>'client',
'style'=>'width: 250px;',
'data'=>$client_list,
));
}
+// 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('view_timesheets') ||
- $user->can('view_all_timesheets') || $user->can('view_client_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();
$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'));
// Add a hidden control for timesheet_user_id (who to generate a timesheet for).
-if ($showTimesheet)
+if ($showTimesheetCheckbox)
$form->addInput(array('type'=>'hidden','name'=>'timesheet_user_id'));
// Add group by control.
$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('chtotalsonly', '0');
}
}
} // 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);