summaryrefslogtreecommitdiff
path: root/pgweb/profserv/views.py
diff options
context:
space:
mode:
authorMagnus Hagander2009-09-14 12:39:25 +0000
committerMagnus Hagander2009-09-14 12:39:25 +0000
commit90b758c247ad4f630f1775c6154daaef62284f52 (patch)
tree800d94792715e6b57d14cc7da618a771abb036e9 /pgweb/profserv/views.py
A first very basic import.
Contains basic functionality, and an import of most of the static content from the old site. There is still plenty more to do...
Diffstat (limited to 'pgweb/profserv/views.py')
-rw-r--r--pgweb/profserv/views.py57
1 files changed, 57 insertions, 0 deletions
diff --git a/pgweb/profserv/views.py b/pgweb/profserv/views.py
new file mode 100644
index 00000000..668a3a5e
--- /dev/null
+++ b/pgweb/profserv/views.py
@@ -0,0 +1,57 @@
+from django.shortcuts import render_to_response, get_object_or_404
+from django.http import HttpResponse, Http404, HttpResponseRedirect
+from django.template import TemplateDoesNotExist, loader, Context
+from django.contrib.auth.decorators import login_required
+from django.db.models import Q
+
+from pgweb.util.contexts import NavContext
+from pgweb.util.helpers import simple_form
+
+from models import ProfessionalService
+#from forms import NewsArticleForm
+
+regions = (
+ ('africa','Africa'),
+ ('asia','Asia'),
+ ('europe','Europe'),
+ ('northamerica','North America'),
+ ('oceania','Oceania'),
+ ('southamerica','South America'),
+)
+
+def root(request, servtype):
+ title = servtype=='support' and 'Professional Services' or 'Hosting Providers'
+ what = servtype=='support' and 'support' or 'hosting'
+ support = servtype=='support'
+ return render_to_response('profserv/root.html', {
+ 'title': title,
+ 'support': support,
+ 'regions': regions,
+ 'what': what,
+ }, NavContext(request, 'support'))
+
+
+def region(request, servtype, regionname):
+ regname = [n for r,n in regions if r==regionname]
+ if not regname:
+ raise Http404
+ regname = regname[0]
+
+ what = servtype=='support' and 'support' or 'hosting'
+ whatname = servtype=='support' and 'Professional Services' or 'Hosting Providers'
+ title = "%s - %s" % (whatname, regname)
+ support = servtype=='support'
+
+ # DB model is a bit funky here, so use the extra-where functionality to filter properly.
+ # Field names are cleaned up earlier, so it's safe against injections.
+ services = ProfessionalService.objects.filter(approved=True).extra(where=["region_%s AND provides_%s" % (regionname, what),])
+
+ return render_to_response('profserv/list.html', {
+ 'title': title,
+ 'support': support,
+ 'what': what,
+ 'whatname': whatname,
+ 'regionname': regname,
+ 'services': services,
+ }, NavContext(request, 'support'))
+