diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-09-24 10:33:07 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-09-24 10:33:07 +0200 |
commit | b953270cbfdb91973e6aa786214a62a2cb514c6e (patch) | |
tree | aff85c928066d444a8639daf6dd1c52d38e6c7dc /ishtar_common/forms.py | |
parent | 98e48e1fef5fb40c5868680781298db838f0a8cd (diff) | |
download | Ishtar-b953270cbfdb91973e6aa786214a62a2cb514c6e.tar.bz2 Ishtar-b953270cbfdb91973e6aa786214a62a2cb514c6e.zip |
Allow own locker to edit their locks
Diffstat (limited to 'ishtar_common/forms.py')
-rw-r--r-- | ishtar_common/forms.py | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/ishtar_common/forms.py b/ishtar_common/forms.py index c9c88b805..a7774df1f 100644 --- a/ishtar_common/forms.py +++ b/ishtar_common/forms.py @@ -383,11 +383,13 @@ class CustomFormSearch(forms.Form): if 'user' in kwargs: user = kwargs.pop('user') super(CustomFormSearch, self).__init__(*args, **kwargs) + self.request_user = user if user and 'pk' in self.fields: self.fields['pk'].widget.user = user class LockForm(object): + need_user_for_initialization = True associated_models = {} def clean(self): @@ -412,7 +414,7 @@ class LockForm(object): item = model.objects.get(pk=pk) except model.DoesNotExist: raise forms.ValidationError(_("Invalid selection.")) - if item.locked: + if item.is_locked(self.request_user): raise forms.ValidationError(_("This item is locked " "for edition.")) return self.cleaned_data |