Merge remote-tracking branch 'origin/origin/feature/migrate-etablishment' into origin/migration_fix
This commit is contained in:
commit
8fd14f2f44
|
|
@ -8,8 +8,12 @@ def transfer_user():
|
|||
# queryset = Profiles.objects.all()
|
||||
# queryset = queryset.annotate(nickname=F("account__nickname"))
|
||||
# queryset = queryset.annotate(email=F("account__email"))
|
||||
|
||||
queryset = Accounts.objects.filter(confirmed_at__isnull=False)
|
||||
stop_list = ['cyril@tomatic.net',
|
||||
'cyril2@tomatic.net',
|
||||
'd.sadykova@id-east.ru',
|
||||
'd.sadykova@octopod.ru',
|
||||
'n.yurchenko@id-east.ru']
|
||||
queryset = Accounts.objects.filter(confirmed_at__isnull=False).exclude(email__in=stop_list)
|
||||
|
||||
serialized_data = UserSerializer(data=list(queryset.values()), many=True)
|
||||
|
||||
|
|
|
|||
|
|
@ -4,18 +4,19 @@ from django.contrib.contenttypes.admin import GenericTabularInline
|
|||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
from comment.models import Comment
|
||||
from utils.admin import BaseModelAdminMixin
|
||||
from establishment import models
|
||||
from main.models import Award
|
||||
from review import models as review_models
|
||||
|
||||
|
||||
@admin.register(models.EstablishmentType)
|
||||
class EstablishmentTypeAdmin(admin.ModelAdmin):
|
||||
class EstablishmentTypeAdmin(BaseModelAdminMixin):
|
||||
"""EstablishmentType admin."""
|
||||
|
||||
|
||||
@admin.register(models.EstablishmentSubType)
|
||||
class EstablishmentSubTypeAdmin(admin.ModelAdmin):
|
||||
class EstablishmentSubTypeAdmin(BaseModelAdminMixin):
|
||||
"""EstablishmentSubType admin."""
|
||||
|
||||
|
||||
|
|
@ -47,17 +48,18 @@ class CommentInline(GenericTabularInline):
|
|||
|
||||
|
||||
@admin.register(models.Establishment)
|
||||
class EstablishmentAdmin(admin.ModelAdmin):
|
||||
class EstablishmentAdmin(BaseModelAdminMixin):
|
||||
"""Establishment admin."""
|
||||
list_display = ['id', '__str__', 'image_tag', ]
|
||||
inlines = [
|
||||
AwardInline, ContactPhoneInline, ContactEmailInline,
|
||||
ReviewInline, CommentInline]
|
||||
raw_id_fields = ('address',)
|
||||
fields = ['old_id', 'name']
|
||||
|
||||
|
||||
@admin.register(models.Position)
|
||||
class PositionAdmin(admin.ModelAdmin):
|
||||
class PositionAdmin(BaseModelAdminMixin):
|
||||
"""Position admin."""
|
||||
|
||||
|
||||
|
|
@ -68,7 +70,7 @@ class PlateInline(admin.TabularInline):
|
|||
|
||||
|
||||
@admin.register(models.Menu)
|
||||
class MenuAdmin(admin.ModelAdmin):
|
||||
class MenuAdmin(BaseModelAdminMixin):
|
||||
"""Menu admin."""
|
||||
list_display = ['id', 'category_translated']
|
||||
inlines = [
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ from django.conf import settings
|
|||
|
||||
from news import models
|
||||
from .tasks import send_email_with_news
|
||||
from utils.admin import BaseModelAdminMixin
|
||||
|
||||
|
||||
@admin.register(models.NewsType)
|
||||
|
|
@ -24,7 +25,7 @@ send_email_action.short_description = "Send the selected news by email"
|
|||
|
||||
|
||||
@admin.register(models.News)
|
||||
class NewsAdmin(admin.ModelAdmin):
|
||||
class NewsAdmin(BaseModelAdminMixin):
|
||||
"""News admin."""
|
||||
raw_id_fields = ('address',)
|
||||
actions = [send_email_action]
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
"""Admin page for app Review"""
|
||||
from . import models
|
||||
from django.contrib import admin
|
||||
from utils.admin import BaseModelAdminMixin
|
||||
|
||||
|
||||
@admin.register(models.Review)
|
||||
class ReviewAdminModel(admin.ModelAdmin):
|
||||
class ReviewAdminModel(BaseModelAdminMixin):
|
||||
"""Admin model for model Review."""
|
||||
|
|
|
|||
36
apps/utils/admin.py
Normal file
36
apps/utils/admin.py
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
"""Mixins for admin models."""
|
||||
from django.contrib import admin
|
||||
from django.db.models import ForeignKey
|
||||
|
||||
|
||||
class BaseModelAdminMixin(admin.ModelAdmin):
|
||||
"""
|
||||
Class that overridden ModelAdmin and adds to readonly_fields attr
|
||||
persisted fields like created_by, modified_by.
|
||||
"""
|
||||
|
||||
_PERSISTENT_READ_ONLY_FIELDS = ['created_by', 'modified_by']
|
||||
|
||||
def _get_fk_field_names(self, fields: iter):
|
||||
"""
|
||||
Return an iterable object which contains FK model fields.
|
||||
:param fields: iterable
|
||||
:return: iterable
|
||||
"""
|
||||
foreign_key_fields = []
|
||||
for field in fields:
|
||||
if isinstance(field, ForeignKey):
|
||||
foreign_key_fields.append(field.name)
|
||||
return foreign_key_fields
|
||||
|
||||
def get_readonly_fields(self, request, obj=None):
|
||||
"""
|
||||
Hook for specifying custom readonly fields.
|
||||
"""
|
||||
_readonly_fields = list(self.readonly_fields)
|
||||
fk_field_names = self._get_fk_field_names(self.model._meta.fields)
|
||||
|
||||
for field_name in fk_field_names:
|
||||
if field_name in self._PERSISTENT_READ_ONLY_FIELDS:
|
||||
_readonly_fields.append(field_name)
|
||||
return tuple(_readonly_fields)
|
||||
|
|
@ -331,3 +331,6 @@ class GMTokenGenerator(PasswordResetTokenGenerator):
|
|||
used.
|
||||
"""
|
||||
return self.get_fields(user, timestamp)
|
||||
|
||||
|
||||
timezone.datetime.now().date().isoformat()
|
||||
Loading…
Reference in New Issue
Block a user