CiviCRM Core issueshttps://lab.civicrm.org/dev/core/-/issues2023-09-26T03:17:14Zhttps://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/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.https://lab.civicrm.org/dev/core/-/issues/4608View mailing access is not allowed for users authenticated via checksum2023-09-26T12:15:20ZlarsssandergreenView mailing access is not allowed for users authenticated via checksumIf you send a mailing with a link to view the mailing in your browser that includes contact id and checksum (which is what the default "View in browser" link Mosaico's Versafix template does), you would expect that you'd be able to view ...If you send a mailing with a link to view the mailing in your browser that includes contact id and checksum (which is what the default "View in browser" link Mosaico's Versafix template does), you would expect that you'd be able to view the mailing even if the Publication is set to User and User Admin Only. However, if you open the link in a private browsing window, you'll get access denied.
I think the expected behaviour would be that you can access the mailing when authenticated via checksum. Otherwise, that View in browser link is broken for any mailing that isn't public.
If the mailing isn't public, the [page just checks](https://github.com/civicrm/civicrm-core/blob/0c5f17226c73474e40285a87d8509b272f4f4a67/CRM/Mailing/Page/View.php#L27) for administer CiviCRM, approve mailings or access CiviMail. Maybe we need a new permission like `CiviMail: access non-public mailings` or maybe we can simply allow any logged in user to view mailings (since it says "User and User Admin Only" and a logged in contact is a user).https://lab.civicrm.org/dev/core/-/issues/4607AdminUI: Scheduled Jobs Log: missing name of job and Execute Now button when ...2023-09-23T05:00:19ZcomposerjkAdminUI: Scheduled Jobs Log: missing name of job and Execute Now button when viewing a single scheduled job logOverview
----------------------------------------
In the newer AdminUI Scheduled Jobs single job log view, the following are missing:
- Name of the job log being viewed.
- `Execute Now` button to run the scheduled job.
Related to issue ...Overview
----------------------------------------
In the newer AdminUI Scheduled Jobs single job log view, the following are missing:
- Name of the job log being viewed.
- `Execute Now` button to run the scheduled job.
Related to issue #3912 and [PR 26060](https://github.com/civicrm/civicrm-core/pull/26060) by @ayduns.
Reproduction steps
----------------------------------------
1. Enable `AdminUI` extension.
1. Go to _CiviCRM > Administer > System Settings > Scheduled Jobs_
1. Select _View joblog_ for a single job.
1. Notice the job name missing and lack of the `Execute Now` button.
Current behaviour
----------------------------------------
AdminUI SearchKit replacement of Scheduled Jobs single job log view **without the job name nor the Execute Now button:**
![AdminUI SearchKit replacement of Scheduled Jobs single job log view](/uploads/f2fae4452c29db11bdfe0d6a19548342/image.png)
Expected behaviour
----------------------------------------
Should include the job name and the `Execute Now` button, assuming the goal is to recreate the existing Scheduled Jobs experience.
Original Scheduled Jobs view of single job log **with job name and Execute Now button:**
![Original Scheduled Jobs view of single job log with Execute Now button](/uploads/65b32b2690569d84eb6bfb646381522d/image.png)
Environment information
----------------------------------------
<!-- Some of the items below may not be relevant for every bug - if in doubt please include more information than you think is neccessary. -->
* __Browser:__ _Firefox 59.0.1/Chrome 78.0.3904/Safari 13_
* __CiviCRM:__ 5.65.1
* __PHP:__ 8.0.30
* __CMS:__ WordPress 6.2.2
* __Database:__ MariaDB 10.6.3https://lab.civicrm.org/dev/core/-/issues/4606Proposal: Allow selection of all fields from an entity referenced via a calcu...2023-09-26T12:14:01ZnoahProposal: Allow selection of all fields from an entity referenced via a calculated fieldWhen an API4 calculated field defines a join to another entity, all of that other entity's fields can be accessed through API4. However, in SearchKit, currently only the "label" field can be displayed.
In many cases, it's desirable to u...When an API4 calculated field defines a join to another entity, all of that other entity's fields can be accessed through API4. However, in SearchKit, currently only the "label" field can be displayed.
In many cases, it's desirable to use fields other than the "label" field from the referenced entity.
Technical details: I'm talking about joins defined via the `api.schema_map.build` event. For example, [an Activity entity can reference a Case entity](https://github.com/civicrm/civicrm-core/blob/5.66/Civi/Api4/Event/Subscriber/ActivitySchemaMapSubscriber.php#L31-L35). The SearchKit code's [current mechanism](https://github.com/civicrm/civicrm-core/blob/5.66/ext/search_kit/Civi/Search/Admin.php#L232) only adds one field to the list of "selectable" fields.
See [recent discussion](https://chat.civicrm.org/civicrm/pl/g3p8sb4s6pr89bdjyf7jt3gcrw) between @noah and @colemanwhttps://lab.civicrm.org/dev/core/-/issues/4581Define re-usable idiom for deferrable upgrade steps2023-09-19T13:05:13ZtottenDefine re-usable idiom for deferrable upgrade stepsOverview
----------------------------------------
In managing upgrade-steps, there is some tension between:
* Making the upgrades automatic for typical sysadmins
* Allowing very large deployments to schedule/manage expensive upgrade-st...Overview
----------------------------------------
In managing upgrade-steps, there is some tension between:
* Making the upgrades automatic for typical sysadmins
* Allowing very large deployments to schedule/manage expensive upgrade-steps
This proposes to balance those expectations by defining a _deferrable upgrade task_. Sysadmins can choose to approach them a few ways:
* "Just run the task like every other upgrade step" (*e.g. default; for average and small systems*)
* "Let me decide when to run it... but please don't make me figure out obscure incantations" (*for larger systems*)
* "Let me find a highly-optimized/bespoke way to accomplish the change" (*for extra-large systems with a team of admins*)
Example use-case
----------------------------------------
1. Take a table (like `civicrm_contact`, `civicrm_activity`, `civicrm_mailing_event_queue`) which can be very large on some deployments.
1. Define a schema change (e.g. add a column and an index)
1. Executing this change be quite slow.
1. In the long-term, all systems need the schema-change. If people skip it, then it will lead to problems/confusion/bug-reports/etc.
1. In the near-future, the schema change is not quite mandatory. (The new column isn't actively used; or its usages are limited+guarded.)
A sketch
----------------------------------------
* Designate a place to store a list of deferred upgrade steps (e.g. `civicrm_deferred_upgrade` or `civicrm_queue_item`)
* In the `CRM/Upgrade/` system, add some helpers to conditionally execute or defer a step. Ex:
```php
$this->addDeferrableTask(ts('Update CiviMail tracking'), 'doCiviMailQueueConversion');
```
```php
function addDeferrableTask($title, $funcName, $args) {
if (deferred upgrades enabled) {
// Add $title, $action, $args to a persistent TODO list
}
else {
$this->addTask($title, $funcName, $args);
}
}
```
* Add a system-status-check and post-upgrade message to warn if there are any of these things that need to run
* Add an API/job/command/UI to list/execute/skip/delete deferred stepshttps://lab.civicrm.org/dev/core/-/issues/4580Assignee not exposed in activity import2023-09-14T13:02:53ZandyburnsAssignee not exposed in activity importThe record_type_id allows for source and target but not assignee? Wondering the history and reasoning behind this? https://forum.civicrm.org/index.php?topic=29394.0
It is possible to use the API CSV Import extension instead which previo...The record_type_id allows for source and target but not assignee? Wondering the history and reasoning behind this? https://forum.civicrm.org/index.php?topic=29394.0
It is possible to use the API CSV Import extension instead which previously may have hit issues with this: https://civicrm.stackexchange.com/questions/42834/issue-with-api-csv-importer-and-activity-imports/45547#45547.https://lab.civicrm.org/dev/core/-/issues/4579Importing contribution with same transaction id as an existing contribution h...2023-09-18T21:27:34ZDaveDImporting contribution with same transaction id as an existing contribution hijacks the initial contribution1. Create a contribution.
2. Give it a trxn id, or note the trxn id if it was automatic.
3. Do a contribution import, choosing to insert new records, where you make the trxn id in the file the same as the one just created, and with some ...1. Create a contribution.
2. Give it a trxn id, or note the trxn id if it was automatic.
3. Do a contribution import, choosing to insert new records, where you make the trxn id in the file the same as the one just created, and with some different particulars.
4. Notice that the contribution with that transaction id has now moved to whatever contact was in your import file, and the details updated.
What I would expect is that it says it's a duplicate and doesn't import it.
----
Edited since originally it came up with a recurring contribution but it applies to all.https://lab.civicrm.org/dev/core/-/issues/4577Conditional use of Form Processors2023-09-14T13:01:14ZsebalisConditional use of Form ProcessorsOverview
----------------------------------------
This is a feature request somewhat related to conditional fields (see [PR #24699 on Github](https://github.com/civicrm/civicrm-core/pull/24699)), but this affects the backend as well: It ...Overview
----------------------------------------
This is a feature request somewhat related to conditional fields (see [PR #24699 on Github](https://github.com/civicrm/civicrm-core/pull/24699)), but this affects the backend as well: It should be possible to link a form to a Form Processor only if certain conditions are met. A way to link fields for that form processor to previous fields would be required.
Example use-case
----------------------------------------
A petition with a checkbox “Send me your newsletter as well”. If this is selected, a block for a corresponding form processor with any additional fields would appear depending, but some of these fields will be identical to previous fields (in the unconditional part of the form), such as the first name.
Proposed behaviour
----------------------------------------
It would have to be possible to fill these fields in the form processor block via identifiers (see other feature request #4576) that cause the values from the referred fields to be copied. Other fields that do not duplicate fields from the unconditional part of the form will have to appear as standard controls.
In the backend, the same condition will have to be used to decide whether that form processor should be used to process the submission.
Comments
----------------------------------------
This request is yet another result of this week’s CiviSprint in Zeitz near Leipzig, Germany. Forgive us :-)https://lab.civicrm.org/dev/core/-/issues/4576Proposal: Unique Identifier/Field references for input fields in Form Builder2023-09-14T13:23:58Zsimon.hermannProposal: Unique Identifier/Field references for input fields in Form Builder## Overview
We propose to add a way to reference fields via an unique identifier in order to use the field value elsewhere on the field, e.g. the success page proposed in issue #4569 or on another page of a multi-page form.
Proposed use...## Overview
We propose to add a way to reference fields via an unique identifier in order to use the field value elsewhere on the field, e.g. the success page proposed in issue #4569 or on another page of a multi-page form.
Proposed uses of this feature are:
* setting the value of another field
* setting input fields in a form processor
The field reference should be automatically generated when creating a new field but be editable, if needed.
## Use case
Donation form:
* set default value for account holder based on field values “first name”, “last name”
* show chosen amount of donation on the next page
* use “first name” and “last name” as well as “donation amount” for success page to confirm donation and say thank you
## Current behavior
Not implemented
## Proposed behavior
Every field has an auto-generated field reference. Using the field reference, the field value can be shown on the form.https://lab.civicrm.org/dev/core/-/issues/4575Proposal: Calculation element for Form Builder2023-09-14T13:00:10Zsimon.hermannProposal: Calculation element for Form Builder## Overview
We would like to have a new element that allows basic arithmetic operations with number fields.
The idea is to be able to sum up several number fields or compute an average. The implementation might make use of the field refe...## Overview
We would like to have a new element that allows basic arithmetic operations with number fields.
The idea is to be able to sum up several number fields or compute an average. The implementation might make use of the field references suggested in issue #4576.
It should also be possible to include constants in the computation.
## Use case
Trying to set up a scoring form for e.g. an event – it would be great to be able to compute the average score and store it in CiviCRM.
## Current behavior
No such behaviour currently exists.
## Proposed behavior
A computed form element is available that can use input fields as well as fixed values.https://lab.civicrm.org/dev/core/-/issues/4574Proposal: Suggestions for multi-page forms with Form Builder2023-09-14T12:59:56Zsimon.hermannProposal: Suggestions for multi-page forms with Form Builder## Overview
We are happy to see that there is a plan to implement multi-page forms. To enable the users to navigate the form efficiently, it would be great if the following two features are included
- Users should be allowed to navigat...## Overview
We are happy to see that there is a plan to implement multi-page forms. To enable the users to navigate the form efficiently, it would be great if the following two features are included
- Users should be allowed to navigate between pages, even if not all required fields on the current page are filled. This allows users to get an overview of the overall (multi-page) form.
- There should be an option to move to the next or previous page, but also an additonal menu that allows the users to move directly to a specific page of the form. It would also be great if the names of the pages could be set.
- (Optional) Have a representation of the current progress of the form. This should show on which page of the current form I am, in e.g. page 1 of 4 pages (maybe as a progress indicator as welll).
## Example use-case
1. Have additional buttons that allow moving forward or backward on the form
2. Have an option to add a navigation menu to a multi-page form where the names of the pages can be set as well.
3. Have an option for multi-page form, to add a progress indicator, with options to either show the current page number compared to the overall number of pages or similar to a graphical progress bar.
## Current behaviour
The option for multi page forms is not implemented yet.
## Proposed behaviour
Be able to separate the form into multiple pages. Have buttons to navigate to the next or previous page, even if not all required fields are filled and have an additional menu, which allows the user to navigate to one specific page. Have an option to add a progress indicator.https://lab.civicrm.org/dev/core/-/issues/4573Proposal: Add preliminary submission to the Form Builder2024-03-12T13:28:32Zsimon.hermannProposal: Add preliminary submission to the Form Builder## Overview
For longer and more complex forms, users may want to extend the process of filling out a submission form across several browser sessions. Therefore, it would be great to be able to submit/save a partially completed form as a...## Overview
For longer and more complex forms, users may want to extend the process of filling out a submission form across several browser sessions. Therefore, it would be great to be able to submit/save a partially completed form as a preliminary submission and finalise the data later. Complex forms, such as grant applications, could be started and then completed when all the required information is collected. We would suggest adding a "Continue Later" or "Preliminary Submission" button to allow submissions even if not all required fields are filled in.
There would be 2 options for handling the pre-submitted data.
Option 1: The data will be saved in a submission log, but not yet processed in CiviCRM. Using a unique identifier for the submission entry as an URL parameter will load the data from the submission log into the form.
Option 2: Data is processed and stored directly in CiviCRM, meaning contacts, cases or other entities are already created or updated. The form can be edited later using URL parameters and retrieval of defaults.
The user receives a personalised link that allows them to continue with the form. This means that fields such as an email address must be marked as 'required for preliminary submission'. We suggest that this additional option for any input field is only displayed if a "continue later" button is added to the form itself.
At our CiviSprint in Zeitz, Germany, there was a preference for the second option by clients who wanted to use this functionality for their grant application process. It is helpful for clients to be able to see a partially submitted application in order to support the applicant during the application process.
## Example use-case
1. Add an additional button called 'Resume later'.
2. This adds the option on each field to be 'required for preliminary submission'.
## Current behaviour
- When a form is submitted, all required fields have to be filled.
## Proposed behaviour
- There is a new button that allows a (preliminary) submission even if not all required fields are filled.
- Fields can be marked as be required when the new button is triggered.
- A personalised link is sent to the user, which allows to reopen the form with the pre-filled data.https://lab.civicrm.org/dev/core/-/issues/4572Proposal: Retrieval of Defaults w/ Form Builder and Form Processor2023-09-18T12:24:16ZMariaVProposal: Retrieval of Defaults w/ Form Builder and Form ProcessorOverview
----------------------------------------
At the CiviSprint in Germany we found out that Submission forms (Form Builder) currently do not support use cases such as self-service forms that allow users to check and change their exi...Overview
----------------------------------------
At the CiviSprint in Germany we found out that Submission forms (Form Builder) currently do not support use cases such as self-service forms that allow users to check and change their existing contact data.
A lot of Wordpress projects use CalderaForms together with Form Processor to transfer the data to CiviCRM. In CalderaForms there is an option to activate Retrieval of Defaults:
![grafik](/uploads/912921154b32fbf34052c77dcf79b597/grafik.png)
As well as in Form Processor:
![grafik](/uploads/8802a13e8aa75798be4a25bfa9126fcf/grafik.png)
Caldera Forms allows passing URL parameters to the form processor – e.g. a contact CiviCRM ID along with a checksum to prove that the user is allowed to see and edit data for this particular contact, as a way of authentication without requiring a login. These URLs look as follows:
_https//link.org/example-page/cid={contact.contact_id}&{contact.checksum}_
With this information the form processor can retrieve data from within CiviCRM when the form is loaded and prefill fields in the form.
What works in the Form Builder already?
----------------------------------------
- Adding Form Processor as an entity
- Using Form Processor fields for a form
- Submitting/Creating data entered in submission form
- Using the entity id as an URL parameter (requires login)
What is missing?
----------------------------------------
- Option to enable retrieval of defaults (like in CalderaForms) to fill forms with existing data.
- Forms that work for anonymous users, using a checksum for authentication
Comments
----------------------------------------
If you need any further information, please let me know.
I could assist in setting up an example in a test environment since I am not able to implement this function myself.