Exemple #1
0
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")
Exemple #2
0
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")
Exemple #3
0
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
Exemple #4
0
 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