class UpdateInfo(BaseForm): qq = IntegerField(optional=True, min_val=100_000_000, max_val=10_000_000_000) line = StringField(optional=True) email = StringField(optional=True, validators=(EmailValidator(), )) def validate(self): if self.qq.empty and self.line.empty: raise ValidationError('must provide ether qq or line') super().validate()
class Create(BaseForm): name = StringField() qq = IntegerField(optional=True, min_val=100_000_000, max_val=10_000_000_000) line = StringField(optional=True) email = StringField(validators=(EmailValidator(), )) deps = ListField(EnumField(Dep)) def validate_name(self, field): if measure_width(field.data) > 16: raise ValidationError('name is too long') def validate(self): if self.qq.empty and self.line.empty: raise ValidationError('must provide ether qq or line') super().validate()
class Transfer(BaseForm): aid = StringField() pervious_id = StringField()
class Apply(BaseForm): reason = StringField() amount = IntegerField()
class SingleProj(BaseForm): proj = StringField(validators=( Regexp(regex='[a-zA-z_-]{12}', message='invalid proj id'), ))
class InitRoles(BaseForm): proj = StringField(validators=( Regexp(regex='[a-zA-z_-]{12}', message='invalid proj id'), )) roles = RolesField()
class Create(BaseForm): base = StringField() pub_date = DateField(pattern='%d-%b-%Y') cat = EnumField(ProjCat) note = ListField(StringField(), min_entries=2, max_entries=2) suff = StringField(optional=True, default='')
class EditNote(BaseForm): proj = StringField(validators=( Regexp(regex='[a-zA-z_-]{12}', message='invalid proj id'), )) note = StringField()
class SinglePink(BaseForm): pink = StringField(validators=( Regexp(regex='[a-zA-z_-]{9}', message='invalid pink id'), ))
class Pick(BaseForm): proj = StringField(validators=( Regexp(regex='[a-zA-z_-]{12}', message='invalid proj id'), )) dep = EnumField(Dep) role = StringField()
class SingleLeaf(BaseForm): leaf = StringField(validators=( Regexp(regex='[a-zA-z_-]{15}', message='invalid leaf id'), ))
class SetPwd(BaseForm): pwd = StringField()
class Login(BaseForm): name = StringField() pwd = StringField()