Ejemplo n.º 1
0
  def post(self):
    user      = users.get_current_user();
    rootPath  = os.path.split(os.path.dirname(__file__))[0]
    if user and users.is_current_user_admin():
      #delete the specified gigs from db
      prev = False
      next = True
      gigIds = self.request.get_all('gig_id');
      deletedGigs = 0
      
      for id in gigIds:
        gig = Gig.get_by_id(int(id))
        if gig:
          gig.delete()
          deletedGigs += 1
      
      gigs_query  = Gig.all().order('-timing')
      gigs        = gigs_query.fetch(DeleteGigs.PAGESIZE+1)

      if len(gigs) == DeleteGigs.PAGESIZE+1:
        gigs = gigs[:DeleteGigs.PAGESIZE]
        next = True
      
      template_values = {
        "gigslen"  : len(gigs),
        "gigs"     : gigs,
        'username' : user.nickname(),
        'success_msg' : str(deletedGigs)+" gigs successfully deleted",
        'next'      : next,
        'previous'         : prev,
        'lastResultIndex'  : len(gigs),
      }
      path = os.path.join(rootPath, "html/view.html")
    else:
      #insufficient privileges
      template_values = {
        'error_msg' : "insufficient privileges"
      }
      path = os.path.join(rootPath, "html/error.html")
    self.response.out.write(template.render(path, template_values))
Ejemplo n.º 2
0
 def get(self):
   user      = users.get_current_user()
   rootPath  = os.path.split(os.path.dirname(__file__))[0]
   successMsg = ''
   
   if user and users.is_current_user_admin():
     #user is valid
     #get the gig id and enumerate edit form
     reqGigId    = cgi.escape(self.request.get('gig_id')).strip()
     if reqGigId and len(reqGigId) > 0:
       #try to fetch gig
       gigToEdit = Gig.get_by_id(int(reqGigId))
       if gigToEdit:
         #valid gigId, now send it to edit template 
         successMsg = "valid gig being edited"
       else:
         #not found gig in db corresponding to gigid
         errorMsg = "Gig not found in DB"
     else:
       #gigid not received
       errorMsg = "empty gig id received"
   else:
     #not valid operation
     errorMsg = "Insufficient privilege"
     
   
   if len(successMsg) > 0:
     template_values = {
         'gigToEdit'      : gigToEdit,
         'username' : user.nickname()
     }
     path = os.path.join(rootPath, "html/new_gig.html");
   else:
     template_values = {
         'errorMsg'      :  errorMsg 
     }
     path = os.path.join(rootPath, "html/error.html");
     
   self.response.out.write(template.render(path, template_values))
Ejemplo n.º 3
0
 def validateRecentGigId(self, recentGigId):
   recentClientGig = None
   if recentGigId and len(recentGigId) > 0:
       recentClientGig = Gig.get_by_id(int(recentGigId))
   return recentClientGig;
Ejemplo n.º 4
0
 def post(self):
   user      = users.get_current_user()
   rootPath  = os.path.split(os.path.dirname(__file__))[0]
   successMsg = ''
   
   if user and users.is_current_user_admin():
     #validate form inputs an create a new gig and store it
     #if invalid error with errorMsg "add all required fields"
     #TODO: replace this as to proper init in construct
     reqArtist       = cgi.escape(self.request.get('artist')).strip()
     reqVenue        = cgi.escape(self.request.get('venue')).strip()
     reqCity_loc     = cgi.escape(self.request.get('city_loc')).strip()
     reqCity         = cgi.escape(self.request.get('city')).strip().lower()
     reqEvent_url    = cgi.escape(self.request.get('gig_url')).strip()
     reqGenre        = cgi.escape(self.request.get('genre')).strip()
     reqDescription  = cgi.escape(self.request.get('description')).strip()
     reqTiming       = cgi.escape(self.request.get('date_time')).strip().lower()
     reqLatlong      = cgi.escape(self.request.get('latlong')).strip().lower()
     requiredList    = [
                         reqArtist,
                         reqVenue,
                         reqCity_loc,
                         reqCity, 
                         reqTiming
                         ]
     
     #get the gig id to be edited
     reqGigId    = cgi.escape(self.request.get('gig_id')).strip()
     
     if not self.checkEmptyArgs(requiredList) or not self.checkDateTime(reqTiming):
       #erroneous input
       errorMsg  = "invalid request params"
     else:
       #correct input, enter these details in db
       if reqGigId and len(reqGigId) > 0:
         #try to fetch gig
         gigToEdit = Gig.get_by_id(int(reqGigId))
         if gigToEdit:
           #valid gigId, now send it to edit template 
           successMsg = "valid gig being edited"
           gigToEdit.artist  = reqArtist
           gigToEdit.venue   = reqVenue
           gigToEdit.city_loc = reqCity_loc
           gigToEdit.city    = reqCity
           gigToEdit.timing = self.checkDateTime(reqTiming)
           if len(reqEvent_url) > 0:
             url = urlparse(reqEvent_url, scheme='http')
             gigToEdit.event_url   = db.Link(url.geturl())
           gigToEdit.genre       = reqGenre
           gigToEdit.description = reqDescription
           gigToEdit.latlong     = reqLatlong
           gigToEdit.put()
           successMsg = "Event edited in db"
         else:
           #not found gig in db corresponding to gigid
           errorMsg = "Gig not found in DB"
       else:
         #gigid not received
         errorMsg = "empty gig id received"
   else:
     #not sufficient privileges
     errorMsg  = "Not sufficient privileges"
   
   if len(successMsg)>0:
     template_values = {
        'successMsg'    :  successMsg
     }
     path  = os.path.join(rootPath, "html/new_gig.html");
   else:
     template_values = {
        'errorMsg'      :  errorMsg 
     }
     path = os.path.join(rootPath, "html/error.html")
   
   self.response.out.write(template.render(path, template_values))