AppStateESS/InternshipInventory

View on GitHub
class/ChangeHistoryView.php

Summary

Maintainability
A
25 mins
Test Coverage
<?php
/**
 * This file is part of Internship Inventory.
 *
 * Internship Inventory is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.

 * Internship Inventory is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License version 3
 * along with Internship Inventory.  If not, see <http://www.gnu.org/licenses/>.
 *
 * Copyright 2011-2018 Appalachian State University
 */

namespace Intern;

class ChangeHistoryView {

    private $internship;

    public function __construct(Internship $internship)
    {
        $this->internship = $internship;
    }

    public function show()
    {
        $tpl = array();

        $tpl['CHANGELOG_REPEAT'] = array();

        $changes = ChangeHistoryFactory::getChangesForInternship($this->internship);

        if(is_null($changes)){
            return "";
        }

        foreach($changes as $change){
            $changeFields = array();

            $changeFields['RELATIVE_DATE'] = $change->getRelativeDate();
            $changeFields['EXACT_DATE'] = $change->getFormattedDate();
            $changeFields['USERNAME'] = $change->getUsername();

            if($change->getFromStateFriendlyname() != $change->getToStateFriendlyName()){
                $changeFields['FROM_STATE'] = $change->getFromStateFriendlyName();
                $changeFields['TO_STATE'] = $change->getToStateFriendlyName();
            }

            $note = $change->getNote();
            if(!is_null($note)){
                $changeFields['NOTE'] = $note;
            }

            $tpl['changelog_repeat'][] = $changeFields;
        }

        return \PHPWS_Template::process($tpl, 'intern', 'changeHistory.tpl');
    }
}