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 Override this in subclasses.
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.

Inherited from LaunchpadView (via LaunchpadFormView):

Method private A view is private if its context is.
Method information_type A view has the information_type of its context.
Method information_type_description A view has the information_type_description of its context.
Method beta_features Undocumented
Method page_description Return a string containing a description of the context.
Method template The page's template, if configured in zcml.
Method yui_version The version of YUI we are using.
Method yui_console_debug Hide console debug messages in production.
Method combo_url Return the URL for the combo loader.
Method __call__ Undocumented
Method getCacheJSON Undocumented
Method publishTraverse See IBrowserPublisher.
Method recommended_canonical_url Canonical URL to be recommended in metadata.
Method related_feature_info Related feature flags that are active for this context and scope.
Method _get_json_cache Undocumented
Method _isRedirected Return True if a redirect was requested.
Method _getErrorMessage Property getter for error_message.
Method _setErrorMessage Property setter for error_message.
Method _getInfoMessage Property getter for info_message.
Method _setInfoMessage Property setter for info_message.

Inherited from UserAttributeCache (via LaunchpadFormView, LaunchpadView):

Method account Undocumented
Method user The logged-in Person, or None if there is no one logged in.
def initialize(self):
Override this in subclasses.

Default implementation does nothing.

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 2019-10-16 00:00:07.