public function execute(CommandContext $context) { if (!UserStatus::isAdmin() || !Current_User::allow('hms', 'activate_term')) { PHPWS_Core::initModClass('hms', 'exception/PermissionException.php'); throw new PermissionException('You do not have permission to set the Current Term.'); } PHPWS_Core::initModClass('hms', 'TermEditView.php'); $this->term = $context->get('term'); Term::setCurrentTerm($this->term); NQ::simple('hms', hms\NotificationView::SUCCESS, 'The Current Term has been set to ' . Term::getPrintableCurrentTerm()); $cmd = CommandFactory::getCommand('ShowEditTerm'); $cmd->redirect(); }
public function copy($to_term, $room_id, $assignments) { if (!$this->id) { return false; } // echo "in hms_beds, making a copy of this bed<br>"; $new_bed = clone $this; $new_bed->reset(); $new_bed->term = $to_term; $new_bed->room_id = $room_id; $new_bed->clearRoomChangeReserved(); try { $new_bed->save(); } catch (Exception $e) { throw $e; } // Copy assignment if ($assignments) { // echo "loading assignments for this bed<br>"; PHPWS_Core::initModClass('hms', 'HousingApplication.php'); PHPWS_Core::initModClass('hms', 'Term.php'); PHPWS_Core::initModClass('hms', 'HMS_Assignment.php'); PHPWS_Core::initModClass('hms', 'StudentFactory.php'); try { $this->loadAssignment(); } catch (Exception $e) { throw $e; } if (isset($this->_curr_assignment)) { try { try { $student = StudentFactory::getStudentByUsername($this->_curr_assignment->asu_username, Term::getCurrentTerm()); $app = HousingApplication::getApplicationByUser($this->_curr_assignment->asu_username, Term::getCurrentTerm()); } catch (StudentNotFoundException $e) { NQ::simple('hms', hms\NotificationView::ERROR, 'Could not copy assignment for ' . $this->_curr_assignment->asu_username); return; } // meal option defaults to standard $meal_option = BANNER_MEAL_STD; if (!is_null($app)) { $meal_option = $app->getMealPlan(); } $note = "Assignment copied from " . Term::getPrintableCurrentTerm() . " to " . Term::toString($to_term); HMS_Assignment::assignStudent($student, $to_term, null, $new_bed->id, $meal_option, $note, false, $this->_curr_assignment->getReason()); } catch (Exception $e) { throw $e; } } } }