mirror of
				https://gitlab.com/animath/si/plateforme.git
				synced 2025-11-04 09:02:11 +01:00 
			
		
		
		
	Render only useful content when displaying modals
This commit is contained in:
		@@ -1,4 +1,4 @@
 | 
			
		||||
{% extends "base.html" %}
 | 
			
		||||
{% extends request.content_only|yesno:"empty.html,base.html" %}
 | 
			
		||||
 | 
			
		||||
{% load crispy_forms_filters i18n %}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
{% extends "base.html" %}
 | 
			
		||||
{% extends request.content_only|yesno:"empty.html,base.html" %}
 | 
			
		||||
 | 
			
		||||
{% load crispy_forms_filters i18n %}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
{% extends "base.html" %}
 | 
			
		||||
{% extends request.content_only|yesno:"empty.html,base.html" %}
 | 
			
		||||
 | 
			
		||||
{% load crispy_forms_filters i18n %}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
{% extends "base.html" %}
 | 
			
		||||
{% extends request.content_only|yesno:"empty.html,base.html" %}
 | 
			
		||||
 | 
			
		||||
{% load crispy_forms_filters i18n %}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
{% extends "base.html" %}
 | 
			
		||||
{% extends request.content_only|yesno:"empty.html,base.html" %}
 | 
			
		||||
 | 
			
		||||
{% load crispy_forms_filters i18n %}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
{% extends "base.html" %}
 | 
			
		||||
{% extends request.content_only|yesno:"empty.html,base.html" %}
 | 
			
		||||
 | 
			
		||||
{% load i18n %}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
{% extends "base.html" %}
 | 
			
		||||
{% extends request.content_only|yesno:"empty.html,base.html" %}
 | 
			
		||||
 | 
			
		||||
{% load django_tables2 i18n %}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
{% extends "base.html" %}
 | 
			
		||||
{% extends request.content_only|yesno:"empty.html,base.html" %}
 | 
			
		||||
 | 
			
		||||
{% load crispy_forms_filters i18n %}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
{% extends "base.html" %}
 | 
			
		||||
{% extends request.content_only|yesno:"empty.html,base.html" %}
 | 
			
		||||
 | 
			
		||||
{% load django_tables2 i18n %}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
{% extends "base.html" %}
 | 
			
		||||
{% extends request.content_only|yesno:"empty.html,base.html" %}
 | 
			
		||||
 | 
			
		||||
{% load crispy_forms_filters i18n %}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
{% extends "base.html" %}
 | 
			
		||||
{% extends request.content_only|yesno:"empty.html,base.html" %}
 | 
			
		||||
 | 
			
		||||
{% load i18n static crispy_forms_filters %}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
{% extends "base.html" %}
 | 
			
		||||
{% extends request.content_only|yesno:"empty.html,base.html" %}
 | 
			
		||||
 | 
			
		||||
{% load crispy_forms_tags %}
 | 
			
		||||
{% load i18n %}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
{% extends "base.html" %}
 | 
			
		||||
{% extends request.content_only|yesno:"empty.html,base.html" %}
 | 
			
		||||
 | 
			
		||||
{% load crispy_forms_filters i18n %}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
{% extends "base.html" %}
 | 
			
		||||
{% extends request.content_only|yesno:"empty.html,base.html" %}
 | 
			
		||||
 | 
			
		||||
{% load crispy_forms_filters i18n static %}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
{% extends "base.html" %}
 | 
			
		||||
{% extends request.content_only|yesno:"empty.html,base.html" %}
 | 
			
		||||
 | 
			
		||||
{% load crispy_forms_filters i18n %}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
{% extends "base.html" %}
 | 
			
		||||
{% extends request.content_only|yesno:"empty.html,base.html" %}
 | 
			
		||||
 | 
			
		||||
{% load crispy_forms_filters i18n %}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
{% extends "base.html" %}
 | 
			
		||||
{% extends request.content_only|yesno:"empty.html,base.html" %}
 | 
			
		||||
 | 
			
		||||
{% load i18n static crispy_forms_filters %}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
{% extends "base.html" %}
 | 
			
		||||
{% extends request.content_only|yesno:"empty.html,base.html" %}
 | 
			
		||||
 | 
			
		||||
{% load i18n static crispy_forms_filters %}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
{% extends "base.html" %}
 | 
			
		||||
{% extends request.content_only|yesno:"empty.html,base.html" %}
 | 
			
		||||
 | 
			
		||||
{% load i18n static crispy_forms_filters %}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -52,3 +52,16 @@ class SessionMiddleware(object):
 | 
			
		||||
        _set_current_user_and_ip(None, None, None)
 | 
			
		||||
 | 
			
		||||
        return response
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class FetchMiddleware(object):
 | 
			
		||||
    """
 | 
			
		||||
    This middleware let requests to know when this was called by a fetch command or not.
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    def __init__(self, get_response):
 | 
			
		||||
        self.get_response = get_response
 | 
			
		||||
 | 
			
		||||
    def __call__(self, request):
 | 
			
		||||
        request.content_only = 'CONTENT_ONLY' in request.headers
 | 
			
		||||
        return self.get_response(request)
 | 
			
		||||
 
 | 
			
		||||
@@ -87,6 +87,7 @@ MIDDLEWARE = [
 | 
			
		||||
    'django.middleware.locale.LocaleMiddleware',
 | 
			
		||||
    'django.contrib.sites.middleware.CurrentSiteMiddleware',
 | 
			
		||||
    'tfjm.middlewares.SessionMiddleware',
 | 
			
		||||
    'tfjm.middlewares.FetchMiddleware',
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
ROOT_URLCONF = 'tfjm.urls'
 | 
			
		||||
 
 | 
			
		||||
@@ -259,7 +259,7 @@
 | 
			
		||||
            if (!modalBody.innerHTML.trim()) {
 | 
			
		||||
                if (url instanceof Function) url = url()
 | 
			
		||||
 | 
			
		||||
                fetch(url)
 | 
			
		||||
                fetch(url, {headers: {'CONTENT-ONLY': '1'}})
 | 
			
		||||
                    .then(resp => resp.text())
 | 
			
		||||
                    .then(resp => new DOMParser().parseFromString(resp, 'text/html'))
 | 
			
		||||
                    .then(res => modalBody.innerHTML = res.getElementById(content_id).outerHTML)
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										1
									
								
								tfjm/templates/empty.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								tfjm/templates/empty.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
{% block content %}{% endblock content %}
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
{% extends "base.html" %}
 | 
			
		||||
{% extends request.content_only|yesno:"empty.html,base.html" %}
 | 
			
		||||
{% comment %}
 | 
			
		||||
SPDX-License-Identifier: GPL-2.0-or-later
 | 
			
		||||
{% endcomment %}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
{% extends 'base.html' %}
 | 
			
		||||
{% extends request.content_only|yesno:"empty.html,base.html" %}
 | 
			
		||||
 | 
			
		||||
{% load crispy_forms_filters highlight i18n search_results_tables django_tables2 %}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user