Commit 601f4803 by Bach Dániel

Merge branch 'issue-246' into 'master'

Operation result message doesn't disappear if with_reload
parents 126c44bc 1c151318
...@@ -186,18 +186,7 @@ $(function() { ...@@ -186,18 +186,7 @@ $(function() {
success: function(re, textStatus, xhr) { success: function(re, textStatus, xhr) {
/* remove the html element */ /* remove the html element */
$('a[data-interface-pk="' + data.pk + '"]').closest("div").fadeOut(); $('a[data-interface-pk="' + data.pk + '"]').closest("div").fadeOut();
location.reload();
/* add the removed element to the list */
network_select = $('select[name="new_network_vlan"]');
name_html = (re.removed_network.managed ? "": "") + " " + re.removed_network.vlan;
option_html = '<option value="' + re.removed_network.vlan_pk + '">' + name_html + '</option>';
// if it's -1 then it's a dummy placeholder so we can use .html
if($("option", network_select)[0].value === "-1") {
network_select.html(option_html);
network_select.next("div").children("button").prop("disabled", false);
} else {
network_select.append(option_html);
}
}, },
error: function(xhr, textStatus, error) { error: function(xhr, textStatus, error) {
addMessage('Uh oh :(', 'danger') addMessage('Uh oh :(', 'danger')
......
...@@ -518,6 +518,7 @@ class OperationView(RedirectToLoginMixin, DetailView): ...@@ -518,6 +518,7 @@ class OperationView(RedirectToLoginMixin, DetailView):
show_in_toolbar = True show_in_toolbar = True
effect = None effect = None
wait_for_result = None wait_for_result = None
with_reload = False
@property @property
def name(self): def name(self):
...@@ -660,11 +661,14 @@ class AjaxOperationMixin(object): ...@@ -660,11 +661,14 @@ class AjaxOperationMixin(object):
resp = super(AjaxOperationMixin, self).post( resp = super(AjaxOperationMixin, self).post(
request, extra, *args, **kwargs) request, extra, *args, **kwargs)
if request.is_ajax(): if request.is_ajax():
store = messages.get_messages(request) if not self.with_reload:
store.used = True store = messages.get_messages(request)
store.used = True
else:
store = []
return HttpResponse( return HttpResponse(
json.dumps({'success': True, json.dumps({'success': True,
'with_reload': getattr(self, 'with_reload', False), 'with_reload': self.with_reload,
'messages': [unicode(m) for m in store]}), 'messages': [unicode(m) for m in store]}),
content_type="application=json" content_type="application=json"
) )
...@@ -706,9 +710,8 @@ class FormOperationMixin(object): ...@@ -706,9 +710,8 @@ class FormOperationMixin(object):
return HttpResponse( return HttpResponse(
json.dumps({ json.dumps({
'success': True, 'success': True,
'with_reload': getattr(self, 'with_reload', False)}), 'with_reload': self.with_reload}),
content_type="application=json" content_type="application=json")
)
else: else:
return resp return resp
else: else:
...@@ -718,7 +721,7 @@ class FormOperationMixin(object): ...@@ -718,7 +721,7 @@ class FormOperationMixin(object):
class RequestFormOperationMixin(FormOperationMixin): class RequestFormOperationMixin(FormOperationMixin):
def get_form_kwargs(self): def get_form_kwargs(self):
val = super(FormOperationMixin, self).get_form_kwargs() val = super(RequestFormOperationMixin, self).get_form_kwargs()
val.update({'request': self.request}) val.update({'request': self.request})
return val return val
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment