<!-- START admin/promocion/acciones.html.twig -->
{% if acciones is not defined %}
{% set acciones = form.parent.vars.value.acciones %}
{% endif %}
{% if promocion is not defined %}
{% set promocion = form.parent.vars.value %}
{% endif %}
<table id="acciones" class="table table-bordered table-striped">
<thead>
<tr>
<th>{{ 'form.accion.label.fecha' | trans({}, 'promocionAdmin') }}</th>
<th>{{ 'form.accion.label.servicios' | trans({}, 'promocionAdmin') }}</th>
<th>{{ 'form.accion.label.detalle' | trans({}, 'promocionAdmin') }}</th>
<th>{{ 'form.accion.label.coste' | trans({}, 'promocionAdmin') }}</th>
<th>{{ 'form.accion.label.precio' | trans({}, 'promocionAdmin') }}</th>
<th>{{ 'form.accion.label.competitividad' | trans({}, 'promocionAdmin') }}</th>
<th>{{ 'form.accion.label.info' | trans({}, 'promocionAdmin') }}</th>
</tr>
</thead>
<tbody>
{% if acciones.count == 0 %}
<tr><td colspan="7" style="text-align: center;">{{ 'form.accion.no_data' | trans({}, 'promocionAdmin') }}</td></tr>
{% else %}
{% for accion in acciones | sort((a, b) => b.fecha <=> a.fecha) %}
{% set deletable = is_granted('ROLE_SUPER_ADMIN') and (
(instanceof(accion, "\\App\\Entity\\AccionUbicacion") and (accion.isDeletable)) or
instanceof(accion, "\\App\\Entity\\AccionServicio") or
instanceof(accion, "\\App\\Entity\\AccionMejora") or
instanceof(accion, "\\App\\Entity\\AccionVenta") or
instanceof(accion, "\\App\\Entity\\AccionAnuncio") or
instanceof(accion, "\\App\\Entity\\AccionCompetencia")
) %}
{% set editable = accion.isEditable ? 'action-edit ui-tooltip' : '' %}
{% set deletableClass = deletable ? 'action-delete' : '' %}
{% set accionData = {
id: accion.id,
tipo:
instanceof(accion, "\\App\\Entity\\AccionEstado") ? constant('App\\Enum\\TipoAccionEnum::ACCION_ESTADO') :
instanceof(accion, "\\App\\Entity\\AccionServicio") ? constant('App\\Enum\\TipoAccionEnum::ACCION_SERVICIO') :
instanceof(accion, "\\App\\Entity\\AccionMejora") ? constant('App\\Enum\\TipoAccionEnum::ACCION_MEJORA') :
instanceof(accion, "\\App\\Entity\\AccionVenta") ? constant('App\\Enum\\TipoAccionEnum::ACCION_VENTA') :
instanceof(accion, "\\App\\Entity\\AccionAnuncio") ? constant('App\\Enum\\TipoAccionEnum::ACCION_ANUNCIO') :
instanceof(accion, "\\App\\Entity\\AccionCompetencia") ? constant('App\\Enum\\TipoAccionEnum::ACCION_COMPETENCIA') :
instanceof(accion, "\\App\\Entity\\AccionUbicacion") ? constant('App\\Enum\\TipoAccionEnum::ACCION_UBICACION') :
instanceof(accion, "\\App\\Entity\\AccionCheck") ? constant('App\\Enum\\TipoAccionEnum::ACCION_CHECK') :
'---',
fecha: accion.fecha|date('d-m-Y'),
descripcion: accion.descripcion,
coste: (instanceof(accion, "\\App\\Entity\\AccionCoste") or instanceof(accion, "\\App\\Entity\\AccionEstado") or instanceof(accion, "\\App\\Entity\\AccionServicio") or instanceof(accion, "\\App\\Entity\\AccionMejora") or instanceof(accion, "\\App\\Entity\\AccionVenta")) ? accion.coste : null,
precio: (instanceof(accion, "\\App\\Entity\\AccionAnuncio") or instanceof(accion, "\\App\\Entity\\AccionEstado") or instanceof(accion, "\\App\\Entity\\AccionCompetencia")) ? accion.precio : null,
estado: (instanceof(accion, "\\App\\Entity\\AccionEstado") or instanceof(accion, "\\App\\Entity\\AccionCheck")) ? accion.estado ? accion.estado.key : null,
ubicacionActual: instanceof(accion, "\\App\\Entity\\AccionUbicacion") ? accion.ubicacionActual ? accion.ubicacionActual.id : null,
ubicacionAnterior: instanceof(accion, "\\App\\Entity\\AccionUbicacion") ? accion.ubicacionAnterior ? accion.ubicacionAnterior.id : null,
tipoCargo: (instanceof(accion, "\\App\\Entity\\AccionServicio") or instanceof(accion, "\\App\\Entity\\AccionMejora") or instanceof(accion, "\\App\\Entity\\AccionVenta")) ? accion.tipo ? accion.tipo.id : null,
canal: (instanceof(accion, "\\App\\Entity\\AccionAnuncio") or instanceof(accion, "\\App\\Entity\\AccionCompetencia")) ? accion.canal ? accion.canal.id : null,
competencia: instanceof(accion, "\\App\\Entity\\AccionCompetencia") ? accion.competencia ? accion.competencia.id : null
} %}
<tr data-id="{{ accion.id }}" data-accion="{{ accionData|json_encode|e('html_attr') }}">
<td class="{{ editable }} {{ deletableClass }}" data-url_edit_accion="{{ path('admin_app_promocion_edit-accion', { id: promocion.id, accionId: accion.id }) }}" data-url_delete_accion="{{ path('admin_app_promocion_delete-accion', {id: promocion.id, accionId: accion.id }) }}">
{{ accion.fecha | date('d/m/Y') }}
{% if accion.isEditable %}
<span class="ui-tooltip-content">
<span class="ui-tooltip-title">Editar acción</span>
<span class="ui-tooltip-description">
Dependiendo de los permisos, se podrá modificar la fecha o eliminar dicha acción.
</span>
</span>
{% endif %}
</td>
<td>{{ accion.tipoAccion }}</td>
<td>{{ accion | trans({}, 'enum')}}</td>
<td>{% if accion.coste is defined and accion.coste is not null %} {{ accion.coste | format_currency('EUR') }} {% endif %}</td>
<td>{% if accion.precio is defined and accion.precio is not null %} {{ accion.precio | format_currency('EUR') }} {% endif %}</td>
<td>{% if accion.competencia is defined %} {{ accion.competencia }} {% endif %}</td>
<td>{{ accion.descripcion }}</td>
</tr>
{% endfor %}
{% endif %}
</tbody>
<tfoot></tfoot>
</table>
<script type="text/javascript">
$(document).on("click", "#acciones .action-edit", function(e)
{
e.preventDefault();
$(".action-edit_accion").show();
$tr = $(this).closest("tr");
const accion = $tr.data("accion");
$(".with_actions .action-edit_accion").data("id", $tr.data("id"))
cargarAccionFormulario(accion);
});
$(document).on("click", "#acciones .action-delete", function(e)
{
e.preventDefault();
$(".action-delete_accion").show();
$tr = $(this).closest("tr");
$(".with_actions .action-delete_accion").data("id", $tr.data("id"));
});
function cargarAccionFormulario(accion) {
$("select[id$=_accionTipo]").val(accion.tipo).trigger("change");
$("input[id$=_accionFecha]").val(accion.fecha);
$("textarea[id$=_accionDescripcion]").val(accion.descripcion);
const precioPromocion = AutoNumeric.getAutoNumericElement($("input[id$=_precioPromocion]")[0]);
precioPromocion.set(accion.precio);
const accionCoste = AutoNumeric.getAutoNumericElement($("input[id$=_accionCoste]")[0]);
accionCoste.set(accion.coste);
const accionPrecio = AutoNumeric.getAutoNumericElement($("input[id$=_accionPrecio]")[0]);
accionPrecio.set(accion.precio);
accion.estado ? $("select[id$=_accionEstado]").val(accion.estado).trigger("change") : null;
accion.ubicacionActual ? $("select[id$=_accionUbicacion]").val(accion.ubicacionActual).trigger("change") : null;
accion.tipoCargo ? $("select[id$=_accionServicio]").val(accion.tipoCargo).trigger("change") : null;
accion.tipoCargo ? $("select[id$=_accionMejora]").val(accion.tipoCargo).trigger("change") : null;
accion.canal ? $("select[id$=_accionPlataforma]").val(accion.canal).trigger("change") : null;
accion.tipoCargo ? $("select[id$=_accionVenta]").val(accion.tipoCargo).trigger("change") : null;
accion.competencia ? $("select[id$=_accionCompetencia]").val(accion.competencia) : null;
accion.estado ? $("select[id$=_accionCheck]").val(accion.estado) : null;
}
</script>
<!-- END admin/promocion/acciones.html.twig -->