/** * 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->getCustomField($fieldNum); } if (empty($customField)) { $customField = new CustomField(); } $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'); }