chartManD commited on
Commit
536588a
·
1 Parent(s): c03d9f3

Switch segun segun el tipo de tecnica en panel codes, creacion de sesion

Browse files
tecnicas/controllers/__init__.py CHANGED
@@ -22,3 +22,4 @@ from .views_controller.list_sessions_tester_controller import ListSessionsTester
22
 
23
  from .views_controller.create_session.panel_basic_controller import PanelBasicController
24
  from .views_controller.create_session.panel_tags_controller import PanelTagsController
 
 
22
 
23
  from .views_controller.create_session.panel_basic_controller import PanelBasicController
24
  from .views_controller.create_session.panel_tags_controller import PanelTagsController
25
+ from .views_controller.create_session.panel_codes_controller import PanelCodesController
tecnicas/controllers/views_controller/create_session/panel_codes_controller.py ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from django.http import HttpRequest
2
+ from django.shortcuts import redirect, render
3
+ from django.urls import reverse
4
+ from tecnicas.forms import CodesForm
5
+ from tecnicas.utils import generarCodigos
6
+ import json
7
+
8
+
9
+ class PanelCodesController():
10
+ def __init__(self):
11
+ pass
12
+
13
+ @staticmethod
14
+ def controllGetConvencional(request: HttpRequest, data):
15
+ (
16
+ num_products,
17
+ num_tester
18
+ ) = PanelCodesController.defineInfoConvencional(data)
19
+
20
+ codes_products = generarCodigos(num_products)
21
+
22
+ form_codes = CodesForm(codes=codes_products)
23
+
24
+ context_codes_form = {
25
+ "form_codes": form_codes,
26
+ "num_tester": num_tester
27
+ }
28
+
29
+ return render(request, "tecnicas/create_sesion/configuracion-panel-codes.html", context_codes_form)
30
+
31
+ @staticmethod
32
+ def controllPostConvencional(request: HttpRequest, data):
33
+ (
34
+ num_products,
35
+ num_tester
36
+ ) = PanelCodesController.defineInfoConvencional(data)
37
+
38
+ sorts_code = json.loads(request.POST.get("sort_codes"))
39
+ codes = []
40
+ context_codes_form = {}
41
+
42
+ for name, value in request.POST.items():
43
+ if name.__contains__("producto_"):
44
+ codes.append(value)
45
+
46
+ form_codes = CodesForm(request.POST, codes=codes)
47
+
48
+ context_codes_form = {
49
+ "form_codes": form_codes,
50
+ "num_tester": num_tester,
51
+ }
52
+
53
+ if form_codes.is_valid():
54
+ codes_sort = {"product_codes": []}
55
+
56
+ for name, value in form_codes.cleaned_data.items():
57
+ codes_sort["product_codes"].append({name: value})
58
+
59
+ codes_sort["sort_codes"] = sorts_code
60
+ request.session["form_codes"] = codes_sort
61
+ return redirect(reverse("cata_system:panel_configuracion_words"))
62
+ else:
63
+ context_codes_form["error"] = "error en los datos recibidos"
64
+
65
+ return render(request, "tecnicas/create_sesion/configuracion-panel-codes.html", context_codes_form)
66
+
67
+ @staticmethod
68
+ def defineInfoConvencional(data):
69
+ num_products = data["numero_productos"]
70
+ num_tester = data["numero_catadores"]
71
+ return (
72
+ num_products,
73
+ num_tester
74
+ )
tecnicas/views/sessions_config/configuration_panel_codes.py CHANGED
@@ -1,59 +1,33 @@
1
- from django.http import HttpRequest
2
- from django.shortcuts import render, redirect
3
  from django.urls import reverse
4
- from ...utils import generarCodigos
5
- from ...forms import CodesForm
6
- import json
7
 
8
 
9
  def configurationPanelCodes(req: HttpRequest):
10
- if not req.session.get("form_basic") or not req.session.get("form_tags"):
 
11
  req.session.flush()
12
  return redirect(reverse("cata_system:seleccion_tecnica") +
13
  "?error=datos del formulario requerido no encontrados")
14
 
15
- data_basic = req.session["form_basic"]
16
-
17
- num_products = data_basic["numero_productos"]
18
- num_tester = data_basic["numero_catadores"]
19
-
20
  if req.method == "GET":
21
- codes_products = generarCodigos(num_products)
22
-
23
- form_codes = CodesForm(codes=codes_products)
24
-
25
- context_codes_form = {
26
- "form_codes": form_codes,
27
- "num_tester": num_tester
28
- }
29
-
30
- return render(req, "tecnicas/create_sesion/configuracion-panel-codes.html", context_codes_form)
31
  elif req.method == "POST":
32
- sorts_code = json.loads(req.POST.get("sort_codes"))
33
- codes = []
34
- context_codes_form = {}
35
-
36
- for name, value in req.POST.items():
37
- if name.__contains__("producto_"):
38
- codes.append(value)
39
-
40
- form_codes = CodesForm(req.POST, codes=codes)
41
-
42
- context_codes_form = {
43
- "form_codes": form_codes,
44
- "num_tester": num_tester,
45
- }
46
-
47
- if form_codes.is_valid():
48
- codes_sort = {"product_codes": []}
49
-
50
- for name, value in form_codes.cleaned_data.items():
51
- codes_sort["product_codes"].append({name: value})
52
-
53
- codes_sort["sort_codes"] = sorts_code
54
- req.session["form_codes"] = codes_sort
55
- return redirect(reverse("cata_system:panel_configuracion_words"))
56
  else:
57
- context_codes_form["error"] = "error en los datos recibidos"
58
-
59
- return render(req, "tecnicas/create_sesion/configuracion-panel-codes.html", context_codes_form)
 
 
 
 
1
+ from django.http import HttpRequest, JsonResponse
2
+ from django.shortcuts import redirect
3
  from django.urls import reverse
4
+ from tecnicas.controllers import PanelCodesController
 
 
5
 
6
 
7
  def configurationPanelCodes(req: HttpRequest):
8
+ data_basic = req.session["form_basic"]
9
+ if not data_basic:
10
  req.session.flush()
11
  return redirect(reverse("cata_system:seleccion_tecnica") +
12
  "?error=datos del formulario requerido no encontrados")
13
 
 
 
 
 
 
14
  if req.method == "GET":
15
+ if data_basic["name_tecnica"] == "escalas":
16
+ response = PanelCodesController.controllGetConvencional(
17
+ req, data_basic)
18
+ else:
19
+ response = redirect(
20
+ reverse("cata_system:seleccion_tecnica") + "?error=Técnica no valida")
21
+
22
+ return response
 
 
23
  elif req.method == "POST":
24
+ if data_basic["name_tecnica"] == "escalas":
25
+ response = PanelCodesController.controllPostConvencional(
26
+ req, data_basic)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
27
  else:
28
+ response = redirect(
29
+ reverse("cata_system:seleccion_tecnica") + "?error=Técnica no valida")
30
+
31
+ return response
32
+ else:
33
+ return JsonResponse({"message": "Método no permitido"})