/iGoOut/admin.py
Python | 62 lines | 49 code | 13 blank | 0 comment | 4 complexity | f05ffb7b3f893d30a3441474df687527 MD5 | raw file
- from db_model import Person, Site, Plan
- from google.appengine.ext import webapp
- class Admin(webapp.RequestHandler):
- def getPersonNames(self):
- names = []
- for person in Person.all():
- names.append(person.name)
- return names
- def getPlans(self):
- plans = []
- for plan in Plan.all():
- plans.append("person: %s, site: %s, date: %s" %
- (plan.person.name, plan.site.name, plan.date))
- return plans
- def get(self):
- self.response.out.write("People = %s" % self.getPersonNames())
- self.response.out.write("<br>")
- self.response.out.write("Plans = %s" % self.getPlans())
- from google.appengine.ext import webapp
- from google.appengine.api import users
- class AdminServer(webapp.RequestHandler):
- def get(self):
- if not users.GetCurrentUser():
- loginUrl = users.CreateLoginURL(self.request.uri)
- self.response.out.write('<a href="%s">Login</a>' % loginUrl)
- return
- if not users.IsCurrentUserAdmin():
- self.response.out.write('You must be an admin to view this page.')
- return
- self._handleRequest()
-
- def _handleRequest(self):
- """Invokes methods from the Admin class based on the 'action' parameter"""
- admin = Admin()
- action = self.request.get('action')
- if action == 'init':
- admin.initGifts()
- admin.initGiftTransactions()
- msg = "Gifts have been initialized, gift transactions have been cleared."
- self.response.out.write(msg)
- elif action == 'list':
- self.response.out.write("Gifts = %s" % admin.getGiftNames())
- self.response.out.write("<br>")
- self.response.out.write("Gift Transactions = %s" % admin.getGiftTransactions())
- else:
- html = []
- html.append('<a href="/admin?action=init">Initialize datastore</a><br>')
- html.append('<a href="/admin?action=list">List all data in datastore</a>')
- self.response.out.write(''.join(html))