def get(self): # Set template values for user user = self.personalizePageAndGetUser() if not user: self.redirect(users.create_login_url(self.request.uri)) return # Extract incoming args c = self.request.get('unit') if not c: unit_id = 1 else: unit_id = int(c) self.templateValue['unit_id'] = unit_id l = self.request.get('lesson') if not l: lesson_id = 1 else: lesson_id = int(l) self.templateValue['lesson_id'] = lesson_id # Set template values for a unit and its lesson entities for unit in Unit.get_units(): if unit.unit_id == str(unit_id): self.templateValue['units'] = unit lessons = Unit.get_lessons(unit_id) self.templateValue['lessons'] = lessons # Set template values for nav bar self.templateValue['navbar'] = {'course': True} # Set template values for back and next nav buttons if lesson_id == 1: self.templateValue['back_button_url'] = '' elif lessons[lesson_id - 2].activity: self.templateValue['back_button_url'] = '/activity?unit=' + str(unit_id) + '&lesson=' + str(lesson_id - 1) else: self.templateValue['back_button_url'] = '/unit?unit=' + str(unit_id) + '&lesson=' + str(lesson_id - 1) if lessons[lesson_id - 1].activity: self.templateValue['next_button_url'] = '/activity?unit=' + str(unit_id) + '&lesson=' + str(lesson_id) elif lesson_id == lessons.count(): self.templateValue['next_button_url'] = '' else: self.templateValue['next_button_url'] = '/unit?unit=' + str(unit_id) + '&lesson=' + str(lesson_id + 1) self.render('unit.html')
def get(self): # Check for enrollment status student = self.getStudent() if student: # Get unit data and set template values units = memcache.get('units') if units is None: units = Unit.all().order('id') memcache.add('units', units) self.templateValue['units'] = units # Set template values for nav bar navbar = {'course': True} self.templateValue['navbar'] = navbar # Set template values for user user = users.get_current_user() if user: self.templateValue['email'] = user.email() self.templateValue['logoutUrl'] = users.create_logout_url("/") # Render course page self.render('course.html') else: self.redirect('/register')
def get(self): user = self.personalizePageAndGetUser() if user: self.templateValue['units'] = Unit.get_units() self.templateValue['navbar'] = {'course': True} self.render('course.html') else: self.redirect('/preview')
def post(self): name = request.json['name'] unit = Unit(name=name) db.session.add(unit) db.session.commit() return unit_schema.dump(unit), 201
def get(self): # Check for enrollment status student = self.getStudent() if student: # Extract incoming args c = self.request.get("unit") if not c: unit_id = 1 else: unit_id = int(c) self.templateValue['unit_id'] = unit_id l = self.request.get('lesson') if not l: lesson_id = 1 else: lesson_id = int(l) self.templateValue['lesson_id'] = lesson_id # Set template values for a unit and its lesson entities units = memcache.get('units') if units is None: units = Unit.all().order('id') memcache.add('units', units) for unit in units: if unit.unit_id == unit_id: self.templateValue['units'] = unit lessons = memcache.get('lessons' + str(unit_id)) if lessons is None: lessons = Lesson.all().filter('unit_id =', unit_id).order('id') memcache.add('lessons' + str(unit_id), lessons) self.templateValue['lessons'] = lessons # Set template values for nav-x bar navbar = {'course':True} self.templateValue['navbar'] = navbar # Set template values for back and next nav buttons self.templateValue['back_button_url'] = '/unit?unit=' + str(unit_id) + '&lesson=' + str(lesson_id) if lesson_id == lessons.count(): self.templateValue['next_button_url'] = '' else: self.templateValue['next_button_url'] = '/unit?unit=' + str(unit_id) + '&lesson=' + str(lesson_id + 1) # Set template values for user user = users.get_current_user() if user: self.templateValue['email'] = user.email() self.templateValue['logoutUrl'] = users.create_logout_url("/") # Render activity page self.render('activity.html') else: self.redirect('/register')
def get(self): user = users.get_current_user() if not user: self.templateValue['loginUrl'] = users.create_login_url('/') else: self.templateValue['email'] = user.email() self.templateValue['logoutUrl'] = users.create_logout_url("/") self.templateValue['navbar'] = {'course': True} self.templateValue['units'] = Unit.get_units() if user and Student.get_enrolled_student_by_email(user.email()): self.redirect('/course') else: self.render('preview.html')
def initDatastore(self): """Loads course data from the CSV files.""" logging.info('') logging.info('Initializing datastore') # load and parse data from CSV file unit_file = os.path.join(os.path.dirname(__file__), "../../data/unit.csv") lesson_file = os.path.join(os.path.dirname(__file__), "../../data/lesson.csv") units = verify.ReadObjectsFromCsvFile(unit_file, verify.UNITS_HEADER, Unit) lessons = verify.ReadObjectsFromCsvFile(lesson_file, verify.LESSONS_HEADER, Lesson) # store all units and lessons for unit in units: unit.put() for lesson in lessons: lesson.put() assert Unit.all().count() == 11 assert Lesson.all().count() == 29