Show all values of DeliveryStatus fields and some can be set.
This expands the DeliveryStatus field from a boolean to a Select field which disables some of the options and marks them as RO. Those values can be seen but not set by specific user roles.
- An admin is allowed to set any value except 'by_bounces'.
- A subscribed is allowed to set any value except 'by_bounces' and 'by_moderator'.
The form validation logic uses self.disabled_delivery_choices to verify that a user isn't try to set a value that is disabled, but allows it if it was the initial value of the field, so that it doesn't change.
Draft because it needs tests.
Edited by Abhilash Raj