Changeset 232:7b4b4d05de94
- Timestamp:
- 09/11/10 16:51:08 (3 years ago)
- Branch:
- default
- Files:
-
- 1 added
- 6 edited
-
cyclope/core/collections/admin.py (modified) (2 diffs)
-
cyclope/core/collections/frontend_views.py (modified) (3 diffs)
-
cyclope/core/collections/migrations/0003_auto__add_field_collection_default_list_view.py (added)
-
cyclope/core/collections/models.py (modified) (1 diff)
-
cyclope/core/frontend/__init__.py (modified) (1 diff)
-
cyclope/core/frontend/sites.py (modified) (1 diff)
-
demo/cyclope_project/db/site.db (modified) (previous)
Legend:
- Unmodified
- Added
- Removed
-
cyclope/core/collections/admin.py
r151 r232 1 1 #!/usr/bin/env python 2 # -*- coding: UTF-8 -*-2 # -*- coding: utf-8 -*- 3 3 # 4 4 # Copyright 2010 Código Sur - Nuestra América Asoc. Civil / Fundación Pacificar. … … 186 186 class CollectionAdminForm(forms.ModelForm): 187 187 raw_id_fields = ['picture',] 188 default_list_view = forms.ChoiceField(label=_('Default category listing view'), required=False) 188 189 189 190 def __init__(self, *args, **kwargs): 190 191 super(CollectionAdminForm, self).__init__(*args, **kwargs) 191 192 self.fields['content_types'].choices = frontend.site.get_base_ctype_choices() 193 model = get_model('collections', 'category') 194 views = [('', '------')] + [ (view.name, view.verbose_name) 195 for view in frontend.site._registry[model] 196 if view.name != 'default'] 197 self.fields['default_list_view'].choices = views 192 198 193 199 class Meta: -
cyclope/core/collections/frontend_views.py
r230 r232 52 52 frontend.site.register_view(Category, CategoryRootItemsList) 53 53 54 class CategoryDefaultList(frontend.FrontendView): 55 name = 'default' 56 verbose_name = _('default view for the Collection') 57 is_default = True 58 is_content_view = True 59 60 def get_response(self, request, host_template, content_object): 61 category = content_object 62 if category.collection.default_list_view not in ["", self.name]: 63 view_name = category.collection.default_list_view 64 view = frontend.site.get_view(content_object.__class__, view_name) 65 else: 66 view = frontend.site.get_view(content_object.__class__, 'teaser_list') 67 return view.get_response(request, host_template, content_object) 68 69 frontend.site.register_view(Category, CategoryDefaultList) 70 54 71 55 72 class CategoryTeaserList(frontend.FrontendView): 56 73 """A teaser list view of Category members. 57 74 """ 58 name='teaser_list' 59 verbose_name=_('teaser list of Category members') 60 is_default = True 75 name = 'teaser_list' 76 verbose_name = _('teaser list of Category members') 61 77 items_per_page = cyc_settings.CYCLOPE_PAGINATION['TEASER'] 62 78 is_content_view = True … … 68 84 category = content_object 69 85 categorizations_list = category.categorizations.all() 70 71 86 paginator = Paginator(categorizations_list, self.items_per_page) 72 87 … … 159 174 name='categories_hierarchy' 160 175 verbose_name=_('hierarchical list of Categories in a Collection') 161 target_view = ' teaser_list'176 target_view = 'default' 162 177 is_content_view = True 163 178 is_region_view = True -
cyclope/core/collections/models.py
r230 r232 54 54 image = FileBrowseField(_('image'), max_length=250, format='Image', 55 55 blank=True) 56 default_list_view = models.CharField(_('default list view'), max_length=255, 57 blank=True, default='') 56 58 57 59 def get_absolute_url(self): -
cyclope/core/frontend/__init__.py
r230 r232 27 27 28 28 from django.http import HttpResponse 29 from django.utils.translation import ugettext_lazy as _ 29 30 30 31 from sites import site 31 from django.utils.translation import ugettext_lazy as _32 32 33 33 from cyclope.utils import template_for_request -
cyclope/core/frontend/sites.py
r230 r232 94 94 ) 95 95 96 #TODO(nicoechaniz): Fix for multi-site ?97 96 # url patterns for registered views 98 97 for model, model_views in self._registry.items(): 99 98 for view in model_views: 100 99 url_pattern = view.get_url_pattern(model) 101 urlpatterns += patterns( 102 '', 103 url(url_pattern, 104 view, 105 name="%s-%s" % 106 (model._meta.object_name.lower(), view.name) ) 107 ) 100 model_name = model._meta.object_name.lower() 101 url_name = "%s-%s" % (model_name, view.name) 102 urlpatterns += patterns('', url(url_pattern, view, name=url_name)) 103 if view.is_default: 104 urlpatterns += patterns('', url(url_pattern, view, name=model_name)) 105 108 106 # url patterns for menu items 109 107 return self.get_menuitem_urls(urlpatterns)
Note: See TracChangeset
for help on using the changeset viewer.

