Created redirection view to make "Maraudes>Compte-rendu" link working everywhere

This commit is contained in:
agerbaud
2017-07-20 14:59:47 +02:00
parent 9d95266fad
commit 7b8f977f59
3 changed files with 19 additions and 14 deletions

View File

@@ -6,22 +6,12 @@
Tableau de bord
</a>
</li>
<li role="presentation" {% active namespace="maraudes" viewname="create" %}
{% if not prochaine_maraude.date == date %} class="disabled">
<a href="#">
<li role="presentation" {% active namespace="maraudes" viewname="create" %}>
<a href="{% url "maraudes:cr-link" %}">
<span class="glyphicon glyphicon-pencil"></span>&nbsp;
Compte-rendu
</a>
</li> {% else %}>
<a href="{% if prochaine_maraude.est_terminee %}
{% url 'notes:details-maraude' pk=prochaine_maraude.pk %}
{%else%}
{% url 'maraudes:create' pk=prochaine_maraude.pk %}
{% endif %}">
<span class="glyphicon glyphicon-pencil"></span>&nbsp;
Compte-rendu
</a>
</li> {% endif %}
</li>
<li role="presentation" {% active namespace="maraudes" viewname="planning" %}>
<a href="{% url "maraudes:planning" %}">
<span class="glyphicon glyphicon-calendar"></span>&nbsp;

View File

@@ -6,6 +6,7 @@ from . import views
urlpatterns = [
url(r'^$', views.IndexView.as_view(), name="index"),
url(r'^compte-rendu$', views.redirect_to_current_compterendu, name="cr-link"),
url(r'^planning/$', views.PlanningView.as_view(), name="planning"),
url(r'^lieu/create/$', views.LieuCreateView.as_view(), name="lieu-create"),
url(r'^(?P<pk>[0-9]+)/create/$', views.CompteRenduCreateView.as_view(), name="create"),

View File

@@ -67,8 +67,22 @@ class IndexView(NoteFormMixin, MaraudeurMixin, generic.TemplateView):
return context
## COMPTE-RENDU DE MARAUDE
def redirect_to_current_compterendu(request):
prochaine_maraude = Maraude.objects.get_next_of(request.user)
current_date = timezone.localtime(timezone.now()).date()
if not prochaine_maraude.date == current_date:
return redirect("maraudes:index")
kwargs = {'pk': prochaine_maraude.pk}
if not prochaine_maraude.est_terminee():
return redirect("maraudes:create", **kwargs)
else:
return redirect("notes:details-maraude", **kwargs)
class CompteRenduCreateView(MaraudeurMixin, generic.DetailView):
""" Vue pour la création d'un compte-rendu de maraude """