Circle Interactive - Dave Jenkins, Kirk Jackson, Martin Castle, Pradeep Nayak,
Reece Benson
CiviCoop - Jaap Jansma, Klaas Eikelboom
-CiviDesk - Sunil Pawar, Sushant Paste, Yashodha Chaku
+CiviDesk - Sushant Paste, Yashodha Chaku
CiviFirst - John Kirk
CompuCorp - Camilo Rodriguez, Davi Alexandre, Debarshi Bhaumik, Michael Devery,
Mukesh Ram, Omar Abu Hussein, René Olivo, Vinu Varshith Sekar
Samson Alajede
Selwyn Tang
Semper IT - Karin Gerritsen
-Skvare - Mark Hanna
+Skvare - Mark Hanna, Sunil Pawar
Squiffle Consulting - Aidan Saunders
Stephen Palmstrom
Steve Ellis
<?xml version="1.0" encoding="iso-8859-1" ?>
<CaseType>
- <name>Adult Day Care Referral</name>
+ <name>adult_day_care_referral</name>
<ActivityTypes>
<ActivityType>
<name>Open Case</name>
<?xml version="1.0" encoding="iso-8859-1" ?>
<CaseType>
- <name>Housing Support</name>
+ <name>housing_support</name>
<ActivityTypes>
<ActivityType>
<name>Open Case</name>
$this->assign('pay_later_receipt', CRM_Utils_Array::value('pay_later_receipt', $this->_values));
}
- if ($this->_membershipBlock['is_separate_payment'] && !empty($params['separate_amount'])) {
+ if ($this->_membershipBlock && $this->_membershipBlock['is_separate_payment'] && !empty($params['separate_amount'])) {
$this->set('amount', $params['separate_amount']);
}
else {
$this->handlePaymentExpress();
return;
}
- $objects = $ids = $input = [];
+ $ids = $input = [];
$this->_component = $input['component'] = self::getValue('m');
$input['invoice'] = self::getValue('i', TRUE);
// get the contribution and contact ids from the GET params
$ids['contact'] = $contribution->contact_id;
}
- if (!empty($ids['contributionRecur'])) {
- $contributionRecur = new CRM_Contribute_BAO_ContributionRecur();
- $contributionRecur->id = $ids['contributionRecur'];
- if (!$contributionRecur->find(TRUE)) {
- CRM_Core_Error::debug_log_message("Could not find contribution recur record: {$ids['ContributionRecur']} in IPN request: " . print_r($input, TRUE));
- echo "Failure: Could not find contribution recur record: {$ids['ContributionRecur']}<p>";
- return;
- }
- }
-
- $objects['contact'] = &$contact;
- $objects['contribution'] = &$contribution;
-
// CRM-19478: handle oddity when p=null is set in place of contribution page ID,
if (!empty($ids['contributionPage']) && !is_numeric($ids['contributionPage'])) {
// We don't need to worry if about removing contribution page id as it will be set later in
unset($ids['contributionPage']);
}
- $contribution = &$objects['contribution'];
$ids['paymentProcessor'] = $paymentProcessorID;
$contribution->loadRelatedObjects($input, $ids);
- $objects = array_merge($objects, $contribution->_relatedObjects);
$input['payment_processor_id'] = $paymentProcessorID;
if ($ids['contributionRecur']) {
+ $contributionRecur = new CRM_Contribute_BAO_ContributionRecur();
+ $contributionRecur->id = $ids['contributionRecur'];
+ if (!$contributionRecur->find(TRUE)) {
+ CRM_Core_Error::debug_log_message("Could not find contribution recur record: {$ids['ContributionRecur']} in IPN request: " . print_r($input, TRUE));
+ echo "Failure: Could not find contribution recur record: {$ids['ContributionRecur']}<p>";
+ return;
+ }
// check if first contribution is completed, else complete first contribution
$first = TRUE;
$completedStatusId = CRM_Core_PseudoConstant::getKey('CRM_Contribute_BAO_Contribution', 'contribution_status_id', 'Completed');
- if ($objects['contribution']->contribution_status_id == $completedStatusId) {
+ if ($contribution->contribution_status_id == $completedStatusId) {
$first = FALSE;
}
- $this->recur($input, $ids, $objects['contributionRecur'], $objects['contribution'], $first);
+ $this->recur($input, $ids, $contributionRecur, $contribution, $first);
return;
}
'related_contact' => $ids['related_contact'] ?? NULL,
'participant' => $ids['participant'] ?? NULL,
'contributionRecur' => $ids['contributionRecur'] ?? NULL,
- ], $objects['contribution'], FALSE, FALSE);
+ ], $contribution, FALSE, FALSE);
}
catch (CRM_Core_Exception $e) {
Civi::log()->debug($e->getMessage());
$this->statuses = NULL;
$this->mapper->refresh();
- CRM_Core_Invoke::rebuildMenuAndCaches(TRUE);
-
- $schema = new CRM_Logging_Schema();
- $schema->fixSchemaDifferences();
+ if (!CRM_Core_Config::isUpgradeMode()) {
+ CRM_Core_Invoke::rebuildMenuAndCaches(TRUE);
+ $schema = new CRM_Logging_Schema();
+ $schema->fixSchemaDifferences();
+ }
foreach ($keys as $key) {
// throws Exception
list ($info, $typeManager) = $this->_getInfoTypeHandler($key);
$messages = [];
$manager = CRM_Extension_System::singleton()->getManager();
foreach ($manager->getStatuses() as $key => $status) {
+ $enableReplacement = CRM_Core_DAO::singleValueQuery('SELECT is_active FROM civicrm_extension WHERE full_name = %1', [1 => [$key, 'String']]);
$obsolete = $manager->isIncompatible($key);
if ($obsolete) {
if (!empty($obsolete['disable']) && in_array($status, [$manager::STATUS_INSTALLED, $manager::STATUS_INSTALLED_MISSING])) {
1 => [$key, 'String'],
]);
}
+ if (!empty($obsolete['replacement']) && $enableReplacement) {
+ try {
+ $manager->enable($manager->install($obsolete['replacement']));
+ $messages[] = ts('A replacement extension %1 has been installed as you had the obsolete extension %2 installed', [1 => $obsolete['replacement'], 2 => $key]);
+ }
+ catch (CRM_Extension_Exception $e) {
+ $messages[] = ts('The replacement extension %1 could not be installed due to an error. It is recommended to enable this extension manually.', [1 => $obsolete['replacement']]);
+ }
+ }
}
}
if ($messages) {
return $messages;
}
+ /**
+ * At some point the valid names changed so that you can't have e.g. spaces.
+ * For systems upgraded that use external xml files it's then not clear why
+ * the other messages about outdated filenames are coming up because when
+ * you then fix it as suggested it then gives a red error just saying it
+ * can't find it.
+ */
+ public function checkCaseTypeNameValidity() {
+ $messages = [];
+ $dao = CRM_Core_DAO::executeQuery("SELECT id, name, title FROM civicrm_case_type");
+ while ($dao->fetch()) {
+ if (!CRM_Case_BAO_CaseType::isValidName($dao->name)) {
+ $messages[] = new CRM_Utils_Check_Message(
+ __FUNCTION__ . "invalidcasetypename",
+ '<p>' . ts('Case Type "<em>%1</em>" has invalid characters in the internal machine name (<em>%2</em>). Only letters, numbers, and underscore are allowed.',
+ [
+ 1 => htmlspecialchars(empty($dao->title) ? $dao->id : $dao->title),
+ 2 => htmlspecialchars($dao->name),
+ ]) . '</p>',
+ ts('Invalid Case Type Name'),
+ \Psr\Log\LogLevel::ERROR,
+ 'fa-exclamation'
+ );
+ }
+ }
+ return $messages;
+ }
+
}
case 0:
$messageText = [
ts(
- 'CiviCRM relies upon a <a href="%1%2">base page in WordPress</a>, but it is not published.',
+ 'CiviCRM relies upon a <a href="%1">base page in WordPress</a>, but it is not published.',
[
- 1 => $config->userFrameworkBaseURL,
- 2 => $config->wpBasePage,
+ 1 => $config->userFrameworkBaseURL . $config->wpBasePage,
]
),
];
);
$messageText = [
ts(
- 'CiviCRM relies upon a base page in WordPress at %1%2, but it is missing.',
+ 'CiviCRM relies upon a base page in WordPress at %1, but it is missing.',
[
- 1 => $config->userFrameworkBaseURL,
- 2 => $config->wpBasePage,
+ 1 => $config->userFrameworkBaseURL . $config->wpBasePage,
]
),
];
if ($exists >= 0) {
// One of the possible defaults is here, published or not.
$messageText[] = ts(
- 'The default is %1%2, which <a href="%1%2">does exist on this site</a>.',
+ 'The default is %1, which <a href="%1">does exist on this site</a>.',
[
- 1 => $config->userFrameworkBaseURL,
- 2 => $slug,
+ 1 => $config->userFrameworkBaseURL . $slug,
]
);
if ($exists == 0) {
// We went through the default(s) and couldn't find one. Defer to
// the one modified by the filter.
$messageText[] = ts(
- 'The default is %1%2, but that does not exist on this site either.',
+ 'The default is %1, but that does not exist on this site either.',
[
- 1 => $config->userFrameworkBaseURL,
- 2 => $altSlugs[0],
+ 1 => $config->userFrameworkBaseURL . $altSlugs[0],
]
);
}
require_once "$cmsPath/core/includes/config.inc";
backdrop_bootstrap(BACKDROP_BOOTSTRAP_FULL);
- // Explicitly setting error reporting, since we cannot handle Backdrop
- // related notices.
- error_reporting(1);
if (!function_exists('module_exists') || !module_exists('civicrm')) {
if ($throwError) {
echo '<br />Sorry, could not load Backdrop bootstrap.';
// @ to suppress notices eg 'DRUPALFOO already defined'.
@drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
- // explicitly setting error reporting, since we cannot handle drupal related notices
- // @todo 1 = E_ERROR, but more to the point setting error reporting deep in code
- // causes grief with debugging scripts
- error_reporting(1);
if (!function_exists('module_exists')) {
if ($throwError) {
throw new Exception('Sorry, could not load drupal bootstrap.');
--- /dev/null
+<?php
+
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved. |
+ | |
+ | This work is published under the GNU AGPLv3 license with some |
+ | permitted exceptions and without any warranty. For full license |
+ | and copyright information, see https://civicrm.org/licensing |
+ +--------------------------------------------------------------------+
+ */
+
+/**
+ *
+ * @package CRM
+ * @copyright CiviCRM LLC https://civicrm.org/licensing
+ */
+
+
+namespace Civi\Api4;
+
+/**
+ * PledgePayment entity.
+ *
+ * @package Civi\Api4
+ */
+class PledgePayment extends Generic\DAOEntity {
+
+}
'description' => ts('Transaction id supplied by external processor. This may not be unique.'),
'type' => CRM_Utils_Type::T_STRING,
],
+ 'order_reference' => [
+ 'title' => ts('Order Reference'),
+ 'description' => ts('Payment Processor external order reference'),
+ 'type' => CRM_Utils_Type::T_STRING,
+ ],
'trxn_date' => [
'title' => ts('Payment Date'),
'type' => CRM_Utils_Type::T_TIMESTAMP,
- github : sunilpawar
name : Sunil Pawar
- organization: CiviDesk
+ organization: Skvare
jira : sunil
- github : swastikpareek
{
"org.civicrm.afform-gui": {
"obsolete": "5.35",
- "force-uninstall": true
+ "force-uninstall": true,
+ "replacement": "org.civicrm.afform_admin"
},
"com.civibridge.quickmenu": {
"obsolete": "5.24",
<td class="label">{$form.weight.label}</td>
<td>{$form.weight.html|crmAddClass:two}
{if $action neq 4}
+ <br />
<span class="description">{ts}Weight controls the order in which fields are displayed in a group. Enter a positive or negative integer - lower numbers are displayed ahead of higher numbers.{/ts}</span>
{/if}
</td>
<td class="label">{$form.help_post.label} {if $action == 2}{include file='CRM/Core/I18n/Dialog.tpl' table='civicrm_custom_field' field='help_post' id=$id}{/if}</td>
<td class="html-adjust">{$form.help_post.html|crmAddClass:huge}
{if $action neq 4}
+ <br />
<span class="description">{ts}Explanatory text displayed on back-end forms. Pre help is displayed inline on the form (above the field). Post help is displayed in a pop-up - users click the help balloon to view help text.{/ts}</span>
{/if}
</td>
<tr class="crm-custom-field-form-block-is_view">
<td class="label">{$form.is_view.label}</td>
<td class="html-adjust">{$form.is_view.html}
- <span class="description">{ts}Is this field set by PHP code (via a custom hook). This field will not be updated by CiviCRM.{/ts}</span>
+ {if $action neq 4}
+ <br />
+ <span class="description">{ts}Is this field set by PHP code (via a custom hook). This field will not be updated by CiviCRM.{/ts}</span>
+ {/if}
</td>
</tr>
</table>
"financial_type_id:name": "Donation",
"contact_id": "@ref test_contact_1.id"
}
+ ],
+ "Pledge" : [
+ {
+ "contact_id": "@ref test_contact_1.id",
+ "original_installment_amount" : 10,
+ "amount" : 10,
+ "start_date" : "now",
+ "create_date" : "now",
+ "status_id:name" : "Pending"
+ }
]
}