Spaces:
Sleeping
Sleeping
Se continua aplicando paleta de colores y se refactorizan clases css
Browse files- tecnicas/forms/codes_form.py +1 -1
- tecnicas/forms/etiqueta_form.py +1 -1
- tecnicas/forms/sesion_basic_form.py +6 -6
- tecnicas/forms/sesion_tags_form.py +4 -4
- tecnicas/forms/word_form.py +1 -1
- tecnicas/static/js/panel-basic.js +1 -1
- tecnicas/static/js/panel-codes.js +13 -2
- tecnicas/templates/tecnicas/create_sesion/configuracion-panel-basic.html +20 -22
- tecnicas/templates/tecnicas/create_sesion/configuracion-panel-codes.html +38 -21
- tecnicas/templates/tecnicas/create_sesion/configuracion-panel-tags.html +37 -30
- tecnicas/templates/tecnicas/create_sesion/seleccion-tecnica.html +16 -12
- tecnicas/templates/tecnicas/main-panel.html +2 -2
- tecnicas/templates/tecnicas/manage_sesions/detalles-sesion.html +4 -4
- tecnicas/templates/tecnicas/manage_sesions/monitor-sesion.html +2 -2
- tecnicas/templates/tecnicas/manage_sesions/sesiones-panel.html +6 -6
- tecnicas/templates/tecnicas/manage_tester/catador-buscar.html +3 -3
- tecnicas/templates/tecnicas/manage_tester/catador-crear.html +2 -2
- tecnicas/templates/tecnicas/manage_tester/catadores-panel.html +2 -2
- theme/static_src/src/styles.css +22 -41
- theme/static_src/tailwind.config.js +26 -0
tecnicas/forms/codes_form.py
CHANGED
|
@@ -6,5 +6,5 @@ class CodesForm(forms.Form):
|
|
| 6 |
|
| 7 |
for index, code in enumerate(codes):
|
| 8 |
self.fields[f'producto_{index+1}'] = forms.CharField(max_length=3, required=True, min_length=3, initial=code, label=f"codigo {index+1}", widget=forms.TextInput(attrs={
|
| 9 |
-
"class": "ct-code bg-
|
| 10 |
}))
|
|
|
|
| 6 |
|
| 7 |
for index, code in enumerate(codes):
|
| 8 |
self.fields[f'producto_{index+1}'] = forms.CharField(max_length=3, required=True, min_length=3, initial=code, label=f"codigo {index+1}", widget=forms.TextInput(attrs={
|
| 9 |
+
"class": "ct-code bg-surface-ligt p-1 border-b-1 text-center w-full disabled:bg-surface-general uppercase"
|
| 10 |
}))
|
tecnicas/forms/etiqueta_form.py
CHANGED
|
@@ -2,6 +2,6 @@ from django import forms
|
|
| 2 |
|
| 3 |
class EtiquetaForm(forms.Form):
|
| 4 |
nueva_etiqueta = forms.CharField(max_length=255, required=True, widget=forms.TextInput(attrs={
|
| 5 |
-
"class": "bg-
|
| 6 |
"placeholder": "No repetir etiqueta"
|
| 7 |
}))
|
|
|
|
| 2 |
|
| 3 |
class EtiquetaForm(forms.Form):
|
| 4 |
nueva_etiqueta = forms.CharField(max_length=255, required=True, widget=forms.TextInput(attrs={
|
| 5 |
+
"class": "bg-surface-alter border-b text-center text-black fond-bold p-3",
|
| 6 |
"placeholder": "No repetir etiqueta"
|
| 7 |
}))
|
tecnicas/forms/sesion_basic_form.py
CHANGED
|
@@ -8,32 +8,32 @@ class SesionBasicForm(forms.Form):
|
|
| 8 |
id_tecnica = forms.IntegerField(widget=forms.HiddenInput())
|
| 9 |
|
| 10 |
nombre_sesion = forms.CharField(max_length=255, widget=forms.TextInput(attrs={
|
| 11 |
-
"class": "bg-
|
| 12 |
"name": "nombre_sesion",
|
| 13 |
"placeholder": "Ej. Mermelada de mango picante"
|
| 14 |
}), required=False)
|
| 15 |
|
| 16 |
numero_productos = forms.IntegerField(widget=forms.NumberInput(attrs={
|
| 17 |
-
"class": "bg-
|
| 18 |
"placeholder": "Solo números"
|
| 19 |
}), required=True)
|
| 20 |
|
| 21 |
numero_catadores = forms.IntegerField(widget=forms.NumberInput(attrs={
|
| 22 |
-
"class": "bg-
|
| 23 |
"placeholder": "Solo números"
|
| 24 |
}), required=True)
|
| 25 |
|
| 26 |
numero_repeticiones = forms.IntegerField(widget=forms.NumberInput(attrs={
|
| 27 |
-
"class": "bg-
|
| 28 |
"placeholder": "Solo números"
|
| 29 |
}), required=True)
|
| 30 |
|
| 31 |
tamano_escala = forms.IntegerField(widget=forms.NumberInput(attrs={
|
| 32 |
-
"class": "bg-
|
| 33 |
}), required=True, min_value=5)
|
| 34 |
|
| 35 |
instrucciones = forms.CharField(max_length=255, widget=forms.TextInput(attrs={
|
| 36 |
-
"class": "bg-
|
| 37 |
"placeholder": "Este campo es opcional"
|
| 38 |
}), required=False)
|
| 39 |
|
|
|
|
| 8 |
id_tecnica = forms.IntegerField(widget=forms.HiddenInput())
|
| 9 |
|
| 10 |
nombre_sesion = forms.CharField(max_length=255, widget=forms.TextInput(attrs={
|
| 11 |
+
"class": "bg-surface-ligt border-b-1 text-center w-full p-1",
|
| 12 |
"name": "nombre_sesion",
|
| 13 |
"placeholder": "Ej. Mermelada de mango picante"
|
| 14 |
}), required=False)
|
| 15 |
|
| 16 |
numero_productos = forms.IntegerField(widget=forms.NumberInput(attrs={
|
| 17 |
+
"class": "bg-surface-ligt p-1 border-b-1 text-center w-full",
|
| 18 |
"placeholder": "Solo números"
|
| 19 |
}), required=True)
|
| 20 |
|
| 21 |
numero_catadores = forms.IntegerField(widget=forms.NumberInput(attrs={
|
| 22 |
+
"class": "bg-surface-ligt p-1 border-b-1 text-center w-full",
|
| 23 |
"placeholder": "Solo números"
|
| 24 |
}), required=True)
|
| 25 |
|
| 26 |
numero_repeticiones = forms.IntegerField(widget=forms.NumberInput(attrs={
|
| 27 |
+
"class": "bg-surface-ligt p-1 border-b-1 text-center w-full",
|
| 28 |
"placeholder": "Solo números"
|
| 29 |
}), required=True)
|
| 30 |
|
| 31 |
tamano_escala = forms.IntegerField(widget=forms.NumberInput(attrs={
|
| 32 |
+
"class": "bg-surface-ligt p-1 border-b-1 text-center w-full",
|
| 33 |
}), required=True, min_value=5)
|
| 34 |
|
| 35 |
instrucciones = forms.CharField(max_length=255, widget=forms.TextInput(attrs={
|
| 36 |
+
"class": "bg-surface-ligt border-b-1 text-center w-full p-1",
|
| 37 |
"placeholder": "Este campo es opcional"
|
| 38 |
}), required=False)
|
| 39 |
|
tecnicas/forms/sesion_tags_form.py
CHANGED
|
@@ -9,17 +9,17 @@ class SesionTagsForm(forms.Form):
|
|
| 9 |
if tipo_escala == "estructurada":
|
| 10 |
for i in range(longitud):
|
| 11 |
self.fields[f'segmento_{i+1}'] = forms.ModelChoiceField(queryset=Etiqueta.objects.all(), required=True, label=f"segmento {i+1}", empty_label="Selecione opcion", widget=forms.Select(attrs={
|
| 12 |
-
"class":"ct-select-op p-1
|
| 13 |
}))
|
| 14 |
else:
|
| 15 |
self.fields['punto_inicial'] = forms.ModelChoiceField(queryset=Etiqueta.objects.all(), required=True, label="Punto inicial", empty_label="Selecione opcion", widget=forms.Select(attrs={
|
| 16 |
-
"class":"ct-select-op p-1
|
| 17 |
}))
|
| 18 |
|
| 19 |
self.fields['punto_medio'] = forms.ModelChoiceField(queryset=Etiqueta.objects.all(), required=True, label="Punto medio", empty_label="Selecione opcion", widget=forms.Select(attrs={
|
| 20 |
-
"class":"ct-select-op p-1
|
| 21 |
}))
|
| 22 |
|
| 23 |
self.fields['punto_final'] = forms.ModelChoiceField(queryset=Etiqueta.objects.all(), required=True, label="Punto final", empty_label="Selecione opcion", widget=forms.Select(attrs={
|
| 24 |
-
"class":"ct-select-op p-1
|
| 25 |
}))
|
|
|
|
| 9 |
if tipo_escala == "estructurada":
|
| 10 |
for i in range(longitud):
|
| 11 |
self.fields[f'segmento_{i+1}'] = forms.ModelChoiceField(queryset=Etiqueta.objects.all(), required=True, label=f"segmento {i+1}", empty_label="Selecione opcion", widget=forms.Select(attrs={
|
| 12 |
+
"class":"ct-select-op p-1 max-sm:w-full bg-surface-ligt [*]:capitalize"
|
| 13 |
}))
|
| 14 |
else:
|
| 15 |
self.fields['punto_inicial'] = forms.ModelChoiceField(queryset=Etiqueta.objects.all(), required=True, label="Punto inicial", empty_label="Selecione opcion", widget=forms.Select(attrs={
|
| 16 |
+
"class":"ct-select-op p-1 max-sm:w-full bg-surface-ligt [*]:capitalize"
|
| 17 |
}))
|
| 18 |
|
| 19 |
self.fields['punto_medio'] = forms.ModelChoiceField(queryset=Etiqueta.objects.all(), required=True, label="Punto medio", empty_label="Selecione opcion", widget=forms.Select(attrs={
|
| 20 |
+
"class":"ct-select-op p-1 max-sm:w-full bg-surface-ligt [*]:capitalize"
|
| 21 |
}))
|
| 22 |
|
| 23 |
self.fields['punto_final'] = forms.ModelChoiceField(queryset=Etiqueta.objects.all(), required=True, label="Punto final", empty_label="Selecione opcion", widget=forms.Select(attrs={
|
| 24 |
+
"class":"ct-select-op p-1 max-sm:w-full bg-surface-ligt [*]:capitalize"
|
| 25 |
}))
|
tecnicas/forms/word_form.py
CHANGED
|
@@ -9,7 +9,7 @@ class WordForm(forms.ModelForm):
|
|
| 9 |
max_length=255,
|
| 10 |
error_messages={
|
| 11 |
"required": "parametros requeridos",
|
| 12 |
-
"unique": "palabra repetida",
|
| 13 |
"min_length": "la palabra es muy corta",
|
| 14 |
"max_length": "la palabra es muy larga",
|
| 15 |
},
|
|
|
|
| 9 |
max_length=255,
|
| 10 |
error_messages={
|
| 11 |
"required": "parametros requeridos",
|
| 12 |
+
"unique": "palabra repetida",
|
| 13 |
"min_length": "la palabra es muy corta",
|
| 14 |
"max_length": "la palabra es muy larga",
|
| 15 |
},
|
tecnicas/static/js/panel-basic.js
CHANGED
|
@@ -4,7 +4,7 @@ const descriptons = {
|
|
| 4 |
atributos:
|
| 5 |
"Con el estilo atributos elijes las palabras para evaluar los productos",
|
| 6 |
vocabulario:
|
| 7 |
-
"Los vocabularios son un conjunto de palabras
|
| 8 |
};
|
| 9 |
|
| 10 |
let inputsScale;
|
|
|
|
| 4 |
atributos:
|
| 5 |
"Con el estilo atributos elijes las palabras para evaluar los productos",
|
| 6 |
vocabulario:
|
| 7 |
+
"Los vocabularios son un conjunto de palabras específicas para evaluar aspectos de un producto",
|
| 8 |
};
|
| 9 |
|
| 10 |
let inputsScale;
|
tecnicas/static/js/panel-codes.js
CHANGED
|
@@ -18,7 +18,7 @@ function submitData(e) {
|
|
| 18 |
});
|
| 19 |
submitData.push(simplePosition);
|
| 20 |
});
|
| 21 |
-
|
| 22 |
const codesInput = document.createElement("input");
|
| 23 |
codesInput.type = "hidden";
|
| 24 |
codesInput.name = "sort_codes";
|
|
@@ -139,6 +139,8 @@ function addIUPermutations() {
|
|
| 139 |
unlist.classList.add(
|
| 140 |
"flex",
|
| 141 |
"flex-wrap",
|
|
|
|
|
|
|
| 142 |
"gap-3",
|
| 143 |
"px-3",
|
| 144 |
"py-1",
|
|
@@ -158,7 +160,16 @@ function addIUPermutations() {
|
|
| 158 |
});
|
| 159 |
|
| 160 |
const section = document.createElement("section");
|
| 161 |
-
section.classList.add(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 162 |
|
| 163 |
section.appendChild(paragraph);
|
| 164 |
section.appendChild(unlist);
|
|
|
|
| 18 |
});
|
| 19 |
submitData.push(simplePosition);
|
| 20 |
});
|
| 21 |
+
|
| 22 |
const codesInput = document.createElement("input");
|
| 23 |
codesInput.type = "hidden";
|
| 24 |
codesInput.name = "sort_codes";
|
|
|
|
| 139 |
unlist.classList.add(
|
| 140 |
"flex",
|
| 141 |
"flex-wrap",
|
| 142 |
+
"justify-center",
|
| 143 |
+
"items-center",
|
| 144 |
"gap-3",
|
| 145 |
"px-3",
|
| 146 |
"py-1",
|
|
|
|
| 160 |
});
|
| 161 |
|
| 162 |
const section = document.createElement("section");
|
| 163 |
+
section.classList.add(
|
| 164 |
+
"bg-surface-card",
|
| 165 |
+
"py-2",
|
| 166 |
+
"sm:max-w-80",
|
| 167 |
+
"w-full",
|
| 168 |
+
"flex",
|
| 169 |
+
"flex-col",
|
| 170 |
+
"justify-center",
|
| 171 |
+
"items-center"
|
| 172 |
+
);
|
| 173 |
|
| 174 |
section.appendChild(paragraph);
|
| 175 |
section.appendChild(unlist);
|
tecnicas/templates/tecnicas/create_sesion/configuracion-panel-basic.html
CHANGED
|
@@ -3,19 +3,9 @@
|
|
| 3 |
|
| 4 |
{% block title %}Panel Configuracion{% endblock %}
|
| 5 |
|
| 6 |
-
<!--
|
| 7 |
-
||||Debe tener los siguietens campos para:
|
| 8 |
-
-- Convenvionales tipo escalas
|
| 9 |
-
- Preguntar si desea darle un nombre a la sesion
|
| 10 |
-
- Numero produtos
|
| 11 |
-
- Numero jueces
|
| 12 |
-
- Numero repeticiones, debe ser mayor a 1, no validar si es menos [-------------REALIZAR-------------]
|
| 13 |
-
- Tipo de escala, seran dos, de rango o estructurada
|
| 14 |
-
-->
|
| 15 |
-
|
| 16 |
{% block content %}
|
| 17 |
-
<article class="
|
| 18 |
-
<article class="
|
| 19 |
<h1 class="text-center font-bold text-4xl">Panel de configuración</h1>
|
| 20 |
{% if error %}
|
| 21 |
<p class="text-sm bg-red-200 text-center">{{ error }}</p>
|
|
@@ -23,7 +13,6 @@
|
|
| 23 |
<hr>
|
| 24 |
<form method="post" action="" class="[&>article]:not-last:mb-4 [&>article]:not-first:pt-4 [&>article]:px-6">
|
| 25 |
{% csrf_token %}
|
| 26 |
-
|
| 27 |
<label for="form_sesion.id_tecnica.id_for_label" class="hidden">
|
| 28 |
{{ form_sesion.id_tecnica }}
|
| 29 |
</label>
|
|
@@ -66,15 +55,18 @@
|
|
| 66 |
<section class="flex flex-row gap-4 justify-around flex-wrap">
|
| 67 |
{% for escala in form_sesion.estilo_palabras %}
|
| 68 |
<label for="{{escala.id_for_label}}"
|
| 69 |
-
class="ct-radio-estilo uppercase text-lg tracking-wider font-
|
| 70 |
{{ escala.tag }}
|
| 71 |
{{ escala.choice_label }}
|
| 72 |
</label>
|
| 73 |
{% endfor %}
|
| 74 |
</section>
|
| 75 |
-
<
|
| 76 |
-
|
| 77 |
-
|
|
|
|
|
|
|
|
|
|
| 78 |
</article>
|
| 79 |
<hr>
|
| 80 |
<article class="cs-escalas-radio flex flex-col gap-4">
|
|
@@ -82,7 +74,7 @@
|
|
| 82 |
<section class="flex flex-row gap-4 justify-around flex-wrap">
|
| 83 |
{% for escala in form_sesion.tipo_escala %}
|
| 84 |
<label for="{{escala.id_for_label}}"
|
| 85 |
-
class="ct-radio-escala uppercase text-lg tracking-wider font-
|
| 86 |
{{ escala.tag }}
|
| 87 |
{{ escala.choice_label }}
|
| 88 |
</label>
|
|
@@ -97,7 +89,7 @@
|
|
| 97 |
|
| 98 |
<section class="py-2 px-5 flex flex-col justify-center items-center gap-2 relative">
|
| 99 |
<label for="{{ form_sesion.tamano_escala.id_for_label }}"
|
| 100 |
-
class="ct-size-scale text-
|
| 101 |
<p>Establece número de segmentos:</p>
|
| 102 |
{{ form_sesion.tamano_escala }}
|
| 103 |
</label>
|
|
@@ -110,9 +102,15 @@
|
|
| 110 |
</section>
|
| 111 |
</article>
|
| 112 |
<hr>
|
| 113 |
-
<article class="cs-escalas-radio flex flex-col items-center gap-4">
|
| 114 |
-
<button type="submit"
|
| 115 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 116 |
</article>
|
| 117 |
</form>
|
| 118 |
</article>
|
|
|
|
| 3 |
|
| 4 |
{% block title %}Panel Configuracion{% endblock %}
|
| 5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6 |
{% block content %}
|
| 7 |
+
<article class="cts-container-main">
|
| 8 |
+
<article class="cts-wrap-content text-black">
|
| 9 |
<h1 class="text-center font-bold text-4xl">Panel de configuración</h1>
|
| 10 |
{% if error %}
|
| 11 |
<p class="text-sm bg-red-200 text-center">{{ error }}</p>
|
|
|
|
| 13 |
<hr>
|
| 14 |
<form method="post" action="" class="[&>article]:not-last:mb-4 [&>article]:not-first:pt-4 [&>article]:px-6">
|
| 15 |
{% csrf_token %}
|
|
|
|
| 16 |
<label for="form_sesion.id_tecnica.id_for_label" class="hidden">
|
| 17 |
{{ form_sesion.id_tecnica }}
|
| 18 |
</label>
|
|
|
|
| 55 |
<section class="flex flex-row gap-4 justify-around flex-wrap">
|
| 56 |
{% for escala in form_sesion.estilo_palabras %}
|
| 57 |
<label for="{{escala.id_for_label}}"
|
| 58 |
+
class="ct-radio-estilo uppercase text-lg tracking-wider font-bold p-2 px-4 rounded-xl cts-btn-secondary btn-push">
|
| 59 |
{{ escala.tag }}
|
| 60 |
{{ escala.choice_label }}
|
| 61 |
</label>
|
| 62 |
{% endfor %}
|
| 63 |
</section>
|
| 64 |
+
<section class="w-full flex justify-center items-center">
|
| 65 |
+
<p
|
| 66 |
+
class="ct-ayuda-estilo max-w-2xl text-lg font-medium tracking-wide bg-surface-card text-center py-1 px-4 rounded-xl">
|
| 67 |
+
</p>
|
| 68 |
+
</section>
|
| 69 |
+
|
| 70 |
</article>
|
| 71 |
<hr>
|
| 72 |
<article class="cs-escalas-radio flex flex-col gap-4">
|
|
|
|
| 74 |
<section class="flex flex-row gap-4 justify-around flex-wrap">
|
| 75 |
{% for escala in form_sesion.tipo_escala %}
|
| 76 |
<label for="{{escala.id_for_label}}"
|
| 77 |
+
class="ct-radio-escala uppercase text-lg tracking-wider font-bold p-2 px-4 rounded-xl cts-btn-primary btn-push">
|
| 78 |
{{ escala.tag }}
|
| 79 |
{{ escala.choice_label }}
|
| 80 |
</label>
|
|
|
|
| 89 |
|
| 90 |
<section class="py-2 px-5 flex flex-col justify-center items-center gap-2 relative">
|
| 91 |
<label for="{{ form_sesion.tamano_escala.id_for_label }}"
|
| 92 |
+
class="ct-size-scale text-xl flex flex-col items-center px-2 font-bold">
|
| 93 |
<p>Establece número de segmentos:</p>
|
| 94 |
{{ form_sesion.tamano_escala }}
|
| 95 |
</label>
|
|
|
|
| 102 |
</section>
|
| 103 |
</article>
|
| 104 |
<hr>
|
| 105 |
+
<article class="cs-escalas-radio w-full flex max-sm:flex-col flex-wrap items-center justify-center gap-4">
|
| 106 |
+
<button type="submit" class="cts-btn-general cts-btn-primary btn-push flex-1/4 w-full">
|
| 107 |
+
Continuar
|
| 108 |
+
</button>
|
| 109 |
+
<a href="{% url 'cata_system:seleccion_tecnica' %}" class="flex-1/4 w-full">
|
| 110 |
+
<button type="button" class="cts-btn-general cts-btn-error btn-push w-full">
|
| 111 |
+
Cancelar la creación
|
| 112 |
+
</button>
|
| 113 |
+
</a>
|
| 114 |
</article>
|
| 115 |
</form>
|
| 116 |
</article>
|
tecnicas/templates/tecnicas/create_sesion/configuracion-panel-codes.html
CHANGED
|
@@ -4,8 +4,8 @@
|
|
| 4 |
{% block title %}Panel Configuracion{% endblock %}
|
| 5 |
|
| 6 |
{% block content %}
|
| 7 |
-
<article class="
|
| 8 |
-
<article class="
|
| 9 |
<h1 class="text-center font-bold text-4xl">Panel de configuración</h1>
|
| 10 |
{% if error %}
|
| 11 |
<p class="text-2xl">{{ error }}</p>
|
|
@@ -13,36 +13,53 @@
|
|
| 13 |
<form method="post" action="" class="ct-codes-form flex flex-col gap-5">
|
| 14 |
{% csrf_token %}
|
| 15 |
<h2 class="text-2xl mb-2 font-bold">Codificar productos</h2>
|
| 16 |
-
<
|
| 17 |
-
|
|
|
|
| 18 |
Puede dejar los campos como están para usar los códigos predefinidos.
|
| 19 |
</p>
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
|
| 24 |
-
|
| 25 |
-
|
| 26 |
-
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
<button type="button"
|
| 30 |
-
class="ct-gen-or text-lg tracking-wider font-medium p-2 px-4 border-b-2 active:border-b-0 active:border-t-2 active:border-yellow-500 border-yellow-800 transition-all rounded-xl bg-yellow-500 text-white w-fit capitalize"
|
| 31 |
onclick="setPermutations()">
|
| 32 |
regenerar ordenes
|
| 33 |
</button>
|
| 34 |
</article>
|
| 35 |
-
|
| 36 |
-
|
|
|
|
|
|
|
| 37 |
<section class="flex justify-center">
|
| 38 |
<article
|
| 39 |
-
class="ct-orden-list
|
| 40 |
</article>
|
| 41 |
</section>
|
| 42 |
</article>
|
| 43 |
-
|
| 44 |
-
|
| 45 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 46 |
</article>
|
| 47 |
</form>
|
| 48 |
<input type="number" value="{{ num_tester }}" class="ct-num-cata hidden" disabled>
|
|
|
|
| 4 |
{% block title %}Panel Configuracion{% endblock %}
|
| 5 |
|
| 6 |
{% block content %}
|
| 7 |
+
<article class="cts-container-main">
|
| 8 |
+
<article class="cts-wrap-content text-black">
|
| 9 |
<h1 class="text-center font-bold text-4xl">Panel de configuración</h1>
|
| 10 |
{% if error %}
|
| 11 |
<p class="text-2xl">{{ error }}</p>
|
|
|
|
| 13 |
<form method="post" action="" class="ct-codes-form flex flex-col gap-5">
|
| 14 |
{% csrf_token %}
|
| 15 |
<h2 class="text-2xl mb-2 font-bold">Codificar productos</h2>
|
| 16 |
+
<hr>
|
| 17 |
+
<article class="w-full flex flex-col justify-center items-center gap-5">
|
| 18 |
+
<p class="text-center font-bold tracking-wide text-xl bg-surface-card px-3 py-3 pb-4 rounded max-w-4xl">
|
| 19 |
Puede dejar los campos como están para usar los códigos predefinidos.
|
| 20 |
</p>
|
| 21 |
+
<article class="flex flex-row flex-wrap gap-4 items-center justify-center max-w-4xl">
|
| 22 |
+
{% for field in form_codes %}
|
| 23 |
+
<label for="{{ field.id_for_label }}"
|
| 24 |
+
class="text-lg flex flex-col items-center px-2 font-medium tracking-wide">
|
| 25 |
+
<p class="tracking-normal capitalize text-base font-bold">{{ field.label }}</p>
|
| 26 |
+
{{ field }}
|
| 27 |
+
</label>
|
| 28 |
+
{% endfor %}
|
| 29 |
+
</article>
|
| 30 |
+
<button type="button" class="cts-btn-general cts-btn-secondary btn-push uppercase"
|
|
|
|
| 31 |
onclick="setPermutations()">
|
| 32 |
regenerar ordenes
|
| 33 |
</button>
|
| 34 |
</article>
|
| 35 |
+
|
| 36 |
+
<h2 class="text-2xl mb-2 font-bold">Ordenes</h2>
|
| 37 |
+
<hr>
|
| 38 |
+
<article class="w-full">
|
| 39 |
<section class="flex justify-center">
|
| 40 |
<article
|
| 41 |
+
class="ct-orden-list grid grid-cols-3 max-lg:grid-cols-2 max-sm:grid-cols-1 gap-4 px-3 py-4 justify-center items-center capitalize text-lg bg-surface-sweet">
|
| 42 |
</article>
|
| 43 |
</section>
|
| 44 |
</article>
|
| 45 |
+
|
| 46 |
+
<hr>
|
| 47 |
+
<article class="flex flex-col items-center gap-4">
|
| 48 |
+
<section class="flex w-full max-sm:flex-col flex-wrap gap-4 max-w-2xl">
|
| 49 |
+
<button type="submit" class="cts-btn-general cts-btn-primary btn-push flex-1 w-full">
|
| 50 |
+
Continuar
|
| 51 |
+
</button>
|
| 52 |
+
<a href="{% url 'cata_system:panel_configuracion_tags' %}" class="flex-1 w-full">
|
| 53 |
+
<button type="button" class="cts-btn-general cts-btn-secondary btn-push w-full">
|
| 54 |
+
Paso anterior
|
| 55 |
+
</button>
|
| 56 |
+
</a>
|
| 57 |
+
</section>
|
| 58 |
+
<a href="{% url 'cata_system:seleccion_tecnica' %}" class="w-full max-w-2xl">
|
| 59 |
+
<button type="button" class="cts-btn-general cts-btn-error btn-push w-full">
|
| 60 |
+
Cancelar la creación
|
| 61 |
+
</button>
|
| 62 |
+
</a>
|
| 63 |
</article>
|
| 64 |
</form>
|
| 65 |
<input type="number" value="{{ num_tester }}" class="ct-num-cata hidden" disabled>
|
tecnicas/templates/tecnicas/create_sesion/configuracion-panel-tags.html
CHANGED
|
@@ -3,19 +3,10 @@
|
|
| 3 |
|
| 4 |
{% block title %}Panel Configuracion{% endblock %}
|
| 5 |
|
| 6 |
-
<!--
|
| 7 |
-
||||Debe tener los siguietens campos para:
|
| 8 |
-
-- Convenvionales tipo escalas
|
| 9 |
-
- Agregar palabras o Elejir vocabulario
|
| 10 |
-
- Instrucciones
|
| 11 |
-
- Orden de presentacion
|
| 12 |
-
- Presentar un orden basico segun el numero de catadores y los productos, esta se le muestra el presentador
|
| 13 |
-
-->
|
| 14 |
-
|
| 15 |
{% block content %}
|
| 16 |
-
<article class="
|
| 17 |
<section class="w-fit h-fit relative">
|
| 18 |
-
<article class="
|
| 19 |
<h1 class="text-center font-bold text-4xl">Panel de configuración</h1>
|
| 20 |
<hr>
|
| 21 |
{% if error %}
|
|
@@ -25,11 +16,12 @@
|
|
| 25 |
{% endif %}
|
| 26 |
<form method="post" action="" class="flex flex-col gap-5">
|
| 27 |
{% csrf_token %}
|
| 28 |
-
<article class="p-4 flex flex-col gap-2 rounded">
|
| 29 |
<h2 class="text-2xl mb-2 font-bold">Seleccion de etiquetas</h2>
|
| 30 |
{% for field in form_tags %}
|
| 31 |
-
<div class="flex flex-
|
| 32 |
-
<label for="{{ field.id_for_label }}"
|
|
|
|
| 33 |
{{ field.label }}
|
| 34 |
</label>
|
| 35 |
{{ field }}
|
|
@@ -37,40 +29,56 @@
|
|
| 37 |
{% endfor %}
|
| 38 |
</article>
|
| 39 |
<hr>
|
| 40 |
-
<article class="flex gap-3
|
| 41 |
-
<p class="
|
| 42 |
Agregar otra etiqueta
|
| 43 |
</p>
|
| 44 |
<button type="button" onclick="showHiddeExtraTags()"
|
| 45 |
-
class="
|
| 46 |
➕
|
| 47 |
</button>
|
| 48 |
</article>
|
| 49 |
<hr>
|
| 50 |
-
<article class="
|
| 51 |
-
<
|
| 52 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 53 |
</article>
|
| 54 |
</form>
|
| 55 |
</article>
|
| 56 |
<article
|
| 57 |
-
class="ct-new-tags absolute top-0 w-full h-full bg-
|
| 58 |
-
<section class="p-5 bg-
|
| 59 |
<form method="post" action="" class="ct-form-new-tag p-3">
|
| 60 |
{% csrf_token %}
|
| 61 |
<label for="{{ form_new_tag.nueva_etiqueta.id_for_label }}"
|
| 62 |
-
class="font-medium text-md text-
|
| 63 |
-
<p class="bg-
|
| 64 |
{{ form_new_tag.nueva_etiqueta }}
|
| 65 |
</label>
|
| 66 |
<p
|
| 67 |
class="ct-error-tag mt-4 font-bold bg-red-500 text-white text-md capitalize text-center rounded hidden">
|
| 68 |
error</p>
|
| 69 |
-
<article class="flex justify-center gap-8 mt-4 text-white font-medium tracking-wide">
|
| 70 |
-
<button class="
|
| 71 |
-
|
| 72 |
-
|
| 73 |
-
|
|
|
|
|
|
|
|
|
|
| 74 |
</article>
|
| 75 |
</form>
|
| 76 |
</section>
|
|
@@ -84,7 +92,6 @@
|
|
| 84 |
|
| 85 |
{%if escala == "estructurada"%}
|
| 86 |
<script>
|
| 87 |
-
// Asignacion rapida de valores a los select
|
| 88 |
for (let i = 0; i < options.length; i++) {
|
| 89 |
if (options.item(i).value) {
|
| 90 |
values.push(options.item(i).value)
|
|
|
|
| 3 |
|
| 4 |
{% block title %}Panel Configuracion{% endblock %}
|
| 5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6 |
{% block content %}
|
| 7 |
+
<article class="cts-container-main">
|
| 8 |
<section class="w-fit h-fit relative">
|
| 9 |
+
<article class="cts-wrap-content text-black w-full">
|
| 10 |
<h1 class="text-center font-bold text-4xl">Panel de configuración</h1>
|
| 11 |
<hr>
|
| 12 |
{% if error %}
|
|
|
|
| 16 |
{% endif %}
|
| 17 |
<form method="post" action="" class="flex flex-col gap-5">
|
| 18 |
{% csrf_token %}
|
| 19 |
+
<article class="p-4 flex flex-col gap-2 rounded max-sm:text-center">
|
| 20 |
<h2 class="text-2xl mb-2 font-bold">Seleccion de etiquetas</h2>
|
| 21 |
{% for field in form_tags %}
|
| 22 |
+
<div class="flex max-sm:flex-col justify-center items-center gap-5 max-sm:gap-2 text-lg border-b-4 border-l-4 border-btn-secondary bg-surface-card p-1">
|
| 23 |
+
<label for="{{ field.id_for_label }}"
|
| 24 |
+
class="font-medium p-1 px-3 max-sm:w-full capitalize rounded">
|
| 25 |
{{ field.label }}
|
| 26 |
</label>
|
| 27 |
{{ field }}
|
|
|
|
| 29 |
{% endfor %}
|
| 30 |
</article>
|
| 31 |
<hr>
|
| 32 |
+
<article class="flex flex-col gap-3 p-2 justify-center items-center bg-surface-card rounded">
|
| 33 |
+
<p class="p-2 text-center rounded font-bold text-md">
|
| 34 |
Agregar otra etiqueta
|
| 35 |
</p>
|
| 36 |
<button type="button" onclick="showHiddeExtraTags()"
|
| 37 |
+
class="cts-btn-general cts-btn-secondary btn-push w-40">
|
| 38 |
➕
|
| 39 |
</button>
|
| 40 |
</article>
|
| 41 |
<hr>
|
| 42 |
+
<article class="cs-escalas-radio w-full flex flex-col gap-4">
|
| 43 |
+
<section class="flex max-sm:flex-col flex-wrap items-center justify-center gap-4">
|
| 44 |
+
<button type="submit" class="cts-btn-general cts-btn-primary btn-push flex-1 w-full">
|
| 45 |
+
Continuar
|
| 46 |
+
</button>
|
| 47 |
+
<a href="{% url 'cata_system:seleccion_tecnica' %}" class="flex-1 w-full">
|
| 48 |
+
<button type="button" class="cts-btn-general cts-btn-secondary btn-push w-full">
|
| 49 |
+
Paso anterior
|
| 50 |
+
</button>
|
| 51 |
+
</a>
|
| 52 |
+
</section>
|
| 53 |
+
<a href="{% url 'cata_system:seleccion_tecnica' %}" class="flex-1 w-full">
|
| 54 |
+
<button type="button" class="cts-btn-general cts-btn-error btn-push w-full">
|
| 55 |
+
Cancelar la creación
|
| 56 |
+
</button>
|
| 57 |
+
</a>
|
| 58 |
</article>
|
| 59 |
</form>
|
| 60 |
</article>
|
| 61 |
<article
|
| 62 |
+
class="ct-new-tags absolute top-0 w-full h-full bg-surface-sweet/70 p-5 flex justify-center items-center rounded-2xl hidden">
|
| 63 |
+
<section class="p-5 bg-surface-ligt border border-surface-general w-fit rounded">
|
| 64 |
<form method="post" action="" class="ct-form-new-tag p-3">
|
| 65 |
{% csrf_token %}
|
| 66 |
<label for="{{ form_new_tag.nueva_etiqueta.id_for_label }}"
|
| 67 |
+
class="font-medium text-md text-black flex max-sm:flex-col gap-3">
|
| 68 |
+
<p class="bg-btn-secondary sm:p-4 p-1 font-semibold">Nueva etiqueta:</p>
|
| 69 |
{{ form_new_tag.nueva_etiqueta }}
|
| 70 |
</label>
|
| 71 |
<p
|
| 72 |
class="ct-error-tag mt-4 font-bold bg-red-500 text-white text-md capitalize text-center rounded hidden">
|
| 73 |
error</p>
|
| 74 |
+
<article class="flex max-sm:flex-col justify-center gap-8 max-sm:gap-4 mt-4 text-white font-medium tracking-wide">
|
| 75 |
+
<button type="submit" class="cts-btn-general cts-btn-primary btn-push">
|
| 76 |
+
Agregar
|
| 77 |
+
</button>
|
| 78 |
+
<button class="cts-btn-general cts-btn-error btn-push" type="button"
|
| 79 |
+
onclick="showHiddeExtraTags()">
|
| 80 |
+
Cancelar
|
| 81 |
+
</button>
|
| 82 |
</article>
|
| 83 |
</form>
|
| 84 |
</section>
|
|
|
|
| 92 |
|
| 93 |
{%if escala == "estructurada"%}
|
| 94 |
<script>
|
|
|
|
| 95 |
for (let i = 0; i < options.length; i++) {
|
| 96 |
if (options.item(i).value) {
|
| 97 |
values.push(options.item(i).value)
|
tecnicas/templates/tecnicas/create_sesion/seleccion-tecnica.html
CHANGED
|
@@ -3,16 +3,18 @@
|
|
| 3 |
{% block title %}Panel principal{% endblock %}
|
| 4 |
|
| 5 |
{% block content %}
|
| 6 |
-
<article class="
|
| 7 |
-
<article class="
|
| 8 |
<header class="text-center flex sm:flex-row flex-col md:gap-8 gap-3 items-center w-full">
|
| 9 |
-
<div class="bg-
|
| 10 |
-
<h1 class="font-bold text-2xl">Selección de
|
| 11 |
</div>
|
| 12 |
<div class="sm:flex-1 flex flex-row-reverse">
|
| 13 |
-
<a href="{% url 'cata_system:index' %}"
|
| 14 |
-
class="
|
| 15 |
-
|
|
|
|
|
|
|
| 16 |
</div>
|
| 17 |
</header>
|
| 18 |
<section class="text-white *:not-last:mb-4">
|
|
@@ -25,15 +27,17 @@
|
|
| 25 |
{% for cate, tecnicas in tipos.items %}
|
| 26 |
<article>
|
| 27 |
<button
|
| 28 |
-
class="
|
| 29 |
onclick="showList('{{cate}}'); hiddenError()" type="button">{{ cate }}</button>
|
| 30 |
{% if tecnicas %}
|
| 31 |
<section
|
| 32 |
-
class="modal-list-{{ cate }} flex flex-col text-lg bg-
|
| 33 |
{% for tecnica in tecnicas %}
|
| 34 |
-
<a href="{% url 'cata_system:panel_configuracion_basic'%}?id_tecnica={{tecnica.id}}"
|
| 35 |
-
|
| 36 |
-
|
|
|
|
|
|
|
| 37 |
</a>
|
| 38 |
{% endfor %}
|
| 39 |
</section>
|
|
|
|
| 3 |
{% block title %}Panel principal{% endblock %}
|
| 4 |
|
| 5 |
{% block content %}
|
| 6 |
+
<article class="cts-container-main">
|
| 7 |
+
<article class="cts-wrap-content">
|
| 8 |
<header class="text-center flex sm:flex-row flex-col md:gap-8 gap-3 items-center w-full">
|
| 9 |
+
<div class="bg-surface-card p-4 text-black rounded-xl sm:flex-1 w-full">
|
| 10 |
+
<h1 class="font-bold text-2xl">Selección de técnica sensorial</h1>
|
| 11 |
</div>
|
| 12 |
<div class="sm:flex-1 flex flex-row-reverse">
|
| 13 |
+
<a href="{% url 'cata_system:index' %}">
|
| 14 |
+
<button class="cts-btn-general cts-btn-error btn-push">
|
| 15 |
+
Panel principal
|
| 16 |
+
</button>
|
| 17 |
+
</a>
|
| 18 |
</div>
|
| 19 |
</header>
|
| 20 |
<section class="text-white *:not-last:mb-4">
|
|
|
|
| 27 |
{% for cate, tecnicas in tipos.items %}
|
| 28 |
<article>
|
| 29 |
<button
|
| 30 |
+
class="cts-btn-general cts-btn-primary btn-push flex flex-row gap-4 justify-center items-center rounded-lg text-2xl font-medium uppercase tracking-wider w-full z-20 relative"
|
| 31 |
onclick="showList('{{cate}}'); hiddenError()" type="button">{{ cate }}</button>
|
| 32 |
{% if tecnicas %}
|
| 33 |
<section
|
| 34 |
+
class="modal-list-{{ cate }} flex flex-col text-lg bg-surface-ligt p-4 pr-6 pl-8 sm:pl-12 z-10 -translate-y-1 rounded-b-2xl *:not-last:mb-4 transition-all duration-1000 hidden w-full">
|
| 35 |
{% for tecnica in tecnicas %}
|
| 36 |
+
<a href="{% url 'cata_system:panel_configuracion_basic'%}?id_tecnica={{tecnica.id}}">
|
| 37 |
+
<button
|
| 38 |
+
class="cts-btn-secondary btn-push rounded-lg border-b-0 border-l-4 border-gray-700 px-3 py-2 w-full text-left font-bold uppercase">
|
| 39 |
+
{{ tecnica.nombre_tecnica }}
|
| 40 |
+
</button>
|
| 41 |
</a>
|
| 42 |
{% endfor %}
|
| 43 |
</section>
|
tecnicas/templates/tecnicas/main-panel.html
CHANGED
|
@@ -3,8 +3,8 @@
|
|
| 3 |
{% block title %}Panel principal{% endblock %}
|
| 4 |
|
| 5 |
{% block content %}
|
| 6 |
-
<article class="
|
| 7 |
-
<article class="
|
| 8 |
<header class="flex flex-col flex-wrap justify-center items-center gap-8">
|
| 9 |
<section class="bg-surface-card p-8 rounded-md w-full shadow-lg">
|
| 10 |
<h1 class="text-black text-4xl font-bold text-center max-sm:text-2xl">Panel Principal</h1>
|
|
|
|
| 3 |
{% block title %}Panel principal{% endblock %}
|
| 4 |
|
| 5 |
{% block content %}
|
| 6 |
+
<article class="cts-container-main">
|
| 7 |
+
<article class="cts-wrap-content">
|
| 8 |
<header class="flex flex-col flex-wrap justify-center items-center gap-8">
|
| 9 |
<section class="bg-surface-card p-8 rounded-md w-full shadow-lg">
|
| 10 |
<h1 class="text-black text-4xl font-bold text-center max-sm:text-2xl">Panel Principal</h1>
|
tecnicas/templates/tecnicas/manage_sesions/detalles-sesion.html
CHANGED
|
@@ -4,15 +4,15 @@
|
|
| 4 |
{% block title %}Detalles Sesion{% endblock %}
|
| 5 |
|
| 6 |
{% block content %}
|
| 7 |
-
<article class="
|
| 8 |
-
<article class="
|
| 9 |
<header class="text-center flex-row w-full flex justify-around items-center flex-wrap gap-10">
|
| 10 |
<h1 class="text-black rounded-xl font-bold text-2xl bg-surface-card shadow-lg p-4 flex-1">
|
| 11 |
Detalles de la sesión
|
| 12 |
</h1>
|
| 13 |
<a href="{% url 'cata_system:index' %}" class="w-fit">
|
| 14 |
<button
|
| 15 |
-
class="
|
| 16 |
Volver a las Sesiones
|
| 17 |
</button>
|
| 18 |
</a>
|
|
@@ -170,7 +170,7 @@
|
|
| 170 |
{% endif %}
|
| 171 |
|
| 172 |
<button
|
| 173 |
-
class="flex-1 uppercase text-lg
|
| 174 |
borrar
|
| 175 |
<figure class="w-10">
|
| 176 |
<img src="{% static 'img/basura.svg' %}" alt="bote de basura" class="invert">
|
|
|
|
| 4 |
{% block title %}Detalles Sesion{% endblock %}
|
| 5 |
|
| 6 |
{% block content %}
|
| 7 |
+
<article class="cts-container-main">
|
| 8 |
+
<article class="cts-wrap-content">
|
| 9 |
<header class="text-center flex-row w-full flex justify-around items-center flex-wrap gap-10">
|
| 10 |
<h1 class="text-black rounded-xl font-bold text-2xl bg-surface-card shadow-lg p-4 flex-1">
|
| 11 |
Detalles de la sesión
|
| 12 |
</h1>
|
| 13 |
<a href="{% url 'cata_system:index' %}" class="w-fit">
|
| 14 |
<button
|
| 15 |
+
class="cts-btn-general cts-btn-error btn-push">
|
| 16 |
Volver a las Sesiones
|
| 17 |
</button>
|
| 18 |
</a>
|
|
|
|
| 170 |
{% endif %}
|
| 171 |
|
| 172 |
<button
|
| 173 |
+
class="flex-1 uppercase text-lg cts-btn-general cts-btn-error btn-push flex flex-col justify-center items-center gap-2">
|
| 174 |
borrar
|
| 175 |
<figure class="w-10">
|
| 176 |
<img src="{% static 'img/basura.svg' %}" alt="bote de basura" class="invert">
|
tecnicas/templates/tecnicas/manage_sesions/monitor-sesion.html
CHANGED
|
@@ -3,8 +3,8 @@
|
|
| 3 |
{% block title %}Monitoreo{% endblock %}
|
| 4 |
|
| 5 |
{% block content %}
|
| 6 |
-
<article class="
|
| 7 |
-
<article class="
|
| 8 |
<header class="text-center">
|
| 9 |
<h1 class="text-3xl font-bold text-black">Sesión sensorial en curso</h1>
|
| 10 |
</header>
|
|
|
|
| 3 |
{% block title %}Monitoreo{% endblock %}
|
| 4 |
|
| 5 |
{% block content %}
|
| 6 |
+
<article class="cts-container-main">
|
| 7 |
+
<article class="cts-wrap-content">
|
| 8 |
<header class="text-center">
|
| 9 |
<h1 class="text-3xl font-bold text-black">Sesión sensorial en curso</h1>
|
| 10 |
</header>
|
tecnicas/templates/tecnicas/manage_sesions/sesiones-panel.html
CHANGED
|
@@ -4,16 +4,15 @@
|
|
| 4 |
{% block title %}Panel Sesiones{% endblock %}
|
| 5 |
|
| 6 |
{% block content %}
|
| 7 |
-
<article class="
|
| 8 |
-
<article class="
|
| 9 |
<header class="text-center flex flex-row max-sm:flex-col gap-8 items-center w-full">
|
| 10 |
<div class="bg-surface-card p-4 text-black shadow-lg rounded-xl flex-1">
|
| 11 |
<h1 class="font-bold text-2xl">Administra las<br>sesiones sensoriales</h1>
|
| 12 |
</div>
|
| 13 |
<div class="flex-1 flex justify-end items-center">
|
| 14 |
<a href="{% url 'cata_system:index' %}" class="w-fit">
|
| 15 |
-
<button
|
| 16 |
-
class="text-black bg-btn-secondary font-medium rounded-lg text-xl p-4 text-center border-pink-800 btn-push">
|
| 17 |
Ir al Panel principal
|
| 18 |
</button>
|
| 19 |
</a>
|
|
@@ -51,8 +50,9 @@
|
|
| 51 |
</ul>
|
| 52 |
<div class="mt-6">
|
| 53 |
<a href="{% url 'cata_system:detalles_sesion' session_code=sesion.codigo_sesion %}">
|
| 54 |
-
<button class="btn bg-btn-primary border-0 block w-full btn-push">
|
| 55 |
-
sesión
|
|
|
|
| 56 |
</a>
|
| 57 |
</div>
|
| 58 |
</div>
|
|
|
|
| 4 |
{% block title %}Panel Sesiones{% endblock %}
|
| 5 |
|
| 6 |
{% block content %}
|
| 7 |
+
<article class="cts-container-main">
|
| 8 |
+
<article class="cts-wrap-content">
|
| 9 |
<header class="text-center flex flex-row max-sm:flex-col gap-8 items-center w-full">
|
| 10 |
<div class="bg-surface-card p-4 text-black shadow-lg rounded-xl flex-1">
|
| 11 |
<h1 class="font-bold text-2xl">Administra las<br>sesiones sensoriales</h1>
|
| 12 |
</div>
|
| 13 |
<div class="flex-1 flex justify-end items-center">
|
| 14 |
<a href="{% url 'cata_system:index' %}" class="w-fit">
|
| 15 |
+
<button class="cts-btn-general cts-btn-error btn-push">
|
|
|
|
| 16 |
Ir al Panel principal
|
| 17 |
</button>
|
| 18 |
</a>
|
|
|
|
| 50 |
</ul>
|
| 51 |
<div class="mt-6">
|
| 52 |
<a href="{% url 'cata_system:detalles_sesion' session_code=sesion.codigo_sesion %}">
|
| 53 |
+
<button class="btn bg-btn-primary border-0 block w-full btn-push">
|
| 54 |
+
Inspeccionar sesión
|
| 55 |
+
</button>
|
| 56 |
</a>
|
| 57 |
</div>
|
| 58 |
</div>
|
tecnicas/templates/tecnicas/manage_tester/catador-buscar.html
CHANGED
|
@@ -4,8 +4,8 @@
|
|
| 4 |
{% block title %}Buscar Catador{% endblock %}
|
| 5 |
|
| 6 |
{% block content %}
|
| 7 |
-
<article class="
|
| 8 |
-
<article class="
|
| 9 |
<header class="flex-1 flex flex-col gap-7">
|
| 10 |
<div class="bg-surface-card p-8 text-black text-2xl font-bold rounded-2xl text-center capitalize">
|
| 11 |
<h1>buscando catatador</h1>
|
|
@@ -24,7 +24,7 @@
|
|
| 24 |
Buscar
|
| 25 |
</button>
|
| 26 |
<a href="{% url 'cata_system:panel_catadores' %}">
|
| 27 |
-
<button
|
| 28 |
class="text-white w-fit bg-ct-error font-bold rounded-lg text-xl py-2 px-6 text-center border-pink-800 btn-push">
|
| 29 |
Regresar
|
| 30 |
</button>
|
|
|
|
| 4 |
{% block title %}Buscar Catador{% endblock %}
|
| 5 |
|
| 6 |
{% block content %}
|
| 7 |
+
<article class="cts-container-main">
|
| 8 |
+
<article class="cts-wrap-content">
|
| 9 |
<header class="flex-1 flex flex-col gap-7">
|
| 10 |
<div class="bg-surface-card p-8 text-black text-2xl font-bold rounded-2xl text-center capitalize">
|
| 11 |
<h1>buscando catatador</h1>
|
|
|
|
| 24 |
Buscar
|
| 25 |
</button>
|
| 26 |
<a href="{% url 'cata_system:panel_catadores' %}">
|
| 27 |
+
<button type="button"
|
| 28 |
class="text-white w-fit bg-ct-error font-bold rounded-lg text-xl py-2 px-6 text-center border-pink-800 btn-push">
|
| 29 |
Regresar
|
| 30 |
</button>
|
tecnicas/templates/tecnicas/manage_tester/catador-crear.html
CHANGED
|
@@ -4,8 +4,8 @@
|
|
| 4 |
{% block title %}Crear Catador{% endblock %}
|
| 5 |
|
| 6 |
{% block content %}
|
| 7 |
-
<article class="
|
| 8 |
-
<article class="
|
| 9 |
<header class="flex flex-col gap-7">
|
| 10 |
<div class="bg-surface-card p-8 text-black text-2xl font-bold rounded-2xl text-center">
|
| 11 |
<h1>Creando Catador</h1>
|
|
|
|
| 4 |
{% block title %}Crear Catador{% endblock %}
|
| 5 |
|
| 6 |
{% block content %}
|
| 7 |
+
<article class="cts-container-main">
|
| 8 |
+
<article class="cts-wrap-content">
|
| 9 |
<header class="flex flex-col gap-7">
|
| 10 |
<div class="bg-surface-card p-8 text-black text-2xl font-bold rounded-2xl text-center">
|
| 11 |
<h1>Creando Catador</h1>
|
tecnicas/templates/tecnicas/manage_tester/catadores-panel.html
CHANGED
|
@@ -4,8 +4,8 @@
|
|
| 4 |
{% block title %}Gestionar Catadores{% endblock %}
|
| 5 |
|
| 6 |
{% block content %}
|
| 7 |
-
<article class="
|
| 8 |
-
<article class="
|
| 9 |
<article class="grid min-sm:grid-cols-2 gap-4 p-5 rounded-2xl">
|
| 10 |
<header class="flex-1 flex flex-col gap-4">
|
| 11 |
<div class="bg-surface-card p-8 text-2xl text-black font-bold rounded-2xl text-center">
|
|
|
|
| 4 |
{% block title %}Gestionar Catadores{% endblock %}
|
| 5 |
|
| 6 |
{% block content %}
|
| 7 |
+
<article class="cts-container-main">
|
| 8 |
+
<article class="cts-wrap-content">
|
| 9 |
<article class="grid min-sm:grid-cols-2 gap-4 p-5 rounded-2xl">
|
| 10 |
<header class="flex-1 flex flex-col gap-4">
|
| 11 |
<div class="bg-surface-card p-8 text-2xl text-black font-bold rounded-2xl text-center">
|
theme/static_src/src/styles.css
CHANGED
|
@@ -1,57 +1,38 @@
|
|
| 1 |
@import "tailwindcss";
|
| 2 |
@plugin "daisyui";
|
| 3 |
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
--color-surface-sweet: #FFC29B;
|
| 8 |
-
--color-surface-ligt: #FFECC0;
|
| 9 |
-
--color-surface-card: #FFF3E0;
|
| 10 |
-
--color-surface-alter-card: #91C4C3;
|
| 11 |
-
--color-btn-primary: #4CAF50;
|
| 12 |
-
--color-btn-secondary: #E45A92;
|
| 13 |
-
--color-btn-tertiary: #FFACAC;
|
| 14 |
-
--color-ct-success: #2E7D32;
|
| 15 |
-
--color-ct-error: #E62727;
|
| 16 |
}
|
| 17 |
|
| 18 |
-
.
|
| 19 |
-
@apply
|
| 20 |
}
|
| 21 |
|
| 22 |
-
.
|
| 23 |
-
@apply
|
| 24 |
}
|
| 25 |
|
| 26 |
-
.
|
| 27 |
-
@apply
|
| 28 |
}
|
| 29 |
|
| 30 |
-
|
| 31 |
-
|
| 32 |
-
|
| 33 |
-
#F39F9F
|
| 34 |
-
#B95E82
|
| 35 |
|
| 36 |
-
|
| 37 |
-
|
| 38 |
-
|
| 39 |
-
#FFF7DD
|
| 40 |
|
| 41 |
-
|
| 42 |
-
|
| 43 |
-
|
| 44 |
-
#FFACAC
|
| 45 |
-
*/
|
| 46 |
|
|
|
|
|
|
|
|
|
|
| 47 |
|
| 48 |
-
/**
|
| 49 |
-
* A catch-all path to Django template files, JavaScript, and Python files
|
| 50 |
-
* that contain Tailwind CSS classes and will be scanned by Tailwind to generate the final CSS file.
|
| 51 |
-
*
|
| 52 |
-
* If your final CSS file is not being updated after code changes, you may want to broaden or narrow
|
| 53 |
-
* the scope of this path.
|
| 54 |
-
*/
|
| 55 |
@source "../../../**/*.{html,py,js}";
|
| 56 |
-
@
|
| 57 |
-
@source "../../../tecnicas/templates/tecnicas/**/*.{html,py,js}";
|
|
|
|
| 1 |
@import "tailwindcss";
|
| 2 |
@plugin "daisyui";
|
| 3 |
|
| 4 |
+
|
| 5 |
+
.cts-container-main {
|
| 6 |
+
@apply w-full flex flex-col justify-center items-center bg-surface-general mt-10 mb-10;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 7 |
}
|
| 8 |
|
| 9 |
+
.cts-wrap-content {
|
| 10 |
+
@apply flex flex-col gap-8 bg-surface-alter p-10 max-lg:p-6 max-sm:px-2 max-sm:w-full rounded-xl max-lg:rounded-none;
|
| 11 |
}
|
| 12 |
|
| 13 |
+
.cts-btn-general {
|
| 14 |
+
@apply font-bold rounded-lg text-xl p-4 text-center;
|
| 15 |
}
|
| 16 |
|
| 17 |
+
.cts-btn-primary {
|
| 18 |
+
@apply text-white bg-btn-primary border-green-800;
|
| 19 |
}
|
| 20 |
|
| 21 |
+
.cts-btn-secondary {
|
| 22 |
+
@apply text-white bg-btn-secondary border-pink-800;
|
| 23 |
+
}
|
|
|
|
|
|
|
| 24 |
|
| 25 |
+
.cts-btn-tertiary {
|
| 26 |
+
@apply text-white bg-btn-tertiary border-pink-800;
|
| 27 |
+
}
|
|
|
|
| 28 |
|
| 29 |
+
.cts-btn-error {
|
| 30 |
+
@apply text-white bg-ct-error border-red-800;
|
| 31 |
+
}
|
|
|
|
|
|
|
| 32 |
|
| 33 |
+
.btn-push {
|
| 34 |
+
@apply border-b-4 active:border-b-0 active:border-t-4 transition-all;
|
| 35 |
+
}
|
| 36 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 37 |
@source "../../../**/*.{html,py,js}";
|
| 38 |
+
@config "../tailwind.config.js"
|
|
|
theme/static_src/tailwind.config.js
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// tailwind.config.js
|
| 2 |
+
module.exports = {
|
| 3 |
+
content: [
|
| 4 |
+
"../templates/base.html",
|
| 5 |
+
"../../tecnicas/templates/tecnicas/*.{html,py,js}",
|
| 6 |
+
"../../tecnicas/templates/tecnicas/**/*.{html,py,js}",
|
| 7 |
+
],
|
| 8 |
+
theme: {
|
| 9 |
+
extend: {
|
| 10 |
+
colors: {
|
| 11 |
+
"surface-general": "#B95E82",
|
| 12 |
+
"surface-alter": "#F39F9F",
|
| 13 |
+
"surface-sweet": "#FFC29B",
|
| 14 |
+
"surface-ligt": "#FFECC0",
|
| 15 |
+
"surface-card": "#FFF3E0",
|
| 16 |
+
"surface-alter-card": "#91C4C3",
|
| 17 |
+
"btn-primary": "#4CAF50",
|
| 18 |
+
"btn-secondary": "#E45A92",
|
| 19 |
+
"btn-tertiary": "#FFACAC",
|
| 20 |
+
"ct-success": "#2E7D32",
|
| 21 |
+
"ct-error": "#E62727",
|
| 22 |
+
},
|
| 23 |
+
},
|
| 24 |
+
},
|
| 25 |
+
plugins: [],
|
| 26 |
+
};
|