back button

This commit is contained in:
Matthias 2021-06-06 17:43:16 +02:00
parent a535f8df42
commit 4f7edac213
2 changed files with 16 additions and 1 deletions

View File

@ -560,6 +560,14 @@ class FileManagementAjaxView(AjaxView):
""" """
def post(self, request): def post(self, request):
# check if back-step button was selected
wizard_back = self.request.POST.get('act-btn_back', None)
if wizard_back:
back_step_index = self.get_step_index() - 1
self.storage.current_step = list(self.get_form_list().keys())[back_step_index]
return self.renderJsonResponse(request, data={'form_valid': None})
# validate form
form = self.get_form(data=self.request.POST, files=self.request.FILES) form = self.get_form(data=self.request.POST, files=self.request.FILES)
form_valid = self.validate(self.steps.current, form) form_valid = self.validate(self.steps.current, form)
@ -596,7 +604,9 @@ class FileManagementAjaxView(AjaxView):
def get_data(self): def get_data(self):
data = super().get_data() data = super().get_data()
data['hideErrorMessage'] = '1' data['hideErrorMessage'] = '1' # hide the error
buttons = [{'name': 'back', 'title': _('Previous Step')}] if self.get_step_index() > 0 else []
data['buttons'] = buttons # set buttons
return data return data
def setTemplate(self): def setTemplate(self):

View File

@ -795,6 +795,11 @@ function handleModalForm(url, options) {
if (options.secondary) { if (options.secondary) {
attachSecondaries(modal, options.secondary); attachSecondaries(modal, options.secondary);
} }
if (response.buttons) {
// Clean custom action buttons
$(modal).find('#modal-footer-buttons').html('');
attachButtons(modal, response.buttons);
}
} }
else { else {
$(modal).modal('hide'); $(modal).modal('hide');