diff --git a/extension/qfq/qfq/Constants.php b/extension/qfq/qfq/Constants.php index 2e354adf68e16a83c8f5218e0964c91e8c7fc65a..30d7ddb85678e8510b4631b2c79004080b5bed35 100644 --- a/extension/qfq/qfq/Constants.php +++ b/extension/qfq/qfq/Constants.php @@ -443,6 +443,7 @@ const GLYPH_ICON_CLOSE = 'glyphicon-remove'; // FORM const F_NAME = 'name'; +const F_TITLE = 'title'; const F_TABLE_NAME = 'tableName'; const F_REQUIRED_PARAMETER = 'requiredParameter'; const F_EXTRA_DELETE_FORM = 'extraDeleteForm'; diff --git a/extension/qfq/qfq/QuickFormQuery.php b/extension/qfq/qfq/QuickFormQuery.php index e9f28171ba5858b7b6c29e37e60ec753c18e953a..c21158561fe4e0cc2c7504aa3671a25e8b4b61e0 100644 --- a/extension/qfq/qfq/QuickFormQuery.php +++ b/extension/qfq/qfq/QuickFormQuery.php @@ -378,6 +378,8 @@ class QuickFormQuery { $form = $this->db->sql("SELECT * FROM Form AS f WHERE f." . F_NAME . " LIKE ? AND f.deleted='no'", ROW_EXPECT_1, [$formName], 'Form not found or multiple forms with the same name.'); + $form = $this->modeAdjustFormConfig($mode, $form); + $this->formSpec = $this->eval->parseArray($form); HelperFormElement::explodeParameter($this->formSpec); @@ -495,6 +497,27 @@ class QuickFormQuery { return $formName; } + /** + * Depending on $mode various formSpec fields might be adjusted. + * E.g.: the form title is not important during a delete. + * + * @param $mode + * @param array $form + * @return array + */ + private function modeAdjustFormConfig($mode, array $form) { + + switch ($mode) { + case FORM_DELETE: + $form[F_TITLE] = ''; + break; + default: + break; + } + + return $form; + } + /** * Check if loading of the given form is permitted. If not, throw an exception. *