mirror of
				https://github.com/inventree/InvenTree.git
				synced 2025-10-31 13:15:43 +00:00 
			
		
		
		
	Merge pull request #2492 from SchrodingersGat/plugin-settings-refactor
Plugin settings refactor
This commit is contained in:
		| @@ -13,19 +13,19 @@ | ||||
|  | ||||
| <table class='table table-striped table-condensed'> | ||||
|     <tbody> | ||||
|         {% include "InvenTree/settings/setting.html" with key="LOGIN_ENABLE_SSO" icon="fa-info-circle" %} | ||||
|         {% include "InvenTree/settings/setting.html" with key="LOGIN_ENABLE_PWD_FORGOT" icon="fa-info-circle" %} | ||||
|         {% include "InvenTree/settings/setting.html" with key="LOGIN_MAIL_REQUIRED" icon="fa-info-circle" %} | ||||
|         {% include "InvenTree/settings/setting.html" with key="LOGIN_ENFORCE_MFA" %} | ||||
|         {% include "InvenTree/settings/setting.html" with key="LOGIN_ENABLE_SSO" icon="fa-user-shield" %} | ||||
|         {% include "InvenTree/settings/setting.html" with key="LOGIN_ENABLE_PWD_FORGOT" icon="fa-user-lock" %} | ||||
|         {% include "InvenTree/settings/setting.html" with key="LOGIN_MAIL_REQUIRED" icon="fa-at" %} | ||||
|         {% include "InvenTree/settings/setting.html" with key="LOGIN_ENFORCE_MFA" icon='fa-key' %} | ||||
|         <tr> | ||||
|             <th><h5>{% trans 'Signup' %}</h5></th> | ||||
|             <td colspan='4'></td> | ||||
|         </tr> | ||||
|         {% include "InvenTree/settings/setting.html" with key="LOGIN_ENABLE_REG" icon="fa-info-circle" %} | ||||
|         {% include "InvenTree/settings/setting.html" with key="LOGIN_SIGNUP_MAIL_TWICE" icon="fa-info-circle" %} | ||||
|         {% include "InvenTree/settings/setting.html" with key="LOGIN_SIGNUP_PWD_TWICE" icon="fa-info-circle" %} | ||||
|         {% include "InvenTree/settings/setting.html" with key="LOGIN_SIGNUP_SSO_AUTO" icon="fa-info-circle" %} | ||||
|         {% include "InvenTree/settings/setting.html" with key="SIGNUP_GROUP" %} | ||||
|         {% include "InvenTree/settings/setting.html" with key="LOGIN_ENABLE_REG" icon="fa-user-plus" %} | ||||
|         {% include "InvenTree/settings/setting.html" with key="LOGIN_SIGNUP_MAIL_TWICE" icon="fa-at" %} | ||||
|         {% include "InvenTree/settings/setting.html" with key="LOGIN_SIGNUP_PWD_TWICE" icon="fa-user-lock" %} | ||||
|         {% include "InvenTree/settings/setting.html" with key="LOGIN_SIGNUP_SSO_AUTO" icon="fa-key" %} | ||||
|         {% include "InvenTree/settings/setting.html" with key="SIGNUP_GROUP" icon="fa-users" %} | ||||
|     </tbody> | ||||
| </table> | ||||
|  | ||||
|   | ||||
| @@ -5,12 +5,12 @@ | ||||
|     <h4>{% trans "Settings" %}</h4> | ||||
| </div> | ||||
|  | ||||
| {% plugin_globalsettings plugin_key as plugin_settings %} | ||||
| {% plugin_settings plugin_key as plugin_settings %} | ||||
|  | ||||
| <table class='table table-striped table-condensed'> | ||||
|     <tbody> | ||||
|     {% for setting in plugin_settings %} | ||||
|         {% include "InvenTree/settings/setting.html" with key=setting%} | ||||
|         {% include "InvenTree/settings/setting.html" with key=setting plugin=plugin %} | ||||
|     {% endfor %} | ||||
|     </tbody> | ||||
| </table> | ||||
| @@ -19,10 +19,9 @@ | ||||
| <div class='table-responsive'> | ||||
| <table class='table table-striped table-condensed'> | ||||
|     <tbody> | ||||
|         {% include "InvenTree/settings/setting.html" with key="ENABLE_PLUGINS_URL" %} | ||||
|         {% include "InvenTree/settings/setting.html" with key="ENABLE_PLUGINS_NAVIGATION" %} | ||||
|         {% include "InvenTree/settings/setting.html" with key="ENABLE_PLUGINS_GLOBALSETTING"%} | ||||
|         {% include "InvenTree/settings/setting.html" with key="ENABLE_PLUGINS_APP"%} | ||||
|         {% include "InvenTree/settings/setting.html" with key="ENABLE_PLUGINS_URL" icon="fa-link" %} | ||||
|         {% include "InvenTree/settings/setting.html" with key="ENABLE_PLUGINS_NAVIGATION" icon="fa-sitemap" %} | ||||
|         {% include "InvenTree/settings/setting.html" with key="ENABLE_PLUGINS_APP" icon="fa-rocket" %} | ||||
|     </tbody> | ||||
| </table> | ||||
| </div> | ||||
| @@ -70,7 +69,7 @@ | ||||
|                 {% if mixin_list %} | ||||
|                 {% for mixin in mixin_list %} | ||||
|                 <a class='sidebar-selector' id='select-plugin-{{plugin_key}}' data-bs-parent="#sidebar"> | ||||
|                     <span class='badge bg-dark badge-right'>{{ mixin.human_name }}</span> | ||||
|                     <span class='badge bg-dark badge-right rounded-pill'>{{ mixin.human_name }}</span> | ||||
|                 </a> | ||||
|                 {% endfor %} | ||||
|                 {% endif %} | ||||
|   | ||||
| @@ -12,10 +12,10 @@ | ||||
|  | ||||
| <table class='table table-striped table-condensed'> | ||||
|     <tbody> | ||||
|         {% include "InvenTree/settings/setting.html" with key="REPORT_ENABLE" %} | ||||
|         {% include "InvenTree/settings/setting.html" with key="REPORT_DEFAULT_PAGE_SIZE" %} | ||||
|         {% include "InvenTree/settings/setting.html" with key="REPORT_DEBUG_MODE" %} | ||||
|         {% include "InvenTree/settings/setting.html" with key="REPORT_ENABLE_TEST_REPORT" %} | ||||
|         {% include "InvenTree/settings/setting.html" with key="REPORT_ENABLE" icon="file-pdf" %} | ||||
|         {% include "InvenTree/settings/setting.html" with key="REPORT_DEFAULT_PAGE_SIZE" icon="fa-print" %} | ||||
|         {% include "InvenTree/settings/setting.html" with key="REPORT_DEBUG_MODE" icon="fa-laptop-code" %} | ||||
|         {% include "InvenTree/settings/setting.html" with key="REPORT_ENABLE_TEST_REPORT" icon="fa-vial" %} | ||||
|     </tbody> | ||||
| </table> | ||||
|  | ||||
|   | ||||
| @@ -1,10 +1,12 @@ | ||||
| {% load inventree_extras %} | ||||
| {% load i18n %} | ||||
|  | ||||
| {% if user_setting %} | ||||
|     {% setting_object key user=request.user as setting %} | ||||
| {% if plugin %} | ||||
| {% setting_object key plugin=plugin as setting %} | ||||
| {% elif user_setting %} | ||||
| {% setting_object key user=request.user as setting %} | ||||
| {% else %} | ||||
|     {% setting_object key as setting %} | ||||
| {% setting_object key as setting %} | ||||
| {% endif %} | ||||
|  | ||||
| <tr> | ||||
| @@ -13,7 +15,7 @@ | ||||
|         <span class='fas {{ icon }}'></span> | ||||
|         {% endif %} | ||||
|     </td> | ||||
|     <td><strong>{% trans setting.name %}</strong></td> | ||||
|     <td><strong>{{ setting.name }}</strong></td> | ||||
|     <td> | ||||
|         {% if setting.is_bool %} | ||||
|         <div class='form-check form-switch'> | ||||
| @@ -32,11 +34,11 @@ | ||||
|         </div> | ||||
|         {% endif %} | ||||
|     <td> | ||||
|         {% trans setting.description %} | ||||
|         {{ setting.description }} | ||||
|     </td> | ||||
|     <td> | ||||
|         <div class='btn-group float-right'> | ||||
|             <button class='btn btn-outline-secondary btn-small btn-edit-setting' pk='{{ setting.pk }}' setting='{{ setting.key.upper }}' title='{% trans "Edit setting" %}' {% if user_setting %}user='{{request.user.id}}'{% endif %}> | ||||
|             <button class='btn btn-outline-secondary btn-small btn-edit-setting' pk='{{ setting.pk }}' setting='{{ setting.key.upper }}' title='{% trans "Edit setting" %}' {% if plugin %}plugin='{{ plugin.pk }}'{% endif %}{% if user_setting %}user='{{request.user.id}}'{% endif %}> | ||||
|                 <span class='fas fa-edit icon-green'></span> | ||||
|             </button> | ||||
|         </div> | ||||
|   | ||||
| @@ -62,16 +62,27 @@ | ||||
| $('table').find('.btn-edit-setting').click(function() { | ||||
|     var setting = $(this).attr('setting'); | ||||
|     var pk = $(this).attr('pk'); | ||||
|  | ||||
|     var plugin = $(this).attr('plugin'); | ||||
|     var is_global = true; | ||||
|  | ||||
|     if ($(this).attr('user')){ | ||||
|         is_global = false; | ||||
|     } | ||||
|  | ||||
|     var title = ''; | ||||
|  | ||||
|     if (plugin != null) { | ||||
|         title = '{% trans "Edit Plugin Setting" %}'; | ||||
|     } else if (is_global) { | ||||
|         title = '{% trans "Edit Global Setting" %}'; | ||||
|     } else { | ||||
|         title = '{% trans "Edit User Setting" %}'; | ||||
|     } | ||||
|  | ||||
|     editSetting(pk, { | ||||
|         plugin: plugin, | ||||
|         global: is_global, | ||||
|         title: is_global ? '{% trans "Edit Global Setting" %}' : '{% trans "Edit User Setting" %}', | ||||
|         title: title, | ||||
|     }); | ||||
| }); | ||||
|  | ||||
|   | ||||
| @@ -49,7 +49,7 @@ | ||||
|  | ||||
| {% include "sidebar_header.html" with text="Plugin Settings" %} | ||||
|  | ||||
| {% include "sidebar_item.html" with label='plugin' text="Plugin" icon="fa-plug" %} | ||||
| {% include "sidebar_item.html" with label='plugin' text="Plugins" icon="fa-plug" %} | ||||
|  | ||||
| {% plugin_list as pl_list %} | ||||
| {% for plugin_key, plugin in pl_list.items %} | ||||
|   | ||||
| @@ -28,9 +28,13 @@ function editSetting(pk, options={}) { | ||||
|     // Is this a global setting or a user setting? | ||||
|     var global = options.global || false; | ||||
|  | ||||
|     var plugin = options.plugin; | ||||
|  | ||||
|     var url = ''; | ||||
|  | ||||
|     if (global) { | ||||
|     if (plugin) { | ||||
|         url = `/api/plugin/settings/${pk}/`; | ||||
|     } else if (global) { | ||||
|         url = `/api/settings/global/${pk}/`; | ||||
|     } else { | ||||
|         url = `/api/settings/user/${pk}/`; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user