def edit_profile_admin(user_id): user = User.query.get_or_404(user_id) form = EditProfileAdminForm(user=user) if form.validate_on_submit(): user.name = form.name.data role = Role.query.get(form.role.data) if role.name == 'Locked': user.lock() user.role = role user.bio = form.bio.data # user.website = form.website.data # user.confirmed = form.confirmed.data # user.active = form.active.data user.location = form.location.data user.username = form.username.data # user.email = form.email.data db.session.commit() flash('Profile updated.', 'success') return redirect_back() form.name.data = user.name form.role.data = user.role_id form.bio.data = user.bio # form.website.data = user.website form.location.data = user.location form.username.data = user.username # form.email.data = user.email # form.confirmed.data = user.confirmed # form.active.data = user.active return render_template('admin/edit_profile.html', form=form, user=user)
def accept(task_id): task = Tasks.query.get_or_404(task_id) print(task.status_id) if task.status_id == 6: # 待审批任务 task.status_id = 7 # 接受 # print('accept') db.session.commit() return redirect_back()
def re_authenticate(): if login_fresh(): return redirect(url_for('main.index')) form = LoginForm() if form.validate_on_submit() and current_user.validate_password(form.password.data): confirm_login() return redirect_back() return render_template('auth/login.html', form=form)
def unfollow(username): user = User.query.filter_by(username=username).first_or_404() if not current_user.is_following(user): flash('Not follow yet.', 'info') return redirect(url_for('.index', username=username)) current_user.unfollow(user) flash('User unfollowed.', 'info') return redirect_back()
def to_top(task_id): # 队列中任务优先级最高的 current_priority_task = Tasks.query.filter(Tasks.status_id == 7).order_by( Tasks.priority.desc()).first_or_404() task = Tasks.query.get_or_404(task_id) task.priority = current_priority_task.priority + 1 db.session.commit() # flash('{}任务已置顶'.format(task.title)) # return redirect(url_for('.percent')) return redirect_back()
def follow(username): user = User.query.filter_by(username=username).first_or_404() if current_user.is_following(user): flash('Already followed.', 'info') return redirect(url_for('.index', username=username)) current_user.follow(user) flash('User followed.', 'success') if user.receive_follow_notification: push_follow_notification(follower=current_user, receiver=user) return redirect_back()
def search(): q = request.args.get('q', '') if q == '': flash('Enter keyword about photo, user or tag.', 'warning') return redirect_back() page = request.args.get('page', 1, type=int) per_page = current_app.config['TASK_PER_PAGE'] pagination = Tasks.query.whooshee_search(q).paginate(page, per_page) tasks = pagination.items return render_template('main/search.html', q=q, tasks=tasks, pagination=pagination)
def login(): if current_user.is_authenticated: return redirect(url_for('main.index')) form = LoginForm() if form.validate_on_submit(): user = User.query.filter_by(username=form.username.data).first() if user is not None and user.validate_password(form.password.data): if login_user(user, form.remember_me.data): # flash('Login success.', 'info') return redirect_back() else: flash('Your account is blocked.', 'warning') return redirect(url_for('main.index')) flash('用户名或密码错误.', 'warning') return render_template('auth/login.html', form=form)
def lock_user(user_id): user = User.query.get_or_404(user_id) user.lock() flash('Account locked.', 'info') return redirect_back()
def unblock_user(user_id): user = User.query.get_or_404(user_id) user.unblock() flash('Block canceled.', 'info') return redirect_back()
def reject(task_id): task = Tasks.query.get_or_404(task_id) if task.status_id == 6: task.status_id = 8 # 拒绝 db.session.commit() return redirect_back()
def cancel(task_id): task = Tasks.query.get_or_404(task_id) if task.status_id == 7: # 队列中任务 task.status_id = 2 # 取消 db.session.commit() return redirect_back()
def delete_tag(tag_id): tag = Tag.query.get_or_404(tag_id) db.session.delete(tag) db.session.commit() flash('Tag deleted.', 'info') return redirect_back()