From cef8c31f31cc8b502afab569e5b281c69dfdf684 Mon Sep 17 00:00:00 2001 From: Marc Michalsky forumZFD Date: Wed, 26 May 2021 19:01:35 +0200 Subject: [PATCH 1/2] =?UTF-8?q?=E2=9C=A8=EF=B8=8F=20define=20cases=20for?= =?UTF-8?q?=20each=20TwingleProject?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CRM/TwingleCampaign/BAO/Configuration.php | 2 +- CRM/TwingleCampaign/BAO/TwingleEvent.php | 47 ++++++++++-------- CRM/TwingleCampaign/Form/Settings.php | 32 ++---------- CRM/TwingleCampaign/Upgrader.php | 2 +- CRM/TwingleCampaign/Utils/CaseTypes.php | 28 +++++++++++ CRM/TwingleCampaign/resources/campaigns.php | 16 ++++++ l10n/de_DE/LC_MESSAGES/twinglecampaign.mo | Bin 21047 -> 21245 bytes l10n/de_DE/LC_MESSAGES/twinglecampaign.po | 22 +++++--- l10n/pot/twinglecampaign.pot | 18 +++++-- .../CRM/TwingleCampaign/Form/Settings.tpl | 4 +- 10 files changed, 107 insertions(+), 64 deletions(-) create mode 100644 CRM/TwingleCampaign/Utils/CaseTypes.php diff --git a/CRM/TwingleCampaign/BAO/Configuration.php b/CRM/TwingleCampaign/BAO/Configuration.php index 38e8d5e..6d2614e 100644 --- a/CRM/TwingleCampaign/BAO/Configuration.php +++ b/CRM/TwingleCampaign/BAO/Configuration.php @@ -6,7 +6,7 @@ class CRM_TwingleCampaign_BAO_Configuration { private static $settingsKeys = [ 'twingle_api_key', 'twinglecampaign_xcm_profile', - 'twinglecampaign_start_case', + 'twinglecampaign_default_case', 'twinglecampaign_soft_credits' ]; diff --git a/CRM/TwingleCampaign/BAO/TwingleEvent.php b/CRM/TwingleCampaign/BAO/TwingleEvent.php index fd7eddd..4248c1d 100644 --- a/CRM/TwingleCampaign/BAO/TwingleEvent.php +++ b/CRM/TwingleCampaign/BAO/TwingleEvent.php @@ -53,32 +53,39 @@ class CRM_TwingleCampaign_BAO_TwingleEvent extends Campaign { if (parent::create()) { - // check for existence - $result = civicrm_api3('Case', 'get', [ - 'contact_id' => $this->formattedValues['contact'], - 'case_type_id' => Configuration::get('twinglecampaign_start_case'), - 'subject' => $this->formattedValues['title'] . ' | Event-ID: ' . - $this->formattedValues['id'], - ]); + // Get case type + $parentProject = civicrm_api3( + 'TwingleProject', + 'getsingle', + ['id' => $this->values['parent_id']] + ); + $caseType = $parentProject['case'] + ?? Configuration::get('twinglecampaign_default_case'); - // Open a case - if ( - Configuration::get('twinglecampaign_start_case') && - $result['count'] == 0 - ) { - $result = civicrm_api3('Case', 'create', [ + if ($caseType) { + // check for existence + $result = civicrm_api3('Case', 'get', [ 'contact_id' => $this->formattedValues['contact'], - 'case_type_id' => Configuration::get('twinglecampaign_start_case'), + 'case_type_id' => $caseType, 'subject' => $this->formattedValues['title'] . ' | Event-ID: ' . $this->formattedValues['id'], - 'start_date' => $this->formattedValues['created_at'], - 'status_id' => "Open", ]); - } - if ($result['is_error'] != 0) { - throw new Exception('Could not create case'); - } + // Open a case + if ($result['count'] == 0) { + $result = civicrm_api3('Case', 'create', [ + 'contact_id' => $this->formattedValues['contact'], + 'case_type_id' => $caseType, + 'subject' => $this->formattedValues['title'] . ' | Event-ID: ' . + $this->formattedValues['id'], + 'start_date' => $this->formattedValues['created_at'], + 'status_id' => "Open", + ]); + } + if ($result['is_error'] != 0) { + throw new Exception('Could not create case'); + } + } return TRUE; } return FALSE; diff --git a/CRM/TwingleCampaign/Form/Settings.php b/CRM/TwingleCampaign/Form/Settings.php index d28b7cc..f614ce5 100644 --- a/CRM/TwingleCampaign/Form/Settings.php +++ b/CRM/TwingleCampaign/Form/Settings.php @@ -4,6 +4,7 @@ use CRM_TwingleCampaign_BAO_Configuration as Configuration; use CRM_TwingleCampaign_ExtensionUtil as E; include_once E::path() . '/CRM/TwingleCampaign/BAO/Configuration.php'; +include_once E::path() . '/CRM/TwingleCampaign/Utils/CaseTypes.php'; /** * Form controller class @@ -32,9 +33,9 @@ class CRM_TwingleCampaign_Form_Settings extends CRM_Core_Form { $this->addElement( 'select', - 'twinglecampaign_start_case', - E::ts('Start a case for event initiators'), - $this->getCaseTypes(), + 'twinglecampaign_default_case', + E::ts('Default case to open for event initiators'), + getCaseTypes(), ['class' => 'crm-select2 huge'] ); @@ -92,30 +93,5 @@ class CRM_TwingleCampaign_Form_Settings extends CRM_Core_Form { return $xcmProfiles; } - /** - * Retrieves all case types - * - * @return array - */ - private function getCaseTypes(): array { - $caseTypes = [NULL => E::ts('none')]; - try { - $result = civicrm_api3('CaseType', 'get', [ - 'sequential' => 1, - 'options' => ['limit' => 0] - ]); - if (is_array($result['values'])) { - foreach ($result['values'] as $case) { - $caseTypes[$case['name']] = $case['title']; - } - } - } catch (CiviCRM_API3_Exception $e) { - Civi::log()->error( - E::LONG_NAME . ' could not retrieve case types: ' . - $e->getMessage()); - } - return $caseTypes; - } - } diff --git a/CRM/TwingleCampaign/Upgrader.php b/CRM/TwingleCampaign/Upgrader.php index 3d4d94d..5c1a706 100644 --- a/CRM/TwingleCampaign/Upgrader.php +++ b/CRM/TwingleCampaign/Upgrader.php @@ -20,7 +20,7 @@ class CRM_TwingleCampaign_Upgrader extends CRM_TwingleCampaign_Upgrader_Base { * changed campaigns will get pulled from Twingle. * @throws \CiviCRM_API3_Exception */ - public function upgrade_01(): bool { + public function upgrade_02(): bool { $campaign_info = require E::path() . '/CRM/TwingleCampaign/resources/campaigns.php'; diff --git a/CRM/TwingleCampaign/Utils/CaseTypes.php b/CRM/TwingleCampaign/Utils/CaseTypes.php new file mode 100644 index 0000000..312a23f --- /dev/null +++ b/CRM/TwingleCampaign/Utils/CaseTypes.php @@ -0,0 +1,28 @@ + E::ts('none')]; + try { + $result = civicrm_api3('CaseType', 'get', [ + 'sequential' => 1, + 'options' => ['limit' => 0] + ]); + if (is_array($result['values'])) { + foreach ($result['values'] as $case) { + $caseTypes[$case['name']] = $case['title']; + } + } + } catch (CiviCRM_API3_Exception $e) { + Civi::log()->error( + E::LONG_NAME . ' could not retrieve case types: ' . + $e->getMessage()); + } + return $caseTypes; +} diff --git a/CRM/TwingleCampaign/resources/campaigns.php b/CRM/TwingleCampaign/resources/campaigns.php index 1dbeba8..ffd097c 100644 --- a/CRM/TwingleCampaign/resources/campaigns.php +++ b/CRM/TwingleCampaign/resources/campaigns.php @@ -1,6 +1,7 @@ [ @@ -121,6 +122,21 @@ return [ "help_post" => E::ts("Choose the project type. Allow users to create own events or to pay a membership fee."), "default_value" => "default" ], + "twingle_project_case" => [ + "custom_group_id" => "Twingle_Project_Information", + "label" => E::ts("Case"), + "name" => "twingle_project_case", + "is_required" => FALSE, + "is_searchable" => 1, + "data_type" => "String", + "html_type" => "Select", + "option_values" => getCaseTypes(), + "text_length" => 32, + "is_active" => 1, + "is_view" => FALSE, + "weight" => 3, + "help_post" => E::ts("Which case should get opened for event creators?") + ], "twingle_project_allow_more" => [ "custom_group_id" => "Twingle_Project_Information", "label" => E::ts("allow more"), diff --git a/l10n/de_DE/LC_MESSAGES/twinglecampaign.mo b/l10n/de_DE/LC_MESSAGES/twinglecampaign.mo index 47867c327cada245d4485c5c2c0ddb14b240bbfb..6527e9a1f4062567d51c49b5e6300d5f551bba16 100644 GIT binary patch delta 5902 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 diff --git a/l10n/de_DE/LC_MESSAGES/twinglecampaign.po b/l10n/de_DE/LC_MESSAGES/twinglecampaign.po index 7e83507..dc16d5d 100644 --- a/l10n/de_DE/LC_MESSAGES/twinglecampaign.po +++ b/l10n/de_DE/LC_MESSAGES/twinglecampaign.po @@ -7,7 +7,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.4.2\n" +"X-Generator: Poedit 2.4.3\n" "Last-Translator: \n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "Language: de_DE\n" @@ -120,8 +120,8 @@ msgid "XCM Profile to match event initiators" msgstr "XCM-Profil zum Abgleichen von Event-Initiatoren" #: CRM/TwingleCampaign/Form/Settings.php -msgid "Start a case for event initiators" -msgstr "Einen Fall für Event-Initiatoren anlegen" +msgid "Default case to open for event initiators" +msgstr "Standarfdall, der für Event-Initiatoren eröffnet werden soll" #: CRM/TwingleCampaign/Form/Settings.php msgid "Create soft credits for event initiators" @@ -135,10 +135,6 @@ msgstr "Speichern" msgid "TwingleCampaign configuration saved" msgstr "TwingleCampaign Konfiguration gespeichert" -#: CRM/TwingleCampaign/Form/Settings.php -msgid "none" -msgstr "keine" - #: CRM/TwingleCampaign/Upgrader/Base.php msgid "Upgrade %1 to revision %2" msgstr "Upgrade %1 auf Revision %2" @@ -182,6 +178,10 @@ msgstr "" msgid "Could not disable scheduled job \"TwingleSync\"." msgstr "Geplante Aufgabe \"TwingleSync\" konnte nicht deaktiviert werden." +#: CRM/TwingleCampaign/Utils/CaseTypes.php +msgid "none" +msgstr "keine" + #: CRM/TwingleCampaign/resources/campaigns.php msgid "Twingle Information" msgstr "Twingle Informationen" @@ -250,6 +250,14 @@ msgstr "" "Wähle den Projekt-Typ: erlaube Benutzern ihre eigenen Spenden-Events " "anzulegen oder eine Mitgliedschaft zu bezahlen." +#: CRM/TwingleCampaign/resources/campaigns.php +msgid "Case" +msgstr "Fall" + +#: CRM/TwingleCampaign/resources/campaigns.php +msgid "Which case should get triggered for event creators?" +msgstr "Welcher Fall soll für Event-Initiatoren eröffnet werden?" + #: CRM/TwingleCampaign/resources/campaigns.php msgid "allow more" msgstr "Mehr zulassen" diff --git a/l10n/pot/twinglecampaign.pot b/l10n/pot/twinglecampaign.pot index b4a3038..3a92564 100644 --- a/l10n/pot/twinglecampaign.pot +++ b/l10n/pot/twinglecampaign.pot @@ -75,7 +75,7 @@ msgid "XCM Profile to match event initiators" msgstr "" #: ./CRM/TwingleCampaign/Form/Settings.php -msgid "Start a case for event initiators" +msgid "Default case to open for event initiators" msgstr "" #: ./CRM/TwingleCampaign/Form/Settings.php @@ -90,10 +90,6 @@ msgstr "" msgid "TwingleCampaign configuration saved" msgstr "" -#: ./CRM/TwingleCampaign/Form/Settings.php -msgid "none" -msgstr "" - #: ./CRM/TwingleCampaign/Upgrader/Base.php msgid "Upgrade %1 to revision %2" msgstr "" @@ -126,6 +122,10 @@ msgstr "" msgid "Could not disable scheduled job \"TwingleSync\"." msgstr "" +#: ./CRM/TwingleCampaign/Utils/CaseTypes.php +msgid "none" +msgstr "" + #: ./CRM/TwingleCampaign/resources/campaigns.php msgid "Twingle Information" msgstr "" @@ -186,6 +186,14 @@ msgstr "" msgid "Choose the project type. Allow users to create own events or to pay a membership fee." msgstr "" +#: ./CRM/TwingleCampaign/resources/campaigns.php +msgid "Case" +msgstr "" + +#: ./CRM/TwingleCampaign/resources/campaigns.php +msgid "Which case should get triggered for event creators?" +msgstr "" + #: ./CRM/TwingleCampaign/resources/campaigns.php msgid "allow more" msgstr "" diff --git a/templates/CRM/TwingleCampaign/Form/Settings.tpl b/templates/CRM/TwingleCampaign/Form/Settings.tpl index 9ba2175..a7c7c14 100644 --- a/templates/CRM/TwingleCampaign/Form/Settings.tpl +++ b/templates/CRM/TwingleCampaign/Form/Settings.tpl @@ -17,8 +17,8 @@
-
{$form.twinglecampaign_start_case.label}
-
{$form.twinglecampaign_start_case.html}
+
{$form.twinglecampaign_default_case.label}
+
{$form.twinglecampaign_default_case.html}
From dcae7c6a6982d4d6f1d0a385727e3f8d66ec8866 Mon Sep 17 00:00:00 2001 From: Marc Michalsky forumZFD Date: Fri, 28 May 2021 23:05:11 +0200 Subject: [PATCH 2/2] =?UTF-8?q?=E2=9C=A8=EF=B8=8F=20automatically=20add=20?= =?UTF-8?q?new=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().