From: Nik Okuntseff Date: Tue, 16 Apr 2019 20:32:29 +0000 (+0000) Subject: Added a capability to add attachment on project_add.php. X-Git-Tag: timetracker_1.19-1~81 X-Git-Url: http://wagnertech.de/git?p=timetracker.git;a=commitdiff_plain;h=920b5bff2bf2fb1caa10715ed8d40175e4798019 Added a capability to add attachment on project_add.php. --- diff --git a/WEB-INF/lib/ttGroupHelper.class.php b/WEB-INF/lib/ttGroupHelper.class.php index 92d85a6e..8419a1a3 100644 --- a/WEB-INF/lib/ttGroupHelper.class.php +++ b/WEB-INF/lib/ttGroupHelper.class.php @@ -358,7 +358,7 @@ class ttGroupHelper { $group_id = $user->getGroup(); $org_id = $user->org_id; - $sql = "select p.id, p.name, if(Sub1.entity_id is null, 0, 1) as has_files from tt_projects p". + $sql = "select p.id, p.name, p.description, if(Sub1.entity_id is null, 0, 1) as has_files from tt_projects p". " left join (select distinct entity_id from tt_files". " where entity_type = 'project' and group_id = $group_id and org_id = $org_id and status = 1) Sub1". " on (p.id = Sub1.entity_id)". diff --git a/WEB-INF/templates/footer.tpl b/WEB-INF/templates/footer.tpl index 108c2b4f..4338c51c 100644 --- a/WEB-INF/templates/footer.tpl +++ b/WEB-INF/templates/footer.tpl @@ -12,7 +12,7 @@
- +{if $show_files} + + + + +{/if} {if $show_users} diff --git a/project_add.php b/project_add.php index 00416804..5768d5fb 100644 --- a/project_add.php +++ b/project_add.php @@ -30,6 +30,7 @@ require_once('initialize.php'); import('form.Form'); import('ttProjectHelper'); import('ttGroupHelper'); +import('ttFileHelper'); // Access checks. if (!ttAccessAllowed('manage_projects')) { @@ -42,6 +43,7 @@ if (MODE_PROJECTS != $user->getTrackingMode() && MODE_PROJECTS_AND_TASKS != $use } // End of access checks. +$showFiles = $user->isPluginEnabled('at'); $users = ttGroupHelper::getActiveUsers(); foreach ($users as $user_item) $all_users[$user_item['id']] = $user_item['name']; @@ -66,6 +68,8 @@ if ($request->isPost()) { $form = new Form('projectForm'); $form->addInput(array('type'=>'text','maxlength'=>'100','name'=>'project_name','style'=>'width: 250px;','value'=>$cl_name)); $form->addInput(array('type'=>'textarea','name'=>'description','style'=>'width: 250px; height: 40px;','value'=>$cl_description)); +if ($showFiles) + $form->addInput(array('type'=>'upload','name'=>'newfile','value'=>$i18n->get('button.submit'))); $form->addInput(array('type'=>'checkboxgroup','name'=>'users','data'=>$all_users,'layout'=>'H','value'=>$cl_users)); if ($show_tasks) $form->addInput(array('type'=>'checkboxgroup','name'=>'tasks','data'=>$all_tasks,'layout'=>'H','value'=>$cl_tasks)); @@ -80,15 +84,25 @@ if ($request->isPost()) { if ($err->no()) { if (!ttProjectHelper::getProjectByName($cl_name)) { - if (ttProjectHelper::insert(array('name' => $cl_name, + $id = ttProjectHelper::insert(array('name' => $cl_name, 'description' => $cl_description, 'users' => $cl_users, 'tasks' => $cl_tasks, - 'status' => ACTIVE))) { - header('Location: projects.php'); - exit(); - } else - $err->add($i18n->get('error.db')); + 'status' => ACTIVE)); + + // Put a new file in storage if we have it. + if ($id && $showFiles && $_FILES['newfile']['name']) { + $fileHelper = new ttFileHelper($err); + $fields = array('entity_type'=>'project', + 'entity_id' => $id, + 'file_name' => $_FILES['newfile']['name']); + $fileHelper->putFile($fields); + } + if ($id) { + header('Location: projects.php'); + exit(); + } else + $err->add($i18n->get('error.db')); } else $err->add($i18n->get('error.object_exists')); } @@ -96,6 +110,7 @@ if ($request->isPost()) { $smarty->assign('forms', array($form->getName()=>$form->toArray())); $smarty->assign('onload', 'onLoad="document.projectForm.project_name.focus()"'); +$smarty->assign('show_files', $showFiles); $smarty->assign('show_users', count($users) > 0); $smarty->assign('show_tasks', $show_tasks); $smarty->assign('title', $i18n->get('title.add_project')); diff --git a/time.php b/time.php index 7b6376c8..f6c84759 100644 --- a/time.php +++ b/time.php @@ -395,7 +395,7 @@ if ($request->isPost()) { } // Put a new file in storage if we have it. - if ($showFiles && $_FILES['newfile']['name']) { + if ($id && $showFiles && $_FILES['newfile']['name']) { $fileHelper = new ttFileHelper($err); $fields = array('entity_type'=>'time', 'entity_id' => $id,
 Anuko Time Tracker 1.18.65.4950 | Copyright © Anuko | +  Anuko Time Tracker 1.18.65.4951 | Copyright © Anuko | {$i18n.footer.credits} | {$i18n.footer.license} | {$i18n.footer.improve} diff --git a/WEB-INF/templates/project_add.tpl b/WEB-INF/templates/project_add.tpl index d49b9a33..309b1378 100644 --- a/WEB-INF/templates/project_add.tpl +++ b/WEB-INF/templates/project_add.tpl @@ -11,6 +11,12 @@ {$i18n.label.description}: {$forms.projectForm.description.control}
{$i18n.label.file}:{$forms.projectForm.newfile.control}