Development issueshttps://lab.civicrm.org/groups/dev/-/issues2022-04-22T16:17:32Zhttps://lab.civicrm.org/dev/core/-/issues/3334Option to update expired memberships as part of the job.process_membership2022-04-22T16:17:32ZMichael McAndrewOption to update expired memberships as part of the job.process_membershipIt looks like *expired* memberships are excluded from job.process_membership for performance reasons.
There are (edge) cases where this is problematic. For example, lets say that I increased the grace membership period from 3 to 6 month...It looks like *expired* memberships are excluded from job.process_membership for performance reasons.
There are (edge) cases where this is problematic. For example, lets say that I increased the grace membership period from 3 to 6 months. People whose membership ended 4 months ago will not have their membership status updated from expired to grace.
The other three membership statuses that are excluded from membership updates are 'Deceased', 'Pending' and 'Cancelled'.
Not sure if there is a use case for also re-calculating these but interested in people's thoughts.
Proposed solution: add an option to process normally excluded membership statuses (maybe just expired) from job.process_membership.5.29.0https://lab.civicrm.org/dev/core/-/issues/3333I'm unable to create a new member2022-04-22T16:17:30ZbriandefferdingI'm unable to create a new memberI'm attempting to create a new member for the state party, and I am getting and error, informing me this task cannot be done at this time. I have a screenshot attached.![Screen_shot_2019-06-22_at_10.34.41_PM](/uploads/b7e0a143eba8cc582f3...I'm attempting to create a new member for the state party, and I am getting and error, informing me this task cannot be done at this time. I have a screenshot attached.![Screen_shot_2019-06-22_at_10.34.41_PM](/uploads/b7e0a143eba8cc582f3bd26740281003/Screen_shot_2019-06-22_at_10.34.41_PM.png)https://lab.civicrm.org/dev/core/-/issues/3332"Start date must be the same or later than Member since" triggered when dates...2022-04-22T16:17:28Zcalbasi"Start date must be the same or later than Member since" triggered when dates are the sameI get this issue on my drupal/civicrm 5.10.3 instance. And I test it, and I've found it there too: https://civicrm.demo.civihosting.com
Using the same date for "start date" and "member since" fields should NOT trigger this error.
My w...I get this issue on my drupal/civicrm 5.10.3 instance. And I test it, and I've found it there too: https://civicrm.demo.civihosting.com
Using the same date for "start date" and "member since" fields should NOT trigger this error.
My workaround was change one of 2 dates, but this issue is a bug and an usability issue.5.11https://lab.civicrm.org/dev/core/-/issues/3331Back-office membership renewals don't display an on-screen notification2022-04-22T16:17:27ZJonGoldBack-office membership renewals don't display an on-screen notificationAs part of CRM-16454, the membership renewal email code was moved from `CRM_Member_Form_MembershipRenewal::submit()` to `CRM_Member_Form_MembershipRenewal::postProcess()`. However, this code no longer generates a status message because ...As part of CRM-16454, the membership renewal email code was moved from `CRM_Member_Form_MembershipRenewal::submit()` to `CRM_Member_Form_MembershipRenewal::postProcess()`. However, this code no longer generates a status message because of early returns.
Since the return values are ignored, it seems safe to ignore the early returns, which results in a status message comparable to a new membership.5.14.0https://lab.civicrm.org/dev/core/-/issues/3330Updating Membership details fails if created via Relationship2022-04-22T16:17:20ZTony Maynard-SmithUpdating Membership details fails if created via RelationshipI have a configuration using Household Contacts, and Individuals who are linked to Households by 'Member of'/'Household of' Relationships. The Household holds a Membership which flows down to the Individuals. A Membership sign-up or re...I have a configuration using Household Contacts, and Individuals who are linked to Households by 'Member of'/'Household of' Relationships. The Household holds a Membership which flows down to the Individuals. A Membership sign-up or renewal is done by a logged-in Individual and generates a Contribution attached to this Individual, though the associated master Membership is attached to the Household. This is all set up using a Webform.
Since installing CiviCRM 5.20.0, whenever a Membership is updated one or other of the Memberships in this structure vanishes. Previously on CiviCRM 5.19.3 it worked correctly.
If one of the dates on the Household Membership is changed through the CiviCRM Administrative Interface then:
- The Household Membership vanishes.
- The associated Individual Membership IS updated with the new date, and appears now to be freestanding belonging to the Member.
If the Membership is renewed through the Webform:
- The Household Membership is updated correctly and remains.
- The Membership attached to the Individual Contact vanishes.
- The Contribution which created the Household's Membership remains.
This renders 5.20 unusable as far as we are concerned.
Tonyhttps://lab.civicrm.org/dev/core/-/issues/3329Inherited memberships not created correctly when contact count changes.2022-04-22T16:17:19Zsamknelson@gmail.comInherited memberships not created correctly when contact count changes.(Migrating this issue from https://issues.civicrm.org/jira/browse/CRM-21463, since it's been idle there for over a year.)
Suppose you have an organization membership. Suppose the organization has 4 related contacts, each of whom inheri...(Migrating this issue from https://issues.civicrm.org/jira/browse/CRM-21463, since it's been idle there for over a year.)
Suppose you have an organization membership. Suppose the organization has 4 related contacts, each of whom inherits the membership.
Suppose you then add a related contact.
Suppose you then renew the membership.
The newly related contact does not receive the inherited membership. In fact, each time you save / update the membership, an apparently random set of 4 related contacts receives the inherited membership.
============
This turns out to be a bug in Member/BAO/Membership.php. At line 1445, we see
if ($relMembership->find(TRUE)) {
$params['id'] = $relMemIds['membership'] = $relMembership->id;
}
However, params['id'] is never initialized, so if some related memberships are not found, they are assigned the ID from the last iteration through the loop – meaning the previous contact loses their membership.
The solution is to add $params['id'] = NULL right before. (It would probably be better to set $params = NULL at the beginning of the loop, but I haven't tested that.)
I haven't submitted a patch, but it should be straightforward.5.31.0https://lab.civicrm.org/dev/core/-/issues/3328Membership updates not recorded in contact log2022-04-22T16:17:17ZedvanleeuwenMembership updates not recorded in contact logI have noticed that not all changes in the membership records are registered in the contact log. See attachments.![activity](/uploads/95e4d88c1b16c40fa685032cb4b97b75/activity.png)![log](/uploads/878cd7f93d4967ae70047de240f502d7/log.png)I have noticed that not all changes in the membership records are registered in the contact log. See attachments.![activity](/uploads/95e4d88c1b16c40fa685032cb4b97b75/activity.png)![log](/uploads/878cd7f93d4967ae70047de240f502d7/log.png)https://lab.civicrm.org/dev/core/-/issues/3327Duplicate Membership Shows for "Completed" Memberships2022-04-22T16:17:16Zlee.goodingDuplicate Membership Shows for "Completed" MembershipsThis notification shows for memberships that have been marked as completed, which does not make sense for our setup. We do not want people to use the links in that notification as we want to keep a history of when memberships start/end, ...This notification shows for memberships that have been marked as completed, which does not make sense for our setup. We do not want people to use the links in that notification as we want to keep a history of when memberships start/end, gaps between them, etc.
Would it not make more sense to have "completed" or closed memberships not show as a duplicate?https://lab.civicrm.org/dev/core/-/issues/3326Related membership gets deleted upon updating owner membership via API2024-01-03T05:03:25ZwouterhRelated membership gets deleted upon updating owner membership via APII would like to give several people a membership, linked to 1 payment
- person A: membership (+ contribution)
- person B: membership (related to membership person A)
```
$contact_a = 2;
$contact_b = 3;
$contribution = civicrm_api3('Co...I would like to give several people a membership, linked to 1 payment
- person A: membership (+ contribution)
- person B: membership (related to membership person A)
```
$contact_a = 2;
$contact_b = 3;
$contribution = civicrm_api3('Contribution', 'create', [
'financial_type_id' => 2,
'contact_id' => (int) $contact_a,
'contribution_status_id' => 2,
'total_amount' => 50,
'is_pay_later' => 1,
]);
$main_membership = civicrm_api3('Membership', 'create', [
'contact_id' => (int) $contact_a,
'membership_type_id' => 1,
'status_id' => 5,
'skipStatusCal' => 1,
]);
$part_membership = civicrm_api3('Membership', 'create', [
'contact_id' => (int) $contact_b,
'owner_membership_id' => $main_membership['id'],
'membership_type_id' => 1,
'status_id' => 5,
'skipStatusCal' => 1,
]);
$memb_payment = civicrm_api3('MembershipPayment', 'create', [
'membership_id' => (int) $main_membership['id'],
'contribution_id' => (int) $contribution['id'],
]);
```
This seems correct, person A gets a membership & contribution, person B gets a membership related to the membership of person A.
As soon as I process the membership payment via the API the contribution is complete and the membership for person A becomes active, BUT the membership for person B is deleted !?
```
$complete = civicrm_api3('Contribution', 'completetransaction', [
'id' => 9,
'is_email_receipt' => 0
]);
```
I have simplified the operation to only the membership registrations:
```
$contact_a = 2;
$contact_b = 3;
$main_membership = civicrm_api3('Membership', 'create', [
'contact_id' => (int) $contact_a,
'membership_type_id' => 1,
'status_id' => 5,
'skipStatusCal' => 1,
]);
$part_membership = civicrm_api3('Membership', 'create', [
'contact_id' => (int) $contact_b,
'owner_membership_id' => $main_membership['id'],
'membership_type_id' => 1,
'status_id' => 5,
'skipStatusCal' => 1,
]);
```
And if I then set the membership of person A to "New" the membership of person B is deleted !?
```
$new = civicrm_api3('Membership', 'create', [
'id' => 39,
'status_id' => "New",
]);
```
The problem therefore lies somewhere with the update of the membership of person A.
Does anyone have an idea?https://lab.civicrm.org/dev/core/-/issues/3325Using separate donation with free membership result into Pending (incomplete ...2023-11-10T01:45:09ZMonish DebUsing separate donation with free membership result into Pending (incomplete transaction) 0$ contributionSteps to replicate:
1. Create a 0$ fixed membership type
2. Configure a new/existing online contribution page, with separate donation and choose 0$ membership type under `Membership Fee`
3. Do a online contribution with $1 separate dona...Steps to replicate:
1. Create a 0$ fixed membership type
2. Configure a new/existing online contribution page, with separate donation and choose 0$ membership type under `Membership Fee`
3. Do a online contribution with $1 separate donation with 0$ membership
Bug:
Two donation are created, one with Completed 1$ contribution and other `Pending (Incomplete Transaction)` 0$ contribution linked with Pending free membership:
![Screenshot_2021-06-22_at_2.06.49_PM](/uploads/0cbd58fb74d7bc9467613571f70bb74a/Screenshot_2021-06-22_at_2.06.49_PM.png)
Expected result:
Complete 0$ membership's donation associated with `new` free membership
cc @eileen @JoeMurrayMonish DebMonish Debhttps://lab.civicrm.org/dev/core/-/issues/3324Unable to change membership2022-04-22T16:17:12ZedvanleeuwenUnable to change membershipAfter upgrading from 5.36.1 to 5.37.0 I am unable to save a changed membership. When I press Save the update is not carried out and the logo keeps spinning indicating it is still busy.
Drupal Watchdog displays:
> TypeError: Return value...After upgrading from 5.36.1 to 5.37.0 I am unable to save a changed membership. When I press Save the update is not carried out and the logo keeps spinning indicating it is still busy.
Drupal Watchdog displays:
> TypeError: Return value of CRM_Financial_BAO_Order::getFinancialTypeID() must be of the type int, null returned in CRM_Financial_BAO_Order->getFinancialTypeID() (regel 286 van /home/xxx/domains/xxx/public_html/sites/all/modules/civicrm/CRM/Financial/BAO/Order.php).
> Notice: Undefined index: financial_type_id in CRM_Member_Form->setPriceSetParameters() (regel 488 van /home/xxx/domains/xxx/public_html/sites/all/modules/civicrm/CRM/Member/Form.php).
Please help.https://lab.civicrm.org/dev/core/-/issues/3323Membership payments - editing pending payments causes an issue2024-01-02T05:03:27ZgibsonoliverMembership payments - editing pending payments causes an issueIf you add to an existing membership a pending payment (renewal payment). Then edit the amount of that pending payment manually and Save then the membership is renewed with the end date altered. Even though the membership payment is stil...If you add to an existing membership a pending payment (renewal payment). Then edit the amount of that pending payment manually and Save then the membership is renewed with the end date altered. Even though the membership payment is still pending.
Tried and recreated on 2 different systems.https://lab.civicrm.org/dev/core/-/issues/3322[regression] Recurring contributions no longer properly update memberships (o...2022-04-22T16:17:07ZJonGold[regression] Recurring contributions no longer properly update memberships (on PayPal Pro, maybe others)This is a subtle problem, so apologies for a long explanation!
In [this commit](https://github.com/civicrm/civicrm-core/commit/5ed1203902d7bbade9341a8df800c88d33044736), we refactor how we find memberships tied to the contribution.
At ...This is a subtle problem, so apologies for a long explanation!
In [this commit](https://github.com/civicrm/civicrm-core/commit/5ed1203902d7bbade9341a8df800c88d33044736), we refactor how we find memberships tied to the contribution.
At first glance, the refactor seems to make sense: In the old code, we load related membership objects, which populates `$contribution->_relatedObjects['membership']`. Then we iterate through `$contribution->_relatedObjects['membership']`. In the new code, we refactor loading related memberships into its own function, then iterate through the value returned.
However, in at least some cases, `$contribution->_relatedObjects['membership']` *is already populated* with membership objects. The old code picks these up; the new code ignores them.
The refactor assumes that there's a MembershipPayment record with a `contribution_id` that matches the **current** contribution. However, in the case of a recurring membership, the corresponding MembershipPayment record has the `contribution_id` of the **initial** contribution. `CRM_Core_Payment_PayPalProIPN` calls `CRM_Contribute_BAO_Contribution::loadObjects()` *twice* - once for the original contribution in the series, once for the current contribution. So the contents of `$contribution->_relatedObjects['membership']` differ from the results of loading only the *current* contribution's related memberships.
The result is that related memberships are no longer updated in an auto-renew scenario.
Steps to replicate would be tough, but would go something like this:
* Create an auto-renewing membership (using PayPal Pro, though I imagine other processors do something similar).
* When the second contribution comes in, observe that the membership end date is not updated.https://lab.civicrm.org/dev/core/-/issues/3321[Deprecation] Synchronous XMLHttpRequest on the main thread is2024-01-02T05:03:26Zdanultimate[Deprecation] Synchronous XMLHttpRequest on the main thread isGetting this error while trying to update a membership record.
is this related to a similar issue with the stripe extension?
![Screenshot_2021-08-27_at_10.47.49](/uploads/dc00af24c9214a5035a7c2b1cd56e445/Screenshot_2021-08-27_at_10.47....Getting this error while trying to update a membership record.
is this related to a similar issue with the stripe extension?
![Screenshot_2021-08-27_at_10.47.49](/uploads/dc00af24c9214a5035a7c2b1cd56e445/Screenshot_2021-08-27_at_10.47.49.png)
I'm using:
WordPress: 5.8
CiviCRM: 3.39.0https://lab.civicrm.org/dev/core/-/issues/3320Admin Membership type is displayed on Public contribution page.2022-04-22T16:17:02ZjitendraAdmin Membership type is displayed on Public contribution page.When visibility of membership type is updated to `Admin`, it is still displayed on front-end contribution pages. Steps to replicate -
- Create a membership type.
- Add it to a contribution page.
- Set visibility of the type to `Admin`.
...When visibility of membership type is updated to `Admin`, it is still displayed on front-end contribution pages. Steps to replicate -
- Create a membership type.
- Add it to a contribution page.
- Set visibility of the type to `Admin`.
- Navigate to contribution page - the membership type is still displayed on the page.jitendrajitendrahttps://lab.civicrm.org/dev/core/-/issues/3319Creating a relationship fails when a related membership has a contact referen...2022-04-22T16:17:01ZjaapjansmaCreating a relationship fails when a related membership has a contact reference custom field.**How to reproduce?**
1. Create a new membership type. Set **Relationship type** to Employer of
2. Create a custom field set for this membership type
3. Add a custom field of type Contact Reference
4. Create a new organization
5. Add th...**How to reproduce?**
1. Create a new membership type. Set **Relationship type** to Employer of
2. Create a custom field set for this membership type
3. Add a custom field of type Contact Reference
4. Create a new organization
5. Add the membership and fill in a value at the custom field
6. Now add a **Employer of** relationship between this organization and an Individual, press save
**Expected results**
Relationship gets saved and a related membership is created with the correct value for the custom field
**Actual results**
No relationship is created, no error is shown, the civicrm logo stays on the screen turning around.
Also when refreshing the page an error popups with something: **custom_xx is not a valid integer**
**Extra information**
When debuging this issue I disovered that a `Membership.get` api is used. And those values are passed to a `Membership.create` api call. The paramaters for the custom field have the format of `custom_xx = 'Joe'` and `custom_xx_id = 202`5.39.0jaapjansmajaapjansmahttps://lab.civicrm.org/dev/core/-/issues/3318CiviMember new priceset syntax error2023-12-31T05:03:29Zchris.hCiviMember new priceset syntax errorCiviMember New Priceset page (/admin/price&reset=1&action=add) shows a error (DB Error:snytax error)
Site Info
- CiviCRM 5.24.4
- Drupal 7
- PHP 7.2
- MySQL 5.7.29
- Ubuntu 18.04 LTSCiviMember New Priceset page (/admin/price&reset=1&action=add) shows a error (DB Error:snytax error)
Site Info
- CiviCRM 5.24.4
- Drupal 7
- PHP 7.2
- MySQL 5.7.29
- Ubuntu 18.04 LTShttps://lab.civicrm.org/dev/core/-/issues/3317Renewal changes membership start date2022-04-22T16:16:58ZedvanleeuwenRenewal changes membership start dateWhen I renew a membership, the start date is now set to the first date of the membership period. According to the documentation it should not change:
> If the renewal is processed when the membership status is one that has a Yes in the m...When I renew a membership, the start date is now set to the first date of the membership period. According to the documentation it should not change:
> If the renewal is processed when the membership status is one that has a Yes in the member column on Administer > CiviMember > Membership Status Rules then the Start date does not change and the end date is extended by the duration of the renewal.
![image](/uploads/d600b126d469a36aff6d9b1a7545c01c/image.png)https://lab.civicrm.org/dev/core/-/issues/3316[regression] can't create recurring memberships from membership tab w/ credit...2022-04-22T16:16:57ZJonGold[regression] can't create recurring memberships from membership tab w/ credit card### To replicate
* Create a new recurring membership via the "Submit Credit Card Membership" button on the membership tab.
When you do so, the Contribution and ContributionRecur will be created, but the membership will fail to be create...### To replicate
* Create a new recurring membership via the "Submit Credit Card Membership" button on the membership tab.
When you do so, the Contribution and ContributionRecur will be created, but the membership will fail to be created.
This happens on 5.17.0 to 5.17.4. It does NOT happen on 5.16.4. It appears to be related to [PR 14887](https://github.com/civicrm/civicrm-core/pull/14887). I'm executing [this block of code](https://github.com/civicrm/civicrm-core/blob/82ce7f0bcf49d3ee47f158024c124cce0872beba/CRM/Member/BAO/Membership.php#L379-L396) which means that my `$ids['contribution']` is empty.
Backtrace:
```
Sep 19 15:43:13 [info] $Fatal Error Details = Array
(
[callback] => Array
(
[0] => CRM_Core_Error
[1] => handle
)
[code] => -5
[message] => DB Error: already exists
[mode] => 16
[debug_info] => INSERT INTO civicrm_line_item (entity_table , entity_id , contribution_id , price_field_id , label , qty , unit_price , line_total , price_field_value_id , financial_type_id ) VALUES ('civicrm_membership' , 49212 , 68001 , 2 , 'Under $5,000 (monthly recurring)' , 1 , 1 , 1 , 12 , 7 ) [nativecode=1062 ** Duplicate entry 'civicrm_membership-49212-68001-12-2' for key 'UI_line_item_value']
[type] => DB_Error
[user_info] => INSERT INTO civicrm_line_item (entity_table , entity_id , contribution_id , price_field_id , label , qty , unit_price , line_total , price_field_value_id , financial_type_id ) VALUES ('civicrm_membership' , 49212 , 68001 , 2 , 'Under $5,000 (monthly recurring)' , 1 , 1 , 1 , 12 , 7 ) [nativecode=1062 ** Duplicate entry 'civicrm_membership-49212-68001-12-2' for key 'UI_line_item_value']
[to_string] => [db_error: message="DB Error: already exists" code=-5 mode=callback callback=CRM_Core_Error::handle prefix="" info="INSERT INTO civicrm_line_item (entity_table , entity_id , contribution_id , price_field_id , label , qty , unit_price , line_total , price_field_value_id , financial_type_id ) VALUES ('civicrm_membership' , 49212 , 68001 , 2 , 'Under $5,000 (monthly recurring)' , 1 , 1 , 1 , 12 , 7 ) [nativecode=1062 ** Duplicate entry 'civicrm_membership-49212-68001-12-2' for key 'UI_line_item_value']"]
)
Sep 19 15:43:13 [info] $backTrace = #0 /var/www/mysite.org/wp-content/plugins/civicrm/civicrm/CRM/Core/Error.php(236): CRM_Core_Error::backtrace("backTrace", TRUE)
#1 /var/www/mysite.org/wp-content/plugins/civicrm/civicrm/packages/PEAR.php(921): CRM_Core_Error::handle(Object(DB_Error))
#2 /var/www/mysite.org/wp-content/plugins/civicrm/civicrm/packages/DB.php(987): PEAR_Error->__construct("DB Error: already exists", -5, 16, (Array:2), "INSERT INTO civicrm_line_item (entity_table , entity_id , contribution_id , p...")
#3 /var/www/mysite.org/wp-content/plugins/civicrm/civicrm/packages/PEAR.php(575): DB_Error->__construct(-5, 16, (Array:2), "INSERT INTO civicrm_line_item (entity_table , entity_id , contribution_id , p...")
#4 /var/www/mysite.org/wp-content/plugins/civicrm/civicrm/packages/PEAR.php(223): PEAR->_raiseError(Object(DB_mysqli), NULL, -5, 16, (Array:2), "INSERT INTO civicrm_line_item (entity_table , entity_id , contribution_id , p...", "DB_Error", TRUE)
#5 /var/www/mysite.org/wp-content/plugins/civicrm/civicrm/packages/DB/common.php(1920): PEAR->__call("raiseError", (Array:7))
#6 /var/www/mysite.org/wp-content/plugins/civicrm/civicrm/packages/DB/mysqli.php(933): DB_common->raiseError(-5, NULL, NULL, "INSERT INTO civicrm_line_item (entity_table , entity_id , contribution_id , p...", "1062 ** Duplicate entry 'civicrm_membership-49212-68001-12-2' for key 'UI_lin...")
#7 /var/www/mysite.org/wp-content/plugins/civicrm/civicrm/packages/DB/mysqli.php(403): DB_mysqli->mysqliRaiseError()
#8 /var/www/mysite.org/wp-content/plugins/civicrm/civicrm/packages/DB/common.php(1229): DB_mysqli->simpleQuery("INSERT INTO civicrm_line_item (entity_table , entity_id , contribution_id , p...")
#9 /var/www/mysite.org/wp-content/plugins/civicrm/civicrm/packages/DB/DataObject.php(2415): DB_common->query("INSERT INTO civicrm_line_item (entity_table , entity_id , contribution_id , p...")
#10 /var/www/mysite.org/wp-content/plugins/civicrm/civicrm/packages/DB/DataObject.php(1040): DB_DataObject->_query("INSERT INTO civicrm_line_item (entity_table , entity_id , contribution_id , p...")
#11 /var/www/mysite.org/wp-content/plugins/civicrm/civicrm/CRM/Core/DAO.php(572): DB_DataObject->insert()
#12 /var/www/mysite.org/wp-content/plugins/civicrm/civicrm/CRM/Price/BAO/LineItem.php(86): CRM_Core_DAO->save()
#13 /var/www/mysite.org/wp-content/plugins/civicrm/civicrm/CRM/Price/BAO/LineItem.php(471): CRM_Price_BAO_LineItem::create((Array:11))
#14 /var/www/mysite.org/wp-content/plugins/civicrm/civicrm/CRM/Member/BAO/Membership.php(400): CRM_Price_BAO_LineItem::processPriceSet(49212, (Array:1), Object(CRM_Contribute_BAO_Contribution))
#15 /var/www/mysite.org/wp-content/plugins/civicrm/civicrm/CRM/Member/Form/Membership.php(1526): CRM_Member_BAO_Membership::create((Array:43), (Array:1))
#16 /var/www/mysite.org/wp-content/plugins/civicrm/civicrm/CRM/Member/Form/Membership.php(927): CRM_Member_Form_Membership->submit()
#17 /var/www/mysite.org/wp-content/plugins/civicrm/civicrm/CRM/Core/Form.php(495): CRM_Member_Form_Membership->postProcess()
#18 /var/www/mysite.org/wp-content/plugins/civicrm/civicrm/CRM/Core/QuickForm/Action/Upload.php(169): CRM_Core_Form->mainProcess()
#19 /var/www/mysite.org/wp-content/plugins/civicrm/civicrm/CRM/Core/QuickForm/Action/Upload.php(136): CRM_Core_QuickForm_Action_Upload->realPerform(Object(CRM_Member_Form_Membership), "upload")
#20 /var/www/mysite.org/wp-content/plugins/civicrm/civicrm/packages/HTML/QuickForm/Controller.php(203): CRM_Core_QuickForm_Action_Upload->perform(Object(CRM_Member_Form_Membership), "upload")
#21 /var/www/mysite.org/wp-content/plugins/civicrm/civicrm/packages/HTML/QuickForm/Page.php(103): HTML_QuickForm_Controller->handle(Object(CRM_Member_Form_Membership), "upload")
#22 /var/www/mysite.org/wp-content/plugins/civicrm/civicrm/CRM/Core/Controller.php(351): HTML_QuickForm_Page->handle("upload")
#23 /var/www/mysite.org/wp-content/plugins/civicrm/civicrm/CRM/Member/Page/Tab.php(301): CRM_Core_Controller->run()
#24 /var/www/mysite.org/wp-content/plugins/civicrm/civicrm/CRM/Member/Page/Tab.php(374): CRM_Member_Page_Tab->edit()
#25 /var/www/mysite.org/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(290): CRM_Member_Page_Tab->run((Array:4), NULL)
#26 /var/www/mysite.org/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(84): CRM_Core_Invoke::runItem((Array:14))
#27 /var/www/mysite.org/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(52): CRM_Core_Invoke::_invoke((Array:4))
#28 /var/www/mysite.org/wp-content/plugins/civicrm/civicrm.php(1436): CRM_Core_Invoke::invoke((Array:4))
#29 /var/www/mysite.org/wp-includes/class-wp-hook.php(286): CiviCRM_For_WordPress->invoke("")
#30 /var/www/mysite.org/wp-includes/class-wp-hook.php(310): WP_Hook->apply_filters("", (Array:1))
#31 /var/www/mysite.org/wp-includes/plugin.php(465): WP_Hook->do_action((Array:1))
#32 /var/www/mysite.org/wp-admin/admin.php(253): do_action("toplevel_page_CiviCRM")
#33 {main}
```https://lab.civicrm.org/dev/core/-/issues/3315Extend api action 'calc' of 'membership_status' with custom date2023-12-31T05:03:29ZwdecraeneExtend api action 'calc' of 'membership_status' with custom dateAt this moment `civicrm_api3_membership_status_calc` only accepts the parameter `membership_id`. The function `CRM_Member_BAO_MembershipStatus::getMembershipStatusByDate` used for calculation gets 'today' as hardcoded param.
Patch attac...At this moment `civicrm_api3_membership_status_calc` only accepts the parameter `membership_id`. The function `CRM_Member_BAO_MembershipStatus::getMembershipStatusByDate` used for calculation gets 'today' as hardcoded param.
Patch attached extends this call with an optional status_date.
[membership_status_calc_optional_status_date.patch](/uploads/09d82a96caec87fc4e2388fb85d421c4/membership_status_calc_optional_status_date.patch)