diff --git a/src/filters/aOrAn.js b/src/filters/aOrAn.js new file mode 100644 index 00000000..98ab0634 --- /dev/null +++ b/src/filters/aOrAn.js @@ -0,0 +1,4 @@ +export function aOrAn (word) { + // returns 'a' or 'an' depending on the first letter of the input word - does not quite work for all words such as hour + return word && typeof word === 'string' ? (['a', 'e', 'i', 'o', 'u'].includes(word.trim().toLowerCase()[0]) ? 'an' : 'a') : 'a' +} diff --git a/src/filters/filters.js b/src/filters/filters.js index 03b8fee2..c0f67d4a 100644 --- a/src/filters/filters.js +++ b/src/filters/filters.js @@ -13,6 +13,7 @@ import { schemaIssues } from './schemaIssues.js' import { endpointSubmissionFormToolDeepLink } from './endpointSubmissionFormDeepLink.js' import { isFeatureEnabled } from '../utils/features.js' import { getNavigationLinks } from './getNavigationLinks.js' +import { aOrAn } from './aOrAn.js' /** maps dataset status (as returned by `fetchLpaOverview` middleware to a * CSS class used by the govuk-tag component */ @@ -47,6 +48,7 @@ const addFilters = (nunjucksEnv) => { nunjucksEnv.addFilter('getFullServiceName', getFullServiceName) nunjucksEnv.addFilter('statusToTagClass', statusToTagClass) nunjucksEnv.addFilter('pluralise', pluralize) + nunjucksEnv.addFilter('aOrAn', aOrAn) nunjucksEnv.addFilter('checkToolDeepLink', checkToolDeepLink) nunjucksEnv.addFilter('endpointSubmissionFormToolDeepLink', endpointSubmissionFormToolDeepLink) nunjucksEnv.addFilter('getDatasetGuidanceUrl', getDatasetGuidanceUrl) diff --git a/src/filters/getNavigationLinks.js b/src/filters/getNavigationLinks.js index 22c368c0..0374a426 100644 --- a/src/filters/getNavigationLinks.js +++ b/src/filters/getNavigationLinks.js @@ -6,6 +6,14 @@ const navigationLinks = { guidance: { href: '/guidance', text: 'Guidance' + }, + community: { + href: '/community', + text: 'Community' + }, + extract: { + href: '/extract', + text: 'Extract your data' } } diff --git a/src/routes/community.js b/src/routes/community.js new file mode 100644 index 00000000..ba26d48e --- /dev/null +++ b/src/routes/community.js @@ -0,0 +1,11 @@ +import express from 'express' +import nunjucks from 'nunjucks' + +const router = express.Router() + +router.get('/', (req, res) => { + const communityPage = nunjucks.render('community.html', {}) + res.send(communityPage) +}) + +export default router diff --git a/src/routes/extract.js b/src/routes/extract.js new file mode 100644 index 00000000..22135152 --- /dev/null +++ b/src/routes/extract.js @@ -0,0 +1,11 @@ +import express from 'express' +import nunjucks from 'nunjucks' + +const router = express.Router() + +router.get('/', (req, res) => { + const extractPage = nunjucks.render('extract.html', {}) + res.send(extractPage) +}) + +export default router diff --git a/src/serverSetup/routes.js b/src/serverSetup/routes.js index b921aa81..c14544d5 100644 --- a/src/serverSetup/routes.js +++ b/src/serverSetup/routes.js @@ -8,13 +8,16 @@ import manage from '../routes/manage.js' import privacy from '../routes/privacy.js' import cookies from '../routes/cookies.js' import guidance from '../routes/guidance.js' +import community from '../routes/community.js' +import extract from '../routes/extract.js' export function setupRoutes (app) { app.use('/', manage) app.use('/check', checkFormWizard) app.use('/organisations', organisations) app.use('/guidance', guidance) - + app.use('/community', community) + app.use('/extract', extract) app.use('/api', polling) app.use('/accessibility', accessibility) diff --git a/src/views/accessibility.html b/src/views/accessibility.html index dfc23040..c307d8cd 100644 --- a/src/views/accessibility.html +++ b/src/views/accessibility.html @@ -1,5 +1,5 @@ {% extends "layouts/main.html" %} -{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance']) %} +{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance', 'community', 'extract']) %} {% set pageName = 'Accessibility statement for Check and provide planning and housing data for England' %} {% set markdownContent %} diff --git a/src/views/community.html b/src/views/community.html new file mode 100644 index 00000000..d184fd70 --- /dev/null +++ b/src/views/community.html @@ -0,0 +1,10 @@ +{% extends "layouts/main.html" %} +{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance', 'community', 'extract']) %} +{% set pageName = 'Community' %} + +{% block main %} +
+

Community

+

You can get involved with community events and discussions to help improve this service.

+
+{% endblock %} \ No newline at end of file diff --git a/src/views/cookies.html b/src/views/cookies.html index 0367b151..34273a71 100644 --- a/src/views/cookies.html +++ b/src/views/cookies.html @@ -6,7 +6,7 @@ {% set pageName = 'Cookie notice for Check and provide planning and housing data for England' %} {% set serviceType = 'manage' %} -{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance']) %} +{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance', 'community', 'extract']) %} {% set markdownContent %} # Check and provide planning and housing data for England cookies notice diff --git a/src/views/error.html b/src/views/error.html index f05056e8..46f66de9 100644 --- a/src/views/error.html +++ b/src/views/error.html @@ -1,7 +1,7 @@ {% from "govuk/components/button/macro.njk" import govukButton %} {% set pageName = "Error" %} -{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance']) %} +{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance', 'community', 'extract']) %} {% extends "layouts/main.html" %} {% block content %}

Error

diff --git a/src/views/extract.html b/src/views/extract.html new file mode 100644 index 00000000..d93b9b79 --- /dev/null +++ b/src/views/extract.html @@ -0,0 +1,25 @@ +{% extends "layouts/main.html" %} +{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance', 'community', 'extract']) %} +{% set pageName = 'Extract' %} + +{% block main %} +
+

Extract your data

+

Extract is a tool that turns your maps, PDFs and historic planning records into standardised + planning data.

+

When you upload a document, the tool will:

+ +

You can review and correct the data that the tool extracts before you export it.

+

We currently support:

+ +

Find out more about Extract

+
+{% endblock %} \ No newline at end of file diff --git a/src/views/includes/_issue-guidance.html b/src/views/includes/_issue-guidance.html index b9b327f7..1033ea11 100644 --- a/src/views/includes/_issue-guidance.html +++ b/src/views/includes/_issue-guidance.html @@ -17,7 +17,7 @@

How to fix this issue

-

Your dataset is missing the {{ issueSpecification.field }} column.

+

Your data is missing {{ issueSpecification.field | aOrAn }} {{ issueSpecification.field }}.

The {{ dataset.name }} guidance explains how to fix the issue:

{{ govukInsetText({ html: issueSpecificationInsetHtml diff --git a/src/views/landing.html b/src/views/landing.html index 3ade7bcc..50c2a272 100644 --- a/src/views/landing.html +++ b/src/views/landing.html @@ -1,10 +1,10 @@ {% extends "layouts/main.html" %} {% from "govuk/components/button/macro.njk" import govukButton %} {% from 'govuk/components/phase-banner/macro.njk' import govukPhaseBanner %} - {% set serviceType = 'Manage' %} {% set pageName = '' %} -{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance']) %} +{% set mainClasses = 'govuk-!-padding-0' %} +{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance', 'community', 'extract']) %} {% block main %}
@@ -17,108 +17,33 @@

{{ serviceName }}

-

- The Planning Data platform is a single national platform that indexes the - data and makes it available in a standardised - format. + Use this service to:

- +
    +
  • check your data is ready to publish
  • +
  • provide your data to the planning data platform
  • +

- You can use the service to check your data and provide it to us. - We’ll add it to the Planning Data Platform. - You must publish your data on your website before you provide it. + Planning data aims to make land and housing data easier to find, use and trust. We take the data you provide + and standardise it in a consistent format.

-

- Your data does not need to be complete or perfect to start. - Any data we have from you means we can begin to index it and provide it on the platform. - Start with what you have and improve it over time. + Find out how to check and provide your data

- -

- Read the guidance to help you check and provide your data -

- - Check and provide data + Start now
- -
 
+
{{ super() }} -{% endblock %} - -{% block content %} -
-
-

Check your data

- -

The check tool can help you understand which issues you need to fix straightaway, and which issues you can fix later.

- -

The tool will accept any of these formats:

- - -

Alternatively you can use your endpoint URL (the URL of the data file or feed itself).

-

You do not need to publish your data on your website before you check it.

-
-
- -
-
- -
-

Provide your data

- -

Once you have published your data on your website, you can provide your data to the platform. We'll need your:

- - -
-
- -
-
- -
-

View your data

- -

- Visit your organisation’s dashboard anytime to clearly see the data you’ve supplied and the datasets you still need to provide. -

- -

For any live data, we’ll let you know what you can do to improve it.

-
-
- -
-
- -
-

Contribute to the data design process

- -

Information about how you can help with designing data and get involved in community events and discussions.

- -

Contribute to the data design process

-
- -
-{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/src/views/organisations/dataset-overview.html b/src/views/organisations/dataset-overview.html index f6598e4e..eeac90bc 100644 --- a/src/views/organisations/dataset-overview.html +++ b/src/views/organisations/dataset-overview.html @@ -26,7 +26,7 @@ {% from "components/alternativeSourceNotice.html" import alternativeSourceNotice %} {% from "components/alternativePrePopulatedSourceNotice.html" import alternativePrePopulatedSourceNotice %} -{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance']) %} +{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance', 'community', 'extract']) %} {% set serviceType = 'Manage' %} {% set pageName %} diff --git a/src/views/organisations/datasetTaskList.html b/src/views/organisations/datasetTaskList.html index 87a8a937..ebed926c 100644 --- a/src/views/organisations/datasetTaskList.html +++ b/src/views/organisations/datasetTaskList.html @@ -2,7 +2,7 @@ {% from 'govuk/components/task-list/macro.njk' import govukTaskList %} {% from "../components/dataset-navigation.html" import datasetNavigation %} -{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance']) %} +{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance', 'community', 'extract']) %} {% set pageName %}{{organisation.name}} - {{dataset.dataset | datasetSlugToReadableName(true)}} - Task list{% endset %} {% set serviceType = 'Manage' %} diff --git a/src/views/organisations/dataview.html b/src/views/organisations/dataview.html index 50289a81..dfae18e2 100644 --- a/src/views/organisations/dataview.html +++ b/src/views/organisations/dataview.html @@ -5,7 +5,7 @@ {% from "components/alternativeSourceNotice.html" import alternativeSourceNotice %} {% from "components/alternativePrePopulatedSourceNotice.html" import alternativePrePopulatedSourceNotice %} -{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance']) %} +{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance', 'community', 'extract']) %} {% set serviceType = 'Submit'%} {% set pageName %}{{organisation.name}} - {{dataset.dataset | datasetSlugToReadableName(true)}} - Dataset table{% endset %} diff --git a/src/views/organisations/find.html b/src/views/organisations/find.html index 685ef893..bed3bbf2 100644 --- a/src/views/organisations/find.html +++ b/src/views/organisations/find.html @@ -1,6 +1,6 @@ {% from "govuk/components/breadcrumbs/macro.njk" import govukBreadcrumbs %} -{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance']) %} +{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance', 'community', 'extract']) %} {% set serviceType = 'Manage' %} {% set pageName = "Find your organisation" %} diff --git a/src/views/organisations/get-started.html b/src/views/organisations/get-started.html index 9e780e63..1c6f2178 100644 --- a/src/views/organisations/get-started.html +++ b/src/views/organisations/get-started.html @@ -1,6 +1,6 @@ {% from "govuk/components/breadcrumbs/macro.njk" import govukBreadcrumbs %} -{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance']) %} +{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance', 'community', 'extract']) %} {% set serviceType = 'Manage' %} {% set pageName %} {{organisation.name}} - {{dataset.dataset | datasetSlugToReadableName(true)}} - Get started diff --git a/src/views/organisations/http-error.html b/src/views/organisations/http-error.html index 58b7e536..2d606022 100644 --- a/src/views/organisations/http-error.html +++ b/src/views/organisations/http-error.html @@ -1,7 +1,7 @@ {% from "govuk/components/summary-list/macro.njk" import govukSummaryList %} {% from "govuk/components/breadcrumbs/macro.njk" import govukBreadcrumbs %} -{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance']) %} +{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance', 'community', 'extract']) %} {% set pageName %}{{organisation.name}} - {{dataset.dataset | datasetSlugToReadableName(true)}} - Task list{% endset %} {% set serviceType = 'manage' %} {% set resubmitUrl %}/organisations/{{ organisation.organisation | urlencode }}/{{ dataset.dataset | urlencode }}/get-started{% endset %} diff --git a/src/views/organisations/issueDetails.html b/src/views/organisations/issueDetails.html index b5677525..b85022c8 100644 --- a/src/views/organisations/issueDetails.html +++ b/src/views/organisations/issueDetails.html @@ -4,7 +4,7 @@ {% from "govuk/components/breadcrumbs/macro.njk" import govukBreadcrumbs %} {% set isExpectation = issueType === 'expectation' %} -{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance']) %} +{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance', 'community', 'extract']) %} {% set serviceType = 'Submit'%} {% if issueEntitiesCount > 1 %} {% set pageName %}{{organisation.name}} - {{dataset.dataset | datasetSlugToReadableName(true)}} - Issues (Page {{pageNumber}} of {{issueEntitiesCount}}){% endset %} diff --git a/src/views/organisations/issueTable.html b/src/views/organisations/issueTable.html index e9bbfab1..b8bd61dd 100644 --- a/src/views/organisations/issueTable.html +++ b/src/views/organisations/issueTable.html @@ -4,7 +4,7 @@ {% from "govuk/components/pagination/macro.njk" import govukPagination %} {% from "govuk/components/breadcrumbs/macro.njk" import govukBreadcrumbs %} -{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance']) %} +{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance', 'community', 'extract']) %} {% set serviceType = 'Submit'%} {% if issueEntitiesCount > 1 %} {% set pageName %}{{organisation.name}} - {{dataset.dataset | datasetSlugToReadableName(true)}} - Issues (Page {{pageNumber}} of {{issueEntitiesCount}}){% endset %} diff --git a/src/views/organisations/overview.html b/src/views/organisations/overview.html index 616f99f0..4bd07318 100644 --- a/src/views/organisations/overview.html +++ b/src/views/organisations/overview.html @@ -3,7 +3,7 @@ {% from "components/deadlineNotice.html" import deadlineNotice %} {% from "components/deadlineNoticeContent.html" import noticeHeading, noticeCardHint %} -{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance']) %} +{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance', 'community', 'extract']) %} {% set pageName = organisation.name + " overview" %} {% set serviceType = 'Manage' %} diff --git a/src/views/privacy-notice.html b/src/views/privacy-notice.html index 70647462..f7d77471 100644 --- a/src/views/privacy-notice.html +++ b/src/views/privacy-notice.html @@ -1,7 +1,7 @@ {% extends "layouts/main.html" %} {% set pageName = 'Privacy notice for Check and provide planning and housing data for England' %} -{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance']) %} +{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance', 'community', 'extract']) %} {% set markdownContent %} # Check and provide planning and housing data for England privacy notice diff --git a/test/PageObjectModels/landingPage.js b/test/PageObjectModels/landingPage.js index ab7bf6f0..30d909c1 100644 --- a/test/PageObjectModels/landingPage.js +++ b/test/PageObjectModels/landingPage.js @@ -7,7 +7,7 @@ export default class LandingPage extends BasePage { } async clickStartNow () { - await this.page.click('text=Check and provide data') + await this.page.click('text=Start now') return await super.verifyAndReturnPage(OrganisationsPage) } }