Plugin de integração GLPI <-> Redmine: - Config nativa (Twig) com API key cifrada (GLPIKey) - Vínculo projeto GLPI <-> projeto Redmine (aba do projeto) + categoria por vínculo - 1 issue Redmine por chamado; defaults (tracker/priority/activity) e mapa de status - Tempo das TicketTasks -> time entries (gate em "Feito"), idempotente - Autores via impersonation (X-Redmine-Switch-User) + auto-membership por role - Mapeamento de usuários GLPI->Redmine (auto-match por e-mail + overrides) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
38 lines
1.7 KiB
Twig
38 lines
1.7 KiB
Twig
{% import 'components/form/fields_macros.html.twig' as fields %}
|
|
|
|
<div class="alert alert-success mt-3 d-flex align-items-center">
|
|
<i class="ti ti-link me-2"></i>
|
|
{{ __('Projeto vinculado à issue Redmine de ID', 'redmine') }} <strong class="ms-1">#{{ redmine_project_id }}</strong>
|
|
</div>
|
|
|
|
<form method="post" action="{{ action_url }}" class="mt-2">
|
|
<input type="hidden" name="_glpi_csrf_token" value="{{ csrf_token_value }}">
|
|
<input type="hidden" name="projects_id" value="{{ projects_id }}">
|
|
<input type="hidden" name="action" value="set_category">
|
|
|
|
<div class="card">
|
|
<div class="card-header">
|
|
<h5 class="mb-0"><i class="ti ti-category me-1"></i>{{ __('Categoria padrão das tarefas deste projeto', 'redmine') }}</h5>
|
|
</div>
|
|
<div class="card-body">
|
|
{% if cat_options is empty %}
|
|
<div class="alert alert-secondary mb-0">
|
|
{{ __('Este projeto Redmine não possui categorias cadastradas.', 'redmine') }}
|
|
</div>
|
|
{% else %}
|
|
<div class="row">
|
|
{{ fields.dropdownArrayField('default_category_id', default_category_id, cat_options, __('Categoria padrão', 'redmine'), {
|
|
'display_emptychoice': true
|
|
}) }}
|
|
</div>
|
|
{% endif %}
|
|
</div>
|
|
{% if cat_options is not empty %}
|
|
<div class="card-footer text-end">
|
|
<button type="submit" class="btn btn-primary">
|
|
<i class="ti ti-device-floppy me-1"></i>{{ _x('button', 'Save') }}
|
|
</button>
|
|
</div>
|
|
{% endif %}
|
|
</div>
|
|
</form>
|