From 17179e8deb0c9b79095500a485f369842388ec1d Mon Sep 17 00:00:00 2001 From: deflax Date: Wed, 24 May 2017 17:37:52 +0300 Subject: [PATCH] jquery profile a.o. stuff --- app/auth/routes.py | 13 ++++-- app/models.py | 2 +- app/settings/forms.py | 14 ++++-- app/settings/routes.py | 15 ++---- app/templates/settings/_sidebar.html | 12 ----- app/templates/settings/profile.html | 66 +++++++++++++++++++++++---- app/templates/sidebar.html | 14 ++++++ app/templates/uinvoice/_sidebar.html | 10 ---- app/templates/uinvoice/charge.html | 2 +- app/templates/uinvoice/documents.html | 2 +- app/templates/uinvoice/invoice.html | 2 +- app/templates/vmanager/dashboard.html | 6 +-- 12 files changed, 100 insertions(+), 58 deletions(-) delete mode 100644 app/templates/settings/_sidebar.html create mode 100644 app/templates/sidebar.html delete mode 100644 app/templates/uinvoice/_sidebar.html diff --git a/app/auth/routes.py b/app/auth/routes.py index 76f4651..bd20f5e 100644 --- a/app/auth/routes.py +++ b/app/auth/routes.py @@ -35,16 +35,17 @@ def login(): if form.validate_on_submit(): user = User.query.filter_by(email=form.email.data).first() - if user.active == False: - flash('User disabled.') - return redirect(url_for('main.index')) - if user is not None and user.verify_password(form.password.data): + if user.active == False: + flash('User disabled.') + return redirect(url_for('main.index')) + if user.twofactor: # redirect to the two-factor auth page, passing username in session session['email'] = user.email session['memberberry'] = form.remember_me.data return redirect(url_for('auth.twofactor')) + #print('remember: ' + str(form.remember_me.data)) login_user(user, form.remember_me.data) previp = user.last_ip @@ -56,7 +57,7 @@ def login(): db.session.add(user) db.session.commit() #send_email(current_app.config['MAIL_USERNAME'], user.email + ' logged in.', 'auth/email/adm_loginnotify', user=user, ipaddr=lastip ) - flash('Last Login: {} from {}'.format(user.last_seen, previp)) + flash('Last Login: {} from {}'.format(user.last_seen.strftime("%a %d %B %Y %H:%M"), previp)) return redirect(request.args.get('next') or url_for('vmanager.dashboard')) else: flash('Invalid username or password.') @@ -92,6 +93,8 @@ def twofactor(): db.session.commit() #send_email(current_app.config['MAIL_USERNAME'], user.email + ' logged in.', 'auth/email/adm_loginnotify', user=user, ipaddr=lastip ) return redirect(request.args.get('next') or url_for('vmanager.dashboard')) + else: + flash('Invalid token.') return render_template('auth/2fa.html', page=page, form=form) diff --git a/app/models.py b/app/models.py index 36d98d3..bd3f72c 100644 --- a/app/models.py +++ b/app/models.py @@ -78,7 +78,7 @@ class User(db.Model, UserMixin): org_vat = db.Column(db.Boolean, default=False) org_vatnum = db.Column(db.String(16)) - group = db.Column(db.String(24), default='nogroup') + group = db.Column(db.String(24), default='User') language = db.Column(db.String(2), default='BG') wallet = db.Column(db.Float, default=0.0) currency = db.Column(db.String(3), default='BGN') diff --git a/app/settings/forms.py b/app/settings/forms.py index 6cbdb1c..602030a 100644 --- a/app/settings/forms.py +++ b/app/settings/forms.py @@ -21,8 +21,13 @@ class EditProfileForm(FlaskForm): country = SelectField('Държава:', choices=clist, default='BG') phone = StringField('Телефон:') - org_responsible = StringField('Отговорно Лице:') + org_account = BooleanField('Юридическо лице') + org_companyname = StringField('Име на фирма:') + org_regaddress = StringField('Адресна регистрация:') + org_responsible = StringField('Отговорно Лице:') org_bulstat = StringField('БУЛСТАТ:') + org_vat = BooleanField('Регистрация по ДДС') + org_vatnum = StringField('ДДС Номер:') twofactor = BooleanField('2-factor authentication') submit = SubmitField('Обнови') @@ -43,13 +48,14 @@ class EditProfileAdminForm(FlaskForm): country = SelectField('Държава:', choices=clist) phone = DecimalField('Телефон:', [validators.DataRequired()]) - org_account = StringField('Юридическо лице') + org_account = BooleanField('Юридическо лице') org_companyname = StringField('Име на фирма:') org_regaddress = StringField('Адресна регистрация:') - org_responsible = StringField('Отговор)но Лице:') + org_responsible = StringField('Отговорно Лице:') org_bulstat = StringField('БУЛСТАТ:') - org_vat = StringField('Регистрация по ДДС:') + org_vat = BooleanField('Регистрация по ДДС') org_vatnum = StringField('ДДС Номер:') + twofactor = BooleanField('2-factor authentication') submit = SubmitField('Обнови') def __init__(self, user, *args, **kwargs): diff --git a/app/settings/routes.py b/app/settings/routes.py index 4dd9f42..47d2472 100644 --- a/app/settings/routes.py +++ b/app/settings/routes.py @@ -15,14 +15,6 @@ import sys @login_required def profile(): page = { 'title': 'Edit Profile' } - - currentmail = current_user.email - ouruser = User.query.filter_by(email=currentmail).first() - db.session.commit() - - wallet = "%.2f" % round(ouruser.wallet, 3) - current_app.logger.info('wallet: ' + wallet) - form = EditProfileForm() if form.validate_on_submit(): current_user.name = form.name.data @@ -54,9 +46,12 @@ def profile(): form.org_regaddress.data = current_user.org_regaddress form.org_responsible.data = current_user.org_responsible form.org_bulstat.data = current_user.org_bulstat - form.org_vat = current_user.org_vat - form.org_vatnum = current_user.org_vatnum + form.org_vat.data = current_user.org_vat + form.org_vatnum.data = current_user.org_vatnum form.twofactor.data = current_user.twofactor + wallet = "%.2f" % round(current_user.wallet, 3) + current_app.logger.info('wallet: ' + wallet) + return render_template('settings/profile.html', page=page, form=form, wallet=wallet) diff --git a/app/templates/settings/_sidebar.html b/app/templates/settings/_sidebar.html deleted file mode 100644 index 3900634..0000000 --- a/app/templates/settings/_sidebar.html +++ /dev/null @@ -1,12 +0,0 @@ -
-
-
{{ current_user.name }}
-
-
- Group: {{ current_user.group }}
- 2Factor: {{ current_user.twofactor }}
- Wallet: {{ wallet }} {{ current_user.currency }} -
-
-
- diff --git a/app/templates/settings/profile.html b/app/templates/settings/profile.html index 63bd539..19c648f 100644 --- a/app/templates/settings/profile.html +++ b/app/templates/settings/profile.html @@ -2,6 +2,28 @@ {% block title %}Edit Profile{% endblock %} +{% block scripts %} +{{ super() }} + +{% endblock %} + {% block page_content %}