diff --git a/app/blueprints/assessments/routes.py b/app/blueprints/assessments/routes.py index 515b9a34..65e74e6b 100644 --- a/app/blueprints/assessments/routes.py +++ b/app/blueprints/assessments/routes.py @@ -59,9 +59,7 @@ from app.blueprints.authentication.validation import ( check_access_fund_short_name_round_sn, ) -from app.blueprints.authentication.validation import get_countries_from_roles from app.blueprints.authentication.validation import has_access_to_fund -from app.blueprints.authentication.validation import has_devolved_authority_validation from app.blueprints.scoring.helpers import get_scoring_class from app.blueprints.services.aws import get_file_for_download_from_aws from app.blueprints.services.data_services import ( @@ -123,12 +121,7 @@ from config.display_value_mappings import funding_types from config.display_value_mappings import joint_application_options from config.display_value_mappings import landing_filters -from config.display_value_mappings import search_params_cof -from config.display_value_mappings import search_params_cof_eoi -from config.display_value_mappings import search_params_cyp -from config.display_value_mappings import search_params_dpif -from config.display_value_mappings import search_params_hsra -from config.display_value_mappings import search_params_nstf +from config.display_value_mappings import search_params_default assessment_bp = Blueprint( "assessment_bp", @@ -220,20 +213,8 @@ def landing(): ) @check_access_fund_short_name_round_sn def fund_dashboard(fund_short_name: str, round_short_name: str): - if fund_short_name.upper() == "NSTF": - search_params = {**search_params_nstf} - elif fund_short_name.upper() == "COF": - search_params = {**search_params_cof} - elif fund_short_name.upper() == "CYP": - search_params = {**search_params_cyp} - elif fund_short_name.upper() == "DPIF": - search_params = {**search_params_dpif} - elif fund_short_name.upper() == "COF-EOI": - search_params = {**search_params_cof_eoi} - elif fund_short_name.upper() == "HSRA": - search_params = {**search_params_hsra} - else: - search_params = {**search_params_cof} + + search_params = {**search_params_default} fund = get_fund( fund_short_name, @@ -252,15 +233,6 @@ def fund_dashboard(fund_short_name: str, round_short_name: str): return redirect("/assess/assessor_tool_dashboard/") fund_id, round_id = fund.id, _round.id - countries = {"ALL"} - if has_devolved_authority_validation(fund_id=fund_id): - countries = get_countries_from_roles(fund.short_name) - - search_params = { - **search_params, - "countries": ",".join(countries), - } - # matches the query parameters provided in the search and filter form search_params, show_clear_filters = match_search_params(search_params, request.args) @@ -271,7 +243,7 @@ def fund_dashboard(fund_short_name: str, round_short_name: str): ) # The first call is to get the location data such as country, region and local_authority - # from all the existing applications (i.e withou search parameters as we don't want to filter + # from all the existing applications (i.e without search parameters as we don't want to filter # the stats at all). see https://dluhcdigital.atlassian.net/browse/FS-3249 future_all_applications_metadata = thread_executor.submit( get_application_overviews, fund_id, round_id, "" @@ -306,7 +278,8 @@ def fund_dashboard(fund_short_name: str, round_short_name: str): # this is only used for querying applications, so remove it from the search params, # so it's not reflected on the user interface - del search_params["countries"] + if "countries" in search_params: + del search_params["countries"] round_details = { "assessment_deadline": _round.assessment_deadline, @@ -400,6 +373,7 @@ def get_sorted_application_overviews(application_overviews, column, reverse=Fals local_authorities=all_application_locations._local_authorities, migration_banner_enabled=Config.MIGRATION_BANNER_ENABLED, dpi_filters=dpi_filters, + users=["All"], # TODO: Add users api call ) diff --git a/app/blueprints/assessments/templates/assessor_dashboard.html b/app/blueprints/assessments/templates/assessor_dashboard.html index c3075bf5..33f456e3 100644 --- a/app/blueprints/assessments/templates/assessor_dashboard.html +++ b/app/blueprints/assessments/templates/assessor_dashboard.html @@ -2,12 +2,8 @@ {%- from 'govuk_frontend_jinja/components/inset-text/macro.html' import govukInsetText -%} {%- from "govuk_frontend_jinja/components/button/macro.html" import govukButton -%} {%- from 'govuk_frontend_jinja/components/back-link/macro.html' import govukBackLink -%} -{% import "macros/application_overviews_table_cyp.html" as application_overviews_table_cyp -%} -{% import "macros/application_overviews_table_nstf.html" as application_overviews_table_nstf -%} -{% import "macros/application_overviews_table_cof.html" as application_overviews_table_cof -%} -{% import "macros/application_overviews_table_cof_eoi.html" as application_overviews_table_cof_eoi -%} -{% import "macros/application_overviews_table_dpif.html" as application_overviews_table_dpif -%} -{% import "macros/application_overviews_table_hsra.html" as application_overviews_table_hsra -%} +{%- from 'govuk_frontend_jinja/components/tabs/macro.html' import govukTabs -%} +{% import "macros/application_overviews_table_all.html" as application_overviews_table -%} {% from "macros/banner_summary.html" import banner_summary %} {% from "macros/logout_partial.html" import logout_partial %} {% from "macros/migration_banner.html" import migration_banner %} @@ -75,116 +71,79 @@

{% if is_active_status %}All act {% block content %} {# CLOSE THE GOVUK-WIDTH-CONTAINER AND OPEN A WIDER CONTAINER FOR THE TABLE VIEW #} +
{% if migration_banner_enabled %} {{ migration_banner() }} {% endif %} -
- {% if round_details.fund_short_name.upper() == 'CYP' %} - {{ application_overviews_table_cyp.render( - application_overviews, - round_details, - query_params, - cohort, - assessment_statuses, - countries, - regions, - local_authorities, - show_clear_filters, - sort_column, - sort_order, - tag_option_groups, - tags, - tagging_purpose_config - ) }} - {% elif round_details.fund_short_name.upper() == 'NSTF' %} - {{ application_overviews_table_nstf.render( - application_overviews, - round_details, - query_params, - funding_types, - assessment_statuses, - countries, - regions, - local_authorities, - show_clear_filters, - sort_column, - sort_order, - tag_option_groups, - tags, - tagging_purpose_config - ) }} - {% elif round_details.fund_short_name.upper() == "COF" %} - {{ application_overviews_table_cof.render( +
+ {% set applicationsOverviewHtml %} +
+ +

All applications

+
+ {{ application_overviews_table.render( application_overviews, round_details, query_params, asset_types, assessment_statuses, - countries, - regions, - local_authorities, - show_clear_filters, - sort_column, - sort_order, - tag_option_groups, - tags, - tagging_purpose_config - ) }} - {% elif round_details.fund_short_name.upper() == "DPIF" %} - {{ application_overviews_table_dpif.render( - application_overviews, - round_details, - query_params, - asset_types, - assessment_statuses, - countries, - regions, - local_authorities, show_clear_filters, sort_column, sort_order, tag_option_groups, tags, tagging_purpose_config, - dpi_filters + users ) }} - {% elif round_details.fund_short_name.upper() == "COF-EOI" %} - {{ application_overviews_table_cof_eoi.render( - application_overviews, - round_details, - query_params, - asset_types, - assessment_statuses, - countries, - regions, - local_authorities, - show_clear_filters, - sort_column, - sort_order, - tag_option_groups, - tags, - tagging_purpose_config - ) }} - {% elif round_details.fund_short_name.upper() == "HSRA" %} - {{ application_overviews_table_hsra.render( - application_overviews, - round_details, - query_params, - asset_types, - assessment_statuses, - joint_application_options, - countries, - regions, - local_authorities, - show_clear_filters, - sort_column, - sort_order, - tag_option_groups, - tags, - tagging_purpose_config - ) }} - {% endif %} + {% endset -%} + + {{ govukTabs({ + "items": [ + { + "label": "All applications", + "id": "all-applications", + "panel": { + "html": applicationsOverviewHtml + } + }, + ] + }) }} +
{% endblock content %} diff --git a/app/blueprints/assessments/templates/macros/application_overviews_table_all.html b/app/blueprints/assessments/templates/macros/application_overviews_table_all.html new file mode 100644 index 00000000..4dba0954 --- /dev/null +++ b/app/blueprints/assessments/templates/macros/application_overviews_table_all.html @@ -0,0 +1,81 @@ +{% from "govuk_frontend_jinja/components/input/macro.html" import govukInput %} +{% from "macros/sortable_table_header.html" import sortable_table_header %} +{% from "macros/filter_options_all.html" import filter_options %} +{% from "macros/application_status_column.html" import application_status_column %} +{% from "macros/tags_table.html" import tags_table %} + +{% macro render(application_overviews, round_details, query_params, asset_types, +assessment_statuses, show_clear_filters, +sort_column, sort_order, tag_option_groups, tags, tagging_purpose_config, users) -%} + + +{% if not application_overviews %} +
+

+ No matching results. +

+

Improve your results by:

+ +
+{% else %} + + + + + {{ sortable_table_header('project_name', 'Project name', sort_order, sort_column, round_details, query_params) }} + {{ sortable_table_header('funding_requested', 'Funding requested', sort_order, sort_column, round_details, + query_params) }} + {{ sortable_table_header('asset_type', 'Asset type', sort_order, sort_column, round_details, query_params) }} + {{ sortable_table_header('location', 'Location', sort_order, sort_column, round_details, query_params) }} + {{ sortable_table_header('tags', 'Tags', sort_order, sort_column, round_details, query_params) }} + {% if g.access_controller.has_any_assessor_role %} + {{ sortable_table_header('status', 'Status', sort_order, sort_column, round_details, query_params) }} + {% endif %} + {{ sortable_table_header('assigned_to', 'Assigned to', sort_order, sort_column, round_details, query_params) }} + {{ sortable_table_header('last_action', 'Last action', sort_order, sort_column, round_details, query_params) }} + {{ sortable_table_header('time_since_last_action', 'Time since last action', sort_order, sort_column, + round_details, query_params) }} + + + + {% for overview in application_overviews %} + + + + + + + + {{ tags_table(tags[overview.application_id], tagging_purpose_config, query_params.show_tags == "ON") }} + {% if g.access_controller.has_any_assessor_role %} + {{ application_status_column(overview.application_status, overview.get("progress", ""), assessment_statuses) }} + {% endif %} + + + + + + {% endfor %} + +
+ Reference +
{{ overview.short_id[-6:] }}{{ + overview.project_name }}£{{ "{:,.2f}".format(overview.funding_amount_requested|int|round) }}{{ asset_types[overview.asset_type] }}{{ overview.location_json_blob.get('country') or "Not found" }}---
+{% endif %} +{%- endmacro %} diff --git a/app/blueprints/assessments/templates/macros/application_overviews_table_cof.html b/app/blueprints/assessments/templates/macros/deprecated/application_overviews_table_cof.html similarity index 100% rename from app/blueprints/assessments/templates/macros/application_overviews_table_cof.html rename to app/blueprints/assessments/templates/macros/deprecated/application_overviews_table_cof.html diff --git a/app/blueprints/assessments/templates/macros/application_overviews_table_cof_eoi.html b/app/blueprints/assessments/templates/macros/deprecated/application_overviews_table_cof_eoi.html similarity index 100% rename from app/blueprints/assessments/templates/macros/application_overviews_table_cof_eoi.html rename to app/blueprints/assessments/templates/macros/deprecated/application_overviews_table_cof_eoi.html diff --git a/app/blueprints/assessments/templates/macros/application_overviews_table_cyp.html b/app/blueprints/assessments/templates/macros/deprecated/application_overviews_table_cyp.html similarity index 100% rename from app/blueprints/assessments/templates/macros/application_overviews_table_cyp.html rename to app/blueprints/assessments/templates/macros/deprecated/application_overviews_table_cyp.html diff --git a/app/blueprints/assessments/templates/macros/application_overviews_table_dpif.html b/app/blueprints/assessments/templates/macros/deprecated/application_overviews_table_dpif.html similarity index 100% rename from app/blueprints/assessments/templates/macros/application_overviews_table_dpif.html rename to app/blueprints/assessments/templates/macros/deprecated/application_overviews_table_dpif.html diff --git a/app/blueprints/assessments/templates/macros/application_overviews_table_hsra.html b/app/blueprints/assessments/templates/macros/deprecated/application_overviews_table_hsra.html similarity index 100% rename from app/blueprints/assessments/templates/macros/application_overviews_table_hsra.html rename to app/blueprints/assessments/templates/macros/deprecated/application_overviews_table_hsra.html diff --git a/app/blueprints/assessments/templates/macros/application_overviews_table_nstf.html b/app/blueprints/assessments/templates/macros/deprecated/application_overviews_table_nstf.html similarity index 100% rename from app/blueprints/assessments/templates/macros/application_overviews_table_nstf.html rename to app/blueprints/assessments/templates/macros/deprecated/application_overviews_table_nstf.html diff --git a/app/blueprints/assessments/templates/macros/filter_options.html b/app/blueprints/assessments/templates/macros/deprecated/filter_options.html similarity index 100% rename from app/blueprints/assessments/templates/macros/filter_options.html rename to app/blueprints/assessments/templates/macros/deprecated/filter_options.html diff --git a/app/blueprints/assessments/templates/macros/filter_options_dpif.html b/app/blueprints/assessments/templates/macros/deprecated/filter_options_dpif.html similarity index 100% rename from app/blueprints/assessments/templates/macros/filter_options_dpif.html rename to app/blueprints/assessments/templates/macros/deprecated/filter_options_dpif.html diff --git a/app/blueprints/assessments/templates/macros/filter_options_eoi.html b/app/blueprints/assessments/templates/macros/deprecated/filter_options_eoi.html similarity index 100% rename from app/blueprints/assessments/templates/macros/filter_options_eoi.html rename to app/blueprints/assessments/templates/macros/deprecated/filter_options_eoi.html diff --git a/app/blueprints/assessments/templates/macros/filter_options_hsra.html b/app/blueprints/assessments/templates/macros/deprecated/filter_options_hsra.html similarity index 100% rename from app/blueprints/assessments/templates/macros/filter_options_hsra.html rename to app/blueprints/assessments/templates/macros/deprecated/filter_options_hsra.html diff --git a/app/blueprints/assessments/templates/macros/filter_options_all.html b/app/blueprints/assessments/templates/macros/filter_options_all.html new file mode 100644 index 00000000..3d18204e --- /dev/null +++ b/app/blueprints/assessments/templates/macros/filter_options_all.html @@ -0,0 +1,74 @@ +{% macro filter_options(query_params, search_label, assessment_statuses, round_details, show_clear_filters, tag_option_groups, users) %} + +
+
+
+
+
+ + +
+
+ {% if g.access_controller.has_any_assessor_role %} +
+ + +
+ {% endif %} +
+ + +
+
+ + +
+
+ + {% if show_clear_filters %} +

+ Clear search +

+ {% endif %} +
+
+
+ +
+ +{% endmacro %} diff --git a/app/static/src/js/init.js b/app/static/src/js/init.js new file mode 100644 index 00000000..bf9bc25a --- /dev/null +++ b/app/static/src/js/init.js @@ -0,0 +1,4 @@ +// init.js +window.addEventListener('load', (event) => { + window.GOVUKFrontend.initAll(); +}); diff --git a/app/templates/base.html b/app/templates/base.html index 2db3ee32..a2637131 100644 --- a/app/templates/base.html +++ b/app/templates/base.html @@ -29,14 +29,8 @@ {% block bodyEnd %} - - + + {# djlint:off #} diff --git a/app/templates/cookie_policy.html b/app/templates/cookie_policy.html index f0182af9..b7aa9b83 100644 --- a/app/templates/cookie_policy.html +++ b/app/templates/cookie_policy.html @@ -142,7 +142,6 @@

Analytics cookies (optional)< -