From f46ae595340599d6e25d2acd08488b4d08fa9632 Mon Sep 17 00:00:00 2001 From: mathieu Date: Wed, 13 Apr 2016 09:39:30 +0200 Subject: [PATCH] Essai avec url et tag inc Former-commit-id: 8a04bcc8c38f3a7eef168493d83b492978aff944 --- telemeta/static/telemeta/js/playlist.js | 7 +- telemeta/templates/telemeta/lists.html | 96 ++++++++++++++----------- telemeta/templatetags/telemeta_tags.py | 44 ++++++++++++ telemeta/urls.py | 2 +- telemeta/views/home.py | 5 +- telemeta/views/playlist.py | 6 +- 6 files changed, 110 insertions(+), 50 deletions(-) diff --git a/telemeta/static/telemeta/js/playlist.js b/telemeta/static/telemeta/js/playlist.js index b07bdcbe..b4631372 100644 --- a/telemeta/static/telemeta/js/playlist.js +++ b/telemeta/static/telemeta/js/playlist.js @@ -113,9 +113,10 @@ var playlistUtils = { }); }, - removeResource: function(id){ - json([id],'telemeta.del_playlist_resource',function(){ - window.location.reload(); + removeResource: function(id, id_playlist){ + json([id, id_playlist],'telemeta.del_playlist_resource',function(data){ + var id = JSON.parse(data.result).result; + window.location.pathname = '/desk/lists/open-list-' + id; }); }, diff --git a/telemeta/templates/telemeta/lists.html b/telemeta/templates/telemeta/lists.html index 866caf64..834ac132 100644 --- a/telemeta/templates/telemeta/lists.html +++ b/telemeta/templates/telemeta/lists.html @@ -9,48 +9,6 @@ {% endblock %} {% comment "added by Killian Mary end" %}{% endcomment %} -{% block extra_javascript %} - - - - - - -{% comment "added by Killian Mary" %}{% endcomment %} - - -{% endblock %} - {% comment "added by Killian Mary end" %}{% endcomment %} {% block content %} @@ -87,7 +45,15 @@
+ {% startinc playlists|length %} + {% for playlist in playlists %} + {% if playlist.playlist.public_id != last_playlist %} + {% incinc %} + {% else %} + {% bloqueinc %} + {% endif %} +
{{ playlist.playlist.title }}
@@ -158,7 +124,7 @@ {% endif %} - + {% endfor %} @@ -169,3 +135,47 @@
{% endblock %} +{% block extra_javascript %} + + + + + + +{% comment "added by Killian Mary" %}{% endcomment %} + + + +{% endinc %} +{% endblock %} diff --git a/telemeta/templatetags/telemeta_tags.py b/telemeta/templatetags/telemeta_tags.py index a0850344..c5e19820 100644 --- a/telemeta/templatetags/telemeta_tags.py +++ b/telemeta/templatetags/telemeta_tags.py @@ -467,3 +467,47 @@ def get_googletools(): @register.assignment_tag def settings_value(name): return getattr(settings, name, "") + +cpt = None + +class Inc: + + def __init__(self, limite): + self.var = 0 + self.limite = limite + self.bloque = False + + def inc(self): + if self.bloque == False: + self.var = self.var +1 + if self.var == self.limite: + self.var = 0 + +@register.simple_tag +def startinc(limite): + global cpt + cpt = Inc(limite) + return '' + +@register.simple_tag +def incinc(): + global cpt + cpt.inc() + return '' + +@register.simple_tag +def valinc(): + global cpt + return cpt.var + +@register.simple_tag +def bloqueinc(): + global cpt + cpt.bloque = True + return '' + +@register.simple_tag +def endinc(): + global cpt + cpt = None + return '' diff --git a/telemeta/urls.py b/telemeta/urls.py index fd95be62..903a31e5 100644 --- a/telemeta/urls.py +++ b/telemeta/urls.py @@ -190,7 +190,7 @@ urlpatterns = patterns('', url(r'^accounts/$', home_view.users, name="telemeta-users"), # Desk - url(r'^desk/lists/$', home_view.lists, name="telemeta-desk-lists"), + url(r'^desk/lists/(?:open-list-(?P[0-9]+)/)?$', home_view.lists, name="telemeta-desk-lists"), url(r'^desk/profile/(?P[A-Za-z0-9@+._-]+)/$', profile_view.profile_detail, name="telemeta-desk-profile"), url(r'^desk/home/$', home_view.home, name="telemeta-desk-home"), diff --git a/telemeta/views/home.py b/telemeta/views/home.py index b4665f1f..b784b3ee 100644 --- a/telemeta/views/home.py +++ b/telemeta/views/home.py @@ -62,7 +62,7 @@ class HomeView(object): 'sound_pub_item': sound_pub_item }) return HttpResponse(template.render(context)) - def lists(self, request): + def lists(self, request, id_playlist): """Render the home page""" if request.user.is_authenticated(): @@ -70,8 +70,9 @@ class HomeView(object): playlists = get_playlists(request) revisions = get_revisions(100) user_revisions = get_revisions(25, request.user) + last_playlist = id_playlist return render(request, template, {'playlists': playlists, - 'revisions': revisions, 'user_revisions': user_revisions }) + 'revisions': revisions, 'user_revisions': user_revisions , 'last_playlist':last_playlist}) else: template = 'telemeta/messages.html' mess = ugettext('Access not allowed') diff --git a/telemeta/views/playlist.py b/telemeta/views/playlist.py index 2046400c..9991e53f 100644 --- a/telemeta/views/playlist.py +++ b/telemeta/views/playlist.py @@ -20,6 +20,8 @@ from telemeta.views.core import * +import json +from django.http import HttpResponse class PlaylistView(object): @@ -67,9 +69,11 @@ class PlaylistView(object): raise 'Error : Bad playlist_resource dictionnary' @jsonrpc_method('telemeta.del_playlist_resource') - def del_playlist_resource(request, public_id): + def del_playlist_resource(request, public_id, playlist_id): m = PlaylistResource.objects.get(public_id=public_id) m.delete() + reponse = {'result': playlist_id, "error":None, "id":"jsonrpc"} + return json.dumps(reponse) def get_elements(self, playlist, resource_type): resources = PlaylistResource.objects.filter(playlist=playlist) -- 2.39.5