{% block appbar %}
<h2>{{ object }}</h2>
+<span class="actions">
+<a rel="popup" href="{% url 'earwig-channel-delete' pk=object.pk %}">{% trans "Delete" %}</a>
+<a rel="popup" href="{% url 'earwig-channel-edit' pk=object.pk %}">{% trans "Edit" %}</a>
+</span>
{% endblock %}
{% block content %}
--- /dev/null
+{% extends "earwig/manager_home.html" %}
+{% load i18n %}
+
+{% block appbar %}
+<h2>{% trans "Edit Channel" %}</h2>
+{% endblock %}
+
+{% block content %}
+<form method="post" enctype="multipart/form-data">
+{% csrf_token %}
+{{ form.as_p }}
+<div class="buttons">
+<button class="submit-button">{% trans "Submit" %}</button>
+<a class="cancel" href="{% url 'earwig-channel-detail' pk=object.pk %}">{% trans "Cancel" %}</a>
+</div>
+</form>
+{% endblock %}
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+)/$', views.channel_detail, name='earwig-channel-detail'),
+ url(r'^channels/(?P<pk>\d+)/edit/$', views.channel_edit, name='earwig-channel-edit'),
url(r'^channels/(?P<pk>\d+)/delete/$', views.channel_delete, name='earwig-channel-delete'),
url(r'^sound/(?P<pk>\d+)/$', views.sound_detail, name='earwig-sound-detail'),
url(r'^sound/(?P<pk>\d+)/publish/$', views.sound_publish, name='earwig-sound-publish'),
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, DeleteView
+from django.views.generic import ListView, CreateView, DetailView, UpdateView, DeleteView
from ..sounds.models import Channel, Sound, STATUSES
channel_add = ChannelAdd.as_view()
+class ChannelEdit(UpdateView):
+ model = Channel
+ fields = ('title', 'channel_url', 'feed_url', 'policy')
+ template_name = 'earwig/manager_channel_edit.html'
+
+ def get_success_url(self):
+ return reverse_lazy('earwig-channel', kwargs={'pk': self.get_object().pk})
+
+channel_edit = ChannelEdit.as_view()
+
class ChannelDeleteView(DeleteView):
model = Channel
template_name = 'earwig/manager_channel_confirm_delete.html'