def index(request, project_id): t = 'projects/time/index.html' response_vars = { } project = Project.objects.get(id=project_id) time_list = Time.objects.filter(project=project) if request.method == 'POST': form = TimeForm(request.POST) if form.is_valid(): time = form.save(commit=False) time.project_id = project_id time.save() else: time = Time() time.person = request.user time.date = datetime.now().date form = TimeForm(instance=time) response_vars['project'] = project response_vars['form'] = form response_vars['time_list'] = time_list response_vars['total_time'] = time_list.aggregate(Sum('time')) return render_project(request, project_id, t, response_vars)
def membership_add(request, project_id, member_id=False): """ Shows latest activity and other usefull info """ t = 'projects/project/membership_form.html' response_vars = {} project = Project.objects.get(id=project_id) if member_id: member = Membership.objects.get(id=member_id) form = MembershipForm(instance=member) else: member = Membership() form = MembershipForm() if request.method == 'POST': form = MembershipForm(request.POST) if form.is_valid(): membership = form.save(commit=False) membership.project = project membership.save() return HttpResponseRedirect(reverse('project_people', args=[project.id])) response_vars['form'] = form response_vars['member'] = member response_vars['project'] = project return render_project(request, project_id, t, response_vars)
def dashboard(request,project_id): """ Shows latest activity and other usefull info """ t = 'projects/dashboard.html' response_vars = {} return render_project(request, project_id, t, response_vars)
def index(request,project_id): t = 'projects/message/index.html' response_vars = { } project = Project.objects.get(id=project_id) response_vars['project'] = project response_vars['messages'] = Message.objects.filter(project=project) return render_project(request, project_id, t, response_vars)
def save(request, project_id, time_id=False): """ Shows latest activity and other usefull info """ t = 'projects/time/form.html' response_vars = {} project = Project.objects.get(id=project_id) task = None if time_id: time = Time.objects.get(id=time_id) form = TimeForm(instance=time) parent = time.parent else: time = Time() form = TimeForm() if request.POST.has_key('task_id') and request.POST['task_id']: task = Task.objects.get(id=request.POST['task_id']) else: if request.GET.has_key('task') and request.GET['task']: task = Task.objects.get(id=request.GET['task']) if request.method == 'POST': form = TimeForm(request.POST) if form.is_valid(): if time_id: form = TimeForm(request.POST, instance=Time.objects.get(id=time_id)) time = form.save(commit=False) else: time = form.save(commit=False) time.project = project time.content_object = task time.person = request.user time.save() if task: return HttpResponseRedirect(reverse('task_detail', args=[project.id, task.id])) return HttpResponseRedirect(reverse('projects.views.time.index', args=[project.id])) response = { } response_vars['request'] = request response_vars['project'] = project response_vars['form'] = form response_vars['time'] = time response_vars['task'] = task return render_project(request, project_id, t, response_vars)
def index(request, project_id): t = 'projects/issue/index.html' response_vars = { } project = Project.objects.get(id=project_id) issue_list = Issue.objects.filter(project=project) response_vars['project'] = project response_vars['issue_list'] = issue_list return render_project(request, project_id, t, response_vars)
def detail(request, project_id, task_id): """ Shows latest activity and other usefull info """ t = 'projects/task/detail.html' response_vars = {} project = Project.objects.get(id=project_id) task = get_object_or_404(Task, pk=task_id) response_vars['task'] = task return render_project(request, project_id, t, response_vars)
def people(request,project_id): """ Shows latest activity and other usefull info """ t = 'projects/project/people.html' response_vars = {} project = Project.objects.get(id=project_id) response_vars['members'] = Membership.objects.filter(project=project).select_related() response_vars['roles'] = Role.objects.all() response_vars['project'] = project return render_project(request, project_id, t, response_vars)
def save(request, project_id, task_id=False): """ Shows latest activity and other usefull info """ t = 'projects/task/form.html' response_vars = {} project = Project.objects.get(id=project_id) parent = None kwargs = {} kwargs['project'] = project if task_id: task = Task.objects.get(id=task_id) form = TaskForm(instance=task) parent = task.parent else: task = Task() form = TaskForm(**kwargs) if request.GET.has_key('parent') and request.GET['parent']: parent = Task.objects.get(id=request.GET['parent']) if request.method == 'POST': form = TaskForm(request.POST, **kwargs) if form.is_valid(): if task_id: form = TaskForm(request.POST, instance=Task.objects.get(id=task_id)) task = form.save(commit=False) else: task = form.save(commit=False) task.project = project task.parent = parent task.assignor = request.user task.save() return HttpResponseRedirect(reverse('projects.views.task.index', args=[project.id])) response = { } response_vars['request'] = request response_vars['project'] = project response_vars['form'] = form response_vars['task'] = task response_vars['parent'] = parent return render_project(request, project_id, t, response_vars)
def save(request, project_id, issue_id=False): """ Shows latest activity and other usefull info """ t = 'projects/issue/form.html' response_vars = {} project = Project.objects.get(id=project_id) task = None if issue_id: issue = Issue.objects.get(id=issue_id) form = IssueForm(instance=issue) else: issue = Issue() form = IssueForm() if request.method == 'POST': form = IssueForm(request.POST) if form.is_valid(): if issue_id: form = IssueForm(request.POST, instance=Issue.objects.get(id=issue_id)) issue = form.save(commit=False) else: issue = form.save(commit=False) issue.project = project issue.person = request.user issue.save() if task: return HttpResponseRedirect(reverse('task_detail', args=[project.id, task.id])) return HttpResponseRedirect(reverse('projects.views.issue.index', args=[project.id])) response = { } response_vars['request'] = request response_vars['project'] = project response_vars['form'] = form response_vars['issue'] = issue response_vars['task'] = task return render_project(request, project_id, t, response_vars)
def index(request,project_id): t = 'projects/task/index.html' response_vars = {} project = Project.objects.get(id=project_id) milestones = Milestone.objects.filter(project=project).order_by('end_date') milestone_list = [] for milestone in milestones: if milestone.task_set.all(): milestone_list.append(milestone) response_vars['project'] = Project.objects.get(id=project_id) response_vars['milestones'] = milestone_list return render_project(request, project_id, t, response_vars)
def save(request, project_id, milestone_id=False): """ Shows latest activity and other usefull info """ t = 'projects/milestone/form.html' response_vars = {} project = Project.objects.get(id=project_id) if milestone_id: milestone = Milestone.objects.get(id=milestone_id) form = MilestoneForm(instance=milestone) else: milestone = Milestone() form = MilestoneForm() if request.method == 'POST': form = MilestoneForm(request.POST) if form.is_valid() and milestone_id: milestone = Milestone.objects.get(id=milestone_id) tmp_milestone = form.save(commit=False) milestone.title = tmp_milestone.title milestone.end_date = tmp_milestone.end_date milestone.completed = tmp_milestone.completed milestone.save() return HttpResponseRedirect(reverse('projects.views.milestone.index', args=[project.id])) elif form.is_valid(): milestone = form.save(commit=False) milestone.project = project milestone.user = request.user if milestone_id: milestone.id = milestone_id milestone.save() return HttpResponseRedirect(reverse('projects.views.milestone.index', args=[project.id])) response_vars['form'] = form response_vars['milestone'] = milestone response_vars['project'] = project return render_project(request, project_id, t, response_vars)
def save(request, project_id, message_id=False): t = 'projects/message/form.html' response_vars = { } project = Project.objects.get(id=project_id) if message_id: message = Message.objects.get(id=message_id) form = MessageForm(instance=message) else: message = Message() form = MessageForm() if request.method == 'POST': form = MessageForm(request.POST) if form.is_valid() and message_id: message = Message.objects.get(id=message_id) tmp_message = form.save(commit=False) message.title = tmp_message.title message.start_date = tmp_message.start_date message.end_date = tmp_message.end_date message.completed = tmp_message.completed message.save() return HttpResponseRedirect(reverse('projects.views.message.index', args=[project.id])) elif form.is_valid(): message = form.save(commit=False) message.project = project message.user = request.user if message_id: message.id = message_id message.save() return HttpResponseRedirect(reverse('projects.views.message.index', args=[project.id])) response_vars['form'] = form response_vars['message'] = message response_vars['project'] = project return render_project(request, project_id, t, response_vars)
def details(request, project_id, message_id): t = 'projects/message/details.html' response_vars = { } project = Project.objects.get(id=project_id) message = Message.objects.get(id=message_id) if request.method == 'POST': comment_form = CommentForm(data=request.POST) if comment_form.is_valid(): message.comments.create(comment = comment_form.cleaned_data["comment"], user=request.user) return HttpResponseRedirect(reverse('projects.views.message.details', args=[unicode(project.id), message_id])) else: comment_form = CommentForm() response_vars['message'] = message response_vars['comment_form'] = comment_form response_vars['comments'] = message.comments.all().order_by("-created") return render_project(request, project_id, t, response_vars)
def delete(request, project_id): t = 'projects/issue/delete.html' response_vars = { } return render_project(request, project_id, t, response_vars)