{% extends "base.html.twig" %}
{% block headerStyles %}
{{ parent() }}
{% endblock %}
{% block content %}
<div class="page-content">
<div class="page-breadcrumb d-none d-sm-flex align-items-center mb-3">
<div class="breadcrumb-title pe-3">Cliente: {{ client.getName()~' '~client.getSurname() }}</div>
<div class=" d-sm-flex align-items-center ms-auto">
</div>
<div class="ms-auto">
</div>
</div>
<div class="row">
<div class="col-md-4">
<form action="{{ path('modifyClientData') }}?id={{ client.getId() }}" method="POST">
<div class="card">
<div class="card-body p-4">
<h5>Datos personales</h5>
<hr>
<div class="mb-3">
<label for="inputProductTitle" class="form-label">Nombre del Cliente</label>
<input type="text" class="form-control" id="inputProductTitle" name="name" value="{{ client.getName() }}">
</div>
<div class="mb-3">
<label for="surname" class="form-label">Apellidos del Cliente</label>
<input type="text" class="form-control" id="surname" name="surname" value="{{ client.getSurname() }}">
</div>
<div class="mb-3">
<label for="email" class="form-label">Email del Cliente</label>
<input type="text" class="form-control" id="email" name="email" value="{{ client.getEmail() }}">
</div>
<div class="mb-3">
<label for="nif" class="form-label">Nif / CIF del Cliente</label>
<input type="text" class="form-control" id="nif" name="nif" value="{{ client.getNif() }}">
</div>
<div class="mb-3">
<label for="phone" class="form-label">Teléfono del Cliente</label>
<input type="text" class="form-control" id="phone" name="phone" value="{{ client.getPhone() }}">
</div>
</div>
</div>
<div class="card">
<div class="card-body p-4">
<h5>Dirección </h5>
<hr>
<div class="mb-3">
<label for="address" class="form-label">Dirección</label>
<input type="text" class="form-control" id="address" name="address" value="{{ client.getAddress() }}">
</div>
<div class="mb-3">
<label for="cp" class="form-label">Código postal</label>
<input type="text" class="form-control" id="cp" name="cp" value="{{ client.getCp() }}">
</div>
<div class="mb-3">
<label for="city" class="form-label">Ciudad</label>
<input type="text" class="form-control" id="city" name="city" value="{{ client.getCity() }}">
</div>
<div class="mb-3">
<label for="state" class="form-label">Província</label>
<input type="text" class="form-control" id="state" name="state" value="{{ client.getState() }}">
</div>
<div class="mb-3">
<label for="country" class="form-label">País</label>
<input type="text" class="form-control" id="country" name="country" value="{{ client.getCountry() }}">
</div>
</div>
</div>
<div class="card">
<div class="card-body p-4">
<div class="d-grid">
<button type="submit" class="btn btn-primary btn-block">Guardar cambios</button>
</div>
</div>
</div>
</form>
</div>
<div class="col-md-8">
<div class="card">
<div class="card-body p-4">
<h5>Estadísticas y datos</h5>
<hr>
<div class="row row-cols-1 row-cols-md-2 row-cols-xl-4">
<div class="col">
<div class="card radius-10 border-start border-0 border-3 border-info">
<div class="card-body">
<div class="d-flex align-items-center">
<div>
<p class="mb-0 text-secondary">Total ventas</p>
<h4 class="my-1 text-info">{{ client.getId() | calculaVenta() }}</h4>
</div>
<div class="widgets-icons-2 rounded-circle bg-gradient-scooter text-white ms-auto"><i class="bx bxs-wallet"></i>
</div>
</div>
</div>
</div>
</div>
<div class="col">
<div class="card radius-10 border-start border-0 border-3 border-success">
<div class="card-body">
<div class="d-flex align-items-center">
<div>
<p class="mb-0 text-secondary">Total Productos comprados</p>
<h4 class="my-1 text-success">{{ prods_cant }}</h4>
</div>
<div class="widgets-icons-2 rounded-circle bg-gradient-ohhappiness text-white ms-auto"><i class="bx bxs-cart"></i>
</div>
</div>
</div>
</div>
</div>
<div class="col">
<div class="card radius-10 border-start border-0 border-3 border-danger">
<div class="card-body">
<div class="d-flex align-items-center">
<div>
<p class="mb-0 text-secondary">Productos reservados</p>
<h4 class="my-1 text-danger">{{ prods_res }}</h4>
</div>
<div class="widgets-icons-2 rounded-circle bg-gradient-bloody text-white ms-auto"><i class="bx bxs-save"></i>
</div>
</div>
</div>
</div>
</div>
<div class="col">
<div class="card radius-10 border-start border-0 border-3 border-warning">
<div class="card-body">
<div class="d-flex align-items-center">
<div>
<p class="mb-0 text-secondary">Ultima compra</p>
<h4 class="my-1 text-warning">{% if last_buy %}{{ last_buy.getDate() | date("d/m/Y") }}{% endif %}</h4>
</div>
<div class="widgets-icons-2 rounded-circle bg-gradient-blooker text-white ms-auto"><i class="bx bxs-calendar"></i>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="card">
<div class="card-body p-4">
<h5>Ventas</h5>
<hr>
<table class="table mb-0">
<thead>
<tr>
<th scope="col" class="cabecera_filtrada" data-filter="id">ID</th>
<th scope="col" class="cabecera_filtrada" data-filter="date">Fecha</th>
<th scope="col">Cliente</th>
<th scope="col">Vendido por</th>
<th scope="col" class="cabecera_filtrada" data-filter="subtotal">Subtotal</th>
<th scope="col" class="cabecera_filtrada" data-filter="ivaValue">Iva</th>
<th scope="col" class="cabecera_filtrada" data-filter="total">Total</th>
<th scope="col">Estado</th>
<th scope="col">Detalles</th>
</tr>
</thead>
<tbody>
{% for venta in ventas %}
<tr>
<th scope="row">{{ venta.getId() }}</th>
<td>{{ venta.getDate() | date ("d/m/Y") }}</td>
<td>{{ venta.getClientId() | getClienteName() }}</td>
<td>{{ venta.getUserId() | getUserName() }}</td>
<td>{{ venta.getSubtotal() }}</td>
<td>{{ venta.getIvaValue() }}</td>
<td>{{ venta.getTotal() }}</td>
<td>{{ (venta.getStatus() | getStatusLabel()) | raw }}</td>
<td>
<button onclick="viewTicket({{venta.getId()}})" class="btn btn-outline-primary" ><i class="bx bx-file"></i></button>
<button onclick="printTicket({{venta.getId()}})" class="btn btn-outline-primary" ><i class="bx bx-printer"></i></button>
<button onclick="printTicketRegalo({{venta.getId()}})" class="btn btn-outline-primary" ><i class="bx bx-gift"></i></button>
</td>
</tr>
{% endfor %}
</tbody>
</table>
<div class="mt-3 col-md-12 text-center align-content-center">
{{ knp_pagination_render(ventas) }}
</div>
</div>
</div>
</div>
</div>
</div>
{% endblock %}
{% block footerScripts %}
{{ parent() }}
<script>
function printTicket(id){
$.ajax({
url:'{{path("printTicket")}}',
type:'POST',
async:false,
data: {id:id },
success:function(html){
var mywindow = window.open('', 'PRINT', 'height=400,width=600');
mywindow.document.write(html);
mywindow.document.close();
mywindow.focus();
mywindow.print();
//mywindow.close();
}
});
}
function printTicketRegalo(id){
$.ajax({
url:'{{path("printTicketRegalo")}}',
type:'POST',
async:false,
data: {id:id },
success:function(html){
var mywindow = window.open('', 'PRINT', 'height=400,width=600');
mywindow.document.write(html);
mywindow.document.close();
mywindow.focus();
setTimeout(function(){
mywindow.print();
},2000);
//mywindow.close();
}
});
}
function viewTicket(id){
$.ajax({
url:'{{path("printTicket")}}',
type:'POST',
async:false,
data: {id:id },
success:function(html){
var mywindow = window.open('', 'PRINT', 'height=400,width=600');
mywindow.document.write(html);
mywindow.document.close();
mywindow.focus();
//mywindow.print();
//mywindow.close();
}
});
}
</script>
{% endblock %}