Sindbad~EG File Manager

Current Path : /home/escuelai/public_html/it/marketplace/fields/templates/forms/
Upload File :
Current File : /home/escuelai/public_html/it/marketplace/fields/templates/forms/status_override.html.twig

{#
 # -------------------------------------------------------------------------
 # Fields plugin for GLPI
 # -------------------------------------------------------------------------
 #
 # LICENSE
 #
 # This file is part of Fields.
 #
 # Fields is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; either version 2 of the License, or
 # (at your option) any later version.
 #
 # Fields is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # GNU General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
 # along with Fields. If not, see <http://www.gnu.org/licenses/>.
 # -------------------------------------------------------------------------
 # @copyright Copyright (C) 2013-2022 by Fields plugin team.
 # @license   GPLv2 https://www.gnu.org/licenses/gpl-2.0.html
 # @link      https://github.com/pluginsGLPI/fields
 # -------------------------------------------------------------------------
 #}

{% import 'components/form/fields_macros.html.twig' as fields %}
{% set rand = random() %}

<form id="form{{ rand }}" method="post" action="{{ 'PluginFieldsStatusOverride'|itemtype_form_path }}" enctype="multipart/form-data" data-submit-once>
   <input type="hidden" name="container_id" value="{{ container_id }}" />
   <div class="card-body pe-1 d-flex flex-wrap">
      <div class="col-12 flex-column">
         <div class="d-flex flex-row flex-wrap flex-xl-nowrap">
            <div class="row flex-row align-items-start flex-grow-1">
               <div class="row flex-row">
                  {% set itemtype = override.fields['itemtype']|default(container_itemtypes|keys|first) %}

                  {{ fields.dropdownArrayField('itemtype', itemtype, container_itemtypes, __('Item type')) }}
                  {{ fields.dropdownArrayField('plugin_fields_fields_id', override.fields['plugin_fields_fields_id'], container_fields, __('Field', 'fields')) }}

                  {% set status_field_html %}
                     <div id="status_inner_container{{ rand }}">
                        {{ call('PluginFieldsStatusOverride::getStatusDropdownForItemtype', [itemtype, override.fields['states']|default([])])|raw }}
                     </div>
                  {% endset %}
                  {{ fields.field('status_inner_container', status_field_html, __('Status')) }}

                  {{ fields.dropdownYesNo('mandatory', override.fields['mandatory']|default(null), __('Mandatory field')) }}
                  {{ fields.dropdownYesNo('is_readonly', override.fields['is_readonly']|default(null), __("Read only", "fields")) }}
               </div> {# .row #}
               <div class="mx-n2 d-flex flex-row-reverse align-items-start">
                  {% if override.isNewItem() %}
                     <button class="btn btn-primary me-2" type="submit" name="add" value="1">
                        <i class="far fa-plus"></i>
                        <span>{{ _x('button', 'Add') }}</span>
                     </button>
                  {% else %}
                     <input type="hidden" name="id" value="{{ override.fields['id'] }}" />
                     <button class="btn btn-primary me-2" type="submit" name="update" value="1">
                        <i class="far fa-save"></i>
                        <span>{{ _x('button', 'Update') }}</span>
                     </button>
                  {% endif %}
                  <input type="hidden" name="_glpi_csrf_token" value="{{ csrf_token() }}" />
               </div>
            </div> {# .row #}
         </div> {# .flex-row #}
      </div>
   </div> {# .card-body #}
</form>
<script>
   $(document).ready(() => {
      const refresh_status_dropdown = () => {
         const itemtype = $('#form{{ rand }}').find('select[name="itemtype"]').val();
         $.ajax({
            url: CFG_GLPI.root_doc + '/' + GLPI_PLUGINS_PATH.fields + '/ajax/status_override.php',
            method: 'GET',
            data: {
                action: 'get_status_dropdown',
                itemtype: itemtype
            }
         }).then((result) => {
            $('#status_inner_container{{ rand }}').html(result);
         });
      }

      $('#form{{ rand }}').on('change', 'select[name="itemtype"]', () => {
         refresh_status_dropdown();
      });
   });
</script>

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists