def lesson_create(): form = LessonForm() if form.validate_on_submit(): lesson_db = Lesson( title = form.title.data, number = form.number.data, ) try: lesson_db.put() flash(u'Lesson id %s successfully saved.' % lesson_db.key.id(), 'success') return redirect(url_for('lesson_view')) except: flash(u'Something went wrong.', 'info') return redirect(url_for('lesson_update')) return render_template( 'lesson_update.html', html_class='lesson-create', title='Create Lesson', form=form)
def create_edit_lesson(self, form_item): lesson_code = form_item("lesson_code") is_new = lesson_code == "" if is_new: lesson_code = self.make_lesson_code() lesson_title = form_item("lesson_title") lesson_description = form_item("lesson_description") class_name = form_item("class_name") task_infos = [] for task_num in range(1, int(self.request.get("max_num_tasks", "10"))+1): task_title = form_item("task_title_%d"%task_num) task_description = form_item("task_description_%d"%task_num) if task_title != "": task_infos.append((task_title, task_description)) import json tasks_json = json.dumps(task_infos) if (len(lesson_title) > 0) and (len(lesson_code) > 0) and (len(task_infos) > 0): from model import Lesson from datetime import datetime now = datetime.now() lesson = Lesson(key_name=lesson_code, teacher=self.person, title=lesson_title, lesson_code=lesson_code, description=lesson_description, class_name=class_name, tasks_json=tasks_json, start_time=now, stop_time=None) if not is_new: old_lesson = Lesson.get_by_key_name(lesson_code) lesson.start_time = old_lesson.start_time lesson.stop_time = old_lesson.stop_time lesson.put() self.response.out.write(self.get_lessons_json()) else: data = { 'error': 1, 'msg': 'Required fields are missing.' } self.response.out.write(json.dumps(data))
def clone_lesson(self, lesson): lesson_title = lesson.title + " (Clone)" lesson_code = self.make_lesson_code() task_infos = [] for task_idx in range(0, len(lesson.tasks)): task_title = lesson.tasks[task_idx][0]; if task_title != "": task_description = lesson.tasks[task_idx][1]; task_infos.append((task_title, task_description)) import json tasks_json = json.dumps(task_infos) from datetime import datetime from model import Lesson lesson = Lesson(key_name=lesson_code, teacher=self.person, title=lesson_title, lesson_code=lesson_code, description=lesson.description, class_name=lesson.class_name, start_time=datetime.now(), stop_time=lesson.stop_time, tasks_json=tasks_json) lesson.put() self.response.out.write(self.get_lesson_json(lesson_code))