Commit 6f677c81 authored by Mickaël Desfrênes's avatar Mickaël Desfrênes
Browse files

update BS

parent 27f6aa9d
Loading
Loading
Loading
Loading
+3 −6
Original line number Diff line number Diff line
/*!
  * Bootstrap v5.3.6 (https://getbootstrap.com/)
  * Bootstrap v5.3.8 (https://getbootstrap.com/)
  * Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
  */
@@ -647,7 +647,7 @@
   * Constants
   */

  const VERSION = '5.3.6';
  const VERSION = '5.3.8';

  /**
   * Class definition
@@ -3690,9 +3690,6 @@
      this._element.setAttribute('aria-expanded', 'false');
      Manipulator.removeDataAttribute(this._menu, 'popper');
      EventHandler.trigger(this._element, EVENT_HIDDEN$5, relatedTarget);

      // Explicitly return focus to the trigger element
      this._element.focus();
    }
    _getConfig(config) {
      config = super._getConfig(config);
@@ -4805,7 +4802,6 @@
   *
   * Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38
   */
  // eslint-disable-next-line unicorn/better-regex
  const SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i;
  const allowedAttribute = (attribute, allowedAttributeList) => {
    const attributeName = attribute.nodeName.toLowerCase();
@@ -5349,6 +5345,7 @@
        if (trigger === 'click') {
          EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK$1), this._config.selector, event => {
            const context = this._initializeOnDelegatedTarget(event);
            context._activeTrigger[TRIGGER_CLICK] = !(context._isShown() && context._activeTrigger[TRIGGER_CLICK]);
            context.toggle();
          });
        } else if (trigger !== TRIGGER_MANUAL) {
+1 −0

File added.

Preview size limit exceeded, changes collapsed.

+6 −1
Original line number Diff line number Diff line
@charset "UTF-8";
/*!
 * Bootstrap  v5.3.6 (https://getbootstrap.com/)
 * Bootstrap  v5.3.8 (https://getbootstrap.com/)
 * Copyright 2011-2025 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
@@ -547,6 +547,10 @@ legend + * {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}
[type=search]::-webkit-search-cancel-button {
  cursor: pointer;
  filter: grayscale(1);
}

/* rtl:raw:
[type="tel"],
@@ -6208,6 +6212,7 @@ textarea.form-control-lg {
.spinner-grow,
.spinner-border {
  display: inline-block;
  flex-shrink: 0;
  width: var(--bs-spinner-width);
  height: var(--bs-spinner-height);
  vertical-align: var(--bs-spinner-vertical-align);
+1 −0

File added.

Preview size limit exceeded, changes collapsed.

+13 −11
Original line number Diff line number Diff line
from typing import List
from django.shortcuts import render, get_object_or_404, redirect, reverse
from typing import List, Union, Iterator
from django.shortcuts import render, get_object_or_404, redirect, reverse  # type: ignore
from django.core.exceptions import PermissionDenied
from django.contrib.auth.decorators import login_required, user_passes_test
from django.http import HttpRequest, HttpResponse, Http404
@@ -27,16 +27,18 @@ def _admin_check(user: AbstractUser) -> bool:
    return user.is_superuser


def editable_metadatas(project: Project) -> List[Metadata]:
def editable_metadatas(project: Project) -> Iterator[Metadata]:
    return (
        Metadata.objects.filter(project=project)
        .exclude(set__title__in=["ExifTool", "OCR"])
        .order_by("set", "title")
        .select_related("set")
    )
    )  # type: ignore


def user_has_project_access(user: User, project: Project) -> bool:
    if user.is_superuser:
        return True
    if not ProjectAccess.objects.filter(project=project, user=user).first():
        raise PermissionDenied()
    return True
@@ -68,7 +70,7 @@ def index(request: HttpRequest) -> HttpResponse:
def collection(request: HttpRequest, collection_id: int) -> HttpResponse:
    collection_instance: Collection = get_object_or_404(Collection, pk=collection_id)
    project_instance = collection_instance.project
    user_has_project_access(request.user, project_instance)
    user_has_project_access(request.user, project_instance)  # type: ignore
    resources = (
        collection_instance.resources.filter(deleted_at__isnull=True)
        .order_by("collectionmembership__rank", "title")
@@ -95,7 +97,7 @@ def collection(request: HttpRequest, collection_id: int) -> HttpResponse:
    )


def _fetch_resource(resource_id: int) -> Resource:
def _fetch_resource(resource_id: int) -> Union[Resource, None]:
    return (
        Resource.objects.filter(pk=resource_id, deleted_at__isnull=True)
        .prefetch_related(
@@ -120,8 +122,8 @@ def resource(
    if not resource_instance:
        raise Http404()
    project_instance = resource_instance.ptr_project
    user_has_project_access(request.user, project_instance)
    user_has_update_permission = ACL(request.user, project_instance).can_update(
    user_has_project_access(request.user, project_instance)  # type: ignore
    user_has_update_permission = ACL(request.user, project_instance).can_update(  # type: ignore
        resource_instance
    )
    if request.method == "POST" and user_has_update_permission:
@@ -147,7 +149,7 @@ def resource(
                            value=val.strip(),
                        )
                if parts[0] == "changevalue":
                    new_val = request.POST.get(key).strip()
                    new_val = request.POST.get(key, "").strip()
                    metaval = MetadataResourceValue.objects.filter(
                        pk=parts[1], resource=resource_instance
                    ).first()
@@ -170,7 +172,7 @@ def resource(
        .values_list("id", flat=True)
    )
    for i in range(len(ids_list)):
        if ids_list[i] == resource_instance.pk:
        if ids_list[i] == resource_instance.pk:  # type: ignore
            if ids_list[i - 1] != ids_list[-1]:
                previous_resource = Resource.objects.get(pk=ids_list[i - 1])
            if i < len(ids_list) - 1:
@@ -185,7 +187,7 @@ def resource(
            "project": project_instance,
            "previous_resource": previous_resource,
            "next_resource": next_resource,
            "editable_metadatas": editable_metadatas(project_instance),
            "editable_metadatas": editable_metadatas(project_instance),  # type: ignore
            "user_has_update_permission": user_has_update_permission,
            "transient_message": transient_message,
        },
Loading