/** * Delete custom fields * @param $request * @return unknown_type */ public function execute($request) { $admin = $this->getUser()->hasCredential(Auth::ADMIN_ROLE); if (!$admin) { $this->forward("auth", "unauthorized"); return; } $form = new CustomFieldForm(array(), array(), true); $customFieldsService = $this->getCustomFieldService(); if ($request->isMethod('post')) { $form->bind($request->getParameter($form->getName())); if ($form->isValid()) { $fieldNum = $form->getValue('field_num'); $customField = null; if (isset($fieldNum)) { $customField = $customFieldsService->readCustomField($fieldNum); } if (empty($customField)) { $customField = new CustomFields(); } $customField->setName($form->getValue('name')); $customField->setType($form->getValue('type')); $customField->setScreen($form->getValue('screen')); $customField->setExtraData($form->getValue('extra_data')); $customFieldsService->saveCustomField($customField); $this->getUser()->setFlash('templateMessage', array('success', __(TopLevelMessages::SAVE_SUCCESS))); } } $this->redirect('pim/listCustomFields'); }
/** * Testing saveCustomField */ public function testSaveCustomField() { foreach ($this->testCases['CustomFields'] as $k => $v) { $customFields = new CustomFields(); $customFields->setFieldNum($v['field_num']); $customFields->setName($v['name']); $customFields->setType($v['type']); $customFields->setExtraData($v['extra_data']); $result = $this->customFieldsDao->saveCustomField($customFields); $this->assertTrue($result); } }
/** * Testing readCustomField */ public function testReadCustomField() { foreach ($this->testCases['CustomFields'] as $k => $v) { $customFields = new CustomFields(); $customFields->setFieldNum($v['field_num']); $customFields->setName($v['name']); $customFields->setType($v['type']); $customFields->setExtraData($v['extra_data']); $this->customFieldsDao = $this->getMock('CustomFieldsDao'); $this->customFieldsDao->expects($this->once())->method('readCustomField')->will($this->returnValue($customFields)); $this->customFieldsService->setCustomFieldsDao($this->customFieldsDao); $result = $this->customFieldsService->readCustomField($v['field_num']); $this->assertTrue($result instanceof CustomFields); } }
/** * Save Custom fields * @param sfWebRequest $request * @return unknown_type */ public function executeSaveCustomFields(sfWebRequest $request) { $customFieldsService = new CustomFieldsService(); if ($request->isMethod('post')) { $customFields = new CustomFields(); $customFields->setFieldNum($request->getParameter('txtId')); $customFields->setName($request->getParameter('txtName')); $customFields->setType($request->getParameter('cmbType')); $customFields->setExtraData($request->getParameter('txtExtra')); $customFieldsService->saveCustomField($customFields); $this->setMessage('SUCCESS', array(TopLevelMessages::SAVE_SUCCESS)); $this->redirect('admin/listCustomFields'); } $this->avaliableIds = $customFieldsService->getAvaliableFieldNumbers(); }