CiviCRM Core issueshttps://lab.civicrm.org/dev/core/-/issues2019-01-05T20:23:46Zhttps://lab.civicrm.org/dev/core/-/issues/640Create repeating activity requires Event permission2019-01-05T20:23:46ZdavejCreate repeating activity requires Event permissionCreating a repeating activity through the UI gives an Access Denied error unless the user has "access CiviEvent" permission.
**Steps to replicate**
1. Log in as a user without "access CiviEvent" permission.
2. From contact summary, Act...Creating a repeating activity through the UI gives an Access Denied error unless the user has "access CiviEvent" permission.
**Steps to replicate**
1. Log in as a user without "access CiviEvent" permission.
2. From contact summary, Activities tab, click New Activity, choose e.g. Meeting.
3. Expand the "Repeat Activity" section, Click the "After" radio button, Save.
**Expected result**
Confirm dialog lists the instances that will be created.
On clicking Confirm, the instances are created and listed.
**Actual result**
Confirm dialog is blank. Error message appears:
"Access Denied / Ensure you are still logged in and have permission to access this feature.".
On clicking Confirm, the instances are created and listed.
**Analysis**
Problem occurs because the confirm dialog uses a path that requires "access CiviEvent" permission. In CRM/Core/xml/Menu/Misc.xml:
```
<item>
<path>civicrm/recurringentity/preview</path>
<page_callback>CRM_Core_Page_RecurringEntityPreview</page_callback>
<access_arguments>access CiviCRM,access CiviEvent</access_arguments>
<title>Confirm dates</title>
</item>
```
Problem is resolved by removing ",access CiviEvent".5.11https://lab.civicrm.org/dev/core/-/issues/639Note: No restriction of the Subject field length2019-03-01T00:19:08ZPradeep Nayakpradpnayak@gmail.comNote: No restriction of the Subject field length**STR:**
* Navigate to Search→Find Contacts
* Find any Individual/Organisation
* On the Search results page, click vertical ellipsis and select "Add Note"
* Fill in the Subject field with more than 255 chars
* Fill in the Body fields wi...**STR:**
* Navigate to Search→Find Contacts
* Find any Individual/Organisation
* On the Search results page, click vertical ellipsis and select "Add Note"
* Fill in the Subject field with more than 255 chars
* Fill in the Body fields with some text
* Click Save
* Navigate to the created Note
* Check the number of the characters in the Subject field
**Result:** the number of saved characters in the created Note is 255
**Expected result:** during Note creation, there should be a restriction to the field length (255 char max)
PR:https://github.com/civicrm/civicrm-core/pull/134035.12.0https://lab.civicrm.org/dev/core/-/issues/637Schedule Reminder re: event generates fatal mysql error2019-01-08T07:41:15ZUpperholmeSchedule Reminder re: event generates fatal mysql errorI have a schedule reminder set up for an event. The reminder is set up to send on a specific date, and then repeat every 14 days until 2 weeks prior to the event start date.
Here's the log entry when the scheduled job gets triggered:
J...I have a schedule reminder set up for an event. The reminder is set up to send on a specific date, and then repeat every 14 days until 2 weeks prior to the event start date.
Here's the log entry when the scheduled job gets triggered:
Jan 04 14:54:26 [info] $Fatal Error Details = Array
(
[callback] => Array
(
[0] => CRM_Core_Error
[1] => exceptionHandler
)
[code] => -2
[message] => DB Error: syntax error
[mode] => 16
[debug_info] =>
``SELECT e.contact_id as contact_id, e.id as entity_id, "civicrm_participant" as entity_table, 30 as action_schedule_id, MAX(reminder.action_date_time) as latest_log_time
FROM civicrm_participant e
INNER JOIN civicrm_event r ON e.event_id = r.id
INNER JOIN civicrm_contact c ON c.id = e.contact_id AND c.is_deleted = 0 AND c.is_deceased = 0
INNER JOIN civicrm_action_log reminder ON reminder.contact_id = e.contact_id AND
reminder.entity_id = e.id AND
reminder.entity_table = 'civicrm_participant' AND
reminder.action_schedule_id = 30
WHERE (r.id IN ("38")) AND (r.is_active = 1) AND (r.is_template = 0) AND (e.status_id IN (5)) AND ("20190104145426" <= DATE_SUB(, INTERVAL 2 week))
GROUP BY reminder.contact_id, reminder.entity_id, reminder.entity_table
HAVING (TIMESTAMPDIFF(HOUR, latest_log_time, CAST(20190104145426 AS datetime)) >= TIMESTAMPDIFF(HOUR, latest_log_time, DATE_ADD(latest_log_time, INTERVAL 1 MONTH)))``
[nativecode=1064 ** You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' INTERVAL 2 week))
GROUP BY reminder.contact_id, reminder.entity_id, reminder.en' at line 9]
[type] => DB_Error
[user_info] => ``SELECT e.contact_id as contact_id, e.id as entity_id, "civicrm_participant" as entity_table, 30 as action_schedule_id, MAX(reminder.action_date_time) as latest_log_time
FROM civicrm_participant e
INNER JOIN civicrm_event r ON e.event_id = r.id
INNER JOIN civicrm_contact c ON c.id = e.contact_id AND c.is_deleted = 0 AND c.is_deceased = 0
INNER JOIN civicrm_action_log reminder ON reminder.contact_id = e.contact_id AND
reminder.entity_id = e.id AND
reminder.entity_table = 'civicrm_participant' AND
reminder.action_schedule_id = 30
WHERE (r.id IN ("38")) AND (r.is_active = 1) AND (r.is_template = 0) AND (e.status_id IN (5)) AND ("20190104145426" <= DATE_SUB(, INTERVAL 2 week))
GROUP BY reminder.contact_id, reminder.entity_id, reminder.entity_table
HAVING (TIMESTAMPDIFF(HOUR, latest_log_time, CAST(20190104145426 AS datetime)) >= TIMESTAMPDIFF(HOUR, latest_log_time, DATE_ADD(latest_log_time, INTERVAL 1 MONTH)))``
[nativecode=1064 ** You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' INTERVAL 2 week))
GROUP BY reminder.contact_id, reminder.entity_id, reminder.en' at line 9]
[to_string] => [db_error: message="DB Error: syntax error" code=-2 mode=callback callback=CRM_Core_Error::exceptionHandler prefix="" info="``SELECT e.contact_id as contact_id, e.id as entity_id, "civicrm_participant" as entity_table, 30 as action_schedule_id, MAX(reminder.action_date_time) as latest_log_time
FROM civicrm_participant e
INNER JOIN civicrm_event r ON e.event_id = r.id
INNER JOIN civicrm_contact c ON c.id = e.contact_id AND c.is_deleted = 0 AND c.is_deceased = 0
INNER JOIN civicrm_action_log reminder ON reminder.contact_id = e.contact_id AND
reminder.entity_id = e.id AND
reminder.entity_table = 'civicrm_participant' AND
reminder.action_schedule_id = 30
WHERE (r.id IN ("38")) AND (r.is_active = 1) AND (r.is_template = 0) AND (e.status_id IN (5)) AND ("20190104145426" <= DATE_SUB(, INTERVAL 2 week))
GROUP BY reminder.contact_id, reminder.entity_id, reminder.entity_table
HAVING (TIMESTAMPDIFF(HOUR, latest_log_time, CAST(20190104145426 AS datetime)) >= TIMESTAMPDIFF(HOUR, latest_log_time, DATE_ADD(latest_log_time, INTERVAL 1 MONTH)))``
[nativecode=1064 ** You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' INTERVAL 2 week))
GROUP BY reminder.contact_id, reminder.entity_id, reminder.en' at line 9]"]
)5.11https://lab.civicrm.org/dev/core/-/issues/636Custom field for Address: The "No" value is not defaulted2019-01-06T19:32:14ZPradeep Nayakpradpnayak@gmail.comCustom field for Address: The "No" value is not defaultedTo replicate:
* Create custom field Yes/No for custom group "Address Details" extending address
* View contact record
* Click on the Address area
* Open "Address Details"
* Choose "No"
* Click "Save"
* Click on the Address area again
*...To replicate:
* Create custom field Yes/No for custom group "Address Details" extending address
* View contact record
* Click on the Address area
* Open "Address Details"
* Choose "No"
* Click "Save"
* Click on the Address area again
* Open "Address Details"
![Address_Custom_field](/uploads/dc88818dcdf45b50feaa45372f9b7a97/Address_Custom_field.gif)
PR: https://github.com/civicrm/civicrm-core/pull/133975.11https://lab.civicrm.org/dev/core/-/issues/635Implement reconnect/replay-on-write for database connections2020-09-09T05:24:30ZtottenImplement reconnect/replay-on-write for database connectionsCurrently, CiviCRM always connects to a singular DSN. For epic:ro-db, we seek compatibility with a split DB architecture in which one routes MySQL requests to (a) read-only slave DBs and/or (b) read-write master DB. This issue specifical...Currently, CiviCRM always connects to a singular DSN. For epic:ro-db, we seek compatibility with a split DB architecture in which one routes MySQL requests to (a) read-only slave DBs and/or (b) read-write master DB. This issue specifically proposes a "reconnect-on-write" or "replay-on-write" (RPOW) mechanism as a general, global baseline.
## Technical Overview
One possible technique is to sprinkle flags/hints into the application to indicate which use-cases should be served by slave/rodb or by master/rwdb. *Some* of this sprinkling is likely happen, but we have a large, open-ended application (with several built-in subsystems and several third-party extensions/addons). Auditing all of these is somewhat daunting task.
RPOW aims to provide a *generic baseline* that relies primarily on MySQL semantics (and doesn't require auditing every use-case carefully). The general idea is:
1. Connect optimistically to the read-only slave (expecting a read-only use-case). We can continue using the RODB as long as requests are read-oriented (e.g. `SELECT`).
2. If there is an actual write operation (e.g. `UPDATE`), then reconnect to the read-write master.
Dynamically switching to the read-write master is not quite as simple as it sounds:
* Some SQL statements (eg `SET @foo` and `CREATE TEMPORARY TABLE`) can be legitimately used in a read-oriented operation (e.g. advanced querying/reporting) -- but they may also be prelude to a write-operation (e.g. building a temp-table with a list of targets and then updating each one). We allow these to execute on the RODB -- but, when/if we reconnect to RWDB, then we *replay* those statements.
* To support replay, we must be able to classify any SQL statement into one of three buckets:
* `READ` (Ex: `SELECT * FROM foo`): The SQL statement has no side-effects; it simply reads data.
* `BUFFER` (Ex: `SET @user_id = 123`): The SQL statement has no long-term, persistent side-effects; it can, however, have temporary side-effects during the present MySQL session.
* `WRITE` (Ex: `TRUNCATE foo`): The SQL statement has long-term, persistent side-effects and must be executed on the master. (Generally, if we can't demonstrate that something is `READ` or `BUFFER`, then we assume it is `WRITE`.)
* The MySQL query language has interesting edge-cases (e.g. `SELECT @foo := id FROM bar FOR UPDATE`) that should be handled correctly.
* We don't know anything about the delay in sync'ing between RODB and RWDB. After making a write, we'll continue sending all requests (reads or writes) to RWDB for some *period of time*. (Ex: After updating a contact in RWDB, the user's browser gets a cookie -- and, for the next 60 seconds, any additional reads should hit RWDB.)
## Limitations and Assumptions
* RPOW makes sense if user's are primarily reading from MySQL. Stock CiviCRM relies extensively on MySQL for caching and session-state, which leads to frequent writes. However, if you use the Redis integration for caches/sessions/prevnext, then this is significantly reduced.
* RPOW aims to *mitigate/reduce* the need for sprinkling use-case specific hints. However, there may still be scenarios where one wants to sprinkle hints. In particular: the contact-edit screen uses optimistic-locking (which reads the last-modified timestamp before authorizing updates); for correct oplocking, there should be a hint that any POST requests to the contact-edit screen need the RWDB.
## Relevant Tasks / Patches / Subtasks
The following are types of patches / subtasks we may expect:
* Adding a new DB driver -- an admin can opt-in to using RPOW behavior by setting `CIVICRM_DSN` to a special value (and registering DSNs for both RODBs and RWDB).
* Adding a unit-test to ensure correct classification of a range of SQL examples.
* Maintaining a cookie or session-variable to indicate that a user needs to be temporarily directed to RWDB by default.
* Updating existing use-cases to reduce gratuitous writes or to send hints about specific write-oriented use-cases.
NOTE: I've currently got a draft project in https://github.com/totten/rpow ; however, I'm filing this issue here because some of this work will need to come back into core.
## Pull Requests
* [#13394 - Reduce unnecessary SQL writes](https://github.com/civicrm/civicrm-core/pull/13394) (m)
* [#13500 - (REF) Add CRM_Utils_Cache::nack(). Use it for NaiveHasTrait](https://github.com/civicrm/civicrm-core/pull/13500) (m)
* [#13496 - Implement local array-cache for use with Redis/Memcache](https://github.com/civicrm/civicrm-core/pull/13496) (m)
* [#13489 - Deprecate CRM_Core_BAO_Cache for I/O. Optionally redirect I/O to Redis or Memcache. #13489 ](https://github.com/civicrm/civicrm-core/pull/13489) (m)
* [#13514 - CRM_Utils_Cache::nack() - Fix format](https://github.com/civicrm/civicrm-core/pull/13514) (m)tottentottenhttps://lab.civicrm.org/dev/core/-/issues/628Rearrange quick search options2019-06-06T12:54:25ZshitijgRearrange quick search options**Overview:**
Mostly all the organisations use the external ID field, some of the ones that we are working with want to rearrange the quick search options so that the External ID field is at the top of the search options or at times cha...**Overview:**
Mostly all the organisations use the external ID field, some of the ones that we are working with want to rearrange the quick search options so that the External ID field is at the top of the search options or at times change the label of these fields.
**Existing:**
We can switch on/off any fields that are available to quicksearch from /civicrm/admin/setting/search?reset=1
Also, if a user selects a field from the quicksearch dropdown, that field is set as the default search option but this is just as a cookie ie local to every user.
**Proposed Implementation:**
Instead of just having a checkbox for enabling fields, we can have a table where:
- the user can rearrange the the fields which would dictate the order of the fields in the quicksearch
- the user can set a particular field as default which would be the default selection globally
- the user can change the label of any fields for eg the label of External ID can be changed to Membership ID
Screenshot attached.
![Quicksearch](/uploads/3c00f66affe93a9579001eae243f7e82/Quicksearch.png)
Thankshttps://lab.civicrm.org/dev/core/-/issues/623civicrm_mailing_bounce_type.threshold = 30 for 'Away' is that correct?2018-12-29T04:47:10ZStoobcivicrm_mailing_bounce_type.threshold = 30 for 'Away' is that correct?I searched for "civicrm_mailing_bounce_type" and could find no issues. @seamuslee wanted confirmation that '30' is the correct number of civicrm_mailing_bounce_type.threshold for type=2 "Away".
I can confirm that 30 is the default valu...I searched for "civicrm_mailing_bounce_type" and could find no issues. @seamuslee wanted confirmation that '30' is the correct number of civicrm_mailing_bounce_type.threshold for type=2 "Away".
I can confirm that 30 is the default value in 5.6+, if not older. This default was changed from 3 to 30 at some point, not sure when. 3 is listed in the documentation, and there is a PR to change that part of the documentation.5.10https://lab.civicrm.org/dev/core/-/issues/3566Public View link does not show from Scheduled and Sent screen2022-06-11T14:54:15ZseamusleePublic View link does not show from Scheduled and Sent screenWhen you view a list of scheduled and sent mailings you cannot access the Public View url link even tho the code suggests it should be availableWhen you view a list of scheduled and sent mailings you cannot access the Public View url link even tho the code suggests it should be available5.10https://lab.civicrm.org/dev/core/-/issues/616'Print/merge document for memberships' Preview creates activities2022-09-23T05:03:37ZAndrew Thompson'Print/merge document for memberships' Preview creates activitiesUnlike 'Print/merge document' for *contacts*, for *memberships* the 'Print/merge document for *memberships*' task the Preview button will create activities.
As defined in [CRM-16725](https://issues.civicrm.org/jira/browse/CRM-16725) the...Unlike 'Print/merge document' for *contacts*, for *memberships* the 'Print/merge document for *memberships*' task the Preview button will create activities.
As defined in [CRM-16725](https://issues.civicrm.org/jira/browse/CRM-16725) the difference between Preview and Download Document should be that activities are not created for Preview.
Steps to reproduce:
1. Find Memberships, use any criteria
2. Select some memberships and select the 'Print/merge document for memberships'
3. Click Preview - PDF will be created
4. Find Activities, search using appropriate criteria (Today) - activities will be seen for this task.
*Preliminary investigation:*
In `CRM_Member_Form_Task_PDFLetterCommon::postProcessMembers()`, `self::createActivities()` is called unconditionally.
In contrast, for Contacts, in `CRM_Contact_Form_Task_PDFLetterCommon::postProcess()`, `self::createActivities()` is inside an if statement: `if ($isLiveMode)`.https://lab.civicrm.org/dev/core/-/issues/610Page title displays twice if the activity type is set in Activity form2018-12-29T22:59:37ZyashodhaPage title displays twice if the activity type is set in Activity formSteps to replicate :
* Go to https://dmaster.demo.civicrm.org/civicrm/activity?reset=1&action=add&context=standalone&atype=2
* Page title displays twice
![activity_bug](/uploads/dcb4e9453ef30a5352b0755a471443c9/activity_bug.png)
It show...Steps to replicate :
* Go to https://dmaster.demo.civicrm.org/civicrm/activity?reset=1&action=add&context=standalone&atype=2
* Page title displays twice
![activity_bug](/uploads/dcb4e9453ef30a5352b0755a471443c9/activity_bug.png)
It shows properly if a new activity form doesn't have activity type set.
https://dmaster.demo.civicrm.org/civicrm/activity?reset=1&action=add&context=standalone5.10yashodhayashodhahttps://lab.civicrm.org/dev/core/-/issues/603DB error on Case Summary report2018-12-30T09:13:53ZmathavanDB error on Case Summary reportOn Case Summary report,
When run report without any changes are any filters then you would this warning message
![Warning_message](/uploads/d58a69dbbf72d9916ac87a3cde5c9583/Warning_message.png)
Then unselect the Staff Member Column and...On Case Summary report,
When run report without any changes are any filters then you would this warning message
![Warning_message](/uploads/d58a69dbbf72d9916ac87a3cde5c9583/Warning_message.png)
Then unselect the Staff Member Column and Relationship column on Column tab and run the report would end up with DB Error unknown column.
![unselectRelationshipFields](/uploads/78f1e4e8e732f70a4a65a7f266249c7a/unselectRelationshipFields.png)
![DB_Error](/uploads/ce1803449623eb3d62c539cfa06aa8a1/DB_Error.png)
I think is because of filter "Active Relationship" is set to "Yes" by default.
![Filter](/uploads/92151f98651b2deec706a7c2c06ee6ea/Filter.png)
Because there is no relationship table has been added in from clause based on this condition
![FromClause](/uploads/3126c43f0ebc4905fe368085d0ad0df0/FromClause.png)5.10https://lab.civicrm.org/dev/core/-/issues/602PHP 7 notice: Only variables should be assigned by reference in CRM/Member/Fo...2018-12-18T01:04:04ZAndrew ThompsonPHP 7 notice: Only variables should be assigned by reference in CRM/Member/Form/Task.php, also applicable to Event, Grant, Pledge, CoreI get this e-notice when creating a PDF letter from a membership search task:
```
Notice: Only variables should be assigned by reference in <path>/CRM/Member/Form/Task.php on line 134
```
The offending code - I think it's just a matter ...I get this e-notice when creating a PDF letter from a membership search task:
```
Notice: Only variables should be assigned by reference in <path>/CRM/Member/Form/Task.php on line 134
```
The offending code - I think it's just a matter of removing the &
```php
public function setContactIDs() {
$this->_contactIds = &CRM_Core_DAO::getContactIDsFromComponent($this->_memberIds,
'civicrm_membership'
);
}
```
PR: https://github.com/civicrm/civicrm-core/pull/13295https://lab.civicrm.org/dev/core/-/issues/593Quicksearch "Name/Email" doesn't search email2018-12-18T03:19:39ZJonGoldQuicksearch "Name/Email" doesn't search emailI'm seeing this on both 5.8.0 and master.
QuickSearch, when set to "Name/Email" searches on name but not email. Basic/Advanced search "Name/Email" fields both work normally.I'm seeing this on both 5.8.0 and master.
QuickSearch, when set to "Name/Email" searches on name but not email. Basic/Advanced search "Name/Email" fields both work normally.5.8.2https://lab.civicrm.org/dev/core/-/issues/587Permissions on GroupContact API calls seem wrong2023-09-24T16:09:28ZJonGoldPermissions on GroupContact API calls seem wrongI got a support request from a user who didn't have "Edit All Contacts" permissions stating that they couldn't remove someone from a group. Sure enough, [edit all contacts](https://lab.civicrm.org/dev/core/blob/master/CRM/Core/Permissio...I got a support request from a user who didn't have "Edit All Contacts" permissions stating that they couldn't remove someone from a group. Sure enough, [edit all contacts](https://lab.civicrm.org/dev/core/blob/master/CRM/Core/Permission.php#L1229) is the necessary permission. However, editing/removing tags just requires "access CiviCRM".
Does this seem correct to folks? Is it to prevent someone escalating their ACL permissions? If so, it feels like we need a different permission, and predates more nuanced solutions such as [Group Protect](https://github.com/CiviCooP/org.civicoop.groupprotect). The only other entity that needs such high permissions is Relationship - that also seems wrong.
I propose that we add both GroupContact and Relationship entities to the `_civicrm_api3_check_edit_permissions()` function. If you can edit the contact, you can edit their groups/relationships. If someone gives this a "Concept: Approved" I'll work on the PR.JonGoldJonGoldhttps://lab.civicrm.org/dev/core/-/issues/586PCP Report does not show accurate total amount and total donors2019-01-07T23:07:12ZjamiePCP Report does not show accurate total amount and total donorsThe "Personal Campaign Page Report" provides inaccurate numbers for the "Committed Amount" and the "Number of Donors" in the report rows. The numbers in the summary at the bottom are accurate.
Instead of the total "Committed Amount", it...The "Personal Campaign Page Report" provides inaccurate numbers for the "Committed Amount" and the "Number of Donors" in the report rows. The numbers in the summary at the bottom are accurate.
Instead of the total "Committed Amount", it provides one of the committed amounts. Instead of a count of donors, it provides the id of one of the soft credit records.5.11jamiejamiehttps://lab.civicrm.org/dev/core/-/issues/585client is not getting assigned as target contact2018-12-29T22:09:50ZStoobclient is not getting assigned as target contactThis behavior started in 5.6 and persists in 5.8.0 whereby when editing the next scheduled activity in the Case sequence, it looks like the target contact is set, but it actually isn't. This appears to be that because when the next sche...This behavior started in 5.6 and persists in 5.8.0 whereby when editing the next scheduled activity in the Case sequence, it looks like the target contact is set, but it actually isn't. This appears to be that because when the next scheduled activity is created in the sequence, the target contact is blank to begin with.
But when the next scheduled activity is edited and saved, the source contact is set, the case id is set, but target contact remains unset. In other words, the activity target is not set to the client as it should be, nor as the screen implies that it is. The undesirable symptom is that activities without a target do not show up in Activity reports or Find Activities search.
![looks-good](/uploads/f8e63bf92cc7610eebf5463211d7af5e/looks-good.png)
![but-target-blank](/uploads/48b57aefca4d042303ab7f868b205523/but-target-blank.png)
5.8.2https://lab.civicrm.org/dev/core/-/issues/3572Deduping test email is case sensitive2022-06-11T14:54:27ZMartinDeduping test email is case sensitiveTested on 4.6.38 and 5.6.1.
When composing a mailing, the email address used in the "send test email to" field at the bottom is deduped. This is case sensitive, so fails to match emails that are the same but have different upper/lower c...Tested on 4.6.38 and 5.6.1.
When composing a mailing, the email address used in the "send test email to" field at the bottom is deduped. This is case sensitive, so fails to match emails that are the same but have different upper/lower case combinations. In this case, it will create a new contact with this interesting property: the value in the "email" field shows with the email address flattened to all lowercase, but the display name for the contact shows with the upper/lower case mix used when it was entered to test the mailing.
The upshot of all this is that if I'm putting together a mailing and send 6 test to the same email address (with an uppercase letter), I get 6 new duplicate contacts because it fails to match it each time.
Request to make the dedupe test for this mailing field case insensitive, since in general civi seems to want email addresses to be lowercase when they're used.
I can potentially make this change if someone can point me in the right direction.
Thanks!5.11https://lab.civicrm.org/dev/core/-/issues/583Irregular display of custom fields when editing contributions2022-09-22T02:55:32Zluke.stewartIrregular display of custom fields when editing contributionsWhen editing a contribution (in a new page) sometimes the custom field data will not display.
Present on both 5.3.1 and dmaster (5.10.alpha1)
To reproduce:
Create a custom field set for contributions - and specify it to be for a speci...When editing a contribution (in a new page) sometimes the custom field data will not display.
Present on both 5.3.1 and dmaster (5.10.alpha1)
To reproduce:
Create a custom field set for contributions - and specify it to be for a specific type:
![image](/uploads/d4157eed58eac83c7d1ef902ce5d77cc/image.png)
Add a field (or two)
Find a contribution of that specific type and load a number of times. Sometimes the custom field type will show and other times it will not.
![image](/uploads/78f18f2e29514d252760682612fde821/image.png)https://lab.civicrm.org/dev/core/-/issues/581api profile.submit does not add contact to group specified by the profile2019-03-22T14:38:22Zjamieapi profile.submit does not add contact to group specified by the profileThis was raised in the contact of [remoteform](https://github.com/progressivetech/net.ourpowerbase.remoteform/issues/9). I suspect it doesn't trigger the email notification either and perhaps other things that it should do.
I think that...This was raised in the contact of [remoteform](https://github.com/progressivetech/net.ourpowerbase.remoteform/issues/9). I suspect it doesn't trigger the email notification either and perhaps other things that it should do.
I think that's because the api method calls `civicrm_api3('contact', 'create', $profileParams);` to create the contact specified, rather than `CRM_Contact_BAO_Contact::createProfileContact` which seems to happen when a profile is submitted via the normal web usage.
Any opinions on what to do? I think our options are:
* Do nothing. The profile.submit api action could remain a simple action to just get the data in and I could write a wrapper in remoteform and handle the other pieces
* Keep profile.submit the same, but tack on some addtional code that tries to handle the extra steps that need to be taken when a profile is submitted.
* Fix profile.submit to use `CRM_Contact_BAO_Contact::createProfileContact` instead of contact.create
I suspect the last option is the best option, but curious to get feedback before I start.https://lab.civicrm.org/dev/core/-/issues/576Fix issue where fields are dropped from XML files because version comparison ...2018-12-06T19:58:51ZseamusleeFix issue where fields are dropped from XML files because version comparison between the add key and the build version failsOn master we are seeing build failures in the matrix tests at the moment because doing `if (5.3 <= 5.10)` effectively is proving to be false so DAO files are being re-generated to exclude specific fields causing errors.On master we are seeing build failures in the matrix tests at the moment because doing `if (5.3 <= 5.10)` effectively is proving to be false so DAO files are being re-generated to exclude specific fields causing errors.5.10