コード例 #1
0
def add_view_for(request, content_type_id, object_id):
    ct = ContentType.objects.get(pk=content_type_id)
    myobject = ct.get_object_for_this_type(pk=object_id)

    logging.debug('Adding view for %s through web.', myobject)

    ViewTracker.add_view_for(myobject)

    return HttpResponse()
コード例 #2
0
ファイル: views.py プロジェクト: KWMalik/django-popularity
def add_view_for(request, content_type_id, object_id):
    ct = ContentType.objects.get(pk=content_type_id)
    myobject = ct.get_object_for_this_type(pk=object_id)
    
    logging.debug('Adding view for %s through web.', myobject)
    
    ViewTracker.add_view_for(myobject)
    
    return HttpResponse()
    
コード例 #3
0
ファイル: views.py プロジェクト: Caramel/django-viewtracker
def mark_all_as_viewed(request, fallback_redirect_to='/'):
	"""Marks all objects as viewed for ViewTracker.  POST to this view and all objects will be marked as viewed.
	
	Redirects the user back to the page from whence they came when done, or if there is no referrer, then fallback_redirect_to.
	"""
	
	if request.method != 'POST':
		return HttpResponseNotAllowed(['POST'])
		
	tracking = ViewTracker(request.user)
	tracking.mark_all_viewed()
	
	if request.META.has_key('HTTP_REFERER'):
		return HttpResponseRedirect(request.META['HTTP_REFERER'])
	else:
		return HttpResponseRedirect(redirect_to)
コード例 #4
0
ファイル: views.py プロジェクト: Caramel/django-viewtracker
def mark_model_as_viewed(request, model, fallback_redirect_to='/'):
	"""Marks all objects of a particular type as viewed for ViewTracker.  POST to this view and all objects of that type will be marked as viewed.
	
	Redirects the user back to the page from whence they came when done, or if there is no referrer, then fallback_redirect_to.
	
	Specify the parameter model to set the model that is being marked as read.  This may be an instance of the model, the class of the model, or the name of the model's table.
	"""
	
	if request.method != 'POST':
		return HttpResponseNotAllowed(['POST'])
				
	tracking = ViewTracker(request.user)
	tracking.mark_model_viewed(model)
	
	if request.META.has_key('HTTP_REFERER'):
		return HttpResponseRedirect(request.META['HTTP_REFERER'])
	else:
		return HttpResponseRedirect(redirect_to)
コード例 #5
0
def post_save_handler(signal, sender, instance, created, raw, **kwargs):
    if created:
        ct = ContentType.objects.get_for_model(sender)
        if ViewTracker.objects.filter(content_type=ct,
                                      object_id=instance.pk).count() == 0:
            v = ViewTracker(content_type=ct, object_id=instance.pk).save()
            logging.debug('%s automatically created for object %s' %
                          (v, instance))
        else:
            logging.warn('A ViewTracker already existst for %s.' % instance)
コード例 #6
0
def view_handler(signal, sender, **kwargs):
    ViewTracker.add_view_for(sender)
コード例 #7
0
ファイル: signals.py プロジェクト: KWMalik/django-popularity
def view_handler(signal, sender, **kwargs):
    ViewTracker.add_view_for(sender)