aboutsummaryrefslogtreecommitdiff
path: root/snakeplan/projects/views/projects.py
diff options
context:
space:
mode:
Diffstat (limited to 'snakeplan/projects/views/projects.py')
-rw-r--r--snakeplan/projects/views/projects.py55
1 files changed, 35 insertions, 20 deletions
diff --git a/snakeplan/projects/views/projects.py b/snakeplan/projects/views/projects.py
index 8fb68c8..ca61cf5 100644
--- a/snakeplan/projects/views/projects.py
+++ b/snakeplan/projects/views/projects.py
@@ -1,34 +1,49 @@
1# vim: set filencoding=utf8
2"""
3Project Views
4
5@author: Mike Crute (mcrute@gmail.com)
6@organization: SoftGroup Interactive, Inc.
7@date: July 10, 2010
8"""
9
10# Licensed under the Apache License, Version 2.0 (the "License");
11# you may not use this file except in compliance with the License.
12# You may obtain a copy of the License at
13#
14# http://www.apache.org/licenses/LICENSE-2.0
15#
16# Unless required by applicable law or agreed to in writing, software
17# distributed under the License is distributed on an "AS IS" BASIS,
18# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19# See the License for the specific language governing permissions and
20# limitations under the License.
21
1from django.views.generic import list_detail, create_update 22from django.views.generic import list_detail, create_update
2from django.core.urlresolvers import reverse 23from django.core.urlresolvers import reverse
3 24
4from snakeplan.projects.models import Project 25from ..models import Project, Iteration
5from snakeplan.projects.models import Iteration
6from snakeplan.projects.forms import ProjectForm
7
8 26
9 27
10def index(request): 28def index(request):
11 return list_detail.object_list( 29 return list_detail.object_list(request,
12 request=request, 30 queryset=Project.objects.order_by('-active', 'name').all())
13 queryset=Project.objects.order_by('-active', 'name').all(),
14 allow_empty=True
15 )
16 31
17 32
18def project_iterations(request, project_id): 33def project_iterations(request, project_id):
19 project = Project.objects.get(id=project_id) 34 project = Project.objects.get(id=project_id)
20 iterations = project.iteration_set.all()
21 35
22 return list_detail.object_list( 36 return list_detail.object_list(request,
23 request=request, 37 extra_context={'project_name': project.name },
24 queryset=iterations, 38 queryset=project.iteration_set.all())
25 extra_context={'project_name': project},
26 allow_empty=True
27 )
28 39
29 40
30def create_project(request): 41def create_project(request):
31 post_save_redirect = '/project/%(id)s/' 42 return create_update.create_object(request, model=Project,
32 return create_update.create_object(request, 43 post_save_redirect=reverse('project-list'))
33 form_class=ProjectForm, 44
34 post_save_redirect=post_save_redirect) 45
46def update_project(request, project_id):
47 return create_update.update_object(request, model=Project,
48 object_id=project_id,
49 post_save_redirect=reverse('project-list'))