Esempio n. 1
0
 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());
 }
Esempio n. 2
0
 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();
 }
Esempio n. 3
0
 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;
 }
Esempio n. 4
0
 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;
 }
Esempio n. 6
0
 /**
  * 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();
 }