improve cancel label/milestone creation behaviour

This commit is contained in:
Élie Bouttier 2014-09-06 22:47:16 -07:00
parent f26483b41a
commit 9bbabd9c69
3 changed files with 24 additions and 8 deletions

View file

@ -30,7 +30,7 @@
{% csrf_token %} {% csrf_token %}
{% buttons %} {% buttons %}
<button type="submit" class="btn btn-primary">Submit</button> <button type="submit" class="btn btn-primary">Submit</button>
<a href="{% url 'list-label' project.name %}" class="btn btn-default">Cancel</a> <a href="{{ cancel }}" class="btn btn-default">Cancel</a>
{% endbuttons %} {% endbuttons %}
</form> </form>
</div> </div>

View file

@ -41,7 +41,7 @@
{% csrf_token %} {% csrf_token %}
{% buttons %} {% buttons %}
<button type="submit" class="btn btn-primary">Submit</button> <button type="submit" class="btn btn-primary">Submit</button>
<a href="{% url 'list-milestone' project.name %}" class="btn btn-default">Cancel</a> <a href="{{ cancel }}" class="btn btn-default">Cancel</a>
{% endbuttons %} {% endbuttons %}
</form> </form>

View file

@ -615,6 +615,9 @@ def label_edit(request, project, id=None):
label = get_object_or_404(Label, project=project, id=id) label = get_object_or_404(Label, project=project, id=id)
else: else:
label = None label = None
issue = request.GET.get('issue')
if issue:
issue = get_object_or_404(Issue, project=project, id=issue)
form = LabelForm(request.POST or None, instance=label) form = LabelForm(request.POST or None, instance=label)
@ -641,17 +644,22 @@ def label_edit(request, project, id=None):
label.save() label.save()
messages.success(request, 'Label added successfully.') messages.success(request, 'Label added successfully.')
issue = request.GET.get('issue')
if issue: if issue:
return redirect('add-label-to-issue', project.name, return redirect('add-label-to-issue',
issue, label.id) project.name, issue.id, label.id)
return redirect('list-label', project.name) return redirect('list-label', project.name)
if issue:
cancel = reverse('show-issue', args=[project.name, issue.id])
else:
cancel = reverse('list-label', args=[project.name])
c = { c = {
'project': project, 'project': project,
'form': form, 'form': form,
'label': label, 'label': label,
'cancel': cancel,
} }
return render(request, 'tracker/label_edit.html', c) return render(request, 'tracker/label_edit.html', c)
@ -705,6 +713,9 @@ def milestone_edit(request, project, name=None):
milestone = get_object_or_404(Milestone, project=project, name=name) milestone = get_object_or_404(Milestone, project=project, name=name)
else: else:
milestone = None milestone = None
issue = request.GET.get('issue')
if issue:
issue = get_object_or_404(Issue, project=project, id=issue)
form = MilestoneForm(request.POST or None, instance=milestone) form = MilestoneForm(request.POST or None, instance=milestone)
@ -740,17 +751,22 @@ def milestone_edit(request, project, name=None):
milestone.save() milestone.save()
messages.success(request, 'Milestone added successfully.') messages.success(request, 'Milestone added successfully.')
issue = request.GET.get('issue')
if issue: if issue:
return redirect('add-milestone-to-issue', project.name, issue, return redirect('add-milestone-to-issue',
milestone.name) project.name, issue.id, milestone.name)
return redirect('list-milestone', project.name) return redirect('list-milestone', project.name)
if issue:
cancel = reverse('show-issue', args=[project.name, issue.id])
else:
cancel = reverse('list-milestone', args=[project.name])
c = { c = {
'project': project, 'project': project,
'form': form, 'form': form,
'milestone': milestone, 'milestone': milestone,
'cancel': cancel,
} }
return render(request, 'tracker/milestone_edit.html', c) return render(request, 'tracker/milestone_edit.html', c)