class AlarmClassForm(Form): id = HiddenField(u'Id') severity = SelectFieldPro(u'级别', validators=[required(message=u'必填')], choices=lambda: [(unicode(r.id), r.alias) for r in AlarmSeverity.query]) #x733_type = tables.Column(verbose_name=u'X733类型') probable_cause = TextAreaField(u'可能原因') specific_problem = TextAreaField(u'特定原因') additional_info = TextAreaField(u'附加信息') remark = TextAreaField(u'备注')
class AlarmKnowledgeForm(Form): class_id = SelectFieldPro( u'告警类型', validators=[required(message=u'必填')], choices=lambda: [('', u'Choice')] + [(unicode(r.id), r.alias) for r in AlarmClass.query]) probability = SelectField(u'发生几率', validators=[required(message=u'必填')], choices=[(unicode(1), u'极少发生'), (unicode(2), u'偶尔发生'), (unicode(3), u'频繁发生')]) probable_cause = TextAreaField(u'可能原因') resolvent = TextAreaField(u'解决方案')
class RouterNewForm(FormPro): cityid = SelectFieldPro(u'所属地市', choices=lambda: area_choices(1, u'请选择地市')) town = SelectFieldPro(u'', choices=lambda: area_choices(2, u'请选择区县')) area_id = SelectFieldPro(u'所属区域', validators=[required(message=u'必填')], choices=lambda: area_choices(4, u'请选择接入点')) name = TextField(u'路由器名称', validators=[required(message=u'必填')]) alias = TextField(u'路由器别名', validators=[required(message=u'必填')]) addr = TextField(u'IP 地址', validators=[ required(message=u'必填'), IPAddress(message=u'IP地址格式不正确'), NoneOf(['0.0.0.0', '255.255.255.255'], message=u'IP地址格式不正确') ]) snmp_comm = TextField(u'读团体名', validators=[required(message=u'必填')]) snmp_wcomm = TextField(u'写团体名', validators=[required(message=u'必填')]) snmp_ver = RadioField(u'SNMP版本', default=SNMP_VER_DICT.keys()[0], validators=[required(message=u'必填')], choices=[(value, label) for value, label in SNMP_VER_DICT.items()]) mask = TextField(u'子网掩码') location = TextField(u'位置') remark = TextAreaField(u'备注信息')
class ModuleForm(Form): name = TextField(u'名称', [required(message=u'必填')]) alias = TextField(u'显示名', [required(message=u'必填')]) period = IntegerField(u'周期(min)') retries = IntegerField(u'重试次数(次)') timeout = IntegerField(u'超时(s)') remark = TextAreaField(u'备注')
class UserNewForm(Form): username = TextField(u'用户名', validators=[required(message=u'必填')]) name = TextField(u'真实姓名', validators=[required(message=u'必填')]) password = PasswordField( u'密码', validators=[required(message=u'必填'), v.Length(min=6, max=20)]) password_confirm = PasswordField(u'重复密码', validators=[ required(message=u'必填'), equal_to('password', message=u'两次输入的密码不同') ]) role_id = SelectFieldPro( u'角色', validators=[required(message=u'必填')], choices=lambda: [('', u'请选择角色')] + [(unicode(r.id), r.name) for r in Role.query]) domain_id = SelectFieldPro( u'管理域', validators=[required(message=u'必填')], choices=lambda: [('', u'请选择管理域')] + [(unicode(d.id), d.name) for d in Domain.query]) department = TextField(u'部门') email = TextField( u'邮箱', validators=[required(message=u'必填'), email(message=u'不是合法的邮箱地址')]) telephone = TextField(u'电话') mobile = TextField(u'手机', validators=[validate_mobile()]) memo = TextAreaField(u'备注')
class CpeNewForm(FormPro): ctrl_id = SelectFieldPro(u'所属EOC', validators=[required(message=u'必填')], choices=lambda: eoc_choices(3, u'请选择EOC')) area_id = SelectFieldPro(u'接入点', validators=[required(message=u'必填')], choices=lambda: area_choices(4, u'请选择接入点')) name = TextField(u'CPE名称', validators=[required(message=u'必填')]) alias = TextField(u'CPE别名', validators=[required(message=u'必填')]) mac = TextField(u'MAC地址', validators=[required(message=u'必填')]) vendor = QuerySelectField( u'CPE厂商', query_factory=lambda: Vendor.query.filter(Vendor.is_valid == 1), allow_blank=True, blank_text=u'请选择厂商', get_label='alias') model = QuerySelectField( u'CPE型号', query_factory=lambda: Model.query.filter(Model.is_valid == 1).filter( Model.category_id == 51), allow_blank=True, blank_text=u'请选择型号', get_label='alias') esn = TextField(u'ESN') owner = TextField(u'用户名') card_id = TextField(u'身份证号') contact_tel = TextField(u'联系电话') location = TextField(u'安装地址') install_time = DateFieldPro(u'安装时间') remark = TextAreaField(u'备注信息')
class TownNewForm(FormPro): parent_id = SelectFieldPro(u'所属地市', validators=[required(message=u'必填')], choices=lambda: area_choices(1, u'请选择地市')) name = TextField(u'区县名称', validators=[required(message=u'必填')]) alias = TextField(u'区县别名', validators=[required(message=u'必填')]) longitude = DecimalFieldPro(u'经度') latitude = DecimalFieldPro(u'纬度') remark = TextAreaField(u'备注')
class MiboidForm(Form): mib = TextField(u'mib', [required(message=u'必填')]) grp = TextField(u'分组', [required(message=u'必填')]) name = TextField(u'名称', [required(message=u'必填')]) alias = TextField(u'显示名', [required(message=u'必填')]) oid = TextField(u'oid') is_valid = SelectField(u'有效性', [required(message=u'必填')], choices=[(u'0', u'无效'), (u'1', u'有效')]) remark = TextAreaField(u'备注')
class InviteForm(Form): emails = TextAreaField(_("People to notify")) submit = SubmitField(_("Send invites")) def validate_emails(form, field): validator = Email() for email in [email.strip() for email in form.emails.data.split(",")]: if not validator.regex.match(email): raise ValidationError( _("The email %(email)s is not valid", email=email))
class BranchNewForm(FormPro): cityid = SelectFieldPro(u'所属地市', choices=lambda: area_choices(1, u'请选择地市')) parent_id = SelectFieldPro(u'所属区县', validators=[required(message=u'必填')], choices=lambda: area_choices(2, u'请选择区县')) name = TextField(u'分局名称', validators=[required(message=u'必填')]) alias = TextField(u'分局别名', validators=[required(message=u'必填')]) longitude = DecimalFieldPro(u'经度') latitude = DecimalFieldPro(u'纬度') remark = TextAreaField(u'备注')
class NoteForm(Form): name = TextField('Name', validators=[Required()]) text = TextAreaField('Note', validators=[Required()]) pad = SelectField('Pad', choices=[], coerce=int) # @TODO use wtforms.ext.sqlalchemy.fields.QuerySelectField? def __init__(self, user=None, **kwargs): super(NoteForm, self).__init__(**kwargs) self.pad.choices = [(0, '---------')] + [ (p.id, p.name) for p in Pad.query.filter_by(user=user) ]
class ProfileForm(Form): name = TextField(u'真实姓名', validators=[required(message=u'必填')]) role_name = TextField(u'角色名') domain_name = TextField(u'管理域名') department = TextField(u'部门') email = TextField( u'邮箱', validators=[required(message=u'必填'), email(message=u'不是合法的邮箱地址')]) telephone = TextField(u'电话') mobile = TextField(u'手机', validators=[validate_mobile()]) memo = TextAreaField(u'备注')
class SysoidForm(Form): sysoid = TextField(u'SysOid', [required(message=u'必填')]) model = QuerySelectField(u'设备型号', get_label=u'alias', query_factory=lambda: Model.query) disco = TextField(u'发现模块') mib = QuerySelectField( u'Mib文件', get_pk=lambda x: x, get_label=lambda x: x, query_factory=lambda: [m[0] for m in db.session.query(Miboid.mib).distinct().all()]) remark = TextAreaField(u'备注')
class ModelForm(Form): category = QuerySelectField( u'类别', get_label=u'alias', query_factory=lambda: Category.query.filter_by(obj='node')) name = TextField(u'名称', [required(message=u'必填')]) alias = TextField(u'显示名', [required(message=u'必填')]) sysoid = TextField(u'Sysoid') vendor = QuerySelectField(u'厂商', get_label=u'alias', query_factory=lambda: Vendor.query) is_valid = SelectField(u'有效性', [required(message=u'必填')], choices=[(u'0', u'无效'), (u'1', u'有效')]) remark = TextAreaField(u'备注')
class MonitorForm(Form): category = TextField(u'分类') vendor = TextField(u'供应商') sysoid = TextField(u'Sysoid') match = TextField(u'匹配规则') module = QuerySelectField(u'采集模块', get_label=u'alias', query_factory=lambda: Module.query) mib = QuerySelectField( u'Mib文件', get_pk=lambda x: x, get_label=lambda x: x, query_factory=lambda: [m[0] for m in db.session.query(Miboid.mib).distinct().all()]) remark = TextAreaField(u'备注')
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') edit = SubmitField(u'Edit') def __init__(self, formdata=None, *args, **kwargs): self.id.data = kwargs.get('id', None) super(BookmarkForm, self).__init__(formdata, *args, **kwargs) def validate(self): rv = Form.validate(self) if not rv: return False _id = self.id.data link = self.link.data title = self.title.data description = self.description.data tags = map(lambda x: {'name': x.strip()}, self.tags.data.split(',')) if _id is None or _id == '' or int(_id) < 1: self.bookmark = ItemBookmark(tags=tags, link=link, title=title, description=description) else: self.bookmark = get_bookmark_by_id(_id) if self.bookmark is None: abort(404) self.bookmark.title = title self.bookmark.description = description self.bookmark.set_tags(tags) return True
class EocNewForm(FormPro): cityid = SelectFieldPro(u'所属地市', choices=lambda: area_choices(1, u'请选择地市')) town = SelectFieldPro(u'', choices=lambda: area_choices(2, u'请选择区县')) area_id = SelectFieldPro(u'所属区域', validators=[required(message=u'必填')], choices=lambda: area_choices(3, u'请选择分局')) name = TextField(u'EOC名称', validators=[required(message=u'必填')]) alias = TextField(u'EOC别名', validators=[required(message=u'必填')]) addr = TextField(u'IP 地址', validators=[ required(message=u'必填'), IPAddress(message=u'IP地址格式不正确'), NoneOf(['0.0.0.0', '255.255.255.255'], message=u'IP地址格式不正确') ]) snmp_comm = TextField(u'读团体名', validators=[required(message=u'必填')]) snmp_wcomm = TextField(u'写团体名', validators=[required(message=u'必填')]) snmp_ver = RadioField(u'SNMP版本', default=SNMP_VER_DICT.keys()[0], validators=[required(message=u'必填')], choices=[(value, label) for value, label in SNMP_VER_DICT.items()]) vendor = QuerySelectField( u'EOC厂商', query_factory=lambda: Vendor.query.filter(Vendor.is_valid == 1), allow_blank=True, blank_text=u'请选择厂商', get_label='alias') model = QuerySelectField( u'EOC型号', query_factory=lambda: Model.query.filter(Model.is_valid == 1).filter( Model.category_id == 50), allow_blank=True, blank_text=u'请选择型号', get_label='alias') mask = TextField(u'子网掩码') esn = TextField(u'ESN') owner = TextField(u'维护人员') contact_tel = TextField(u'联系电话') location = TextField(u'安装地址') install_time = DateFieldPro(u'安装时间') remark = TextAreaField(u'备注信息')
class OnuNewForm(FormPro): ctrl_id = SelectFieldPro(u'所属OLT', validators=[required(message=u'必填')], choices=lambda: olt_choices(3, u'请选择OLT')) area_id = SelectFieldPro(u'接入点', validators=[required(message=u'必填')], choices=lambda: area_choices(4, u'请选择接入点')) name = TextField(u'ONU名称', validators=[required(message=u'必填')]) alias = TextField(u'ONU别名', validators=[required(message=u'必填')]) addr = TextField(u'IP 地址', validators=[ required(message=u'必填'), IPAddress(message=u'IP地址格式不正确'), NoneOf(['0.0.0.0', '255.255.255.255'], message=u'IP地址格式不正确') ]) snmp_comm = TextField(u'读团体名', validators=[required(message=u'必填')]) snmp_wcomm = TextField(u'写团体名', validators=[required(message=u'必填')]) snmp_ver = RadioField(u'SNMP版本', default=SNMP_VER_DICT.keys()[0], validators=[required(message=u'必填')], choices=[(value, label) for value, label in SNMP_VER_DICT.items()]) vendor_id = SelectFieldPro( u'ONU厂商', validators=[required(message=u'必填')], choices=lambda: [('', u'请选择厂商')] + [(unicode(r.id), r.alias) for r in Vendor.query.filter( Vendor.is_valid == 1)]) model_id = SelectFieldPro(u'ONU型号', validators=[required(message=u'必填')], choices=lambda: [('', u'请选择型号')] + [(unicode(r.id), r.alias) for r in Model.query.filter(Model.is_valid == 1) .filter(Model.category_id == 21)]) mask = TextField(u'子网掩码') location = TextField(u'位置') remark = TextAreaField(u'备注信息')
class UserEditForm(Form): name = TextField(u'真实姓名', validators=[required(message=u'必填')]) role_id = SelectFieldPro( u'角色', validators=[required(message=u'必填')], choices=lambda: [('', u'请选择角色')] + [(unicode(r.id), r.name) for r in Role.query]) domain_id = SelectFieldPro( u'管理域', validators=[required(message=u'必填')], choices=lambda: [('', u'请选择管理域')] + [(unicode(d.id), d.name) for d in Domain.query]) department = TextField(u'部门') email = TextField( u'邮箱', validators=[required(message=u'必填'), email(message=u'不是合法的邮箱地址')]) telephone = TextField(u'电话') mobile = TextField(u'手机', validators=[validate_mobile()]) memo = TextAreaField(u'备注')
class ContactForm(Form): name = TextField("Name", [validators.required("Please enter your Name")]) email = TextField("Email", [validators.required("Please enter your Email"), validators.Email()]) subject = TextField("Subject", [validators.required("Please enter a Subject")]) message = TextAreaField("Message", [validators.required("Please enter a Message")]) submit = SubmitField("Send")
class AlarmClearForm(Form): cleared_note = TextAreaField(u'清除说明', validators=[required(message=u'必填')])
class AlarmAckForm(Form): acked_note = TextAreaField(u'确认说明', validators=[required(message=u'必填')])
class CityNewForm(FormPro): name = TextField(u'地市名称', validators=[required(message=u'必填')]) alias = TextField(u'地市别名', validators=[required(message=u'必填')]) longitude = DecimalFieldPro(u'经度') latitude = DecimalFieldPro(u'纬度') remark = TextAreaField(u'备注')
class AnswerForm(Form): body = TextAreaField(u'Напишите ответ', [validators.optional(), validators.length(max=512)])