diff --git a/src/app/customField/controllers/CustomFieldController.php b/src/app/customField/controllers/CustomFieldController.php index b14fcc2cd3dfb09b049803a51de6876e05f8794f..713eac895529ec00487ca228dbb4499a67a4c6cf 100644 --- a/src/app/customField/controllers/CustomFieldController.php +++ b/src/app/customField/controllers/CustomFieldController.php @@ -65,7 +65,7 @@ class CustomFieldController $id = CustomFieldModel::create([ 'label' => $body['label'], 'type' => $body['type'], - 'values' => empty($body['values']) ? null : json_encode($body['values']), + 'values' => empty($body['values']) ? '[]' : json_encode($body['values']), 'default_value' => $body['default_value'] ]); @@ -99,7 +99,7 @@ class CustomFieldController CustomFieldModel::update([ 'set' => [ 'label' => $body['label'], - 'values' => empty($body['values']) ? null : json_encode($body['values']), + 'values' => empty($body['values']) ? '[]' : json_encode($body['values']), 'default_value' => $body['default_value'] ], 'where' => ['id = ?'], diff --git a/src/frontend/app/administration/customField/custom-fields-administration.component.ts b/src/frontend/app/administration/customField/custom-fields-administration.component.ts index 9906bb9a806d8985bcc1688fa2229f3e16a02500..66bafdabfc61e9a8ea9a3d9eff712ee70a6a0a0f 100644 --- a/src/frontend/app/administration/customField/custom-fields-administration.component.ts +++ b/src/frontend/app/administration/customField/custom-fields-administration.component.ts @@ -170,6 +170,12 @@ export class CustomFieldsAdministrationComponent implements OnInit { customFieldToUpdate.values = customField.values.map((data: any) => data.label) } + const alreadyExists = this.customFields.filter(customField => customField.label == customFieldToUpdate.label ); + if (alreadyExists.length > 1) { + this.notify.handleErrors(this.lang.customFieldAlreadyExists); + return of(false); + } + this.http.put('../../rest/customFields/' + customField.id, customFieldToUpdate).pipe( tap(() => { this.notify.success(this.lang.customFieldUpdated); diff --git a/src/frontend/lang/lang-en.ts b/src/frontend/lang/lang-en.ts index cb8e868958de9aca12c63135c5da0dcc72997841..fd4a03ffa89dccfacb30a3144c0a65352a6dc4ad 100755 --- a/src/frontend/lang/lang-en.ts +++ b/src/frontend/lang/lang-en.ts @@ -1081,4 +1081,5 @@ export const LANG_EN = { "dateInput" : "Date input", "radioInput" : "Radio input", "checkboxInput" : "Checbox input", + "customFieldAlreadyExists" : "Custom fields already exists with this name" }; diff --git a/src/frontend/lang/lang-fr.ts b/src/frontend/lang/lang-fr.ts index eec072c236614a57f05e001c30315d13b1796ea6..773e77dbf36c0230844624ea0e600aa8076b233d 100755 --- a/src/frontend/lang/lang-fr.ts +++ b/src/frontend/lang/lang-fr.ts @@ -1118,4 +1118,5 @@ export const LANG_FR = { "dateInput" : "Champ date", "radioInput" : "Liste à choix unique", "checkboxInput" : "Liste à choix multiple", + "customFieldAlreadyExists" : "Un champ personnalisé existe déjà avec ce nom" }; diff --git a/src/frontend/lang/lang-nl.ts b/src/frontend/lang/lang-nl.ts index 847aec78d7c54aa25e8adaeb47de214efa8d4587..05f8e8b2c915399a66b1bce7004b63e100581a0b 100755 --- a/src/frontend/lang/lang-nl.ts +++ b/src/frontend/lang/lang-nl.ts @@ -1107,4 +1107,5 @@ export const LANG_NL = { "dateInput" : "Date input", //_TO_TRANSLATE "radioInput" : "Radio input", //_TO_TRANSLATE "checkboxInput" : "Checbox input", //_TO_TRANSLATE + "customFieldAlreadyExists" : "Custom fields already exists with this name" //_TO_TRANSLATE };