CiviCRM Core issueshttps://lab.civicrm.org/dev/core/-/issues2019-05-24T01:27:11Zhttps://lab.civicrm.org/dev/core/-/issues/959Expose contribution page in Contribution Summary report2019-05-24T01:27:11ZyashodhaExpose contribution page in Contribution Summary reportExpose contribution page in Contribution Summary reportExpose contribution page in Contribution Summary report5.15.0yashodhayashodhahttps://lab.civicrm.org/dev/core/-/issues/953Updating contact (with no email) via import adding email doesn't set email as...2019-08-08T01:16:22Zluke.stewartUpdating contact (with no email) via import adding email doesn't set email as primaryHave replicated on dmaster running 5.15.alpha1
To reproduce:
In Civicrm
Create a new contact with no email address.
On your computer:
Create a CSV with one row and two columns - Contact ID,email address
In Civicrm
Contacts-> Import...Have replicated on dmaster running 5.15.alpha1
To reproduce:
In Civicrm
Create a new contact with no email address.
On your computer:
Create a CSV with one row and two columns - Contact ID,email address
In Civicrm
Contacts-> Import Contacts
Select the csv created above, Change the "For Duplicate contacts" option to "Update" or "Fill".
Step through rest of the import - mapping the contact ID and email to the appropriate fields.
Using the api explorer (or via the database/drush etc) check the email for this contact
```
drush cvapi Email.get sequential=1 return="is_primary" contact_id=209
```
```
{
"is_error": 0,
"version": 3,
"count": 1,
"id": 191,
"values": [
{
"id": "191",
"is_primary": "0"
}
]
}
```
Impact:
If a contact has only one email it should be set to primary. If it's not set to primary they are not emailable. They will not be included in bulk mailings. If attempting to use action mail from their profile you will get a warning "Selected contact(s) do not have a valid email address, or communication preferences specify DO NOT EMAIL, or they are deceased or Primary email address is On Hold".
Clicking on the email to edit shows it marked as primary - you can see however in the database or using the api explorer it's not set as primary.
This is possibly a wider data integrity issue - is there ever a case whereby a contact has one email and it shouldn't be set to primary?5.15.0https://lab.civicrm.org/dev/core/-/issues/932Dedupe screen: single "flip" and multi-selected-flip have no effect2019-05-12T23:27:12ZbgmDedupe screen: single "flip" and multi-selected-flip have no effectHow to reproduce on dmaster:
* Go to: Contacts > Find and merge duplicates
* Select the "Name and address" rule, which brings you here: https://dmaster.demo.civicrm.org/civicrm/contact/dedupefind?reset=1&action=update&rgid=7#
Then noti...How to reproduce on dmaster:
* Go to: Contacts > Find and merge duplicates
* Select the "Name and address" rule, which brings you here: https://dmaster.demo.civicrm.org/civicrm/contact/dedupefind?reset=1&action=update&rgid=7#
Then notice that)
1. when we click on "flip" for a single entry, it seems to flip, but the "merge" link is the same, so doing the actual merge does not flip the direction.
2. if we click the checkbox for the result, then click the "Flip selected duplicates", nothing happens.
![civicrm-dedupe-flip](/uploads/712aaa8949e7f0d7b9018bdb78e148ea/civicrm-dedupe-flip.jpg)5.15.0https://lab.civicrm.org/dev/core/-/issues/926Searching for removed contacts in a smart group doesn't work2019-06-27T05:05:12ZeileenSearching for removed contacts in a smart group doesn't workFrom the code this seems like a 'never worked' or not for a long time
Prelminary clean up & test to prevent breakage
https://github.com/civicrm/civicrm-core/pull/14181 - actual fix to come
![Screenshot_2019-05-02_17.12.39](/uploads/7...From the code this seems like a 'never worked' or not for a long time
Prelminary clean up & test to prevent breakage
https://github.com/civicrm/civicrm-core/pull/14181 - actual fix to come
![Screenshot_2019-05-02_17.12.39](/uploads/7214af45b746a26abac2592a52ff8251/Screenshot_2019-05-02_17.12.39.png)5.15.0https://lab.civicrm.org/dev/core/-/issues/898incorrect Drupal 8 login URL2019-05-26T00:07:12Zjohnkincorrect Drupal 8 login URLIf you create a public contribution page on a Drupal 8 site, it will include a login link for unauthenticated users, with parameters `?destination=...` to direct back to the contribution page after login. This link is broken with recent ...If you create a public contribution page on a Drupal 8 site, it will include a login link for unauthenticated users, with parameters `?destination=...` to direct back to the contribution page after login. This link is broken with recent Drupal versions, because it needs to go to /user/login instead of just /user.
I have a fix in my branch; will post the PR.5.15.0https://lab.civicrm.org/dev/core/-/issues/754Fatal db error in search (with ONLY_FULL_GROUP_BY)2019-09-16T17:49:43ZbjoernFatal db error in search (with ONLY_FULL_GROUP_BY)CiviCRM-Version 5.10.3
MySQL-Version: 5.7.25
PHP-Version: 7.2
Steps to reproduce:
1. Select Search / Find Contacts
2. Leave Field "Name or Email" empty to get at least 2 Pages with results.
3. Click on the page-up button on the top rig...CiviCRM-Version 5.10.3
MySQL-Version: 5.7.25
PHP-Version: 7.2
Steps to reproduce:
1. Select Search / Find Contacts
2. Leave Field "Name or Email" empty to get at least 2 Pages with results.
3. Click on the page-up button on the top right corner.
Popup appears with message:
`Network Error
Unable to reach the server. Please refresh this page in your browser and try again.`
Error message of the response:
`DB Error: unknown error
Return to home page.`
CiviCRM Error-log:
```SQL
SELECT
contact_a.id as contact_id,
contact_a.contact_type as `contact_type`,
contact_a.contact_sub_type as `contact_sub_type`,
contact_a.sort_name as `sort_name`,
contact_a.display_name as `display_name`,
contact_a.do_not_email as `do_not_email`,
contact_a.do_not_phone as `do_not_phone`,
contact_a.do_not_mail as `do_not_mail`,
contact_a.do_not_sms as `do_not_sms`,
contact_a.do_not_trade as `do_not_trade`,
contact_a.is_opt_out as `is_opt_out`,
contact_a.legal_identifier as `legal_identifier`,
contact_a.external_identifier as `external_identifier`,
contact_a.nick_name as `nick_name`,
contact_a.legal_name as `legal_name`,
contact_a.image_URL as `image_URL`,
contact_a.preferred_communication_method as `preferred_communication_method`,
contact_a.preferred_language as `preferred_language`,
contact_a.preferred_mail_format as `preferred_mail_format`,
contact_a.first_name as `first_name`,
contact_a.middle_name as `middle_name`,
contact_a.last_name as `last_name`,
contact_a.prefix_id as `prefix_id`,
contact_a.suffix_id as `suffix_id`,
contact_a.formal_title as `formal_title`,
contact_a.communication_style_id as `communication_style_id`,
contact_a.job_title as `job_title`,
contact_a.gender_id as `gender_id`,
contact_a.birth_date as `birth_date`,
contact_a.is_deceased as `is_deceased`,
contact_a.deceased_date as `deceased_date`,
contact_a.household_name as `household_name`,
IF ( contact_a.contact_type = 'Individual', NULL, contact_a.organization_name ) as organization_name,
contact_a.sic_code as `sic_code`,
contact_a.is_deleted as `contact_is_deleted`,
IF ( contact_a.contact_type = 'Individual', contact_a.organization_name, NULL ) as current_employer,
civicrm_address.id as address_id,
civicrm_address.street_address as `street_address`,
civicrm_address.supplemental_address_1 as `supplemental_address_1`,
civicrm_address.supplemental_address_2 as `supplemental_address_2`,
civicrm_address.supplemental_address_3 as `supplemental_address_3`,
civicrm_address.city as `city`,
civicrm_address.postal_code_suffix as `postal_code_suffix`,
civicrm_address.postal_code as `postal_code`,
civicrm_address.geo_code_1 as `geo_code_1`,
civicrm_address.geo_code_2 as `geo_code_2`,
civicrm_address.state_province_id as state_province_id,
civicrm_address.country_id as country_id,
civicrm_phone.id as phone_id,
civicrm_phone.phone_type_id as phone_type_id,
civicrm_phone.phone as `phone`,
civicrm_email.id as email_id,
civicrm_email.email as `email`,
civicrm_email.on_hold as `on_hold`,
civicrm_im.id as im_id,
civicrm_im.provider_id as provider_id,
civicrm_im.name as `im`,
civicrm_worldregion.id as worldregion_id,
civicrm_worldregion.name as `world_region`,
(CASE
WHEN contact_a.id = 14799 THEN 0
WHEN contact_a.id = 17549 THEN 1
.
.
.
.
WHEN contact_a.id = 23911 THEN 47
WHEN contact_a.id = 23915 THEN 48
WHEN contact_a.id = 23048 THEN 49
END
) AS _wgt
FROM civicrm_contact contact_a
LEFT JOIN civicrm_address ON ( contact_a.id = civicrm_address.contact_id AND civicrm_address.is_primary = 1 )
LEFT JOIN civicrm_email ON (contact_a.id = civicrm_email.contact_id AND civicrm_email.is_primary = 1)
LEFT JOIN civicrm_phone ON (contact_a.id = civicrm_phone.contact_id AND civicrm_phone.is_primary = 1)
LEFT JOIN civicrm_im ON (contact_a.id = civicrm_im.contact_id AND civicrm_im.is_primary = 1)
LEFT JOIN civicrm_country ON civicrm_address.country_id = civicrm_country.id
LEFT JOIN civicrm_worldregion ON civicrm_country.region_id = civicrm_worldregion.id
WHERE (contact_a.is_deleted = 0)
AND contact_a.id IN (14799,17549, .... ,23915,23048)
GROUP BY contact_a.id ORDER BY _wgt
[nativecode=1055 ** Expression #37 of SELECT list is not in GROUP BY clause and contains nonaggregated column '*****.civicrm_address.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by]
```5.15.0https://lab.civicrm.org/dev/core/-/issues/743Case report showing 1 result2019-05-25T06:06:01ZDevAppCase report showing 1 resultAs of 5.10.2 the case summary report joins with relationships.
`
SELECT SQL_CALC_FOUND_ROWS c2_civireport.sort_name as civicrm_c2_client_name, c2_civireport.id as civicrm_c2_id, case_civireport.id as civicrm_case_id, case_civireport.subj...As of 5.10.2 the case summary report joins with relationships.
`
SELECT SQL_CALC_FOUND_ROWS c2_civireport.sort_name as civicrm_c2_client_name, c2_civireport.id as civicrm_c2_id, case_civireport.id as civicrm_case_id, case_civireport.subject as civicrm_case_subject, case_civireport.status_id as civicrm_case_status_id, case_civireport.case_type_id as civicrm_case_case_type_id, case_civireport.start_date as civicrm_case_start_date, case_civireport.end_date as civicrm_case_end_date
FROM civicrm_contact contact_civireport
inner join civicrm_relationship relationship_civireport on contact_civireport.id = relationship_civireport.contact_id_b
inner join civicrm_case case_civireport on case_civireport.id = relationship_civireport.case_id
inner join civicrm_relationship_type relationship_type_civireport on relationship_type_civireport.id=relationship_civireport.relationship_type_id
inner join civicrm_case_contact case_contact_civireport on case_contact_civireport.case_id = case_civireport.id
inner join civicrm_contact c2_civireport on c2_civireport.id=case_contact_civireport.contact_id
WHERE case_civireport.case_type_id REGEXP '[[:cntrl:]]*29[[:cntrl:]]*' AND ( case_civireport.is_deleted = 0 )
ORDER BY c2_civireport.sort_name ASC
LIMIT 0, 50
`
This only returns 1 result on a client's case summary report. Performing a Find Case returns 400+ results.
Reverting to an earlier version of the report fixes the issue:
`
SELECT SQL_CALC_FOUND_ROWS c2_civireport.sort_name as civicrm_c2_client_name, c2_civireport.id as civicrm_c2_id, case_civireport.id as civicrm_case_id, case_civireport.subject as civicrm_case_subject, case_civireport.status_id as civicrm_case_status_id, case_civireport.case_type_id as civicrm_case_case_type_id, case_civireport.start_date as civicrm_case_start_date, case_civireport.end_date as civicrm_case_end_date
FROM civicrm_case case_civireport
inner join civicrm_case_contact case_contact_civireport on case_contact_civireport.case_id = case_civireport.id
inner join civicrm_contact c2_civireport on c2_civireport.id=case_contact_civireport.contact_id
WHERE case_civireport.case_type_id REGEXP '[[:cntrl:]]*29[[:cntrl:]]*' AND ( case_civireport.status_id IN (1) )
LIMIT 0, 50
`
It appears the case summary report has changed to support relationships.
Checking the civicrm_relationship for a case ID that is valid, there isn't a case_id present for that case. Ideally this report should not be dependent (INNER JOIN) for a relationship existing and should begin withh the civicrm_case table.5.15.0https://lab.civicrm.org/dev/core/-/issues/723File custom fields cause a fatal error when trying to merge2019-05-30T21:47:13ZtommyboboFile custom fields cause a fatal error when trying to mergeIf you are trying to merge a contact with a custom field that is a file, if the contact that will be deleted is passing a file to the remain contact, the merge will fail, generate a fatal error, and lose all the custom data in the set in...If you are trying to merge a contact with a custom field that is a file, if the contact that will be deleted is passing a file to the remain contact, the merge will fail, generate a fatal error, and lose all the custom data in the set including the file.
To recreate:
1. Create a contact custom field that accepts a file.
2. Add files to one or two contact records.
3. Merge a contact with a file into another contact
4. Fatal Error occurs. All files are no longer attached to the custom fields. The contact to be deleted loses all the custom fields. While the remaining contact looses only the file.
If the contact that is to remain has no image the error message is
> **No record found for given file ID - 0 and entity ID - 203**
The Entity ID is the Contact ID of the remaining contact
> Feb 13 16:13:23 [info] $backTrace = #0 /srv/www/demo19/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Error.php(381): CRM_Core_Error::backtrace("backTrace", TRUE)
> #1 /srv/www/demo19/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/BAO/File.php(234): CRM_Core_Error::fatal("No record found for given file ID - 0 and entity ID - 203")
> #2 /srv/www/demo19/public_html/wp-content/plugins/civicrm/civicrm/CRM/Dedupe/Merger.php(1723): CRM_Core_BAO_File::deleteFileReferences(NULL, "203", 9)
> #3 /srv/www/demo19/public_html/wp-content/plugins/civicrm/civicrm/CRM/Contact/Form/Merge.php(289): CRM_Dedupe_Merger::moveAllBelongings("203", "204", (Array:11))
> #4 /srv/www/demo19/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Form.php(489): CRM_Contact_Form_Merge->postProcess()
> #5 /srv/www/demo19/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/StateMachine.php(160): CRM_Core_Form->mainProcess()
> #6 /srv/www/demo19/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/QuickForm/Action/Next.php(61): CRM_Core_StateMachine->perform(Object(CRM_Contact_Form_Merge), "next", "Next")
> #7 /srv/www/demo19/public_html/wp-content/plugins/civicrm/civicrm/packages/HTML/QuickForm/Controller.php(203): CRM_Core_QuickForm_Action_Next->perform(Object(CRM_Contact_Form_Merge), "next")
> #8 /srv/www/demo19/public_html/wp-content/plugins/civicrm/civicrm/packages/HTML/QuickForm/Page.php(103): HTML_QuickForm_Controller->handle(Object(CRM_Contact_Form_Merge), "next")
> #9 /srv/www/demo19/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Controller.php(351): HTML_QuickForm_Page->handle("next")
> #10 /srv/www/demo19/public_html/wp-content/plugins/civicrm/civicrm/CRM/Utils/Wrapper.php(113): CRM_Core_Controller->run()
> #11 /srv/www/demo19/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(282): CRM_Utils_Wrapper->run("CRM_Contact_Form_Merge", "Merge Contact", (Array:0))
> #12 /srv/www/demo19/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(84): CRM_Core_Invoke::runItem((Array:13))
> #13 /srv/www/demo19/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(52): CRM_Core_Invoke::_invoke((Array:3))
> #14 /srv/www/demo19/public_html/wp-content/plugins/civicrm/civicrm.php(1240): CRM_Core_Invoke::invoke((Array:3))
> #15 /srv/www/demo19/public_html/wp-includes/class-wp-hook.php(298): CiviCRM_For_WordPress->invoke("")
> #16 /srv/www/demo19/public_html/wp-includes/class-wp-hook.php(323): WP_Hook->apply_filters("", (Array:1))
> #17 /srv/www/demo19/public_html/wp-includes/plugin.php(453): WP_Hook->do_action((Array:1))
> #18 /srv/www/demo19/public_html/wp-admin/admin.php(222): do_action("toplevel_page_CiviCRM")
> #19 {main}
If the remaining contact has a file that will be overwritten.
>** DB Error: syntax error**
> [code] => -2
> [message] => DB Error: syntax error
> [mode] => 16
> [debug_info] => UPDATE civicrm_value_test_info_4 SET image_9 = WHERE entity_id = 203 [nativecode=1064 ** You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'WHERE entity_id = 203' at line 1]
> [type] => DB_Error
> [user_info] => UPDATE civicrm_value_test_info_4 SET image_9 = WHERE entity_id = 203 [nativecode=1064 ** You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'WHERE entity_id = 203' at line 1]
> [to_string] => [db_error: message="DB Error: syntax error" code=-2 mode=callback callback=CRM_Core_Error::handle prefix="" info="UPDATE civicrm_value_test_info_4 SET image_9 = WHERE entity_id = 203 [nativecode=1064 ** You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'WHERE entity_id = 203' at line 1]"]
> )
> #1 /srv/www/demo19/public_html/wp-content/plugins/civicrm/civicrm/packages/PEAR.php(921): CRM_Core_Error::handle(Object(DB_Error))
> #2 /srv/www/demo19/public_html/wp-content/plugins/civicrm/civicrm/packages/DB.php(985): PEAR_Error->__construct("DB Error: syntax error", -2, 16, (Array:2), "UPDATE civicrm_value_test_info_4 SET image_9 = WHERE entity_id = 203 [native...")
> #3 /srv/www/demo19/public_html/wp-content/plugins/civicrm/civicrm/packages/PEAR.php(575): DB_Error->__construct(-2, 16, (Array:2), "UPDATE civicrm_value_test_info_4 SET image_9 = WHERE entity_id = 203 [native...")
> #4 /srv/www/demo19/public_html/wp-content/plugins/civicrm/civicrm/packages/PEAR.php(223): PEAR->_raiseError(Object(DB_mysqli), NULL, -2, 16, (Array:2), "UPDATE civicrm_value_test_info_4 SET image_9 = WHERE entity_id = 203 [native...", "DB_Error", TRUE)
> #5 /srv/www/demo19/public_html/wp-content/plugins/civicrm/civicrm/packages/DB/common.php(1907): PEAR->__call("raiseError", (Array:7))
> #6 /srv/www/demo19/public_html/wp-content/plugins/civicrm/civicrm/packages/DB/mysqli.php(933): DB_common->raiseError(-2, NULL, NULL, "UPDATE civicrm_value_test_info_4 SET image_9 = WHERE entity_id = 203 [native...", "1064 ** You have an error in your SQL syntax; check the manual that correspon...")
> #7 /srv/www/demo19/public_html/wp-content/plugins/civicrm/civicrm/packages/DB/mysqli.php(403): DB_mysqli->mysqliRaiseError()
> #8 /srv/www/demo19/public_html/wp-content/plugins/civicrm/civicrm/packages/DB/common.php(1216): DB_mysqli->simpleQuery("UPDATE civicrm_value_test_info_4 SET image_9 = WHERE entity_id = 203")
> #9 /srv/www/demo19/public_html/wp-content/plugins/civicrm/civicrm/packages/DB/DataObject.php(2415): DB_common->query("UPDATE civicrm_value_test_info_4 SET image_9 = WHERE entity_id = 203")
> #10 /srv/www/demo19/public_html/wp-content/plugins/civicrm/civicrm/packages/DB/DataObject.php(1607): DB_DataObject->_query("UPDATE civicrm_value_test_info_4 SET image_9 = WHERE entity_id = 203")
> #11 /srv/www/demo19/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/DAO.php(438): DB_DataObject->query("UPDATE civicrm_value_test_info_4 SET image_9 = WHERE entity_id = 203")
> #12 /srv/www/demo19/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/DAO.php(1413): CRM_Core_DAO->query("UPDATE civicrm_value_test_info_4 SET image_9 = WHERE entity_id = 203", TRUE)
> #13 /srv/www/demo19/public_html/wp-content/plugins/civicrm/civicrm/CRM/Dedupe/Merger.php(1736): CRM_Core_DAO::executeQuery("UPDATE civicrm_value_test_info_4 SET image_9 = WHERE entity_id = 203")
> #14 /srv/www/demo19/public_html/wp-content/plugins/civicrm/civicrm/CRM/Contact/Form/Merge.php(289): CRM_Dedupe_Merger::moveAllBelongings("203", "204", (Array:10))
> #15 /srv/www/demo19/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Form.php(489): CRM_Contact_Form_Merge->postProcess()
> #16 /srv/www/demo19/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/StateMachine.php(160): CRM_Core_Form->mainProcess()
> #17 /srv/www/demo19/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/QuickForm/Action/Next.php(61): CRM_Core_StateMachine->perform(Object(CRM_Contact_Form_Merge), "next", "Next")
> #18 /srv/www/demo19/public_html/wp-content/plugins/civicrm/civicrm/packages/HTML/QuickForm/Controller.php(203): CRM_Core_QuickForm_Action_Next->perform(Object(CRM_Contact_Form_Merge), "next")
> #19 /srv/www/demo19/public_html/wp-content/plugins/civicrm/civicrm/packages/HTML/QuickForm/Page.php(103): HTML_QuickForm_Controller->handle(Object(CRM_Contact_Form_Merge), "next")
> #20 /srv/www/demo19/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Controller.php(351): HTML_QuickForm_Page->handle("next")
> #21 /srv/www/demo19/public_html/wp-content/plugins/civicrm/civicrm/CRM/Utils/Wrapper.php(113): CRM_Core_Controller->run()
> #22 /srv/www/demo19/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(282): CRM_Utils_Wrapper->run("CRM_Contact_Form_Merge", "Merge Contact", (Array:0))
> #23 /srv/www/demo19/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(84): CRM_Core_Invoke::runItem((Array:13))
> #24 /srv/www/demo19/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(52): CRM_Core_Invoke::_invoke((Array:3))
> #25 /srv/www/demo19/public_html/wp-content/plugins/civicrm/civicrm.php(1240): CRM_Core_Invoke::invoke((Array:3))
> #26 /srv/www/demo19/public_html/wp-includes/class-wp-hook.php(298): CiviCRM_For_WordPress->invoke("")
> #27 /srv/www/demo19/public_html/wp-includes/class-wp-hook.php(323): WP_Hook->apply_filters("", (Array:1))
> #28 /srv/www/demo19/public_html/wp-includes/plugin.php(453): WP_Hook->do_action((Array:1))
> #29 /srv/www/demo19/public_html/wp-admin/admin.php(222): do_action("toplevel_page_CiviCRM")5.15.0https://lab.civicrm.org/dev/core/-/issues/627Correct syntax for Get pledge payment count2019-12-14T21:24:27ZsunilCorrect syntax for Get pledge payment countOnce Pledge have payment (status is In-Progress), we can not update the pledge amount and number of instalment.
but if Pledge have payment and some payment status is overdue then Pledge status change to 'overdue' and this allow to updat...Once Pledge have payment (status is In-Progress), we can not update the pledge amount and number of instalment.
but if Pledge have payment and some payment status is overdue then Pledge status change to 'overdue' and this allow to update pledge amount and number of instalment.5.15.0https://lab.civicrm.org/dev/core/-/issues/369Deletion of SMS provider caused all scheduled reminders to fail to be sent2019-11-23T21:18:11ZandrewcormickdockeryDeletion of SMS provider caused all scheduled reminders to fail to be sentA user recently deleted an SMS provider. Unfortunately there were live SMS scheduled reminders attached to that provider. This caused the cron call to job.send_reminder to fail with the message "Provider not known or not provided". Th...A user recently deleted an SMS provider. Unfortunately there were live SMS scheduled reminders attached to that provider. This caused the cron call to job.send_reminder to fail with the message "Provider not known or not provided". This is a "fatal" error, meaning that the cron job failed immediately, regardless of the fact that there were many perfectly valid reminders which needed processing.
I have a few points to make about this:
1. An SMS provider should not be able to be deleted with linked active SMS scheduled reminders, or at least a warning ought to be displayed and the affected reminders automatically disabled.
2. The following constraint on the civicrm_action_schedule table looks suspect (I can't see how it could ever lead to anything appropriate happening) - the "ON DELETE SET NULL" directly led to the problem described above: ``CONSTRAINT `FK_civicrm_action_schedule_sms_provider_id` FOREIGN KEY (`sms_provider_id`) REFERENCES `civicrm_sms_provider` (`id`) ON DELETE SET NULL``
3. The "Provider not known or not provided" error ought to be a warning, not a "fatal" error. There is no need for the code to stop proceeding if a provider cannot be found, only that that particular reminder cannot be invoked.5.15.0seamusleeseamuslee