/** * @param integer $folder_id */ function __construct($folder_id) { if (is_numeric($folder_id)) { global $user; parent::__construct($folder_id); $this->organisation_unit_folder = new FolderIsOrganisationUnitFolder_Access($folder_id); $this->organisation_unit_id = $this->organisation_unit_folder->get_organisation_unit_id(); $organisation_unit = new OrganisationUnit($this->organisation_unit_id); if ($organisation_unit->is_user_in_organisation_unit($user->get_user_id()) == true or $organisation_unit->is_leader_in_organisation_unit($user->get_user_id()) == true or $organisation_unit->is_owner_in_organisation_unit($user->get_user_id()) == true or $organisation_unit->is_quality_manager_in_organisation_unit($user->get_user_id()) == true) { if ($this->read_access == false) { $this->data_entity_permission->set_read_permission(); if ($this->data_entity_permission->is_access(1)) { $this->read_access = true; } } if ($this->write_access == false) { $this->data_entity_permission->set_write_permission(); if ($this->data_entity_permission->is_access(2)) { $this->write_access = true; } } } } else { parent::__construct(null); $this->organisation_unit_folder = null; $this->organisation_unit_id = null; } }
/** * @todo IMPORTANT: remove bad dependency, replace with JS * @throws UserIDMissingException */ public static function add_organisation_unit() { if ($_GET['id']) { if ($_GET['nextpage'] == 1) { if (is_numeric($_POST['ou'])) { $organisation_unit = new OrganisationUnit($_POST['ou']); if ($organisation_unit->is_user_in_organisation_unit($_GET['id']) == true) { $page_1_passed = false; $error = "The user is already member of this organisation unit."; } else { $page_1_passed = true; } } else { $page_1_passed = false; $error = "You must select an organisation unit."; } } elseif ($_GET['nextpage'] > 1) { $page_1_passed = true; } else { $page_1_passed = false; $error = ""; } if ($page_1_passed == false) { $template = new HTMLTemplate("base/user/admin/user/add_organisation_unit.html"); $paramquery = $_GET; $paramquery['nextpage'] = "1"; $params = http_build_query($paramquery, '', '&'); $template->set_var("params", $params); $template->set_var("error", $error); $organisation_unit_array = OrganisationUnit::list_entries(); $result = array(); $counter = 0; foreach ($organisation_unit_array as $key => $value) { $organisation_unit = new OrganisationUnit($value); $result[$counter]['value'] = $value; $result[$counter]['content'] = $organisation_unit->get_name(); $counter++; } $template->set_var("option", $result); $template->output(); } else { $organisation_unit = new OrganisationUnit($_POST['ou']); $paramquery = $_GET; $paramquery['action'] = "detail"; unset($paramquery['nextpage']); $params = http_build_query($paramquery, '', '&'); if ($organisation_unit->create_user_in_organisation_unit($_GET['id'])) { Common_IO::step_proceed($params, "Add Organisation Unit", "Operation Successful", null); } else { Common_IO::step_proceed($params, "Add Organisation Unit", "Operation Failed", null); } } } else { throw new UserIDMissingException(); } }