From db0f7fa5b29008390214c37bf38d9d08c678521c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9ophile=20Bastian?= Date: Fri, 22 Sep 2017 18:07:38 +0200 Subject: [PATCH] Introduce django-solo for site configuration --- bocal/settings_base.py | 1 + mainsite/admin.py | 2 ++ mainsite/migrations/0003_siteconfiguration.py | 27 +++++++++++++++++++ mainsite/models.py | 15 +++++++++++ 4 files changed, 45 insertions(+) create mode 100644 mainsite/migrations/0003_siteconfiguration.py diff --git a/bocal/settings_base.py b/bocal/settings_base.py index 6f220f7..d779de1 100644 --- a/bocal/settings_base.py +++ b/bocal/settings_base.py @@ -27,6 +27,7 @@ INSTALLED_APPS = [ 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', + 'solo', 'mainsite', ] diff --git a/mainsite/admin.py b/mainsite/admin.py index 4d241cb..e26b96f 100644 --- a/mainsite/admin.py +++ b/mainsite/admin.py @@ -1,6 +1,8 @@ from django.contrib import admin +from solo.admin import SingletonModelAdmin from . import models +admin.site.register(models.SiteConfiguration, SingletonModelAdmin) admin.site.register(models.Publication) admin.site.register(models.PublicationYear) diff --git a/mainsite/migrations/0003_siteconfiguration.py b/mainsite/migrations/0003_siteconfiguration.py new file mode 100644 index 0000000..ffac5c9 --- /dev/null +++ b/mainsite/migrations/0003_siteconfiguration.py @@ -0,0 +1,27 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.5 on 2017-09-22 16:04 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('mainsite', '0002_auto_20170922_1438'), + ] + + operations = [ + migrations.CreateModel( + name='SiteConfiguration', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('homepageText', models.TextField(verbose_name="Texte de la page d'accueil (HTML)")), + ('writearticleText', models.TextField(verbose_name='Texte de la page « écrire » (HTML)')), + ('email', models.CharField(help_text='Attention au spam…', max_length=128, verbose_name='Adresse de contact du BOcal')), + ], + options={ + 'verbose_name': 'Configuration du site', + }, + ), + ] diff --git a/mainsite/models.py b/mainsite/models.py index f0e5a98..ff1dd03 100644 --- a/mainsite/models.py +++ b/mainsite/models.py @@ -4,10 +4,25 @@ from django.db.models import DateField, \ BooleanField, \ IntegerField, \ TextField +from solo.models import SingletonModel import datetime +class SiteConfiguration(SingletonModel): + homepageText = TextField("Texte de la page d'accueil (HTML)") + writearticleText = TextField("Texte de la page « écrire » (HTML)") + email = CharField("Adresse de contact du BOcal", + max_length=128, + help_text="Attention au spam…") + + def __str__(self): + return "Configuration du site" + + class Meta: + verbose_name = "Configuration du site" + + class Publication(models.Model): num = CharField('Numéro du BOcal', max_length=128) url = CharField('Adresse sur le site', max_length=512)