X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=project_add.php;h=5768d5fb50f6e5563d5da80af21ca0d7328595e8;hb=920b5bff2bf2fb1caa10715ed8d40175e4798019;hp=004168045875f4920af774fd288b86149b28e639;hpb=5c582eb5bacc8b3d9d2775ade454590c71b113ec;p=timetracker.git 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'));