Exemplo n.º 1
0
def users_app(req):
    res = Response()
    admin_mode = (req.environ.get('REMOTE_USER') == config.admin_login)
    users = db["teams"]

    del_login = req.params.get('del', '')
    if admin_mode and del_login!='':
        u = users.find_one({'login': del_login})
        if u is not None:
            gate.delete_user(u['uid'])
            users.remove({'_id': u['_id']})
            res.unicode_body = render('redirect.html', address='?')
            return res
            
    
    res.unicode_body = render('users.html',
        users = users.find().sort('num'),
        admin = admin_mode
    )

    return res
Exemplo n.º 2
0
def reg_app(req):
    res = Response()
    users = db["teams"]

    if req.method != 'POST':
        res.unicode_body = render('reg.html', user={}, newlogin = req.params.get('new'))
        return res;

    #here method == 'POST'
    user = {
            'surname' : req.params.get('surname', ''),
            'name'    : req.params.get('name', ''),
            'school'  : req.params.get('school', ''),
            'year'    : req.params.get('year', ''),
            'email'   : req.params.get('email', ''),
            'pass1'   : req.params.get('pass1', ''),
            'pass2'   : req.params.get('pass2', ''),
        }

    if not validate_user(user):
        res.unicode_body = render('reg.html', user=user, error=u'Неверный формат введённых данных')
        return res;

    #user is valid, lets add him
    num = counter('users')
    login = config.login_fmt % num
    nickname = u"(%02d) %s %s" % (int(user['year']), user['surname'], user['name'])
    
    uid = gate.add_user(nickname, login, user['pass1'], email = user['email'])
    gate.user_addgroup(uid, config.group_id)
    
    user['num'] = num
    user['login'] = login
    user['uid'] = uid
    users.insert(user);

    res.unicode_body = render('redirect.html', address='reg?new=%s' % login)
    return res