Remove ajax_select from core

This commit is contained in:
2024-10-20 23:25:56 +02:00
parent e7181257e3
commit 8b419dcee6
5 changed files with 61 additions and 12 deletions

View File

@ -18,7 +18,6 @@ from urllib.parse import quote, urljoin
# This file contains all the views that concern the page model
from wsgiref.util import FileWrapper
from ajax_select import make_ajax_field
from django import forms
from django.conf import settings
from django.core.exceptions import PermissionDenied
@ -39,6 +38,11 @@ from core.views import (
CanViewMixin,
can_view,
)
from core.views.widgets.select import (
AutoCompleteSelectMultipleGroup,
AutoCompleteSelectSithFile,
AutoCompleteSelectUser,
)
from counter.utils import is_logged_in_counter
@ -217,14 +221,13 @@ class FileEditPropForm(forms.ModelForm):
class Meta:
model = SithFile
fields = ["parent", "owner", "edit_groups", "view_groups"]
widgets = {
"parent": AutoCompleteSelectSithFile,
"owner": AutoCompleteSelectUser,
"edit_groups": AutoCompleteSelectMultipleGroup,
"view_groups": AutoCompleteSelectMultipleGroup,
}
parent = make_ajax_field(SithFile, "parent", "files", help_text="")
edit_groups = make_ajax_field(
SithFile, "edit_groups", "groups", help_text="", label=_("edit group")
)
view_groups = make_ajax_field(
SithFile, "view_groups", "groups", help_text="", label=_("view group")
)
recursive = forms.BooleanField(label=_("Apply rights recursively"), required=False)

View File

@ -3,8 +3,8 @@ from django.db.models import Model
from django.forms import Select, SelectMultiple
from ninja import ModelSchema
from core.models import Group, User
from core.schemas import GroupSchema, UserProfileSchema
from core.models import Group, SithFile, User
from core.schemas import GroupSchema, SithFileSchema, UserProfileSchema
class AutoCompleteSelectMixin:
@ -91,3 +91,15 @@ class AutoCompleteSelectMultipleGroup(AutoCompleteSelectMixin, SelectMultiple):
component_name = "group-ajax-select"
model = Group
schema = GroupSchema
class AutoCompleteSelectSithFile(AutoCompleteSelectMixin, Select):
component_name = "sith-file-ajax-select"
model = SithFile
schema = SithFileSchema
class AutoCompleteSelectMultipleSithFile(AutoCompleteSelectMixin, SelectMultiple):
component_name = "sith-file-ajax-select"
model = SithFile
schema = SithFileSchema