Development issueshttps://lab.civicrm.org/groups/dev/-/issues2024-01-03T05:03:25Zhttps://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/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)https://lab.civicrm.org/dev/core/-/issues/3312A Contact with a Pending membership cannot be merged with another Contact due...2022-04-22T16:16:45Zjustinfreeman (Agileware)A Contact with a Pending membership cannot be merged with another Contact due to missing membership End DateA Contact with a Pending membership cannot be merged with another Contact due to missing membership End Date.
The membership End Date is not set on a pending membership.
The sequence of events is:
1. Contact signs up for new membership
...A Contact with a Pending membership cannot be merged with another Contact due to missing membership End Date.
The membership End Date is not set on a pending membership.
The sequence of events is:
1. Contact signs up for new membership
1. Contact already exists in CiviCRM (as a non-member) - or is similar contact
1. CiviCRM Admin tries to merge the two Contacts
1. The generic: DB Error: unknown error is then raised
Copy of error from CiviCRM logs.
```
Dec 06 12:32:20 [info] $Fatal Error Details = Array
(
[callback] => Array
(
[0] => CRM_Core_Error
[1] => handle
)
[code] => -1
[message] => DB Error: unknown error
[mode] => 16
[debug_info] => UPDATE civicrm_membership SET end_date = '' WHERE id=281 [nativecode=1292 ** Incorrect date value: '' for column 'end_date' at row 1]
[type] => DB_Error
[user_info] => UPDATE civicrm_membership SET end_date = '' WHERE id=281 [nativecode=1292 ** Incorrect date value: '' for column 'end_date' at row 1]
[to_string] => [db_error: message="DB Error: unknown error" code=-1 mode=callback callback=CRM_Core_Error::handle prefix="" info="UPDATE civicrm_membership SET end_date = '' WHERE id=281 [nativecode=12
92 ** Incorrect date value: '' for column 'end_date' at row 1]"]
)
```
Agileware Ref: CIVICRM-1122https://lab.civicrm.org/dev/core/-/issues/3310Manually setting premium causes price mismatch2022-04-22T16:16:34ZsudomanManually setting premium causes price mismatchOn CiviCRM 5.24.3, when editing a contribution to add a premium, the minimum required prices for premiums at the middle and bottom of the drop down list are incorrect, and belong with other premiums. The last two have missing premium pri...On CiviCRM 5.24.3, when editing a contribution to add a premium, the minimum required prices for premiums at the middle and bottom of the drop down list are incorrect, and belong with other premiums. The last two have missing premium price entries.
This matters, because CiviCRM limits which premiums can be applied to a transaction in the admin interface, based on the minimum premium price.
I experimented with removing the '+' symbol from two premiums, but that did not resolve the issue.
Thanks! : )https://lab.civicrm.org/dev/core/-/issues/3309Deleting memberships does not delete its related line item.2023-12-30T05:03:26ZjitendraDeleting memberships does not delete its related line item.To replicate -
- Create a membership.
- A new row is inserted in civicrm_line_item.
- Delete the membership from civicrm.
- The line item row remains as it is and is never removed from the database.
@eileen @JoeMurray @monish.deb Do w...To replicate -
- Create a membership.
- A new row is inserted in civicrm_line_item.
- Delete the membership from civicrm.
- The line item row remains as it is and is never removed from the database.
@eileen @JoeMurray @monish.deb Do we really need this information in the table?jitendrajitendrahttps://lab.civicrm.org/dev/core/-/issues/3308Membership end date is miscalculated on recurring payments that fail temporarily2023-12-29T05:42:34ZJonGoldMembership end date is miscalculated on recurring payments that fail temporarilyMembership organizations hate this one weird trick to get 17% off any membership!
To replicate:
* Create a monthly recurring membership using, say, Paypal. E.g. starting 2020-03-01, ending 2020-03-31.
* If the second recurring payment ...Membership organizations hate this one weird trick to get 17% off any membership!
To replicate:
* Create a monthly recurring membership using, say, Paypal. E.g. starting 2020-03-01, ending 2020-03-31.
* If the second recurring payment goes through on time, the membership end date is extended properly to 2020-04-30. However, if the payment fails, Paypal will retry 5 days later. If it goes through at that time, the membership end date will also be extended for 5 days.https://lab.civicrm.org/dev/core/-/issues/3307Membership by Relationship not created when Current Employer field is updated2023-05-18T23:24:43ZalanpuccinelliMembership by Relationship not created when Current Employer field is updatedIt used to be that when a Current Employer was added to a profile it would automatically build the Relationship AND any Related membership. It now only seems to do the Relationship and you have to edit and re-save the profile and then th...It used to be that when a Current Employer was added to a profile it would automatically build the Relationship AND any Related membership. It now only seems to do the Relationship and you have to edit and re-save the profile and then the Membership will add.https://lab.civicrm.org/dev/core/-/issues/3306Expired Membership Renewal Payment w/ Multiple Periods renews incorrectly wit...2023-12-29T05:03:21ZjptillmanExpired Membership Renewal Payment w/ Multiple Periods renews incorrectly with pending paymentI've got what seems like a membership renewal bug with latest Civi (5.29.1) / Drupal 8.
Repro:
* Have a member whose membership expired last year
* Choose to administratively "renew" them for 2 periods (using the optional period entry...I've got what seems like a membership renewal bug with latest Civi (5.29.1) / Drupal 8.
Repro:
* Have a member whose membership expired last year
* Choose to administratively "renew" them for 2 periods (using the optional period entry in the renewal form)
* Make the payment "Pending" and save. The fees are calculated correctly and the contribution is created as Pending.
* Go to the payment and "Receive payment"
* The membership only rolls forward one period when the contribution is finally completed.
Alternatively, if I make the payment "Complete" when filling out the renewal form (no pending payment), it works fine and rolls the membership forward 2 periods.https://lab.civicrm.org/dev/core/-/issues/3305Allow overriding membership status temporarily until specific date2022-04-22T16:16:26Zomar_compucorpAllow overriding membership status temporarily until specific date## Overview
Improving membership status override to provide extra options to allow temporary status override.
## Details
Instead of having a checkbox called (Override Status?) in membership add/edit/renew form, it will be replaced wi...## Overview
Improving membership status override to provide extra options to allow temporary status override.
## Details
Instead of having a checkbox called (Override Status?) in membership add/edit/renew form, it will be replaced with a select box that allow the user to choose one of three options :
1- No
2- Override Permanently
3- Override until selected date
- If the first option is selected, then the membership will behave as if the old (Override Status?) is **unchecked**, which means that the membership is subject to membership status rules.
- If the 2nd option is selected, then the membership will behave as if the old (Override Status?) is **checked**, which mean that the membership status is overridden and is not subject to the membership statues rules.
- If the 3rd option is selected, then a new field will appear allowing the user to choose a date, in this status, the membership will behave similar to option 2, but when today date is equal or less than the selected date, then the "Update Membership Statuses" scheduled job will automatically convert its status back to **No**, which means that the membership status is overridden temporarily only for the selected date and after that it will revert back and be subject to membership status rules
## Mocks
![Screen_Shot_2018-01-12_at_18.09.22__1_](/uploads/17bbabdc32947f63399d37e9af7652e6/Screen_Shot_2018-01-12_at_18.09.22__1_.png)
## Most notable Technical Details :
civicrm_memebership.is_override field is removed, and two alternative fields are added, once is called status_override_type (DEFAULT 0) , and the other is status_override_end_date (DEFAULT NULL).
status_override_type may contain 0 (means no override), 1 (means override Permanently) or 3 (means Override until selected date), where status_override_end_date will contain the override end date in case the status override type is 3 (override until selected date).https://lab.civicrm.org/dev/core/-/issues/3304Update multiple membership doesn't set is_override2023-12-19T05:24:51ZDetlev SieberUpdate multiple membership doesn't set is_overrideMembership status rules can be set as "Administrator Only". By doing this, status won't be changed by the process_membership scheduled job anymore, but can only be changed with the is_override option by an administrator. This makes sense...Membership status rules can be set as "Administrator Only". By doing this, status won't be changed by the process_membership scheduled job anymore, but can only be changed with the is_override option by an administrator. This makes sense e.g. for a custom status as "expelled" or "excluded". When I want to change the membership status to "excluded", I have to use the is_override option, and the field is_override in civicrm_membership is set to "1".
However, when I update several memberships at once with the action "Update multiple memberships" (via profile) to "excluded", the status is changed correctly. But is_override isn't changed, so that with the next run of the scheduled job "process_membership", the status will be updated again according to the status rules - which is not what we want!
Instead, when changing a membership status which is marked "Administrator Only", the field "is_override" should be set automatically - the same way it would be done when I change 1 membership manually.https://lab.civicrm.org/dev/core/-/issues/3303Front End Event Registration Form - Drop Down Select List Labels not accessible2023-12-28T05:03:24ZndavisFront End Event Registration Form - Drop Down Select List Labels not accessibleOn front end registration forms, when using screen reader software (JAWS etc) When tabbing from a text field into a drop down select list field, the screen reader reads the selected data, not the field label, the way it does with other f...On front end registration forms, when using screen reader software (JAWS etc) When tabbing from a text field into a drop down select list field, the screen reader reads the selected data, not the field label, the way it does with other field types. This is broken. It should read the field label for drop down lists like it does with other field types. The user knows what is selected when they click it and it's read.
To fix this issue, change the aria-labelledby attribute of the s2id_autogen1 id'd input html element from select2-chosen-1 to s2id_autogen1
Code Example for the credit card form at https://demo.circle-interactive.co.uk/civicrm/event/register?id=1&reset=1:
`<label for="s2id_autogen1" class="select2-offscreen">Country</label>
<input class="select2-focusser select2-offscreen" type="text" aria-haspopup="true" role="button" aria-labelledby="select2-chosen-1" id="s2id_autogen1">`
**aria-labelledby="select2-chosen-1"**
needs to be changed to
`<label for="s2id_autogen1" class="select2-offscreen">Country</label>
<input class="select2-focusser select2-offscreen" type="text" aria-haspopup="true" role="button" aria-labelledby="s2id_autogen1" id="s2id_autogen1">`
**aria-labelledby="s2id_autogen1"**
This change can be extrapolated to state list drop downs (indeed any drop-downs)
For blind users this causes confusion because they don't know what field they're on if they're in a state/province named after the country and it works differently than the rest of the field types.
Changing this in the html source using developer tools of firefox or chrome fixes issue until page is refreshed.
I tried to figure out where this is happening but the javascript spaghetti is very confusing. If anyone can point me to the right file I'll patch it.
thx,
Neil P Davis
Developer
National Federation of the Blind