{% extends "base.html" %} {% load i18n %} {% load static %} {% load inventree_extras %} {% load plugin_extras %} {% block page_title %} {% inventree_title %} | {% trans "Settings" %} {% endblock %} {% block menubar %} {% include "InvenTree/settings/navbar.html" %} {% endblock %} {% block content %} {% include "InvenTree/settings/user.html" %} {% include "InvenTree/settings/user_settings.html" %} {% include "InvenTree/settings/user_homepage.html" %} {% include "InvenTree/settings/user_search.html" %} {% include "InvenTree/settings/user_labels.html" %} {% include "InvenTree/settings/user_reports.html" %} {% if user.is_staff %} {% include "InvenTree/settings/global.html" %} {% include "InvenTree/settings/barcode.html" %} {% include "InvenTree/settings/currencies.html" %} {% include "InvenTree/settings/report.html" %} {% include "InvenTree/settings/part.html" %} {% include "InvenTree/settings/category.html" %} {% include "InvenTree/settings/stock.html" %} {% include "InvenTree/settings/build.html" %} {% include "InvenTree/settings/po.html" %} {% include "InvenTree/settings/so.html" %} {% include "InvenTree/settings/plugin.html" %} {% plugin_list as pl_list %} {% for plugin_key, plugin in pl_list.items %} {% if plugin.registered_mixins %} {% include "InvenTree/settings/plugin_settings.html" %} {% endif %} {% endfor %} {% endif %} {% endblock %} {% block js_load %} {{ block.super }} {% endblock %} {% block js_ready %} {{ block.super }} $('table').find('.btn-edit-setting').click(function() { var setting = $(this).attr('setting'); var pk = $(this).attr('pk'); var url = `/settings/${pk}/edit/`; if ($(this).attr('user')){ url += `user/`; } launchModalForm( url, { success: function(response) { if (response.is_bool) { var enabled = response.value.toLowerCase() == 'true'; $(`#setting-value-${setting}`).prop('checked', enabled); } else { $(`#setting-value-${setting}`).html(response.value); } } } ); }); $("#edit-user").on('click', function() { launchModalForm( "{% url 'edit-user' %}", { reload: true, } ); }); $("#edit-password").on('click', function() { launchModalForm( "{% url 'set-password' %}", { reload: true, } ); }); $('#category-select').select2({ placeholder: '', width: '100%', ajax: { url: '{% url "api-part-category-list" %}', dataType: 'json', delay: 250, cache: false, data: function(params) { if (!params.page) { offset = 0; } else { offset = (params.page - 1) * 25; } return { search: params.term, offset: offset, limit: 25, }; }, processResults: function(response) { var data = []; var more = false; if ('count' in response && 'results' in response) { // Response is paginated data = response.results; // Any more data available? if (response.next) { more = true; } } else { // Non-paginated response data = response; } // Each 'row' must have the 'id' attribute for (var idx = 0; idx < data.length; idx++) { data[idx].id = data[idx].pk; data[idx].text = data[idx].pathstring; } // Ref: https://select2.org/data-sources/formats var results = { results: data, pagination: { more: more, } }; return results; } }, }); $('#cat-param-table').inventreeTable({ formatNoMatches: function() { return '{% trans "No category parameter templates found" %}'; }, columns: [ { field: 'pk', title: 'ID', visible: false, switchable: false, }, { field: 'parameter_template.name', title: '{% trans "Parameter Template" %}', sortable: 'true', }, { field: 'category_detail.pathstring', title: '{% trans "Category" %}', }, { field: 'default_value', title: '{% trans "Default Value" %}', sortable: 'true', formatter: function(value, row, index, field) { var bEdit = ""; var bDel = ""; var html = value html += "
" + bEdit + bDel + "
"; return html; } } ] }); function loadTemplateTable(pk) { // Enable the buttons $('#new-cat-param').removeAttr('disabled'); // Load the parameter table $("#cat-param-table").bootstrapTable('refresh', { query: { category: pk, }, url: '{% url "api-part-category-parameter-list" %}', }); } $('body').on('change', '#category-select', function() { var pk = $(this).val(); loadTemplateTable(pk); }); $("#new-cat-param").click(function() { var pk = $('#category-select').val(); launchModalForm(`/part/category/${pk}/parameters/new/`, { success: function() { $("#cat-param-table").bootstrapTable('refresh', { query: { category: pk, } }); }, }); }); $("#cat-param-table").on('click', '.template-edit', function() { var category = $('#category-select').val(); var pk = $(this).attr('pk'); var url = `/part/category/${category}/parameters/${pk}/edit/`; launchModalForm(url, { success: function() { $("#cat-param-table").bootstrapTable('refresh'); } }); }); $("#cat-param-table").on('click', '.template-delete', function() { var category = $('#category-select').val(); var pk = $(this).attr('pk'); var url = `/part/category/${category}/parameters/${pk}/delete/`; launchModalForm(url, { success: function() { $("#cat-param-table").bootstrapTable('refresh'); } }); }); $("#param-table").inventreeTable({ url: "{% url 'api-part-parameter-template-list' %}", queryParams: { ordering: 'name', }, formatNoMatches: function() { return '{% trans "No part parameter templates found" %}'; }, columns: [ { field: 'pk', title: 'ID', visible: false, switchable: false, }, { field: 'name', title: 'Name', sortable: 'true', }, { field: 'units', title: 'Units', sortable: 'true', }, { formatter: function(value, row, index, field) { var bEdit = ""; var bDel = ""; var html = "
" + bEdit + bDel + "
"; return html; } } ] }); $("#new-param").click(function() { launchModalForm("{% url 'part-param-template-create' %}", { success: function() { $("#param-table").bootstrapTable('refresh'); }, }); }); $("#param-table").on('click', '.template-edit', function() { var button = $(this); var url = "/part/parameter/template/" + button.attr('pk') + "/edit/"; launchModalForm(url, { success: function() { $("#param-table").bootstrapTable('refresh'); } }); }); $("#param-table").on('click', '.template-delete', function() { var button = $(this); var url = "/part/parameter/template/" + button.attr('pk') + "/delete/"; launchModalForm(url, { success: function() { $("#param-table").bootstrapTable('refresh'); } }); }); $("#import-part").click(function() { launchModalForm("{% url 'api-part-import' %}?reset", {}); }); enableNavbar({ label: 'settings', toggleId: '#item-menu-toggle', }); attachNavCallbacks({ name: 'settings', default: 'account' }); {% endblock %}