(r'^$', 'ais.djais.views.index'),
(r'^fleet/$', 'ais.djais.views.fleets'),
(r'^fleet/(?P<fleetname>[ a-zA-Z0-9_]+)/$', 'ais.djais.views.fleet'),
+ (r'^fleet/(?P<fleetname>[ a-zA-Z0-9_]+)/edit$', 'ais.djais.views.fleet_edit'),
(r'^fleet/(?P<fleetname>[ a-zA-Z0-9_]+)/list$', 'ais.djais.views.fleet_vessels'),
(r'^fleet/(?P<fleetname>[ a-zA-Z0-9_]+)/add$', 'ais.djais.views.fleet_vessel_add'),
(r'^fleet/(?P<fleetname>[ a-zA-Z0-9_]+)/add_vessel$', 'ais.djais.views.fleet_vessel_add2'),
return render_to_response('fleet.html', {'fleet':fleet}, RequestContext(request))
+class FleetEditForm(forms.Form):
+ description = forms.CharField(widget=forms.Textarea)
+
+@http_authenticate(auth, 'ais')
+def fleet_edit(request, fleetname):
+ fleet = get_object_or_404(Fleet, pk=fleetname)
+ if not FleetUser.objects.filter(fleet=fleetname, user=request.user.id).all():
+ return HttpResponseForbidden('<h1>Forbidden</h1>')
+
+ initial = {}
+ initial['description'] = fleet.description
+ if request.method == 'POST':
+ form = FleetEditForm(request.POST, initial=initial)
+ if form.is_valid():
+ fleet.description = form.cleaned_data['description']
+ fleet.save()
+ return HttpResponseRedirect('/fleet/%s/' % fleet.name)
+ else: # GET
+ form = FleetEditForm(initial=initial)
+ return render_to_response('fleet_edit.html', {'fleet':fleet, 'form':form}, RequestContext(request))
+
+
@http_authenticate(auth, 'ais')
def fleet_vessels(request, fleetname):
fleet = get_object_or_404(Fleet, pk=fleetname)
<a href=lastpos class=button>Last positions in Google Earth</a><br>
<a href=list class=button>Vessel list</a> ({{ fleet.vessel_count }} vessels)<br>
<a href=users class=button>User list</a> ({{ fleet.user_count }} users)<br>
+<a href=edit class=button>Change descrription</a><br>
+
{% endblock %}
--- /dev/null
+{% extends "fleet.html" %}
+
+{% block breadcrumbs %}
+{{ block.super }}
+/ <a href="/fleet/{{fleet.name}}/edit">edit</a>
+{% endblock %}
+
+{% block content %}
+<h3>Edition of fleet {{ fleet.name }}</h3>
+<form method=post>
+{% include "fragment_formerror.html" %}
+<table>
+<tr><th>name<td>{{ fleet.name }}
+{{ form.as_table }}
+<tr><th><td>
+<input type=submit value=Save>
+</table>
+</form>
+{% endblock %}