/** * @param string $formXml - unknown please comment * @param unknown $handler - please comment * @param unknown $formCollection - please comment * @param unknown $fields - please comment * @param unknown $filter - please comment * @see \Base\Controller\BaseController::formServiceHelper() * @return void */ protected function formServiceHelper($formXml, $handler, $formCollection, $fields, $filter = false) { $browserTabId = $this->params()->fromPost('browserTabId', ''); $id = $this->params('id', false); $windowId = $this->params('windowId', false); $function = $this->params()->fromPost('fucntion', 'updateGridSelect'); $status = $this->params()->fromPost('label_status', false); $listFun = 'getList'; $control = ''; if ($id) { $form = file_get_contents('public/' . $formXml); $response = new Response($form); $mapping = $response->getData(); if ($filter) { $data = array('fields' => $fields, 'searchFilters' => $filter); } else { //Code added by Usman shah for status reason if (isset($status) && !empty($status)) { $control = 'status'; $data = array('fields' => array('statusReason'), 'searchFilters' => ['groupOp' => 'and', 'rules' => [['data' => $status, 'op' => 'eq', 'field' => 'id'], ['data' => 1, 'op' => 'cn', 'field' => 'reason']]]); $listFun = 'getEmbed'; //add id and name fields for dropdown $data['embedFields'] = array('id' => 'id', 'name' => 'reasonName', 'order' => 'reasonOrder'); } else { $data = array('fields' => $fields); } } $messageId = $this->_message->addAction($this->defaultQueue, $listFun, $data, $handler); $data = array('channel' => array('tab_' . $browserTabId), 'message' => array('id' => $id, 'windowId' => $windowId, 'key' => $fields[0], 'control' => $control, 'value' => $fields[1], 'pagerId' => $this->params()->fromPost('pagerId', false), 'listData_attr' => array('xpath' => '//response/action[@id="' . $messageId . '"]/data/rows')), 'jsFunction' => $function, 'jsClass' => 'baseView'); $this->_message->addAction('response', 'send', $data, 'SocketResponse'); } $this->queue($this->_message); }
protected function viewHelper($formXml, $handler, $formCollection, $tabTitle = 'surname') { $browserTabId = $this->params()->fromPost('browserTabId', ''); $id = $this->params('id', false); $windowId = $this->params('windowId', false); if ($this->params('id', false)) { $form = file_get_contents('public/' . $formXml); $response = new Response($form); if (is_array($formCollection)) { $fields = array(); foreach ($formCollection as $collection) { $fields = array_replace_recursive($fields, $response->getCollection($collection)); } } else { $fields = $response->getCollection($formCollection); } // add // the // answers $fields['fields']['answers'] = array('document' => 'MoveIn4FormPortal\\Document\\FormPortalAnswerDocument', 'fields' => array('data' => 'data', 'formId' => 'formId', 'lang' => 'lang')); $data = array('id' => $this->params('id'), 'fields' => $fields['fields'], 'display' => 'true'); $messageId = $this->_message->addAction($this->defaultQueue, 'getOne', $data, $handler); //get the formconfig row to get the filename of the translation xml file $data = array('id_attr' => array('xpath' => '//response/action[@id="' . $messageId . '"]/data/fields/answers/formId'), 'fields' => array('translationXml')); $formConfig = $this->_message->addAction($this->defaultQueue, 'getOne', $data, 'MoveIn4FormConfig\\Model\\FormConfig'); $data = array('values' => array('values_attr' => array('xpath' => '//response/action[@id="' . $messageId . '"]/data/fields/answers'))); $formMessageId = $this->_message->addAction($this->defaultQueue, 'getFormUploadFields', $data, 'MoveIn4FormConfig\\Model\\FormConfig'); $config = $this->getServiceLocator()->get('config'); $data = array('channel' => array('tab_' . $browserTabId), 'message' => array('windowId' => $windowId, 'viewModelFunction' => array(array('functionName' => 'addTab', 'viewModelFunctionData' => array('tabTitle_attr' => array('xpath' => '//response/action[@id="' . $messageId . '"]/data/fields/' . $tabTitle), 'template' => 'viewTemplate', 'tabClosable' => 'true', 'tabId' => $id, 'tabFunction' => 'view', 'tabData' => array('application' => array('formTranslationXML_attr' => array('xpath' => '//response/action[@id="' . $formConfig . '"]/data/fields/translationXml'), 'files_attr' => array('xpath' => '//response/action[@id="' . $formMessageId . '"]/data/fields'), 'values_attr' => array('xpath' => '//response/action[@id="' . $messageId . '"]/data/fields'), 'moveIn4FormPortalPDFViewUrlMask' => $config['moveIn4FormPortalPDFViewUrlMask'], 'instanceName' => getenv('APPLICATION_INSTANCE')), 'sections' => array(array('section' => array('template' => 'simpleListSection', 'column' => 1, 'sectionData' => array('title' => 'label_personal_details', 'dataSet' => array(array('structure' => $fields['structure']['person'], 'fields' => array('countryOfBirth', 'dateOfBirth', 'firstName', 'gender', 'placeOfBirth', 'surname', 'title'), 'values_attr' => array('xpath' => '//response/action[@id="' . $messageId . '"]/data/fields')))))), array('section' => array('template' => 'commaListSection', 'column' => 1, 'sectionData' => array('dataSet' => array(array('structure' => $fields['structure']['nationality'], 'parent' => 'nationality', 'fields' => array('nationality'), 'values_attr' => array('xpath' => '//response/action[@id="' . $messageId . '"]/data/fields')))))), array('section' => array('template' => 'photoSection', 'column' => 0, 'sectionData' => array('title' => 'label_personal_details', 'dataSet' => array(array('structure' => $fields['structure']['person2'], 'fields' => array('photo'), 'values_attr' => array('xpath' => '//response/action[@id="' . $messageId . '"]/data/fields')))))), array('section' => array('template' => 'simpleListSection', 'column' => 1, 'sectionData' => array('title' => 'label_contact_details', 'dataSet' => array(array('structure' => $fields['structure']['socialMediaProfile'], 'parent' => 'socialMediaProfile', 'fields' => array('socialMedia', 'url'), 'values_attr' => array('xpath' => '//response/action[@id="' . $messageId . '"]/data/fields')), array('structure' => $fields['structure']['instantMessaging'], 'parent' => 'instantMessaging', 'fields' => array('service', 'userId'), 'values_attr' => array('xpath' => '//response/action[@id="' . $messageId . '"]/data/fields')), array('structure' => $fields['structure']['email'], 'parent' => 'email', 'fields' => array('email'), 'values_attr' => array('xpath' => '//response/action[@id="' . $messageId . '"]/data/fields')), array('structure' => $fields['structure']['phoneNumber'], 'parent' => 'phoneNumber', 'fields' => array('number', 'type'), 'values_attr' => array('xpath' => '//response/action[@id="' . $messageId . '"]/data/fields')), array('structure' => $fields['structure']['address'], 'parent' => 'address', 'fields' => array('city', 'co', 'country', 'createdOn', 'deleted', 'postCode', 'remarks', 'state', 'street1', 'street2'), 'values_attr' => array('xpath' => '//response/action[@id="' . $messageId . '"]/data/fields')))))), array('section' => array('template' => 'simpleListSection', 'column' => 2, 'sectionData' => array('title' => 'label_lead', 'dataSet' => array(array('structure' => $fields['structure']['lead'], 'parent' => 'lead', 'fields' => array('capturedOn', 'generatingTool', 'source1', 'source2'), 'values_attr' => array('xpath' => '//response/action[@id="' . $messageId . '"]/data/fields')))))), array('section' => array('template' => 'simpleListSection', 'column' => 2, 'sectionData' => array('title' => 'label_opportunity', 'dataSet' => array(array('structure' => $fields['structure']['opportunity'], 'parent' => 'opportunity', 'fields' => array('programType', 'program', 'interest', 'lead', 'levelOfEngagement', 'person', 'relevance'), 'values_attr' => array('xpath' => '//response/action[@id="' . $messageId . '"]/data/fields')))))), array('section' => array('template' => 'scocialMessagingSection', 'column' => 0, 'sectionData' => array('title' => 'label_scocal_messagning', 'dataSet' => array(array('structure' => $fields['structure']['instantMessaging'], 'parent' => 'instantMessaging', 'fields' => array('service', 'userId'), 'values_attr' => array('xpath' => '//response/action[@id="' . $messageId . '"]/data/fields')), array('structure' => $fields['structure']['socialMediaProfile'], 'parent' => 'socialMediaProfile', 'fields' => array('socialMedia', 'url'), 'values_attr' => array('xpath' => '//response/action[@id="' . $messageId . '"]/data/fields')))))), array('section' => array('template' => 'tagsSection', 'column' => 0, 'sectionData' => array('title' => 'entity_groups', 'dataSet' => array(array('structure' => $fields['structure']['group'], 'parent' => 'group', 'fields' => array('group'), 'values_attr' => array('xpath' => '//response/action[@id="' . $messageId . '"]/data/fields')))))))))))), 'jsFunction' => 'viewModelFunctions', 'jsClass' => 'knockout'); $this->_message->addAction('response', 'send', $data, 'SocketResponse'); $data = array('channel' => array('tab_' . $browserTabId), 'message' => array('file' => 'file_523980f0bdfde-trimformtrans.xml'), 'jsFunction' => 'translate', 'jsClass' => 'translator'); // $this->_message->addAction('response', 'send', $data,'SocketResponse'); $this->queue($this->_message); } }
/** * Edits activities of person-details * @param string $formXml forms xml * @param string $handler Model name * @param string $formCollection CollectionName * @param string $create create * @param string $tabImage Tab name * @param string $readMode readMode * @author Mudassar Ali * @return string * @see \Base\Controller\BaseController::editHelper() */ protected function editHelper($formXml, $handler, $formCollection, $create = 0, $tabImage = null, $readMode = 'getOne') { $browserTabId = $this->params()->fromPost('browserTabId', ''); $id = $this->params('id', false); $windowId = $this->params()->fromPost('windowId', false); if ($id) { $form = file_get_contents('public/' . $formXml); $response = new Response($form); if (is_array($formCollection)) { $formCollection = $formCollection[0]; } $fields = $response->getData(); if ($formCollection == 'formType') { $fields['fields']['label_lockedRecord'] = 'lockedRecord'; } $formData = array('structure' => $fields['structure']); if ($id != 'new') { $data = array('id' => $this->params('id'), 'fields' => $fields['fields'], 'structure' => $fields['structure'], 'dbRef' => isset($fields['dbRef']) ? $fields['dbRef'] : [], 'create' => $create); $messageId = $this->_message->addAction($this->defaultQueue, $readMode, $data, $handler); $formData['data_attr'] = array('xpath' => '//response/action[@id="' . $messageId . '"]/data/fields'); } else { $formData['data'] = ''; } $data = array('channel' => array('tab_' . $browserTabId), 'message' => array('windowId' => $windowId, 'template' => 'fromTemplate', 'tabData' => array('formData' => $formData, 'formXml' => $formXml, 'tabImage' => $tabImage, 'formOptions' => array('formActionAppend' => array($browserTabId, $windowId, $id)))), 'jsFunction' => 'singlePageView', 'jsClass' => 'baseView'); $this->_message->addAction('response', 'send', $data, 'SocketResponse'); $this->queue($this->_message); } }
/** * edit opportunity source * @return \Zend\Stdlib\ResponseInterface */ public function editOpportunityAction() { $this->_formXml = 'templates/opportunity/forms/singleOpportunity.xml'; $browserTabId = $this->params()->fromPost('browserTabId', ''); $id = $this->params('id', false); $parentId = $this->params()->fromPost('parentId', false); $personId = $this->params()->fromPost('personId', false); $leadId = $this->params()->fromPost('leadId', false); $windowId = $this->params()->fromPost('windowId', false); $serverFunction = $this->params()->fromPost('serverFunction'); $formCollection = $this->_formCollection; if (is_array($formCollection)) { $formCollection = $formCollection[0]; } $form = file_get_contents('public/' . $this->_formXml); $response = new Response($form); $fields = $response->getData(); if ($formCollection == 'formType') { $fields['fields']['label_lockedRecord'] = 'lockedRecord'; } $formData = array('structure' => $fields['structure']); $filter = []; // get the lead if ($id != 'new') { $data = array('propertyId' => $this->params('id'), 'property' => 'opportunity', 'fields' => array('id', 'opportunity'), 'filters' => array("_id" => $personId), 'structure' => $fields['structure'], 'dbRef' => isset($fields['dbRef']) ? $fields['dbRef'] : [], 'create' => false); $messageId = $this->_message->addAction($this->defaultQueue, 'getOne', $data, $this->_handler); $formData['data_attr'] = array('xpath' => '//response/action[@id="' . $messageId . '"]/data/fields'); } else { $formData['data'] = array('id' => $parentId); $filter = ['_MONGODB_DOLLAR_SIGN_and' => [['_id._MONGODB_DOLLAR_SIGN_id' => 'MongoId:' . $personId], ['lead.id._MONGODB_DOLLAR_SIGN_id' => 'MongoId:' . $leadId]]]; $data = array('id' => $personId, 'leadId' => $leadId, 'propertyId' => $this->params('id'), 'property' => 'opportunity', 'fields' => array('id', 'lead', 'lead.degreeType', 'lead.intake', 'lead.programme', 'lead.sourceShort'), 'filters' => $filter, 'create' => false); if ($leadId && !empty($serverFunction)) { $messageId = $this->_message->addAction($this->defaultQueue, $serverFunction, $data, $this->_handler); $formData['data_attr'] = array('xpath' => '//response/action[@id="' . $messageId . '"]/data/fields'); } } $data = array('channel' => array('tab_' . $browserTabId), 'message' => array('windowId' => $windowId, 'template' => 'fromTemplate', 'tabData' => array('formData' => $formData + ['tabId' => $browserTabId], 'formXml' => $this->_formXml, 'formOptions' => array('formActionAppend' => array($browserTabId, $windowId, $id))), 'opportunityId' => $id), 'jsFunction' => $this->params()->fromPost('jsFunction', 'singlePageView'), 'jsClass' => $this->params()->fromPost('jsClass', 'baseView')); $this->_message->addAction('response', 'send', $data, 'SocketResponse'); // render the form $this->queue($this->_message); return $this->setresponse(); }
/** * load application config data before render form. * @return string */ public function loadApplicationConfigAction() { $this->_formXml = 'templates/applicationConfig/forms/edit.xml'; $browserTabId = $this->params()->fromPost('browserTabId', ''); $id = 1; $windowId = $this->params()->fromPost('windowId', false); $formCollection = $this->_formCollection; if (is_array($formCollection)) { $formCollection = $formCollection[0]; } $form = file_get_contents('public/' . $this->_formXml); $response = new Response($form); $fields = $response->getData(); $formData = array('structure' => $fields['structure']); // get the Application Config $data = array('id' => $id, 'fields' => array('id', 'passwordResetTemplate', 'systemEmailConfig', 'systemEmailMarketingSource')); $messageId = $this->_message->addAction($this->defaultQueue, 'getOne', $data, $this->_handler); $formData['data_attr'] = array('xpath' => '//response/action[@id="' . $messageId . '"]/data/fields'); $data = array('channel' => array('tab_' . $browserTabId), 'message' => array('windowId' => $windowId, 'template' => 'fromTemplate', 'data' => array('formData' => $formData, 'formXml' => $this->_formXml, 'formOptions' => array('formActionAppend' => array($browserTabId, $windowId, $id))), 'applicationConfigId' => $id), 'jsFunction' => $this->params()->fromPost('jsFunction', 'baseView.singlePageView'), 'jsClass' => $this->params()->fromPost('jsClass', '')); $this->_message->addAction('response', 'send', $data, 'SocketResponse'); // render the form $this->queue($this->_message); return $this->setresponse(); }
/** * load action * @return \Zend\Stdlib\ResponseInterface */ public function loadAction() { // get list of leads $browserTabId = $this->params()->fromPost('browserTabId', ''); $id = $this->params('id', false); $windowId = $this->params()->fromPost('windowId', false); $goTo = $this->params()->fromPost('goTo', false); $form = file_get_contents('public/' . 'templates/opportunity/forms/edit.xml'); $response = new Response($form); $formCollection = $this->_formCollection; if (is_array($formCollection)) { $formCollection = $formCollection[0]; } $fields = $response->getData(); if ($formCollection == 'formType') { $fields['fields']['label_lockedRecord'] = 'lockedRecord'; } $data = array('id' => $this->params('id'), 'fields' => $fields['fields'], 'options' => ['display' => 1], 'create' => false); $messageId = $this->_message->addAction($this->defaultQueue, 'getOne', $data, $this->_handler); $data = array('channel' => array('tab_' . $browserTabId), 'message' => array('windowId' => $windowId, 'urlPrefix' => $this->_urlPrefix, 'goTo' => $goTo, 'personData_attr' => array('xpath' => '//response/action[@id="' . $messageId . '"]/data/fields')), 'jsFunction' => $this->params()->fromPost('jsFunction', 'personPageView'), 'jsClass' => $this->params()->fromPost('jsClass', 'baseView')); $this->_message->addAction('response', 'send', $data, 'SocketResponse'); $this->queue($this->_message); return $this->setresponse(); }
/** * edit application source * @return \Zend\Stdlib\ResponseInterface */ public function editApplicationAction() { $this->_formXml = 'templates/application/forms/singleApplication.xml'; $browserTabId = $this->params()->fromPost('browserTabId', ''); $id = $this->params('id', false); $parentId = $this->params()->fromPost('parentId', false); $windowId = $this->params()->fromPost('windowId', false); $applicationId = $this->params()->fromPost('applicationId', false); $formCollection = $this->_formCollection; if (is_array($formCollection)) { $formCollection = $formCollection[0]; } $form = file_get_contents('public/' . $this->_formXml); $response = new Response($form); $fields = $response->getData(); if ($formCollection == 'formType') { $fields['fields']['label_lockedRecord'] = 'lockedRecord'; } $formData = array('structure' => $fields['structure']); if ($id != 'new') { $data = array('propertyId' => $this->params('id'), 'property' => 'application', 'fields' => array('id', 'application'), 'structure' => $fields['structure'], 'dbRef' => isset($fields['dbRef']) ? $fields['dbRef'] : [], 'create' => false); $messageId = $this->_message->addAction($this->defaultQueue, 'getOne', $data, $this->_handler); $formData['data_attr'] = array('xpath' => '//response/action[@id="' . $messageId . '"]/data/fields'); } else { $formData['data'] = array('id' => $parentId); } $data = array('channel' => array('tab_' . $browserTabId), 'message' => array('windowId' => $windowId, 'template' => 'fromTemplate', 'tabData' => array('formData' => $formData + ['tabId' => $browserTabId], 'formXml' => $this->_formXml, 'formOptions' => array('formActionAppend' => array($browserTabId, $windowId, $id)))), 'jsFunction' => $this->params()->fromPost('jsFunction', 'moveInViewModel.personDetails.application.loadFormCallback')); $this->_message->addAction('response', 'send', $data, 'SocketResponse'); // render the form $this->queue($this->_message); return $this->setresponse(); }