--- /dev/null
+{% 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 %}
--- /dev/null
+{% 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 %}
{% 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 %}
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'),
]
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
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')
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