mirror of
https://git.imnavajas.es/jjimenez/erp-imprimelibros.git
synced 2026-01-24 09:40:21 +00:00
181 lines
10 KiB
HTML
181 lines
10 KiB
HTML
<div th:fragment="direccionForm">
|
|
<form id="direccionForm" novalidate th:action="${action}" th:object="${dirForm}" method="post"
|
|
th:data-add="#{direcciones.add}" th:data-edit="#{direcciones.editar}">
|
|
|
|
<div class="alert alert-danger" th:if="${#fields.hasGlobalErrors()}" th:each="err : ${#fields.globalErrors()}">
|
|
<span th:text="${err}">Error</span>
|
|
</div>
|
|
|
|
<div sec:authorize="hasAnyRole('SUPERADMIN','ADMIN')" class="form-group">
|
|
<label for="user_id">
|
|
<span th:text="#{direcciones.user}">Cliente</span>
|
|
<span class="text-danger">*</span>
|
|
</label>
|
|
<select class="form-control select2 direccion-item" id="user_id" th:field="*{user}" th:attr="data-init-id=*{user?.id},
|
|
data-init-name=*{user?.fullName}" th:classappend="${#fields.hasErrors('user')} ? ' is-invalid'">
|
|
</select>
|
|
<div class="invalid-feedback" th:if="${#fields.hasErrors('user')}" th:errors="*{user}"></div>
|
|
<div class="invalid-feedback" th:if="${#fields.hasErrors('user.id')}" th:errors="*{user.id}"></div>
|
|
</div>
|
|
|
|
<input sec:authorize="hasAnyRole('USER')" type="hidden" th:field="*{user.id}" />
|
|
|
|
<div class="form-group mt-2">
|
|
<label for="alias">
|
|
<span th:text="#{direcciones.alias}">Alias</span>
|
|
<span class="text-danger">*</span>
|
|
</label>
|
|
<input class="form-control direccion-item" id="alias" th:field="*{alias}" maxlength="100" required
|
|
th:classappend="${#fields.hasErrors('alias')} ? ' is-invalid'">
|
|
<div class="invalid-feedback" th:if="${#fields.hasErrors('alias')}" th:errors="*{alias}"></div>
|
|
<label th:text="#{direcciones.alias-descripcion}" class="form-text text-muted"></label>
|
|
</div>
|
|
|
|
<div class="form-group mt-2">
|
|
<label for="att">
|
|
<span th:text="#{direcciones.nombre}">Nombre y Apellidos</span>
|
|
<span class="text-danger">*</span>
|
|
</label>
|
|
<input class="form-control direccion-item" id="att" th:field="*{att}" maxlength="150" required
|
|
th:classappend="${#fields.hasErrors('att')} ? ' is-invalid'">
|
|
<div class="invalid-feedback" th:if="${#fields.hasErrors('att')}" th:errors="*{att}"></div>
|
|
</div>
|
|
|
|
<div class="form-group mt-2">
|
|
<label for="direccion">
|
|
<span th:text="#{direcciones.direccion}">Dirección</span>
|
|
<span class="text-danger">*</span>
|
|
</label>
|
|
<textarea class="form-control direccion-item" id="direccion" th:field="*{direccion}" maxlength="255"
|
|
required style="max-height: 125px;"
|
|
th:classappend="${#fields.hasErrors('direccion')} ? ' is-invalid'"></textarea>
|
|
<div class="invalid-feedback" th:if="${#fields.hasErrors('direccion')}" th:errors="*{direccion}"></div>
|
|
</div>
|
|
|
|
<div class="row mt-2">
|
|
<div class="form-group col-lg-6 col-md-6 col-sm-12 ml-0">
|
|
<label for="cp">
|
|
<span th:text="#{direcciones.cp}">Código Postal</span>
|
|
<span class="text-danger">*</span>
|
|
</label>
|
|
<input type="number" class="form-control direccion-item" id="cp" th:field="*{cp}" min="1" max="99999"
|
|
required th:classappend="${#fields.hasErrors('cp')} ? ' is-invalid'">
|
|
<div class="invalid-feedback" th:if="${#fields.hasErrors('cp')}" th:errors="*{cp}"></div>
|
|
</div>
|
|
|
|
<div class="form-group col-lg-6 col-md-6 col-sm-12 mr-0">
|
|
<label for="ciudad">
|
|
<span th:text="#{direcciones.ciudad}">Ciudad</span>
|
|
<span class="text-danger">*</span>
|
|
</label>
|
|
<input class="form-control direccion-item" id="ciudad" th:field="*{ciudad}" maxlength="100" required
|
|
th:classappend="${#fields.hasErrors('ciudad')} ? ' is-invalid'">
|
|
<div class="invalid-feedback" th:if="${#fields.hasErrors('ciudad')}" th:errors="*{ciudad}"></div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row mt-2">
|
|
<div class="form-group col-lg-6 col-md-6 col-sm-12 ml-0">
|
|
<label for="provincia">
|
|
<span th:text="#{direcciones.provincia}">Provincia</span>
|
|
<span class="text-danger">*</span>
|
|
</label>
|
|
<input class="form-control direccion-item" id="provincia" th:field="*{provincia}" maxlength="100"
|
|
required th:classappend="${#fields.hasErrors('provincia')} ? ' is-invalid'">
|
|
<div class="invalid-feedback" th:if="${#fields.hasErrors('provincia')}" th:errors="*{provincia}"></div>
|
|
</div>
|
|
|
|
<div class="form-group col-lg-6 col-md-6 col-sm-12 mr-0">
|
|
<label for="pais">
|
|
<span th:text="#{direcciones.pais}">País</span>
|
|
<span class="text-danger">*</span>
|
|
</label>
|
|
<select class="form-control select2 direccion-item" id="paisCode3" th:field="*{paisCode3}"
|
|
th:classappend="${#fields.hasErrors('paisCode3')} ? ' is-invalid'">
|
|
<option th:each="pais : ${paises}" th:value="${pais.id}" th:text="${pais.text}"
|
|
th:selected="${pais.id} == ${dirForm.paisCode3}">
|
|
</option>
|
|
</select>
|
|
<div class="invalid-feedback" th:if="${#fields.hasErrors('paisCode3')}" th:errors="*{paisCode3}"></div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-group mt-2">
|
|
<label for="telefono">
|
|
<span th:text="#{direcciones.telefono}">Teléfono</span>
|
|
<span class="text-danger">*</span>
|
|
</label>
|
|
<input class="form-control direccion-item" id="telefono" th:field="*{telefono}" maxlength="50"
|
|
th:classappend="${#fields.hasErrors('telefono')} ? ' is-invalid'">
|
|
<div class="invalid-feedback" th:if="${#fields.hasErrors('telefono')}" th:errors="*{telefono}"></div>
|
|
</div>
|
|
|
|
<div class="form-group mt-2">
|
|
<label for="instrucciones">
|
|
<span th:text="#{direcciones.instrucciones}">Instrucciones</span>
|
|
</label>
|
|
<textarea class="form-control direccion-item" id="instrucciones" th:field="*{instrucciones}" maxlength="255"
|
|
style="max-height: 125px;"
|
|
th:classappend="${#fields.hasErrors('instrucciones')} ? ' is-invalid'"></textarea>
|
|
<div class="invalid-feedback" th:if="${#fields.hasErrors('instrucciones')}" th:errors="*{instrucciones}">
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-check form-switch form-switch-custom my-2">
|
|
<input type="checkbox"
|
|
class="form-check-input form-switch-custom-primary direccion-item direccionFacturacion"
|
|
id="direccionFacturacion" th:field="*{direccionFacturacion}">
|
|
<label for="direccionFacturacion" class="form-check-label" th:text="#{direcciones.isFacturacion}">
|
|
Usar también como dirección de facturación
|
|
</label>
|
|
</div>
|
|
|
|
<div
|
|
th:class="'form-group direccionFacturacionItems' + (${direccion != null and direccion.direccionFacturacion} ? '' : ' d-none')">
|
|
<label for="razonSocial">
|
|
<span th:text="#{direcciones.razon_social}">Razón Social</span>
|
|
<span class="text-danger">*</span>
|
|
</label>
|
|
<input class="form-control direccion-item" id="razonSocial" th:field="*{razonSocial}" maxlength="150"
|
|
th:classappend="${#fields.hasErrors('razonSocial')} ? ' is-invalid'">
|
|
<div class="invalid-feedback" th:if="${#fields.hasErrors('razonSocial')}" th:errors="*{razonSocial}"></div>
|
|
</div>
|
|
|
|
<div
|
|
th:class="'row mt-2 direccionFacturacionItems' + (${direccion != null and direccion.direccionFacturacion} ? '' : ' d-none')">
|
|
<div class="form-group col-lg-6 col-md-6 col-sm-12 ml-0">
|
|
<label for="tipoIdentificacionFiscal">
|
|
<span th:text="#{direcciones.tipo_identificacion_fiscal}">Tipo de identificación fiscal</span>
|
|
<span class="text-danger">*</span>
|
|
</label>
|
|
<select class="form-control select2 direccion-item" id="tipoIdentificacionFiscal"
|
|
th:field="*{tipoIdentificacionFiscal}"
|
|
th:classappend="${#fields.hasErrors('tipoIdentificacionFiscal')} ? ' is-invalid'">
|
|
<option th:value="DNI" th:text="#{direcciones.dni}">DNI</option>
|
|
<option th:value="NIE" th:text="#{direcciones.nie}">NIE</option>
|
|
<option th:value="Pasaporte" th:text="#{direcciones.pasaporte}">Pasaporte</option>
|
|
<option th:value="CIF" th:text="#{direcciones.cif}">CIF</option>
|
|
<option th:value="VAT_ID" th:text="#{direcciones.vat_id}">VAT ID</option>
|
|
</select>
|
|
<div class="invalid-feedback" th:if="${#fields.hasErrors('tipoIdentificacionFiscal')}"
|
|
th:errors="*{tipoIdentificacionFiscal}"></div>
|
|
</div>
|
|
|
|
<div class="form-group col-lg-6 col-md-6 col-sm-12 ml-0">
|
|
<label for="identificacionFiscal">
|
|
<span th:text="#{direcciones.identificacion_fiscal}">Número de identificación fiscal</span>
|
|
<span class="text-danger">*</span>
|
|
</label>
|
|
<input class="form-control direccion-item" id="identificacionFiscal" th:field="*{identificacionFiscal}"
|
|
maxlength="50" th:classappend="${#fields.hasErrors('identificacionFiscal')} ? ' is-invalid'">
|
|
<div class="invalid-feedback" th:if="${#fields.hasErrors('identificacionFiscal')}"
|
|
th:errors="*{identificacionFiscal}"></div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="d-flex align-items-center justify-content-center">
|
|
<button type="submit" class="btn btn-secondary mt-3" th:text="#{direcciones.save}"></button>
|
|
</div>
|
|
|
|
</form>
|
|
</div> |