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}"
|
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):
|
class InventoryItem(models.Model):
|
||||||
id = models.AutoField(primary_key=True)
|
id = models.AutoField(primary_key=True)
|
||||||
created_at = models.DateTimeField(auto_now_add=True)
|
created_at = models.DateTimeField(auto_now_add=True)
|
||||||
updated_at = models.DateTimeField(auto_now=True)
|
updated_at = models.DateTimeField(auto_now=True)
|
||||||
name = models.CharField(max_length=255)
|
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 = models.ForeignKey(
|
||||||
Partner, related_name="Inventory", on_delete=models.CASCADE
|
Partner, related_name="Inventory", on_delete=models.CASCADE
|
||||||
)
|
)
|
||||||
|
@ -35,12 +44,3 @@ class Element(models.Model):
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return f"Element {self.id} (Inventory {self.inventory.id})"
|
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 requests
|
||||||
|
import datetime
|
||||||
|
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
|
|
||||||
|
@ -92,7 +93,10 @@ class ElementViewSet(viewsets.ModelViewSet):
|
||||||
if Partner.objects.filter(external_id=data["partner"]).exists():
|
if Partner.objects.filter(external_id=data["partner"]).exists():
|
||||||
partner_object = Partner.objects.get(external_id=data["partner"])
|
partner_object = Partner.objects.get(external_id=data["partner"])
|
||||||
else:
|
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)
|
partner_serializer = PartnerSerializer(partner_object, many=False)
|
||||||
|
|
||||||
# check if inventory exist
|
# check if inventory exist
|
||||||
|
@ -103,7 +107,10 @@ class ElementViewSet(viewsets.ModelViewSet):
|
||||||
):
|
):
|
||||||
inventory_object = InventoryItem.objects.get(id=data["inventory"])
|
inventory_object = InventoryItem.objects.get(id=data["inventory"])
|
||||||
else:
|
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)
|
inventory_serializer = InventorySerializer(inventory_object, many=False)
|
||||||
|
|
||||||
element_item = Element.objects.create(
|
element_item = Element.objects.create(
|
||||||
|
|
|
@ -43,10 +43,19 @@ const schema = object({
|
||||||
type Schema = InferType<typeof schema>
|
type Schema = InferType<typeof schema>
|
||||||
|
|
||||||
async function onSubmit(event: FormSubmitEvent<Schema>) {
|
async function onSubmit(event: FormSubmitEvent<Schema>) {
|
||||||
const data = await $fetch(`${apiBase}/element/`, { method: 'POST', body: JSON.stringify(event.data) })
|
const prepader_data = event.data
|
||||||
const newElements = await $fetch<ApiTypeList>(`${apiBase}/element?inventory_id=${route.params.inv_id}`, { headers })
|
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
|
elements.value = newElements.results
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const searchInExternal = (q: string) => {
|
const searchInExternal = (q: string) => {
|
||||||
if (!q.length) {
|
if (!q.length) {
|
||||||
|
|
Loading…
Reference in New Issue