def add_role(request: HttpRequest): return Form( title=AddRoleForm.TITLE, description=AddRoleForm.DESCRIPTION, questions=[ TextInput(title=AddRoleForm.ROLE_NAME, name="name"), Checkboxes( name="permissions[]", options=get_permissions(request, True), title=AddRoleForm.PERMISSION_CHECKBOXES_TITLE, description=AddRoleForm.PERMISSION_CHECKBOXES_DESCRIPTION, optional=True, classes=["govuk-checkboxes--small"], ), Checkboxes( name="statuses[]", options=get_statuses(request, True), title=AddRoleForm.STATUSES_CHECKBOXES_TITLE, description=AddRoleForm.STATUSES_CHECKBOXES_DESCRIPTION, optional=True, classes=["govuk-checkboxes--small"], ), ], back_link=BackLink(AddRoleForm.BACK_LINK, reverse_lazy("users:roles")), default_button_name=AddRoleForm.FORM_CREATE, )
def get(self, request, **kwargs): if Permission.MANAGE_FLAGGING_RULES.value not in get_user_permissions(request): return redirect(reverse_lazy("cases:cases")) params = {"page": int(request.GET.get("page", 1))} params = get_params_if_exist(request, ["only_my_team", "level", "include_deactivated"], params) data, _ = get_flagging_rules(request, convert_dict_to_query_params(params)) filters = FiltersBar( [ Select(name="level", title=strings.FlaggingRules.List.Filter.Type, options=_levels), Checkboxes( name="only_my_team", options=[Option("true", strings.FlaggingRules.List.Filter.MY_TEAM_ONLY)], classes=["govuk-checkboxes--small", "govuk-!-margin-top-6"], ), Checkboxes( name="include_deactivated", options=[Option("true", strings.FlaggingRules.List.Filter.INCLUDE_DEACTIVATED)], classes=["govuk-checkboxes--small", "govuk-!-margin-top-6"], ), ] ) context = { "data": data, "team": get_gov_user(request)[0]["user"]["team"]["id"], "filters": filters, } return render(request, "flags/flagging-rules-list.html", context)
def edit_letter_template(request, letter_template, case_type_options, decision_options): return Form( title=strings.LetterTemplates.EditLetterTemplate.TITLE % letter_template["name"], questions=[ TextInput( title=strings.LetterTemplates.EditLetterTemplate.Name.TITLE, description=strings.LetterTemplates.EditLetterTemplate.Name. HINT, name="name", ), Checkboxes( title=strings.LetterTemplates.EditLetterTemplate.CaseTypes. TITLE, name="case_types[]", options=case_type_options, classes=["govuk-checkboxes--small"], ), Checkboxes( title=strings.LetterTemplates.EditLetterTemplate.Decisions. TITLE, description=strings.LetterTemplates.EditLetterTemplate. Decisions.DESCRIPTION, name="decisions[]", options=decision_options, classes=["govuk-checkboxes--small"], ), RadioButtonsImage( title=strings.LetterTemplates.EditLetterTemplate.Layout.TITLE, name="layout", options=_letter_layout_options(request), ), RadioButtons( title=strings.LetterTemplates.EditLetterTemplate. IncludeSignature.TITLE, description=strings.LetterTemplates.EditLetterTemplate. IncludeSignature.DESCRIPTION, name="include_digital_signature", options=[ Option(key=True, value=strings.LetterTemplates.EditLetterTemplate. IncludeSignature.YES_OPTION), Option(key=False, value=strings.LetterTemplates.EditLetterTemplate. IncludeSignature.NO_OPTION), ], ), ], back_link=BackLink( "Back to " + letter_template["name"], reverse_lazy("letter_templates:letter_template", kwargs={"pk": letter_template["id"]}), ), default_button_name=strings.LetterTemplates.EditLetterTemplate. BUTTON_NAME, )
def product_category_form(request): product_categories = get_trade_control_product_categories(request) hint_text_map = { "category_a": TradeControlLicenceQuestions.ProductCategory.CATEGORY_A_HINT, "category_b": TradeControlLicenceQuestions.ProductCategory.CATEGORY_B_HINT, "category_c": TradeControlLicenceQuestions.ProductCategory.CATEGORY_C_HINT, } options = [ Option(product_category["key"], product_category["value"], hint_text_map.get(product_category["key"])) for product_category in product_categories ] return Form( title=TradeControlLicenceQuestions.ProductCategory.TITLE, description=TradeControlLicenceQuestions.ProductCategory.DESCRIPTION, questions=[ Checkboxes(name="trade_control_product_categories[]", options=options) ], default_button_name=generic.SAVE_AND_CONTINUE, )
def upload_firearms_act_certificate_form(section, filename, back_link): return Form( title=f"Attach your Firearms Act 1968 {section} certificate", description="The file must be smaller than 50MB", questions=[ HiddenField("firearms_certificate_uploaded", False), FileUpload(), HiddenField("uploaded_file_name", filename), TextInput( title=CreateGoodForm.FirearmGood.FirearmsActCertificate.SECTION_CERTIFICATE_NUMBER, description="", name="section_certificate_number", optional=False, ), DateInput( title=CreateGoodForm.FirearmGood.FirearmsActCertificate.EXPIRY_DATE, description=CreateGoodForm.FirearmGood.FirearmsActCertificate.EXPIRY_DATE_HINT, prefix="section_certificate_date_of_expiry", name="section_certificate_date_of_expiry", ), Label(text="Or"), Checkboxes( name="section_certificate_missing", options=[Option(key="True", value=f"I do not have a Firearms Act 1968 {section} certificate",)], ), TextArea( title="Provide a reason why you do not have a certificate", name="section_certificate_missing_reason", optional=False, ), ], back_link=back_link, buttons=[Button("Save and continue", "submit")], javascript_imports={"/javascripts/add-good.js"}, )
def get_open_general_licences(self): params = self.request.GET.copy() params.pop("licence_type") self.data = get_open_general_licences(self.request, registered=True, **params) control_list_entries = get_potential_ogl_control_list_entries(self.data) countries = get_potential_ogl_countries(self.data) sites = get_potential_ogl_sites(self.data) self.filters = [ TextInput(name="name", title=OpenGeneralLicencesList.Filters.NAME), Select( name="case_type", title=OpenGeneralLicencesList.Filters.TYPE, options=OpenGeneralExportLicenceTypes.as_options(), ), AutocompleteInput( name="control_list_entry", title=OpenGeneralLicencesList.Filters.CONTROL_LIST_ENTRY, options=control_list_entries, ), AutocompleteInput(name="country", title=OpenGeneralLicencesList.Filters.COUNTRY, options=countries), Select(name="site", title=OpenGeneralLicencesList.Filters.SITE, options=sites,), Checkboxes( name="active_only", options=[Option(key=True, value=OpenGeneralLicencesList.Filters.ONLY_SHOW_ACTIVE)], classes=["govuk-checkboxes--small"], ), ] self.template = "open-general-licences"
def done_with_case_form(request, queue_pk, case_pk, has_review_date): queue = None queues, _ = get_user_case_queues(request, case_pk) if not queues: queue = get_queue(request, queue_pk) return Form( title=DoneWithCaseOnQueueForm.TITLE if not queue else DoneWithCaseOnQueueForm.TITLE_SINGULAR.format(queue["name"]), questions=[ conditional( queues, Checkboxes( name="queues[]", options=[ Option(queue["id"], queue["name"]) for queue in queues ], title=DoneWithCaseOnQueueForm.CHECKBOX_TITLE, description=DoneWithCaseOnQueueForm.CHECKBOX_DESCRIPTION, ), HiddenField(name="queues[]", value=queue_pk), ), DetailComponent( title=DoneWithCaseOnQueueForm.NOTE, components=[ TextArea(name="note", classes=["govuk-!-margin-0"]), ], ), ], default_button_name=DoneWithCaseOnQueueForm.SUBMIT, container="case", javascript_imports=conditional(has_review_date, {"/javascripts/assign_queue.js"}, None), )
def set_flags_form(flags, level, show_case_header=False, show_sidebar=False): form = Form( title=getattr(SetFlagsForm, level).TITLE, description=getattr(SetFlagsForm, level).DESCRIPTION, questions=[ Filter(placeholder=getattr(SetFlagsForm, level).FILTER), Checkboxes( name="flags[]", options=flags, filterable=True, disabled_hint="You do not have permission to remove this flag.", ), DetailComponent( title=getattr(SetFlagsForm, level).Note.TITLE, components=[ TextArea(name="note", classes=["govuk-!-margin-0"]), ], ), ], default_button_name=getattr(SetFlagsForm, level).SUBMIT_BUTTON, container="case" if show_case_header else "two-pane", javascript_imports={"/javascripts/flags-permission-hints.js"}, ) if show_sidebar: form.helpers = [ HelpSection("Setting flags on:", "", includes="case/includes/selection-sidebar.html") ] return form
def licences_filters(request): return [ TextInput( name="reference", title=LicencesList.Filters.REFERENCE, ), AutocompleteInput( name="clc", title=LicencesList.Filters.CLC, options=get_control_list_entries(request, convert_to_options=True), ), AutocompleteInput( name="country", title=LicencesList.Filters.DESTINATION_COUNTRY, options=get_countries(request, convert_to_options=True), ), TextInput( name="end_user", title=LicencesList.Filters.DESTINATION_NAME, ), Checkboxes( name="active_only", options=[Option(key=True, value=LicencesList.Filters.ACTIVE)], classes=["govuk-checkboxes--small"], ), ]
def assign_users_form(request: HttpRequest, team_id, queue, multiple: bool): params = { "teams": team_id, "disable_pagination": True, "status": UserStatuses.ACTIVE } return Form( title=cases.Manage.AssignUsers.MULTIPLE_TITLE if multiple else cases.Manage.AssignUsers.TITLE, description=cases.Manage.AssignUsers.DESCRIPTION, questions=[ Filter(), Checkboxes("users", options=get_gov_users( request, params, convert_to_options=True, ), filterable=True), DetailComponent( title=cases.Manage.AssignUsers.NOTE, components=[ TextArea(name="note", classes=["govuk-!-margin-0"]), ], ), ], caption=queue["name"], default_button_name=cases.Manage.AssignUsers.BUTTON, )
def get(self, request, **kwargs): params = request.GET.copy() params["status"] = params.get("status", FlagStatus.ACTIVE.value) data = get_flags(request, **params) user_data, _ = get_gov_user(request, str(request.user.lite_api_user_id)) filters = FiltersBar( [ TextInput(name="name", title="name"), Select(name="level", title="level", options=level_options), TextInput(name="priority", title="priority"), Select(name="team", title="team", options=get_teams(request, True)), Checkboxes( name="status", options=[Option(FlagStatus.DEACTIVATED.value, flags.FlagsList.SHOW_DEACTIVATED_FLAGS)], classes=["govuk-checkboxes--small"], ), ] ) context = { "data": data, "user_data": user_data, "filters": filters, "can_change_flag_status": Permission.ACTIVATE_FLAGS.value in get_user_permissions(request), } return render(request, "flags/index.html", context)
def initial_routing_rule_questions(request, team_id, is_editing: bool): if is_editing: title = Forms.EDIT_TITLE else: title = Forms.CREATE_TITLE return Form( title=title, questions=[ Select(title=Forms.CASE_STATUS, name="status", options=get_statuses(request, True)), AutocompleteInput( title=Forms.QUEUE, name="queue", options=get_team_queues(request, team_id, True, True), ), TextInput(title=Forms.TIER, name="tier"), HiddenField(name="additional_rules[]", value=None), Checkboxes( title=Forms.ADDITIONAL_RULES, name="additional_rules[]", options=additional_rules, ), ], back_link=BackLink(Forms.BACK_BUTTON, reverse_lazy("routing_rules:list")), )
def get(self, request, **kwargs): params = { "page": int(request.GET.get("page", 1)), **get_params_if_exist(request, [ "case_status", "team", "queue", "tier", "only_active" ]), } data, _ = get_routing_rules(request, convert_dict_to_query_params(params)) user_data, _ = get_gov_user(request, str(request.session["lite_api_user_id"])) status = request.GET.get("status", "active") filters = FiltersBar([ Select(title=Filter.CASE_STATUS, name="case_status", options=get_statuses(request, True)), *conditional( has_permission(request, Permission.MANAGE_ALL_ROUTING_RULES), [ Select(title=Filter.TEAM, name="team", options=get_teams(request, True)), AutocompleteInput( title=Filter.QUEUE, name="queue", options=get_queues(request, convert_to_options=True), ), ], [ AutocompleteInput( title=Filter.QUEUE, name="queue", options=get_users_team_queues( request, request.session["lite_api_user_id"], True), ), ], ), TextInput(title=Filter.TIER, name="tier"), Checkboxes( name="only_active", options=[Option(True, Filter.ACTIVE_ONLY)], classes=["govuk-checkboxes--small"], ), ]) context = { "data": data, "status": status, "user_data": user_data, "filters": filters, } return render(request, "routing-rules/index.html", context)
def assign_sites(request): return Form( title=strings.users.AssignToSitesForm.ASSIGN_USER_TO_SITES_TITLE, description=strings.users.AssignToSitesForm. ASSIGN_USER_TO_SITES_DESCRIPTION, questions=[ Checkboxes(name="sites[]", options=get_sites(request, request.user.organisation, True)) ], default_button_name=strings.SAVE, )
def select_case_type(request): return Form( title=Forms.CASE_TYPES, questions=[ Checkboxes( name="case_types[]", options=[ Option(option["id"], option["reference"]["value"]) for option in get_case_types(request, False) ], ) ], )
def select_flags(request, team_id, flags_to_include, flags_to_exclude, is_editing): flags_checkboxes = [ Option(flag["id"], flag["name"], data_attribute=get_flag_details_html(flag)) for flag in get_flags_for_team_of_level( request, level="", team_id=team_id, include_system_flags=True) ] return Form( title=Forms.FLAGS if not is_editing else "Edit flags", questions=[ HiddenField(name="flags_to_include", value=",".join(flags_to_include)), HiddenField(name="flags_to_exclude", value=",".join(flags_to_exclude)), HTMLBlock("<div id='routing-rules-flags-details'></div>"), Label(id="condition-label", text="Apply the routing rule to:"), RadioButtons( title="", name="routing_rules_flags_condition", options=[ Option(key="contain_selected_flags", value="Cases that contain selected flags"), Option(key="doesnot_contain_selected_flags", value="Cases that do not contain selected flags"), ], ), Filter(), Checkboxes( name="flags[]", options=flags_checkboxes, import_custom_js=[ "/javascripts/filter-checkbox-list-flags.js" ], ), ], buttons=[ Button("Save and continue", "submit", id="save_and_continue"), Button("Add another condition", "", ButtonStyle.SECONDARY, id="add-another-condition", link="#"), ], javascript_imports={"/javascripts/routing-rules-flags.js"}, )
def f680_details_form(request, application_id): return Form( title=F680Details.TITLE, description=F680Details.DESCRIPTION, questions=[ Checkboxes( name="types[]", options=[ Option(key, value) for key, value in get_f680_clearance_types(request).items() ], ), ], default_button_name=F680Details.BUTTON, back_link=back_to_task_list(application_id), )
def get_licences(self): params = self.request.GET.copy() if "licence_type" in params: params.pop("licence_type") self.data = get_licences( self.request, licence_type="licence" if self.type == "licences" else "clearance", **params ) self.filters = [ *licences_filters(self.request), Checkboxes( name="active_only", options=[Option(key=True, value=LicencesList.Filters.ACTIVE)], classes=["govuk-checkboxes--small"], ), ] self.template = "licences"
def select_flags(request, team_id): return Form( title=Forms.FLAGS, questions=[ Checkboxes( name="flags[]", options=[ Option(flag["id"], flag["name"]) for flag in get_flags_for_team_of_level(request, level="", team_id=team_id, include_system_flags=True)[0] ], ) ], )
def sites_form(request, application_type): exclude = "" if application_type in [CaseTypes.SITL, CaseTypes.SICL, CaseTypes.OICL]: exclude = "GB" return Form( title="Select locations", questions=[ Filter(), Checkboxes( name="sites[]", options=get_sites(request, request.session["organisation"], True, False, exclude), filterable=True, ), ], default_button_name=generic.SAVE_AND_CONTINUE, )
def countries_form(request, application_id): return Form( title=strings.applications.DestinationForm.TITLE, description=strings.applications.DestinationForm.DESCRIPTION, questions=[ Filter(), Checkboxes( name="countries[]", options=get_countries(request, True, ["GB"]), classes=["govuk-checkboxes--small"], show_select_links=True, filterable=True, ), ], default_button_name=strings.SAVE_AND_CONTINUE, back_link=back_to_task_list(application_id), )
def external_locations_form(request, application_type): exclude = [] if application_type in [CaseTypes.SITL, CaseTypes.SICL, CaseTypes.OICL]: exclude.append("GB") return Form( title="Select locations", questions=[ Filter(), Checkboxes( name="external_locations[]", options=get_external_locations( request, str(request.session["organisation"]), True, exclude, application_type), filterable=True, ), ], default_button_name=strings.SAVE_AND_CONTINUE, )
def initial_routing_rule_questions(request, select_team, team_id, is_editing: bool): team_queues_options = get_team_queues(request, team_id, convert_to_options=True, ignore_pagination=True) return Form( title=Forms.EDIT_TITLE if is_editing else Forms.CREATE_TITLE, questions=[ AutocompleteInput( title=Forms.TEAM, name="team", options=get_teams(request, True), description="Type to get suggestions. For example, TAU.", ), Select(title=Forms.CASE_STATUS, name="status", options=get_statuses(request, True)), AutocompleteInput( title=Forms.QUEUE, name="queue", options=team_queues_options, description= "Type to get suggestions.\nFor example, HMRC enquiries.", ), TextInput(title=Forms.TIER, name="tier"), HiddenField(name="additional_rules[]", value=None), Checkboxes( title=Forms.ADDITIONAL_RULES, name="additional_rules[]", options=additional_rules, ), ], back_link=BackLink(Forms.BACK_BUTTON, reverse_lazy("routing_rules:list")), javascript_imports={"/javascripts/routing-rules-teams.js"}, )
def add_role(request: HttpRequest, add: bool): if add: form_strings = strings.roles.AddRoleForm else: form_strings = strings.roles.EditRoleForm return Form( title=form_strings.TITLE, description=form_strings.DESCRIPTION, questions=[ TextInput(title=form_strings.NAME, name="name"), Checkboxes( name="permissions[]", options=get_permissions(request, True), title=form_strings.PERMISSIONS, description=form_strings.PERMISSIONS_DESCRIPTION, ), ], back_link=BackLink(form_strings.FORM_BACK_TO_ROLES, reverse_lazy("organisation:roles:roles")), default_button_name=form_strings.FORM_CREATE, )
def add_user_form(request): return Form( title=strings.users.AddUserForm.USER_ADD_TITLE, questions=[ TextInput(title=strings.users.AddUserForm.USER_EMAIL_QUESTION, name="email"), Select( name="role", options=get_roles(request, request.user.organisation, True), title=strings.users.AddUserForm.USER_ROLE_QUESTION, include_default_select=False, ), Checkboxes( title=strings.users.AddUserForm.ASSIGN_USER_QUESTION, name="sites[]", options=get_sites(request, request.user.organisation, True), ), ], back_link=BackLink( strings.users.AddUserForm.USER_ADD_FORM_BACK_TO_USERS, reverse_lazy("organisation:members:members")), )
def contract_type_per_country_form(current_country, country_name): return Form( title=contractTypeStrings.AddContractTypesForm.TITLE + country_name, description=contractTypeStrings.AddContractTypesForm.DESCRIPTION, questions=[ HiddenField("countries", current_country), Checkboxes( name="contract_types[]", options=[ Option(key=key.value, value=ContractTypes.get_str_representation(key)) for key in ContractTypes ], classes=["govuk-checkboxes--small"], filterable=True, ), TextInput(name="other_contract_type_text", title=contractTypeStrings.AddContractTypesForm. PROVIDE_DETAILS), ], default_button_name=strings.SAVE_AND_CONTINUE, )
def initial_routing_rule_questions(request, select_team, team_id, is_editing: bool): select_team_question = [] if select_team: select_team_question = [ AutocompleteInput( title=Forms.TEAM, name="team", options=get_teams(request, True), description="Type to get suggestions. For example, TAU.", ), ] return Form( title=Forms.EDIT_TITLE if is_editing else Forms.CREATE_TITLE, questions=select_team_question + [ Select(title=Forms.CASE_STATUS, name="status", options=get_statuses(request, True)), AutocompleteInput( title=Forms.QUEUE, name="queue", options=get_team_queues(request, team_id, True, True) if team_id else [], description= "Type to get suggestions.\nFor example, HMRC enquiries.", ), TextInput(title=Forms.TIER, name="tier"), HiddenField(name="additional_rules[]", value=None), Checkboxes( title=Forms.ADDITIONAL_RULES, name="additional_rules[]", options=additional_rules, ), ], back_link=BackLink(Forms.BACK_BUTTON, reverse_lazy("routing_rules:list")), )
def declaration_form(application_id): return Form( title=strings.declaration.Declaration.TITLE, questions=[ HiddenField(name="submit_declaration", value=True), # Terms and conditions Label("<b>" + strings.declaration.TermsAndConditions.TITLE + "</b>"), Label(strings.declaration.TermsAndConditions.PARAGRAPH_ONE), Label(strings.declaration.TermsAndConditions.PARAGRAPH_TWO), # Licence conditions Label("<b>" + strings.declaration.LicenceConditions.TITLE + "<b>"), # Authorisation Label("<u>" + strings.declaration.LicenceConditions.Authorisation.TITLE + "</u>"), Label(strings.declaration.LicenceConditions.Authorisation. PARAGRAPH_ONE), HTMLBlock( "<ol class='govuk-list govuk-list--number'>" "<ol type='a'>" "<li>" + strings.declaration.LicenceConditions.Authorisation.OPTION_A + "</li>" "<li>" + strings.declaration.LicenceConditions.Authorisation.OPTION_B + "</li>" "</ol>" "</ol>"), Label(strings.declaration.LicenceConditions.Authorisation. PARAGRAPH_TWO), # Conditions Label("<u>" + strings.declaration.LicenceConditions.Conditions.TITLE + "</u>"), HTMLBlock("<ol class='govuk-list govuk-list--number'>" "<li>" + strings.declaration.LicenceConditions. Conditions.LIST_ITEM_ONE + "</li>" "<li>" + strings.declaration.LicenceConditions. Conditions.LIST_ITEM_TWO + "</li>" "<li>" + strings.declaration.LicenceConditions. Conditions.LIST_ITEM_THREE + "<ol type='a'>" "<li>" + strings.declaration.LicenceConditions. Conditions.LIST_ITEM_THREE_A + "</li>" "<li>" + strings.declaration.LicenceConditions. Conditions.LIST_ITEM_THREE_B + "</li>" "<li>" + strings.declaration.LicenceConditions. Conditions.LIST_ITEM_THREE_C + "</li>" "</ol>" "</li>" "<li>" + strings.declaration.LicenceConditions. Conditions.LIST_ITEM_FOUR + "</li>" "<li>" + strings.declaration.LicenceConditions. Conditions.LIST_ITEM_FIVE + "<ol type='a'>" "<li>" + strings.declaration.LicenceConditions. Conditions.LIST_ITEM_FIVE_A + "</li>" "<li>" + strings.declaration.LicenceConditions. Conditions.LIST_ITEM_FIVE_B + "<ol type='i'>" "<li>" + strings.declaration.LicenceConditions. Conditions.LIST_ITEM_FIVE_B_I + "</li>" "<li>" + strings.declaration.LicenceConditions. Conditions.LIST_ITEM_FIVE_B_II + "</li>" "</ol>" "</li>" "<li>" + strings.declaration.LicenceConditions. Conditions.LIST_ITEM_FIVE_C + "<ol type='i'>" "<li>" + strings.declaration.LicenceConditions. Conditions.LIST_ITEM_FIVE_C_I + "</li>" "<li>" + strings.declaration.LicenceConditions. Conditions.LIST_ITEM_FIVE_C_II + "</li>" "<li>" + strings.declaration.LicenceConditions. Conditions.LIST_ITEM_FIVE_C_III + "</li>" "</ol>" "</li>" "<li>" + strings.declaration.LicenceConditions. Conditions.LIST_ITEM_FIVE_D + "</li>" "</ol>" "</li>" "<li>" + strings.declaration.LicenceConditions. Conditions.LIST_ITEM_SIX + "</li>" "<li>" + strings.declaration.LicenceConditions. Conditions.LIST_ITEM_SEVEN + "</li>" "</ol>"), # Standard conditions Label("<u>" + strings.declaration.LicenceConditions. StandardConditions.TITLE + "</u>"), List( strings.declaration.LicenceConditions.StandardConditions. BULLET_POINTS, type=List.ListType.NUMBERED, ), # General notes Label("<u>" + strings.declaration.LicenceConditions.GeneralNotes.TITLE + "</u>"), Label( strings.declaration.LicenceConditions.GeneralNotes.LINK_TEXT), Link( name="general-notes-link", text=strings.declaration.LicenceConditions.GeneralNotes.LINK, address=strings.declaration.LicenceConditions.GeneralNotes. LINK, ), Label(strings.declaration.LicenceConditions.GeneralNotes. PARAGRAPH_ONE), Label(strings.declaration.LicenceConditions.GeneralNotes. PARAGRAPH_TWO), Label(strings.declaration.LicenceConditions.GeneralNotes. PARAGRAPH_THREE), # Declaration Label("<b>" + strings.declaration.Declaration.TITLE + "</b>"), Label(strings.declaration.Declaration.PARAGRAPH_ONE + "<br><br>" + strings.declaration.Declaration.PARAGRAPH_TWO + "<br><br>" + strings.declaration.Declaration.PARAGRAPH_THREE + "<br><br>" + strings.declaration.Declaration.PARAGRAPH_FOUR), # User input RadioButtons( name="agreed_to_foi", title=strings.declaration.FOI.TITLE, options=[ Option(True, strings.declaration.FOI.AGREE_TO_FOI), Option(False, strings.declaration.FOI.DISAGREE_TO_FOI), ], classes=["govuk-radios--inline"], ), Checkboxes( name="agreed_to_declaration", title=strings.declaration.Declaration.RADIO_TITLE, options=[ Option( "True", strings.declaration.Declaration.AGREE_TO_DECLARATION, data_attribute="agreed_to_declaration", ) ], classes=["govuk-checkboxes--small"], ), ], default_button_name=strings.declaration.Declaration.BUTTON_TITLE, back_link=BackLink( strings.declaration.Declaration.BACK, reverse_lazy("applications:summary", kwargs={"pk": application_id}), ), )
from django.http import HttpRequest from django.urls import reverse from lite_content.lite_internal_frontend.cases import Manage from lite_forms.components import Form, Checkboxes, Filter, BackLink, DetailComponent, TextArea from queues.services import get_queues def move_case_form(request: HttpRequest, queue, case: dict): return Form( title=Manage.MoveCase.TITLE, description=Manage.MoveCase.DESCRIPTION, questions=[ Filter(), Checkboxes("queues[]", get_queues(request, convert_to_options=True), filterable=True), DetailComponent( title=Manage.MoveCase.NOTE, components=[ TextArea(name="note", classes=["govuk-!-margin-0"]), ], ), ], back_link=BackLink(url=reverse("cases:case", kwargs={ "queue_pk": queue["id"], "pk": case["id"] })), container="case", )
Option( key="refuse", value=conditional( case.sub_type == CaseType.OPEN.value, advice.GiveOrChangeAdvicePage.RadioButtons.REJECT, advice.GiveOrChangeAdvicePage.RadioButtons.REFUSE, ), components=[ Group( [ Checkboxes( title=conditional( key == "1", advice.GiveOrChangeAdvicePage. DENIAL_REASONS_TITLE), name="denial_reasons[]", options=denial_reasons[key], classes=[ "govuk-checkboxes--small", "govuk-checkboxes--inline" ], ) for key in denial_reasons.keys() ], ["app-advice__checkboxes"], ) ], ), Option( key="no_licence_required", value=advice.GiveOrChangeAdvicePage.RadioButtons.NLR), Option( key="not_applicable",