1
# Copyright 2012 Canonical Ltd. This software is licensed under the
2
# GNU Affero General Public License version 3 (see the file LICENSE).
4
"""Commissioning Scripts Settings views."""
6
from __future__ import (
14
"CommissioningScriptCreate",
15
"CommissioningScriptDelete",
18
from django.contrib import messages
19
from django.core.urlresolvers import reverse
20
from django.http import HttpResponseRedirect
21
from django.shortcuts import get_object_or_404
22
from django.views.generic import (
26
from maasserver.forms import CommissioningScriptForm
27
from metadataserver.models import CommissioningScript
29
# The anchor of the commissioning scripts slot on the settings page.
30
COMMISSIONING_SCRIPTS_ANCHOR = 'commissioning_scripts'
33
class CommissioningScriptDelete(DeleteView):
36
'maasserver/settings_confirm_delete_commissioning_script.html')
37
context_object_name = 'script_to_delete'
40
id = self.kwargs.get('id', None)
41
return get_object_or_404(CommissioningScript, id=id)
43
def get_next_url(self):
44
return reverse('settings') + '#' + COMMISSIONING_SCRIPTS_ANCHOR
46
def delete(self, request, *args, **kwargs):
47
script = self.get_object()
50
request, "Commissioning script %s deleted." % script.name)
51
return HttpResponseRedirect(self.get_next_url())
54
class CommissioningScriptCreate(CreateView):
55
template_name = 'maasserver/settings_add_commissioning_script.html'
56
form_class = CommissioningScriptForm
57
context_object_name = 'commissioningscript'
59
def get_success_url(self):
60
return reverse('settings') + '#' + COMMISSIONING_SCRIPTS_ANCHOR
62
def form_valid(self, form):
63
messages.info(self.request, "Commissioning script created.")
64
return super(CommissioningScriptCreate, self).form_valid(form)