huge fix
This commit is contained in:
		
							parent
							
								
									810c87e2e0
								
							
						
					
					
						commit
						b5bf3a5dbe
					
				
					 51 changed files with 2397 additions and 326 deletions
				
			
		| 
						 | 
				
			
			@ -90,7 +90,11 @@
 | 
			
		|||
    <!-- Customer & Well Info -->
 | 
			
		||||
    <div class="row mb-3">
 | 
			
		||||
      <div class="col-6">
 | 
			
		||||
        <h6 class="fw-bold mb-2">اطلاعات مشترک</h6>
 | 
			
		||||
        <h6 class="fw-bold mb-2">اطلاعات مشترک {% if instance.representative.profile and instance.representative.profile.user_type == 'legal' %}(حقوقی){% else %}(حقیقی){% endif %}</h6>
 | 
			
		||||
        {% if instance.representative.profile and instance.representative.profile.user_type == 'legal' %}
 | 
			
		||||
        <div class="small mb-1"><span class="text-muted">نام شرکت:</span> {{ instance.representative.profile.company_name|default:"-" }}</div>
 | 
			
		||||
        <div class="small mb-1"><span class="text-muted">شناسه ملی:</span> {{ instance.representative.profile.company_national_id|default:"-" }}</div>
 | 
			
		||||
        {% endif %}
 | 
			
		||||
        <div class="small mb-1"><span class="text-muted">نام:</span> {{ invoice.customer.get_full_name|default:instance.representative.get_full_name }}</div>
 | 
			
		||||
        {% if instance.representative.profile and instance.representative.profile.national_code %}
 | 
			
		||||
        <div class="small mb-1"><span class="text-muted">کد ملی:</span> {{ instance.representative.profile.national_code }}</div>
 | 
			
		||||
| 
						 | 
				
			
			@ -150,7 +154,7 @@
 | 
			
		|||
          </tr>
 | 
			
		||||
          {% endif %}
 | 
			
		||||
          <tr class="total-section border-top border-2">
 | 
			
		||||
            <td colspan="5" class="text-end"><strong>مبلغ نهایی(تومان):</strong></td>
 | 
			
		||||
            <td colspan="5" class="text-end"><strong>مبلغ نهایی (شامل مالیات)(تومان):</strong></td>
 | 
			
		||||
            <td><strong>{{ invoice.final_amount|floatformat:0|intcomma:False }}</strong></td>
 | 
			
		||||
          </tr>
 | 
			
		||||
          <tr class="total-section">
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -67,7 +67,7 @@
 | 
			
		|||
          <div class="row g-3 mb-3">
 | 
			
		||||
            <div class="col-6 col-md-3">
 | 
			
		||||
              <div class="border rounded p-3 h-100">
 | 
			
		||||
                <div class="small text-muted">مبلغ نهایی</div>
 | 
			
		||||
                <div class="small text-muted">مبلغ نهایی (با مالیات)</div>
 | 
			
		||||
                <div class="h5 mt-1">{{ invoice.final_amount|floatformat:0|intcomma:False }} تومان</div>
 | 
			
		||||
              </div>
 | 
			
		||||
            </div>
 | 
			
		||||
| 
						 | 
				
			
			@ -106,7 +106,7 @@
 | 
			
		|||
              </thead>
 | 
			
		||||
              <tbody>
 | 
			
		||||
                {% for r in rows %}
 | 
			
		||||
                <tr>
 | 
			
		||||
                <tr class="{% if r.is_removed %}table-light text-muted{% endif %}">
 | 
			
		||||
                  <td>
 | 
			
		||||
                    <div class="d-flex flex-column">
 | 
			
		||||
                      <span class="fw-semibold">{{ r.item.name }}</span>
 | 
			
		||||
| 
						 | 
				
			
			@ -118,7 +118,13 @@
 | 
			
		|||
                  <td class="text-center text-danger">{{ r.removed_qty }}</td>
 | 
			
		||||
                  <td class="text-center">{{ r.quantity }}</td>
 | 
			
		||||
                  <td class="text-end">{{ r.unit_price|floatformat:0|intcomma:False }}</td>
 | 
			
		||||
                  <td class="text-end">{{ r.total_price|floatformat:0|intcomma:False }}</td>
 | 
			
		||||
                  <td class="text-end">
 | 
			
		||||
                    {% if r.is_removed %}
 | 
			
		||||
                      <span class="text-muted">-</span>
 | 
			
		||||
                    {% else %}
 | 
			
		||||
                      {{ r.total_price|floatformat:0|intcomma:False }}
 | 
			
		||||
                    {% endif %}
 | 
			
		||||
                  </td>
 | 
			
		||||
                </tr>
 | 
			
		||||
                {% empty %}
 | 
			
		||||
                <tr><td colspan="7" class="text-center text-muted">آیتمی یافت نشد</td></tr>
 | 
			
		||||
| 
						 | 
				
			
			@ -154,7 +160,7 @@
 | 
			
		|||
                  <th class="text-end">{{ invoice.discount_amount|floatformat:0|intcomma:False }} تومان</th>
 | 
			
		||||
                </tr>
 | 
			
		||||
                <tr>
 | 
			
		||||
                  <th colspan="6" class="text-end">مبلغ نهایی</th>
 | 
			
		||||
                  <th colspan="6" class="text-end">مبلغ نهایی (با مالیات)</th>
 | 
			
		||||
                  <th class="text-end">{{ invoice.final_amount|floatformat:0|intcomma:False }} تومان</th>
 | 
			
		||||
                </tr>
 | 
			
		||||
                <tr>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -42,6 +42,11 @@
 | 
			
		|||
          <a href="{% url 'invoices:final_invoice_print' instance.id %}" target="_blank" class="btn btn-outline-secondary">
 | 
			
		||||
            <i class="bx bx-printer me-2"></i> پرینت
 | 
			
		||||
          </a>
 | 
			
		||||
          {% if request.user|is_manager and step_instance.status != 'approved' and step_instance.status != 'completed' and invoice.remaining_amount != 0 %}
 | 
			
		||||
          <button type="button" class="btn btn-warning" data-bs-toggle="modal" data-bs-target="#forceApproveModal">
 | 
			
		||||
            <i class="bx bx-bolt-circle me-1"></i> تایید اضطراری
 | 
			
		||||
          </button>
 | 
			
		||||
          {% endif %}
 | 
			
		||||
 | 
			
		||||
          <a href="{% url 'processes:request_list' %}" class="btn btn-outline-secondary">
 | 
			
		||||
            <i class="bx bx-chevron-right bx-sm ms-sm-n2"></i>
 | 
			
		||||
| 
						 | 
				
			
			@ -106,13 +111,17 @@
 | 
			
		|||
        <div class="col-12 {% if is_broker %}col-lg-7{% else %}col-lg-12{% endif %}">
 | 
			
		||||
          <div class="card mb-3 border">
 | 
			
		||||
            <div class="card-header d-flex justify-content-between">
 | 
			
		||||
                <h5 class="mb-0">وضعیت فاکتور</h5>
 | 
			
		||||
                <h5 class="mb-0">وضعیت فاکتور
 | 
			
		||||
                  {% if step_instance.status == 'approved' %}
 | 
			
		||||
                    <span class="badge bg-warning">تایید اضطراری</span>
 | 
			
		||||
                  {% endif %}
 | 
			
		||||
                </h5>
 | 
			
		||||
            </div>
 | 
			
		||||
            <div class="card-body">
 | 
			
		||||
              <div class="row g-3">
 | 
			
		||||
                <div class="col-6 col-md-4">
 | 
			
		||||
                  <div class="border rounded p-3 h-100">
 | 
			
		||||
                    <div class="small text-muted">مبلغ نهایی</div>
 | 
			
		||||
                    <div class="small text-muted">مبلغ نهایی (با مالیات)</div>
 | 
			
		||||
                    <div class="h5 mt-1">{{ invoice.final_amount|floatformat:0|intcomma:False }} تومان</div>
 | 
			
		||||
                  </div>
 | 
			
		||||
                </div>
 | 
			
		||||
| 
						 | 
				
			
			@ -189,10 +198,17 @@
 | 
			
		|||
        <div class="card-header d-flex justify-content-between align-items-center">
 | 
			
		||||
          <h6 class="mb-0">وضعیت تاییدها</h6>
 | 
			
		||||
          {% if can_approve_reject %}
 | 
			
		||||
          <div class="d-flex gap-2">
 | 
			
		||||
            <button type="button" class="btn btn-success btn-sm" data-bs-toggle="modal" data-bs-target="#approveFinalSettleModal">تایید</button>
 | 
			
		||||
            <button type="button" class="btn btn-danger btn-sm" data-bs-toggle="modal" data-bs-target="#rejectFinalSettleModal">رد</button>
 | 
			
		||||
          </div>
 | 
			
		||||
            {% if current_user_has_decided %}
 | 
			
		||||
            <div class="d-flex gap-2">
 | 
			
		||||
              <button type="button" class="btn btn-success btn-sm" disabled>تایید</button>
 | 
			
		||||
              <button type="button" class="btn btn-danger btn-sm" disabled>رد</button>
 | 
			
		||||
            </div>
 | 
			
		||||
            {% else %}
 | 
			
		||||
              <div class="d-flex gap-2">
 | 
			
		||||
                <button type="button" class="btn btn-success btn-sm" data-bs-toggle="modal" data-bs-target="#approveFinalSettleModal">تایید</button>
 | 
			
		||||
                <button type="button" class="btn btn-danger btn-sm" data-bs-toggle="modal" data-bs-target="#rejectFinalSettleModal">رد</button>
 | 
			
		||||
              </div>
 | 
			
		||||
            {% endif %}
 | 
			
		||||
          {% endif %}
 | 
			
		||||
        </div>
 | 
			
		||||
        <div class="card-body py-3">
 | 
			
		||||
| 
						 | 
				
			
			@ -243,6 +259,32 @@
 | 
			
		|||
    </div>
 | 
			
		||||
  </div>
 | 
			
		||||
</div>
 | 
			
		||||
<!-- Force Approve Modal -->
 | 
			
		||||
<div class="modal fade" id="forceApproveModal" tabindex="-1" aria-hidden="true">
 | 
			
		||||
  <div class="modal-dialog">
 | 
			
		||||
    <div class="modal-content">
 | 
			
		||||
      <form method="post">
 | 
			
		||||
        {% csrf_token %}
 | 
			
		||||
        <input type="hidden" name="action" value="force_approve">
 | 
			
		||||
        <div class="modal-header">
 | 
			
		||||
          <h5 class="modal-title">تایید اضطراری تسویه</h5>
 | 
			
		||||
          <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div class="modal-body">
 | 
			
		||||
          <div class="alert alert-warning" role="alert">
 | 
			
		||||
          با تایید اضطراری ممکن است هنوز پرداخت کامل نشده باشد و این مرحله به صورت استثنا تایید میشود.
 | 
			
		||||
          </div>
 | 
			
		||||
          آیا از تایید اضطراری این مرحله اطمینان دارید؟
 | 
			
		||||
        </div>
 | 
			
		||||
        <div class="modal-footer">
 | 
			
		||||
          <button type="button" class="btn btn-label-secondary" data-bs-dismiss="modal">انصراف</button>
 | 
			
		||||
          <button type="submit" class="btn btn-warning">تایید اضطراری</button>
 | 
			
		||||
        </div>
 | 
			
		||||
      </form>
 | 
			
		||||
    </div>
 | 
			
		||||
  </div>
 | 
			
		||||
  </div>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<!-- Delete Confirmation Modal (final settlement payments) -->
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -75,7 +75,7 @@
 | 
			
		|||
                        <input type="number" min="1" class="form-control" name="amount" id="id_amount" required>
 | 
			
		||||
                      </div>
 | 
			
		||||
                      <div class="mb-3">
 | 
			
		||||
                        <label class="form-label">تاریخ پرداخت</label>
 | 
			
		||||
                        <label class="form-label">تاریخ پرداخت/سررسید چک</label>
 | 
			
		||||
                        <input type="text" class="form-control" id="id_payment_date" name="payment_date" placeholder="انتخاب تاریخ" readonly required>
 | 
			
		||||
                      </div>
 | 
			
		||||
                      <div class="mb-3">
 | 
			
		||||
| 
						 | 
				
			
			@ -89,7 +89,7 @@
 | 
			
		|||
                        </select>
 | 
			
		||||
                      </div>
 | 
			
		||||
                      <div class="mb-3">
 | 
			
		||||
                        <label class="form-label">شماره مرجع/چک</label>
 | 
			
		||||
                        <label class="form-label">شماره پیگیری/شماره صیادی چک</label>
 | 
			
		||||
                        <input type="text" class="form-control" name="reference_number" id="id_reference_number" placeholder="..." required>
 | 
			
		||||
                      </div>
 | 
			
		||||
                      <div class="mb-3">
 | 
			
		||||
| 
						 | 
				
			
			@ -116,7 +116,7 @@
 | 
			
		|||
                      <div class="row g-3">
 | 
			
		||||
                        <div class="col-6">
 | 
			
		||||
                          <div class="border rounded p-3">
 | 
			
		||||
                            <div class="small text-muted">مبلغ نهایی پیشفاکتور</div>
 | 
			
		||||
                            <div class="small text-muted">مبلغ نهایی پیشفاکتور (با مالیات)</div>
 | 
			
		||||
                            <div class="h5 mt-1">{{ totals.final_amount|floatformat:0|intcomma:False }} تومان</div>
 | 
			
		||||
                          </div>
 | 
			
		||||
                        </div>
 | 
			
		||||
| 
						 | 
				
			
			@ -154,9 +154,9 @@
 | 
			
		|||
                        <thead>
 | 
			
		||||
                          <tr>
 | 
			
		||||
                            <th>مبلغ</th>
 | 
			
		||||
                            <th>تاریخ</th>
 | 
			
		||||
                            <th>تاریخ پرداخت/سررسید چک</th>
 | 
			
		||||
                            <th>روش</th>
 | 
			
		||||
                            <th>شماره مرجع/چک</th>
 | 
			
		||||
                            <th>شماره پیگیری/شماره صیادی چک</th>
 | 
			
		||||
                            <th>عملیات</th>
 | 
			
		||||
                          </tr>
 | 
			
		||||
                        </thead>
 | 
			
		||||
| 
						 | 
				
			
			@ -197,10 +197,17 @@
 | 
			
		|||
                    <div class="card-header d-flex justify-content-between align-items-center">
 | 
			
		||||
                      <h6 class="mb-0">وضعیت تاییدها</h6>
 | 
			
		||||
                      {% if can_approve_reject %}
 | 
			
		||||
                      <div class="d-flex gap-2">
 | 
			
		||||
                        <button type="button" class="btn btn-success btn-sm" data-bs-toggle="modal" data-bs-target="#approvePaymentsModal2">تایید</button>
 | 
			
		||||
                        <button type="button" class="btn btn-danger btn-sm" data-bs-toggle="modal" data-bs-target="#rejectPaymentsModal">رد</button>
 | 
			
		||||
                      </div>
 | 
			
		||||
                        {% if current_user_has_decided %}
 | 
			
		||||
                        <div class="d-flex gap-2">
 | 
			
		||||
                          <button type="button" class="btn btn-success btn-sm" disabled>تایید</button>
 | 
			
		||||
                          <button type="button" class="btn btn-danger btn-sm" disabled>رد</button>
 | 
			
		||||
                        </div>
 | 
			
		||||
                        {% else %}
 | 
			
		||||
                        <div class="d-flex gap-2">
 | 
			
		||||
                          <button type="button" class="btn btn-success btn-sm" data-bs-toggle="modal" data-bs-target="#approvePaymentsModal2">تایید</button>
 | 
			
		||||
                          <button type="button" class="btn btn-danger btn-sm" data-bs-toggle="modal" data-bs-target="#rejectPaymentsModal">رد</button>
 | 
			
		||||
                        </div>
 | 
			
		||||
                        {% endif %}
 | 
			
		||||
                      {% endif %}
 | 
			
		||||
                    </div>
 | 
			
		||||
                    <div class="card-body py-3">
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -114,8 +114,23 @@
 | 
			
		|||
              <div class="">
 | 
			
		||||
                <div class="card-body p-3">
 | 
			
		||||
                  <h6 class="card-title text-primary mb-2">
 | 
			
		||||
                    <i class="bx bx-user me-1"></i>اطلاعات مشترک
 | 
			
		||||
                    <i class="bx bx-user me-1"></i>
 | 
			
		||||
                    {% if instance.representative.profile.user_type == 'legal' %}
 | 
			
		||||
                      اطلاعات مشترک (حقوقی)
 | 
			
		||||
                    {% else %}
 | 
			
		||||
                      اطلاعات مشترک (حقیقی)
 | 
			
		||||
                    {% endif %}
 | 
			
		||||
                  </h6>
 | 
			
		||||
                  {% if instance.representative.profile.user_type == 'legal' %}
 | 
			
		||||
                  <div class="d-flex gap-2 mb-1">
 | 
			
		||||
                    <span class="text-muted small">نام شرکت:</span>
 | 
			
		||||
                    <span class="fw-medium small">{{ instance.representative.profile.company_name|default:"-" }}</span>
 | 
			
		||||
                  </div>
 | 
			
		||||
                  <div class="d-flex gap-2 mb-1">
 | 
			
		||||
                    <span class="text-muted small">شناسه ملی:</span>
 | 
			
		||||
                    <span class="fw-medium small">{{ instance.representative.profile.company_national_id|default:"-" }}</span>
 | 
			
		||||
                  </div>
 | 
			
		||||
                  {% endif %}
 | 
			
		||||
                  <div class="d-flex gap-2 mb-1">
 | 
			
		||||
                    <span class="text-muted small">نام:</span>
 | 
			
		||||
                    <span class="fw-medium small">{{ quote.customer.get_full_name }}</span>
 | 
			
		||||
| 
						 | 
				
			
			@ -198,7 +213,7 @@
 | 
			
		|||
                  {% if quote.discount_amount > 0 %}
 | 
			
		||||
                  <p class="mb-2">تخفیف:</p>
 | 
			
		||||
                  {% endif %}
 | 
			
		||||
                  <p class="mb-0 fw-bold">مبلغ نهایی:</p>
 | 
			
		||||
                  <p class="mb-0 fw-bold">مبلغ نهایی (شامل مالیات):</p>
 | 
			
		||||
                </td>
 | 
			
		||||
                <td class="px-4 py-5">
 | 
			
		||||
                  <p class="fw-medium mb-2">{{ quote.total_amount|floatformat:0|intcomma:False }} تومان</p>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -203,7 +203,7 @@
 | 
			
		|||
                    </tr>
 | 
			
		||||
                    {% endif %}
 | 
			
		||||
                    <tr class="total-section border-top border-2">
 | 
			
		||||
                        <td colspan="5" class="text-end"><strong>مبلغ نهایی(تومان):</strong></td>
 | 
			
		||||
                        <td colspan="5" class="text-end"><strong>مبلغ نهایی (با مالیات)(تومان):</strong></td>
 | 
			
		||||
                        <td><strong>{{ quote.final_amount|floatformat:0|intcomma:False }}</strong></td>
 | 
			
		||||
                    </tr>
 | 
			
		||||
                </tfoot>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue