diff options
author | Nishanth Amuluru | 2010-11-30 15:51:23 +0530 |
---|---|---|
committer | Nishanth Amuluru | 2010-11-30 15:51:23 +0530 |
commit | c8cc4c4506eb09acc1c39ca35af7b5a051711d40 (patch) | |
tree | d244a7364842daf6922fc269c74bc1bceab1132c | |
parent | dd38157ef29591f0e5168533a88389eb87360896 (diff) | |
download | scipycon-c8cc4c4506eb09acc1c39ca35af7b5a051711d40.tar.gz scipycon-c8cc4c4506eb09acc1c39ca35af7b5a051711d40.tar.bz2 scipycon-c8cc4c4506eb09acc1c39ca35af7b5a051711d40.zip |
Added six fields corresponding to accomodation in the accomodation model and made corresponding changes to view and form
--HG--
extra : rebase_source : 1b2f2122b774f7ef503fc9c1b78a045e44dfec6c
-rw-r--r-- | project/development.py | 2 | ||||
-rw-r--r-- | project/scipycon/registration/forms.py | 48 | ||||
-rw-r--r-- | project/scipycon/registration/models.py | 13 | ||||
-rw-r--r-- | project/templates/registration/submit-registration.html | 24 |
4 files changed, 73 insertions, 14 deletions
diff --git a/project/development.py b/project/development.py index eb8a205..1196ebb 100644 --- a/project/development.py +++ b/project/development.py @@ -24,7 +24,7 @@ INSTALLED_APPS = ( 'project.scipycon.talk', 'tagging', 'robots', - 'south', + #'south', ) DATABASE_ENGINE = 'sqlite3' diff --git a/project/scipycon/registration/forms.py b/project/scipycon/registration/forms.py index e3cc464..d2c639b 100644 --- a/project/scipycon/registration/forms.py +++ b/project/scipycon/registration/forms.py @@ -94,12 +94,26 @@ class AccommodationForm(forms.ModelForm): sex = self.cleaned_data['sex'] accommodation_required = self.cleaned_data['accommodation_required'] - accommodation_days = self.cleaned_data['accommodation_days'] + accommodation_days = sum(filter([a1, a2, a3, a4, a5, a6])) + + a1 = self.cleaned_data['accomodation_on_1st'] + a2 = self.cleaned_data['accomodation_on_2nd'] + a3 = self.cleaned_data['accomodation_on_3rd'] + a4 = self.cleaned_data['accomodation_on_4th'] + a5 = self.cleaned_data['accomodation_on_5th'] + a6 = self.cleaned_data['accomodation_on_6th'] acco.sex = sex acco.accommodation_required = accommodation_required - acco.accommodation_days = accommodation_days if ( - accommodation_days) else 0 + acco.accommodation_days = accomodation_days + + acco.accomodation_on_1st = a1 + acco.accomodation_on_2nd = a2 + acco.accomodation_on_3rd = a3 + acco.accomodation_on_4th = a4 + acco.accomodation_on_5th = a5 + acco.accomodation_on_6th = a6 + acco.save() @@ -114,19 +128,35 @@ class AccommodationForm(forms.ModelForm): sex = self.cleaned_data['sex'] accommodation_required = self.cleaned_data['accommodation_required'] - accommodation_days = self.cleaned_data['accommodation_days'] - if accommodation_required and (not sex or not accommodation_days - or accommodation_days == 0): + a1 = self.cleaned_data['accomodation_on_1st'] + a2 = self.cleaned_data['accomodation_on_2nd'] + a3 = self.cleaned_data['accomodation_on_3rd'] + a4 = self.cleaned_data['accomodation_on_4th'] + a5 = self.cleaned_data['accomodation_on_5th'] + a6 = self.cleaned_data['accomodation_on_6th'] + + selected_a_date = any([a1, a2, a3, a4, a5, a6]) + + if accommodation_required and (not sex or not selected_a_date): + #or accommodation_days == 0): raise forms.ValidationError( - u"If accommodation is required both gender and number of " - "days for which accommodation is required is mandatory.") + u"If accommodation is required please specify gender and" + " select the days number for which accommodation is required.") return super(AccommodationForm, self).clean() class Meta: model = Accommodation - fields = ('accommodation_required', 'sex', 'accommodation_days') + fields = ('accommodation_required', + 'sex', + 'accomodation_on_1st', + 'accomodation_on_2nd', + 'accomodation_on_3rd', + 'accomodation_on_4th', + 'accomodation_on_5th', + 'accomodation_on_6th', + ) class PaymentForm(forms.ModelForm): diff --git a/project/scipycon/registration/models.py b/project/scipycon/registration/models.py index 90211b4..b6af489 100644 --- a/project/scipycon/registration/models.py +++ b/project/scipycon/registration/models.py @@ -73,6 +73,19 @@ class Accommodation(base_models.ScopedBase): verbose_name="Accommodation required", help_text="Check if you need accommodation.") + accomodation_on_1st = models.BooleanField(default=False, + verbose_name="First day") + accomodation_on_2nd = models.BooleanField(default=False, + verbose_name="Second day") + accomodation_on_3rd = models.BooleanField(default=False, + verbose_name="Third day") + accomodation_on_4th = models.BooleanField(default=False, + verbose_name="Fourth day") + accomodation_on_5th = models.BooleanField(default=False, + verbose_name="Fifth day") + accomodation_on_6th = models.BooleanField(default=False, + verbose_name="Sixth day") + accommodation_days = models.IntegerField( default=0, blank=True, verbose_name="Number of days", diff --git a/project/templates/registration/submit-registration.html b/project/templates/registration/submit-registration.html index 7c238b0..a2b92a3 100644 --- a/project/templates/registration/submit-registration.html +++ b/project/templates/registration/submit-registration.html @@ -7,16 +7,32 @@ $(document).ready(function(){ if (!$('#id_accommodation_required').is(':checked')) { - $('#id_accommodation_days').attr('disabled', 'disabled'); $('#id_sex').attr('disabled', 'disabled'); + $('#id_accomodation_on_1st').attr('disabled', 'disabled'); + $('#id_accomodation_on_2nd').attr('disabled', 'disabled'); + $('#id_accomodation_on_3rd').attr('disabled', 'disabled'); + $('#id_accomodation_on_4th').attr('disabled', 'disabled'); + $('#id_accomodation_on_5th').attr('disabled', 'disabled'); + $('#id_accomodation_on_6th').attr('disabled', 'disabled'); } $('#id_accommodation_required').change(function() { if (!$('#id_accommodation_required').is(':checked')) { - $('#id_accommodation_days').attr('disabled', 'disabled'); $('#id_sex').attr('disabled', 'disabled'); + $('#id_accomodation_on_1st').attr('disabled', 'disabled'); + $('#id_accomodation_on_2nd').attr('disabled', 'disabled'); + $('#id_accomodation_on_3rd').attr('disabled', 'disabled'); + $('#id_accomodation_on_4th').attr('disabled', 'disabled'); + $('#id_accomodation_on_5th').attr('disabled', 'disabled'); + $('#id_accomodation_on_6th').attr('disabled', 'disabled'); } else { - $('#id_accommodation_days').removeAttr('disabled'); - $('#id_sex').removeAttr('disabled'); + $('#id_accommodation_days').removeAttr('disabled'); + $('#id_sex').removeAttr('disabled'); + $('#id_accomodation_on_1st').removeAttr('disabled', 'disabled'); + $('#id_accomodation_on_2nd').removeAttr('disabled', 'disabled'); + $('#id_accomodation_on_3rd').removeAttr('disabled', 'disabled'); + $('#id_accomodation_on_4th').removeAttr('disabled', 'disabled'); + $('#id_accomodation_on_5th').removeAttr('disabled', 'disabled'); + $('#id_accomodation_on_6th').removeAttr('disabled', 'disabled'); } }); |