175 lines
7.3 KiB
HTML
175 lines
7.3 KiB
HTML
{% extends 'base.html' %}
|
|
{% load indonesian_filters %}
|
|
{% load static %}
|
|
|
|
{% block title %}{{ supplier.name }} - Manufacturing App{% endblock %}
|
|
|
|
{% block content %}
|
|
<div class="container-fluid mt-4">
|
|
<!-- Header -->
|
|
<div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pt-3 pb-2 mb-3 border-bottom">
|
|
<div>
|
|
<h1 class="h2">{{ supplier.name }}</h1>
|
|
<p class="text-muted">{{ supplier.contact_person|default:"No contact person" }}</p>
|
|
</div>
|
|
<div class="btn-toolbar mb-2 mb-md-0">
|
|
<a href="{% url 'purchasing:edit_supplier' supplier.id %}" class="btn btn-sm btn-outline-primary">
|
|
<i class="fas fa-edit"></i> Edit Supplier
|
|
</a>
|
|
<a href="{% url 'purchasing:delete_supplier' supplier.id %}" class="btn btn-sm btn-outline-danger ms-2">
|
|
<i class="fas fa-trash"></i> Delete
|
|
</a>
|
|
</div>
|
|
</div>
|
|
|
|
{% if messages %}
|
|
{% for message in messages %}
|
|
<div class="alert alert-{{ message.tags }} alert-dismissible fade show" role="alert">
|
|
{{ message }}
|
|
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
|
|
</div>
|
|
{% endfor %}
|
|
{% endif %}
|
|
|
|
<!-- Supplier Info Cards -->
|
|
<div class="row mb-4">
|
|
<div class="col-md-6">
|
|
<div class="card">
|
|
<div class="card-body">
|
|
<h5 class="card-title">Supplier Information</h5>
|
|
<table class="table table-borderless">
|
|
<tr>
|
|
<td><strong>Code:</strong></td>
|
|
<td>{{ supplier.code }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td><strong>Name:</strong></td>
|
|
<td>{{ supplier.name }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td><strong>Contact Person:</strong></td>
|
|
<td>{{ supplier.contact_person|default:"Not specified" }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td><strong>Status:</strong></td>
|
|
<td>
|
|
{% if supplier.is_active %}
|
|
<span class="badge bg-success">Active</span>
|
|
{% else %}
|
|
<span class="badge bg-secondary">Inactive</span>
|
|
{% endif %}
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-6">
|
|
<div class="card">
|
|
<div class="card-body">
|
|
<h5 class="card-title">Contact Details</h5>
|
|
<table class="table table-borderless">
|
|
<tr>
|
|
<td><strong>Email:</strong></td>
|
|
<td>{{ supplier.email|default:"Not provided" }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td><strong>Phone:</strong></td>
|
|
<td>{{ supplier.phone|default:"Not provided" }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td><strong>Tax ID:</strong></td>
|
|
<td>{{ supplier.tax_id|default:"Not provided" }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td><strong>Payment Terms:</strong></td>
|
|
<td>{{ supplier.payment_terms|default:"Standard terms" }}</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Address -->
|
|
<div class="row mb-4">
|
|
<div class="col-12">
|
|
<div class="card">
|
|
<div class="card-body">
|
|
<h5 class="card-title">Address</h5>
|
|
{% if supplier.address %}
|
|
<p class="mb-0">{{ supplier.address|linebreaks }}</p>
|
|
{% else %}
|
|
<p class="text-muted mb-0">No address provided</p>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Purchase Orders History -->
|
|
<div class="card">
|
|
<div class="card-header">
|
|
<h5 class="mb-0">Purchase Orders History</h5>
|
|
</div>
|
|
<div class="card-body">
|
|
{% with orders=supplier.purchaseorder_set.all %}
|
|
{% if orders %}
|
|
<div class="table-responsive">
|
|
<table class="table table-striped table-hover">
|
|
<thead>
|
|
<tr>
|
|
<th>PO Number</th>
|
|
<th>Order Date</th>
|
|
<th>Status</th>
|
|
<th>Total Amount</th>
|
|
<th>Actions</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for order in orders %}
|
|
<tr>
|
|
<td><strong>{{ order.po_number }}</strong></td>
|
|
<td>{{ order.order_date|date:"M d, Y" }}</td>
|
|
<td>
|
|
<span class="badge bg-{{ order.status|lower }}">{{ order.get_status_display }}</span>
|
|
</td>
|
|
<td>{{ order.total_amount|format_rupiah }}</td>
|
|
<td>
|
|
<a href="{% url 'purchasing:po_detail' order.po_number %}" class="btn btn-sm btn-outline-primary">
|
|
<i class="fas fa-eye"></i>
|
|
</a>
|
|
</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="mt-3">
|
|
<strong>Total Orders:</strong> {{ orders.count }}
|
|
<br>
|
|
<strong>Total Value:</strong> {{ orders|length }} orders
|
|
</div>
|
|
{% else %}
|
|
<div class="text-center text-muted py-4">
|
|
<i class="fas fa-shopping-cart fa-3x mb-3"></i>
|
|
<p>No purchase orders found for this supplier.</p>
|
|
<a href="{% url 'purchasing:create_po' %}" class="btn btn-primary">
|
|
<i class="fas fa-plus"></i> Create First Purchase Order
|
|
</a>
|
|
</div>
|
|
{% endif %}
|
|
{% endwith %}
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Navigation -->
|
|
<div class="mt-4">
|
|
<a href="{% url 'purchasing:supplier_list' %}" class="btn btn-secondary">
|
|
<i class="fas fa-arrow-left"></i> Back to Supplier List
|
|
</a>
|
|
</div>
|
|
</div>
|
|
{% endblock %} |