Development issueshttps://lab.civicrm.org/groups/dev/-/issues2019-05-30T22:37:18Zhttps://lab.civicrm.org/dev/core/-/issues/980Support latest phpunit versions2019-05-30T22:37:18ZeileenSupport latest phpunit versionsCurrently we extend a class in our unit tests that belongs with a pre-namespaced phpunit. There is a migration path summed up as
"If you want to update a simple project, where the only usage of PHPUnit classes is to create tests, you ar...Currently we extend a class in our unit tests that belongs with a pre-namespaced phpunit. There is a migration path summed up as
"If you want to update a simple project, where the only usage of PHPUnit classes is to create tests, you are very lucky. You need to require at minimum PHPUnit 4.8.35 or 5.4.3, which includes the FC class PHPUnit\Framework\TestCase as an alias for \PHPUnit_Framework_TestCase."
https://engineering.facile.it/blog/eng/phpunit-upgrade-namespace/
But from my digging I think we need to remove dbunit first (sebastianbergmann/dbunit#217) - which I've started doing5.15.0https://lab.civicrm.org/dev/core/-/issues/975URL for "New Activity" in the breadcrumb of the "Find Activities" page is inc...2019-05-30T01:27:11Zjustinfreeman (Agileware)URL for "New Activity" in the breadcrumb of the "Find Activities" page is incorrect - uses comma (,) instead of an ampersand (&)URL for "New Activity" in the breadcrumb of the "Find Activities" page is incorrect - uses comma (,) instead of ampersand (&).
The incorrect URL is:
https://dmaster.demo.civicrm.org/civicrm/activity?reset=1&action=add,context=standalone...URL for "New Activity" in the breadcrumb of the "Find Activities" page is incorrect - uses comma (,) instead of ampersand (&).
The incorrect URL is:
https://dmaster.demo.civicrm.org/civicrm/activity?reset=1&action=add,context=standalone
But the correct URL is:
https://dmaster.demo.civicrm.org/civicrm/activity?reset=1&action=add&context=standalone
Clicking the "New Activity" link causes this error.
`Notice: Undefined index: Basic in HTML_QuickForm_Controller->exportValues() (line 495 of /srv/buildkit/build/dmaster/sites/all/modules/civicrm/packages/HTML/QuickForm/Controller.php).
Warning: Invalid argument supplied for foreach() in HTML_QuickForm_Controller->exportValues() (line 495 of /srv/buildkit/build/dmaster/sites/all/modules/civicrm/packages/HTML/QuickForm/Controller.php).`
Here's a screenshot from dmaster CiviCRM
![Find_Activities___CiviCRM_Sandbox_on_Drupal](/uploads/2cd663447e49fd6e19e2b8e60d39a4ba/Find_Activities___CiviCRM_Sandbox_on_Drupal.png)
Agileware Ref: CIVICRM-12045.14.0https://lab.civicrm.org/dev/core/-/issues/974.ics files should be whitelisted as file types for upload2019-08-15T14:00:20ZStoob.ics files should be whitelisted as file types for uploadCurrently an uploaded .ics file to Civi has the 'unknown' suffix appended. To offer some background, .ics file is a common format used by Google, Outlook and many other calendar software https://en.wikipedia.org/wiki/ICalendar. Indeed ...Currently an uploaded .ics file to Civi has the 'unknown' suffix appended. To offer some background, .ics file is a common format used by Google, Outlook and many other calendar software https://en.wikipedia.org/wiki/ICalendar. Indeed you will see this filetype attached to many email invitations you get for meetings.
I suggest that this filetype should be whitelisted by CiviCRM and uploaded without modification, for use in all places where attachments are allowed: CiviMail, custom data fields, etc. Since the filetype contains only data (similar to JSON or XML) there are no security issues I'm aware of, but I will rely on security experts to judge ultimately be the judge. Here's an example of part of the problem CiviCRM's appended suffix causes. The ".unknown" file cannot be recognized nor easily opened. @eileen @seamuslee
![ics](/uploads/f3f6c8c202dba00da35eda94eecdd974/ics.png)
![ics2](/uploads/3823eebea44838c339af41bb241e3d07/ics2.png)5.14.0seamusleeseamusleehttps://lab.civicrm.org/dev/core/-/issues/973Old extern/ipn.php script fails bootstrap2019-06-02T22:32:45ZRichOld extern/ipn.php script fails bootstrapI get the following error message in php logs:
```
PHP message: PHP Fatal error: Uncaught Error: Call to undefined function variable_get() in ...sites/all/modules/civicrm/CRM/Utils/System/Drupal.php:790
Stack trace:
#0 ...sites/all/mo...I get the following error message in php logs:
```
PHP message: PHP Fatal error: Uncaught Error: Call to undefined function variable_get() in ...sites/all/modules/civicrm/CRM/Utils/System/Drupal.php:790
Stack trace:
#0 ...sites/all/modules/civicrm/CRM/Core/Payment/PayPalIPN.php(401): CRM_Utils_System_Drupal->getTimeZoneString()
#1 ...sites/all/modules/civicrm/CRM/Core/Payment/PayPalIPN.php(318): CRM_Core_Payment_PayPalIPN->getInput(Array, Array)
#2 ...sites/all/modules/civicrm/extern/ipn.php(59): CRM_Core_Payment_PayPalIPN->main()
#3 {main}
thrown in ...sites/all/modules/civicrm/CRM/Utils/System/Drupal.php on line 790
```
It looks like the ipn.php script does not bootstrap Drupal, but it calls getTimeZoneString which depends on the user system (Drupal) and the Drupal version of that includes a call to Drupal's `variable_get` function which has not been defined yet.
This is a problem for anyone with old recurring PayPal donations. Potentially other payment gateways, too, although the ipn.php script does seem to heavily assume PayPal.
There's some discussion at <https://chat.civicrm.org/civicrm/pl/brmbdz616jn6bymeqz6bgtu3qa> about possible ways forward.5.15.0https://lab.civicrm.org/dev/core/-/issues/968Uncaught javascript errors in Drupal 8 menu toolbar when viewing anonymously2019-06-05T22:44:34ZjohnkUncaught javascript errors in Drupal 8 menu toolbar when viewing anonymouslyThis is a regression, causing javascript problems on public pages, originating with commit b30809e4. This is the error I observed on a public contribution page that I'm currently setting up:
```Uncaught TypeError: Cannot read property '...This is a regression, causing javascript problems on public pages, originating with commit b30809e4. This is the error I observed on a public contribution page that I'm currently setting up:
```Uncaught TypeError: Cannot read property 'left' of undefined at adjustToggle (crm.drupal8.js:10)```
[That line of code](https://lab.civicrm.org/dev/core/blob/master/js/crm.drupal8.js#L10) is looking for `$('#toolbar-item-civicrm')`, which doesn't exist, since it is a public accessible page with no menu.
Since this stops javascript execution, one symptom is that the payment methods selector for loading different payment processor fieldsets doesn't work.
We're on Drupal 8.7.1 and CiviCRM 5.13.4.
To reproduce:
1. drupal 8 based install, make a public contribution page
2. reduce the window width to less than 768 pixels
3. log out and load contribution page5.13.5https://lab.civicrm.org/dev/core/-/issues/959Expose contribution page in Contribution Summary report2019-05-24T01:27:11ZyashodhaExpose contribution page in Contribution Summary reportExpose contribution page in Contribution Summary reportExpose contribution page in Contribution Summary report5.15.0yashodhayashodhahttps://lab.civicrm.org/dev/core/-/issues/953Updating contact (with no email) via import adding email doesn't set email as...2019-08-08T01:16:22Zluke.stewartUpdating contact (with no email) via import adding email doesn't set email as primaryHave replicated on dmaster running 5.15.alpha1
To reproduce:
In Civicrm
Create a new contact with no email address.
On your computer:
Create a CSV with one row and two columns - Contact ID,email address
In Civicrm
Contacts-> Import...Have replicated on dmaster running 5.15.alpha1
To reproduce:
In Civicrm
Create a new contact with no email address.
On your computer:
Create a CSV with one row and two columns - Contact ID,email address
In Civicrm
Contacts-> Import Contacts
Select the csv created above, Change the "For Duplicate contacts" option to "Update" or "Fill".
Step through rest of the import - mapping the contact ID and email to the appropriate fields.
Using the api explorer (or via the database/drush etc) check the email for this contact
```
drush cvapi Email.get sequential=1 return="is_primary" contact_id=209
```
```
{
"is_error": 0,
"version": 3,
"count": 1,
"id": 191,
"values": [
{
"id": "191",
"is_primary": "0"
}
]
}
```
Impact:
If a contact has only one email it should be set to primary. If it's not set to primary they are not emailable. They will not be included in bulk mailings. If attempting to use action mail from their profile you will get a warning "Selected contact(s) do not have a valid email address, or communication preferences specify DO NOT EMAIL, or they are deceased or Primary email address is On Hold".
Clicking on the email to edit shows it marked as primary - you can see however in the database or using the api explorer it's not set as primary.
This is possibly a wider data integrity issue - is there ever a case whereby a contact has one email and it shouldn't be set to primary?5.15.0https://lab.civicrm.org/dev/core/-/issues/950js error in menubar2019-05-10T09:17:07Zeileenjs error in menubarI'm seeing this error in console
Error: Syntax error, unrecognized expression: unsupported pseudo: hover
I see on the web that :hover is deprecated - https://stackoverflow.com/questions/16497457/ishover-is-broken-as-of-jquery-1-9-how-t...I'm seeing this error in console
Error: Syntax error, unrecognized expression: unsupported pseudo: hover
I see on the web that :hover is deprecated - https://stackoverflow.com/questions/16497457/ishover-is-broken-as-of-jquery-1-9-how-to-fix
This should probably be treated as a regression as
a) the code has only recently started shipping
b) we've had some error reports that are a bit mystical but relate to the menu rendering so fixing minor issues like this could reduce confusion
@colemanw5.14.0https://lab.civicrm.org/dev/financial/-/issues/54Bug in storing settings for CiviContribute component2019-05-22T21:08:07ZJoachimBug in storing settings for CiviContribute component**Problem**
The two settings of the CiviContribute component
* Always post to Accounts Receivable?
* Enable Deferred Revenue?
do not have any effect on how financial transactions are created, although they apparently should.
**Probab...**Problem**
The two settings of the CiviContribute component
* Always post to Accounts Receivable?
* Enable Deferred Revenue?
do not have any effect on how financial transactions are created, although they apparently should.
**Probable Cause**
In general, settings are stored in the table civicrm_setting, one setting per row. There is one exception: All settings for the CiviContribute component are stored combined within one single row.
The storing of the settings for the two checkboxes mentioned above deviates from this principle: Two distinct rows are generated for the settings. These rows are also accessed to display their respective values within the settings form (i.e. once checked, the checkboxes remain checked at a later display of the settings page).
HOWEVER, when reading from the settings table within the program code, just the combined row gets accessed for all CiviComponent related settings (e.g. for 'deferred_revenue_enabled'). (See function checkContributeSettings($name = NULL, $checkInvoicing = FALSE) in file Contribution.php).
Therefore the settings get de facto ignored, when they should control how transactions get generated based on their values.
I tried to manually change the combined data row in the database, which actually made the settings work as expected. See also this [StackExchange entry](https://civicrm.stackexchange.com/questions/30559/bug-in-settings-for-civicontribute-component) .5.15.0https://lab.civicrm.org/dev/core/-/issues/945$this can not be used in static methods2019-07-31T20:49:25Zherbdool$this can not be used in static methodsMy IDE tells me that "$this can not be used in static methods". This is for in `public static function getIncompleteImportTables()` in `CRM/Contact/Import/ImportJob.php`. I don't know the best way to fix it, but here's a helpful link htt...My IDE tells me that "$this can not be used in static methods". This is for in `public static function getIncompleteImportTables()` in `CRM/Contact/Import/ImportJob.php`. I don't know the best way to fix it, but here's a helpful link https://stackoverflow.com/questions/2286696/using-this-inside-a-static-function-fails.5.16.0https://lab.civicrm.org/dev/core/-/issues/940Email processor filing all emails as .unknown attachments2019-05-20T22:16:22ZDaveDEmail processor filing all emails as .unknown attachmentsSee also https://civicrm.stackexchange.com/questions/30511/auto-filing-e-mails-on-cases-mail-content-not-shown-under-details-and-attachmen
The reporter was using Thunderbird and 5.13.1 but I'm able to reproduce it locally on master with...See also https://civicrm.stackexchange.com/questions/30511/auto-filing-e-mails-on-cases-mail-content-not-shown-under-details-and-attachmen
The reporter was using Thunderbird and 5.13.1 but I'm able to reproduce it locally on master with both gmail and thunderbird generated emails.
I think I saw there was something done with the third-party Mail package recently, moving its location. Not sure if there were any other related changes?5.13.2seamusleeseamusleehttps://lab.civicrm.org/dev/core/-/issues/938Possible timing issue with test phpunit/api/v3/AttachmentTest::testCreate2019-09-05T02:02:11ZDaveDPossible timing issue with test phpunit/api/v3/AttachmentTest::testCreateWhat I think is happening is that when it first calls `$this->callAPISuccess('Attachment', 'create'...` the fcs hash is generated using the current value of time(). Then lower down when it calls `$this->callAPISuccess('Attachment', 'get'...What I think is happening is that when it first calls `$this->callAPISuccess('Attachment', 'create'...` the fcs hash is generated using the current value of time(). Then lower down when it calls `$this->callAPISuccess('Attachment', 'get',...` the fcs hash gets generated again via _civicrm_api3_attachment_format_result() which calls CRM_Core_BAO_File::generateFileHash() again, and so the returned value will depend on the value of time() at that point.
While almost all the time those two values of time() will be the same because it's very fast, if it happens to cross over the second boundary the second value will be different than the first and the test fails.5.18.0https://lab.civicrm.org/dev/core/-/issues/933Flash-based charts missing in Chrome because the "click to enable" button is ...2019-10-10T18:48:37ZjohnkFlash-based charts missing in Chrome because the "click to enable" button is not visible on the pageJust go to Contributions Dashboard in Chrome. Charts do not show up. The issue is that in the default mode for Chrome, there should be a "click to enable" button coming up, but this chart or its javascript is in some way not compatible.
...Just go to Contributions Dashboard in Chrome. Charts do not show up. The issue is that in the default mode for Chrome, there should be a "click to enable" button coming up, but this chart or its javascript is in some way not compatible.
There is a well known workaround of manually enabling Flash for the site, which I've instructed our staff on. I still thought I'd open it as an issue. This Chrome-specific regression may be due to the use of SWFObject; see #270.
The Contributions chart is one of the best ways of showcasing all the hard work of setting up and importing data into ones fancy new CRM! So it's kind of a bummer to have the Chrome bug right there, is all.5.20.0https://lab.civicrm.org/dev/core/-/issues/932Dedupe screen: single "flip" and multi-selected-flip have no effect2019-05-12T23:27:12ZbgmDedupe screen: single "flip" and multi-selected-flip have no effectHow to reproduce on dmaster:
* Go to: Contacts > Find and merge duplicates
* Select the "Name and address" rule, which brings you here: https://dmaster.demo.civicrm.org/civicrm/contact/dedupefind?reset=1&action=update&rgid=7#
Then noti...How to reproduce on dmaster:
* Go to: Contacts > Find and merge duplicates
* Select the "Name and address" rule, which brings you here: https://dmaster.demo.civicrm.org/civicrm/contact/dedupefind?reset=1&action=update&rgid=7#
Then notice that)
1. when we click on "flip" for a single entry, it seems to flip, but the "merge" link is the same, so doing the actual merge does not flip the direction.
2. if we click the checkbox for the result, then click the "Flip selected duplicates", nothing happens.
![civicrm-dedupe-flip](/uploads/712aaa8949e7f0d7b9018bdb78e148ea/civicrm-dedupe-flip.jpg)5.15.0https://lab.civicrm.org/dev/wordpress/-/issues/26Regression: REST calls fail on WP on 5.13.02020-06-17T09:07:23ZJonGoldRegression: REST calls fail on WP on 5.13.0The issue is [this commit](https://github.com/civicrm/civicrm-core/commit/9ba02e3e25fe10e8d1eb46c07b77b7fa407eda0d#diff-0761b448ddeed621a369a6e6e9ac2129) which has this snippet:
```php
if (isset($params['uid'])) {
throw new \R...The issue is [this commit](https://github.com/civicrm/civicrm-core/commit/9ba02e3e25fe10e8d1eb46c07b77b7fa407eda0d#diff-0761b448ddeed621a369a6e6e9ac2129) which has this snippet:
```php
if (isset($params['uid'])) {
throw new \RuntimeException("Not implemented WordPress::loadBootStrap([uid=>\$num]))");
}
```
Of course, the corresponding call in `CRM_Utils_REST` is:
```
CRM_Utils_System::loadBootStrap(['uid' => $uid], TRUE, FALSE);
```
...which makes the problem obvious.
I've got a patch that's working on some test systems, I'll roll it up for 5.13 within the hour.5.13.1JonGoldJonGoldhttps://lab.civicrm.org/dev/core/-/issues/931Civi 5.13.0 fails to upgrade on multilingual sites2019-07-10T16:02:55ZJonGoldCivi 5.13.0 fails to upgrade on multilingual sitesThe backtrace is below. It seems like we can't add a column to a multilingual table if the table wasn't multilingual prior to upgrade.
```
May 02 11:21:35 [info] $Fatal Error Details = Array
(
[callback] => Array
(
...The backtrace is below. It seems like we can't add a column to a multilingual table if the table wasn't multilingual prior to upgrade.
```
May 02 11:21:35 [info] $Fatal Error Details = Array
(
[callback] => Array
(
[0] => CRM_Core_Error
[1] => handle
)
[code] => -18
[message] => DB Error: no such table
[mode] => 16
[debug_info] => SHOW COLUMNS FROM civicrm_payment_processor_en_US LIKE 'title' [nativecode=1146 ** Table 'nasco_dev_civi.civicrm_payment_processor_en_US' doesn't exist]
[type] => DB_Error
[user_info] => SHOW COLUMNS FROM civicrm_payment_processor_en_US LIKE 'title' [nativecode=1146 ** Table 'nasco_dev_civi.civicrm_payment_processor_en_US' doesn't exist]
[to_string] => [db_error: message="DB Error: no such table" code=-18 mode=callback callback=CRM_Core_Error::handle prefix="" info="SHOW COLUMNS FROM civicrm_payment_processor_en_US LIKE 'title' [nativecode=1146 ** Table 'nasco_dev_civi.civicrm_payment_processor_en_US' doesn't exist]"]
)
May 02 11:21:35 [info] $backTrace = #0 /home/jon/local/nasco/htdocs/sites/all/modules/civicrm/CRM/Core/Error.php(236): CRM_Core_Error::backtrace("backTrace", TRUE)
#1 /home/jon/local/nasco/htdocs/sites/all/modules/civicrm/packages/PEAR.php(921): CRM_Core_Error::handle(Object(DB_Error))
#2 /home/jon/local/nasco/htdocs/sites/all/modules/civicrm/packages/DB.php(985): PEAR_Error->__construct("DB Error: no such table", -18, 16, (Array:2), "SHOW COLUMNS FROM civicrm_payment_processor_en_US LIKE 'title' [nativecode=11...")
#3 /home/jon/local/nasco/htdocs/sites/all/modules/civicrm/packages/PEAR.php(575): DB_Error->__construct(-18, 16, (Array:2), "SHOW COLUMNS FROM civicrm_payment_processor_en_US LIKE 'title' [nativecode=11...")
#4 /home/jon/local/nasco/htdocs/sites/all/modules/civicrm/packages/PEAR.php(223): PEAR->_raiseError(Object(DB_mysqli), NULL, -18, 16, (Array:2), "SHOW COLUMNS FROM civicrm_payment_processor_en_US LIKE 'title' [nativecode=11...", "DB_Error", TRUE)
#5 /home/jon/local/nasco/htdocs/sites/all/modules/civicrm/packages/DB/common.php(1907): PEAR->__call("raiseError", (Array:7))
#6 /home/jon/local/nasco/htdocs/sites/all/modules/civicrm/packages/DB/mysqli.php(933): DB_common->raiseError(-18, NULL, NULL, "SHOW COLUMNS FROM civicrm_payment_processor_en_US LIKE 'title' [nativecode=11...", "1146 ** Table 'nasco_dev_civi.civicrm_payment_processor_en_US' doesn't exist")
#7 /home/jon/local/nasco/htdocs/sites/all/modules/civicrm/packages/DB/mysqli.php(403): DB_mysqli->mysqliRaiseError()
#8 /home/jon/local/nasco/htdocs/sites/all/modules/civicrm/packages/DB/common.php(1216): DB_mysqli->simpleQuery("SHOW COLUMNS FROM civicrm_payment_processor_en_US LIKE 'title'")
#9 /home/jon/local/nasco/htdocs/sites/all/modules/civicrm/packages/DB/DataObject.php(2415): DB_common->query("SHOW COLUMNS FROM civicrm_payment_processor_en_US LIKE 'title'")
#10 /home/jon/local/nasco/htdocs/sites/all/modules/civicrm/packages/DB/DataObject.php(1607): DB_DataObject->_query("SHOW COLUMNS FROM civicrm_payment_processor_en_US LIKE 'title'")
#11 /home/jon/local/nasco/htdocs/sites/all/modules/civicrm/CRM/Core/DAO.php(439): DB_DataObject->query("SHOW COLUMNS FROM civicrm_payment_processor_en_US LIKE 'title'")
#12 /home/jon/local/nasco/htdocs/sites/all/modules/civicrm/CRM/Core/DAO.php(1414): CRM_Core_DAO->query("SHOW COLUMNS FROM civicrm_payment_processor_en_US LIKE 'title'", TRUE)
#13 /home/jon/local/nasco/htdocs/sites/all/modules/civicrm/CRM/Core/BAO/SchemaHandler.php(632): CRM_Core_DAO::executeQuery("SHOW COLUMNS FROM civicrm_payment_processor LIKE '%1'", (Array:1), TRUE, NULL, FALSE, TRUE)
#14 /home/jon/local/nasco/htdocs/sites/all/modules/civicrm/CRM/Upgrade/Incremental/Base.php(159): CRM_Core_BAO_SchemaHandler::checkIfFieldExists("civicrm_payment_processor", "title")
#15 /home/jon/local/nasco/htdocs/sites/all/modules/civicrm/CRM/Queue/Task.php(88): CRM_Upgrade_Incremental_Base::addColumn(Object(CRM_Queue_TaskContext), "civicrm_payment_processor", "title", "text COMMENT 'Payment Processor Descriptive Name.'", TRUE, "5.13.alpha1")
#16 /usr/local/bin/cvsrc/src/Util/ConsoleQueueRunner.php(76): CRM_Queue_Task->run(Object(CRM_Queue_TaskContext))
#17 /usr/local/bin/cvsrc/src/Command/UpgradeDbCommand.php(133): Civi\Cv\Util\ConsoleQueueRunner->runAll()
#18 /usr/local/bin/cvsrc/vendor/symfony/console/Command/Command.php(257): Civi\Cv\Command\UpgradeDbCommand->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#19 /usr/local/bin/cvsrc/vendor/symfony/console/Application.php(850): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#20 /usr/local/bin/cvsrc/vendor/symfony/console/Application.php(193): Symfony\Component\Console\Application->doRunCommand(Object(Civi\Cv\Command\UpgradeDbCommand), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#21 /usr/local/bin/cvsrc/src/Application.php(48): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#22 /usr/local/bin/cvsrc/vendor/symfony/console/Application.php(124): Civi\Cv\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#23 /usr/local/bin/cvsrc/src/Application.php(17): Symfony\Component\Console\Application->run()
#24 /usr/local/bin/cvsrc/bin/cv(27): Civi\Cv\Application::main("/usr/local/bin/cvsrc/bin")
#25 {main}
```5.13.1https://lab.civicrm.org/dev/core/-/issues/927Cancel first contribution associated to membership, cancels the membership2021-04-09T18:47:41Zsluc23Cancel first contribution associated to membership, cancels the membershipFollowing this old topic:
https://civicrm.stackexchange.com/questions/2482/membership-sets-to-cancelled-when-contribution-fails-why
https://issues.civicrm.org/jira/browse/CRM-18177
current CiviCRM behavior is when a Contribution a...Following this old topic:
https://civicrm.stackexchange.com/questions/2482/membership-sets-to-cancelled-when-contribution-fails-why
https://issues.civicrm.org/jira/browse/CRM-18177
current CiviCRM behavior is when a Contribution associated with a membership is Cancelled, if this membership has only this Contribution, the membership is cancelled too.
Same when the Contribution gets to "Failed", if it's the first Contribution associated with the membership, it is set to "Expired" status.
https://github.com/civicrm/civicrm-core/blob/5.13/CRM/Contribute/BAO/Contribution.php#L1784
We use Membership for many Organizations with *manual/offline* payment processors, like direct debit, where the first Contribution can be Cancelled (i.e.: the member has no funds in his bank account) but this doesn't mean that the membership has to be cancelled too. The ORG will reattempt to charge this contribution later, and this same Contribution can be later Completed or a new one charged.
This ticket is meant to reopen the discussion about this topic with other users, and if it worth it, to rework on a solution where this behavior of cancelling memberships is not mandatory
Other areas of the code where similar things happen:
* https://github.com/civicrm/civicrm-core/blob/5.13/CRM/Contribute/BAO/ContributionRecur.php#L2985.35.0https://lab.civicrm.org/dev/core/-/issues/926Searching for removed contacts in a smart group doesn't work2019-06-27T05:05:12ZeileenSearching for removed contacts in a smart group doesn't workFrom the code this seems like a 'never worked' or not for a long time
Prelminary clean up & test to prevent breakage
https://github.com/civicrm/civicrm-core/pull/14181 - actual fix to come
![Screenshot_2019-05-02_17.12.39](/uploads/7...From the code this seems like a 'never worked' or not for a long time
Prelminary clean up & test to prevent breakage
https://github.com/civicrm/civicrm-core/pull/14181 - actual fix to come
![Screenshot_2019-05-02_17.12.39](/uploads/7214af45b746a26abac2592a52ff8251/Screenshot_2019-05-02_17.12.39.png)5.15.0https://lab.civicrm.org/dev/core/-/issues/923Error when creating profile or accessing profile2020-03-25T02:16:30ZtapashError when creating profile or accessing profileNotice: Undefined variable: otherModuleString in CRM_UF_Form_Group->getOtherModuleString() (line 430 of /home/webadmin/public_html/cmm-uat/sites/all/modules/civicrm/CRM/UF/Form/Group.php).Notice: Undefined variable: otherModuleString in CRM_UF_Form_Group->getOtherModuleString() (line 430 of /home/webadmin/public_html/cmm-uat/sites/all/modules/civicrm/CRM/UF/Form/Group.php).5.25.0https://lab.civicrm.org/dev/core/-/issues/912change payment instrument when pending payment paid through credit card2020-09-11T05:41:51Zsunilchange payment instrument when pending payment paid through credit cardCreate Pending Record through online form. (civicrm_contribution: payment_instrument_id : check)
then visit contact and make Record payment using credit card (offline mode).
'civicrm_contribution': payment_instrument_id and 'civicrm_fin...Create Pending Record through online form. (civicrm_contribution: payment_instrument_id : check)
then visit contact and make Record payment using credit card (offline mode).
'civicrm_contribution': payment_instrument_id and 'civicrm_financial_trxn': payment_instrument_id value should change to 'Credit Card' from 'Check'
After paying amount and if expand contribution record for details, you will see 'Payment Method' as 'Check (Visa: 1111)'5.31.0