Skip to content

Commit

Permalink
first commit
Browse files Browse the repository at this point in the history
  • Loading branch information
shaunsephton committed May 24, 2010
1 parent 38a03b4 commit f43ffd8
Show file tree
Hide file tree
Showing 7 changed files with 71 additions and 0 deletions.
11 changes: 11 additions & 0 deletions likes/media/likes/includes/likes.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
function like(click_selector, url, replace_selector) {
$(click_selector).click(function() {
$.ajax({
url: url,
success: function(html){
$(replace_selector).replaceWith(html);
}
});
return false;
});
}
8 changes: 8 additions & 0 deletions likes/middleware.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
from secretballot.middleware import SecretBallotIpUseragentMiddleware

class SecretBallotUserIpUseragentMiddleware(SecretBallotIpUseragentMiddleware):
def generate_token(self, request):
if request.user.is_authenticated():
return request.user.username
else:
return super(SecretBallotUserIpUseragentMiddleware, self).generate_token(request)
18 changes: 18 additions & 0 deletions likes/templates/likes/inclusion_tags/likes.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{% if not content_obj.likes_closed %}
<p class="likes">
{{ content_obj.vote_total }}
<span>
{% if can_vote %}
<a class="liker" href="{% url like_modelbase content_obj.id 1 %}">I Like</a>
<script type="text/javascript" src="/media/likes/includes/likes.js"></script>
<script type="text/javascript">
$(function() {
like(".liker", "{% url like_modelbase_ajax content_obj.id 1 %}", ".likes");
});
</script>
{% else %}
Likes
{% endif %}
</span>
</p>
{% endif %}
Empty file added likes/templatetags/__init__.py
Empty file.
14 changes: 14 additions & 0 deletions likes/templatetags/likes_inclusion_tags.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
from secretballot.models import Vote

from django import template

register = template.Library()

@register.inclusion_tag('likes/inclusion_tags/likes.html', takes_context=True)
def likes(context, obj):
request = context['request']
context.update({
'content_obj': obj,
'can_vote': obj.can_vote(request),
})
return context
7 changes: 7 additions & 0 deletions likes/urls.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
from django.conf.urls.defaults import patterns, url

urlpatterns = patterns(
'likes.views',
url(r'^like/mb/(?P<id>\d+)/(?P<vote>\d+)$', 'like_modelbase', name='like_modelbase'),
url(r'^like/mba/(?P<id>\d+)/(?P<vote>\d+)$', 'like_modelbase_ajax', name='like_modelbase_ajax'),
)
13 changes: 13 additions & 0 deletions likes/views.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
from content.models import ModelBase

from secretballot import views

def can_vote(request, content_type, object_id, vote):
return content_type.model_class().objects.get(id=object_id).can_vote(request)

def like_modelbase(request, id, vote):
redirect_url = request.META['HTTP_REFERER']
return views.vote(request, content_type=ModelBase, object_id=id, vote=vote, redirect_url=redirect_url, can_vote_test=can_vote)

def like_modelbase_ajax(request, id, vote):
return views.vote(request, content_type=ModelBase, object_id=id, vote=vote, template_name='likes/inclusion_tags/likes.html', can_vote_test=can_vote, extra_context={'can_vote': False})

0 comments on commit f43ffd8

Please sign in to comment.