Example #1
0
	/**
	 * Function to get the Display Value, for the current field type with given DB Insert Value
	 * @param <Object> $value
	 * @return <Object>
	 */
	public function getDisplayValue($values)
	{
		if ($values == NULL && !is_array($values))
			return;
		foreach ($values as $value) {
			if (self::getOwnerType($value) === 'User') {
				$userModel = Users_Record_Model::getCleanInstance('Users');
				$userModel->set('id', $value);
				$detailViewUrl = $userModel->getDetailViewUrl();
				$currentUser = Users_Record_Model::getCurrentUserModel();
				if (!$currentUser->isAdminUser()) {
					return getOwnerName($value);
				}
			} else {
				$currentUser = Users_Record_Model::getCurrentUserModel();
				if (!$currentUser->isAdminUser()) {
					return getOwnerName($value);
				}
				$recordModel = new Settings_Groups_Record_Model();
				$recordModel->set('groupid', $value);
				$detailViewUrl = $recordModel->getDetailViewUrl();
			}
			$displayvalue[] = "<a href=" . $detailViewUrl . ">" . getOwnerName($value) . "</a>&nbsp";
		}
		$displayvalue = implode(',', $displayvalue);
		return $displayvalue;
	}
Example #2
0
	/**
	 * Function to get the Display Value, for the current field type with given DB Insert Value
	 * @param <Object> $value
	 * @return <Object>
	 */
	public function getDisplayValue($values)
	{
		if ($values == '')
			return;

		foreach (Vtiger_Functions::getArrayFromValue($values) as $value) {
			if (Vtiger_Owner_UIType::getOwnerType($value) === 'User') {
				$userModel = Users_Record_Model::getCleanInstance('Users');
				$userModel->set('id', $value);
				$detailViewUrl = $userModel->getDetailViewUrl();
				$currentUser = Users_Record_Model::getCurrentUserModel();
				if ($currentUser->isAdminUser()) {
					$displayvalue[] = '<a href=' . $detailViewUrl . '>' . rtrim(getOwnerName($value)) . '</a>';
				} else {
					$displayvalue[] = rtrim(getOwnerName($value));
				}
			} else {
				$currentUser = Users_Record_Model::getCurrentUserModel();
				if ($currentUser->isAdminUser()) {
					$recordModel = new Settings_Groups_Record_Model();
					$recordModel->set('groupid', $value);
					$detailViewUrl = $recordModel->getDetailViewUrl();
					$displayvalue[] = '<a href=' . $detailViewUrl . '>' . rtrim(getOwnerName($value)) . '</a>';
				} else {
					$displayvalue[] = rtrim(getOwnerName($value));
				}
			}
		}
		$displayvalue = implode(', ', $displayvalue);
		return $displayvalue;
	}
Example #3
0
 /**
  * Function to get the Display Value, for the current field type with given DB Insert Value
  * @param <Object> $value
  * @return <Object>
  */
 public function getDisplayValue($value)
 {
     if (self::getOwnerType($value) === 'User') {
         $userModel = Users_Record_Model::getCleanInstance('Users');
         $userModel->set('id', $value);
         $detailViewUrl = $userModel->getDetailViewUrl();
     } else {
         $currentUser = Users_Record_Model::getCurrentUserModel();
         if (!$currentUser->isAdminUser()) {
             return getOwnerName($value);
         }
         $recordModel = new Settings_Groups_Record_Model();
         $recordModel->set('groupid', $value);
         $detailViewUrl = $recordModel->getDetailViewUrl();
     }
     return "<a href=" . $detailViewUrl . ">" . getOwnerName($value) . "</a>";
 }
Example #4
0
 public function process(Vtiger_Request $request)
 {
     $groupId = $request->get('record');
     $qualifiedModuleName = $request->getModule(false);
     $recordModel = Settings_Groups_Record_Model::getInstance($groupId);
     $viewer = $this->getViewer($request);
     $viewer->assign('RECORD_MODEL', $recordModel);
     $viewer->assign('RECORD_ID', $record);
     $viewer->assign('MODULE', $qualifiedModuleName);
     $viewer->assign('USER_MODEL', Users_Record_Model::getCurrentUserModel());
     $viewer->view('DetailView.tpl', $qualifiedModuleName);
 }
Example #5
0
 public function checkDuplicate(Vtiger_Request $request)
 {
     $groupName = $request->get('groupname');
     $recordId = $request->get('record');
     $recordModel = Settings_Groups_Record_Model::getInstanceByName(decode_html($groupName), array($recordId));
     $response = new Vtiger_Response();
     if (!empty($recordModel)) {
         $response->setResult(array('success' => true, 'message' => vtranslate('LBL_DUPLICATES_EXIST', $request->getModule(false))));
     } else {
         $response->setResult(array('success' => false));
     }
     $response->emit();
 }
Example #6
0
 public function process(Vtiger_Request $request)
 {
     $viewer = $this->getViewer($request);
     $moduleName = $request->getModule();
     $qualifiedModuleName = $request->getModule(false);
     $recordId = $request->get('record');
     $recordModel = Settings_Groups_Record_Model::getInstance($recordId);
     $viewer->assign('MODULE', $moduleName);
     $viewer->assign('QUALIFIED_MODULE', $qualifiedModuleName);
     $viewer->assign('RECORD_MODEL', $recordModel);
     $viewer->assign('ALL_USERS', Users_Record_Model::getAll());
     $viewer->assign('ALL_GROUPS', Settings_Groups_Record_Model::getAll());
     echo $viewer->view('DeleteTransferForm.tpl', $qualifiedModuleName, true);
 }
Example #7
0
 public function process(Vtiger_Request $request)
 {
     $moduleName = $request->getModule();
     $qualifiedModuleName = $request->getModule(false);
     $viewer = $this->getViewer($request);
     $moduleModel = Settings_Vtiger_Module_Model::getInstance($qualifiedModuleName);
     $viewer->assign('PORTAL_URL', vglobal('PORTAL_URL'));
     $viewer->assign('QUALIFIED_MODULE', $qualifiedModuleName);
     $viewer->assign('MODULES_MODELS', $moduleModel->getModulesList());
     $viewer->assign('USER_MODELS', Users_Record_Model::getAll(true));
     $viewer->assign('GROUP_MODELS', Settings_Groups_Record_Model::getAll());
     $viewer->assign('CURRENT_PORTAL_USER', $moduleModel->getCurrentPortalUser());
     $viewer->assign('CURRENT_DEFAULT_ASSIGNEE', $moduleModel->getCurrentDefaultAssignee());
     $viewer->view('Index.tpl', $qualifiedModuleName);
 }
Example #8
0
 public function process(Vtiger_Request $request)
 {
     $viewer = $this->getViewer($request);
     $moduleName = $request->getModule();
     $qualifiedModuleName = $request->getModule(false);
     $record = $request->get('record');
     if (!empty($record)) {
         $recordModel = Settings_Groups_Record_Model::getInstance($record);
         $viewer->assign('MODE', 'edit');
     } else {
         $recordModel = new Settings_Groups_Record_Model();
         $viewer->assign('MODE', '');
     }
     $viewer->assign('MEMBER_GROUPS', Settings_Groups_Member_Model::getAll(false));
     $viewer->assign('RECORD_MODEL', $recordModel);
     $viewer->assign('RECORD_ID', $record);
     $viewer->assign('MODULE', $moduleName);
     $viewer->assign('USER_MODEL', Users_Record_Model::getCurrentUserModel());
     $viewer->view('EditView.tpl', $qualifiedModuleName);
 }
Example #9
0
 public function process(Vtiger_Request $request)
 {
     $moduleName = $request->getModule();
     $qualifiedModuleName = $request->getModule(false);
     $recordId = $request->get('record');
     $transferRecordId = $request->get('transfer_record');
     $moduleModel = Settings_Vtiger_Module_Model::getInstance($qualifiedModuleName);
     $recordModel = Settings_Groups_Record_Model::getInstance($recordId);
     $transferToOwner = Settings_Groups_Record_Model::getInstance($transferRecordId);
     if (!$transferToOwner) {
         $transferToOwner = Users_Record_Model::getInstanceById($transferRecordId, 'Users');
     }
     if ($recordModel && $transferToOwner) {
         $recordModel->delete($transferToOwner);
     }
     $response = new Vtiger_Response();
     $result = array('success' => true);
     $response->setResult($result);
     $response->emit();
 }
Example #10
0
 public function process(Vtiger_Request $request)
 {
     $moduleName = $request->getModule();
     $qualifiedModuleName = $request->getModule(false);
     $recordId = $request->get('record');
     $moduleModel = Settings_Vtiger_Module_Model::getInstance($qualifiedModuleName);
     if (!empty($recordId)) {
         $recordModel = Settings_Groups_Record_Model::getInstance($recordId);
     } else {
         $recordModel = new Settings_Groups_Record_Model();
     }
     if ($recordModel) {
         $recordModel->set('groupname', decode_html($request->get('groupname')));
         $recordModel->set('description', $request->get('description'));
         $recordModel->set('group_members', $request->get('members'));
         $recordModel->set('modules', $request->get('modules'));
         $recordModel->save();
     }
     $redirectUrl = $recordModel->getDetailViewUrl();
     header("Location: {$redirectUrl}");
 }
Example #11
0
 public function Save(Vtiger_Request $request)
 {
     $workflowId = $request->get('for_workflow');
     if (!empty($workflowId)) {
         $record = $request->get('task_id');
         if ($record) {
             $taskRecordModel = Settings_Workflows_TaskRecord_Model::getInstance($record);
         } else {
             $workflowModel = Settings_Workflows_Record_Model::getInstance($workflowId);
             $taskRecordModel = Settings_Workflows_TaskRecord_Model::getCleanInstance($workflowModel, $request->get('taskType'));
         }
         $taskObject = $taskRecordModel->getTaskObject();
         $taskObject->summary = $request->get("summary");
         $active = $request->get("active");
         if ($active == "true") {
             $taskObject->active = true;
         } else {
             if ($active == "false") {
                 $taskObject->active = false;
             }
         }
         $checkSelectDate = $request->get('check_select_date');
         if (!empty($checkSelectDate)) {
             $trigger = array('days' => ($request->get('select_date_direction') == 'after' ? 1 : -1) * (int) $request->get('select_date_days'), 'field' => $request->get('select_date_field'));
             $taskObject->trigger = $trigger;
         } else {
             $taskObject->trigger = null;
         }
         $fieldNames = $taskObject->getFieldNames();
         foreach ($fieldNames as $fieldName) {
             if ($fieldName == 'field_value_mapping') {
                 $taskObject->{$fieldName} = $request->getRaw($fieldName);
             } else {
                 $taskObject->{$fieldName} = $request->get($fieldName);
             }
             if ($fieldName == 'calendar_repeat_limit_date') {
                 $taskObject->{$fieldName} = DateTimeField::convertToDBFormat($request->get($fieldName));
             }
         }
         $taskType = get_class($taskObject);
         if ($taskType === 'VTCreateEntityTask') {
             $relationModuleModel = Vtiger_Module_Model::getInstance($taskObject->entity_type);
             $ownerFieldModels = $relationModuleModel->getFieldsByType('owner');
             $fieldMapping = Zend_Json::decode($taskObject->field_value_mapping);
             foreach ($fieldMapping as $key => $mappingInfo) {
                 if (array_key_exists($mappingInfo['fieldname'], $ownerFieldModels)) {
                     $userRecordModel = Users_Record_Model::getInstanceById($mappingInfo['value'], 'Users');
                     $ownerName = $userRecordModel->get('user_name');
                     if (!$ownerName) {
                         $groupRecordModel = Settings_Groups_Record_Model::getInstance($mappingInfo['value']);
                         $ownerName = $groupRecordModel->getName();
                     }
                     $fieldMapping[$key]['value'] = $ownerName;
                 }
             }
             $taskObject->field_value_mapping = Zend_Json::encode($fieldMapping);
         }
         $taskRecordModel->save();
         $response = new Vtiger_Response();
         $response->setResult(array('for_workflow' => $workflowId));
         $response->emit();
     }
 }
Example #12
0
 /**
  * Function to get all the groups
  * @return <Array> - Array of Settings_Groups_Record_Model instances
  */
 public static function getAll($onlyActive = true)
 {
     $members = array();
     $allUsers = Users_Record_Model::getAll($onlyActive);
     foreach ($allUsers as $userId => $userModel) {
         $qualifiedId = self::getQualifiedId(self::MEMBER_TYPE_USERS, $userId);
         $member = new self();
         $members[self::MEMBER_TYPE_USERS][$qualifiedId] = $member->set('id', $qualifiedId)->set('name', $userModel->getName());
     }
     $allGroups = Settings_Groups_Record_Model::getAll();
     foreach ($allGroups as $groupId => $groupModel) {
         $qualifiedId = self::getQualifiedId(self::MEMBER_TYPE_GROUPS, $groupId);
         $member = new self();
         $members[self::MEMBER_TYPE_GROUPS][$qualifiedId] = $member->set('id', $qualifiedId)->set('name', $groupModel->getName());
     }
     $allRoles = Settings_Roles_Record_Model::getAll();
     foreach ($allRoles as $roleId => $roleModel) {
         $qualifiedId = self::getQualifiedId(self::MEMBER_TYPE_ROLES, $roleId);
         $member = new self();
         $members[self::MEMBER_TYPE_ROLES][$qualifiedId] = $member->set('id', $qualifiedId)->set('name', $roleModel->getName());
         $qualifiedId = self::getQualifiedId(self::MEMBER_TYPE_ROLE_AND_SUBORDINATES, $roleId);
         $member = new self();
         $members[self::MEMBER_TYPE_ROLE_AND_SUBORDINATES][$qualifiedId] = $member->set('id', $qualifiedId)->set('name', $roleModel->getName());
     }
     return $members;
 }
Example #13
0
	/**
	 * Function to get Owner name for ownerId
	 * @param <Integer> $ownerId
	 * @return <String> $ownerName
	 */
	public static function getOwnerName($ownerId) {
		$cache = Vtiger_Cache::getInstance();
		if ($cache->hasOwnerDbName($ownerId)) {
			return $cache->getOwnerDbName($ownerId);
		}

		$ownerModel = Users_Record_Model::getInstanceById($ownerId, 'Users');
		$userName = $ownerModel->get('user_name');
        $ownerName = '';
		if ($userName) {
			$ownerName = $userName;
		} else {
			$ownerModel = Settings_Groups_Record_Model::getInstance($ownerId);
            if(!empty($ownerModel)) {
				$ownerName = $ownerModel->getName();
            }
		}
        if(!empty($ownerName)) {
		$cache->setOwnerDbName($ownerId, $ownerName);
        }
		return $ownerName;
	}
 function buildDocumentModel()
 {
     global $adb;
     $model = new Vtiger_PDF_Model();
     if (isset($this->focus->column_fields["spcompany"]) && $this->focus->column_fields["spcompany"] != '') {
         $selfcompany = html_entity_decode($this->focus->column_fields["spcompany"], ENT_QUOTES, 'UTF-8');
     } else {
         $selfcompany = "Default";
     }
     // Company information
     $result = $adb->pquery("SELECT * FROM vtiger_organizationdetails WHERE company=?", array($selfcompany));
     $num_rows = $adb->num_rows($result);
     if ($num_rows) {
         $resultrow = $adb->fetch_array($result);
         $model->set('orgAddress', $adb->query_result($result, 0, "address"));
         $model->set('orgCity', $adb->query_result($result, 0, "city"));
         $model->set('orgState', $adb->query_result($result, 0, "state"));
         $model->set('orgCountry', $adb->query_result($result, 0, "country"));
         $model->set('orgCode', $adb->query_result($result, 0, "code"));
         $model->set('orgBillingAddress', implode(', ', array($adb->query_result($result, 0, "code"), $adb->query_result($result, 0, "city"), $adb->query_result($result, 0, "address"))));
         $model->set('orgPhone', $adb->query_result($result, 0, "phone"));
         $model->set('orgFax', $adb->query_result($result, 0, "fax"));
         $model->set('orgWebsite', $adb->query_result($result, 0, "website"));
         $model->set('orgInn', $adb->query_result($result, 0, "inn"));
         $model->set('orgKpp', $adb->query_result($result, 0, "kpp"));
         $model->set('orgBankAccount', $adb->query_result($result, 0, "bankaccount"));
         $model->set('orgBankName', $adb->query_result($result, 0, 'bankname'));
         $model->set('orgBankId', $adb->query_result($result, 0, 'bankid'));
         $model->set('orgCorrAccount', $adb->query_result($result, 0, 'corraccount'));
         $model->set('orgOKPO', $adb->query_result($result, 0, "okpo"));
         if ($adb->query_result($result, 0, 'director')) {
             $model->set('orgDirector', $adb->query_result($result, 0, 'director'));
         } else {
             $model->set('orgDirector', str_repeat('_', 15));
         }
         if ($adb->query_result($result, 0, 'bookkeeper')) {
             $model->set('orgBookkeeper', $adb->query_result($result, 0, 'bookkeeper'));
         } else {
             $model->set('orgBookkeeper', str_repeat('_', 15));
         }
         if ($adb->query_result($result, 0, 'entrepreneur')) {
             $model->set('orgEntrepreneur', $adb->query_result($result, 0, 'entrepreneur'));
         } else {
             $model->set('orgEntrepreneur', str_repeat('_', 15));
         }
         if ($adb->query_result($result, 0, 'entrepreneurreg')) {
             $model->set('orgEntrepreneurreg', $adb->query_result($result, 0, 'entrepreneurreg'));
         } else {
             $model->set('orgEntrepreneurreg', str_repeat('_', 50));
         }
         $model->set('orgLogo', '<img src="test/logo/' . $resultrow['logoname'] . '" />');
         $model->set('orgLogoPath', 'test/logo/' . $resultrow['logoname']);
         $model->set('orgName', decode_html($resultrow['organizationname']));
     }
     $model->set('billingAddress', $this->buildHeaderBillingAddress());
     $model->set('shippingAddress', $this->buildHeaderShippingAddress());
     // Add owner info into model
     if (isset($this->focus->column_fields['record_id']) && $this->focus->column_fields['record_id'] != '') {
         $ownerArr = getRecordOwnerId($this->focus->column_fields['record_id']);
         if (isset($ownerArr['Users'])) {
             $userEntity = new Users();
             $userEntity->retrieve_entity_info($ownerArr['Users'], 'Users');
             $this->generateEntityModel($userEntity, 'Users', 'owner_', $model);
         }
         if (isset($ownerArr['Groups'])) {
             $groupInstance = Settings_Groups_Record_Model::getInstance($ownerArr['Groups']);
             $model->set('owner_groupid', $groupInstance->getId());
             $model->set('owner_groupname', $groupInstance->getName());
             $model->set('owner_description', $groupInstance->getDescription());
         }
     }
     return $model;
 }
Example #15
0
 /**
  * Function to get all users related to this group
  * @param <Boolean> $nonAdmin true/false
  * @return <Array> Users models list <Users_Record_Model>
  */
 public function getUsersList($nonAdmin = false)
 {
     $userIdsList = $usersList = array();
     $members = $this->getMembers();
     foreach ($members['Users'] as $memberModel) {
         $userId = $memberModel->get('userId');
         $userIdsList[$userId] = $userId;
     }
     foreach ($members['Groups'] as $memberModel) {
         $groupModel = Settings_Groups_Record_Model::getInstance($memberModel->get('groupId'));
         $groupMembers = $groupModel->getMembers();
         foreach ($groupMembers['Users'] as $groupMemberModel) {
             $userId = $groupMemberModel->get('userId');
             $userIdsList[$userId] = $userId;
         }
     }
     foreach ($members['Roles'] as $memberModel) {
         $roleModel = new Settings_Roles_Record_Model();
         $roleModel->set('roleid', $memberModel->get('roleId'));
         $roleUsers = $roleModel->getUsers();
         foreach ($roleUsers as $userId => $userRecordModel) {
             $userIdsList[$userId] = $userId;
         }
     }
     foreach ($members['RoleAndSubordinates'] as $memberModel) {
         $roleModel = new Settings_Roles_Record_Model();
         $roleModel->set('roleid', $memberModel->get('roleId'));
         $roleUsers = $roleModel->getUsers();
         foreach ($roleUsers as $userId => $userRecordModel) {
             $userIdsList[$userId] = $userId;
         }
     }
     if (array_key_exists(1, $userIdsList)) {
         unset($userIdsList[1]);
     }
     foreach ($userIdsList as $userId) {
         $userRecordModel = Users_Record_Model::getInstanceById($userId, 'Users');
         if ($nonAdmin && $userRecordModel->isAdminUser()) {
             continue;
         }
         $usersList[$userId] = $userRecordModel;
     }
     return $usersList;
 }
Example #16
0
    public function process(Vtiger_Request $request)
    {
        $currentUser = Users_Record_Model::getCurrentUserModel();
        $viewer = $this->getViewer($request);
        $moduleName = $request->getModule();
        $qualifiedModuleName = $request->getModule(false);
        $recordId = $request->get('task_id');
        $workflowId = $request->get('for_workflow');
        $workflowModel = Settings_Workflows_Record_Model::getInstance($workflowId);
        $taskTypes = $workflowModel->getTaskTypes();
        if ($recordId) {
            $taskModel = Settings_Workflows_TaskRecord_Model::getInstance($recordId);
        } else {
            $taskType = $request->get('type');
            if (empty($taskType)) {
                $taskType = !empty($taskTypes[0]) ? $taskTypes[0]->getName() : 'VTEmailTask';
            }
            $taskModel = Settings_Workflows_TaskRecord_Model::getCleanInstance($workflowModel, $taskType);
        }
        $taskTypeModel = $taskModel->getTaskType();
        $viewer->assign('TASK_TYPE_MODEL', $taskTypeModel);
        $viewer->assign('TASK_TEMPLATE_PATH', $taskTypeModel->getTemplatePath());
        $recordStructureInstance = Settings_Workflows_RecordStructure_Model::getInstanceForWorkFlowModule($workflowModel, Settings_Workflows_RecordStructure_Model::RECORD_STRUCTURE_MODE_EDITTASK);
        $viewer->assign('RECORD_STRUCTURE_MODEL', $recordStructureInstance);
        $viewer->assign('RECORD_STRUCTURE', $recordStructureInstance->getStructure());
        $moduleModel = $workflowModel->getModule();
        $dateTimeFields = $moduleModel->getFieldsByType(array('date', 'datetime'));
        $taskObject = $taskModel->getTaskObject();
        $taskType = get_class($taskObject);
        if ($taskType === 'VTCreateEntityTask') {
            if ($taskObject->entity_type) {
                $relationModuleModel = Vtiger_Module_Model::getInstance($taskObject->entity_type);
                $ownerFieldModels = $relationModuleModel->getFieldsByType('owner');
                $fieldMapping = Zend_Json::decode($taskObject->field_value_mapping);
                foreach ($fieldMapping as $key => $mappingInfo) {
                    if (array_key_exists($mappingInfo['fieldname'], $ownerFieldModels)) {
                        $userRecordModel = Users_Record_Model::getInstanceByName($mappingInfo['value']);
                        if ($userRecordModel) {
                            $ownerName = $userRecordModel->getId();
                        } else {
                            $groupRecordModel = Settings_Groups_Record_Model::getInstance($mappingInfo['value']);
                            $ownerName = $groupRecordModel->getId();
                        }
                        $fieldMapping[$key]['value'] = $ownerName;
                    }
                }
                $taskObject->field_value_mapping = Zend_Json::encode($fieldMapping);
            }
        }
        if ($taskType === 'VTUpdateFieldsTask') {
            if ($moduleModel->getName() == "Documents") {
                $restrictFields = array('folderid', 'filename', 'filelocationtype');
                $viewer->assign('RESTRICTFIELDS', $restrictFields);
            }
        }
        $viewer->assign('SOURCE_MODULE', $moduleModel->getName());
        $viewer->assign('MODULE_MODEL', $moduleModel);
        $viewer->assign('TASK_ID', $recordId);
        $viewer->assign('WORKFLOW_ID', $workflowId);
        $viewer->assign('DATETIME_FIELDS', $dateTimeFields);
        $viewer->assign('WORKFLOW_MODEL', $workflowModel);
        $viewer->assign('TASK_TYPES', $taskTypes);
        $viewer->assign('TASK_MODEL', $taskModel);
        $viewer->assign('CURRENTDATE', date('Y-n-j'));
        $metaVariables = Settings_Workflows_Module_Model::getMetaVariables();
        if ($moduleModel->getName() == 'Invoice' || $moduleModel->getName() == 'Quotes') {
            $metaVariables['Portal Pdf Url'] = '(general : (__VtigerMeta__) portalpdfurl)';
        }
        // Adding option Line Item block for Individual tax mode
        $individualTaxBlockLabel = vtranslate("LBL_LINEITEM_BLOCK_GROUP", $qualifiedModuleName);
        $individualTaxBlockValue = $viewer->view('LineItemsGroupTemplate.tpl', $qualifiedModuleName, $fetch = true);
        // Adding option Line Item block for group tax mode
        $groupTaxBlockLabel = vtranslate("LBL_LINEITEM_BLOCK_INDIVIDUAL", $qualifiedModuleName);
        $groupTaxBlockValue = $viewer->view('LineItemsIndividualTemplate.tpl', $qualifiedModuleName, $fetch = true);
        $templateVariables = array($individualTaxBlockValue => $individualTaxBlockLabel, $groupTaxBlockValue => $groupTaxBlockLabel);
        $viewer->assign('META_VARIABLES', $metaVariables);
        $viewer->assign('TEMPLATE_VARIABLES', $templateVariables);
        $viewer->assign('TASK_OBJECT', $taskObject);
        $viewer->assign('FIELD_EXPRESSIONS', Settings_Workflows_Module_Model::getExpressions());
        $repeat_date = $taskModel->getTaskObject()->calendar_repeat_limit_date;
        if (!empty($repeat_date)) {
            $repeat_date = Vtiger_Date_UIType::getDisplayDateValue($repeat_date);
        }
        $viewer->assign('REPEAT_DATE', $repeat_date);
        $userModel = Users_Record_Model::getCurrentUserModel();
        $viewer->assign('dateFormat', $userModel->get('date_format'));
        $viewer->assign('timeFormat', $userModel->get('hour_format'));
        $viewer->assign('MODULE', $moduleName);
        $viewer->assign('QUALIFIED_MODULE', $qualifiedModuleName);
        $emailFields = $recordStructureInstance->getAllEmailFields();
        foreach ($emailFields as $metaKey => $emailField) {
            $emailFieldoptions .= '<option value=",$' . $metaKey . '">' . $emailField->get('workflow_columnlabel') . '</option>';
        }
        $nameFields = $recordStructureInstance->getNameFields();
        $fromEmailFieldOptions = '<option value="">' . vtranslate('Optional', $qualifiedModuleName) . '</option>';
        $fromEmailFieldOptions .= '<option value="$(general : (__VtigerMeta__) supportName)<$(general : (__VtigerMeta__) supportEmailId)>"
									>' . vtranslate('LBL_HELPDESK_SUPPORT_EMAILID', $qualifiedModuleName) . '</option>';
        foreach ($emailFields as $metaKey => $emailField) {
            list($relationFieldName, $rest) = explode(' ', $metaKey);
            $value = '<$' . $metaKey . '>';
            if ($nameFields) {
                $nameFieldValues = '';
                foreach (array_keys($nameFields) as $fieldName) {
                    if (strstr($fieldName, $relationFieldName) || count(explode(' ', $metaKey)) === 1 && count(explode(' ', $fieldName)) === 1) {
                        $fieldName = '$' . $fieldName;
                        $nameFieldValues .= ' ' . $fieldName;
                    }
                }
                $value = trim($nameFieldValues) . $value;
            }
            $fromEmailFieldOptions .= '<option value="' . $value . '">' . $emailField->get('workflow_columnlabel') . '</option>';
        }
        $structure = $recordStructureInstance->getStructure();
        // for inventory modules we shouldn't show item detail fields
        if ($taskType == "VTEmailTask" && in_array($workflowModel->getModule()->name, getInventoryModules())) {
            $itemsBlock = "LBL_ITEM_DETAILS";
            unset($structure[$itemsBlock]);
        }
        foreach ($structure as $fields) {
            foreach ($fields as $field) {
                $allFieldoptions .= '<option value="$' . $field->get('workflow_columnname') . '">' . $field->get('workflow_columnlabel') . '</option>';
            }
        }
        $userList = $currentUser->getAccessibleUsers();
        $groupList = $currentUser->getAccessibleGroups();
        $assignedToValues = array();
        $assignedToValues[vtranslate('LBL_USERS', 'Vtiger')] = $userList;
        $assignedToValues[vtranslate('LBL_GROUPS', 'Vtiger')] = $groupList;
        $viewer->assign('ASSIGNED_TO', $assignedToValues);
        $viewer->assign('EMAIL_FIELD_OPTION', $emailFieldoptions);
        $viewer->assign('FROM_EMAIL_FIELD_OPTION', $fromEmailFieldOptions);
        $viewer->assign('ALL_FIELD_OPTIONS', $allFieldoptions);
        $viewer->view('EditTask.tpl', $qualifiedModuleName);
    }
Example #17
0
 /**
  * Function to get all the rule members
  * @return <Array> - Array of Settings_SharingAccess_RuleMember_Model instances
  */
 public static function getAll()
 {
     $rules = [];
     $allGroups = Settings_Groups_Record_Model::getAll();
     foreach ($allGroups as $groupId => $groupModel) {
         $qualifiedId = self::getQualifiedId(self::RULE_MEMBER_TYPE_GROUPS, $groupId);
         $rule = new self();
         $rules[self::RULE_MEMBER_TYPE_GROUPS][$qualifiedId] = $rule->set('id', $qualifiedId)->set('name', $groupModel->getName());
     }
     $allRoles = Settings_Roles_Record_Model::getAll();
     foreach ($allRoles as $roleId => $roleModel) {
         $qualifiedId = self::getQualifiedId(self::RULE_MEMBER_TYPE_ROLES, $roleId);
         $rule = new self();
         $rules[self::RULE_MEMBER_TYPE_ROLES][$qualifiedId] = $rule->set('id', $qualifiedId)->set('name', $roleModel->getName());
         $qualifiedId = self::getQualifiedId(self::RULE_MEMBER_TYPE_ROLE_AND_SUBORDINATES, $roleId);
         $rule = new self();
         $rules[self::RULE_MEMBER_TYPE_ROLE_AND_SUBORDINATES][$qualifiedId] = $rule->set('id', $qualifiedId)->set('name', $roleModel->getName());
     }
     $allUsers = Users_Record_Model::getAll();
     foreach ($allUsers as $userId => $userModel) {
         $qualifiedId = self::getQualifiedId(self::RULE_MEMBER_TYPE_USERS, $userId);
         $rule = new self();
         $rules[self::RULE_MEMBER_TYPE_USERS][$qualifiedId] = $rule->set('id', $qualifiedId)->set('name', $userModel->getDisplayName());
     }
     return $rules;
 }