Update syntax for relative imports
[pgweb/local.git] / pgweb / profserv / views.py
blobff7684858446f3662c50f139a8756f2c7e9631e8
1 from django.http import Http404
2 from pgweb.util.decorators import login_required
4 from pgweb.util.contexts import render_pgweb
5 from pgweb.util.helpers import simple_form
7 from .models import ProfessionalService
8 from .forms import ProfessionalServiceForm
10 regions = (
11 ('africa', 'Africa'),
12 ('asia', 'Asia'),
13 ('europe', 'Europe'),
14 ('northamerica', 'North America'),
15 ('oceania', 'Oceania'),
16 ('southamerica', 'South America'),
20 def root(request, servtype):
21 title = servtype == 'support' and 'Professional Services' or 'Hosting Providers'
22 what = servtype == 'support' and 'support' or 'hosting'
23 support = servtype == 'support'
24 return render_pgweb(request, 'support', 'profserv/root.html', {
25 'title': title,
26 'support': support,
27 'regions': regions,
28 'what': what,
32 def region(request, servtype, regionname):
33 regname = [n for r, n in regions if r == regionname]
34 if not regname:
35 raise Http404
36 regname = regname[0]
38 what = servtype == 'support' and 'support' or 'hosting'
39 whatname = servtype == 'support' and 'Professional Services' or 'Hosting Providers'
40 title = "%s - %s" % (whatname, regname)
41 support = servtype == 'support'
43 # DB model is a bit funky here, so use the extra-where functionality to filter properly.
44 # Field names are cleaned up earlier, so it's safe against injections.
45 services = ProfessionalService.objects.select_related('org').filter(approved=True).extra(where=["region_%s AND provides_%s" % (regionname, what), ])
47 return render_pgweb(request, 'support', 'profserv/list.html', {
48 'title': title,
49 'support': support,
50 'what': what,
51 'whatname': whatname,
52 'regionname': regname,
53 'services': services,
57 # Forms to edit
58 @login_required
59 def profservform(request, itemid):
60 return simple_form(ProfessionalService, itemid, request, ProfessionalServiceForm,
61 redirect='/account/edit/services/')