Exemplo n.º 1
0
 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)
Exemplo n.º 2
0
    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)