2015-11-11 00:49:12 +01:00
|
|
|
import json
|
|
|
|
import logging
|
|
|
|
|
2015-11-10 22:31:14 +01:00
|
|
|
from debianmemberportfolio import app, babel
|
2015-11-11 00:49:12 +01:00
|
|
|
from flask import g, make_response, request, render_template, abort
|
2015-11-10 22:31:14 +01:00
|
|
|
from config import LANGUAGES
|
2015-11-11 00:49:12 +01:00
|
|
|
from .forms import DeveloperData, DeveloperDataRequest
|
|
|
|
from .model import dddatabuilder
|
|
|
|
|
|
|
|
log = logging.getLogger(__name__)
|
2015-11-10 22:31:14 +01:00
|
|
|
|
|
|
|
|
|
|
|
@babel.localeselector
|
|
|
|
def get_locale():
|
|
|
|
return request.accept_languages.best_match(LANGUAGES.keys())
|
|
|
|
|
|
|
|
|
|
|
|
@app.before_request
|
|
|
|
def before_request():
|
|
|
|
g.locale = get_locale()
|
|
|
|
|
|
|
|
|
|
|
|
@app.route('/')
|
|
|
|
def index():
|
|
|
|
form = DeveloperData()
|
|
|
|
# TODO: replicate behavior of
|
|
|
|
# debianmemberportfolio.controllers.portfolio.PortfolioController.index
|
|
|
|
return render_template('showform.html', form=form)
|
|
|
|
|
|
|
|
|
|
|
|
@app.route('/result')
|
|
|
|
def urllist():
|
|
|
|
form = DeveloperData(request.values)
|
|
|
|
if form.validate():
|
|
|
|
return render_template('showurls.html')
|
|
|
|
return render_template('showform.html', form=form)
|
|
|
|
|
|
|
|
|
|
|
|
@app.route('/htmlformhelper.js')
|
|
|
|
def formhelper_js():
|
|
|
|
response = make_response(render_template('showformscript.js'))
|
|
|
|
response.headers['Content-Type'] = 'text/javascript; charset=utf-8'
|
|
|
|
return response
|
|
|
|
|
|
|
|
|
|
|
|
@app.route('/showformscripts/fetchdddata/')
|
|
|
|
def fetchdddata():
|
2015-11-11 00:49:12 +01:00
|
|
|
form = DeveloperDataRequest(request.values)
|
|
|
|
if form.validate():
|
|
|
|
fields = dddatabuilder.build_data(form.data['email'])
|
|
|
|
log.debug(fields)
|
|
|
|
response = make_response(json.dumps(fields))
|
|
|
|
response.headers['Content-Type'] = 'application/json'
|
|
|
|
return response
|
|
|
|
abort(
|
|
|
|
400,
|
|
|
|
"\n".join(["%s: %s" % (key, form.errors[key]) for key in form.errors])
|
|
|
|
)
|