Example #1
0
 def post(self, course_key):
     """Updates a specific Course"""
     b_course = ndb.Key(urlsafe=course_key).get()
     if b_course and util.param('name') and util.param('lessons'):
         b_name = util.param('name')
         b_description = util.param('description')
         b_topics = [
             ndb.Key(urlsafe=topic_key_url)
             for topic_key_url in util.param('topics', list)
         ]
         b_lessons = helpers.connected_entities_constructor(
             util.param('lessons', list))
         b_contributors = b_course.contributors
         #add new contributors to the list of course contributors.
         if auth.current_user_key() not in b_contributors:
             b_contributors += [auth.current_user_key()]
         b_course.name = b_name
         b_course.description = b_description
         b_course.topics = b_topics
         b_course.contributors = b_contributors
         b_course.lessons = b_lessons
         b_course = b_course.put()
         response = {
             'status': 'success',
             'count': 1,
             'now': helpers.time_now(),
             'result': {
                 'message':
                 'Course was successfuly created!!',
                 'view_url':
                 flask.url_for('course', course_key=b_course.urlsafe())
             },
         }
         return response
     return helpers.make_bad_request_exception("Unsifificient parameters")
Example #2
0
 def post(self, course_key):
   """Updates a specific Course"""
   b_course = ndb.Key(urlsafe=course_key).get()
   if b_course and util.param('name') and util.param('lessons'):
     b_name = util.param('name')
     b_description = util.param('description')
     b_topics = [ ndb.Key(urlsafe=topic_key_url) for topic_key_url in util.param('topics', list)]
     b_lessons = helpers.connected_entities_constructor(util.param('lessons', list))
     b_contributors = b_course.contributors
     #add new contributors to the list of course contributors.
     if auth.current_user_key() not in b_contributors:
       b_contributors += [auth.current_user_key()]
     b_course.name=b_name
     b_course.description=b_description
     b_course.topics=b_topics
     b_course.contributors=b_contributors
     b_course.lessons=b_lessons
     b_course = b_course.put()
     response = {
       'status': 'success',
       'count': 1,
       'now': helpers.time_now(),
       'result': {'message': 'Course was successfuly created!!',
                  'view_url': flask.url_for('course', course_key=b_course.urlsafe())
                 },
     }
     return response
   return helpers.make_bad_request_exception("Unsifificient parameters")
Example #3
0
 def post(self, lesson_key):
     """Updates a specific lesson"""
     if util.param("name") and util.param("is_a"):
         b_is_a = util.param("is_a")
         b_data = helpers.data_scheme_constructor(b_is_a, helpers.rerieve_content_fields(util))
         b_topics = [ndb.Key(urlsafe=topic_key_url) for topic_key_url in util.param("topics", list)]
         b_name = util.param("name")
         b_description = util.param("description")
         b_lesson = ndb.Key(urlsafe=lesson_key).get()
         if not b_lesson:
             return helpers.make_not_found_exception("Lesson %s not found" % lesson_key)
         b_lesson.data = b_data
         b_lesson.name = b_name
         b_lesson.is_a = b_is_a
         b_lesson.description = b_description
         b_lesson.topics = b_topics
         b_lesson = b_lesson.put()
         response = {
             "status": "success",
             "count": 1,
             "now": helpers.time_now(),
             "result": {
                 "message": "Lesson was successfuly updated!!",
                 "view_url": flask.url_for("lesson", lesson_key=b_lesson.urlsafe()),
             },
         }
         return response
     return helpers.make_bad_request_exception("Unsifificient parameters")
Example #4
0
 def post(self):
   """
   name = ndb.StringProperty(required=True,indexed=True)
   description = ndb.TextProperty()
   lessons = ndb.TextProperty()
   topics = ndb.KeyProperty(kind='Topic', repeated=True)
   contributors = ndb.KeyProperty(kind='User', repeated=True)
   approved = ndb.BooleanProperty(default=False)
   deadlock = ndb.BooleanProperty(default=False)
   color = ndb.StringProperty()
   vote = ndb.KeyProperty(kind='Vote')
   """
   if util.param('name') and util.param('lessons'):
     b_name = util.param('name')
     b_description = util.param('description')
     b_topics = [ ndb.Key(urlsafe=topic_key_url) for topic_key_url in util.param('topics', list)]
     b_lessons = helpers.connected_entities_constructor(util.param('lessons', list))
     b_contributor = auth.current_user_key()
     b_course = model.Course(name=b_name,description=b_description,topics=b_topics,
                             contributors=[b_contributor], lessons=b_lessons).put()
     response = {
       'status': 'success',
       'count': 1,
       'now': helpers.time_now(),
       'result': {'message': 'Course was successfuly created!!',
                  'view_url': flask.url_for('course', course_key=b_course.urlsafe())
                 },
     }
     return response
   return helpers.make_bad_request_exception("Unsifificient parameters")
Example #5
0
 def post(self, lesson_key):
     """Updates a specific lesson"""
     if util.param('name') and util.param('is_a'):
         b_is_a = util.param('is_a')
         b_data = helpers.data_scheme_constructor(
             b_is_a, helpers.rerieve_content_fields(util))
         b_topics = [
             ndb.Key(urlsafe=topic_key_url)
             for topic_key_url in util.param('topics', list)
         ]
         b_name = util.param('name')
         b_description = util.param('description')
         b_lesson = ndb.Key(urlsafe=lesson_key).get()
         if not b_lesson:
             return helpers.make_not_found_exception('Lesson %s not found' %
                                                     lesson_key)
         b_lesson.data = b_data
         b_lesson.name = b_name
         b_lesson.is_a = b_is_a
         b_lesson.description = b_description
         b_lesson.topics = b_topics
         b_lesson = b_lesson.put()
         response = {
             'status': 'success',
             'count': 1,
             'now': helpers.time_now(),
             'result': {
                 'message':
                 'Lesson was successfuly updated!!',
                 'view_url':
                 flask.url_for('lesson', lesson_key=b_lesson.urlsafe())
             },
         }
         return response
     return helpers.make_bad_request_exception("Unsifificient parameters")
Example #6
0
 def post(self, version_key):
   """Updates a specific lesson version by key"""
   if util.param('name') and util.param('is_a'):
     b_is_a = util.param('is_a')
     b_data = helpers.data_scheme_constructor(b_is_a, helpers.rerieve_content_fields(util))
     b_topics = [ ndb.Key(urlsafe=topic_key_url) for topic_key_url in util.param('topics', list)]
     b_name = util.param('name')
     b_description = util.param('description')
     b_lesson_version = ndb.Key(urlsafe=version_key).get()
     if not b_lesson_version:
       return helpers.make_not_found_exception('LessonVersion %s not found' % b_lesson_version)
     b_lesson_version.data=b_data
     b_lesson_version.name=b_name
     b_lesson_version.is_a=b_is_a
     b_lesson_version.description=b_description
     b_lesson_version.topics=b_topics
     b_lesson_version = b_lesson_version.put()
     response = {
       'status': 'success',
       'count': 1,
       'now': helpers.time_now(),
       'result': {'message': 'Lesson Version was successfuly updated!',
                  'view_url': flask.url_for('lesson_version', version_key=b_lesson_version.urlsafe())
                 },
     }
     return response
   return helpers.make_bad_request_exception("Unsifificient parameters")
Example #7
0
 def post(self, lesson_key):
   if util.param('name') and util.param('is_a'):
     b_is_a = util.param('is_a')
     b_data = helpers.data_scheme_constructor(b_is_a, helpers.rerieve_content_fields(util))
     b_topics = [ ndb.Key(urlsafe=topic_key_url) for topic_key_url in util.param('topics', list)]
     b_name = util.param('name')
     b_description = util.param('description')
     b_contributor = auth.current_user_key()
     b_lesson = ndb.Key(urlsafe=lesson_key).get()
     if not b_lesson:
       return helpers.make_not_found_exception('Lesson %s not found' % b_lesson)
     b_lesson_version = model.LessonVersion(data=b_data,name=b_name,is_a=b_is_a,description=b_description,topics=b_topics,lesson=b_lesson.key,contributor=b_contributor).put()
     b_lesson.contributors += [b_contributor]
     b_lesson.lesson_versions += [b_lesson_version]
     b_lesson.put()
     response = {
       'status': 'success',
       'count': 1,
       'now': helpers.time_now(),
       'result': {'message': 'Lesson Version update proposal was successfuly created!!',
                  'view_url': flask.url_for('lesson_version', version_key=b_lesson_version.urlsafe())
                 },
     }
     return response
   return helpers.make_bad_request_exception("Unsifificient parameters")
Example #8
0
 def post(self):
     if util.param("name") and util.param("is_a"):
         b_is_a = util.param("is_a")
         b_data = helpers.data_scheme_constructor(b_is_a, helpers.rerieve_content_fields(util))
         b_topics = [ndb.Key(urlsafe=topic_key_url) for topic_key_url in util.param("topics", list)]
         b_name = util.param("name")
         b_description = util.param("description")
         b_contributor = auth.current_user_key()
         b_lesson = (
             model.Lesson(
                 data=b_data,
                 name=b_name,
                 is_a=b_is_a,
                 description=b_description,
                 topics=b_topics,
                 contributors=[b_contributor],
             )
             .put()
             .get()
         )
         b_lesson_version = model.LessonVersion(
             data=b_data,
             name=b_name,
             is_a=b_is_a,
             description=b_description,
             topics=b_topics,
             lesson=b_lesson.key,
             contributor=b_contributor,
         ).put()
         b_lesson.latest_version = b_lesson_version
         b_lesson.lesson_versions = [b_lesson_version]
         b_lesson.put()
         response = {
             "status": "success",
             "count": 1,
             "now": helpers.time_now(),
             "result": {
                 "message": "Lesson was successfuly created!!",
                 "view_url": flask.url_for("lesson", lesson_key=b_lesson.key.urlsafe()),
             },
         }
         return response
     return helpers.make_bad_request_exception("Unsifificient parameters")
Example #9
0
 def post(self):
     if util.param('name') and util.param('is_a'):
         b_is_a = util.param('is_a')
         b_data = helpers.data_scheme_constructor(
             b_is_a, helpers.rerieve_content_fields(util))
         b_topics = [
             ndb.Key(urlsafe=topic_key_url)
             for topic_key_url in util.param('topics', list)
         ]
         b_name = util.param('name')
         b_description = util.param('description')
         b_contributor = auth.current_user_key()
         b_lesson = model.Lesson(data=b_data,
                                 name=b_name,
                                 is_a=b_is_a,
                                 description=b_description,
                                 topics=b_topics,
                                 contributors=[b_contributor]).put().get()
         b_lesson_version = model.LessonVersion(
             data=b_data,
             name=b_name,
             is_a=b_is_a,
             description=b_description,
             topics=b_topics,
             lesson=b_lesson.key,
             contributor=b_contributor).put()
         b_lesson.latest_version = b_lesson_version
         b_lesson.lesson_versions = [b_lesson_version]
         b_lesson.put()
         response = {
             'status': 'success',
             'count': 1,
             'now': helpers.time_now(),
             'result': {
                 'message':
                 'Lesson was successfuly created!!',
                 'view_url':
                 flask.url_for('lesson', lesson_key=b_lesson.key.urlsafe())
             },
         }
         return response
     return helpers.make_bad_request_exception("Unsifificient parameters")
Example #10
0
 def post(self):
     """
 name = ndb.StringProperty(required=True,indexed=True)
 description = ndb.TextProperty()
 lessons = ndb.TextProperty()
 topics = ndb.KeyProperty(kind='Topic', repeated=True)
 contributors = ndb.KeyProperty(kind='User', repeated=True)
 approved = ndb.BooleanProperty(default=False)
 deadlock = ndb.BooleanProperty(default=False)
 color = ndb.StringProperty()
 vote = ndb.KeyProperty(kind='Vote')
 """
     if util.param('name') and util.param('lessons'):
         b_name = util.param('name')
         b_description = util.param('description')
         b_topics = [
             ndb.Key(urlsafe=topic_key_url)
             for topic_key_url in util.param('topics', list)
         ]
         b_lessons = helpers.connected_entities_constructor(
             util.param('lessons', list))
         b_contributor = auth.current_user_key()
         b_course = model.Course(name=b_name,
                                 description=b_description,
                                 topics=b_topics,
                                 contributors=[b_contributor],
                                 lessons=b_lessons).put()
         response = {
             'status': 'success',
             'count': 1,
             'now': helpers.time_now(),
             'result': {
                 'message':
                 'Course was successfuly created!!',
                 'view_url':
                 flask.url_for('course', course_key=b_course.urlsafe())
             },
         }
         return response
     return helpers.make_bad_request_exception("Unsifificient parameters")