diff --git a/backend/account/migrations/0001_initial.py b/backend/account/migrations/0001_initial.py index 98da48a..88ed6fd 100644 --- a/backend/account/migrations/0001_initial.py +++ b/backend/account/migrations/0001_initial.py @@ -1,4 +1,4 @@ -# Generated by Django 5.1.2 on 2025-01-27 18:07 +# Generated by Django 5.1.2 on 2025-01-28 17:00 import django.db.models.deletion from django.conf import settings diff --git a/backend/chat/migrations/0001_initial.py b/backend/chat/migrations/0001_initial.py index 40f2f7c..60a0a88 100644 --- a/backend/chat/migrations/0001_initial.py +++ b/backend/chat/migrations/0001_initial.py @@ -1,4 +1,4 @@ -# Generated by Django 5.1.2 on 2025-01-27 18:07 +# Generated by Django 5.1.2 on 2025-01-28 17:00 import django.db.models.deletion from django.conf import settings diff --git a/backend/home/migrations/0001_initial.py b/backend/home/migrations/0001_initial.py index 397620a..9369e7d 100644 --- a/backend/home/migrations/0001_initial.py +++ b/backend/home/migrations/0001_initial.py @@ -1,6 +1,5 @@ -# Generated by Django 5.1.2 on 2025-01-27 18:07 +# Generated by Django 5.1.2 on 2025-01-28 17:00 -import django.db.models.deletion from django.db import migrations, models @@ -9,18 +8,33 @@ class Migration(migrations.Migration): initial = True dependencies = [ - ('product', '0001_initial'), ] operations = [ + migrations.CreateModel( + name='HomeImageModel', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('image1', models.ImageField(upload_to='diff_image/')), + ('image2', models.ImageField(upload_to='diff_image/')), + ('title1', models.CharField(max_length=50)), + ('title2', models.CharField(max_length=50)), + ('description1', models.TextField()), + ('description2', models.TextField()), + ('link1', models.URLField()), + ('link2', models.URLField()), + ('unique_filed', models.CharField(choices=[('unique', 'unique')], default='unique', max_length=20, unique=True)), + ], + ), migrations.CreateModel( name='SliderModel', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('link', models.URLField(verbose_name='لینک')), ('title', models.CharField(max_length=50, verbose_name='عنوان')), + ('description', models.TextField(verbose_name='توضیحات')), ('image', models.ImageField(blank=True, null=True, upload_to='slider_image/', verbose_name='عکس اسلایدر')), ('video', models.FileField(blank=True, null=True, upload_to='slider_video/', verbose_name='ویدیواسلایدر')), - ('product', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='product.productmodel', verbose_name='محصول')), ], options={ 'verbose_name': 'اسلایدر', diff --git a/backend/home/migrations/0002_remove_slidermodel_product_slidermodel_description_and_more.py b/backend/home/migrations/0002_remove_slidermodel_product_slidermodel_description_and_more.py deleted file mode 100644 index a72f609..0000000 --- a/backend/home/migrations/0002_remove_slidermodel_product_slidermodel_description_and_more.py +++ /dev/null @@ -1,29 +0,0 @@ -# Generated by Django 5.1.2 on 2025-01-27 18:15 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('home', '0001_initial'), - ] - - operations = [ - migrations.RemoveField( - model_name='slidermodel', - name='product', - ), - migrations.AddField( - model_name='slidermodel', - name='description', - field=models.TextField(default='', verbose_name='توضیحات'), - preserve_default=False, - ), - migrations.AddField( - model_name='slidermodel', - name='link', - field=models.URLField(default='', verbose_name='لینک'), - preserve_default=False, - ), - ] diff --git a/backend/home/migrations/0003_homeimagemodel.py b/backend/home/migrations/0003_homeimagemodel.py deleted file mode 100644 index 471577b..0000000 --- a/backend/home/migrations/0003_homeimagemodel.py +++ /dev/null @@ -1,26 +0,0 @@ -# Generated by Django 5.1.2 on 2025-01-27 18:31 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('home', '0002_remove_slidermodel_product_slidermodel_description_and_more'), - ] - - operations = [ - migrations.CreateModel( - name='HomeImageModel', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('image1', models.ImageField(upload_to='diff_image/')), - ('image2', models.ImageField(upload_to='diff_image/')), - ('title1', models.CharField(max_length=50)), - ('title2', models.CharField(max_length=50)), - ('description1', models.TextField()), - ('description2', models.TextField()), - ('unique_filed', models.CharField(choices=[('unique', 'unique')], default='unique', max_length=20, unique=True)), - ], - ), - ] diff --git a/backend/home/migrations/0004_homeimagemodel_link1_homeimagemodel_link2.py b/backend/home/migrations/0004_homeimagemodel_link1_homeimagemodel_link2.py deleted file mode 100644 index 5eaa27d..0000000 --- a/backend/home/migrations/0004_homeimagemodel_link1_homeimagemodel_link2.py +++ /dev/null @@ -1,25 +0,0 @@ -# Generated by Django 5.1.2 on 2025-01-27 18:33 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('home', '0003_homeimagemodel'), - ] - - operations = [ - migrations.AddField( - model_name='homeimagemodel', - name='link1', - field=models.URLField(default=''), - preserve_default=False, - ), - migrations.AddField( - model_name='homeimagemodel', - name='link2', - field=models.URLField(default=''), - preserve_default=False, - ), - ] diff --git a/backend/order/migrations/0001_initial.py b/backend/order/migrations/0001_initial.py index 545e2b3..1435563 100644 --- a/backend/order/migrations/0001_initial.py +++ b/backend/order/migrations/0001_initial.py @@ -1,4 +1,4 @@ -# Generated by Django 5.1.2 on 2025-01-27 18:07 +# Generated by Django 5.1.2 on 2025-01-28 17:00 import django.db.models.deletion from django.conf import settings diff --git a/backend/product/migrations/0001_initial.py b/backend/product/migrations/0001_initial.py index 8821b93..db94f0b 100644 --- a/backend/product/migrations/0001_initial.py +++ b/backend/product/migrations/0001_initial.py @@ -1,4 +1,4 @@ -# Generated by Django 5.1.2 on 2025-01-27 18:07 +# Generated by Django 5.1.2 on 2025-01-28 17:00 import django.db.models.deletion from django.conf import settings @@ -81,7 +81,12 @@ class Migration(migrations.Migration): migrations.CreateModel( name='SubCategoryModel', fields=[ - ('maincategorymodel_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='product.maincategorymodel')), + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=50, verbose_name='نام')), + ('slug', models.SlugField(help_text='اسم دسته را برای مسیر به انگلیسی و بدون فاصله وارد کنید', unique=True)), + ('icon', models.ImageField(blank=True, null=True, upload_to='category_model/', verbose_name='آیکون')), + ('meta_title', models.CharField(blank=True, help_text='عنوان متا برای SEO', max_length=60, null=True, verbose_name='عنوان متا')), + ('meta_description', models.TextField(blank=True, help_text='توضیحات متا برای SEO', max_length=160, null=True, verbose_name='توضیحات متا')), ('show', models.BooleanField(default=False, verbose_name='نمایش در خانه')), ('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='subcategorys', to='product.maincategorymodel', verbose_name='دسته\u200cبندی والد')), ], @@ -89,7 +94,6 @@ class Migration(migrations.Migration): 'verbose_name': 'زیر دسته\u200cبندی', 'verbose_name_plural': 'زیر دسته\u200cبندی\u200cها', }, - bases=('product.maincategorymodel',), ), migrations.AddField( model_name='productmodel', diff --git a/backend/product/models.py b/backend/product/models.py index c3f3110..6f66298 100644 --- a/backend/product/models.py +++ b/backend/product/models.py @@ -23,12 +23,12 @@ class MainCategoryModel(models.Model): # return reverse('category_detail', kwargs={'slug': self.slug}) -class SubCategoryModel(MainCategoryModel): - # name = models.CharField(max_length=50, verbose_name='نام') - # slug = models.SlugField(max_length=50, unique=True, help_text="اسم دسته را برای مسیر به انگلیسی و بدون فاصله وارد کنید") - # icon = models.ImageField(upload_to='category_model/',verbose_name='آیکون', blank=True, null=True) - # meta_title = models.CharField(max_length=60, verbose_name="عنوان متا", help_text="عنوان متا برای SEO", blank=True, null=True) - # meta_description = models.TextField(max_length=160, verbose_name="توضیحات متا", help_text="توضیحات متا برای SEO", blank=True, null=True) +class SubCategoryModel(models.Model): + name = models.CharField(max_length=50, verbose_name='نام') + slug = models.SlugField(max_length=50, unique=True, help_text="اسم دسته را برای مسیر به انگلیسی و بدون فاصله وارد کنید") + icon = models.ImageField(upload_to='category_model/',verbose_name='آیکون', blank=True, null=True) + meta_title = models.CharField(max_length=60, verbose_name="عنوان متا", help_text="عنوان متا برای SEO", blank=True, null=True) + meta_description = models.TextField(max_length=160, verbose_name="توضیحات متا", help_text="توضیحات متا برای SEO", blank=True, null=True) parent = models.ForeignKey(MainCategoryModel, on_delete=models.CASCADE, related_name='subcategorys', null=True, blank=True, verbose_name='دسته‌بندی والد') show = models.BooleanField(default=False, verbose_name='نمایش در خانه') diff --git a/backend/ticket/migrations/0001_initial.py b/backend/ticket/migrations/0001_initial.py index 1610102..01683ad 100644 --- a/backend/ticket/migrations/0001_initial.py +++ b/backend/ticket/migrations/0001_initial.py @@ -1,4 +1,4 @@ -# Generated by Django 5.1.2 on 2025-01-27 18:07 +# Generated by Django 5.1.2 on 2025-01-28 17:00 import django.db.models.deletion from django.conf import settings @@ -19,7 +19,7 @@ class Migration(migrations.Migration): fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('subject', models.CharField(max_length=255)), - ('status', models.CharField(choices=[('open', 'Open'), ('in_progress', 'In Progress'), ('resolved', 'Resolved'), ('closed', 'Closed')], default='open', max_length=20)), + ('status', models.CharField(choices=[('open', 'یاز'), ('in_progress', 'در حال پردازش'), ('resolved', 'حل شده'), ('closed', 'باز')], default='open', max_length=20)), ('created_at', models.DateTimeField(auto_now_add=True)), ('updated_at', models.DateTimeField(auto_now=True)), ('admin', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='assigned_tickets', to=settings.AUTH_USER_MODEL)), diff --git a/backend/ticket/migrations/0002_alter_ticket_status.py b/backend/ticket/migrations/0002_alter_ticket_status.py deleted file mode 100644 index 1549f36..0000000 --- a/backend/ticket/migrations/0002_alter_ticket_status.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 5.1.2 on 2025-01-28 16:50 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('ticket', '0001_initial'), - ] - - operations = [ - migrations.AlterField( - model_name='ticket', - name='status', - field=models.CharField(choices=[('open', 'یاز'), ('in_progress', 'در حال پردازش'), ('resolved', 'حل شده'), ('closed', 'باز')], default='open', max_length=20), - ), - ] diff --git a/frontend/dockerfile b/frontend/dockerfile index 52d9096..240e8dd 100644 --- a/frontend/dockerfile +++ b/frontend/dockerfile @@ -10,4 +10,4 @@ WORKDIR /app COPY --from=build-stage /app /app EXPOSE 3000 ENV NODE_ENV=production -CMD ["npm", "run", "start"] \ No newline at end of file +CMD ["sh", "-c", "npm", "run", "start"] \ No newline at end of file