diff --git a/home/templates/_planning.html b/home/templates/_planning.html index 1424d5ae4eb2db5b5d116593350420806af95e0d..994de6de8d02c60686e1986cf618dc01d3bc6685 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 d18adda1a0e171a35b631c6fe0b4a6c0ca108b11..e6230d5cd97222ca697a91ea8fcfb665c81290a9 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 28bf00d6964d468214d83f2cb6249c7c6a3ea7c4..b40e6909b7f24e02e70903e7dbba4f42c31ec695 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 47d866dff37859001e71ac5527f0a4e4641bc13f..58eca27b7dabcefa49ff9dfd13e3b46dd0b56c36 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 b8e4ae845bfa310d920760adb74f469fc6f57465..8f04fda3e59c9d45799aa47648bed653a03898c4 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 0000000000000000000000000000000000000000..45dec1c188c42fa406fa3c6d611317edc63a8b73 --- /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 f077d5922616dc22eafbea88ef522296166aa8bb..0000000000000000000000000000000000000000 --- 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 e95f7108258cae35175f2caba51b8cb4f28ed5c2..7ca8da89035f91cf7452252ad8e0f754f33e10e9 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,