Development issueshttps://lab.civicrm.org/groups/dev/-/issues2023-10-20T07:56:10Zhttps://lab.civicrm.org/dev/core/-/issues/4628Search Kit: DB Entity doesn't work with Data Segment2023-10-20T07:56:10Za.valllloveraSearch Kit: DB Entity doesn't work with Data SegmentOverview
----------------------------------------
When you have fields with Data Segmentation and try to use the DB Entity, the search will never be saved in the database, it will stuck in neverending Saving status.
https://chat.civicrm...Overview
----------------------------------------
When you have fields with Data Segmentation and try to use the DB Entity, the search will never be saved in the database, it will stuck in neverending Saving status.
https://chat.civicrm.org/civicrm/pl/jkbfnoukuid38mhroyj1fer1mh
Reproduction steps
----------------------------------------
1. Create a Data Segmentation
1. Create a SK Search that includes the Data Segmentation previosly created
1. Use the DB Entity and try to Save the search while selecting the Data Segmentation field.
![SK_Db_Entity](/uploads/0dce391d884193738e5ca9f767da59ec/SK_Db_Entity.gif)
Current behaviour
----------------------------------------
When you want to save the Search, the DB Entity it enters into an infinite saving status.
![Saving_forever](/uploads/14c2f4b90e0c45176bd1a8424692df92/Saving_forever.gif)
Via api4 you can see that the table is not created in the DB.
![image](/uploads/24c59f656eb38276978c2a3b7fe00e81/image.png)
Expected behaviour
----------------------------------------
It saves the Search, create the Table in the DB and refresh the table with the content of the search.
Environment information
----------------------------------------
* __CiviCRM:__ [dmaster](https://dmaster.demo.civicrm.org/civicrm/dashboard?reset=1) v.5.67.alpha1https://lab.civicrm.org/dev/core/-/issues/4627Proposal: Membership type label2023-10-01T19:23:57Zmattwiremjw@mjwconsult.co.ukProposal: Membership type labelThe membership type table only has "name" and you cannot specify a separate label/title for display. This makes it problematic for portability/import/export as well as translation.
Proposal: Add new field "label" to MembershipType which...The membership type table only has "name" and you cannot specify a separate label/title for display. This makes it problematic for portability/import/export as well as translation.
Proposal: Add new field "label" to MembershipType which is used for display instead of the name.https://lab.civicrm.org/dev/core/-/issues/4626Reduce calls to CRM_Utils_System::url() in mailings2023-10-05T11:45:56ZJonGoldReduce calls to CRM_Utils_System::url() in mailingsOn Drupal 8+ and possibly on other CMSes, `CRM_Utils_System::url()` takes an absurdly long time to run. Seems like `\Drupal\Core\Utility\UnroutedUrlAssembler::assemble()` is the main culprit, but even that's only part of the problem.
W...On Drupal 8+ and possibly on other CMSes, `CRM_Utils_System::url()` takes an absurdly long time to run. Seems like `\Drupal\Core\Utility\UnroutedUrlAssembler::assemble()` is the main culprit, but even that's only part of the problem.
When generating VERP URLs, we call `CRM_Utils_System::url()` 5 times per email, to generate almost-identical URLs. Simply reducing that to one call per email cut my test mail sending by just over 25%!
There are further improvements to be made, I'd love to hear folks' feedback.
* Do we even need to call `\Drupal\Core\Url::fromUri()` every time we call `CRM_Utils_System::url()`? Is there a faster way to generate URLs?
* Many email service providers (Mailjet, Sparkpost etc.) emit a webhook on bounce. What if we created a "Disable VERP" setting?JonGoldJonGoldhttps://lab.civicrm.org/dev/core/-/issues/4625Inconsistent search result when "Modified By" field and apply an action2023-09-26T12:28:52Zthomas_SYSTOPIAInconsistent search result when "Modified By" field and apply an action**Description:**
When apply an action (like "Tag - add to contacts") on a search result using "Change Log->Modified By" field the result scope is lost. Instead the action would be applied to all contacts.
**Steps to reproduce** (tested...**Description:**
When apply an action (like "Tag - add to contacts") on a search result using "Change Log->Modified By" field the result scope is lost. Instead the action would be applied to all contacts.
**Steps to reproduce** (tested on https://d9-master.demo.civicrm.org/):
1. Use the advanced search form with "Change Log->Modified By" = _admin_. The result includes exactly one contact.
2. Choose "Tag - add to contacts" from the action menu.
3. You'll see "Number of selected contacts: 204" (204 are the sum of all contacts.)https://lab.civicrm.org/dev/drupal/-/issues/190Links in Drupal Views are improperly URL-encoded2023-10-05T12:00:17ZresgaLinks in Drupal Views are improperly URL-encodedOriginal and open issue: [CRM-21716 Links in Drupal Views are improperly URL-encoded](https://issues.civicrm.org/jira/browse/CRM-21716).
As I read https://lab.civicrm.org/infra/ops/-/wikis/gitlab-roadmap#what-about-the-2000-open-issues-...Original and open issue: [CRM-21716 Links in Drupal Views are improperly URL-encoded](https://issues.civicrm.org/jira/browse/CRM-21716).
As I read https://lab.civicrm.org/infra/ops/-/wikis/gitlab-roadmap#what-about-the-2000-open-issues-in-jira-that-are-not-confirmed not all issues were migrated, and it looks like this one wasn't.
The updated code in the issue above works well, and URLs are properly formatted.https://lab.civicrm.org/dev/core/-/issues/4622Running queues following the docs' example might lead to infinite loops2023-10-27T08:36:37ZjensschuppeRunning queues following the docs' example might lead to infinite loopsFollowing the [_Queue Reference_ example](https://docs.civicrm.org/dev/en/latest/framework/queues/#3-run-the-queue) for running a queue in `CRM_Queue_Runner::ERROR_CONTINUE` mode with a `while` loop that only `break`s for `is_continue!=1...Following the [_Queue Reference_ example](https://docs.civicrm.org/dev/en/latest/framework/queues/#3-run-the-queue) for running a queue in `CRM_Queue_Runner::ERROR_CONTINUE` mode with a `while` loop that only `break`s for `is_continue!=1` will lead to infinite loops when a queue item has not been released yet (e.g. due to the script terminating without an exception being caught and the queue being re-run before release of the next item).
That's because `CRM_Queue_Queue_Sql::claimItem()` fetches the _first_ queue item and filters for `release_time` _afterwards_ - yielding no result, but reporting more items to be in the queue (`is_continue=1`). The only way to catch these cases with code calling the `CRM_Queue_Runner::runNext()` method is to check for `is_error=1` and the `exception` message being `Failed to claim next task`.
So, I've got some questions regarding Queues:
* Is there any best practice for handling errors during `claimItem()` any better?
* Would you agree there should be another indicator in the task result for those cases, or maybe that exception actually being thrown?
* Alternatively, should `is_continue` be `0` instead for those cases (i.e. its meaning would change from _queue finished_ to _queue processing can continue_)?
* Can the `$lease_time` parameter for SQL queues' `claimItem()` be exposed to all queues, so that the caller can modify it?
I see that the query was altered with https://github.com/civicrm/civicrm-core/pull/15421 by @artfulrobothttps://lab.civicrm.org/dev/core/-/issues/4620CiviEvent dashboard: start date is 7 days ago2023-09-26T12:23:49ZmasettoCiviEvent dashboard: start date is 7 days agoI follow up https://civicrm.stackexchange.com/questions/22424/how-to-customize-events-dashboard.
The event dashboard now shows recent and upcoming events (where start date is 7 days ago OR later).
It would be convenient if the numbe...I follow up https://civicrm.stackexchange.com/questions/22424/how-to-customize-events-dashboard.
The event dashboard now shows recent and upcoming events (where start date is 7 days ago OR later).
It would be convenient if the number of days was configurable in the preferences of CiviEvents (`civicrm/admin/setting/preferences/event`).
Do you think it is useful and required by others as well?https://lab.civicrm.org/dev/core/-/issues/4619Eliminate `contributeMode`2023-09-26T12:23:10ZeileenEliminate `contributeMode``contributeMode` is the old concept when we thought we could categorise payment processors into 3-4 basic types that did the same stuff. We have mostly eliminated but it perseveres in a few places we want to kill
| Form | Used for |Alte...`contributeMode` is the old concept when we thought we could categorise payment processors into 3-4 basic types that did the same stuff. We have mostly eliminated but it perseveres in a few places we want to kill
| Form | Used for |Alternative|
| ------ | ------ |------------|
| Contribution_Confirm | Should the form `postProcess` hook be called before `doPayment` |? `$processor->supports('formAssumesNoReturn')` (I kinda feel it should be on the processor to call the hook but...|
| Contribution_Confirm | Should the button be called 'Continue' or 'Make Contribution' |Ditch? always 'Make Contribution'? Or do we need a `getText('continue_contribution_button)`|
|Event_Registration|Should emails be sent from the form (otherwise sent on completetransaction)|? `$processor->supports('formAssumesNoReturn')`|
|Event_Registration_Confirm|Should paypal express code be called|probably just a different hack|
|Event_Registration_Confirm::554|several places tricky stuff around doPayment| will need unravelling|
|Contribution Confirm.tpl|What text should we use for continue_instructions-section|?`paymentObject->getText('continue_contribution_instruction')` ?|
|Registration Thankyou.tpl|What text should be used arount 'Your registration has been processed successfully'|?`paymentObject->getText('event_success_instruction')` ?|
All other places are either doing nothing or are removablehttps://lab.civicrm.org/dev/core/-/issues/4618Tracking: Uses of {php} to remove from Smarty in order to allow upgrade to Sm...2023-09-26T03:17:14ZlarsssandergreenTracking: Uses of {php} to remove from Smarty in order to allow upgrade to Smarty 3+This is the complete list remaining (not including those in pending PRs)
- [ ] https://github.com/civicrm/civicrm-core/blob/master/templates/CRM/Contact/Form/Task/PDFLetterCommon.hlp#L27 (I think we can get the param directly in Smarty ...This is the complete list remaining (not including those in pending PRs)
- [ ] https://github.com/civicrm/civicrm-core/blob/master/templates/CRM/Contact/Form/Task/PDFLetterCommon.hlp#L27 (I think we can get the param directly in Smarty 3 or maybe it would be OK to hardcode docx and odt in here)
- [x] https://github.com/civicrm/civicrm-core/blob/master/templates/CRM/Admin/Page/APIExplorer.js#L752 (APIv3 Explorer ouputs {php} when we have an array, but in Smarty 3 we can pass in the array, so this can be removed)
- [ ] https://github.com/civicrm/civicrm-core/blob/master/templates/CRM/Campaign/Page/Petition/SocialNetwork.drupal#L28
- [ ] https://github.com/civicrm/civicrm-core/blob/master/templates/CRM/common/accesskeys.hlp#L11 (Could maybe redo this in JS)
- [ ] https://github.com/civicrm/civicrm-core/blob/master/templates/CRM/ACL/Header.tpl#L17
- [ ] https://github.com/civicrm/civicrm-core/blob/master/xml/templates/civicrm_msg_template.tplhttps://lab.civicrm.org/dev/core/-/issues/4617Running Job.update_greeting without updating customized greetings2023-10-18T08:06:00ZCharlotteRunning Job.update_greeting without updating customized greetingsOverview
----------------------------------------
For the scheduled job `update_greeting` there are two options for the parameter `force` which are explained by the [documentation](https://docs.civicrm.org/user/ca/latest/initial-set-up/...Overview
----------------------------------------
For the scheduled job `update_greeting` there are two options for the parameter `force` which are explained by the [documentation](https://docs.civicrm.org/user/ca/latest/initial-set-up/scheduled-jobs/#job_update_greeting) as follows:
- `0` only contacts with null values are updated (default)
- `1` update all contacts
There is no explanation about what happens with customized greetings when using `force = 1`.
It turns out that all customized greetings will be overridden by the standard greeting. I did not expect this.
It would be great to have another option
- `2` update all contacts excluding customized greetings
If this is not possible, then a more detailed documentation could be helpful.
This issue has also been described on [stackexchange](https://civicrm.stackexchange.com/questions/41709/running-job-update-greeting-without-updating-customized-greetings).
Work around
----------------------------------------
Use API v4 to set all greetings that are not customized greetings to NULL.
Here an example for individuals and email greeting:
```
$contacts = civicrm_api4('Contact', 'get', [
'where' => [
['email_greeting_custom', 'IS EMPTY'],
['contact_type', '=', 'Individual'],
],
'chain' => [
'name_me_0' => ['Contact', 'update', ['values' => ['id' => '$id', 'custom_greeting_display' => NULL]]],
],
]);
```
Afterwards, the greetings are not NULL but already contain the new standard greeting. There is no need to run the job `update_greeting` with `force = 0`.
Environment information
----------------------------------------
* __CiviCRM:__ 5.63.2
* __PHP:__ 8.1
* __CMS:__ Drupal 9https://lab.civicrm.org/dev/user-interface/-/issues/59Cleanup Civi markup to use the 'canonical' style-guide versions2023-11-28T12:49:34ZnicolCleanup Civi markup to use the 'canonical' style-guide versionsThe hoped-for final step of the theme project is to cleanup Civi markup to remove the multitude of patterns found in #56, repolacing them with the canonical versions specified in #57, so that the theme #58 can shrink in size/complexity.
...The hoped-for final step of the theme project is to cleanup Civi markup to remove the multitude of patterns found in #56, repolacing them with the canonical versions specified in #57, so that the theme #58 can shrink in size/complexity.
The further the project of [replacing Civi's Admin UI screens](https://github.com/civicrm/civicrm-core/pull/27422) with SearchKit and FormBuilder gets, the smaller this task becomes.Improve Civi's front-endhttps://lab.civicrm.org/dev/user-interface/-/issues/58Make a new theme to ship with Civi2024-02-28T17:20:02ZnicolMake a new theme to ship with CiviIn parallel to documenting Civi's Markup in the ThemeTest extension (#56) and agreeing the best markup patterns (#57), produce a new theme to ship with CiviCRM to replace the 15-year-old Greenwich theme.
After extensive discussion @artf...In parallel to documenting Civi's Markup in the ThemeTest extension (#56) and agreeing the best markup patterns (#57), produce a new theme to ship with CiviCRM to replace the 15-year-old Greenwich theme.
After extensive discussion @artfulrobot and I (who each produce a theme - [Aah](https://github.com/artfulrobot/aah) and [Finsbury Park](https://civicrm.org/extensions/finsbury-park-cross-cms-admin-theme)) are deliberately trying to ignore UI specific questions (fonts? colours? flat? shadows? round-corners?) but instead on making those decisions something trivial to change later (and would obviously make them in discussion with the community).
This themes' primary goal is to give Civi a theme backend that will support not just 2023/24's UI trends (shadowy, vs flat, vs skewmorphic), but the trends of the next 20 years. As well as supporting all 7 Civi versions (Backdrop, Drupal 7 with Seven, Drupal 9+ with Claro, Joomla 3, Joomla 4, Standalone, WordPress), the new theme aims to follow several principles:
### Wide use of CSS Variables
Use [CSS Custom Properties](https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties) (aka CSS Variables) to make it quick to re-theme. In principle this could make it viable to have a set of Custom property declarations to make the theme look closer to Shoreditch for those whose training materials require that, or for those who need to match a CMS UI or organisation intranet design guidelines.
A test of CSS Custom Properties being used in this way is [currently shipping with the login](https://lab.civicrm.org/extensions/standaloneusers/-/blob/main/templates/CRM/Standaloneusers/Page/Login.tpl) page markup for [CiviCRM Standalone](https://civicrm.org/blog/josh/civicrm-without-cms-welcome-back-standalone). In the screengrab below you can see the three variable arrays for three different UI's
![image](/uploads/d65e77cf87c1208ab0b88af0d515dc35/image.png)
### Bootstrap Subset
Use a Bootstrap subset to continue to support the Bootstrap 3 class names & markup patterns currently in use in post-Shoreditch components (API Explorer, SearchKit, Form Builder, Mosaico, etc). This does not mean Bootstrap 3 as a whole needs to be supported/bundled; and some of Bootstrap 4/5 can be used - but the full Bootstrap 3 or 5 bundle isn't needed.
### Accessibile, responsive, small
Standards in accessibility have evolved fast. Just taking base font-size - the current standard practice is to let the browser define this, with a default of 16px and scale every page font in proportion using Rems. However, in Bootstrap 3: HTML is 10px, body is 14px, all sizes are set in pixels. WordPress and Joomla 3 are worse: both have 13px body size, same as the Seven admin theme on Drupal 7 and 8. Bootstrap 4 & 5, Backdrop, Joomla 4 and Drupal 9 Claro theme get it right: body is 1rem, inheriting pixel size from browser (aka 16px). But it’s an extra complexity for Civi's cross-CMS theming. To understand why this is so important, Rich made a demo: https://artfulrobot.uk/lil/about-rems/.
Mobile and tablet support needs to be added as far as possible.
The theme's filesize should be kept as small as possible within the various constraints described here.
### Structure
Structure the theme to separate style definitions for Style Guide approved markup patterns (#57) and the legacy support for (some of) the older patterns identified in #56, aka 'Civi hacks'. The CSS also needs a CMS Hacks section to handle CMS-specific quirks which often change with new CMS themes, e.g. Drupal 9's Claro). A possible structure below
![image](/uploads/8bd26d331c8a73c8f9f3a54059e8ee07/image.png)
### Separate front theme?
CiviCRM on the front-end has different needs to the backend. Buttons need to match the parent front-end theme style and there's a number of ways to do this, from having separate CSS Variables for front-end pages that users can configure, to having a minimalist front-end theme that inherits more from the parent theme. This will be looked at subject to time and progress of other goals, for now there is a prototype CSS Variable led, minimalist front-end theme that inherits more of a front-end theme while letting the user configure some defaults (ie button colour/size): [Front](https://lab.civicrm.org/nicol/front/-/tree/main).
Related issue: https://lab.civicrm.org/dev/user-interface/-/issues/46. Related [Wiki page](https://lab.civicrm.org/dev/user-interface/-/wikis/DINO:-New-theme(s)).Improve Civi's front-endhttps://lab.civicrm.org/dev/user-interface/-/issues/57Recommend best-practice markup for all Civi UI elements in updated UI Referen...2024-02-25T22:48:10ZnicolRecommend best-practice markup for all Civi UI elements in updated UI Reference Guide / new Civi StyleGuideCivi's [UI Reference Guide](https://docs.civicrm.org/dev/en/latest/framework/ui/) is helpful but very incomplete. As well as trying to [reduce the wide range of markup patterns](https://lab.civicrm.org/dev/user-interface/-/issues/56) in ...Civi's [UI Reference Guide](https://docs.civicrm.org/dev/en/latest/framework/ui/) is helpful but very incomplete. As well as trying to [reduce the wide range of markup patterns](https://lab.civicrm.org/dev/user-interface/-/issues/56) in use in CiviCRM, a comprehensive StyleGuide (either a new project or an update to the Reference Guide is needed to:
- Ensure new CiviCRM interfaces - in core or extensions - use consistent, and core-team/community agreed markup.
- Allows a process to improve this markup.
- Support the development of a new Theme that separates canonical 'style-guide supported' markup patterns, from legacy patterns (support for which will eventually be dropped).
- Helps the eventual process of Civi Core markup clean-up by demonstrating what all the patterns documented in [ThemeTest](https://lab.civicrm.org/extensions/themetest) should be replaced with.
In the longer run the Style Guide can support the introduction of new user experience patterns (e.g. SearchKit layouts), by documenting how to change their appearance.
The chosen patterns should prioritise:
* **accessibility**, as well as improving legibility, font scalability, descriptive icons and colour contrast ratios, to fully incorporate [ARIA attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA) to support screen-readers,
* **mobile responsiveness**, as well as improving smaller screen support, using [input modes](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/inputmode) to support mobile keyboards or perhaps [enterkeyhint](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/enterkeyhint).
* **usability**, such as using [HTML autocomplete](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete) to support browser-led auto-complete.
Examples of style guides (thanks Dryden@EcoPing for the list):
- [Gov.UK](https://design-system.service.gov.uk/styles/) - separates _styles_ (e.g. lists, links), _components_ (e.g. accordion, breadcrumbs) and _patterns_ (from asking for a Date, to confirm an email, create a username).
- [Shopify](https://polaris.shopify.com/getting-started) - separates more (foundations, design principles, etc) but still separates components (e.g. buttons) and patterns (e.g. confirmation screen), icons, and 'tokens' - classes that implement a quick design element.
- [Material Design](https://m3.material.io/styles) - Google's Open Source design system. Separates styles and components (no patterns).
- [Mailchimp](https://ux.mailchimp.com/) - Mailchimp's guide is called a Pattern library, and lists inside this components - its definitions for these seems different to Gov.UK and Shopify.
Lasting notes can be added to the [Wiki Page](https://lab.civicrm.org/dev/user-interface/-/wikis/DINO:-Identify-preferred-markup) for this.
Previous similar issue https://lab.civicrm.org/dev/user-interface/-/issues/24 by @bgm, & related [Wiki](https://lab.civicrm.org/dev/user-interface/-/wikis/flex-css) with @andie.Improve Civi's front-endhttps://lab.civicrm.org/dev/user-interface/-/issues/56Document all CiviCRM Markup patterns in ThemeTest Extension2024-02-08T16:04:53ZnicolDocument all CiviCRM Markup patterns in ThemeTest ExtensionCiviCRM markup is full of examples of multiple methods to create the same UI element (buttons, accordions, modals, etc). By documenting every variation we can:
- make the process of theme-writing easier as all variations can be tested qu...CiviCRM markup is full of examples of multiple methods to create the same UI element (buttons, accordions, modals, etc). By documenting every variation we can:
- make the process of theme-writing easier as all variations can be tested quickly
- support the process of agreeing a 'canonical' approach for best practice markup in a style guide
- help identify markup patterns that should be deprecated as too obscure, legacy or non-accessible.
This is being done with @artfulrobot's extension [ThemeTest](https://lab.civicrm.org/extensions/themetest), below. To contribute, take a look at the issues. Preferably run a local copy of the extension in a recent Civi setup (any CMS), and work thru open issues or add patterns you've found that aren't documentedfollowing the instructions here: https://lab.civicrm.org/extensions/themetest#adding-patterns.
![image](/uploads/30c5423a2956f2c4004fd1f8bb8c02a3/image.png)
NB: this is a work in progress extension without release numbering, use the latest Main branch.
FTR, a **distinct pattern** is one which has its own CSS assigned to it in the default Greenwich theme or in Bootstrap3.css. So, for e.g. `<span class="crm-button">` and `<button class="crm-button">` as defined by the selector `.crm-button` are the same pattern. But if there was a selector in civicrm.css targeting only `button.crm-button` (there isn't) then they would be different.
At present UX markup patterns (aka 'snippets') have been written in these categories:
- [x] Accordions
- [ ] Alerts
- [ ] Buttons
- [ ] Dialogs
- [ ] Dropdowns
- [ ] Inputs
- [ ] Notifications
- [ ] Other
- [ ] Tabs
- [ ] Radios & Checklists
- [ ] Select lists (incl. Select2)
- [ ] Tables
The main gaps are:
Notes specific to this meta-issue can be added to the [related Wiki page](https://lab.civicrm.org/dev/user-interface/-/wikis/DINO:-Document-variations).Improve Civi's front-endhttps://lab.civicrm.org/dev/core/-/issues/4615Search Displays: improve the display of in-place-editable EntityReferences wh...2023-09-26T12:19:09ZnoahSearch Displays: improve the display of in-place-editable EntityReferences when at restThis feature request is about EntityReference/foreign-key fields with "in-place edit" turned on in Search Displays.
Let's use this example: a Saved Search for Contacts, where we want to be able to edit a contact's "Current Employer" inl...This feature request is about EntityReference/foreign-key fields with "in-place edit" turned on in Search Displays.
Let's use this example: a Saved Search for Contacts, where we want to be able to edit a contact's "Current Employer" inline.
Currently:
- "Current Employer Display Name" can be added as a field in the Search Display. However, "In-Place Edit" is not available for it.
- "Current Employer ID" can be added as a field in the Search Display, with "In-Place Edit". "In-Place Edit" and "Rewrite Text" can't be enabled at the same time.
- When the Display is rendered, all "Current Employer ID"s are shown simply as numeric contact ids.
- When you click on one of these numbers, an autocomplete widget appears, allowing you to search by name; choices are shown with name, contact type and contact id.
- When you submit/close the widget, the field goes back to just a number.
It would be great if:
- "Rewrite" could be used in conjunction with "In-Place Edit". That way, the search designer could choose how the value is displayed "at rest" (when not being edited). For example, "Currently Employer ID" could be rewritten with a token for "Current Employer Display Name".
- and, maybe, the search designer could just tick a box to display the "label" field for the referenced entity. This simpler option would disable the "rewrite".https://lab.civicrm.org/dev/core/-/issues/4614Search Displays: Let booleans be displayed as "instant-save" checkboxes2023-09-26T12:18:30ZnoahSearch Displays: Let booleans be displayed as "instant-save" checkboxesIn SearchKit, turning on "inline edit" for a boolean field results in a UI that involves three clicks to toggle the field value:
1. click the field to enter edit mode
2. click "Yes" or "No"
3. click the submit button
A much smoother UI...In SearchKit, turning on "inline edit" for a boolean field results in a UI that involves three clicks to toggle the field value:
1. click the field to enter edit mode
2. click "Yes" or "No"
3. click the submit button
A much smoother UI (one click instead of three) would be a single checkbox that saves immediately when toggled.https://lab.civicrm.org/dev/core/-/issues/4613Can't uncheck "display in table" for custom fields2023-09-26T12:18:06ZDaveDCan't uncheck "display in table" for custom fields1. Create a multivalued custom field group.
2. Create a custom field with "display in table" checked.
3. Edit the field and uncheck display in table.
4. Go to edit it again and note that it's checked.
This sounds familiar.1. Create a multivalued custom field group.
2. Create a custom field with "display in table" checked.
3. Edit the field and uncheck display in table.
4. Go to edit it again and note that it's checked.
This sounds familiar.https://lab.civicrm.org/dev/core/-/issues/4612Searchkit: copy MessageTemplate action2023-09-26T12:17:18Ztycho77Searchkit: copy MessageTemplate action## Overview
You want to create a copy of a message template directly from a Searchkit form, which you can then edit immediately.
## Example use-case
1. in a SearchKit-Form searching for **MessageTemplates**
2. there is a **menu-column...## Overview
You want to create a copy of a message template directly from a Searchkit form, which you can then edit immediately.
## Example use-case
1. in a SearchKit-Form searching for **MessageTemplates**
2. there is a **menu-column** added for selecting actions for one of the MessageTemplates shown
3. you want to select **Copy MessageTemplate**
## Current behaviour
1. you can already choose between CRUD functionalities for MessageTemplates
## Proposed behaviour
1. the copy takes the original name followed by " (copy)"
2. the search is reloaded, so that you can immediately see and edit the copy
## Comments
if this could be done with an hour's effort, there is concrete budget left for this.https://lab.civicrm.org/dev/core/-/issues/4610checkAccess() or the Contact get api does not return contacts allowed by rela...2023-09-26T12:16:37ZjitendracheckAccess() or the Contact get api does not return contacts allowed by relationship.**Usecase**: Contact loaded via checksum on a webform does not load the permitted related contact.
Checksum in the URL adds the contact id in the session. Contact get api with `checkPermission = true` should allow the access for contact...**Usecase**: Contact loaded via checksum on a webform does not load the permitted related contact.
Checksum in the URL adds the contact id in the session. Contact get api with `checkPermission = true` should allow the access for contacts which has permission enabled in the relationship table.
Current code only checks for the contacts allowed via ACL https://github.com/civicrm/civicrm-core/blob/master/CRM/Contact/BAO/Contact/Permission.php#L361
Possible fixes:
- Add related contacts ids in the ACL cache table OR.
- Add another code to `cacheSubQuery` for the relationship_cache table.https://lab.civicrm.org/dev/core/-/issues/4609Smarty/token processing fails with embedded CSS2023-09-26T12:15:49ZlarsssandergreenSmarty/token processing fails with embedded CSSAfter upgrade to 5.65, sending scheduled reminders with embedded CSS in them fails because the parsing interprets something like `selector { attribute: value; }` as broken smarty. Not entirely sure when this problem was introduced, but l...After upgrade to 5.65, sending scheduled reminders with embedded CSS in them fails because the parsing interprets something like `selector { attribute: value; }` as broken smarty. Not entirely sure when this problem was introduced, but lots of reports after [5.65 was released](https://chat.civicrm.org/civicrm/pl/npfsiennxbytpygm6b67bqo41c), so that seems likely.
Embedding CSS in an email may or may not be wise, but it definitely is a valid thing to do, so our smarty/token parsing is broken if it fails on that.