[SCM] live-studio branch, master, updated. be51da814fb12d25dce46a7f078a46f5c89bd777
Chris Lamb
lamby at debian.org
Fri Jul 30 02:52:34 UTC 2010
The following commit has been merged in the master branch:
commit c39b09734026a2b55cef85a2b476e146038a51ba
Author: Chris Lamb <lamby at debian.org>
Date: Wed Jul 28 18:59:09 2010 -0400
Support editing of configurations.s
diff --git a/live_studio_www/config/forms.py b/live_studio_www/config/forms.py
new file mode 100644
index 0000000..19a080e
--- /dev/null
+++ b/live_studio_www/config/forms.py
@@ -0,0 +1,8 @@
+from django import forms
+
+from .models import Config
+
+class ConfigForm(forms.ModelForm):
+ class Meta:
+ model = Config
+ exclude = ('created', 'user')
diff --git a/live_studio_www/config/urls.py b/live_studio_www/config/urls.py
index 622c4a0..d0b42f4 100644
--- a/live_studio_www/config/urls.py
+++ b/live_studio_www/config/urls.py
@@ -3,4 +3,5 @@ from django.conf.urls.defaults import *
urlpatterns = patterns('live_studio_www.config.views',
url(r'configs$', 'configs', name='configs'),
url(r'config/(?P<config_id>\d+)$', 'view', name='view'),
+ url(r'config/(?P<config_id>\d+)/edit$', 'edit', name='edit'),
)
diff --git a/live_studio_www/config/views.py b/live_studio_www/config/views.py
index 75d139e..d3b0925 100644
--- a/live_studio_www/config/views.py
+++ b/live_studio_www/config/views.py
@@ -1,7 +1,9 @@
+from django.http import HttpResponseRedirect
from django.shortcuts import get_object_or_404
from live_studio_www.utils import render_response
+from .forms import ConfigForm
from .models import Config
def configs(request):
@@ -13,3 +15,20 @@ def view(request, config_id):
return render_response(request, 'config/view.html', {
'config': c,
})
+
+def edit(request, config_id):
+ config = get_object_or_404(Config, pk=config_id, user=request.user)
+
+ if request.method == 'POST':
+ form = ConfigForm(request.POST, instance=config)
+
+ if form.is_valid():
+ form.save()
+ return HttpResponseRedirect(config.get_absolute_url())
+ else:
+ form = ConfigForm(instance=config)
+
+ return render_response(request, 'config/edit.html', {
+ 'form': form,
+ 'config': config,
+ })
diff --git a/templates/config/edit.html b/templates/config/edit.html
new file mode 100644
index 0000000..f0f1b83
--- /dev/null
+++ b/templates/config/edit.html
@@ -0,0 +1,16 @@
+{% extends "base.html" %}
+
+{% block content %}
+
+<h1>Editing config: <em>{{ config.name }}</em></h1>
+
+<form method="POST" action="">
+<table>
+{{ form }}
+</table>
+
+<input type="Submit" value="Save">
+
+</form>
+
+{% endblock %}
diff --git a/templates/config/view.html b/templates/config/view.html
index 3a85ead..1401a3b 100644
--- a/templates/config/view.html
+++ b/templates/config/view.html
@@ -4,6 +4,8 @@
<h1>Config: <em>{{ config.name }}</em></h1>
+<p><a href="{% url config:edit config.pk %}">Edit</a></p>
+
<dl>
<dt>Distribution</dt>
<dd>{{ config.base }}</dd>
--
live-studio
More information about the debian-live-changes
mailing list