gold eggs backend
Some checks failed
Build and Push to Docker Hub / build-test-push (push) Failing after 1m55s
Some checks failed
Build and Push to Docker Hub / build-test-push (push) Failing after 1m55s
This commit is contained in:
3
core/http/admin/__init__.py
Normal file
3
core/http/admin/__init__.py
Normal file
@@ -0,0 +1,3 @@
|
||||
from .core import * # noqa
|
||||
from .another import * # noqa
|
||||
from .user import * # noqa
|
||||
66
core/http/admin/another.py
Normal file
66
core/http/admin/another.py
Normal file
@@ -0,0 +1,66 @@
|
||||
from django.contrib import admin
|
||||
from django.db import models as db_model
|
||||
from django_select2 import forms as django_select2
|
||||
from import_export import admin as import_export
|
||||
from modeltranslation import admin as modeltranslation
|
||||
|
||||
from core.http import forms, models
|
||||
|
||||
|
||||
class PostInline(admin.TabularInline):
|
||||
model = models.Post.comments.through
|
||||
fields = ["comment"]
|
||||
extra = 1
|
||||
|
||||
|
||||
class TagsInline(admin.TabularInline):
|
||||
model = models.Post.tags.through
|
||||
extra = 1
|
||||
|
||||
|
||||
class PostAdmin(
|
||||
modeltranslation.TabbedTranslationAdmin,
|
||||
import_export.ImportExportModelAdmin,
|
||||
): # noqa
|
||||
fields: tuple = ("title", "desc", "image", "tags")
|
||||
search_fields: list = ["title", "desc"]
|
||||
list_filter = ["title"]
|
||||
required_languages: tuple = ("uz",)
|
||||
form = forms.PostAdminForm
|
||||
inlines = [PostInline]
|
||||
formfield_overrides = {
|
||||
db_model.ManyToManyField: {
|
||||
"widget": django_select2.Select2MultipleWidget
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
class TagsAdmin(import_export.ImportExportModelAdmin):
|
||||
fields: tuple = ("name",)
|
||||
search_fields: list = ["name"]
|
||||
|
||||
|
||||
class FrontendInline(admin.TabularInline):
|
||||
model = models.FrontendTranslation.comments.through
|
||||
fields = ["comment"]
|
||||
extra = 1
|
||||
|
||||
|
||||
class FrontendTranslationAdmin(
|
||||
modeltranslation.TabbedTranslationAdmin,
|
||||
import_export.ImportExportModelAdmin,
|
||||
): # noqa
|
||||
fields: tuple = ("key", "value")
|
||||
required_languages: tuple = ("uz",)
|
||||
list_display = ["key", "value"]
|
||||
inlines = [FrontendInline]
|
||||
|
||||
|
||||
class SmsConfirmAdmin(admin.ModelAdmin):
|
||||
list_display = ["phone", "code", "resend_count", "try_count"]
|
||||
search_fields = ["phone", "code"]
|
||||
|
||||
|
||||
class CommentAdmin(import_export.ImportExportModelAdmin):
|
||||
list_display = ["text"]
|
||||
search_fields = ["text"]
|
||||
22
core/http/admin/core.py
Normal file
22
core/http/admin/core.py
Normal file
@@ -0,0 +1,22 @@
|
||||
"""
|
||||
Admin panel register
|
||||
"""
|
||||
|
||||
from django.contrib import admin
|
||||
from django.contrib.auth import models as db_models
|
||||
|
||||
from core.http import models
|
||||
from core.http.admin import user
|
||||
from core.http.admin import another
|
||||
|
||||
admin.site.unregister(db_models.Group)
|
||||
admin.site.register(db_models.Group, user.GroupAdmin)
|
||||
|
||||
admin.site.register(models.Tags, another.TagsAdmin)
|
||||
admin.site.register(models.Post, another.PostAdmin)
|
||||
admin.site.register(models.User, user.CustomUserAdmin)
|
||||
admin.site.register(models.Comment, another.CommentAdmin)
|
||||
admin.site.register(models.SmsConfirm, another.SmsConfirmAdmin)
|
||||
admin.site.register(
|
||||
models.FrontendTranslation, another.FrontendTranslationAdmin
|
||||
) # noqa
|
||||
47
core/http/admin/user.py
Normal file
47
core/http/admin/user.py
Normal file
@@ -0,0 +1,47 @@
|
||||
from django.contrib.auth import admin
|
||||
from import_export import admin as import_export
|
||||
from import_export.admin import ImportExportModelAdmin
|
||||
|
||||
from core.http.forms import CustomUserCreationForm
|
||||
|
||||
|
||||
class CustomUserAdmin(admin.UserAdmin, ImportExportModelAdmin):
|
||||
add_form = CustomUserCreationForm
|
||||
list_display = ["id", "phone", "first_name", "last_name", "role"]
|
||||
search_fields = ["phone", "first_name", "last_name"]
|
||||
list_filter = ["role"]
|
||||
fieldsets = (
|
||||
(None, {"fields": ("username", "phone", "password")}),
|
||||
(
|
||||
"Personal info",
|
||||
{"fields": ("first_name", "last_name", "email", "role", "avatar", "fcm_token")},
|
||||
),
|
||||
(
|
||||
"Permissions",
|
||||
{
|
||||
"fields": (
|
||||
"is_active",
|
||||
"is_staff",
|
||||
"is_superuser",
|
||||
"groups",
|
||||
"user_permissions",
|
||||
)
|
||||
},
|
||||
),
|
||||
("Important dates", {"fields": ("last_login", "date_joined")}),
|
||||
)
|
||||
add_fieldsets = (
|
||||
(
|
||||
None,
|
||||
{
|
||||
"classes": ("wide",),
|
||||
"fields": ("phone", "password1", "password2"),
|
||||
},
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
class GroupAdmin(import_export.ImportExportModelAdmin):
|
||||
list_display = ["name"]
|
||||
search_fields = ["name"]
|
||||
filter_horizontal = ("permissions",)
|
||||
Reference in New Issue
Block a user