Changeset 663:ecfdfb0a5037


Ignore:
Timestamp:
17/07/12 21:06:32 (10 months ago)
Author:
Santiago Piccinini (SAn) <spiccinini@…>
Branch:
default
Message:

Fixed bug on view_options introduced on d6375ab9ac12

Location:
cyclope
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • cyclope/core/collections/admin.py

    r659 r663  
    240240 
    241241        if self.instance.id is not None: 
    242             collection = self.instance 
    243             view_name = collection.default_list_view 
    244             view = site.get_view(Category, view_name) 
    245             self.fields["view_options"] = MultipleField(form=view.options_form, required=False) 
    246             initial_options = self.fields["view_options"].initial 
    247             self.initial["view_options"] = collection.view_options or initial_options 
     242            self.set_initial_view_options(self.instance) 
    248243 
    249244    class Meta: 
  • cyclope/forms.py

    r659 r663  
    7575    model = None 
    7676 
    77     def get_initial(self, view, fields): 
    78         fields[self.options_field_name] = MultipleField(form=view.options_form, 
    79                                                         required=False) 
     77    def set_initial_view_options(self, content_object): 
     78        view_name = getattr(content_object, self.view_field_name) 
     79        view = site.get_view(content_object, view_name) 
     80 
     81        self.fields[self.options_field_name] = MultipleField(form=view.options_form, 
     82                                                             required=False) 
     83 
    8084        initial_options = self.fields[self.options_field_name].initial 
     85        actual_options = getattr(content_object, self.options_field_name) 
     86        self.initial[self.options_field_name] = actual_options or initial_options 
    8187 
    8288    def get_view(self, values): 
     
    106112        return cleaned_value 
    107113 
     114 
    108115class MenuItemAdminForm(forms.ModelForm, ViewOptionsFormMixin): 
    109116    # content_view choices get populated through javascript 
     
    128135                                                    selected_view)] 
    129136            if menu_item.content_type: 
    130                 view_name = menu_item.content_view 
    131                 model = menu_item.content_type.model_class() 
    132                 view = site.get_view(model, view_name) 
    133  
    134                 initial_options = self.get_initial(view, self.fields) 
    135                 self.initial[self.options_field_name] = menu_item.view_options or \ 
    136                                                         initial_options 
     137                self.set_initial_view_options(menu_item) 
    137138 
    138139            if menu_item.content_object: 
     
    249250                                                        selected_view)] 
    250251            if region_view.content_type: 
    251                 view_name = region_view.content_view 
    252                 model = region_view.content_type.model_class() 
    253                 view = site.get_view(model, view_name) 
    254  
    255                 self.fields["view_options"] = MultipleField(form=view.options_form, required=False) 
    256                 initial_options = self.fields["view_options"].initial 
    257                 self.initial["view_options"] = region_view.view_options or initial_options 
     252                self.set_initial_view_options(region_view) 
    258253 
    259254            if region_view.content_object: 
Note: See TracChangeset for help on using the changeset viewer.