public function display() { // Set up search fields $form = new \PHPWS_Form(); $form->setMethod('get'); $form->addHidden('module', 'intern'); $form->addHidden('action', 'results'); $form->useRowRepeat(); // Student name or Banner ID $form->addText('name'); $form->setLabel('name', "Name or Banner ID"); /*************** * Course Info * ***************/ $terms = Term::getTermsAssoc(); $form->addSelect('term_select', $terms); $form->setLabel('term_select', 'Term'); $form->setClass('term_select', 'form-control'); $subjects = array('-1' => 'Select subject ') + Subject::getSubjects(); $form->addSelect('course_subj', $subjects); $form->setLabel('course_subj', 'Subject'); $form->setClass('course_subj', 'form-control'); $form->addText('course_no'); $form->setLabel('course_no', 'Course Number'); $form->setSize('course_no', 6); $form->setMaxSize('course_no', 4); $form->setClass('course_no', 'form-control'); $form->addText('course_sect'); $form->setLabel('course_sect', 'Section'); $form->setSize('course_sect', 6); $form->setMaxSize('course_sect', 4); $form->setClass('course_sect', 'form-control'); /**************** * Faculty Info * ****************/ // Deity can search for any department. Other users are restricted. if (\Current_User::isDeity()) { $depts = Department::getDepartmentsAssoc(); } else { $depts = Department::getDepartmentsAssocForUsername(\Current_User::getUsername()); } $depts = array('-1' => 'Select Department') + $depts; $form->addSelect('dept', $depts); $form->setLabel('dept', 'Department'); //$form->setClass('', 'form-control'); $form->setClass('dept', 'form-control'); // If the user only has one department, select it for them // sizeof($depts) == 2 because of the 'Select Deparmtnet' option if (sizeof($depts) == 2) { $keys = array_keys($depts); $form->setMatch('dept', $keys[1]); } // Student level radio button javascript('jquery'); javascriptMod('intern', 'majorSelector', array('form_id' => $form->id)); // Student Major dummy box (gets replaced by dropdowns below using JS when student_level is selected) $levels = array('-1' => 'Choose student level first'); $form->addDropBox('student_major', $levels); $form->setLabel('student_major', 'Major / Program'); $form->addCssClass('student_major', 'form-control'); // Get the majors list $majorsList = MajorsProviderFactory::getProvider()->getMajors(Term::timeToTerm(time())); // Undergrad major drop down $undergradMajors = array('-1' => 'Select Undergraduate Major') + $majorsList->getUndergradMajorsAssoc(); $form->addSelect('undergrad_major', $undergradMajors); $form->setMatch('undergrad_major', '-1'); $form->setClass('undergrad_major', 'form-control'); // Graduate major drop down $graduateMajors = array('-1' => 'Select Graduate Major') + $majorsList->getGraduateMajorsAssoc(); $form->addSelect('graduate_major', $graduateMajors); $form->setMatch('graduate_major', '-1'); $form->setClass('graduate_major', 'form-control'); /******************* * Internship Type * *******************/ // Handeled directly in the html template /************ * Location * ************/ // Campus Handeled directly in the html template // International vs Domestic - Handeled directly in the html template // State search /******************* * Workflow States * *******************/ $workflowStates = WorkflowStateFactory::getStatesAssoc(); unset($workflowStates['Intern\\WorkflowState\\CreationState']); // Remove this state, since it's not valid (internal only state for initial creation) $form->addCheckAssoc('workflow_state', $workflowStates); $form->addSubmit('submit', 'Search'); // Javascript... javascriptMod('intern', 'resetSearch'); return \PHPWS_Template::process($form->getTemplate(), 'intern', 'search.tpl'); }
/** * Creates the user interface for editing this form's settings * * @return string $content The templated string containing the html to display * a user interface for editing this form's settings. * @access public */ function editSettings() { unset($this->report); if ($this->getId()) { /* If not a new form get the templated form info */ $formTags['FORM_INFORMATION'] = $this->getFormInfo(); } $form = new PHPWS_Form('edit_settings'); /* Setup all editable values and their labels */ $form->addTextField('PHAT_FormName', $this->getLabel()); $form->setSize('PHAT_FormName', PHAT_DEFAULT_SIZE); $form->setMaxSize('PHAT_FormName', PHAT_DEFAULT_MAXSIZE); $form->setLabel('PHAT_FormName', dgettext('phatform', 'Name')); $form->addTextField('PHAT_FormPageLimit', $this->_pageLimit); $form->setSize('PHAT_FormPageLimit', 3, 3); $form->setLabel('PHAT_FormPageLimit', dgettext('phatform', 'Item limit per page')); $form->addTextArea('PHAT_FormBlurb0', $this->_blurb0); $form->setCols('PHAT_FormBlurb0', PHAT_DEFAULT_COLS); $form->setRows('PHAT_FormBlurb0', PHAT_DEFAULT_ROWS); $form->setLabel('PHAT_FormBlurb0', dgettext('phatform', 'Instructions')); $form->addTextArea('PHAT_FormBlurb1', $this->_blurb1); $form->setCols('PHAT_FormBlurb1', PHAT_DEFAULT_COLS); $form->setRows('PHAT_FormBlurb1', PHAT_DEFAULT_ROWS); $form->setLabel('PHAT_FormBlurb1', dgettext('phatform', 'Submission Message')); /* RBW Added a section to hold the post processing code 1/3/04 */ $form->addTextArea('PHAT_PostProcess', $this->getPostProcessCode()); $form->setCols('PHAT_FormBlurb1', PHAT_DEFAULT_COLS); $form->setRows('PHAT_FormBlurb1', PHAT_DEFAULT_ROWS); $form->setLabel('PHAT_PostProcess', dgettext('phatform', 'Post Process Code')); //$formTags['POSTPROCESS_HELP'] = PHPWS_Help::show_link('phatform', 'post_process_code'); $form->addTextArea('PHAT_FormEmails', $this->getAdminEmails()); $form->setCols('PHAT_FormBlurb1', PHAT_DEFAULT_COLS); $form->setRows('PHAT_FormBlurb1', PHAT_DEFAULT_ROWS); $form->setLabel('PHAT_FormEmails', dgettext('phatform', 'Admin Email (comma delimited)')); $form->addCheckbox('PHAT_FormMultiSubmit', 1); $form->setMatch('PHAT_FormMultiSubmit', $this->_multiSubmit); $form->setLabel('PHAT_FormMultiSubmit', dgettext('phatform', 'Allow multiple submissions')); $form->addCheckbox('PHAT_FormAnonymous', 1); $form->setMatch('PHAT_FormAnonymous', $this->_anonymous); $form->setLabel('PHAT_FormAnonymous', dgettext('phatform', 'Allow anonymous submissions')); $form->addCheckBox('PHAT_FormEditData', 1); $form->setMatch('PHAT_FormEditData', $this->_editData); $form->setLabel('PHAT_FormEditData', dgettext('phatform', 'Allow users to edit their form data')); $form->addCheckBox('PHAT_FormShowElementNumbers', 1); $form->setMatch('PHAT_FormShowElementNumbers', $this->_showElementNumbers); $form->setLabel('PHAT_FormShowElementNumbers', dgettext('phatform', 'Show numbers for form elements (eg: 1, 2, 3)')); $form->addCheckBox('PHAT_FormShowPageNumbers', 1); $form->setMatch('PHAT_FormShowPageNumbers', $this->_showPageNumbers); $form->setLabel('PHAT_FormShowPageNumbers', dgettext('phatform', 'Show form page numbers (eg: page 1 of 6)')); $form->addCheckBox('PHAT_FormHidden', 1); $form->setMatch('PHAT_FormHidden', $this->isHidden()); $form->setLabel('PHAT_FormHidden', dgettext('phatform', 'Hide this form')); /* Can't forget the save button */ $form->addSubmit('PHAT_SaveSettings', dgettext('phatform', 'Save Settings')); if ($this->getId()) { $form->addSubmit('PHAT_EditElements', dgettext('phatform', 'Edit Elements')); $GLOBALS['CNT_phatform']['title'] = $this->getLabel(); } else { $GLOBALS['CNT_phatform']['title'] = PHAT_TITLE; } /* Add needed hiddens */ $form->addHidden('module', 'phatform'); $form->addHidden('PHAT_FORM_OP', 'SaveFormSettings'); $form->addHidden('PHAT_FormId', $this->getId()); $template = $form->getTemplate(); $content = PHPWS_Template::process($template, 'phatform', 'form/settings.tpl'); return $content; }
public static function display() { PHPWS_Core::initModClass('intern', 'Term.php'); PHPWS_Core::initModClass('intern', 'Department.php'); PHPWS_Core::initModClass('intern', 'Major.php'); PHPWS_Core::initModClass('intern', 'GradProgram.php'); PHPWS_Core::initModClass('intern', 'Internship.php'); PHPWS_Core::initModClass('intern', 'Agency.php'); PHPWS_Core::initModClass('intern', 'Subject.php'); PHPWS_Core::initModClass('intern', 'WorkflowStateFactory.php'); // Set up search fields $form = new PHPWS_Form(); $form->setMethod('get'); $form->addHidden('module', 'intern'); $form->addHidden('action', 'results'); $form->useRowRepeat(); $form->addText('name'); $form->setLabel('name', "Name or Banner ID"); $terms = Term::getTermsAssoc(); //$thisTerm = Term::timeToTerm(time()); $form->addSelect('term_select', $terms); $form->setLabel('term_select', 'Term'); $form->setClass('term_select', 'form-control'); //$form->setMatch('term_select', $thisTerm); // Deity can search for any department. Other users are restricted. if (Current_User::isDeity()) { $depts = Department::getDepartmentsAssoc(); } else { $depts = Department::getDepartmentsAssocForUsername(Current_User::getUsername()); } $form->addSelect('dept', $depts); $form->setLabel('dept', 'Department'); //$form->setClass('', 'form-control'); $form->setClass('dept', 'form-control'); // If the user only has one department, select it for them // sizeof($depts) == 2 because of the 'Select Deparmtnet' option if (sizeof($depts) == 2) { $keys = array_keys($depts); $form->setMatch('dept', $keys[1]); } // Student level radio button javascript('jquery'); javascriptMod('intern', 'majorSelector', array('form_id' => $form->id)); $levels = array('-1' => 'Any Level', 'ugrad' => 'Undergraduate', 'grad' => 'Graduate'); $form->addSelect('student_level', $levels); $form->setLabel('student_level', 'Level'); $form->setClass('student_level', 'form-control'); // Student Major dummy box (gets replaced by dropdowns below using JS when student_level is selected) $levels = array('-1' => 'Choose student level first'); $form->addDropBox('student_major', $levels); $form->setLabel('student_major', 'Major / Program'); $form->addCssClass('student_major', 'form-control'); // Undergrad major drop down if (isset($s)) { $majors = Major::getMajorsAssoc($s->ugrad_major); } else { $majors = Major::getMajorsAssoc(); } $form->addSelect('ugrad_major', $majors); $form->setLabel('ugrad_major', 'Undergraduate Majors & Certificate Programs'); $form->setClass('ugrad_major', 'form-control'); // Graduate major drop down if (isset($s)) { $progs = GradProgram::getGradProgsAssoc($s->grad_prog); } else { $progs = GradProgram::getGradProgsAssoc(); } $form->addSelect('grad_prog', $progs); $form->setLabel('grad_prog', 'Graduate Majors & Certificate Programs'); $form->setClass('grad_prog', 'form-control'); // Campus $campuses = array('main_campus' => 'Main Campus', 'distance_ed' => 'Distance Ed'); $form->addRadioAssoc('campus', $campuses); /*************** * Course Info * ***************/ $subjects = Subject::getSubjects(); $form->addSelect('course_subj', $subjects); $form->setLabel('course_subj', 'Subject'); $form->setClass('course_subj', 'form-control'); $form->addText('course_no'); $form->setLabel('course_no', 'Course Number'); $form->setSize('course_no', 6); $form->setMaxSize('course_no', 4); $form->setClass('course_no', 'form-control'); $form->addText('course_sect'); $form->setLabel('course_sect', 'Section'); $form->setSize('course_sect', 6); $form->setMaxSize('course_sect', 4); $form->setClass('course_sect', 'form-control'); // Internship types. $types = Internship::getTypesAssoc(); $form->addRadioAssoc('type', $types); // Location $loc = array('domestic' => 'Domestic', 'internat' => 'International'); $form->addRadioAssoc('loc', $loc); /* State search */ $db = new PHPWS_DB('intern_state'); $db->addWhere('active', 1); $db->addColumn('abbr'); $db->addColumn('full_name'); $db->setIndexBy('abbr'); // get backwards because we flip it $db->addOrder('full_name desc'); $states = $db->select('col'); if (empty($states)) { NQ::simple('intern', INTERN_ERROR, 'The list of allowed US states for internship locations has not been configured. Please use the administrative options to <a href="index.php?module=intern&action=edit_states">add allowed states.</a>'); NQ::close(); PHPWS_Core::goBack(); } $states[-1] = 'Select state'; $states = array_reverse($states, true); $form->addSelect('state', $states); $form->setLabel('state', 'State'); $form->setClass('state', 'form-control'); /* Province search */ $form->addText('prov'); $form->setLabel('prov', 'Province/Territory'); $form->setClass('prov', 'form-control'); // Workflow states $workflowStates = WorkflowStateFactory::getStatesAssoc(); unset($workflowStates['CreationState']); // Remove this state, since it's not valid (internal only state for initial creation) $form->addCheckAssoc('workflow_state', $workflowStates); unset($_REQUEST['module']); unset($_REQUEST['action']); unset($_REQUEST['submit']); //test($_REQUEST,1); $form->plugIn($_REQUEST); $form->addSubmit('submit', 'Search'); // Javascript... javascript('jquery'); javascriptMod('intern', 'resetSearch'); return PHPWS_Template::process($form->getTemplate(), 'intern', 'search.tpl'); }