/** * Delete ticket update * * @param integer $id */ public function action_delete($id) { // Get the ticket update $history = \traq\models\TicketHistory::find($id); // Delete the update $history->delete(); // Is this an ajax request? if (Request::isAjax()) { // Render the view View::set('history', $history); } else { // Just redirect back to the ticket Request::redirectTo($history->ticket->href()); } }
/** * Toggles the subscription. * * @param string $type Subscription type (Project, Milestone, Ticket) * @param integer $id Subscribed object ID */ public function action_toggle($type, $id) { switch ($type) { // Project case 'project': // Delete subscription if (is_subscribed($this->user, $this->project)) { $sub = Subscription::select()->where(array(array('project_id', $this->project->id), array('user_id', $this->user->id), array('type', 'project')))->exec()->fetch(); $sub->delete(); } else { $sub = new Subscription(array('type' => "project", 'project_id' => $this->project->id, 'user_id' => $this->user->id, 'object_id' => $this->project->id)); $sub->save(); } Request::redirectTo($this->project->href()); break; // Milestone // Milestone case 'milestone': // Get milestone $milestone = Milestone::select()->where(array(array('project_id', $this->project->id), array('slug', $id)))->exec()->fetch(); // Delete subscription if (is_subscribed($this->user, $milestone)) { $sub = Subscription::select()->where(array(array('project_id', $this->project->id), array('user_id', $this->user->id), array('type', 'milestone'), array('object_id', $milestone->id)))->exec()->fetch(); $sub->delete(); } else { $sub = new Subscription(array('type' => "milestone", 'project_id' => $this->project->id, 'user_id' => $this->user->id, 'object_id' => $milestone->id)); $sub->save(); } Request::redirectTo($milestone->href()); break; // Milestone // Milestone case 'ticket': // Get ticket $ticket = Ticket::select()->where(array(array('project_id', $this->project->id), array('ticket_id', $id)))->exec()->fetch(); // Delete subscription if (is_subscribed($this->user, $ticket)) { $sub = Subscription::select()->where(array(array('project_id', $this->project->id), array('user_id', $this->user->id), array('type', 'ticket'), array('object_id', $ticket->id)))->exec()->fetch(); $sub->delete(); } else { $sub = new Subscription(array('type' => "ticket", 'project_id' => $this->project->id, 'user_id' => $this->user->id, 'object_id' => $ticket->id)); $sub->save(); } Request::redirectTo($ticket->href()); break; } }
/** * Delete attachment * * @param integer $attachment_id */ public function action_delete($attachment_id) { // Delete and redirect $this->attachment->delete(); Request::redirectTo($this->attachment->ticket->href()); }
/** * Delete field. */ public function action_delete($id) { // Find field $field = CustomField::find($id); // Verify project if ($field->project_id != $this->project->id) { return $this->show_no_permission(); } // Delete and redirect $field->delete(); if ($this->is_api) { return \API::response(1); } else { Request::redirectTo($this->project->href('settings/custom_fields')); } }
/** * Delete tab. * * @param integer $id Tab ID */ public function action_delete($id) { CustomTab::find($id)->delete(); Request::redirectTo('/admin/custom_tabs'); }