Ability to edit bugs.
diff --git a/mgmt/views.py b/mgmt/views.py
index 8ed2c70..21da2fd 100644
--- a/mgmt/views.py
+++ b/mgmt/views.py
@@ -178,14 +178,34 @@ def one_bug(request,id):
form = CommentForm()
else:
form = None
+ if can(request.user,'edit',bug):
+ edit_link = '/bugs/%s/edit/' % bug.id
+ else:
+ edit_link = None
return render_it('bug.html',
{'bug': bug,
'change_state': state_form,
+ 'edit_link': edit_link,
'project': bug.project,
'comments': comments,
'form': form},
request)
+def edit_bug(request,id):
+ bug = Bug.objects.get(pk=id)
+ if request.method=='POST':
+ name = request.POST['name']
+ text = request.POST['text']
+ bug.name = name
+ bug.text = text
+ bug.save()
+ form = BugForm(dict(name=bug.name, text=bug.text))
+ return render_it('edit_bug.html',
+ {'project': bug.project,
+ 'bug': bug,
+ 'form': form},
+ request)
+
def create_document(request,pid):
msg = ""
project = Project.objects.get(pk=pid)
diff --git a/templates/bug_body.html b/templates/bug_body.html
index 2ab1b5b..ce312f6 100644
--- a/templates/bug_body.html
+++ b/templates/bug_body.html
@@ -1,6 +1,9 @@
{% load prj_filters %}
<div class='bug bug-state-{{bug.status.id}}'>
<h3><a href='/bugs/{{bug.id}}/'>Баг #{{bug.id}}: {{bug.name}}</a></h3>
+ {% if edit_link %}
+ <div class='links'><a href='{{edit_link}}'>Изменить</a></div>
+ {% endif %}
<div class='project-link'>{{project|link|safe}}</div>
<p>{{bug.text}}</p>
</div>
diff --git a/templates/edit_bug.html b/templates/edit_bug.html
new file mode 100644
index 0000000..1e6fe87
--- /dev/null
+++ b/templates/edit_bug.html
@@ -0,0 +1,15 @@
+{% extends "base.html" %}
+
+{% block title %}Редактировать баг #{{bug.id}}{% endblock %}
+
+{% block main %}
+
+<h2>Редактировать баг #{{bug.id}}</h2>
+<div class='links'><a href='/bugs/{{bug.id}}/'>Посмотреть</a></div>
+
+<form action='.' method='post'>
+ {{form.as_p}}
+ <input type='submit'/>
+</form>
+
+{% endblock %}
diff --git a/urls.py b/urls.py
index 577a30e..0f8f5a4 100644
--- a/urls.py
+++ b/urls.py
@@ -9,6 +9,7 @@ urlpatterns = patterns('',
(r'^docs/(\d+)/$', "mgmt.views.one_document"),
(r'^docs/(\d+)/edit/$', "mgmt.views.edit_document"),
(r'^bugs/(\d+)/$', "mgmt.views.one_bug"),
+ (r'^bugs/(\d+)/edit/$', "mgmt.views.edit_bug"),
(r'^bugs/$', "mgmt.views.all_bugs"),
(r'^create/doc/(\d+)/$', "mgmt.views.create_document"),