This commit is contained in:
Fergal Moran
2013-10-25 00:26:09 +01:00
parent 38c84f5fe4
commit 3f884981d6
2 changed files with 20 additions and 5 deletions

View File

@@ -67,6 +67,8 @@ class MixResource(BackboneCompatibleResource):
name="api_get_search"),
url(r"^(?P<resource_name>%s)/(?P<id>[\d]+)/$" % self._meta.resource_name, self.wrap_view('dispatch_detail'),
name="api_dispatch_detail"),
url(r"^(?P<resource_name>%s)/random/$" % self._meta.resource_name, self.wrap_view('dispatch_random'),
name="api_dispatch_random"),
url(r"^(?P<resource_name>%s)/(?P<slug>[\w\d-]+)/$" % self._meta.resource_name,
self.wrap_view('dispatch_detail'), name="api_dispatch_detail"),
url(r"^(?P<resource_name>%s)/(?P<slug>\w[\w/-]*)/comments%s$" % (
@@ -75,6 +77,10 @@ class MixResource(BackboneCompatibleResource):
self._meta.resource_name, trailing_slash()), self.wrap_view('get_activity'), name="api_get_activity"),
]
def dispatch_random(self, request, **kwargs):
kwargs['pk'] = self._meta.queryset.values_list('pk', flat=True).order_by('?')[0]
return self.get_detail(request, **kwargs)
def get_comments(self, request, **kwargs):
try:
basic_bundle = self.build_bundle(request=request)
@@ -176,6 +182,12 @@ class MixResource(BackboneCompatibleResource):
bundle.data['genre-list'] = json.to_ajax(bundle.obj.genres.all(), 'description', 'slug')
bundle.data['liked'] = bundle.obj.is_liked(bundle.request.user)
if bundle.request.user.is_authenticated():
bundle.data['can_edit'] = bundle.request.user.is_staff or bundle.obj.user_id == bundle.request.user.id
else:
bundle.data['can_edit'] = False
if bundle.request.user.is_authenticated():
bundle.data['favourited'] = bundle.obj.favourites.filter(user=bundle.request.user).count() != 0
else:

View File

@@ -112,13 +112,16 @@
</ul>
</div>
</div>
{% if user.is_staff %}
<div class="edit-button footer-button-right">
<% if(can_edit) { %>
<div class="edit-button footer-button footer-button-right">
<a href="/mix/edit/<%= slug %>" class="btn btn-xs"
data-id="<%= id %>"><i
class="icon-edit"></i>Edit</a>
data-id="<%= id %>"><i class="icon-edit"></i>Edit</a>
</div>
{% endif %}
<div class="edit-button footer-button footer-button-right">
<a href="/mix/delete/<%= slug %>" class="btn btn-xs btn-danger"
data-id="<%= id %>"><i class="icon-remove"></i>Delete</a>
</div>
<% } %>
<% if (download_allowed) { %>
{% if user.is_authenticated %}
<div class="download-button footer-button-right">