def test_maxlength_not_in_select(self): # Regression test for #490 widget = PhoneNumberPrefixWidget() html = widget.render(name="widget", value=None, attrs={"maxlength": 32}) self.assertIn('<select name="widget_0">', html)
class Meta: model = Profile fields = ('birth_date', 'mobile_number', 'phone_number', 'country', 'state', 'zip_code', 'city', 'district', 'about') widgets = { 'birth_date': forms.DateTimeInput(attrs={'class': 'datetime-input'}), 'mobile_number': PhoneNumberPrefixWidget(), 'phone_number': PhoneNumberPrefixWidget(), }
class Meta: model = UserProfile exclude = [ 'head', 'manager', 'is_head', 'is_partner', 'is_manager', 'wagtail_profile', 'user' ] widgets = { 'key_responsibilities': forms.Textarea( attrs={ 'placeholder': "Перечень должностных обязанностей", 'class': "form-control", 'rows': '2' }), 'phone_number': PhoneNumberPrefixWidget(attrs={ 'data-mask': "(000) 000-00-00", 'class': 'form-control', }), 'whatsapp': PhoneNumberPrefixWidget(attrs={ 'data-mask': "(000) 000-00-00", 'class': 'form-control', }), 'twitter': forms.URLInput(attrs={ 'placeholder': "Twitter", 'class': 'form-control', }), 'facebook': forms.URLInput(attrs={ 'placeholder': "Facebook", 'class': 'form-control', }), 'instagram': forms.URLInput(attrs={ 'placeholder': "Instagram", 'class': 'form-control', }), 'middle_name': forms.TextInput(attrs={ 'placeholder': "Отчество", 'class': 'form-control', }), 'position': forms.TextInput(attrs={ 'placeholder': "Должность", 'class': 'form-control', }), }
class WorkerForm(forms.ModelForm): slack_username = forms.CharField() phone = PhoneNumberField(widget=PhoneNumberPrefixWidget(initial='US')) class Meta: model = Worker fields = ('slack_username', 'phone') exclude = ('user', 'start_datetime', 'slack_user_id') def clean_slack_username(self): slack_username = self.cleaned_data.get('slack_username') if slack_username: slack_user_id = get_slack_user_id(slack_username) if slack_user_id is None: raise forms.ValidationError( 'Incorrect slack username provided') self.cleaned_data['slack_user_id'] = slack_user_id return self.cleaned_data['slack_username'] def save(self, commit=True): instance = super().save(commit=False) instance.slack_user_id = self.cleaned_data.get('slack_user_id') if commit: instance.save() return instance
class RegistrationForm(forms.ModelForm): class Meta: model = AppUser fields = ("first_name", "last_name", 'company', 'business_type', 'interested_in', 'city', 'state', 'country', 'phone', 'receive_newsletter') widgets = { 'country': CountrySelectWidget(attrs={'class': 'selectize'}) } interested_in = forms.ModelMultipleChoiceField( widget=forms.SelectMultiple(attrs={'class': 'selectize'}), queryset=ClientInterests.objects.all()) phone = PhoneNumberField( label='Phone', widget=PhoneNumberPrefixWidget(attrs={'class': 'form-control'})) def signup(self, request, user): form_data = self.cleaned_data user.first_name = form_data['first_name'] user.last_name = form_data['last_name'] user.company = form_data['company'] user.business_type = form_data['business_type'] user.interested_in = form_data['interested_in'] user.city = form_data['city'] user.state = form_data['state'] user.country = form_data['country'] user.phone = form_data['phone'] user.receive_newsletter = form_data['receive_newsletter'] user.is_active = True user.save()
class Meta: model = User exclude = ('date_joined', 'is_active', 'is_superuser', 'is_staff') error_messages = { 'username': { 'unique': 'این نام کاربری قبلا ثبت شده است !' }, 'email': { 'unique': 'این ایمیل قبلا توسط فرد دیگری استفاده شده است .' } } labels = { 'username': '******', 'password': '******', 'email': 'ایمیل', 'first_name': 'نام', 'last_name': 'نام خانوادگی', 'phone_number': 'شماره تلفن' } widgets = { 'username': forms.TextInput({'placeholder': 'نام کاربری'}), 'email': forms.TextInput({'placeholder': 'پست الکترونیکی'}), 'password': forms.PasswordInput({'placeholder': 'گذرواژه'}), 'first_name': forms.TextInput({'placeholder': 'نام'}), 'last_name': forms.TextInput({'placeholder': 'نام خانوادگی'}), 'phone_number': PhoneNumberPrefixWidget({'placeholder': 'شماره تلفن'}) }
class DoctorForm(forms.ModelForm): doctor_name = forms.CharField( required=True, label='Name', widget=forms.TextInput(attrs={'class': 'my-label-desc'})) doctor_description = forms.CharField( required=False, label='Description', widget=forms.Textarea( attrs={'class': 'my-label-desc label-desc-text-area'})) doctor_address = forms.CharField( required=True, label='Address', widget=forms.Textarea( attrs={'class': 'my-label-desc label-desc-text-area'})) doctor_speciality = forms.ChoiceField( required=True, choices=SPECIALITY_CHOICE, label='Speciality', widget=forms.Select(attrs={'class': 'my-label-desc'})) doctor_timings = forms.CharField( required=True, label='Timing', widget=forms.TextInput(attrs={'class': 'my-label-desc'})) doctor_pic = forms.ImageField(required=False, label='Upload Photo') doctor_phone_number = PhoneNumberField( required=False, label='Contact No.', widget=PhoneNumberPrefixWidget(attrs={'class': 'my-label-phone'})) class Meta: model = Doctor fields = ( 'doctor_name', 'doctor_description', 'doctor_address', 'doctor_speciality', 'doctor_timings', 'doctor_pic', 'doctor_phone_number' )\
class AdminUserCreationForm(forms.ModelForm): """ A form that creates a user, with no privileges, from the given username and password. """ error_messages = { 'password_mismatch': "The two password fields didn't match.", } password1 = forms.CharField( label="Password", strip=False, widget=forms.PasswordInput, help_text=password_validation.password_validators_help_text_html(), ) password2 = forms.CharField( label="Password confirmation", widget=forms.PasswordInput, strip=False, help_text="Enter the same password as before, for verification.", ) phone = PhoneNumberField(widget=PhoneNumberPrefixWidget()) class Meta: model = MyUser fields = '__all__' def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) if self._meta.model.USERNAME_FIELD in self.fields: self.fields[self._meta.model.USERNAME_FIELD].widget.attrs.update( {'autofocus': True}) def clean_password2(self): password1 = self.cleaned_data.get("password1") password2 = self.cleaned_data.get("password2") if password1 and password2 and password1 != password2: raise forms.ValidationError( self.error_messages['password_mismatch'], code='password_mismatch', ) return password2 def _post_clean(self): super()._post_clean() # Validate the password after self.instance is updated with form data # by super(). password = self.cleaned_data.get('password2') if password: try: password_validation.validate_password(password, self.instance) except forms.ValidationError as error: self.add_error('password2', error) def save(self, commit=True): user = super().save(commit=False) user.set_password(self.cleaned_data["password1"]) if commit: user.save() return user
class UserRegisterForm(forms.ModelForm): Name = forms.CharField( required=True, widget=forms.TextInput(attrs={'class': 'form-control'})) DOB = forms.DateField(required=True, widget=forms.DateInput(attrs={ 'class': 'form-control', 'id': 'datepicker1' })) Email = forms.CharField( required=True, widget=forms.EmailInput(attrs={'class': 'form-control'})) Phone_number = forms.CharField(required=True, widget=PhoneNumberPrefixWidget( attrs={'class': 'form-control'}, initial='IN')) def clean_DOB(self): dob = self.cleaned_data['DOB'] age = (date.today() - dob).days / 365 if age < 18: raise forms.ValidationError( 'age must be greater then 18 years old to register') return dob class Meta: model = UserRegisterModel fields = '__all__'
class UserAdminChangeForm(forms.ModelForm): """A form for updating users. Includes all the fields on the user, but replaces the password field with admin's password hash display field. """ mobile = forms.CharField( label=_("Numéro de téléphone"), required=True, widget=PhoneNumberPrefixWidget(attrs={'class': 'form-control'}, initial="CN")) password = ReadOnlyPasswordHashField() class Meta: model = User fields = ( 'email', 'password', 'is_active', 'admin', "first_name", "last_name", "mobile", ) def clean_password(self): # Regardless of what the user provides, return the initial value. # This is done here, rather than on the field, because the # field does not have access to the initial value return self.initial["password"]
class Meta: model = MissingChild fields = [ 'residential_address', 'district', 'state', 'pincode', 'parent_mobile_no', 'parent_email', 'parent_aadhar_no' ] widgets = { 'pincode': forms.NumberInput(attrs={ 'onkeypress': 'if(this.value.length === 6) event.preventDefault()' }), 'parent_mobile_no': PhoneNumberPrefixWidget( attrs={ 'onkeypress': 'if(this.value.length === 10) event.preventDefault()' }), 'parent_aadhar_no': forms.NumberInput( attrs={ 'onkeypress': 'if(this.value.length === 12) event.preventDefault()' }) }
class CustomerForm(forms.ModelForm): phone_number = PhoneNumberField(widget=PhoneNumberPrefixWidget( attrs={ 'class': 'form-control form-control-sm', 'placeholder': 'Phone Number' })) class Meta: model = Customers fields = ('first_name', 'last_name', 'company', 'phone_number', 'email', 'instagram', 'curator', 'owner') widgets = { 'first_name': forms.TextInput( attrs={ 'class': 'form-control form-control-sm', 'placeholder': 'First Name' }), 'last_name': forms.TextInput( attrs={ 'class': 'form-control form-control-sm', 'placeholder': 'Last Name' }), 'company': forms.TextInput(attrs={ 'class': 'form-control form-control-sm', 'placeholder': 'Company' }), 'email': forms.EmailInput(attrs={ 'class': 'form-control form-control-sm', 'placeholder': 'E-mail' }), 'instagram': forms.URLInput( attrs={ 'class': 'form-control form-control-sm', 'placeholder': 'URL Instagram' }), 'service': forms.Select(attrs={ 'class': 'form-select form-select-sm', 'placeholder': 'Service' }), 'curator': forms.Select(attrs={ 'class': 'form-select form-select-sm', }), } def __init__(self, owner=None, *args, **kwargs): super(CustomerForm, self).__init__(*args, **kwargs) self.fields['curator'].queryset = Personnel.objects.filter( owner=owner, dismissal=None, )
class FarmerForm(forms.ModelForm): phone_number = forms.CharField(widget=PhoneNumberPrefixWidget(), required=False, initial='+91') class Meta(object): model = Farmer fields = '__all__'
class Meta: model = Member fields = [ 'first_name', 'last_name', 'birth_date', 'email', 'telephone' ] widgets = { 'telephone': PhoneNumberPrefixWidget(), 'birth_date': DatePickerInput(format="%Y-%m-%d") }
class Meta: model = UserProfile widgets = { 'phone': PhoneNumberPrefixWidget(initial='PK'), 'address': forms.Textarea(attrs={'rows': 2}), 'bio': forms.Textarea(attrs={'rows': 3}), } fields = '__all__' exclude = ['user', 'role']
class Meta: model = Dados_Mapeamento_empresa fields = '__all__' widgets = { ##Dados cadastrais 'nome': TextInput(attrs={'placeholder': 'Nome da Empresa'}), 'pessoas': CheckboxSelectMultiple(), 'logo': FileInput(attrs={'class': 'label'}), #Endereço institucional 'cep': TextInput( attrs={ 'placeholder': 'xxxxx-xxx', 'id': 'cep', 'onblur': 'pesquisacep(this.value);' }), ####### fazer Auto preenchimento com CEP 'rua': TextInput(attrs={'id': 'rua'}), 'bairro': TextInput(attrs={'id': 'bairro'}), 'cidade': TextInput(attrs={'id': 'cidade'}), 'estado': Select(attrs={'id': 'uf'}), 'site': TextInput(attrs={'placeholder': 'http://www.seuwebsite.com'}), 'email': TextInput(attrs={'placeholder': '*****@*****.**'}), #Dados do Representante 'telefone': PhoneNumberPrefixWidget(attrs={'placeholder': 'xxxxxxx-xxxx' }), ## arrumar aqui depois 'email_representante': TextInput(attrs={'placeholder': '*****@*****.**'}), #Campo de Abrangência da Instituição Cadastrada 'em_qual_destes_itens_abaixo_seu_cadastro_se_enquadra': CheckboxSelectMultiple(), 'em_qual_destes_setores_a_instituicao_se_enquadra': Select(attrs={'onchange': "sumir(this.value);" }), #pegando função do js #Sobre Projetos, Iniciativas, parcerias e infraestrutura : 'programas_iniciativas_movimentos_de_empreendedorismo_e_inovacao_que_executa': Textarea(attrs={'id': 'Textarea'}), 'programas_iniciativas_movimentos_de_empreendedorismo_e_inovacao_que_participa': Textarea(attrs={'id': 'Textarea'}), 'equipamentos_disponiveis_para_uso_compartilhado_prestacao_de_servico_no_Ecossistema_Regional': Textarea(attrs={'id': 'Textarea'}), }
class Meta: model = UserProfile widgets = { 'phone': PhoneNumberPrefixWidget(initial='PK'), } fields = [ 'phone', 'role', ]
class PhoneUserLoginForm(AuthenticationForm): user_attr = {'autofocus': True, 'class': ''} pass_attr = {'class': ''} username = UsernameField(widget=PhoneNumberPrefixWidget(attrs=user_attr)) password = forms.CharField( label='Password', strip=False, widget=forms.PasswordInput(attrs=pass_attr), )
class Meta: model = Usuario fields = [ 'username', 'first_name', 'last_name', 'email', 'is_staff', 'password', 'telefono', 'last_login', 'date_joined' ] widgets = { 'telefono': PhoneNumberPrefixWidget(), }
class Meta: model = Profile fields = [ 'language', 'phone', ] widgets = {'phone': PhoneNumberPrefixWidget()}
class Meta: model = User fields = ('fullname', 'phone', 'email', 'password', 'password_confirm') widgets = { 'fullname': forms.TextInput(attrs={'placeholder':'Enter Fullname'}), 'phone': PhoneNumberPrefixWidget(attrs={'placeholder':'Enter Phone Number'}, initial='SA'), 'email': forms.EmailInput(attrs={'placeholder':'Enter your Email'}), 'password': forms.PasswordInput(attrs={'placeholder':'Enter your password'}), 'password_confirm': forms.PasswordInput(attrs={'placeholder':'Enter your password'}) }
class UpdateForm(forms.ModelForm): phone_number = PhoneNumberField(widget=PhoneNumberPrefixWidget(), initial='+91') class Meta: model = UserProfile fields = [ 'username', 'first_name', 'last_name', 'phone_number', 'email', 'role' ]
class PhoneForm(forms.ModelForm): phone = PhoneNumberField(max_length=200, label="Phone Number", widget=PhoneNumberPrefixWidget(), required=True) # CharField would also work class Meta: model = PhoneModel fields = ['name', 'phone']
class Meta: model = Profile fields = [ 'first_name', 'last_name', 'email', 'contacts', 'biography', 'birth_date' ] widgets = { 'birth_date': DateInput(attrs={'type': 'date'}), 'contacts': PhoneNumberPrefixWidget(), }
class Meta: model = Dados_Mapeamento_startup fields = '__all__' # #Dados Cadastrais # 'nome','site','email','cnpj', # #Endereço # 'cep','rua','bairro','cidade','estado', # #Dados do Representante # 'nome_representante','cargo','telefone','email_representante', # #Característica da Empresa/Startup # 'setor_de_atuacao', 'area_de_atuacao_da_empresa_ou_startup','segmento_area','detalhes_de_area_de_atuacao','segmento_de_atuacao', 'tipo_de_cliente', # #questionario # 'possui_mercado_Global','possui_Influencia_ou_interesse_militar', 'qual_estrategia_de_saida_ou_idealizada_para_o_negocio', # ] # #validar CNPJ e Email widgets = { #Dados Cadastrais 'nome': TextInput(attrs={'placeholder': 'Nome da Startup'}), 'cnpj': TextInput(attrs={'placeholder': ' xx.xxx.xxx/xxxx-xx'}), 'site': TextInput(attrs={'placeholder': 'http://www.seuwebsite.com'}), 'email': TextInput(attrs={'placeholder': '*****@*****.**'}), 'logo': FileInput(attrs={'class': 'label'}), #Endereço 'cep': TextInput(attrs={'placeholder': 'xxxxx-xxx' }), ####### fazer Auto preenchimento com CEP #dados representante 'telefone': PhoneNumberPrefixWidget(attrs={'placeholder': 'xxxxxxx-xxxx' }), ## arrumar aqui depois 'email_representante': TextInput(attrs={'placeholder': '*****@*****.**'}), #caracteristicas da startup 'setor_de_atuacao': CheckboxSelectMultiple(), #arrumar depois as tag #Questionário 'qual_estrategia_de_saida_ou_idealizada_para_o_negocio': CheckboxSelectMultiple(), #arrumar depois as tag 'sua_startup_possui_conhecimento_ou_e_treinada_nas_metodologias_descritas_abaixo': CheckboxSelectMultiple(), #arrumar depois as tag 'quais_programas_iniciativas_movimentos_de_empreendedorismo_e_inovacao_que_participa': Textarea(attrs={'id': 'Textarea'}), 'com_quais_entidades_do_ecossistema_tem_conexao_interacao_frequente_projetos_em_parceria_colaboracao_que_contribuiram_e_contribuem_para_as_inovacoes_e_aperfeicoamento_da_empresa': Textarea(attrs={'id': 'Textarea'}), }
class Meta: model = Profile fields = ['user_mobile_no', 'image'] widgets = { 'user_mobile_no': PhoneNumberPrefixWidget( attrs={ 'onkeypress': 'if(this.value.length === 10) event.preventDefault()' }) }
class RegForm(UserCreationForm): tos = forms.BooleanField( widget=forms.CheckboxInput, label=u'I have read and agree to the Terms of Service', error_messages={ 'required': "Agree to continue" } ) phone = PhoneNumberField( label='Phone Number', required=True, widget=PhoneNumberPrefixWidget(attrs={'class': 'form-control'}) )
class Meta: model = DonorInformation fields = ('name', 'phone_number', 'blood_group', 'current_address', 'permanent_address', 'profile_picture') widgets = { 'phone_number': PhoneNumberPrefixWidget( attrs={ 'placeholder': (u'Phone Number'), 'id': 'tel', 'class': "form-control", 'label': (u'Cellphone number') }), }
class Meta: model = Address fields = ('first_name', 'last_name', 'phone_number', 'house_number', 'division', 'city', 'zone', 'effective_delivery') widgets = { 'phone_number': PhoneNumberPrefixWidget( attrs={ 'placeholder': (u'Phone Number'), 'id': 'tel', 'class': "form-control", 'label': (u'Cellphone number') }), }
class ProfileUpdateForm(forms.ModelForm): phone_number = PhoneNumberField( widget=PhoneNumberPrefixWidget( attrs={'placeholder': _('Phone Number'), 'class': "form-control"}), label=_('Phone Number'), required=True, initial='+880' ) class Meta: model = Profile fields = ('full_name', 'date_of_birth', 'profile_picture', 'phone_number', 'address',) widgets = { 'date_of_birth': DateInput(attrs={'type': 'date'}), }