Beispiel #1
0
class EvaluationRecordForm(FlaskForm):
    item = StringField(u'考核项目', validators=[ir(u'考核项目不能为空。')])
    shiftdate = DateField(u'考核日期',
                          format='%Y-%m-%d',
                          validators=[ir(u'考核日期不能为空。')])
    score = FloatField(u'考核得分', validators=[ir(u'考核得分不能为空。')])
    submit = SubmitField(u'提交')
Beispiel #2
0
class ClassForm(FlaskForm):
    division_id = MySelectField(u'所属修学处', coerce=int)
    department_id = MySelectField(u'所属修学点', coerce=int)
    name = StringField(u'班级名称', validators=[ir(u'名称不能为空。')])
    number = StringField(u'班级编号', validators=[ir(u'班级编号不能为空。')])  # 班级编号
    desc = TextAreaField(u'简要描述')
    submit = SubmitField(u'提交')

    def __init__(self, *args, **kwargs):
        super(ClassForm, self).__init__(*args, **kwargs)
        self.class_ = kwargs.get('obj')

        division_choices = [(r.id, r.name) for r in Division.query.all()]
        division_choices.insert(0, (0, u'请选择所属修学处'))
        self.division_id.choices = division_choices

        if self.class_:
            dept_choices = [(r.id, r.name) for r in Department.query \
                .filter_by(division_id=self.division_id.data).all()]
        else:
            dept_choices = [(r.id, r.name) for r in Department.query.all()]
        dept_choices.insert(0, (0, u'请选择所属修学点'))
        self.department_id.choices = dept_choices

        if self.class_:
            self.department_id.default = self.class_.department_id
            self.division_id.default = self.class_.department.division_id

    def validate_division_id(self, field):
        if field.data <= 0:
            raise ValidationError(u'请选择所属修学处。')

    def validate_department_id(self, field):
        if field.data <= 0:
            raise ValidationError(u'请选择所属修学点。')

    def validate_name(self, field):
        if self.class_:
            if field.data != self.class_.name and \
                    Class.query.filter_by(name=field.data).first():
                raise ValidationError(u'班级名称已存在。')
        else:
            if Class.query.filter_by(name=field.data).first():
                raise ValidationError(u'班级名称已存在。')

    def validate_number(self, field):
        if self.class_:
            if field.data != self.class_.number and \
                    Class.query.filter_by(number=field.data).first():
                raise ValidationError(u'班级编号已存在。')
        else:
            if Class.query.filter_by(number=field.data).first():
                raise ValidationError(u'班级编号已存在。')
Beispiel #3
0
class TrainingRecordForm(FlaskForm):
    name = StringField(u'培训名称', validators=[ir(u'培训名称不能为空。')])
    location = StringField(u'培训地点', validators=[ir(u'培训地点不能为空。')])
    content = TextAreaField(u'培训内容')
    remark = TextAreaField(u'备注')
    from_date = DateField(u'开始时间',
                          format='%Y-%m-%d',
                          validators=[ir(u'开始时间不能为空。')])
    to_date = DateField(u'结束时间',
                        format='%Y-%m-%d',
                        validators=[ir(u'结束时间不能为空。')])
    submit = SubmitField(u'提交')
Beispiel #4
0
class RegisterForm(FlaskForm):
    username = StringField(u'用户名', validators=[ir(u'用户名不能为空.')])
    email = StringField(u'邮箱',
                        validators=[ir(u'邮件地址不能为空.'),
                                    email(u'不是有效的Email地址')])
    password = PasswordField(u'密码', validators=[ir(u'密码不能为空.')])
    password_confirm = PasswordField(u'重复密码',
                                     validators=[
                                         ir(u'重复密码不能为空.'),
                                         equal_to('password',
                                                  u'两次输入的密码不一致, 请重新输入.')
                                     ])
    submit = SubmitField(u'注册')
Beispiel #5
0
class DepartmentForm(FlaskForm):
    division_id = MySelectField(u'所属修学处', coerce=int)
    name = StringField(u'修学点名称', validators=[ir(u'名称不能为空。')])
    desc = TextAreaField(u'简要描述')
    submit = SubmitField(u'提交')

    def __init__(self, *args, **kwargs):
        super(DepartmentForm, self).__init__(*args, **kwargs)
        division_choices = [
            (r.id, r.name)
            for r in Division.query.order_by(Division.name).all()
        ]
        division_choices.insert(0, (0, u'请选择所属修学处'))
        self.division_id.choices = division_choices
        self.department = kwargs.get('obj')
        if self.department:
            self.division_id.default = self.department.division_id

    def validate_division_id(self, field):
        if field.data <= 0:
            raise ValidationError(u'请选择所属修学处。')

    def validate_name(self, field):
        if self.department:
            if field.data != self.department.name and \
                    Department.query.filter_by(name=field.data).first():
                raise ValidationError(u'修学点名称已存在。')
        else:
            if Department.query.filter_by(name=field.data).first():
                raise ValidationError(u'修学点名称已存在。')
Beispiel #6
0
class ChangePasswordForm(FlaskForm):
    old_password = PasswordField(u'旧密码', validators=[ir(u'旧密码不能为空.')])
    new_password = PasswordField(u'新密码', validators=[ir(u'新密码不能为空.')])
    new_password_confirm = PasswordField(u'重复新密码',
                                         validators=[
                                             ir(u'重复新密码不能为空.'),
                                             equal_to('new_password',
                                                      u'两次输入的密码不一致, 请重新输入.')
                                         ])

    def __init__(self, *args, **kwargs):
        super(ChangePasswordForm, self).__init__(*args, **kwargs)
        self.user = kwargs.get('obj')

    def validate_old_password(self, field):
        if not self.user.verify_password(field.data):
            raise ValidationError(u'旧密码不正确.')
Beispiel #7
0
class SettingsUsernameForm(FlaskForm):
    username = StringField(u'用户名', validators=[ir(u'用户名不能为空.')])

    def __init__(self, *args, **kwargs):
        super(SettingsUsernameForm, self).__init__(*args, **kwargs)
        self.user = kwargs.get('obj')

    def validate_username(self, field):
        if field.data != self.user.username and \
                User.query.filter_by(username=field.data).first():
            raise ValidationError(u'该用户名: %s 已经存在, 请您换一个.' % field.data)
Beispiel #8
0
class UploadFormExt(FlaskForm):
    name = StringField(u'书名:', validators=[ir(u'书名不能为空.')])
    author = StringField(u'作者:', validators=[ir(u'作者不能为空.')])
    book_intro = TextAreaField(u'内容简介:', validators=[ir(u'内容简介不能为空.')])
    logo = FileField(u'图书封面', validators=[
        FileAllowed(['jpg', 'png', 'gif', 'jpeg'], u'请上传jpg,jpeg,png,gif格式的图书封面.'),
        FileSizeAllowed(50 * 1024 * 1024, u'图书封面不能超过2MB.')
    ])
    translator = StringField(u'译者:')
    publisher = StringField(u'出版社:')
    isbn = StringField(u'ISBN:')
    book_file = FileField(u'文件', validators=[
        FileRequired(u'请选择您要上传的图书文件.'),
        FileAllowed(['mobi', 'epub', 'pdf', 'txt'], u'不支持的图书格式,请上传mobi,epub,pdf,txt格式的图书.'),
        FileSizeAllowed(50 * 1024 * 1024, u'图书大小不能超过50MB.')
    ])
    book_edition_commnet = TextAreaField(u'版本简介')
    tags = StringField(u'标签')

    def __init__(self, *args, **kwargs):
        super(UploadFormExt, self).__init__(*args, **kwargs)
Beispiel #9
0
class DivisionForm(FlaskForm):
    name = StringField(u'修学处名称', validators=[ir(u'名称不能为空。')])
    desc = TextAreaField(u'简要描述')
    submit = SubmitField(u'提交')

    def __init__(self, *args, **kwargs):
        super(DivisionForm, self).__init__(*args, **kwargs)
        self.division = kwargs.get('obj')

    def validate_name(self, field):
        if field.data != self.division.name and \
                Division.query.filter_by(name=field.data).first():
            raise ValidationError(u'修学处名称已存在。')
Beispiel #10
0
class SettingsPushForm(FlaskForm):
    email = StringField(
        u'邮箱', validators=[ir(u'邮箱不能为空.'),
                           email(message=u'无效的邮箱地址.')])

    def __init__(self, *args, **kwargs):
        super(SettingsPushForm, self).__init__(*args, **kwargs)
        self.user = kwargs.get('obj')

    def validate_email(self, field):
        if field.data == PushSetting.query.filter_by(
                user_id=self.user.id).filter_by(email=field.data).first():
            raise ValidationError(u'箱邮箱已存在,请勿重复添加.')
Beispiel #11
0
class SettingsEmailForm(FlaskForm):
    email = StringField(
        u'登录邮箱', validators=[ir(u'登录邮箱不能为空.'),
                             email(message=u'无效的邮箱地址.')])

    def __init__(self, *args, **kwargs):
        super(SettingsEmailForm, self).__init__(*args, **kwargs)
        self.user = kwargs.get('obj')

    def validate_email(self, field):
        if field.data != self.user.email and \
                User.query.filter_by(email=field.data).first():
            raise ValidationError(u'该邮箱: %s 已经存在, 请您换一个.' % field.data)
Beispiel #12
0
class UserForm(FlaskForm):
    username = StringField(u'用户名', validators=[ir(u'用户名不能为空。')])
    password = PasswordField(u'密码', validators=[ir(u'密码不能为空。')])
    realname = StringField(u'真实姓名', validators=[ir(u'真实名或法名不能为空。')])
    email = StringField(u'邮件', validators=[ir(u'邮件地址不能为空。')])
    role_id = MySelectField(u'权限', coerce=int)
    division_id = MySelectField(u'所属修学处', coerce=int)
    submit = SubmitField(u'提交')

    def __init__(self, *args, **kwargs):
        super(UserForm, self).__init__(*args, **kwargs)
        self.user = kwargs.get('obj')

        role_choices = [(r.id, r.show_name) for r in Role.query.order_by(Role.name).all()]
        role_choices.insert(0, (0, u'请选择权限'))
        self.role_id.choices = role_choices

        division_choices = [(r.id, r.name) for r in Division.query.order_by(Division.name).all()]
        division_choices.insert(0, (0, u'请选择所属修学处'))
        self.division_id.choices = division_choices

        if self.user:
            self.role_id.default = self.user.role_id
            self.division_id.default = self.user.division_id

    def validate_role_id(self, field):
        if field.data <= 0:
            raise ValidationError(u'请选择用户权限。')

    def validate_username(self, field):
        if field.data != self.user.username and \
                User.query.filter_by(username=field.data).first():
            raise ValidationError(u'用户名已经存在。')

    def validate_email(self, field):
        if field.data != self.user.email and \
                User.query.filter_by(email=field.data).first():
            raise ValidationError(u'Email地址已经存在。')
Beispiel #13
0
class UploadForm(FlaskForm):
    book_file = FileField(u'文件', validators=[
        FileRequired(u'请选择您要上传的图书文件.'),
        FileAllowed(set(['mobi', 'epub', 'txt', 'pdf']), u'不支持的图书格式,请上传mobi,epub,pdf,txt格式的图书3.'),
        FileSizeAllowed(50 * 1024 * 1024, u'图书大小不能超过50MB.')
    ])
    douban_url = StringField(u'豆瓣链接', validators=[
        ir(u'豆瓣链接不能为空,请先在右侧搜索图书,然后点击图书的“复制链接”.'),
        NewURL(message=u'URL无效')
    ])
    book_edition_commnet = TextAreaField(u'版本简介')

    def __init__(self, *args, **kwargs):
        super(UploadForm, self).__init__(*args, **kwargs)
Beispiel #14
0
class LoginForm(FlaskForm):
    username = StringField(u'用户名', validators=[ir(u'用户名不能为空。')])
    password = PasswordField(u'密码', validators=[ir(u'密码不能为空。')])
    submit = SubmitField(u'登录')
Beispiel #15
0
class LoginForm(FlaskForm):
    username = StringField(u'用户名', validators=[ir(u'用户名不能为空.')])
    password = PasswordField(u'密码', validators=[ir(u'密码不能为空.')])
    verifycode = StringField(u'验证码', validators=[ir(u'请输入验证码.')])
    submit = SubmitField(u'登录')
Beispiel #16
0
class CounselorForm(FlaskForm):
    username = StringField(u'姓名', validators=[ir(u'姓名不能为空。')])
    religiousname = StringField(u'法名')
    gender = MySelectField(u'性别',
                           coerce=unicode,
                           choices=[(u'男', u'男'), (u'女', u'女')],
                           validators=[])
    birthday = DateField(u'生日', format='%Y-%m-%d', validators=[ir(u'生日不能为空。')])
    mobile = StringField(u'手机',
                         validators=[
                             ir(u'手机号码不能为空。'),
                             regexp('^1[34578]\d{9}$', message=u'手机号码格式不正确。')
                         ])
    email = StringField(u'Email', validators=[email(u'Email格式不正确')])
    division_id = MySelectField(u'修学处', coerce=int)
    department_id = MySelectField(u'修学点', coerce=int)
    class_id = MySelectField(u'班级', coerce=int)
    duty_id = MySelectField(u'岗位', coerce=int)
    submit = SubmitField(u'提交')

    def __init__(self, *args, **kwargs):
        super(CounselorForm, self).__init__(*args, **kwargs)
        self.counselor = kwargs.get('obj')

        division_choices = [(r.id, r.name) for r in Division.query.all()]
        division_choices.insert(0, (0, u'请选择所属修学处'))
        self.division_id.choices = division_choices

        if self.counselor:
            department_choices = [(r.id, r.name) for r in Department.query\
                .filter_by(division_id=self.division_id.data).all()]
        else:
            department_choices = [(r.id, r.name)
                                  for r in Department.query.all()]
        department_choices.insert(0, (0, u'请选择所属修学点'))
        self.department_id.choices = department_choices

        if self.counselor:
            class_choices = [(r.id, r.name) for r in Class.query\
                                 .filter_by(department_id=self.department_id.data).all()]
        else:
            class_choices = [(r.id, r.name) for r in Class.query.all()]
        class_choices.insert(0, (0, u'请选择所属班级'))
        self.class_id.choices = class_choices

        duty_choices = [(r.id, r.name)
                        for r in Duty.query.order_by(Duty.name).all()]
        duty_choices.insert(0, (0, u'请选择岗位'))
        self.duty_id.choices = duty_choices

        if self.counselor:
            self.class_id.default = self.counselor.class_id
            self.department_id.default = self.counselor.class_.department_id
            self.division_id.default = self.counselor.class_.department.division_id
            self.duty_id.default = self.counselor.duty_id

    def validate_division_id(self, field):
        if field.data <= 0:
            raise ValidationError(u'请选择修学处。')

    def validate_department_id(self, field):
        if field.data <= 0:
            raise ValidationError(u'请选择修学点')

    def validate_class_id(self, field):
        if field.data <= 0:
            raise ValidationError(u'请选择班级')

    def validate_duty_id(self, field):
        if field.data <= 0:
            raise ValidationError(u'请选择岗位')

    def validate_username(self, field):
        if self.counselor:
            pass
        else:
            cs = db.session.query(db.func.count(Counselor.username)).filter_by(
                username=self.username.data).filter_by(
                    religiousname=self.religiousname.data).scalar()
            if cs > 0:
                raise ValidationError(u'用用户+法名 重复,请改变后重新提交')

    def validate_email(self, field):
        if self.counselor:
            if self.counselor.email != field.data and \
                    Counselor.query.filter_by(email=field.data).first():
                raise ValidationError(u'Email地址已存在。')
        else:
            if Counselor.query.filter_by(email=field.data).first():
                raise ValidationError(u'Email地址已存在。')
Beispiel #17
0
class LeadClassRecordForm(FlaskForm):
    division_id = SelectField(u'班级所在修学处', coerce=int)
    department_id = SelectField(u'班级所在修学点', coerce=int)
    class_id = SelectField(u'所带班级', coerce=int)
    duty_id = SelectField(u'从事岗位', coerce=int)
    from_date = DateField(u'开始时间',
                          format='%Y-%m-%d',
                          validators=[ir(u'开始时间不能为空。')])
    to_date = DateField(u'结束时间',
                        format='%Y-%m-%d',
                        validators=[ir(u'结束时间不能为空。')])
    submit = SubmitField(u'提交')

    def __init__(self, *args, **kwargs):
        super(LeadClassRecordForm, self).__init__(*args, **kwargs)
        self.obj = kwargs.get('obj')

        division_choices = [(r.id, r.name) for r in Division.query.all()]
        division_choices.insert(0, (0, u'请选择所属修学处'))
        self.division_id.choices = division_choices

        if self.obj:
            department_choices = [(r.id, r.name) for r in Department.query \
                .filter_by(division_id=self.division_id.data).all()]
        else:
            department_choices = [(r.id, r.name)
                                  for r in Department.query.all()]
        department_choices.insert(0, (0, u'请选择所属修学点'))
        self.department_id.choices = department_choices

        if self.obj:
            class_choices = [(r.id, r.name) for r in Class.query \
                .filter_by(department_id=self.department_id.data).all()]
        else:
            class_choices = [(r.id, r.name) for r in Class.query.all()]
        class_choices.insert(0, (0, u'请选择所属班级'))
        self.class_id.choices = class_choices

        duty_choices = [(r.id, r.name) for r in Duty.query.all()]
        duty_choices.insert(0, (0, u'请选择带班岗位'))
        self.duty_id.choices = duty_choices

        if self.obj:
            self.class_id.default = self.obj.class_id
            self.duty_id.default = self.obj.duty_id
            self.department_id.default = self.obj.class_.department_id
            self.division_id.default = self.obj.class_.department.division_id

    def validate_division_id(self, field):
        if field.data <= 0:
            raise ValidationError(u'请选择班级所在修学处。')

    def validate_department_id(self, field):
        if field.data <= 0:
            raise ValidationError(u'请选择班级所在修学点。')

    def validate_class_id(self, field):
        if field.data <= 0:
            raise ValidationError(u'请选择所带班级。')

    def validate_duty_id(self, field):
        if field.data <= 0:
            raise ValidationError(u'请选择岗位。')