l.a.b.m.StepView(LaunchpadFormView) : class documentation

Part of lp.app.browser.multistep View In Hierarchy

Known subclasses: lp.bugs.browser.bugalsoaffects.AlsoAffectsStep, lp.registry.browser.product.ProjectAddStepOne, lp.registry.browser.product.ProjectAddStepTwo, lp.registry.browser.sourcepackage.SourcePackageChangeUpstreamStepOne, lp.registry.browser.sourcepackage.SourcePackageChangeUpstreamStepTwo

Base class for all steps in a multiple step view.

Subclasses must override next_step, step_name and _field_names. They must also define a main_action() method which processes the form data.

If views want to do per-step validation, they should override validateStep().

If views want to change the label of their Continue button, they should override main_action_label.

Method extendFields See LaunchpadFormView.
Method field_names Do not override.
Method validateStep Validation specific to a given step.
Method main_action Undocumented
Method continue_action The action of the continue button.
Method validate Call self.validateStep() if the form should be processed.
Method injectStepNameInRequest Inject this step's name into the request if necessary.
Method shouldProcess Should this data be processed by the view's action methods?
Method render Return the body of the response.
Method cancel_url Return the URL for the current context.

Inherited from LaunchpadFormView:

Method __init__ Undocumented
Method initialize Undocumented
Method setUpFields Undocumented
Method setUpWidgets Set up the widgets using the view's form fields and the context.
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 initial_values Override this in your subclass if you want any widgets to have
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_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 extendFields(self):
See LaunchpadFormView.
@property
def field_names(self):
Do not override.
def validateStep(self, data):
Validation specific to a given step.

To be overridden in subclasses, if necessary.

def main_action(self, data):
Undocumented
@action(main_action_label, 'continue')
def continue_action(self, action, data):
The action of the continue button.

Check to see if the form should be processed. If so, then main_action() is called. Otherwise, it's the first time we're showing the step view and nothing will be processed.

def validate(self, data):
Call self.validateStep() if the form should be processed.

Subclasses /must not/ override this method. They should override validateStep() if they have any custom validation they need to perform.

def injectStepNameInRequest(self):
Inject this step's name into the request if necessary.
def shouldProcess(self, data):
Should this data be processed by the view's action methods?

It should be processed only if the user has already visited this page and submitted the form.

Since we use identical action names in all views we can't rely on that to find out whether or not to process them, so we use an extra hidden input to store the views the user has visited already.

def render(self):
Return the body of the response.

By default, this method will execute the template attribute to render the content. But if an action handler was executed and it returned a value other than None, that value will be used as the rendered content.

See LaunchpadView.render() for other information.

@property
def cancel_url(self):
Return the URL for the current context.
API Documentation for Launchpad, generated by pydoctor at 2022-06-16 00:00:12.