mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-25 00:33:58 -04:00
Merge conflicts with master.
This commit is contained in:
26
.travis.yml
26
.travis.yml
@@ -6,8 +6,6 @@ addons:
|
|||||||
postgresql: '9.3'
|
postgresql: '9.3'
|
||||||
env:
|
env:
|
||||||
secure: jT9BIioqBMkOdLZhU+WJNdnRJ+06G7qUx4QqEVldp96dJwmWpPEvA0XbitdnQt/WXYkpMlDbgSApvvGj2ZNvdpowRRe5HFX8D2Udhi2g9+cXgKrQxH6zv0evJyQLOjCINW6KtgMCJ5wkYR3qQ4BQawlDt6ecpmeboKTmvs2W8jZ09aV4IKKvdd7BwFon10QVPF5ny10G83unLtKnKgRMjSSLnaEiA78pE/LSUkekK4mhmtl+yfQf60cIuQGcN9NCYIt5PrdYYyMkbUaht9ykwL2C11sp5JYPClI9k6lrlpGJCdL9wbJwejGhR/pEqwJ4tKK8Zv+mngmkbzE6fd5ehuRMnIUAifG4t3p6WbhKwY5pJsdVyPgWcRSPXOJA7yEcAeTAvWcC++6mCIFBeMxt/yQNw02jkFHeNKRh2twTRvr4xWZHq9FsVxTEVz89OOuue3IkkyDNmVusGJ9+AVRIn9Oa+U/r3bDnrs7jz+meSwb82GZUBzFpUe2pe8qeBE572Ay7yHB73VHUgp/2A1qkZ4SnTjTpMbnS5RdXTgwtMkOs5MLZgteCVxFL3sHcr9e/B3UIUnzKUSPXXOjHyDxBwrABWo81V9Vp2IPV7P9Ofv8zroudjQxK5MOcbmiPQF+eEB9L4DvkUBNsGxtJ/nmPp6tmN0Xjo0xXVdZCEVj29Og=
|
secure: jT9BIioqBMkOdLZhU+WJNdnRJ+06G7qUx4QqEVldp96dJwmWpPEvA0XbitdnQt/WXYkpMlDbgSApvvGj2ZNvdpowRRe5HFX8D2Udhi2g9+cXgKrQxH6zv0evJyQLOjCINW6KtgMCJ5wkYR3qQ4BQawlDt6ecpmeboKTmvs2W8jZ09aV4IKKvdd7BwFon10QVPF5ny10G83unLtKnKgRMjSSLnaEiA78pE/LSUkekK4mhmtl+yfQf60cIuQGcN9NCYIt5PrdYYyMkbUaht9ykwL2C11sp5JYPClI9k6lrlpGJCdL9wbJwejGhR/pEqwJ4tKK8Zv+mngmkbzE6fd5ehuRMnIUAifG4t3p6WbhKwY5pJsdVyPgWcRSPXOJA7yEcAeTAvWcC++6mCIFBeMxt/yQNw02jkFHeNKRh2twTRvr4xWZHq9FsVxTEVz89OOuue3IkkyDNmVusGJ9+AVRIn9Oa+U/r3bDnrs7jz+meSwb82GZUBzFpUe2pe8qeBE572Ay7yHB73VHUgp/2A1qkZ4SnTjTpMbnS5RdXTgwtMkOs5MLZgteCVxFL3sHcr9e/B3UIUnzKUSPXXOjHyDxBwrABWo81V9Vp2IPV7P9Ofv8zroudjQxK5MOcbmiPQF+eEB9L4DvkUBNsGxtJ/nmPp6tmN0Xjo0xXVdZCEVj29Og=
|
||||||
before_install:
|
|
||||||
- rvm install 2.0.0
|
|
||||||
install:
|
install:
|
||||||
- bundle install
|
- bundle install
|
||||||
- pip install -r requirements_for_test.txt
|
- pip install -r requirements_for_test.txt
|
||||||
@@ -30,27 +28,3 @@ deploy:
|
|||||||
repo: alphagov/notifications-admin
|
repo: alphagov/notifications-admin
|
||||||
run:
|
run:
|
||||||
- python app.py db upgrade
|
- python app.py db upgrade
|
||||||
- provider: s3
|
|
||||||
access_key_id: AKIAI37IS2VAC5PJHHDA
|
|
||||||
secret_access_key: &1
|
|
||||||
secure: FZ0OcAyYPY8kyMB+JwdV1XBz9gT0uThGmdti4oR72cdnpoIMbPfwTmkIiRu2tlW8OplS+RnuivFDxBXOdaQUkcOSTZZAywdROVdNSf98XfiWmWopH+FZtp3cCu+tWgePseVUBBEIfQ0gPdZaflh/c4Yw2888MaUKOOMuqYb9CuEvDtzbFJ3fs6lstK2dveE9pHgVFkQgppLohDGaWFEEXG+fngYqPukK4pvoA8LD7TWW9kTbK8HEG56kvVLxrU7HWisCxHjwB761Zenbq3AiWcVtNaD8DfMzEM/1jKliWjjyAdyAH3EkSti0HJnM4b5L9ewIukt/yr3xtH4Hz0xHgQ+nzk0g81+OB1lQSRl63aNk6sExknsUbKPDCoUOYbmp6FXEohN42EJTywMUfsaDgvdcH71MCcIV+z/YIUoI1RfMEGK4jYDYH6j1477BvhxuywD7CSvHRsjLyT4xmFGxlbg7E02TrMUe7Fon2uPa3Olf/vmbkyhur4tTYEwYwQhIk/txVXazh3QFQx3jrtPaisvuf6cjyCCH92LoKYj/JQ9EZaBZjjbfNF4N8b+WNDPGkLPWWtFTkkDkXgFs72pX8NSJiCbq2kdLo0zV0J8cQlgiRuMGHQQE6t5MnoT/UaUPhSMajcIgh6RZDT9wcU4svs8wfVdOnMeN2ClnARa26Kw=
|
|
||||||
local_dir: dpl_cd_upload
|
|
||||||
skip_cleanup: true
|
|
||||||
on: &2
|
|
||||||
repo: alphagov/notifications-admin
|
|
||||||
bucket: notifications-admin-codedeploy
|
|
||||||
region: eu-west-1
|
|
||||||
- provider: codedeploy
|
|
||||||
access_key_id: AKIAI37IS2VAC5PJHHDA
|
|
||||||
secret_access_key: *1
|
|
||||||
bucket: notifications-admin-codedeploy
|
|
||||||
key: notifications-admin.zip
|
|
||||||
bundle_type: zip
|
|
||||||
application: notifications-admin
|
|
||||||
deployment_group: notifications_admin_deployment_group
|
|
||||||
region: eu-west-1
|
|
||||||
on: *2
|
|
||||||
before_deploy:
|
|
||||||
- zip -r notifications-admin *
|
|
||||||
- mkdir -p dpl_cd_upload
|
|
||||||
- mv notifications-admin.zip dpl_cd_upload/notifications-admin.zip
|
|
||||||
1
Gemfile
1
Gemfile
@@ -1,3 +1,2 @@
|
|||||||
source 'https://rubygems.org'
|
source 'https://rubygems.org'
|
||||||
ruby '2.0.0'
|
|
||||||
gem 'sass'
|
gem 'sass'
|
||||||
|
|||||||
@@ -10,4 +10,4 @@ DEPENDENCIES
|
|||||||
sass
|
sass
|
||||||
|
|
||||||
BUNDLED WITH
|
BUNDLED WITH
|
||||||
1.10.6
|
1.10.6
|
||||||
|
|||||||
@@ -112,18 +112,14 @@ class AddServiceForm(Form):
|
|||||||
|
|
||||||
def validate_codes(field, code_type):
|
def validate_codes(field, code_type):
|
||||||
codes = verify_codes_dao.get_codes(user_id=session['user_id'], code_type=code_type)
|
codes = verify_codes_dao.get_codes(user_id=session['user_id'], code_type=code_type)
|
||||||
is_valid = len([code for code in codes if validate_code(field, code)]) == 1
|
print('validate_codes for user_id: {} are {}'.format(session['user_id'], codes))
|
||||||
if is_valid:
|
if not [code for code in codes if validate_code(field, code)]:
|
||||||
field.errors.clear()
|
raise ValidationError('Code does not match')
|
||||||
return is_valid
|
|
||||||
|
|
||||||
|
|
||||||
def validate_code(field, code):
|
def validate_code(field, code):
|
||||||
if field.data and check_hash(field.data, code.code):
|
if field.data and check_hash(field.data, code.code):
|
||||||
if code.expiry_datetime <= datetime.now():
|
if code.expiry_datetime <= datetime.now():
|
||||||
field.errors.append('Code has expired')
|
raise ValidationError('Code has expired')
|
||||||
return False
|
else:
|
||||||
return True
|
return code.code
|
||||||
else:
|
|
||||||
field.errors.append('Code does not match')
|
|
||||||
return False
|
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
|
|
||||||
from flask import (
|
from flask import (
|
||||||
render_template, redirect, jsonify, session, url_for)
|
render_template, redirect, jsonify, session, url_for)
|
||||||
|
|
||||||
from flask_login import login_user
|
from flask_login import login_user
|
||||||
|
|
||||||
from app.main import main
|
from app.main import main
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
from flask import (
|
from flask import (
|
||||||
render_template, redirect, jsonify, session, url_for)
|
render_template, redirect, jsonify, session, url_for)
|
||||||
|
|
||||||
from flask_login import login_user
|
from flask_login import login_user
|
||||||
|
|
||||||
from app.main import main
|
from app.main import main
|
||||||
@@ -10,16 +11,13 @@ from app.main.forms import VerifyForm
|
|||||||
@main.route('/verify', methods=['GET', 'POST'])
|
@main.route('/verify', methods=['GET', 'POST'])
|
||||||
def verify():
|
def verify():
|
||||||
# TODO there needs to be a way to regenerate a session id
|
# TODO there needs to be a way to regenerate a session id
|
||||||
try:
|
# or handle gracefully.
|
||||||
user = users_dao.get_user_by_id(session['user_id'])
|
user = users_dao.get_user_by_id(session['user_id'])
|
||||||
form = VerifyForm()
|
form = VerifyForm()
|
||||||
if form.validate_on_submit():
|
if form.validate_on_submit():
|
||||||
verify_codes_dao.use_code_for_user_and_type(user_id=user.id, code_type='email')
|
verify_codes_dao.use_code_for_user_and_type(user_id=user.id, code_type='email')
|
||||||
verify_codes_dao.use_code_for_user_and_type(user_id=user.id, code_type='sms')
|
verify_codes_dao.use_code_for_user_and_type(user_id=user.id, code_type='sms')
|
||||||
users_dao.activate_user(user.id)
|
users_dao.activate_user(user.id)
|
||||||
login_user(user)
|
login_user(user)
|
||||||
return redirect(url_for('.add_service'))
|
return redirect(url_for('.add_service'))
|
||||||
return render_template('views/verify.html', form=form)
|
return render_template('views/verify.html', form=form)
|
||||||
except:
|
|
||||||
import traceback
|
|
||||||
traceback.print_exc()
|
|
||||||
|
|||||||
Reference in New Issue
Block a user