~ubuntu-branches/ubuntu/precise/maas/precise-security

« back to all changes in this revision

Viewing changes to src/maasserver/views.py

  • Committer: Package Import Robot
  • Author(s): Andres Rodriguez, Dave Walker (Daviey), Andres Rodriguez
  • Date: 2012-03-27 14:49:56 UTC
  • mfrom: (1.1.7)
  • Revision ID: package-import@ubuntu.com-20120327144956-zezstgry6t61438x
Tags: 0.1+bzr363+dfsg-0ubuntu1
[ Dave Walker (Daviey) ]
* debian/control: Add openssh-server as a Recommends, and wrap-and-sort. 

[ Andres Rodriguez ]
* debian/maas.postinst:
  - Do not start apache with apache2ctl. Use invoke-rc.d instead to not
    fail in the installer.
  - For start of postgresql before creating the DB, otherwise it will
    fail in the installer.
  - Add check of invoke-rc.d for syslog.
  - Add check of invoke-rc.d for rabbitmq-server; Add check for rabbitmqctl
  - Add db_stop, in case invoke-rc.d fails.
* debian/control: Tight python-django-maas dependency.
* debian/postrm: Add check for rabbitmqctl.
* debian/maas.maas-txlongpoll.upstart: Create rabbitmq longpoll user/vhost
  and set permissions if they don't exist. Start on rabbitmq-server-running.

Show diffs side-by-side

added added

removed removed

Lines of Context:
16
16
    "NodeView",
17
17
    ]
18
18
 
 
19
from logging import getLogger
19
20
import mimetypes
20
21
import os
21
22
import urllib2
25
26
    parse_qs,
26
27
    )
27
28
from django.conf import settings as django_settings
28
 
from django.core.exceptions import PermissionDenied
29
29
from django.contrib import messages
30
30
from django.contrib.auth.forms import PasswordChangeForm as PasswordForm
31
31
from django.contrib.auth.models import User
33
33
    login as dj_login,
34
34
    logout as dj_logout,
35
35
    )
 
36
from django.core.exceptions import PermissionDenied
36
37
from django.core.urlresolvers import reverse
37
38
from django.http import (
38
39
    HttpResponse,
52
53
    ListView,
53
54
    UpdateView,
54
55
    )
55
 
from maasserver.exceptions import CannotDeleteUserException
 
56
from maasserver.exceptions import (
 
57
    CannotDeleteUserException,
 
58
    NoRabbit,
 
59
    )
56
60
from maasserver.forms import (
57
61
    AddArchiveForm,
58
62
    CommissioningForm,
61
65
    NewUserCreationForm,
62
66
    ProfileForm,
63
67
    UbuntuForm,
 
68
    UIAdminNodeEditForm,
64
69
    UINodeEditForm,
65
 
    UIAdminNodeEditForm,
66
70
    )
67
71
from maasserver.messages import messaging
68
72
from maasserver.models import (
69
73
    Node,
70
 
    SSHKeys,
71
74
    UserProfile,
72
75
    )
73
76
 
125
128
 
126
129
def get_longpoll_context():
127
130
    if messaging is not None and django_settings.LONGPOLL_PATH is not None:
128
 
        return {
129
 
            'longpoll_queue': messaging.getQueue().name,
130
 
            'LONGPOLL_PATH': django_settings.LONGPOLL_PATH,
131
 
            }
 
131
        try:
 
132
            return {
 
133
                'longpoll_queue': messaging.getQueue().name,
 
134
                'LONGPOLL_PATH': django_settings.LONGPOLL_PATH,
 
135
                }
 
136
        except NoRabbit as e:
 
137
            getLogger('maasserver').warn(
 
138
                "Could not connect to RabbitMQ: %s", e)
 
139
            return {}
132
140
    else:
133
141
        return {}
134
142
 
154
162
        return reverse('index')
155
163
 
156
164
 
157
 
def KeystoreView(request, userid):
158
 
    keys = SSHKeys.objects.filter(user__user__username=userid)
159
 
    return render_to_response(
160
 
        'maasserver/sshkeys.txt', {'keys': keys}, mimetype="text/plain",
161
 
        context_instance=RequestContext(request))
162
 
 
163
 
 
164
165
def process_form(request, form_class, redirect_url, prefix,
165
166
                 success_message=None, form_kwargs=None):
166
167
    """Utility method to process subforms (i.e. forms with a prefix).