From dcae7c6a6982d4d6f1d0a385727e3f8d66ec8866 Mon Sep 17 00:00:00 2001 From: Marc Michalsky forumZFD Date: Fri, 28 May 2021 23:05:11 +0200 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=EF=B8=8F=20automatically=20add=20new?= =?UTF-8?q?=20case=20types=20to=20custom=20field=20options?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CRM/TwingleCampaign/BAO/CustomField.php | 161 +++++++++++++++--- l10n/de_DE/LC_MESSAGES/de_DE.mo | Bin 0 -> 21914 bytes .../{twinglecampaign.po => de_DE.po} | 31 +++- l10n/de_DE/LC_MESSAGES/twinglecampaign.mo | Bin 21245 -> 0 bytes l10n/pot/twinglecampaign.pot | 16 +- twinglecampaign.php | 9 + 6 files changed, 184 insertions(+), 33 deletions(-) create mode 100644 l10n/de_DE/LC_MESSAGES/de_DE.mo rename l10n/de_DE/LC_MESSAGES/{twinglecampaign.po => de_DE.po} (97%) delete mode 100644 l10n/de_DE/LC_MESSAGES/twinglecampaign.mo diff --git a/CRM/TwingleCampaign/BAO/CustomField.php b/CRM/TwingleCampaign/BAO/CustomField.php index 174e715..04324f3 100644 --- a/CRM/TwingleCampaign/BAO/CustomField.php +++ b/CRM/TwingleCampaign/BAO/CustomField.php @@ -56,12 +56,12 @@ class CRM_TwingleCampaign_BAO_CustomField { } } - /** * Creates a CustomField by calling CiviCRM API v.3 * * @param bool $upgrade * If true: Does not show UF message if custom field already exists + * * @returns array Result of custom field creation api call * @throws \CiviCRM_API3_Exception */ @@ -79,38 +79,44 @@ class CRM_TwingleCampaign_BAO_CustomField { // If the field does not exist, create it if ($field['count'] == 0) { - $this->result = civicrm_api3( - 'CustomField', - 'create', - $this->getSetAttributes()); - // Set field id - $this->id = $this->result['id']; + try { + $this->result = civicrm_api3( + 'CustomField', + 'create', + $this->getSetAttributes()); - // Log field creation - if ($this->result['is_error'] == 0) { - Civi::log()->info("$this->extensionName has created a new custom field. - label: $this->label - name: $this->name - id: $this->id - group: $this->custom_group_id" - ); - return $this->result; - } - // If the field could not get created: log error - else { + if ($this->result['is_error'] == 0) { + + // Set field id + $this->id = $this->result['id']; + + // Log field creation + Civi::log()->info("$this->extensionName has created a new custom field. + label: $this->label + name: $this->name + id: $this->id + group: $this->custom_group_id" + ); + return $this->result; + } + else { + throw new CiviCRM_API3_Exception($this->result['error_message']); + } + } catch (CiviCRM_API3_Exception $e) { + $errorMessage = $e->getMessage(); + // If the field could not get created: log error if ($this->name && $this->custom_group_id) { Civi::log() - ->error("$this->extensionName could not create new custom field - \"$this->name\" for group \"$this->custom_group_id\": - $this->result['error_message']"); - CRM_Utils_System::setUFMessage(E::ts('Creation of custom field \'%1\' failed. Find more information in the logs.', [1 => $this->name])); + ->error("$this->extensionName could not create new custom field \"$this->name\" for group \"$this->custom_group_id\": $errorMessage"); + CRM_Utils_System::setUFMessage(E::ts('%1: Creation of custom field \'%2\' failed. Find more information in the logs.', + [1 => $this->extensionName, 2 => $this->name] + )); } // If there is not enough information: log simple error message else { Civi::log() - ->error("$this->extensionName could not create new custom field: - $this->result['error_message']"); + ->error("$this->extensionName could not create new custom field: $errorMessage"); CRM_Utils_System::setUFMessage(E::ts("Creation of custom field failed. Find more information in the logs.")); } return $this->result; @@ -127,6 +133,101 @@ class CRM_TwingleCampaign_BAO_CustomField { } } + /** + * Update an existing custom field + * + * @returns array Result of custom field creation api call + */ + public function update(): array { + + try { + $this->result = civicrm_api3( + 'CustomField', + 'create', + $this->getSetAttributes()); + + // Log field creation + if ($this->result['is_error'] == 0) { + Civi::log()->info("$this->extensionName has updated a custom field. + label: $this->label + name: $this->name + id: $this->id + group: $this->custom_group_id" + ); + return $this->result; + } + else { + throw new CiviCRM_API3_Exception($this->result['error_message']); + } + } catch (CiviCRM_API3_Exception $e) { + // If the field could not get created: log error + $errorMessage = $e->getMessage(); + if ($this->name && $this->custom_group_id) { + Civi::log() + ->error("$this->extensionName could not create new custom field \"$this->name\" for group \"$this->custom_group_id\": $errorMessage"); + CRM_Utils_System::setUFMessage(E::ts('Creation of custom field \'%1\' failed. Find more information in the logs.', [1 => $this->name])); + } + // If there is not enough information: log simple error message + else { + Civi::log() + ->error("$this->extensionName could not create new custom field: $errorMessage"); + CRM_Utils_System::setUFMessage(E::ts("Creation of custom field failed. Find more information in the logs.")); + } + return $this->result; + } + } + + /** + * Add additional options to custom field + * + * @param array $options + * + * @return array + */ + public function addOptions(array $options): array { + $result = []; + + try { + $option_group_id = civicrm_api3( + 'CustomField', + 'getsingle', + ['id' => $this->id] + )['option_group_id']; + } catch (CiviCRM_API3_Exception $e) { + $errorMessage = $e->getMessage(); + Civi::log() + ->error("$this->extensionName could not get get option group id for custom field \"$this->name\": $errorMessage"); + CRM_Utils_System::setUFMessage( + E::ts('%1 could not get option group id for custom field \'%2\'. Find more information in the logs.', + [1 => $this->extensionName, 2 => $this->name]) + ); + } + + try { + foreach ($options as $key => $value) { + $result[] = civicrm_api3( + 'OptionValue', + 'create', + [ + 'option_group_id' => $option_group_id, + 'value' => $key, + 'label' => $value, + ] + ); + } + } catch (CiviCRM_API3_Exception $e) { + $errorMessage = $e->getMessage(); + Civi::log() + ->error("$this->extensionName could not create additional option values for custom field \"$this->name\": $errorMessage"); + CRM_Utils_System::setUFMessage( + E::ts('%1 could not create additional option values for custom field \'%2\'. Find more information in the logs.', + [1 => $this->extensionName, 2 => $this->name]) + ); + } + + return $result; + } + /** * Gets all the set attributes of the object and returns them as an array. * @@ -143,7 +244,6 @@ class CRM_TwingleCampaign_BAO_CustomField { return $setAttributes; } - /** * Get an instance of a CustomField by its name or get an array with all * custom fields by leaving parameters empty. @@ -362,6 +462,13 @@ class CRM_TwingleCampaign_BAO_CustomField { */ public function getId() { return $this->id; - }# + } + + /** + * @param mixed $option_values + */ + public function setOptionValues($option_values): void { + $this->option_values = $option_values; + } } \ No newline at end of file diff --git a/l10n/de_DE/LC_MESSAGES/de_DE.mo b/l10n/de_DE/LC_MESSAGES/de_DE.mo new file mode 100644 index 0000000000000000000000000000000000000000..b69812f675d2a02221adb4e10593c4952663004a GIT binary patch literal 21914 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 U{WqrdnS=tn4k-)7y#M5104%x`H2?qr literal 0 HcmV?d00001 diff --git a/l10n/de_DE/LC_MESSAGES/twinglecampaign.po b/l10n/de_DE/LC_MESSAGES/de_DE.po similarity index 97% rename from l10n/de_DE/LC_MESSAGES/twinglecampaign.po rename to l10n/de_DE/LC_MESSAGES/de_DE.po index dc16d5d..5736cb0 100644 --- a/l10n/de_DE/LC_MESSAGES/twinglecampaign.po +++ b/l10n/de_DE/LC_MESSAGES/de_DE.po @@ -14,10 +14,10 @@ msgstr "" #: CRM/TwingleCampaign/BAO/CustomField.php msgid "" -"Creation of custom field '%1' failed. Find more information in the logs." +"%1: Creation of custom field '%2' failed. Find more information in the logs." msgstr "" -"Erstellung von Custom Field '%1' fehlgeschlagen. Mehr Informationen in den " -"Logs." +"%1: Erstellen des benutzerdefinierten Feldes '%2' fehlgeschlagen. Mehr " +"Informationen in den Logs." #: CRM/TwingleCampaign/BAO/CustomField.php msgid "Creation of custom field failed. Find more information in the logs." @@ -33,6 +33,29 @@ msgstr "" "Erstellung der Custom Field '%1' fehlgeschlagen, weil bereits eine Custom " "Field mit selbem Namen existiert. Mehr Informationen in den Logs." +#: CRM/TwingleCampaign/BAO/CustomField.php +msgid "" +"Creation of custom field '%1' failed. Find more information in the logs." +msgstr "" +"Erstellung von Custom Field '%1' fehlgeschlagen. Mehr Informationen in den " +"Logs." + +#: CRM/TwingleCampaign/BAO/CustomField.php +msgid "" +"%1 could not get option group id for custom field '%2'. Find more " +"information in the logs." +msgstr "" +"%1 konnte die Option-Group-ID für das benutzerdefinierte Feld '%2' nicht " +"finden. Mehr Informationen in den Logs." + +#: CRM/TwingleCampaign/BAO/CustomField.php +msgid "" +"%1 could not create additional option values for custom field '%2'. Find " +"more information in the logs." +msgstr "" +"%1 konnte dem benutzerdefinierte Feld '%2' keine zusätzlichen Optionen " +"hinzufügen. Mehr Informationen in den Logs." + #: CRM/TwingleCampaign/BAO/CustomGroup.php msgid "" "Creation of custom group '%1' failed. Find more information in the logs." @@ -255,7 +278,7 @@ msgid "Case" msgstr "Fall" #: CRM/TwingleCampaign/resources/campaigns.php -msgid "Which case should get triggered for event creators?" +msgid "Which case should get opened for event creators?" msgstr "Welcher Fall soll für Event-Initiatoren eröffnet werden?" #: CRM/TwingleCampaign/resources/campaigns.php diff --git a/l10n/de_DE/LC_MESSAGES/twinglecampaign.mo b/l10n/de_DE/LC_MESSAGES/twinglecampaign.mo deleted file mode 100644 index 6527e9a1f4062567d51c49b5e6300d5f551bba16..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21245 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 M_=palF6ck`XA+PaddOptions( + [$newCaseType['name'] => $newCaseType['title']] + ); +} /** * Implements hook_civicrm_postSave_Campaign().