defines reviewers, authors and validators

This commit is contained in:
Fred 2017-09-21 20:42:28 +02:00
parent 511647a703
commit 26b823b14d
3 changed files with 69 additions and 2 deletions

Binary file not shown.

View File

@ -0,0 +1,62 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11.5 on 2017-09-21 18:39
from __future__ import unicode_literals
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('evolus', '0002_auto_20170920_1900'),
]
operations = [
migrations.RemoveField(
model_name='document',
name='revised_at',
),
migrations.RemoveField(
model_name='historicaldocument',
name='revised_at',
),
migrations.AddField(
model_name='document',
name='manager',
field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL),
preserve_default=False,
),
migrations.AddField(
model_name='historicaldocument',
name='manager',
field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to=settings.AUTH_USER_MODEL),
),
migrations.AddField(
model_name='version',
name='authors',
field=models.ManyToManyField(related_name='authors', to=settings.AUTH_USER_MODEL),
),
migrations.AddField(
model_name='version',
name='reviewers',
field=models.ManyToManyField(related_name='reviewers', to=settings.AUTH_USER_MODEL),
),
migrations.AddField(
model_name='version',
name='revised_at',
field=models.DateTimeField(blank=True, null=True),
),
migrations.AddField(
model_name='version',
name='validators',
field=models.ManyToManyField(related_name='validators', to=settings.AUTH_USER_MODEL),
),
migrations.AlterField(
model_name='version',
name='document',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='versions', to='evolus.Document'),
),
]

View File

@ -5,6 +5,7 @@ This module defines the structure and properties of documents.
from django.db import models from django.db import models
from closuretree.models import ClosureModel from closuretree.models import ClosureModel
from simple_history.models import HistoricalRecords from simple_history.models import HistoricalRecords
from django.contrib.auth.models import User
from jci.models import Standard from jci.models import Standard
@ -60,7 +61,7 @@ class Document(models.Model):
overview = models.TextField(blank=True, null=True) overview = models.TextField(blank=True, null=True)
type = models.ForeignKey(DocumentType, null=True) type = models.ForeignKey(DocumentType, null=True)
created_at = models.DateTimeField(auto_now_add=True) created_at = models.DateTimeField(auto_now_add=True)
revised_at = models.DateTimeField(null=True, blank=True) manager = models.ForeignKey(User)
history = HistoricalRecords() history = HistoricalRecords()
@property @property
@ -93,6 +94,10 @@ class Version(models.Model):
document = models.ForeignKey(Document, related_name='versions') document = models.ForeignKey(Document, related_name='versions')
major = models.PositiveIntegerField() major = models.PositiveIntegerField()
published = models.OneToOneField('Revision', related_name='published_version+', null=True, blank=True) published = models.OneToOneField('Revision', related_name='published_version+', null=True, blank=True)
revised_at = models.DateTimeField(null=True, blank=True)
authors = models.ManyToManyField(User, related_name='authors')
reviewers = models.ManyToManyField(User, related_name='reviewers')
validators = models.ManyToManyField(User, related_name='validators')
class Meta: class Meta:
unique_together = ('document', 'major') unique_together = ('document', 'major')
@ -118,4 +123,4 @@ class Revision(models.Model):
ordering = ('-minor',) ordering = ('-minor',)
def __str__(self): def __str__(self):
return '{} rev {}'.format(self.version, self.minor) return '{} rev {}'.format(self.version, self.minor)