diff options
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?") | 
