Untitled

 avatar
unknown
plain_text
2 years ago
4.0 kB
8
Indexable
def __init__(self, *args, **kwargs):
        request = kwargs.pop('request', None)
        pg_code = kwargs.pop('pg_code', None)
        initial_data = kwargs.pop('initial', {})
        super(PersonalDetailsForm, self).__init__(*args, **kwargs)
        pg=Program.objects.get(program_code=pg_code)
        sca = StudentCandidateApplication.objects.filter(login_email=request.user)
        self.fields['teaching_mode'].label = ''
        self.fields['alternate_email_id'].label = ''
        self.fields['email_id'].initial = request.user.email
        self.fields['current_location'] = forms.ChoiceField(choices=showExamLocationChoice1(pg))
        if pg.program_type in ['specific','cluster','non-specific'] :
            teaching_mode_widget = self.fields['teaching_mode'].widget
            self.fields['teaching_mode'].widget = forms.HiddenInput()
            self.fields['teaching_mode'].label = ''
            self.fields['teaching_mode'].help_text = ''
            alternate_email_id_widget = self.fields['alternate_email_id'].widget
            self.fields['alternate_email_id'].widget = forms.HiddenInput()
            self.fields['alternate_email_id'].label = ''
            self.fields['alternate_email_id'].help_text = ''
            
            teaching_mode_rejected_attributes = FormFieldPopulationSpecific.objects.filter(
                program=pg,
                show_on_form=True,
                field_name='teaching_mode',
            )
            alternate_email_id_selected_attributes = FormFieldPopulationSpecific.objects.filter(
                program=pg,
                show_on_form=True,
                field_name='alternate_email_id',
            )
            if teaching_mode_rejected_attributes.exists():
                self.fields['teaching_mode'].widget = teaching_mode_widget
                self.fields['teaching_mode'].label = format_html('Teaching Mode <span class="required"> *</span>')
                self.fields['teaching_mode'].help_text = 'NOTE : The decision to offer the programme in a particular mode (Online sessions or Face-to-Face sessions) is at the discretion of BITS Pilani, and a decision on the same will be communicated to candidates through the Admission Offer Letter'
                self.fields['teaching_mode'].required = True
                self.fields['teaching_mode'].initial = sca[0].teaching_mode if sca else None

            if alternate_email_id_selected_attributes.exists():
                self.fields['alternate_email_id'].widget = alternate_email_id_widget
                self.fields['alternate_email_id'].label = 'Alternate Email Id'
                self.fields['alternate_email_id'].help_text = 'NOTE : Should be different from the main email id provided'
                self.fields['alternate_email_id'].required = True
                self.fields['alternate_email_id'].initial = sca[0].alternate_email_id if sca else None
        
        self.fields['full_name'].initial = sca[0].full_name if sca else None
        self.fields['fathers_name'].initial = sca[0].fathers_name if sca else None
        self.fields['mothers_name'].initial = sca[0].mothers_name if sca else None
        self.fields['gender'].initial = sca[0].gender if sca else None
        self.fields['address_line_1'].initial = sca[0].address_line_1 if sca else None
        self.fields['address_line_2'].initial = sca[0].address_line_2 if sca else None
        self.fields['address_line_3'].initial = sca[0].address_line_3 if sca else None
        self.fields['city'].initial = sca[0].city if sca else None
        self.fields['state'].initial = sca[0].state if sca else None
        self.fields['country'].initial = sca[0].country if sca else None
        self.fields['date_of_birth'].initial = sca[0].date_of_birth if sca else None
        self.fields['phone'].initial = sca[0].phone if sca else None
        self.fields['mobile'].initial = sca[0].mobile if sca else None
        self.fields['nationality'].initial = sca[0].nationality if sca else None
Editor is loading...
Leave a Comment