From ab5a66afe2e579c4b6ae88ca0e85874dcd5938fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=92=D0=B8=D0=BA=D1=82=D0=BE=D1=80=20=D0=93=D0=BB=D0=B0?= =?UTF-8?q?=D0=B4=D0=BA=D0=B8=D1=85?= Date: Thu, 10 Oct 2019 15:20:13 +0300 Subject: [PATCH] Test change --- apps/comment/permissions.py | 13 ++++++++----- apps/comment/tests.py | 13 +++++++++++-- .../migrations/0012_auto_20191010_1205.py | 18 ++++++++++++++++++ apps/location/models.py | 2 +- 4 files changed, 38 insertions(+), 8 deletions(-) create mode 100644 apps/location/migrations/0012_auto_20191010_1205.py diff --git a/apps/comment/permissions.py b/apps/comment/permissions.py index 3bfb2b3c..9e0ab58b 100644 --- a/apps/comment/permissions.py +++ b/apps/comment/permissions.py @@ -13,17 +13,20 @@ class IsCommentModerator(permissions.BasePermission): # so we'll always allow GET, HEAD or OPTIONS requests. if request.method in permissions.SAFE_METHODS: return True - # user owner is user request - if obj.user == request.user: - return True + # # user owner is user request + # if obj.user == request.user: + # return True # Must have role - role = Role.objects.filter(role=2, country__language=obj.language).first() # 'Comments moderator' + # ,country__languages__id=obj.language_id + role = Role.objects.filter(role=2, + country__languages__id=obj.language_id)\ + .first() # 'Comments moderator' is_access = UserRole.objects.filter(user=request.user, role=role).exists() if obj.user != request.user and is_access: return True - super_user=User.objects.filter(pk=request.user.pk, is_superuser=True).exists() + super_user = User.objects.filter(pk=request.user.pk, is_superuser=True).exists() if super_user: return True diff --git a/apps/comment/tests.py b/apps/comment/tests.py index 2157933e..949ba597 100644 --- a/apps/comment/tests.py +++ b/apps/comment/tests.py @@ -7,17 +7,25 @@ from http.cookies import SimpleCookie from location.models import Country from account.models import Role, User, UserRole from comment.models import Comment +from translation.models import Language class CommentModeratorPermissionTests(APITestCase): def setUp(self): + self.lang = Language.objects.create( + title='Russia', + locale='ru-RU' + ) + self.lang.save() + self.country_ru = Country.objects.create( name='{"ru-RU":"Russia"}', code='23', low_price=15, - high_price=150000 + high_price=150000, ) + self.country_ru.languages.add(self.lang) self.country_ru.save() self.role = Role.objects.create( @@ -42,7 +50,8 @@ class CommentModeratorPermissionTests(APITestCase): self.comment = Comment.objects.create(text='Test comment', mark=1, user=self.user_test["user"], object_id= self.country_ru.pk, - content_type_id=content_type.id + content_type_id=content_type.id, + language=self.lang ) self.comment.save() self.url = reverse('back:comment:comment-crud', kwargs={"id": self.comment.id}) diff --git a/apps/location/migrations/0012_auto_20191010_1205.py b/apps/location/migrations/0012_auto_20191010_1205.py new file mode 100644 index 00000000..a2de2917 --- /dev/null +++ b/apps/location/migrations/0012_auto_20191010_1205.py @@ -0,0 +1,18 @@ +# Generated by Django 2.2.4 on 2019-10-10 12:05 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('location', '0011_country_language'), + ] + + operations = [ + migrations.RenameField( + model_name='country', + old_name='language', + new_name='languages', + ), + ] diff --git a/apps/location/models.py b/apps/location/models.py index b11b0ad5..f52f9fee 100644 --- a/apps/location/models.py +++ b/apps/location/models.py @@ -18,7 +18,7 @@ class Country(TranslatedFieldsMixin, SVGImageMixin, ProjectBaseMixin): code = models.CharField(max_length=255, unique=True, verbose_name=_('Code')) low_price = models.IntegerField(default=25, verbose_name=_('Low price')) high_price = models.IntegerField(default=50, verbose_name=_('High price')) - language = models.ManyToManyField(Language, verbose_name=_('Language')) + languages = models.ManyToManyField(Language, verbose_name=_('Languages')) class Meta: """Meta class."""