mirror of
https://github.com/inventree/InvenTree
synced 2024-08-30 18:33:04 +00:00
Add / edit / delete attachments for SalesOrder
This commit is contained in:
parent
a06595c152
commit
19cd0707a2
@ -15,7 +15,7 @@ from InvenTree.fields import RoundingDecimalFormField
|
|||||||
|
|
||||||
from stock.models import StockLocation
|
from stock.models import StockLocation
|
||||||
from .models import PurchaseOrder, PurchaseOrderLineItem, PurchaseOrderAttachment
|
from .models import PurchaseOrder, PurchaseOrderLineItem, PurchaseOrderAttachment
|
||||||
from .models import SalesOrder, SalesOrderLineItem
|
from .models import SalesOrder, SalesOrderLineItem, SalesOrderAttachment
|
||||||
|
|
||||||
|
|
||||||
class IssuePurchaseOrderForm(HelperForm):
|
class IssuePurchaseOrderForm(HelperForm):
|
||||||
@ -103,6 +103,18 @@ class EditPurchaseOrderAttachmentForm(HelperForm):
|
|||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
class EditSalesOrderAttachmentForm(HelperForm):
|
||||||
|
""" Form for editing a SalesOrderAttachment object """
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = SalesOrderAttachment
|
||||||
|
fields = [
|
||||||
|
'order',
|
||||||
|
'attachment',
|
||||||
|
'comment'
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
class EditPurchaseOrderLineItemForm(HelperForm):
|
class EditPurchaseOrderLineItemForm(HelperForm):
|
||||||
""" Form for editing a PurchaseOrderLineItem object """
|
""" Form for editing a PurchaseOrderLineItem object """
|
||||||
|
|
||||||
|
@ -33,10 +33,10 @@
|
|||||||
<td>{{ attachment.comment }}</td>
|
<td>{{ attachment.comment }}</td>
|
||||||
<td>
|
<td>
|
||||||
<div class='btn-group' style='float: right;'>
|
<div class='btn-group' style='float: right;'>
|
||||||
<button type='button' class='btn btn-default btn-glyph attachment-edit-button' url="{% url 'po-attachment-edit' attachment.id %}" data-toggle='tooltip' title='{% trans "Edit attachment" %}'>
|
<button type='button' class='btn btn-default btn-glyph attachment-edit-button' url="{% url 'so-attachment-edit' attachment.id %}" data-toggle='tooltip' title='{% trans "Edit attachment" %}'>
|
||||||
<span class='glyphicon glyphicon-edit'/>
|
<span class='glyphicon glyphicon-edit'/>
|
||||||
</button>
|
</button>
|
||||||
<button type='button' class='btn btn-default btn-glyph attachment-delete-button' url="{% url 'po-attachment-delete' attachment.id %}" data-toggle='tooltip' title='{% trans "Delete attachment" %}'>
|
<button type='button' class='btn btn-default btn-glyph attachment-delete-button' url="{% url 'so-attachment-delete' attachment.id %}" data-toggle='tooltip' title='{% trans "Delete attachment" %}'>
|
||||||
<span class='glyphicon glyphicon-trash'/>
|
<span class='glyphicon glyphicon-trash'/>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
@ -52,7 +52,7 @@
|
|||||||
{{ block.super }}
|
{{ block.super }}
|
||||||
|
|
||||||
$("#new-attachment").click(function() {
|
$("#new-attachment").click(function() {
|
||||||
launchModalForm("{% url 'po-attachment-create' %}?order={{ order.id }}",
|
launchModalForm("{% url 'so-attachment-create' %}?order={{ order.id }}",
|
||||||
{
|
{
|
||||||
reload: true,
|
reload: true,
|
||||||
}
|
}
|
||||||
|
@ -65,6 +65,13 @@ so_line_urls = [
|
|||||||
url(r'^new/', views.SOLineItemCreate.as_view(), name='so-line-item-create'),
|
url(r'^new/', views.SOLineItemCreate.as_view(), name='so-line-item-create'),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
sales_order_attachment_urls = [
|
||||||
|
url(r'^new/', views.SalesOrderAttachmentCreate.as_view(), name='so-attachment-create'),
|
||||||
|
url(r'^(?P<pk>\d+)/edit/', views.SalesOrderAttachmentEdit.as_view(), name='so-attachment-edit'),
|
||||||
|
url(r'^(?P<pk>\d+)/delete/', views.SalesOrderAttachmentDelete.as_view(), name='so-attachment-delete'),
|
||||||
|
|
||||||
|
]
|
||||||
|
|
||||||
sales_order_detail_urls = [
|
sales_order_detail_urls = [
|
||||||
|
|
||||||
url(r'^edit/', views.SalesOrderEdit.as_view(), name='so-edit'),
|
url(r'^edit/', views.SalesOrderEdit.as_view(), name='so-edit'),
|
||||||
@ -81,6 +88,8 @@ sales_order_urls = [
|
|||||||
|
|
||||||
url(r'^line/', include(so_line_urls)),
|
url(r'^line/', include(so_line_urls)),
|
||||||
|
|
||||||
|
url(r'^attachments/', include(sales_order_attachment_urls)),
|
||||||
|
|
||||||
# Display detail view for a single SalesOrder
|
# Display detail view for a single SalesOrder
|
||||||
url(r'^(?P<pk>\d+)/', include(sales_order_detail_urls)),
|
url(r'^(?P<pk>\d+)/', include(sales_order_detail_urls)),
|
||||||
|
|
||||||
|
@ -129,6 +129,34 @@ class PurchaseOrderAttachmentCreate(AjaxCreateView):
|
|||||||
return form
|
return form
|
||||||
|
|
||||||
|
|
||||||
|
class SalesOrderAttachmentCreate(AjaxCreateView):
|
||||||
|
""" View for creating a new SalesOrderAttachment """
|
||||||
|
|
||||||
|
model = SalesOrderAttachment
|
||||||
|
form_class = order_forms.EditSalesOrderAttachmentForm
|
||||||
|
ajax_form_title = _('Add Sales Order Attachment')
|
||||||
|
|
||||||
|
def get_data(self):
|
||||||
|
return {
|
||||||
|
'success': _('Added attachment')
|
||||||
|
}
|
||||||
|
|
||||||
|
def get_initial(self):
|
||||||
|
initials = super().get_initial().copy()
|
||||||
|
|
||||||
|
initials['order'] = SalesOrder.objects.get(id=self.request.GET.get('order', None))
|
||||||
|
|
||||||
|
return initials
|
||||||
|
|
||||||
|
def get_form(self):
|
||||||
|
""" Hide the 'order' field """
|
||||||
|
|
||||||
|
form = super().get_form()
|
||||||
|
form.fields['order'].widget = HiddenInput()
|
||||||
|
|
||||||
|
return form
|
||||||
|
|
||||||
|
|
||||||
class PurchaseOrderAttachmentEdit(AjaxUpdateView):
|
class PurchaseOrderAttachmentEdit(AjaxUpdateView):
|
||||||
""" View for editing a PurchaseOrderAttachment object """
|
""" View for editing a PurchaseOrderAttachment object """
|
||||||
|
|
||||||
@ -150,12 +178,46 @@ class PurchaseOrderAttachmentEdit(AjaxUpdateView):
|
|||||||
return form
|
return form
|
||||||
|
|
||||||
|
|
||||||
|
class SalesOrderAttachmentEdit(AjaxUpdateView):
|
||||||
|
""" View for editing a SalesOrderAttachment object """
|
||||||
|
|
||||||
|
model = SalesOrderAttachment
|
||||||
|
form_class = order_forms.EditSalesOrderAttachmentForm
|
||||||
|
ajax_form_title = _("Edit Attachment")
|
||||||
|
|
||||||
|
def get_data(self):
|
||||||
|
return {
|
||||||
|
'success': _('Attachment updated')
|
||||||
|
}
|
||||||
|
|
||||||
|
def get_form(self):
|
||||||
|
form = super().get_form()
|
||||||
|
|
||||||
|
form.fields['order'].widget = HiddenInput()
|
||||||
|
|
||||||
|
return form
|
||||||
|
|
||||||
|
|
||||||
class PurchaseOrderAttachmentDelete(AjaxDeleteView):
|
class PurchaseOrderAttachmentDelete(AjaxDeleteView):
|
||||||
""" View for deleting a PurchaseOrderAttachment """
|
""" View for deleting a PurchaseOrderAttachment """
|
||||||
|
|
||||||
model = PurchaseOrderAttachment
|
model = PurchaseOrderAttachment
|
||||||
ajax_form_title = _("Delete Attachment")
|
ajax_form_title = _("Delete Attachment")
|
||||||
ajax_template_name = "order/po_delete.html"
|
ajax_template_name = "order/delete_attachment.html"
|
||||||
|
context_object_name = "attachment"
|
||||||
|
|
||||||
|
def get_data(self):
|
||||||
|
return {
|
||||||
|
"danger": _("Deleted attachment")
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class SalesOrderAttachmentDelete(AjaxDeleteView):
|
||||||
|
""" View for deleting a SalesOrderAttachment """
|
||||||
|
|
||||||
|
model = SalesOrderAttachment
|
||||||
|
ajax_form_title = _("Delete Attachment")
|
||||||
|
ajax_template_name = "order/delete_attachment.html"
|
||||||
context_object_name = "attachment"
|
context_object_name = "attachment"
|
||||||
|
|
||||||
def get_data(self):
|
def get_data(self):
|
||||||
|
Loading…
Reference in New Issue
Block a user