add document types

This commit is contained in:
Fred Pauchet 2017-09-18 15:49:32 +02:00
parent 4db2600221
commit bf19300d40
6 changed files with 97 additions and 4 deletions

Binary file not shown.

View File

@ -1,13 +1,18 @@
from django.contrib import admin
from .models import Audience, Document, Site, Structure
from .models import Audience, Document, DocumentType, Site, Structure
class DocumentAdmin(admin.ModelAdmin):
list_filter = ('audiences', 'sites', 'structures')
list_filter = ('type', 'audiences', 'sites', 'structures')
class DocumentTypeAdmin(admin.ModelAdmin):
list_display = ('__str__', 'level')
admin.site.register(Audience)
admin.site.register(Site)
admin.site.register(Structure)
admin.site.register(Document, DocumentAdmin)
admin.site.register(DocumentType, DocumentTypeAdmin)

View File

@ -0,0 +1,29 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11.5 on 2017-09-18 13:14
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('evolus', '0008_auto_20170918_1305'),
]
operations = [
migrations.CreateModel(
name='DocumentType',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=50)),
('template', models.FileField(blank=True, null=True, upload_to='documents_templates/')),
],
),
migrations.AddField(
model_name='document',
name='type',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='evolus.DocumentType'),
),
]

View File

@ -0,0 +1,21 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11.5 on 2017-09-18 13:18
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('evolus', '0009_auto_20170918_1514'),
]
operations = [
migrations.AddField(
model_name='documenttype',
name='level',
field=models.IntegerField(default=1),
preserve_default=False,
),
]

View File

@ -0,0 +1,24 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11.5 on 2017-09-18 13:44
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('evolus', '0010_documenttype_level'),
]
operations = [
migrations.AlterModelOptions(
name='documenttype',
options={'ordering': ['level']},
),
migrations.AddField(
model_name='structure',
name='acronym',
field=models.CharField(blank=True, max_length=20, null=True),
),
]

View File

@ -28,12 +28,25 @@ class Site(models.Model):
class Structure(ClosureModel):
name = models.CharField(max_length=50)
acronym = models.CharField(max_length=20, null=True, blank=True)
parent = models.ForeignKey('self', related_name='children', null=True, blank=True)
def __str__(self):
return self.name
class DocumentType(models.Model):
name = models.CharField(max_length=50)
level = models.IntegerField()
template = models.FileField(upload_to='documents_templates/', null=True, blank=True)
def __str__(self):
return self.name
class Meta:
ordering = ['level']
class Document(models.Model):
audiences = models.ManyToManyField(Audience)
sites = models.ManyToManyField(Site)
@ -41,6 +54,7 @@ class Document(models.Model):
structures = models.ManyToManyField(Structure)
title = models.CharField(max_length=255)
overview = models.TextField(blank=True, null=True)
type = models.ForeignKey(DocumentType, null=True)
def __str__(self):
return self.title