fix the additional_finances issue

This commit is contained in:
ismail 2025-07-24 12:16:58 +03:00
parent 14680585b9
commit 8d82a954e8
6 changed files with 49 additions and 19 deletions

View File

@ -440,14 +440,14 @@ class CarFinanceForm(forms.ModelForm):
model = CarFinance
fields = ["cost_price","marked_price"]
def save(self, commit=True):
instance = super().save()
try:
instance.additional_services.set(self.cleaned_data["additional_finances"])
except KeyError:
pass
instance.save()
return instance
# def save(self, commit=True):
# instance = super().save()
# try:
# instance.additional_services.set(self.cleaned_data["additional_finances"])
# except KeyError:
# pass
# instance.save()
# return instance
class CarLocationForm(forms.ModelForm):

View File

@ -370,8 +370,8 @@ def update_item_model_cost(sender, instance, created, **kwargs):
)
instance.car.item_model.default_amount = instance.marked_price
if not isinstance(instance.car.item_model.additional_info, dict):
instance.car.item_model.additional_info = {}
# if not isinstance(instance.car.item_model.additional_info, dict):
# instance.car.item_model.additional_info = {}
# instance.car.item_model.additional_info.update({"car_finance": instance.to_dict()})
# instance.car.item_model.additional_info.update(
# {

View File

@ -6989,8 +6989,12 @@ class OpportunityListView(LoginRequiredMixin, PermissionRequiredMixin, ListView)
def get_queryset(self):
dealer = get_user_type(self.request)
staff = getattr(self.request.user.staffmember, "staff", None)
queryset = models.Opportunity.objects.filter(dealer=dealer, lead__staff=staff)
if self.request.is_dealer:
queryset = models.Opportunity.objects.filter(dealer=dealer)
elif self.request.is_staff:
staff = self.request.staff
queryset = models.Opportunity.objects.filter(dealer=dealer, lead__staff=staff)
# Search filter
search = self.request.GET.get("q")

View File

@ -23,8 +23,9 @@
</div>
<div class="modal-body">
<form action="{% url 'add_task' request.dealer.slug content_type slug %}"
hx-select=".taskTable"
hx-target=".taskTable"
hx-boost="true"
hx-select-oob=".taskTable:outerHTML,#toast-container:outerHTML"
hx-swap="none"
hx-on::after-request="{
resetSubmitButton(document.querySelector('.add_task_form button[type=submit]'));
$('#taskModal').modal('hide');

View File

@ -838,9 +838,9 @@
{% include "components/note_modal.html" with content_type="lead" slug=lead.slug %}
<!-- schedule Modal -->
{% include "components/schedule_modal.html" with content_type="lead" slug=lead.slug %}
{% endblock content %}
{% block customJS %}
<script>
{% endblock content %}
{% block customJS %}
<script>
function reset_form() {
document.querySelector('#id_note').value = ""
let form = document.querySelector('.add_note_form')

View File

@ -578,7 +578,7 @@
style="min-width:165px">Completed</th>
</tr>
</thead>
<tbody class="list" id="all-tasks-table-body">
<tbody class="list taskTable" id="all-tasks-table-body">
{% for task in schedules %}
{% include "partials/task.html" %}
{% endfor %}
@ -639,7 +639,7 @@
<th class="align-middle pe-0 text-end" scope="col" style="width:10%;"></th>
</tr>
</thead>
<tbody>
<tbody id="notesTable">
{% for note in opportunity.get_notes %}
<tr class="hover-actions-trigger btn-reveal-trigger position-static">
<td class="align-middle text-start fw-bold text-body-tertiary ps-1">{{ note.note }}</td>
@ -1100,3 +1100,28 @@
<!-- schedule Modal -->
{% include "components/schedule_modal.html" with content_type="opportunity" slug=opportunity.slug %}
{% endblock %}
{% block customJS %}
<script>
document.body.addEventListener('htmx:afterSwap', function(evt) {
if (evt.detail.target.id === 'main_content') {
var modal = bootstrap.Modal.getInstance(document.getElementById('exampleModal'));
if (modal) {
modal.hide();
}
}
});
// Cleanup modal backdrop if needed
document.body.addEventListener('htmx:beforeSwap', function(evt) {
if (evt.detail.target.id === 'main_content') {
var backdrops = document.querySelectorAll('.modal-backdrop');
backdrops.forEach(function(backdrop) {
backdrop.remove();
});
}
});
</script>
{% endblock customJS %}