If I set up an event and use the regular fees section rather than setting up a price set then it stores this information in a price set. If I remove a value from this table then it stays in the database. If I know the price set id then I can find these fields via the UI Why does the system keep this other value? Having these other fields causes confusion when creating views because as far as a basic user can tell there is only one fee and there is no reason for them to expect there to be other ones hiding.
1 Answer
Disabling of price field is actually helpful in case you need it in future and it is not shown anywhere else except price field browse page.
Eg:
Configure an event with regular priceset(is_quick_config = 1) with three field options.
Remove two of them (backend - civi disables it).
Now, a user creates a new priceset from
Manage Price Set
page and configure on this event. At this point, your regular priceset is not lost. Its value ofis_quick_config
is changed to zero, hence it will be now shown on the list of PriceSet page.
So, it provides a flexibility of again choosing the original priceset for your event. You can also delete unwanted field options of it from civicrm/admin/price/field/option?action=browse&reset=1&sid={set_id}&fid={field_id}
just like normal pricesets, if it is not used by any other event.
-
1what about if a user has already registered using the now disabled amount, would that be another reason to keep the value in the db?– petednz - fuzion ♦Commented Aug 10, 2017 at 18:05
-
Yea, agree to that. as it isn't allowed to delete priceset/field if it is being used by any contribution row as per civicrm.stackexchange.com/questions/19721/… Commented Aug 12, 2017 at 14:29