l.r.b.p.PersonEditMailingListsView(LaunchpadFormView) : class documentation

Part of lp.registry.browser.person View In Hierarchy

A view for editing a person's mailing list subscriptions.
Method initialize Undocumented
Method setUpFields Set up fields for this view.
Method initial_values Set up default values for the radio widgets.
Method setUpWidgets See LaunchpadFormView.
Method mailing_list_widgets Return all the mailing list subscription widgets.
Method validated_addresses All of this person's validated email addresses, including
Method validate_action_update_subscriptions Make sure the user is subscribing using a valid address.
Method action_update_subscriptions Change the user's mailing list subscriptions.
Method validate_action_update_autosubscribe_policy Ensure that the requested auto-subscribe setting is valid.
Method action_update_autosubscribe_policy Undocumented
Method _mailing_list_subscription_type Return the context user's subscription type for the given list.
Method _mailing_list_fields Creates a field for each mailing list the user can subscribe to.
Method _autosubscribe_policy_fields Create a field for each mailing list auto-subscription option.

Inherited from LaunchpadFormView:

Method __init__ Undocumented
Method render Return the body of the response.
Method extendFields Allow subclasses to extend the form fields.
Method help_links Dictionary mapping field names to help links.
Method adapters Provide custom adapters for use when setting up the widgets.
Method action_url Set the default action URL for the form.
Method has_available_actions Does the view have any available actions that will render?
Method addError Add a form wide error.
Method getFieldError Get the error associated with a particular field.
Method setFieldError Set the error associated with a particular field.
Static Method validate_none Do not do any validation.
Method validate_widgets Validate the named form widgets.
Method error_count Undocumented
Method ajax_failure_handler Called by the form if validate() finds any errors.
Method validate Validate the form.
Method validate_cancel Noop validation in case we cancel.
Method focusedElementScript Helper function to construct the script element content.
Method isSingleLineLayout Undocumented
Method isMultiLineLayout Undocumented
Method isCheckBoxLayout Undocumented
Method showOptionalMarker Should the (Optional) marker be shown?
Method _processNotifications Add any notification messages to the response headers.
Method _abort Abort the form edit.
Method _validate Check all widgets and perform any custom validation.
def initialize(self):
Undocumented
def setUpFields(self):
Set up fields for this view.

The main fields of interest are the selection fields with custom vocabularies for the lists of validated and unvalidated email addresses.

@property
def initial_values(self):
Set up default values for the radio widgets.

A radio widget must have a selected value, so we select the first unvalidated and validated email addresses in the lists to be the default for the corresponding widgets.

The only exception is if the user has a preferred email address: then, that address is used as the default validated email address.

def setUpWidgets(self, context=None):
See LaunchpadFormView.
def _mailing_list_subscription_type(self, mailing_list):
Return the context user's subscription type for the given list.

This is 'Preferred address' if the user is subscribed using their preferred address and 'Don't subscribe' if the user is not subscribed at all. Otherwise it's the EmailAddress under which the user is subscribed to this mailing list.

def _mailing_list_fields(self):
Creates a field for each mailing list the user can subscribe to.

If a team doesn't have a mailing list, or the mailing list isn't usable, it's not included.

def _autosubscribe_policy_fields(self):
Create a field for each mailing list auto-subscription option.
@property
def mailing_list_widgets(self):
Return all the mailing list subscription widgets.
@property
def validated_addresses(self):
All of this person's validated email addresses, including their preferred address (if any).
def validate_action_update_subscriptions(self, action, data):
Make sure the user is subscribing using a valid address.

Valid addresses are the ones presented as options for the mailing list widgets.

@action(_('Update Subscriptions'), 'update_subscriptions', validate_action_update_subscriptions)
def action_update_subscriptions(self, action, data):
Change the user's mailing list subscriptions.
def validate_action_update_autosubscribe_policy(self, action, data):
Ensure that the requested auto-subscribe setting is valid.
@action(_('Update Policy'), 'update_autosubscribe_policy', validate_action_update_autosubscribe_policy)
def action_update_autosubscribe_policy(self, action, data):
Undocumented
API Documentation for Launchpad, generated by pydoctor at 2022-06-16 00:00:12.