filtros
This commit is contained in:
@@ -112,7 +112,7 @@ if DEBUG:
|
|||||||
'ENGINE': 'django.db.backends.mysql',
|
'ENGINE': 'django.db.backends.mysql',
|
||||||
'NAME': 'cfdi_as',
|
'NAME': 'cfdi_as',
|
||||||
'USER': 'root',
|
'USER': 'root',
|
||||||
'PASSWORD': 'root',
|
'PASSWORD': 'Soluciones28@',
|
||||||
'HOST': '127.0.0.1',
|
'HOST': '127.0.0.1',
|
||||||
'PORT': '',
|
'PORT': '',
|
||||||
'OPTIONS': {'init_command': "SET sql_mode='STRICT_TRANS_TABLES'"},
|
'OPTIONS': {'init_command': "SET sql_mode='STRICT_TRANS_TABLES'"},
|
||||||
|
|||||||
@@ -0,0 +1,24 @@
|
|||||||
|
# Generated by Django 4.1.3 on 2022-11-29 12:14
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
import django.utils.timezone
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('Clientes', '0002_timbres_rfcp'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterModelOptions(
|
||||||
|
name='timbres',
|
||||||
|
options={'ordering': ('-created_at',)},
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='timbres',
|
||||||
|
name='created_at',
|
||||||
|
field=models.DateTimeField(auto_now_add=True, default=django.utils.timezone.now),
|
||||||
|
preserve_default=False,
|
||||||
|
),
|
||||||
|
]
|
||||||
@@ -9,3 +9,31 @@ class Timbres(models.Model):
|
|||||||
serie = models.CharField(max_length=10)
|
serie = models.CharField(max_length=10)
|
||||||
tipo = models.CharField(max_length=35)
|
tipo = models.CharField(max_length=35)
|
||||||
|
|
||||||
|
created_at = models.DateTimeField(auto_now_add=True)
|
||||||
|
class Meta:
|
||||||
|
ordering = ('-created_at',)
|
||||||
|
|
||||||
|
|
||||||
|
class ErroresTimbres(models.Model):
|
||||||
|
uuid = models.CharField(max_length=36)
|
||||||
|
description = models.TextField()
|
||||||
|
rfcc = models.CharField(max_length=13)
|
||||||
|
folio = models.CharField(max_length=55)
|
||||||
|
|
||||||
|
created_at = models.DateTimeField(auto_now_add=True)
|
||||||
|
class Meta:
|
||||||
|
ordering = ('uuid',)
|
||||||
|
abstract = True
|
||||||
|
|
||||||
|
class Clientes(models.Model):
|
||||||
|
RFC = models.CharField(max_length=13, unique=True)
|
||||||
|
Nombre = models.CharField(max_length=100)
|
||||||
|
|
||||||
|
|
||||||
|
Activo = models.BooleanField(default=True)
|
||||||
|
fecha_baja = models.DateField(blank=True)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
ordering = ('RFC',)
|
||||||
|
abstract =True
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
from django.urls import path,include
|
from django.urls import path,include
|
||||||
from .views import index,add_timbre
|
from .views import index,add_timbre, timbres_cliente
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path('', index, name='index'),
|
path('', index, name='index'),
|
||||||
path('add_timbre/', add_timbre, name='add_timbre'),
|
path('add_timbre/', add_timbre, name='add_timbre'),
|
||||||
|
path('timbres_cliente/<str:RFC>/', timbres_cliente, name='timbres_cliente'),
|
||||||
|
|
||||||
|
|
||||||
]
|
]
|
||||||
@@ -3,11 +3,21 @@ from django.http import HttpResponse
|
|||||||
from django.contrib.auth.decorators import login_required
|
from django.contrib.auth.decorators import login_required
|
||||||
from .models import Timbres
|
from .models import Timbres
|
||||||
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
|
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
|
||||||
|
from django.db.models import Q
|
||||||
|
import datetime
|
||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
def index(request):
|
def index(request):
|
||||||
timbres_list = Timbres.objects.all()
|
|
||||||
|
timbres_list = Timbres.objects.values('rfcc').distinct()
|
||||||
|
|
||||||
page = request.GET.get('page', 1)
|
page = request.GET.get('page', 1)
|
||||||
|
|
||||||
|
search = request.GET.get('search',None)
|
||||||
|
rfcc = request.GET.get('rfcc', None)
|
||||||
|
if rfcc:
|
||||||
|
timbres_list = Timbres.objects.filter(Q(rfcc__icontains=search))
|
||||||
|
|
||||||
paginator = Paginator(timbres_list, 1)
|
paginator = Paginator(timbres_list, 1)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@@ -45,3 +55,49 @@ def add_timbre(request):
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|
||||||
return HttpResponse(e)
|
return HttpResponse(e)
|
||||||
|
|
||||||
|
|
||||||
|
def pageFunc(page,qs,per_page):
|
||||||
|
paginator = Paginator(qs,per_page)
|
||||||
|
try:
|
||||||
|
qs = paginator.page(page)
|
||||||
|
except PageNotAnInteger:
|
||||||
|
qs = Paginator.page(1)
|
||||||
|
except EmptyPage:
|
||||||
|
qs = paginator.page(paginator.num_pages)
|
||||||
|
return qs
|
||||||
|
|
||||||
|
def timbres_cliente(request, RFC):
|
||||||
|
lista = Timbres.objects.filter(rfcc=RFC)
|
||||||
|
|
||||||
|
search = request.GET.get('search',None)
|
||||||
|
page = request.GET.get('page', 1)
|
||||||
|
datepicker = request.GET.get('datepicker', None)
|
||||||
|
datepickerFin = request.GET.get('datepickerFin', None)
|
||||||
|
tipo = request.GET.get('tipo',None)
|
||||||
|
|
||||||
|
|
||||||
|
filters = {key:value for (key,value) in dict(request.GET).items() if value !=None}
|
||||||
|
print(filters)
|
||||||
|
if tipo:
|
||||||
|
lista = lista.filter(Q(tipo__icontains=search))
|
||||||
|
if datepicker and datepickerFin:
|
||||||
|
inicio = [int(i) for i in datepicker.split("/")]
|
||||||
|
fin = [int(i) for i in datepickerFin.split("/")]
|
||||||
|
inicio.sort(reverse=True)
|
||||||
|
fin.sort(reverse=True)
|
||||||
|
start = datetime.date(inicio[0],inicio[2],inicio[1])
|
||||||
|
end = datetime.date(fin[0],fin[2],fin[1])
|
||||||
|
end += datetime.timedelta(days=1)
|
||||||
|
print(start, end)
|
||||||
|
lista = lista.filter(created_at__range=[start, end])
|
||||||
|
|
||||||
|
conteo = lista.count()
|
||||||
|
pageFunc(page,lista,1)
|
||||||
|
|
||||||
|
context ={
|
||||||
|
'lista':lista,
|
||||||
|
'conteo':conteo,
|
||||||
|
'RFC':RFC
|
||||||
|
}
|
||||||
|
return render(request, 'Clientes/timbres_cliente.html', context)
|
||||||
@@ -1,17 +1,24 @@
|
|||||||
|
|
||||||
|
|
||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{% block titlePage %}
|
||||||
|
|
||||||
|
{% endblock titlePage %}
|
||||||
|
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
|
|
||||||
<table class="table">
|
<table class="table">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="col">UUID</th>
|
|
||||||
<th scope="col">
|
<th scope="col">
|
||||||
<input id="table_name" name="name" value="True" type="checkbox" class="form-check-input" >
|
<input id="table_rfcc" name="rfcc" value="True" type="checkbox" class="form-check-input" >
|
||||||
RFC Cliente
|
Cliente RFC
|
||||||
</th>
|
</th>
|
||||||
<th scope="col">PAC</th>
|
|
||||||
<th scope="col">Tipo CFDI</th>
|
|
||||||
|
|
||||||
<th scope="col">actions</th>
|
<th scope="col">actions</th>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -19,15 +26,10 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
{% for obj in timbres %}
|
{% for obj in timbres %}
|
||||||
<tr class="">
|
<tr class="">
|
||||||
<th scope="row">{{obj.uuid}}</th>
|
|
||||||
<td>{{obj.rfcc}}</td>
|
<td>{{obj.rfcc}}</td>
|
||||||
<td>{{obj.rfcp}}</td>
|
|
||||||
<td>{{obj.tipo}}</td>
|
|
||||||
|
|
||||||
|
|
||||||
<td>
|
<td>
|
||||||
{% if request.user.is_staff %}
|
{% if request.user.is_staff %}
|
||||||
<a href="#" class="btn btn-info">View</a>
|
<a href="{% url 'timbres_cliente' obj.rfcc %}" class="btn btn-info">View Timbres</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -36,3 +38,11 @@
|
|||||||
</table>
|
</table>
|
||||||
{% endblock content %}
|
{% endblock content %}
|
||||||
|
|
||||||
|
{% block scripts %}
|
||||||
|
<script>
|
||||||
|
table_rfcc.addEventListener('click',(event)=>{
|
||||||
|
document.getElementById('rfcc').checked= table_rfcc.checked? true:false;
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
|
||||||
|
{% endblock scripts %}
|
||||||
118
Templates/Clientes/timbres_cliente.html
Normal file
118
Templates/Clientes/timbres_cliente.html
Normal file
@@ -0,0 +1,118 @@
|
|||||||
|
|
||||||
|
{% extends 'base.html' %}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<h1>Timbres <strong>{{RFC}}</strong> </h1>
|
||||||
|
<h2>Timbres totales: <strong></strong>{{conteo}}</strong></h2>
|
||||||
|
|
||||||
|
<br><br>
|
||||||
|
|
||||||
|
<table class="table">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th scope="col">UUID</th>
|
||||||
|
|
||||||
|
<th scope="col">PAC</th>
|
||||||
|
<th scope="col">
|
||||||
|
<input id="table_tipo" name="tipo" value="True" type="checkbox" class="form-check-input" >
|
||||||
|
Tipo CFDI
|
||||||
|
</th>
|
||||||
|
<th scope="col">Serie/Folio</th>
|
||||||
|
<th scope="col">
|
||||||
|
<input id="table_fecha" name="fecha" value="True" type="checkbox" class="form-check-input" >
|
||||||
|
Fecha
|
||||||
|
</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{% for obj in lista %}
|
||||||
|
<tr class="">
|
||||||
|
<th scope="row">{{obj.uuid}}</th>
|
||||||
|
<td>{{obj.rfcp}}</td>
|
||||||
|
<td>{{obj.tipo}}</td>
|
||||||
|
<td>{{obj.serie}}/{{obj.folio}}</td>
|
||||||
|
<td>{{obj.created_at|date:"d M Y"}}</td>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
{% if lista.has_other_pages %}
|
||||||
|
<nav>
|
||||||
|
<ul class="pagination justify-content-center">
|
||||||
|
{% if lista.has_previous %}
|
||||||
|
<li class="page-item">
|
||||||
|
<a class="page-link" href="?page={{ lista.previous_page_number }}" aria-label="Previous">
|
||||||
|
<span aria-hidden="true">«</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{% else %}
|
||||||
|
<li class="page-item disabled">
|
||||||
|
<span class="page-link" aria-hidden="true">«</span>
|
||||||
|
</li>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% for p in lista.paginator.page_range %}
|
||||||
|
{% if lista.number == p %}
|
||||||
|
<li class="page-item"><a class="page-link" style="color: red;" href="#">{{ p }}</a></li>
|
||||||
|
{% else %}
|
||||||
|
<li class="page-item"><a class="page-link" href="?page={{ p }}">{{ p }}</a></li>
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
|
{% if lista.has_next %}
|
||||||
|
<li class="page-item">
|
||||||
|
<a class="page-link" href="?page={{ lista.next_page_number }}" aria-label="Next">
|
||||||
|
<span aria-hidden="true">»</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{% else %}
|
||||||
|
<li class="page-item disabled">
|
||||||
|
<span class="page-link" aria-hidden="true">»</span>
|
||||||
|
</li>
|
||||||
|
{% endif %}
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
{% endblock content %}
|
||||||
|
|
||||||
|
|
||||||
|
{% block scripts %}
|
||||||
|
<script>
|
||||||
|
table_tipo.addEventListener('click', (event)=>{
|
||||||
|
document.getElementById('tipo').checked = table_tipo.checked? true:false;
|
||||||
|
if(table_fecha.checked){
|
||||||
|
table_fecha.click()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
table_fecha.addEventListener('click', (event)=>{
|
||||||
|
|
||||||
|
|
||||||
|
if(dates.hasAttribute("style")){
|
||||||
|
dates.removeAttribute('style')
|
||||||
|
datepicker.value=''
|
||||||
|
datepicker.setAttribute("required",'')
|
||||||
|
datepickerFin.value=''
|
||||||
|
|
||||||
|
datepickerFin.setAttribute('required','')
|
||||||
|
search.setAttribute("style","display:none;")
|
||||||
|
search.value=''
|
||||||
|
|
||||||
|
}else{
|
||||||
|
dates.setAttribute("style","display:none;")
|
||||||
|
search.removeAttribute('style')
|
||||||
|
datepicker.removeAttribute('required')
|
||||||
|
datepickerFin.removeAttribute('required')
|
||||||
|
}
|
||||||
|
if(table_tipo.checked && table_fecha.checked){
|
||||||
|
table_tipo.checked=false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
{% endblock scripts %}
|
||||||
|
|
||||||
|
|
||||||
@@ -4,11 +4,11 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
|
|
||||||
<!--link rel="apple-touch-icon" type="image/png" href="https://cpwebassets.codepen.io/assets/favicon/apple-touch-icon-5ae1a0698dcc2402e9712f7d01ed509a57814f994c660df9f7a952f3060705ee.png"-->
|
<link rel="apple-touch-icon" type="image/png" href="https://aduanasoft.com/wp-content/uploads/2019/01/aslogo-1.png">
|
||||||
<meta name="apple-mobile-web-app-title" content="CodePen">
|
<meta name="apple-mobile-web-app-title" content="CodePen">
|
||||||
|
|
||||||
<!--link rel="shortcut icon" type="image/x-icon" href="https://cpwebassets.codepen.io/assets/favicon/favicon-aec34940fbc1a6e787974dcd360f2c6b63348d4b1f4e06c77743096d55480f33.ico"-->
|
<link rel="shortcut icon" type="image/x-icon" href="https://aduanasoft.com/wp-content/uploads/2019/01/aslogo-1.png">
|
||||||
<link rel="icon" type="image/png" href="{% static 'favicon.ico' %}"/>
|
<link rel="icon" type="image/png" href="https://aduanasoft.com/wp-content/uploads/2019/01/aslogo-1.png"/>
|
||||||
<link rel="mask-icon" type="" href="https://cpwebassets.codepen.io/assets/favicon/logo-pin-8f3771b1072e3c38bd662872f6b673a722f4b3ca2421637d5596661b4e2132cc.svg" color="#111">
|
<link rel="mask-icon" type="" href="https://cpwebassets.codepen.io/assets/favicon/logo-pin-8f3771b1072e3c38bd662872f6b673a722f4b3ca2421637d5596661b4e2132cc.svg" color="#111">
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
|
||||||
@@ -16,7 +16,7 @@
|
|||||||
<!--link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"-->
|
<!--link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"-->
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-BmbxuPwQa2lc/FVzBcNJ7UAyJxM6wuqIj61tLrc4wSX0szH/Ev+nYRRuWlolflfl" crossorigin="anonymous">
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-BmbxuPwQa2lc/FVzBcNJ7UAyJxM6wuqIj61tLrc4wSX0szH/Ev+nYRRuWlolflfl" crossorigin="anonymous">
|
||||||
|
|
||||||
<script src="{% static 'functions.js' %}" defer></script>
|
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
{% block extra_head %}
|
{% block extra_head %}
|
||||||
@@ -182,8 +182,7 @@
|
|||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block extra_body %}
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
<!--script src="{% static 'js/auth.js' %}"></script-->
|
<!--script src="{% static 'js/auth.js' %}"></script-->
|
||||||
</body>
|
</body>
|
||||||
|
|||||||
@@ -27,12 +27,16 @@
|
|||||||
|
|
||||||
{{form.password|add_class:"form-control"}}
|
{{form.password|add_class:"form-control"}}
|
||||||
{{form.password.errors}}
|
{{form.password.errors}}
|
||||||
<!-- <span class="fa fa-lock"></span> -->
|
|
||||||
<!--input type="password" name="password" id="password" class="form__input" placeholder="Password"-->
|
|
||||||
</div>
|
</div>
|
||||||
<div class="form-check">
|
<div class="form-check">
|
||||||
|
|
||||||
|
{% comment %}
|
||||||
<input type="checkbox" name="remember_me" id="remember_me" class="">
|
<input type="checkbox" name="remember_me" id="remember_me" class="">
|
||||||
<label for="remember_me">Remember Me!</label>
|
<label for="remember_me">Remember Me!</label>
|
||||||
|
|
||||||
|
{% endcomment %}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<input type="submit" value="Submit" class="btn">
|
<input type="submit" value="Submit" class="btn">
|
||||||
@@ -40,7 +44,11 @@
|
|||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{% comment %}
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<p>Don't have an account? <a href="{{ signup_url }}">Register Here</a></p>
|
<p>Don't have an account? <a href="{{ signup_url }}">Register Here</a></p>
|
||||||
</div>
|
</div>
|
||||||
|
{% endcomment %}
|
||||||
|
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
@@ -5,28 +5,21 @@
|
|||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
|
|
||||||
<!-- Bootstrap CSS -->
|
|
||||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.1.3/dist/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
|
|
||||||
|
|
||||||
|
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
|
||||||
|
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
|
||||||
|
<script src="https://unpkg.com/gijgo@1.9.14/js/gijgo.min.js" type="text/javascript"></script>
|
||||||
|
<link href="https://unpkg.com/gijgo@1.9.14/css/gijgo.min.css" rel="stylesheet" type="text/css" />
|
||||||
<title>
|
<title>
|
||||||
{% block title %}{% endblock title %}
|
{% block title %}{% endblock title %}
|
||||||
</title>
|
</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
{% include 'sidebar.html' %}
|
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
|
{% include 'sidebar.html' %}
|
||||||
<h1>{% block titlePage %}{% endblock titlePage %}</h1>
|
<h1>{% block titlePage %}{% endblock titlePage %}</h1>
|
||||||
|
{% block content %}{% endblock content %}
|
||||||
<div class="">
|
|
||||||
{% comment %}
|
|
||||||
{% include "Profiles/partials/messages.html" %}
|
|
||||||
{% endcomment %}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{% block content %}
|
|
||||||
|
|
||||||
{% endblock content %}
|
|
||||||
|
|
||||||
{% include 'paginator.html' %}
|
{% include 'paginator.html' %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -36,6 +29,8 @@
|
|||||||
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.14.3/dist/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
|
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.14.3/dist/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.1.3/dist/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.1.3/dist/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
|
|
||||||
window.addEventListener('load', (event) => {
|
window.addEventListener('load', (event) => {
|
||||||
setTimeout(()=>{
|
setTimeout(()=>{
|
||||||
//console.log('page is fully loaded');
|
//console.log('page is fully loaded');
|
||||||
|
|||||||
58
Templates/base2.html
Normal file
58
Templates/base2.html
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<!-- Required meta tags -->
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Bootstrap CSS -->
|
||||||
|
{% comment "" %}
|
||||||
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.1.3/dist/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
|
||||||
|
{% endcomment %}
|
||||||
|
|
||||||
|
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
|
||||||
|
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
|
||||||
|
<script src="https://unpkg.com/gijgo@1.9.14/js/gijgo.min.js" type="text/javascript"></script>
|
||||||
|
<link href="https://unpkg.com/gijgo@1.9.14/css/gijgo.min.css" rel="stylesheet" type="text/css" />
|
||||||
|
<title>
|
||||||
|
{% block title %}{% endblock title %}
|
||||||
|
</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div class="container-fluid">
|
||||||
|
<h1>{% block titlePage %}{% endblock titlePage %}</h1>
|
||||||
|
{% block content %}
|
||||||
|
|
||||||
|
{% endblock content %}
|
||||||
|
|
||||||
|
{% include 'paginator.html' %}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Optional JavaScript -->
|
||||||
|
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
|
||||||
|
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.14.3/dist/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.1.3/dist/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
|
||||||
|
<script>
|
||||||
|
|
||||||
|
|
||||||
|
window.addEventListener('load', (event) => {
|
||||||
|
setTimeout(()=>{
|
||||||
|
//console.log('page is fully loaded');
|
||||||
|
let ale = document.getElementsByClassName("alert")
|
||||||
|
if(ale.length> 0 )
|
||||||
|
{
|
||||||
|
$(ale).alert('close')
|
||||||
|
$(ale).alert('dispose')
|
||||||
|
}
|
||||||
|
},5000)
|
||||||
|
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
{% block scripts %}
|
||||||
|
|
||||||
|
{% endblock scripts %}
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
25
Templates/partials/search_form.html
Normal file
25
Templates/partials/search_form.html
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
<form action="{{request.path}}" method="get" class="form-inline my-2 my-lg-0">
|
||||||
|
<input id="search" class="form-control mr-sm-2" name="search" type="search" placeholder="Search" aria-label="Search">
|
||||||
|
|
||||||
|
<div class="form-group form-check">
|
||||||
|
<input style="display:none" name="rfcc" type="checkbox" class="form-check-input" id="rfcc">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group form-check">
|
||||||
|
<input style="display:none" name="tipo" type="checkbox" class="form-check-input" id="tipo">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="dates" style="display:none;" class="group-form mr-2" >
|
||||||
|
<input class="form-control sm-2" name = "datepicker" id="datepicker" placeholder="Initial Date" />
|
||||||
|
<input class="form-control sm-2" name = "datepickerFin" id="datepickerFin" placeholder="End Date" />
|
||||||
|
<script>
|
||||||
|
$('#datepicker').datepicker({
|
||||||
|
uiLibrary: 'bootstrap4'
|
||||||
|
});
|
||||||
|
$('#datepickerFin').datepicker({
|
||||||
|
uiLibrary: 'bootstrap4'
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
</div>
|
||||||
|
<button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
|
||||||
|
</form>
|
||||||
@@ -35,9 +35,9 @@
|
|||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
{% comment %}
|
|
||||||
{% include "Profiles/partials/search_form.html" %}
|
{% include "partials/search_form.html" %}
|
||||||
{% endcomment %}
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user