fix front redirect
This commit is contained in:
parent
46c3995b6f
commit
ef56974447
|
@ -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}"
|
||||
|
||||
|
|
|
@ -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(
|
||||
|
|
|
@ -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) => {
|
||||
|
|
Loading…
Reference in New Issue