Commit Graph

11146 Commits

Author SHA1 Message Date
David McDonald
f8f3d44511 Add form to set service broadcast account type
Note, no option at the moment to set the service broadcast account type
as None, or back to without the broadcast permission. This has been done
for speed of development given the chance of us needing this is very
low. We can add it later if we need to.
2021-02-23 16:03:14 +00:00
David McDonald
6837b76d44 Remove existing broadcast permission form
This will be replaced by a new form that has it's own template, route
etc as it will vary quite a lot from the existing service permission
form.
2021-02-23 16:03:13 +00:00
David McDonald
67d07e4135 Remove option to put service live if broadcast service
Whether a service is live or not will be controlled from the broadcast
service settings page once a service is given the broadcast permission
2021-02-23 16:03:12 +00:00
Ben Thorner
5a7132e9c9 Merge pull request #3811 from alphagov/refresh-dev-tasks
Simplify README and consolidate scripts
2021-02-23 15:01:11 +00:00
David McDonald
22c0c0493c Merge pull request #3813 from alphagov/bump-pyyaml
Rerun freeze-requirements
2021-02-23 12:00:12 +00:00
David McDonald
5d3054ba7a Rerun freeze-requirements
This importantly upgrades pyyaml which has a security bug in 5.3.1

Note, strangely, I had to delete the requirements.txt file and rerun to
get these requirements to upgrade, otherwise it kept them in place
(maybe some piptools caching stuff not calculating things if it doesn't
think it has been asked to change them).
2021-02-23 11:51:09 +00:00
Ben Thorner
86929df84e Remove other unused rules in Makefile
These aren't referenced anywhere. Some are repeated in other rules,
and if necessary it should be easy to type the commands.
2021-02-22 17:21:01 +00:00
Ben Thorner
423b4c7812 Revise final sections of the README
This makes a few additional changes to curb the length of this file,
by moving length documentation (the picture is large) into a separate
file, where other documentation could go. It also corrects the section
on requirements, and attempts to make it more concise.
2021-02-22 17:19:46 +00:00
Ben Thorner
864f4bef66 Revise README to be similar to API app
This restructures the sections based on what we agreed for the API
repo.
2021-02-22 17:19:30 +00:00
Ben Thorner
c1cbd9c34a Remove redundant parts of the README
These aren't specific to this repo, and are covered more generally
in the Wiki [1]. Note that:

- The claim about needing multiple Python versions is not true.
- The NPM instructions should be covered by the "make bootstrap".
- The version of Node/NPM is covered by installing the latest one.

[1]: https://github.com/alphagov/notifications-manuals/wiki/Getting-Started
2021-02-22 17:04:41 +00:00
Ben Thorner
ff035bfe8e Revise section on setup
This is now closer to the recently revised README for the API repo.
2021-02-22 16:56:09 +00:00
Ben Thorner
c7423bc8ca Swap FLASK_DEBUG for FLASK_ENV
This achieves the same thing and gets rid of the warning about being
in a production environment when the app starts up.
2021-02-22 16:54:56 +00:00
Ben Thorner
dfb767d57e Move bootstrap tasks into the Makefile
This is more consistent with how we run all other tasks. Note that
the virtual env setup is not generally applicable, and developers
of this repo should follow the guidance in the README.
2021-02-22 16:53:54 +00:00
Ben Thorner
f6cdf999fe Remove unused files in scripts/ 2021-02-22 16:48:16 +00:00
Ben Thorner
8704f4dfdd Revise section about AWS setup
This is covered in Wiki in more detail. Note that only parts of the
app itself (vs the API app) require these credentials.
2021-02-22 16:44:13 +00:00
Ben Thorner
b2ae52fa11 Remove section about virtualenv
This is covered generically in the Wiki [1].

[1]: https://github.com/alphagov/notifications-manuals/wiki/Getting-Started#development-environment
2021-02-22 16:42:23 +00:00
Ben Thorner
36a806e8bf Switch to 'make' for running app processes
These are simple enough that they don't need their own scripts.
2021-02-22 16:41:30 +00:00
Ben Thorner
2af1d6f159 iRemove redundant Docker tasks
Nothing and no one uses these.
2021-02-22 16:38:27 +00:00
Tom Byers
df7a7dba79 Merge pull request #3807 from alphagov/remove-duplicate-id-from-scrollable-table
Remove id from table used for the row numbers
2021-02-19 14:31:34 +00:00
Chris Hill-Scott
c47b861814 Merge pull request #3808 from alphagov/add-test-area
Add library of test areas
2021-02-19 12:19:01 +00:00
Chris Hill-Scott
f55a8bf4b8 Add library of test areas
This is a temporary addition so we can test out some functionality.
2021-02-19 11:35:51 +00:00
Tom Byers
4dcdb83e44 Remove id from table used for the row numbers
The fullscreenTable component has 2 layers to the
table you see onscreen:
1. the actual data table
2. a clone, with only the first column showing,
   that sits on top so the row numbers stay in
   place while you scroll

Table 1. has an id attribute on its caption. The
region wrapping it has an aria-describedby
attribute with the id as its value. This makes the
caption the description for the region.

This isn't needed for the clone and
makes the HTML invalid because ids should be
unique.

This removes the id from the cloned table.
2021-02-18 15:08:27 +00:00
Ben Thorner
b4b1fd641c Merge pull request #3805 from alphagov/retry-pyup-07
Fix issues with dependencies and upgrade them
2021-02-17 11:51:50 +00:00
Ben Thorner
1c1dd8c96f Merge pull request #3796 from alphagov/handle-duplicate-org
Handle exception is org name already exists
2021-02-17 09:58:11 +00:00
Ben Thorner
5c2cdf6250 Remove redundant import of Mock and ANY
It's conventional to use the "mocker" fixture to access these.
2021-02-17 09:34:34 +00:00
Ben Thorner
00cc67f813 Inline duplicate service fixture with test
Similarly to the previous commit, this fixture is only used once,
so can benefit from being inline with its test.
2021-02-17 09:34:33 +00:00
Ben Thorner
52a5da4d17 Handle exception is org name already exists
Previously this would return a 500 error, as the 400 exception was
not handled from the API [1]. Note that:

- We tend to rely on exception messages to identify the error that
occurred [2][3], with services being a notable deviation [4]. I've
used the exception message approach, as this is more granular and
broadly consistent with the rest of the app.

- There is already code to cover this scenario when a user changes
the name of an existing organisation or service, but the mechanism
is different [5][6]. It makes sense to just get any error from the
call to try and create the organisation.

- The API mock is based on one for services [7], but I've chosen to
have it inline with the test, since we're unlikely to reuse it, and
it's clearer to have the test setup as part of the test.

[1]: 8f99da525d/app/organisation/rest.py (L34-L47)
[2]: 70b606a2d4/app/main/views/manage_users.py (L166)
[3]: 70b606a2d4/app/main/views/templates.py (L499)
[4]: 70b606a2d4/app/main/views/add_service.py (L30)
[5]: 70b606a2d4/app/main/views/service_settings.py (L102-L104)
[6]: 70b606a2d4/app/main/views/organisations.py (L264-L266)
[7]: 0abc143147/tests/conftest.py (L590-L606)
2021-02-17 09:34:30 +00:00
Ben Thorner
765c8ddbe2 Keep test dependencies as-is for now
These are leading to multiple failures:

- flake8 fails with various issues
- isort fails with various issues
- pytest fails on a couple of 2FA tests

While we can and should upgrade these dependencies, the priority is
fixing the build so that we can do this reliably.
2021-02-16 18:09:52 +00:00
Ben Thorner
5d946c9d0b Run 'make freeze-requirements' to fix install errors
This downgrades various packages so they are mutually compatible
and "pip install -r requirements.txt" succeeds.

This downgrades to pyyaml 5.3.1, despite it having a security issue,
in order to fix the build for the time being. This also downgrades
dnspython, due to a suspected issue with eventlet [1], which caused
the admin app to start failing with errors like this:

  File "/home/vcap/deps/0/python/lib/python3.6/site-packages/urllib3/connectionpool.py", line 1010, in _validate_conn
    conn.connect()
  File "/home/vcap/deps/0/python/lib/python3.6/site-packages/urllib3/connection.py", line 394, in connect
    cert_reqs=resolve_cert_reqs(self.cert_reqs),
  File "/home/vcap/deps/0/python/lib/python3.6/site-packages/urllib3/util/ssl_.py", line 303, in create_urllib3_context
    context.options |= options
  File "/home/vcap/deps/0/python/lib/python3.6/ssl.py", line 465, in options
    super(SSLContext, SSLContext).options.__set__(self, value)
  File "/home/vcap/deps/0/python/lib/python3.6/ssl.py", line 465, in options
    super(SSLContext, SSLContext).options.__set__(self, value)
  File "/home/vcap/deps/0/python/lib/python3.6/ssl.py", line 465, in options
    super(SSLContext, SSLContext).options.__set__(self, value)
  [Previous line repeated 280 more times]
  RecursionError: maximum recursion depth exceeded while calling a Python object

[1]: https://github.com/eventlet/eventlet/pull/684
2021-02-16 18:09:51 +00:00
Ben Thorner
627e4e41ab Stop locking non-test dependencies twice
Currently we have a situation where we're not running tests against
new versions of dependencies, as requirements_for_test.txt is not
being kept in-sync with requirements.txt by pyup. Deploys are only
working because Concourse silently ignores version issues.

From a deployment log:

awscli 1.18.211 has requirement PyYAML<5.4,>=3.10; python_version != "3.4", but you'll have pyyaml 5.4 which is incompatible.

This switches to a single requirements file for test dependencies,
in order to keep it in-sync with requirements.txt i.e. we run our
tests against the same versions of dependencies that we deploy with,
and the build fails if we try to use package versions that are not
mutually compatible, as this example PR shows [1].

ERROR: Cannot install -r requirements_for_test.txt (line 17), -r requirements_for_test.txt (line 198) and pyyaml==5.4.1 because these package versions have conflicting dependencies.

We shouldn't need to have fine-grained locking on test dependencies,
beyond those we want to list manually in the file.

[1]: https://github.com/alphagov/notifications-admin/pull/3804
2021-02-16 18:09:47 +00:00
Ben Thorner
14ef2b95cd Revert "Revert "Scheduled weekly dependency update for week 07""
This reverts commit e23daa205c.
2021-02-16 16:16:17 +00:00
Pea Tyczynska
0199709adb Merge pull request #3788 from alphagov/org-billing-details
View and edit notes and billing details for organisation
2021-02-16 15:31:43 +00:00
Pea Tyczynska
47f20ae438 Change content following content review 2021-02-16 15:20:15 +00:00
Pea Tyczynska
7c34a9bd46 Update pyaml 2021-02-16 14:48:43 +00:00
Pea Tyczynska
5a342b2a39 Test that only platform admins can update org notes 2021-02-16 14:46:14 +00:00
Pea Tyczynska
d7596f81fb Add screen reader suffixes on all org settings
So screen reader users have consistent experience.
2021-02-16 14:46:14 +00:00
Pea Tyczynska
741beeb903 Add test case for when organisation notes do not change 2021-02-16 14:46:14 +00:00
Pea Tyczynska
b2e4f76f94 Fix import order 2021-02-16 14:46:13 +00:00
Pea Tyczynska
eb9e6e2c71 Update organisation billing details 2021-02-16 14:46:13 +00:00
Pea Tyczynska
36c72bb4cc View edit organisation billing details page 2021-02-16 14:46:13 +00:00
Pea Tyczynska
f4dc2a173e Link to edit billing details page for organisation 2021-02-16 14:46:13 +00:00
Pea Tyczynska
8ea748f6e4 Update organisation notes 2021-02-16 14:46:12 +00:00
Pea Tyczynska
e090d97997 View edit organisation notes page
Also fix page title for edit service notes page.
2021-02-16 14:46:12 +00:00
Pea Tyczynska
56b777872e Organisation billing details visible on organisation settings page 2021-02-16 14:46:12 +00:00
Pea Tyczynska
f0d94a009e Organisation notes visible on organisation settings page 2021-02-16 14:46:11 +00:00
Ben Thorner
71198bbb07 Merge pull request #3803 from alphagov/revert-3802-pyup-scheduled-update-2021-02-15
Revert "Scheduled weekly dependency update for week 07"
2021-02-16 14:36:08 +00:00
Ben Thorner
e23daa205c Revert "Scheduled weekly dependency update for week 07" 2021-02-16 14:25:43 +00:00
Ben Thorner
6e04313c18 Merge pull request #3802 from alphagov/pyup-scheduled-update-2021-02-15
Scheduled weekly dependency update for week 07
2021-02-16 13:46:54 +00:00
pyup-bot
e28f7da5bf Update xlrd from 1.2.0 to 2.0.1 2021-02-15 13:55:20 +00:00
pyup-bot
44b66ccfe6 Update urllib3 from 1.26.2 to 1.26.3 2021-02-15 13:55:20 +00:00