def create_task(project_key): form = TaskForm(request.form) project = Project.get_project(project_key) if project is None: abort(404) current_user_id = get_user(request, project_key) if current_user_id is None: return redirect(url_for('who_are_you', project_key=project_key)) choices = [(p.id, p.name) for p in project.people] form.assigned_to.choices = choices if request.method == 'POST' and form.validate(): title = form.title.data description = form.description.data priority = form.priority.data assigned_to = form.assigned_to.data Task.new(project.key, title, priority, current_user_id, assigned_to, description) flash("Your task was created") project.touch() return redirect('/project/' + project_key) else: assigned_to = current_user_id form.assigned_to.default = current_user_id form.process() return render_template('edit_task.html', form=form, project=project, assigned_to=assigned_to)
def post(self, *args, **kwargs): # todo p_users = Auth.find_project_users(pid=self.pid) p_users = [{ 'id': auth.user_id, 'name': auth.user_name } for auth in p_users] json_p_users = json.dumps(p_users) self.p_users = p_users # form填充需要使用 form = TaskForm(self, self.request.arguments) is_continue = int(self.get_args('continue', 0)) if form.validate(): form.created.data = datetime.now() data = dict(form.data) if not data['expires']: data.pop('expires') # return task = Task.new(**data) # 指派用户, 记录消息 for ud in task.assigned_users: Message.set(user_id=ud['id'], from_user=self.user, task=task, pid=self.pid, pname=self.auth.project_name, type='assigned') if task and is_continue: self.add_message(u'发布任务成功') return self.redirect(self.request.uri) return self.redirect('/%s/task' % self.pid) else: return self.render( 'task-new.html', task=form.data, # 字典 auth=self.auth, json_users=json_p_users, statuses=self.statuses, types=self.types, priorities=self.priorities, errors=form.errors, update=False)
def post(self, *args, **kwargs): # todo p_users = Auth.find_project_users(pid=self.pid) p_users = [{'id': auth.user_id, 'name': auth.user_name} for auth in p_users] json_p_users = json.dumps(p_users) self.p_users = p_users # form填充需要使用 form = TaskForm(self, self.request.arguments) is_continue = int(self.get_args('continue', 0)) if form.validate(): form.created.data = datetime.now() data = dict(form.data) if not data['expires']: data.pop('expires') # return task = Task.new(**data) # 指派用户, 记录消息 for ud in task.assigned_users: Message.set(user_id=ud['id'], from_user=self.user, task=task, pid=self.pid, pname=self.auth.project_name, type='assigned') if task and is_continue: self.add_message(u'发布任务成功') return self.redirect(self.request.uri) return self.redirect('/%s/task' % self.pid) else: return self.render( 'task-new.html', task=form.data, # 字典 auth=self.auth, json_users=json_p_users, statuses=self.statuses, types=self.types, priorities=self.priorities, errors=form.errors, update=False)