From 6eec6a0599dce3321f5769faa066cccbc5b75497 Mon Sep 17 00:00:00 2001
From: Oliver <oliver.henry.walters@gmail.com>
Date: Fri, 9 Jul 2021 16:29:58 +1000
Subject: [PATCH] Consolidate Manufacturers and Suppliers views

---
 .../part/templates/part/manufacturer.html     | 84 -------------------
 InvenTree/part/templates/part/navbar.html     |  8 +-
 InvenTree/part/templates/part/supplier.html   | 77 ++++++++++++++++-
 3 files changed, 75 insertions(+), 94 deletions(-)
 delete mode 100644 InvenTree/part/templates/part/manufacturer.html

diff --git a/InvenTree/part/templates/part/manufacturer.html b/InvenTree/part/templates/part/manufacturer.html
deleted file mode 100644
index ba708d70e8..0000000000
--- a/InvenTree/part/templates/part/manufacturer.html
+++ /dev/null
@@ -1,84 +0,0 @@
-{% extends "part/part_base.html" %}
-{% load static %}
-{% load i18n %}
-{% load inventree_extras %}
-
-{% block menubar %}
-{% include 'part/navbar.html' with tab='manufacturers' %}
-{% endblock %}
-
-{% block heading %}
-{% trans "Part Manufacturers" %}
-{% endblock %}
-
-{% block details %}
-
-<div id='button-toolbar'>
-    <div class='btn-group'>
-        <button class="btn btn-success" id='manufacturer-create'>
-            <span class='fas fa-plus-circle'></span> {% trans "New Manufacturer Part" %}
-        </button>
-        <div id='opt-dropdown' class="btn-group">
-            <button id='manufacturer-part-options' class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown">{% trans "Options" %}<span class="caret"></span></button>
-            <ul class="dropdown-menu">
-                <li><a href='#' id='manufacturer-part-delete' title='{% trans "Delete manufacturer parts" %}'>{% trans "Delete" %}</a></li>
-            </ul>
-        </div>
-    </div>
-</div>
-
-<table class="table table-striped table-condensed" id='manufacturer-table' data-toolbar='#button-toolbar'>
-</table>
-
-{% endblock %}
-
-{% block js_load %}
-{{ block.super }}
-{% endblock %}
-{% block js_ready %}
-    {{ block.super }}
-
-    $('#manufacturer-create').click(function () {
-        launchModalForm(
-            "{% url 'manufacturer-part-create' %}",
-            {
-                reload: true,
-                data: {
-                    part: {{ part.id }}
-                },
-                secondary: [
-                    {
-                        field: 'manufacturer',
-                        label: '{% trans "New Manufacturer" %}',
-                        title: '{% trans "Create new manufacturer" %}',
-                    }
-                ]
-            });
-    });
-
-    $("#manufacturer-part-delete").click(function() {
-
-        var selections = $("#manufacturer-table").bootstrapTable("getSelections");
-
-        deleteManufacturerParts(selections, {
-            onSuccess: function() { 
-                $("#manufacturer-table").bootstrapTable("refresh");
-            }
-        });
-    });
-
-    loadManufacturerPartTable(
-        "#manufacturer-table",
-        "{% url 'api-manufacturer-part-list' %}",
-        {
-            params: {
-                part: {{ part.id }},
-                part_detail: true,
-                manufacturer_detail: true,
-            },
-        }
-    );
-
-    linkButtonsToSelection($("#manufacturer-table"), ['#manufacturer-part-options'])
-
-{% endblock %}
\ No newline at end of file
diff --git a/InvenTree/part/templates/part/navbar.html b/InvenTree/part/templates/part/navbar.html
index b4c943dcfa..6266675aa8 100644
--- a/InvenTree/part/templates/part/navbar.html
+++ b/InvenTree/part/templates/part/navbar.html
@@ -78,12 +78,6 @@
         </a>
     </li>
     {% if part.purchaseable and roles.purchase_order.view %}
-    <li class='list-group-item {% if tab == "manufacturers" %}active{% endif %}' title='{% trans "Manufacturers" %}'>
-        <a href='{% url "part-manufacturers" part.id %}'>
-            <span class='menu-tab-icon fas fa-industry sidebar-icon'></span>
-            {% trans "Manufacturers" %}
-        </a>
-    </li>
     <li class='list-group-item {% if tab == "suppliers" %}active{% endif %}' title='{% trans "Suppliers" %}'>
         <a href='{% url "part-suppliers" part.id %}'>
             <span class='menu-tab-icon fas fa-building sidebar-icon'></span>
@@ -109,7 +103,7 @@
     <li class='list-group-item {% if tab == "tests" %}active{% endif %}' title='{% trans "Part Test Templates" %}'>
         <a href='{% url "part-test-templates" part.id %}'>
             <span class='menu-tab-icon fas fa-vial sidebar-icon'></span>
-            {% trans "Tests" %}
+            {% trans "Test Templates" %}
         </a>
     </li>
     {% endif %}
diff --git a/InvenTree/part/templates/part/supplier.html b/InvenTree/part/templates/part/supplier.html
index c0486cc42a..28b6407b33 100644
--- a/InvenTree/part/templates/part/supplier.html
+++ b/InvenTree/part/templates/part/supplier.html
@@ -6,12 +6,13 @@
 {% include 'part/navbar.html' with tab='suppliers' %}
 {% endblock %}
 
+
 {% block heading %}
 {% trans "Part Suppliers" %}
 {% endblock %}
 
 {% block details %}
-<div id='button-toolbar'>
+<div id='supplier-button-toolbar'>
     <div class='btn-group'>
         <button class="btn btn-success" id='supplier-create'>
             <span class='fas fa-plus-circle'></span> {% trans "New Supplier Part" %}
@@ -25,11 +26,38 @@
     </div>
 </div>
 
-<table class="table table-striped table-condensed" id='supplier-table' data-toolbar='#button-toolbar'>
+<table class="table table-striped table-condensed" id='supplier-table' data-toolbar='#supplier-button-toolbar'>
 </table>
 
 {% endblock %}
 
+{% block post_content_panel %}
+<div id='manufacturer-button-toolbar'>
+    <div class='btn-group'>
+        <button class="btn btn-success" id='manufacturer-create'>
+            <span class='fas fa-plus-circle'></span> {% trans "New Manufacturer Part" %}
+        </button>
+        <div id='opt-dropdown' class="btn-group">
+            <button id='manufacturer-part-options' class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown">{% trans "Options" %}<span class="caret"></span></button>
+            <ul class="dropdown-menu">
+                <li><a href='#' id='manufacturer-part-delete' title='{% trans "Delete manufacturer parts" %}'>{% trans "Delete" %}</a></li>
+            </ul>
+        </div>
+    </div>
+</div>
+<div class='panel panel-default panel-inventree'>
+    <div class='panel-heading'>
+        <h4>
+            {% trans "Part Manufacturers" %}
+        </h4>
+    </div>
+    <div class='panel-content'>
+        <table class='table table-condensed table-striped' id='manufacturer-table' data-toolbar='#manufacturer-button-toolbar'></table>
+    </div>
+</div>
+
+{% endblock %}
+
 {% block js_load %}
 {{ block.super }}
 {% endblock %}
@@ -90,6 +118,49 @@
         }
     );
 
-    linkButtonsToSelection($("#supplier-table"), ['#supplier-part-options'])
+    linkButtonsToSelection($("#supplier-table"), ['#supplier-part-options']);
+
+    loadManufacturerPartTable(
+        '#manufacturer-table',
+        "{% url 'api-manufacturer-part-list' %}",
+        {
+            params: {
+                part: {{ part.id }},
+                part_detail: true,
+                manufacturer_detail: true,
+            },
+        }
+    );
+
+    linkButtonsToSelection($("#manufacturer-table"), ['#manufacturer-part-options']);
+
+    $("#manufacturer-part-delete").click(function() {
+
+        var selections = $("#manufacturer-table").bootstrapTable("getSelections");
+
+        deleteManufacturerParts(selections, {
+            onSuccess: function() { 
+                $("#manufacturer-table").bootstrapTable("refresh");
+            }
+        });
+    });
+
+    $('#manufacturer-create').click(function () {
+        launchModalForm(
+            "{% url 'manufacturer-part-create' %}",
+            {
+                reload: true,
+                data: {
+                    part: {{ part.id }}
+                },
+                secondary: [
+                    {
+                        field: 'manufacturer',
+                        label: '{% trans "New Manufacturer" %}',
+                        title: '{% trans "Create new manufacturer" %}',
+                    }
+                ]
+            });
+    });
 
 {% endblock %}
\ No newline at end of file