[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