54 lines
2.1 KiB
Python
54 lines
2.1 KiB
Python
from flask import render_template, redirect, request, url_for, flash, session, abort, current_app
|
|
from flask_login import login_required, login_user, logout_user, current_user
|
|
from sqlalchemy import desc
|
|
|
|
from . import settings
|
|
from .forms import EditProfileForm, EditProfileAdminForm
|
|
|
|
from ..email import send_email
|
|
from .. import db
|
|
from ..models import User
|
|
import sys
|
|
|
|
#PROFILE
|
|
@settings.route('/profile', methods=['GET', 'POST'])
|
|
@login_required
|
|
def profile():
|
|
page = { 'title': 'Edit Profile' }
|
|
form = EditProfileForm()
|
|
if form.validate_on_submit():
|
|
current_user.name = form.name.data
|
|
current_user.address = form.address.data
|
|
current_user.city = form.city.data
|
|
current_user.postcode = form.postcode.data
|
|
current_user.country = form.country.data
|
|
current_user.phone = form.phone.data
|
|
current_user.org_account = form.org_account.data
|
|
current_user.org_companyname = form.org_companyname.data
|
|
current_user.org_regaddress = form.org_regaddress.data
|
|
current_user.org_responsible = form.org_responsible.data
|
|
current_user.org_vatnum = form.org_vatnum.data
|
|
current_user.twofactor = form.twofactor.data
|
|
db.session.add(current_user)
|
|
db.session.commit()
|
|
flash('Info Updated!')
|
|
|
|
form.name.data = current_user.name
|
|
form.address.data = current_user.address
|
|
form.city.data = current_user.city
|
|
form.postcode.data = current_user.postcode
|
|
form.country.data = current_user.country
|
|
form.phone.data = current_user.phone
|
|
form.org_account.data = current_user.org_account
|
|
form.org_companyname.data = current_user.org_companyname
|
|
form.org_regaddress.data = current_user.org_regaddress
|
|
form.org_responsible.data = current_user.org_responsible
|
|
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: {}'.format(current_user.email, wallet))
|
|
|
|
return render_template('settings/profile.html', page=page, form=form, wallet=wallet, cuser=current_user)
|
|
|