%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/selfservice.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/>. # # --------------------------------------------------------------------- #} {% import 'components/form/fields_macros.html.twig' as fields %} {% set rand = random() %} {% set base_field_options = { 'is_horizontal': false, 'full_width': true, 'full_width_adapt_column': false, 'fields_template': itiltemplate, 'rand': rand, } %} {% set right_field_options = base_field_options|merge({ 'is_horizontal': true, 'label_class': 'col-lg-3', 'input_class': 'col-lg-9', }) %} <div class="container-lg"> {% if has_tickets_to_validate and not url_validate is empty %} <div class="alert alert-warning" role="alert"> {{ __('There are some tickets awaiting approval') }} — <a href="{{ url_validate }}" class="alert-link">{{ __('check it out!') }}</a> </div> {% endif %} {{ include('components/itilobject/mainform_open.html.twig') }} {{ call_plugin_hook(constant('Glpi\\Plugin\\Hooks::PRE_ITEM_FORM'), {'item': item, 'options': params}) }} <div class="card"> <div class="card-header"> <h3 class="card-title"> {{ __('Describe the incident or request') }} </h3> </div> <div class="card-body bg-secondary-lt pt-0"> {% if delegating|length %} <div class="row align-items-end w-100"> <div class="col-sm-6"> {% set actor_add_form %} <div id="delegate_other{{ rand }}" class="card mt-2"> <div class="card-body"> {{ item.showActorAddFormOnCreate( constant('CommonITILActor::REQUESTER'), params )|u.truncate(0) }} </div> </div> {% endset %} {{ fields.dropdownYesNo( 'nodelegate', params['nodelegate'], __('This ticket concerns me'), base_field_options|merge({ 'add_field_html': actor_add_form }) ) }} </div> <div class="col-sm-6 {{ config('use_check_pref') and params['nodelegate'] ? "" : "d-none" }}" id="user-info{{ rand }}-block"> {% set personal_information %} <div class="d-inline-flex"> <div class="card mb-0" id="user-info{{ rand }}"> <div class="card-body"> {% set user = get_current_user() %} {% set user_fields = user.fields %} {% set user_fields = user_fields|merge({user_name: user.getFriendlyName()|verbatim_value}) %} {% set user_fields = user_fields|merge({email: user.getDefaultEmail()}) %} {{ include('components/user/info_card.html.twig', { 'user': user_fields, 'can_edit': true }, with_context = false) }} </div> </div> </div> {% endset %} {{ fields.field( '', personal_information, __('Check your personnal information'), base_field_options ) }} </div> </div> {% else %} <input type="hidden" name="_users_id_requester" value="{{ session('glpiID') }}"> {% endif %} </div> <div class="card-body row mx-0"> <div class="offset-md-1 col-md-8 col-xxl-6"> {{ fields.field( 'type', item.dropdownType('type', { 'value': params['type'], 'width': '100%', 'display': false, 'on_change': 'this.form.submit()', }|merge(right_field_options)), _n('Type', 'Types', 1), right_field_options ) }} {% set cat_params = right_field_options|merge({ 'on_change': 'this.form.submit()', }) %} {% set condition = { 'is_helpdeskvisible': 1 } %} {% if params['type'] == constant('Ticket::INCIDENT_TYPE') %} {% set condition = condition|merge({'is_incident': 1}) %} {% elseif params['type'] == constant('Ticket::DEMAND_TYPE') %} {% set condition = condition|merge({'is_request': 1}) %} {% endif %} {{ fields.dropdownField( 'ITILCategory', 'itilcategories_id', params['itilcategories_id'], _n('Category', 'Categories', 1), cat_params|merge({'condition': condition}), ) }} {{ fields.field( 'urgency', item.dropdownUrgency({ 'value': params['urgency'], 'width': '100%', 'display': false, 'required': right_field_options.fields_template.isMandatoryField('urgency'), }), __('Urgency'), right_field_options ) }} {% if session('glpiactiveprofile')['helpdesk_hardware'] and session('glpiactiveprofile')['helpdesk_item_type']|length %} {% set associated_items %} <a class="btn btn-sm btn-ghost-secondary mt-2" role="button" id="btn-collapse-items{{ rand }}" aria-expanded="false" aria-controls="collapse-items{{ rand }}" data-bs-toggle="collapse" href="#collapse-items{{ rand }}" > <i class="fas fa-plus"></i> </a> <div class="collapse" id="collapse-items{{ rand }}"> {% do call('Item_Ticket::itemAddForm', [item, params|merge({ '_canupdate': has_profile_right('ticket', constant('CREATE')), '_tickettemplate': itiltemplate, })]) %} </div> {% endset %} {{ fields.field( 'items_id', associated_items, _n('Associated element', 'Associated elements', get_plural_number()), right_field_options ) }} {% endif %} {% if not itiltemplate.isHiddenField('_users_id_observer') or not itiltemplate.isHiddenField('_groups_id_observer') %} {% set observer_field %} {{ include('components/itilobject/actors/main.html.twig', { 'item': item, 'entities_id': entities_id, 'itiltemplate': itiltemplate, 'field_options': right_field_options, 'canupdate': true, 'returned_itemtypes': ['User'], 'display_actortypes': ['observer'], 'display_labels': false, 'disable_assign_to_me': true, }) }} {% endset %} {{ fields.field( 'observer', observer_field, _n('Watcher', 'Watchers', get_plural_number()), right_field_options|merge({ required: itiltemplate.isMandatoryField('_users_id_observer') or itiltemplate.isMandatoryField('_groups_id_observer') }) ) }} {% endif %} {{ fields.dropdownField( 'Location', 'locations_id', params['locations_id'], 'Location'|itemtype_name, right_field_options|merge({ 'hide_if_no_elements': true }) ) }} {{ fields.textField( 'name', params['name'], __('Title'), right_field_options ) }} {{ fields.textareaField( 'content', params['content'], __('Description'), right_field_options|merge({ 'enable_richtext': true, 'enable_fileupload': true, }) ) }} </div> </div> {{ call_plugin_hook(constant('Glpi\\Plugin\\Hooks::POST_ITEM_FORM'), {'item': item, 'options': params}) }} <div class="card-footer text-center"> <input type="hidden" name="entities_id" value="{{ entities_id }}" /> <button type="submit" class="btn btn-primary" name="add"> <i class="fas fa-plus"></i> <span>{{ __('Submit message') }}</span> </button> </div> </div> {{ include('components/itilobject/mainform_close.html.twig') }} </div> <script type="text/javascript"> $(function () { $('#btn-collapse-items{{ rand }}').on('click', function() { $(this).hide(); }); $('#dropdown_nodelegate{{ rand }}').on('change', function() { var is_for_me = ($(this).val() == '1'); $('#user-info{{ rand }}-block').toggleClass('d-none', !is_for_me); $('#delegate_other{{ rand }} .card-body') .html("") .load('{{ path('ajax/dropdownDelegationUsers.php') }}', { 'right': "delegate", 'nodelegate': (is_for_me ? 1 : 0), '_users_id_requester': {{ params['_users_id_requester'] }}, '_users_id_requester_notif': {{ params['_users_id_requester_notif']|json_encode()|raw }}, 'use_notification': {{ params['_users_id_requester_notif']['use_notification'] }}, 'entity_restrict': {{ session('glpiactive_entity') }} }); }) saveActorsToDom(); }); </script>