Ajout et utilisation de summernote

This commit is contained in:
Ambulance Clerc
2023-06-01 16:37:38 +02:00
parent 99be4cc5b6
commit 8480fb9fcf
6 changed files with 63 additions and 14 deletions

View File

@@ -11,6 +11,7 @@ https://docs.djangoproject.com/en/4.0/ref/settings/
"""
from pathlib import Path
import os
# Build paths inside the project like this: BASE_DIR / 'subdir'.
BASE_DIR = Path(__file__).resolve().parent.parent
@@ -25,6 +26,8 @@ SECRET_KEY = 'django-insecure-j4jd&+4j^t_=@zr(#q@n!8e*58vkql6&_6w-t14ju8pw%ei%^s
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
cfg_dev_mode = True
ALLOWED_HOSTS = ["rh.ambulance-clerc.ch"]
@@ -50,10 +53,54 @@ INSTALLED_APPS = [
'django.contrib.admin',
'carnet_rouge.apps.CarnetRougeConfig',
#'nextcloud.apps.NextcloudConfig',
'tinymce',
'django_quill',
'django_summernote',
]
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media/')
X_FRAME_OPTIONS = 'SAMEORIGIN'
MAX_IMAGE_PIXELS = int(1024 * 1024 * 1024 // 4 // 3)
SUMMERNOTE_THEME = 'bs4'
SUMMERNOTE_CONFIG = {
# Using SummernoteWidget - iframe mode, default
'iframe': True,
'attachment_filesize_limit': 2621440 ,
'summernote': {
# As an example, using Summernote Air-mode
'airMode': False,
# Change editor size
'width': '100%',
'height': '480',
# Use proper language setting automatically (default)
'lang': "fr-FR",
# Toolbar customization
# https://summernote.org/deep-dive/#custom-toolbar-popover
'toolbar': [
['view', ['undo','redo','fullscreen', 'codeview', 'help']],
['fontfamily',['fontsize']],
['font', ['bold', 'italic', 'underline', 'superscript', 'subscript', 'clear']],
['color', ['forecolor','backcolor']],
['para', ['ul', 'ol', 'paragraph']],
['table', ['table']],
['insert', ['link', 'picture', 'video', 'hr']],
['style', ['style']],
],
}
}
DATA_UPLOAD_MAX_NUMBER_FIELDS = 2500
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
@@ -293,9 +340,10 @@ JAZZMIN_SETTINGS = {
"language_chooser": False,
}
if cfg_dev_mode:
NEXTCLOUD_HOST = "cloud.ambulance-clerc.ch"
else:
NEXTCLOUD_HOST = "cloud.ambulance-clerc.ch"
NEXTCLOUD_USER_DEFAULT_PASSWORD = "Mc144*1870"

View File

@@ -7,6 +7,7 @@ from django.contrib.admin import SimpleListFilter
from django.utils.encoding import force_str
from django.utils.translation import gettext_lazy as _
from django_summernote.admin import SummernoteModelAdmin
class DefaultListFilter(SimpleListFilter):
all_value = '_all'
@@ -49,7 +50,8 @@ class StatusFilter(DefaultListFilter):
return 1
@admin.register(cr_Message)
class cr_Message_Admin(admin.ModelAdmin):
class cr_Message_Admin(SummernoteModelAdmin):
summernote_fields = ('sText',)
class Meta:
verbose_name = 'Message carnet rouge'
verbose_name_plural = 'Messages carnet rouge'

View File

@@ -30,7 +30,7 @@ class cr_Message(models.Model):
sReadedUsers = models.TextField("Liste des utilisateurs ayant lu", blank=True)
DestGroup = models.ForeignKey(Group, on_delete=models.DO_NOTHING)
sTitle = models.CharField("Titre", max_length=120)
sText = QuillField ("Corps de texte")
sText = models.TextField ("Corps de texte")
dtValidityFrom = models.DateField("Validité depuis",default=timezone.now)
dtValidityTo = models.DateField("Validité jusqu'à", blank=True, null=True)
bEnabled = models.BooleanField("Actif", default=True)

View File

@@ -1,7 +1,7 @@
<div class="card">
<div class="card-body">
<div>
{{ obj.sText.html|safe }}
{{ obj.sText|safe }}
</div>
</div>
</div>

View File

@@ -1,5 +1,7 @@
from django.urls import path
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static
from carnet_rouge import views
@@ -9,12 +11,9 @@ urlpatterns = [
path('cr', views.model_form_view, name='model_form_view'),
path('view/<int:pk>', views.CrDetailView.as_view(), name='cr_view'),
path('notread', views.CrNotReadView.as_view(), name='cr_not_read_list'),
path('summernote/', include('django_summernote.urls')),
path('editor/', include('django_summernote.urls')),
]
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

View File

@@ -56,4 +56,4 @@ x-wr-timezone==0.0.5
xhtml2pdf==0.2.7
zopfli==0.1.9
django-autologin
django-quill-editor
django-summernote