diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..078ba94 --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +*.pyc +common/local_settings.py +db.sqlite3 +db.eds +db.* +*.sql +*.csv +.* diff --git a/cms/migrations/0001_initial.py b/cms/migrations/0001_initial.py new file mode 100644 index 0000000..97118e7 --- /dev/null +++ b/cms/migrations/0001_initial.py @@ -0,0 +1,110 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.4 on 2016-12-24 09:06 +from __future__ import unicode_literals + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='Competence', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('code', models.CharField(blank=True, max_length=20)), + ('libelle', models.CharField(max_length=200)), + ], + ), + migrations.CreateModel( + name='Domaine', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('code', models.CharField(blank=True, max_length=20)), + ('libelle', models.CharField(max_length=200)), + ], + ), + migrations.CreateModel( + name='Enseignant', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('sigle', models.CharField(blank=True, default='', max_length=5)), + ('nom', models.CharField(blank=True, default='', max_length=20)), + ('prenom', models.CharField(blank=True, default='', max_length=20)), + ('email', models.EmailField(blank=True, default='', max_length=254)), + ], + ), + migrations.CreateModel( + name='Module', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('code', models.CharField(default='Code', max_length=10)), + ('nom', models.CharField(default='Nom du module', max_length=30)), + ('type', models.CharField(choices=[('Spécifique', 'spécifique'), ('Transversal', 'transversal')], max_length=20)), + ('situation', models.TextField()), + ('evaluation', models.TextField()), + ('contenu', models.TextField()), + ('periode_presentiel', models.IntegerField()), + ('travail_perso', models.IntegerField()), + ('sem1', models.IntegerField(default=0)), + ('sem2', models.IntegerField(default=0)), + ('sem3', models.IntegerField(default=0)), + ('sem4', models.IntegerField(default=0)), + ('sem5', models.IntegerField(default=0)), + ('sem6', models.IntegerField(default=0)), + ('semestre', models.CharField(default='', max_length=15)), + ('competences', models.ManyToManyField(to='cms.Competence')), + ], + ), + migrations.CreateModel( + name='Objectif', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('libelle', models.CharField(max_length=200)), + ('type', models.CharField(choices=[('Savoir', 'savoir'), ('Savoir méthodologique', 'savoir méthodologique'), ('Savoir relationnel', 'savoir relationnel')], max_length=30)), + ('module', models.ForeignKey(default=None, null=True, on_delete=django.db.models.deletion.CASCADE, to='cms.Module')), + ], + ), + migrations.CreateModel( + name='Processus', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('code', models.CharField(blank=True, max_length=20)), + ('libelle', models.CharField(max_length=200)), + ('domaine', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='cms.Domaine')), + ], + ), + migrations.CreateModel( + name='Ressource', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('libelle', models.CharField(max_length=200)), + ('module', models.ForeignKey(default=None, null=True, on_delete=django.db.models.deletion.CASCADE, to='cms.Module')), + ], + ), + migrations.CreateModel( + name='SousCompetence', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('code', models.CharField(blank=True, max_length=20)), + ('libelle', models.CharField(max_length=200)), + ('competence', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='cms.Competence')), + ], + ), + migrations.AddField( + model_name='domaine', + name='responsable', + field=models.ForeignKey(default=None, null=True, on_delete=django.db.models.deletion.CASCADE, to='cms.Enseignant'), + ), + migrations.AddField( + model_name='competence', + name='processus', + field=models.ForeignKey(default=None, null=True, on_delete=django.db.models.deletion.CASCADE, to='cms.Processus'), + ), + ] diff --git a/cms/migrations/0002_auto_20161224_0929.py b/cms/migrations/0002_auto_20161224_0929.py new file mode 100644 index 0000000..ee598f9 --- /dev/null +++ b/cms/migrations/0002_auto_20161224_0929.py @@ -0,0 +1,32 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.4 on 2016-12-24 09:29 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('cms', '0001_initial'), + ] + + operations = [ + migrations.AlterModelOptions( + name='domaine', + options={'ordering': ('code',)}, + ), + migrations.AlterModelOptions( + name='enseignant', + options={'ordering': ('nom',)}, + ), + migrations.AlterModelOptions( + name='processus', + options={'ordering': ('code',)}, + ), + migrations.AddField( + model_name='competence', + name='tyoe', + field=models.CharField(blank=True, default='', max_length=35), + ), + ] diff --git a/cms/migrations/0003_auto_20161224_0929.py b/cms/migrations/0003_auto_20161224_0929.py new file mode 100644 index 0000000..10a351a --- /dev/null +++ b/cms/migrations/0003_auto_20161224_0929.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.4 on 2016-12-24 09:29 +from __future__ import unicode_literals + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('cms', '0002_auto_20161224_0929'), + ] + + operations = [ + migrations.RenameField( + model_name='competence', + old_name='tyoe', + new_name='type', + ), + ] diff --git a/cms/migrations/0004_auto_20161224_1234.py b/cms/migrations/0004_auto_20161224_1234.py new file mode 100644 index 0000000..d41282c --- /dev/null +++ b/cms/migrations/0004_auto_20161224_1234.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.4 on 2016-12-24 12:34 +from __future__ import unicode_literals + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('cms', '0003_auto_20161224_0929'), + ] + + operations = [ + migrations.AlterModelOptions( + name='competence', + options={'ordering': ('code',)}, + ), + migrations.AlterModelOptions( + name='souscompetence', + options={'ordering': ('code',)}, + ), + ] diff --git a/cms/migrations/0005_auto_20161224_1236.py b/cms/migrations/0005_auto_20161224_1236.py new file mode 100644 index 0000000..0f72189 --- /dev/null +++ b/cms/migrations/0005_auto_20161224_1236.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.4 on 2016-12-24 12:36 +from __future__ import unicode_literals + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('cms', '0004_auto_20161224_1234'), + ] + + operations = [ + migrations.AddField( + model_name='module', + name='didactique', + field=models.TextField(default=''), + ), + migrations.AddField( + model_name='module', + name='pratique_prof', + field=models.IntegerField(default=0), + ), + migrations.AddField( + model_name='module', + name='processus', + field=models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to='cms.Processus'), + ), + migrations.AlterField( + model_name='module', + name='evaluation', + field=models.TextField(default=''), + ), + ] diff --git a/cms/migrations/0006_auto_20161224_1339.py b/cms/migrations/0006_auto_20161224_1339.py new file mode 100644 index 0000000..9fec91d --- /dev/null +++ b/cms/migrations/0006_auto_20161224_1339.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.4 on 2016-12-24 13:39 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('cms', '0005_auto_20161224_1236'), + ] + + operations = [ + migrations.AlterModelOptions( + name='module', + options={'ordering': ('code',)}, + ), + migrations.AlterField( + model_name='module', + name='nom', + field=models.CharField(default='Nom du module', max_length=100), + ), + ] diff --git a/cms/migrations/0007_auto_20161225_1951.py b/cms/migrations/0007_auto_20161225_1951.py new file mode 100644 index 0000000..f2ce7be --- /dev/null +++ b/cms/migrations/0007_auto_20161225_1951.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.4 on 2016-12-25 19:51 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('cms', '0006_auto_20161224_1339'), + ] + + operations = [ + migrations.AlterField( + model_name='competence', + name='libelle', + field=models.CharField(max_length=250), + ), + migrations.AlterField( + model_name='souscompetence', + name='libelle', + field=models.CharField(max_length=250), + ), + ] diff --git a/cms/migrations/0008_document.py b/cms/migrations/0008_document.py new file mode 100644 index 0000000..3836742 --- /dev/null +++ b/cms/migrations/0008_document.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.4 on 2016-12-26 08:47 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('cms', '0007_auto_20161225_1951'), + ] + + operations = [ + migrations.CreateModel( + name='Document', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('docfile', models.FileField(upload_to='media')), + ], + ), + ] diff --git a/cms/migrations/0009_module_description.py b/cms/migrations/0009_module_description.py new file mode 100644 index 0000000..9cd8b0f --- /dev/null +++ b/cms/migrations/0009_module_description.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.4 on 2017-01-04 12:47 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('cms', '0008_document'), + ] + + operations = [ + migrations.AddField( + model_name='module', + name='description', + field=models.TextField(blank=True, default=''), + ), + ] diff --git a/cms/migrations/0010_auto_20170104_1251.py b/cms/migrations/0010_auto_20170104_1251.py new file mode 100644 index 0000000..143ded5 --- /dev/null +++ b/cms/migrations/0010_auto_20170104_1251.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.4 on 2017-01-04 12:51 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('cms', '0009_module_description'), + ] + + operations = [ + migrations.AlterField( + model_name='module', + name='description', + field=models.TextField(), + ), + ] diff --git a/cms/migrations/0011_processus_description.py b/cms/migrations/0011_processus_description.py new file mode 100644 index 0000000..8f36e2f --- /dev/null +++ b/cms/migrations/0011_processus_description.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.4 on 2017-01-04 12:52 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('cms', '0010_auto_20170104_1251'), + ] + + operations = [ + migrations.AddField( + model_name='processus', + name='description', + field=models.TextField(default=''), + ), + ] diff --git a/cms/migrations/0012_auto_20170104_1347.py b/cms/migrations/0012_auto_20170104_1347.py new file mode 100644 index 0000000..9ec5c60 --- /dev/null +++ b/cms/migrations/0012_auto_20170104_1347.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.4 on 2017-01-04 13:47 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('cms', '0011_processus_description'), + ] + + operations = [ + migrations.RemoveField( + model_name='objectif', + name='type', + ), + migrations.AddField( + model_name='ressource', + name='type', + field=models.CharField(choices=[('Savoir', 'savoir'), ('Savoir méthodologique', 'savoir méthodologique'), ('Savoir relationnel', 'savoir relationnel')], default='Savoir', max_length=30), + ), + ] diff --git a/cms/migrations/0013_auto_20170108_2119.py b/cms/migrations/0013_auto_20170108_2119.py new file mode 100644 index 0000000..17d6169 --- /dev/null +++ b/cms/migrations/0013_auto_20170108_2119.py @@ -0,0 +1,27 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.4 on 2017-01-08 21:19 +from __future__ import unicode_literals + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('cms', '0012_auto_20170104_1347'), + ] + + operations = [ + migrations.AlterModelOptions( + name='competence', + options={'ordering': ('code',), 'verbose_name': 'compétence'}, + ), + migrations.AlterModelOptions( + name='processus', + options={'ordering': ('code',), 'verbose_name_plural': 'processus'}, + ), + migrations.AlterModelOptions( + name='souscompetence', + options={'ordering': ('code',), 'verbose_name': 'sous-compétence'}, + ), + ] diff --git a/cms/migrations/0014_auto_20170127_1444.py b/cms/migrations/0014_auto_20170127_1444.py new file mode 100644 index 0000000..4ab8d0e --- /dev/null +++ b/cms/migrations/0014_auto_20170127_1444.py @@ -0,0 +1,64 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.4 on 2017-01-27 14:44 +from __future__ import unicode_literals + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('cms', '0013_auto_20170108_2119'), + ] + + operations = [ + migrations.RenameField( + model_name='competence', + old_name='libelle', + new_name='nom', + ), + migrations.RenameField( + model_name='domaine', + old_name='libelle', + new_name='nom', + ), + migrations.RenameField( + model_name='processus', + old_name='libelle', + new_name='nom', + ), + migrations.RenameField( + model_name='ressource', + old_name='libelle', + new_name='nom', + ), + migrations.RenameField( + model_name='souscompetence', + old_name='libelle', + new_name='nom', + ), + migrations.RemoveField( + model_name='competence', + name='processus', + ), + migrations.RemoveField( + model_name='module', + name='competences', + ), + migrations.AddField( + model_name='competence', + name='module', + field=models.ForeignKey(default=None, null=True, on_delete=django.db.models.deletion.CASCADE, to='cms.Module'), + ), + migrations.AlterField( + model_name='module', + name='didactique', + field=models.TextField(), + ), + migrations.AlterField( + model_name='module', + name='evaluation', + field=models.TextField(), + ), + ] diff --git a/cms/migrations/0015_auto_20170129_0700.py b/cms/migrations/0015_auto_20170129_0700.py new file mode 100644 index 0000000..0bec6e0 --- /dev/null +++ b/cms/migrations/0015_auto_20170129_0700.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.4 on 2017-01-29 07:00 +from __future__ import unicode_literals + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('cms', '0014_auto_20170127_1444'), + ] + + operations = [ + migrations.RenameField( + model_name='objectif', + old_name='libelle', + new_name='nom', + ), + ] diff --git a/cms/migrations/0016_remove_module_description.py b/cms/migrations/0016_remove_module_description.py new file mode 100644 index 0000000..1ba0d86 --- /dev/null +++ b/cms/migrations/0016_remove_module_description.py @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.4 on 2017-01-29 19:24 +from __future__ import unicode_literals + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('cms', '0015_auto_20170129_0700'), + ] + + operations = [ + migrations.RemoveField( + model_name='module', + name='description', + ), + ] diff --git a/cms/migrations/0017_auto_20170308_0437.py b/cms/migrations/0017_auto_20170308_0437.py new file mode 100644 index 0000000..784ddb6 --- /dev/null +++ b/cms/migrations/0017_auto_20170308_0437.py @@ -0,0 +1,30 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.4 on 2017-03-08 03:37 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('cms', '0016_remove_module_description'), + ] + + operations = [ + migrations.AlterField( + model_name='module', + name='periode_presentiel', + field=models.IntegerField(verbose_name='Période en présentiel'), + ), + migrations.AlterField( + model_name='module', + name='pratique_prof', + field=models.IntegerField(default=0, verbose_name='Pratique professionnelle'), + ), + migrations.AlterField( + model_name='module', + name='travail_perso', + field=models.IntegerField(verbose_name='Travail personnel'), + ), + ] diff --git a/cms/migrations/0017_document_module.py b/cms/migrations/0017_document_module.py new file mode 100644 index 0000000..c39b897 --- /dev/null +++ b/cms/migrations/0017_document_module.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.1 on 2017-02-24 10:43 +from __future__ import unicode_literals + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('cms', '0016_remove_module_description'), + ] + + operations = [ + migrations.AddField( + model_name='document', + name='module', + field=models.ForeignKey(default=None, null=True, on_delete=django.db.models.deletion.CASCADE, to='cms.Module'), + ), + ] diff --git a/cms/migrations/0018_competence_processus_eval.py b/cms/migrations/0018_competence_processus_eval.py new file mode 100644 index 0000000..d34c236 --- /dev/null +++ b/cms/migrations/0018_competence_processus_eval.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.1 on 2017-03-08 10:51 +from __future__ import unicode_literals + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('cms', '0017_document_module'), + ] + + operations = [ + migrations.AddField( + model_name='competence', + name='processus_eval', + field=models.ForeignKey(default=None, null=True, on_delete=django.db.models.deletion.CASCADE, to='cms.Processus'), + ), + ] diff --git a/cms/migrations/0019_merge_20170308_1159.py b/cms/migrations/0019_merge_20170308_1159.py new file mode 100644 index 0000000..c89cb9b --- /dev/null +++ b/cms/migrations/0019_merge_20170308_1159.py @@ -0,0 +1,16 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.1 on 2017-03-08 10:59 +from __future__ import unicode_literals + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('cms', '0018_competence_processus_eval'), + ('cms', '0017_auto_20170308_0437'), + ] + + operations = [ + ] diff --git a/cms/migrations/0020_auto_20170308_2018.py b/cms/migrations/0020_auto_20170308_2018.py new file mode 100644 index 0000000..6538afb --- /dev/null +++ b/cms/migrations/0020_auto_20170308_2018.py @@ -0,0 +1,29 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.4 on 2017-03-08 19:18 +from __future__ import unicode_literals + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('cms', '0019_merge_20170308_1159'), + ] + + operations = [ + migrations.RemoveField( + model_name='competence', + name='processus_eval', + ), + migrations.RemoveField( + model_name='document', + name='module', + ), + migrations.AddField( + model_name='competence', + name='proces_eval', + field=models.ForeignKey(default=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='cms.Processus'), + ), + ] diff --git a/cms/migrations/0021_auto_20170406_1641.py b/cms/migrations/0021_auto_20170406_1641.py new file mode 100644 index 0000000..3c2b6d3 --- /dev/null +++ b/cms/migrations/0021_auto_20170406_1641.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.4 on 2017-04-06 14:41 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('cms', '0020_auto_20170308_2018'), + ] + + operations = [ + migrations.AddField( + model_name='document', + name='texte', + field=models.TextField(blank=True), + ), + migrations.AddField( + model_name='document', + name='titre', + field=models.CharField(blank=True, max_length=128), + ), + ] diff --git a/cms/migrations/0022_auto_20170406_1643.py b/cms/migrations/0022_auto_20170406_1643.py new file mode 100644 index 0000000..2433204 --- /dev/null +++ b/cms/migrations/0022_auto_20170406_1643.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.4 on 2017-04-06 14:43 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('cms', '0021_auto_20170406_1641'), + ] + + operations = [ + migrations.AlterField( + model_name='document', + name='docfile', + field=models.FileField(blank=True, upload_to='media'), + ), + ] diff --git a/cms/migrations/0023_auto_20170406_1823.py b/cms/migrations/0023_auto_20170406_1823.py new file mode 100644 index 0000000..9d58750 --- /dev/null +++ b/cms/migrations/0023_auto_20170406_1823.py @@ -0,0 +1,26 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.4 on 2017-04-06 16:23 +from __future__ import unicode_literals + +from django.db import migrations, models +import tinymce.models + + +class Migration(migrations.Migration): + + dependencies = [ + ('cms', '0022_auto_20170406_1643'), + ] + + operations = [ + migrations.AddField( + model_name='document', + name='published', + field=models.BooleanField(default=False), + ), + migrations.AlterField( + model_name='document', + name='texte', + field=tinymce.models.HTMLField(blank=True), + ), + ] diff --git a/cms/migrations/__init__.py b/cms/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/templates/cms/base_site.html b/templates/cms/base_site.html index bba739c..e943640 100644 --- a/templates/cms/base_site.html +++ b/templates/cms/base_site.html @@ -22,7 +22,9 @@
  • Processus  
  • Modules  
  • Périodes  
  • + +
  • Documents  
  • {% if has_permission %} diff --git a/templates/cms/document_list.html b/templates/cms/document_list.html index 6db0c1d..794a06e 100644 --- a/templates/cms/document_list.html +++ b/templates/cms/document_list.html @@ -14,11 +14,13 @@

    Liste des documents

      {% for doc in object_list %} + {% if doc.published %}
    1. {{doc}}
    2. {% else %}
    3. {{doc}}  (en travail)
    4. {% endif %} + {% empty %}
    5. Aucun document disponible
    6. {% endfor %}