From 3dae10a792d49d685debfe52eb7d61b9a6dc93f9 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Tue, 10 Sep 2019 20:49:13 +0200 Subject: QA: lock/unlock (sites, operations, context records, finds, containers, warehouses) --- ishtar_common/forms_common.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'ishtar_common/forms_common.py') 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?") -- cgit v1.2.3