Development issueshttps://lab.civicrm.org/groups/dev/-/issues2023-08-19T05:03:24Zhttps://lab.civicrm.org/dev/core/-/issues/2635Download latest version of an extension without installing2023-08-19T05:03:24Zmagnolia61Download latest version of an extension without installingOverview
----------------------------------------
It would be good to be able to download the latest version of an extension without installing it for security reasons.
Current behaviour
----------------------------------------
1. an ex...Overview
----------------------------------------
It would be good to be able to download the latest version of an extension without installing it for security reasons.
Current behaviour
----------------------------------------
1. an extension that was previously installed but since disabled or uninstalled remains present in the extension directory
2. the extensions management ui provides buttons to download and install
![image](/uploads/c618c97b6ec39f98d9b884b0211187fb/image.png)
Proposed behaviour
----------------------------------------
1. an extension that was previously installed but since disabled or uninstalled remains present in the extension directory
2. the extensions management ui provides buttons to "download" or to "download and install"
Comments
----------------------------------------
Of course best practice is to remove any extension which is uninstalled, but disabled extensions are also present in the filesystem. Being able to update extensions that are not installed, improves security as the latest stable code can be downloaded.https://lab.civicrm.org/dev/drupal/-/issues/176Epic: Drupal 10 readiness2023-08-19T00:44:33ZDaveDEpic: Drupal 10 readinessLab snippet with a full set of instructions on how to scrape and claw a drupal 10+civi install into existence:
https://lab.civicrm.org/-/snippets/84
- [ ] Requires php 8.1 https://lab.civicrm.org/dev/core/-/issues/3181
- [x] Requires s...Lab snippet with a full set of instructions on how to scrape and claw a drupal 10+civi install into existence:
https://lab.civicrm.org/-/snippets/84
- [ ] Requires php 8.1 https://lab.civicrm.org/dev/core/-/issues/3181
- [x] Requires symfony 6 (this currently prevents even downloading the civi files even if you try really hard) https://lab.civicrm.org/dev/core/-/issues/2316 / PR https://github.com/civicrm/civicrm-core/pull/24132
- [x] Hooks defined by getSubscribedEvents don't work: https://lab.civicrm.org/dev/core/-/issues/3802
- [x] Composer-compile-lib [restricts to symfony 5](https://github.com/civicrm/composer-compile-lib/blob/a03d219bc4bad5aa878e198719b83178a910984b/composer.json#L26) / PR https://github.com/civicrm/composer-compile-lib/pull/5
- [x] Miscellaneous other composer.json updates - see the lab snippet above.
- [x] Why does cache/integration-tests need to be in a prod install? Can it be in require-dev instead? PR: https://github.com/civicrm/civicrm-core/pull/25054
- [x] https://github.com/civicrm/civicrm-core/pull/25499 covers these:
- [x] symfony/config
- [x] symfony/dependency-injection
- [x] symfony/event-dispatcher
- [x] symfony/filesystem
- [x] symfony/process
- [x] symfony/var-dumper
- [x] symfony/service-contracts
- [x] symfony/finder
- [x] psr/container
- [x] cv uses some deprecated symfony [in bootstrap](https://github.com/civicrm/cv/issues/117) / PR: https://github.com/civicrm/cv/pull/120
- [x] Followup fix because the attempt to keep supporting drupal 8 doesn't work with drupal 10: https://github.com/civicrm/cv/pull/126
- [x] core loadBoostrap(), needed e.g. for `cv`. https://github.com/civicrm/civicrm-core/pull/24133
- [x] similarly CRM_Utils_System_Drupal8 - https://github.com/civicrm/civicrm-core/pull/23302
- [x] financialacls core extension: https://lab.civicrm.org/dev/core/-/issues/3184
- [x] Requires guzzle 7 (I think this is easy) https://lab.civicrm.org/dev/drupal/-/issues/171 / PR: https://github.com/civicrm/civicrm-core/pull/22918
- [x] Requires psr/log 2.0. PR: https://github.com/civicrm/civicrm-core/pull/23409
- [x] Deprecation prevents civicrm-setup from running (already PR'd): https://github.com/civicrm/civicrm-core/pull/21809 / https://lab.civicrm.org/dev/drupal/-/issues/167
- [x] civicrm-drupal-8 won't enable because it doesn't [declare it is compatible](https://github.com/civicrm/civicrm-drupal-8/blob/b55fb5027c453ce86f76f357a3087e19a3bb4d41/civicrm.info.yml#L5)
- PR: https://github.com/civicrm/civicrm-drupal-8/pull/73
- [x] civicrm-drupal-8 civicrmtheme submodule won't enable because it doesn't [declare it is compatible](https://github.com/civicrm/civicrm-drupal-8/blob/b55fb5027c453ce86f76f357a3087e19a3bb4d41/modules/civicrmtheme/civicrmtheme.info.yml#L5)
- PR: https://github.com/civicrm/civicrm-drupal-8/pull/73
- [ ] For running unit tests:
- [ ] phpunit9 support: https://github.com/civicrm/civicrm-core/compare/master...demeritcowboy:civicrm-core:phpunit9?expand=1 along with `composer require yoast/phpunit-polyfills`
- [x] deprecated theme for mink tests: https://github.com/civicrm/civicrm-drupal-8/pull/76
- [ ] Possibly move this file to a community-maintained drupal module? It needs to be in a drupal module. Not much uses it currently - civicrm_entity and 2 extensions.
Timewise it would be cool to have something at least installable for Drupalcon (Apr 25).
cc: @KarinG @jackrabbithanna5.60.0https://lab.civicrm.org/dev/core/-/issues/2177Recent drush requires updated symfony/finder2023-08-19T00:28:39ZfkohrtRecent drush requires updated symfony/finderWhile [installing](https://docs.civicrm.org/installation/en/latest/drupal8/#download) CiviCRM 5.31 on Drupal 8, composer had a problem during `composer require civicrm/civicrm-{core,packages,drupal-8}:'~5.31'`.
<details>
<summary>Consol...While [installing](https://docs.civicrm.org/installation/en/latest/drupal8/#download) CiviCRM 5.31 on Drupal 8, composer had a problem during `composer require civicrm/civicrm-{core,packages,drupal-8}:'~5.31'`.
<details>
<summary>Console output</summary>
```
./composer.json has been updated
Running composer update civicrm/civicrm-core civicrm/civicrm-packages civicrm/civicrm-drupal-8
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.
Problem 1
- civicrm/civicrm-core[5.31.0, ..., 5.32.x-dev] require symfony/finder ~3.0 || ~4.4 -> found symfony/finder[v3.0.0-BETA1, ..., 3.4.x-dev, v4.4.0-BETA1, ..., 4.4.x-dev] but the package is fixed to v5.1.8 (lock file version) by a partial update and that version does not match. Make sure you list it as an argument for the update command.
- Root composer.json requires civicrm/civicrm-core ~5.31 -> satisfiable by civicrm/civicrm-core[5.31.0, 5.31.x-dev, 5.32.x-dev].
Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.
```
</details>
I had previously installed `drush/drush:10.3.6` which requires `symfony/finder:5.1.8`. However, `civicrm/civicrm-core:~5.31` requires `symfony/finder ~3.0 || ~4.4`. This leads to the problem above. I had to use `composer require drush/drush:10.3.5` to proceed with the installation.
Maybe `civicrm-core` should be updated to require `symfony/finder:~5.1` as well?https://lab.civicrm.org/dev/financial/-/issues/97Contribution paid via Stripe as payment processor - no financial transaction ...2023-08-18T09:35:57ZJoachimContribution paid via Stripe as payment processor - no financial transaction for fee amount gets generatedWhen making a contribution (in my case for purchasing a membership), there is a different behavior, whether the Dummy Processor or Stripe gets used as a payment provider - the financial type is in both cases identical:
* The contributi...When making a contribution (in my case for purchasing a membership), there is a different behavior, whether the Dummy Processor or Stripe gets used as a payment provider - the financial type is in both cases identical:
* The contribution via the Dummy Processor does create a separate financial transaction for the processing fee (using the configured expenses account for banking fees).
* The contribution via Stripe does result in the correct fee amount recorded in the contribution details, but no transaction gets created.
When doing a batch export of these contributions, I have trouble doing a reconciliation of the transactions without the transactions for the processing fees. Since the expenses account is configured, I suspect that the intended behavior should be the one of the dummy processor.
I just tested these scenarios on a clean installation of version 5.18.4 under Wordpress with Stripe extension 6.2https://lab.civicrm.org/dev/core/-/issues/2631Secondary recipient email body is blank when sent using "Find Contribution"2023-08-18T05:03:27ZtapashSecondary recipient email body is blank when sent using "Find Contribution"Overview
----------------------------------------
Secondary recipient email body is blank when sent using "Find Contribution"
Reproduction steps
----------------------------------------
1. Click on **Find Contribution -> enter a contact...Overview
----------------------------------------
Secondary recipient email body is blank when sent using "Find Contribution"
Reproduction steps
----------------------------------------
1. Click on **Find Contribution -> enter a contact name -> click search **.
2. Select 1 contact (contribution) from the list -> select "Email send now to 50 or less" from action menu
3. Email popup window opens. -> in the TO field add a second recipient -> Select a template or add text in body
4. Send
Current behaviour
----------------------------------------
- First recipient that was selected from find contribution list receives the email with body, subject & attachment (if any)
- Second recipient who was added later receives a blank email with no body or subject. If any attachment were added, that gets added though.
Expected behaviour
----------------------------------------
Second recipient who was added later should also receive the same email as the first recipient.
Environment information
----------------------------------------
* __Browser:__ safari 13
* __CiviCRM: 5.37.2
* __PHP: 7.3
* __CMS: Drupal 7.x
* __Database:__ _MySQL 5.7.7
* __Web Server:__ _Apache 2.4/https://lab.civicrm.org/dev/core/-/issues/2351Scheduled mailing recepients refresh/update2023-08-18T05:03:26Zmagnolia61Scheduled mailing recepients refresh/updateOverview
----------------------------------------
A scheduled bulk mailing was sent to the members of the smartgroup at the time of scheduling, instead of the members at the time of sending. This caused a lot of people receiving a wrong ...Overview
----------------------------------------
A scheduled bulk mailing was sent to the members of the smartgroup at the time of scheduling, instead of the members at the time of sending. This caused a lot of people receiving a wrong mailing and led to confusion and a lot of work for us.
Current behaviour
----------------------------------------
Scheduled mailing was sent to members at the time of scheduling.
Expected behaviour
----------------------------------------
Smartgroup should be updating itself and the mailing should be sent only to the current members of the smartgroup
Environment information
----------------------------------------
* __CiviCRM:__ 5.34.beta1
* __PHP:__ 7.3
* __CMS:__ Drupal
Comments
----------------------------------------
The smartgroup is a custom include/exclude group with some regular smartgroups and some created by searchkithttps://lab.civicrm.org/dev/core/-/issues/1536Develop unit tests that catch red warning boxes on common forms2023-08-17T05:03:27ZDaveDDevelop unit tests that catch red warning boxes on common formsMaking myself a rainy day todo.
* Forms are not well covered by unit tests. In general that's not what pure unit tests are supposed to do, but I'm thinking there could be something minimal.
* Since the addition of popup forms, warnings ...Making myself a rainy day todo.
* Forms are not well covered by unit tests. In general that's not what pure unit tests are supposed to do, but I'm thinking there could be something minimal.
* Since the addition of popup forms, warnings and notices don't get seen when testing because they get snippet'd out.
* It's happening often enough where changes introduce some type of "missing XXX" from forms.
So it might be as simple as a test that runs through some common forms and sets up some vars and calls preprocess and buildform and when run as tests that should show notices. It won't catch everything, but might reduce the problem.https://lab.civicrm.org/dev/core/-/issues/2267Proposal add api_params & api_entity to scheduled_reminder table2023-08-17T05:03:27ZeileenProposal add api_params & api_entity to scheduled_reminder table**Problem**
The scheduled reminders system lacks nuance on criteria. Fixing this requires both a UI change and a schema change but the combined effort of this is a prohibitive lift so my proposal is that we do the schema change with a fu...**Problem**
The scheduled reminders system lacks nuance on criteria. Fixing this requires both a UI change and a schema change but the combined effort of this is a prohibitive lift so my proposal is that we do the schema change with a future intent to expose in the UI but without action to do so as yet.
**Schema change**
I think we are fairly clear we want this to be a variant of an api call and we have already worked through that for the saved search table adding 2 columns
- api_params
- api_entity
I'd like to propose making the same changes to the scheduled reminders table as the saved_search table OR possibly adding saved_search_id and using saved searches from there.
I'm expecting the initial implementation would work in a similar way to the saved search - ie if the new parameter storage is loading the old code path would be ignored. Potentially we can migrate the old stuff over in time
@seamuslee @colemanw @tottenhttps://lab.civicrm.org/dev/core/-/issues/2639Money: Plan to migrate from currency separators from locale2023-08-16T05:03:18ZeileenMoney: Plan to migrate from currency separators from localeThere is a goal to switch to sites specifying their money_locale from specifying currency separators
The original discussion on how to do this was in the dev-digest and a PR. @mattwire has since suggested an alternate https://github.com...There is a goal to switch to sites specifying their money_locale from specifying currency separators
The original discussion on how to do this was in the dev-digest and a PR. @mattwire has since suggested an alternate https://github.com/civicrm/civicrm-core/pull/20296#issuecomment-855377189
"Override currency separators" - "By default CiviCRM will format currency in accordance with the locale for the user that is viewing the information"
I've moved the text below from a comment on the github PR to here ....
In terms of adding a setting I went hunting for where it was discussed before & it is here
https://github.com/civicrm/civicrm-core/pull/19753
![image](https://user-images.githubusercontent.com/336308/120940640-63d47800-c772-11eb-8b46-302f4d311ef3.png)
Further down the same PR is the content that was pasted into the dev-digest
![image](https://user-images.githubusercontent.com/336308/120940681-92eae980-c772-11eb-9ff9-588d1e3ca663.png)
Compared to @mattwire's suggestion this is
1) implicitly opt in at the start - ie let early adopters set it & when we are confident be more aggressive
2) a different setting name / description - I think setting money_locale might be less intuitive short term (since it magically disables the other settings) and more intuitive longer term since the other settings should become meaningless & disappear over time.
Revisiting @jaapjansma's comment
![image](https://user-images.githubusercontent.com/336308/120940808-33410e00-c773-11eb-9bae-9910a3ff7583.png)
It DOES seem like site locale is going to be wanted as a setting - although it could be that this is not the point where we add ithttps://lab.civicrm.org/dev/core/-/issues/2620Uninstalling the oauth extension leaves the admin menu entry in the menus and...2023-08-16T05:03:17ZDaveDUninstalling the oauth extension leaves the admin menu entry in the menus and then reinstalling duplicates itIt doesn't break anything it's just obviously wrong.It doesn't break anything it's just obviously wrong.https://lab.civicrm.org/dev/core/-/issues/986Mininum/Maximum not working under Contribution Pages > Amounts > Allow Other ...2023-08-15T05:03:15ZmikelacourseMininum/Maximum not working under Contribution Pages > Amounts > Allow Other AmountsLooks like there's no validation for the minimum or maximum value for this field.
![image](/uploads/c21496abee0916a68edd865bd909ee90/image.png)
![image](/uploads/2328e5a2a4d6f862b81187b4d0624ca1/image.png)Looks like there's no validation for the minimum or maximum value for this field.
![image](/uploads/c21496abee0916a68edd865bd909ee90/image.png)
![image](/uploads/2328e5a2a4d6f862b81187b4d0624ca1/image.png)https://lab.civicrm.org/dev/core/-/issues/521PCP Owner notification email sending before payment2023-08-14T05:03:17Zrita_compucorpPCP Owner notification email sending before paymentHi there,
When you are the owner of a fundraising page, you are supposed to receive a notification email after a successful donation has been made to your fundraising page. However when you are using a payment processor that navigates y...Hi there,
When you are the owner of a fundraising page, you are supposed to receive a notification email after a successful donation has been made to your fundraising page. However when you are using a payment processor that navigates you out from civicrm to its own payment page (like sagepay, or paypal standard) the owner notification is sent before the payment has been made.
Steps:
- create a contribution page and enable fundraising pages to be created under it
- make the payment processor to be Sagepay or Paypal standard
- create a fundraising page
- then log out and start donating to the fundraising page
- when you click confirm button on the fundraising page, you will get navigated to the payment processor you set up for the contribution page --> this is the point when the notification email is sent to the fundraiser
Expected result: notification for the owner is sent only after a successful donation to the fundraising pagehttps://lab.civicrm.org/dev/core/-/issues/2181Add support for storing per-user OAuth2 tokens2023-08-13T05:03:28ZtottenAdd support for storing per-user OAuth2 tokensOverview
----------------------------------------
Expand API support for OAuth2 tokens to support transactional/interactive/short-term use-cases.
See https://docs.civicrm.org/dev/en/latest/framework/oauth/#model-token for more discussio...Overview
----------------------------------------
Expand API support for OAuth2 tokens to support transactional/interactive/short-term use-cases.
See https://docs.civicrm.org/dev/en/latest/framework/oauth/#model-token for more discussion of per-system tokens vs per-user tokens.
Example use-case
----------------------------------------
1. Click on **Import Contacts**.
1. For a source, choose **Google Drive**
1. Run OAuth2 "Authorization Code" flow to get an access token. Store the access-token just for this user.
1. Proceed to use the token for choosing+reading a spreadsheet.
Current behavior
----------------------------------------
When running the "Authorization Code" flow, the only available storage option is `OAuthSysToken`:
```php
$start = civicrm_api4('OAuthClient', 'authorizationCode', [
'where' => [['id', '=', 123]],
'storage' => 'OAuthSysToken',
])->single();
```
This storage is appropriate for long-term system-level services like CiviMail bounce checking - but not for transactional/interactive usage. Ex:
* Suppose you implement the Google Drive spreadsheet example using `OAuthSysToken`.
* Suppose you want to allow Alice and Bob to both import from Google Drive. Thus, both can read/write `OAuthSysToken` records.
* Alice imports one spreadsheet, so it creates an `OAuthSysToken`
* Bob imports one spreadsheet, so it creates an `OAuthSysToken`
* Alice can see Bob's token just as well as her own; and vice-versa. This allows them to go poking at each other's data.
Proposed behavior
----------------------------------------
Add an API `OAuthUserToken` which works like `OAuthSysToken`
```php
$start = civicrm_api4('OAuthClient', 'authorizationCode', [
'where' => [['id', '=', 123]],
'storage' => 'OAuthUserToken',
])->single();
```
*Except* that it defines clearer ownership (associating the token with the current user) and expiration mechanism (so that we don't hold on to it forever).
Some possible implementations:
* `OAuthUserToken extends BasicEntity`. Use data-storage in `$_SESSION` or `Civi::cache('session')`. This makes it invisible to other users, and it provides an end-of-life plan for the token.
* `OAuthUserToken extends DAOEntity`. Use data-storage in MySQL (and mandatory filters/cleanups to deal with ownership and expiration).https://lab.civicrm.org/dev/core/-/issues/4094Admin UI: Attempting to delete custom field group with custom fields opens th...2023-08-12T05:12:29ZlarsssandergreenAdmin UI: Attempting to delete custom field group with custom fields opens the listing page in modal windowIf you:
1. Enable Admin UI
2. Attempt to delete a custom field group that contains at least one custom field
You will get a message that you cannot do this while the field group contains fields (makes sense), but also modal window will...If you:
1. Enable Admin UI
2. Attempt to delete a custom field group that contains at least one custom field
You will get a message that you cannot do this while the field group contains fields (makes sense), but also modal window will open with the main custom field groups listing page again (this should not happen).
![image](/uploads/539ce85d7607649fe04405e3f14c22bf/image.png)
Also, there is no timeout for the alert generated, so it never goes away. Standard 10s for this seems sufficient.
![image](/uploads/2a520630fe49b4290ba54e6167cc3cd3/image.png)
Verified on dmaster (5.59).https://lab.civicrm.org/dev/core/-/issues/2599"Forward Mailing" feature results in Smarty error2023-08-12T05:03:22Zedgimar"Forward Mailing" feature results in Smarty errorI just noticed on Civi 5.36.1 + WordPress 5.7.1 that the "Forward Mailing" feature does not work correctly: after I click on the 'forward' link in a received mailing, it takes me to the civi page where I can enter in email addresses to ...I just noticed on Civi 5.36.1 + WordPress 5.7.1 that the "Forward Mailing" feature does not work correctly: after I click on the 'forward' link in a received mailing, it takes me to the civi page where I can enter in email addresses to forward the mailing to. After entering an email address, I press the "Forward" button, I just get a WP page that says `There has been a critical error on this website.`
The webserver error logs contain the following (slightly redacted) associated entries:
```
[Thu May 06 18:31:42.466433 2021] [fcgid:warn] [pid 19485:tid 4146279196416] [client x.x.x.x:39364] mod_fcgid: stderr: PHP Fatal error: Smarty error: [in string:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">, referer: https://mywebsite.com/civicrm/mailing/forward/?reset=1&jid=111&qid=2117&h=a267e50acef0d4e4
[Thu May 06 18:31:42.466519 2021] [fcgid:warn] [pid 19485:tid 4146279196416] [client x.x.x.x:39364] mod_fcgid: stderr: <html xmlns="http://www.w3.org/1999/xhtml"><head>, referer: https://mywebsite.com/civicrm/mailing/forward/?reset=1&jid=111&qid=2117&h=a267e50acef0d4e4
[Thu May 06 18:31:42.466553 2021] [fcgid:warn] [pid 19485:tid 4146279196416] [client x.x.x.x:39364] mod_fcgid: stderr: <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">, referer: https://mywebsite.com/civicrm/mailing/forward/?reset=1&jid=111&qid=2117&h=a267e50acef0d4e4
[Thu May 06 18:31:42.466576 2021] [fcgid:warn] [pid 19485:tid 4146279196416] [client x.x.x.x:39364] mod_fcgid: stderr: <meta name="viewport" content="initial-scale=1.0">, referer: https://mywebsite.com/civicrm/mailing/forward/?reset=1&jid=111&qid=2117&h=a267e50acef0d4e4
[Thu May 06 18:31:42.466597 2021] [fcgid:warn] [pid 19485:tid 4146279196416] [client x.x.x.x:39364] mod_fcgid: stderr: <meta name="format-detection" content="telephone=no">, referer: https://mywebsite.com/civicrm/mailing/forward/?reset=1&jid=111&qid=2117&h=a267e50acef0d4e4
[Thu May 06 18:31:42.466613 2021] [fcgid:warn] [pid 19485:tid 4146279196416] [client x.x.x.x:39364] mod_fcgid: stderr: <title>[subject]</title>, referer: https://mywebsite.com/civicrm/mailing/forward/?reset=1&jid=111&qid=2117&h=a267e50acef0d4e4
[Thu May 06 18:31:42.466628 2021] [fcgid:warn] [pid 19485:tid 4146279196416] [client x.x.x.x:39364] mod_fcgid: stderr: , referer: https://mywebsite.com/civicrm/mailing/forward/?reset=1&jid=111&qid=2117&h=a267e50acef0d4e4
[Thu May 06 18:31:42.466643 2021] [fcgid:warn] [pid 19485:tid 4146279196416] [client x.x.x.x:39364] mod_fcgid: stderr: <style type="text/css">, referer: https://mywebsite.com/civicrm/mailing/forward/?reset=1&jid=111&qid=2117&h=a267e50acef0d4e4
[Thu May 06 18:31:42.466657 2021] [fcgid:warn] [pid 19485:tid 4146279196416] [client x.x.x.x:39364] mod_fcgid: stderr: body{ Margin: 0; padding: 0; }, referer: https://mywebsite.com/civicrm/mailing/forward/?reset=1&jid=111&qid=2117&h=a267e50acef0d4e4
[Thu May 06 18:31:42.466672 2021] [fcgid:warn] [pid 19485:tid 4146279196416] [client x.x.x.x:39364] mod_fcgid: stderr: img{ border: 0px; display: block; }, referer: https://mywebsite.com/civicrm/mailing/forward/?reset=1&jid=111&qid=2117&h=a267e50acef0d4e4
[Thu May 06 18:31:42.466687 2021] [fcgid:warn] [pid 19485:tid 4146279196416] [client x.x.x.x:39364] mod_fcgid: stderr: .socialLinks{ font-size: 6px; }, referer: https://mywebsite.com/civicrm/mailing/forward/?reset=1&jid=111&qid=2117&h=a267e50acef0d4e4
[Thu May 06 18:31:42.466709 2021] [fcgid:warn] [pid 19485:tid 4146279196416] [client x.x.x.x:39364] mod_fcgid: stderr: .socialLinks a{, referer: https://mywebsite.com/civicrm/mailing/forward/?reset=1&jid=111&qid=2117&h=a267e50acef0d4e4
[Thu May 06 18:31:42.466723 2021] [fcgid:warn] [pid 19485:tid 4146279196416] [client x.x.x.x:39364] mod_fcgid: stderr: display: inline-block;, referer: https://mywebsite.com/civicrm/mailing/forward/?reset=1&jid=111&qid=2117&h=a267e50acef0d4e4
[Thu May 06 18:31:42.466738 2021] [fcgid:warn] [pid 19485:tid 4146279196416] [client x.x.x.x:39364] mod_fcgid: stderr: }, referer: https://mywebsite.com/civicrm/mailing/forward/?reset=1&jid=111&qid=2117&h=a267e50acef0d4e4
[Thu May 06 18:31:42.466770 2021] [fcgid:warn] [pid 19485:tid 4146279196416] [client x.x.x.x:39364] mod_fcgid: stderr: .socialIcon{, referer: https://mywebsite.com/civicrm/mailing/forward/?reset=1&jid=111&qid=2117&h=a267e50acef0d4e4
[Thu May 06 18:31:42.466785 2021] [fcgid:warn] [pid 19485:tid 4146279196416] [client x.x.x.x:39364] mod_fcgid: stderr: display: inline-block;, referer: https://mywebsite.com/civicrm/mailing/forward/?reset=1&jid=111&qid=2117&h=a267e50acef0d4e4
[Thu May 06 18:31:42.466800 2021] [fcgid:warn] [pid 19485:tid 4146279196416] [client x.x.x.x:39364] mod_fcgid: stderr: vertical-align: top;, referer: https://mywebsite.com/civicrm/mailing/forward/?reset=1&jid=111&qid=2117&h=a267e50acef0d4e4
[Thu May 06 18:31:42.466814 2021] [fcgid:warn] [pid 19485:tid 4146279196416] [client x.x.x.x:39364] mod_fcgid: stderr: padding-bottom: 0px;, referer: https://mywebsite.com/civicrm/mailing/forward/?reset=1&jid=111&qid=2117&h=a267e50acef0d4e4
[Thu May 06 18:31:42.466829 2021] [fcgid:warn] [pid 19485:tid 4146279196416] [client x.x.x.x:39364] mod_fcgid: stderr: border-radius: 100%;, referer: https://mywebsite.com/civicrm/mailing/forward/?reset=1&jid=111&qid=2117&h=a267e50acef0d4e4
[Thu May 06 18:31:42.466843 2021] [fcgid:warn] [pid 19485:tid 4146279196416] [client x.x.x.x:39364] mod_fcgid: stderr: }, referer: https://mywebsite.com/civicrm/mailing/forward/?reset=1&jid=111&qid=2117&h=a267e50acef0d4e4
[Thu May 06 18:31:42.466857 2021] [fcgid:warn] [pid 19485:tid 4146279196416] [client x.x.x.x:39364] mod_fcgid: stderr: .oldwebkit{ max-width: 570px; }, referer: https://mywebsite.com/civicrm/mailing/forward/?reset=1&jid=111&qid=2117&h=a267e50acef0d4e4
[Thu May 06 18:31:42.466908 2021] [fcgid:warn] [pid 19485:tid 4146279196416] [client x.x.x.x:39364] mod_fcgid: stderr: td.vb-outer{ padding-left: 9px; padding-right: 9px; }, referer: https://mywebsite.com/civicrm/mailing/forward/?reset=1&jid=111&qid=2117&h=a267e50acef0d4e4
[Thu May 06 18:31:42.466923 2021] [fcgid:warn] [pid 19485:tid 4146279196416] [client x.x.x.x:39364] mod_fcgid: stderr: table.vb-container, table.vb-row, table. in /home/data2/mywebsite.com/wp-content/plugins/civicrm/civicrm/packages/Smarty/Smarty.class.php on line 1100, referer: https://mywebsite.com/civicrm/mailing/forward/?reset=1&jid=111&qid=2117&h=a267e50acef0d4e4
```https://lab.civicrm.org/dev/core/-/issues/3361View and Edit links for event participants are inconsistent and in some cases...2023-08-12T00:24:39ZlarsssandergreenView and Edit links for event participants are inconsistent and in some cases do not allow editingWhen using a price set, the View and Edit links for a participants lead to different forms depending on if the registration has an associated contribution. When there is a contribution record, the Edit link does not allow the user to edi...When using a price set, the View and Edit links for a participants lead to different forms depending on if the registration has an associated contribution. When there is a contribution record, the Edit link does not allow the user to edit the price set selections, while it is possible to edit those selection from the View link (with Change Selections). I believe this is a regression.
When there is no contribution record, you cannot edit the price set selections from the View link, but you can from the Edit link. That seems confusing for users and it would be best to make it consistent.
Here are some screenshots:
1) View with a contribution, this makes sense
![image](/uploads/52e7c3a5b96befe0a404f57850cc5bcf/image.png)
2) View without a contribution, seems like it there should be possible to change selections here as well for consistency (or else a user may think they can't edit the price set selections)
![image](/uploads/c93e10bbecf9ae053ea771becb07ac12/image.png)
3) Edit with a contribution, this should be the same as the View with a contribution, i.e. there should be a Change Selections link and the table of selections above it
![image](/uploads/95edcf86ca33d6bcdff302cee619acf8/image.png)
4) Edit without a contribution, this makes sense
![image](/uploads/12e211610125abb94b4f829bca465ebe/image.png)
I believe 3 - Edit with a contribution is a regression. I get his behaviour on dmaster, 5.37 and 5.35.2, but not on 5.24.5, where there is a Change Selections link and the table above.
Changing 2 - View without a contribution may be more complicated. What about adding an Edit Registration link, in the same place where the Change Selections link would otherwise be, that simply takes you to the edit form? As far as I can tell, trying to use Change Selections with a registration that doesn't have a contribution will result in errors. I'm not sure what would be involved in making it possible to use Change Selections in this case, but it seems like adding an edit link would be a simpler solution to keep some consistency between these two cases.https://lab.civicrm.org/dev/core/-/issues/4053Standalone: users and roles2023-08-11T16:23:42ZbgmStandalone: users and rolesGeneral issue to discuss user management, roles and permissions.
There was a discussion in Manchester about this. At first we explored the idea of using CiviCRM groups to manage permissions, but there was a lot of discomfort because of ...General issue to discuss user management, roles and permissions.
There was a discussion in Manchester about this. At first we explored the idea of using CiviCRM groups to manage permissions, but there was a lot of discomfort because of the (lack of) security around groups and how it could end up adding a lot of extra complexity. Of course, maybe an implement or another might prove one way or another.
So far one [WIP branch](https://github.com/civicrm/civicrm-core/compare/master...demeritcowboy:civicrm-core:user-storage?expand=1) by @DaveD proposes creating `civicrm_user` with an ID, username, password and maybe email. While testing, I managed to get it working by also adding a record in the `civicrm_uf_match` table (for authx http logins), to link that user to a contact.
Presumably we would also have `civicrm_user_role` (ex: admin, staff, member) and `civicrm_user_permission` (ex: "admin" has the "Administer CiviCRM" permission).
And then we would have the same permission grid similar to what CiviCRM has for WordPress role management (in that case, it adds WordPress capabilities, but in this case, it would add records in `civicrm_user_permission`).
cc @DaveD @artfulrobot @JoeMurray
Related meta: #2998https://lab.civicrm.org/dev/core/-/issues/2590CRM_Utils_File::isAbsolute does not respect PHP stream wrappers2023-08-11T05:03:17ZmglamanCRM_Utils_File::isAbsolute does not respect PHP stream wrappersOverview
----------------------------------------
Given an install with Drupal and CiviCRM, the `CRM_Utils_File::isAbsolute` method does not respect paths that are prefixed with a stream wrapper. For example, this breaks if using Kernel ...Overview
----------------------------------------
Given an install with Drupal and CiviCRM, the `CRM_Utils_File::isAbsolute` method does not respect paths that are prefixed with a stream wrapper. For example, this breaks if using Kernel tests and a mocked file system. Paths are prefixed with `vfs://`. Also, you may be using AWS to store files and leveraging an `s3://` stream wrapper.
Reproduction steps
----------------------------------------
1. Set `file_private_path` to a stream wrapper path
2. Install CiviCRM
3. Explodes as CiviCRM prefixes the valid path with the core Drupal pathhttps://lab.civicrm.org/dev/core/-/issues/2609Move full text search to an extension?2023-08-11T05:03:16ZeileenMove full text search to an extension?We just hit an issue where someone crashed our db with the full text search. It feels like something that should be deliberately enabled rather than available by default....We just hit an issue where someone crashed our db with the full text search. It feels like something that should be deliberately enabled rather than available by default....https://lab.civicrm.org/dev/core/-/issues/4123Support for accessing Contribution Recur tokens when a membership or contribu...2023-08-10T22:34:36ZseamusleeSupport for accessing Contribution Recur tokens when a membership or contribution is referenced5.62.0