示例#1
0
def login():
    view = LoginHtmlView()
    model = LoginModel('conf')
    login = request.args.get('login', '')
    pw = request.args.get('pw', '')
    role = "#NO"
    if login != '':
        role = model.getRole(login, pw)
        if role == "ADMIN":
            return redirect(url_for('admin'))
    return view.draw(role)
action = {
        'view' : view,
        'login' : login,
        }

def draw(view, data):
    view.draw(data)

def redirect(view, place):
    """redirect to another view"""
    view.redirect(place)

responce = {
        '#NO' : ('#NO', draw),
        '#ERROR' : ('#ERROR', draw),
        'ADMIN' : ('admin.py', redirect),
        'WAITER' : ('login.py', redirect),
        'MANAGER' : ('login.py', redirect),
        'DIRECTOR' : ('login.py', redirect),
        'COOCK' : ('login.py', redirect)
        }

view = LoginHtmlView()
qtype = view.gettype()
func = action[qtype]
model = LoginModel('conf')
role = func(model, **view.getparams())
arg, resp = responce[role]
resp(view, arg)