def channel_view(request, channel_slug): channel = get_object_or_404(Channel, slug=channel_slug) now = datetime.now() videos = [schedule.video for schedule in channel.schedules.filter(broadcast_date__lte=now) if now < schedule.broadcast_date + timedelta(seconds=3600*schedule.video.duration)] video = videos and videos[0] or channel.schedules.all() and channel.schedules.all()[0].video or None return content_view(request, channel, 'tv/channel_view.html', {'video': video, 'channel': channel})
def forum_view(request, forum_slug, extra_context=None): forum = get_object_or_404(Forum, slug=forum_slug) extra_context = extra_context or {} context = {'thread_list': forum.thread_set.published(), 'paginate_threads_by': PAGINATE_BY, } context.update(extra_context) return content_view(request, forum, extra_context=context)
def event_view(request, event_slug, extra_context=None, template_name='event_view.html'): event = get_object_or_404(Event, slug=event_slug) event_category_slug = request.GET.get('categories__slug', None) event_category = event_category_slug and get_object_or_404(Category, slug=event_category_slug) context = {'event_category': event_category} extra_context = extra_context or {} context.update(extra_context) return content_view(request, event, template_name, extra_context=context)
def content_section_view(request, section_slug, content_id, content_slug): section = get_object_or_404(BaseSection, slug=section_slug) try: content = section.related_content.get(pk=content_id).get_real_instance() except BaseContent.DoesNotExist: raise Http404 template_name = getattr(content._meta, 'content_view_template') return content_view(request, content, template_name=template_name)
def merengue_section_view(request, section, template, extra_context): context = extra_context or {} main_content = section.main_content and section.main_content.get_real_instance() or None if not main_content: return section_view_without_maincontent(request, context, template) template_name = getattr(main_content._meta, 'content_view_template') context.update({'is_main_document_of_section': True}) return content_view(request, main_content, template_name=template_name, extra_context=context)
def thread_view(request, forum_slug, thread_slug, original_context=None): thread = get_object_or_404(Thread, slug=thread_slug, forum__slug=forum_slug) is_moderated = request.user and (request.user.is_superuser or has_permission(thread.forum, request.user, 'moderate_forum')) is_auth = request.user and request.user.is_authenticated() comments = thread.forumthreadcomment_set.filter(parent__isnull=True).order_by('date_submitted') if not is_moderated: comments = comments.filter(banned=False) return content_view(request, thread, extra_context={'comments': comments, 'can_comment': not thread.closed and is_auth})
def link_index(request, extra_context=None, template_name='link/link_index.html'): link_collection = get_object_or_404(Collection, slug=LINK_COLLECTION_SLUG) extra_context = extra_context or {} return content_view(request, link_collection, extra_context=extra_context, template_name=template_name)
def forum_view(request, forum_slug, extra_context=None): forum = get_object_or_404(Forum, slug=forum_slug) extra_context = extra_context or {} context = { 'thread_list': forum.thread_set.published(), 'paginate_threads_by': PAGINATE_BY, } context.update(extra_context) return content_view(request, forum, extra_context=context)
def content_section_view(request, section_slug, content_id, content_slug): section = get_object_or_404(BaseSection, slug=section_slug) try: content = section.related_content.get( pk=content_id).get_real_instance() except BaseContent.DoesNotExist: raise Http404 template_name = getattr(content._meta, 'content_view_template') return content_view(request, content, template_name=template_name)
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 event_view(request, event_slug, extra_context=None, template_name='event_view.html'): event = get_object_or_404(Event, slug=event_slug) event_category_slug = request.GET.get('categories__slug', None) event_category = event_category_slug and get_object_or_404( Category, slug=event_category_slug) context = {'event_category': event_category} extra_context = extra_context or {} context.update(extra_context) return content_view(request, event, template_name, extra_context=context)
def merengue_section_view(request, section, template, extra_context): context = extra_context or {} main_content = section.main_content and section.main_content.get_real_instance( ) or None if not main_content: return section_view_without_maincontent(request, context, template) template_name = getattr(main_content._meta, 'content_view_template') context.update({'is_main_document_of_section': True}) return content_view(request, main_content, template_name=template_name, extra_context=context)
def channel_view(request, channel_slug): channel = get_object_or_404(Channel, slug=channel_slug) now = datetime.now() videos = [ schedule.video for schedule in channel.schedules.filter(broadcast_date__lte=now) if now < schedule.broadcast_date + timedelta(seconds=3600 * schedule.video.duration) ] video = videos and videos[0] or channel.schedules.all( ) and channel.schedules.all()[0].video or None return content_view(request, channel, 'tv/channel_view.html', { 'video': video, 'channel': channel })
def thread_view(request, forum_slug, thread_slug, original_context=None): thread = get_object_or_404(Thread, slug=thread_slug, forum__slug=forum_slug) is_moderated = request.user and ( request.user.is_superuser or has_permission(thread.forum, request.user, 'moderate_forum')) is_auth = request.user and request.user.is_authenticated() comments = thread.forumthreadcomment_set.filter( parent__isnull=True).order_by('date_submitted') if not is_moderated: comments = comments.filter(banned=False) return content_view(request, thread, extra_context={ 'comments': comments, 'can_comment': not thread.closed and is_auth })
def video_view(request, video_id): video = get_object_or_404(VideoStreaming, id=video_id) return content_view(request, video, 'tv/video_view.html')
def link_view(request, link_slug, template_name='link/link_view.html', extra_context=None): link = get_object_or_404(Link, slug=link_slug) return content_view(request, link, template_name, extra_context=None)
def document_section_view(request, section_slug, document_id, document_slug): document = get_object_or_404(Document, pk=document_id) template_name = getattr(document._meta, 'content_view_template') return content_view(request, document, template_name=template_name)
def banner_view(request, banner_slug): banner = get_object_or_404(Banner, slug=banner_slug) return content_view(request, banner, 'banner/banner_view.html')
def newsitem_view(request, newsitem_slug, extra_context=None): newsitem = get_object_or_404(NewsItem, slug=newsitem_slug) return content_view(request, newsitem, 'news/newsitem_view.html', extra_context=extra_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)