From fd86389b2ef158910f40698a0a2b29ba13285a32 Mon Sep 17 00:00:00 2001 From: Dorian Lesbre <dorian.lesbre@gmail.com> Date: Sun, 25 Apr 2021 17:40:20 +0200 Subject: [PATCH] Added uploadable planning file --- home/templates/_planning.html | 4 +++- home/templates/admin.html | 2 ++ home/urls.py | 5 +++++ interludes/settings.py | 3 +++ site_settings/admin.py | 7 +++++- .../migrations/0005_auto_20210425_1732.py | 22 +++++++++++++++++++ ...05_remove_sitesettings_planning_caption.py | 17 -------------- site_settings/models.py | 3 +++ 8 files changed, 44 insertions(+), 19 deletions(-) create mode 100644 site_settings/migrations/0005_auto_20210425_1732.py delete mode 100644 site_settings/migrations/0005_remove_sitesettings_planning_caption.py diff --git a/home/templates/_planning.html b/home/templates/_planning.html index 1424d5a..994de6d 100644 --- a/home/templates/_planning.html +++ b/home/templates/_planning.html @@ -195,7 +195,7 @@ I.E we set all dates to the first day (Friday) and set groups allowing vertical } </style> -{% if settings.planning_caption %} + <div class="caption"> <p><strong>Légende :</strong></p> <ul style="list-style-type: none; margin-left:-20px"> @@ -206,4 +206,6 @@ I.E we set all dates to the first day (Friday) and set groups allowing vertical <li><span style="background-color: var(--color_6);"> </span> Autre</li> </ul> </div> +{% if settings.planning_file %} + <div></div><a class="button" href="{{ settings.planning_file.url }}"><i class="fa fa-download"></i> Télécharger le planning</a></div> {% endif %} diff --git a/home/templates/admin.html b/home/templates/admin.html index d18adda..e6230d5 100644 --- a/home/templates/admin.html +++ b/home/templates/admin.html @@ -167,6 +167,8 @@ <h2>Prévisualisation du planning</h2> + <p>Vous pouver uploader une version PDF dans le réglages (depuis django-admin)</p> + {% include "_planning.html" %} <h2>Répartition des activités</h2> diff --git a/home/urls.py b/home/urls.py index 28bf00d..b40e690 100644 --- a/home/urls.py +++ b/home/urls.py @@ -1,3 +1,5 @@ +from django.conf import settings +from django.conf.urls.static import static from django.contrib.sitemaps.views import sitemap from django.views.generic import RedirectView from django.urls import path, include @@ -26,3 +28,6 @@ urlpatterns = [ ), path('accounts/', include("accounts.urls")), ] + +if settings.DEBUG: + urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) diff --git a/interludes/settings.py b/interludes/settings.py index 47d866d..58eca27 100644 --- a/interludes/settings.py +++ b/interludes/settings.py @@ -173,6 +173,9 @@ USE_TZ = True STATIC_URL = '/static/' STATIC_ROOT = os.path.join(BASE_DIR, 'static') +MEDIA_URL = '/media/' +MEDIA_ROOT = os.path.join(BASE_DIR, 'media') + LOGIN_URL = "accounts:login" LOGIN_REDIRECT_URL = "accounts:profile" diff --git a/site_settings/admin.py b/site_settings/admin.py index b8e4ae8..8f04fda 100644 --- a/site_settings/admin.py +++ b/site_settings/admin.py @@ -14,4 +14,9 @@ class SingletonModelAdmin(admin.ModelAdmin): @admin.register(SiteSettings) class SiteSettingsAdmin(SingletonModelAdmin): - pass \ No newline at end of file + + def planning_file_link(self, obj): + if obj.file: + return "<a href='%s'>download</a>" % (obj.file.url,) + else: + return "No attachment" diff --git a/site_settings/migrations/0005_auto_20210425_1732.py b/site_settings/migrations/0005_auto_20210425_1732.py new file mode 100644 index 0000000..45dec1c --- /dev/null +++ b/site_settings/migrations/0005_auto_20210425_1732.py @@ -0,0 +1,22 @@ +# Generated by Django 3.0.8 on 2021-04-25 15:32 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('site_settings', '0004_sitesettings_planning_caption'), + ] + + operations = [ + migrations.RemoveField( + model_name='sitesettings', + name='planning_caption', + ), + migrations.AddField( + model_name='sitesettings', + name='planning_file', + field=models.FileField(blank=True, null=True, upload_to='', verbose_name='Version PDF du planning'), + ), + ] diff --git a/site_settings/migrations/0005_remove_sitesettings_planning_caption.py b/site_settings/migrations/0005_remove_sitesettings_planning_caption.py deleted file mode 100644 index f077d59..0000000 --- a/site_settings/migrations/0005_remove_sitesettings_planning_caption.py +++ /dev/null @@ -1,17 +0,0 @@ -# Generated by Django 3.0.8 on 2021-04-25 14:43 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('site_settings', '0004_sitesettings_planning_caption'), - ] - - operations = [ - migrations.RemoveField( - model_name='sitesettings', - name='planning_caption', - ), - ] diff --git a/site_settings/models.py b/site_settings/models.py index e95f710..7ca8da8 100644 --- a/site_settings/models.py +++ b/site_settings/models.py @@ -52,6 +52,9 @@ class SiteSettings(SingletonModel): ) display_planning = models.BooleanField("Afficher le planning", default=False) + planning_file = models.FileField( + verbose_name="Version PDF du planning", null=True, blank=True, + ) activities_allocated = models.BooleanField( "Afficher les activités obtenues", default=False, -- GitLab