def post(self): session = get_current_session() if not session.has_key('net_id'): return user = models.get_user(session['net_id']) if not user: data['error'] = "Invalid User" self.response.out.write(json.dumps(data)) return data = json.loads(self.request.get('json')) logging.info(data) course = models.get_course(data['course']) if not course: data['error'] = "Invalid Course" self.response.out.write(json.dumps(data)) return term = models.Term.gql('WHERE code=:1', str(data['term'])).get() if not term: data['error'] = "Invalid Term" self.response.out.write(json.dumps(data)) return coursetaken = models.CourseTaken(user = user, course = course, term = term) coursetaken.put() data['success'] = 1 self.response.out.write(json.dumps(data))
def get(self): session = get_current_session() if not session.has_key('net_id'): auth.require_login(self) user = models.get_user(session['net_id'], True) page = self.request.path if page == '/': page = 'main' if page.startswith('/'): page = page[1:] if page.endswith('.html'): page = page[:-5] logging.info(page) template = JINJA_ENV.get_template('/views/%s.html' % page) page_data = {} page_data['net_id'] = user.net_id page_data['terms'] = [] requiredTerm = models.Term.gql('WHERE code=:1', 'TRANSFER').get() #if requiredTerm.key() not in user.terms: # user.terms.append(requiredTerm.key()) # user.put() sorted_terms = sorted(models.Term.get(user.terms), key=lambda t:t.code) for term in sorted_terms: thisTerm = { 'code': term.code, 'description':term.description } courseTakens = models.CourseTaken.gql('WHERE user=:1 AND term=:2', user, term) thisTerm['courses'] = [] for courseTaken in courseTakens: thisTerm['courses'].append({ 'name': courseTaken.course.subject.code + " " + courseTaken.course.number, 'term': courseTaken.term.code, 'taken_id' : courseTaken.key(), 'id' : courseTaken.course.key() }) page_data['terms'].append(thisTerm) degree = models.DegreeRequirement.gql('WHERE name=:1', 'Computer Science').get() courses_takens = models.CourseTaken.gql('WHERE user=:1', user) courses = [] for courses_taken in courses_takens: courses.append(courses_taken.course) if degree: page_data['progress'] = degree.progress_summaries(courses) logging.info(page_data['progress']) self.response.out.write(template.render(page_data))
def post(self): session = get_current_session() if not session.has_key('net_id'): return user = models.get_user(session['net_id']) if not user: data['error'] = "Invalid User" self.response.out.write(json.dumps(data)) return data = json.loads(self.request.get('json')) course_taken = models.CourseTaken.get(data['id']) if not course_taken: data['error'] = "Course Taken not found!" self.response.out.write(json.dumps(data)) return course_taken.delete() self.response.out.write('Deleted')