# Archivo: IngenieroControlMenu.py
# Ruta: App\SupyCtrol_Module\IngenieroControlMenu.py
# Descripción: Menu principal del Ingeniero de Control
# Autor: Equipo de Desarrollo IGSA
# Fecha: 2025
import os
import tempfile
import ftplib

# Importaciones de terceros
import requests
from dotenv import load_dotenv
from flask import jsonify, render_template, request, session
from werkzeug.utils import secure_filename
from App.SupyCtrol_Module.IngenieroControl.ValidarScore import ejecutar_validacion_score
from App.SupyCtrol_Module.IngenieroControl.ActualizarScore import ejecutar_actualizacion_score
from App.Security_Module.UserAccess import check_user_access

# Cargar las variables de entorno desde el archivo .env
load_dotenv()

def menu_IngControl(app, mail):
    """
    Registra las rutas relacionadas con Supervisión y Control (SyC) en la aplicación Flask.
    """
    # ================== Submenú: Simulación de materiales ==================
    @app.route("/SyC/IngenieroControl/ModuloValidacionScore")
    def Validacion_Score():                    
        """
        Renderiza la página del menú de IngenieroControlMenu.
        Archivo: menu.html
        Ruta: src/templates/SupYCtrol/IntegracionOperaciones/SimulacionMateriales.html
        """
        Restricted_Access = False
        UserID = session.get('user_id')
        ruta = "/SupYCtrol/IngenieroControl/ModuloValidacionScore.html"
        return check_user_access(UserID, ruta,Restricted_Access)
        #return render_template("/SupYCtrol/IngenieroControl/ModuloValidacionScore.html")
    
    ejecutar_validacion_score(app, mail)
    
    @app.route("/SyC/IngenieroControl/ModuloActualizacionScore")
    def Actualizacion_Score():                    
        """
        Renderiza la página del menú de IngenieroControlMenu.
        Archivo: menu.html
        Ruta: src/templates/SupYCtrol/IngenieroControl/ActualizarScore.html.html
        """
        Restricted_Access = False
        UserID = session.get('user_id')
        ruta = "/SupYCtrol/IngenieroControl/ActualizarScore.html"
        return check_user_access(UserID, ruta,Restricted_Access)
        #return render_template("/SupYCtrol/IngenieroControl/ActualizarScore.html.html")
    
    ejecutar_actualizacion_score(app, mail)

