public function __construct($actionurl, $companyid, $departmentid) { global $CFG, $USER; $this->selectedcompany = $companyid; $this->context = context_coursecat::instance($CFG->defaultrequestcategory); $syscontext = context_system::instance(); $company = new company($this->selectedcompany); $parentlevel = company::get_company_parentnode($company->id); $this->companydepartment = $parentlevel->id; if (iomad::has_capability('block/iomad_company_admin:edit_all_departments', $syscontext)) { $userhierarchylevel = $parentlevel->id; } else { $userlevel = company::get_userlevel($USER); $userhierarchylevel = $userlevel->id; } $this->departmentid = $userhierarchylevel; $region = company::get_my_region($userhierarchylevel); $mylocationlist = company::get_my_location($userhierarchylevel); if ($region || $mylocationlist || $userhierarchylevel == $parentlevel->id) { redirect(new moodle_url('/blocks/iomad_company_admin/company_department_create_form.php')); } parent::moodleform($actionurl); }
public function definition() { global $CFG; $mform =& $this->_form; $company = new company($this->selectedcompany); //$regionlist = company::get_all_regions($company->id); $regionlistarr = array(); $parentnode = company::get_company_parentnode($company->id); if ($this->regionid != $parentnode->id) { $regionlist = company::get_my_region($this->regionid); if ($regionlist) { $regionlistarr[$regionlist->id] = '/' . $regionlist->name; } } else { $regionlist = company::get_all_regions($company->id); foreach ($regionlist as $region) { $regionlistarr[$region->id] = '/' . $region->name; } } $department = company::get_departmentbyid($this->departmentid); // Then show the fields about where this block appears. if ($this->action == 0) { $mform->addElement('header', 'header', get_string('createlocation', 'block_iomad_company_admin')); } else { $mform->addElement('header', 'header', get_string('editlocations', 'block_iomad_company_admin')); } $mform->addElement('hidden', 'departmentid', $this->departmentid); $mform->setType('departmentid', PARAM_INT); $mform->addElement('hidden', 'action', $this->action); $mform->setType('action', PARAM_INT); if ($regionlist) { $select = $mform->addElement('select', 'deptid', get_string('region', 'block_iomad_company_admin'), $regionlistarr); //$mform->disabledIf('deptid', 'action', 'eq', 1); } $mform->addElement('text', 'fullname', get_string('fullnamelocation', 'block_iomad_company_admin'), 'maxlength = "254" size = "50"'); $mform->addHelpButton('fullname', 'fullnamelocation', 'block_iomad_company_admin'); $mform->addRule('fullname', get_string('missingfullnamelocation', 'block_iomad_company_admin'), 'required', null, 'client'); $mform->setType('fullname', PARAM_MULTILANG); $mform->addElement('text', 'shortname', get_string('shortnamelocation', 'block_iomad_company_admin'), 'maxlength = "100" size = "20"'); $mform->addHelpButton('shortname', 'shortnamelocation', 'block_iomad_company_admin'); $mform->addRule('shortname', get_string('missingshortnamelocation', 'block_iomad_company_admin'), 'required', null, 'client'); $mform->setType('shortname', PARAM_MULTILANG); if (!$this->departmentid) { $mform->addElement('hidden', 'chosenid', $this->chosenid); } else { $mform->addElement('hidden', 'chosenid', $this->departmentid); } $mform->setType('chosenid', PARAM_INT); $this->add_action_buttons(); }
public function definition() { global $CFG, $USER; $mform =& $this->_form; $company = new company($this->selectedcompany); //$departmentslist = company::get_all_departments($company->id); $departmentlist = array(); if ($this->deptid) { $departmentlist = array(); if ($this->locationid) { $department = company::get_departmentbyid($this->locationid); $departmenttree = company::get_subdepartments($department); $parentlist[$department->id] = array($department->id => '/' . $department->name); $departmentlist = company::array_flatten($parentlist + company::get_subdepartments_list($departmenttree)); } } // Then show the fields about where this block appears. if ($this->action == 0) { $mform->addElement('header', 'header', get_string('createdepartment', 'block_iomad_company_admin')); } else { $mform->addElement('header', 'header', get_string('editdepartments', 'block_iomad_company_admin')); } $regionlist = company::get_all_regions($company->id); $regionlistarr = array('' => get_string('choose')); foreach ($regionlist as $region) { $regionlistarr[$region->id] = $region->name; } $parentnode = company::get_company_parentnode($this->selectedcompany); $context = context_system::instance(); if (iomad::has_capability('block/iomad_company_admin:edit_all_departments', $context)) { $userhierarchylevel = $parentnode->id; } else { $userlevel = company::get_userlevel($USER); $userhierarchylevel = $userlevel->id; } $showregion = 1; $showlocation = 1; if ($parentnode->id != $userhierarchylevel) { $myregion = company::get_my_region($userhierarchylevel); if (!$myregion) { $showregion = 0; } $mylocation = company::get_my_location($userhierarchylevel); if (!$mylocation) { $showlocation = 0; } } $locationlist = array(); if ($this->locationid) { $locationdetail = company::get_departmentbyid($this->locationid); $locationlist[$locationdetail->id] = $locationdetail->name; } $mform->addElement('hidden', 'departmentid', $this->deptid); $mform->setType('departmentid', PARAM_INT); $mform->addElement('hidden', 'deptlocation', $this->locationid); $mform->setType('deptlocation', PARAM_INT); $mform->addElement('hidden', 'action', $this->action); $mform->setType('action', PARAM_INT); if ($showregion) { $mform->addElement('select', 'regionid', get_string('region', 'block_iomad_company_admin'), $regionlistarr); $mform->disabledIf('regionid', 'action', 'eq', 1); } if ($showlocation) { $mform->addElement('select', 'locationid', get_string('location', 'block_iomad_company_admin'), $locationlist); $mform->disabledIf('locationid', 'action', 'eq', 1); } if ($departmentlist) { $attr = array('class' => 'dept_container'); if ($this->disabledeptlist) { $attr['disabled'] = 'disabled'; } $mform->addElement('select', 'deptid', get_string('department', 'block_iomad_company_admin'), $departmentlist, $attr); } $mform->addElement('text', 'fullname', get_string('fullnamedepartment', 'block_iomad_company_admin'), 'maxlength = "254" size = "50"'); $mform->addHelpButton('fullname', 'fullnamedepartment', 'block_iomad_company_admin'); $mform->addRule('fullname', get_string('missingfullnamedepartment', 'block_iomad_company_admin'), 'required', null, 'client'); $mform->setType('fullname', PARAM_MULTILANG); $mform->addElement('text', 'shortname', get_string('shortnamedepartment', 'block_iomad_company_admin'), 'maxlength = "100" size = "20"'); $mform->addHelpButton('shortname', 'shortnamedepartment', 'block_iomad_company_admin'); $mform->addRule('shortname', get_string('missingshortnamedepartment', 'block_iomad_company_admin'), 'required', null, 'client'); $mform->setType('shortname', PARAM_MULTILANG); $mform->addElement('hidden', 'chosenid', $this->chosenid); $mform->setType('chosenid', PARAM_INT); $this->add_action_buttons(); }
public function definition() { global $CFG, $OUTPUT; $mform =& $this->_form; $company = new company($this->selectedcompany); if (!($parentnode = company::get_company_parentnode($company->id))) { // Company has not been set up, possibly from before an upgrade. company::initialise_departments($company->id); } $notcompanymanager = 0; if ($this->departmentid != $parentnode->id) { $regionlist = company::get_my_region($this->departmentid); $notcompanymanager = 1; } else { $regionlist = company::get_all_regions($company->id); } //print_object($regionlist); //die; $companieslist = company::get_companies_select(); // Then show the fields about where this block appears. $mform->addElement('header', 'header', get_string('companyregion', 'block_iomad_company_admin')); //GWL : Remove Company Name //$mform->addElement('select', 'deptid', get_string('company', 'block_iomad_company_admin'), $companieslist); // $mform->addElement('html', $subdepartmenthtml); $regionlisthtml = ''; if (!empty($regionlist)) { $regionlisthtml = "<p>" . get_string('regions', 'block_iomad_company_admin') . "</p>"; $regioncount = 0; if (!$notcompanymanager) { $regionlisthtml = "<div class='locationlist_container checkboxcontainer'>"; foreach ($regionlist as $region) { $regioncount++; $regionlisthtml .= '<input type = "checkbox" name = "regionids[]" value="' . $region->id . '" /> ' . $region->name . '</br>'; } } else { $regionlisthtml .= '<input type = "checkbox" name = "regionids[]" value="' . $regionlist->id . '" /> ' . $regionlist->name . '</br>'; } $regionlisthtml .= '</div>'; if ($this->departmentid == $parentnode->id && $regioncount > 1) { $regionlisthtml .= '<p><br/><input type="checkbox" id="selectallcheckbox" />Select all / Deselect All</p>'; } } else { if (!company::can_manage_department($parentnode->id)) { echo $OUTPUT->header(); echo $OUTPUT->notification(get_string('notaccessregion', 'block_iomad_company_admin')); echo $OUTPUT->footer(); die; } } $mform->addElement('html', $regionlisthtml); $buttonarray = array(); if ($this->departmentid == $parentnode->id) { $buttonarray[] = $mform->createElement('submit', 'create', get_string('createregion', 'block_iomad_company_admin')); } if (!empty($regionlist)) { $buttonarray[] = $mform->createElement('submit', 'edit', get_string('editregions', 'block_iomad_company_admin'), array('class' => 'editdepart')); if ($this->departmentid == $parentnode->id) { $buttonarray[] = $mform->createElement('submit', 'delete', get_string('deleteregion', 'block_iomad_company_admin')); } } $mform->addGroup($buttonarray, '', array(' '), ' ', false); }