/** * Show and process add milestone form * * @access public * @param void * @return null */ function add() { $this->setTemplate('add_milestone'); if (!ProjectMilestone::canAdd(logged_user(), active_project())) { flash_error(lang('no access permissions')); $this->redirectToReferer(get_url('milestone')); } // if $milestone_data = array_var($_POST, 'milestone'); if (!is_array($milestone_data)) { $milestone_data = array('due_date' => DateTimeValueLib::now(), 'is_private' => config_option('default_private', false)); // array } // if $milestone = new ProjectMilestone(); tpl_assign('milestone_data', $milestone_data); tpl_assign('milestone', $milestone); if (is_array(array_var($_POST, 'milestone'))) { if (isset($_POST['milestone_due_date'])) { $milestone_data['due_date'] = DateTimeValueLib::makeFromString($_POST['milestone_due_date']); } else { $milestone_data['due_date'] = DateTimeValueLib::make(0, 0, 0, array_var($_POST, 'milestone_due_date_month', 1), array_var($_POST, 'milestone_due_date_day', 1), array_var($_POST, 'milestone_due_date_year', 1970)); } $assigned_to = explode(':', array_var($milestone_data, 'assigned_to', '')); $milestone->setFromAttributes($milestone_data); if (!logged_user()->isMemberOfOwnerCompany()) { $milestone->setIsPrivate(false); } $milestone->setProjectId(active_project()->getId()); $milestone->setAssignedToCompanyId(array_var($assigned_to, 0, 0)); $milestone->setAssignedToUserId(array_var($assigned_to, 1, 0)); try { DB::beginWork(); $milestone->save(); if (plugin_active('tags')) { $milestone->setTagsFromCSV(array_var($milestone_data, 'tags')); } ApplicationLogs::createLog($milestone, active_project(), ApplicationLogs::ACTION_ADD); DB::commit(); // Send notification try { if (array_var($milestone_data, 'send_notification') == 'checked') { Notifier::milestoneAssigned($milestone); // send notification } // if } catch (Exception $e) { } // try flash_success(lang('success add milestone', $milestone->getName())); $this->redirectTo('milestone'); } catch (Exception $e) { DB::rollback(); tpl_assign('error', $e); } // try } // if }
<?php trace(__FILE__, 'ProjectMessage::project_tabbed_navigation()'); project_tabbed_navigation(); trace(__FILE__, 'ProjectMessage::canAdd'); if (ProjectMessage::canAdd(logged_user(), active_project())) { add_page_action(lang('add message'), get_url('message', 'add')); } // if trace(__FILE__, 'ProjectTaskList::canAdd'); if (ProjectTaskList::canAdd(logged_user(), active_project())) { add_page_action(lang('add task list'), get_url('task', 'add_list')); } // if trace(__FILE__, 'ProjectMilestone::canAdd'); if (ProjectMilestone::canAdd(logged_user(), active_project())) { add_page_action(lang('add milestone'), get_url('milestone', 'add')); } // if //trace(__FILE__,'project.canChangePermissions()'); //if (active_project()->canChangePermissions(logged_user())) { // add_page_action(lang('permissions'), get_url('project', 'permissions')); //} // if trace(__FILE__, 'plugin hook'); // PLUGIN HOOK plugin_manager()->do_action('project_overview_page_actions'); // PLUGIN HOOK if (use_permitted(logged_user(), active_project(), 'tasks')) { add_page_action(lang('download task lists'), get_url('project', 'download_task_lists')); }
/** * Create a new milestone template * */ function new_template() { if (logged_user()->isGuest()) { flash_error(lang('no access permissions')); ajx_current("empty"); return; } $project = active_or_personal_project(); if (!ProjectMilestone::canAdd(logged_user(), $project)) { flash_error(lang('no access permissions')); ajx_current("empty"); return; } // if $id = get_id(); $milestone = ProjectMilestones::findById($id); if (!$milestone instanceof ProjectMilestone) { $milestone_data = array('is_template' => true); } else { $milestone_data = array('name' => $milestone->getName(), 'assigned_to' => $milestone->getAssignedToCompanyId() . ":" . $milestone->getAssignedToUserId(), 'tags' => implode(",", $milestone->getTagNames()), 'project_id' => $milestone->getProjectId(), 'description' => $milestone->getDescription(), 'copyId' => $milestone->getId(), 'is_template' => true); // array if ($milestone->getDueDate() instanceof DateTimeValue) { $milestone_data['due_date'] = $milestone->getDueDate()->getTimestamp(); } } $milestone = new ProjectMilestone(); tpl_assign('milestone_data', $milestone_data); tpl_assign('milestone', $milestone); $this->setTemplate("add_milestone"); }
/** * Create a new milestone template * */ function new_template() { if (logged_user()->isGuest()) { flash_error(lang('no access permissions')); ajx_current("empty"); return; } $notAllowedMember = ''; if(!ProjectMilestone::canAdd(logged_user(), active_context(),$notAllowedMember)) { if (str_starts_with($notAllowedMember, '-- req dim --')) flash_error(lang('must choose at least one member of', str_replace_first('-- req dim --', '', $notAllowedMember, $in))); else flash_error(lang('no context permissions to add',lang("milestones"),$notAllowedMember)); ajx_current("empty"); return; } // if $id = get_id(); $milestone = ProjectMilestones::findById($id); if (!$milestone instanceof ProjectMilestone) { $milestone_data = array('is_template' => true); } else { $milestone_data = array( 'name' => $milestone->getObjectName(), 'description' => $milestone->getDescription(), 'copyId' => $milestone->getId(), 'is_template' => true, ); // array if ($milestone->getDueDate() instanceof DateTimeValue) { $milestone_data['due_date'] = $milestone->getDueDate()->getTimestamp(); } } $milestone = new ProjectMilestone(); tpl_assign('milestone_data', $milestone_data); tpl_assign('milestone', $milestone); $this->setTemplate("add_milestone"); } // new_template