more updates

This commit is contained in:
ismail 2025-09-16 17:08:23 +03:00
parent 83a00f6d05
commit 081aa01b70
4 changed files with 25 additions and 13 deletions

View File

@ -911,14 +911,18 @@ class Car(Base):
self.save() self.save()
def get_active_estimates(self): 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 = [] data = []
for item in qs: for item in qs:
x = ExtraInfo.objects.filter(object_id=item.ce_model.pk,content_type=ContentType.objects.get_for_model(EstimateModel)).first() x = ExtraInfo.objects.filter(object_id=item.ce_model.pk,content_type=ContentType.objects.get_for_model(EstimateModel)).first()
if x: if x:
data.append(x) data.append(x)
return data return data
except Exception as e:
logger.error(f"Error getting active estimates for car {self.vin} error: {e}")
return []
@property @property
def logo(self): def logo(self):

View File

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

View File

@ -991,14 +991,22 @@ def create_dealer_settings(sender, instance, created, **kwargs):
# # save_journal(instance,ledger,vendor) # # 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) @receiver(post_save, sender=PurchaseOrderModel)
def create_po_item_upload(sender, instance, created, **kwargs): 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]: for item in instance.get_itemtxs_data()[0]:
dealer = models.Dealer.objects.get(entity=instance.entity) dealer = models.Dealer.objects.get(entity=instance.entity)
models.PoItemsUploaded.objects.get_or_create( if item.bill_model.is_paid():
dealer=dealer, po=instance, item=item, status="fulfilled" models.PoItemsUploaded.objects.get_or_create(
) dealer=dealer, po=instance, item=item, status=instance.po_status
)
# @receiver(post_save, sender=models.Staff) # @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 %}" <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> class="dropdown-item text-success-dark">{% trans 'Purchase Order Detail' %}</a>
{% endif %} {% endif %}
{% if po.po_status == 'fulfilled' %} {% if po.po_status == 'fulfilled' or po.po_status == 'approved' %}
{% if perms.inventory.add_car %} {% if perms.inventory.add_car %}
<a href="{% url 'view_items_inventory' dealer_slug=request.dealer.slug entity_slug=entity_slug po_pk=po.pk %}" <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> class="dropdown-item text-success-dark">{% trans 'Inventory Items' %}</a>