def create(cls, page): if not page.user: page.redirect('/') uid = page.read_secure_cookie('user_id') exist_user = cls.object_by_id(models.User, uid) subject = page.request.get('subject') start_date_raw = page.request.get('start_date') end_date_raw = page.request.get('end_date') content = page.request.get('content') flag = False if subject and start_date_raw and end_date_raw and content: start_date = datetime.strptime(start_date_raw, "%m/%d/%Y").date() end_date = datetime.strptime(end_date_raw, "%m/%d/%Y").date() g = goal.Goal(parent = ModelController.object_parent(goal.Goal), subject = subject, start_date = start_date, end_date = end_date, content = content, author = exist_user, flag = flag) gid = cls.add_object(g) cls.update_mc_list(page.user, g, '-create_date') # update the memcache for all posts page.redirect('/goal/%s' % gid) else: error = "Please specify the subject, start date, end date and description!" page.render("goal_create.html", subject=subject, content=content, error=error)
def create(cls,page): if not page.user: page.redirect("/") gid = page.request.get('gid') page.goal = ModelController.object_by_id(goal.Goal, gid) name = page.request.get('name') start_date_raw = page.request.get('start_date') end_date_raw = page.request.get('end_date') freq_unit = page.request.get('freq_unit') freq_value_raw = page.request.get('freq_value') weekly_list = None note = page.request.get('note') if freq_unit == task.FreqUnit.Weekly: weekly_list = task.WeeklyList.cvtListToStr(page.request.get('weekly_list')) if name and start_date_raw and end_date_raw and freq_value_raw: start_date = datetime.strptime(start_date_raw, "%m/%d/%Y").date() end_date = datetime.strptime(end_date_raw, "%m/%d/%Y").date() freq_value = int(freq_value_raw) if start_date>=page.goal.start_date and end_date<=page.goal.end_date: newTask = task.Task(parent = ModelController.object_parent(task.Task), name = name, goal = page.goal, #suppose the current goal is saved start_date = start_date, end_date = end_date, freq_unit = freq_unit, freq_value = freq_value, weekly_list = weekly_list, note = note) tid = ModelController.add_object(newTask) ModelController.update_mc_list(page.goal, newTask, 'create_date') page.redirect("/goal/%s" % gid) else: error = "task date cannot exceed the span of this goal" page.render("task_create3.html", name=name, note=note, error_task=error) else: error = "Please specify the task name, start date, and end date!" page.render("task_create3.html", name=name, note=note, error_task=error)