From 5d4953bb5ec09e6e79a114c71f53f410c6064f2e Mon Sep 17 00:00:00 2001 From: Nik Okuntseff Date: Mon, 18 Feb 2019 17:04:48 +0000 Subject: [PATCH] Work in progress on timesheet edit. --- WEB-INF/templates/timesheet_edit.tpl | 33 +++++++++ project_edit.php | 2 +- timesheet_edit.php | 103 +++++++++++++++++++++++++++ 3 files changed, 137 insertions(+), 1 deletion(-) create mode 100644 WEB-INF/templates/timesheet_edit.tpl create mode 100644 timesheet_edit.php diff --git a/WEB-INF/templates/timesheet_edit.tpl b/WEB-INF/templates/timesheet_edit.tpl new file mode 100644 index 00000000..500bb55b --- /dev/null +++ b/WEB-INF/templates/timesheet_edit.tpl @@ -0,0 +1,33 @@ +{$forms.timesheetForm.open} + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
{$i18n.label.thing_name} (*):{$forms.timesheetForm.timesheet_name.control}
{$i18n.label.comment}:{$forms.timesheetForm.comment.control}
{$i18n.label.status}:{$forms.timesheetForm.status.control}
{$i18n.label.required_fields}
 
{$forms.timesheetForm.btn_save.control}
+
+{$forms.timesheetForm.close} diff --git a/project_edit.php b/project_edit.php index 1402eb11..a2b27925 100644 --- a/project_edit.php +++ b/project_edit.php @@ -128,7 +128,7 @@ if ($request->isPost()) { } // isPost $smarty->assign('forms', array($form->getName()=>$form->toArray())); -$smarty->assign('onload', 'onLoad="document.projectForm.name.focus()"'); +$smarty->assign('onload', 'onLoad="document.projectForm.project_name.focus()"'); $smarty->assign('show_users', count($users) > 0); $smarty->assign('show_tasks', $show_tasks); $smarty->assign('title', $i18n->get('title.edit_project')); diff --git a/timesheet_edit.php b/timesheet_edit.php new file mode 100644 index 00000000..84461546 --- /dev/null +++ b/timesheet_edit.php @@ -0,0 +1,103 @@ +isPluginEnabled('ts')) { + header('Location: feature_disabled.php'); + exit(); +} +$cl_timesheet_id = (int)$request->getParameter('id'); +$timesheet = ttTimesheetHelper::getTimesheet($cl_timesheet_id); +if (!$timesheet) { + header('Location: access_denied.php'); + exit(); +} +// End of access checks. + +if ($request->isPost()) { + $cl_name = trim($request->getParameter('timesheet_name')); + $cl_comment = trim($request->getParameter('comment')); + $cl_status = $request->getParameter('status'); +} else { + $cl_name = $timesheet['name']; + $cl_comment = $timesheet['submitter_comment']; + $cl_status = $timesheet['status']; +} + +$form = new Form('timesheetForm'); +$form->addInput(array('type'=>'hidden','name'=>'id','value'=>$cl_timesheet_id)); +$form->addInput(array('type'=>'text','maxlength'=>'100','name'=>'timesheet_name','style'=>'width: 250px;','value'=>$cl_name)); +$form->addInput(array('type'=>'textarea','name'=>'comment','style'=>'width: 250px; height: 40px;','value'=>$cl_comment)); +$form->addInput(array('type'=>'combobox','name'=>'status','value'=>$cl_status, + 'data'=>array(ACTIVE=>$i18n->get('dropdown.status_active'),INACTIVE=>$i18n->get('dropdown.status_inactive')))); +$form->addInput(array('type'=>'submit','name'=>'btn_save','value'=>$i18n->get('button.save'))); + +if ($request->isPost()) { + // Validate user input. + if (!ttValidString($cl_name)) $err->add($i18n->get('error.field'), $i18n->get('label.thing_name')); + if (!ttValidString($cl_comment, true)) $err->add($i18n->get('error.field'), $i18n->get('label.comment')); + + if ($err->no()) { + /* + // TODO: coding ongoing down from here. + if ($request->getParameter('btn_save')) { + $existing_project = ttProjectHelper::getProjectByName($cl_name); + if (!$existing_project || ($cl_project_id == $existing_project['id'])) { + // Update project information. + if (ttProjectHelper::update(array( + 'id' => $cl_project_id, + 'name' => $cl_name, + 'description' => $cl_description, + 'status' => $cl_status, + 'users' => $cl_users, + 'tasks' => $cl_tasks))) { + header('Location: projects.php'); + exit(); + } else + $err->add($i18n->get('error.db')); + } else + $err->add($i18n->get('error.object_exists')); + }*/ + } +} // isPost + +$smarty->assign('forms', array($form->getName()=>$form->toArray())); +$smarty->assign('onload', 'onLoad="document.timesheetForm.timesheet_name.focus()"'); +$smarty->assign('show_users', count($users) > 0); +$smarty->assign('show_tasks', $show_tasks); +$smarty->assign('title', $i18n->get('title.edit_timesheet')); +$smarty->assign('content_page_name', 'timesheet_edit.tpl'); +$smarty->display('index.tpl'); -- 2.20.1