mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-02-05 10:53:28 -05:00
16fbfe49a39a14eb30a43bc9395379cd68c38f73
As part of https://github.com/alphagov/notifications-admin/pull/187 the file upload pattern was changed to auto-submit once a file had been picked. The form that was submitted was, however, missing a CSRF token, as well as a submit button for non-JS users. This commit makes the file upload pattern self-contained, so that it will always include a form with a CSRF token in a hidden input and a submit button, which is then hidden when Javascript loads.
…
…
notifications-admin
Application to handle the admin functions of the notifications application.
Features of this application
- Register users
- Register services
- Download CSV for an email or SMS batch
- Show history of notifications
- Reports
First-time setup
You need Node which will also get you NPM, Node's package management tool.
brew install node
n is a tool for managing different versions of node. The following installs n and uses the latest version of node.
npm install -g n
n latest
npm rebuild node-sass
The frontend dependencies are managed using NPM and Bower. To install or update all the things, run
npm install
npm run build
The app runs within a virtual environment. To install virtualenv, run
[sudo] pip install virtualenv
To make a virtualenv for this app, run
mkvirtualenv -p /usr/local/bin/python3 notifications-admin
pip install -r requirements.txt
./scripts/bootstrap.sh
Building the frontend
If you want the front end assets to re-compile on changes, leave this running in a separate terminal from the app
npm run watch
Running the application
workon notifications-admin
./scripts/run_app.sh
Then visit localhost:6012
Domain model
All the domain models are defined in the models.py file.
Description
Languages
Python
69.3%
HTML
16.6%
JavaScript
11.1%
SCSS
0.9%
Nunjucks
0.7%
Other
1.4%