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;
 }
Example #3
0
 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);