diff options
Diffstat (limited to 'archaeological_finds/forms.py')
| -rw-r--r-- | archaeological_finds/forms.py | 11 | 
1 files changed, 9 insertions, 2 deletions
| diff --git a/archaeological_finds/forms.py b/archaeological_finds/forms.py index 5fcf57a27..babc56876 100644 --- a/archaeological_finds/forms.py +++ b/archaeological_finds/forms.py @@ -726,6 +726,12 @@ class QAFindBasketForm(IshtarForm):              if not self.cleaned_data['qa_bf_basket']:                  raise forms.ValidationError(                      _(u"On update, you have to select a basket.")) +            q = Q(user=self.user) | Q(shared_write_with__pk=self.user.pk) +            q = models.FindBasket.objects.filter(q).filter( +                pk=self.cleaned_data['qa_bf_basket']) +            if not q.count(): +                raise forms.ValidationError( +                    _("You cannot update the selected basket."))              return self.cleaned_data          label = self.cleaned_data['qa_bf_label'].strip()          if not label: @@ -738,8 +744,9 @@ class QAFindBasketForm(IshtarForm):      def save(self, items):          if self.cleaned_data['qa_bf_create_or_update'] == 'update': -            basket = models.FindBasket.objects.get( -                user=self.user, pk=self.cleaned_data['qa_bf_basket']) +            q = Q(user=self.user) | Q(shared_write_with__pk=self.user.pk) +            basket = models.FindBasket.objects.filter(q).get( +                pk=self.cleaned_data['qa_bf_basket'])          else:              label = self.cleaned_data['qa_bf_label'].strip()              basket = models.FindBasket.objects.create( | 
