|
@@ -1,14 +1,13 @@
|
|
|
from datetime import datetime
|
|
from datetime import datetime
|
|
|
-import json
|
|
|
|
|
|
|
|
|
|
from django.contrib.auth import logout, login, update_session_auth_hash
|
|
from django.contrib.auth import logout, login, update_session_auth_hash
|
|
|
from django.contrib.auth.decorators import login_required
|
|
from django.contrib.auth.decorators import login_required
|
|
|
from django.contrib.auth.forms import PasswordChangeForm
|
|
from django.contrib.auth.forms import PasswordChangeForm
|
|
|
from django.contrib.auth.models import User
|
|
from django.contrib.auth.models import User
|
|
|
-from django.core import serializers
|
|
|
|
|
from django.core.paginator import Paginator
|
|
from django.core.paginator import Paginator
|
|
|
-from django.http.response import HttpResponse, HttpResponseRedirect
|
|
|
|
|
|
|
+from django.http.response import HttpResponse
|
|
|
from django.shortcuts import render, get_object_or_404, redirect
|
|
from django.shortcuts import render, get_object_or_404, redirect
|
|
|
|
|
+from notifications.signals import notify
|
|
|
|
|
|
|
|
from main.forms import StoryForm, EpicForm, RegisterForm, ProfileForm, \
|
|
from main.forms import StoryForm, EpicForm, RegisterForm, ProfileForm, \
|
|
|
CommentForm, SprintForm
|
|
CommentForm, SprintForm
|
|
@@ -159,17 +158,27 @@ def story_delete(request, story_id):
|
|
|
story = get_object_or_404(Story, id=story_id)
|
|
story = get_object_or_404(Story, id=story_id)
|
|
|
return render(request, 'deletion.html', {'object': story})
|
|
return render(request, 'deletion.html', {'object': story})
|
|
|
|
|
|
|
|
-@login_required
|
|
|
|
|
-def story_close(request, story_id):
|
|
|
|
|
|
|
+def _story_close(request, story_id):
|
|
|
story = get_object_or_404(Story, id=story_id)
|
|
story = get_object_or_404(Story, id=story_id)
|
|
|
story.closed = True
|
|
story.closed = True
|
|
|
story.save()
|
|
story.save()
|
|
|
- return render(request, 'epic_details.html', {'epic': story.epic})
|
|
|
|
|
|
|
+
|
|
|
|
|
+# for u in story.assignees.all():
|
|
|
|
|
+# for u in story.assignees.filter(id != request.user.id):
|
|
|
|
|
+# notify.send(request.user,
|
|
|
|
|
+# recipient=u,
|
|
|
|
|
+# verb="Story clôturée",
|
|
|
|
|
+# action_object=story,
|
|
|
|
|
+# description="La story #{} a été clôturée".format(story.id))
|
|
|
|
|
+ return story
|
|
|
|
|
|
|
|
-def story_close_ajax(_, story_id):
|
|
|
|
|
- story = get_object_or_404(Story, id=story_id)
|
|
|
|
|
- story.closed = True
|
|
|
|
|
- story.save()
|
|
|
|
|
|
|
+@login_required
|
|
|
|
|
+def story_close(request, story_id):
|
|
|
|
|
+ story = _story_close(request, story_id)
|
|
|
|
|
+ return redirect('epic_details', story.epic.id)
|
|
|
|
|
+
|
|
|
|
|
+def story_close_ajax(request, story_id):
|
|
|
|
|
+ story = _story_close(request, story_id)
|
|
|
return HttpResponse(story.to_json())
|
|
return HttpResponse(story.to_json())
|
|
|
|
|
|
|
|
@login_required
|
|
@login_required
|
|
@@ -192,7 +201,7 @@ def story_reopen(_, story_id):
|
|
|
story = get_object_or_404(Story, id=story_id)
|
|
story = get_object_or_404(Story, id=story_id)
|
|
|
story.closed = False
|
|
story.closed = False
|
|
|
story.save()
|
|
story.save()
|
|
|
- return redirect('story_details.html', {'story_id': story_id})
|
|
|
|
|
|
|
+ return redirect('story_details', story_id)
|
|
|
|
|
|
|
|
@login_required
|
|
@login_required
|
|
|
def epic_details(request, epic_id):
|
|
def epic_details(request, epic_id):
|