update the opportunity

This commit is contained in:
ismail 2025-09-24 13:53:38 +03:00
parent 1fc4ff706a
commit 57aff69153
2 changed files with 25 additions and 3 deletions

View File

@ -5438,7 +5438,21 @@ def update_estimate_additionals(request, dealer_slug, pk):
if form.is_valid(): if form.is_valid():
estimate = get_object_or_404(EstimateModel, pk=pk) estimate = get_object_or_404(EstimateModel, pk=pk)
car = estimate.get_itemtxs_data()[0].first().item_model.car car = estimate.get_itemtxs_data()[0].first().item_model.car
car.additional_services.set(form.cleaned_data["additional_finances"]) additionals = form.cleaned_data["additional_finances"]
car.additional_services.set(additionals)
additionals = [additional.pk for additional in additionals]
extra_info = models.ExtraInfo.objects.get(
dealer=dealer,
content_type=ContentType.objects.get_for_model(EstimateModel),
object_id=estimate.pk,
)
extra_info.data.update({"additionals": additionals})
extra_info.save()
# for i in additionals:
# if ex:
# ex.delete()
car.save() car.save()
messages.success(request, "Additional Finances updated successfully") messages.success(request, "Additional Finances updated successfully")
return redirect("estimate_detail", dealer_slug=dealer_slug, pk=pk) return redirect("estimate_detail", dealer_slug=dealer_slug, pk=pk)
@ -12540,10 +12554,18 @@ def create_estimate_for_car(request, dealer_slug, slug):
@require_POST @require_POST
def estimate_create_from_opportunity(request, dealer_slug, slug): def estimate_create_from_opportunity(request, dealer_slug, slug):
opportunity = get_object_or_404(models.Opportunity, slug=slug) opportunity = get_object_or_404(models.Opportunity, slug=slug)
if opportunity.estimate:
messages.error(
request,
"An estimate has already been created for this opportunity.",
)
return redirect(
"opportunity_detail", dealer_slug=dealer_slug, slug=opportunity.slug
)
dealer = get_object_or_404(models.Dealer, slug=dealer_slug) dealer = get_object_or_404(models.Dealer, slug=dealer_slug)
car = opportunity.car car = opportunity.car
customer = opportunity.customer customer = opportunity.customer
# TODO: set safe guard, so it doesnt recreate it
if not all([dealer, car, customer]): if not all([dealer, car, customer]):
messages.error(request, "Please correct the errors below.") messages.error(request, "Please correct the errors below.")
return redirect( return redirect(

View File

@ -28,7 +28,7 @@
href="{% url 'estimate_detail' request.dealer.slug opportunity.estimate.pk %}">{{ _("View Quotation") }}</a> href="{% url 'estimate_detail' request.dealer.slug opportunity.estimate.pk %}">{{ _("View Quotation") }}</a>
{% endif %} {% endif %}
{% else %} {% else %}
{% if perms.django_ledger.add_estimatemodel %} {% if perms.django_ledger.add_estimatemodel and not opportunity.estimate %}
<a class="dropdown-item" <a class="dropdown-item"
type="button" type="button"
data-bs-toggle="modal" data-bs-toggle="modal"