#!/usr/bin/env python # -*- coding=UTF-8 -*- # ************************************************************************** # Copyright © 2016 jianglin # File Name: views.py # Author: jianglin # Email: xiyang0807@gmail.com # Created: 2016-05-20 18:04:43 (CST) # Last Update:星期一 2016-7-25 18:58:28 (CST) # By:jianglin # Description: user setting include password , infor and privacy # ************************************************************************** from flask import (render_template, request, url_for, redirect, flash) from flask_maple.forms import flash_errors from flask_login import current_user, login_required from maple.setting.forms import (ProfileForm, PasswordForm, PrivacyForm, BabelForm) from maple.upload.forms import AvatarForm from .controls import SettingModel @login_required def setting(): form = ProfileForm() avatarform = AvatarForm() if form.validate_on_submit() and request.method == "POST": SettingModel.profile(form) return redirect(url_for('setting.setting')) else: if form.errors: flash_errors(form) return redirect(url_for('setting.setting')) infor = current_user.infor form.introduce.data = infor.introduce form.school.data = infor.school form.word.data = infor.word data = {'form': form, 'avatarform': avatarform} return render_template('setting/setting.html', **data) @login_required def password(): form = PasswordForm() if form.validate_on_submit() and request.method == "POST": if SettingModel.password(form): flash('The password has been updated,Please login', 'info') return redirect(url_for('auth.login')) else: flash('password is error', 'danger') return redirect(url_for('setting.password')) else: if form.errors: flash_errors(form) return redirect(url_for('setting.password')) return render_template('setting/password.html', form=form) @login_required def privacy(): form = PrivacyForm() if form.validate_on_submit() and request.method == "POST": SettingModel.privacy(form) return redirect(url_for('setting.privacy')) else: if form.errors: flash_errors(form) return redirect(url_for('setting.privacy')) setting = current_user.setting form.online_status.data = setting.online_status form.topic_list.data = setting.topic_list form.rep_list.data = setting.rep_list form.ntb_list.data = setting.ntb_list form.collect_list.data = setting.collect_list return render_template('setting/privacy.html', form=form) @login_required def babel(): form = BabelForm() if form.validate_on_submit() and request.method == "POST": SettingModel.babel(form) return redirect(url_for('setting.babel')) else: if form.errors: flash_errors(form) return redirect(url_for('setting.babel')) setting = current_user.setting form.timezone.data = setting.timezone form.locale.data = setting.locale return render_template('setting/babel.html', form=form)