d120774 by Anon Ray at 2014-03-08 1
# -*- coding utf-8 -*-
2
# classes/views/apps.py
3
f867edb by Anon Ray at 2014-04-10 4
from flask import Module, jsonify, request, render_template, redirect,\
5
                  url_for, flash, abort
6
d120774 by Anon Ray at 2014-03-08 7
from hashlib import md5
8
from werkzeug.security import gen_salt
9
10
from swtstore.classes.models import Client
11
from swtstore.classes.models.um import User
f867edb by Anon Ray at 2014-04-10 12
from swtstore.classes.utils import urlnorm
d120774 by Anon Ray at 2014-03-08 13
14
15
app = Module(__name__)
16
17
18
@app.route('/register', methods=['GET', 'POST'])
19
def register():
20
    current_user = User.getCurrentUser()
21
    if current_user is None:
f867edb by Anon Ray at 2014-04-10 22
        return redirect(url_for('frontend.index'))
d120774 by Anon Ray at 2014-03-08 23
24
    if request.method == 'GET':
427df6d by Anon Ray at 2014-05-11 25
        return render_template('app/register.html')
d120774 by Anon Ray at 2014-03-08 26
27
    elif request.method == 'POST':
f867edb by Anon Ray at 2014-04-10 28
        req_fields = ['name', 'host_url', 'redirect_uris', 'scopes']
29
        for field in req_fields:
30
            if not request.form.get(field):
31
                abort(404)
d120774 by Anon Ray at 2014-03-08 32
33
        new_app = Client(
34
            id = gen_salt(40),
35
            client_secret = gen_salt(50),
36
            name = request.form.get('name'),
37
            description = request.form.get('desc'),
38
            user_id = current_user.id,
f867edb by Anon Ray at 2014-04-10 39
            _host_url = request.form.get('host_url'),
40
            _redirect_uris = urlnorm(request.form.get('redirect_uris')),
41
            _default_scopes = ' '.join(request.form.get('scopes').split(',')),
d120774 by Anon Ray at 2014-03-08 42
            _is_private = False
43
        )
44
        new_app.persist()
45
8fe0bbc by Anon Ray at 2014-05-10 46
        return redirect(url_for('user.myApps'))
d120774 by Anon Ray at 2014-03-08 47