summaryrefslogtreecommitdiff
path: root/ishtar_common/widgets.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2018-05-31 19:24:28 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2018-05-31 19:24:28 +0200
commitf766f6a2a87b922ad367538c8436e185026c8ca1 (patch)
tree44312eee59680ac8674fa488fa1a17789ca2a3d3 /ishtar_common/widgets.py
parent255232a0186e5f8da1ec4ca32588ce84927b7640 (diff)
downloadIshtar-f766f6a2a87b922ad367538c8436e185026c8ca1.tar.bz2
Ishtar-f766f6a2a87b922ad367538c8436e185026c8ca1.zip
Widget: add a restore button on inadequate clean of a value
Diffstat (limited to 'ishtar_common/widgets.py')
-rw-r--r--ishtar_common/widgets.py41
1 files changed, 32 insertions, 9 deletions
diff --git a/ishtar_common/widgets.py b/ishtar_common/widgets.py
index ca4036f4c..ec3f8b011 100644
--- a/ishtar_common/widgets.py
+++ b/ishtar_common/widgets.py
@@ -411,16 +411,39 @@ class JQueryAutoComplete(forms.TextInput):
new = u'<span class="input-group-append">'\
u'<a href="#" class="add-button input-group-text" '\
u'onclick="open_window(\'%s\');">+</a></span></div>' % url_new
- html += u"""<input%(attrs_select)s/>%(new)s\
-<input type="hidden"%(attrs_hidden)s/>\
+
+ old_value = ""
+ if 'value' in attrs_select and attrs_select['value']:
+ old_value = u"""<span class='previous-value'>
+ <em>{}</em> <span id="{}">{}</span>
+ <button class="btn btn-secondary small-button" type="button"
+ id="{}">
+ <i class="fa fa-refresh" aria-hidden="true"></i>
+ </button>
+</span>""".format(
+ _(u"Previous value:"),
+ attrs_hidden['id'] + u"_previous_label",
+ attrs_select['value'],
+ attrs_hidden['id'] + u"_previous_button",
+ )
+ attrs_hidden_previous = attrs_hidden.copy()
+ attrs_hidden_previous['name'] += u"_previous"
+ attrs_hidden_previous['id'] += u"_previous"
+ old_value += u"<input type='hidden'{}>".format(
+ flatatt(attrs_hidden_previous))
+
+ html += u"""
+<input{attrs_select}/>{new}\
+<input type="hidden"{attrs_hidden}/>\
+{old_value}
<script type="text/javascript"><!--//
- %(js)s//--></script>
- """ % {
- 'attrs_select': flatatt(attrs_select),
- 'attrs_hidden': flatatt(attrs_hidden),
- 'js': self.render_js(name),
- 'new': new
- }
+ {js}//--></script>
+ """.format(
+ old_value=old_value,
+ attrs_select=flatatt(attrs_select),
+ attrs_hidden=flatatt(attrs_hidden),
+ js=self.render_js(name), new=new
+ )
return html