public function execute(CommandContext $context) { if (!Current_User::allow('hms', 'room_view')) { PHPWS_Core::initModClass('hms', 'exception/PermissionException.php'); throw new PermissionException('You do not have permission to view rooms.'); } // Check for a hall ID $roomId = $context->get('room'); if (!isset($roomId)) { throw new InvalidArgumentException('Missing room ID.'); } // Load the room $room = new HMS_Room($roomId); if ($room->term != Term::getSelectedTerm()) { $roomCmd = CommandFactory::getCommand('SelectRoom'); $roomCmd->setTitle('Edit a Room'); $roomCmd->setOnSelectCmd(CommandFactory::getCommand('EditRoomView')); $roomCmd->redirect(); } // Load the floor/hall $floor = $room->get_parent(); $hall = $floor->get_parent(); // Load the room damages and damage types $damageTypes = DamageTypeFactory::getDamageTypeAssoc(); $roomView = new RoomView($hall, $floor, $room, $damageTypes); $context->setContent($roomView->show()); }
public function show() { $residentStudents = $this->room->get_assignees(); $home_http = PHPWS_SOURCE_HTTP; $residents = array(); foreach ($residentStudents as $s) { $residents[] = array('studentId' => $s->getBannerId(), 'name' => $s->getName()); } $vars = array(); javascript('jquery'); // Load header for Angular Frontend /** * Uncomment below for DEVELOPMENT * Comment out for PRODUCTION */ //Layout::addJSHeader("<script src='{$home_http}mod/hms/javascript/react/build/react.js'></script>"); //Layout::addJSHeader("<script src='{$home_http}mod/hms/javascript/react/build/JSXTransformer.js'></script>"); //Layout::addJSHeader("<script type='text/jsx' src='{$home_http}mod/hms/javascript/CheckOut/src/CheckOut.jsx'></script>"); /** * Uncomment below for PRODUCTION * Comment out for DEVELOPMENT */ Layout::addJSHeader("<script src='{$home_http}mod/hms/javascript/react/build/react.min.js'></script>"); Layout::addJSHeader("<script src='{$home_http}mod/hms/javascript/CheckOut/build/CheckOut.js'></script>"); /** * Remainder of code is untouched regardless of development status */ Layout::addJSHeader("<script type='text/javascript'>var sourceHttp = '{$home_http}';</script>"); $vars['student'] = $this->student->getFullName(); $vars['banner_id'] = $this->student->getBannerId(); $vars['hall_name'] = $this->hall->getHallName(); $vars['room_number'] = $this->room->getRoomNumber(); $vars['residents'] = json_encode($residents); $vars['checkin_id'] = $this->checkin->id; $vars['previous_key_code'] = $this->checkin->key_code; $vars['room_pid'] = $this->room->persistent_id; $damage_types = DamageTypeFactory::getDamageTypeAssoc(); $damage_options = array(); foreach ($damage_types as $dt) { $damage_options[$dt['category']][] = array('id' => $dt['id'], 'description' => $dt['description']); } $vars['damage_types'] = json_encode($damage_types); if (empty($this->damages)) { $vars['existing_damage'] = '[]'; } else { $this->addResponsible($residents); $vars['existing_damage'] = json_encode($this->damages); } $tpl = new \Template($vars); $tpl->setModuleTemplate('hms', 'admin/CheckOut.html'); return $tpl->get(); }
public function getRowTags() { // Get the damage types, if we don't already have them if (!isset(self::$damageTypes)) { self::$damageTypes = DamageTypeFactory::getDamageTypeAssoc(); } $row = array(); $row['CATEGORY'] = $row['DAMAGE_TYPE'] = self::$damageTypes[$this->getDamageType()]['category']; $row['DESCRIPTION'] = self::$damageTypes[$this->getDamageType()]['description']; $row['SIDE'] = $this->getSide(); $row['TERM'] = Term::toString($this->getTerm()); $row['REPORTED_ON'] = HMS_Util::get_long_date($this->getReportedOn()); return $row; }
public function show() { $submitCmd = CommandFactory::getCommand('AddRoomDamage'); $submitCmd->setRoom($this->room); $form = new PHPWS_Form('addDamageForm'); $submitCmd->initForm($form); $damageTypes = DamageTypeFactory::getDamageTypeAssoc(); $categories = array(); foreach ($damageTypes as $id => $attribs) { $categories[$attribs['category']][$id] = $attribs['description']; } /* $types = array(); foreach ($damageTypes as $key => $t) { $types[$key] = $t['category'] . ' - ' . $t['description']; } $form->addDropBox('damage_type', $types); */ $damageDrop = '<select data-placeholder="Select Damage Type" class="chzn-select" id="phpws-form-damage-type" name="damage_type" placeholder="Select Damage Type"><option value=""></option>'; foreach ($categories as $categoryName => $options) { $damageDrop .= "<optgroup label=\"{$categoryName}\">\n"; foreach ($options as $value => $text) { $damageDrop .= "<option value=\"{$value}\">{$text}</option>\n"; } $damageDrop .= '<optgroup>\\n'; } $damageDrop .= "</select>"; $tags = array(); $tags['DAMAGE_TYPE'] = $damageDrop; $form->addDropBox('side', array('Both' => 'Both', 'Left' => 'Left', 'Right' => 'Right')); $form->addTextArea('note'); $form->mergeTemplate($tags); $tags = $form->getTemplate(); // var_dump($tags); // exit; return PHPWS_Template::process($tags, 'hms', 'admin/addRoomDamage.tpl'); }
public function execute(CommandContext $context) { echo json_encode(DamageTypeFactory::getDamageTypeAssoc()); exit; }
/** * Constructor * * @param FPDF $fpdf Reference to an FPDF object. This info card will be added as a new page to this PDF object. * @param InfoCard The info card model object to view */ public function __construct() { $this->pdf = new FPDF('L', 'mm', 'Letter'); $this->damageTypes = DamageTypeFactory::getDamageTypeAssoc(); }