class CommentForm(Form): title = TextField("title", [validators.Required()]) text = TextAreaField("text") post_id = HiddenField("post_id") comment_id = HiddenField("comment_id") delete = BooleanField("delete comment") recaptcha = RecaptchaField()
class EducationForm(Form): degree = TextField(u'学历', validators=[required(message=u'必填')]) study_date = HiddenField(validators=[required(message=u'必填')]) school = TextField(u'学校', validators=[required(message=u'必填')]) speciality_type = HiddenField(u'专业类别', validators=[required(message=u'必填')]) speciality = TextField(u'专业名称')
class GeneralInfoForm(Form): realname = TextField(u'姓名', validators=[required(message=u'必填')]) sex = HiddenField(u'性别', validators=[required(message=u'必选')]) #, value='1') birthday = HiddenField(validators=[required(message=u'必填') ]) #, value='1990-10-21') current_address = HiddenField(u'当前居住地址', validators=[required(message=u'必填') ]) #, value='浙江,杭州') account_address = HiddenField(u'户口所在地址', validators=[required(message=u'必填') ]) #, value='浙江,台州') phone_num = IntegerField(u'', validators=[required(message=u'必填')])
class LoginForm(Form): email = TextField( u'登录邮箱', validators=[required(message=u'必填'), email(message=u'不是有效的邮箱地址')]) password = PasswordField(u'密码', validators=[required(message=u'必填')]) next = HiddenField()
class ThreadCrudForm(Form): question_id = HiddenField(validators=[Required(), valid_question]) author_id = SelectMultipleField("Author", validators=[check_if_user_does_not_exist]) yesno = SelectField("Yes or No?", validators=[AnyOf(["1", "0"]), Required()], choices=[("1", 'Yes'), ("0", 'No')]) text = TextAreaField( "Opinion", validators=[ Length(min=1, max=140, message="Post must be between 2 and 140 characters"), Required(), does_not_have_bad_words ]) likes = IntegerField("Likes", validators=[Optional()]) def __init__(self, question_id=None, *args, **kwargs): super(ThreadCrudForm, self).__init__(*args, **kwargs) if question_id: self.question_id.data = question_id self.author_id.choices = [(str(u.id),'%s (%s)' % (u.username, u.origin)) \ for u in cdw.users.with_fields(isAdmin=True).order_by("+username")]
class TicketForm(Form): def bind_runtime_fields(self, g, ticket=None): self.product.queryset = Product.get_all_products(g.organization._id) self.owner.queryset = User.get_all_users(g.organization._id) if ticket is not None: self.tid.data = ticket.id else: self.owner.default = unicode(g.user.id) tid = HiddenField('id', validators=[Length(max=24)]) title = TextField('Title') body = TextAreaField('Body') priority = SelectField('Priority', choices=[(x, PRIORITIES[x]) for x in\ xrange(len(PRIORITIES))], coerce=int) product = QSSelectField('Product', label_attr='name') tags = TagsField('Tags', description='Comma separated (e.g., auth,crash,login)') owner = QSSelectField('Owner', label_attr=('name.first', 'name.last')) new_comment = TextAreaField('Comment') status = SelectField('Status', choices=[(x, STATUSES[x]) for x in xrange(len(STATUSES))], coerce=int, default=0) submit = SubmitField('Submit')
class LoginForm(Form): name = TextField('用户名', validators=[required(message="用户名必填")]) password = PasswordField('密码', validators=[required(message="请输入密码")]) remember = BooleanField(u"记住我") submit = SubmitField(u"登录") next = HiddenField()
class CityForm(Form): name = TextField(u"城市名称", validators=[required(message=u"必填")]) label = TextField(u"label", validators=[required(message=u"必填")]) no = TextField(u"序号", validators=[required(message=u"必填")]) submit = SubmitField(u"提交") next = HiddenField()
class SignupForm(Form): next = HiddenField() username = TextField(_("Username"), validators=[ required(message=_("Username required")), is_username]) password = PasswordField(_("Password"), validators=[ required(message=_("Password required"))]) password_again = PasswordField(_("Password again"), validators=[ equal_to("password", message=\ _("Passwords don't match"))]) email = TextField(_("Email address"), validators=[ required(message=_("Email address required")), email(message=_("A valid email address is required"))]) recaptcha = RecaptchaField(_("Copy the words appearing below")) submit = SubmitField(_("Signup")) def validate_username(self, field): user = User.query.filter(User.username.like(field.data)).first() if user: raise ValidationError, gettext("This username is taken") def validate_email(self, field): user = User.query.filter(User.email.like(field.data)).first() if user: raise ValidationError, gettext("This email is taken")
class BookmarkForm(AjaxForm): id = HiddenField(u'Id') link = URLField(u'Link', validators=[validators.required(), validators.url(), ]) title = TextField(u'Title', validators=[validators.required(), ]) description = TextAreaField(u'Description') tags = TextField(u'Tags') submit = SubmitField(u'Add') def __init__(self, formdata=None, *args, **kwargs): self.create = kwargs.get('create', False) super(BookmarkForm, self).__init__(formdata, *args, **kwargs) def validate(self): rv = Form.validate(self) if not rv: return False link = self.link.data title = self.title.data description = self.description.data tags = map(lambda x: {'name': x.strip()}, self.tags.data.split(',')) # TODO : add id control if create is False (modification mode need a # valid bookmark id) self.bookmark = ItemBookmark(ptags=tags, plink=link, ptitle=title, pdescription=description, json=True) return True
class CateForm(Form): name = TextField(u"分类名称", validators=[required(message=u"必填")]) label = TextField(u"label", validators=[required(message=u"必填")]) logo = TextField(u"图标css类", validators=[required(message=u"必填")]) no = TextField(u"序号", validators=[required(message=u"必填")]) submit = SubmitField(u"提交") next = HiddenField()
class EnrollmentForm(Form): audit = QuerySelectField('Audit') # subjects = TextField("Subjects") subject_de = BooleanField(u"Deutsch") subject_en = BooleanField(u"Englisch") subject_ru = BooleanField(u"Russisch") subject_fr = BooleanField(u"Französisch") subject_es = BooleanField(u"Spanisch") subject_hidden = HiddenField(u"Sprachauswahl", validators=[validate_enrollment_subjects])
class DefaultLoginForm(Form): """The default login form used by Auth """ username = TextField( "Username or Email", validators=[Required(message="Username not provided")]) password = PasswordField( "Password", validators=[Required(message="Password not provided")]) remember = CheckboxInput("Remember Me") next = HiddenField() submit = SubmitField("Login")
class OpenIdLoginForm(Form): next = HiddenField() openid = TextField("OpenID", validators=[ required(_("OpenID is required")), url(_("OpenID must be a valid URL")) ]) submit = SubmitField(_("Login"))
class ChangePasswordForm(Form): activation_key = HiddenField() password = PasswordField("Password", validators=[ required(message=_("Password is required"))]) password_again = PasswordField(_("Password again"), validators=[ equal_to("password", message=\ _("Passwords don't match"))]) submit = SubmitField(_("Save"))
class RedirectForm(Form): next = HiddenField() def __init__(self, *args, **kwargs): Form.__init__(self, *args, **kwargs) if not self.next.data: self.next.data = get_redirect_target() or '' def redirect(self, endpoint='index', **values): if is_safe_url(self.next.data): return redirect(self.next.data) target = get_redirect_target() return redirect(target or url_for(endpoint, **values))
class CashForm(Form): alipay = TextField( u"支付宝账户", validators=[required(message=u"请填写支付宝邮箱地址"), email(message=u"邮箱格式错误")]) money = TextField(u"提现金额", validators=[required(message=u"请填写您要提现的金额"), is_num]) submit = SubmitField(u"提交") hidden = HiddenField()
class LoginForm(Form): next = HiddenField() remember = BooleanField(_("Remember me")) login = TextField(_("Username or email address"), validators=[ required(message=\ _("You must provide an email or username"))]) password = PasswordField(_("Password")) submit = SubmitField(_("Login"))
class UpdateProfileForm(Form): blog = TextField(_("Blog"), validators=[optional()]) github = TextField(_("Github"), validators=[optional()]) brief = TextAreaField(_("Brief"), validators=[ optional(), length( max=140, message=_("Pls. less than 140 characater")) ]) next = HiddenField() submit = SubmitField(_("Update profile")) delete = SubmitField(_("Delete"))
class EntryForm(Form): title = TextField(u"标题", validators=[required(message=u"必填")]) brief = TextAreaField(u"简介", validators=[required(message=u"必填")]) desc = TextAreaField(u"描述", validators=[required(message=u"必填")]) tags = TextField(u"标签", validators=[required(message=u"必填")]) address = TextField(u"地址", validators=[required(message=u"必填")]) worktime = TextField(u"服务时间", validators=[required(message=u"必填")]) serviceitems = TextField(u"服务项目", validators=[required(message=u"必填")]) serviceareas = TextField(u"服务地区", validators=[required(message=u"必填")]) contracts = TextField(u"联系号码", validators=[required(message=u"必填")]) linkman = TextField(u"联系人", validators=[required(message=u"必填")]) location = TextField(u"经纬度", validators=[required(message=u"必填")]) submit = SubmitField(u"提交") next = HiddenField()
class PostCrudForm(Form): yesno = SelectField("Yes or No?", validators=[AnyOf(["1", "0"]), Required()], choices=[("1", 'Yes'), ("0", 'No')]) debate_id = HiddenField(validators=[check_if_thread_exists]) text = TextAreaField(validators=[ Length(min=1, max=140, message="Post must be between 2 and 140 characters"), Required(), does_not_have_bad_words ]) author_id = SelectMultipleField("Author", validators=[check_if_user_does_not_exist]) origin = SelectField(validators=[ Required(), AnyOf(["web", "kiosk", "cell"]), ], choices=[("web", 'Web'), ("kiosk", 'Kiosk'), ("cel", "Cell")]) likes = IntegerField("Likes", validators=[Optional()]) def __init__(self, debate_id=None, *args, **kwargs): super(PostCrudForm, self).__init__(*args, **kwargs) if debate_id: self.debate_id.data = debate_id self.author_id.choices = [(str(u.id),'%s (%s)' % (u.username, u.origin)) \ for u in cdw.users.with_fields(isAdmin=True).order_by("+username")] def to_post(self): try: responseTo = cdw.posts.with_id(self.responseto.data) except: responseTo = None return Post(yesNo=int(self.yesno.data), text=self.text.data, author=User.objects.with_id(self.author_id.data[0]), origin=self.origin.data, likes=self.likes.data, responseTo=responseTo)
class TopicForm(Form): body = TextAreaField('Body', [Required()]) excerpt = TextAreaField('Excerpt', [Required()]) meta_description = TextAreaField('Meta Description') category = TextField('Category', [Required()]) name = TextField('Name', [Required()]) published = BooleanField('Published') login_required = BooleanField('Login Required') system = HiddenField() def __init__(self, *args, **kwargs): kwargs['csrf_enabled'] = False super(TopicForm, self).__init__(*args, **kwargs) def validate_category(form, field): return slugify(field.data)
class SigninForm(Form): next = HiddenField(u"next") username = TextField(u"username", validators=[ Required(u"username is required") ], default="") password = PasswordField(u"password", validators=[ ]) submit = SubmitField(u"Sign in") def validate_password(form, field): user = UserModel().get_by_username(form.username.data) if user is None: raise ValidationError("auth error") entry_password = get_password_hash(settings.SECRET_KEY, user.username, field.data) if entry_password != user.password: raise ValidationError("auth error") form.user = user
class SignupForm(Form): nickname = TextField( _("Nickname"), validators=[required(message=_("Nickname required")), is_username]) email = TextField(_("Email address"), validators=[ required(message=_("Email address required")), email(message=_("A valid email address is required")) ]) next = HiddenField() submit = SubmitField(_("Create profile")) def validate_nickname(self, field): user = User.query.filter_by( nickname=field.data and field.data.strip()).first() if user: raise ValidationError, gettext("This nickname is taken") def validate_email(self, field): user = User.query.filter_by( email=field.data and field.data.strip()).first() if user: raise ValidationError, gettext("This email is taken")
class VerifyPhoneForm(Form): phonenumber = HiddenField( validators=[Required(), validate_phonenumber, phone_is_unique])
class PostForm(Form): title = TextField("title", [validators.required()]) text = TextAreaField("text") delete = BooleanField("delete post") post_id = HiddenField("post id")
class ItSkillForm(Form): it_skills = HiddenField(u'IT技能', validators=[required(message=u'必填')])