Example #1
0
def setup():
    if not is_setup():
        if not session.get('wslove'):
            session['wslove'] = sha512(os.urandom(10))
        if request.method == 'POST':
            blog_name = request.form['blog_name']
            blog_name = set_config('blog_name', blog_name)
            blog_info = request.form['blog_info']
            blog_info = set_config('blog_info', blog_info)
            username = request.form['blog_admin']
            password = request.form['password']
            email = request.form['email']
            anhao = request.form['reset_anhao']
            github = request.form['github']
            avatar_hash = hashlib.md5(email.encode('utf-8')).hexdigest()

            first_user = Users(username=username,
                               password=password,
                               email=email,
                               githubname=github,
                               anhao=anhao,
                               avatar_hash=avatar_hash)
            first_user.admin = True
            first_user.verified = True

            setup = set_config('setup', 'True')
            domain = set_config('domain', request.form['domain'])
            github_id = request.form['github_id']
            github_secret = request.form['github_secret']
            github_status = set_config('github_status', 'False')
            if github_id and github_secret:
                set_config('github_id', github_id)
                set_config('github_secret', github_secret)
                set_config('github_status', 'True')
            db.session.add(first_user)
            db.session.commit()
            db.session.close()
            logger = logging.getLogger('login')
            logger.info("[{0}] {1} reg ok".format(time.strftime("%m/%d/%Y %X"),
                                                  username.encode('utf-8')))

            app.setup = False
            with app.app_context():
                cache.clear()
            return redirect(url_for('views.static_html'))
        return render_template('install/setup.html',
                               wslove=session.get('wslove'))
    return redirect(url_for('views.static_html'))
Example #2
0
def admin_user(name):
    users = Users.query.all()
    user = Users.query.filter_by(username=session.get('username')).first_or_404()
    data = {
        'user':user,
        'name':name,
        'num_user':users
    }
    if name == 'group':
        return render_template('admin/user/ugroup.html',**data)
    elif name== 'list':
        if 'id' in request.args:
            upuser = Users.query.filter_by(id=request.args['id']).first()
            if upuser:
                return render_template('admin/user/update.html',users=upuser,**data)
        return render_template('admin/user/ulist.html',users=users,**data)
    elif name in 'useradd' :
        if request.method == 'GET':
            return render_template('admin/user/add.html',**data)
        if request.method == 'POST':
            iname = request.form.get('username')
            print(iname)
            res = Users.query.filter_by(username=iname).first()
            if res:
                return render_template('admin/user/add.html',res=res,error='已经存在',**data)
            passowrd = request.form['password']
            email = request.form['email']
            anhao = request.form['anhao']
            adduser = Users(username=iname,password=passowrd,email=email,anhao=anhao)
            adduser.admin = False
            adduser.verified = True
            adduser.avatar_hash = None
            adduser.joined = datetime.now()
            db.session.add(adduser)
            db.session.commit()
            #db.session.close()
            return render_template('admin/user/add.html',res='need update',msg='添加完成',**data)
    elif name in 'userdel':
        #if request.method == "post":
        ids = request.values.get('id','')
        for i in ids:
            if i==1:
                continue
            deluser=Users.query.filter_by(id=int(i)).first()
            db.session.delete(deluser)
        db.session.commit()
        db.session.close()
        return redirect(url_for('admin.admin_user'))
    elif name in 'update':
        uid = request.args['id']
        print(uid)
        upuser = Users.query.filter_by(id=int(uid)).first()
        if uid == 1:
            return render_template('admin/user/update.html',users=upuser,error='no allow',**data)
        passwd = request.form['password']
        email = request.form['email']
        if request.form['pro_name']:
            upuser.pro_name = request.form['pro_name']
        if request.form['pro_logo']:
            upuser.pro_logo = request.form['pro_logo']
        if request.form['pro_des']:
            upuser.pro_des = request.form['pro_des']
        if passwd:
            #uppasswd = Users(name=upuser.name,
            #                 password=(passwd if passwd else upuser.password),
            #                email=(email if email else upuser.email))
            upuser.password = passwd
        if email:
            upuser.email = email
        db.session.commit()
        #db.session.close()
        uppuser = Users.query.filter_by(id=uid).first()
        return render_template('admin/user/update.html',users=uppuser,msg='Update successful',**data)
    else:
        print('id=',request.args['id'])
        userinfo = Users.query.filter_by(id=request.args['id']).first()
        return render_template('admin/user/profile.html',userinfo=userinfo,**data)