Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/develop'
Browse files Browse the repository at this point in the history
  • Loading branch information
davidruiz-c committed Oct 6, 2023
2 parents fd75e3c + 58ae0b5 commit 1092fa6
Show file tree
Hide file tree
Showing 75 changed files with 6,827 additions and 861 deletions.
2 changes: 1 addition & 1 deletion Dockerfile-views
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM gnoss/gnoss.web.opencore:latest
FROM docker.gnoss.com/web:latest

COPY CargadorFacetas/*.cshtml Views/CargadorFacetas/

Expand Down
16 changes: 16 additions & 0 deletions Gnoss.Matomo.PhpHashGenerator/HashGenerator.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<?php

header("Access-Control-Allow-Origin: *");

header("Content-Type: text/plain");

if(isset($_GET['password'])){
$password = $_GET['password'];

echo password_hash(md5($password), PASSWORD_DEFAULT);
}
else{
echo "ERROR";
}

?>
Original file line number Diff line number Diff line change
Expand Up @@ -2152,7 +2152,7 @@ private List<CategoryModel> ObtenerListaCategorias(string pIdiomaTesauro = null)

foreach (CategoriaTesauro catTes in GestorTesauro.ListaCategoriasTesauroPrimerNivel.Values)
{
CategoryModel categoriaTesauro = CargarCategoria(catTes);
CategoryModel categoriaTesauro = CargarCategoria(catTes, pIdiomaTesauro);
if (!string.IsNullOrEmpty(pIdiomaTesauro))
{
categoriaTesauro.Lang = pIdiomaTesauro;
Expand Down

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
using Es.Riam.Gnoss.UtilServiciosWeb;
using Es.Riam.Gnoss.Web.Controles.Proyectos;
using Es.Riam.Gnoss.Web.MVC.Filters;
using Es.Riam.Gnoss.Web.MVC.Models.Administracion;
using Es.Riam.Gnoss.Web.MVC.Models.ViewModels;
using Es.Riam.Interfaces.InterfacesOpen;
using Es.Riam.InterfacesOpen;
Expand Down Expand Up @@ -39,6 +40,17 @@ public AdministrarDisenioController(LoggingService loggingService, ConfigService
[TypeFilter(typeof(UsuarioLogueadoAttribute), Arguments = new object[] { RolesUsuario.AdministradorComunidad })]
public ActionResult Index()
{
// Añadir clase para el body del Layout
ViewBag.BodyClassPestanya = "configuracion administrar-disenio edicion no-max-width-container ";
ViewBag.ActiveSection = AdministracionSeccionesDevTools.SeccionesDevTools.Configuracion;
ViewBag.ActiveSubSection = AdministracionSeccionesDevTools.SubSeccionesDevTools.Configuracion_Cookies;
// Establecer el título para el header de DevTools
ViewBag.HeaderParentTitle = UtilIdiomas.GetText("DEVTOOLS", "CONFIGURACION");
ViewBag.HeaderTitle = UtilIdiomas.GetText("ADMINISTRACIONDESARROLLADORES", "COOKIES");

// Establecer en el ViewBag el idioma por defecto
ViewBag.IdiomaPorDefecto = IdiomaPorDefecto;

EliminarPersonalizacionVistas();
CargarPermisosAdministracionComunidadEnViewBag();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1206,11 +1206,11 @@ private void CargarVistaVirtual(DataWrapperVistaVirtual pVistaVirtualDW)
//Insertamos las vistas que no corresponden con componentes del CMS
foreach (string nombreVista in listaVistas)
{
bool esVistaEdicionRecurso = nombreVista.StartsWith($"/{VIEWS_DIRECTORY}/EditarRecurso/_");
//bool esVistaEdicionRecurso = nombreVista.StartsWith($"/{VIEWS_DIRECTORY}/EditarRecurso/_");
bool esVistaAdministracion = nombreVista.StartsWith($"/{VIEWS_DIRECTORY}/Administracion");
bool esVistaCMS = nombreVista.StartsWith($"/{VIEWS_DIRECTORY}/CMSPagina") && nombreVista.LongCount(letra => letra.ToString() == "/") > 3;

if (!esVistaEdicionRecurso && !esVistaAdministracion && !esVistaCMS && !nombreVista.StartsWith($"/Views/CargadorFacetas") && !nombreVista.StartsWith($"/Views/CargadorResultados") && !nombreVista.StartsWith($"/Views/Shared/_ResultadoMensaje.cshtml") && !nombreVista.StartsWith($"/Views/CargadorContextoMensajes/CargarContextoMensajes.cshtml"))
if (/*!esVistaEdicionRecurso && */ !esVistaAdministracion && !esVistaCMS && !nombreVista.StartsWith($"/Views/CargadorFacetas") && !nombreVista.StartsWith($"/Views/CargadorResultados") && !nombreVista.StartsWith($"/Views/Shared/_ResultadoMensaje.cshtml") && !nombreVista.StartsWith($"/Views/CargadorContextoMensajes/CargarContextoMensajes.cshtml"))
{
if (pVistaVirtualDW.ListaVistaVirtual.Any(item => item.TipoPagina.Equals(nombreVista)))
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
using Es.Riam.Gnoss.UtilServiciosWeb;
using Es.Riam.Gnoss.Web.Controles.Proyectos;
using Es.Riam.Gnoss.Web.MVC.Filters;
using Es.Riam.Gnoss.Web.MVC.Models.Administracion;
using Es.Riam.Gnoss.Web.MVC.Models.ViewModels;
using Es.Riam.Interfaces.InterfacesOpen;
using Es.Riam.InterfacesOpen;
Expand Down Expand Up @@ -45,6 +46,14 @@ public CMSAdminDisenioController(LoggingService loggingService, ConfigService co
[TypeFilter(typeof(UsuarioLogueadoAttribute), Arguments = new object[] { RolesUsuario.AdministradorComunidad })]
public ActionResult Index()
{
// Añadir clase para el body del Layout
ViewBag.BodyClassPestanya = "configuracion administrar-disenio edicion no-max-width-container ";
ViewBag.ActiveSection = AdministracionSeccionesDevTools.SeccionesDevTools.Configuracion;
ViewBag.ActiveSubSection = AdministracionSeccionesDevTools.SubSeccionesDevTools.Configuracion_Cookies;
// Establecer el título para el header de DevTools
ViewBag.HeaderParentTitle = UtilIdiomas.GetText("DEVTOOLS", "CONFIGURACION");
ViewBag.HeaderTitle = UtilIdiomas.GetText("ADMINISTRACIONDESARROLLADORES", "COOKIES");

EliminarPersonalizacionVistas();
CargarPermisosAdministracionComunidadEnViewBag();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ public ActionResult GuardarCambios(bool RecibirNewsletter)
identidadCN.Dispose();

IdentidadCL identidadCL = new IdentidadCL(mEntityContext, mLoggingService, mRedisCacheWrapper, mConfigService, mServicesUtilVirtuosoAndReplication);
identidadCL.EliminarCacheGestorIdentidad(IdentidadActual.PersonaID.Value, IdentidadActual.PerfilID);
identidadCL.EliminarCacheGestorIdentidad(IdentidadActual.Clave, IdentidadActual.PersonaID.Value);
identidadCL.Dispose();
IdentidadActual = null;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,9 @@ public IActionResult aceptar_solicitud(Guid solicitud_id)
{
solicitud.FechaProcesado = DateTime.Now;
solicitud.Estado = (short)EstadoSolicitud.Aceptada;
DataWrapperIdentidad dataWrapperIdentidad = new IdentidadCN(mEntityContext, mLoggingService, mConfigService, mServicesUtilVirtuosoAndReplication).ObtenerPerfilesDePersona(solicitudUsuario.PersonaID, false);
IdentidadCN identCN = new IdentidadCN(mEntityContext, mLoggingService, mConfigService, mServicesUtilVirtuosoAndReplication);
Guid identidadIDProyecto = identCN.ObtenerIdentidadIDDePersonaEnProyecto(ProyectoSeleccionado.Clave, solicitudUsuario.PersonaID)[0];
DataWrapperIdentidad dataWrapperIdentidad = identCN.ObtenerPerfilesDePersona(solicitudUsuario.PersonaID, false, identidadIDProyecto);
GestionIdentidades gestorIdentidades = new GestionIdentidades(dataWrapperIdentidad, mLoggingService, mEntityContext, mConfigService, mServicesUtilVirtuosoAndReplication);
GestionUsuarios gestorUsuarios = new GestionUsuarios(dataWrapperUsuario, mLoggingService, mEntityContext, mConfigService);
PersonaCN personaCN = new PersonaCN(mEntityContext, mLoggingService, mConfigService, mServicesUtilVirtuosoAndReplication);
Expand Down
2 changes: 0 additions & 2 deletions Gnoss.Web.Open/Controllers/BusquedaController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -531,8 +531,6 @@ public ActionResult Index()

Guid tokenAfinidad = Guid.NewGuid();

string conexionAfinidadVirtuoso = mServicesUtilVirtuosoAndReplication.ConexionAfinidad;

paginaModel.TipoPagina = TipoPagina.ToString();
if (RequestParams("contribuciones") != null && RequestParams("contribuciones").Equals("true") && IdentidadPaginaContribuciones != null)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -386,6 +386,7 @@ public ActionResult EditarTesauro(EditSemanticThesaurusModel pModel)
{
// return PartialView("_AccionesTesSem", mModelAdmin);
// Carga de la Vista para su edición vía modal
mModelAdmin.IdiomaPorDefecto = IdiomaPorDefecto;
return PartialView("_modal-views/_tesauro-details", mModelAdmin);
}
else if (mEditTesModel.EditAction == EditSemanticThesaurusModel.Action.CreateCategory)
Expand Down
109 changes: 86 additions & 23 deletions Gnoss.Web.Open/Controllers/ControllerBase/ControllerBaseWeb.cs
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,7 @@
using Es.Riam.InterfacesOpen;
using Es.Riam.Gnoss.Logica.ParametrosProyecto;
using Es.Riam.Gnoss.Web.Controles.ServicioImagenesWrapper;
using Universal.Common.Extensions;

namespace Es.Riam.Gnoss.Web.MVC.Controllers
{
Expand Down Expand Up @@ -1131,35 +1132,62 @@ private void ComprobarRedireccionHomeProyecto(ActionExecutingContext pFilterCont
//El usuario no tiene acceso a este proyecto, le llevo a la home de la comunidad
string redirect = ObtenerUrlRedirect(ref url);

//if (!MaximoRedireccionesExcedidas())
if (url.Equals("/") && !string.IsNullOrEmpty(RouteConfig.NombreProyectoSinNombreCorto))
{
string urlComunidadLogin = BaseURLIdioma + "/" + UtilIdiomas.GetText("URLSEM", "LOGIN");
if (ProyectoSeleccionado.Clave != ProyectoAD.MetaProyecto)
Dictionary<string, string> listaIdiomas = mConfigService.ObtenerListaIdiomasDictionary();

string idioma = UtilIdiomas.LanguageCode;
bool emptyPath = string.IsNullOrEmpty(Request.Path) || Request.Path.Equals("/");

if (!EsBot && !Request.Headers.ContainsKey("Referer") && Request.Headers.ContainsKey("accept-language") && emptyPath)
{
urlComunidadLogin = mControladorBase.UrlsSemanticas.ObtenerURLComunidad(UtilIdiomas, BaseURLIdioma, ProyectoSeleccionado.NombreCorto);
var languages = Request.Headers["accept-language"].ToString().Split(',')
.Select(System.Net.Http.Headers.StringWithQualityHeaderValue.Parse)
.OrderByDescending(s => s.Quality.GetValueOrDefault(1));

if (mControladorBase.UsuarioActual.EsUsuarioInvitado || !ProyectoSeleccionado.EsPublico || !ParametrosGeneralesRow.HomeVisible)
foreach (var userLanguaje in languages)
{
urlComunidadLogin += "/" + UtilIdiomas.GetText("URLSEM", "LOGIN");
}
else
{
redirect = "";
string idiomaNavegador = userLanguaje.Value.Split('-')[0];
if (listaIdiomas.ContainsKey(idiomaNavegador))
{
idioma = idiomaNavegador;
if (UtilIdiomas.LanguageCode != idioma)
{
UtilIdiomas = new UtilIdiomas(idioma, mLoggingService, mEntityContext, mConfigService);
}
break;
}
}
}

//Si el redirect ya contiene esta cadena, significa que ya se le ha redireccionado a login (ya estamos en esa página, no hay que volver a redireccionar)
if (!redirect.Contains(urlComunidadLogin) && (!redirect.Contains("/login/redirect")) && (!redirect.EndsWith("/login")))
}

string urlComunidadLogin = BaseURLIdioma + "/" + UtilIdiomas.GetText("URLSEM", "LOGIN");
if (ProyectoSeleccionado.Clave != ProyectoAD.MetaProyecto)
{
urlComunidadLogin = mControladorBase.UrlsSemanticas.ObtenerURLComunidad(UtilIdiomas, BaseURLIdioma, ProyectoSeleccionado.NombreCorto);

if (mControladorBase.UsuarioActual.EsUsuarioInvitado || !ProyectoSeleccionado.EsPublico || !ParametrosGeneralesRow.HomeVisible)
{
if (this.GetType().Name.Equals("LogoutController") && this.GetType().Name.Equals("LoadingController"))
{
redirect = "";
}
urlComunidadLogin += "/" + UtilIdiomas.GetText("URLSEM", "LOGIN");
}
else
{
redirect = "";
}
}

//Realiza la redirección
pFilterContext.Result = Redirect(urlComunidadLogin + redirect);
return;
//Si el redirect ya contiene esta cadena, significa que ya se le ha redireccionado a login (ya estamos en esa página, no hay que volver a redireccionar)
if (!redirect.Contains(urlComunidadLogin) && (!redirect.Contains("/login/redirect")) && (!redirect.EndsWith("/login")))
{
if (this.GetType().Name.Equals("LogoutController") && this.GetType().Name.Equals("LoadingController"))
{
redirect = "";
}

//Realiza la redirección
pFilterContext.Result = Redirect(urlComunidadLogin + redirect);
return;
}
}
}
Expand Down Expand Up @@ -1501,7 +1529,7 @@ private UserProfileModel CargarDatosPerfil()
perfil.IsAdministrator = esAdministradorOrg;

ProyectoCN proyCN = new ProyectoCN(mEntityContext, mLoggingService, mConfigService, mServicesUtilVirtuosoAndReplication);
AD.EncapsuladoDatos.DataWrapperProyecto dataSetComunidades = proyCN.ObtenerProyectosParticipaPerfil(IdentidadActual.PerfilID);
AD.EncapsuladoDatos.DataWrapperProyecto dataSetComunidades = proyCN.ObtenerProyectosParticipaPerfilLimite10(IdentidadActual.PerfilID);

List<Guid> ListaProyectosSinRegistro = proyCN.ObtenerListaIDsProyectosSinRegistroObligatorio();
proyCN.Dispose();
Expand Down Expand Up @@ -3832,7 +3860,7 @@ public bool ComprobarPermisoEnOntologiaDeProyectoEIdentidad(Guid pDocumentoID)
if (!devolver && ParametroProyecto.ContainsKey(ParametroAD.ProyectoIDPatronOntologias))
{
proyectoOntologiasID = new Guid(ParametroProyecto[ParametroAD.ProyectoIDPatronOntologias]);
devolver = mControladorBase.ComprobarPermisoEnOntologiaDeProyectoEIdentidad(proyectoOntologiasID, pDocumentoID, false);
devolver = mControladorBase.ComprobarPermisoEnOntologiaDeProyectoEIdentidad(proyectoOntologiasID, pDocumentoID, true, true);
}
return devolver;
}
Expand Down Expand Up @@ -4113,10 +4141,17 @@ public string UrlMultiIdiomaPaginaActual
{
if (ruta.Values.Contains(parteUrl))
{
string claveDiccionario = "{" + ruta.Where(x => x.Value.Equals(parteUrl)).Select(x => x.Key).First() + "}";
string claveDiccionario = "{" + ruta.Where(x => x.Value != null && x.Value.Equals(parteUrl)).Select(x => x.Key).First() + "}";
if (!claveDiccionario.Equals("{lang}"))
{
url = url.Replace("/" + parteUrl + "/", "/" + claveDiccionario + "/");
if (url.Contains("/" + parteUrl + "/"))
{
url = url.Replace("/" + parteUrl + "/", "/" + claveDiccionario + "/");
}
if (url.EndsWith("/" + parteUrl))
{
url = url.Replace("/" + parteUrl, "/" + claveDiccionario);
}
}
}
}
Expand All @@ -4125,6 +4160,10 @@ public string UrlMultiIdiomaPaginaActual
{
url = url.Remove(0, 1);
}
if (url.EndsWith("/"))
{
url = url.TrimEnd('/');
}

if (RouteConfig.ListaRutasURLName.ContainsKey(url))
{
Expand Down Expand Up @@ -4901,6 +4940,8 @@ private void IncluirAvisoCookies(ActionExecutingContext pFilterContext)
if (cookieAviso == null || !cookieAviso.ContainsKey("aceptada") || cookieAviso["aceptada"] == "false")
{
ViewBag.CookiesWarning = "Cookies no aceptadas";

AnadirTextoPoliticaCookiesViewBag();
}

if (actualizarCookie && pFilterContext.Result != null)
Expand All @@ -4910,6 +4951,28 @@ private void IncluirAvisoCookies(ActionExecutingContext pFilterContext)
}
}

private void AnadirTextoPoliticaCookiesViewBag()
{
UsuarioCN usuarioCN = new UsuarioCN(mEntityContext, mLoggingService, mConfigService, mServicesUtilVirtuosoAndReplication);
DataWrapperUsuario usuarioDW = usuarioCN.ObtenerPoliticaCookiesProyecto(ProyectoSeleccionado.Clave);
usuarioCN.Dispose();
List<AD.EntityModel.Models.UsuarioDS.ClausulaRegistro> filasCabecera = usuarioDW.ListaClausulaRegistro.Where(c => c.ProyectoID.Equals(ProyectoSeleccionado.Clave) && c.Tipo.Equals((short)ManageRegisterClausesViewModel.ClauseType.PoliticaCookiesCabecera)).ToList();

if (filasCabecera.Count > 0)
{
ViewBag.TextoPoliticaCookies = UtilCadenas.ObtenerTextoDeIdioma(filasCabecera[0].Texto, UtilIdiomas.LanguageCode, null);
}
else
{
//si el proyecto no la tiene personalizada, buscamos la cláusula de cabecera asociada a la cláusula de PoliticaCookiesUrlPagina en el ecosistema
List<AD.EntityModel.Models.UsuarioDS.ClausulaRegistro> filasCabeceraEcosistema = usuarioDW.ListaClausulaRegistro.Where(c => c.ProyectoID.Equals(ProyectoAD.MetaProyecto) && c.Tipo.Equals((short)ManageRegisterClausesViewModel.ClauseType.PoliticaCookiesCabecera)).ToList();
if (filasCabeceraEcosistema.Count > 0)
{
ViewBag.TextoPoliticaCookies = UtilCadenas.ObtenerTextoDeIdioma(filasCabeceraEcosistema[0].Texto, UtilIdiomas.LanguageCode, null);
}
}
}

protected void GuardarXmlCambiosAdministracion()
{
try
Expand Down
Loading

0 comments on commit 1092fa6

Please sign in to comment.