%PDF- %PDF-
Direktori : /var/www/projetos/suporte.iigd.com.br.old/templates/components/itilobject/ |
Current File : //var/www/projetos/suporte.iigd.com.br.old/templates/components/itilobject/footer.html.twig |
{# # --------------------------------------------------------------------- # # GLPI - Gestionnaire Libre de Parc Informatique # # http://glpi-project.org # # @copyright 2015-2022 Teclib' and contributors. # @copyright 2003-2014 by the INDEPNET Development Team. # @licence https://www.gnu.org/licenses/gpl-3.0.html # # --------------------------------------------------------------------- # # LICENSE # # This file is part of GLPI. # # This program 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 3 of the License, or # (at your option) any later version. # # This program 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 this program. If not, see <https://www.gnu.org/licenses/>. # # --------------------------------------------------------------------- #} {% set timeline_btns_cls = left_regular_cls %} {% set form_btns_cls = is_expanded ? right_expanded_cls : "col-md" %} {% set switch_btn_cls = "fa-caret-left" %} {% if is_expanded %} {% set timeline_btns_cls = left_expanded_cls %} {% set form_btns_cls = right_expanded_cls %} {% set switch_btn_cls = "fa-caret-right" %} {% endif %} <div class="mx-n2 mb-n2 itil-footer itil-footer p-0 border-top" id="itil-footer"> <div class="buttons-bar d-flex py-2"> <div class="{{ timeline_btns_cls }} ps-3 timeline-buttons"> {% if not item.isNewItem() %} {% set default_action_data = timeline_itemtypes|first %} {% if item.isNotSolved() and default_action_data != false %} {% if timeline_itemtypes|length > 1 %} <div class="btn-group me-2 main-actions" style="{{ load_kb_sol > 0 ? 'display:none;' : '' }}"> {% else %} {# Don't use d-inline-flex class as it add an '!important' tag that mess with our javascript that will hide this div #} <div class="main-actions" style="display:inline-flex"> {% endif %} <button class="btn btn-primary answer-action" data-bs-toggle="collapse" data-bs-target="#new-{{ default_action_data.class }}-block"> <i class="{{ default_action_data.icon }}"></i> <span>{{ default_action_data.label }}</span> </button> {% set main_actions_itemtypes = timeline_itemtypes|filter((v, k) => v.hide_in_menu is not defined or v.hide_in_menu != true) %} {% if main_actions_itemtypes|length > 1 %} <button type="button" class="btn btn-primary dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown" aria-expanded="false"> <span class="visually-hidden">{{ __('View other actions') }}</span> </button> <ul class="dropdown-menu"> {% for action, timeline_itemtype in main_actions_itemtypes %} {% if loop.index0 > 0 %} <li><a class="dropdown-item action-{{ action }} answer-action" href="#" data-bs-toggle="collapse" data-bs-target="#new-{{ timeline_itemtype.class }}-block"> <i class="{{ timeline_itemtype.icon }}"></i> <span>{{ timeline_itemtype.label }}</span> </a></li> {% endif %} {% endfor %} </ul> {% endif %} </div> {% endif %} <ul class="legacy-timeline-actions"> {{ legacy_timeline_actions|default('')|raw }} </ul> {{ include('components/itilobject/timeline/filter_timeline.html.twig') }} {% endif %} </div> <div class="form-buttons {{ form_btns_cls }} d-flex justify-content-end ms-auto ms-md-0 my-n2 py-2 pe-3 card-footer border-top-0 position-relative"> <span class="d-none d-md-block position-absolute top-0 start-0" data-bs-toggle="tooltip" data-bs-placement="top" title="{{ __('Toggle panels width') }}"> <button type="button" class="switch-panel-width btn btn-sm btn-square btn-icon btn-ghost-secondary px-0"> <i class="fas {{ switch_btn_cls }}"></i> </button> <button type="button" class="collapse-panel btn btn-sm btn-square btn-icon btn-ghost-secondary px-0 mr-1"> <i class="fas fa-caret-right"></i> </button> </span> {% if item.isNewItem() %} <button class="btn btn-primary" type="submit" name="add" form="itil-form" title="{{ _x('button', 'Add') }}"> <i class="fas fa-plus"></i> <span class="d-none d-md-block">{{ _x('button', 'Add') }}</span> </button> {% else %} <div class="btn-group" role="group"> {% if item.canDeleteItem() %} {% if item.isDeleted() %} <button class="btn btn-outline-secondary" type="submit" name="restore" form="itil-form" title="{{ _x('button', 'Restore') }}"> <i class="fas fa-trash-restore-alt"></i> <span class="d-none d-md-block">{{ _x('button', 'Restore') }}</span> </button> <button class="btn btn-outline-danger" type="submit" name="purge" form="itil-form" title="{{ _x('button', 'Delete permanently') }}" onclick="return confirm('{{ __('Confirm the final deletion?') }}');"> <i class="ti ti-trash"></i> <span class="d-none d-md-block">{{ _x('button', 'Delete permanently') }}</span> </button> {% else %} <button class="btn btn-outline-danger" type="submit" name="delete" form="itil-form" title="{{ _x('button', 'Put in trashbin') }}" data-bs-toggle="tooltip" data-bs-placement="top"> <i class="ti ti-trash"></i> </button> {% endif %} {% endif %} {% if canupdate %} {{ include('components/form/single-action.html.twig', { 'onlyicon': true }) }} {% endif %} {% set is_locked = params['locked'] is defined and params['locked'] %} {% set display_save_btn = not is_locked and (canupdate or can_requester or canpriority or canassign or canassigntome) %} {% if display_save_btn %} <button class="btn btn-primary" type="submit" name="update" form="itil-form" title="{{ _x('button', 'Save') }}"> <i class="far fa-save"></i> <span class="d-none d-md-block">{{ _x('button', 'Save') }}</span> </button> {% endif %} </div> {% endif %} </div> </div> </div> {% set openfollowup = (_get['_openfollowup'] ?? false) %} {% set is_timeline_reversed = user_pref('timeline_order') == constant('CommonITILObject::TIMELINE_ORDER_REVERSE') %} <script type="text/javascript"> $(function() { $(document).on("click", "#itil-footer .answer-action", function() { scrollToTimelineStart(); // hide answer button after clicking on it $(this).closest(".main-actions").hide(); }); // when close button of new answer block is clicked, show again the new answer button $(document).on("click", "#new-itilobject-form .close-itil-answer", function() { $("#itil-footer .main-actions").show(); }); var scrollToTimelineStart = function() { // scroll body to ensure we are at bottom (useful for responsive display) $('html, body').animate({ scrollTop: {{ is_timeline_reversed ? "-" : "" }}$(document).height() }, 0, function(){ // scroll timeline with animation var timeline = $("#itil-object-container .itil-left-side"); timeline.animate({ scrollTop: {{ is_timeline_reversed ? "-" : "" }}timeline.prop('scrollHeight') }, 'slow'); }); }; {% if openfollowup %} // trigger for reopen, show followup form in timeline var myCollapse = document.getElementById('new-ITILFollowup-block') var bsCollapse = new bootstrap.Collapse(myCollapse); bsCollapse.show(); scrollToTimelineStart(); {% endif %} }); </script>