function quick_add_milestone() { if (logged_user()->isGuest()) { flash_error(lang('no access permissions')); ajx_current("empty"); return; } ajx_current("empty"); $milestone = new ProjectMilestone(); $milestone_data = array_var($_POST, 'milestone'); $project = active_or_personal_project(); if (!ProjectMilestone::canAdd(logged_user(), $project)) { flash_error(lang('no access permissions')); return; } // if if (is_array($milestone_data)) { try { $milestone->setFromAttributes($milestone_data); $now = DateTimeValueLib::now(); $milestone->setDueDate(DateTimeValueLib::make(0, 0, 0, array_var($milestone_data, 'due_date_month', $now->getMonth()), array_var($milestone_data, 'due_date_day', $now->getDay()), array_var($milestone_data, 'due_date_year', $now->getYear()))); // Set assigned to $assigned_to = explode(':', array_var($milestone_data, 'assigned_to', '')); $milestone->setAssignedToCompanyId(array_var($assigned_to, 0, 0)); $milestone->setAssignedToUserId(array_var($assigned_to, 1, 0)); $milestone->setIsPrivate(false); // Not used, but defined as not null. $urgent = array_var($milestone_data, 'is_urgent') == 'checked'; $milestone->setIsUrgent($urgent); DB::beginWork(); $milestone->save(); $milestone->setProject($project); ApplicationLogs::createLog($milestone, $milestone->getWorkspaces(), ApplicationLogs::ACTION_ADD); DB::commit(); ajx_extra_data(array("milestone" => $this->milestone_item($milestone))); flash_success(lang('success add milestone', $milestone->getName())); } catch (Exception $e) { DB::rollback(); flash_error($e->getMessage()); } // try } // if }