diff options
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 |
commit | 3dae10a792d49d685debfe52eb7d61b9a6dc93f9 (patch) | |
tree | 45f1d910b67a30e44015735581ec9cdc6db51cdf /ishtar_common/forms_common.py | |
parent | 58178a04b3e716a063b1c457018aafe28e5107dd (diff) | |
download | Ishtar-3dae10a792d49d685debfe52eb7d61b9a6dc93f9.tar.bz2 Ishtar-3dae10a792d49d685debfe52eb7d61b9a6dc93f9.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.py | 21 |
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?") |