Beispiel #1
0
class SearchForm(forms.Form):
    host = fields.ChoiceField(
        choices=((None,'全部'),(1,'kvm1'),(2,'kvm2'),(3,'kvm3'),(4,'kvm4'),(5,'kvm5'),(9,'其它')),
        label='主机',
        label_suffix=':',
        required=False,
        widget=fields.Select(
            attrs={'class': 'form-control d-inline col-1', 'style': 'min-width: 100px;'})
        #validators=[RegexValidator(r'[1-5]', '...')]
    )
    name = fields.CharField(required=False, label='名称', label_suffix=':', widget=fields.TextInput(
        attrs={'class': 'form-control d-inline col-2 font-weight-light', 'placeholder': '虚拟机名称',
               'style': 'min-width: 130px;'}))
    ip = fields.CharField(required=False, label='IP', label_suffix=':', widget=fields.TextInput(
        attrs={'class': 'form-control d-inline col-2 font-weight-light', 'placeholder': '虚拟机IP',
               'style': 'min-width: 130px;'}))
    status = fields.ChoiceField(
        choices=((None, '全部'),(1,'运行中'),(2,'关闭'),(3,'不存在')),
        label='状态',
        label_suffix=':',
        required=False,
        widget=fields.Select(
                attrs={'class': 'form-control d-inline col-1', 'style': 'min-width: 100px;'})
    )
    description = fields.CharField(required=False, label='描述', label_suffix=':', widget=fields.TextInput(
        attrs={'class': 'form-control d-inline col-2 font-weight-light', 'placeholder': '用途 or 备注',
               'style': 'min-width: 130px;'}))
Beispiel #2
0
class InfoForm(Form):
    """完善信息Form"""
    # """修改信息Form"""

    activist_email = fields.EmailField(
        max_length=32,
        error_messages={'required': '邮箱不能为空', 'invalid': '邮箱格式有误!'},
        widget=fields.TextInput(attrs={'class': 'form-control', 'placeholder': "请输入邮箱"})
    )

    activist_phone = fields.RegexField(
        regex=r"^1[356789]\d{9}$",
        max_length=32,
        error_messages={'required': '手机号码不能为空', 'invalid': '手机号码格式有误!'},
        widget=fields.TextInput(attrs={'class': 'form-control', 'placeholder': "请输入手机号码"})
    )
    apply_date = forms.DateField(
        error_messages={'required': '申请入党日期不能为空'},
        widget=forms.TextInput(attrs={'class': 'form-control', 'type': 'date'})
    )

    voluntary_time = fields.IntegerField(
        error_messages={'required': '志愿时长不能为空!'},
        widget=forms.TextInput(attrs={'class': 'form-control', 'placeholder': "请输入正整数的时长"})
    )
Beispiel #3
0
    def __init__(self, attrs={}, date_format=None):
        attrs = dict(attrs, **{'class': 'date form-control'})

        widgets = (fields.TextInput(attrs=attrs),
                   fields.TextInput(attrs=attrs))

        super(TimeRangeWidget, self).__init__(widgets, attrs)
Beispiel #4
0
class AddFrom(forms.Form):
    host = fields.ChoiceField(
        choices=((None, '请选择..'), (1, 'kvm1'), (2, 'kvm2'), (3, 'kvm3'), (4, 'kvm4'), (5, 'kvm5')),
        label='主机',
        label_suffix=':',
        widget=fields.Select(
            attrs={'class': 'form-control col-2'}),
        validators=[RegexValidator(r'[1-5]', '请选择待安装镜像的宿主机。')]
    )
    ver = fields.ChoiceField(
        choices=((None, '请选择..'), (1, 'v59'), (2, 'v60'), (3, 'v70'), (4, 'v80')),
        label='系统版本',
        label_suffix=':',
        widget=fields.Select(
            attrs={'class': 'form-control col-2'}),
        validators=[RegexValidator(r'[1-5]', '请选择待安装镜像的版本类别。')]
    )
    package = fields.CharField(label='镜像包', label_suffix=':', widget=fields.TextInput(
        attrs={'class': 'form-control col-4', 'placeholder': '镜像包全称,如v59-rc01-006-marketing-20151119-iso.tar.gz',
               'style': 'font-size: small'}))
    name = fields.CharField(label='虚拟机名称', label_suffix=':', widget=fields.TextInput(
        attrs={'class': 'form-control col-4', 'placeholder': '请输入待创建的虚拟机名称',
               'style': 'font-size: small'}))
    imgfile = fields.CharField(label='磁盘文件', label_suffix=':', widget=fields.TextInput(
        attrs={'class': 'form-control col-4', 'placeholder': '请输入待创建的磁盘文件名称',
               'style': 'font-size: small'}))
    ip = fields.CharField(label='IP', label_suffix=':', widget=fields.TextInput(
        attrs={'class': 'form-control col-4', 'placeholder': '请输入待指定的ip地址',
               'style': 'font-size: small'}))
Beispiel #5
0
class ActivistInfoForm(Form):
    """积极分子信息修改Form"""

    activist_name = fields.RegexField(
        regex=r'^[\u4E00-\u9FA5]{2,6}$',
        max_length=32,
        error_messages={
            'required': '姓名不能为空!',
            'invalid': '姓名格式有误!'
        },
        widget=fields.TextInput(attrs={
            'class': 'form-control',
            'placeholder': "请输入姓名(2-6个汉字)"
        }))

    activist_gender = fields.ChoiceField(choices=(('男', '男'), ('女', '女')),
                                         initial='男',
                                         widget=widgets.Select())

    activist_phone = fields.RegexField(
        regex=r"^1[356789]\d{9}$",
        max_length=32,
        error_messages={
            'required': '手机号码不能为空!',
            'invalid': '手机号码格式有误!'
        },
        widget=fields.TextInput(attrs={
            'class': 'form-control',
            'placeholder': "请输入手机号码"
        }))

    activist_email = fields.EmailField(
        max_length=32,
        error_messages={
            'required': '邮箱不能为空!',
            'invalid': '邮箱格式有误!'
        },
        widget=fields.TextInput(attrs={
            'class': 'form-control',
            'placeholder': "请输入邮箱"
        }))

    apply_date = forms.DateField(error_messages={'required': '申请入党日期不能为空!'},
                                 widget=forms.TextInput(attrs={
                                     'class': 'form-control',
                                     'type': 'date'
                                 }))

    voluntary_time = fields.IntegerField(
        error_messages={'required': '志愿时长不能为空!'},
        widget=forms.TextInput(attrs={
            'class': 'form-control',
            'placeholder': "请输入正整数的时长"
        }))
Beispiel #6
0
 class Meta:
     model = Lecture
     fields = (
         'name',
         'week',
         'course',
         'url',
     )
     widgets = {
         'name': dj_field.TextInput(attrs={'class': 'form-control'}),
         'week': dj_field.NumberInput(attrs={'class': 'form-control'}),
         'course': widgets.Select(attrs={'class': 'form-control'}),
         'url': dj_field.TextInput(attrs={'class': 'form-control'})
     }
Beispiel #7
0
 class Meta:
     model = User
     fields = (
         'email',
         'password',
         'first_name',
         'last_name',
     )
     widgets = {
         'email': dj_field.EmailInput(attrs={'class': 'form-control'}),
         'password': PasswordInput(attrs={'class': 'form-control'}),
         'first_name': dj_field.TextInput(attrs={'class': 'form-control'}),
         'last_name': dj_field.TextInput(attrs={'class': 'form-control'})
     }
Beispiel #8
0
class LoginForm(Form):
    """登陆Form"""
    username = fields.CharField(
        max_length=32,
        error_messages={'required': '用户名不能为空'},
        widget=fields.TextInput(attrs={
            'class': 'form-control',
            'placeholder': "请输入用户名"
        }))

    password = fields.CharField(
        max_length=32,
        error_messages={'required': '密码不能为空'},
        widget=PasswordInput(attrs={
            'class': 'form-control',
            'placeholder': "请输入密码"
        }))

    usertype = fields.ChoiceField(choices=(
        ('管理员', '管理员'),
        ('党员用户', '党员用户'),
        ('积极分子', '积极分子'),
    ),
                                  initial='管理员',
                                  widget=widgets.RadioSelect())

    captcha = CaptchaField(error_messages={
        'invalid': '验证码输入有误,请重新输入',
        'required': '验证码不能为空'
    })
Beispiel #9
0
 class Meta:
     model = Course
     fields = (
         'name',
         'description',
         'start_date',
         'end_date',
     )
     widgets = {
         'name':
         dj_field.TextInput(attrs={'class': 'form-control'}),
         'description':
         dj_field.TextInput(attrs={'class': 'form-control'}),
         'start_date':
         dj_field.TextInput(attrs={'class': 'datepicker form-control'}),
         'end_date':
         dj_field.TextInput(attrs={'class': 'datepicker form-control'})
     }
Beispiel #10
0
class TextLinkFormMixin(EntangledModelFormMixin):
    link_content = fields.CharField(
        label=_("Link Content"),
        widget=fields.TextInput(attrs={'id': 'id_name'}),  # replace auto-generated id so that CKEditor automatically transfers the text into this input field
        help_text=_("Content of Link"),
    )

    class Meta:
        entangled_fields = {'glossary': ['link_content']}
Beispiel #11
0
class AssetQuery(Form):
    search_key = fields.CharField(
        required=True,
        label=False,
        error_messages={'required': '请输入需要查询的用户'},
        widget=fields.TextInput(attrs={
            "placeholder": '请输入用户名',
            'class': 'form-control search-query',
        }),
    )
Beispiel #12
0
class Asset_in(Form):
    asset_id_field = fields.CharField(
        label="资产编号",
        required=True,
        widget=fields.TextInput(attrs={
            "class": "form-control",
            "readonly": True
        }))
    asset_status_field = fields.CharField(label="资产状态",
                                          initial=2,
                                          required=True,
                                          widget=widgets.Select)
    in_reason_field = fields.CharField(label="入库库原因",
                                       initial=2,
                                       required=True,
                                       widget=widgets.Select)
    store_place_field = fields.CharField(label="库存地点",
                                         initial=2,
                                         required=True,
                                         widget=fields.Select)
    admin_name_field = fields.CharField(
        label="库房管理员",
        required=True,
        widget=widgets.TextInput(attrs={
            "class": "form-control",
            'placeholder': "请输入库房管理员"
        }))
    remark_info = fields.CharField(
        label="备注信息",
        required=False,
        widget=widgets.TextInput(attrs={
            "class": "form-control",
            'placeholder': "请输入备注信息"
        }))

    def __init__(self, current_user, *args, **kwargs):
        super(Asset_in, self).__init__(*args, **kwargs)
        self.current_user = current_user
        self.fields[
            'asset_status_field'].widget.choices = models.InStock.objects.all(
            ).values_list('in_stock__id', 'in_stock__asset_status')
        self.fields['asset_status_field'].widget.attrs = {
            "class": "form-control"
        }
        self.fields[
            'in_reason_field'].widget.choices = models.InReasons.objects.all(
            ).values_list('in_reasons__id', 'in_reasons__in_out_reasons')
        self.fields['in_reason_field'].widget.attrs = {"class": "form-control"}
        self.fields[
            'store_place_field'].widget.choices = models.UserProfile.objects.get(
                username=current_user).store_place.all().values_list(
                    'id', 'store_place')
        self.fields['store_place_field'].widget.attrs = {
            "class": "form-control"
        }
Beispiel #13
0
class InfoForm(Form):
    """完善信息Form"""
    """修改信息Form"""

    admin_name = fields.RegexField(
        regex=r'^[\u4E00-\u9FA5]{2,6}$',
        max_length=32,
        error_messages={
            'required': '姓名不能为空',
            'invalid': '姓名格式有误!'
        },
        widget=fields.TextInput(attrs={
            'class': 'form-control',
            'placeholder': "请输入真实姓名(2-6个字)"
        }))

    admin_gender = fields.ChoiceField(choices=(('男', '男'), ('女', '女')),
                                      initial='男',
                                      widget=widgets.Select())

    admin_email = fields.EmailField(
        max_length=32,
        error_messages={
            'required': '邮箱不能为空',
            'invalid': '邮箱格式有误!'
        },
        widget=fields.TextInput(attrs={
            'class': 'form-control',
            'placeholder': "请输入邮箱"
        }))

    admin_phone = fields.RegexField(
        regex=r"^1[356789]\d{9}$",
        max_length=32,
        error_messages={
            'required': '手机号码不能为空',
            'invalid': '手机号码格式有误!'
        },
        widget=fields.TextInput(attrs={
            'class': 'form-control',
            'placeholder': "请输入手机号码"
        }))
Beispiel #14
0
class PostForm(forms.Form):
    title = fields.CharField(max_length=255, required=True)
    description = fields.CharField(max_length=500, required=True)
    content = fields.TextInput()
    date = fields.DateField(required=True)

    def save(self, author):
        if self.is_valid():
            post = Post(author_id=author.pk, **self.cleaned_data)
            post.full_clean()
            post.save()
Beispiel #15
0
 def field(self, **extra):
     return self.field_type(
         label=self.name,
         initial=';'.join('%s:%s' % (comp.pk, comp.name) for comp in self.components),
         widget=fields.TextInput(attrs={
             'data-list': 'true',
             'data-template': self.data['component'],
         }),
         required=False,
         **extra,
     )
Beispiel #16
0
 class Meta:
     model = Item
     fields = ('text', )
     widgets = {
         'text':
         dj_fields.TextInput(attrs={
             'placeholder': 'Add a to-do',
             'class': 'form-control input-lg'
         })
     }
     error_messages = {'text': {'required': EMPTY_LIST_ERROR_MSG}}
Beispiel #17
0
class TransferInForm(Form):
    """党员转入Form"""

    username = fields.CharField(
        min_length=6,
        max_length=13,
        error_messages={
            'required': '用户名不能为空',
            'invalid': '用户名格式有误,请重新输入'
        },
        widget=forms.TextInput(attrs={
            'class': 'form-control',
            'placeholder': "请输入用户名(6-13位)"
        }))

    member_name = fields.RegexField(
        regex=r'^[\u4E00-\u9FA5]{2,6}$',
        max_length=32,
        error_messages={
            'required': '姓名不能为空',
            'invalid': '姓名格式有误,请重新输入'
        },
        widget=fields.TextInput(attrs={
            'class': 'form-control',
            'placeholder': "请输入姓名(2-6个汉字)"
        }))

    member_gender = fields.ChoiceField(choices=(('男', '男'), ('女', '女')),
                                       initial='男',
                                       widget=widgets.Select())

    member_status = fields.ChoiceField(choices=(('正式党员', '正式党员'), ('预备党员',
                                                                   '预备党员')),
                                       initial='正式党员',
                                       widget=widgets.Select())

    in_date = forms.DateField(error_messages={'required': '转入日期不能为空'},
                              widget=forms.TextInput(attrs={
                                  'class': 'form-control',
                                  'type': 'date'
                              }))

    come_from_party = fields.CharField(
        max_length=256,
        error_messages={'required': '转自组织内容不能为空'},
        widget=forms.TextInput(attrs={
            'class': 'form-control',
            'placeholder': "请输入转自什么组织"
        }))
Beispiel #18
0
class PercentageField(fields.FloatField):
    widget = fields.TextInput(attrs={"class": "percentInput"})

    def is_number(s):
        if s is None:
            return False
        try:
            float(s)
            return True
        except ValueError:
            return False

    def to_python(self, value):
        val = super(PercentageField, self).to_python(value)
        if self.is_number(val):
            return val / 100
        return val

    def prepare_value(self, value):
        val = super(PercentageField, self).prepare_value(value)
        if self.is_number(val) and not isinstance(val, str):
            return str((float(val) * 100))
Beispiel #19
0
class AddMemberForm(Form):
    """添加成员Form"""

    username = fields.CharField(
        min_length=6,
        max_length=13,
        error_messages={
            'required': '用户名不能为空!',
            'invalid': '用户名格式有误!'
        },
        widget=forms.TextInput(attrs={
            'class': 'form-control',
            'placeholder': "请输入用户名(6-13位)"
        }))

    add_name = fields.RegexField(
        regex=r'^[\u4E00-\u9FA5]{2,6}$',
        max_length=32,
        error_messages={
            'required': '姓名不能为空!',
            'invalid': '姓名格式有误!'
        },
        widget=fields.TextInput(attrs={
            'class': 'form-control',
            'placeholder': "请输入姓名(2-6个汉字)"
        }))

    add_gender = fields.ChoiceField(choices=(('男', '男'), ('女', '女')),
                                    initial='男',
                                    widget=widgets.Select())

    add_status = fields.ChoiceField(choices=(('正式党员', '正式党员'),
                                             ('预备党员', '预备党员'), ('积极分子',
                                                                '积极分子')),
                                    initial='正式党员',
                                    widget=widgets.Select())
Beispiel #20
0
class ip_asset_form(forms.Form):
    name = fields.CharField(
        required=True,
        max_length=64,
        widget=widgets.TextInput(attrs={'class': 'form-control'}),
        #error_messages={},
        label='名称(网络号):',
    )
    asset_code = fields.CharField(
        required=True,
        max_length=64,
        widget=widgets.TextInput(attrs={'class': 'form-control'}),
        #error_messages={},
        label='资产编码:',
    )
    netmask = fields.GenericIPAddressField(
        required=True,
        widget=widgets.TextInput(attrs={'class': 'form-control'}),
        #error_messages={},
        label='掩码:',
        # initial='请输入掩码',
    )
    first_ip = fields.GenericIPAddressField(
        required=True,
        widget=widgets.TextInput(attrs={'class': 'form-control'}),
        #error_messages={},
        label='开始IP:',
        # initial='请输入开始IP',
    )
    end_ip = fields.GenericIPAddressField(
        required=True,
        widget=widgets.TextInput(attrs={'class': 'form-control'}),
        #error_messages={},
        label='结束IP:',
        # initial='请输入结束IP',
    )
    manufacturer = ModelChoiceField(
        queryset=models.Manufacturer.objects.all(),
        widget=widgets.Select(attrs={'class': 'form-control'}),
        label='运营商:',
        initial=1)
    # status = ModelChoiceField(
    #     queryset=dict(models.Asset.asset_status),
    #     widget=widgets.Select(attrs={'class':'form-control'}),
    #     label='状态:',
    #     initial=0
    # )
    tag = ModelChoiceField(
        queryset=models.Tag.objects.all(),
        widget=widgets.Select(attrs={'class': 'form-control'}),
        label='标签',
        initial=0)
    idc = ModelChoiceField(
        queryset=models.IDC.objects.all(),
        widget=widgets.Select(attrs={'class': 'form-control'}),
        label='所属机房',
        initial=0)
    comments = fields.TextInput()
    admin = ModelChoiceField(
        queryset=models.User.objects.all(),
        widget=widgets.Select(attrs={'class': 'form-control'}),
        label='管理人',
        initial=1,
    )
    approved_by = ModelChoiceField(
        queryset=models.User.objects.all(),
        widget=widgets.Select(attrs={'class': 'form-control'}),
        label='审批者',
        initial=1,
    )
Beispiel #21
0
import re
from django.forms import fields as all_fields
from django.forms.models import fields_for_model

FIELDS = {}
for name in dir(all_fields):
    obj = getattr(all_fields, name)
    try:
        if issubclass(obj, all_fields.Field):
            FIELDS[name] = obj
    except TypeError:
        pass
DEFAULT_FIELD = all_fields.TextInput()


def as_field(obj):
    """
    Make an object of type field
    :param obj: An object
    :return: A Field instance or a raised TypeError
    """
    if isinstance(obj, all_fields.Field):
        # Field instances are returned as is
        return obj
    elif issubclass(obj, all_fields.Field):
        # Field types are instantiated with no arguments
        return obj()
    elif isinstance(obj, str) and (obj in FIELDS):
        # string class names are returned as instances
        return FIELDS[obj]()
    elif isinstance(obj, dict) and ("class" in obj) and ("kwargs" in obj) \
Beispiel #22
0
class MemberInfoForm(Form):
    """党员信息修改Form"""

    member_name = fields.RegexField(
        regex=r'^[\u4E00-\u9FA5]{2,6}$',
        max_length=32,
        error_messages={
            'required': '姓名不能为空!',
            'invalid': '姓名格式有误!'
        },
        widget=fields.TextInput(attrs={
            'class': 'form-control',
            'placeholder': "请输入姓名(2-6个汉字)"
        }))

    member_gender = fields.ChoiceField(choices=(('男', '男'), ('女', '女')),
                                       initial='男',
                                       widget=widgets.Select())

    member_phone = fields.RegexField(
        regex=r"^1[356789]\d{9}$",
        max_length=32,
        error_messages={
            'required': '手机号码不能为空!',
            'invalid': '手机号码格式有误!'
        },
        widget=fields.TextInput(attrs={
            'class': 'form-control',
            'placeholder': "请输入手机号码"
        }))

    member_email = fields.EmailField(
        max_length=32,
        error_messages={
            'required': '邮箱不能为空!',
            'invalid': '邮箱格式有误!'
        },
        widget=fields.TextInput(attrs={
            'class': 'form-control',
            'placeholder': "请输入邮箱"
        }))

    member_status = fields.ChoiceField(choices=(('正式党员', '正式党员'), ('预备党员',
                                                                   '预备党员')),
                                       initial='正式党员',
                                       widget=widgets.Select())

    first_date = forms.DateField(error_messages={'required': '入党日期不能为空!'},
                                 widget=forms.TextInput(attrs={
                                     'class': 'form-control',
                                     'type': 'date'
                                 }))

    regular_date = forms.DateField(required=False,
                                   widget=forms.TextInput(attrs={
                                       'class': 'form-control',
                                       'type': 'date'
                                   }))

    voluntary_time = fields.IntegerField(
        error_messages={'required': '志愿时长不能为空!'},
        widget=forms.TextInput(attrs={
            'class': 'form-control',
            'placeholder': "请输入正整数的时长"
        }))

    come_from_party = fields.CharField(
        max_length=256,
        required=False,
        widget=forms.TextInput(attrs={
            'class': 'form-control',
            'placeholder': "请输入转自什么组织"
        }))