コード例 #1
0
 /**
  * function __construct
  * <pre>
  * Initialize the Class ...
  * </pre>
  * @param $personyear_id [INTEGER] value used to initialize the list.
  * @param $sortBy [STRING] the field name to sort list by
  * @return [void]
  */
 function __construct($campus_id = -1, $assignment_status_list = '', $sortBy = '')
 {
     // NOTE: if you need to narrow the field of the search then uncommnet
     // the following and set the proper search criteria.
     if ($campus_id == '') {
         $campus_id = -1;
     }
     if ($sortBy == '') {
         $sortBy = 'personyear_id';
     }
     $personYearManager = new RowManager_PersonYearManager();
     $campusAssignments = new RowManager_AssignmentsManager();
     $campusAssignments->setCampusID($campus_id);
     $person = new RowManager_PersonManager();
     $searchManager = new MultiTableManager();
     //new RowManager_PersonYearManager();
     $searchManager->addRowManager($campusAssignments);
     $searchManager->addRowManager($personYearManager, new JoinPair($personYearManager->getJoinOnPersonID(), $campusAssignments->getJoinOnPersonID(), JOIN_TYPE_LEFT));
     $searchManager->addRowManager($person, new JoinPair($person->getJoinOnPersonID(), $personYearManager->getJoinOnPersonID()));
     if ($assignment_status_list != '') {
         $searchManager->addSearchCondition('assignmentstatus_id in (' . $assignment_status_list . ')');
         // filter results by student-campus status
     }
     $searchManager->setSortOrder($sortBy);
     //         $this->resultSet = $searchManager->find();
     $foundIterator = $searchManager->getListIterator();
     $foundArray = $foundIterator->getDataList();
     /** Add new person year entries as required **/
     reset($foundArray);
     foreach (array_keys($foundArray) as $k) {
         $record = current($foundArray);
         $person_id = $record['person_id'];
         // person_id must exist given join condition, personyear_id and/or year_id may not
         $personyear_id = $record['personyear_id'];
         /** Add new person year entry if person doesn't have one yet **/
         if ($personyear_id == "") {
             $newPersonYear = new RowManager_PersonYearManager();
             $newPersonYear->setPersonID($person_id);
             $newPersonYear->setYear(RowManager_PersonYearManager::OTHER);
             $newPersonYear->createNewEntry();
         }
         next($foundArray);
     }
     $keepList = 'campus_id';
     $searchManager->deleteValuesExceptSome($keepList);
     $this->resultSet = $searchManager->find();
     //         echo "record array  = <pre>".print_r($foundArray,true)."</pre>";
     // 	     $searchManager->setValueByFieldName("campus_id", $campus_id );
     //$searchManager->setValueByFieldName('module_isCommonLook', '1' );
 }
コード例 #2
0
 protected function assignCampus($personID)
 {
     if (isset($this->campus_id) && $this->campus_id != '') {
         $campusAssign = new RowManager_AssignmentsManager();
         $campusAssign->setPersonID($personID);
         $campusAssign->setCampusID($this->campus_id);
         $updateValues = array();
         $updateValues['person_id'] = $personID;
         $updateValues['campus_id'] = $this->campus_id;
         // Store values in AssignmentsManager object
         $campusAssign->loadFromArray($updateValues);
         //              echo "<pre>".print_r($updateValues ,true)."</pre>";
         // store new information
         $campusAssign->createNewEntry();
     }
 }
コード例 #3
0
 /**
  * function __construct
  * <pre>
  * Initialize the object.
  * </pre>
  * @param $pathModuleRoot [STRING] The path to this module's root directory
  * @param $viewer [OBJECT] The viewer object.
  * @param $formAction [STRING] The action on a form submit
  * @param $event_id [INTEGER] Value used to initialize the dataManager
  * @return [void]
  */
 function __construct($pathModuleRoot, $viewer, $formAction, $event_id, $campus_id = '', $to_email_opt = '', $base_opt_value = '')
 {
     // NOTE: be sure to call the parent constructor before trying to
     //       use the ->formXXX arrays...
     //         $this->person_id = $person_id;
     $this->event_id = $event_id;
     $this->campus_id = $campus_id;
     if ($to_email_opt == '') {
         $this->to_email_choice = FormProcessor_EmailComposer::DEFAULT_RECIPIENTS;
     } else {
         $this->to_email_choice = $to_email_opt;
     }
     $this->base_opt_value = $base_opt_value;
     $this->viewer = $viewer;
     //         if ((!isset($person_id))||($person_id == ''))
     //         {
     // 	        $this->person_id = $this->getPersonIDfromViewerID();
     // 	        $formAction .= '&'.modulecim_reg::PERSON_ID.'='.$this->person_id;
     //         }
     //         if (($isInRegProcess == true)&&($registration_id == ''))
     //         {
     // 	         $this->setRegistrationID();	// get registration ID for the rest of the process
     //         		$formAction .= '&'.modulecim_reg::REG_ID.'='.$this->registration_id;
     //         		// also note that person_id is set above if it is also not set yet
     //         		if ($person_id == -1)
     //         		{
     // 	        		// pass on new person_id to GET parameters
     // 	        		$formAction = str_replace( modulecim_reg::PERSON_ID.'=-1', modulecim_reg::PERSON_ID.'='.$this->person_id, $formAction);
     //         		}
     //
     //      	  }
     $fieldList = FormProcessor_EmailComposer::FORM_FIELDS;
     $fieldDisplayTypes = FormProcessor_EmailComposer::FORM_FIELD_TYPES;
     parent::__construct($formAction, $fieldList, $fieldDisplayTypes);
     $this->pathModuleRoot = $pathModuleRoot;
     // if ($this->pageType == FormProcessor_EmailComposer::CAMPUS_EMAIL)
     if ($this->campus_id != '') {
         $this->TO_ADDRESS_OPTIONS = array('0' => 'All Campus Registrants', '1' => 'Campus Registrants - Completed', '2' => 'Campus Registrants - Incomplete', '3' => 'Campus Registrants - Cancelled', '4' => 'Campus Registrants - Males', '5' => 'Campus Registrants - Females', '6' => 'Custom List of Campus Registrants...');
         //, '6'=>'All Campus Club Students'
     } else {
         $this->TO_ADDRESS_OPTIONS = array('0' => 'All Event Registrants', '1' => 'Event Registrants - Completed', '2' => 'Event Registrants - Incomplete', '3' => 'Event Registrants - Cancelled', '4' => 'Event Registrants - Males', '5' => 'Event Registrants - Females', '6' => 'Custom List of Event Registrants...');
     }
     // To make sure this is not exploited to edit any other person's id.
     // If the user has no privileges, this sets the viewer id to be his/her own,
     // even if the variable given to it is not the viewer's person id.
     // NOTE: anyone with higher previliges can edit any person's info, by simply
     // changing the posted variable value.			// NOTE: this code was causing problems in app_cim_reg module
     // Now load the access Priviledge manager of this viewer
     //         $this->accessPrivManager = new RowManager_AdminManager( );
     //         // Get the person ID
     //         $accessManager = new RowManager_AccessManager( );
     //         $accessManager->loadByViewerID( $this->viewer->getViewerID( ) );
     //         $personID = $accessManager->getPersonID();
     //         // Get the permissions the person has.
     //         $this->accessPrivManager->loadByPersonID( $personID );
     //         if ( !$this->accessPrivManager->isLoaded() ) {
     //           $this->person_id=$personID;
     // /        }
     //End of check.
     // figure out the important fields for the dataManager
     //       $fieldsOfInterest = implode(',', $this->formFields);
     $this->dataManager = new MultiTableManager();
     $persons = new RowManager_PersonManager();
     //$this->person_id
     $registrations = new RowManager_RegistrationManager();
     $registrations->setEventID($this->event_id);
     $this->dataManager->addRowManager($persons);
     $this->dataManager->addRowManager($registrations, new JoinPair($persons->getJoinOnPersonID(), $registrations->getJoinOnPersonID()));
     if ($this->campus_id != '') {
         $assignments = new RowManager_AssignmentsManager();
         $assignments->setCampusID($this->campus_id);
         $this->dataManager->addRowManager($assignments, new JoinPair($assignments->getJoinOnPersonID(), $persons->getJoinOnPersonID()));
     }
     $this->dataManager->setSortOrder('person_lname,person_fname');
     //       $this->dataManager->setFieldsOfInterest( $fieldsOfInterest );
     $this->formValues = $this->dataManager->getArrayOfValues();
     // echo "form values:<br><pre>".print_r($this->formValues,true)."</pre>";
     // 			$eventInfo = new RowManager_EventManager($this->event_id);
     // 			$event_email = $eventInfo->getEventEmail();
     // 			echo $event_email;
     $this->formValues['from_email'] = $this->getPersonEmailfromViewerID();
     $this->formValues['to_email'] = $this->base_opt_value . $this->to_email_choice;
     // set jumplist SELECTED value
     // 			$this->formValues['email_subject'] = $campus_name.' - '.$event_name.' Notice';
     // now initialize the labels for this page
     // start by loading the default field labels for this Module
     $languageID = $viewer->getLanguageID();
     $seriesKey = modulecim_reg::MULTILINGUAL_SERIES_KEY;
     $pageKey = modulecim_reg::MULTILINGUAL_PAGE_FIELDS;
     $this->labels = new MultilingualManager($languageID, $seriesKey, $pageKey);
     // then load the page specific labels for this page
     $pageKey = FormProcessor_EmailComposer::MULTILINGUAL_PAGE_KEY;
     $this->labels->loadPageLabels($pageKey);
     // load the site default form link labels
     $this->labels->setSeriesKey(SITE_LABEL_SERIES_SITE);
     $this->labels->loadPageLabels(SITE_LABEL_PAGE_FORM_LINKS);
     $this->labels->loadPageLabels(SITE_LABEL_PAGE_FORMERRORS);
 }
コード例 #4
0
 private function generateRegistrantsDroplist()
 {
     //			$content = $this->_controller->loadEditCampusRegistrations_OffflineRegBox();
     //$content = $this->registrants_dropList->getHTML();
     $people = new RowManager_PersonManager();
     $access = new RowManager_AccessManager();
     // ADDED Nov 21, 2007
     $viewers = new RowManager_ViewerManager();
     // ADDED Nov 21, 2007
     $assignment = new RowManager_AssignmentsManager();
     $assignment->setCampusID($this->campus_id);
     $registrants = new MultiTableManager();
     $registrants->addRowManager($people);
     $registrants->addRowManager($assignment, new JoinPair($people->getJoinOnPersonID(), $assignment->getJoinOnPersonID()));
     $registrants->addRowManager($access, new JoinPair($people->getJoinOnPersonID(), $access->getJoinOnPersonID()));
     // ADDED Nov 21, 2007
     $registrants->addRowManager($viewers, new JoinPair($access->getJoinOnViewerID(), $viewers->getJoinOnViewerID()));
     // ADDED Nov 21, 2007
     // get sub-query data for filtering out registrants that have already been registered for event
     $regs = new RowManager_RegistrationManager();
     $regs->setEventID($this->event_id);
     //          $regs->setPersonID($this->person_id);
     $status = new RowManager_StatusManager();
     $status->setStatusDesc(RowManager_StatusManager::REGISTERED);
     $regData = new MultiTableManager();
     $regData->addRowManager($regs);
     $regData->addRowManager($status, new JoinPair($regs->getJoinOnStatus(), $status->getJoinOnStatusID()));
     $regData->setFieldList('person_id');
     $registered_SQL = $regData->createSQL();
     //          echo "<br>CREATED SQL 1 = ".$registered_SQL;
     // actually creates the sub-query ensuring that registrants in drop-down list are NOT registered
     $negateSubQuery = true;
     $addSubQuery = true;
     $registrants->constructSubQuery('person_id', $registered_SQL, $negateSubQuery, $addSubQuery);
     $registrants->setSortOrder('person_lname');
     $peopleManager = $registrants->getListIterator();
     $registrantsArray = $peopleManager->getDataList();
     //          echo "<br>CREATED SQL 2 = ".$registrants->createSQL();
     $registrant = array();
     // NOTE: the drop-down list stealthily passes PERSON_ID to controller (see name="SV43")
     $dropList = '<form name="Form" id="Form" method="post" action="' . $this->registrant_formAction . '">' . 'Select a registrant for offline registration, or choose "New Registrant" :<br><br>' . '<select name="' . modulecim_reg::PERSON_ID . '">' . '<option selected="selected" value="-1">New Registrant</option>';
     // retrieve person first and last name from database array
     reset($registrantsArray);
     foreach (array_keys($registrantsArray) as $k) {
         $personData = current($registrantsArray);
         //				$registrant['person_fname'] = $personData['person_fname'];
         //				$registrant['person_lname'] = $personData['person_lname'];
         // add registrant names to drop-down list
         //				for ($i = 0; $i < $totalPeople; $i++)
         //				{
         $dropList .= '<option value=' . $personData['person_id'] . '>' . $personData['person_lname'] . ', ' . $personData['person_fname'] . ' (' . $personData['viewer_userID'] . ')</option>';
         //				}
         next($registrantsArray);
     }
     //			$totalPeople = count($
     $dropList .= '</select>' . '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input name="REGISTER" type="submit" value="REGISTER" /></form>';
     return $dropList;
 }
コード例 #5
0
 /**
  * function processData
  * <pre>
  * Processes the data for this form.
  * </pre>
  * @return [void]
  */
 function processData()
 {
     // save the value of the Foriegn Key(s)
     /*[RAD_ADMINBOX_FOREIGNKEY]*/
     // store values in table manager object.
     $this->dataManager->loadFromArray($this->formValues);
     // now update the DB with the values
     if (!$this->dataManager->isLoaded()) {
         $this->dataManager->createNewEntry();
         //Assign the person to a campus if this is a new entry.
         $personID = $this->dataManager->getPersonID();
         $assignmentManager = new RowManager_AssignmentsManager();
         $assignmentManager->setPersonID($personID);
         $assignmentManager->setCampusID($this->campus_id);
         $assignmentManager->createNewEntry();
     } else {
         $this->dataManager->updateDBTable();
     }
 }
コード例 #6
0
 /**
  * function __construct
  * <pre>
  * Initialize the object.
  * </pre>
  * @param $pathModuleRoot [STRING] The path to the module's root dir.
  * @param $viewer [OBJECT] The viewer object.
  * @param $sortBy [STRING] Field data to sort listManager by.
  * @param $managerInit [INTEGER] Initialization value for the listManager.
  * @return [void]
  */
 function __construct($pathModuleRoot, $viewer, $sortBy, $campus_id = "")
 {
     parent::__construct(page_PeoplebyCampuses::DISPLAY_FIELDS);
     $this->pathModuleRoot = $pathModuleRoot;
     $this->viewer = $viewer;
     $this->campus_id = $campus_id;
     // echo 'campusID['.$this->campus_id.']<br/>';
     //        $this->managerInit = $managerInit;
     // Now load the access Priviledge manager of this viewer
     $this->adminManager = new RowManager_AdminManager();
     // Get the person ID
     $accessManager = new RowManager_AccessManager();
     $accessManager->loadByViewerID($this->viewer->getViewerID());
     $personID = $accessManager->getPersonID();
     // Get the permissions the person has.
     $this->adminManager->loadByPersonID($personID);
     if ($this->adminManager->hasSitePriv()) {
         $campusManager = new RowManager_CampusManager();
         $campusManager->setSortOrder('campus_desc');
         $this->campusList = $campusManager->getListIterator();
         $this->accessibleCampuses = $this->campusList->getDropListArray();
     } else {
         if ($this->adminManager->hasCampusPriv()) {
             $campusAdminManager = new RowManager_CampusAdminManager();
             $adminID = $this->adminManager->getID();
             // echo 'adminID['.$adminID.']<br/>';
             $campusAdminManager->setAdminID($adminID);
             $multiTableManager = new MultiTableManager();
             $multiTableManager->addRowManager($campusAdminManager);
             $multiTableManager->setSortOrder('campus_desc');
             $campusManager = new RowManager_CampusManager();
             $multiTableManager->addRowManager($campusManager, new JoinPair($campusManager->getJoinOnCampusID(), $campusAdminManager->getJoinOnCampusID()));
             $this->campusList = $multiTableManager->getListIterator();
             $this->accessibleCampuses = array();
             $this->campusList->setFirst();
             while ($this->campusList->moveNext()) {
                 $campusAdminObject = $this->campusList->getCurrent(new RowManager_CampusAdminManager());
                 $campusObject = $this->campusList->getCurrent(new RowManager_CampusManager());
                 $this->accessibleCampuses[$campusAdminObject->getCampusID()] = $campusObject->getLabel();
             }
         } else {
             if ($this->adminManager->isStaff($viewer->getID())) {
                 $staffManager = new RowManager_StaffManager();
                 $staffManager->setPersonID($personID);
                 $multiTableManager = new MultiTableManager();
                 $multiTableManager->addRowManager($staffManager);
                 $multiTableManager->setSortOrder('campus_desc');
                 $assignmentManager = new RowManager_AssignmentsManager();
                 $multiTableManager->addRowManager($assignmentManager, new JoinPair($assignmentManager->getJoinOnPersonID(), $staffManager->getJoinOnPersonID()));
                 $campusManager = new RowManager_CampusManager();
                 $multiTableManager->addRowManager($campusManager, new JoinPair($campusManager->getJoinOnCampusID(), $assignmentManager->getJoinOnCampusID()));
                 $this->campusList = $multiTableManager->getListIterator();
                 $this->accessibleCampuses = array();
                 $this->campusList->setFirst();
                 while ($this->campusList->moveNext()) {
                     $campusAssignObject = $this->campusList->getCurrent(new RowManager_AssignmentsManager());
                     $campusObject = $this->campusList->getCurrent(new RowManager_CampusManager());
                     $this->accessibleCampuses[$campusAssignObject->getCampusID()] = $campusObject->getLabel();
                 }
             } else {
                 $campusManager = new RowManager_CampusManager();
                 $campusManager->setSortOrder('campus_desc');
                 $this->campusList = $campusManager->getListIterator();
                 $this->accessibleCampuses = $this->campusList->getDropListArray();
             }
         }
     }
     // modify the campus_id if necessary
     if ($this->campus_id == page_PeoplebyCampuses::DISPLAY_ALL_ID) {
         // setting the campus id to blank will get entries from all the campuses
         $this->campus_id = '';
     } else {
         if ($this->campus_id == '') {
             // no campus has been specified
             // choose a default campus if none specified
             // echo 'No campus specified<br/>';
             // get the first element from the accessible list
             foreach ($this->accessibleCampuses as $key => $value) {
                 $this->campus_id = $key;
                 break;
             }
             // assert campus_id should now be something
             if ($this->campus_id == '') {
                 die("ERROR - campusID not set to anything<br/>");
             }
         }
     }
     $dataAccessObject = new MultiTableManager();
     $assignmentsManager = new RowManager_AssignmentsManager();
     $assignmentsManager->setCampusID($this->campus_id);
     $dataAccessObject->addRowManager($assignmentsManager);
     $personManager = new RowManager_PersonManager();
     $joinPair = new JoinPair($personManager->getJoinOnPersonID(), $assignmentsManager->getJoinOnPersonID());
     $dataAccessObject->addRowManager($personManager, $joinPair);
     $this->accessManager = new RowManager_AccessManager();
     $joinPair2 = new JoinPair($personManager->getJoinOnPersonID(), $this->accessManager->getJoinOnPersonID(), JOIN_TYPE_LEFT);
     $dataAccessObject->addRowManager($this->accessManager, $joinPair2);
     $this->viewerManager = new RowManager_UserManager();
     $joinPair3 = new JoinPair($this->accessManager->getJoinOnViewerID(), $this->viewerManager->getJoinOnViewerID(), JOIN_TYPE_LEFT);
     $dataAccessObject->addRowManager($this->viewerManager, $joinPair3);
     if ($sortBy == '') {
         $sortBy = 'person_lname';
     }
     $dataAccessObject->setSortOrder($sortBy);
     $this->listManager = $dataAccessObject->getListIterator();
     // now initialize the labels for this page
     // start by loading the default field labels for this Module
     $languageID = $viewer->getLanguageID();
     $seriesKey = modulecim_hrdb::MULTILINGUAL_SERIES_KEY;
     $pageKey = modulecim_hrdb::MULTILINGUAL_PAGE_FIELDS;
     $this->labels = new MultilingualManager($languageID, $seriesKey, $pageKey);
     // then load the page specific labels for this page
     $pageKey = page_PeoplebyCampuses::MULTILINGUAL_PAGE_KEY;
     $this->labels->loadPageLabels($pageKey);
     $this->labels->setSeriesKey(SITE_LABEL_SERIES_SITE);
     $this->labels->loadPageLabels(SITE_LABEL_PAGE_FORM_LINKS);
 }