This commit is contained in:
Faheed 2025-09-16 17:11:06 +03:00
commit 38add18a17
4 changed files with 25 additions and 13 deletions

View File

@ -903,14 +903,18 @@ class Car(Base):
self.save()
def get_active_estimates(self):
qs = self.item_model.itemtransactionmodel_set.exclude(ce_model__status="canceled")
try:
qs = self.item_model.itemtransactionmodel_set.exclude(ce_model__status="canceled")
data = []
for item in qs:
x = ExtraInfo.objects.filter(object_id=item.ce_model.pk,content_type=ContentType.objects.get_for_model(EstimateModel)).first()
if x:
data.append(x)
return data
data = []
for item in qs:
x = ExtraInfo.objects.filter(object_id=item.ce_model.pk,content_type=ContentType.objects.get_for_model(EstimateModel)).first()
if x:
data.append(x)
return data
except Exception as e:
logger.error(f"Error getting active estimates for car {self.vin} error: {e}")
return []
@property
def logo(self):

View File

@ -625,6 +625,7 @@ class BillModelUpdateView(LoginRequiredMixin, PermissionRequiredMixin, UpdateVie
f"Bill {self.object.bill_number} successfully updated.",
extra_tags="is-success",
)
return super().form_valid(form)
def get(self, request, dealer_slug, entity_slug, bill_pk, *args, **kwargs):
@ -693,7 +694,6 @@ class BillModelUpdateView(LoginRequiredMixin, PermissionRequiredMixin, UpdateVie
message=f"Items for Invoice {bill_model.bill_number} saved.",
level=messages.SUCCESS,
)
# if valid get saved formset from DB
return HttpResponseRedirect(
redirect_to=reverse(

View File

@ -991,14 +991,22 @@ def create_dealer_settings(sender, instance, created, **kwargs):
# # save_journal(instance,ledger,vendor)
@receiver(post_save, sender=BillModel)
def save_po(sender, instance, created, **kwargs):
try:
if instance.is_paid() and instance.itemtransactionmodel_set.first().po_model:
instance.itemtransactionmodel_set.first().po_model.save()
except Exception as e:
pass
@receiver(post_save, sender=PurchaseOrderModel)
def create_po_item_upload(sender, instance, created, **kwargs):
if instance.po_status == "fulfilled":
if instance.po_status == "fulfilled" or instance.po_status == 'approved':
for item in instance.get_itemtxs_data()[0]:
dealer = models.Dealer.objects.get(entity=instance.entity)
models.PoItemsUploaded.objects.get_or_create(
dealer=dealer, po=instance, item=item, status="fulfilled"
)
if item.bill_model.is_paid():
models.PoItemsUploaded.objects.get_or_create(
dealer=dealer, po=instance, item=item, status=instance.po_status
)
# @receiver(post_save, sender=models.Staff)

View File

@ -85,7 +85,7 @@
<a href="{% url 'purchase_order_detail' request.dealer.slug request.dealer.entity.slug po.pk %}"
class="dropdown-item text-success-dark">{% trans 'Purchase Order Detail' %}</a>
{% endif %}
{% if po.po_status == 'fulfilled' %}
{% if po.po_status == 'fulfilled' or po.po_status == 'approved' %}
{% if perms.inventory.add_car %}
<a href="{% url 'view_items_inventory' dealer_slug=request.dealer.slug entity_slug=entity_slug po_pk=po.pk %}"
class="dropdown-item text-success-dark">{% trans 'Inventory Items' %}</a>