Projet

Général

Profil

0003-time-exceptions-stay-on-exception-list-on-delete-190.patch

Lauréline Guérin, 04 novembre 2019 10:03

Télécharger (2,58 ko)

Voir les différences:

Subject: [PATCH 3/3] time exceptions: stay on exception list on delete
 (#19033)

 chrono/manager/views.py |  8 ++++++++
 tests/test_manager.py   | 16 +++++++++++++++-
 2 files changed, 23 insertions(+), 1 deletion(-)
chrono/manager/views.py
776 776
    template_name = 'chrono/manager_confirm_delete.html'
777 777
    model = TimePeriodException
778 778

  
779
    def get_success_url(self):
780
        referer = self.request.META.get('HTTP_REFERER')
781
        success_url = reverse('chrono-manager-time-period-exception-list', kwargs={'pk': self.desk.agenda_id})
782
        if success_url in referer:
783
            return success_url
784

  
785
        return super(TimePeriodExceptionDeleteView, self).get_success_url()
786

  
779 787

  
780 788
time_period_exception_delete = TimePeriodExceptionDeleteView.as_view()
781 789

  
tests/test_manager.py
1009 1009
    assert localtime(time_period_exception.end_datetime).strftime(dt_format) == tomorrow.replace(hour=16).strftime(dt_format)
1010 1010
    resp = resp.click(href='/manage/time-period-exceptions/%d/edit' % time_period_exception.id)
1011 1011
    resp = resp.click('Delete')
1012
    resp = resp.form.submit()
1012
    resp = resp.form.submit().follow()
1013 1013
    assert TimePeriodException.objects.count() == 0
1014
    assert resp.request.url.endswith('/manage/agendas/%d/settings' % agenda.pk)
1015

  
1016
    # stay on exception list
1017
    time_period_exception = TimePeriodException.objects.create(
1018
        label='Future Exception',
1019
        desk=desk,
1020
        start_datetime=now() + datetime.timedelta(days=1),
1021
        end_datetime=now() + datetime.timedelta(days=2))
1022
    resp = app.get('/manage/time-period-exceptions/%d/exception-list' % desk.pk)
1023
    resp = resp.click(href='/manage/time-period-exceptions/%d/delete' % time_period_exception.pk)
1024
    resp = resp.form.submit(
1025
        extra_environ={'HTTP_REFERER': str('/manage/time-period-exceptions/%d/exception-list' % desk.pk)}
1026
    ).follow()
1027
    assert resp.request.url.endswith('/manage/time-period-exceptions/%d/exception-list' % desk.pk)
1014 1028

  
1015 1029

  
1016 1030
def test_exception_list(app, admin_user):
1017
-