def media(request, media_id): c = {} try: print "Media:" + str(media_id) media = Media.objects.get(pk=media_id) c['media'] = media c['hidemedianame'] = True #don't show name in media rating list c['hidemediatype'] = True c['hideratingheader'] = False c['type'] = media.type c['sources'] = media.sourcemedia_set.all() mediamanager.loadMediaRatings(request, media_id, c) # children? children = media.children.all().order_by('order') if len(children) > 0: c['children'] = children except Media.DoesNotExist: raise Http404 # User ratings, editable, average, count ratingList = () if request.user.is_authenticated(): c['disp_user'] = request.user c['editable'] = True ratingList = RatingEvent.objects.filter(user__id=request.user.id) ratingList = ratingList.filter(media__id=media_id) ratingList = ratingList.order_by('-date', '-id') c.update(csrf(request)) mediamanager.loadMediaTypes(c); return object_list(request, template_name="ml/media.html", queryset = ratingList, paginate_by=18, extra_context=c, template_object_name="ratings")
def media_list(request, username, typename=None, statusname=None): c = {} try: user = User.objects.get(username=username) c['disp_user'] = user if request.user.id == user.id: c['editable'] = True except User.DoesNotExist: raise Http404 ratingList = RatingEvent.objects.filter(user=user, parent=None).order_by('-date', '-id') #check for actions if 'n' in request.GET: titleFilter = request.GET['n'].strip() filters = re.compile("\s+").split(titleFilter) for item in filters: ratingList = ratingList.filter(media__name__icontains=item) c['filter_title'] = titleFilter if typename: typename = ml_extras.unurlify(typename) try: type = MediaType.objects.get(name=typename) c['type'] = type c['hidemediatype'] = True ratingList = ratingList.filter(media__type__id=type.id) except MediaType.DoesNotExist: raise Http404 if statusname: statusname = ml_extras.unurlify(statusname) try: status = Status.objects.get(name=statusname, type__id=type.id) c['status'] = status ratingList = ratingList.filter(status__id=status.id) except Status.DoesNotExist: raise Http404 #mediamanager.paginate(request, ratingList, c) #return renderPage(request, "ml/medialist.html", c) # better pagination: #c = __prepareExtraContext(request, c) #didn't work! if not c.has_key('disp_user') and request.user.is_authenticated(): c['disp_user'] = request.user c.update(csrf(request)) mediamanager.loadMediaTypes(c); return object_list(request, template_name="ml/medialist.html", queryset = ratingList, paginate_by=18, extra_context=c, template_object_name="ratings")
def __prepareExtraContext(request, otherDict={}): c = RequestContext(request) if not otherDict.has_key('disp_user') and request.user.is_authenticated(): otherDict['disp_user'] = request.user otherDict.update(csrf(request)) otherDict['next'] = request.path mediamanager.loadMediaTypes(otherDict); c.update(otherDict) return c
def extra_context(self): extra = super(MediaSearchView, self).extra_context() if 'cleaned_data' in self.form and self.form.cleaned_data['t']: try: type = MediaType.objects.get(name=self.form.cleaned_data['t']) extra['type'] = type except MediaType.DoesNotExist: pass # it's ok mediamanager.loadMediaTypes(extra) if self.request.user.is_authenticated(): # Load ratingevents(the slow way) extra['disp_user'] = self.request.user return extra