108 lines
7.6 KiB
Python
108 lines
7.6 KiB
Python
# Generated by Django 5.2.4 on 2025-09-07 07:35
|
|
|
|
import django.db.models.deletion
|
|
from django.conf import settings
|
|
from django.db import migrations, models
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
initial = True
|
|
|
|
dependencies = [
|
|
('invoices', '0001_initial'),
|
|
('processes', '0001_initial'),
|
|
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
|
]
|
|
|
|
operations = [
|
|
migrations.CreateModel(
|
|
name='InstallationAssignment',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('created', models.DateTimeField(auto_now_add=True, verbose_name='تاریخ ایجاد')),
|
|
('updated', models.DateTimeField(auto_now=True, verbose_name='تاریخ بروزرسانی')),
|
|
('is_active', models.BooleanField(default=True, verbose_name='فعال')),
|
|
('is_deleted', models.BooleanField(default=False, verbose_name='حذف شده')),
|
|
('deleted_at', models.DateTimeField(blank=True, null=True, verbose_name='تاریخ حذف')),
|
|
('scheduled_date', models.DateField(blank=True, null=True, verbose_name='تاریخ مراجعه')),
|
|
('notes', models.TextField(blank=True, verbose_name='یادداشت')),
|
|
('assigned_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='assigner_installations', to=settings.AUTH_USER_MODEL, verbose_name='اختصاص\u200cدهنده')),
|
|
('installer', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='assigned_installations', to=settings.AUTH_USER_MODEL, verbose_name='نصاب')),
|
|
('process_instance', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='installation_assignments', to='processes.processinstance', verbose_name='نمونه فرآیند')),
|
|
],
|
|
options={
|
|
'verbose_name': 'اختصاص نصاب',
|
|
'verbose_name_plural': 'اختصاص\u200cهای نصاب',
|
|
'ordering': ['-created'],
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='InstallationReport',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('created', models.DateTimeField(auto_now_add=True, verbose_name='تاریخ ایجاد')),
|
|
('updated', models.DateTimeField(auto_now=True, verbose_name='تاریخ بروزرسانی')),
|
|
('is_active', models.BooleanField(default=True, verbose_name='فعال')),
|
|
('is_deleted', models.BooleanField(default=False, verbose_name='حذف شده')),
|
|
('deleted_at', models.DateTimeField(blank=True, null=True, verbose_name='تاریخ حذف')),
|
|
('visited_date', models.DateField(blank=True, null=True, verbose_name='تاریخ مراجعه')),
|
|
('new_water_meter_serial', models.CharField(blank=True, max_length=50, null=True, verbose_name='سریال کنتور جدید')),
|
|
('seal_number', models.CharField(blank=True, max_length=50, null=True, verbose_name='شماره پلمپ')),
|
|
('is_meter_suspicious', models.BooleanField(default=False, verbose_name='کنتور مشکوک است؟')),
|
|
('utm_x', models.DecimalField(blank=True, decimal_places=6, max_digits=10, null=True, verbose_name='UTM X')),
|
|
('utm_y', models.DecimalField(blank=True, decimal_places=6, max_digits=10, null=True, verbose_name='UTM Y')),
|
|
('description', models.TextField(blank=True, verbose_name='توضیحات')),
|
|
('approved', models.BooleanField(default=False, verbose_name='تایید شده')),
|
|
('approved_at', models.DateTimeField(blank=True, null=True, verbose_name='تاریخ تایید')),
|
|
('assignment', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='reports', to='installations.installationassignment', verbose_name='اختصاص')),
|
|
('created_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL, verbose_name='ایجادکننده')),
|
|
],
|
|
options={
|
|
'verbose_name': 'گزارش نصب',
|
|
'verbose_name_plural': 'گزارش\u200cهای نصب',
|
|
'ordering': ['-created'],
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='InstallationPhoto',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('created', models.DateTimeField(auto_now_add=True, verbose_name='تاریخ ایجاد')),
|
|
('updated', models.DateTimeField(auto_now=True, verbose_name='تاریخ بروزرسانی')),
|
|
('is_active', models.BooleanField(default=True, verbose_name='فعال')),
|
|
('is_deleted', models.BooleanField(default=False, verbose_name='حذف شده')),
|
|
('deleted_at', models.DateTimeField(blank=True, null=True, verbose_name='تاریخ حذف')),
|
|
('image', models.ImageField(upload_to='installations/photos/%Y/%m/%d/', verbose_name='عکس')),
|
|
('report', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='photos', to='installations.installationreport', verbose_name='گزارش')),
|
|
],
|
|
options={
|
|
'verbose_name': 'عکس نصب',
|
|
'verbose_name_plural': 'عکس\u200cهای نصب',
|
|
'ordering': ['created'],
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='InstallationItemChange',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('created', models.DateTimeField(auto_now_add=True, verbose_name='تاریخ ایجاد')),
|
|
('updated', models.DateTimeField(auto_now=True, verbose_name='تاریخ بروزرسانی')),
|
|
('is_active', models.BooleanField(default=True, verbose_name='فعال')),
|
|
('is_deleted', models.BooleanField(default=False, verbose_name='حذف شده')),
|
|
('deleted_at', models.DateTimeField(blank=True, null=True, verbose_name='تاریخ حذف')),
|
|
('change_type', models.CharField(choices=[('add', 'افزودن'), ('remove', 'حذف')], max_length=6, verbose_name='نوع تغییر')),
|
|
('quantity', models.PositiveIntegerField(verbose_name='تعداد')),
|
|
('unit_price', models.DecimalField(blank=True, decimal_places=2, max_digits=15, null=True, verbose_name='قیمت واحد')),
|
|
('total_price', models.DecimalField(blank=True, decimal_places=2, max_digits=15, null=True, verbose_name='قیمت کل')),
|
|
('notes', models.TextField(blank=True, verbose_name='یادداشت')),
|
|
('item', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='invoices.item', verbose_name='آیتم')),
|
|
('report', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='item_changes', to='installations.installationreport', verbose_name='گزارش')),
|
|
],
|
|
options={
|
|
'verbose_name': 'تغییر آیتم نصب',
|
|
'verbose_name_plural': 'تغییرات آیتم\u200cهای نصب',
|
|
'ordering': ['created'],
|
|
},
|
|
),
|
|
]
|