class EventoForm(ModelForm): nombre = forms.CharField(max_length=100) lugar = forms.CharField(max_length=500) direccion = forms.CharField(max_length=500) fecha_inicio = forms.DateField( widget=widgets.SelectDateWidget(empty_label=("Choose Year", "Choose Month", "Choose Day"), )) fecha_terminacion = forms.DateField( widget=widgets.SelectDateWidget(empty_label=("Choose Year", "Choose Month", "Choose Day"), )) CATEGORIA_CHOICES = ((1, 'Conferencia'), (2, 'Seminario'), (3, 'Congreso'), (4, 'Curso')) categoria = forms.ChoiceField(label="Sistema Operativo", choices=CATEGORIA_CHOICES) TIPO_CHOICES = ((1, 'Virtual'), (2, 'Presencial')) tipo = forms.ChoiceField(label="Tipo Evento", choices=TIPO_CHOICES) class Meta: model = Evento fields = [ 'nombre', 'lugar', 'direccion', 'fecha_inicio', 'fecha_terminacion', 'categoria', 'tipo' ]
class StudentForm(forms.ModelForm): admission_date = forms.DateField(widget=forms.TextInput( attrs={'type': 'date'})) Date_of_Birth = forms.DateField(widget=forms.TextInput( attrs={'type': 'date'})) class Meta: model = StudentInfo exclude = ['student_user']
class OfferForm(forms.ModelForm): JOB_TYPE = ((None, 'Select Job Type'), ('Full Time', 'Full Time'), ('Part Time', 'Part Time'), ('Internship', 'Internship')) offer_name = forms.CharField(widget=forms.TextInput()) offer_number = forms.IntegerField(widget=forms.TextInput()) offer_type = forms.SelectMultiple(choices=JOB_TYPE, ) offer_description = forms.CharField(widget=forms.TextInput(attrs={})) company_name = forms.CharField(widget=forms.TextInput(attrs={})) company_description = forms.CharField(widget=forms.TextInput(attrs={})) offer_phone_number = PhoneNumberField() offer_location = forms.CharField(widget=forms.TextInput( attrs={'class': 'form-control floating'})) offer_status = forms.IntegerField(widget=forms.TextInput( attrs={'class': 'form-control floating'})) offer_min_max_limit = forms.CharField(widget=forms.TextInput( attrs={'class': 'form-control floating'})) offer_date_created = forms.DateField(input_formats="'%d/%m/%Y'", widget=forms.DateInput( format="'%d/%m/%Y'", attrs={})) offer_date_update = forms.DateTimeField(input_formats="'%d/%m/%Y'", widget=forms.DateTimeInput( format="'%d/%m/%Y'", attrs={})) class Meta: model = Offers fields = [ 'offer_name', 'offer_number', 'company_name', 'offer_location', 'offer_status', 'offer_min_max_limit', 'offer_date_created', 'offer_phone_number', 'offer_type', 'company_description', 'offer_description', 'offer_date_update' ]
class TeacherForm(forms.ModelForm): joining_date = forms.DateField(widget=forms.TextInput( attrs={'type': 'date'})) class Meta: model = TeacherInfo exclude = ['teacher_user', 'qualification']
class ConcursoForm(ModelForm): nombre = forms.CharField(max_length=100) url = forms.CharField(max_length=100) imagen = forms.ImageField(required=True) fecha_inicio = forms.DateField( widget=widgets.SelectDateWidget(empty_label=("Choose Year", "Choose Month", "Choose Day"), )) fecha_terminacion = forms.DateField( widget=widgets.SelectDateWidget(empty_label=("Choose Year", "Choose Month", "Choose Day"), )) descripcion = forms.CharField(label="Descripción", widget=forms.Textarea, max_length=500) class Meta: model = Concurso fields = [ 'nombre', 'url', 'imagen', 'fecha_inicio', 'fecha_terminacion', 'descripcion' ] # verificacion fecha de termiacion es mayor a la de inicio def clean_fecha_terminacion(self): fecha_inicio = self.cleaned_data['fecha_inicio'] fecha_terminacion = self.cleaned_data['fecha_terminacion'] if fecha_terminacion < fecha_inicio: raise forms.ValidationError( 'La fecha de inicio debe ser anterior a la fecha de terminacion' ) return fecha_inicio def clean_url(self): url = self.cleaned_data['url'] if self.instance: concurso = Concurso.objects.filter(url=url) if len(concurso) > 0 and concurso[0].id != self.instance.id: raise forms.ValidationError( 'La url ya está ha sido tomada por otro concurso') else: if Concurso.objects.filter(url=url): raise forms.ValidationError( 'La url ya está ha sido tomada por otro concurso') return url
class EditInfoForm(forms.ModelForm): name = forms.CharField() father_name = forms.CharField() mother_name = forms.CharField() profile_picture = forms.FileField() dob = forms.DateField() class Meta: model = DummyCitizenInfo fields = [ 'name', 'father_name', 'mother_name', 'profile_picture', 'dob' ]
class ItemForm(forms.ModelForm): """ Форма добавления элементов списка дел """ name = forms.CharField(widget=forms.TextInput( attrs={ 'placeholder': "Название дела", })) expr_date = forms.DateField(widget=forms.DateInput(attrs={'type': 'date'}), required=False) class Meta: model = ItemModel fields = ('name', 'expr_date', 'listmodules') error_messages = { NON_FIELD_ERRORS: { 'unique_together': "Дело уже созданно", } }
class UserRegisterForm(forms.ModelForm): YEARS = [i for i in range(1935, 2005)] username = forms.CharField(max_length=128) password = forms.CharField(widget=forms.PasswordInput()) first_name = forms.CharField(max_length=128) last_name = forms.CharField(max_length=128) email = forms.EmailField(max_length=250) date_of_birth = forms.DateField(widget=forms.SelectDateWidget(years=YEARS)) class Meta: model = User fields = [ 'username', 'password', 'first_name', 'last_name', 'email', 'date_of_birth', ]
class Add_Stud(forms.Form): name = forms.CharField(widget=forms.TextInput) img = forms.ImageField() caption = forms.CharField(widget=forms.Textarea) dob = forms.DateField(widget=forms.SelectDateWidget) designation = forms.CharField()
class RealUserProfileData(forms.ModelForm): gender = forms.CharField(widget=forms.Select(attrs={ 'class': 'utf-with-border', 'readonly': True })) dob = forms.DateField(widget=forms.DateInput(format="%d/%m/%Y", attrs={ 'class': 'utf-with-border', 'type': 'date', 'readonly': True }), ) country = forms.CharField(widget=forms.TextInput(attrs={ 'class': 'utf-with-border', 'readonly': True })) phone_number = PhoneNumberField(widget=forms.TextInput( attrs={ 'class': 'utf-with-border', 'readonly': True })) region = forms.CharField(widget=forms.TextInput(attrs={ 'class': 'utf-with-border', 'readonly': True })) student_number = forms.IntegerField(widget=forms.TextInput( attrs={ 'class': 'utf-with-border', 'readonly': True })) school = forms.CharField( required=False, error_messages={'required': 'The school field is required'}, widget=forms.TextInput(attrs={ 'class': 'form-control', 'readonly': True })) start_program = forms.DateField(widget=forms.DateInput( format="%d/%m/%Y", attrs={ 'class': 'utf-with-border', 'type': 'date', 'readonly': True }), ) complete_program = forms.DateField(widget=forms.DateInput( format="%d/%m/%Y", attrs={ 'class': 'utf-with-border', 'type': 'date', 'readonly': True }), ) program = forms.CharField(widget=forms.TextInput(attrs={ 'class': 'utf-with-border', 'readonly': True })) qualification = forms.CharField(widget=forms.Select( attrs={ 'class': 'utf-with-border', 'readonly': True })) company_name = forms.CharField(widget=forms.TextInput( attrs={ 'class': 'utf-with-border', 'readonly': True })) company_location = forms.CharField(widget=forms.TextInput( attrs={ 'class': 'utf-with-border', 'readonly': True })) job_position = forms.CharField(widget=forms.TextInput( attrs={ 'class': 'utf-with-border', 'readonly': True })) job_position_period_from = forms.DateField(widget=forms.DateInput( format="%d/%m/%Y", attrs={ 'class': 'utf-with-border', 'type': 'date', 'readonly': True }, )) job_position_period_to = forms.DateField(widget=forms.DateInput( format="%d/%m/%Y", attrs={ 'class': 'utf-with-border', 'type': 'date', 'readonly': True }), ) resume = forms.FileField(widget=forms.FileInput(attrs={ 'class': 'utf-with-border', 'type': 'file' })) profile_img = forms.FileField(widget=forms.FileInput( attrs={ 'type': 'file', 'class': 'file-upload', 'required': False })) # role = forms.BooleanField(widget=forms.RadioSelect(attrs={'class': 'radio'}, choices=ROLE)) class Meta: model = UserProfile fields = [ 'dob', 'gender', 'country', 'phone_number', 'student_number', 'school', 'program', 'start_program', 'complete_program', 'qualification', 'company_name', 'company_location', 'job_position', 'job_position_period_from', 'job_position_period_to', 'resume', 'profile_img', 'region' ]
class UpdateProfileForm(forms.ModelForm): ROLE = (('student', 'Student'), ('staff', 'Staff')) GENDER = ((None, 'Select Gender'), ('Male', 'Male'), ('Female', 'Female')) DEGREE = ((None, 'Select your qualifications'), ('Undergraduate', 'Undergraduate'), ('Bachelor', 'Bachelor (BSc)'), ('Master', 'Master (Msc, MPHIL)'), ('PhD', 'PhD')) gender = forms.CharField(widget=forms.Select( attrs={'class': 'utf-with-border'}, choices=GENDER)) dob = forms.DateField(widget=forms.DateInput(format="%d/%m/%Y", attrs={ 'class': 'utf-with-border', 'type': 'date' }), ) country = forms.CharField(widget=forms.TextInput( attrs={ 'class': 'utf-with-border', 'placeholder': 'Eg. Ghana' })) phone_number = PhoneNumberField(widget=forms.TextInput( attrs={ 'class': 'utf-with-border', 'placeholder': 'eg. +233 268971089' })) region = forms.CharField(widget=forms.TextInput( attrs={ 'class': 'utf-with-border', 'placeholder': 'Eg. Accra', })) student_number = forms.IntegerField(widget=forms.TextInput( attrs={ 'class': 'utf-with-border', 'readonly': True, 'value': random.randint(1000, 1000091) })) school = forms.CharField( required=False, error_messages={'required': 'The school field is required'}, widget=forms.TextInput( attrs={ 'class': 'form-control', 'placeholder': 'Eg. Kwame Nkrumah University Of Science and Techonlogy (KNUST)' })) start_program = forms.DateField(widget=forms.DateInput( format="%d/%m/%Y", attrs={ 'class': 'utf-with-border', 'type': 'date' }), ) complete_program = forms.DateField(widget=forms.DateInput( format="%d/%m/%Y", attrs={ 'class': 'utf-with-border', 'type': 'date', 'required': False }), ) program = forms.CharField(widget=forms.TextInput( attrs={ 'class': 'utf-with-border', 'placeholder': 'Eg. Computer Science' })) qualification = forms.CharField(widget=forms.Select( attrs={'class': 'utf-with-border'}, choices=DEGREE)) company_name = forms.CharField(widget=forms.TextInput( attrs={ 'class': 'utf-with-border', 'placeholder': 'Eg. MTN' })) company_location = forms.CharField(widget=forms.TextInput( attrs={ 'class': 'utf-with-border', 'placeholder': 'Eg. Accra, Kumasi, Cape Coast etc..' })) job_position = forms.CharField(widget=forms.TextInput( attrs={ 'class': 'utf-with-border', 'placeholder': 'Eg. Intern Supervisor' })) job_position_period_from = forms.DateField(widget=forms.DateInput( format="%d/%m/%Y", attrs={ 'class': 'utf-with-border', 'type': 'date' }), ) job_position_period_to = forms.DateField(widget=forms.DateInput( format="%d/%m/%Y", attrs={ 'class': 'utf-with-border', 'type': 'date' }), ) resume = forms.FileField(widget=forms.FileInput(attrs={ 'class': 'utf-with-border', 'type': 'file' })) profile_img = forms.FileField(widget=forms.FileInput( attrs={ 'type': 'file', 'class': 'file-upload', 'required': False })) # role = forms.BooleanField(widget=forms.RadioSelect(attrs={'class': 'radio'}, choices=ROLE)) class Meta: model = UserProfile fields = [ 'dob', 'gender', 'country', 'phone_number', 'student_number', 'school', 'program', 'start_program', 'complete_program', 'qualification', 'company_name', 'company_location', 'job_position', 'job_position_period_from', 'job_position_period_to', 'resume', 'profile_img', 'region' ]