-
Notifications
You must be signed in to change notification settings - Fork 0
/
landing.py
119 lines (107 loc) · 4.73 KB
/
landing.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
'''
Created on Jul 19, 2012
@author: paul
'''
import os
from google.appengine.api import users
from google.appengine.ext import webapp
from google.appengine.ext.webapp import template
from settings import TEMPLATES_PATH
import ops
DIRECTORY = os.path.dirname(__file__)
_DEBUG = True
values = {}
#Landing Page handler
class LandingPage(webapp.RequestHandler):
#Render the landing page handler
def get(self):
category = self.request.get('q',None)
user = users.get_current_user()
email = user.email()
domain = ops.getDomainFromEmail(email)
isAdministrator = ops.isAdministrator(email)
if ops.isDomainRegistered(domain):
values = defaultValues()
values['isAdministrator']= isAdministrator
values['events'] = ops.getEvents(domain,category)
values['categories'] = ops.getCategories()
values['subscribedCategories'] = ops.getSubscribedCategories(email)
wireframe = 'events'
app_path = os.path.join(DIRECTORY, os.path.join('templates', '%s.html' % wireframe))
values['app'] = template.render(app_path, values, debug=_DEBUG)
path = os.path.join(TEMPLATES_PATH,'page.html')
self.response.out.write(template.render(path, values, debug=_DEBUG))
else:
values = defaultValues()
path = os.path.join(TEMPLATES_PATH,'signup.html')
self.response.out.write(template.render(path, values, debug=_DEBUG))
#Help user create event
class Event(webapp.RequestHandler):
def get(self):
view_info = self.request.path_info.split('/')
values = defaultValues()
user = users.get_current_user()
email = user.email()
values['categories'] = ops.getCategories()
values['subscribedCategories'] = ops.getSubscribedCategories(email)
values['isAdministrator'] = ops.isAdministrator(email)
values['subdomains'] = ops.getSubdomains(ops.getDomainFromEmail(email))
if len(view_info) < 3:
return
view = view_info[2]
if view == 'create_event':
values['title'] = 'Create an Event'
wireframe = 'create_event'
elif view == 'new_category':
values['title'] = 'Create a new category'
wireframe = 'new_category'
app_path = os.path.join(DIRECTORY, os.path.join('templates', '%s.html' % wireframe))
values['app'] = template.render(app_path, values, debug=_DEBUG)
path = os.path.join(TEMPLATES_PATH,'page.html')
self.response.out.write(template.render(path, values, debug=_DEBUG))
#Render various application views
class ViewHandler(webapp.RequestHandler):
def get(self):
view_info = self.request.path_info.split('/')
values = defaultValues()
user = users.get_current_user()
email = user.email()
domain = ops.getDomainFromEmail(email)
isAdministrator = ops.isAdministrator(email)
values['isAdministrator'] = isAdministrator
values['subdomains'] = ops.getSubdomains(ops.getDomainFromEmail(email))
if len(view_info)<3:
return
view = view_info[2]
if view == 'events':
category = self.request.get('q',None)
wireframe = 'events'
values['events'] = ops.getEvents(domain,category)
values['categories'] = ops.getCategories()
values['subscribedCategories'] = ops.getSubscribedCategories(email)
values['title'] = 'Events: %s ' % category
elif view == 'search_events':
eventTitle = self.request.get('q',None)
wireframe = 'events'
values['events'] = ops.getEventsFromTitle(domain, eventTitle)
values['categories'] = ops.getCategories()
values['title'] = 'Event: %s ' % eventTitle
elif view =='settings':
values['categories'] = ops.getCategories()
values['subscribedCategories'] = ops.getSubscribedCategories(email)
values['title'] = 'Change Settings'
values['mobileNumber'] = ops.getMobileNumber(email)
wireframe = 'settings'
app_path = os.path.join(DIRECTORY, os.path.join('templates', '%s.html' % wireframe))
values['app'] = template.render(app_path, values, debug=_DEBUG)
path = os.path.join(TEMPLATES_PATH,'page.html')
self.response.out.write(template.render(path, values, debug=_DEBUG))
def defaultValues():
user = users.get_current_user()
nickname = user.nickname()
logout_url = users.create_logout_url('/')
return {
'owner': user.email(),
'nickname': nickname,
'logout_url': logout_url,
}