[CHANGE] Switch to Django Solo

This commit is contained in:
Peter Pfeufer 2024-08-20 14:41:43 +02:00
parent ecc9e68330
commit e0d76dc268
No known key found for this signature in database
GPG Key ID: 6051D2C6AD4EBC27
6 changed files with 11 additions and 116 deletions

View File

@ -2,16 +2,16 @@
Admin classes for custom_css app Admin classes for custom_css app
""" """
# Django
from django.contrib import admin
# Django Solos
from solo.admin import SingletonModelAdmin
# Alliance Auth Custom CSS # Alliance Auth Custom CSS
from allianceauth.custom_css.models import CustomCSS from allianceauth.custom_css.models import CustomCSS
from allianceauth.custom_css.forms import CustomCSSAdminForm from allianceauth.custom_css.forms import CustomCSSAdminForm
# Alliance Auth Framework
from allianceauth.framework.admin import SingletonModelAdmin
# Django
from django.contrib import admin
@admin.register(CustomCSS) @admin.register(CustomCSS)
class CustomCSSAdmin(SingletonModelAdmin): class CustomCSSAdmin(SingletonModelAdmin):

View File

@ -2,13 +2,11 @@
Models for the custom_css app Models for the custom_css app
""" """
import hashlib
import os import os
import re import re
import sys
# Alliance Auth Framework # Django Solo
from allianceauth.framework.models import SingletonModel from solo.models import SingletonModel
# Django # Django
from django.conf import settings from django.conf import settings
@ -62,7 +60,7 @@ class CustomCSS(SingletonModel):
self.pk = 1 self.pk = 1
if len(self.css.replace(" ", "")) > 0: if self.css and len(self.css.replace(" ", "")) > 0:
# Write the custom CSS to a file # Write the custom CSS to a file
custom_css_file = open( custom_css_file = open(
f"{settings.STATIC_ROOT}allianceauth/custom-styles.css", "w+" f"{settings.STATIC_ROOT}allianceauth/custom-styles.css", "w+"

View File

@ -1,58 +0,0 @@
"""
Admin classes for the framework app
"""
from django.contrib import admin
class SingletonModelAdmin(admin.ModelAdmin):
"""
Singleton Model Admin
Prevents Django admin users deleting the singleton or adding extra rows.
"""
actions = None # Removes the default delete action.
def has_add_permission(self, request): # pylint: disable=unused-argument
"""
Has "add" permissions
:param request:
:type request:
:return:
:rtype:
"""
return self.model.objects.all().count() == 0
def has_change_permission(
self, request, obj=None # pylint: disable=unused-argument
):
"""
Has "change" permissions
:param request:
:type request:
:param obj:
:type obj:
:return:
:rtype:
"""
return True
def has_delete_permission(
self, request, obj=None # pylint: disable=unused-argument
):
"""
Has "delete" permissions
:param request:
:type request:
:param obj:
:type obj:
:return:
:rtype:
"""
return False

View File

@ -1,47 +0,0 @@
"""
AA framework models
"""
from django.db import models
class SingletonModel(models.Model):
"""
SingletonModel
"""
class Meta: # pylint: disable=too-few-public-methods
"""
Model meta definitions
"""
abstract = True
def save(self, *args, **kwargs):
"""
"Save" action
:param args:
:type args:
:param kwargs:
:type kwargs:
:return:
:rtype:
"""
self.pk = 1
super().save(*args, **kwargs)
def delete(self, *args, **kwargs):
"""
"Delete" action
:param args:
:type args:
:param kwargs:
:type kwargs:
:return:
:rtype:
"""
pass # pylint: disable=unnecessary-pass

View File

@ -22,6 +22,7 @@ INSTALLED_APPS = [
'django.contrib.staticfiles', 'django.contrib.staticfiles',
'django.contrib.humanize', 'django.contrib.humanize',
'django_celery_beat', 'django_celery_beat',
'solo',
'bootstrapform', 'bootstrapform',
'django_bootstrap5', # https://github.com/zostera/django-bootstrap5 'django_bootstrap5', # https://github.com/zostera/django-bootstrap5
'sortedm2m', 'sortedm2m',

View File

@ -50,6 +50,7 @@ dependencies = [
"django-esi>=5", "django-esi>=5",
"django-redis>=5.2", "django-redis>=5.2",
"django-registration<3.4,>=3.3", "django-registration<3.4,>=3.3",
"django-solo",
"django-sortedm2m", "django-sortedm2m",
"dnspython", "dnspython",
"mysqlclient>=2.1", "mysqlclient>=2.1",