Development issueshttps://lab.civicrm.org/groups/dev/-/issues2023-09-19T14:02:11Zhttps://lab.civicrm.org/dev/core/-/issues/4551Single quote in "public" event page title throws smarty error on receipt2023-09-19T14:02:11ZelilisseckSingle quote in "public" event page title throws smarty error on receiptOverview
----------------------------------------
Reproduced on a blank 5.64.2 buildkit site. If a contribution page has a single quote in the title, is set to "is_share", and has receipts on, a user registering will receive this gross m...Overview
----------------------------------------
Reproduced on a blank 5.64.2 buildkit site. If a contribution page has a single quote in the title, is set to "is_share", and has receipts on, a user registering will receive this gross message during the registration process:
![image](/uploads/e105ff57ae8d9ea64bf4d30b81f08b35/image.png)
Reproduction steps
----------------------------------------
1. On 5.64.0+ add (or edit) an event page to have a single quote in the page title such as `What's a quote doing here`
2. Check off "is_share" and turn on receipt emails.
3. Run through a registration on the front-end to observe the issue.
Comments
----------------------------------------
It looks like maybe this commit introduced this but it's hard to follow: https://github.com/civicrm/civicrm-core/commit/e90b263a9ccd7c8106c98f5f7f82d4b267820f43#diff-2652c5ed241e0c2a68dc79d97ce2b6056ad2bc8ce37aee9bce8dd69678a160a8L167
Either way the issue is coming from this line in the workflow message template `{include file="CRM/common/SocialNetwork.tpl" emailMode=true url=$eventUrl title=$event.title pageURL=$eventUrl}` where the event title needs to have single quotes escaped or something of that nature to make it through smarty.5.65.0https://lab.civicrm.org/dev/core/-/issues/4550Crash when using Event repeat tab2023-09-06T00:33:15ZDaveDCrash when using Event repeat tab1. Create an event.
2. On the repeat tab choose something and save. I chose every 1 months on first tuesday for 6 times.
3. `INSERT INTO civicrm_action_schedule (entity_value , entity_status , start_action_offset , start_action_date , re...1. Create an event.
2. On the repeat tab choose something and save. I chose every 1 months on first tuesday for 6 times.
3. `INSERT INTO civicrm_action_schedule (entity_value , entity_status , start_action_offset , start_action_date , repetition_frequency_unit , repetition_frequency_interval , used_for ) VALUES ('7' , 'first tuesday' , 5 , '20230905000000' , 'month' , 1 , 'civicrm_event' ) [nativecode=1364 ** Field 'name' doesn't have a default value]`
I think there were some recent changes with action schedules but not 100% sure yet that it's recent.5.66.0https://lab.civicrm.org/dev/financial/-/issues/217Proposal: Remove Transaction ID from message templates2023-11-23T07:28:45ZlarsssandergreenProposal: Remove Transaction ID from message templatesSix message templates (event online and offline, contribution online and offline, membership and payment/refund) include Transaction #. I don't think this is useful information for the recipient, as it is just a long string of characters...Six message templates (event online and offline, contribution online and offline, membership and payment/refund) include Transaction #. I don't think this is useful information for the recipient, as it is just a long string of characters. So my proposal is to remove it, to simplify the templates and only send pertinent information to the recipient.
The only potential use I can think of would be in some edge case where perhaps you can't find a contribution for some reason and you could in that case search by transaction ID, but that seems rare and easily covered by having the exact time, amount, etc. If we did want to have something for that purpose, contribution ID would make a lot more sense, but I don't think we need either. Has anyone ever used the transaction ID from a receipt for any purpose?https://lab.civicrm.org/dev/core/-/issues/4549Proposal: Remove Transaction ID from message templates2023-09-05T03:28:22ZlarsssandergreenProposal: Remove Transaction ID from message templatesSix message templates (event online and offline, contribution online and offline, membership and payment/refund) include Transaction #. I don't think this is useful information for the recipient, as it is just a long string of characters...Six message templates (event online and offline, contribution online and offline, membership and payment/refund) include Transaction #. I don't think this is useful information for the recipient, as it is just a long string of characters. So my proposal is to remove it, to simplify the templates and only send pertinent information to the recipient.
The only potential use I can think of would be in some edge case where perhaps you can't find a contribution for some reason and you could in that case search by transaction ID, but that seems rare and easily covered by having the exact time, amount, etc. If we did want to have something for that purpose, contribution ID would make a lot more sense, but I don't think we need either. Has anyone ever used the transaction ID from a receipt for any purpose?https://lab.civicrm.org/dev/core/-/issues/4548SearchKit: Totals just keep loading forever2023-09-03T18:50:15ZlarsssandergreenSearchKit: Totals just keep loading foreverTo reproduce: Create any SearchKit search, then add a SearchDisplay and select Show Totals in Footer. When you view the display, the totals will just keep loading forever (even if there aren't any totals to load).
This is a regression i...To reproduce: Create any SearchKit search, then add a SearchDisplay and select Show Totals in Footer. When you view the display, the totals will just keep loading forever (even if there aren't any totals to load).
This is a regression in 5.65 due to [#26794](https://github.com/civicrm/civicrm-core/pull/26794), this [commit](https://github.com/civicrm/civicrm-core/commit/ef1cbd865976e4e34905d0a178b8d03373c90766). I don't see anything obvious in there on a quick look through, so I'll leave this one to you, @colemanw.https://lab.civicrm.org/dev/core/-/issues/4547SearchKit: Edit in place for display name should be possible2023-09-03T00:16:46ZlarsssandergreenSearchKit: Edit in place for display name should be possibleIf you have a contact id in a SK display, enabling edit in place will show an autocomplete with contact names when clicked, but the field will show the contact id before clicking, which is confusing UI. On the other hand, a display name ...If you have a contact id in a SK display, enabling edit in place will show an autocomplete with contact names when clicked, but the field will show the contact id before clicking, which is confusing UI. On the other hand, a display name field shows the contact name as desired, but doesn't allow editing. So if you want to have an edit in place and show the contact name, you need both a contact id field and a display name field, which is confusing for the end user.
![image](/uploads/76c8542e1f32afac6074e817252e87ba/image.png)
Why should I click on the random integer on the right to edit the contact, instead of the name on the left?
Could we either make it possible to edit in place on the display name or make it possible to show the display name for the contact id field? Or maybe change the contact id field so it shows the display name by default, rename it to just contact, and add a separate field just for showing the contact id (which is probably a fairly rare need)?https://lab.civicrm.org/dev/core/-/issues/4546SearchKit: Activity Contact Display and Sort Names don't show up2023-09-02T15:31:27ZlarsssandergreenSearchKit: Activity Contact Display and Sort Names don't show upIf you create a new SearchKit search for Activities and add fields `Added by Display Name`, `With Contacts Display Name` and ` Assigned to Display Name`, you'll see that these fields are always blank. Same for `Added by Sort Name` and so...If you create a new SearchKit search for Activities and add fields `Added by Display Name`, `With Contacts Display Name` and ` Assigned to Display Name`, you'll see that these fields are always blank. Same for `Added by Sort Name` and so on.
I think these were added fairly recently, but I suspect that was part of something more general and they never worked.
Adding the display name by adding a with Activity Contact works.https://lab.civicrm.org/dev/core/-/issues/4545Events - Self service and change options after initial registration2023-09-06T13:20:42ZtreseroEvents - Self service and change options after initial registrationThis is a common scenario, and I'm not sure why CiviEvents doesn't support it.
Scenario 1: Joe signs up for a multi-day event and pays for the registration. A month later, the event organizers add a golf tournament fundraiser option, Jo...This is a common scenario, and I'm not sure why CiviEvents doesn't support it.
Scenario 1: Joe signs up for a multi-day event and pays for the registration. A month later, the event organizers add a golf tournament fundraiser option, Joe wants to add this to his registration.
Scenario 2: Joe now realizes that he wants to add his wife.
Scenario 3: Joe's friend Jeff wants to go, and also play golf.
You get the idea.
As Events is now, there is no way to adjust your registration and it has to be done manually. That is not an option for 700 - 800 registrations run by all volunteers (i.e. we don't have any paid staff). Another issue is we can't make the payment required as it would have to be paid when there is a "new" change. Making it optional, well, you can see the problem.
My thinking would be to look up email, or something and populate the form etc. We already require them to create a wordpress account so that could also be used. It's just not there.
Also, we have 25,000+ constituents that were imported from a legacy system. They don't have any accounts, but it would be nice if there were a way to match emails (where possible, I know not all have updated/current emails), but this is a less important scenario.
I have coding skills, but as we are all volunteers, I don't have much time. There is some money to budget for a developer. All code will be added back to the public.
![image.png](/uploads/9e7d2100f9b61ee6b871d0467d58338d/image.png)
As you can see, this is an example. Of course, none is not an option. but if we added other additions, or they want to add another person, it has to be manually done.https://lab.civicrm.org/dev/core/-/issues/4544Older sites missing index for `is_deceased` on `civicrm_contact`2023-09-06T13:56:12ZwmortadaOlder sites missing index for `is_deceased` on `civicrm_contact`This is a follow up from Eileen's comment about a missing index in https://lab.civicrm.org/dev/core/-/issues/4539#note_150479.
The index for `is_deceased` was added in CiviCRM 4.7 and is defined in [xml/schema/Contact/Contact.xml](https...This is a follow up from Eileen's comment about a missing index in https://lab.civicrm.org/dev/core/-/issues/4539#note_150479.
The index for `is_deceased` was added in CiviCRM 4.7 and is defined in [xml/schema/Contact/Contact.xml](https://github.com/civicrm/civicrm-core/blob/f068222ac25a5a393e9238b617ae91a4d9d29797/xml/schema/Contact/Contact.xml#L722-L726). However, there doesn't appear to be an upgrade task to add this index to existing sites. As a result any site installed before CiviCRM 4.7 is likely to be missing this index. Checking our client sites, I can see a mix of sites that do and don't have it.
The MR where this index was added is: https://github.com/civicrm/civicrm-core/pull/10489
There was a question from Tim about whether there should be an upgrader. There was a later comment from Eileen about whether this index should be removed.
So I guess the question is whether we want this index or not:
- if we **do** want this index we should add an upgrade task so that older sites have this index
- if we **don't** want this index we should add an upgrade task to remove it from sites that have ithttps://lab.civicrm.org/dev/core/-/issues/4543SearchKit: Edit in place fields are duplicated when editing2023-09-06T01:46:06ZlarsssandergreenSearchKit: Edit in place fields are duplicated when editing![image](/uploads/4629e77383b65f5f7e6affa44de68c3f/image.png)
Not just duplicated, but underneath the buttons, which looks odd. Looks like this was found in [testing for the PR](https://github.com/civicrm/civicrm-core/pull/26473), but I...![image](/uploads/4629e77383b65f5f7e6affa44de68c3f/image.png)
Not just duplicated, but underneath the buttons, which looks odd. Looks like this was found in [testing for the PR](https://github.com/civicrm/civicrm-core/pull/26473), but I'm going to log it here as it looks pretty broken from a user perspective.
Is it a regression? I think so, since this didn't use to happen.https://lab.civicrm.org/dev/core/-/issues/4542ACLs' priority sometimes does the opposite of what it says it does2023-09-13T05:50:38ZRichACLs' priority sometimes does the opposite of what it says it doesWhen you're editing an ACL the **priority** field says:
> Higher priority ACL rules will override lower priority rules
![image](/uploads/445064fd12b8757ab42f221708abf3f1/image.png)
It appears that the relevant code is at [civicrm/CRM/...When you're editing an ACL the **priority** field says:
> Higher priority ACL rules will override lower priority rules
![image](/uploads/445064fd12b8757ab42f221708abf3f1/image.png)
It appears that the relevant code is at [civicrm/CRM/ACL/BAO/ACL::loadPermittedIDs()](https://github.com/civicrm/civicrm-core/blob/804dc3e1707f7d2baf0747016ca32370c8652e54/CRM/ACL/BAO/ACL.php#L459)
and this code orders by Priority ascending.
1. If the ACL grants(or denies) access to a *particular* group(/object) then it processes every ACL in turn, meaning, it works as described because the last one will have the last say; higher priority means higher priority.
2. But if it grants(or denies) access to *all* groups(/objects) then it **stops at the first one**, with a `break`. So the **lower priority** takes it.
So for rules that refer to "all" groups(/other entities), priority is reversed(!)
I'm not sure about the code in that loop
- if it's an Allow all groups(/objects) rule for the current permission type (Edit/View), then we do an odd loop to append the keys of allGroups to ids which seems odd: why not do `$ids = array_keys($allGroups);` and save on duplicates/time/code?
- if it's a Deny all groups(/objects) rule, then there's an `array_diff()` but if you remove *all* then surely that's just clearer as `$ids = [];`?
- Finally, if it's an ACL that affects *all* groups(/objects) but the *first* ACL doesn't match on permission type (e.g. we're looking for Edit perm and the first one found grants View), then there's a `break`. **This is the cause of the priority reversal**, but it also 'breaks' :laughing: other potential configurations. e.g.
- there's no point in having 2 rules about 'all' groups(/objects) - e.g. one for edit and one for view - the one with the lowest priority prevents Civi ever considering the 2nd. If that's because edit also grants view (does it?) then we ought to stop people making such rules in the UI.
- rules like: Grant edit to all groups, followed (higher priority) by a deny group X won't be honoured.
I *think* the correct thing to do here is just get rid of that `break`.
PIng @seamuslee who authored a recent [relevant commit](https://github.com/civicrm/civicrm-core/commit/b2f5462a066fa7dd36dc9281cb24af097391327a)5.66.0seamusleeseamusleehttps://lab.civicrm.org/dev/core/-/issues/4541Membership renewal on Feb 29 of a leap year is calculated incorrectly2023-08-29T19:23:09ZlarsssandergreenMembership renewal on Feb 29 of a leap year is calculated incorrectlyOr it doesn't match what the test expects, anyways.
Basically, the [membership renewal here](https://github.com/civicrm/civicrm-core/blob/bb49a5de4a1630e57e91e3618c370bc075a793b5/CRM/Member/BAO/MembershipType.php#L524) in CRM_Member_BAO...Or it doesn't match what the test expects, anyways.
Basically, the [membership renewal here](https://github.com/civicrm/civicrm-core/blob/bb49a5de4a1630e57e91e3618c370bc075a793b5/CRM/Member/BAO/MembershipType.php#L524) in CRM_Member_BAO_MembershipType::getRenewalDatesForMembershipType() will renew a membership that expires on Feb 29 for one year and set the new expiry date to Feb 28. But the [test here](https://github.com/civicrm/civicrm-core/blob/bb49a5de4a1630e57e91e3618c370bc075a793b5/tests/phpunit/CRM/Member/BAO/MembershipTest.php#L518) in CRM_Member_BAO_MembershipTest::testRenewMembership() thinks the membership should expire on Mar 1, which is actually more reasonable.
The problem is the kind of funky add one day and then subtract it later after adding a membership period logic, which doesn't make sense in this case as Feb 29 exists one year, but not the next.https://lab.civicrm.org/dev/joomla/-/issues/53[Joomla 4.0] Mosaico build screen clipped (maybe a Mosaico issue)2023-09-06T10:36:42Znicol[Joomla 4.0] Mosaico build screen clipped (maybe a Mosaico issue)Mosaico is loaded in an iFrame, with a fixed position that is lost behind the Joomla UI:
![image](/uploads/752b2ea5a9ccc68e0fe8daedd0e023fe/image.png)
something like
`#crm-mosaico {
left: 288px;
top: 66px;
width: calc(100vw - 288px);...Mosaico is loaded in an iFrame, with a fixed position that is lost behind the Joomla UI:
![image](/uploads/752b2ea5a9ccc68e0fe8daedd0e023fe/image.png)
something like
`#crm-mosaico {
left: 288px;
top: 66px;
width: calc(100vw - 288px);
height: calc(100vh - 66px);
}`
would work if the Joomla sidebar is extended and
`#crm-mosaico {
left: 48px;
width: calc(100vw - 48px);
}`
if it isn't, but there's no helpful Joomla classes to differentiate between these states via a parent selector. Even if that was fixed, to avoid having to force this with `!important`, may be better to address this in Mosaico's absolute positioning script..https://lab.civicrm.org/dev/core/-/issues/4540Email issues can cause new membership contributions to fail with pending/inco...2023-11-23T06:38:55ZTOCM_MMatthewsEmail issues can cause new membership contributions to fail with pending/incomplete.Overview
----------------------------------------
On a self hosted WordPress (currently 6.3) / CiviCRM (currently 5.64.0) site, when we had an SMTP server outage (not sending email from our virtual server directly, as that causes other s...Overview
----------------------------------------
On a self hosted WordPress (currently 6.3) / CiviCRM (currently 5.64.0) site, when we had an SMTP server outage (not sending email from our virtual server directly, as that causes other spam-related problems), any attempt to sign up as a member to our site would end in a failure state (contribution pending/incomplete), after processing payment but failing to send the receipt email. Could be related to the request timing out from php-fpm, but whatever that email timeout was, it was longer than 120s when I gave up trying to adjust php-fpm's timeout value. Settings within CiviCRM (outbound mail) have always just used mail(). But we use the WP Mail SMTP plugin for all WordPress related email to go through the trusted mailers directly. And when that was pointing to mail servers that timed out our connections, we'd see the pending/incomplete failures. Flipping that to default/none so it would use the host mailer as well, things started to work again (with the caveat of some emails not getting through because our server's IP will never be fully trusted by all the major mailers, given that it's within a virtual IP range that apparently triggered some alarms before).
https://civicrm.stackexchange.com/questions/45428/email-timeouts-breaking-contributions?noredirect=1#comment53603_45428
Reproduction steps
----------------------------------------
Set your WordPress mailer up to a host that times out the SMTP connection with WP Mail SMTP (we use the free version, non-profit, can't justify Pro upgrade). Key point probably being SMTP connection timeout being longer than php-fpm timeout, as the process terminates ungracefully.
Set up membership contribution page that sends credit card processing receipt. Maybe it was the password reset link from WordPress, but, can't see how?
Current behaviour
----------------------------------------
Users would not get any receipt or password reset email, transaction -- while processed via our provider (Stripe) would show as pending/incomplete transaction.
Expected behaviour
----------------------------------------
The transaction should continue. Maybe emails will get delayed/queued/lost depending on the mailer situation, but this should not break recording of a successful payment, so we'd just have to resend emails instead of go in and mark the transaction as complete after verifying payment has been received and then resend emails.
Environment information
----------------------------------------
* __Browser:__ Every. Testing confirmed with Safari 16.5.2 / Chrome 116.0.x on macOS Ventura 13.4.1(c).
* __CiviCRM:__ 5.64.0 at the time of SMTP failure
* __PHP:__ 8.0.30
* __CMS:__ WordPress 6.3
* __Database:__ MySQL 8.0.32
* __Web Server:__ Apache 2.4.57
Comments
----------------------------------------
_Anything else you would like the reviewer to note._https://lab.civicrm.org/dev/core/-/issues/4539Very slow query when sending mailings via CiviMail2023-09-12T05:08:13ZwmortadaVery slow query when sending mailings via CiviMailOverview
----------------------------------------
We have come across an issue where the database connection was timing out due to slow, long-running queries when the Send Scheduled Mailings job was running. We became aware of this when...Overview
----------------------------------------
We have come across an issue where the database connection was timing out due to slow, long-running queries when the Send Scheduled Mailings job was running. We became aware of this when we set a maximum execution time limit of 3 minutes for MySQL queries. Mailings for one of our clients were not being sent because the database connection was timing out.
As a workaround, we have increased the maximum execution time to 10 minutes and reduced the Mailer Batch Limit and Mailer Job Size to 1,000. However, we'd like to fix the underlying issue that the queries are running so slowly.
When sending a mailing CiviCRM runs a query of the form:
```sql
SELECT r.contact_id, r.email_id, r.phone_id
FROM civicrm_mailing_recipients r
INNER JOIN civicrm_contact c on
(c.id = r.contact_id
AND c.is_deleted = 0
AND c.is_deceased = 0
AND c.do_not_email = 0
AND c.is_opt_out = 0
)
INNER JOIN civicrm_email e ON (r.email_id = e.id AND e.on_hold = 0)
WHERE r.mailing_id = 3271
LIMIT 18000, 1000
```
There are no indices for `is_deceased`, `do_not_email` or `is_opt_out` so this query is very slow. (There is an index for `is_deleted`. There should be an index for `is_deceased` but this appears to be missing from this site.)
We have tested adding these indices in a development environment to see what difference it would make and this increase the speed of the query by a factor of one thousand:
- 20,000 rows with no indices = 80 seconds
- 20,000 rows with indices = 0.085 seconds
Reproduction steps
----------------------------------------
This is likely to only affect sites with a large number of contacts and large number of rows in the `civicrm_mailing_recipients` table (in this case 46,000 contacts and 9 million rows respectively).
1. Set a maximum execution time for MySQL of 3 minutes (say)
2. Create a mailing to a large group of contacts (>20,000)
3. Schedule the mailing to send
4. Send Scheduled Mailings job fails with error: "Finished execution of Send Scheduled Mailings with result: Failure, Error message: DB Error: unknown error"
Current behaviour
----------------------------------------
No indices ~~`is_deceased`~~, `do_not_email` or `is_opt_out` in `civicrm_contact` so queries run very slowly.
Expected behaviour
----------------------------------------
Indices for the above fields so that the query runs quickly.
Environment information
----------------------------------------
* __CiviCRM:__ _5.62_
* __PHP:__ _8.1__
* __CMS:__ _N/A_
* __Database:__ _MySQL 5.7.43_
Comments
----------------------------------------
There are other speed improvements in #4045 but these relate to the speed of the user interface rather than the speed of sending emails.
Perhaps this can also help to [reduce our collective CO2 emissions](https://civicrm.org/blog/systopia/beginning-green-how-can-we-make-civicrm-more-sustainable)?https://lab.civicrm.org/dev/core/-/issues/4538Error "There might be a data problem, contribution id could not be loaded fro...2023-09-07T22:24:30ZBjörn EndresError "There might be a data problem, contribution id could not be loaded from the line item" - Part 2We are getting the "There might be a data problem, contribution id could not be loaded from the line item" message with certain line items in our `5.64.0` installation.
It looks like the system assumes that a line item should _always_ h...We are getting the "There might be a data problem, contribution id could not be loaded from the line item" message with certain line items in our `5.64.0` installation.
It looks like the system assumes that a line item should _always_ have a contribution linked to it. That however, might not always be the case - in our setup we have two scenarios:
* Event registrations without registration fee
* Line items after a contribution was deleted
**Remark**: Despite the title, this is a different from #4441.https://lab.civicrm.org/dev/core/-/issues/4537Event registration breaks when CiviContribute isn't enabled2023-09-02T05:12:02ZJonGoldEvent registration breaks when CiviContribute isn't enabledThis seems closely related to #4492. I wonder where else this might arise?
```
Error: Class "Civi\Api4\LineItem" not found in CRM_Event_WorkflowMessage_EventOnlineReceipt->setParticipantID() (line 97 of /var/www/reg.wiscience.wisc.edu/...This seems closely related to #4492. I wonder where else this might arise?
```
Error: Class "Civi\Api4\LineItem" not found in CRM_Event_WorkflowMessage_EventOnlineReceipt->setParticipantID() (line 97 of /var/www/reg.wiscience.wisc.edu/web/sites/all/modules/civicrm/CRM/Event/WorkflowMessage/ParticipantTrait.php).
```5.66.0https://lab.civicrm.org/dev/core/-/issues/4536Report improvements2023-09-23T05:02:21ZyashodhaReport improvements_Primary Membership_ filter option in _Membership Details_ report has options that don't make sense.
![dddsdsd](/uploads/0e74060c879cbaf416c85e8eb1067134/dddsdsd.png)
Remove options that don't make sense and add option to choose _All_..._Primary Membership_ filter option in _Membership Details_ report has options that don't make sense.
![dddsdsd](/uploads/0e74060c879cbaf416c85e8eb1067134/dddsdsd.png)
Remove options that don't make sense and add option to choose _All_ as well.yashodhayashodhahttps://lab.civicrm.org/dev/core/-/issues/4535View Membership lists template contributions along with actual contribution u...2023-08-29T10:36:47ZRichView Membership lists template contributions along with actual contribution under "Related Contributions and Recurring Contributions"This is confusing. The status column is blank, too, so it looks at a glance as though this is a real payment:
![image](/uploads/61a1120ef3c1f389c2dda90bb0bd38f5/image.png)
I propose that template contributions are NOT shown on that pag...This is confusing. The status column is blank, too, so it looks at a glance as though this is a real payment:
![image](/uploads/61a1120ef3c1f389c2dda90bb0bd38f5/image.png)
I propose that template contributions are NOT shown on that page. Agree?https://lab.civicrm.org/dev/core/-/issues/4534Price set discount by date back office issues2023-08-24T18:33:09ZlarsssandergreenPrice set discount by date back office issuesThese are probably not a priority for anyone, but I ran into these while testing @eileen's recent PR, so thought I might as well note them:
1. Discount set shows as a select on edit participant, but only in certain circumstances (haven'...These are probably not a priority for anyone, but I ran into these while testing @eileen's recent PR, so thought I might as well note them:
1. Discount set shows as a select on edit participant, but only in certain circumstances (haven't quite worked this out, but something to do with number of discount sets and/or whether the dates are current or in the past). It also seems to be wrong, showing the current discount set based on the current date, not the one for the participant. Regardless, it shouldn't be changeable here as that does nothing. It should either always show as frozen or never show at all.
2. On the other hand, discount set should always be selectable on Change Selections, with the default set to the discount set that the participant currently has (then if you change from adult to student ticket or something, they still get the discount based on date, but you also can change the discount if needed).
3. Discount set is selectable when registering a single participant from back office, but not on the Register search task for multiple participants. It should be.