예제 #1
0
    def __init__(self, *args, **kwargs) :
        super(ChangePrefsForm, self) .__init__(*args, **kwargs)
        self.fields['org'].choices = organization_choices()[:-1]


        free_seats       = UserPreferences.get_free_seats()
        free_first_time  = UserPreferences.get_first_time()
        free_second_time = UserPreferences.get_second_time()

        if 'instance' in kwargs:
            free_first_time  = free_first_time  or kwargs['instance'].bus_hour == BUS_HOUR_CHOICES[1][0]
            free_second_time = free_second_time or kwargs['instance'].bus_hour == BUS_HOUR_CHOICES[2][0]

        if not free_first_time:
            self.fields['bus_hour'].choices.remove( BUS_HOUR_CHOICES[1]  )

        if not free_second_time:
            self.fields['bus_hour'].choices.remove( BUS_HOUR_CHOICES[2]  )

        if self.instance and not self.instance.org.accepted:
            self.fields['org'].choices.append( (self.instance.org.id, self.instance.org.name) )

        for field in self.disabled_fields:
            self.disable_field(field)

        if self.instance and not self.instance.bus:
            self.disable_field('bus_hour')

        if not free_seats:
            self.disable_field('bus')
            self.disable_field('bus_hour')

        if self.instance and self.instance.paid:
            self.disable_field('bus')
            self.disable_field('org')
예제 #2
0
 def __init__(self, *args, **kwargs) :
     super(forms.Form, self) .__init__(*args, **kwargs)
     self.fields['organization_1'].choices = organization_choices()