l.a.b.q.QuestionAddView(QuestionSupportLanguageMixin, LaunchpadFormView) : class documentation

Part of lp.answers.browser.question View In Hierarchy

Known subclasses: lp.registry.browser.project.ProjectAddQuestionView

Multi-page add view.

The user enters first their question summary and then they are shown a list of similar results before adding the question.

Method cancel_url Return the url IQuestionTarget.
Method setUpFields Set up the form_fields from the schema and custom_widgets.
Method setUpWidgets Set up the widgets using the view's form fields and the context.
Method validate Validate hook.
Method page_title The current page title.
Method has_similar_items Return True if similar FAQs or questions were found.
Method context_uses_answers Return True if the context uses launchpad as an answer forum.
Method continue_action Search for questions and FAQs similar to the entered summary.
Method handleAddError Handle errors on new question creation submission. Either redirect
Method add_action Add a Question to an IQuestionTarget.
Method _getFieldsForWidgets Return fields for which need we widgets.

Inherited from QuestionSupportLanguageMixin:

Method chosen_language Return the language chosen by the user.
Method unsupported_languages_warning Macro displaying a warning in case of unsupported languages.
Method question_target Return the IQuestionTarget related to the context.
Method supported_languages Return the list of supported languages ordered by name.
Method createLanguageField Create a field with a vocabulary to edit a question language.
Method shouldWarnAboutUnsupportedLanguage Test if the warning about unsupported language should be displayed.

Inherited from LaunchpadFormView:

Method __init__ Undocumented
Method initialize 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 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.
@property
def cancel_url(self):
Return the url IQuestionTarget.
def setUpFields(self):
Set up the form_fields from the schema and custom_widgets.
def _getFieldsForWidgets(self):
Return fields for which need we widgets.

Depending on the action, not all fields are present on the screen, and need validation.

def setUpWidgets(self):
Set up the widgets using the view's form fields and the context.
def validate(self, data):
Validate hook.

This validation method sets the chosen_language attribute.

@property
def page_title(self):
The current page title.
@property
def has_similar_items(self):
Return True if similar FAQs or questions were found.
@property
def context_uses_answers(self):
Return True if the context uses launchpad as an answer forum.
@action(_('Continue'))
def continue_action(self, action, data):
Search for questions and FAQs similar to the entered summary.
def handleAddError(self, action, data, errors):
Handle errors on new question creation submission. Either redirect to the search template when the summary is missing or delegate to the continue action handler to do the search.
@action(_('Post Question'), 'add', 'handleAddError')
def add_action(self, action, data):
Add a Question to an IQuestionTarget.
API Documentation for Launchpad, generated by pydoctor at 2022-06-16 00:00:12.