From 3195f936d3d9bec4102ab348af187f7b001318aa Mon Sep 17 00:00:00 2001 From: bkfox Date: Tue, 16 Aug 2022 13:45:55 +0200 Subject: [PATCH 1/3] fix admin-sortable update --- aircox/admin/episode.py | 3 ++- aircox/admin/sound.py | 4 ++-- aircox/admin/station.py | 3 ++- requirements.txt | 2 +- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/aircox/admin/episode.py b/aircox/admin/episode.py index e255cab..e2f1a66 100644 --- a/aircox/admin/episode.py +++ b/aircox/admin/episode.py @@ -3,6 +3,7 @@ from copy import copy from django.contrib import admin from django.forms import ModelForm from django.utils.translation import gettext as _ +from adminsortable2.admin import SortableAdminBase from ..models import Episode, Diffusion @@ -56,7 +57,7 @@ class EpisodeAdminForm(ModelForm): @admin.register(Episode) -class EpisodeAdmin(PageAdmin): +class EpisodeAdmin(SortableAdminBase, PageAdmin): form = EpisodeAdminForm list_display = PageAdmin.list_display list_filter = tuple(f for f in PageAdmin.list_filter if f != 'pub_date') + \ diff --git a/aircox/admin/sound.py b/aircox/admin/sound.py index 34012de..1a4b515 100644 --- a/aircox/admin/sound.py +++ b/aircox/admin/sound.py @@ -4,7 +4,7 @@ from django.contrib import admin from django.utils.safestring import mark_safe from django.utils.translation import gettext_lazy as _ -from adminsortable2.admin import SortableInlineAdminMixin +from adminsortable2.admin import SortableAdminBase, SortableInlineAdminMixin from ..models import Sound, Track @@ -38,7 +38,7 @@ class SoundInline(admin.TabularInline): @admin.register(Sound) -class SoundAdmin(admin.ModelAdmin): +class SoundAdmin(SortableAdminBase, admin.ModelAdmin): fields = None list_display = ['id', 'name', 'related', 'type', 'duration', 'is_public', 'is_good_quality', diff --git a/aircox/admin/station.py b/aircox/admin/station.py index 341f288..41cedec 100644 --- a/aircox/admin/station.py +++ b/aircox/admin/station.py @@ -1,4 +1,5 @@ from django.contrib import admin +from adminsortable2.admin import SortableAdminBase from ..models import Port, Station from .page import NavItemInline @@ -13,7 +14,7 @@ class PortInline(admin.StackedInline): @admin.register(Station) -class StationAdmin(admin.ModelAdmin): +class StationAdmin(SortableAdminBase, admin.ModelAdmin): prepopulated_fields = {'slug': ('name',)} inlines = (PortInline, NavItemInline) diff --git a/requirements.txt b/requirements.txt index 58ee787..8b446a9 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,7 +6,7 @@ django-filter~=22.1 django-filer~=2.2 django-honeypot~=1.0 django-taggit~=3.0 -django-admin-sortable2~=2.2 +django-admin-sortable2~=2.1 django-ckeditor~=6.4 bleach~=5.0 easy-thumbnails~=2.8 From 1d60f2fa41f71ca3d22feaa389e1e4b6782bc6ff Mon Sep 17 00:00:00 2001 From: bkfox Date: Tue, 16 Aug 2022 13:52:11 +0200 Subject: [PATCH 2/3] fix template include error --- aircox/templates/admin/aircox/playlist_inline.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aircox/templates/admin/aircox/playlist_inline.html b/aircox/templates/admin/aircox/playlist_inline.html index cf83872..64eb789 100644 --- a/aircox/templates/admin/aircox/playlist_inline.html +++ b/aircox/templates/admin/aircox/playlist_inline.html @@ -2,6 +2,6 @@ {% load static i18n %} {% with inline_admin_formset.formset.instance as playlist %} -{% include "adminsortable2/tabular.html" %} +{% include "adminsortable2/edit_inline/tabular-django-4.1.html" %} {% endwith %} From dbc57cbcd131627e105a3d9371c3c63561a6fc26 Mon Sep 17 00:00:00 2001 From: bkfox Date: Tue, 16 Aug 2022 14:02:10 +0200 Subject: [PATCH 3/3] change default aircox's dir in scripts --- scripts/cron | 2 +- scripts/nginx_aircox | 6 +++--- scripts/supervisord_aircox | 20 ++++++++++---------- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/scripts/cron b/scripts/cron index 1609fcb..cd09580 100755 --- a/scripts/cron +++ b/scripts/cron @@ -2,7 +2,7 @@ # aircox daily tasks: # - diffusions monitoring for the current month -cd /srv/apps/aircox/ +cd /srv/www/aircox/ scripts/launch_in_venv ./manage.py diffusions --update --clean # - diffusions monitoring for the next month scripts/launch_in_venv ./manage.py diffusions --update --next-month diff --git a/scripts/nginx_aircox b/scripts/nginx_aircox index b21cde4..4afeb54 100755 --- a/scripts/nginx_aircox +++ b/scripts/nginx_aircox @@ -2,7 +2,7 @@ # # The binding is done to a Gunicorn's instance (cf. supervisor scripts), # on local port 8042 # and assumes that static files are in -# /srv/apps/aircox/static. +# /srv/www/aircox/static. # # You want to change the server_name and static location to suit your needs # @@ -21,7 +21,7 @@ server { } location /static/ { - alias /srv/apps/aircox/static/ ; + alias /srv/www/aircox/static/ ; location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ { expires 365d; @@ -29,7 +29,7 @@ server { } location /media/ { - alias /srv/apps/aircox/static/media/ ; + alias /srv/www/aircox/static/media/ ; location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ { expires 365d; diff --git a/scripts/supervisord_aircox b/scripts/supervisord_aircox index 7d8df1a..5912382 100755 --- a/scripts/supervisord_aircox +++ b/scripts/supervisord_aircox @@ -1,7 +1,7 @@ ; Supervisor sample config file for Aircox. ; ; It assumes that the instance is installed in the directory -; "/srv/apps/aircox". It requires Gunicorn in order to run the +; "/srv/www/aircox". It requires Gunicorn in order to run the ; WSGI server. ; ; * aircox_server: WSGI server instance using Gunicorn for production; @@ -14,32 +14,32 @@ ; [program:aircox_server] -command = /srv/apps/aircox/scripts/launch_in_venv gunicorn --bind 127.0.0.1:8042 instance.wsgi:application -directory = /srv/apps/aircox +command = /srv/www/aircox/scripts/launch_in_venv gunicorn --bind 127.0.0.1:8042 instance.wsgi:application +directory = /srv/www/aircox user = aircox autostart = true autorestart = true -stdout_logfile = /srv/apps/aircox/logs/server.log +stdout_logfile = /srv/www/aircox/logs/server.log redirect_stderr = true environment=AIRCOX_DEBUG="False" [program:aircox_sounds_monitor] -command = /srv/apps/aircox/scripts/launch_in_venv ./manage.py sounds_monitor -qsm -directory = /srv/apps/aircox +command = /srv/www/aircox/scripts/launch_in_venv ./manage.py sounds_monitor -qsm +directory = /srv/www/aircox user = aircox autostart = true autorestart = true -stdout_logfile = /srv/apps/aircox/logs/sounds_monitor.log +stdout_logfile = /srv/www/aircox/logs/sounds_monitor.log redirect_stderr = true environment=AIRCOX_DEBUG="False" [program:aircox_streamer] -command = /srv/apps/aircox/scripts/launch_in_venv ./manage.py streamer -crm -directory = /srv/apps/aircox +command = /srv/www/aircox/scripts/launch_in_venv ./manage.py streamer -crm +directory = /srv/www/aircox user = aircox autostart = true autorestart = true -stdout_logfile = /srv/apps/aircox/logs/streamer.log +stdout_logfile = /srv/www/aircox/logs/streamer.log redirect_stderr = true environment=AIRCOX_DEBUG="False"