mirror of
https://github.com/inventree/InvenTree
synced 2024-08-30 18:33:04 +00:00
Add an 'attachment' page for the PurchaseOrder view
This commit is contained in:
parent
cc41752f9f
commit
56a6943438
73
InvenTree/order/templates/order/po_attachments.html
Normal file
73
InvenTree/order/templates/order/po_attachments.html
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
{% extends "order/order_base.html" %}
|
||||||
|
|
||||||
|
{% load inventree_extras %}
|
||||||
|
{% load i18n %}
|
||||||
|
{% load static %}
|
||||||
|
|
||||||
|
{% block details %}
|
||||||
|
|
||||||
|
{% include 'order/tabs.html' with tab='attachments' %}
|
||||||
|
|
||||||
|
<h4>{% trans "Purchase Order Attachments" %}
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
<div id='attachment-buttons'>
|
||||||
|
<div class='btn-group'>
|
||||||
|
<button type='button' class='btn btn-success' id='new-attachment'>{% trans "Add Attachment" %}</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<table class='table table-striped table-condensed' data-toolbar='#attachment-buttons' id='attachment-table'>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th data-field='file' data-searchable='true'>{% trans "File" %}</th>
|
||||||
|
<th data-field='comment' data-searchable='true'>{% trans "Comment" %}</th>
|
||||||
|
<th></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{% for attachment in order.attachments.all %}
|
||||||
|
<tr>
|
||||||
|
<td><a href='/media/{{ attachment.attachment }}'>{{ attachment.basename }}</a></td>
|
||||||
|
<td>{{ attachment.comment }}</td>
|
||||||
|
<td>
|
||||||
|
<div class='btn-group' style='float: right;'>
|
||||||
|
<button type='button' class='btn btn-default btn-glyph attachment-edit-button' url="{% url 'part-attachment-edit' attachment.id %}" data-toggle='tooltip' title='{% trans "Edit attachment" %}'>
|
||||||
|
<span class='glyphicon glyphicon-edit'/>
|
||||||
|
</button>
|
||||||
|
<button type='button' class='btn btn-default btn-glyph attachment-delete-button' url="{% url 'part-attachment-delete' attachment.id %}" data-toggle='tooltip' title='{% trans "Delete attachment" %}'>
|
||||||
|
<span class='glyphicon glyphicon-trash'/>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block js_ready %}
|
||||||
|
{{ block.super }}
|
||||||
|
|
||||||
|
$("#new-attachment").click(function() {
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
$("#attachment-table").on('click', '.attachment-edit-button', function() {
|
||||||
|
var button = $(this);
|
||||||
|
|
||||||
|
// TODO
|
||||||
|
});
|
||||||
|
|
||||||
|
$("#attachment-table").on('click', '.attachment-delete-button', function() {
|
||||||
|
var button = $(this);
|
||||||
|
|
||||||
|
// TODO
|
||||||
|
});
|
||||||
|
|
||||||
|
$("#attachment-table").inventreeTable({
|
||||||
|
});
|
||||||
|
|
||||||
|
{% endblock %}
|
@ -4,6 +4,9 @@
|
|||||||
<li{% ifequal tab 'details' %} class='active'{% endifequal %}>
|
<li{% ifequal tab 'details' %} class='active'{% endifequal %}>
|
||||||
<a href="{% url 'purchase-order-detail' order.id %}">{% trans "Items" %}</a>
|
<a href="{% url 'purchase-order-detail' order.id %}">{% trans "Items" %}</a>
|
||||||
</li>
|
</li>
|
||||||
|
<li{% if tab == 'attachments' %} class='active'{% endif %}>
|
||||||
|
<a href="{% url 'purchase-order-attachments' order.id %}">{% trans "Attachments" %}</a>
|
||||||
|
</li>
|
||||||
<li{% ifequal tab 'notes' %} class='active'{% endifequal %}>
|
<li{% ifequal tab 'notes' %} class='active'{% endifequal %}>
|
||||||
<a href="{% url 'purchase-order-notes' order.id %}">{% trans "Notes" %}{% if order.notes %} <span class='glyphicon glyphicon-small glyphicon-info-sign'></span>{% endif %}</a>
|
<a href="{% url 'purchase-order-notes' order.id %}">{% trans "Notes" %}{% if order.notes %} <span class='glyphicon glyphicon-small glyphicon-info-sign'></span>{% endif %}</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -21,6 +21,7 @@ purchase_order_detail_urls = [
|
|||||||
|
|
||||||
url(r'^notes/', views.PurchaseOrderNotes.as_view(), name='purchase-order-notes'),
|
url(r'^notes/', views.PurchaseOrderNotes.as_view(), name='purchase-order-notes'),
|
||||||
|
|
||||||
|
url(r'^attachments/', views.PurchaseOrderDetail.as_view(template_name='order/po_attachments.html'), name='purchase-order-attachments'),
|
||||||
url(r'^.*$', views.PurchaseOrderDetail.as_view(), name='purchase-order-detail'),
|
url(r'^.*$', views.PurchaseOrderDetail.as_view(), name='purchase-order-detail'),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -942,6 +942,9 @@ def attach_file(instance, filename):
|
|||||||
|
|
||||||
|
|
||||||
class PartAttachment(InvenTreeAttachment):
|
class PartAttachment(InvenTreeAttachment):
|
||||||
|
"""
|
||||||
|
Model for storing file attachments against a Part object
|
||||||
|
"""
|
||||||
|
|
||||||
def getSubdir(self):
|
def getSubdir(self):
|
||||||
return os.path.join("part_files", str(self.part.id))
|
return os.path.join("part_files", str(self.part.id))
|
||||||
|
Loading…
Reference in New Issue
Block a user