feat: add button to download all logs
This commit is contained in:
@@ -41,6 +41,7 @@ dependencies = [
|
|||||||
"django-super-deduper",
|
"django-super-deduper",
|
||||||
"django-allauth[mfa]",
|
"django-allauth[mfa]",
|
||||||
"django_debug_toolbar",
|
"django_debug_toolbar",
|
||||||
|
"django-admin-extra-buttons"
|
||||||
]
|
]
|
||||||
|
|
||||||
dynamic = ["version", "readme"]
|
dynamic = ["version", "readme"]
|
||||||
|
|||||||
@@ -7,6 +7,8 @@ from django.utils.html import format_html
|
|||||||
from django.urls import reverse
|
from django.urls import reverse
|
||||||
from django.utils.http import urlencode
|
from django.utils.http import urlencode
|
||||||
|
|
||||||
|
from admin_extra_buttons.api import ExtraButtonsMixin, button, link
|
||||||
|
|
||||||
from .models import Language, Text, ReportComment, ReportAdoptionNotice, Log, Timestamp, SearchSubscription, \
|
from .models import Language, Text, ReportComment, ReportAdoptionNotice, Log, Timestamp, SearchSubscription, \
|
||||||
SpeciesSpecificURL, ImportantLocation, SocialMediaPost
|
SpeciesSpecificURL, ImportantLocation, SocialMediaPost
|
||||||
|
|
||||||
@@ -170,18 +172,26 @@ class SocialMediaPostAdmin(admin.ModelAdmin):
|
|||||||
|
|
||||||
|
|
||||||
@admin.register(Log)
|
@admin.register(Log)
|
||||||
class LogAdmin(admin.ModelAdmin):
|
class LogAdmin(ExtraButtonsMixin, admin.ModelAdmin):
|
||||||
ordering = ["-created_at"]
|
ordering = ["-created_at"]
|
||||||
list_filter = ("action",)
|
list_filter = ("action",)
|
||||||
list_display = ("action", "user", "created_at")
|
list_display = ("action", "user", "created_at")
|
||||||
actions = ("export_as_csv",)
|
actions = ("export_as_csv",)
|
||||||
|
|
||||||
|
@admin.action(description=_("Ausgewählte Logs exportieren"))
|
||||||
def export_as_csv(self, request, queryset):
|
def export_as_csv(self, request, queryset):
|
||||||
response = export_to_csv_generic(Log, queryset)
|
response = export_to_csv_generic(Log, queryset)
|
||||||
return response
|
return response
|
||||||
|
|
||||||
export_as_csv.short_description = _("Ausgewählte Logs exportieren")
|
@button()
|
||||||
|
def export_all_as_csv(self, request):
|
||||||
|
actual_queryset = Log.objects.all()
|
||||||
|
response = export_to_csv_generic(Log, actual_queryset)
|
||||||
|
return response
|
||||||
|
|
||||||
|
@link(href="https://www.google.com/", visible=lambda btn: True)
|
||||||
|
def invisible(self, button):
|
||||||
|
button.visible = False
|
||||||
|
|
||||||
admin.site.register(Animal)
|
admin.site.register(Animal)
|
||||||
admin.site.register(Species)
|
admin.site.register(Species)
|
||||||
|
|||||||
@@ -88,7 +88,6 @@ if config.getboolean('django', 'cache', fallback=False):
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
""" DATABASE """
|
""" DATABASE """
|
||||||
DB_BACKEND = config.get("database", "backend", fallback="sqlite3")
|
DB_BACKEND = config.get("database", "backend", fallback="sqlite3")
|
||||||
DB_NAME = config.get("database", "name", fallback="notfellchen.sqlite3")
|
DB_NAME = config.get("database", "name", fallback="notfellchen.sqlite3")
|
||||||
@@ -100,7 +99,6 @@ DB_HOST = config.get("database", "host", fallback='')
|
|||||||
BASE_DIR = Path(__file__).resolve().parent.parent
|
BASE_DIR = Path(__file__).resolve().parent.parent
|
||||||
LOCALE_PATHS = [os.path.join(BASE_DIR, 'locale')]
|
LOCALE_PATHS = [os.path.join(BASE_DIR, 'locale')]
|
||||||
|
|
||||||
|
|
||||||
""" CELERY + KEYDB """
|
""" CELERY + KEYDB """
|
||||||
CELERY_BROKER_URL = config.get("celery", "broker", fallback="redis://localhost:6379/0")
|
CELERY_BROKER_URL = config.get("celery", "broker", fallback="redis://localhost:6379/0")
|
||||||
CELERY_RESULT_BACKEND = config.get("celery", "backend", fallback="redis://localhost:6379/0")
|
CELERY_RESULT_BACKEND = config.get("celery", "backend", fallback="redis://localhost:6379/0")
|
||||||
@@ -246,6 +244,7 @@ INSTALLED_APPS = [
|
|||||||
'drf_spectacular_sidecar', # required for Django collectstatic discovery
|
'drf_spectacular_sidecar', # required for Django collectstatic discovery
|
||||||
'widget_tweaks',
|
'widget_tweaks',
|
||||||
"debug_toolbar",
|
"debug_toolbar",
|
||||||
|
'admin_extra_buttons',
|
||||||
]
|
]
|
||||||
|
|
||||||
MIDDLEWARE = [
|
MIDDLEWARE = [
|
||||||
|
|||||||
Reference in New Issue
Block a user