コード例 #1
0
ファイル: api.py プロジェクト: millerns/csse483
 def assignment_insert(self, assignment):
     """ Add or update an assignment owned by the given user """
     if assignment.from_datastore:
         assignment_with_parent = assignment
     else: assignment_with_parent = Assignment(parent = main.get_parent_key(endpoints.get_current_user()), 
                                               name = assignment.name)
     assignment_with_parent.put()
     return assignment_with_parent
コード例 #2
0
 def post(self):
     user = users.get_current_user()
     if not user:
         self.redirect(users.create_login_url(self.request.uri))
         return
     next_active_assignemnt = None
     if (self.request.get('type') == 'Student'):
         rose_username = self.request.get('rose_username')
         new_student = Student(parent=get_parent_key(user),
                               id=rose_username,
                               first_name=self.request.get('first_name'),
                               last_name=self.request.get('last_name'),
                               rose_username=rose_username,
                               team=self.request.get('team'))
         new_student.put()
     elif (self.request.get('type') == 'Assignment'):
         active_assignment = Assignment(parent=get_parent_key(user),
                                        name=self.request.get('assignment_name'))
         if len(self.request.get('assignment_entity_key')) > 0:
             assignment_key = ndb.Key(urlsafe=self.request.get('assignment_entity_key'))
             if assignment_key:
                 assignment = assignment_key.get()
                 if assignment:
                     active_assignment = assignment
                     active_assignment.name = self.request.get('assignment_name')
         active_assignment.put()
         next_active_assignemnt = active_assignment.key.urlsafe()
     elif (self.request.get('type') == 'SingleGradeEntry'):
         assignment_key = ndb.Key(urlsafe=self.request.get('assignment_key'))
         student_key = ndb.Key(urlsafe=self.request.get('student_key'))
         student = student_key.get()
         score = int(self.request.get('score'))
         new_grade_entry = GradeEntry(parent=assignment_key,
                                      id=student.rose_username,
                                      assignment_key=assignment_key,
                                      student_key=student_key,
                                      score=score)
         new_grade_entry.put()
         next_active_assignemnt = assignment_key.urlsafe()
     elif (self.request.get('type') == 'TeamGradeEntry'):
         assignment_key = ndb.Key(urlsafe=self.request.get('assignment_key'))
         score = int(self.request.get('score'))
         team = self.request.get('team')
         student_query = Student.query(Student.team==team, ancestor=get_parent_key(user))
         for student in student_query:
             new_grade_entry = GradeEntry(parent=assignment_key,
                                          id=student.rose_username,
                                          assignment_key=assignment_key,
                                          student_key=student.key,
                                          score=score)
             new_grade_entry.put()
         next_active_assignemnt = assignment_key.urlsafe()
     if next_active_assignemnt:
       self.redirect("/?active_assignemnt=" + next_active_assignemnt)
     else:
       self.redirect("/")
コード例 #3
0
ファイル: main.py プロジェクト: kcheung/iOSCourse
 def post(self):
     user = users.get_current_user()
     if not user:
         self.redirect(users.create_login_url(self.request.uri))
     if (self.request.get('type') == 'Assignment'):
         new_assignment = Assignment(assignment_name = self.request.get('assignment_name'), owner=user)
         new_assignment.put()
     else:
         an_assignment_key = ndb.Key(Assignment, int(self.request.get('assignment_id')))
         assignment_for_entry = an_assignment_key.get()
         if assignment_for_entry is None:
             raise endpoints.NotFoundException('Assignment id not found')
         if user != assignment_for_entry.owner:
             raise endpoints.ForbiddenException("You can only edit/create grade entries in your own Assignments.")
         new_grade_entry = GradeEntry(student_name = self.request.get('student_name'),
                            score = self.request.get('score'),
                            assignment_id = int(self.request.get('assignment_id')),
                            parent = assignment_for_entry.key,
                            owner=user)
         new_grade_entry.put()
     time.sleep(0.5)
     self.redirect('/')