CiviCRM Core issueshttps://lab.civicrm.org/dev/core/-/issues2018-06-18T20:13:30Zhttps://lab.civicrm.org/dev/core/-/issues/88Make sure financial_type_id is set when a contribution is created2018-06-18T20:13:30Zmattwiremjw@mjwconsult.co.ukMake sure financial_type_id is set when a contribution is createdOverview
----------------------------------------
When a contribution is created via a contribution page (with a confirmation page) the parameter `financial_type_id` is not set if the contribution is not being created with a recurring co...Overview
----------------------------------------
When a contribution is created via a contribution page (with a confirmation page) the parameter `financial_type_id` is not set if the contribution is not being created with a recurring contribution.
PR: https://github.com/civicrm/civicrm-core/pull/11907
Before
----------------------------------------
`financial_type_id` is not set when a non-recurring contribution is submitted via a contribution page (with a confirmation page). But it is set when a recurring contribution is being created at the same time.
After
----------------------------------------
`financial_type_id` is always set for contribution params when submitted via a contribution page (with a confirmation page).
This makes it more consistent for use in payment processor extensions etc.5.4.0https://lab.civicrm.org/dev/core/-/issues/89Batch update participants with checkboxes fails2019-03-28T15:57:21ZStoobBatch update participants with checkboxes fails![gl-1](/uploads/4ef7cf6b8b67b0e784fadb2002700cbc/gl-1.png)
![gl-2](/uploads/d4291f1ad6a2bdfaecfb654e754cceba/gl-2.png)
Error message.
> Sorry, due to an error... '' is not a valid option for field custom_93![gl-1](/uploads/4ef7cf6b8b67b0e784fadb2002700cbc/gl-1.png)
![gl-2](/uploads/d4291f1ad6a2bdfaecfb654e754cceba/gl-2.png)
Error message.
> Sorry, due to an error... '' is not a valid option for field custom_935.2.0https://lab.civicrm.org/dev/core/-/issues/90Disable FULL GROUP BY where queries do not comply to allow for test runner to...2018-11-18T21:02:06ZseamusleeDisable FULL GROUP BY where queries do not comply to allow for test runner to switch to MySQL 5.7ping @eileen @monish.debping @eileen @monish.debseamusleeseamusleehttps://lab.civicrm.org/dev/core/-/issues/91Prevent un-workable searches in search builder (was search builder improvements)2018-05-03T23:37:58ZMonish DebPrevent un-workable searches in search builder (was search builder improvements)Earlier there was a requirement where we need to remove specific MySQL operators which are not valid for specific data type e.g. String type doesn't work with >, <, <= and >= operators. And here's the fix https://github.com/civicrm/civic...Earlier there was a requirement where we need to remove specific MySQL operators which are not valid for specific data type e.g. String type doesn't work with >, <, <= and >= operators. And here's the fix https://github.com/civicrm/civicrm-core/commit/759094bdfa40531e4ec0cf0a644d9edd6b9247cf done earlier as per which it is fetching all columns which are String type and passing them into a separate JSON string identified as ```stringFields``` and another formatted list of valid string operators as ```stringOperators```. Similarly to identify date fields and to do a specific operation on such fields we are passing another variable ```dateFields```. These JSON object in JS are later used to specific operations. Now on the other hand, recently, I encountered another issue where the Boolean type columns don't work with IS EMPTY/IS NOT EMPTY operator and eventually leads to DB syntax error. So if I follow the same approach I need to assign another JSON string, which won't be an ideal fix. This lead me to do following 3 changes to improve the code:
1. Assign a single list of all data columns which are either Boolean, String or Date (as currently, these are the only kind that needs attention)
2. Use this list (as ```fieldTypes```) in JS to filter the operator or do field specific operations like covert a input search field to datepicker if the chosen search field is date kind.
3. Reduce list of variable assignment.5.2.0Monish DebMonish Debhttps://lab.civicrm.org/dev/core/-/issues/92Prevent deletion of groups which are used as search parameters of Smart Groups2023-04-20T08:59:49ZEvanPrevent deletion of groups which are used as search parameters of Smart GroupsIt seems that a group (static or Smart) being used a search parameter for a Smart Group can be deleted. Best case scenario is the Smart Group just has that many fewer contacts in it and we go on with life. We had an issue on a client sit...It seems that a group (static or Smart) being used a search parameter for a Smart Group can be deleted. Best case scenario is the Smart Group just has that many fewer contacts in it and we go on with life. We had an issue on a client site where there were so many contacts and so many groups, that rebuilding the Smart Group cache was causing a fatal DB error whether it (Updating Smart Group counts) was done manually or via the scheduled job. Proposed approach is to prevent deletion of groups that are dependencies for other groups. Example workflow:
1. A user with permissions to delete groups chooses to delete a group by selecting the "Delete" option from the "More" link on the Manage Groups page located here: Navigation Menu > Contacts > Manage Groups (this is the only place a user can delete a group, I believe)
1. The system (CiviCRM) does a check in the background to determine if the group being deleted is used as a search parameter in any active/non-deleted Smart Groups
1. If the group being deleted is determined to be "in use" by a Smart Group(s), don't allow the group to be deleted. Instead…
1. Show a message in the "Confirm Group Delete" notification that the group cannot be deleted as it's being used by a Smart Group(s). List the name of the Smart Group(s), preferably with the name(s) linked to that/those group(s)
I am inquiring with our client if they are willing to put funds (and how much) into fixing this. I have confirmed on demo master that one can delete a group that is a dependency for another group, though there were no ill effects. My assumption / theory is there just aren't enough contacts or groups for the rebuilding of Smart Group counts to fail.https://lab.civicrm.org/dev/core/-/issues/93Update CRM_Utils_Rule::mysqlOrderBy() to accommodate more than 2 joins2018-11-10T00:41:10ZDon WijesooriyaUpdate CRM_Utils_Rule::mysqlOrderBy() to accommodate more than 2 joinsCurrently sorting only allows up to 2 joins: "membership_id.contact_id". If we go up a further level like "membership_id.contact_id.contact_type" it throws an error.
I suggest changing the regex:
```foreach ($parts as $part) {
...Currently sorting only allows up to 2 joins: "membership_id.contact_id". If we go up a further level like "membership_id.contact_id.contact_type" it throws an error.
I suggest changing the regex:
```foreach ($parts as $part) {
if (!preg_match('/^((`[\w-]{1,64}`|[\w-]{1,64})\.)?(`[\w-]{1,64}`|[\w-]{1,64})( (asc|desc))?$/i', trim($part))) {
return FALSE;
}
}```
to:
```/^((`[\w-]{1,64}`|[\w-]{1,64})\.)```{+ + +}```?(`[\w-]{1,64}`|[\w-]{1,64})( (asc|desc))?$/i```5.5.0https://lab.civicrm.org/dev/core/-/issues/94Advanced Search "Display Results As" always displays contact tasks on first s...2022-06-29T04:32:33Zmattwiremjw@mjwconsult.co.ukAdvanced Search "Display Results As" always displays contact tasks on first searchTo reproduce:
1. Open Advanced Search.
2. Select "Display Results As" = Memberships (anything other than "Contacts").
3. Search.
4. Task list shows tasks for contacts.
Task list should show tasks for memberships, it will do the second t...To reproduce:
1. Open Advanced Search.
2. Select "Display Results As" = Memberships (anything other than "Contacts").
3. Search.
4. Task list shows tasks for contacts.
Task list should show tasks for memberships, it will do the second time it is loaded but it ignores the "searchPane" parameter that is passed in via $_REQUEST which is needed to identify the entity type on first load.https://lab.civicrm.org/dev/core/-/issues/95Fatal error searching by group via search builder2018-05-15T03:27:55ZeileenFatal error searching by group via search builder![Screenshot_2018-05-02_14.22.03](/uploads/a59e95214fc840c60aa3a04455254223/Screenshot_2018-05-02_14.22.03.png)
```
backTrace
#0 /Users/emcnaughton/buildkit/build/dmaster/sites/all/modules/civicrm/CRM/Core/Error.php(190): CRM_Core_Erro...![Screenshot_2018-05-02_14.22.03](/uploads/a59e95214fc840c60aa3a04455254223/Screenshot_2018-05-02_14.22.03.png)
```
backTrace
#0 /Users/emcnaughton/buildkit/build/dmaster/sites/all/modules/civicrm/CRM/Core/Error.php(190): CRM_Core_Error::backtrace()
#1 /Users/emcnaughton/buildkit/build/dmaster/sites/all/modules/civicrm/packages/PEAR.php(921): CRM_Core_Error::handle(Object(DB_Error))
#2 /Users/emcnaughton/buildkit/build/dmaster/sites/all/modules/civicrm/packages/DB.php(987): PEAR_Error->__construct("DB Error: no such field", -19, 16, (Array:2), "SELECT contact_a.id as contact_id, contact_a.contact_type as `contact_type`, ...")
#3 /Users/emcnaughton/buildkit/build/dmaster/sites/all/modules/civicrm/packages/PEAR.php(575): DB_Error->__construct(-19, 16, (Array:2), "SELECT contact_a.id as contact_id, contact_a.contact_type as `contact_type`, ...")
#4 /Users/emcnaughton/buildkit/build/dmaster/sites/all/modules/civicrm/packages/PEAR.php(223): PEAR->_raiseError(Object(DB_mysqli), NULL, -19, 16, (Array:2), "SELECT contact_a.id as contact_id, contact_a.contact_type as `contact_type`, ...", "DB_Error", TRUE)
#5 /Users/emcnaughton/buildkit/build/dmaster/sites/all/modules/civicrm/packages/DB/common.php(1912): PEAR->__call("raiseError", (Array:7))
#6 /Users/emcnaughton/buildkit/build/dmaster/sites/all/modules/civicrm/packages/DB/mysqli.php(933): DB_common->raiseError(-19, NULL, NULL, "SELECT contact_a.id as contact_id, contact_a.contact_type as `contact_type`, ...", "1054 ** Unknown column 'civicrm_group_contact.status' in 'field list'")
#7 /Users/emcnaughton/buildkit/build/dmaster/sites/all/modules/civicrm/packages/DB/mysqli.php(403): DB_mysqli->mysqliRaiseError()
#8 /Users/emcnaughton/buildkit/build/dmaster/sites/all/modules/civicrm/packages/DB/common.php(1223): DB_mysqli->simpleQuery("SELECT contact_a.id as contact_id, contact_a.contact_type as `contact_type`, ...")
#9 /Users/emcnaughton/buildkit/build/dmaster/sites/all/modules/civicrm/packages/DB/DataObject.php(2447): DB_common->query("SELECT contact_a.id as contact_id, contact_a.contact_type as `contact_type`, ...")
#10 /Users/emcnaughton/buildkit/build/dmaster/sites/all/modules/civicrm/packages/DB/DataObject.php(1635): DB_DataObject->_query("SELECT contact_a.id as contact_id, contact_a.contact_type as `contact_type`, ...")
#11 /Users/emcnaughton/buildkit/build/dmaster/sites/all/modules/civicrm/CRM/Core/DAO.php(415): DB_DataObject->query("SELECT contact_a.id as contact_id, contact_a.contact_type as `contact_type`, ...")
#12 /Users/emcnaughton/buildkit/build/dmaster/sites/all/modules/civicrm/CRM/Core/DAO.php(1371): CRM_Core_DAO->query("SELECT contact_a.id as contact_id, contact_a.contact_type as `contact_type`, ...", TRUE)
#13 /Users/emcnaughton/buildkit/build/dmaster/sites/all/modules/civicrm/CRM/Contact/BAO/Query.php(4942): CRM_Core_DAO::executeQuery("SELECT contact_a.id as contact_id, contact_a.contact_type as `contact_type`, ...")
#14 /Users/emcnaughton/buildkit/build/dmaster/sites/all/modules/civicrm/CRM/Contact/Selector.php(1181): CRM_Contact_BAO_Query->searchQuery(NULL, NULL, NULL, FALSE, FALSE, TRUE)
#15 /Users/emcnaughton/buildkit/build/dmaster/sites/all/modules/civicrm/CRM/Utils/PagerAToZ.php(108): CRM_Contact_Selector->alphabetQuery()
#16 /Users/emcnaughton/buildkit/build/dmaster/sites/all/modules/civicrm/CRM/Utils/PagerAToZ.php(136): CRM_Utils_PagerAToZ::getDynamicCharacters(Object(CRM_Contact_Selector), FALSE)
#17 /Users/emcnaughton/buildkit/build/dmaster/sites/all/modules/civicrm/CRM/Utils/PagerAToZ.php(52): CRM_Utils_PagerAToZ::createLinks(Object(CRM_Contact_Selector), NULL, FALSE)
#18 /Users/emcnaughton/buildkit/build/dmaster/sites/all/modules/civicrm/CRM/Contact/Form/Search.php(865): CRM_Utils_PagerAToZ::getAToZBar(Object(CRM_Contact_Selector), NULL)
#19 /Users/emcnaughton/buildkit/build/dmaster/sites/all/modules/civicrm/CRM/Contact/Form/Search/Builder.php(414): CRM_Contact_Form_Search->postProcess()
#20 /Users/emcnaughton/buildkit/build/dmaster/sites/all/modules/civicrm/CRM/Core/Form.php(453): CRM_Contact_Form_Search_Builder->postProcess()
#21 /Users/emcnaughton/buildkit/build/dmaster/sites/all/modules/civicrm/CRM/Core/QuickForm/Action/Refresh.php(75): CRM_Core_Form->mainProcess()
#22 /Users/emcnaughton/buildkit/build/dmaster/sites/all/modules/civicrm/packages/HTML/QuickForm/Controller.php(203): CRM_Core_QuickForm_Action_Refresh->perform(Object(CRM_Contact_Form_Search_Builder), "refresh")
#23 /Users/emcnaughton/buildkit/build/dmaster/sites/all/modules/civicrm/packages/HTML/QuickForm/Page.php(103): HTML_QuickForm_Controller->handle(Object(CRM_Contact_Form_Search_Builder), "refresh")
#24 /Users/emcnaughton/buildkit/build/dmaster/sites/all/modules/civicrm/CRM/Core/Controller.php(351): HTML_QuickForm_Page->handle("refresh")
#25 /Users/emcnaughton/buildkit/build/dmaster/sites/all/modules/civicrm/CRM/Core/Invoke.php(309): CRM_Core_Controller->run((Array:4), (Array:0))
#26 /Users/emcnaughton/buildkit/build/dmaster/sites/all/modules/civicrm/CRM/Core/Invoke.php(84): CRM_Core_Invoke::runItem((Array:13))
#27 /Users/emcnaughton/buildkit/build/dmaster/sites/all/modules/civicrm/CRM/Core/Invoke.php(52): CRM_Core_Invoke::_invoke((Array:4))
#28 /Users/emcnaughton/buildkit/build/dmaster/sites/all/modules/civicrm/drupal/civicrm.module(445): CRM_Core_Invoke::invoke((Array:4))
#29 /Users/emcnaughton/buildkit/build/dmaster/includes/menu.inc(519): civicrm_invoke("contact", "search", "builder")
#30 /Users/emcnaughton/buildkit/build/dmaster/index.php(21): menu_execute_active_handler()
#31 {main}
Sorry, due to an error, we are unable to fulfill your request at the moment. You may want to contact your administrator or service provider with more details about what action you were performing when this occurred.
DB Error: no such field
Error Details
Database Error Code: Unknown column 'civicrm_group_contact.status' in 'field list', 1054
Additional Details:
Array
(
[callback] => Array
(
[0] => CRM_Core_Error
[1] => handle
)
[code] => -19
[message] => DB Error: no such field
[mode] => 16
[debug_info] => 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`,
CONCAT_WS(',',
GROUP_CONCAT(DISTINCT IF(civicrm_group_contact.status = 'Added', civicrm_group_contact.group_id, '')),
GROUP_CONCAT(DISTINCT civicrm_group_contact_cache.group_id)
)
as groups FROM civicrm_contact contact_a LEFT JOIN civicrm_group_contact_cache `civicrm_group_contact_cache_6` ON contact_a.id = `civicrm_group_contact_cache_6`.contact_id WHERE ( ( ( ( `civicrm_group_contact_cache_6`.group_id IN ("6") ) ) ) ) AND (contact_a.is_deleted = 0) GROUP BY contact_a.id ORDER BY UPPER(LEFT(contact_a.sort_name, 1)) asc [nativecode=1054 ** Unknown column 'civicrm_group_contact.status' in 'field list']
[type] => DB_Error
[user_info] => 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`,
CONCAT_WS(',',
GROUP_CONCAT(DISTINCT IF(civicrm_group_contact.status = 'Added', civicrm_group_contact.group_id, '')),
GROUP_CONCAT(DISTINCT civicrm_group_contact_cache.group_id)
)
as groups FROM civicrm_contact contact_a LEFT JOIN civicrm_group_contact_cache `civicrm_group_contact_cache_6` ON contact_a.id = `civicrm_group_contact_cache_6`.contact_id WHERE ( ( ( ( `civicrm_group_contact_cache_6`.group_id IN ("6") ) ) ) ) AND (contact_a.is_deleted = 0) GROUP BY contact_a.id ORDER BY UPPER(LEFT(contact_a.sort_name, 1)) asc [nativecode=1054 ** Unknown column 'civicrm_group_contact.status' in 'field list']
[to_string] => [db_error: message="DB Error: no such field" code=-19 mode=callback callback=CRM_Core_Error::handle prefix="" info="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`,
CONCAT_WS(',',
GROUP_CONCAT(DISTINCT IF(civicrm_group_contact.status = 'Added', civicrm_group_contact.group_id, '')),
GROUP_CONCAT(DISTINCT civicrm_group_contact_cache.group_id)
)
as groups FROM civicrm_contact contact_a LEFT JOIN civicrm_group_contact_cache `civicrm_group_contact_cache_6` ON contact_a.id = `civicrm_group_contact_cache_6`.contact_id WHERE ( ( ( ( `civicrm_group_contact_cache_6`.group_id IN ("6") ) ) ) ) AND (contact_a.is_deleted = 0) GROUP BY contact_a.id ORDER BY UPPER(LEFT(contact_a.sort_name, 1)) asc [nativecode=1054 ** Unknown column 'civicrm_group_contact.status' in 'field list']"]
)
```Monish DebMonish Debhttps://lab.civicrm.org/dev/core/-/issues/96Expose source column in booking report2018-06-29T18:52:04ZyashodhaExpose source column in booking reportExpose source column in booking report and as filter as well.Expose source column in booking report and as filter as well.5.4.0yashodhayashodhahttps://lab.civicrm.org/dev/core/-/issues/97Improve the process and documentation for "How to Contribute" so that Proposa...2018-10-14T22:43:57Zjustinfreeman (Agileware)Improve the process and documentation for "How to Contribute" so that Proposals can be discussed, reviewed and accepted (rejected) before a PR is createdCreating this issue to start the discussion about how we as a community can improve the process and documentation for "How to Contribute", the relevant pages are:
* https://docs.civicrm.org/dev/en/latest/core/contributing/
* https://doc...Creating this issue to start the discussion about how we as a community can improve the process and documentation for "How to Contribute", the relevant pages are:
* https://docs.civicrm.org/dev/en/latest/core/contributing/
* https://docs.civicrm.org/dev/en/latest/tools/issue-tracking/#guidelines
This specifically relates to adding new features to CiviCRM core or changing existing features in CiviCRM core (I'll just call these collectively "Proposal"). It could equally apply to CiviCRM extensions, since the approach is the same - just the ecosystem is more distributed.
The current documented process revolves around submitting a PR on Github with the associated code. The problem with this process is it has high potential to be rejected, because no prior process of discussion, review or approval has been sought for the Proposal. When you think about it the current state, it's a bit backwards. So this is incredibly frustrating for people wishing to contribute to the project and a huge waste of time. If the PR never had a chance of being accepted conceptually, then there is no point at all in spending time on writing code, testing it, documenting it etc. PRs cost money to produce and no one likes wasting money!
So the process change I would like to see is to move away from PRs being the initial step for the Proposal. The PR should be the resultant of the Proposal process.
A Proposal should be created in Gitlab (not a PR in Github). The reasoning for the change and the proposed approach for implementing the change should be documented with the Proposal.
The Proposal should be available for review and feedback on Gitlab for a set period of time, 2 to 4 weeks maximum (for example). This step is important, Proposals should not languish, unattended.
At the conclusion of that time, the Proposal should be: Accepted, Rejected or Require Further Review; by a **new team** (CiviCRM Proposal Team) responsible for reviewing Proposals. **This should not be the responsibility of the existing CiviCRM Core Team, which are currently under resourced and over worked**. For the CiviCRM Proposal Team, we need new people to step up and own this process, so that the work load can be shared between Proposals and PRs. CiviCRM Core Team should not have to do both processes - we want to reduce their work load. This is why I think establishing a new CiviCRM Proposal Team to review Proposals is fundamental to this improvement.
If the Proposal is Accepted then related PR(s) can be created and they individually can go through the code review process.
The key change here is that the PR(s) for this Proposal will be accepted following passing code reviews. Any debate about the merits of the change or new features should occur on the Proposal, during the Proposal review stage. Not during a review of the PRs.
Proposals are for planning and implementation.
PRs are for code management.
This issue has also been raised on separate the discussion being had on this PR, https://github.com/civicrm/civicrm-core/pull/11956#issuecomment-385849221
Thanks @eileen
Let's discuss!justinfreeman (Agileware)justinfreeman (Agileware)https://lab.civicrm.org/dev/core/-/issues/98Searching by any Address fields with location type other than primary throw D...2018-05-03T18:23:08ZMonish DebSearching by any Address fields with location type other than primary throw DB errorSteps to replicate:
1. Go to `Search Builder`
2. Choose Contact >> Street Address (or any address field) >> Home (as location type) >> NOT EMPTY (or any other operator)
3. Submit
Throw DB Error:
```
Database Error Code: Unknown column '...Steps to replicate:
1. Go to `Search Builder`
2. Choose Contact >> Street Address (or any address field) >> Home (as location type) >> NOT EMPTY (or any other operator)
3. Submit
Throw DB Error:
```
Database Error Code: Unknown column 'Home-location_type.id' in 'field list', 1054
Additional Details:
Array
(
[callback] => Array
(
[0] => CRM_Core_Error
[1] => handle
)
[code] => -19
[message] => DB Error: no such field
[mode] => 16
[debug_info] => 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`, `Home-location_type`.id as `Home-location_type_id`, `Home-location_type`.name as `Home-location_type`, `Home-address`.id as `Home-address_id`, `Home-address`.street_address as `Home-street_address` FROM civicrm_contact contact_a LEFT JOIN civicrm_address `Home-address` ON ( contact_a.id = `Home-address`.contact_id ) and `Home-address`.location_type_id = 1 WHERE ( ( (NULLIF(LOWER(`Home-address`.street_address), '') IS NOT NULL) ) ) AND (contact_a.is_deleted = 0) GROUP BY contact_a.id ORDER BY UPPER(LEFT(contact_a.sort_name, 1)) asc [nativecode=1054 ** Unknown column 'Home-location_type.id' in 'field list']
[type] => DB_Error
[user_info] => 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`, `Home-location_type`.id as `Home-location_type_id`, `Home-location_type`.name as `Home-location_type`, `Home-address`.id as `Home-address_id`, `Home-address`.street_address as `Home-street_address` FROM civicrm_contact contact_a LEFT JOIN civicrm_address `Home-address` ON ( contact_a.id = `Home-address`.contact_id ) and `Home-address`.location_type_id = 1 WHERE ( ( (NULLIF(LOWER(`Home-address`.street_address), '') IS NOT NULL) ) ) AND (contact_a.is_deleted = 0) GROUP BY contact_a.id ORDER BY UPPER(LEFT(contact_a.sort_name, 1)) asc [nativecode=1054 ** Unknown column 'Home-location_type.id' in 'field list']
[to_string] => [db_error: message="DB Error: no such field" code=-19 mode=callback callback=CRM_Core_Error::handle prefix="" info="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`, `Home-location_type`.id as `Home-location_type_id`, `Home-location_type`.name as `Home-location_type`, `Home-address`.id as `Home-address_id`, `Home-address`.street_address as `Home-street_address` FROM civicrm_contact contact_a LEFT JOIN civicrm_address `Home-address` ON ( contact_a.id = `Home-address`.contact_id ) and `Home-address`.location_type_id = 1 WHERE ( ( (NULLIF(LOWER(`Home-address`.street_address), '') IS NOT NULL) ) ) AND (contact_a.is_deleted = 0) GROUP BY contact_a.id ORDER BY UPPER(LEFT(contact_a.sort_name, 1)) asc [nativecode=1054 ** Unknown column 'Home-location_type.id' in 'field list']"]
)
```Monish DebMonish Debhttps://lab.civicrm.org/dev/core/-/issues/99Search builder doesn't retain selected (boolean) option after searching2018-05-06T01:04:55ZMonish DebSearch builder doesn't retain selected (boolean) option after searchingSteps to replicate:
1. Go to `Search Builder`
2. Choose Contact >> Do not email (or any other Boolean field) >> = >> Select `Yes`
3. Submit
After submit, you will see the select option is replaced by text field with 1 as it's value:
![t...Steps to replicate:
1. Go to `Search Builder`
2. Choose Contact >> Do not email (or any other Boolean field) >> = >> Select `Yes`
3. Submit
After submit, you will see the select option is replaced by text field with 1 as it's value:
![test-multiple-before](/uploads/eea36e30389dcb871e0765137fc81150/test-multiple-before.gif)5.3.0Monish DebMonish Debhttps://lab.civicrm.org/dev/core/-/issues/100Membership Detail report throw DB error2018-05-25T05:45:46ZyashodhaMembership Detail report throw DB errorMembership Detail report throw DB error due to acl clause applied twice.Membership Detail report throw DB error due to acl clause applied twice.5.3.0yashodhayashodhahttps://lab.civicrm.org/dev/core/-/issues/101Allow further customization of search form in hooks2018-06-18T20:13:57ZmichaelAllow further customization of search form in hooksThe contact search form uses the template `templates/CRM/Contact/Form/Search/Criteria/Basic.tpl`. In the template there are already some conditionals to hide certain fields, such as
```
{if $form.group}
<td>
...
{/if}
```
However o...The contact search form uses the template `templates/CRM/Contact/Form/Search/Criteria/Basic.tpl`. In the template there are already some conditionals to hide certain fields, such as
```
{if $form.group}
<td>
...
{/if}
```
However only some fields are covered. For an extension developer who wants to hide more fields here it is difficult without causing warnings or breaking the layout.
It is now possible to override the fields on the basic search template by altering the fields array assigned to the template in a hook
---
Core PR: https://github.com/civicrm/civicrm-core/pull/120785.4.0https://lab.civicrm.org/dev/core/-/issues/102Rename Cache Templates from Contact Name to Contact ID2022-06-24T03:21:19ZjohnffRename Cache Templates from Contact Name to Contact IDIt is observed that smarty cache files are created for each contact with the name of the contact as the cached file's name. In our view it would be better from a Data Protection perspective for these to be contact ID numbers. This suppor...It is observed that smarty cache files are created for each contact with the name of the contact as the cached file's name. In our view it would be better from a Data Protection perspective for these to be contact ID numbers. This supports the "right to erasure" enforceable under GDPR - as users will not be likely to know that these cached files contain the contact's name it's possible that these could remain for some time.https://lab.civicrm.org/dev/core/-/issues/103Bug: extension forms do not display elements2018-05-08T03:02:59ZjohnffBug: extension forms do not display elementsIn Civi v5.0.0, forms generated by extension do not appear to be rendering elements. This was encountered with both a new and an old extension. There are no warnings or errors generated, and the form hook is being processed, just the ele...In Civi v5.0.0, forms generated by extension do not appear to be rendering elements. This was encountered with both a new and an old extension. There are no warnings or errors generated, and the form hook is being processed, just the elements are not being rendered.https://lab.civicrm.org/dev/core/-/issues/104Get Tests to pass on PHP7.22018-12-10T03:36:53ZseamusleeGet Tests to pass on PHP7.2This is a meta issue for getting our tests to run against PHP7.2 ping @monish.deb @eileen @tottenThis is a meta issue for getting our tests to run against PHP7.2 ping @monish.deb @eileen @totten5.10seamusleeseamusleehttps://lab.civicrm.org/dev/core/-/issues/105Manage PCP URL Wrong for the notification email under wordpress2018-05-15T07:19:09ZaniesshsethhManage PCP URL Wrong for the notification email under wordpress5.3.0https://lab.civicrm.org/dev/core/-/issues/3570When creating a CiviMail it is possible to select this mailing as a "previous...2023-06-26T19:32:24ZlolcodeWhen creating a CiviMail it is possible to select this mailing as a "previous mailing" in the recipients listWhen creating a CiviMail it is possible to select this mailing as a "previous mailing" in the recipients list. I have not tested what it does but it makes no sense from a user point of view.
To reproduce just name the mailing and then o...When creating a CiviMail it is possible to select this mailing as a "previous mailing" in the recipients list. I have not tested what it does but it makes no sense from a user point of view.
To reproduce just name the mailing and then open the recipients list. In fact before the mailing is named it still shows in the list but with the name "null".
![bug-first-mailing](/uploads/ea99f69608bb75993b467f1e77795480/bug-first-mailing.jpg)
![null-mailing](/uploads/61df71ab974462ffded69b02aba4046f/null-mailing.jpg)https://lab.civicrm.org/dev/core/-/issues/106Search builder error on contact, group 'equals', and possibly other operators2018-07-23T14:06:06ZAndryg8Search builder error on contact, group 'equals', and possibly other operatorsIn 5.0.0 and 5.0.2rc we are observing a bug when Search Builder is set with a line like this:
Contacts Groups = [any group]
The log shows as below. We have seen the same thing with other operators too.
The same error appears to b...In 5.0.0 and 5.0.2rc we are observing a bug when Search Builder is set with a line like this:
Contacts Groups = [any group]
The log shows as below. We have seen the same thing with other operators too.
The same error appears to be happening on the Drupal Civi 4.7 demo site.
Thanks
`May 08 18:57:44 [info] $Fatal Error Details = Array
(
[callback] => Array
(
[0] => CRM_Core_Error
[1] => handle
)
[code] => -19
[message] => DB Error: no such field
[mode] => 16
[debug_info] => 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`,
CONCAT_WS(',',
GROUP_CONCAT(DISTINCT IF(civicrm_group_contact.status = 'Added', civicrm_group_contact.group_id, '')),
GROUP_CONCAT(DISTINCT civicrm_group_contact_cache.group_id)
)
as groups FROM civicrm_contact contact_a LEFT JOIN civicrm_group_contact `civicrm_group_contact-121` ON (contact_a.id = `civicrm_group_contact-121`.contact_id AND `civicrm_group_contact-121`.status IN ('Added')) WHERE ( ( ( ( `civicrm_group_contact-121`.group_id = 121 ) ) ) ) AND (contact_a.is_deleted = 0) GROUP BY contact_a.id ORDER BY UPPER(LEFT(contact_a.sort_name, 1)) asc [nativecode=1054 ** Unknown column 'civicrm_group_contact.status' in 'field list']
[type] => DB_Error
[user_info] => 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`,
CONCAT_WS(',',
GROUP_CONCAT(DISTINCT IF(civicrm_group_contact.status = 'Added', civicrm_group_contact.group_id, '')),
GROUP_CONCAT(DISTINCT civicrm_group_contact_cache.group_id)
)
as groups FROM civicrm_contact contact_a LEFT JOIN civicrm_group_contact `civicrm_group_contact-121` ON (contact_a.id = `civicrm_group_contact-121`.contact_id AND `civicrm_group_contact-121`.status IN ('Added')) WHERE ( ( ( ( `civicrm_group_contact-121`.group_id = 121 ) ) ) ) AND (contact_a.is_deleted = 0) GROUP BY contact_a.id ORDER BY UPPER(LEFT(contact_a.sort_name, 1)) asc [nativecode=1054 ** Unknown column 'civicrm_group_contact.status' in 'field list']
[to_string] => [db_error: message="DB Error: no such field" code=-19 mode=callback callback=CRM_Core_Error::handle prefix="" info="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`,
CONCAT_WS(',',
GROUP_CONCAT(DISTINCT IF(civicrm_group_contact.status = 'Added', civicrm_group_contact.group_id, '')),
GROUP_CONCAT(DISTINCT civicrm_group_contact_cache.group_id)
)
as groups FROM civicrm_contact contact_a LEFT JOIN civicrm_group_contact `civicrm_group_contact-121` ON (contact_a.id = `civicrm_group_contact-121`.contact_id AND `civicrm_group_contact-121`.status IN ('Added')) WHERE ( ( ( ( `civicrm_group_contact-121`.group_id = 121 ) ) ) ) AND (contact_a.is_deleted = 0) GROUP BY contact_a.id ORDER BY UPPER(LEFT(contact_a.sort_name, 1)) asc [nativecode=1054 ** Unknown column 'civicrm_group_contact.status' in 'field list']"]
)
`