Example #1
0
        override protected string toHTMLContenido(int nivel, Propuesta prop, Grupo g, string email, int width)
        {
            string  ret         = "";
            Usuario u           = g.getUsuarioHabilitado(email);
            bool    tieneFlores = false;

            if (u != null)
            {
                tieneFlores = u.floresDisponibles().Count > 0;
            }

            bool editar = (prop == null && tieneFlores && modo != eModo.prevista && modo != eModo.consenso) ||
                          (prop != null && prop.esPrevista() && (modo == eModo.revisar || modo == eModo.editar));

            editar = editar && !consensoAlcanzado;
            bool puedeVariante = prop != null && !prop.esPrevista() && modo == eModo.editar && tieneFlores && !consensoAlcanzado;


            //validaciones de este nivel
            validar(prop);

            if (nivel == 1)
            {
                ret += HTMLEncabezado(prop, g, email, width);

                //tema
                ret += "<div class='tema'>" + Tools.tr("evento.introduccion.titulo", g.idioma) + "</div>";
                if (editar)
                {
                    ret += "<div class='smalltip'>"
                           + Tools.tr("evento.introduccion.tip", g.idioma)
                           + "</div>";
                }

                ret += HTMLArea("s.introduccion", prop, width, 120, tieneFlores, g.idioma);

                //variante
                if (puedeVariante)
                {
                    ret += HTMLVariante(prop.nodoID, g);
                }
            }
            else if (nivel == 2)
            {
                //Objetivo a lograr
                ret += "<div class='tema'>" + Tools.tr("evento.objetivo.titulo", g.idioma) + "</div>";
                if (editar)
                {
                    ret += "<div class='smalltip'>"
                           + Tools.tr("evento.objetivo.tip", g.idioma)
                           + "</div>";
                }

                ret += HTMLArea("s.objetivo", prop, width, 120, tieneFlores, g.idioma);

                //Descripcion
                ret += "<div class='tema'>" + Tools.tr("evento.descripcion.titulo", g.idioma) + "</div>";
                if (editar)
                {
                    ret += "<div class='smalltip'>"
                           + Tools.tr("evento.descripcion.tip", g.idioma)
                           + "</div>";
                }

                ret += HTMLArea("s.descripcion", prop, width, 120, tieneFlores, g.idioma);

                //A quien va dirigido
                ret += "<div class='tema'>" + Tools.tr("evento.aquien.titulo", g.idioma) + "</div>";
                if (editar)
                {
                    ret += "<div class='smalltip'>"
                           + Tools.tr("evento.aquien.tip", g.idioma)
                           + "</div>";
                }

                ret += HTMLArea("s.aquien", prop, width, 120, tieneFlores, g.idioma);

                //variante
                if (puedeVariante)
                {
                    ret += HTMLVariante(prop.nodoID, g);
                }
            }
            else if (nivel == 3)
            {
                //Materiales
                ret += "<div class='tema'>" + Tools.tr("evento.lugar.titulo", g.idioma) + "</div>";
                if (editar)
                {
                    ret += "<div class='smalltip'>"
                           + Tools.tr("evento.lugar.tip", g.idioma)
                           + "</div>";
                }

                ret += HTMLArea("s.lugar", prop, width, 120, tieneFlores, g.idioma);

                //RRHH
                ret += "<div class='tema'>" + Tools.tr("evento.materiales.titulo", g.idioma) + "</div>";
                if (editar)
                {
                    ret += "<div class='smalltip'>"
                           + Tools.tr("evento.materiales.tip", g.idioma)
                           + "</div>";
                }

                ret += HTMLArea("s.materiales", prop, width, 120, tieneFlores, g.idioma);

                //Otros
                ret += "<div class='tema'>" + Tools.tr("evento.transportes.titulo", g.idioma) + "</div>";
                if (editar)
                {
                    ret += "<div class='smalltip'>"
                           + Tools.tr("evento.transportes.tip", g.idioma)
                           + "</div>";
                }

                ret += HTMLArea("s.transporte", prop, width, 120, tieneFlores, g.idioma);

                //variante
                if (puedeVariante)
                {
                    ret += HTMLVariante(prop.nodoID, g);
                }
            }
            else if (nivel == 4)
            {
                ret += "<div class='tema'>" + Tools.tr("evento.organizacion.titulo", g.idioma) + "</div>";
                if (editar)
                {
                    ret += "<div class='smalltip'>"
                           + Tools.tr("evento.organizacion.tip", g.idioma)
                           + "</div>";
                }

                ret += HTMLArea("s.organizacion", prop, width, 120, tieneFlores, g.idioma);

                //responsable lista de seleccion de usuarios
                ret += "<div class='tema'>" + Tools.tr("evento.responsable.titulo", g.idioma) + "</div>";
                if (editar)
                {
                    ret += "<div class='smalltip'>"
                           + Tools.tr("evento.responsable.tip", g.idioma)
                           + "</div>";
                }
                string lista = "|";
                foreach (Usuario u2 in g.usuarios)
                {
                    lista += u2.email + "#" + u2.nombre + "|";
                }
                lista = lista.Substring(0, lista.Length - 1);
                ret  += HTMLLista("s.responsable", lista, prop, 250, tieneFlores, g.idioma);
                ret  += "<br>";
                ret  += "<br>";

                //fecha
                ret += "<div class='tema'></div>";
                ret += Tools.tr("evento.fecha.titulo", g.idioma);
                ret += HTMLDate("d.fecha", prop, tieneFlores, g.idioma);
                if (editar)
                {
                    ret += "<span class='smalltip'>"
                           + Tools.tr("evento.fecha.tip", g.idioma)
                           + "</span>";
                }
                ret += "</div>";

                //variante
                if (puedeVariante)
                {
                    ret += HTMLVariante(prop.nodoID, g);
                }
            }
            else if (nivel == 5)
            {
                ret += "<div class='tema'>" + Tools.tr("evento.valoracion.titulo", g.idioma) + "</div>";
                if (editar)
                {
                    ret += "<div class='smalltip'>"
                           + Tools.tr("evento.valoracion.tip", g.idioma)
                           + "</div>";
                }

                ret += HTMLArea("s.eficiencia", prop, width, 120, tieneFlores, g.idioma);

                //variante
                if (puedeVariante)
                {
                    ret += HTMLVariante(prop.nodoID, g);
                }
            }
            else
            {
                throw new Exception("Nivel [" + nivel + "] no existe en este modelo");
            }

            if (prop != null)
            {
                prop.niveles = niveles;               //esto es importante si cambian los niveles para que se traspase luego al nodo
            }
            //fin nivel
            if (prop != null && prop.nodoID != 0 && modo != eModo.consenso)
            {
                ret += HTMLFlores(g.arbol.getNodo(prop.nodoID), false, g.getUsuario(email));
            }

            //mensajes de error
            if (errores.ContainsKey(nivel))
            {
                ret += "<div class='error'>" + errores[nivel] + "</div>";
            }
            return(ret);
        }
Example #2
0
        protected override string toHTMLContenido(int nivel, Propuesta prop, Grupo g, string email, int width)
        {
            string ret = "";
            Usuario u = g.getUsuario(email);
            bool tieneFlores = false;
            if (u != null) tieneFlores = u.floresDisponibles().Count > 0;

            bool editar = (prop == null && tieneFlores && modo != eModo.prevista && modo != eModo.consenso)
                || (prop != null && prop.esPrevista() && (modo == eModo.revisar || modo == eModo.editar));
            editar = editar && !consensoAlcanzado;
            bool puedeVariante = prop != null && !prop.esPrevista() && modo == eModo.editar && tieneFlores;

            //validaciones de este nivel
            validar(prop);

            if (nivel == 1)
            {
                titulo = (string)getValue("s.titulo", prop);
                etiqueta = "Manifiesto";

                //titulo
                ret += "<div class='titulo1'><nobr>" + nombre + ":" + txt("s.titulo", prop, width - 250, tieneFlores) + "</nobr></div>";

                //etiqueta
                ret += "<div class='titulo2'><nobr>" + tr("Etiqueta") + ": Manifiesto ";
                if (prop == null)
                    ret += "<span style='color:gray;font-size:12px;'>" + tr("(Etiqueta en el arbol)") + "</span>";
                ret += "</nobr></div>";

                //fecha
                if (modo == eModo.consenso)
                    ret += "<div class='titulo2'><nobr>" + tr("Fecha") + ":" + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString() + "</nobr></div>";

                //tema
                ret += "<div class='tema'>" + tr("Visi&oacute;n") + "</div>";
                if (editar)
                    ret += "<div class='smalltip' style='width:" + width + "px'>" + tr("La vision") + "</div>";

                ret += area("s.vision", prop, width, 120, tieneFlores);
            }
            else if (nivel == 2)
            {
                //Mision
                ret += "<div class='tema'>" + tr("Mision") + "</div>";
                if (editar)
                    ret += "<div class='smalltip' style='width:" + width + "px'>" + tr("Mision") + "</div>";

                ret += area("s.mision", prop, width, 120, tieneFlores);

                //variante
                if (puedeVariante)
                    ret += "<div style='width:" + width + "px;text-align:right;'><input type='button' class='btn' value='" + tr("Proponer variante") + "' onclick='doVariante(" + prop.nodoID + ")'></div>";

            }
            else if (nivel == 3)
            {
                //Objetivo
                ret += "<div class='tema'>" + tr("Objetivo") + "</div>";
                if (editar)
                    ret += "<div class='smalltip' style='width:" + width + "px'>" + tr("Objetivo") + "</div>";

                ret += area("s.objetivo", prop, width, 120, tieneFlores);

                //variante
                if (puedeVariante)
                    ret += "<div style='width:" + width + "px;text-align:right;'><input type='button' class='btn' value='" + tr("Proponer variante") + "' onclick='doVariante(" + prop.nodoID + ")'></div>";
            }
            else if (nivel == 4)
            {
                ret += "<div class='tema'>" + tr("Servicios") + "</div>";
                if (editar)
                    ret += "<div class='smalltip' style='width:" + width + "px'>" + tr("Servicios") + "</div>";

                ret += area("s.servicios", prop, width, 120, tieneFlores);

                //variante
                if (puedeVariante)
                    ret += "<div style='width:" + width + "px;text-align:right;'><input type='button' class='btn' value='" + tr("Proponer variante") + "' onclick='doVariante(" + prop.nodoID + ")'></div>";
            }
            else
            {
                throw new Exception("Nivel [" + nivel + "] no existe en este modelo");
            }

            //fin nivel
            if (prop != null && prop.nodoID != 0 && modo != eModo.consenso)
                ret += HTMLFlores(g.arbol.getNodo(prop.nodoID), false, g.getUsuario(email));

            //mensajes de error
            if (errores.ContainsKey(nivel))
            {
                ret += "<div class='error' style='width:" + (width-4) + "px'>" + errores[nivel] + "</div>";
            }
            return ret;
        }
Example #3
0
        protected override string toHTMLContenido(int nivel, Propuesta prop, Grupo g, string email, int width)
        {
            string ret = "";
            Usuario u = g.getUsuario(email);
            bool tieneFlores = false;
            if (u != null) tieneFlores = u.floresDisponibles().Count > 0;

            bool editar = (prop == null && tieneFlores && modo != eModo.prevista && modo != eModo.consenso)
                || (prop != null && prop.esPrevista() && (modo == eModo.revisar || modo == eModo.editar));
            editar = editar && !consensoAlcanzado;
            bool puedeVariante = prop != null && !prop.esPrevista() && modo == eModo.editar && tieneFlores;

            //validaciones de este nivel
            validar(prop);

            if (nivel == 1)
            {
                titulo = (string)getValue("s.titulo", prop);
                etiqueta = (string)getValue("s.etiqueta", prop);

                //titulo
                ret += "<div class='titulo1'><nobr>" + nombre + ":" + txt("s.titulo", prop, width - 250, tieneFlores) + "</nobr></div>";

                //etiqueta
                ret += "<div class='titulo2'><nobr>" + tr("Etiqueta") + ":" + txt("s.etiqueta", prop, 20 * 5, tieneFlores);
                if (prop == null)
                    ret += "<span style='color:gray;font-size:12px;'>" + tr("(Etiqueta en el arbol)") + "</span>";
                ret += "</nobr></div>";

                //fecha
                if (modo == eModo.consenso)
                    ret += "<div class='titulo2'><nobr>" + tr("Fecha") + ":" + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString() + "</nobr></div>";

                //tema
                ret += "<div class='tema'>" + tr("Resumen y motivacion") + "</div>";
                if (editar)
                    ret += "<div class='smalltip' style='width:" + width + "px'>" + tr("El consenso es un proceso cooperativo. Somos constructivos con nuestras propuestas y consideramos el bien comun") + "</div>";

                ret += area("s.introduccion", prop, width, 120, tieneFlores);
            }
            else if (nivel == 2)
            {
                //Objetivo a lograr
                ret += "<div class='tema'>" + tr("Objetivo a lograr") + "</div>";
                if (editar)
                    ret += "<div class='smalltip' style='width:" + width + "px'>" + tr("Describe que pretendes que logremos") + "</div>";

                ret += area("s.objetivo", prop, width, 120, tieneFlores);

                //Descripcion
                ret += "<div class='tema'>" + tr("Descripcion") + "</div>";
                if (editar)
                    ret += "<div class='smalltip' style='width:" + width + "px'>" + tr("Describe con mayor detalle como sera") + "</div>";

                ret += area("s.descripcion", prop, width, 120, tieneFlores);

                //A quien va dirigido
                ret += "<div class='tema'>" + tr("A quien va dirigido") + "</div>";
                if (editar)
                    ret += "<div class='smalltip' style='width:" + width + "px'>" + tr("Quienes se beneficiaran") + "</div>";

                ret += area("s.aquien", prop, width, 120, tieneFlores);

                //variante
                if (puedeVariante)
                    ret += "<div style='width:" + width + "px;text-align:right;'><input type='button' class='btn' value='" + tr("Proponer variante") + "' onclick='doVariante(" + prop.nodoID + ")'></div>";

            }
            else if (nivel == 3)
            {
                //Materiales
                ret += "<div class='tema'>" + tr("Materiales") + "</div>";
                if (editar)
                    ret += "<div class='smalltip' style='width:" + width + "px'>" + tr("Describe los recursos que seran necesarios sin olvidar un presupuesto estimado") + "</div>";

                ret += area("s.materiales", prop, width, 120, tieneFlores);

                //Software
                ret += "<div class='tema'>" + tr("Software") + "</div>";
                if (editar)
                    ret += "<div class='smalltip' style='width:" + width + "px'>" + tr("Describe los recursos que seran necesarios sin olvidar un presupuesto estimado") + "</div>";

                ret += area("s.software", prop, width, 120, tieneFlores);

                //RRHH
                ret += "<div class='tema'>" + tr("RRHH") + "</div>";
                if (editar)
                    ret += "<div class='smalltip' style='width:" + width + "px'>" + tr("Describe los recursos que seran necesarios sin olvidar un presupuesto estimado") + "</div>";

                ret += area("s.rrhh", prop, width, 120, tieneFlores);

                //variante
                if (puedeVariante)
                    ret += "<div style='width:" + width + "px;text-align:right;'><input type='button' class='btn' value='" + tr("Proponer variante") + "' onclick='doVariante(" + prop.nodoID + ")'></div>";
            }
            else if (nivel == 4)
            {
                ret += "<div class='tema'>" + tr("Fases") + "</div>";
                if (editar)
                    ret += "<div class='smalltip' style='width:" + width + "px'>" + tr("Describe las fases que se deben alcanzar para lograr el objetivo") + "</div>";

                ret += area("s.fases", prop, width, 120, tieneFlores);

                //variante
                if (puedeVariante)
                    ret += "<div style='width:" + width + "px;text-align:right;'><input type='button' class='btn' value='" + tr("Proponer variante") + "' onclick='doVariante(" + prop.nodoID + ")'></div>";
            }
            else if (nivel == 5)
            {
                ret += "<div class='tema'>" + tr("Presupuesto y plazo de entrega") + "</div>";
                if (editar)
                    ret += "<div class='smalltip' style='width:" + width + "px'>" + tr("Estimaci&oacute;n") + "</div>";

                ret += area("s.presupuesto", prop, width, 120, tieneFlores);

                //variante
                if (puedeVariante)
                    ret += "<div style='width:" + width + "px;text-align:right;'><input type='button' class='btn' value='" + tr("Proponer variante") + "' onclick='doVariante(" + prop.nodoID + ")'></div>";
            }
            else
            {
                throw new Exception("Nivel [" + nivel + "] no existe en este modelo");
            }

            //fin nivel
            if (prop != null && prop.nodoID != 0 && modo != eModo.consenso)
                ret += HTMLFlores(g.arbol.getNodo(prop.nodoID), false, g.getUsuario(email));

            //mensajes de error
            if (errores.ContainsKey(nivel))
            {
                ret += "<div class='error' style='width:" + (width-4) + "px'>" + errores[nivel] + "</div>";
            }
            return ret;
        }
Example #4
0
        override protected string toHTMLContenido(int nivel, Propuesta prop, Grupo g, string email, int width)
        {
            string  ret         = "";
            Usuario u           = g.getUsuario(email);
            bool    tieneFlores = false;

            if (u != null)
            {
                tieneFlores = u.floresDisponibles().Count > 0;
            }

            bool editar = (prop == null && tieneFlores && modo != eModo.prevista && modo != eModo.consenso) ||
                          (prop != null && prop.esPrevista() && (modo == eModo.revisar || modo == eModo.editar));

            editar = editar && !consensoAlcanzado;
            bool puedeVariante = prop != null && !prop.esPrevista() && modo == eModo.editar && tieneFlores && !consensoAlcanzado;


            //accion
            if (prop != null)
            {
                if (getText("r.accion", prop) != "")
                {
                    accion = getText("r.accion", prop);
                }
                else
                {
                    prop.bag["r.accion"] = accion;
                }
            }
            if (accion == "borrar")
            {
                niveles = 3;
            }
            else
            {
                niveles = 5;
            }

            //validaciones de este nivel
            if (modo == eModo.prevista)
            {
                validar(prop);
            }

            if (nivel == 1)
            {
                ret += HTMLEncabezado(prop, g, email, width);

                //tema
                ret += "<div class='tema'>" + Tools.tr("Introduccion", g.idioma) + "</div>";
                if (editar)
                {
                    ret += "<div class='smalltip'>"
                           + Tools.tr("proceso.introduccion", g.idioma)
                           + "</div>";
                }
                ret += HTMLArea("s.introduccion", prop, width, 120, tieneFlores, g.idioma);

                //variante
                if (puedeVariante)
                {
                    ret += HTMLVariante(prop.nodoID, g);
                }
            }
            else if (nivel == 2)
            {
                if (accion == "borrar")
                {
                    ret += "<div class='tema'>" + Tools.tr("Consecuencias", g.idioma) + "</div>";
                    if (editar)
                    {
                        ret += "<div class='smalltip'>"
                               + Tools.tr("proceso.consecuancias", g.idioma)
                               + "</div>";
                    }
                    ret += HTMLArea("s.consecuencias", prop, width, 120, tieneFlores, g.idioma);
                }
                else
                {
                    //Objetivo a lograr
                    ret += "<div class='tema'>" + Tools.tr("Objetivo a lograr", g.idioma) + "</div>";
                    if (editar)
                    {
                        ret += "<div class='smalltip'>"
                               + Tools.tr("proceso.objetivo", g.idioma)
                               + "</div>";
                    }
                    ret += HTMLArea("s.objetivo", prop, width, 120, tieneFlores, g.idioma);

                    //Descripcion
                    ret += "<div class='tema'>" + Tools.tr("Descripcion", g.idioma) + "</div>";
                    if (editar)
                    {
                        ret += "<div class='smalltip'>"
                               + Tools.tr("proceso.descripcion", g.idioma)
                               + "</div>";
                    }
                    ret += HTMLArea("s.descripcion", prop, width, 120, tieneFlores, g.idioma);

                    //A quien va dirigido
                    ret += "<div class='tema'>" + Tools.tr("A quien va dirigido", g.idioma) + "</div>";
                    if (editar)
                    {
                        ret += "<div class='smalltip'>"
                               + Tools.tr("Quienes se beneficiaran con los resultados de utilizar este proceso operativo", g.idioma)
                               + "</div>";
                    }
                    ret += HTMLArea("s.aquien", prop, width, 120, tieneFlores, g.idioma);

                    //variante
                    if (puedeVariante)
                    {
                        ret += HTMLVariante(prop.nodoID, g);
                    }
                }
            }
            else if (nivel == 3)
            {
                if (accion == "borrar")
                {
                    ret += "<div class='tema'>" + Tools.tr("Conclusiones", g.idioma) + "</div>";
                    if (editar)
                    {
                        ret += "<div class='smalltip'>"
                               + Tools.tr("proceso.conclusiones", g.idioma)
                               + "</div>";
                    }
                    ret += HTMLArea("s.conclusiones", prop, width, 120, tieneFlores, g.idioma);
                }
                else
                {
                    //Entradas de proceso
                    ret += "<div class='tema'>" + Tools.tr("Entradas de proceso", g.idioma) + "</div>";
                    if (editar)
                    {
                        ret += "<div class='smalltip'>"
                               + Tools.tr("proceso.entradas", g.idioma)
                               + "</div>";
                    }
                    ret += HTMLArea("s.entradas", prop, width, 120, tieneFlores, g.idioma);

                    //definicion
                    ret += "<div class='tema'>" + Tools.tr("Definicion del proceso operativo", g.idioma) + "</div>";
                    if (editar)
                    {
                        ret += "<div class='smalltip'>"
                               + Tools.tr("proceso.definicion", g.idioma)
                               + "</div>";
                    }
                    ret += HTMLArea("s.definicion", prop, width, 120, tieneFlores, g.idioma);
                }

                //variante
                if (puedeVariante)
                {
                    ret += HTMLVariante(prop.nodoID, g);
                }
            }
            else if (nivel == 4)
            {
                //guardo la accion en cada nivel porque su representacion depende de este valor
                if (prop != null && accion != "")
                {
                    prop.bag["r.accion"] = accion;
                }
                else if (prop != null && accion == "" && prop.bag.ContainsKey("r.accion"))
                {
                    accion = getText("r.accion", prop);
                }

                if (accion == "nuevo")
                {
                    //grupo de trabajo
                    ret += "<div class='tema'>" + Tools.tr("Grupo de trabajo", g.idioma) + "</div>";
                    if (editar)
                    {
                        ret += "<div class='smalltip'>"
                               + Tools.tr("proceso.grupo", g.idioma)
                               + "</div>";
                    }
                    ret += HTMLLista("s.grupoTrabajo", getListaGTs(), prop, width, tieneFlores, g.idioma);
                }

                //implantacion
                ret += "<div class='tema'>" + Tools.tr("Implantacion", g.idioma) + "</div>";
                if (editar)
                {
                    ret += "<div class='smalltip'>"
                           + Tools.tr("proceso.implantacion", g.idioma)
                           + "</div>";
                }
                ret += HTMLArea("s.implantacion", prop, width, 120, tieneFlores, g.idioma);

                //variante
                if (puedeVariante)
                {
                    ret += HTMLVariante(prop.nodoID, g);
                }
            }
            else if (nivel == 5)
            {
                ret += "<div class='tema'>" + Tools.tr("Valoracion del resultado", g.idioma) + "</div>";
                if (editar)
                {
                    ret += "<div class='smalltip'>"
                           + Tools.tr("proceso.valoracion", g.idioma)
                           + "</div>";
                }
                ret += HTMLArea("s.eficiencia", prop, width, 120, tieneFlores, g.idioma);

                ret += "<div class='tema'>" + Tools.tr("Revision de valoracion del resultado", g.idioma) + "</div>";
                if (editar)
                {
                    ret += "<div class='smalltip'>"
                           + Tools.tr("proceso.revision", g.idioma)
                           + "</div>";
                }
                ret += HTMLLista("s.revision", "|Mensual|Trimestral|Semestral|Anual", prop, 250, tieneFlores, g.idioma);

                //variante
                if (puedeVariante)
                {
                    ret += HTMLVariante(prop.nodoID, g);
                }
            }
            else
            {
                throw new Exception("Nivel [" + nivel + "] no existe en este modelo");
            }

            if (prop != null)
            {
                prop.niveles = niveles;               //esto es importante si cambian los niveles para que se traspase luego al nodo
            }
            //fin nivel
            if (prop != null && prop.nodoID != 0 && modo != eModo.consenso)
            {
                ret += HTMLFlores(g.arbol.getNodo(prop.nodoID), false, g.getUsuario(email));
            }

            //mensajes de error
            if (errores.ContainsKey(nivel))
            {
                ret += "<div class='error'>" + errores[nivel] + "</div>";
            }
            return(ret);
        }
Example #5
0
File: Acta.cs Project: ogvilla/nabu
        override protected string toHTMLContenido(int nivel, Propuesta prop, Grupo g, string email, int width)
        {
            string  ret         = "";
            Usuario u           = g.getUsuario(email);
            bool    tieneFlores = false;

            if (u != null)
            {
                tieneFlores = u.floresDisponibles().Count > 0;
            }

            bool editar = (prop == null && tieneFlores && modo != eModo.prevista && modo != eModo.consenso) ||
                          (prop != null && prop.esPrevista() && (modo == eModo.revisar || modo == eModo.editar));

            editar = editar && !consensoAlcanzado;
            bool puedeVariante = prop != null && !prop.esPrevista() && modo == eModo.editar && tieneFlores && !consensoAlcanzado && u.isSecretaria;


            //validaciones de este nivel
            validar(prop, g.idioma);

            if (nivel == 1)
            {
                ret += HTMLEncabezado(prop, g, email, width);

                //fecha
                if (modo == eModo.consenso)
                {
                    ret += "<div class='titulo2'><nobr>" + Tools.tr("Fecha", g.idioma) + ":" + DateTime.Now.ToString("dd/MM/yy") + " " + DateTime.Now.ToShortTimeString() + "</nobr></div>";
                }

                //fecha
                ret += "<div class='tema'>" + Tools.tr("Fecha celebracion", g.idioma) + "</div>";
                ret += HTMLDate("d.fecha", prop, tieneFlores, g.idioma);
                ret += "<br>";
                ret += "<br>";

                //fecha proxima reunion
                ret += "<div class='tema'>" + Tools.tr("Fecha proxima celebracion", g.idioma) + "</div>";
                ret += HTMLDate("d.fechaProxima", prop, tieneFlores, g.idioma);
                ret += "<br>";
                ret += "<br>";

                //lugar
                ret += "<div class='tema'>" + Tools.tr("Lugar", g.idioma) + "</div>";
                ret += HTMLText("s.lugar", prop, width, tieneFlores, g.idioma);
                ret += "<br>";
                ret += "<br>";

                //participan
                ret += "<div class='tema'>" + Tools.tr("Participantes", g.idioma) + "</div>";
                //lista de seleccion de usuarios
                string lista = "";
                foreach (Usuario u2 in g.usuarios)
                {
                    lista += u2.email + ":" + u2.nombre + "|";
                }
                lista = lista.Substring(0, lista.Length - 1);
                ret  += HTMLListaSeleccion("s.participan", prop, width - 150, 250, tieneFlores, lista,
                                           Tools.tr("Presente", g.idioma),
                                           Tools.tr("NO presente", g.idioma),
                                           g.idioma);

                //apertura
                ret += "<div class='tema'>" + Tools.tr("acta.apertura.titulo", g.idioma) + "</div>";
                if (editar)
                {
                    ret += "<div class='smalltip'>" + Tools.tr("acta.apertura.tip", g.idioma) + "</div>";
                }
                ret += HTMLArea("s.apertura", prop, width, 290, tieneFlores, g.idioma);

                //Aspectos logisticos
                ret += "<div class='tema'>" + Tools.tr("acta.logisticos.titulo", g.idioma) + "</div>";
                if (editar)
                {
                    ret += "<div class='smalltip'>" + Tools.tr("acta.logisticos.tip", g.idioma) + "</div>";
                }
                ret += HTMLArea("s.logisticos", prop, width, 290, tieneFlores, g.idioma);
                ret += "<br>";

                //Orden del dia
                ret += "<div class='tema'>" + Tools.tr("acta.ordendeldia.titulo", g.idioma) + "</div>";
                if (editar)
                {
                    ret += "<div class='smalltip'>" + Tools.tr("acta.ordendeldia.tip", g.idioma) + "</div>";
                }
                ret += HTMLArea("s.ordendeldia", prop, width, 290, tieneFlores, g.idioma);

                //temas
                float temas = 0;
                if (prop != null)
                {
                    temas = float.Parse(prop.bag["f.temas"].ToString());
                    if (temas > 10)
                    {
                        temas = 10;
                    }
                    for (int q = 0; q < temas; q++)
                    {
                        ret += "<div class='tema'>" + Tools.tr("Tema", g.idioma) + " " + (q + 1) + ":" + HTMLText("s.tituloTema" + q, prop, 70 * 8, tieneFlores, g.idioma) + "</div>";
                        ret += HTMLArea("s.textoTema" + q, prop, width, 220, tieneFlores, g.idioma);
                    }
                }
                if (editar && temas < 10)
                {
                    ret += "<input type='button' class='btn' value='" + Tools.tr("Agregar tema", g.idioma) + "' onclick=\"documentSubmit('agregarTema','')\">";
                }
                ret += "<input type='hidden' id='f.temas' value='" + temas.ToString("0") + "'>"; //guardo valor de Temas en el propio documento
                ret += "<br>";
                ret += "<br>";

                //Evaluacion
                ret += "<div class='tema'>" + Tools.tr("acta.evaluacion.titulo", g.idioma) + "</div>";
                if (editar)
                {
                    ret += "<div class='smalltip'>" + Tools.tr("acta.evaluacion.tip", g.idioma) + "</div>";
                }
                ret += HTMLArea("s.evaluacion", prop, width, 290, tieneFlores, g.idioma);
                ret += "<br>";

                //variante
                if (puedeVariante)
                {
                    ret += HTMLVariante(prop.nodoID, g);
                }
            }
            else
            {
                throw new Exception(Tools.tr("Nivel [%1] no existe en este modelo", nivel.ToString(), g.idioma));
            }

            if (prop != null)
            {
                prop.niveles = niveles;               //esto es importante si cambian los niveles para que se traspase luego al nodo
            }
            //fin nivel
            if (prop != null && prop.nodoID != 0 && modo != eModo.consenso)
            {
                ret += HTMLFlores(g.arbol.getNodo(prop.nodoID), false, g.getUsuario(email));
            }

            //mensajes de error
            if (errores.ContainsKey(nivel))
            {
                ret += "<div class='error'>" + errores[nivel] + "</div>";
            }
            return(ret);
        }
Example #6
0
        override protected string toHTMLContenido(int nivel, Propuesta prop, Grupo g, string email, int width)
        {
            string  ret         = "";
            Usuario u           = g.getUsuario(email);
            bool    tieneFlores = false;

            if (u != null)
            {
                tieneFlores = u.floresDisponibles().Count > 0;
            }

            bool editar = (prop == null && tieneFlores && modo != eModo.prevista && modo != eModo.consenso) ||
                          (prop != null && prop.esPrevista() && (modo == eModo.revisar || modo == eModo.editar));

            editar = editar && !consensoAlcanzado;
            bool puedeVariante = prop != null && !prop.esPrevista() && modo == eModo.editar && tieneFlores && !consensoAlcanzado;


            //validaciones de este nivel
            validar(prop, g.idioma);

            if (nivel == 1)
            {
                ret += HTMLEncabezado(prop, g, email, width);

                if (g.hijos.Count == 0)
                {
                    ret += "<div class='titulo1'>" + Tools.tr("No hay grupos hijos en este grupo", g.idioma) + "</div>";
                }
                else
                {
                    //hijo
                    string listahijos = "|";
                    foreach (Hijo h in g.hijos)
                    {
                        listahijos += h.nombre + "|";
                    }

                    ret += "<div class='titulo2'>" + Tools.tr("Comunicado al grupo hijo", g.idioma) + ":" + HTMLLista("s.hijonombre", listahijos, prop, 250, tieneFlores, g.idioma) + "</div>";

                    //fiho url
                    if (getText("s.hijonombre", prop) != "")
                    {
                        foreach (Hijo h in g.hijos)
                        {
                            if (h.nombre == getText("s.hijonombre", prop))
                            {
                                prop.bag["s.hijourl"] = h.URL;
                            }
                        }
                    }

                    //tema
                    ret += "<div class='tema'>" + Tools.tr("alhijo.introduccion.titulo", g.idioma) + "</div>";
                    if (editar)
                    {
                        ret += "<div class='smalltip'>"
                               + Tools.tr("alhijo.introduccion.tip", g.idioma)
                               + "</div>";
                    }

                    ret += HTMLArea("s.introduccion", prop, width, 120, tieneFlores, g.idioma);

                    //variante
                    if (puedeVariante)
                    {
                        ret += HTMLVariante(prop.nodoID, g);
                    }
                }
            }
            else if (nivel == 2)
            {
                if (g.hijos.Count != 0)
                {
                    //Mision
                    ret += "<div class='tema'>" + Tools.tr("alhijo.situacionactual.titulo", g.idioma) + "</div>";
                    if (editar)
                    {
                        ret += "<div class='smalltip'>" + Tools.tr("alhijo.situacionactual.tip", g.idioma) + "</div>";
                    }

                    ret += HTMLArea("s.situacionactual", prop, width, 290, tieneFlores, g.idioma);

                    //variante
                    if (puedeVariante)
                    {
                        ret += HTMLVariante(prop.nodoID, g);
                    }
                }
            }
            else if (nivel == 3)
            {
                if (g.hijos.Count != 0)
                {
                    //Objetivo
                    ret += "<div class='tema'>" + Tools.tr("alhijo.propuesta.titulo", g.idioma) + "</div>";
                    if (editar)
                    {
                        ret += "<div class='smalltip'>" + Tools.tr("alhijo.propuesta.tip", g.idioma) + "</div>";
                    }

                    ret += HTMLArea("s.propuesta", prop, width, 290, tieneFlores, g.idioma);

                    //variante
                    if (puedeVariante)
                    {
                        ret += HTMLVariante(prop.nodoID, g);
                    }
                }
            }
            else if (nivel == 4)
            {
                if (g.hijos.Count != 0)
                {
                    ret += "<div class='tema'>" + Tools.tr("alhijo.situaciondeseada.titulo", g.idioma) + "</div>";
                    if (editar)
                    {
                        ret += "<div class='smalltip'>" + Tools.tr("alhijo.situaciondeseada.tip", g.idioma) + "</div>";
                    }

                    ret += HTMLArea("s.situaciondeseada", prop, width, 550, tieneFlores, g.idioma);

                    //variante
                    if (puedeVariante)
                    {
                        ret += HTMLVariante(prop.nodoID, g);
                    }
                }
            }
            else
            {
                throw new Exception(Tools.tr("Nivel [%1] no existe en este modelo", nivel.ToString(), g.idioma));
            }

            if (prop != null)
            {
                prop.niveles = niveles;               //esto es importante si cambian los niveles para que se traspase luego al nodo
            }
            //fin nivel
            if (prop != null && prop.nodoID != 0 && modo != eModo.consenso)
            {
                ret += HTMLFlores(g.arbol.getNodo(prop.nodoID), false, g.getUsuario(email));
            }

            //mensajes de error
            if (errores.ContainsKey(nivel))
            {
                ret += "<div class='error'>" + errores[nivel] + "</div>";
            }
            return(ret);
        }
Example #7
0
        override protected string toHTMLContenido(int nivel, Propuesta prop, Grupo g, string email, int width)
        {
            string  ret         = "";
            Usuario u           = g.getUsuario(email);
            bool    tieneFlores = false;

            if (u != null)
            {
                tieneFlores = u.floresDisponibles().Count > 0;
            }

            bool editar = (prop == null && tieneFlores && modo != eModo.prevista && modo != eModo.consenso) ||
                          (prop != null && prop.esPrevista() && (modo == eModo.revisar || modo == eModo.editar));

            editar = editar && !consensoAlcanzado;
            bool puedeVariante = prop != null && !prop.esPrevista() && modo == eModo.editar && tieneFlores && !consensoAlcanzado;

            //validaciones de este nivel
            if (modo == eModo.prevista)
            {
                validar(prop);
            }

            //donde, que, quemas, costo
            if (prop != null)
            {
                if (getText("r.donde", prop) != "")
                {
                    donde = getText("r.donde", prop);
                }
                else
                {
                    prop.bag["r.donde"] = donde;
                }

                if (getText("r.que", prop) != "")
                {
                    que = getText("r.que", prop);
                }
                else
                {
                    prop.bag["r.que"] = que;
                }

                if (getText("r.quemas", prop) != "")
                {
                    quemas = getText("r.quemas", prop);
                }
                else
                {
                    prop.bag["r.quemas"] = quemas;
                }
            }

            if (nivel == 1)
            {
                ret += HTMLEncabezado(prop, g, email, width);

                //titulo
                ret += "<div class='titulo2'><nobr>" + Tools.tr("Titulo", g.idioma) + ":" + HTMLText("s.titulo", prop, 60 * 8, tieneFlores, g.idioma) + "</nobr></div>";

                //etiqueta
                ret += "<div class='titulo3'><nobr>" + Tools.tr("Etiqueta", g.idioma) + ":" + HTMLText("s.etiqueta", prop, 20 * 5, tieneFlores, g.idioma);
                if (prop == null)
                {
                    ret += "<span style='color:gray;font-size:12px;'>" + Tools.tr("(Etiqueta en el arbol)", g.idioma) + "</span>";
                }
                ret += "</nobr></div><br><br>";
            }
            else if (nivel == 2)
            {
                //donde
                ret += "<div class='tema'><nobr>" + Tools.tr("Donde vamos?", g.idioma) + "</nobr></div>";
                ret += "<div>" + HTMLRadio("r.donde", 1, prop, tieneFlores, "Casa", g.idioma) + " " + Tools.tr("Nos quedamos en casa", g.idioma) + "</div>";
                ret += "<div>" + HTMLRadio("r.donde", 2, prop, tieneFlores, "Nacional", g.idioma) + " " + Tools.tr("Viaje nacional", g.idioma) + "</div>";
                ret += "<div>" + HTMLRadio("r.donde", 3, prop, tieneFlores, "Internacional", g.idioma) + " " + Tools.tr("Viaje internacional", g.idioma) + "</div>";
                ret += "<br>";

                //variante
                if (puedeVariante)
                {
                    ret += HTMLVariante(prop.nodoID, g);
                }
            }
            else if (nivel == 3)
            {
                ret += "<div class='tema'><nobr>" + Tools.tr("Que hacemos?", g.idioma) + "</nobr></div>";

                if (donde == "Casa")
                {
                    //que
                    ret += "<div>" + HTMLRadio("r.que", 1, prop, tieneFlores, "Pasear", g.idioma) + " " + Tools.tr("Pasear y descansar", g.idioma) + "</div>";
                    ret += "<div>" + HTMLRadio("r.que", 2, prop, tieneFlores, "Tele", g.idioma) + " " + Tools.tr("Ver tele en el sofa", g.idioma) + "</div>";
                    ret += "<div>" + HTMLRadio("r.que", 3, prop, tieneFlores, "Arreglar", g.idioma) + " " + Tools.tr("Arreglar cosas de la casa", g.idioma) + "</div>";
                }
                else if (donde == "Nacional")
                {
                    //que
                    ret += "<div>" + HTMLRadio("r.que", 1, prop, tieneFlores, "Galicia", g.idioma) + " " + Tools.tr("Galicia", g.idioma) + "</div>";
                    ret += "<div>" + HTMLRadio("r.que", 2, prop, tieneFlores, "Madrid", g.idioma) + " " + Tools.tr("Madrid", g.idioma) + "</div>";
                    ret += "<div>" + HTMLRadio("r.que", 3, prop, tieneFlores, "Cadiz", g.idioma) + " " + Tools.tr("Cadiz", g.idioma) + "</div>";
                }
                else if (donde == "Internacional")
                {
                    //que
                    ret += "<div>" + HTMLRadio("r.que", 1, prop, tieneFlores, "NY", g.idioma) + " " + Tools.tr("Nueva york", g.idioma) + "</div>";
                    ret += "<div>" + HTMLRadio("r.que", 2, prop, tieneFlores, "Thailandia", g.idioma) + " " + Tools.tr("Thailandia", g.idioma) + "</div>";
                    ret += "<div>" + HTMLRadio("r.que", 3, prop, tieneFlores, "Japon", g.idioma) + " " + Tools.tr("Japon", g.idioma) + "</div>";
                }
                ret += "<br>";

                //variante
                if (puedeVariante)
                {
                    ret += HTMLVariante(prop.nodoID, g);
                }
            }
            else if (nivel == 4)
            {
                ret += "<div class='tema'><nobr>" + Tools.tr("Que hacemos? (mas concreto)", g.idioma) + "</nobr></div>";

                if (que == "Pasear")
                {
                    //que
                    ret += "<div>" + HTMLRadio("r.quemas", 1, prop, tieneFlores, "Teatro", g.idioma) + " " + Tools.tr("Teatro y/o cine", g.idioma) + "</div>";
                    ret += "<div>" + HTMLRadio("r.quemas", 2, prop, tieneFlores, "Gratuitos", g.idioma) + " " + Tools.tr("Espectaculos gratuitos", g.idioma) + "</div>";
                    ret += "<div>" + HTMLRadio("r.quemas", 3, prop, tieneFlores, "Parques", g.idioma) + " " + Tools.tr("Parques y sitios naturales", g.idioma) + "</div>";
                }
                else if (que == "Tele")
                {
                    //que
                    ret += "<div>" + HTMLRadio("r.quemas", 1, prop, tieneFlores, "Ficcion", g.idioma) + " " + Tools.tr("Ciancia ficcion", g.idioma) + "</div>";
                    ret += "<div>" + HTMLRadio("r.quemas", 2, prop, tieneFlores, "Documentales", g.idioma) + " " + Tools.tr("Documentales", g.idioma) + "</div>";
                    ret += "<div>" + HTMLRadio("r.quemas", 3, prop, tieneFlores, "Policiales", g.idioma) + " " + Tools.tr("Policiales", g.idioma) + "</div>";
                }
                else if (que == "Arreglar")
                {
                    //que
                    ret += "<div>" + HTMLRadio("r.quemas", 1, prop, tieneFlores, "Limpiar", g.idioma) + " " + Tools.tr("Limpiar la casa", g.idioma) + "</div>";
                    ret += "<div>" + HTMLRadio("r.quemas", 2, prop, tieneFlores, "Cocinar", g.idioma) + " " + Tools.tr("Cocinar para la semana", g.idioma) + "</div>";
                    ret += "<div>" + HTMLRadio("r.quemas", 3, prop, tieneFlores, "Atrasadas", g.idioma) + " " + Tools.tr("Arreglar cosas atrasadas", g.idioma) + "</div>";
                }
                else if (que == "Galicia")
                {
                    //que
                    ret += "<div>" + HTMLRadio("r.quemas", 1, prop, tieneFlores, "Tapas", g.idioma) + " " + Tools.tr("Tapas y sidra", g.idioma) + "</div>";
                    ret += "<div>" + HTMLRadio("r.quemas", 2, prop, tieneFlores, "Playas", g.idioma) + " " + Tools.tr("Playas", g.idioma) + "</div>";
                    ret += "<div>" + HTMLRadio("r.quemas", 3, prop, tieneFlores, "Montaña", g.idioma) + " " + Tools.tr("Montaña", g.idioma) + "</div>";
                }
                else if (que == "Madrid")
                {
                    //que
                    ret += "<div>" + HTMLRadio("r.quemas", 1, prop, tieneFlores, "Tapas", g.idioma) + " " + Tools.tr("Tapas y noche", g.idioma) + "</div>";
                    ret += "<div>" + HTMLRadio("r.quemas", 2, prop, tieneFlores, "Museos", g.idioma) + " " + Tools.tr("Museos y moumentos", g.idioma) + "</div>";
                    ret += "<div>" + HTMLRadio("r.quemas", 3, prop, tieneFlores, "Manifestacion", g.idioma) + " " + Tools.tr("Manifestacion", g.idioma) + "</div>";
                }
                else if (que == "Cadiz")
                {
                    //que
                    ret += "<div>" + HTMLRadio("r.quemas", 1, prop, tieneFlores, "Tapas", g.idioma) + " " + Tools.tr("Tapas y jerez", g.idioma) + "</div>";
                    ret += "<div>" + HTMLRadio("r.quemas", 2, prop, tieneFlores, "Navegar", g.idioma) + " " + Tools.tr("Navegar", g.idioma) + "</div>";
                    ret += "<div>" + HTMLRadio("r.quemas", 3, prop, tieneFlores, "Dormir", g.idioma) + " " + Tools.tr("Dormir la siesta bajo un arbol", g.idioma) + "</div>";
                }
                else if (que == "NY")
                {
                    //que
                    ret += "<div>" + HTMLRadio("r.quemas", 1, prop, tieneFlores, "Recorrer", g.idioma) + " " + Tools.tr("Recorrer la ciudad", g.idioma) + "</div>";
                    ret += "<div>" + HTMLRadio("r.quemas", 2, prop, tieneFlores, "Musicales", g.idioma) + " " + Tools.tr("Musicales", g.idioma) + "</div>";
                    ret += "<div>" + HTMLRadio("r.quemas", 3, prop, tieneFlores, "Negocios", g.idioma) + " " + Tools.tr("Negocios", g.idioma) + "</div>";
                }
                else if (que == "Thailandia")
                {
                    //que
                    ret += "<div>" + HTMLRadio("r.quemas", 1, prop, tieneFlores, "Mochila", g.idioma) + " " + Tools.tr("Mochila y autostop", g.idioma) + "</div>";
                    ret += "<div>" + HTMLRadio("r.quemas", 2, prop, tieneFlores, "Playas", g.idioma) + " " + Tools.tr("Playas turisticas", g.idioma) + "</div>";
                    ret += "<div>" + HTMLRadio("r.quemas", 3, prop, tieneFlores, "Bangkok", g.idioma) + " " + Tools.tr("Bangkok", g.idioma) + "</div>";
                }
                else if (que == "Japon")
                {
                    //que
                    ret += "<div>" + HTMLRadio("r.quemas", 1, prop, tieneFlores, "Conocer", g.idioma) + " " + Tools.tr("Conocer su cultura", g.idioma) + "</div>";
                    ret += "<div>" + HTMLRadio("r.quemas", 2, prop, tieneFlores, "Comprar", g.idioma) + " " + Tools.tr("Comprar tecnologia", g.idioma) + "</div>";
                    ret += "<div>" + HTMLRadio("r.quemas", 3, prop, tieneFlores, "Sexual", g.idioma) + " " + Tools.tr("Turismo sexual", g.idioma) + "</div>";
                }
                ret += "<br>";

                //variante
                if (puedeVariante)
                {
                    ret += HTMLVariante(prop.nodoID, g);
                }
            }
            else if (nivel == 5)
            {
                ret += "<div class='tema'><nobr>" + Tools.tr("Costo asumido por cabeza", g.idioma) + "</nobr></div>";
                ret += HTMLFloat("f.costo", prop, tieneFlores, g.idioma, "0.00");
                ret += "<br>";
                ret += "<br>";

                //fases
                ret += HTMLSeccion("En que gastaremos el dinero", "Excursiones, fiesta nocturna, comidas en familia", "s.gastos", editar, prop, tieneFlores, g);

                //variante
                if (puedeVariante)
                {
                    ret += HTMLVariante(prop.nodoID, g);
                }
            }
            else
            {
                throw new Exception("Nivel [" + nivel + "] no existe en este modelo");
            }

            if (prop != null)
            {
                prop.niveles = niveles;               //esto es importante si cambian los niveles para que se traspase luego al nodo
            }
            //fin nivel
            if (prop != null && prop.nodoID != 0 && modo != eModo.consenso)
            {
                ret += HTMLFlores(g.arbol.getNodo(prop.nodoID), false, g.getUsuario(email));
            }

            //mensajes de error
            if (errores.ContainsKey(nivel))
            {
                ret += "<div class='error'>" + errores[nivel] + "</div>";
            }
            return(ret);
        }
Example #8
0
        override protected string toHTMLContenido(int nivel, Propuesta prop, Grupo g, string email, int width)
        {
            string  ret         = "";
            Usuario u           = g.getUsuario(email);
            bool    tieneFlores = false;

            if (u != null)
            {
                tieneFlores = u.floresDisponibles().Count > 0;
            }

            bool editar = (prop == null && tieneFlores && modo != eModo.prevista && modo != eModo.consenso) ||
                          (prop != null && prop.esPrevista() && (modo == eModo.revisar || modo == eModo.editar));

            editar = editar && !consensoAlcanzado;
            bool puedeVariante = prop != null && !prop.esPrevista() && modo == eModo.editar && tieneFlores && !consensoAlcanzado;

            //accion
            if (prop != null)
            {
                if (getText("r.accion", prop) != "")
                {
                    accion = getText("r.accion", prop);
                }
                else
                {
                    prop.bag["r.accion"] = accion;
                }
            }
            if (accion == "borrar")
            {
                niveles = 3;
            }
            else
            {
                niveles = 5;
            }


            //validaciones de este nivel
            if (modo == eModo.prevista)
            {
                validar(prop);
            }

            if (nivel == 1)
            {
                ret += HTMLEncabezado(prop, g, email, width);

                //tema
                ret += "<div class='tema'>" + Tools.tr("grupoTrabajo.introduccion.titulo", g.idioma) + "</div>";
                if (editar)
                {
                    ret += "<div class='smalltip'>"
                           + Tools.tr("grupoTrabajo.introduccion.tip", g.idioma)
                           + "</div>";
                }
                ret += HTMLArea("s.introduccion", prop, width, 120, tieneFlores, g.idioma);

                //variante
                if (puedeVariante)
                {
                    ret += HTMLVariante(prop.nodoID, g);
                }
            }
            else if (nivel == 2)
            {
                if (accion == "borrar")
                {
                    ret += "<div class='tema'>" + Tools.tr("grupoTrabajo.consecuencias.titulo", g.idioma) + "</div>";
                    if (editar)
                    {
                        ret += "<div class='smalltip'>"
                               + Tools.tr("grupoTrabajo.consecuencias.tip", g.idioma)
                               + "</div>";
                    }
                    ret += HTMLArea("s.consecuencias", prop, width, 120, tieneFlores, g.idioma);
                }
                else
                {
                    //Objetivo a lograr
                    ret += "<div class='tema'>" + Tools.tr("grupoTrabajo.objetivo.titulo", g.idioma) + "</div>";
                    if (editar)
                    {
                        ret += "<div class='smalltip'>"
                               + Tools.tr("grupoTrabajo.objetivo.tip", g.idioma)
                               + "</div>";
                    }
                    ret += HTMLArea("s.objetivo", prop, width, 120, tieneFlores, g.idioma);

                    //Descripcion
                    ret += "<div class='tema'>" + Tools.tr("grupoTrabajo.descripcion.titulo", g.idioma) + "</div>";
                    if (editar)
                    {
                        ret += "<div class='smalltip'>"
                               + Tools.tr("grupoTrabajo.descripcion.tip", g.idioma)
                               + "</div>";
                    }
                    ret += HTMLArea("s.descripcion", prop, width, 120, tieneFlores, g.idioma);

                    //A quien va dirigido
                    ret += "<div class='tema'>" + Tools.tr("grupoTrabajo.aquien.titulo", g.idioma) + "</div>";
                    if (editar)
                    {
                        ret += "<div class='smalltip'>"
                               + Tools.tr("grupoTrabajo.aquien.tip", g.idioma)
                               + "</div>";
                    }
                    ret += HTMLArea("s.aquien", prop, width, 120, tieneFlores, g.idioma);
                }

                //variante
                if (puedeVariante)
                {
                    ret += HTMLVariante(prop.nodoID, g);
                }
            }
            else if (nivel == 3)
            {
                if (accion == "borrar")
                {
                    ret += "<div class='tema'>" + Tools.tr("grupoTrabajo.conclusiones.titulo", g.idioma) + "</div>";
                    if (editar)
                    {
                        ret += "<div class='smalltip'>"
                               + Tools.tr("grupoTrabajo.conclusiones.tip", g.idioma)
                               + "</div>";
                    }
                    ret += HTMLArea("s.conclusiones", prop, width, 120, tieneFlores, g.idioma);
                }
                else
                {
                    //Recursos
                    ret += "<div class='tema'>" + Tools.tr("grupoTrabajo.recursos.titulo", g.idioma) + "</div>";
                    if (editar)
                    {
                        ret += "<div class='smalltip'>"
                               + Tools.tr("grupoTrabajo.recursos.tip", g.idioma)
                               + "</div>";
                    }
                    ret += HTMLArea("s.recursos", prop, width, 120, tieneFlores, g.idioma);

                    //Capacidades
                    ret += "<div class='tema'>" + Tools.tr("grupoTrabajo.capacidades.titulo", g.idioma) + "</div>";
                    if (editar)
                    {
                        ret += "<div class='smalltip'>"
                               + Tools.tr("grupoTrabajo.capacidades.tip", g.idioma)
                               + "</div>";
                    }
                    ret += HTMLArea("s.capacidades", prop, width, 120, tieneFlores, g.idioma);
                }

                //variante
                if (puedeVariante)
                {
                    ret += HTMLVariante(prop.nodoID, g);
                }
            }
            else if (nivel == 4)
            {
                ret += "<div class='tema'>" + Tools.tr("grupoTrabajo.integrantes.titulo", g.idioma) + "</div>";
                if (editar)
                {
                    ret += "<div class='smalltip'>"
                           + Tools.tr("grupoTrabajo.integrantes.tip", g.idioma)
                           + "</div>";
                }

                //lista de seleccion de usuarios
                string lista = "";
                foreach (Usuario u2 in g.usuarios)
                {
                    lista += u2.email + ":" + u2.nombre + "|";
                }
                lista = lista.Substring(0, lista.Length - 1);
                ret  += HTMLListaSeleccion("s.integrantes", prop, width - 150, 250, tieneFlores, lista,
                                           Tools.tr("Pertenece al grupo", g.idioma),
                                           Tools.tr("NO pertenece al grupo", g.idioma),
                                           g.idioma);

                //variante
                if (puedeVariante)
                {
                    ret += HTMLVariante(prop.nodoID, g);
                }
            }
            else if (nivel == 5)
            {
                ret += "<div class='tema'>" + Tools.tr("grupoTrabajo.valoracion.titulo", g.idioma) + "</div>";
                if (editar)
                {
                    ret += "<div class='smalltip'>"
                           + Tools.tr("grupoTrabajo.valoracion.tip", g.idioma)
                           + "</div>";
                }
                ret += HTMLArea("s.eficiencia", prop, width, 120, tieneFlores, g.idioma);

                ret += "<div class='tema'>" + Tools.tr("grupoTrabajo.revision.titulo", g.idioma) + "</div>";
                if (editar)
                {
                    ret += "<div class='smalltip'>"
                           + Tools.tr("grupoTrabajo.revision.tip", g.idioma)
                           + "</div>";
                }
                ret += HTMLLista("s.revision", "|Mensual|Trimestral|Semestral|Anual", prop, 250, tieneFlores, g.idioma);

                //variante
                if (puedeVariante)
                {
                    ret += HTMLVariante(prop.nodoID, g);
                }
            }
            else
            {
                throw new Exception("Nivel [" + nivel + "] no existe en este modelo");
            }

            if (prop != null)
            {
                prop.niveles = niveles;               //esto es importante si cambian los niveles para que se traspase luego al nodo
            }
            //fin nivel
            if (prop != null && prop.nodoID != 0 && modo != eModo.consenso)
            {
                ret += HTMLFlores(g.arbol.getNodo(prop.nodoID), false, g.getUsuario(email));
            }

            //mensajes de error
            if (errores.ContainsKey(nivel))
            {
                ret += "<div class='error'>" + errores[nivel] + "</div>";
            }
            return(ret);
        }
Example #9
0
        override protected string toHTMLContenido(int nivel, Propuesta prop, Grupo g, string email, int width)
        {
            string  ret         = "";
            Usuario u           = g.getUsuario(email);
            bool    tieneFlores = false;

            if (u != null)
            {
                tieneFlores = u.floresDisponibles().Count > 0;
            }

            bool editar = (prop == null && tieneFlores && modo != eModo.prevista && modo != eModo.consenso) ||
                          (prop != null && prop.esPrevista() && (modo == eModo.revisar || modo == eModo.editar));

            editar = editar && !consensoAlcanzado;
            bool puedeVariante = prop != null && !prop.esPrevista() && modo == eModo.editar && tieneFlores && !consensoAlcanzado;


            //validaciones de este nivel
            validar(prop, g.idioma);

            if (nivel == 1)
            {
                ret += HTMLEncabezado(prop, g, email, width);

                //enseño manifiesto anterior
                LogDocumento anterior = null;
                foreach (LogDocumento ld in g.logDecisiones)
                {
                    if (ld.modeloNombre == this.nombre && ((prop != null && ld.fecha < prop.born) || prop == null))
                    {
                        anterior = ld; //me quedo con el ultimo
                    }
                }
                if (anterior != null)
                {
                    ret += "<table class='smalltip' style='margin: 0 auto;background:wheat;width:200px'><tr>";
                    ret += "<td colspan=2 style='text-align:center;'><b>" + Tools.tr("Este manifiesto reemplaza al anterior", g.idioma) + "</b></td>";
                    ret += "<tr><td>";
                    ret += "<img src='" + anterior.icono + "' style='width:32px;height:40px'></td>";
                    ret += "<td style='text-align:left;'>";
                    ret += anterior.fname + "<br>";
                    ret += anterior.fecha.ToString("dd/MM/yy") + "<br>";
                    ret += "<a href='" + anterior.URL + "' target='_blank'>" + anterior.titulo + "</a></td>";
                    ret += "</tr></table>";
                }

                //fecha
                if (modo == eModo.consenso)
                {
                    ret += "<div class='titulo2'><nobr>" + Tools.tr("Fecha", g.idioma) + ":" + DateTime.Now.ToString("dd/MM/yy") + " " + DateTime.Now.ToShortTimeString() + "</nobr></div>";
                }

                //tema
                ret += "<div class='tema'>" + Tools.tr("manifiesto.vision.titulo", g.idioma) + "</div>";
                if (editar)
                {
                    ret += "<div class='smalltip'>" + Tools.tr("manifiesto.vision.tip", g.idioma) + "</div>";
                }

                ret += HTMLArea("s.vision", prop, width, 290, tieneFlores, g.idioma);

                //variante
                if (puedeVariante)
                {
                    ret += HTMLVariante(prop.nodoID, g);
                }
            }
            else if (nivel == 2)
            {
                //Mision
                ret += "<div class='tema'>" + Tools.tr("manifiesto.mision.titulo", g.idioma) + "</div>";
                if (editar)
                {
                    ret += "<div class='smalltip'>" + Tools.tr("manifiesto.mision.tip", g.idioma) + "</div>";
                }

                ret += HTMLArea("s.mision", prop, width, 290, tieneFlores, g.idioma);

                //variante
                if (puedeVariante)
                {
                    ret += HTMLVariante(prop.nodoID, g);
                }
            }
            else if (nivel == 3)
            {
                //Objetivo
                ret += "<div class='tema'>" + Tools.tr("manifiesto.objetivos.titulo", g.idioma) + "</div>";
                if (editar)
                {
                    ret += "<div class='smalltip'>" + Tools.tr("manifiesto.objetivos.tip", g.idioma) + "</div>";
                }

                ret += HTMLArea("s.objetivo", prop, width, 290, tieneFlores, g.idioma);

                //variante
                if (puedeVariante)
                {
                    ret += HTMLVariante(prop.nodoID, g);
                }
            }
            else if (nivel == 4)
            {
                ret += "<div class='tema'>" + Tools.tr("manifiesto.servicios.titulo", g.idioma) + "</div>";
                if (editar)
                {
                    ret += "<div class='smalltip'>" + Tools.tr("manifiesto.servicios.tip", g.idioma) + "</div>";
                }

                ret += HTMLArea("s.servicios", prop, width, 550, tieneFlores, g.idioma);

                //variante
                if (puedeVariante)
                {
                    ret += HTMLVariante(prop.nodoID, g);
                }
            }
            else
            {
                throw new Exception(Tools.tr("Nivel [%1] no existe en este modelo", nivel.ToString(), g.idioma));
            }

            if (prop != null)
            {
                prop.niveles = niveles;               //esto es importante si cambian los niveles para que se traspase luego al nodo
            }
            //fin nivel
            if (prop != null && prop.nodoID != 0 && modo != eModo.consenso)
            {
                ret += HTMLFlores(g.arbol.getNodo(prop.nodoID), false, g.getUsuario(email));
            }

            //mensajes de error
            if (errores.ContainsKey(nivel))
            {
                ret += "<div class='error'>" + errores[nivel] + "</div>";
            }
            return(ret);
        }