diff --git a/issues/forms.py b/issues/forms.py
new file mode 100644
index 0000000..c7c5dc9
--- /dev/null
+++ b/issues/forms.py
@@ -0,0 +1,9 @@
+from django.forms import ModelForm
+
+from .models import Issue
+
+
+class IssueForm(ModelForm):
+ class Meta:
+ model = Issue
+ fields = ['project', 'title', 'text']
diff --git a/issues/templates/issues/index.html b/issues/templates/issues/index.html
index bcf3760..c109698 100644
--- a/issues/templates/issues/index.html
+++ b/issues/templates/issues/index.html
@@ -8,4 +8,6 @@
{% else %}
No issues.
-{% endif %}
\ No newline at end of file
+{% endif %}
+
+Create new issue
diff --git a/issues/templates/issues/new.html b/issues/templates/issues/new.html
new file mode 100644
index 0000000..e9b9899
--- /dev/null
+++ b/issues/templates/issues/new.html
@@ -0,0 +1,15 @@
+Create new issue
+
+{% if error_message %}{{ error_message }}
{% endif %}
+
+
diff --git a/issues/urls.py b/issues/urls.py
index 93ae9ac..323d620 100644
--- a/issues/urls.py
+++ b/issues/urls.py
@@ -5,5 +5,6 @@ from . import views
app_name = 'issues'
urlpatterns = [
path('', views.index, name='index'),
+ path('new', views.new, name='new'),
path('/', views.detail, name='detail'),
]
diff --git a/issues/views.py b/issues/views.py
index b6d463a..0c43bcc 100644
--- a/issues/views.py
+++ b/issues/views.py
@@ -1,5 +1,7 @@
+from django.http import HttpResponseRedirect
from django.shortcuts import get_object_or_404, render
+from .forms import IssueForm
from .models import Issue
@@ -15,3 +17,17 @@ def detail(request, issue_id):
return render(request, 'issues/detail.html', {
'issue': issue,
})
+
+
+def new(request):
+ if request.method == 'POST':
+ form = IssueForm(request.POST)
+ if form.is_valid():
+ new_issue = form.save()
+ return HttpResponseRedirect('/issues/{}'.format(new_issue.id))
+ else:
+ form = IssueForm()
+
+ return render(request, 'issues/new.html', {
+ 'form': form,
+ })
diff --git a/projects/models.py b/projects/models.py
index c6ba458..9345b06 100644
--- a/projects/models.py
+++ b/projects/models.py
@@ -7,4 +7,4 @@ class Project(models.Model):
description = models.TextField(blank=True)
def __str__(self):
- return self.name
+ return '{} - {}'.format(self.project_key, self.name)
diff --git a/projects/urls.py b/projects/urls.py
index d53296a..7be94af 100644
--- a/projects/urls.py
+++ b/projects/urls.py
@@ -5,5 +5,5 @@ from . import views
app_name = 'projects'
urlpatterns = [
path('', views.index, name='index'),
- path('/', views.view, name='view'),
+ path('/', views.view, name='view'),
]