summaryrefslogtreecommitdiff
path: root/ishtar_common/forms_common.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2019-09-10 20:49:13 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2019-09-10 20:49:13 +0200
commit8f18e7aa3ef8750faaf8c4cd136827555fdf66e4 (patch)
tree45f1d910b67a30e44015735581ec9cdc6db51cdf /ishtar_common/forms_common.py
parent3d630a998043a9a6a9d61d42f3394b121f045431 (diff)
downloadIshtar-8f18e7aa3ef8750faaf8c4cd136827555fdf66e4.tar.bz2
Ishtar-8f18e7aa3ef8750faaf8c4cd136827555fdf66e4.zip
QA: lock/unlock (sites, operations, context records, finds, containers, warehouses)
Diffstat (limited to 'ishtar_common/forms_common.py')
-rw-r--r--ishtar_common/forms_common.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/ishtar_common/forms_common.py b/ishtar_common/forms_common.py
index 93e1839f0..dd55f95b4 100644
--- a/ishtar_common/forms_common.py
+++ b/ishtar_common/forms_common.py
@@ -1378,6 +1378,27 @@ class QADocumentFormMulti(QAForm):
]
+class QALockForm(forms.Form):
+ action = forms.ChoiceField(
+ label=_("Action"), choices=(('lock', _("Lock")),
+ ('unlock', _("Unlock"))))
+
+ def __init__(self, *args, **kwargs):
+ self.items = kwargs.pop('items')
+ super(QALockForm, self).__init__(*args, **kwargs)
+
+ def save(self, items, user):
+ locked = self.cleaned_data["action"] == "lock"
+ for item in items:
+ item.locked = locked
+ if locked:
+ item.lock_user = user
+ else:
+ item.lock_user = None
+ item.skip_history_when_saving = True
+ item.save()
+
+
class SourceDeletionForm(FinalForm):
confirm_msg = " "
confirm_end_msg = _(u"Would you like to delete this documentation?")