root / edumanage / views.py @ f60df981
History | View | Annotate | Download (7 kB)
1 |
# -*- coding: utf-8 -*- vim:encoding=utf-8:
|
---|---|
2 |
# vim: tabstop=4:shiftwidth=4:softtabstop=4:expandtab
|
3 |
|
4 |
from django.shortcuts import render_to_response,get_object_or_404 |
5 |
from django.http import HttpResponse,HttpResponseRedirect,Http404 |
6 |
from django.template import RequestContext |
7 |
from django.core.urlresolvers import reverse |
8 |
from django.contrib.auth.decorators import login_required |
9 |
from edumanage.models import * |
10 |
from edumanage.forms import * |
11 |
from django import forms |
12 |
|
13 |
def index(request): |
14 |
return render_to_response('base.html', context_instance=RequestContext(request)) |
15 |
|
16 |
@login_required
|
17 |
def manage(request): |
18 |
services_list = [] |
19 |
servers_list = [] |
20 |
user = request.user |
21 |
try:
|
22 |
profile = user.get_profile() |
23 |
inst = profile.institution |
24 |
except UserProfile.DoesNotExist:
|
25 |
inst = False
|
26 |
services = ServiceLoc.objects.filter(institutionid=inst) |
27 |
services_list.extend([s for s in services]) |
28 |
servers = InstServer.objects.filter(instid=inst) |
29 |
servers_list.extend([s for s in servers]) |
30 |
return render_to_response('edumanage/welcome.html', |
31 |
{ |
32 |
'institution': inst,
|
33 |
'services': services_list,
|
34 |
'servers': servers_list
|
35 |
}, |
36 |
context_instance=RequestContext(request)) |
37 |
|
38 |
@login_required
|
39 |
def institutions(request): |
40 |
user = request.user |
41 |
dict = {} |
42 |
|
43 |
try:
|
44 |
profile = user.get_profile() |
45 |
inst = profile.institution |
46 |
inst.__unicode__ = inst.get_name(request.LANGUAGE_CODE) |
47 |
except UserProfile.DoesNotExist:
|
48 |
inst = False
|
49 |
dict['institution'] = inst.pk |
50 |
form = InstDetailsForm(initial=dict)
|
51 |
form.fields['institution'].widget.attrs['readonly'] = True |
52 |
return render_to_response('edumanage/institution.html', |
53 |
{ |
54 |
'institution': inst,
|
55 |
'form': form,
|
56 |
}, |
57 |
context_instance=RequestContext(request)) |
58 |
|
59 |
|
60 |
|
61 |
@login_required
|
62 |
def add_institution_details(request, institution_pk): |
63 |
user = request.user |
64 |
try:
|
65 |
profile = user.get_profile() |
66 |
inst = profile.institution |
67 |
except UserProfile.DoesNotExist:
|
68 |
inst = False
|
69 |
|
70 |
if (not inst) or (int(inst.pk) != int(institution_pk)): |
71 |
# messages.add_message(request, messages.WARNING,
|
72 |
# _("Insufficient rights on Institution. Contact your administrator"))
|
73 |
return HttpResponseRedirect(reverse("institutions")) |
74 |
if request.method == "GET": |
75 |
|
76 |
# Determine add or edit
|
77 |
request_data = request.POST.copy() |
78 |
try:
|
79 |
inst_details = InstitutionDetails.objects.get(institution=inst) |
80 |
form = InstDetailsForm(instance=inst_details) |
81 |
except InstitutionDetails.DoesNotExist:
|
82 |
form = InstDetailsForm() |
83 |
form.fields['institution'] = forms.ModelChoiceField(queryset=Institution.objects.filter(pk=institution_pk), empty_label=None) |
84 |
|
85 |
|
86 |
return render_to_response('edumanage/institution_edit.html', { 'institution': inst, 'form': form}, |
87 |
context_instance=RequestContext(request)) |
88 |
elif request.method == 'POST': |
89 |
request_data = request.POST.copy() |
90 |
try:
|
91 |
inst_details = InstitutionDetails.objects.get(institution=inst) |
92 |
form = InstDetailsForm(request_data, instance=inst_details) |
93 |
except InstitutionDetails.DoesNotExist:
|
94 |
form = InstDetailsForm(request_data) |
95 |
if form.is_valid():
|
96 |
instdets = form.save() |
97 |
print "SAVED M2M" |
98 |
return HttpResponseRedirect(reverse("institutions")) |
99 |
else:
|
100 |
try:
|
101 |
profile = user.get_profile() |
102 |
inst = profile.institution |
103 |
except UserProfile.DoesNotExist:
|
104 |
inst = False
|
105 |
form.fields['institution'] = forms.ModelChoiceField(queryset=Institution.objects.filter(pk=institution_pk), empty_label=None) |
106 |
return render_to_response('edumanage/institution_edit.html', { 'institution': inst, 'form': form}, |
107 |
context_instance=RequestContext(request)) |
108 |
|
109 |
|
110 |
@login_required
|
111 |
def services(request): |
112 |
user = request.user |
113 |
dict = {} |
114 |
|
115 |
try:
|
116 |
profile = user.get_profile() |
117 |
inst = profile.institution |
118 |
except UserProfile.DoesNotExist:
|
119 |
inst = False
|
120 |
try:
|
121 |
services = ServiceLoc.objects.filter(institutionid = inst) |
122 |
except ServiceLoc.DoesNotExist:
|
123 |
services = False
|
124 |
|
125 |
|
126 |
return render_to_response('edumanage/services.html', |
127 |
{ |
128 |
'institution': inst,
|
129 |
'services': services,
|
130 |
}, |
131 |
context_instance=RequestContext(request)) |
132 |
|
133 |
|
134 |
|
135 |
@login_required
|
136 |
def add_services(request, service_pk): |
137 |
user = request.user |
138 |
try:
|
139 |
profile = user.get_profile() |
140 |
inst = profile.institution |
141 |
except UserProfile.DoesNotExist:
|
142 |
inst = False
|
143 |
|
144 |
# if (not inst) or (int(inst.pk) != int(institution_pk)):
|
145 |
# # messages.add_message(request, messages.WARNING,
|
146 |
# # _("Insufficient rights on Institution. Contact your administrator"))
|
147 |
# return HttpResponseRedirect(reverse("institutions"))
|
148 |
if request.method == "GET": |
149 |
|
150 |
# Determine add or edit
|
151 |
request_data = request.POST.copy() |
152 |
try:
|
153 |
service = ServiceLoc.objects.get(institutionid=inst, pk=service_pk) |
154 |
form = ServiceLocForm(instance=service) |
155 |
except ServiceLoc.DoesNotExist:
|
156 |
form = ServiceLocForm() |
157 |
form.fields['institutionid'] = forms.ModelChoiceField(queryset=Institution.objects.filter(pk=inst.pk), empty_label=None) |
158 |
|
159 |
|
160 |
return render_to_response('edumanage/services_edit.html', { 'form': form}, |
161 |
context_instance=RequestContext(request)) |
162 |
elif request.method == 'POST': |
163 |
request_data = request.POST.copy() |
164 |
try:
|
165 |
service = ServiceLoc.objects.get(institutionid=inst, pk=service_pk) |
166 |
form = ServiceLocForm(request_data, instance=service) |
167 |
except ServiceLoc.DoesNotExist:
|
168 |
form = ServiceLocForm(request_data) |
169 |
if form.is_valid():
|
170 |
srvcs = form.save() |
171 |
return HttpResponseRedirect(reverse("services")) |
172 |
else:
|
173 |
try:
|
174 |
profile = user.get_profile() |
175 |
inst = profile.institution |
176 |
except UserProfile.DoesNotExist:
|
177 |
inst = False
|
178 |
form.fields['institutionid'] = forms.ModelChoiceField(queryset=Institution.objects.filter(pk=inst.pk), empty_label=None) |
179 |
return render_to_response('edumanage/institution_edit.html', { 'institution': inst, 'form': form}, |
180 |
context_instance=RequestContext(request)) |
181 |
|