add document types
This commit is contained in:
parent
4db2600221
commit
bf19300d40
BIN
db.sqlite3
BIN
db.sqlite3
Binary file not shown.
|
@ -1,13 +1,18 @@
|
||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
|
|
||||||
from .models import Audience, Document, Site, Structure
|
from .models import Audience, Document, DocumentType, Site, Structure
|
||||||
|
|
||||||
|
|
||||||
class DocumentAdmin(admin.ModelAdmin):
|
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(Audience)
|
||||||
admin.site.register(Site)
|
admin.site.register(Site)
|
||||||
admin.site.register(Structure)
|
admin.site.register(Structure)
|
||||||
admin.site.register(Document, DocumentAdmin)
|
admin.site.register(Document, DocumentAdmin)
|
||||||
|
admin.site.register(DocumentType, DocumentTypeAdmin)
|
||||||
|
|
|
@ -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'),
|
||||||
|
),
|
||||||
|
]
|
|
@ -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,
|
||||||
|
),
|
||||||
|
]
|
|
@ -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),
|
||||||
|
),
|
||||||
|
]
|
|
@ -28,12 +28,25 @@ class Site(models.Model):
|
||||||
|
|
||||||
class Structure(ClosureModel):
|
class Structure(ClosureModel):
|
||||||
name = models.CharField(max_length=50)
|
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)
|
parent = models.ForeignKey('self', related_name='children', null=True, blank=True)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.name
|
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):
|
class Document(models.Model):
|
||||||
audiences = models.ManyToManyField(Audience)
|
audiences = models.ManyToManyField(Audience)
|
||||||
sites = models.ManyToManyField(Site)
|
sites = models.ManyToManyField(Site)
|
||||||
|
@ -41,6 +54,7 @@ class Document(models.Model):
|
||||||
structures = models.ManyToManyField(Structure)
|
structures = models.ManyToManyField(Structure)
|
||||||
title = models.CharField(max_length=255)
|
title = models.CharField(max_length=255)
|
||||||
overview = models.TextField(blank=True, null=True)
|
overview = models.TextField(blank=True, null=True)
|
||||||
|
type = models.ForeignKey(DocumentType, null=True)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.title
|
return self.title
|
||||||
|
|
Loading…
Reference in New Issue