Exemplo n.º 1
0
    def post(self):

        User = users.get_current_user()
        if User:
            student = db.GqlQuery("SELECT * FROM Student WHERE user = :1",
                                  User).get()

            #logging.warning("going to get credentials")
            #credentials = decorator.credentials
            #logging.warning("going to refresh credentials")
            #credentials.refresh(http=decorator.http())
            #logging.warning("refreshed credentials")

            postData = json.loads(self.request.body)
            logging.warning(postData)

            newReminder = models.Reminder(parent=models.student_key(User))

            newReminder.type = postData['type']
            newReminder.title = postData['title']
            newReminder.course_str = postData['course_str']
            newReminder.completed = False
            newReminder.date = postData['date']
            newReminder.start_time = postData['start_time']
            newReminder.end_time = postData['end_time']
            newReminder.course = postData['course']
            newReminder.note = postData['note']
            newReminder.id = int(time.time())  # do we need to rand here too?
            newReminder.eventid = ""
            newReminder.eventseq = -1
            newReminder.alert_min = int(postData['alert_min'])
            newReminder.deleted = False
            newReminder.semester_id = "SP13"  # eventually not hardcoded

            if postData['add_to_cal'] == True:
                newReminder.add_to_cal = True
                event = utils.createReminderEvent(postData)
                logging.warning(event)
                request = service.events().insert(calendarId=student.calID,
                                                  body=event)
                response = request.execute(http=decorator.http())

                if response is not None and response != "":
                    logging.warning(json.dumps(response))
                    newReminder.eventid = response["id"]
                    newReminder.eventseq = response["sequence"]
            else:
                newReminder.add_to_cal = False

            newReminder.put()
            logging.warning("added reminder to db")

            self.response.out.write(json.dumps(models.serialize(newReminder)))
        else:
            self.response.out.write("['auth':'fail']")
Exemplo n.º 2
0
  def post(self):
    
    User = users.get_current_user()
    if User:
      student = db.GqlQuery("SELECT * FROM Student WHERE user = :1", User).get()

      #logging.warning("going to get credentials")
      #credentials = decorator.credentials
      #logging.warning("going to refresh credentials")
      #credentials.refresh(http=decorator.http())
      #logging.warning("refreshed credentials")

      postData = json.loads(self.request.body)
      logging.warning(postData)
     
      newReminder = models.Reminder(parent=models.student_key(User))

      newReminder.type = postData['type']
      newReminder.title = postData['title']
      newReminder.course_str = postData['course_str']
      newReminder.completed = False
      newReminder.date =  postData['date']
      newReminder.start_time = postData['start_time']
      newReminder.end_time = postData['end_time']
      newReminder.course = postData['course']
      newReminder.note = postData['note']
      newReminder.id = int(time.time()) # do we need to rand here too?
      newReminder.eventid = ""
      newReminder.eventseq = -1
      newReminder.alert_min = int(postData['alert_min'])
      newReminder.deleted = False
      newReminder.semester_id = "SP13" # eventually not hardcoded

      if postData['add_to_cal'] == True :
        newReminder.add_to_cal = True
        event = utils.createReminderEvent(postData)
        logging.warning(event)
        request = service.events().insert(calendarId=student.calID, body=event)
        response = request.execute(http=decorator.http())

        if response is not None and response != "" :
          logging.warning(json.dumps(response))
          newReminder.eventid = response["id"]
          newReminder.eventseq = response["sequence"]
      else :
        newReminder.add_to_cal = False

      newReminder.put()
      logging.warning("added reminder to db")

      self.response.out.write(json.dumps(models.serialize(newReminder)))
    else :
      self.response.out.write("['auth':'fail']")
Exemplo n.º 3
0
    def put(self, idArg):
        User = users.get_current_user()
        if User:
            student = db.GqlQuery("SELECT * FROM Student WHERE user = :1",
                                  User).get()
            reminder = db.GqlQuery(
                "SELECT * FROM Reminder WHERE ANCESTOR IS :1 AND id = :2",
                models.student_key(User), int(idArg)).get()

            if reminder == None:
                self.response.out.write(
                    "couldn't find a single reminder to edit")
                return

            info = json.loads(self.request.body)

            reminder.course = 0
            if (info['course']):
                reminder.course = int(info['course'])
            reminder.course_str = info['course_str']
            reminder.type = info['type']
            reminder.title = info['title']
            reminder.completed = info['completed']
            reminder.date = info['date']
            reminder.note = info['note']
            reminder.start_time = info['start_time']
            reminder.end_time = info['end_time']
            if (info['alert_min']):
                reminder.alert_min = int(info['alert_min'])

            if info['add_to_cal'] == True:
                event = utils.createReminderEvent(info)
                logging.warning(event)

                if reminder.add_to_cal == False:
                    # reminder was NOT on calendar before, add it
                    request = service.events().insert(calendarId=student.calID,
                                                      body=event)
                    response = request.execute(http=decorator.http())
                    logging.warning(json.dumps(response))
                    reminder.eventid = response["id"]
                    reminder.eventseq = response["sequence"]
                else:
                    # reminder was on calendar before, edit it
                    event["sequence"] = int(reminder.eventseq)
                    request = service.events().update(calendarId=student.calID,
                                                      eventId=reminder.eventid,
                                                      body=event)
                    response = request.execute(http=decorator.http())
                    logging.warning(json.dumps(response))
                    reminder.eventseq = response["sequence"]

                reminder.add_to_cal = True

            else:
                if reminder.add_to_cal == True:
                    # reminder was on calendar before, delete it from calendar
                    request = service.events().delete(calendarId=student.calID,
                                                      eventId=reminder.eventid)
                    response = request.execute(http=decorator.http())
                    logging.warning(response)
                    reminder.eventid = ""
                    reminder.eventseq = -1

                reminder.add_to_cal = False

            reminder.put()

            self.response.out.write("completed reminders")
        else:
            self.response.out.write("['auth':'fail']")
Exemplo n.º 4
0
  def put(self, idArg):
    User = users.get_current_user()
    if User:
      student = db.GqlQuery("SELECT * FROM Student WHERE user = :1", User).get()
      reminder = db.GqlQuery("SELECT * FROM Reminder WHERE ANCESTOR IS :1 AND id = :2",
        models.student_key(User), int(idArg)).get()

      if reminder == None :
        self.response.out.write("couldn't find a single reminder to edit")
        return

      info = json.loads(self.request.body)

      reminder.course = 0
      if (info['course']):
        reminder.course = int(info['course'])
      reminder.course_str = info['course_str']
      reminder.type = info['type']
      reminder.title = info['title']
      reminder.completed = info['completed']
      reminder.date =  info['date']
      reminder.note = info['note']
      reminder.start_time = info['start_time']
      reminder.end_time = info['end_time']
      if (info['alert_min']):
        reminder.alert_min = int(info['alert_min'])

      if info['add_to_cal'] == True :
        event = utils.createReminderEvent(info)
        logging.warning(event)

        if reminder.add_to_cal == False :
          # reminder was NOT on calendar before, add it
          request = service.events().insert(calendarId=student.calID, body=event)
          response = request.execute(http=decorator.http())
          logging.warning(json.dumps(response))
          reminder.eventid = response["id"]
          reminder.eventseq = response["sequence"]
        else :
          # reminder was on calendar before, edit it
          event["sequence"] = int(reminder.eventseq)
          request = service.events().update(calendarId=student.calID,
              eventId=reminder.eventid, body=event)
          response = request.execute(http=decorator.http())
          logging.warning(json.dumps(response))
          reminder.eventseq = response["sequence"]

        reminder.add_to_cal = True;

      else :
        if reminder.add_to_cal == True :
          # reminder was on calendar before, delete it from calendar
          request = service.events().delete(calendarId=student.calID, eventId=reminder.eventid)
          response = request.execute(http=decorator.http())
          logging.warning(response)
          reminder.eventid = ""
          reminder.eventseq = -1

        reminder.add_to_cal = False;

      reminder.put()

      self.response.out.write("completed reminders")
    else: 
      self.response.out.write("['auth':'fail']");