Просмотр исходного кода

Add bookmarks access validation

Denis K 9 лет назад
Родитель
Сommit
d21b7e2f60
1 измененных файлов с 12 добавлено и 4 удалено
  1. 12 4
      jet/forms.py

+ 12 - 4
jet/forms.py

@@ -22,6 +22,14 @@ class AddBookmarkForm(forms.ModelForm):
         model = Bookmark
         model = Bookmark
         fields = ['url', 'title']
         fields = ['url', 'title']
 
 
+    def clean(self):
+        data = super(AddBookmarkForm, self).clean()
+        if not self.request.user.is_authenticated():
+            raise ValidationError('error')
+        if not self.request.user.has_perm('jet.change_bookmark'):
+            raise ValidationError('error')
+        return data
+
     def save(self, commit=True):
     def save(self, commit=True):
         self.instance.user = self.request.user.pk
         self.instance.user = self.request.user.pk
         return super(AddBookmarkForm, self).save(commit)
         return super(AddBookmarkForm, self).save(commit)
@@ -37,12 +45,12 @@ class RemoveBookmarkForm(forms.ModelForm):
         fields = []
         fields = []
 
 
     def clean(self):
     def clean(self):
-        cleaned_data = super(RemoveBookmarkForm, self).clean()
-
+        data = super(RemoveBookmarkForm, self).clean()
+        if not self.request.user.is_authenticated():
+            raise ValidationError('error')
         if self.instance.user != self.request.user.pk:
         if self.instance.user != self.request.user.pk:
             raise ValidationError('error')
             raise ValidationError('error')
-
-        return cleaned_data
+        return data
 
 
     def save(self, commit=True):
     def save(self, commit=True):
         if commit:
         if commit: