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'))
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)