fix front redirect

This commit is contained in:
aarizona 2024-05-30 11:08:59 +03:00
parent 46c3995b6f
commit ef56974447
3 changed files with 32 additions and 16 deletions

View File

@ -10,12 +10,21 @@ class Partner(models.Model):
return f"Partner {self.id}"
class Author(models.Model):
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=255)
telegram_id = models.CharField(max_length=50)
def str(self):
return f"Author {self.id} - {self.name}"
class InventoryItem(models.Model):
id = models.AutoField(primary_key=True)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
name = models.CharField(max_length=255)
author = models.ForeignKey(Author, on_delete=models.CASCADE)
author = models.ForeignKey(Author, on_delete=models.CASCADE, null=True)
partner = models.ForeignKey(
Partner, related_name="Inventory", on_delete=models.CASCADE
)
@ -28,19 +37,10 @@ class Element(models.Model):
photo = models.ImageField(upload_to=".")
additional_text = models.TextField()
created_at = models.DateTimeField(auto_now_add=True)
inventory = models.ForeignKey(
InventoryItem, related_name="Element", on_delete=models.CASCADE
)
def __str__(self):
return f"Element {self.id} (Inventory {self.inventory.id})"
class Author(models.Model):
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=255)
telegram_id = models.CharField(max_length=50)
def str(self):
return f"Author {self.id} - {self.name}"

View File

@ -1,4 +1,5 @@
import requests
import datetime
from django.conf import settings
@ -92,7 +93,10 @@ class ElementViewSet(viewsets.ModelViewSet):
if Partner.objects.filter(external_id=data["partner"]).exists():
partner_object = Partner.objects.get(external_id=data["partner"])
else:
partner_object = Partner.objects.create(external_id=data["partner"])
partner_object = Partner.objects.create(
external_id=data["partner"],
name=data["partner_name"],
)
partner_serializer = PartnerSerializer(partner_object, many=False)
# check if inventory exist
@ -103,7 +107,10 @@ class ElementViewSet(viewsets.ModelViewSet):
):
inventory_object = InventoryItem.objects.get(id=data["inventory"])
else:
inventory_object = InventoryItem.objects.create(partner=partner_object)
inventory_object = InventoryItem.objects.create(
partner=partner_object,
name=f"{data['partner_name']} {datetime.datetime.now()}",
)
inventory_serializer = InventorySerializer(inventory_object, many=False)
element_item = Element.objects.create(

View File

@ -43,9 +43,18 @@ const schema = object({
type Schema = InferType<typeof schema>
async function onSubmit(event: FormSubmitEvent<Schema>) {
const data = await $fetch(`${apiBase}/element/`, { method: 'POST', body: JSON.stringify(event.data) })
const newElements = await $fetch<ApiTypeList>(`${apiBase}/element?inventory_id=${route.params.inv_id}`, { headers })
elements.value = newElements.results
const prepader_data = event.data
prepader_data.partner_name = external_data.partner.find(el => el.Ref_Key == state.partner)?.Description
if(!prepader_data.partner_name) prepader_data.partner_name = prepader_data.partner
const data = await $fetch(`${apiBase}/element/`, { method: 'POST', body: JSON.stringify(prepader_data) })
const inv_id = route.params.inv_id || data.inventory?.id
if (!route.params.inv_id) {
navigateTo(`/organization/p_${data.partner.id}/i_${data.inventory.id}`)
} else {
const newElements = await $fetch<ApiTypeList>(`${apiBase}/element?inventory_id=${inv_id}`, { headers })
elements.value = newElements.results
}
}
const searchInExternal = (q: string) => {