def render(self, request, place, context, *args, **kwargs): section = get_section(request, context) if isinstance(section, MicroSite): microsite = section limit = self.get_config().get('limit').get_value() links = MicroSiteLink.objects.filter( microsite=microsite).visible_by_user(request.user) links = links[:limit] conf = { 'background': self.get_config().get('background').get_value(), 'link_color': self.get_config().get('link_color').get_value(), 'over_color': self.get_config().get('over_color').get_value(), } else: microsite = None links = [] conf = {} return self.render_block( request, template_name='microsite/blocks/highlight_menu.html', block_title=ugettext('Highlight menu'), context={ 'microsite': microsite, 'links': links, 'conf': conf })
def is_owner_or_superuser(request): if not request.user.is_authenticated(): return False if request.user.is_superuser: return True section = get_section(request) if section and request.user in section.owners.all(): return True return False
def render(self, request, place, context, *args, **kwargs): sections = BaseSection.objects.published() section = get_section(request, context) if not sections: return '' # renders nothing return self.render_block(request, template_name='core/block_navigation.html', block_title=ugettext('Navigation'), context={'sections': sections, 'active_section': section, 'max_num_level': self.get_max_level()})
def forum_index(request, extra_context=None): section = get_section(request, extra_context) forum_list = Forum.objects.published().order_by( transmeta.get_real_fieldname('category__name', get_language()), transmeta.get_real_fieldname('name', get_language())) forum_list = filtering_in_section(forum_list, section) return content_list(request, forum_list, template_name='forum/forum_list.html', paginate_by=PAGINATE_BY)
def menu_section_view(request, section_slug, menu_slug): menu = None if section_slug: section = get_object_or_404(BaseSection, slug=section_slug) else: section = get_section(request=request) if section: root_menu = section.main_menu else: root_menu = Menu.objects.get(slug=settings.MENU_PORTAL_SLUG) try: menu = root_menu.get_descendants_by_user(request.user).get(slug=menu_slug) except Menu.DoesNotExist: try: if not section_slug: # Other tree menu, different of menu portal slug try: menu = Menu.tree.get(slug=menu_slug) except Menu.MultipleObjectsReturned: menu = Menu.tree.filter(slug=menu_slug)[0] root_menu = menu.get_root() else: raise Http404 except Menu.DoesNotExist: raise Http404 try: link = menu.baselink.real_instance except BaseLink.DoesNotExist: can_edit = False if section: can_edit = section.can_edit(request.user) else: can_edit = menu.can_edit(request.user) return render_to_response('section/menu_link_not_exists.html', {'menu': menu, 'can_edit': can_edit}, context_instance=RequestContext(request)) if isinstance(link, AbsoluteLink): url_redirect = link.get_absolute_url() if url_redirect != request.get_full_path(): return HttpResponseRedirect(url_redirect) raise Http404 else: context = {} if section_slug: context['section'] = section.get_real_instance() context['menu'] = menu if isinstance(link, ViewletLink): context['registered_viewlet'] = link.viewlet context['base_template'] = 'base.html' return render_to_response('section/viewlet_section_view.html', context, context_instance=RequestContext(request)) elif isinstance(link, ContentLink): content = link.content.get_real_instance() context['base_template'] = getattr(content._meta, 'content_view_template') return content_view(request, content, template_name='section/menu_section_view.html', extra_context=context)
def filebrowser_reverse(request, view_name, args=None, kwargs=None, url_prefix=None): #if 'path' in kwargs and not kwargs['path']: #del kwargs['path'] # this fixes an strange error with reverse resolving in some boxes section = get_section(request, None) if url_prefix is None: url = reverse(view_name, urlconf=None, args=args, kwargs=kwargs) else: repository_name = kwargs.pop('repository_name') url_path = reverse(view_name, urlconf='filebrowser.urls', args=args, kwargs=kwargs) url = u'%s%s' % (url_prefix, url_path) return section and section.url_in_section(url) or url
def repositories(request, extra_context=None): filters = {} section = get_section(request, extra_context) if section: filters['section'] = section repository_list = Repository.objects.filter(**filters) context = {'base_template': 'content_list.html'} extra_context = extra_context or {} context.update(extra_context) return content_list(request, repository_list, extra_context=context, template_name='filebrowser/repository_list.html')
def render(self, request, place, context, *args, **kwargs): sections = BaseSection.objects.published() section = get_section(request, context) if not sections: return '' # renders nothing return self.render_block(request, template_name='core/block_navigation.html', block_title=ugettext('Navigation'), context={ 'sections': sections, 'active_section': section, 'max_num_level': self.get_max_level() })
def render(self, request, place, context, *args, **kwargs): section = get_section(request, context) if not section: return '' # renders nothing main_menu = section.main_menu descendants = None if main_menu is not None: descendants = main_menu.get_descendants_by_user(request.user) if not section or not descendants: return '' # renders nothing return self.render_block(request, template_name='core/block_menu.html', block_title=ugettext('Menu'), context={'section': section, 'menu': main_menu, 'descendants': descendants, 'max_num_level': self.get_max_level()})
def render(self, context): from django.core.urlresolvers import NoReverseMatch url_prefix = context.get('url_prefix', None) request = context.get('request', None) if not url_prefix: url = super(FileBrowserURLNode, self).render(context) else: args = [arg.resolve(context) for arg in self.args] kwargs = dict([(smart_str(k, 'ascii'), v.resolve(context)) for k, v in self.kwargs.items()]) url = '' try: url = filebrowser_reverse(self.view_name, args=args, kwargs=kwargs, url_prefix=url_prefix) except NoReverseMatch: if self.asvar is None: raise section = get_section(request, context) return section and section.url_in_section(url) or url
def render(self, request, place, context, *args, **kwargs): section = get_section(request, context) if not section: return '' # renders nothing main_menu = section.main_menu descendants = None if main_menu is not None: descendants = main_menu.get_descendants_by_user(request.user) if not section or not descendants: return '' # renders nothing return self.render_block(request, template_name='core/block_menu.html', block_title=ugettext('Menu'), context={ 'section': section, 'menu': main_menu, 'descendants': descendants, 'max_num_level': self.get_max_level(), 'max_num_items': self.get_max_num_items() })
def render(self, request, place, context, *args, **kwargs): section = get_section(request, context) if isinstance(section, MicroSite): microsite = section limit = self.get_config().get('limit').get_value() links = MicroSiteLink.objects.filter(microsite=microsite).visible_by_user(request.user) links = links[:limit] conf = { 'background': self.get_config().get('background').get_value(), 'link_color': self.get_config().get('link_color').get_value(), 'over_color': self.get_config().get('over_color').get_value(), } else: microsite = None links = [] conf = {} return self.render_block(request, template_name='microsite/blocks/highlight_menu.html', block_title=ugettext('Highlight menu'), context={'microsite': microsite, 'links': links, 'conf': conf})
def has_action(self, request, content): return super(GenerateSectionRSS, self).has_action( request, content) and get_section(request)
def _get_section(self, request, context): return get_section(request, context)
def menu_section_view(request, section_slug, menu_slug): menu = None if section_slug: section = get_object_or_404(BaseSection, slug=section_slug) else: section = get_section(request=request) if section: root_menu = section.main_menu else: root_menu = Menu.objects.get(slug=settings.MENU_PORTAL_SLUG) try: menu = root_menu.get_descendants_by_user( request.user).get(slug=menu_slug) except Menu.DoesNotExist: try: if not section_slug: # Other tree menu, different of menu portal slug try: menu = Menu.tree.get(slug=menu_slug) except Menu.MultipleObjectsReturned: menu = Menu.tree.filter(slug=menu_slug)[0] root_menu = menu.get_root() else: raise Http404 except Menu.DoesNotExist: raise Http404 try: link = menu.baselink.real_instance except BaseLink.DoesNotExist: can_edit = False if section: can_edit = section.can_edit(request.user) else: can_edit = menu.can_edit(request.user) return render_to_response('section/menu_link_not_exists.html', { 'menu': menu, 'can_edit': can_edit }, context_instance=RequestContext(request)) if isinstance(link, AbsoluteLink): url_redirect = link.get_absolute_url() if url_redirect != request.get_full_path(): return HttpResponseRedirect(url_redirect) raise Http404 else: context = {} if section_slug: context['section'] = section.get_real_instance() context['menu'] = menu if isinstance(link, ViewletLink): context['registered_viewlet'] = link.viewlet context['base_template'] = 'base.html' return render_to_response('section/viewlet_section_view.html', context, context_instance=RequestContext(request)) elif isinstance(link, ContentLink): content = link.content.get_real_instance() context['base_template'] = getattr(content._meta, 'content_view_template') return content_view(request, content, template_name='section/menu_section_view.html', extra_context=context)
def forum_index(request, extra_context=None): section = get_section(request, extra_context) forum_list = Forum.objects.published() forum_list = filtering_in_section(forum_list, section) return content_list(request, forum_list, template_name='forum/forum_list.html', paginate_by=PAGINATE_BY)
def has_action(self, request, content): return super(GenerateSectionRSS, self).has_action(request, content) and get_section(request)
def forum_index(request, extra_context=None): section = get_section(request, extra_context) forum_list = Forum.objects.published().order_by(transmeta.get_real_fieldname('category__name', get_language()), transmeta.get_real_fieldname('name', get_language())) forum_list = filtering_in_section(forum_list, section) return content_list(request, forum_list, template_name='forum/forum_list.html', paginate_by=PAGINATE_BY)