Merge branch 'dev' into main

This commit is contained in:
Marc Michalsky forumZFD 2021-03-18 16:16:08 +01:00
commit c482366282
Signed by untrusted user who does not match committer: marc.koch
GPG key ID: 12406554CFB028B9
12 changed files with 255 additions and 55 deletions

View file

@ -181,8 +181,10 @@ abstract class CRM_TwingleCampaign_BAO_Campaign {
// Translate keys // Translate keys
foreach ($field_translations as $origin => $translation) { foreach ($field_translations as $origin => $translation) {
$values[$translation] = $values[$origin]; if (isset($values[$origin])) {
unset($values[$origin]); $values[$translation] = $values[$origin];
unset($values[$origin]);
}
} }
} }

View file

@ -163,10 +163,9 @@ class CRM_TwingleCampaign_BAO_TwingleCampaign {
// UI, log an error and delete this TwingleCampaign // UI, log an error and delete this TwingleCampaign
else { else {
CRM_Core_Session::setStatus( CRM_Core_Session::setStatus(
ts("Could not determine parent TwingleProject URL. This URL is ts("Could not determine parent TwingleProject URL. This URL is needed to create the TwingleEvent URL. Please check the logs."),
needed to create the TwingleEvent URL. Please check the logs."),
ts('Parent project URL missing'), ts('Parent project URL missing'),
'alert' 'error'
); );
Civi::log()->error( Civi::log()->error(
E::LONG_NAME . E::LONG_NAME .
@ -182,8 +181,7 @@ class CRM_TwingleCampaign_BAO_TwingleCampaign {
} }
else { else {
CRM_Core_Session::setStatus( CRM_Core_Session::setStatus(
ts("TwingleCampaigns can only get created as a child of a ts("TwingleCampaigns can only get created as a child of a TwingleProject in the campaign tree."),
TwingleProject in the campaign tree."),
ts('No parent TwingleProject found'), ts('No parent TwingleProject found'),
'alert' 'alert'
); );

View file

@ -27,11 +27,13 @@ class CRM_TwingleCampaign_BAO_TwingleEvent extends Campaign {
$this->id_custom_field = Cache::getInstance() $this->id_custom_field = Cache::getInstance()
->getCustomFieldMapping()['twingle_event_id']; ->getCustomFieldMapping()['twingle_event_id'];
try { if ($id) {
$this->values['parent_id'] = $this->getParentCampaignId(); try {
} catch (CiviCRM_API3_Exception $e) { $this->values['parent_id'] = $this->getParentCampaignId();
$errorMessage = $e->getMessage(); } catch (CiviCRM_API3_Exception $e) {
throw new Exception("Could not identify parent Campaign: $errorMessage"); $errorMessage = $e->getMessage();
throw new Exception("Could not identify parent Campaign: $errorMessage");
}
} }
} }
@ -152,7 +154,9 @@ class CRM_TwingleCampaign_BAO_TwingleEvent extends Campaign {
self::getTimestamp($values['created_at']); self::getTimestamp($values['created_at']);
// Cast project target to integer // Cast project target to integer
$values['project_target'] = (int) $values['project_target']; if (isset($values['project_target'])) {
$values['project_target'] = (int) $values['project_target'];
}
} }
else { else {

View file

@ -70,6 +70,9 @@ class CRM_TwingleCampaign_Form_Settings extends CRM_Core_Form {
// Set configuration values // Set configuration values
Configuration::set($this->exportValues()); Configuration::set($this->exportValues());
parent::postProcess(); parent::postProcess();
// Display message
CRM_Utils_System::setUFMessage(E::ts('TwingleCampaign configuration saved'));
} }
/** /**

View file

@ -6,6 +6,7 @@ use CRM_TwingleCampaign_BAO_CustomGroup as CustomGroup;
use CRM_TwingleCampaign_BAO_Configuration as Configuration; use CRM_TwingleCampaign_BAO_Configuration as Configuration;
use CRM_TwingleCampaign_BAO_OptionValue as OptionValue; use CRM_TwingleCampaign_BAO_OptionValue as OptionValue;
use CRM_TwingleCampaign_Utils_ExtensionCache as Cache; use CRM_TwingleCampaign_Utils_ExtensionCache as Cache;
use CRM_TwingleCampaign_ExtensionUtil as E;
/** /**
* Collection of upgrade steps. * Collection of upgrade steps.
@ -55,6 +56,30 @@ class CRM_TwingleCampaign_Upgrader extends CRM_TwingleCampaign_Upgrader_Base {
$ov = new OptionValue($option_value); $ov = new OptionValue($option_value);
$ov->create(); $ov->create();
} }
// setup cron job to trigger synchronization
try {
civicrm_api3('Job', 'create', [
'run_frequency' => "Hourly",
'name' => "TwingleSync",
'api_entity' => "TwingleSync",
'api_action' => "sync",
'description' => E::ts("Syncronizes all TwingleProjects an TwingleEvents between CiviCRM and Twingle"),
'is_active' => 1,
]);
} catch (CiviCRM_API3_Exception $e) {
Civi::log()->error(
E::LONG_NAME .
' could not create scheduled job on extension installation: ' .
$e->getMessage()
);
CRM_Core_Session::setStatus(
E::ts('Could not create scheduled job "TwingleSync".'),
E::ts('Scheduled Job'),
error
);
CRM_Utils_System::setUFMessage(E::ts('Could not create scheduled job "TwingleSync". Your Campaigns will not get synchronized to Twingle.'));
}
} }
/** /**
@ -93,34 +118,100 @@ class CRM_TwingleCampaign_Upgrader extends CRM_TwingleCampaign_Upgrader_Base {
// Delete all settings for this extension // Delete all settings for this extension
Configuration::deleteAll(); Configuration::deleteAll();
// Delete cron job
try {
$jobId = civicrm_api3('Job', 'getsingle', [
'name' => "TwingleSync",
])['id'];
civicrm_api3('Job', 'delete', [
'id' => $jobId,
]);
} catch (CiviCRM_API3_Exception $e) {
Civi::log()->error(
E::LONG_NAME .
' could not delete scheduled job on extension uninstallation: ' .
$e->getMessage()
);
CRM_Core_Session::setStatus(
E::ts('Could not delete scheduled job "TwingleSync".'),
E::ts('Scheduled Job'),
error
);
}
} }
/** /**
* @throws \Exception * @throws \Exception
*/ */
public function enable() { public function enable() {
// Enable cron job
try {
$jobId = civicrm_api3('Job', 'getsingle', [
'name' => "TwingleSync",
])['id'];
civicrm_api3('Job', 'create', [
'id' => $jobId,
'is_active' => 1,
]);
} catch (CiviCRM_API3_Exception $e) {
Civi::log()->error(
E::LONG_NAME .
' could not activate scheduled job on extension activation: ' .
$e->getMessage()
);
CRM_Core_Session::setStatus(
E::ts('Could not activate scheduled job "TwingleSync". Your Campaigns will not get synchronized to Twingle.'),
E::ts('Scheduled Job'),
error
);
}
} }
/** /**
* @throws \Exception * @throws \Exception
*/ */
public function disable() { public function disable() {
} // Disable cron job
try {
$jobId = civicrm_api3('Job', 'getsingle', [
'name' => 'TwingleSync',
])['id'];
civicrm_api3('Job', 'create', [
'id' => $jobId,
'is_active' => 0,
]);
} catch (CiviCRM_API3_Exception $e) {
Civi::log()->error(
E::LONG_NAME .
' could not disable scheduled job on extension deactivation: ' .
$e->getMessage()
);
CRM_Core_Session::setStatus(
E::ts('Could not disable scheduled job "TwingleSync".'),
E::ts('Scheduled Job'),
error
);
}
/** // Remove Twingle api key from settings
* Example: Run a couple simple queries. Civi::settings()->revert('twingle_api_key');
*
* @return TRUE on success }
* @throws Exception
* /**
* public function upgrade_4200() { * Example: Run a couple simple queries.
* $this->ctx->log->info('Applying update 4200'); *
* CRM_Core_DAO::executeQuery('UPDATE foo SET bar = "whiz"'); * @return TRUE on success
* CRM_Core_DAO::executeQuery('DELETE FROM bang WHERE willy = wonka(2)'); * @throws Exception
* return TRUE; *
* } // */ * public function upgrade_4200() {
* $this->ctx->log->info('Applying update 4200');
* CRM_Core_DAO::executeQuery('UPDATE foo SET bar = "whiz"');
* CRM_Core_DAO::executeQuery('DELETE FROM bang WHERE willy = wonka(2)');
* return TRUE;
* } // */
/** /**

View file

@ -141,7 +141,17 @@ class CRM_TwingleCampaign_Utils_APIWrapper {
['event_id' => $apiRequest['params']['custom_fields']['event']] ['event_id' => $apiRequest['params']['custom_fields']['event']]
); );
} catch (CiviCRM_API3_Exception $e) { } catch (CiviCRM_API3_Exception $e) {
// Do nothing // If no event was found, sync all Events and try it again
try {
$test = civicrm_api3('TwingleEvent', 'sync');
$targetCampaign = civicrm_api3(
'TwingleEvent',
'getsingle',
['event_id' => $apiRequest['params']['custom_fields']['event']]
);
} catch (CiviCRM_API3_Exception $e) {
// there's nothing left to do
}
} }
} }
else { else {

View file

@ -24,7 +24,7 @@ function _civicrm_api3_twingle_campaign_Get_spec(array &$spec) {
'title' => E::ts('Twingle Campaign CID'), 'title' => E::ts('Twingle Campaign CID'),
'type' => CRM_Utils_Type::T_STRING, 'type' => CRM_Utils_Type::T_STRING,
'api.required' => 0, 'api.required' => 0,
'description' => E::ts('A unique identifier for a TwingleCampaign generated by a hashing its id + name'), 'description' => E::ts('A unique TwingleCampaign identifier for external usage'),
]; ];
$spec['project_id'] = [ $spec['project_id'] = [
'name' => 'project_id', 'name' => 'project_id',

View file

@ -99,7 +99,7 @@ function civicrm_api3_twingle_event_Sync(array $params): array {
$twingleApi = Civi::cache()->get('twinglecampaign_twingle_api'); $twingleApi = Civi::cache()->get('twinglecampaign_twingle_api');
if (NULL === $twingleApi || $params['twingle_api_key'] || $params['limit']) { if (NULL === $twingleApi || $params['twingle_api_key'] || $params['limit']) {
try { try {
if ($params['limit']) { if (isset($params['limit'])) {
$twingleApi = new TwingleApiCall($apiKey, $params['limit']); $twingleApi = new TwingleApiCall($apiKey, $params['limit']);
} }
else { else {
@ -112,7 +112,7 @@ function civicrm_api3_twingle_event_Sync(array $params): array {
} }
// If an id or a event_id is provided, synchronize only this one campaign // If an id or a event_id is provided, synchronize only this one campaign
if ($params['id'] || $params['event_id']) { if (isset($params['id']) || isset($params['event_id'])) {
// Get project from db via API // Get project from db via API
$params['sequential'] = 1; $params['sequential'] = 1;

View file

@ -91,7 +91,7 @@ function civicrm_api3_twingle_project_Sync(array $params): array {
} }
// If an id or a project_id is given, synchronize only this one campaign // If an id or a project_id is given, synchronize only this one campaign
if ($params['id'] || $params['project_id']) { if (isset($params['id']) || isset($params['project_id'])) {
// Get project from db via API // Get project from db via API
$params['sequential'] = 1; $params['sequential'] = 1;

View file

@ -3,21 +3,22 @@ msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"POT-Creation-Date: \n" "POT-Creation-Date: \n"
"PO-Revision-Date: \n" "PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: \n" "Language-Team: \n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: de_DE\n"
"X-Generator: Poedit 2.4.2\n" "X-Generator: Poedit 2.4.2\n"
"Last-Translator: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Language: de_DE\n"
#: CRM/TwingleCampaign/BAO/TwingleCampaign.php #: CRM/TwingleCampaign/BAO/TwingleCampaign.php
msgid "" msgid ""
"Could not determine parent TwingleProject URL. This URL is \n" "Could not determine parent TwingleProject URL. This URL is needed to create "
" needed to create the TwingleEvent URL. Please check the logs." "the TwingleEvent URL. Please check the logs."
msgstr "" msgstr ""
"Konnte keine übergeordnete TwingleProject-URL ermitteln. Diese URL wird \n" "Konnte keine übergeordnete TwingleProject-URL ermitteln. Diese URL wird "
" wird benötigt, um die TwingleEvent-URL zu erzeugen. Bitte prüfen Sie die Logs." "benötigt, um die TwingleEvent-URL zu erzeugen. Bitte prüfen Sie die Logs."
#: CRM/TwingleCampaign/BAO/TwingleCampaign.php #: CRM/TwingleCampaign/BAO/TwingleCampaign.php
msgid "Parent project URL missing" msgid "Parent project URL missing"
@ -25,11 +26,11 @@ msgstr "URL des übergeordneten Projekts fehlt"
#: CRM/TwingleCampaign/BAO/TwingleCampaign.php #: CRM/TwingleCampaign/BAO/TwingleCampaign.php
msgid "" msgid ""
"TwingleCampaigns can only get created as a child of a \n" "TwingleCampaigns can only get created as a child of a TwingleProject in the "
" TwingleProject in the campaign tree." "campaign tree."
msgstr "" msgstr ""
"TwingleCampaigns können nur als Kind eines \n" "TwingleCampaigns können nur als Kind eines TwingleProjekts im Kampagnenbaum "
" TwingleProjekts im Kampagnenbaum angelegt werden." "angelegt werden."
#: CRM/TwingleCampaign/BAO/TwingleCampaign.php #: CRM/TwingleCampaign/BAO/TwingleCampaign.php
msgid "No parent TwingleProject found" msgid "No parent TwingleProject found"
@ -57,6 +58,10 @@ msgstr "Soft Credits für Event-Initiatoren erstellen"
msgid "Save" msgid "Save"
msgstr "Speichern" msgstr "Speichern"
#: CRM/TwingleCampaign/Form/Settings.php
msgid "TwingleCampaign configuration saved"
msgstr "TwingleCampaign Konfiguration gespeichert"
#: CRM/TwingleCampaign/Form/Settings.php #: CRM/TwingleCampaign/Form/Settings.php
msgid "none" msgid "none"
msgstr "keine" msgstr "keine"
@ -65,6 +70,45 @@ msgstr "keine"
msgid "Upgrade %1 to revision %2" msgid "Upgrade %1 to revision %2"
msgstr "Upgrade %1 auf Revision %2" msgstr "Upgrade %1 auf Revision %2"
#: CRM/TwingleCampaign/Upgrader.php
msgid ""
"Syncronizes all TwingleProjects an TwingleEvents between CiviCRM and Twingle"
msgstr ""
"Synchronisiert alle TwingleProjects und TwingleEvents zwischen CiviCRM und "
"Twingle"
#: CRM/TwingleCampaign/Upgrader.php
msgid "Could not create scheduled job \"TwingleSync\"."
msgstr "Geplante Aufgabe \"TwingleSync\" konnte nicht erstellt werden."
#: CRM/TwingleCampaign/Upgrader.php
msgid "Scheduled Job"
msgstr "Geplante Audgabe"
#: CRM/TwingleCampaign/Upgrader.php
msgid ""
"Could not create scheduled job \"TwingleSync\". Your Campaigns will not get "
"synchronized to Twingle."
msgstr ""
"Geplante Aufgabe \"TwingleSync\" konnte nicht erstellt werden. Ihre "
"Kampagnen werden nicht mit Twingle synchronisiert werden."
#: CRM/TwingleCampaign/Upgrader.php
msgid "Could not delete scheduled job \"TwingleSync\"."
msgstr "Geplante Aufgabe \"TwingleSync\" konnte nicht gelöscht werden."
#: CRM/TwingleCampaign/Upgrader.php
msgid ""
"Could not activate scheduled job \"TwingleSync\". Your Campaigns will not "
"get synchronized to Twingle."
msgstr ""
"Geplante Aufgabe \"TwingleSync\" konnte nicht aktiviert werden. Ihre "
"Kampagnen werden nicht mit Twingle synchronisiert werden."
#: CRM/TwingleCampaign/Upgrader.php
msgid "Could not disable scheduled job \"TwingleSync\"."
msgstr "Geplante Aufgabe \"TwingleSync\" konnte nicht deaktiviert werden."
#: api/v3/TwingleCampaign/Create.php api/v3/TwingleCampaign/Delete.php #: api/v3/TwingleCampaign/Create.php api/v3/TwingleCampaign/Delete.php
#: api/v3/TwingleCampaign/Get.php api/v3/TwingleCampaign/Getsingle.php #: api/v3/TwingleCampaign/Get.php api/v3/TwingleCampaign/Getsingle.php
#: api/v3/TwingleCampaign/Sync.php #: api/v3/TwingleCampaign/Sync.php
@ -105,9 +149,9 @@ msgstr "Optionale Eltern-ID für diese Kampagne"
msgid "Twingle Campaign CID" msgid "Twingle Campaign CID"
msgstr "Twingle Campaign CID" msgstr "Twingle Campaign CID"
#: api/v3/TwingleCampaign/Get.php api/v3/TwingleCampaign/Getsingle.php #: api/v3/TwingleCampaign/Get.php
msgid "A unique identifier for a TwingleCampaign generated by a hashing its id + name" msgid "A unique TwingleCampaign identifier for external usage"
msgstr "" msgstr "Ein eindeutiger TwingleCampaign-Bezeichner für die externe Verwendung"
#: api/v3/TwingleCampaign/Get.php api/v3/TwingleCampaign/Sync.php #: api/v3/TwingleCampaign/Get.php api/v3/TwingleCampaign/Sync.php
msgid "Parent Twingle Project ID" msgid "Parent Twingle Project ID"
@ -163,7 +207,7 @@ msgstr "Kampagne verändert durch"
#: api/v3/TwingleEvent/Get.php api/v3/TwingleEvent/Getsingle.php #: api/v3/TwingleEvent/Get.php api/v3/TwingleEvent/Getsingle.php
#: api/v3/TwingleProject/Get.php api/v3/TwingleProject/Getsingle.php #: api/v3/TwingleProject/Get.php api/v3/TwingleProject/Getsingle.php
msgid "FK ti civicrm_contact, who recently edited this campaign" msgid "FK ti civicrm_contact, who recently edited this campaign"
msgstr "" msgstr "FK für civicrm_contact, der diese Kampagne zuletzt bearbeitet hat"
#: api/v3/TwingleCampaign/Get.php api/v3/TwingleCampaign/Getsingle.php #: api/v3/TwingleCampaign/Get.php api/v3/TwingleCampaign/Getsingle.php
#: api/v3/TwingleEvent/Get.php api/v3/TwingleEvent/Getsingle.php #: api/v3/TwingleEvent/Get.php api/v3/TwingleEvent/Getsingle.php
@ -183,6 +227,12 @@ msgstr "Kampagne ist aktiv"
msgid "Is this Campaign enabled or disabled/cancelled?" msgid "Is this Campaign enabled or disabled/cancelled?"
msgstr "Ist diese Kampagne aktiviert oder deaktiviert/abgesagt?" msgstr "Ist diese Kampagne aktiviert oder deaktiviert/abgesagt?"
#: api/v3/TwingleCampaign/Getsingle.php
msgid ""
"A unique identifier for a TwingleCampaign generated by a hashing its id + "
"name"
msgstr ""
#: api/v3/TwingleEvent/Delete.php api/v3/TwingleEvent/Get.php #: api/v3/TwingleEvent/Delete.php api/v3/TwingleEvent/Get.php
#: api/v3/TwingleEvent/Getsingle.php api/v3/TwingleEvent/Sync.php #: api/v3/TwingleEvent/Getsingle.php api/v3/TwingleEvent/Sync.php
#: api/v3/TwingleProject/Delete.php api/v3/TwingleProject/Get.php #: api/v3/TwingleProject/Delete.php api/v3/TwingleProject/Get.php
@ -231,7 +281,9 @@ msgstr "Test"
#: api/v3/TwingleProject/Delete.php api/v3/TwingleProject/Sync.php #: api/v3/TwingleProject/Delete.php api/v3/TwingleProject/Sync.php
#: api/v3/TwingleSync/Sync.php #: api/v3/TwingleSync/Sync.php
msgid "If this is set true, no database change will be made" msgid "If this is set true, no database change will be made"
msgstr "Wenn dieser Wert auf wahr gesetzt ist, werden keine Änderungen an der Datenbank vorgenommen" msgstr ""
"Wenn dieser Wert auf wahr gesetzt ist, werden keine Änderungen an der "
"Datenbank vorgenommen"
#: api/v3/TwingleEvent/Delete.php api/v3/TwingleEvent/Sync.php #: api/v3/TwingleEvent/Delete.php api/v3/TwingleEvent/Sync.php
#: api/v3/TwingleProject/Delete.php api/v3/TwingleProject/Sync.php #: api/v3/TwingleProject/Delete.php api/v3/TwingleProject/Sync.php
@ -256,8 +308,12 @@ msgid "Limit"
msgstr "Limit" msgstr "Limit"
#: api/v3/TwingleEvent/Sync.php api/v3/TwingleSync/Sync.php #: api/v3/TwingleEvent/Sync.php api/v3/TwingleSync/Sync.php
msgid "Limit for the number of events that should get requested per call to the Twingle API" msgid ""
msgstr "Limit für die Anzahl der Events, die pro Aufruf von der Twingle-API angefordert werden sollen" "Limit for the number of events that should get requested per call to the "
"Twingle API"
msgstr ""
"Limit für die Anzahl der Events, die pro Aufruf von der Twingle-API "
"angefordert werden sollen"
#: api/v3/TwingleForm/Create.php api/v3/TwingleForm/Get.php #: api/v3/TwingleForm/Create.php api/v3/TwingleForm/Get.php
#: api/v3/TwingleForm/Getsingle.php #: api/v3/TwingleForm/Getsingle.php
@ -291,7 +347,7 @@ msgstr "TwingleProject Titel"
#: api/v3/TwingleForm/Get.php api/v3/TwingleForm/Getsingle.php #: api/v3/TwingleForm/Get.php api/v3/TwingleForm/Getsingle.php
msgid "Title of the TwingleProject campaign" msgid "Title of the TwingleProject campaign"
msgstr "Titeö der TwingleProject-Kampagne" msgstr "Titel der TwingleProject-Kampagne"
#: api/v3/TwingleForm/Get.php api/v3/TwingleForm/Getsingle.php #: api/v3/TwingleForm/Get.php api/v3/TwingleForm/Getsingle.php
msgid "TwingleProject type" msgid "TwingleProject type"

View file

@ -1,5 +1,5 @@
#: ./CRM/TwingleCampaign/BAO/TwingleCampaign.php #: ./CRM/TwingleCampaign/BAO/TwingleCampaign.php
msgid "Could not determine parent TwingleProject URL. This URL is \n needed to create the TwingleEvent URL. Please check the logs." msgid "Could not determine parent TwingleProject URL. This URL is needed to create the TwingleEvent URL. Please check the logs."
msgstr "" msgstr ""
#: ./CRM/TwingleCampaign/BAO/TwingleCampaign.php #: ./CRM/TwingleCampaign/BAO/TwingleCampaign.php
@ -7,7 +7,7 @@ msgid "Parent project URL missing"
msgstr "" msgstr ""
#: ./CRM/TwingleCampaign/BAO/TwingleCampaign.php #: ./CRM/TwingleCampaign/BAO/TwingleCampaign.php
msgid "TwingleCampaigns can only get created as a child of a \n TwingleProject in the campaign tree." msgid "TwingleCampaigns can only get created as a child of a TwingleProject in the campaign tree."
msgstr "" msgstr ""
#: ./CRM/TwingleCampaign/BAO/TwingleCampaign.php #: ./CRM/TwingleCampaign/BAO/TwingleCampaign.php
@ -34,6 +34,10 @@ msgstr ""
msgid "Save" msgid "Save"
msgstr "" msgstr ""
#: ./CRM/TwingleCampaign/Form/Settings.php
msgid "TwingleCampaign configuration saved"
msgstr ""
#: ./CRM/TwingleCampaign/Form/Settings.php #: ./CRM/TwingleCampaign/Form/Settings.php
msgid "none" msgid "none"
msgstr "" msgstr ""
@ -42,6 +46,34 @@ msgstr ""
msgid "Upgrade %1 to revision %2" msgid "Upgrade %1 to revision %2"
msgstr "" msgstr ""
#: ./CRM/TwingleCampaign/Upgrader.php
msgid "Syncronizes all TwingleProjects an TwingleEvents between CiviCRM and Twingle"
msgstr ""
#: ./CRM/TwingleCampaign/Upgrader.php
msgid "Could not create scheduled job \"TwingleSync\"."
msgstr ""
#: ./CRM/TwingleCampaign/Upgrader.php
msgid "Scheduled Job"
msgstr ""
#: ./CRM/TwingleCampaign/Upgrader.php
msgid "Could not create scheduled job \"TwingleSync\". Your Campaigns will not get synchronized to Twingle."
msgstr ""
#: ./CRM/TwingleCampaign/Upgrader.php
msgid "Could not delete scheduled job \"TwingleSync\"."
msgstr ""
#: ./CRM/TwingleCampaign/Upgrader.php
msgid "Could not activate scheduled job \"TwingleSync\". Your Campaigns will not get synchronized to Twingle."
msgstr ""
#: ./CRM/TwingleCampaign/Upgrader.php
msgid "Could not disable scheduled job \"TwingleSync\"."
msgstr ""
#: ./api/v3/TwingleCampaign/Create.php ./api/v3/TwingleCampaign/Delete.php ./api/v3/TwingleCampaign/Get.php ./api/v3/TwingleCampaign/Getsingle.php ./api/v3/TwingleCampaign/Sync.php #: ./api/v3/TwingleCampaign/Create.php ./api/v3/TwingleCampaign/Delete.php ./api/v3/TwingleCampaign/Get.php ./api/v3/TwingleCampaign/Getsingle.php ./api/v3/TwingleCampaign/Sync.php
msgid "Twingle Campaign ID" msgid "Twingle Campaign ID"
msgstr "" msgstr ""
@ -78,8 +110,8 @@ msgstr ""
msgid "Twingle Campaign CID" msgid "Twingle Campaign CID"
msgstr "" msgstr ""
#: ./api/v3/TwingleCampaign/Get.php ./api/v3/TwingleCampaign/Getsingle.php #: ./api/v3/TwingleCampaign/Get.php
msgid "A unique identifier for a TwingleCampaign generated by a hashing its id + name" msgid "A unique TwingleCampaign identifier for external usage"
msgstr "" msgstr ""
#: ./api/v3/TwingleCampaign/Get.php ./api/v3/TwingleCampaign/Sync.php #: ./api/v3/TwingleCampaign/Get.php ./api/v3/TwingleCampaign/Sync.php
@ -134,6 +166,10 @@ msgstr ""
msgid "Is this Campaign enabled or disabled/cancelled?" msgid "Is this Campaign enabled or disabled/cancelled?"
msgstr "" msgstr ""
#: ./api/v3/TwingleCampaign/Getsingle.php
msgid "A unique identifier for a TwingleCampaign generated by a hashing its id + name"
msgstr ""
#: ./api/v3/TwingleEvent/Delete.php ./api/v3/TwingleEvent/Get.php ./api/v3/TwingleEvent/Getsingle.php ./api/v3/TwingleEvent/Sync.php ./api/v3/TwingleProject/Delete.php ./api/v3/TwingleProject/Get.php ./api/v3/TwingleProject/Getsingle.php ./api/v3/TwingleProject/Sync.php #: ./api/v3/TwingleEvent/Delete.php ./api/v3/TwingleEvent/Get.php ./api/v3/TwingleEvent/Getsingle.php ./api/v3/TwingleEvent/Sync.php ./api/v3/TwingleProject/Delete.php ./api/v3/TwingleProject/Get.php ./api/v3/TwingleProject/Getsingle.php ./api/v3/TwingleProject/Sync.php
msgid "Campaign ID" msgid "Campaign ID"
msgstr "" msgstr ""