# Generated by Django 5.1.8 on 2025-04-03 00:05 import django.db.models.deletion import filer.fields.image import mptt.fields from django.conf import settings from django.db import migrations, models class Migration(migrations.Migration): initial = True dependencies = [ ('library', '0001_initial'), migrations.swappable_dependency(settings.FILER_IMAGE_MODEL), ] operations = [ migrations.CreateModel( name='HadisTag', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=355, verbose_name='title')), ('status', models.BooleanField(default=True, verbose_name='status')), ], ), migrations.CreateModel( name='HadisCategory', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('is_active', models.BooleanField(default=True, verbose_name='is active')), ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='created at')), ('source_type', models.CharField(blank=True, choices=[('shia', 'Shia'), ('sunni', 'Sunni')], default='shia', max_length=10, verbose_name='Source Type')), ('category_type', models.CharField(blank=True, choices=[('quran', 'Quran'), ('hadith', 'Hadith')], max_length=10, null=True, verbose_name='Category Content Type')), ('name', models.CharField(max_length=355, verbose_name='name')), ('order', models.IntegerField(default=0, verbose_name='order')), ('lft', models.PositiveIntegerField(editable=False)), ('rght', models.PositiveIntegerField(editable=False)), ('tree_id', models.PositiveIntegerField(db_index=True, editable=False)), ('level', models.PositiveIntegerField(editable=False)), ('parent', mptt.fields.TreeForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='children', to='hadis.hadiscategory')), ], options={ 'verbose_name': 'Hadis Category', 'verbose_name_plural': 'Hadis Categories', 'ordering': ('order',), }, ), migrations.CreateModel( name='Hadis', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('number', models.PositiveIntegerField(unique=True, verbose_name='number')), ('title', models.CharField(max_length=355, verbose_name='title')), ('text', models.TextField(verbose_name='text')), ('translation', models.TextField(blank=True, default='', verbose_name='translation')), ('status', models.BooleanField(default=True, verbose_name='visibility')), ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='created at')), ('updated_at', models.DateTimeField(auto_now=True, verbose_name='updated at')), ('category', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='hadis.hadiscategory', verbose_name='category')), ], options={ 'verbose_name': 'hadis', 'verbose_name_plural': 'hadises', }, ), migrations.CreateModel( name='HadisReference', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('description', models.TextField(blank=True, null=True, verbose_name='description')), ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='created at')), ('book', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='hadis_references', to='library.book', verbose_name='book')), ('hadis', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='references', to='hadis.hadis', verbose_name='hadis')), ], options={ 'verbose_name': 'Hadis Reference', 'verbose_name_plural': 'Hadis References', 'unique_together': {('hadis', 'book')}, }, ), migrations.CreateModel( name='ReferenceImage', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('priority', models.IntegerField(default=0, help_text='Priority of the image, lower values mean higher priority.', verbose_name='Priority')), ('reference', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='hadis.hadisreference', verbose_name='Hadis Reference')), ('thumbnail', filer.fields.image.FilerImageField(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='+', to=settings.FILER_IMAGE_MODEL, verbose_name='thumbnail')), ], options={ 'verbose_name': 'Reference Image', 'verbose_name_plural': 'Reference Images', }, ), migrations.CreateModel( name='Transmitters', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('full_name', models.CharField(max_length=255)), ('birth_year_hijri', models.IntegerField(verbose_name='Birth Year (Hijri)')), ('death_year_hijri', models.IntegerField(verbose_name='Death Year (Hijri)')), ('description', models.TextField(blank=True, null=True, verbose_name='Description')), ('status', models.CharField(max_length=50, verbose_name='status')), ('status_color', models.CharField(max_length=25, verbose_name='Display Status Color')), ('thumbnail', filer.fields.image.FilerImageField(blank=True, help_text='image allowed', null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to=settings.FILER_IMAGE_MODEL)), ], ), migrations.CreateModel( name='HadisOverview', fields=[ ('hadis', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='hadis.hadis')), ('status', models.CharField(max_length=50, verbose_name='status')), ('status_color', models.CharField(max_length=25, verbose_name='Display Status Color')), ('status_text', models.TextField(blank=True, null=True, verbose_name='Status Text')), ('address', models.TextField(blank=True, null=True, verbose_name='address')), ('links', models.JSONField(blank=True, default=dict, null=True, verbose_name='title')), ('share_link', models.CharField(blank=True, max_length=255, null=True, verbose_name='share link')), ('explanation', models.TextField(blank=True, null=True, verbose_name='explanation')), ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='created at')), ('tags', models.ManyToManyField(blank=True, related_name='hadises', to='hadis.hadistag', verbose_name='tags')), ], ), migrations.CreateModel( name='HadisTransmitter', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('description', models.TextField(blank=True, null=True, verbose_name='description')), ('order', models.PositiveIntegerField(default=0, help_text='Order in the chain of transmission', verbose_name='Order')), ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='created at')), ('hadis', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='transmitters', to='hadis.hadis', verbose_name='hadis')), ('transmitter', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='hadises', to='hadis.transmitters', verbose_name='transmitter')), ], options={ 'verbose_name': 'Hadis Transmitter', 'verbose_name_plural': 'Hadis Transmitters', 'ordering': ('hadis', 'order'), 'unique_together': {('hadis', 'transmitter', 'order')}, }, ), ]