def init(self, request, **kwargs):
        self.back_url = reverse_lazy("cases:case",
                                     kwargs={
                                         "queue_pk": kwargs["queue_pk"],
                                         "pk": kwargs["pk"],
                                         "tab": "documents"
                                     })
        self.contacts = get_case_additional_contacts(request, kwargs["pk"])
        self.applicant = get_case_applicant(request, kwargs["pk"])
        self.template = request.POST.get(TEMPLATE)

        params = {
            "case": self.kwargs["pk"],
            "page": self.request.GET.get("page", 1)
        }
        if self.kwargs.get("decision_key"):
            params["decision"] = self.kwargs["decision_key"]
        self.templates, _ = get_letter_templates(
            self.request, convert_dict_to_query_params(params))
        self.data = {"total_pages": self.templates["total_pages"]}

        if self.template and not request.POST.get(TEXT):
            template, _ = get_letter_template(
                request,
                self.template,
                params=convert_dict_to_query_params({TEXT: True}))
            self.data[TEXT] = template[TEXT]

        self.object_pk = kwargs["pk"]
        self.action = self._validate
        self.additional_context = {
            "case": get_case(request, self.object_pk),
            "applicant": self.applicant,
            "contacts": self.contacts,
        }
Esempio n. 2
0
    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)
Esempio n. 3
0
    def get_additional_context(self):
        status = self.request.GET.get("status")
        params = {"page": int(self.request.GET.get("page", 1))}
        if status:
            params["status"] = status
        users = get_organisation_users(
            self.request, str(self.request.session["organisation"]), params)
        statuses = [
            Option(option["key"], option["value"]) for option in [
                {
                    "key": "active",
                    "value": "Active"
                },
                {
                    "key": "deactivated",
                    "value": "Deactivated"
                },
                {
                    "key": "",
                    "value": "All"
                },
            ]
        ]
        filters = FiltersBar(
            [Select(name="status", title="status", options=statuses)])

        return {
            "status": status,
            "data": users,
            "page": params.pop("page"),
            "params_str": convert_dict_to_query_params(params),
            "filters": filters,
        }
Esempio n. 4
0
def get_letter_preview(request, layout_id, paragraph_ids):
    querystring = convert_dict_to_query_params({
        "layout": layout_id,
        "paragraphs": paragraph_ids
    })
    data = client.get(request,
                      f"/letter-templates/generate-preview/?{querystring}")
    return data.json(), data.status_code
Esempio n. 5
0
def get_user(request, pk=None, params=None):
    if pk:
        url = f"/users/{pk}"
    else:
        url = "/users/me/"
    if params:
        url = url + "?" + convert_dict_to_query_params(params)

    return client.get(request, url).json()
Esempio n. 6
0
    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)
Esempio n. 7
0
    def get(self, request, **kwargs):
        """
        List of existing goods (add-preexisting)
        """
        application_id = str(kwargs["pk"])
        application = get_application(request, application_id)
        name = request.GET.get("name", "").strip()
        description = request.GET.get("description", "").strip()
        part_number = request.GET.get("part_number", "").strip()
        control_list_entry = request.GET.get("control_list_entry", "").strip()

        filters = FiltersBar([
            TextInput(title="name", name="name"),
            TextInput(title="description", name="description"),
            TextInput(title="control list entry", name="control_list_entry"),
            TextInput(title="part number", name="part_number"),
        ])

        params = {
            "page": int(request.GET.get("page", 1)),
            "name": name,
            "description": description,
            "part_number": part_number,
            "control_list_entry": control_list_entry,
            "for_application": "True",
        }
        goods_list = get_goods(request, **params)

        context = {
            "application":
            application,
            "data":
            goods_list,
            "name":
            name,
            "description":
            description,
            "part_number":
            part_number,
            "control_list_entry":
            control_list_entry,
            "draft_id":
            application_id,
            "params":
            params,
            "page":
            params.pop("page"),
            "params_str":
            convert_dict_to_query_params(params),
            "filters":
            filters,
            "feature_flag_firearms_enabled":
            settings.FEATURE_FLAG_FIREARMS_ENABLED,
        }
        return render(request, "applications/goods/preexisting.html", context)
Esempio n. 8
0
def get_user(request, pk=None, params=None):
    if pk:
        url = USERS_URL + str(pk)
    else:
        url = USERS_URL + "me/"
    if params:
        from core.helpers import convert_dict_to_query_params

        url = url + "?" + convert_dict_to_query_params(params)

    return get(request, url).json()
Esempio n. 9
0
    def get(self, request, **kwargs):
        search_term = request.GET.get("search_term", "").strip()
        org_type = request.GET.get("org_type", "").strip()

        params = {
            "page": int(request.GET.get("page", 1)),
            "status": request.GET.get("status", "active")
        }
        if search_term:
            params["search_term"] = search_term
        if org_type:
            params["org_type"] = org_type

        organisations, _ = get_organisations(
            request, convert_dict_to_query_params(params))

        filters = FiltersBar([
            TextInput(name="search_term",
                      title=OrganisationsPage.Filters.NAME),
            Select(
                name="org_type",
                title=OrganisationsPage.Filters.TYPE,
                options=[
                    Option("individual",
                           OrganisationsPage.Filters.Types.INDIVIDUAL),
                    Option("commercial",
                           OrganisationsPage.Filters.Types.COMMERCIAL),
                    Option("hmrc", OrganisationsPage.Filters.Types.HMRC),
                ],
            ),
            HiddenField(name="status", value=params["status"]),
        ])

        context = {
            "data":
            organisations,
            "filters":
            filters,
            "search_term":
            params.get("search_term", ""),
            "tab":
            params.get("status"),
            "in_review_total":
            get_menu_notifications(request)["notifications"].get(
                "organisations"),
            "can_manage_organisations":
            Permission.MANAGE_ORGANISATIONS.value
            in get_user_permissions(request),
        }
        return render(request, "organisations/index.html", context)
Esempio n. 10
0
    def get(self, request, **kwargs):
        params = {"page": int(request.GET.get("page", 1)), "submitted": str_to_bool(request.GET.get("submitted", True))}
        organisation = get_organisation(request, request.session["organisation"])
        applications = get_applications(request, **params)

        context = {
            "applications": applications,
            "organisation": organisation,
            "params": params,
            "page": params.pop("page"),
            "params_str": convert_dict_to_query_params(params),
        }
        return render(
            request, "applications/applications.html" if params["submitted"] else "applications/drafts.html", context
        )
Esempio n. 11
0
 def get(self, request, **kwargs):
     letter_template_id = str(kwargs["pk"])
     params = convert_dict_to_query_params({
         "generate_preview": True,
         "activity": True
     })
     response, _ = get_letter_template(request,
                                       letter_template_id,
                                       params=params)
     context = {
         "letter_template": response["template"],
         "preview": response["preview"],
         "activity": response.get("activity", []),
     }
     return render(request, "letter-templates/letter-template.html",
                   context)
Esempio n. 12
0
    def get(self, request, **kwargs):
        params = {
            "page": int(request.GET.get("page", 1)),
            "name": request.GET.get("name", "")
        }

        data, _ = get_letter_templates(request,
                                       convert_dict_to_query_params(params))
        filters = FiltersBar([
            TextInput(name="name", title="name"),
        ])
        context = {
            "data": data,
            "filters": filters,
        }
        return render(request, "letter-templates/letter-templates.html",
                      context)
Esempio n. 13
0
    def get(self, request, *args, **kwargs):
        search_term = request.GET.get("search_term", "").strip()
        params = {"page": int(request.GET.get("page", 1))}

        if search_term:
            params["search_term"] = search_term

        organisations = get_organisations(
            request, org_type=["commercial", "individual"], **params)
        params_str = convert_dict_to_query_params(params)

        context = {
            "organisations": organisations,
            "params": params,
            "page": params.pop("page"),
            "params_str": params_str,
            "show_error": kwargs.get("show_error", False),
        }
        return render(request, "hmrc/select-organisation.html", context)
Esempio n. 14
0
def get_letter_preview(request, layout_id, paragraph_ids):
    data = {"layout": str(layout_id), "paragraphs": paragraph_ids}
    get_params = "?" + convert_dict_to_query_params(data)
    data = get(request, LETTER_TEMPLATES_URL + GENERATE_PREVIEW_URL + get_params)
    return data.json(), data.status_code