diff options
Diffstat (limited to 'ishtar_common')
-rw-r--r-- | ishtar_common/migrations/0224_auto_20230130_1604.py | 94 | ||||
-rw-r--r-- | ishtar_common/migrations/0224_auto_20230130_1838.py | 165 | ||||
-rw-r--r-- | ishtar_common/migrations/0225_migrate_created.py | 2 | ||||
-rw-r--r-- | ishtar_common/models.py | 2 |
4 files changed, 168 insertions, 95 deletions
diff --git a/ishtar_common/migrations/0224_auto_20230130_1604.py b/ishtar_common/migrations/0224_auto_20230130_1604.py deleted file mode 100644 index 524caae16..000000000 --- a/ishtar_common/migrations/0224_auto_20230130_1604.py +++ /dev/null @@ -1,94 +0,0 @@ -# Generated by Django 2.2.24 on 2023-01-30 16:04 - -import datetime -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('ishtar_common', '0223_auto_20230120_1124'), - ] - - operations = [ - migrations.AddField( - model_name='document', - name='cached_label', - field=models.TextField(blank=True, db_index=True, default='', help_text='Generated automatically - do not edit', verbose_name='Cached name'), - ), - migrations.AddField( - model_name='document', - name='created', - field=models.DateTimeField(blank=True, default=datetime.datetime.now), - ), - migrations.AddField( - model_name='historicalorganization', - name='created', - field=models.DateTimeField(blank=True, default=datetime.datetime.now), - ), - migrations.AddField( - model_name='historicalperson', - name='created', - field=models.DateTimeField(blank=True, default=datetime.datetime.now), - ), - migrations.AddField( - model_name='ishtarsiteprofile', - name='basefind_cached_label', - field=models.TextField(blank=True, default='', help_text='Formula to manage cached label. If not set a default is provided', verbose_name='Base find cached label'), - ), - migrations.AddField( - model_name='ishtarsiteprofile', - name='container_cached_label', - field=models.TextField(blank=True, default='', help_text='Formula to manage cached label. If not set a default is provided', verbose_name='Container cached label'), - ), - migrations.AddField( - model_name='ishtarsiteprofile', - name='contextrecord_cached_label', - field=models.TextField(blank=True, default='', help_text='Formula to manage cached label. If not set a default is provided', verbose_name='Context record cached label'), - ), - migrations.AddField( - model_name='ishtarsiteprofile', - name='document_cached_label', - field=models.TextField(blank=True, default='', help_text='Formula to manage cached label. If not set a default is provided', verbose_name='Document cached label'), - ), - migrations.AddField( - model_name='ishtarsiteprofile', - name='file_cached_label', - field=models.TextField(blank=True, default='', help_text='Formula to manage cached label. If not set a default is provided', verbose_name='File cached label'), - ), - migrations.AddField( - model_name='ishtarsiteprofile', - name='find_cached_label', - field=models.TextField(blank=True, default='', help_text='Formula to manage cached label. If not set a default is provided', verbose_name='Find cached label'), - ), - migrations.AddField( - model_name='ishtarsiteprofile', - name='operation_cached_label', - field=models.TextField(blank=True, default='', help_text='Formula to manage cached label. If not set a default is provided', verbose_name='Operation cached label'), - ), - migrations.AddField( - model_name='ishtarsiteprofile', - name='parcel_cached_label', - field=models.TextField(blank=True, default='', help_text='Formula to manage cached label. If not set a default is provided', verbose_name='Parcel cached label'), - ), - migrations.AddField( - model_name='ishtarsiteprofile', - name='site_cached_label', - field=models.TextField(blank=True, default='', help_text='Formula to manage cached label. If not set a default is provided', verbose_name='Site cached label'), - ), - migrations.AddField( - model_name='ishtarsiteprofile', - name='warehouse_cached_label', - field=models.TextField(blank=True, default='', help_text='Formula to manage cached label. If not set a default is provided', verbose_name='Warehouse cached label'), - ), - migrations.AddField( - model_name='organization', - name='created', - field=models.DateTimeField(blank=True, default=datetime.datetime.now), - ), - migrations.AddField( - model_name='person', - name='created', - field=models.DateTimeField(blank=True, default=datetime.datetime.now), - ), - ] diff --git a/ishtar_common/migrations/0224_auto_20230130_1838.py b/ishtar_common/migrations/0224_auto_20230130_1838.py new file mode 100644 index 000000000..749d48725 --- /dev/null +++ b/ishtar_common/migrations/0224_auto_20230130_1838.py @@ -0,0 +1,165 @@ +# Generated by Django 2.2.24 on 2023-01-30 18:38 + +import datetime +from django.conf import settings +import django.contrib.postgres.fields.jsonb +import django.contrib.postgres.search +from django.db import migrations, models +import django.db.models.deletion +import simple_history.models + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('ishtar_common', '0223_auto_20230120_1124'), + ] + + operations = [ + migrations.AddField( + model_name='document', + name='cached_label', + field=models.TextField(blank=True, db_index=True, default='', help_text='Generated automatically - do not edit', verbose_name='Cached name'), + ), + migrations.AddField( + model_name='document', + name='created', + field=models.DateTimeField(blank=True, default=datetime.datetime.now), + ), + migrations.AddField( + model_name='historicalorganization', + name='created', + field=models.DateTimeField(blank=True, default=datetime.datetime.now), + ), + migrations.AddField( + model_name='historicalperson', + name='created', + field=models.DateTimeField(blank=True, default=datetime.datetime.now), + ), + migrations.AddField( + model_name='ishtarsiteprofile', + name='basefind_cached_label', + field=models.TextField(blank=True, default='', help_text='Formula to manage cached label. If not set a default is provided', verbose_name='Base find cached label'), + ), + migrations.AddField( + model_name='ishtarsiteprofile', + name='container_cached_label', + field=models.TextField(blank=True, default='', help_text='Formula to manage cached label. If not set a default is provided', verbose_name='Container cached label'), + ), + migrations.AddField( + model_name='ishtarsiteprofile', + name='contextrecord_cached_label', + field=models.TextField(blank=True, default='', help_text='Formula to manage cached label. If not set a default is provided', verbose_name='Context record cached label'), + ), + migrations.AddField( + model_name='ishtarsiteprofile', + name='document_cached_label', + field=models.TextField(blank=True, default='', help_text='Formula to manage cached label. If not set a default is provided', verbose_name='Document cached label'), + ), + migrations.AddField( + model_name='ishtarsiteprofile', + name='file_cached_label', + field=models.TextField(blank=True, default='', help_text='Formula to manage cached label. If not set a default is provided', verbose_name='File cached label'), + ), + migrations.AddField( + model_name='ishtarsiteprofile', + name='find_cached_label', + field=models.TextField(blank=True, default='', help_text='Formula to manage cached label. If not set a default is provided', verbose_name='Find cached label'), + ), + migrations.AddField( + model_name='ishtarsiteprofile', + name='operation_cached_label', + field=models.TextField(blank=True, default='', help_text='Formula to manage cached label. If not set a default is provided', verbose_name='Operation cached label'), + ), + migrations.AddField( + model_name='ishtarsiteprofile', + name='parcel_cached_label', + field=models.TextField(blank=True, default='', help_text='Formula to manage cached label. If not set a default is provided', verbose_name='Parcel cached label'), + ), + migrations.AddField( + model_name='ishtarsiteprofile', + name='site_cached_label', + field=models.TextField(blank=True, default='', help_text='Formula to manage cached label. If not set a default is provided', verbose_name='Site cached label'), + ), + migrations.AddField( + model_name='ishtarsiteprofile', + name='warehouse_cached_label', + field=models.TextField(blank=True, default='', help_text='Formula to manage cached label. If not set a default is provided', verbose_name='Warehouse cached label'), + ), + migrations.AddField( + model_name='organization', + name='created', + field=models.DateTimeField(blank=True, default=datetime.datetime.now), + ), + migrations.AddField( + model_name='person', + name='created', + field=models.DateTimeField(blank=True, default=datetime.datetime.now), + ), + migrations.CreateModel( + name='HistoricalDocument', + fields=[ + ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), + ('search_vector', django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto filled at save', null=True, verbose_name='Search vector')), + ('data', django.contrib.postgres.fields.jsonb.JSONField(blank=True, default=dict)), + ('last_modified', models.DateTimeField(blank=True, default=datetime.datetime.now)), + ('created', models.DateTimeField(blank=True, default=datetime.datetime.now)), + ('history_m2m', django.contrib.postgres.fields.jsonb.JSONField(blank=True, default=dict)), + ('need_update', models.BooleanField(default=False, verbose_name='Need update')), + ('locked', models.BooleanField(default=False, verbose_name='Item locked for edition')), + ('cached_label', models.TextField(blank=True, db_index=True, default='', help_text='Generated automatically - do not edit', verbose_name='Cached name')), + ('complete_identifier', models.TextField(blank=True, default='', verbose_name='Complete identifier')), + ('custom_index', models.IntegerField(blank=True, null=True, verbose_name='Custom index')), + ('qrcode', models.TextField(blank=True, max_length=255, null=True)), + ('image', models.TextField(blank=True, help_text='La taille maximale supportée pour le fichier est de 100 Mo.', max_length=255, null=True)), + ('thumbnail', models.TextField(blank=True, help_text='La taille maximale supportée pour le fichier est de 100 Mo.', max_length=255, null=True)), + ('title', models.TextField(blank=True, default='', verbose_name='Title')), + ('associated_file', models.TextField(blank=True, help_text='La taille maximale supportée pour le fichier est de 100 Mo.', max_length=255, null=True, verbose_name='Associated file')), + ('index', models.IntegerField(blank=True, null=True, verbose_name='Index')), + ('external_id', models.TextField(blank=True, default='', verbose_name='External ID')), + ('reference', models.TextField(blank=True, default='', verbose_name='Ref.')), + ('internal_reference', models.TextField(blank=True, default='', verbose_name='Internal ref.')), + ('publishing_year', models.PositiveIntegerField(blank=True, null=True, verbose_name='Year of publication')), + ('issn', models.CharField(blank=True, max_length=10, null=True, verbose_name='ISSN')), + ('isbn', models.CharField(blank=True, max_length=17, null=True, verbose_name='ISBN')), + ('source_free_input', models.CharField(blank=True, max_length=500, null=True, verbose_name='Source - free input')), + ('source_page_range', models.CharField(blank=True, max_length=500, null=True, verbose_name='Source - page range')), + ('scale', models.CharField(blank=True, max_length=30, null=True, verbose_name='Scale')), + ('authors_raw', models.CharField(blank=True, max_length=250, null=True, verbose_name='Authors (raw)')), + ('associated_url', models.URLField(blank=True, max_length=1000, null=True, verbose_name='Numerical ressource (web address)')), + ('receipt_date', models.DateField(blank=True, null=True, verbose_name='Receipt date')), + ('creation_date', models.DateField(blank=True, null=True, verbose_name='Creation date')), + ('receipt_date_in_documentation', models.DateField(blank=True, null=True, verbose_name='Receipt date in documentation')), + ('item_number', models.IntegerField(default=1, verbose_name='Number of items')), + ('description', models.TextField(blank=True, default='', verbose_name='Description')), + ('container_id', models.PositiveIntegerField(blank=True, null=True, verbose_name='Container ID')), + ('container_ref_id', models.PositiveIntegerField(blank=True, null=True, verbose_name='Container ID')), + ('comment', models.TextField(blank=True, default='', verbose_name='Comment')), + ('additional_information', models.TextField(blank=True, default='', verbose_name='Additional information')), + ('duplicate', models.NullBooleanField(verbose_name='Has a duplicate')), + ('associated_links', models.TextField(blank=True, default='', verbose_name='Symbolic links')), + ('cache_related_label', models.TextField(blank=True, db_index=True, default='', help_text='Cached value - do not edit', verbose_name='Related')), + ('history_id', models.AutoField(primary_key=True, serialize=False)), + ('history_date', models.DateTimeField()), + ('history_change_reason', models.CharField(max_length=100, null=True)), + ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)), + ('format_type', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='ishtar_common.Format', verbose_name='Format')), + ('history_creator', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='Creator')), + ('history_modifier', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='Last editor')), + ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), + ('language', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='ishtar_common.Language', verbose_name='Language')), + ('lock_user', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='Locked by')), + ('publisher', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='ishtar_common.Organization', verbose_name='Publisher')), + ('source', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='ishtar_common.Document', verbose_name='Source')), + ('source_type', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='ishtar_common.SourceType', verbose_name='Type')), + ('support_type', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='ishtar_common.SupportType', verbose_name='Medium')), + ], + options={ + 'verbose_name': 'historical Document', + 'ordering': ('-history_date', '-history_id'), + 'get_latest_by': 'history_date', + }, + bases=(simple_history.models.HistoricalChanges, models.Model), + ), + ] diff --git a/ishtar_common/migrations/0225_migrate_created.py b/ishtar_common/migrations/0225_migrate_created.py index 1304e8b92..554df7309 100644 --- a/ishtar_common/migrations/0225_migrate_created.py +++ b/ishtar_common/migrations/0225_migrate_created.py @@ -17,7 +17,7 @@ def migrate_created(apps, __): class Migration(migrations.Migration): dependencies = [ - ('ishtar_common', '0224_auto_20230130_1604'), + ('ishtar_common', '0224_auto_20230130_1838'), ] operations = [ diff --git a/ishtar_common/models.py b/ishtar_common/models.py index 8dd1fc3fe..12cdf01f0 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -133,6 +133,7 @@ from ishtar_common.models_common import ( HierarchicalType, BaseHistorizedItem, LightHistorizedItem, + HistoricalRecords, FullSearch, SearchAltName, OwnPerms, @@ -4268,6 +4269,7 @@ class Document( db_index=True, help_text=_("Cached value - do not edit"), ) + history = HistoricalRecords(inherit=True) class Meta: verbose_name = _("Document") |