// Determine which controls to show and obtain date for them.
$showSubmit = !$timesheet['submit_status'];
// Determine which controls to show and obtain date for them.
$showSubmit = !$timesheet['submit_status'];
// Add a form with controls.
$form = new Form('timesheetForm');
$form->addInput(array('type'=>'hidden','name'=>'id','value'=>$timesheet['id']));
if ($showSubmit) {
// Add a form with controls.
$form = new Form('timesheetForm');
$form->addInput(array('type'=>'hidden','name'=>'id','value'=>$timesheet['id']));
if ($showSubmit) {
$form->addInput(array('type'=>'combobox',
'name'=>'approver',
'style'=>'width: 200px;',
'data'=>$approvers,
$form->addInput(array('type'=>'combobox',
'name'=>'approver',
'style'=>'width: 200px;',
'data'=>$approvers,
if ($request->getParameter('btn_submit')) {
$fields = array('timesheet_id' => $timesheet['id'],
'approver_id' => $approver_id); // TODO: obtain (and check) approver id above during access checks.
if ($request->getParameter('btn_submit')) {
$fields = array('timesheet_id' => $timesheet['id'],
'approver_id' => $approver_id); // TODO: obtain (and check) approver id above during access checks.
- if (ttTimesheetHelper::submitTimesheet($fields)) {
+ if (!ttTimesheetHelper::markSubmitted($fields))
+ $err->add($i18n->get('error.db'));
+ if ($err->no() && !ttTimesheetHelper::sendSubmitEmail($fields)) {
+ $err->add($i18n->get('error.mail_send'));
+ }
+ if ($err->no()) {
$smarty->assign('timesheet', $timesheet);
$smarty->assign('subtotals', $subtotals);
$smarty->assign('totals', $totals);
$smarty->assign('timesheet', $timesheet);
$smarty->assign('subtotals', $subtotals);
$smarty->assign('totals', $totals);
$smarty->assign('show_submit', $showSubmit);
$smarty->assign('show_approve', $showApprove);
$smarty->assign('forms', array($form->getName()=>$form->toArray()));
$smarty->assign('show_submit', $showSubmit);
$smarty->assign('show_approve', $showApprove);
$smarty->assign('forms', array($form->getName()=>$form->toArray()));
$smarty->assign('content_page_name', 'timesheet_view.tpl');
$smarty->display('index.tpl');
$smarty->assign('content_page_name', 'timesheet_view.tpl');
$smarty->display('index.tpl');