From 38736d1ff45b6a06c0515b683cdc47e0687abf2e Mon Sep 17 00:00:00 2001 From: David Stanek Date: Sat, 20 Feb 2010 23:39:33 -0500 Subject: initial implementation of a project creation form --- snakeplan/projects/forms.py | 9 +++++++++ snakeplan/projects/urls.py | 5 +++-- snakeplan/projects/views/projects.py | 17 ++++++++++++++--- snakeplan/settings.py | 5 +++++ snakeplan/templates/projects/project_form.html | 13 +++++++++++++ 5 files changed, 44 insertions(+), 5 deletions(-) create mode 100644 snakeplan/projects/forms.py create mode 100644 snakeplan/templates/projects/project_form.html diff --git a/snakeplan/projects/forms.py b/snakeplan/projects/forms.py new file mode 100644 index 0000000..a218394 --- /dev/null +++ b/snakeplan/projects/forms.py @@ -0,0 +1,9 @@ +from django.forms import ModelForm + +import models as project_models + + +class ProjectForm(ModelForm): + + class Meta: + model = project_models.Project diff --git a/snakeplan/projects/urls.py b/snakeplan/projects/urls.py index 46c10a4..6aec48a 100644 --- a/snakeplan/projects/urls.py +++ b/snakeplan/projects/urls.py @@ -1,9 +1,10 @@ -from django.conf.urls.defaults import patterns +from django.conf.urls.defaults import patterns, url urlpatterns = patterns('snakeplan.projects.views', (r'^$', 'projects.index'), (r'^story/(.*)/', 'stories.index'), (r'^iteration/(.*)/', 'iterations.index'), - (r'^(.*)/', 'projects.project_iterations'), + (r'^create/', 'projects.create_project'), + url(r'^(.*)/', 'projects.project_iterations', name='project_iterations'), ) diff --git a/snakeplan/projects/views/projects.py b/snakeplan/projects/views/projects.py index 78de64c..7cc4017 100644 --- a/snakeplan/projects/views/projects.py +++ b/snakeplan/projects/views/projects.py @@ -1,6 +1,10 @@ -from django.views.generic import list_detail +from django.views.generic import list_detail, create_update +from django.core.urlresolvers import reverse + from snakeplan.projects.models import Project from snakeplan.projects.models import Iteration +from snakeplan.projects.forms import ProjectForm + def index(request): @@ -12,8 +16,8 @@ def index(request): def project_iterations(request, project_id): - iterations = Iteration.objects.filter(project=project_id) - project = iterations[0].project + project = Project.objects.get(id=project_id) + iterations = project.iteration_set.all() return list_detail.object_list( request=request, @@ -21,3 +25,10 @@ def project_iterations(request, project_id): extra_context={'project_name': project}, allow_empty=True ) + + +def create_project(request): + post_save_redirect = '/project/%(id)s/' + return create_update.create_object(request, + form_class=ProjectForm, + post_save_redirect=post_save_redirect) diff --git a/snakeplan/settings.py b/snakeplan/settings.py index 6da9ec1..0a9d681 100755 --- a/snakeplan/settings.py +++ b/snakeplan/settings.py @@ -1,3 +1,7 @@ +import os.path + +PROJECT_DIR = os.path.abspath(os.path.dirname(__file__)) + DEBUG = True TEMPLATE_DEBUG = DEBUG @@ -43,6 +47,7 @@ MIDDLEWARE_CLASSES = ( ROOT_URLCONF = 'snakeplan.urls' TEMPLATE_DIRS = ( + os.path.join(PROJECT_DIR, 'templates'), ) INSTALLED_APPS = ( diff --git a/snakeplan/templates/projects/project_form.html b/snakeplan/templates/projects/project_form.html new file mode 100644 index 0000000..9f91f87 --- /dev/null +++ b/snakeplan/templates/projects/project_form.html @@ -0,0 +1,13 @@ + + +OH: oh shit, i just added templates to the old directory + + +
+ + +
+ + -- cgit v1.2.3