adminka togirlandi
This commit is contained in:
@@ -1,11 +1,10 @@
|
|||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
from unfold.admin import ModelAdmin # noqa
|
|
||||||
|
|
||||||
from apps.geology.models import Category
|
from apps.geology.models import Category
|
||||||
|
|
||||||
|
|
||||||
@admin.register(Category)
|
@admin.register(Category)
|
||||||
class CategoryAdmin(ModelAdmin):
|
class CategoryAdmin(admin.ModelAdmin):
|
||||||
list_display = ("name", "created_at", "updated_at")
|
list_display = ("name", "created_at", "updated_at")
|
||||||
search_fields = ("name",)
|
search_fields = ("name",)
|
||||||
list_filter = ("created_at", "updated_at")
|
list_filter = ("created_at", "updated_at")
|
||||||
|
|||||||
@@ -1,20 +1,18 @@
|
|||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
from unfold.admin import ModelAdmin
|
|
||||||
|
|
||||||
from apps.geology.models import GalleryCategory, Gallery
|
from apps.geology.models import GalleryCategory, Gallery
|
||||||
|
|
||||||
|
|
||||||
@admin.register(GalleryCategory)
|
@admin.register(GalleryCategory)
|
||||||
class GalleryCategoryAdmin(ModelAdmin):
|
class GalleryCategoryAdmin(admin.ModelAdmin):
|
||||||
list_display = ("id", "name", "created_at", "updated_at")
|
list_display = ("id", "name", "created_at", "updated_at")
|
||||||
search_fields = ("name",)
|
search_fields = ("name",)
|
||||||
filter_horizontal = ("gallery",)
|
filter_horizontal = ("gallery",)
|
||||||
list_filter = ("created_at", "updated_at")
|
list_filter = ("created_at", "updated_at")
|
||||||
exclude = ("count",)
|
exclude = ("count",)
|
||||||
|
|
||||||
|
|
||||||
@admin.register(Gallery)
|
@admin.register(Gallery)
|
||||||
class GalleryAdmin(ModelAdmin):
|
class GalleryAdmin(admin.ModelAdmin):
|
||||||
list_display = ("id", "name", "created_at", "updated_at")
|
list_display = ("id", "name", "created_at", "updated_at")
|
||||||
search_fields = ("name",)
|
search_fields = ("name",)
|
||||||
list_filter = ("created_at", "updated_at")
|
list_filter = ("created_at", "updated_at")
|
||||||
|
|||||||
@@ -1,11 +1,10 @@
|
|||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
from unfold.admin import ModelAdmin # noqa
|
|
||||||
|
|
||||||
from apps.geology.models import Geology
|
from apps.geology.models import Geology
|
||||||
|
|
||||||
|
|
||||||
@admin.register(Geology)
|
@admin.register(Geology)
|
||||||
class GeologyAdmin(ModelAdmin):
|
class GeologyAdmin(admin.ModelAdmin):
|
||||||
list_display = ("name", "category", "created_at", "updated_at")
|
list_display = ("name", "category", "created_at", "updated_at")
|
||||||
search_fields = ("name", "title", "body1", "body2", "body3")
|
search_fields = ("name", "title", "body1", "body2", "body3")
|
||||||
list_filter = ("category", "created_at", "updated_at")
|
list_filter = ("category", "created_at", "updated_at")
|
||||||
|
|||||||
@@ -1,11 +1,10 @@
|
|||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
from unfold.admin import ModelAdmin # noqa
|
|
||||||
|
|
||||||
from apps.geology.models import Photo
|
from apps.geology.models import Photo
|
||||||
|
|
||||||
|
|
||||||
@admin.register(Photo)
|
@admin.register(Photo)
|
||||||
class PhotoAdmin(ModelAdmin):
|
class PhotoAdmin(admin.ModelAdmin):
|
||||||
list_display = ("name", "description", "type", "size", "image", "created_at")
|
list_display = ("name", "description", "type", "size", "image", "created_at")
|
||||||
search_fields = ("name", "description", "type", "size", "image")
|
search_fields = ("name", "description", "type", "size", "image")
|
||||||
list_filter = ("type",)
|
list_filter = ("type",)
|
||||||
|
|||||||
@@ -1,33 +1 @@
|
|||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
from django.contrib.auth.admin import GroupAdmin as BaseGroupAdmin
|
|
||||||
from django.contrib.auth.admin import UserAdmin as BaseUserAdmin
|
|
||||||
from django.contrib.auth.models import Group, User
|
|
||||||
from unfold.admin import ModelAdmin # noqa
|
|
||||||
from unfold.forms import (
|
|
||||||
UserChangeForm,
|
|
||||||
UserCreationForm,
|
|
||||||
AdminPasswordChangeForm,
|
|
||||||
) # noqa
|
|
||||||
|
|
||||||
admin.site.unregister(Group)
|
|
||||||
admin.site.unregister(User)
|
|
||||||
|
|
||||||
|
|
||||||
@admin.register(Group)
|
|
||||||
class GroupAdmin(BaseGroupAdmin, ModelAdmin):
|
|
||||||
list_display = ("name",)
|
|
||||||
search_fields = ("name",)
|
|
||||||
filter_vertical = ("permissions",)
|
|
||||||
|
|
||||||
|
|
||||||
@admin.register(User)
|
|
||||||
class UserAdmin(BaseUserAdmin, ModelAdmin):
|
|
||||||
change_password_form = AdminPasswordChangeForm
|
|
||||||
add_form = UserCreationForm
|
|
||||||
form = UserChangeForm
|
|
||||||
list_display = ("username", "email", "is_active", "is_staff", "is_superuser")
|
|
||||||
list_filter = ("is_active", "is_staff", "is_superuser")
|
|
||||||
search_fields = ("username", "email")
|
|
||||||
ordering = ("username",)
|
|
||||||
list_editable = ("is_active", "is_staff", "is_superuser")
|
|
||||||
filter_vertical = ("groups", "user_permissions")
|
|
||||||
|
|||||||
@@ -1,256 +1,4 @@
|
|||||||
/*! tailwindcss v3.4.3 | MIT License | https://tailwindcss.com*/
|
/* Custom project utility classes for Unfold admin */
|
||||||
*, :after, :before {
|
|
||||||
box-sizing: border-box;
|
|
||||||
border: 0 solid #e5e7eb
|
|
||||||
}
|
|
||||||
|
|
||||||
:after, :before {
|
|
||||||
--tw-content: ""
|
|
||||||
}
|
|
||||||
|
|
||||||
:host, html {
|
|
||||||
line-height: 1.5;
|
|
||||||
-webkit-text-size-adjust: 100%;
|
|
||||||
-moz-tab-size: 4;
|
|
||||||
-o-tab-size: 4;
|
|
||||||
tab-size: 4;
|
|
||||||
font-family: ui-sans-serif, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
|
|
||||||
font-feature-settings: normal;
|
|
||||||
font-variation-settings: normal;
|
|
||||||
-webkit-tap-highlight-color: transparent
|
|
||||||
}
|
|
||||||
|
|
||||||
body {
|
|
||||||
margin: 0;
|
|
||||||
line-height: inherit
|
|
||||||
}
|
|
||||||
|
|
||||||
hr {
|
|
||||||
height: 0;
|
|
||||||
color: inherit;
|
|
||||||
border-top-width: 1px
|
|
||||||
}
|
|
||||||
|
|
||||||
abbr:where([title]) {
|
|
||||||
-webkit-text-decoration: underline dotted;
|
|
||||||
text-decoration: underline dotted
|
|
||||||
}
|
|
||||||
|
|
||||||
h1, h2, h3, h4, h5, h6 {
|
|
||||||
font-size: inherit;
|
|
||||||
font-weight: inherit
|
|
||||||
}
|
|
||||||
|
|
||||||
a {
|
|
||||||
color: inherit;
|
|
||||||
text-decoration: inherit
|
|
||||||
}
|
|
||||||
|
|
||||||
b, strong {
|
|
||||||
font-weight: bolder
|
|
||||||
}
|
|
||||||
|
|
||||||
code, kbd, pre, samp {
|
|
||||||
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
|
|
||||||
font-feature-settings: normal;
|
|
||||||
font-variation-settings: normal;
|
|
||||||
font-size: 1em
|
|
||||||
}
|
|
||||||
|
|
||||||
small {
|
|
||||||
font-size: 80%
|
|
||||||
}
|
|
||||||
|
|
||||||
sub, sup {
|
|
||||||
font-size: 75%;
|
|
||||||
line-height: 0;
|
|
||||||
position: relative;
|
|
||||||
vertical-align: initial
|
|
||||||
}
|
|
||||||
|
|
||||||
sub {
|
|
||||||
bottom: -.25em
|
|
||||||
}
|
|
||||||
|
|
||||||
sup {
|
|
||||||
top: -.5em
|
|
||||||
}
|
|
||||||
|
|
||||||
table {
|
|
||||||
text-indent: 0;
|
|
||||||
border-color: inherit;
|
|
||||||
border-collapse: collapse
|
|
||||||
}
|
|
||||||
|
|
||||||
button, input, optgroup, select, textarea {
|
|
||||||
font-family: inherit;
|
|
||||||
font-feature-settings: inherit;
|
|
||||||
font-variation-settings: inherit;
|
|
||||||
font-size: 100%;
|
|
||||||
font-weight: inherit;
|
|
||||||
line-height: inherit;
|
|
||||||
letter-spacing: inherit;
|
|
||||||
color: inherit;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0
|
|
||||||
}
|
|
||||||
|
|
||||||
button, select {
|
|
||||||
text-transform: none
|
|
||||||
}
|
|
||||||
|
|
||||||
button, input:where([type=button]), input:where([type=reset]), input:where([type=submit]) {
|
|
||||||
-webkit-appearance: button;
|
|
||||||
background-color: initial;
|
|
||||||
background-image: none
|
|
||||||
}
|
|
||||||
|
|
||||||
:-moz-focusring {
|
|
||||||
outline: auto
|
|
||||||
}
|
|
||||||
|
|
||||||
:-moz-ui-invalid {
|
|
||||||
box-shadow: none
|
|
||||||
}
|
|
||||||
|
|
||||||
progress {
|
|
||||||
vertical-align: initial
|
|
||||||
}
|
|
||||||
|
|
||||||
::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
|
|
||||||
height: auto
|
|
||||||
}
|
|
||||||
|
|
||||||
[type=search] {
|
|
||||||
-webkit-appearance: textfield;
|
|
||||||
outline-offset: -2px
|
|
||||||
}
|
|
||||||
|
|
||||||
::-webkit-search-decoration {
|
|
||||||
-webkit-appearance: none
|
|
||||||
}
|
|
||||||
|
|
||||||
::-webkit-file-upload-button {
|
|
||||||
-webkit-appearance: button;
|
|
||||||
font: inherit
|
|
||||||
}
|
|
||||||
|
|
||||||
summary {
|
|
||||||
display: list-item
|
|
||||||
}
|
|
||||||
|
|
||||||
blockquote, dd, dl, figure, h1, h2, h3, h4, h5, h6, hr, p, pre {
|
|
||||||
margin: 0
|
|
||||||
}
|
|
||||||
|
|
||||||
fieldset {
|
|
||||||
margin: 0
|
|
||||||
}
|
|
||||||
|
|
||||||
fieldset, legend {
|
|
||||||
padding: 0
|
|
||||||
}
|
|
||||||
|
|
||||||
menu, ol, ul {
|
|
||||||
list-style: none;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0
|
|
||||||
}
|
|
||||||
|
|
||||||
dialog {
|
|
||||||
padding: 0
|
|
||||||
}
|
|
||||||
|
|
||||||
textarea {
|
|
||||||
resize: vertical
|
|
||||||
}
|
|
||||||
|
|
||||||
input::-moz-placeholder, textarea::-moz-placeholder {
|
|
||||||
opacity: 1;
|
|
||||||
color: #9ca3af
|
|
||||||
}
|
|
||||||
|
|
||||||
input::placeholder, textarea::placeholder {
|
|
||||||
opacity: 1;
|
|
||||||
color: #9ca3af
|
|
||||||
}
|
|
||||||
|
|
||||||
[role=button], button {
|
|
||||||
cursor: pointer
|
|
||||||
}
|
|
||||||
|
|
||||||
:disabled {
|
|
||||||
cursor: default
|
|
||||||
}
|
|
||||||
|
|
||||||
audio, canvas, embed, iframe, img, object, svg, video {
|
|
||||||
display: block;
|
|
||||||
vertical-align: middle
|
|
||||||
}
|
|
||||||
|
|
||||||
img, video {
|
|
||||||
max-width: 100%;
|
|
||||||
height: auto
|
|
||||||
}
|
|
||||||
|
|
||||||
[hidden] {
|
|
||||||
display: none
|
|
||||||
}
|
|
||||||
|
|
||||||
*, ::backdrop, :after, :before {
|
|
||||||
--tw-border-spacing-x: 0;
|
|
||||||
--tw-border-spacing-y: 0;
|
|
||||||
--tw-translate-x: 0;
|
|
||||||
--tw-translate-y: 0;
|
|
||||||
--tw-rotate: 0;
|
|
||||||
--tw-skew-x: 0;
|
|
||||||
--tw-skew-y: 0;
|
|
||||||
--tw-scale-x: 1;
|
|
||||||
--tw-scale-y: 1;
|
|
||||||
--tw-pan-x: ;
|
|
||||||
--tw-pan-y: ;
|
|
||||||
--tw-pinch-zoom: ;
|
|
||||||
--tw-scroll-snap-strictness: proximity;
|
|
||||||
--tw-gradient-from-position: ;
|
|
||||||
--tw-gradient-via-position: ;
|
|
||||||
--tw-gradient-to-position: ;
|
|
||||||
--tw-ordinal: ;
|
|
||||||
--tw-slashed-zero: ;
|
|
||||||
--tw-numeric-figure: ;
|
|
||||||
--tw-numeric-spacing: ;
|
|
||||||
--tw-numeric-fraction: ;
|
|
||||||
--tw-ring-inset: ;
|
|
||||||
--tw-ring-offset-width: 0px;
|
|
||||||
--tw-ring-offset-color: #fff;
|
|
||||||
--tw-ring-color: #3b82f680;
|
|
||||||
--tw-ring-offset-shadow: 0 0 #0000;
|
|
||||||
--tw-ring-shadow: 0 0 #0000;
|
|
||||||
--tw-shadow: 0 0 #0000;
|
|
||||||
--tw-shadow-colored: 0 0 #0000;
|
|
||||||
--tw-blur: ;
|
|
||||||
--tw-brightness: ;
|
|
||||||
--tw-contrast: ;
|
|
||||||
--tw-grayscale: ;
|
|
||||||
--tw-hue-rotate: ;
|
|
||||||
--tw-invert: ;
|
|
||||||
--tw-saturate: ;
|
|
||||||
--tw-sepia: ;
|
|
||||||
--tw-drop-shadow: ;
|
|
||||||
--tw-backdrop-blur: ;
|
|
||||||
--tw-backdrop-brightness: ;
|
|
||||||
--tw-backdrop-contrast: ;
|
|
||||||
--tw-backdrop-grayscale: ;
|
|
||||||
--tw-backdrop-hue-rotate: ;
|
|
||||||
--tw-backdrop-invert: ;
|
|
||||||
--tw-backdrop-opacity: ;
|
|
||||||
--tw-backdrop-saturate: ;
|
|
||||||
--tw-backdrop-sepia: ;
|
|
||||||
--tw-contain-size: ;
|
|
||||||
--tw-contain-layout: ;
|
|
||||||
--tw-contain-paint: ;
|
|
||||||
--tw-contain-style:
|
|
||||||
}
|
|
||||||
|
|
||||||
.\!container {
|
.\!container {
|
||||||
width: 100% !important
|
width: 100% !important
|
||||||
}
|
}
|
||||||
@@ -531,11 +279,13 @@ img, video {
|
|||||||
max-width: 300px
|
max-width: 300px
|
||||||
}
|
}
|
||||||
|
|
||||||
.flex-shrink, .shrink {
|
.flex-shrink,
|
||||||
|
.shrink {
|
||||||
flex-shrink: 1
|
flex-shrink: 1
|
||||||
}
|
}
|
||||||
|
|
||||||
.flex-grow, .grow {
|
.flex-grow,
|
||||||
|
.grow {
|
||||||
flex-grow: 1
|
flex-grow: 1
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -556,11 +306,11 @@ img, video {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.grid-cols-1 {
|
.grid-cols-1 {
|
||||||
grid-template-columns:repeat(1, minmax(0, 1fr))
|
grid-template-columns: repeat(1, minmax(0, 1fr))
|
||||||
}
|
}
|
||||||
|
|
||||||
.grid-cols-2 {
|
.grid-cols-2 {
|
||||||
grid-template-columns:repeat(2, minmax(0, 1fr))
|
grid-template-columns: repeat(2, minmax(0, 1fr))
|
||||||
}
|
}
|
||||||
|
|
||||||
.flex-col {
|
.flex-col {
|
||||||
@@ -851,7 +601,8 @@ img, video {
|
|||||||
--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color)
|
--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color)
|
||||||
}
|
}
|
||||||
|
|
||||||
.shadow, .shadow-md {
|
.shadow,
|
||||||
|
.shadow-md {
|
||||||
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
|
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -874,7 +625,8 @@ img, video {
|
|||||||
--tw-blur: blur(8px)
|
--tw-blur: blur(8px)
|
||||||
}
|
}
|
||||||
|
|
||||||
.blur, .grayscale {
|
.blur,
|
||||||
|
.grayscale {
|
||||||
filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
|
filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -924,22 +676,22 @@ img, video {
|
|||||||
|
|
||||||
@media (min-width: 640px) {
|
@media (min-width: 640px) {
|
||||||
.sm\:grid-cols-2 {
|
.sm\:grid-cols-2 {
|
||||||
grid-template-columns:repeat(2, minmax(0, 1fr))
|
grid-template-columns: repeat(2, minmax(0, 1fr))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (min-width: 768px) {
|
@media (min-width: 768px) {
|
||||||
.md\:grid-cols-2 {
|
.md\:grid-cols-2 {
|
||||||
grid-template-columns:repeat(2, minmax(0, 1fr))
|
grid-template-columns: repeat(2, minmax(0, 1fr))
|
||||||
}
|
}
|
||||||
|
|
||||||
.md\:grid-cols-3 {
|
.md\:grid-cols-3 {
|
||||||
grid-template-columns:repeat(3, minmax(0, 1fr))
|
grid-template-columns: repeat(3, minmax(0, 1fr))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (min-width: 1024px) {
|
@media (min-width: 1024px) {
|
||||||
.lg\:grid-cols-4 {
|
.lg\:grid-cols-4 {
|
||||||
grid-template-columns:repeat(4, minmax(0, 1fr))
|
grid-template-columns: repeat(4, minmax(0, 1fr))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,12 +1,6 @@
|
|||||||
THIRD_PARTY_APPS = [
|
THIRD_PARTY_APPS = [
|
||||||
# "jazzmin",
|
|
||||||
"unfold",
|
|
||||||
"unfold.contrib.filters",
|
|
||||||
"unfold.contrib.forms",
|
|
||||||
"unfold.contrib.import_export",
|
|
||||||
"unfold.contrib.guardian",
|
|
||||||
"unfold.contrib.simple_history",
|
|
||||||
"modeltranslation",
|
"modeltranslation",
|
||||||
|
"jazzmin",
|
||||||
"django_ckeditor_5",
|
"django_ckeditor_5",
|
||||||
"corsheaders",
|
"corsheaders",
|
||||||
"rosetta",
|
"rosetta",
|
||||||
|
|||||||
@@ -65,43 +65,43 @@ UNFOLD = {
|
|||||||
"show_all_applications": True,
|
"show_all_applications": True,
|
||||||
"navigation": navigation.PAGES,
|
"navigation": navigation.PAGES,
|
||||||
},
|
},
|
||||||
"TABS": [
|
# "TABS": [
|
||||||
{
|
# {
|
||||||
"models": [
|
# "models": [
|
||||||
"geology.geology",
|
# "geology.geology",
|
||||||
"geology.photo",
|
# "geology.photo",
|
||||||
"geology.category",
|
# "geology.category",
|
||||||
],
|
# ],
|
||||||
"items": [
|
# "items": [
|
||||||
{
|
# {
|
||||||
"title": _("Madanlar"),
|
# "title": _("Madanlar"),
|
||||||
"link": reverse_lazy("admin:geology_geology_changelist"),
|
# "link": reverse_lazy("admin:geology_geology_changelist"),
|
||||||
},
|
# },
|
||||||
{
|
# {
|
||||||
"title": _("Fotolar"),
|
# "title": _("Fotolar"),
|
||||||
"link": reverse_lazy("admin:geology_photo_changelist"),
|
# "link": reverse_lazy("admin:geology_photo_changelist"),
|
||||||
},
|
# },
|
||||||
{
|
# {
|
||||||
"title": _("Kategoriyalar"),
|
# "title": _("Kategoriyalar"),
|
||||||
"link": reverse_lazy("admin:geology_category_changelist"),
|
# "link": reverse_lazy("admin:geology_category_changelist"),
|
||||||
},
|
# },
|
||||||
],
|
# ],
|
||||||
},
|
# },
|
||||||
{
|
# {
|
||||||
"models": [
|
# "models": [
|
||||||
"geology.gallerycategory",
|
# "geology.gallerycategory",
|
||||||
"geology.gallery",
|
# "geology.gallery",
|
||||||
],
|
# ],
|
||||||
"items": [
|
# "items": [
|
||||||
{
|
# {
|
||||||
"title": _("Galereya kategoriyalari"),
|
# "title": _("Galereya kategoriyalari"),
|
||||||
"link": reverse_lazy("admin:geology_gallerycategory_changelist"),
|
# "link": reverse_lazy("admin:geology_gallerycategory_changelist"),
|
||||||
},
|
# },
|
||||||
{
|
# {
|
||||||
"title": _("Galereya"),
|
# "title": _("Galereya"),
|
||||||
"link": reverse_lazy("admin:geology_gallery_changelist"),
|
# "link": reverse_lazy("admin:geology_gallery_changelist"),
|
||||||
},
|
# },
|
||||||
],
|
# ],
|
||||||
},
|
# },
|
||||||
],
|
# ],
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ PAGES = [
|
|||||||
"title": _("Foydalanuvchilar"),
|
"title": _("Foydalanuvchilar"),
|
||||||
"items": [
|
"items": [
|
||||||
{
|
{
|
||||||
"title": _("Guruhlar"),
|
"title": _("Groups"),
|
||||||
"icon": "person_add",
|
"icon": "person_add",
|
||||||
"link": reverse_lazy("admin:auth_group_changelist"),
|
"link": reverse_lazy("admin:auth_group_changelist"),
|
||||||
"permission": lambda request: user_has_group_or_permission(
|
"permission": lambda request: user_has_group_or_permission(
|
||||||
|
|||||||
@@ -128,3 +128,11 @@ SESSION_COOKIE_SECURE = True
|
|||||||
CSRF_COOKIE_SECURE = True
|
CSRF_COOKIE_SECURE = True
|
||||||
SECURE_HSTS_INCLUDE_SUBDOMAINS = True
|
SECURE_HSTS_INCLUDE_SUBDOMAINS = True
|
||||||
SECURE_HSTS_PRELOAD = True
|
SECURE_HSTS_PRELOAD = True
|
||||||
|
|
||||||
|
JAZZMIN_SETTINGS = {
|
||||||
|
"site_title": "Geology Admin",
|
||||||
|
"site_header": "Geology Admin",
|
||||||
|
"site_brand": "Geology",
|
||||||
|
"welcome_sign": "Geologiya boshqaruv paneli",
|
||||||
|
"show_ui_builder": False,
|
||||||
|
}
|
||||||
|
|||||||
@@ -13,7 +13,6 @@ django-cors-headers==4.3.1
|
|||||||
django-rosetta==0.10.0
|
django-rosetta==0.10.0
|
||||||
colorama==0.4.6
|
colorama==0.4.6
|
||||||
PyJWT~=2.8.0
|
PyJWT~=2.8.0
|
||||||
django-unfold
|
|
||||||
flower==2.0.1
|
flower==2.0.1
|
||||||
celery
|
celery
|
||||||
django-redis
|
django-redis
|
||||||
|
|||||||
Reference in New Issue
Block a user