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.
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♦ Aug 10 '17 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/… – jitendra - fuzion Aug 12 '17 at 14:29