Development issueshttps://lab.civicrm.org/groups/dev/-/issues2024-03-22T05:03:28Zhttps://lab.civicrm.org/dev/core/-/issues/1968Can't display System Status page - Guzzle error2024-03-22T05:03:28Zaydunsaidan.saunders@squiffle.ukCan't display System Status page - Guzzle errorOverview
----------------------------------------
Accessing the System Status page produces the boilerplate but no content.
Reproduction steps
----------------------------------------
1. Go to **Administer > Administration Console > Sy...Overview
----------------------------------------
Accessing the System Status page produces the boilerplate but no content.
Reproduction steps
----------------------------------------
1. Go to **Administer > Administration Console > System Status**
Current behaviour
----------------------------------------
The Drupal log shows:
```
| Location | https://example.org/civicrm/ajax/rest |
| Referrer | https://example.org/civicrm/a/ |
| Message | Error: Call to undefined function GuzzleHttp\Psr7\get_message_body_summary() in GuzzleHttp\Exception\RequestException::getResponseBodySummary() (line 127 of /var/www/sites/all/modules/civicrm/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php). |
```
This is a failure in handling an exception, so unless there is some other failure this function is not called.
It looks to be an internal error in the Guzzle. A quick search, shows reports of the problem in other software using this Guzzle.
- https://github.com/nextcloud/twofactor_gateway/issues/312
- https://wordpress.org/support/topic/internal-server-error-620/
- https://stackoverflow.com/questions/61363997/guzzlehttp-gives-call-to-undefined-function-guzzlehttp-psr7-get-message-body-su
This is only happening on one server. Others are functioning normally.
Commenting out the referenced line lets the status be produced.
Dumping the `$response` object shows a status of 403, but does not contain the URL.
Environment information
----------------------------------------
* __CiviCRM:__ _5.28.2_
* __PHP:__ _7.3_
* __CMS:__ _Drupal 7.30_
* __Web Server:__ _Apache 2.4_https://lab.civicrm.org/dev/core/-/issues/1967Search results may be wrong when option values contain special chars2023-04-18T05:03:18ZnoahSearch results may be wrong when option values contain special charsOverview
----------------------------------------
When
- a custom field has one of the multi-value HTML types (Multi-Select, Checkbox), and
- one of the options for the field has a machine value containing "+" or another character that h...Overview
----------------------------------------
When
- a custom field has one of the multi-value HTML types (Multi-Select, Checkbox), and
- one of the options for the field has a machine value containing "+" or another character that has special meaning in MySQL regular expressions,
using Advanced Search to search for that option may return incorrect results.
Reproduction steps
----------------------------------------
1. Create a multi-value custom field and an option group where some of the options' values contain regex special characters. For example:
```javascript
CRM.api3('OptionGroup', 'create', {
"name": "how_i_excel",
"title": "How I Excel",
"data_type": "String",
"is_active": 1,
"api.OptionValue.create": [{
"value": "fun drunk",
"label": "I'm Great at Beer Pong"
}, {
"value": "a+ student",
"label": "I Get Good Grades"
}, {
"value": "red[ish] hair",
"label": "I Have Beautiful Auburn Locks"
}]
}).then(function(result) {
console.log(result);
CRM.api3('CustomGroup', 'create', {
"title": "Stuff About Me",
"extends": "Contact",
"api.CustomField.create": {
"label": "Why I'm Awesome",
"data_type": "String",
"html_type": "CheckBox",
"option_group_id": "how_i_excel",
"is_searchable": 1,
"is_active": 1
}
}).then(function(result) {
console.log(result)
}, function(error) {
console.log(error)
});
}, function(error) {
console.log(error)
});
```
2. Create or edit some contacts with the different option values you set up in the previous step.
3. Use Advanced Search to search for the different option values.
Current behaviour
----------------------------------------
Searching for the option whose machine value is "a+ student" or "red[ish] hair" returns zero results, or the wrong results.
Expected behaviour
----------------------------------------
Searching for an option should return exactly the set of records whose custom value contains that option, regardless of what characters are used to store the option value.
Environment information
----------------------------------------
* __CiviCRM:__ Master, but this issue may go back to 4.6.6 or thereabouts
* __Database:__ MariaDB 10.4 (equivalent to MySQL 5.7)
Comments
----------------------------------------
The relevant bit of code is in [CRM_Core_BAO_CustomQuery->where()](https://github.com/civicrm/civicrm-core/blob/master/CRM/Core/BAO/CustomQuery.php#L311).
We have at least a couple options:
- Prohibit option values from containing regex special characters (plus sign +, asterisk \*, square brackets [], curly braces {}, pipe \| dot/period ., etc. Parentheses are already handled.) This seems infeasible to me, since option values can be created through the UI but may also be created through the API or other means. Also it doesn't handle option values that may have already been created.
- Escape the special characters during search. Although there is [no specific function](https://stackoverflow.com/questions/4024188/php-function-to-escape-mysql-regexp-syntax) in PHP or our codebase for escaping MySQL regular expressions, it would not be too much trouble to create.
Question: what would be an appropriate test for this?https://lab.civicrm.org/dev/wordpress/-/issues/71Upgrade error: Rebuild Multilingal Schema2020-08-24T20:21:45ZDeckwUpgrade error: Rebuild Multilingal SchemaI'm trying to upgrade CiviCRM on my WordPress website from 5.25.0 to 5.28.0.
I've already completed upgrades in the past.
When I try to update the database, the upgrade stays stuck on "[Executed: Rebuild Multilingal Schema]" and then af...I'm trying to upgrade CiviCRM on my WordPress website from 5.25.0 to 5.28.0.
I've already completed upgrades in the past.
When I try to update the database, the upgrade stays stuck on "[Executed: Rebuild Multilingal Schema]" and then after few minutes changes to: `"[Executed: undefined]"`.
It is the same issue with `5.26.0`, `5.27.0`, `5.28.0`, `5.28.2` updates.
Even if I try to do it in order, one by one.
I tried to enable debug mod, but it don't give me more details, except when I try to update the database again:
[![Update error log][1]][1]
On [Stack Exchange](https://civicrm.stackexchange.com/questions/37409/upgrade-error-rebuild-multilingal-schema), someone told me to restore a backup, disable logging and to try again, but still the same error.
I tried to disable all extension, downgrade WordPress to 5.4.2, and tried to install again 5.28.0 update (always from my 5.25.0 backup), but same issue...
Here is a video of the progress of the update:https://streamable.com/5fubww
Then, I tried to update to 5.28.2, but I'm still stuck on the same step: https://streamable.com/1bl0kt
I don't know where else to look, can you help me?
Thanks!
[1]: https://i.stack.imgur.com/78jmt.pnghttps://lab.civicrm.org/dev/core/-/issues/1965Contact image not displaying on contact summary - Drupal 82023-04-27T05:03:21ZalbionbrownContact image not displaying on contact summary - Drupal 8Overview
----------------------------------------
Images uploaded to a contact record are not displayed on the contact summary when using Drupal 8 as the CMS.
Reproduction steps
----------------------------------------
1. Click on **Co...Overview
----------------------------------------
Images uploaded to a contact record are not displayed on the contact summary when using Drupal 8 as the CMS.
Reproduction steps
----------------------------------------
1. Click on **Contacts -> New Individual**.
2. Enter basic information and upload an image to the '**Browse/Upload Image**' field
3. Save the contact
4. View the contact's summary
Current behaviour
----------------------------------------
The browser's default missing image icon is dispayed.
Expected behaviour
----------------------------------------
The uploaded image should be displayed.
Environment information
----------------------------------------
PHP 7.3.20-1
Ubuntu 18.04
Apache/2.4.29 (Ubuntu)
Drupal 8.9.3
CiviCRM 5.28
Comments
----------------------------------------
The image is uploaded to the server and is readable by the web server. The image upload directory in Administer > System settings > Directories is set to [civicrm.files]/custom, which is where the images have been uploaded to.https://lab.civicrm.org/dev/user-interface/-/issues/29Rewording of the "state" selector?2020-08-21T14:30:02ZsudomanRewording of the "state" selector?Some people not living in the US are confused or annoyed that it is required to select the "state" that they live in, since the listed options are municipalities in their country / state, and they might only recognized them as being near...Some people not living in the US are confused or annoyed that it is required to select the "state" that they live in, since the listed options are municipalities in their country / state, and they might only recognized them as being nearby cities. To them, the language seems American-centric.
One possible change could be:
````
- State/Province
+ State/Province/Region/Municipality
````
Thanks! : )https://lab.civicrm.org/dev/user-interface/-/issues/28Norway has changed the names of its counties2020-10-14T00:40:05ZsudomanNorway has changed the names of its countiesNorway recently updated the names of its counties, which Civi refers to as "states". Could you please update this list of counties? Thanks! : )
Norwegian government (Norwegian)
https://www.regjeringen.no/no/tema/kommuner-og-regioner/reg...Norway recently updated the names of its counties, which Civi refers to as "states". Could you please update this list of counties? Thanks! : )
Norwegian government (Norwegian)
https://www.regjeringen.no/no/tema/kommuner-og-regioner/regionreform/regionreform/nye-fylker/id2548426/
Wikipedia (English)
https://en.wikipedia.org/wiki/Counties_of_Norwayhttps://lab.civicrm.org/dev/core/-/issues/1962Possible regression - require 'make online contribution' to edit contribution...2021-04-14T19:31:59ZeileenPossible regression - require 'make online contribution' to edit contributions after upgrading to 5.29 rc w securityLast night it was reported that staff who had 'edit contributions' but not 'make online contributions' could not 'edit contributions' after upgrading from 5.26 to 5.29 (rc-security). I haven't established yet what 'can't edit means as I ...Last night it was reported that staff who had 'edit contributions' but not 'make online contributions' could not 'edit contributions' after upgrading from 5.26 to 5.29 (rc-security). I haven't established yet what 'can't edit means as I could only replicate locally 'can't cancel recurring' and I couldn't see how that might have changed.
I will ask more questions of the 'couldn't edit'-ors but it to the extent it relates to the recurring contribution forms I note - the forms started out as front-end-forms so
<item>
<path>civicrm/contribute/unsubscribe</path>
<title>Cancel Subscription</title>
<page_callback>CRM_Contribute_Form_CancelSubscription</page_callback>
<access_arguments>make online contributions</access_arguments>
<is_public>true</is_public>
</item>
Would be appropriate there.
Because the forms double up as back office forms we have never added is_public which intermittently comes up as a theming issue.
One option would be to have separate front end & back end urls so we would
1) add is_public => TRUE to the existing entry
2) add a second entry like
<item>
<path>civicrm/contribute/cancel</path>
<title>Cancel Subscription</title>
<page_callback>CRM_Contribute_Form_CancelSubscription</page_callback>
<access_arguments>edit contributions</access_arguments>
<is_public>FALSE</is_public>
</item>
And update the backoffice urls to point to that.https://lab.civicrm.org/dev/civicrm-asset-plugin/-/issues/11Composer file not functional for older versions of git2021-11-08T22:16:17ZSaltComposer file not functional for older versions of gitPlease update the Composer file to point to the full repository URI including the `.git` extension.
# Background
While attempting to update our CiviCRM Docker using the [latest docs](https://docs.civicrm.org/installation/en/latest/drupa...Please update the Composer file to point to the full repository URI including the `.git` extension.
# Background
While attempting to update our CiviCRM Docker using the [latest docs](https://docs.civicrm.org/installation/en/latest/drupal8/) we noticed that the `civicrm-asset-plugin` requirement had not yet been added.
After running the suggested command, `composer require civicrm/civicrm-asset-plugin:'~1.0'` the following error was thrown:
```
Installation failed, reverting ./composer.json to its original content.
[RuntimeException]
Failed to execute git clone --no-checkout 'https://lab.civicrm.org/dev/civicrm-asset-plugin/' '/w/vendor/ci
vicrm/civicrm-asset-plugin' && cd '/w/vendor/civicrm/civicrm-asset-plugin' && git remote add composer 'http
s://lab.civicrm.org/dev/civicrm-asset-plugin/' && git fetch composer && git remote set-url origin 'https://
lab.civicrm.org/dev/civicrm-asset-plugin/' && git remote set-url composer 'https://lab.civicrm.org/dev/civi
crm-asset-plugin/'
error: RPC failed; result=22, HTTP code = 404
fatal: The remote end hung up unexpectedly
```
After a bit of digging, it appears the issue is related to [`.git` not being appended to the repository URL when using GitLab](https://www.drupal.org/project/infrastructure/issues/3044600#comment-13047759).
While we will likely address it by forcing a git upgrade, we are likely not the only ones affected.https://lab.civicrm.org/dev/core/-/issues/1960WordPress Uncaught TypeError: Argument 1 throws an exception during search in...2020-08-20T02:05:05ZshaneonabikeWordPress Uncaught TypeError: Argument 1 throws an exception during search indexingOverview
----------------------------------------
We are using ElasticSearch (ElasticPress) to index our site. I know that in the latest CiviCRM it creates a page (ID: 5) which should not be deleted. For some weird reason this page (I be...Overview
----------------------------------------
We are using ElasticSearch (ElasticPress) to index our site. I know that in the latest CiviCRM it creates a page (ID: 5) which should not be deleted. For some weird reason this page (I believe) is causing exceptions although I could be wrong. If there is a way that I can output a bigger stacktrace let me know and I'll provide that. I honestly can't determine where this is originating from which is frustrating.
Regardless, each time that I index it hangs because an exception is thrown during the index process.
Reproduction steps
----------------------------------------
1. Install ElasticPress
1. Connect to your ElasticSearch
1. Index the website and receive an error
`Uncaught TypeError: Argument 1 passed to civicrm_api3() must be of the type string, null given, called in /var/www/example.org/wp-content/plugins/content-views-civicrm-data-processor/includes/class-cvc-api.php on line 27 and defined in /var/www/example.org/wp-content/plugins/civicrm/civicrm/api/api.php:129
Stack trace:
#0 /var/www/example.org/wp-content/plugins/content-views-civicrm-data-processor/includes/class-cvc-api.php(27): civicrm_api3(NULL, 'getfields', Array)
#1 /var/www/example.org/wp-content/plugins/content-views-civicrm-data-processor/includes/class-cvc-api.php(49): Content_Views_CiviCRM_Api->call(NULL, 'getfields', Array)
#2 /var/www/example.org/wp-content/plugins/content-views-civicrm-data-processor/includes/class-cvc-display.php(256): Content_Views_CiviCRM_Api->call_values(NULL, 'getfields', Array)
#3 /var/www/example.org/wp-content/plugins/content-views-civicrm-data-processor/includes/class-cvc-display.php(180): Content_Views_CiviCRM_Display->get_fields in /var/www/example.org/wp-content/plugins/civicrm/civicrm/api/api.php on line 129`
Current behaviour
----------------------------------------
Expected behaviour
----------------------------------------
I was expecting that if bad values are sent to CiviCRM it could just gracefully fail instead of throwing an exception.
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:__ Latest
* __PHP:__ 7.2
* __CMS:__ Wordpress
* __Web Server:__ Nginx Latesthttps://lab.civicrm.org/dev/core/-/issues/1958Add copy action to activity2023-04-27T05:03:20ZyashodhaAdd copy action to activityProvide handy link for duplicating activity.Provide handy link for duplicating activity.yashodhayashodhahttps://lab.civicrm.org/dev/drupal/-/issues/135Use Exception handling for drush (d7) commands - specifically civicrm-upgrade-db2021-02-15T02:50:40ZeileenUse Exception handling for drush (d7) commands - specifically civicrm-upgrade-dbWhen there is a problem upgrading via drush this is how it looks
![Screen_Shot_2020-08-19_at_2.33.52_PM](/uploads/7f3a15ac5a07104926c78d77c9ff168d/Screen_Shot_2020-08-19_at_2.33.52_PM.png)
I think we should set exception handling 'some...When there is a problem upgrading via drush this is how it looks
![Screen_Shot_2020-08-19_at_2.33.52_PM](/uploads/7f3a15ac5a07104926c78d77c9ff168d/Screen_Shot_2020-08-19_at_2.33.52_PM.png)
I think we should set exception handling 'somewhere' & my current best guess as to where is
--- a/CRM/Upgrade/Headless.php
+++ b/CRM/Upgrade/Headless.php
@@ -30,6 +30,8 @@ class CRM_Upgrade_Headless {
set_time_limit(0);
}
+ // As long as the error scope is not deconstructed exceptions will be thrown.
+ $errorScope = CRM_Core_TemporaryErrorScope::useException();
$upgrade = new CRM_Upgrade_Form();https://lab.civicrm.org/dev/user-interface/-/issues/27Bootstrap3 CSS2022-12-14T16:05:01ZtottenBootstrap3 CSS## Definitions
* __Look and Feel__: A visual appearance that can be recognized by a user of a page.
* __CSS Vocabulary__: A list of CSS classes that are agreed upon as a contract between a theme and an app-page. Example: "Bootstrap CSS ...## Definitions
* __Look and Feel__: A visual appearance that can be recognized by a user of a page.
* __CSS Vocabulary__: A list of CSS classes that are agreed upon as a contract between a theme and an app-page. Example: "Bootstrap CSS v3", "Bootstrap CSS v4", "crm-*"
* __Application Page__: A business application which provides functionality/behavior. It is positioned as *consumer* of CSS vocabulary(ies). Example: CiviContribute's "Contribution Page", CiviMail's "New Mailing" page, or CiviVolunteer's "Assign Volunteers" page.
* __Civi Theme__: A CiviCRM package which defines a look-and-feel. It is positioned as a *provider* of CSS vocabulary(ies). Example: Shoreditch
* __CMS Theme__: A package for a CMS which defines a look-and-feel. It is positioned as a *provider* of CSS vocabulary(ies). Example: Drupal Garland, WP Twenty Seventeen
* __Civi-Optimized Theme__: A package which defines a look-and-feel that is specifically intended to work with CiviCRM. Some CMS themes may be "Civi-optimized" (even if they are not specificallly packaged as a "CiviCRM extension").
* __Resource__: A resource is some artifact-- CSS file, CSS snippet, JS file, JS snippet, JS setting, et al -- that can be added to a page.
* __Resource Bundle__: A bundle is a list of related resources that are loaded together.
## Expectations
1. I am a novice site-builder who relies on some default/widespread theme. I expect that CiviCRM will look coherent out-of-the-box. If this expectation is unmet, I will assume that CiviCRM is broken.
2. I am a mid-level (or higher) site-builder who researches and configures various addons. I may be using a theme that is neither default/widespread nor specific/optimized to CiviCRM. I also expect that CiviCRM will look coherent. However, I have greater tolerance for challenges: if my expectation cannot be met out-of-the-box, then I may spend some effort to make it work... *provided that the configuration game is communicated clearly*.
3. I am an application developer with a specialization in CiviCRM. I expect there to be a well-defined CSS vocublary that I can rely upon when writing application pages. I expect the CSS vocabulary to be equally supported in all environs.
4. I am a theme designer/developer with a specialization in CiviCRM. I expect there to be a well-defined CSS vocabulary that I can target when writing CSS rules. I anticipate some interaction between CMS theming and Civi theming, and I expect a clear relation between them.
## General Thoughts
* It is possible to implement any "CSS Vocabulary" in any "CMS Theme" or "Civi Theme". Just create another `.css` file.
* The CSS vocabulary for "Bootstrap3" is well-defined, well-documented, stable. The CSS vocabulary for "crm-*" is (in relative terms) more fluid and not as well-documented.
* Within any given page-request, there are 0-1 active CMS themes and 0-1 active Civi themes. (Internally, some themes may be built on top of one another. For our purposes, such details are encapsulated witin the theme such that we may set aside those details while considering the protocol.)
* The upshot of a "Civi Theme" is that it can provide additional CSS vocabularies that are not universally available within CMS ecosystems. The flip-side is that the look-and-feel may be mismatched.
* If the concurrent "CMS Theme" and "Civi Theme" both implement support for the same CSS vocabulary, then (logically) this is a conflict. The "CMS Theme" is generally required for other purposes (outside our purview), so it must be left active. The conflict may have a few outcomes:
* ~~(Mixed) If we proceed with loading both CMS+Civi theme CSS, and if both use broad selectors, then the look-and-feel will be the arbibtrary combination of both (spread across the page).~~
* (Split) If we proceed with loading both CMS+Civi theme CSS, and if Civi's selectors are carefully tuned, then the look-and-feel have single, distinct split in the look-and-feel (different L&F on "Civi pages" and "CMS pages").
* (Yield) If we omit the the Civi theme CSS for that vocabulary, and if the vocabulary providers really are interchangeable, then we get one L&F across all "Civi pages" and "CMS pages". (At least, for pages based on the duplicate vocabulary. Other Civi pages may use other vocabularies which are not supported by the CMS theme.)
* Note: None of these outcomes is necessarily best or optimal... the "best" will be in a state of flux as support for different vocabularies and different L&Fs change. The choice is subjective.
* In discussing themes, we often distinguish between a frontend and backend policy. If there's a manual on/off switch for "bootstrap3", should it discern between frontend/backend?
* At first, I thought "yes", because that's usually articulate decision-making wrt frontend vs backend.
* On second thought, aren't we using "frontend/backend" as a proxy for identifying the *particular theme* that is active on the frontend/backend? ie The provisioning of `bootstrap3` is a chacateristic of that theme.
## Current behavior
In `shoreditch`, one activates the extension and chooses "Shoreditch" as the activ etheme- and then its bundle of `bootstrap3` resources is loaded on every page.
## New behavior
* __Application Page__: An application-page signals the need for Bootstrap3 vocabulary by calling
```php
Civi::resources()->addBundle('bootstrap3');
```
* __Civi Theme (Basic)__: A theme may define the content of `bootstrap3` bundle by file-convention, ie
* Implement `hook_civicrm_themes` to declare the theme
* Create the files `css/bootstrap3.css` and `js/bootstrap3.js`
* __Civi Theme (Advanced)__: A theme may define the contenf of `bootstrap3` bundle by hook, ie
* Implement `hook_civicrm_themes` to declare the theme
* Implement `hook_civicrm_alterBundle` and filter/revise/override/supplement the list of resources inside of `bootstrap3`.
```php
Civi::dispatcher()->addListener('hook_civicrm_alterBundle', function($e){
if ($e->bundle->name === 'bootstrap3') {
$e->bundle->update('civicrm:css/bootstrap.css', [
'type' => 'scriptUrl',
'scriptUrl' => Civi::service('asset_builder')->getUrl('...');
]);
}
});
```
* __Conflict Resolution__: The default policy is to "(Split)" L&F between CMS+Civi, but there are counterplays.
* To wit: if Shoreditch is active on a page, and if the page needs Bootstrap3, then (by deafult) it loads Shoreditch's `bootstrap3` - regardless of whether the CMS provides `bootstrap3` by other means. This provides more internal consistency (e.g. `bootstra.css`/`civicrm.css`) and more cross-site consistency (e.g. different sites with different CMS themes chosen by different people => but shoreditch always behaves the same).
* For a Civi-optimized CMS theme, the developer may implement `hook_civicrm_alterBundle` and toggle `$bundle->isActive`.
```php
Civi::dispatcher()->addListener('hook_civicrm_alterBundle', function($e){
// mycmstheme has built-in, global support for bootstrap3.
if ($e->bundle->getName() === 'bootstrap3' && $e->bundle->getActive() === 'auto' && cms_active_theme() === 'mycmstheme') {
$bundle->setActive(FALSE);
}
}, 1000);
```
* For a local override, the site-builder may configure the setting `array theme_bundles` - ie `$themeBundles[$cmsThemeName][$bundleName] === TRUE|FALSE|auto'`.https://lab.civicrm.org/dev/drupal/-/issues/134[Drupal 8] civicrm-buildkit places assets in the wrong folder2020-08-21T21:35:52ZJonGold[Drupal 8] civicrm-buildkit places assets in the wrong folderOn a standard D8/Civi install, the CiviCRM assets are located in `<projectroot>/web/libraries/civicrm/`. On civicrm-buildkit, they're located in `<projectroot>/web/libraries/civicrm/core/` *except* for the `packages` folder, which is lo...On a standard D8/Civi install, the CiviCRM assets are located in `<projectroot>/web/libraries/civicrm/`. On civicrm-buildkit, they're located in `<projectroot>/web/libraries/civicrm/core/` *except* for the `packages` folder, which is located in `<projectroot>/web/libraries/civicrm/`. This causes a 404 error on any request to the contents of the `packages` folder, e.g. jQuery.https://lab.civicrm.org/dev/financial/-/issues/141Define return parameters for doPayment2023-03-11T00:09:20Zmattwiremjw@mjwconsult.co.ukDefine return parameters for doPaymentSee #135, https://github.com/civicrm/civicrm-core/pull/18150 and https://github.com/civicrm/civicrm-core/pull/18178
We need to clearly define what the return parameters for `doPayment()` should be as it's important, it's unclear and it'...See #135, https://github.com/civicrm/civicrm-core/pull/18150 and https://github.com/civicrm/civicrm-core/pull/18178
We need to clearly define what the return parameters for `doPayment()` should be as it's important, it's unclear and it's not defined anywhere.
My proposal:
* `doPayment($params)` returns an array.
* It must contain:
* **`payment_status_id`**: **(deprecated)** Numeric value of `Contribution Status` option value Completed or Pending. Eg. 1. Must be set but make sure you set `payment_status` as well because this value will be ignored in the future.
* **`payment_status`**: Text field - Either `Completed` or `Pending`.
* It may contain (and the code that calls `doPayment()` will update these values on the contribution/payment:
* **`trxn_id`**: The transaction ID from the payment processor. This will be recorded in the `Contribution.trxn_id` field and the `Payment.trxn_id` field. We do not return `order_reference` here because that is usually filled in by an IPN callback from the payment processor if required.
* **`fee_amount`**: The amount (in same currency as contribution) of the fee taken by the payment processor for processing the payment.
Historically `$params` was passed by reference. This is deprecated and only the return values should be used.
Ping @eileen @artfulrobot @KarinG5.49.0https://lab.civicrm.org/dev/core/-/issues/1957Profile post-help text not shown on contribution pages2023-04-16T05:03:21ZrebeccatregennaProfile post-help text not shown on contribution pagesOverview
----------------------------------------
Where a profile has Post-form Help text entered it is not shown on contribution pages where the profile is in use (the Pre-form Help however displays as expected)
This applies to new pro...Overview
----------------------------------------
Where a profile has Post-form Help text entered it is not shown on contribution pages where the profile is in use (the Pre-form Help however displays as expected)
This applies to new profiles as well as some existing profiles (e.g. '[Profile Settings - Supporter Profile](https://dmaster.demo.civicrm.org/civicrm/admin/uf/group/update?action=update&id=2&context=group)' on dmaster)
Reproduction steps
----------------------------------------
1. Add/update/check for Post-form Help on a profile and **Save** (e.g. Supporter Profile)
1. Add the profile to a contribution page and **Save** (e.g. '[Member Signup and Renewal])(https://dmaster.demo.civicrm.org/civicrm/admin/contribute/custom?action=update&reset=1&id=2)'
![formhelptext](/uploads/98af82a6eaf61fafec00c5bea509cc16/formhelptext.png)
Current behaviour
----------------------------------------
The contribution page shows the the pre-form help but not the post-form help text
![contributionpage](/uploads/6504a02386372d08aa015331238e89f9/contributionpage.png)
Expected behaviour
----------------------------------------
The contribution page shows both the pre-form help and the post-form help text
Environment information
----------------------------------------
Tested on [dmaster.demo.civicrm.org](https://dmaster.demo.civicrm.org/) 5.30.alpha1
Tested on Chrome, Firefox and Safari (on mobile)https://lab.civicrm.org/dev/core/-/issues/1956Typo in groups dropdown on scheduled reminders admin form2020-09-03T00:38:33ZDaveDTypo in groups dropdown on scheduled reminders admin formThis is similar to https://github.com/civicrm/civicrm-core/pull/18154 but it's not as clear that the original intent was correct.
In [the form](https://github.com/civicrm/civicrm-core/blob/5.28.0/CRM/Admin/Form/ScheduleReminders.php#L25...This is similar to https://github.com/civicrm/civicrm-core/pull/18154 but it's not as clear that the original intent was correct.
In [the form](https://github.com/civicrm/civicrm-core/blob/5.28.0/CRM/Admin/Form/ScheduleReminders.php#L253) you have the option to limit to groups, and it seems like it was intended to limit to mailing groups but is missing the first parameter so it shows all.
But for these you might want to send to internal groups or admins, and given that it has showed all groups for a while I'd argue to just remove the parameter completely to explicitly show all.5.30.0https://lab.civicrm.org/dev/core/-/issues/1955Incorrect Resource URL2023-04-20T05:03:27ZresgaIncorrect Resource URLUsing Drupal 7.72 and CiviCRM 5.28.0, I get this alert on the front page:
> <h1>Incorrect Resource URL</h1>
> The Resource URL is not set correctly. Please set the <a href="/civicrm/admin/setting/url?reset=1">CiviCRM Resource URL</a>
> ...Using Drupal 7.72 and CiviCRM 5.28.0, I get this alert on the front page:
> <h1>Incorrect Resource URL</h1>
> The Resource URL is not set correctly. Please set the <a href="/civicrm/admin/setting/url?reset=1">CiviCRM Resource URL</a>
> <p><a href="/civicrm/a/#/status">View details and manage alerts</a></p>
Settings on the "Settings - Resource URLs" page (`/civicrm/a/#/status`):
`CiviCRM Resource URL:
[cms.root]/sites/all/modules/civicrm/`
`Image Upload URL:
[cms.root]/sites/default/files/civicrm/persist/contribute/`
```
Disable CiviCRM css:
Yes
x No
```
`Extension Resource URL:
[civicrm.root]/ext/`
Do the settings look correct? Are the recommended settings documented somewhere? Also, is there way I can get more details about how they fail, to better debug this issue?https://lab.civicrm.org/dev/core/-/issues/1954Country field is validated within the billing block by jquery even when not s...2020-08-16T22:35:00ZseamusleeCountry field is validated within the billing block by jquery even when not showing e.g user has selected a $0 optionOverview
----------------------------------------
When you have a contribution page and there is a free option ($0) if you do not have a default country set then on a stick CiviCRM you will not be able to move to the next step when submi...Overview
----------------------------------------
When you have a contribution page and there is a free option ($0) if you do not have a default country set then on a stick CiviCRM you will not be able to move to the next step when submitting a public contribution as jQuery tries to validate the country field
Reproduction steps
----------------------------------------
1. Ensure that under the languages / currency settings there is no default country set.
1. Create a new contribution page ensuring that in the amounts tab you include a free option
1. Try and submit a new contribution as an anon user
Current behaviour
----------------------------------------
Cannot submit contribution as jQuery tries to validate the off screen country field
Expected behaviour
----------------------------------------
Form should be submitted
Environment information
----------------------------------------
* __CiviCRM:__ _5.28.0_https://lab.civicrm.org/dev/core/-/issues/1951Dates in event (and likely other) pages show in site locale rather than curre...2023-04-19T20:37:52ZKeith NunnDates in event (and likely other) pages show in site locale rather than current user localeOverview
----------------------------------------
_Please describe your problem or bug in detail._
When Mutlilang is enabled on Civi, translation works well for everything except date display. This is mostly only an issue for event inf...Overview
----------------------------------------
_Please describe your problem or bug in detail._
When Mutlilang is enabled on Civi, translation works well for everything except date display. This is mostly only an issue for event info pages, but will happen anywhere that a date is displayed as part of the page content. I just made a sample event (with nearly nothing in it) on the demo site to show what happens. This link goes to the french version and the whole page is translated, but the date is still in English.
`https://dmaster.demo.civicrm.org/civicrm/event/info?reset=1&id=7&lcMessages=fr_CA`
I have done a little exploring in civicrm/CRM/Core/I18n.php and /civicrm/CRM/Utils/Date.php and found that the methods seem to be locale aware, but appear to use a more global locale (CiviCRM default, Wordpress default, or maybe System
[Stackexchange question](https://civicrm.stackexchange.com/questions/35468/date-in-english-even-when-page-is-set-to-french?noredirect=1#comment42248_35468)
Reproduction steps
----------------------------------------
1. make site multilingual and ensure there is more than one language. In my case english (default) and french (additional)
1. create an event and set basic information including a future date. save
1. view the info page in french by adding &lcMessages=fr_CA to the URL
1. the page will show in french, but the date format and language of month and day names will be in english.
Current behaviour
----------------------------------------
Date is rendered in default languange
![image](/uploads/85480ee9051c152c45a5c220d84be150/image.png)
Expected behaviour
----------------------------------------
Date should be rendered in the language that the browser requested
Environment information
----------------------------------------
Happens in every environment and version I have tested including the test site at dmaster.demo.civicrm.org
Comments
----------------------------------------https://lab.civicrm.org/dev/core/-/issues/1950Profile settings - Add new contacts to a Group? is misleading2020-08-23T21:47:08ZlarsssandergreenProfile settings - Add new contacts to a Group? is misleadingIn settings for profiles, there is an option to "Add new contacts to a Group?" with a help text "Select a group if you are using this profile for adding new contacts, AND you want the new contacts to be automatically assigned to a group....In settings for profiles, there is an option to "Add new contacts to a Group?" with a help text "Select a group if you are using this profile for adding new contacts, AND you want the new contacts to be automatically assigned to a group."
However, on profile submission, any contact is added to the group, not just new contacts. I think that this is the desired behaviour, but the text is misleading.
I would suggest "Add contacts to a group?" and "Select a group if you want contacts to be automatically added to that group when the profile is submitted." or something along those lines.5.30.0