/** * Create ticket. */ public function createAction() { $ticket = new Ticket($this->ticketParams()); if ($ticket->validate()) { $ticket->save(); Timeline::newTicketEvent($this->currentUser, $ticket)->save(); $this->currentProject->next_ticket_id++; $this->currentProject->save(); return $this->redirectTo('ticket', ['pslug' => $this->currentProject['slug'], 'id' => $ticket->ticket_id]); } return $this->render('tickets/new.phtml', ['ticket' => $ticket]); }
function createTicket($project = null, $milestone = null, $user = null) { if (!$project) { $project = createProject(); } if (!$milestone) { $milestone = createMilestone($project); } if (!$user) { $user = createUser(); } $ticket = new Ticket(['ticket_id' => $project['next_ticket_id'], 'summary' => 'ticket-' . mkRandomHash(5) . '-summary', 'body' => 'ticket-' . mkRandomHash(5) . '-body', 'project_id' => $project['id'], 'user_id' => $user['id'], 'type_id' => 1, 'milestone_id' => $milestone['id']]); $ticket->save(); $project['next_ticket_id'] = $project['next_ticket_id'] + 1; $project->save(); return $ticket; }