propose/unpropose
This commit is contained in:
parent
1180842c66
commit
fb8abc91c6
3 changed files with 57 additions and 3 deletions
|
@ -13,10 +13,28 @@
|
|||
</h3>
|
||||
<form method="post" action="{{ request.path }}">
|
||||
{% csrf_token %}
|
||||
<p class="text-muted">{{ created }}{% if changeset.author %} {{ changeset.author.username }}{% endif %}</p>
|
||||
<p class="text-muted">
|
||||
{{ created }}{% if changeset.author %} {{ changeset.author.username }}{% endif %}
|
||||
{% if changeset.proposed %}
|
||||
<br>{% with date=changeset.proposed|date:"DATETIME_FORMAT" %}{% blocktrans %}proposed at {{ date }}{% endblocktrans %}{% endwith %}
|
||||
{% endif %}
|
||||
</p>
|
||||
{% if changeset.description %}
|
||||
<p>{{ changeset.description }}</p>
|
||||
{% endif %}
|
||||
{% if changeset.author == request.user %}
|
||||
{% if changeset.proposed and not changeset.applied %}
|
||||
{% if not changeset.assigned_to %}
|
||||
<p class="text-success">
|
||||
{% blocktrans %}Your changes are currently waiting for review. As long as no reviewer has been assigned to your changes, you can still unpropose and edit them.{% endblocktrans %}
|
||||
</p>
|
||||
{% else %}
|
||||
<p class="text-success">
|
||||
{% blocktrans %}Your changes are currently being reviewed.{% endblocktrans %}
|
||||
</p>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% bootstrap_messages %}
|
||||
|
||||
|
@ -64,7 +82,12 @@
|
|||
{% if can_edit %}
|
||||
<a href="{% url 'editor.changesets.edit' pk=changeset.pk %}" class="btn btn-default">{% trans 'Edit' %}</a>
|
||||
{% endif %}
|
||||
<button type="submit" class="btn btn-primary" name="propose" value="1">{% trans 'Propose' %}</button>
|
||||
{% if can_edit and not changeset.proposed %}
|
||||
<button type="submit" class="btn btn-primary" name="propose" value="1">{% trans 'Propose' %}</button>
|
||||
{% endif %}
|
||||
{% if can_unpropose %}
|
||||
<button type="submit" class="btn btn-default" name="unpropose" value="1">{% trans 'Unpropose' %}</button>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endbuttons %}
|
||||
</form>
|
||||
|
|
|
@ -4,6 +4,8 @@
|
|||
{% include 'editor/fragment_modal_close.html' %}
|
||||
<h3>{% trans 'Log in' %}</h3>
|
||||
|
||||
{% bootstrap_messages %}
|
||||
|
||||
<form method="post" action="{{ request.path_info }}?{{ request.GET.urlencode }}">
|
||||
{% csrf_token %}
|
||||
{% bootstrap_form form %}
|
||||
|
|
|
@ -4,8 +4,10 @@ from operator import itemgetter
|
|||
from django.conf import settings
|
||||
from django.contrib import messages
|
||||
from django.core.exceptions import PermissionDenied
|
||||
from django.http import Http404
|
||||
from django.shortcuts import get_object_or_404, redirect, render
|
||||
from django.urls import reverse
|
||||
from django.utils import timezone
|
||||
from django.utils.formats import date_format
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
|
@ -39,7 +41,33 @@ def changeset_detail(request, pk):
|
|||
if changed_object.deleted:
|
||||
changed_object.deleted = False
|
||||
changed_object.save(standalone=True)
|
||||
messages.success(request, _('Object has been successfully restored!'))
|
||||
messages.success(request, _('Object has been successfully restored.'))
|
||||
|
||||
return redirect(reverse('editor.changesets.detail', kwargs={'pk': changeset.pk}))
|
||||
|
||||
elif request.POST.get('propose') == '1':
|
||||
if not request.user.is_authenticated:
|
||||
messages.info(request, _('You need to log in to propose changes.'))
|
||||
return redirect(reverse('editor.login')+'?redirect='+request.path)
|
||||
|
||||
if changeset.can_propose(request):
|
||||
changeset.proposed = timezone.now()
|
||||
changeset.session_id = None
|
||||
changeset.save()
|
||||
messages.success(request, _('You proposed your changes.'))
|
||||
else:
|
||||
messages.error(request, _('You cannot propose this changeset.'))
|
||||
|
||||
return redirect(reverse('editor.changesets.detail', kwargs={'pk': changeset.pk}))
|
||||
|
||||
elif request.POST.get('unpropose') == '1':
|
||||
if changeset.can_unpropose(request):
|
||||
changeset.proposed = None
|
||||
changeset.session_id = None
|
||||
changeset.save()
|
||||
messages.success(request, _('You unproposed your changes.'))
|
||||
else:
|
||||
messages.error(request, _('You cannot unpropose this changeset.'))
|
||||
|
||||
return redirect(reverse('editor.changesets.detail', kwargs={'pk': changeset.pk}))
|
||||
|
||||
|
@ -228,6 +256,7 @@ def changeset_detail(request, pk):
|
|||
'created': created,
|
||||
'can_edit': can_edit,
|
||||
'can_delete': can_delete,
|
||||
'can_unpropose': changeset.can_unpropose(request),
|
||||
'changed_objects': changed_objects_data,
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue