function getLevelsByHierarchyControlIdAndUserId($id, $user_id) { if ($id == '') { return FALSE; } if ($user_id == '') { return FALSE; } $hllf = new HierarchyLevelListFactory(); return $hllf->getLevelsByHierarchyControlIdAndUserId($id, $user_id); }
function setUser($id) { $id = trim($id); $ulf = new UserListFactory(); $hllf = new HierarchyLevelListFactory(); if ($id != 0 and $this->Validator->isResultSetWithRows('user', $ulf->getByID($id), TTi18n::gettext('Selected Employee is invalid')) and $this->Validator->isNotResultSetWithRows('user', $hllf->getByHierarchyControlIdAndUserId($this->getHierarchyControl(), $id), TTi18n::gettext('Selected employee is assigned as both a superior and subordinate')) and $this->Validator->isTrue('user', $this->isUniqueUser($id), TTi18n::gettext('Selected Employee is already assigned to another hierarchy'))) { $this->data['user_id'] = $id; return TRUE; } return FALSE; }
function getHierarchyLevelDisplay() { $hllf = new HierarchyLevelListFactory(); $hllf->getObjectTypeAndHierarchyAppendedListByCompanyIDAndUserID($this->getCompany(), $this->getID()); if ($hllf->getRecordCount() > 0) { foreach ($hllf as $hl_obj) { if (is_object($hl_obj->getUserObject())) { $hierarchy_control_retval[$hl_obj->getColumn('hierarchy_control_name')][] = $hl_obj->getLevel() . '.' . $hl_obj->getUserObject()->getFullName(); //Don't add space after "." to prevent word wrap after the level. } } if (isset($hierarchy_control_retval)) { $enable_display_hierarchy_control_name = FALSE; if (count($hierarchy_control_retval) > 1) { $enable_display_hierarchy_control_name = TRUE; } $retval = ''; foreach ($hierarchy_control_retval as $hierarchy_control_name => $levels) { if ($enable_display_hierarchy_control_name == TRUE) { $retval .= $hierarchy_control_name . ': [' . implode(', ', $levels) . '] '; //Include space after , so wordwrap can function better. } else { $retval .= implode(', ', $levels); //Include space after , so wordwrap can function better. } } return trim($retval); } } return FALSE; }
/* * Get FORM variables */ extract(FormVariables::GetVariables(array('action', 'page', 'sort_column', 'sort_order', 'ids', 'selected_levels'))); URLBuilder::setURL($_SERVER['SCRIPT_NAME'], array('sort_column' => $sort_column, 'sort_order' => $sort_order, 'page' => $page)); switch ($action) { case 'submit': Debug::Text('Submit!', __FILE__, __LINE__, __METHOD__, 10); default: $sort_array = NULL; if ($sort_column != '') { $sort_array = array(Misc::trimSortPrefix($sort_column) => $sort_order); } $ulf = new UserListFactory(); $hlf = new HierarchyListFactory(); $hllf = new HierarchyLevelListFactory(); $hotlf = new HierarchyObjectTypeListFactory(); if ($permission->Check('request', 'authorize')) { //Debug::Text('Request: Selected Level: '. $selected_levels['request'], __FILE__, __LINE__, __METHOD__,10); $request_levels = $hllf->getLevelsByUserIdAndObjectTypeID($current_user->getId(), 50); Debug::Arr($request_levels, 'Request Levels', __FILE__, __LINE__, __METHOD__, 10); if (isset($selected_levels['request']) and isset($request_levels[$selected_levels['request']])) { $request_selected_level = $request_levels[$selected_levels['request']]; Debug::Text(' Switching Levels to Level: ' . $request_selected_level, __FILE__, __LINE__, __METHOD__, 10); } elseif (isset($request_levels[1])) { $request_selected_level = $request_levels[1]; } else { Debug::Text('No Request Levels... Not in hierarchy?', __FILE__, __LINE__, __METHOD__, 10); $request_selected_level = 0; } Debug::Text('Request Selected Level: ' . $request_selected_level, __FILE__, __LINE__, __METHOD__, 10);
} } } unset($hierarchy_level_data[$hl_id]); } unset($hl_id); } default: if (isset($hierarchy_control_id)) { BreadCrumb::setCrumb($title); $hclf = new HierarchyControlListFactory(); $hclf->getByIdAndCompanyId($hierarchy_control_id, $current_company->getId()); foreach ($hclf as $hierarchy_control) { $hierarchy_control_data = array('id' => $hierarchy_control->getId(), 'name' => $hierarchy_control->getName(), 'description' => $hierarchy_control->getDescription(), 'object_type_ids' => $hierarchy_control->getObjectType(), 'user_ids' => $hierarchy_control->getUser(), 'created_date' => $hierarchy_control->getCreatedDate(), 'created_by' => $hierarchy_control->getCreatedBy(), 'updated_date' => $hierarchy_control->getUpdatedDate(), 'updated_by' => $hierarchy_control->getUpdatedBy(), 'deleted_date' => $hierarchy_control->getDeletedDate(), 'deleted_by' => $hierarchy_control->getDeletedBy()); } $hllf = new HierarchyLevelListFactory(); $hllf->getByHierarchyControlId($hierarchy_control_id); if ($hllf->getRecordCount() > 0) { foreach ($hllf as $hl_obj) { $hierarchy_level_data[] = array('id' => $hl_obj->getId(), 'level' => $hl_obj->getLevel(), 'user_id' => $hl_obj->getUser()); } } else { $hierarchy_level_data[-1] = array('id' => -1, 'level' => 1); } } elseif ($action == 'add_level') { Debug::Text('Adding Blank Level', __FILE__, __LINE__, __METHOD__, 10); if (!isset($hierarchy_level_data) or isset($hierarchy_level_data) and !is_array($hierarchy_level_data)) { //If they delete all weeks and try to add a new one. $hierarchy_level_data[0] = array('id' => -1, 'level' => 0); $row_keys = array_keys($hierarchy_level_data); sort($row_keys);