Add country control
This commit is contained in:
parent
dd4c7fa3eb
commit
56c0927a52
20
apps/comment/migrations/0002_comment_language.py
Normal file
20
apps/comment/migrations/0002_comment_language.py
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
# Generated by Django 2.2.4 on 2019-10-10 11:46
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('translation', '0003_auto_20190901_1032'),
|
||||
('comment', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='comment',
|
||||
name='language',
|
||||
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='translation.Language', verbose_name='Locale'),
|
||||
),
|
||||
]
|
||||
|
|
@ -6,7 +6,7 @@ from django.utils.translation import gettext_lazy as _
|
|||
from account.models import User
|
||||
from utils.models import ProjectBaseMixin
|
||||
from utils.querysets import ContentTypeQuerySetMixin
|
||||
|
||||
from translation.models import Language
|
||||
|
||||
class CommentQuerySet(ContentTypeQuerySetMixin):
|
||||
"""QuerySets for Comment model."""
|
||||
|
|
@ -41,6 +41,7 @@ class Comment(ProjectBaseMixin):
|
|||
content_object = generic.GenericForeignKey('content_type', 'object_id')
|
||||
|
||||
objects = CommentQuerySet.as_manager()
|
||||
language = models.ForeignKey(Language, verbose_name=_('Locale'), on_delete=models.SET_NULL, null=True)
|
||||
|
||||
class Meta:
|
||||
"""Meta class"""
|
||||
|
|
|
|||
|
|
@ -13,12 +13,12 @@ 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
|
||||
|
||||
# Instance must have an attribute named `user`.
|
||||
role = Role.objects.get(role=2) # 'Comments moderator'
|
||||
# Must have role
|
||||
role = Role.objects.filter(role=2, country__language=obj.language).first() # 'Comments moderator'
|
||||
is_access = UserRole.objects.filter(user=request.user, role=role).exists()
|
||||
if obj.user != request.user and is_access:
|
||||
return True
|
||||
|
|
|
|||
19
apps/location/migrations/0011_country_language.py
Normal file
19
apps/location/migrations/0011_country_language.py
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
# Generated by Django 2.2.4 on 2019-10-10 11:34
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('translation', '0003_auto_20190901_1032'),
|
||||
('location', '0010_auto_20190904_0711'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='country',
|
||||
name='language',
|
||||
field=models.ManyToManyField(to='translation.Language', verbose_name='Language'),
|
||||
),
|
||||
]
|
||||
|
|
@ -6,7 +6,7 @@ from django.db.transaction import on_commit
|
|||
from django.dispatch import receiver
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
from utils.models import ProjectBaseMixin, SVGImageMixin, TranslatedFieldsMixin, TJSONField
|
||||
|
||||
from translation.models import Language
|
||||
|
||||
class Country(TranslatedFieldsMixin, SVGImageMixin, ProjectBaseMixin):
|
||||
"""Country model."""
|
||||
|
|
@ -18,6 +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'))
|
||||
|
||||
class Meta:
|
||||
"""Meta class."""
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user