milestoneCompletedEvent() public static méthode

Creates a new Timeline object relating to a milestone completion event.
public static milestoneCompletedEvent ( $user, $milestone ) : Timeline
Résultat Timeline
Exemple #1
0
 public function __construct()
 {
     parent::__construct();
     $this->title($this->translate('milestones'));
     $this->before(['edit', 'save', 'delete', 'destroy'], function () {
         $this->object = Milestone::find(Request::$properties->get('id'));
         if (!$this->object || $this->object->project_id != $this->currentProject['id']) {
             return $this->show404();
         }
     });
     $this->after('save', function () {
         if ($this->object->isBeingCompleted) {
             Timeline::milestoneCompletedEvent($this->currentUser, $this->object)->save();
         }
     });
 }
Exemple #2
0
<?php

use Traq\Models\Timeline;
$testSuite->createGroup('Requests / Projects / Timeline', function ($g) {
    $project = createProject();
    $ticket = $project->tickets()->fetch() ?: createTicket($project);
    $wikiPage = createWikiPage($project);
    $g->test('Empty timeline', function ($t) use($project, $ticket, $wikiPage) {
        $resp = $t->visit('timeline', ['routeTokens' => ['pslug' => $project['slug']]]);
        $t->assertContains($project['name'], $resp->body);
        $t->assertContains('<h1 class="page-header">Timeline</h1>', $resp->body);
        $t->assertNotContains($ticket['summary'], $resp->body);
    });
    $g->test('With events', function ($t) use($project, $ticket, $wikiPage) {
        $newTicketEvent = Timeline::newTicketEvent($ticket->user(), $ticket);
        $newTicketEvent->save();
        $updatedTicketEvent = Timeline::updateTicketEvent($ticket->user(), $ticket, 'ticket_updated', $ticket->status()['name']);
        $updatedTicketEvent->save();
        $closedTicketEvent = Timeline::updateTicketEvent($ticket->user(), $ticket, 'ticket_closed', $ticket->status()['name']);
        $closedTicketEvent->save();
        $completedMilestoneEvent = Timeline::milestoneCompletedEvent($ticket->user(), $ticket->milestone());
        $completedMilestoneEvent->save();
        $wikiPageCreatedEvent = Timeline::wikiPageCreatedEvent($ticket->user(), $wikiPage);
        $wikiPageCreatedEvent->save();
        $resp = $t->visit('timeline', ['routeTokens' => ['pslug' => $project['slug']]]);
        $t->assertContains($project['name'], $resp->body);
        $t->assertContains('<h1 class="page-header">Timeline</h1>', $resp->body);
        $t->assertContains($ticket['summary'], $resp->body);
        $t->assertContains($wikiPage['title'], $resp->body);
    });
});