From a38d1133b5e75809ea6d7ea4bbb85f4be3a5d9b2 Mon Sep 17 00:00:00 2001 From: aarizona Date: Fri, 30 Aug 2024 12:35:00 +0300 Subject: [PATCH] migrations --- back/object/models.py | 33 ++++++++++++++++--------------- front/src/components/nav.vue | 18 +++-------------- front/src/index.d.ts | 2 -- front/src/main.ts | 2 +- front/src/stores/promo_sidebar.ts | 2 -- 5 files changed, 21 insertions(+), 36 deletions(-) diff --git a/back/object/models.py b/back/object/models.py index c6e82b0..8fd0842 100644 --- a/back/object/models.py +++ b/back/object/models.py @@ -36,7 +36,7 @@ class Element3D(models.Model): description = models.TextField(blank=True, null=True) is_enabled = models.BooleanField(default=True) can_not_disable = models.BooleanField(default=False) - + x_pos = models.IntegerField(default=0) y_pos = models.IntegerField(default=0) z_pos = models.IntegerField(default=0) @@ -47,6 +47,7 @@ class Element3D(models.Model): class Scene3D(models.Model): name = models.CharField(max_length=120) + description = models.TextField(blank=True, null=True) elements = models.ManyToManyField(Element3D) env = models.ForeignKey(Environment, models.RESTRICT, blank=True, null=True) @@ -73,33 +74,33 @@ def maximum_size_validator(image): class ClickableArea(models.Model): - name = models.CharField("название", max_length=255) - description = models.TextField("описание") - object_name = models.CharField("название объекта", max_length=255) - target_name = models.CharField( - max_length=200, - blank=True, - null=True, + name = models.CharField( + "Название", + max_length=255, + help_text="Название кликабельной области", ) + description = models.TextField( + "Описание", + help_text="Описание кликабельной области", + ) + target = models.ForeignKey( Scene3D, on_delete=models.PROTECT, related_name="clickable_areas", blank=True, null=True, + help_text="На какую сцену ведет клик", ) source = models.ForeignKey( Element3D, on_delete=models.PROTECT, + help_text="В каком элементе искать object_name", ) - image = models.ImageField( - "Картинка", - upload_to=group_based_upload_to, - validators=[ - maximum_size_validator, - ], - blank=True, - null=True, + object_name = models.CharField( + "Название объекта", + max_length=255, + help_text="Имя mesh или group в элементе 3D", ) def __str__(self): diff --git a/front/src/components/nav.vue b/front/src/components/nav.vue index 837d30e..06dc2d5 100644 --- a/front/src/components/nav.vue +++ b/front/src/components/nav.vue @@ -23,21 +23,9 @@ console.log(router) - - - - - diff --git a/front/src/index.d.ts b/front/src/index.d.ts index 173d4ae..4b605e4 100644 --- a/front/src/index.d.ts +++ b/front/src/index.d.ts @@ -53,13 +53,11 @@ interface clickableAreaType { image?: string; source: number; target: number; - target_name?: string } interface PromoSidebarData { title?: string description?: string target?: string - target_name?: string } interface PromoSidebar extends PromoSidebarData { id_clickable?: number diff --git a/front/src/main.ts b/front/src/main.ts index 74fc202..e3447b9 100644 --- a/front/src/main.ts +++ b/front/src/main.ts @@ -10,7 +10,7 @@ import PromoMain from './components/Promo/main.vue' const routes = [ { path: '/', component: Promo, name: 'home_no' }, - { path: '/:item', component: Promo, name: 'home' }, + { path: '/:item/gallery', component: Promo, name: 'gallery' }, { path: '/:item/:target', component: PromoMain, name: 'scene' }, ] diff --git a/front/src/stores/promo_sidebar.ts b/front/src/stores/promo_sidebar.ts index 9bfdfb3..dd6cf51 100644 --- a/front/src/stores/promo_sidebar.ts +++ b/front/src/stores/promo_sidebar.ts @@ -8,7 +8,6 @@ export const usePromoSidebar = defineStore('promo_sidebar', { title: undefined, description: undefined, target: undefined, - target_name: undefined, loading: true, is_open: false, accordions: [], @@ -28,7 +27,6 @@ export const usePromoSidebar = defineStore('promo_sidebar', { } as PromoSidebarData if (target?.target) { sidebar_data.target = target.target.toString() - sidebar_data.target_name = target.target_name } this.accordions.push('desc') this.setData(sidebar_data)