From 75a126931bc229bf0692fce81d23a651d21546ee Mon Sep 17 00:00:00 2001 From: Andrii Ostapenko Date: Thu, 14 Aug 2025 00:36:10 +0300 Subject: [PATCH] added docker pgAdmin4 --- Dockerfile | 2 +- README.md | 1 + docker-compose.yml | 16 ++++++++++++++++ staticfiles/admin/css/base.css | 7 +++++++ staticfiles/admin/css/forms.css | 4 ++++ staticfiles/admin/css/responsive.css | 9 +++++---- staticfiles/admin/css/responsive_rtl.css | 3 +++ staticfiles/admin/css/rtl.css | 10 ++++++++++ staticfiles/admin/css/widgets.css | 1 + .../js/tabbed_translation_fields.js | 2 -- 10 files changed, 48 insertions(+), 7 deletions(-) create mode 100644 README.md diff --git a/Dockerfile b/Dockerfile index 485bd85..63a7866 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,7 +15,7 @@ COPY poetry.lock pyproject.toml /app/ # Встановлюємо залежності, не створюючи віртуального середовища RUN poetry config virtualenvs.create false \ - && poetry install --no-interaction --no-ansi + && poetry install --no-interaction --no-ansi --no-root # Копіюємо інші файли проекту COPY . /app diff --git a/README.md b/README.md new file mode 100644 index 0000000..a814191 --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +# docker-compose, celery diff --git a/docker-compose.yml b/docker-compose.yml index 274f2e3..789e223 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -27,6 +27,19 @@ services: retries: 5 start_period: 5s + pgadmin: + image: dpage/pgadmin4:latest + environment: + PGADMIN_DEFAULT_EMAIL: admin@mail.com + PGADMIN_DEFAULT_PASSWORD: 1234567 + ports: + - "5050:80" + depends_on: + db: + condition: service_healthy + volumes: + - pgadmin_data:/var/lib/pgadmin + redis: image: redis:latest platform: linux/amd64 @@ -76,3 +89,6 @@ services: redis: condition: service_healthy +volumes: + postgres_data: + pgadmin_data: \ No newline at end of file diff --git a/staticfiles/admin/css/base.css b/staticfiles/admin/css/base.css index 72f4ae1..93db7d0 100644 --- a/staticfiles/admin/css/base.css +++ b/staticfiles/admin/css/base.css @@ -1090,6 +1090,9 @@ a.deletelink:focus, a.deletelink:hover { /* PAGINATOR */ .paginator { + display: flex; + align-items: center; + gap: 4px; font-size: 0.8125rem; padding-top: 10px; padding-bottom: 10px; @@ -1133,6 +1136,10 @@ a.deletelink:focus, a.deletelink:hover { background: var(--link-hover-color); } +.paginator input { + margin-left: auto; +} + .base-svgs { display: none; } diff --git a/staticfiles/admin/css/forms.css b/staticfiles/admin/css/forms.css index e45abe1..9a8dad0 100644 --- a/staticfiles/admin/css/forms.css +++ b/staticfiles/admin/css/forms.css @@ -24,6 +24,9 @@ form .form-row p { .flex-container { display: flex; +} + +.form-multiline { flex-wrap: wrap; } @@ -78,6 +81,7 @@ form ul.inline li { .aligned label { display: block; padding: 4px 10px 0 0; + min-width: 160px; width: 160px; word-wrap: break-word; line-height: 1; diff --git a/staticfiles/admin/css/responsive.css b/staticfiles/admin/css/responsive.css index 9ce4f67..1d0a188 100644 --- a/staticfiles/admin/css/responsive.css +++ b/staticfiles/admin/css/responsive.css @@ -565,6 +565,10 @@ input[type="submit"], button { flex-flow: column; } + .flex-container.checkbox-row { + flex-flow: row; + } + textarea { max-width: none; } @@ -584,6 +588,7 @@ input[type="submit"], button { .aligned label { width: 100%; + min-width: auto; padding: 0 0 10px; } @@ -598,10 +603,6 @@ input[type="submit"], button { max-width: 100%; } - .aligned .checkbox-row { - align-items: center; - } - .aligned .checkbox-row input { flex: 0 1 auto; margin: 0; diff --git a/staticfiles/admin/css/responsive_rtl.css b/staticfiles/admin/css/responsive_rtl.css index 639e20b..31dc8ff 100644 --- a/staticfiles/admin/css/responsive_rtl.css +++ b/staticfiles/admin/css/responsive_rtl.css @@ -78,4 +78,7 @@ margin-left: 0; margin-right: 0; } + [dir="rtl"] .aligned .vCheckboxLabel { + padding: 1px 5px 0 0; + } } diff --git a/staticfiles/admin/css/rtl.css b/staticfiles/admin/css/rtl.css index 53a6dd6..c349a93 100644 --- a/staticfiles/admin/css/rtl.css +++ b/staticfiles/admin/css/rtl.css @@ -107,6 +107,16 @@ thead th.sorted .text { border-left: none; } +.paginator .end { + margin-left: 6px; + margin-right: 0; +} + +.paginator input { + margin-left: 0; + margin-right: auto; +} + /* FORMS */ .aligned label { diff --git a/staticfiles/admin/css/widgets.css b/staticfiles/admin/css/widgets.css index 5f7adcb..1104e8b 100644 --- a/staticfiles/admin/css/widgets.css +++ b/staticfiles/admin/css/widgets.css @@ -69,6 +69,7 @@ padding: 0; overflow: hidden; line-height: 1; + min-width: auto; } .selector .selector-available input, diff --git a/staticfiles/modeltranslation/js/tabbed_translation_fields.js b/staticfiles/modeltranslation/js/tabbed_translation_fields.js index d5ab730..69530a1 100644 --- a/staticfiles/modeltranslation/js/tabbed_translation_fields.js +++ b/staticfiles/modeltranslation/js/tabbed_translation_fields.js @@ -541,9 +541,7 @@ var google, django, gettext; ); $(document).ready(function () { - $(window).on("load", function () { handleTabularAddAnotherInline(tabularInlineGroup); - }); }); }); }