예제 #1
0
 $is_owner = $permission->isOwner($user->getCreatedBy(), $user->getId());
 $is_child = $permission->isChild($user->getId(), $permission_children_ids);
 if ($permission->Check('user', 'edit') or $permission->Check('user', 'edit_own') and $is_owner === TRUE or $permission->Check('user', 'edit_child') and $is_child === TRUE) {
     $user_title = NULL;
     if ($user->getTitle() != 0 and is_object($user->getTitleObject())) {
         $user_title = $user->getTitleObject()->getName();
     }
     Debug::Text('Title: ' . $user_title, __FILE__, __LINE__, __METHOD__, 10);
     if ($permission->Check('user', 'view_sin') == TRUE) {
         $sin_number = $user->getSIN();
     } else {
         $sin_number = $user->getSecureSIN();
     }
     $user_data = array('id' => $user->getId(), 'company_id' => $user->getCompany(), 'status' => $user->getStatus(), 'user_name' => $user->getUserName(), 'title_id' => $user->getTitle(), 'title' => $user_title, 'phone_id' => $user->getPhoneId(), 'ibutton_id' => $user->getIbuttonId(), 'employee_number' => $user->getEmployeeNumber(), 'first_name' => $user->getFirstName(), 'middle_name' => $user->getMiddleName(), 'last_name' => $user->getLastName(), 'second_last_name' => $user->getSecondLastName(), 'sex' => $user->getSex(), 'address1' => $user->getAddress1(), 'address2' => $user->getAddress2(), 'city' => $user->getCity(), 'province' => $user->getProvince(), 'country' => $user->getCountry(), 'postal_code' => $user->getPostalCode(), 'work_phone' => $user->getWorkPhone(), 'work_phone_ext' => $user->getWorkPhoneExt(), 'home_phone' => $user->getHomePhone(), 'mobile_phone' => $user->getMobilePhone(), 'fax_phone' => $user->getFaxPhone(), 'home_email' => $user->getHomeEmail(), 'work_email' => $user->getWorkEmail(), 'birth_date' => $user->getBirthDate(), 'hire_date' => $user->getHireDate(), 'termination_date' => $user->getTerminationDate(), 'sin' => $sin_number, 'other_id1' => $user->getOtherID1(), 'other_id2' => $user->getOtherID2(), 'other_id3' => $user->getOtherID3(), 'other_id4' => $user->getOtherID4(), 'other_id5' => $user->getOtherID5(), 'note' => $user->getNote(), 'default_branch_id' => $user->getDefaultBranch(), 'default_department_id' => $user->getDefaultDepartment(), 'group_id' => $user->getGroup(), 'currency_id' => $user->getCurrency(), 'is_owner' => $is_owner, 'is_child' => $is_child, 'created_date' => $user->getCreatedDate(), 'created_by' => $user->getCreatedBy(), 'updated_date' => $user->getUpdatedDate(), 'updated_by' => $user->getUpdatedBy(), 'deleted_date' => $user->getDeletedDate(), 'deleted_by' => $user->getDeletedBy());
     $pclfb = new PermissionControlListFactory();
     $pclfb->getByCompanyIdAndUserId($user->getCompany(), $id);
     if ($pclfb->getRecordCount() > 0) {
         $user_data['permission_control_id'] = $pclfb->getCurrent()->getId();
     }
     $ppslfb = new PayPeriodScheduleListFactory();
     $ppslfb->getByUserId($id);
     if ($ppslfb->getRecordCount() > 0) {
         $user_data['pay_period_schedule_id'] = $ppslfb->getCurrent()->getId();
     }
     $pglf = new PolicyGroupListFactory();
     $pglf->getByUserIds($id);
     if ($pglf->getRecordCount() > 0) {
         $user_data['policy_group_id'] = $pglf->getCurrent()->getId();
     }
     $hclf = new HierarchyControlListFactory();
     $hclf->getObjectTypeAppendedListByCompanyIDAndUserID($user->getCompany(), $user->getID());
예제 #2
0
 $uglf = new UserGroupListFactory();
 $group_options = $uglf->getArrayByNodes(FastTree::FormatArray($uglf->getByCompanyIdArray($current_company->getId()), 'no_tree_text', TRUE));
 //Get default branch list
 $blf = new BranchListFactory();
 $branch_options = $blf->getByCompanyIdArray($current_company->getId());
 $dlf = new DepartmentListFactory();
 $department_options = $dlf->getByCompanyIdArray($current_company->getId());
 $pclf = new PermissionControlListFactory();
 $pclf->getByCompanyId($current_company->getId());
 $permission_control_options = $pclf->getArrayByListFactory($pclf, TRUE);
 $ppslf = new PayPeriodScheduleListFactory();
 $pay_period_schedule_options = $ppslf->getByCompanyIDArray($current_company->getId());
 $pglf = new PolicyGroupListFactory();
 $policy_group_options = $pglf->getByCompanyIDArray($current_company->getId());
 $pclf = new PermissionControlListFactory();
 $pclf->getByCompanyIdAndUserId($current_company->getId(), $filter_data['user_ids']);
 $permission_control_user_map = $pclf->getUserToPermissionControlMapArrayByListFactory($pclf);
 $ppslf = new PayPeriodScheduleListFactory();
 $ppslf->getByCompanyIdAndUserId($current_company->getId(), $filter_data['user_ids']);
 $pay_period_schedule_user_map = $ppslf->getUserToPayPeriodScheduleMapArrayByListFactory($ppslf);
 $pglf = new PolicyGroupListFactory();
 $pglf->getByCompanyIdAndUserId($current_company->getId(), $filter_data['user_ids']);
 $policy_group_user_map = $pglf->getUserToPolicyGroupMapArrayByListFactory($pglf);
 $crlf = new CurrencyListFactory();
 $crlf->getByCompanyId($current_company->getId());
 $currency_options = $crlf->getArrayByListFactory($crlf, FALSE, TRUE);
 $upf = new UserPreferenceFactory();
 $language_options = TTi18n::getLanguageArray();
 $date_format_options = $upf->getOptions('date_format');
 $time_format_options = $upf->getOptions('time_format');
 $time_unit_format_options = $upf->getOptions('time_unit_format');
 //Debug::setVerbosity( 11 );
 Debug::Text('Submit!', __FILE__, __LINE__, __METHOD__, 10);
 $pf = new PermissionFactory();
 $pcf->StartTransaction();
 $pcf->setId($data['id']);
 $pcf->setCompany($current_company->getId());
 $pcf->setName($data['name']);
 $pcf->setDescription($data['description']);
 //Check to make sure the currently logged in user is NEVER in the unassigned
 //user list. This prevents an administrator from accidently un-assigning themselves
 //from a group and losing all permissions.
 if (in_array($current_user->getId(), (array) $src_user_id)) {
     //Check to see if current user is assigned to another permission group.
     $current_user_failed = FALSE;
     $pclf = new PermissionControlListFactory();
     $pclf->getByCompanyIdAndUserId($current_company->getId(), $current_user->getId());
     if ($pclf->getRecordCount() == 0) {
         $current_user_failed = TRUE;
     } else {
         foreach ($pclf as $pc_obj) {
             if ($pc_obj->getId() == $data['id']) {
                 $current_user_failed = TRUE;
             }
         }
     }
     unset($pclf, $pc_obj);
     if ($current_user_failed == TRUE) {
         $pcf->Validator->isTrue('user', FALSE, TTi18n::gettext('You can not unassign yourself from a permission group, assign yourself to a new group instead'));
     }
 }
 if ($pcf->isValid()) {