/**
  * 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');
 }
Example #2
0
 /**
  * Creates a CustomFields object from a resultset row
  *
  * @param array $row Resultset row from the database.
  * @return CustomFields Custom Fields object.
  */
 private static function _createFromRow($row)
 {
     $tmp = new CustomFields();
     $tmp->setFieldNumber($row[self::DB_FIELDS_NUM]);
     $tmp->setName($row[self::DB_FIELDS_NAME]);
     $tmp->setFieldType($row[self::DB_FIELDS_TYPE]);
     $tmp->setScreen($row[self::DB_FIELDS_SCREEN]);
     $tmp->setExtraData($row[self::DB_FIELDS_EXTRA_DATA]);
     return $tmp;
 }