]> git.0d.be Git - earwig.git/commitdiff
manager: add list and remove views for channels
authorFrédéric Péters <fpeters@0d.be>
Sat, 1 Sep 2018 15:27:15 +0000 (17:27 +0200)
committerFrédéric Péters <fpeters@0d.be>
Sat, 1 Sep 2018 17:22:48 +0000 (19:22 +0200)
earwig/manager/templates/earwig/manager_channel_confirm_delete.html [new file with mode: 0644]
earwig/manager/templates/earwig/manager_channels.html [new file with mode: 0644]
earwig/manager/templates/earwig/manager_home.html
earwig/manager/urls.py
earwig/manager/views.py

diff --git a/earwig/manager/templates/earwig/manager_channel_confirm_delete.html b/earwig/manager/templates/earwig/manager_channel_confirm_delete.html
new file mode 100644 (file)
index 0000000..b4c1f44
--- /dev/null
@@ -0,0 +1,24 @@
+{% extends "earwig/manager_home.html" %}
+{% load i18n %}
+
+{% block appbar %}
+<h2>{{ object }}</h2>
+{% endblock %}
+
+{% block content %}
+<form method="post">
+  {% csrf_token %}
+    {% blocktrans %}
+    <p>
+    Are you sure you want to delete this channel?
+    </p>
+    <p>
+    Do note related sounds will <strong>not</strong> be deleted.
+    </p>
+    {% endblocktrans %}
+  <div class="buttons">
+    <button class="delete-button">{% trans 'Delete' %}</button>
+    <a class="cancel" href="{% url 'earwig-channels' %}">{% trans 'Cancel' %}</a>
+  </div>
+</form>
+{% endblock %}
diff --git a/earwig/manager/templates/earwig/manager_channels.html b/earwig/manager/templates/earwig/manager_channels.html
new file mode 100644 (file)
index 0000000..65e6bbc
--- /dev/null
@@ -0,0 +1,23 @@
+{% extends "earwig/manager_home.html" %}
+{% load i18n %}
+
+{% block appbar %}
+<h2>{% trans "Channels" %}</h2>
+<span class="actions">
+<a rel="popup" href="{% url 'earwig-channel-add' %}">{% trans "Add Channel" %}</a>
+</span>
+{% endblock %}
+
+{% block content %}
+<ul class="objects-list single-links">
+ {% for channel in object_list %}
+ <li>
+  <a href="{{ channel.channel_url }}">{{ channel.title }}</a>
+  <a rel="popup" class="delete" href="{% url 'earwig-channel-delete' pk=channel.pk %}">{% trans "remove" %}</a>
+ </li>
+ {% endfor %}
+</ul>
+
+{% include "gadjo/pagination.html" %}
+
+{% endblock %}
index 5ea05b153a8084015afe471ccceb963e0aa99691..a3688d33685e027fa4d30147f110fa76021cffe2 100644 (file)
@@ -4,6 +4,7 @@
 {% block appbar %}
 <h2>Earwig</h2>
 <span class="actions">
+<a href="{% url 'earwig-channels' %}">{% trans "Channels" %}</a>
 <a rel="popup" href="{% url 'earwig-channel-add' %}">{% trans "Add Channel" %}</a>
 </span>
 {% endblock %}
index c06b6a29660887f3ac8cfff796315649cd6a56a2..6ce4ac4c108de4d4b6f6e80170ba43d342eacf01 100644 (file)
@@ -20,7 +20,9 @@ from . import views
 
 urlpatterns = [
     url(r'^$', views.homepage, name='earwig-manager-homepage'),
-    url(r'^channel/add/$', views.channel_add, name='earwig-channel-add'),
+    url(r'^channels/$', views.channels, name='earwig-channels'),
+    url(r'^channels/add/$', views.channel_add, name='earwig-channel-add'),
+    url(r'^channels/(?P<pk>\d+)/delete/$', views.channel_delete, name='earwig-channel-delete'),
     url(r'^sound/(?P<pk>\d+)/publish/$', views.sound_publish, name='earwig-sound-publish'),
     url(r'^sound/(?P<pk>\d+)/reject/$', views.sound_reject, name='earwig-sound-reject'),
 ]
index fcda89e150d6bc538ede2be6fd4539df4d91ff90..58341fa46048fb7baf1b879729d0436cd0087558 100644 (file)
@@ -19,7 +19,7 @@ from django.contrib import messages
 from django.db.models import Q
 from django.shortcuts import redirect
 from django.utils.translation import ugettext_lazy as _
-from django.views.generic import ListView, CreateView, DetailView
+from django.views.generic import ListView, CreateView, DetailView, DeleteView
 
 from ..sounds.models import Channel, Sound, STATUSES
 
@@ -51,6 +51,14 @@ class Homepage(ListView):
 homepage = Homepage.as_view()
 
 
+class Channels(ListView):
+    model = Channel
+    paginate_by = 10
+    template_name = 'earwig/manager_channels.html'
+
+channels = Channels.as_view()
+
+
 class ChannelAdd(CreateView):
     model = Channel
     fields = ('title', 'channel_url', 'feed_url', 'policy')
@@ -60,6 +68,14 @@ class ChannelAdd(CreateView):
 channel_add = ChannelAdd.as_view()
 
 
+class ChannelDeleteView(DeleteView):
+    model = Channel
+    template_name = 'earwig/manager_channel_confirm_delete.html'
+    success_url = reverse_lazy('earwig-channels')
+
+channel_delete = ChannelDeleteView.as_view()
+
+
 class SoundPublishView(DetailView):
     model = Sound