Created audit log models

This commit is contained in:
Jan Tuomi
2017-06-15 19:32:17 +03:00
parent cc3564bf42
commit c9aef9dba4
2 changed files with 92 additions and 4 deletions
@@ -0,0 +1,68 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11 on 2017-06-15 16:24
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
import django.utils.timezone
class Migration(migrations.Migration):
dependencies = [
('webapp', '0010_auto_20170608_0924'),
]
operations = [
migrations.CreateModel(
name='AuditedModel',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
],
),
migrations.CreateModel(
name='AuditLogEntry',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('date', models.DateTimeField(default=django.utils.timezone.now)),
('event', models.CharField(choices=[('CREATED', 'Created'), ('MODIFIED', 'Modified'), ('DELETED', 'Deleted')], max_length=10)),
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='webapp.Official')),
],
),
migrations.RemoveField(
model_name='basefeed',
name='id',
),
migrations.RemoveField(
model_name='baserole',
name='id',
),
migrations.RemoveField(
model_name='messageparent',
name='id',
),
migrations.AddField(
model_name='basefeed',
name='auditedmodel_ptr',
field=models.OneToOneField(auto_created=True, default=1, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='webapp.AuditedModel'),
preserve_default=False,
),
migrations.AddField(
model_name='baserole',
name='auditedmodel_ptr',
field=models.OneToOneField(auto_created=True, default=1, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='webapp.AuditedModel'),
preserve_default=False,
),
migrations.AddField(
model_name='messageparent',
name='auditedmodel_ptr',
field=models.OneToOneField(auto_created=True, default=1, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='webapp.AuditedModel'),
preserve_default=False,
),
migrations.AddField(
model_name='tag',
name='auditedmodel_ptr',
field=models.OneToOneField(auto_created=True, default=1, on_delete=django.db.models.deletion.CASCADE, parent_link=True, to='webapp.AuditedModel'),
preserve_default=False,
),
]
+24 -4
View File
@@ -7,13 +7,33 @@ from django.utils.translation import ugettext_lazy as _
from django.contrib.auth.models import User
class Tag(models.Model):
class AuditLogEntry(models.Model):
'''
A single entry in the audit log
'''
user = models.ForeignKey('Official')
date = models.DateTimeField(default=timezone.now)
event = models.CharField(choices=[
('CREATED', _('Created')),
('MODIFIED', _('Modified')),
('DELETED', _('Deleted'))],
max_length=10)
class AuditedModel(models.Model):
'''
Superclass for all audited models, e.g. events
'''
pass
class Tag(AuditedModel):
slug = models.SlugField(primary_key=True)
name = models.CharField(max_length=127)
icon = models.ImageField()
class BaseFeed(models.Model):
class BaseFeed(AuditedModel):
'''
model containing something showing on some info feed
'''
@@ -35,7 +55,7 @@ class Event(BaseFeed):
end_time = models.DateTimeField(default=timezone.now)
class BaseRole(models.Model):
class BaseRole(AuditedModel):
'''
Base model for occupations/roles
'''
@@ -62,7 +82,7 @@ class CustomKaehmyRole(BaseRole):
form = models.ForeignKey('KaehmyForm', related_name='custom_roles')
class MessageParent(models.Model):
class MessageParent(AuditedModel):
pass