mirror of
				https://github.com/inventree/InvenTree.git
				synced 2025-10-31 13:15:43 +00:00 
			
		
		
		
	Merge pull request #2597 from SchrodingersGat/binary-settings
Binary settings
This commit is contained in:
		| @@ -16,10 +16,13 @@ | ||||
|         {% endif %} | ||||
|     </td> | ||||
|     <td><strong>{{ setting.name }}</strong></td> | ||||
|     <td> | ||||
|         {{ setting.description }} | ||||
|     </td> | ||||
|     <td> | ||||
|         {% if setting.is_bool %} | ||||
|         <div class='form-check form-switch'> | ||||
|             <input class='form-check-input' fieldname='{{ setting.key.upper }}' id='setting-value-{{ setting.key.upper }}' type='checkbox' disabled='' {% if setting.as_bool %}checked=''{% endif %}> | ||||
|             <input class='form-check-input boolean-setting' fieldname='{{ setting.key.upper }}' pk='{{ setting.pk }}' setting='{{ setting.key.upper }}' id='setting-value-{{ setting.key.upper }}' type='checkbox' {% if setting.as_bool %}checked=''{% endif %} {% if plugin %}plugin='{{ plugin.pk }}'{% endif %}{% if user_setting %}user='{{request.user.id}}'{% endif %}> | ||||
|         </div> | ||||
|         {% else %} | ||||
|         <div id='setting-{{ setting.pk }}'> | ||||
| @@ -31,16 +34,12 @@ | ||||
|                 {% endif %} | ||||
|             </span> | ||||
|             {{ setting.units }} | ||||
|             <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 plugin %}plugin='{{ plugin.pk }}'{% endif %}{% if user_setting %}user='{{request.user.id}}'{% endif %}> | ||||
|                     <span class='fas fa-edit icon-green'></span> | ||||
|                 </button> | ||||
|             </div> | ||||
|         </div> | ||||
|         {% endif %} | ||||
|     <td> | ||||
|         {{ 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 plugin %}plugin='{{ plugin.pk }}'{% endif %}{% if user_setting %}user='{{request.user.id}}'{% endif %}> | ||||
|                 <span class='fas fa-edit icon-green'></span> | ||||
|             </button> | ||||
|         </div> | ||||
|     </td> | ||||
| </tr> | ||||
| </tr> | ||||
|   | ||||
| @@ -62,6 +62,43 @@ | ||||
| {% block js_ready %} | ||||
| {{ block.super }} | ||||
|  | ||||
| // Callback for when boolean settings are edited | ||||
| $('table').find('.boolean-setting').change(function() { | ||||
|  | ||||
|     var setting = $(this).attr('setting'); | ||||
|     var pk = $(this).attr('pk'); | ||||
|     var plugin = $(this).attr('plugin'); | ||||
|     var user = $(this).attr('user'); | ||||
|  | ||||
|     var checked = this.checked; | ||||
|  | ||||
|     // Global setting by default | ||||
|     var url = `/api/settings/global/${pk}/`; | ||||
|  | ||||
|     if (plugin) { | ||||
|         url = `/api/plugin/settings/${pk}/`; | ||||
|     } else if (user) { | ||||
|         url = `/api/settings/user/${pk}/`; | ||||
|     } | ||||
|  | ||||
|     inventreePut( | ||||
|         url, | ||||
|         { | ||||
|             value: checked.toString(), | ||||
|         }, | ||||
|         { | ||||
|             method: 'PATCH', | ||||
|             onSuccess: function(data) { | ||||
|             }, | ||||
|             error: function(xhr) { | ||||
|                 showApiError(xhr, url); | ||||
|             } | ||||
|         } | ||||
|     ); | ||||
|      | ||||
| }); | ||||
|  | ||||
| // Callback for when non-boolean settings are edited | ||||
| $('table').find('.btn-edit-setting').click(function() { | ||||
|     var setting = $(this).attr('setting'); | ||||
|     var pk = $(this).attr('pk'); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user