# Generated by Django 2.0.5 on 2018-07-17 07:04

from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
import django_jalali.db.models


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.CreateModel(
            name='AmadoFood',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=128, verbose_name='نام محصول')),
                ('current_price', models.IntegerField(default=0, verbose_name='قیمت فعلی(تومان)')),
                ('previous_price', models.IntegerField(default=0, verbose_name='قیمت قبلی(تومان)')),
                ('price_change_date', django_jalali.db.models.jDateField(default='1397-04-26', verbose_name='تاریخ تغییر قیمت')),
                ('product_description', models.TextField(blank=True, max_length=256, null=True, verbose_name='توضیحات محصول')),
                ('product_is_active', models.BooleanField(default=True, verbose_name='غذا در منو موجود می باشد')),
            ],
            options={
                'verbose_name': 'غذا',
                'verbose_name_plural': 'غذا ها',
                'permissions': (('can_see_food', 'می تواند مشاهده کند'),),
            },
        ),
        migrations.CreateModel(
            name='Branch',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('branch_name', models.CharField(max_length=128, verbose_name='نام شعبه')),
                ('branch_phone', models.CharField(max_length=128, verbose_name='تلفن شعبه')),
            ],
            options={
                'verbose_name': 'شعبه',
                'verbose_name_plural': 'شعبات',
                'permissions': (('can_see_branch', 'می تواند مشاهده کند'),),
            },
        ),
        migrations.CreateModel(
            name='BranchWarehouse',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('date', django_jalali.db.models.jDateField(default='1397-04-26', verbose_name='تاریخ موجودی')),
                ('description', models.TextField(blank=True, max_length=512, null=True, verbose_name='توضیحات')),
                ('submit_date', django_jalali.db.models.jDateTimeField(default='1397-03-28 20:38:00', verbose_name='تاریخ ثبت')),
                ('branch', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='AmadoWHApp.Branch', verbose_name='شعبه')),
                ('submit_user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='submitubw', to=settings.AUTH_USER_MODEL, verbose_name='کاربر ثبت کننده')),
            ],
            options={
                'verbose_name': 'موجودی شعب',
                'verbose_name_plural': 'موجودی های شعب',
                'permissions': (('can_see_brawar', 'می تواند مشاهده کند'),),
            },
        ),
        migrations.CreateModel(
            name='BranchWarehouseProduct',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('amount', models.FloatField(verbose_name='مقدار موجودی')),
                ('description', models.CharField(blank=True, max_length=128, null=True, verbose_name='توضیحات')),
                ('branch_warehouse', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='AmadoWHApp.BranchWarehouse', verbose_name='رابطه موجودی')),
            ],
            options={
                'verbose_name': 'محصول موجود',
                'verbose_name_plural': 'محصولات موجود',
                'permissions': (('can_see_brawarpro', 'می تواند مشاهده کند'),),
            },
        ),
        migrations.CreateModel(
            name='FoodSale',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('date', django_jalali.db.models.jDateField(default='1397-04-26', verbose_name='تاریخ فروش')),
                ('is_closed', models.BooleanField(default=False, verbose_name='گزارش بسته شده است')),
                ('submit_date', django_jalali.db.models.jDateTimeField(default='1397-03-28 20:38:00', verbose_name='تاریخ ثبت')),
                ('confirm_date', django_jalali.db.models.jDateTimeField(default='1397-03-28 20:38:00', verbose_name='تاریخ تایید')),
                ('branch', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='AmadoWHApp.Branch', verbose_name='شعبه')),
                ('confirm_user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='confirmuf', to=settings.AUTH_USER_MODEL, verbose_name='کاربر تایید کننده')),
                ('submit_user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='submituf', to=settings.AUTH_USER_MODEL, verbose_name='کاربر ثبت کننده')),
            ],
            options={
                'verbose_name': 'فروش غذایی',
                'verbose_name_plural': 'فروش های غذایی',
                'permissions': (('can_see_foodsales', 'می تواند مشاهده کند'), ('can_close_foodsales', 'می تواند ببندد')),
            },
        ),
        migrations.CreateModel(
            name='FoodSaleProduct',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('amount', models.IntegerField(verbose_name='تعداد فروش')),
                ('product', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='AmadoWHApp.AmadoFood', verbose_name='غذا')),
                ('sale', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='AmadoWHApp.FoodSale', verbose_name='فروش')),
            ],
            options={
                'verbose_name': 'غذای فروش',
                'verbose_name_plural': 'غذا های فروش',
                'permissions': (('can_see_productfoodsales', 'می تواند مشاهده کند'),),
            },
        ),
        migrations.CreateModel(
            name='Manager',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('manager_name', models.CharField(max_length=128, verbose_name='نام مدیر')),
                ('manager_tel', models.CharField(max_length=128, verbose_name='تلفن مدیر')),
                ('manager_image', models.ImageField(blank=True, null=True, upload_to='', verbose_name='عکس مدیر شعبه')),
                ('manager_user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='کاربر')),
            ],
            options={
                'verbose_name': 'مدیر',
                'verbose_name_plural': 'مدیران',
                'permissions': (('can_see_manager', 'می تواند مشاهده کند'),),
            },
        ),
        migrations.CreateModel(
            name='Message',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('message_subject', models.CharField(default='', max_length=256, verbose_name='عنوان پیام')),
                ('message_text', models.TextField(max_length=1024, verbose_name='متن پیام')),
                ('message_date', models.CharField(blank=True, default='1397-04-26 ساعت 11:34', max_length=32, null=True, verbose_name='تاریخ ارسال پیام')),
                ('message_answered', models.BooleanField(default=False, verbose_name='پاسخ داده شده')),
                ('message_group', models.CharField(choices=[('warehouse', 'انبار/حسابداری'), ('management', 'مدیریت')], max_length=32, verbose_name='ارسال پیام برای')),
                ('message_reply', models.TextField(blank=True, max_length=1024, null=True, verbose_name='متن پاسخ')),
                ('message_user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='کاربر')),
            ],
            options={
                'verbose_name': 'پیام',
                'verbose_name_plural': 'پیام ها',
                'permissions': (('can_see_messaeg', 'می تواند مشاهده کند'), ('can_reply_message', 'می تواند پیام دهد')),
            },
        ),
        migrations.CreateModel(
            name='MessageRelationship',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('from_relation', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='from_message', to='AmadoWHApp.Message', verbose_name='پیام اولیه')),
                ('to_relation', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='to_message', to='AmadoWHApp.Message', verbose_name='پیام پاسخ')),
            ],
            options={
                'verbose_name': 'پاسخ',
                'verbose_name_plural': 'پاسخ ها',
                'permissions': (('can_see_reply', 'می تواند مشاهده کند'), ('can_reply_reply', 'می تواند پاسخ دهد')),
            },
        ),
        migrations.CreateModel(
            name='Product',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('product_name', models.CharField(max_length=128, verbose_name='نام محصول')),
                ('current_price', models.IntegerField(default=0, verbose_name='قیمت خرید فعلی')),
                ('previous_price', models.IntegerField(default=0, verbose_name='قیمت خرید قبلی')),
                ('price_change_date', django_jalali.db.models.jDateField(default='1397-04-26', verbose_name='تاریخ تغییر قیمت')),
                ('product_description', models.TextField(blank=True, max_length=256, null=True, verbose_name='توضیحات محصول')),
                ('product_weekly_consumption', models.FloatField(default=0, verbose_name='مصرف هفتگی')),
                ('product_is_active', models.BooleanField(default=True, verbose_name='کالا فعال می باشد')),
                ('product_level', models.CharField(choices=[('lvl1', 'کالای خام'), ('lvl2', 'کالای آماده سازی'), ('lvl1-2', 'کالای خام آماده سازی'), ('lvl3', 'غذای آمادو')], default='lvl2', max_length=32, verbose_name='سطح')),
                ('product_payment_is_check', models.BooleanField(default=False, verbose_name='تسویه به صورت چک می باشد')),
                ('product_payment_check_days', models.IntegerField(default=0, verbose_name='روزهای چک')),
            ],
            options={
                'verbose_name': 'محصول',
                'verbose_name_plural': 'محصولات',
                'permissions': (('can_see_product', 'می تواند مشاهده کند'),),
            },
        ),
        migrations.CreateModel(
            name='ProductCategory',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('product_category_name', models.CharField(max_length=128, verbose_name='نام دسته')),
            ],
            options={
                'verbose_name': 'دسته بندی محصول',
                'verbose_name_plural': 'دسته بندی های محصول',
                'permissions': (('can_see_pcat', 'می تواند مشاهده کند'),),
            },
        ),
        migrations.CreateModel(
            name='Request',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('request_code', models.CharField(default='-', max_length=13, verbose_name='کد درخواست')),
                ('request_date', django_jalali.db.models.jDateField(blank=True, default='1397-04-26', null=True, verbose_name='تاریخ درخواست')),
                ('request_time', models.TimeField(blank=True, default='11:34:21', null=True, verbose_name='ساعت درخواست')),
                ('request_received', models.CharField(choices=[('waiting', 'در انتظار تایید'), ('confirmed', 'تایید شده'), ('rejected', 'رد شده'), ('variated', 'مغایرت دارد')], default='0', max_length=16, verbose_name='وضعیت')),
                ('request_branch', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='AmadoWHApp.Branch', verbose_name='شعبه درخواست دهنده')),
                ('request_operator', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='کاربر ثبت کننده')),
            ],
            options={
                'verbose_name': 'درخواست',
                'verbose_name_plural': 'درخواست ها',
                'permissions': (('can_see_request', 'می تواند مشاهده کند'), ('can_confirm_request', 'می تواند تایید کند'), ('can_decline_request', 'می تواند رد کند')),
            },
        ),
        migrations.CreateModel(
            name='RequestProduct',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('request_amount', models.FloatField(verbose_name='میزان درخواستی')),
                ('request_description', models.CharField(blank=True, max_length=128, null=True, verbose_name='توضیحات محصول')),
                ('request_time', models.TimeField(blank=True, default='11:34:21', null=True, verbose_name='ساعت ثبت')),
                ('request_date', django_jalali.db.models.jDateField(blank=True, default='1397-04-26', null=True, verbose_name='تاریخ ثبت')),
                ('request_operator', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='کاربر ثبت کننده')),
                ('request_product', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='AmadoWHApp.Product', verbose_name='محصول درخواستی')),
                ('request_request', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='AmadoWHApp.Request', verbose_name='درخواست')),
            ],
            options={
                'verbose_name': 'محصول درخواستی',
                'verbose_name_plural': 'محصول های درخواستی',
                'permissions': (('can_see_requestp', 'می تواند مشاهده کند'),),
            },
        ),
        migrations.CreateModel(
            name='RequestProductVariance',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('request_amount_received', models.FloatField(verbose_name='میزان دریافتی')),
                ('request_time', models.TimeField(blank=True, default='11:34:21', null=True, verbose_name='ساعت ثبت مغایرت')),
                ('request_date', django_jalali.db.models.jDateField(blank=True, default='1397-04-26', null=True, verbose_name='تاریخ ثبت مغایرت')),
                ('request_variance_confirm', models.CharField(choices=[('waiting', 'مغایرت در انتظار تایید'), ('confirmed', 'مغایرت تایید شده'), ('rejected', 'مغایرت رد شده')], default='0', max_length=16, verbose_name='وضعیت مغایرت')),
                ('request_description', models.CharField(blank=True, max_length=256, null=True, verbose_name='در صورتی که بجای این محصول،\u200cمحصول دیگری دریافت کردید نام و مقدار آن را بنویسید')),
                ('request_operator', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='کاربر ثبت کننده')),
                ('request_product', models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='AmadoWHApp.RequestProduct', verbose_name='محصول دارای مغایرت')),
            ],
            options={
                'verbose_name': 'مغایرت محصول درخواستی',
                'verbose_name_plural': 'مغایرت محصول های درخواستی',
                'permissions': (('can_see_requestpvar', 'می تواند مشاهده کند'),),
            },
        ),
        migrations.CreateModel(
            name='ShopDetail',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('amount', models.FloatField(verbose_name='میزان خرید')),
                ('last_price', models.IntegerField(verbose_name='آخرین قیمت')),
                ('last_price_date', django_jalali.db.models.jDateField(default='1397-04-26', verbose_name='تاریخ آخرین قیمت')),
                ('purchase_durability', models.IntegerField(verbose_name='ماندگاری خرید(روز)')),
                ('wh_amount', models.FloatField(blank=True, default=0, null=True, verbose_name='میزان موجودی')),
                ('rc_amount', models.FloatField(blank=True, default=0, null=True, verbose_name='میزان دریافتی')),
                ('rc_date', django_jalali.db.models.jDateField(default='1397-04-26', verbose_name='تاریخ دریافت')),
                ('product', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='AmadoWHApp.Product', verbose_name='محصول')),
            ],
            options={
                'verbose_name': 'محصول خرید',
                'verbose_name_plural': 'محصول های خرید',
                'permissions': (('can_see_shopdet', 'می تواند مشاهده کند'),),
            },
        ),
        migrations.CreateModel(
            name='ShopRequest',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('from_date', django_jalali.db.models.jDateField(default='1397-04-26', verbose_name='تاریخ خرید')),
                ('description', models.TextField(blank=True, max_length=512, null=True, verbose_name='توضیحات')),
                ('status', models.CharField(choices=[('submitted', 'ثبت شده / در انتظار تایید'), ('confirmed', 'تایید شده'), ('done', 'خرید شده'), ('declined', 'رد شده'), ('received', 'دریافت شده')], default='submitted', max_length=32, verbose_name='وضعیت')),
                ('submit_date', django_jalali.db.models.jDateTimeField(default='1397-03-28 20:38:00', verbose_name='تاریخ ثبت')),
                ('confirm_date', django_jalali.db.models.jDateTimeField(default='1397-03-28 20:38:00', verbose_name='تاریخ تایید')),
                ('confirm_user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='confirmu', to=settings.AUTH_USER_MODEL, verbose_name='کاربر تایید کننده')),
                ('submit_user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='submitu', to=settings.AUTH_USER_MODEL, verbose_name='کاربر ثبت کننده')),
            ],
            options={
                'verbose_name': 'خرید',
                'verbose_name_plural': 'خرید ها',
                'permissions': (('can_see_shopreq', 'می تواند مشاهده کند'), ('can_confirm_shopreq', 'می تواند تایید کند')),
            },
        ),
        migrations.CreateModel(
            name='Supplier',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('supplier_company', models.CharField(blank=True, max_length=128, null=True, verbose_name='شرکت تامین کننده')),
                ('supplier_name', models.CharField(default='', max_length=128, verbose_name='نام تامین کننده')),
                ('supplier_phone', models.CharField(blank=True, default='', max_length=128, null=True, verbose_name='تلفن تامین کننده')),
                ('supplier_address', models.TextField(blank=True, default='', max_length=256, null=True, verbose_name='آدرس تامین کننده')),
            ],
            options={
                'verbose_name': 'تامین کننده',
                'verbose_name_plural': 'تامین کنندگان',
                'permissions': (('can_see_supplier', 'می تواند مشاهده کند'),),
            },
        ),
        migrations.CreateModel(
            name='Unit',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('unit_name', models.CharField(max_length=64, unique=True, verbose_name='نام واحد')),
                ('unit_description', models.CharField(blank=True, max_length=128, null=True, verbose_name='توضیح واحد')),
            ],
            options={
                'verbose_name': 'واحد',
                'verbose_name_plural': 'واحد ها',
                'permissions': (('can_see_unit', 'می تواند مشاهده کند'),),
            },
        ),
        migrations.CreateModel(
            name='Warehouse',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('warehouse_name', models.CharField(max_length=64, unique=True, verbose_name='نام انبار')),
                ('warehouse_description', models.CharField(blank=True, max_length=128, null=True, verbose_name='توضیح انبار')),
            ],
            options={
                'verbose_name': 'انبار',
                'verbose_name_plural': 'انبار ها',
                'permissions': (('can_see_wh', 'می تواند مشاهده کند'),),
            },
        ),
        migrations.CreateModel(
            name='Warehouse_Product',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('warehouse_handling_date', django_jalali.db.models.jDateField(default='1396-01-01', verbose_name='تاریخ گرفتن موجودی')),
                ('warehouse_product_stock', models.FloatField(default=0, verbose_name='میزان موجودی در انبار')),
                ('warehouse_product', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='AmadoWHApp.Product', verbose_name='محصول')),
            ],
            options={
                'verbose_name': 'محصول در انبار',
                'verbose_name_plural': 'محصولات در انبار',
                'permissions': (('can_see_whproduct', 'می تواند مشاهده کند'),),
            },
        ),
        migrations.AddField(
            model_name='shoprequest',
            name='supplier',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='AmadoWHApp.Supplier', verbose_name='تامین کننده'),
        ),
        migrations.AddField(
            model_name='shopdetail',
            name='shop',
            field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='AmadoWHApp.ShopRequest', verbose_name='خرید مربوطه'),
        ),
        migrations.AddField(
            model_name='shopdetail',
            name='unit',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='AmadoWHApp.Unit', verbose_name='واحد'),
        ),
        migrations.AddField(
            model_name='requestproduct',
            name='request_variance',
            field=models.ManyToManyField(to='AmadoWHApp.RequestProductVariance', verbose_name='مغایرت'),
        ),
        migrations.AddField(
            model_name='request',
            name='request_product',
            field=models.ManyToManyField(through='AmadoWHApp.RequestProduct', to='AmadoWHApp.Product', verbose_name='محصول درخواستی'),
        ),
        migrations.AddField(
            model_name='product',
            name='product_category',
            field=models.ForeignKey(default='1', on_delete=django.db.models.deletion.CASCADE, to='AmadoWHApp.ProductCategory', verbose_name='دسته محصول'),
        ),
        migrations.AddField(
            model_name='product',
            name='product_supplier',
            field=models.ManyToManyField(blank=True, null=True, to='AmadoWHApp.Supplier', verbose_name='تامین کننده'),
        ),
        migrations.AddField(
            model_name='product',
            name='product_unit',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='AmadoWHApp.Unit', verbose_name='واحد محصول'),
        ),
        migrations.AddField(
            model_name='product',
            name='product_warehouse',
            field=models.ForeignKey(blank=True, default=1, null=True, on_delete=django.db.models.deletion.CASCADE, to='AmadoWHApp.Warehouse', verbose_name='انبار محصول'),
        ),
        migrations.AddField(
            model_name='branchwarehouseproduct',
            name='product',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='AmadoWHApp.Product', verbose_name='محصول'),
        ),
        migrations.AddField(
            model_name='branchwarehouseproduct',
            name='unit',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='AmadoWHApp.Unit', verbose_name='واحد'),
        ),
        migrations.AddField(
            model_name='branch',
            name='branch_manager',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='AmadoWHApp.Manager', verbose_name='مدیر شعبه'),
        ),
        migrations.CreateModel(
            name='ShowHelpTicket',
            fields=[
            ],
            options={
                'verbose_name_plural': 'Help Tickets ( 2unclosed )',
                'proxy': True,
                'indexes': [],
            },
            bases=('AmadoWHApp.shoprequest',),
        ),
    ]
