From 90b758c247ad4f630f1775c6154daaef62284f52 Mon Sep 17 00:00:00 2001 From: Magnus Hagander Date: Mon, 14 Sep 2009 14:39:25 +0200 Subject: 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... --- pgweb/profserv/views.py | 57 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 pgweb/profserv/views.py (limited to 'pgweb/profserv/views.py') 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')) + -- cgit v1.2.3