~lutostag/ubuntu/trusty/maas/1.5.4+keystone

« back to all changes in this revision

Viewing changes to src/maasserver/views/settings_commissioning_scripts.py

  • Committer: Package Import Robot
  • Author(s): Andres Rodriguez
  • Date: 2013-03-04 11:49:44 UTC
  • mto: This revision was merged to the branch mainline in revision 25.
  • Revision ID: package-import@ubuntu.com-20130304114944-azcvu9anlf8mizpa
Tags: upstream-1.3+bzr1452+dfsg
ImportĀ upstreamĀ versionĀ 1.3+bzr1452+dfsg

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# Copyright 2012 Canonical Ltd.  This software is licensed under the
 
2
# GNU Affero General Public License version 3 (see the file LICENSE).
 
3
 
 
4
"""Commissioning Scripts Settings views."""
 
5
 
 
6
from __future__ import (
 
7
    absolute_import,
 
8
    print_function,
 
9
    unicode_literals,
 
10
    )
 
11
 
 
12
__metaclass__ = type
 
13
__all__ = [
 
14
    "CommissioningScriptCreate",
 
15
    "CommissioningScriptDelete",
 
16
    ]
 
17
 
 
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 (
 
23
    CreateView,
 
24
    DeleteView,
 
25
    )
 
26
from maasserver.forms import CommissioningScriptForm
 
27
from metadataserver.models import CommissioningScript
 
28
 
 
29
# The anchor of the commissioning scripts slot on the settings page.
 
30
COMMISSIONING_SCRIPTS_ANCHOR = 'commissioning_scripts'
 
31
 
 
32
 
 
33
class CommissioningScriptDelete(DeleteView):
 
34
 
 
35
    template_name = (
 
36
        'maasserver/settings_confirm_delete_commissioning_script.html')
 
37
    context_object_name = 'script_to_delete'
 
38
 
 
39
    def get_object(self):
 
40
        id = self.kwargs.get('id', None)
 
41
        return get_object_or_404(CommissioningScript, id=id)
 
42
 
 
43
    def get_next_url(self):
 
44
        return reverse('settings') + '#' + COMMISSIONING_SCRIPTS_ANCHOR
 
45
 
 
46
    def delete(self, request, *args, **kwargs):
 
47
        script = self.get_object()
 
48
        script.delete()
 
49
        messages.info(
 
50
            request, "Commissioning script %s deleted." % script.name)
 
51
        return HttpResponseRedirect(self.get_next_url())
 
52
 
 
53
 
 
54
class CommissioningScriptCreate(CreateView):
 
55
    template_name = 'maasserver/settings_add_commissioning_script.html'
 
56
    form_class = CommissioningScriptForm
 
57
    context_object_name = 'commissioningscript'
 
58
 
 
59
    def get_success_url(self):
 
60
        return reverse('settings') + '#' + COMMISSIONING_SCRIPTS_ANCHOR
 
61
 
 
62
    def form_valid(self, form):
 
63
        messages.info(self.request, "Commissioning script created.")
 
64
        return super(CommissioningScriptCreate, self).form_valid(form)