Esempio n. 1
0
File: tests.py Progetto: rob-b/Jung
    def test_task_form(self):
        data = {
            "title": "Write some tests",
            "day": "01/04/2005",
            "start_time": 2,
            "end_time": 2,
            "user": self.alice.pk,
            "project": self.project.pk,
            "status": Project.ACTIVE,
            "task_type": self.et.pk,
        }
        form = TaskForm(data)
        self.assertFalse(form.is_valid())

        data["start_time"] = 11
        data["count"] = 3
        form = TaskForm(data)
        self.assert_(form.is_valid())
        tt = TaskType.objects.create(title="why?")
        task = form.save(commit=False)
        task.task_type = tt
        task.author = self.alice
        task.save()
        task.add_occurrences(
            form.cleaned_data["start_time"], form.cleaned_data["end_time"], count=form.cleaned_data["count"]
        )
        self.assertEqual(Occurrence.objects.count(), 3)
Esempio n. 2
0
def add_task(request):
    from forms import TaskForm
    form = TaskForm(request.POST)
    scrapy_error = False
    if form.is_valid():
        data = form.cleaned_data['data']
        print data
        mail = data['address']
        task_list = data['urls']
        http = httplib2.Http()
        data={'project':"dirbot","spider":"taobao"}
        header={'Content-Type': 'application/x-www-form-urlencoded'}
        for item in task_list:
            Q = Queue(url=item,mail=mail)
            Q.save()
            try:
                s,c = http.request("http://localhost:6800/schedule.json","POST",urlencode(data),headers=header)
            except Exception:
                c = {'status':'error','msg':'爬虫服务器连接失败'}
                scrapy_error = True
    else:
        return HttpResponse(json.dumps({'status':'error','msg':form['data'].errors}))
    if scrapy_error:
        return HttpResponse(json.dumps(c,ensure_ascii=False))
    return HttpResponse(c)
Esempio n. 3
0
def add_task(request):
    # Get the context from the request.
    context = RequestContext(request)
    projectid = int(request.GET.get('projectid', '0'))
    context_dict = {}
    if request.method == 'POST':
        form = TaskForm(request.POST)

        # Have we been provided with a valid form?
        if form.is_valid():
            # Save the new category to the database.
            form.save(commit=True)
            return HttpResponseRedirect('/project/view_tasks?projectid=' + str(projectid))
        else:
            # The supplied form contained errors - just print them to the terminal.
            print form.errors
    else:
        # If the request was not a POST, display the form to enter details.
        form = TaskForm()
	
	context_dict["form"] = form
	context_dict["projectid"] = projectid

	
    # Bad form (or form details), no form supplied...
    # Render the form with error messages (if any).
    return render_to_response('webapp/add_requirement.html', context_dict, context)
Esempio n. 4
0
def task_edit(request, task_id, response_format='html'):
    """Task edit page"""

    task = get_object_or_404(Task, pk=task_id)
    if not request.user.profile.has_permission(task, mode='w'):
        return user_denied(request, message="You don't have access to this Task")

    if request.POST:
        if 'cancel' not in request.POST:
            form = TaskForm(
                request.user.profile, None, None, None, request.POST, instance=task)
            if form.is_valid():
                task = form.save()
                return HttpResponseRedirect(reverse('projects_task_view', args=[task.id]))
        else:
            return HttpResponseRedirect(reverse('projects_task_view', args=[task.id]))
    else:
        form = TaskForm(
            request.user.profile, None, None, None, instance=task)

    context = _get_default_context(request)
    context.update({'form': form,
                    'task': task})

    return render_to_response('projects/task_edit', context,
                              context_instance=RequestContext(request), response_format=response_format)
Esempio n. 5
0
def task_create(request, id):
    milestone = get_object_or_404(Milestone, pk=id)
    if request.method == 'POST': # If the form has been submitted...
        post = request.POST.copy()
        post['milestone']=milestone.id
        form = TaskForm(data=post) # A form bound to the POST data
        if form.is_valid(): # All validation rules pass
            form.save()
            # Process the data in form.cleaned_data
            # ...
            return redirect('/tasks') # Redirect after POST
    else:
        form = TaskForm(
            milestone=milestone,
            initial={
                'milestone': milestone,
                },
        )
        # An unbound form
        #from django import forms
        #form.depends_from = forms.ModelMultipleChoiceField(queryset=Task.objects.filter(milestone=milestone))
    return render(request, 'task_create.html', {
        'milestone': milestone,
        'form': form,
        })
Esempio n. 6
0
 def test_should_be_invalid_from_blank_description(self):
     """
     A Task Form should be invalid, due to blank desc.
     """
     task = Task()
     task_form = TaskForm(instance=task)
     self.assertFalse(task_form.is_valid())
Esempio n. 7
0
def task_add_to_milestone(request, milestone_id=None, response_format='html'):
    """Task add to preselected project"""

    milestone = None
    if milestone_id:
        milestone = get_object_or_404(Milestone, pk=milestone_id)
        if not request.user.profile.has_permission(milestone, mode='x'):
            milestone = None

    project = milestone.project
    project_id = milestone.project.id

    if request.POST:
        if 'cancel' not in request.POST:
            task = Task()
            form = TaskForm(request.user.profile, None,
                            project_id, milestone_id, request.POST, instance=task)
            if form.is_valid():
                task = form.save()
                task.set_user_from_request(request)
                return HttpResponseRedirect(reverse('projects_task_view', args=[task.id]))
        else:
            return HttpResponseRedirect(reverse('projects_milestone_view', args=[milestone.id]))
    else:
        form = TaskForm(
            request.user.profile, None, project_id, milestone_id)

    context = _get_default_context(request)
    context.update({'form': form,
                    'project': project,
                    'milestone': milestone})

    return render_to_response('projects/task_add_to_milestone', context,
                              context_instance=RequestContext(request), response_format=response_format)
Esempio n. 8
0
def task_add_subtask(request, task_id=None, response_format='html'):
    """New subtask form"""

    parent = None
    if task_id:
        parent = get_object_or_404(Task, pk=task_id)
        if not request.user.profile.has_permission(parent, mode='x'):
            parent = None

    if request.POST:
        if 'cancel' not in request.POST:
            task = Task()
            form = TaskForm(
                request.user.profile, parent, None, None, request.POST, instance=task)
            if form.is_valid():
                task = form.save()
                task.set_user_from_request(request)
                return HttpResponseRedirect(reverse('projects_task_view', args=[parent.id]))
        else:
            return HttpResponseRedirect(reverse('projects_task_view', args=[parent.id]))
    else:
        form = TaskForm(request.user.profile, parent, None, None)

    context = _get_default_context(request)
    context.update({'form': form,
                    'task': parent})

    return render_to_response('projects/task_add_subtask', context,
                              context_instance=RequestContext(request), response_format=response_format)
Esempio n. 9
0
def edit_task_in_list(request, storyID, taskID):
    story = mdl_story.get_story(storyID)
    task = mdl_task.get_task(taskID)
    project = story.project
    association = UserAssociation.objects.get(
        user=request.user,
        project=project)
    if request.method == 'POST':
        form = TaskForm(request.POST, instance=task)
        if form.is_valid():
            task = form.save(commit=True)
    else:
        form = TaskForm(instance=task)
    tasks = mdl_task.get_tasks_for_story(story)

    context = {
        'story': story,
        'tasks': tasks,
        'task': task,
        'editform': form,
        'project': project,
        'association': association
    }

    return render(request, 'TaskList.html', context)
def edit_task_in_list(request, storyID, taskID):
    story = mdl_story.get_story(storyID)
    task = mdl_task.get_task(taskID)
    project = story.project
    association = UserAssociation.objects.get(
        user=request.user,
        project=project
    )
    if request.method == 'POST':
        form = TaskForm(request.POST, instance=task)
        if form.is_valid():
            task = form.save(commit=True)
    else:
        form = TaskForm(instance=task)
    tasks = mdl_task.get_tasks_for_story(story)

    context = {
        'story': story,
        'tasks': tasks,
        'task': task,
        'editform': form,
        'project': project,
        'association': association
    }

    return render(request, 'TaskList.html', context)
Esempio n. 11
0
File: views.py Progetto: i-k-i/tolk
def create_subtask(request, task_id):
    parent = Task.objects.get(id=task_id)
    pr = Project.objects.get(id=parent.project_id)
    if request.method == 'POST':
        form = TaskForm(request.POST, request.FILES)
        if form.is_valid():
            c = form.save(commit=False)
            c.creator = auth.get_user(request)
            c.project = pr
            c.parent_task = parent
            c.save()
            form.save_m2m()
            task = Task.objects.get(id=c.id)
            assign_newtask_perm(task, pr, request.user)
            loger(auth.get_user(request), 'task_created', c.name, c, pr)

            return HttpResponseRedirect('/projector/project/{}'.format(parent.project_id))
    else:
        form = TaskForm()
    args = {}
    args.update(csrf(request))
    args['project'] = pr
    args['form'] = form
    args['parent'] = parent
    args['username'] = auth.get_user(request).username

#    import pdb; pdb.set_trace()

    return render_to_response('create_task.html',args)
Esempio n. 12
0
    def post(self, request):
        form = TaskForm(data=request.POST)
        if not form.is_valid():
            return self.get(request, form)

        form.save()
        return redirect('index')
Esempio n. 13
0
def create_task(request):
	
	if request.method == "POST":
		f = TaskForm(request.POST)
		if f.is_valid():
			c = f.save(commit=False)
			c.CreatedOn = timezone.now()
			c.CreatedBy = request.user
			c.LastUpdatedOn = timezone.now()
			c.LastUpdatedBy = request.user
			
			c.save()
	
			messages.success(request, "Your Task was added")
			return HttpResponseRedirect('/persons/all')
	else:
		f = TaskForm()
	args = {}
	args.update(csrf(request))
	
	
	args['form'] = f
	
	return render_to_response('create_task.html', args)

		
	
	message.add_message(request, settings.DELETE_MESSAGE, "Your task was deleted successfully")
	return HttpResponseRedirect('/persons/all' % person_id)
Esempio n. 14
0
def new_task(request):
    if request.method == 'POST':
        form = TaskForm(request.POST)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect('/')
    else:
        form = TaskForm()
    return render(request, 'create_task.html', {'form': form})
Esempio n. 15
0
def update_task(request, id):
    task = Tasks.objects.get(pk=id)
    form = TaskForm(request.POST or None, instance=task)
    if request.POST:
        if form.is_valid():
            form.save()
            return HttpResponseRedirect('/')
    else:
        return render(request, 'create_task.html', {'form': form})
Esempio n. 16
0
def get_task_list_task(request):
    t_l_id = None
    if request.method == 'POST':
        form = TaskForm(request.POST)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect('/new_task_list/')
    else:
        form = TaskForm()
    return render(request, "tasks_add.html", { 'form': form , 't_l_id':t_l_id})
Esempio n. 17
0
def addtask(request):
    if request.POST:
            form = TaskForm(request.POST)
            if form.is_valid():
                form.save()
                messages.success(request, 'Task added!')
                return HttpResponseRedirect('/tasks/')
    else:
        form = TaskForm()

    return render(request, 'addtask.html', locals())
Esempio n. 18
0
def addtask(request):
    if request.POST:
        form = TaskForm(request.POST)
        if form.is_valid():
            form.save()
            messages.success(request, 'Task added!')
            return HttpResponseRedirect('/tasks/')
    else:
        form = TaskForm()

    return render(request, 'addtask.html', locals())
Esempio n. 19
0
def update(request, project_slug, task_id):
    project = Project.get_by_slug(request.user, project_slug)
    task = get_object_or_404(Task, pk=task_id, project=project)
    form = TaskForm(request.POST, instance=task)
    if form.is_valid():
        task = form.save()
        tre = TaskRegexp()
        due_date = tre.get_date(task.title)
        task.due_date = due_date
        task.save()
        return HttpResponse(dumps(dict(html=task.html)))
Esempio n. 20
0
def home(request):
    if request.method == 'POST':
        form = TaskForm(request.POST)
        if form.is_valid():
            cd = form.cleaned_data
            request = Request('me','www.baidu.com')
            re = request.start()
            return HttpResponse( re)
    else:
        form = TaskForm()
    return render_to_response('home.html',{'form':form }, RequestContext(request))
Esempio n. 21
0
def add_task_into_list(request, storyID):
    story = mdl_story.get_story(storyID)
    if request.method == 'POST':
        form = TaskForm(request.POST)
        if form.is_valid():
            mdl_task.create_task(story, request.POST)
    else:
        form = TaskForm()
    tasks = mdl_task.get_tasks_for_story(story)
    context = {'story': story, 'tasks': tasks, 'newform': form}
    return render(request, 'TaskList.html', context)
Esempio n. 22
0
def calendar(request):
    if request.method == "POST":
        c = Calendar.objects.all()[0]
        form = TaskForm(request.POST, Task())
        if form.is_valid():
            form.save()
            # create a new empty form
            form = TaskForm()
    else:
        form = TaskForm()
    return render_to_response("calendar.html", RequestContext(request, {"form": form}))
Esempio n. 23
0
def addtask(request):
    if request.method == 'POST': # If the form has been submitted...
        form = TaskForm(request.POST) # A form bound to the POST data
        if form.is_valid():
            task = form.cleaned_data['task']
            newtask = tasks(task=task)
            newtask.save()
            return HttpResponseRedirect('/tasks/')
        else:
            return HttpResponse("Here's the tex.")
    else:
        return HttpResponse("Here's the text.")
Esempio n. 24
0
def task_form(request):
    context = RequestContext(request)
    if request.method == 'POST':
        form = TaskForm(request.POST)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect('/tasks/')
        else:
            print(form.errors)
    else:
        form = Task()
    return render_to_response('tasks/index.html', {'form': form}, context)
Esempio n. 25
0
    def post(self, request, task_id):
        form = TaskForm(request.POST, instance=Task.objects.get(pk=task_id))

        if form.is_valid():
            form.save()
            messages.add_message(request, messages.INFO, "Task updated!")
            return redirect("/task/%s/" % task_id)

        print form.errors

        context = {'form': form}
        return render(request, self.template_name, context)
Esempio n. 26
0
    def post(self, request):
        form = TaskForm(request.POST)

        if form.is_valid():
            form.save()
            messages.add_message(request, messages.INFO, "Task created!")
            return redirect("/list/%s/" % list_id)

        print form.errors

        context = {'form': form}
        return render(request, self.template_name, context)
Esempio n. 27
0
def calendar(request):
    if request.method == 'POST':
        c = Calendar.objects.all()[0]
        form = TaskForm(request.POST, Task())
        if form.is_valid():
            form.save()
            # create a new empty form
            form = TaskForm()
    else:
        form = TaskForm()
    return render_to_response('calendar.html',
                              RequestContext(request, {'form': form}))
Esempio n. 28
0
def edit_task(request, t_id):
    task = Task.objects.get(id=t_id)
    # instance ={'title':task.title,'body':task.body,'priority':task.priority }
    # form = EditTForm(initial={'title':task.title,'body':task.body,'priority':task.priority})
    form = TaskForm(request.POST or None, instance= task)
    # form = TaskForm(initial={'title':instance.title,'body':instance.body,'priority':instance.priority,'dead_line':instance.dead_line,'note':instance.note,'pub_date':instance.pub_date})
    if form.is_valid():
        # task.title=form.cleaned_data['title']
        # task.body=form.cleaned_data['body']
        # task.priority=form.cleaned_data['priority']
        form.save()
        return HttpResponseRedirect('/')
    return render(request,"task_edit.html",{'form':form})
Esempio n. 29
0
def edit_task(request):
    task = Task.objects.get(id=request.POST.get('id'))
    copy = request.POST.copy()
    copy['user'] = request.user.id
    form = TaskForm(copy, instance=task)
    if form.is_valid():
        form.save()
        messages.add_message(request, messages.SUCCESS,
                             'Task has been updated!')
    else:
        messages.add_message(request, messages.ERROR,
                             'Error: Task is not updated!')
    return HttpResponseRedirect(reverse('task:tasks'))
Esempio n. 30
0
def todo(request):
    context = RequestContext(request)
    tasks = Task.objects.all
    if request.method == 'POST':
        form = TaskForm(request.POST)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect('/todo/')
        else:
            print(form.errors)
    else:
        form = Task()

    return render_to_response('tasks/TODO.html', {'tasks': tasks, 'form': form}, context)
Esempio n. 31
0
def get_task(request, t_l_id=None):
    if request.method == 'POST':
        form = TaskForm(request.POST)
        if form.is_valid():
            temp = form.save()
            if t_l_id is not None:
                tasklist = TaskList.objects.get(id=t_l_id)
                tasklist.task.add(temp)
                # return HttpResponseRedirect('/tasks/'+t_l_id)
                return HttpResponseRedirect('/')
            # return HttpResponseRedirect('/new_task_list/')
            return HttpResponseRedirect('/')
    else:
        form = TaskForm()
    return render(request, "tasks_add.html", { 'form': form , 't_l_id':t_l_id})
Esempio n. 32
0
def add_task_into_list(request, storyID):
    story = mdl_story.get_story(storyID)
    if request.method == 'POST':
        form = TaskForm(request.POST)
        if form.is_valid():
            mdl_task.create_task(story,request.POST)
    else:
        form = TaskForm()
    tasks = mdl_task.get_tasks_for_story(story)
    context = {
        'story': story,
        'tasks': tasks,
        'newform': form
    }
    return render(request, 'TaskList.html', context)
Esempio n. 33
0
def new_task(request):
    t = 'dashboard/new_task.html'
    form = TaskForm()
    if request.POST:
        form = TaskForm(request.POST)
        if form.is_valid():
            task = form.save(request.user)
            request.flash['alert-success'] = u'涟漪创建成功'
            return redirect(task)

    return render_to_response(t, {
        'triggers'  :active_triggers(request.user),
        'actions'   :active_actions(request.user),
        'form'      :form
        }, context_instance=RequestContext(request))
Esempio n. 34
0
def tasks(request):
	"""Lists tasks"""
	if request.method == 'GET':
		order = request.GET.get('o', 'last_updated_on')
		results = Task.objects.filter(created_by=request.user).order_by(order)
		# Put in Pagination
		return render_to_response('tasks.html', {'tasks': results},
			context_instance=RequestContext(request))

	# post
	task = TaskForm(request.POST)
	if task.is_valid():
		task.save()
		return HttpResponseRedirect('/task/%d'%task.id)
	return HttpResponse(status=400)
Esempio n. 35
0
def setupb(request, userid):
    if request.method == "POST":
        form = TaskForm(request.POST)
        if form.is_valid():
            a = form.cleaned_data['task']
            b = form.cleaned_data['deadline']
            c = form.cleaned_data['list']
            d = userid
            new = Task.objects.create(task=a, deadline=b, user_id=d)
            new.save()

            return redirect("setupb", d)
    else:
        form = TaskForm()
    data = {'form': form}

    return render(request, 'setupb.html', data)
Esempio n. 36
0
def task_add(request):
    #从TaskForm获取相关信息
    form = TaskForm(request.POST or None)
    if form.is_valid():
        #建立一个task实例
        task_ins = Task()
        #通过时间来建立一个任务流水
        task_ins.task_code = str(int(time.time()))
        #获取task的相关信息
        task_ins.task_title = form.cleaned_data.get('task_title')
        task_ins.task_category = form.cleaned_data.get('task_category')
        task_ins.task_contacts = form.cleaned_data.get('task_contacts')
        #task建立后默认变成处理中的状态
        task_ins.task_status = '处理中'
        #通过登录用户来辨别任务登记人
        task_ins.task_signer = request.user
        #保存task实例
        task_ins.save()
        #通过当前task_id获取task对象,并将其赋给member_task
        member_task = Task.objects.get(id=task_ins.id)
        #获取members集合
        members = form.cleaned_data.get('task_member')
        #获取members集合中的member,并将其添加到member_task中,增添相应实施人员
        for member in members:
            member_task.task_member.add(member)

        #通过task_id获取task对象
        process_task = Task.objects.get(id=task_ins.id)
        #建立一个process的实施步骤实例
        process_ins = Process()
        #将process实例与task绑定
        process_ins.task = process_task
        #获取process相关信息
        process_ins.process_content = form.cleaned_data.get('process_content')
        process_ins.process_signer = request.user
        process_ins.save()

        return redirect('task_list')

    context = {
        'form': form,
        'page_title': '任务处理',
        'sub_title': '新建任务',
    }
    return render(request, 'task_add.html', context)
Esempio n. 37
0
def edit_task_in_list(request, storyID, taskID):
    story = mdl_story.get_story(storyID)
    task = mdl_task.get_task(taskID)
    if request.method == 'POST':
        form = TaskForm(request.POST, instance=task)
        if form.is_valid():
            task = form.save(commit=True)
    else:
        form = TaskForm(instance=task)
    tasks = mdl_task.get_tasks_for_story(story)

    context = {
        'story': story,
        'tasks': tasks,
        'task': task,
        'editform': form,
    }

    return render(request, 'TaskList.html', context)
Esempio n. 38
0
def edit(request, id=None):
    if id is not None:
        task = get_object_or_404(SpecialQuestTask, pk=id)
    else:
        task = None

    form = TaskForm(instance=task)

    if request.method == 'POST':
        form = TaskForm(request.POST, instance=task)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect(reverse('wouso.games.specialquest.cpanel.home'))

    return render_to_response('specialquest/cpanel_edit.html',
                              {'task': task,
                               'form': form,
                               'module': 'specialquest'},
                              context_instance=RequestContext(request))
Esempio n. 39
0
def add_task_into_list(request, storyID):
    story = mdl_story.get_story(storyID)
    project = story.project
    association = UserAssociation.objects.get(user=request.user,
                                              project=project)
    if request.method == 'POST':
        form = TaskForm(request.POST)
        if form.is_valid():
            mdl_task.create_task(story, request.POST)
    else:
        form = TaskForm()
    tasks = mdl_task.get_tasks_for_story(story)
    context = {
        'story': story,
        'tasks': tasks,
        'newform': form,
        'project': project,
        'association': association
    }
    return render(request, 'TaskList.html', context)
Esempio n. 40
0
def edit_task(request, bid=None, tid=None):
    """ Edit/GET and save/POST a task entity for a backlog item.
        User permission required: add_backlog
    """
    if tid:
        task = get_object_or_404(Task, pk=tid)
        backlog = task.item
    elif bid:
        backlog = get_object_or_404(Backlog, pk=bid)
        task = None
    if request.method == 'POST':
        form = TaskForm(request.POST, instance=task)
        if form.is_valid():
            tsk = form.save(commit=False)
            if not hasattr(tsk, 'item'):
                setattr(tsk, 'item', backlog)
            try:
                tsk.save()
                #form.save_m2m()
            except Exception, e:
                logger.error('edit_task form.save failure %s' % e)
            return HttpResponseRedirect('/backlog/%s/tasks' % backlog.pk)
Esempio n. 41
0
def edittask(request, task_id):
    task = get_object_or_404(Task, pk=task_id)
    volunteers = Task.objects.filter(volunteers=task_id)
    t = "Edit"

    if request.POST:
        form = TaskForm(request.POST, instance=task)
        if form.is_valid():
            form.save()
            messages.success(request, 'Updated!')
            return HttpResponseRedirect('/schedule/')

    else:
        form = TaskForm(instance=task)

    return render_to_response("edittask.html", {
        'form': form,
        't': t,
        'task': task,
        'volunteers': volunteers,
    },
                              context_instance=RequestContext(request))
Esempio n. 42
0
def edit_task (request, task_id = None, owner_name = None):
    """
    Edit existing Task.

    TODO :
    Do user validation (should have permission)
    Allow delete Task facility (?)
    Cancel Edit
    Save Draft
    """

    page_owner = get_page_owner (request, owner_name)
    user = request.user
    dept_names = [name for name, description in DEP_CHOICES]
    if task_id:
        # Existing Task
        curr_task = Task.objects.get (id = task_id)
        is_new_task = False
    else:
        # New Task
        curr_task = Task (creator = user)
        is_new_task = True

    # curr_object = Task.objects.get (id = task_id)
    is_task_comment = True
    other_errors = False

    SubTaskFormSet = inlineformset_factory (Task,
                                            SubTask,
                                            form = SubTaskForm,
                                            exclude = subtask_exclusion_tuple,
                                            extra = 0,
                                            can_delete = True)
    if request.method == 'POST':
        # Get the submitted formset
        subtaskfs = SubTaskFormSet (request.POST,
                                    instance = curr_task)
        template_form = subtaskfs.empty_form
        task_form = TaskForm (request.POST, instance = curr_task)
        if task_form.is_valid () and subtaskfs.is_valid ():
            curr_task = task_form.save (commit = False)
            curr_task.save()
            print 'Task : ', curr_task

            comments, comment_form, comment_status = handle_comment (
                request = request,
                is_task_comment = True,
                object_id = task_id)

            # Only the filled forms will be stored in subtasks
            # Also, subtasks marked for deletion are deleted here.
            subtasks = subtaskfs.save (commit = False)
            for subtask in subtasks:
                print 'Subtask : ', subtask
                subtask.creator = user
                subtask.status = DEFAULT_STATUS
                # In case it's a new form (inline formset won't
                # fill in the task in that case)
                subtask.task = curr_task
                subtask.save ()
            subtaskfs.save_m2m () # Necessary, since we used commit = False
            return redirect ('erp.tasks.views.display_portal',
                             owner_name = owner_name)
        else:
            # One or more Forms are invalid
            other_errors = True
    else:
        task_form = TaskForm (instance = curr_task)
        subtaskfs = SubTaskFormSet (instance = curr_task)
        template_form = subtaskfs.empty_form
    comments, comment_form, comment_status = handle_comment (
        request = request,
        is_task_comment = True,
        object_id = task_id,
        other_errors = other_errors)
    return render_to_response('tasks/edit_task.html',
                              locals(),
                              context_instance = global_context (request))
Esempio n. 43
0
def save(request):
    rank = None
    sid = request.POST.get('id')
    start = request.POST.get('start', 0)
    end = request.POST.get('end', 0)

    if int(start) > int(end):
        result = {"ret": 10000, "status": "failed", "msg": "评论间隔的开始时间不能大于结束时间"}
        return HttpResponse(json.dumps(result),
                            content_type="application/json")

    try:
        if sid:
            rank = Task.objects.get(id=sid)
            if rank.sync_flag == 1:
                result = {
                    "ret": 10000,
                    "status": "failed",
                    "msg": "任务已分配,无法进行修改!"
                }
                return HttpResponse(json.dumps(result),
                                    content_type="application/json")
    except Task.DoesNotExist:
        pass
    if rank:
        option = request.POST.get("option")
        # if int(option):
        #     accounts = Account.objects.filter(delflag=0, tag_id=request.POST.get('tag'), createuser_id=5)
        #     if accounts.count() == 0:
        #         result = {"ret": 10000, "status": "failed", "msg": "当前系统下没有买手号,请联系客服!"}
        #         return HttpResponse(json.dumps(result), content_type="application/json")
        #     integral = 100
        # else:
        #     accounts = Account.objects.filter(delflag=0, tag_id=request.POST.get('tag'), createuser_id=request.user.id,enable_review=0)
        #     if accounts.count() == 0:
        #         result = {"ret": 10000, "status": "failed", "msg": "当前账号下没有买手号!"}
        #         return HttpResponse(json.dumps(result), content_type="application/json")
        form = TaskForm(request.POST or None, instance=rank)
    else:
        option = request.POST.get("option")
        comment = request.POST.get(
            "comment"
        )  #.replace('∣', '|').replace("‘", "'").replace(',', ',').replace('|', '|')
        comments = comment.strip().strip('\r\n').split('\r\n')
        for com in comments:
            coms = com.split('|')
            if len(coms) != 2:
                result = {
                    "ret": 10000,
                    "status": "failed",
                    "msg": "请输入正确的评论格式(标点符号为英文符号),错误的评论为:%s" % com
                }
                return HttpResponse(json.dumps(result),
                                    content_type="application/json")
        total = request.POST.get('total')
        if int(total) > len(comments):
            result = {
                "ret": 10000,
                "status": "failed",
                "msg": "输入的评论总数大于设置的评论条数!"
            }
            return HttpResponse(json.dumps(result),
                                content_type="application/json")
        # if int(option):
        #     accounts = Account.objects.filter(delflag=0, tag_id=request.POST.get('tag'), createuser_id=5,enable_review=0)
        #     if accounts.count() == 0:
        #         result = {"ret": 10000, "status": "failed", "msg": "当前系统下没有买手号,请联系客服!"}
        #         return HttpResponse(json.dumps(result), content_type="application/json")
        integral = 100
        # else:
        #     accounts = Account.objects.filter(delflag=0, tag_id=request.POST.get('tag'), createuser_id=request.user.id)
        #     if accounts.count() == 0:
        #         result = {"ret": 10000, "status": "failed", "msg": "当前账号下没有买手号!"}
        #         return HttpResponse(json.dumps(result), content_type="application/json")
        #     discount = request.user.user_profile.discount
        #     integral = int(30 * (discount / 100.0))
        total_integral = integral * len(comments)
        if Profile.objects.get(
                user_id=request.user.id).integral < total_integral:
            result = {"ret": 10000, "status": "failed", "msg": "当前账号积分不足!"}
            return HttpResponse(json.dumps(result),
                                content_type="application/json")
        form = TaskForm(request.POST or None)
    if form.is_valid():
        instance = form.save(commit=False)
        instance.start = start
        instance.end = end
        if sid:
            instance.updateuser = request.user
        else:
            instance.createuser = request.user
        instance.save()
        # if sid:
        #     Log.objects.create(user_id=request.user.id, ctype=2, operation=1, desc=u"修改标签:" + name)
        # else:
        #     Log.objects.create(user_id=request.user.id, ctype=2, operation=0, desc=u"新增标签:" + name)
        result = {"ret": 0, "status": "success"}
        return HttpResponse(json.dumps(result),
                            content_type="application/json")
    else:
        msg = []
        if form.errors:
            for k, v in form.errors.iteritems():
                msg.append(v[0])
        return HttpResponse(json.dumps({
            "ret": 10000,
            "status": "error",
            "msg": '\n'.join(msg)
        }),
                            content_type="application/json")
Esempio n. 44
0
def edit_task(request, task_id=None, owner_name=None):
    """
    Edit existing Task.

    TODO :
    Do user validation (should have permission)
    Allow delete Task facility (?)
    Cancel Edit
    Save Draft
    """

    page_owner = get_page_owner(request, owner_name)
    user = request.user

    if task_id:
        # Existing Task
        curr_task = Task.objects.get(id=task_id)
        is_new_task = False
    else:
        # New Task
        curr_task = Task(creator=user)
        is_new_task = True

    other_errors = False
    task_doc_status = 'OK'

    # Simple test for autocomplete feature
    subject_data = []
    for task in Task.objects.all():
        subject_data.append(task.subject)
    # print 'Subject data : ', subject_data
    subject_data_js = simplejson.dumps(subject_data)

    SubTaskFormSet = inlineformset_factory(Task,
                                           SubTask,
                                           form=SubTaskForm,
                                           exclude=subtask_exclusion_tuple,
                                           extra=0,
                                           can_delete=True)
    # TagFormSet = modelformset_factory (Tag, extra = 1, can_delete = True,
    #                                    exclude = ('task',))
    # subtask_comments = []
    if request.method == 'POST':
        # Get the submitted formset

        subtaskfs = SubTaskFormSet(request.POST, instance=curr_task)
        template_form = subtaskfs.empty_form

        task_form = TaskForm(request.POST, instance=curr_task)
        if task_form.is_valid() and subtaskfs.is_valid():
            # if not is_new_task:
            #     tdfs, task_doc_status = handle_task_documents (
            #         request, owner_name, task_id, other_errors, only_validity = True)
            # if task_doc_status != 'Invalid':
            curr_task = task_form.save(commit=False)
            curr_task.save()
            print 'Task : ', curr_task

            comments, comment_form, comment_status = handle_comment(
                request=request, is_task_comment=True, object_id=task_id)

            # tagfs = TagFormSet (request.POST)
            # if tagfs.is_valid ():
            #     tags = tagfs.save (commit = False)
            #     for tag in tags:
            #         tag.save ()
            #         tag.task.add (curr_task)
            #     tagfs.save_m2m () # Necessary, since we used commit = False

            # st_comment_list = [handle_comment (request, False, form.instance.id) for form in subtaskfs]
            # if not is_new_task:
            tdfs, task_doc_status = handle_task_documents(
                request, owner_name, curr_task.id, other_errors=other_errors)

            # Only the filled forms will be stored in subtasks
            # Also, subtasks marked for deletion are deleted here.
            subtasks = subtaskfs.save(commit=False)
            for subtask in subtasks:
                print 'Subtask : ', subtask
                subtask.creator = user
                subtask.status = DEFAULT_STATUS
                # In case it's a new form (inline formset won't
                # fill in the task in that case)
                subtask.task = curr_task
                subtask.save()
            subtaskfs.save_m2m()  # Necessary, since we used commit = False

            return redirect('tasks.views.display_portal',
                            owner_name=owner_name)
        else:
            # One or more Forms are invalid
            other_errors = True
    else:
        task_form = TaskForm(instance=curr_task)

        subtaskfs = SubTaskFormSet(instance=curr_task)
        template_form = subtaskfs.empty_form
    print 'Template Form : ', template_form
    # if not is_new_task and task_doc_status != 'Invalid':
    tdfs, task_doc_status = handle_task_documents(request, owner_name, task_id,
                                                  other_errors)
    # tagfs = TagFormSet (queryset = Tag.objects.filter (task__id = task_id))
    comments, comment_form, comment_status = handle_comment(
        request=request,
        is_task_comment=True,
        object_id=task_id,
        other_errors=other_errors)
    return render_to_response('tasks/edit_task.html',
                              locals(),
                              context_instance=global_context(request))