def show_webcomic(request, slug, strip_id=None, template_name="webcomic.html"): ctx = {} ctx["webcomic"] = get_object(WebComic, slug=slug) ctx["blog_pages"]=ctx["webcomic"].blog_page_list.filter(published=True) if strip_id is not None: ctx["strip"] = get_object(Strip, pk=strip_id) else: ctx["strip"] = ctx["webcomic"].current_strip() return rp(template_name, ctx, request)
def rate_reply_view(request, pk_forum, pk_thread, pk_reply): forum = get_object(Forum.objects.active(), pk=pk_forum) threads = forum.threads.active() thread = get_object(threads, pk=pk_thread) reply = get_object(thread.replies.active(), pk=pk_reply) form = RateForm(request.POST or None) if form.is_bound and form.is_valid(): rating = form.save(request.profile, reply) return HttpResponse( json.dumps({'status': 'ok', 'message': 'success'}), mimetype='application/json') return HttpResponse( json.dumps({'status': 'error', 'message': 'invalid form data'}), mimetype='application/json')
def get_object_or_404(model, *args, **kwargs): """A version of get_object_or_404 that can accept a model name in place of the model class.""" from django.shortcuts import get_object_or_404 as get_object if isinstance(model, basestring): model = get_model_or_404(model) return get_object(model, *args, **kwargs)
def dispatch(self, *args, **kwargs): self.forum = get_object( Forum.objects.active(), pk=kwargs['pk_forum']) self.category = self.forum.category self.object = None return super(NewThreadView, self).dispatch(*args, **kwargs)
def edit(request, slug, pk=None, template_name="edit.html"): ctx, Form={}, EditWCForm ctx["webcomic"] = get_object(WebComic, pk=slug) if request.user != ctx["webcomic"].owner: return HttpResponseForbidden("You can not do that.", 'plain/text') if pk is not None: ctx["strip"] = get_object(Strip, pk=pk) Form = EditStripForm instance = ctx["strip"] else: instance = ctx["webcomic"] if request.method=="POST": ctx["form"] = Form(request.POST, request.FILES, instance=instance) if ctx["form"].is_valid(): return HttpResponseRedirect( ctx["form"].save().link() ) ctx["form"] = Form(instance=instance) return rp(template_name, ctx, request)
def get_context_data(self, **kwargs): pk_forum = self.kwargs['pk_forum'] forum = get_object(Forum.objects.active(), pk=pk_forum) category = forum.category threads = forum.threads.active() page_number = self.kwargs.get('page', 1) object_list = Paginator(threads, PAGINATE_THREADS_BY).page(page_number) context = super(ForumView, self).get_context_data(**kwargs) context['category'] = category context['forum'] = forum context['object_list'] = object_list return context
def reply_view(request, pk_forum, pk_thread): forum = get_object(Forum.objects.active(), pk=pk_forum) category = forum.category threads = forum.threads.active() thread = get_object(threads, pk=pk_thread) form = ReplyForm(request.POST or None) editor_name = MARKUP_EDITORS[MARKUP] editor_style = 'js/forum/markitup/sets/%s/style.css' % editor_name editor_set = 'js/forum/markitup/sets/%s/set.js' % editor_name if form.is_bound and form.is_valid(): new_reply = form.save(request.user.forum_profile, forum, thread) return redirect(new_reply) return render(request, 'forum/reply.html', { 'category': category, 'forum': forum, 'thread': thread, 'form': form, 'editor_name': editor_name, 'editor_style': editor_style, 'editor_set': editor_set, })
def add_strip(request, slug, template_name="edit.html"): ctx = {} ctx["webcomic"] = get_object(WebComic, pk=slug) if request.user != ctx["webcomic"].owner: return HttpResponseForbidden("You can not do that.", 'plain/text') if request.method=="POST": ctx["form"] = EditStripForm(request.POST, request.FILES) if ctx["form"].is_valid(): instance = ctx["form"].save(commit=False) instance.webcomic = ctx["webcomic"] instance.save() return HttpResponseRedirect( instance.link() ) else: ctx["form"] = EditStripForm() return rp(template_name, ctx, request)
def show_blog_page(request, slug, page_id, template_name="blog_page.html"): ctx = {} ctx["webcomic"] = get_object(WebComic, pk=slug) ctx["blog_page"] = get_object(BlogPage, pk=page_id) return rp(template_name, ctx, request)
def show_archive(request, slug, template_name="archive.html"): ctx = {} ctx["webcomic"] = get_object(WebComic, slug=slug) return rp(template_name, ctx, request)
def get(self, request, nickname): return self.render_to_response({ 'is_self': False, 'profile': get_object(Profile, nickname=nickname) })
def get_object(self, queryset): pk = self.kwargs.get(self.pk_url_kwarg, None) return get_object(queryset, pk=pk)
def dispatch(self, request, *args, **kwargs): self.forum = get_object(Forum.objects.active(), pk=kwargs['pk_forum']) self.category = self.forum.category self.thread = self.get_object(self.forum.threads.active()) return super(ThreadView, self).dispatch(request, *args, **kwargs)
def recipient(self): nickname = self.kwargs['nickname'] self._recipient = self._recipient \ or get_object(Profile, nickname=nickname) return self._recipient