Test change
This commit is contained in:
parent
56c0927a52
commit
ab5a66afe2
|
|
@ -13,12 +13,15 @@ class IsCommentModerator(permissions.BasePermission):
|
||||||
# so we'll always allow GET, HEAD or OPTIONS requests.
|
# so we'll always allow GET, HEAD or OPTIONS requests.
|
||||||
if request.method in permissions.SAFE_METHODS:
|
if request.method in permissions.SAFE_METHODS:
|
||||||
return True
|
return True
|
||||||
# user owner is user request
|
# # user owner is user request
|
||||||
if obj.user == request.user:
|
# if obj.user == request.user:
|
||||||
return True
|
# return True
|
||||||
|
|
||||||
# Must have role
|
# 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()
|
is_access = UserRole.objects.filter(user=request.user, role=role).exists()
|
||||||
if obj.user != request.user and is_access:
|
if obj.user != request.user and is_access:
|
||||||
return True
|
return True
|
||||||
|
|
|
||||||
|
|
@ -7,17 +7,25 @@ from http.cookies import SimpleCookie
|
||||||
from location.models import Country
|
from location.models import Country
|
||||||
from account.models import Role, User, UserRole
|
from account.models import Role, User, UserRole
|
||||||
from comment.models import Comment
|
from comment.models import Comment
|
||||||
|
from translation.models import Language
|
||||||
|
|
||||||
|
|
||||||
class CommentModeratorPermissionTests(APITestCase):
|
class CommentModeratorPermissionTests(APITestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
|
|
||||||
|
self.lang = Language.objects.create(
|
||||||
|
title='Russia',
|
||||||
|
locale='ru-RU'
|
||||||
|
)
|
||||||
|
self.lang.save()
|
||||||
|
|
||||||
self.country_ru = Country.objects.create(
|
self.country_ru = Country.objects.create(
|
||||||
name='{"ru-RU":"Russia"}',
|
name='{"ru-RU":"Russia"}',
|
||||||
code='23',
|
code='23',
|
||||||
low_price=15,
|
low_price=15,
|
||||||
high_price=150000
|
high_price=150000,
|
||||||
)
|
)
|
||||||
|
self.country_ru.languages.add(self.lang)
|
||||||
self.country_ru.save()
|
self.country_ru.save()
|
||||||
|
|
||||||
self.role = Role.objects.create(
|
self.role = Role.objects.create(
|
||||||
|
|
@ -42,7 +50,8 @@ class CommentModeratorPermissionTests(APITestCase):
|
||||||
self.comment = Comment.objects.create(text='Test comment', mark=1,
|
self.comment = Comment.objects.create(text='Test comment', mark=1,
|
||||||
user=self.user_test["user"],
|
user=self.user_test["user"],
|
||||||
object_id= self.country_ru.pk,
|
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.comment.save()
|
||||||
self.url = reverse('back:comment:comment-crud', kwargs={"id": self.comment.id})
|
self.url = reverse('back:comment:comment-crud', kwargs={"id": self.comment.id})
|
||||||
|
|
|
||||||
18
apps/location/migrations/0012_auto_20191010_1205.py
Normal file
18
apps/location/migrations/0012_auto_20191010_1205.py
Normal file
|
|
@ -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',
|
||||||
|
),
|
||||||
|
]
|
||||||
|
|
@ -18,7 +18,7 @@ class Country(TranslatedFieldsMixin, SVGImageMixin, ProjectBaseMixin):
|
||||||
code = models.CharField(max_length=255, unique=True, verbose_name=_('Code'))
|
code = models.CharField(max_length=255, unique=True, verbose_name=_('Code'))
|
||||||
low_price = models.IntegerField(default=25, verbose_name=_('Low price'))
|
low_price = models.IntegerField(default=25, verbose_name=_('Low price'))
|
||||||
high_price = models.IntegerField(default=50, verbose_name=_('High 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:
|
class Meta:
|
||||||
"""Meta class."""
|
"""Meta class."""
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user