瀏覽代碼

Merge arreglado y Dashboard funcionando(casi)

Mario Martínez Hernández 4 月之前
父節點
當前提交
3d62280aeb

+ 1 - 1
.vscode/settings.json

@@ -11,7 +11,7 @@
             "password": "acd425"
             "password": "acd425"
         }
         }
     ],
     ],
-    "java.configuration.updateBuildConfiguration": "interactive",
+    "java.configuration.updateBuildConfiguration": "disabled",
     "java.compile.nullAnalysis.mode": "automatic",
     "java.compile.nullAnalysis.mode": "automatic",
     "java.dependency.syncWithFolderExplorer": false
     "java.dependency.syncWithFolderExplorer": false
 }
 }

+ 3 - 3
src/main/java/es/uv/saic/domain/DummyDataTransfer.java

@@ -57,9 +57,9 @@ public class DummyDataTransfer {
 	public int hashCode() {
 	public int hashCode() {
 		final int prime = 31;
 		final int prime = 31;
 		int hash = 17;
 		int hash = 17;
-		hash = hash * prime + this.text.hashCode();
-		hash = hash * prime + this.text2.hashCode();
-		hash = hash * prime + this.text3.hashCode();
+		hash = (this.text != null) ? hash * prime + this.text.hashCode() : hash;
+		hash = (this.text2 != null) ? hash * prime + this.text2.hashCode() : hash;
+		hash = (this.text3 != null) ? hash * prime + this.text3.hashCode() : hash;
 		hash = hash * prime + Integer.toString(this.value).hashCode();
 		hash = hash * prime + Integer.toString(this.value).hashCode();
 		hash = hash * prime + Integer.toString(this.value2).hashCode();
 		hash = hash * prime + Integer.toString(this.value2).hashCode();
 		hash = hash * prime + Integer.toString(this.value3).hashCode();
 		hash = hash * prime + Integer.toString(this.value3).hashCode();

+ 2 - 0
src/main/java/es/uv/saic/domain/UsuarisRol.java

@@ -5,6 +5,8 @@ import java.io.Serializable;
 import jakarta.persistence.*;
 import jakarta.persistence.*;
 import java.util.Date;
 import java.util.Date;
 
 
+import es.uv.saic.dto.OrganDTO;
+
 /**
 /**
  * The persistent class for the usuaris_rols database table.
  * The persistent class for the usuaris_rols database table.
  * 
  * 

+ 47 - 1
src/main/java/es/uv/saic/dto/OrganDTO.java

@@ -1,5 +1,6 @@
 package es.uv.saic.dto;
 package es.uv.saic.dto;
 
 
+import es.uv.saic.domain.Acreditacio;
 import es.uv.saic.domain.Organ;
 import es.uv.saic.domain.Organ;
 
 
 public class OrganDTO{
 public class OrganDTO{
@@ -11,15 +12,20 @@ public class OrganDTO{
     private String nomVal;
     private String nomVal;
     private Integer ruct;
     private Integer ruct;
     private String tambit;
     private String tambit;
+    private String tambit2;
     private String nomCas2;
     private String nomCas2;
     private String nomVal2;
     private String nomVal2;
     private Integer ruct2;
     private Integer ruct2;
+    private String codis;
+    private String codis2;
+    private Acreditacio acreditacio;
 
 
     public OrganDTO() {}
     public OrganDTO() {}
 
 
     public OrganDTO(Integer lugar, String tlugar, Integer lugar2, String tlugar2, 
     public OrganDTO(Integer lugar, String tlugar, Integer lugar2, String tlugar2, 
                    String nomCas, String nomVal, Integer ruct, String tambit, 
                    String nomCas, String nomVal, Integer ruct, String tambit, 
-                   String nomCas2, String nomVal2, Integer ruct2) {
+                   String tambit2, String nomCas2, String nomVal2, Integer ruct2,
+                   String codis, String codis2, Acreditacio acreditacio) {
         this.lugar = lugar;
         this.lugar = lugar;
         this.tlugar = tlugar;
         this.tlugar = tlugar;
         this.lugar2 = lugar2;
         this.lugar2 = lugar2;
@@ -28,9 +34,13 @@ public class OrganDTO{
         this.nomVal = nomVal;
         this.nomVal = nomVal;
         this.ruct = ruct;
         this.ruct = ruct;
         this.tambit = tambit;
         this.tambit = tambit;
+        this.tambit2 = tambit2;
         this.nomCas2 = nomCas2;
         this.nomCas2 = nomCas2;
         this.nomVal2 = nomVal2;
         this.nomVal2 = nomVal2;
         this.ruct2 = ruct2;
         this.ruct2 = ruct2;
+        this.codis = codis;
+        this.codis2 = codis2;
+        this.acreditacio = acreditacio;
     }
     }
 
 
     public OrganDTO(Organ organ) {
     public OrganDTO(Organ organ) {
@@ -42,9 +52,13 @@ public class OrganDTO{
         this.nomVal = organ.getNomVal();
         this.nomVal = organ.getNomVal();
         this.ruct = organ.getRuct();
         this.ruct = organ.getRuct();
         this.tambit = organ.getTambit();
         this.tambit = organ.getTambit();
+        this.tambit2 = organ.getOrgan().getTambit();
         this.nomCas2 = organ.getOrgan().getNomCas();
         this.nomCas2 = organ.getOrgan().getNomCas();
         this.nomVal2 = organ.getOrgan().getNomVal();
         this.nomVal2 = organ.getOrgan().getNomVal();
         this.ruct2 = organ.getOrgan().getRuct();
         this.ruct2 = organ.getOrgan().getRuct();
+        this.codis = organ.getCodis();
+        this.codis2 = organ.getOrgan().getCodis();
+        this.acreditacio = organ.getAcreditacio();
     }
     }
 
 
     public OrganDTO(OrganRepositoryDTO organ) {
     public OrganDTO(OrganRepositoryDTO organ) {
@@ -93,6 +107,10 @@ public class OrganDTO{
         return tambit;
         return tambit;
     }
     }
 
 
+    public String getTambit2() {
+        return tambit2;
+    }
+
     public String getNomTCas() {
     public String getNomTCas() {
         return nomCas2;
         return nomCas2;
     }
     }
@@ -113,6 +131,18 @@ public class OrganDTO{
         return nomVal2;
         return nomVal2;
     }
     }
 
 
+    public String getCodis() {
+        return codis;
+    }
+
+    public String getCodis2() {
+        return codis2;
+    }
+
+    public Acreditacio getAcreditacio() {
+        return acreditacio;
+    }
+
     public void setLugar(Integer lugar) {
     public void setLugar(Integer lugar) {
         this.lugar = lugar;
         this.lugar = lugar;
     }
     }
@@ -145,6 +175,10 @@ public class OrganDTO{
         this.tambit = tambit;
         this.tambit = tambit;
     }
     }
 
 
+    public void setTambit2(String tambit) {
+        this.tambit2 = tambit;
+    }
+
     public void setNomCas2(String nomCas2) {
     public void setNomCas2(String nomCas2) {
         this.nomCas2 = nomCas2;
         this.nomCas2 = nomCas2;
     }
     }
@@ -156,4 +190,16 @@ public class OrganDTO{
     public void setRuct2(Integer ruct2) {
     public void setRuct2(Integer ruct2) {
         this.ruct2 = ruct2;
         this.ruct2 = ruct2;
     }
     }
+
+    public void setCodis(String codis) {
+        this.codis = codis;
+    }
+
+    public void setCodis2(String codis) {
+        this.codis2 = codis;
+    }
+
+     public void setAcreditacio(Acreditacio acreditacio) {
+        this.acreditacio = acreditacio;
+    }
 }
 }

+ 47 - 0
src/main/java/es/uv/saic/dto/UsuariDTO.java

@@ -0,0 +1,47 @@
+package es.uv.saic.dto;
+
+import es.uv.saic.domain.Usuari;
+
+public class UsuariDTO {
+    private String nom;
+    private String cognoms;
+    private String email;
+    
+    public UsuariDTO(String nom, String cognoms, String email) {
+        this.nom = nom;
+        this.cognoms = cognoms;
+        this.email = email;
+    }
+
+    public UsuariDTO(Usuari usuari) {
+        this.nom = usuari.getNom();
+        this.cognoms = usuari.getCognoms();
+        this.email = usuari.getEmail();
+    }
+
+    public String getNom() {
+        return nom;
+    }
+
+    public void setNom(String nom) {
+        this.nom = nom;
+    }
+
+    public String getCognoms() {
+        return cognoms;
+    }
+
+    public void setCognoms(String cognoms) {
+        this.cognoms = cognoms;
+    }
+
+    public String getEmail() {
+        return email;
+    }
+
+    public void setEmail(String email) {
+        this.email = email;
+    }
+    
+    
+}

+ 53 - 0
src/main/java/es/uv/saic/dto/UsuarisRolDTO.java

@@ -0,0 +1,53 @@
+package es.uv.saic.dto;
+
+import es.uv.saic.domain.Acreditacio;
+import es.uv.saic.domain.Usuari;
+import es.uv.saic.domain.UsuarisRol;
+
+public class UsuarisRolDTO {
+    private OrganDTO organ;
+    private Acreditacio acreditacio;
+    private RolDTO rol;
+    private UsuariDTO usuari;
+
+    public UsuarisRolDTO(OrganDTO organ, Acreditacio acreditacio, RolDTO rol, UsuariDTO usuari) {
+        this.organ = organ;
+        this.acreditacio = acreditacio;
+        this.rol = rol;
+        this.usuari = usuari;
+    }
+
+    public UsuarisRolDTO(UsuarisRol usuarisRol) {
+        this.organ = new OrganDTO(usuarisRol.getOrgan());
+        this.acreditacio = usuarisRol.getOrgan().getAcreditacio();
+        this.rol = new RolDTO(usuarisRol.getRol());
+        this.usuari = new UsuariDTO(usuarisRol.getUsuari());
+    }
+
+    public OrganDTO getOrgan() {
+        return organ;
+    }
+    public void setOrgan(OrganDTO organ) {
+        this.organ = organ;
+    }
+    public Acreditacio getAcreditacio() {
+        return acreditacio;
+    }
+    public void setAcreditacio(Acreditacio acreditacio) {
+        this.acreditacio = acreditacio;
+    }
+    public RolDTO getRol() {
+        return rol;
+    }
+    public void setRol(RolDTO rol) {
+        this.rol = rol;
+    }
+    public UsuariDTO getUsuari() {
+        return usuari;
+    }
+    public void setUsuari(UsuariDTO usuari) {
+        this.usuari = usuari;
+    }
+
+    
+}

+ 122 - 59
src/main/java/es/uv/saic/web/DashboardController.java

@@ -13,6 +13,7 @@ import java.util.Arrays;
 import java.util.Collections;
 import java.util.Collections;
 import java.util.Comparator;
 import java.util.Comparator;
 import java.util.Date;
 import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
 import java.util.List;
 import java.util.Optional;
 import java.util.Optional;
 import java.util.UUID;
 import java.util.UUID;
@@ -33,8 +34,10 @@ import org.springframework.web.bind.annotation.DeleteMapping;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.multipart.MultipartFile;
 import org.springframework.web.multipart.MultipartFile;
 
 
 import es.uv.saic.domain.Informe;
 import es.uv.saic.domain.Informe;
@@ -58,10 +61,12 @@ import es.uv.saic.dto.DocumentTmpDTO;
 import es.uv.saic.dto.IndicadorDTO;
 import es.uv.saic.dto.IndicadorDTO;
 import es.uv.saic.dto.InstanciaDTO;
 import es.uv.saic.dto.InstanciaDTO;
 import es.uv.saic.dto.InstanciaGanttDTO;
 import es.uv.saic.dto.InstanciaGanttDTO;
+import es.uv.saic.dto.OrganDTO;
 import es.uv.saic.dto.TreeDTOAny;
 import es.uv.saic.dto.TreeDTOAny;
 import es.uv.saic.dto.TreeDTODimensio;
 import es.uv.saic.dto.TreeDTODimensio;
 import es.uv.saic.dto.TreeDTOInstancia;
 import es.uv.saic.dto.TreeDTOInstancia;
 import es.uv.saic.dto.TreeDTOOrgan;
 import es.uv.saic.dto.TreeDTOOrgan;
+import es.uv.saic.dto.UsuarisRolDTO;
 import es.uv.saic.feign.DocumentClient;
 import es.uv.saic.feign.DocumentClient;
 import es.uv.saic.service.CategoriaService;
 import es.uv.saic.service.CategoriaService;
 import es.uv.saic.service.GraficaService;
 import es.uv.saic.service.GraficaService;
@@ -71,6 +76,7 @@ import es.uv.saic.service.InformeService;
 import es.uv.saic.service.InstanciaService;
 import es.uv.saic.service.InstanciaService;
 import es.uv.saic.service.LinkService;
 import es.uv.saic.service.LinkService;
 import es.uv.saic.service.OrganService;
 import es.uv.saic.service.OrganService;
+import es.uv.saic.service.UsuariService;
 import es.uv.saic.service.UsuarisRolService;
 import es.uv.saic.service.UsuarisRolService;
 
 
 @Controller
 @Controller
@@ -80,6 +86,9 @@ public class DashboardController {
 	private OrganService os;
 	private OrganService os;
 	@Autowired
 	@Autowired
 	private UsuarisRolService urs;
 	private UsuarisRolService urs;
+
+	@Autowired
+	private UsuariService us;
 	@Autowired
 	@Autowired
 	private InformeService infs;
 	private InformeService infs;
 	@Autowired
 	@Autowired
@@ -107,17 +116,20 @@ public class DashboardController {
 	@Value("${saic.data.templates.fileNotFound}")
 	@Value("${saic.data.templates.fileNotFound}")
 	private String fileNotFound;
 	private String fileNotFound;
 	
 	
-	// GET para cargar el dashboard con toda su información
-	@GetMapping("/dashboard")
-	public String getOrganList(Model model, Authentication auth) {
+	// POST para cargar el dashboard con toda su información
+	@PostMapping("/dashboard")
+	@ResponseBody
+	public HashMap<String, Object> getOrganList(@RequestBody String usuari) {
+		HashMap<String, Object> model = new HashMap<>();
 		List<Organ> titulacions = new ArrayList<Organ>();
 		List<Organ> titulacions = new ArrayList<Organ>();
 		List<Organ> centres = new ArrayList<Organ>();
 		List<Organ> centres = new ArrayList<Organ>();
+		Usuari u = us.findByUsername(usuari);
 		boolean showCentres = false;
 		boolean showCentres = false;
-		Usuari u = (Usuari) auth.getPrincipal();
 		
 		
 		if(urs.isGrantedUser(u)){
 		if(urs.isGrantedUser(u)){
 			Organ o = os.findByID("C", 0);
 			Organ o = os.findByID("C", 0);
-			return "redirect:/dashboard/"+o.getRuct();
+			model.put("redirect", "redirect:/dashboard/"+o.getRuct());
+			return model;
 		}		
 		}		
 		else if(urs.isGrantedSupervisor(u)) {
 		else if(urs.isGrantedSupervisor(u)) {
 			titulacions = os.getTitulacions().stream().filter(o -> o.getOrgan().getId().getLugar() != 99).collect(Collectors.toList());
 			titulacions = os.getTitulacions().stream().filter(o -> o.getOrgan().getId().getLugar() != 99).collect(Collectors.toList());
@@ -144,63 +156,73 @@ public class DashboardController {
 							 .collect(Collectors.toList());
 							 .collect(Collectors.toList());
 		}
 		}
 		if(centres.size() == 1) {
 		if(centres.size() == 1) {
-			return "redirect:/dashboard/"+centres.get(0).getRuct();
+			model.put("redirect", "redirect:/dashboard/"+centres.get(0).getRuct());
+			return model;
 		}
 		}
 		else if(titulacions.size() == 1) {
 		else if(titulacions.size() == 1) {
-			return "redirect:/dashboard/"+titulacions.get(0).getRuct();
+			model.put("redirect", "redirect:/dashboard/"+titulacions.get(0).getRuct());
+			return model;
 		}
 		}
 		else {
 		else {
-			model.addAttribute("showCentres", showCentres);
-			model.addAttribute("titulacions", titulacions);
-			return "dashboard";
+			model.put("showCentres", showCentres);
+			model.put("titulacions", titulacions.stream().map(OrganDTO::new).toList());
+			model.put("redirect", "dashboard");
+			return model;
 		}
 		}
 	}
 	}
 	
 	
-	//GET para mostrar el dashboard a partir de un numero ruct
-	@GetMapping("/dashboard/{ruct}")
-	public String getDashboardOrgan(Model model, Authentication auth, @PathVariable("ruct") Integer ruct) {
+	//POST para mostrar el dashboard a partir de un numero ruct
+	@PostMapping("/dashboard/{ruct}")
+	@ResponseBody
+	public HashMap<String, Object> getDashboardOrgan(@PathVariable Integer ruct, @RequestBody String usuari) {
+		HashMap<String, Object> model = new HashMap<>();
 		Organ o = os.findByRuct(ruct);
 		Organ o = os.findByRuct(ruct);
+		Usuari u = us.findByUsername(usuari);
 		o.setCodis();
 		o.setCodis();
-		Usuari u = (Usuari) auth.getPrincipal();
+
 		if(!this.isSuitable(o, u)) {
 		if(!this.isSuitable(o, u)) {
-			return "401";
+			model.put("redirect", "401");
+			return model;
 		}
 		}
 		
 		
 		if(o.getTambit().equals("C") && o.getId().getTlugar().equals("C") && o.getId().getLugar() == 0) {
 		if(o.getTambit().equals("C") && o.getId().getTlugar().equals("C") && o.getId().getLugar() == 0) {
 			List<Organ> tits = os.getTitulacions();
 			List<Organ> tits = os.getTitulacions();
 			tits.forEach( (t) -> t.setCodis() );
 			tits.forEach( (t) -> t.setCodis() );
-			model.addAttribute("titulacions", tits);
+			model.put("titulacions", tits.stream().map(OrganDTO::new).toList());
 			this.loadManagers(model, o.getId().getLugar(), o.getId().getLugar());
 			this.loadManagers(model, o.getId().getLugar(), o.getId().getLugar());
 		}
 		}
 		else if(o.getTambit().equals("C")){
 		else if(o.getTambit().equals("C")){
 			List<Organ> tits = this.os.getTitulacionsByCentre(o.getId().getLugar());
 			List<Organ> tits = this.os.getTitulacionsByCentre(o.getId().getLugar());
-			model.addAttribute("titulacions", tits);
+			model.put("titulacions", tits.stream().map(OrganDTO::new).toList());
 			this.loadManagers(model, o.getId().getLugar(), o.getId().getLugar());	
 			this.loadManagers(model, o.getId().getLugar(), o.getId().getLugar());	
 		}
 		}
 		else {
 		else {
 			this.loadManagers(model, o.getOrgan().getId().getLugar(), o.getId().getLugar());
 			this.loadManagers(model, o.getOrgan().getId().getLugar(), o.getId().getLugar());
 		}
 		}
 		List<Categoria> c = cs.findFirstLevel(o.getId().getTlugar());
 		List<Categoria> c = cs.findFirstLevel(o.getId().getTlugar());
-		model.addAttribute("organ", o);
-		model.addAttribute("categories", c);		
-		model.addAttribute("editable", ((Usuari)auth.getPrincipal()).isAdmin() || ((Usuari)auth.getPrincipal()).isGranted());
-		model.addAttribute("showCentres", false);
+		model.put("organ", new OrganDTO(o));
+		model.put("categories", c);		
+		model.put("editable", (u.isAdmin() || (u.isGranted())));
+		model.put("showCentres", false);
 		if(o.getTambit().equals("C") && o.getId().getTlugar().equals("C") && o.getId().getLugar() == 0) {
 		if(o.getTambit().equals("C") && o.getId().getTlugar().equals("C") && o.getId().getLugar() == 0) {
-			model.addAttribute("showCentres", true);
+			model.put("showCentres", true);
 			c = cs.findFirstLevelAndU(o.getId().getTlugar());
 			c = cs.findFirstLevelAndU(o.getId().getTlugar());
-			model.addAttribute("categories", c);	
-			return "dashboardUniversitat";
+			model.put("categories", c);
+			model.put("redirect", "dashboardUniversitat");
+			return model;
 		}
 		}
 		else if(o.getTambit().equals("C")) {
 		else if(o.getTambit().equals("C")) {
-			return "dashboardCentre";
+			model.put("redirect", "dashboardCentre");
+			return model;
 		}
 		}
-		return "dashboardTitulacio";
+		model.put("redirect", "dashboardTitulacio");
+		return model;
 	}
 	}
 	
 	
 	// GET para conseguir todos los procedimiento a partir del idTitulacio
 	// GET para conseguir todos los procedimiento a partir del idTitulacio
-	@GetMapping("/dashboard/procedures/{idTitulacio}")
+	@PostMapping("/dashboard/procedures/{idTitulacio}")
 	@ResponseBody
 	@ResponseBody
-	public List<?> loadReports(Model model, Authentication auth, @PathVariable("idTitulacio") Integer idTitulacio) {
+	public List<?> loadReports(@PathVariable Integer idTitulacio) {
 		String locale = LocaleContextHolder.getLocale().getLanguage();
 		String locale = LocaleContextHolder.getLocale().getLanguage();
 		Organ o = os.findByRuct(idTitulacio);
 		Organ o = os.findByRuct(idTitulacio);
 		List<Informe> informes = this.infs.findByGrupWebTambit("D", o.getTambit());
 		List<Informe> informes = this.infs.findByGrupWebTambit("D", o.getTambit());
@@ -327,7 +349,7 @@ public class DashboardController {
 	// GET para conseguir la documentación ya a aportada a partir del id de la tituación
 	// GET para conseguir la documentación ya a aportada a partir del id de la tituación
 	@GetMapping("/dashboard/documents/{idTitulacio}")
 	@GetMapping("/dashboard/documents/{idTitulacio}")
 	@ResponseBody
 	@ResponseBody
-	public List<CategoriaDocumentDTO> loadDocuments(Model model, @PathVariable("idTitulacio") Integer idTitulacio){
+	public List<CategoriaDocumentDTO> loadDocuments(@PathVariable Integer idTitulacio) {
 		String locale = LocaleContextHolder.getLocale().getLanguage();
 		String locale = LocaleContextHolder.getLocale().getLanguage();
 		Organ o = os.findByRuct(idTitulacio);
 		Organ o = os.findByRuct(idTitulacio);
 		List<Categoria> parents = cs.findFirstLevelAndU(o.getId().getTlugar());
 		List<Categoria> parents = cs.findFirstLevelAndU(o.getId().getTlugar());
@@ -363,7 +385,7 @@ public class DashboardController {
 	// GET para conseguir el diagrama de gantt a partir del ruct
 	// GET para conseguir el diagrama de gantt a partir del ruct
 	@GetMapping("/dashboard/gantt/{ruct}")
 	@GetMapping("/dashboard/gantt/{ruct}")
 	@ResponseBody
 	@ResponseBody
-	public List<InstanciaGanttDTO> loadGantt(Model model, @PathVariable("ruct") Integer ruct){
+	public List<InstanciaGanttDTO> loadGantt(@PathVariable Integer ruct) {
 		Organ o = os.findByRuct(ruct);
 		Organ o = os.findByRuct(ruct);
 		List<Integer> ambits = Arrays.asList(1, 2, 3, 0);
 		List<Integer> ambits = Arrays.asList(1, 2, 3, 0);
 		if(!o.getTambit().equals("C")) {
 		if(!o.getTambit().equals("C")) {
@@ -408,24 +430,21 @@ public class DashboardController {
 		
 		
 	@GetMapping("/dashboard/documents/cats/{idCategoria}/{tambit}")
 	@GetMapping("/dashboard/documents/cats/{idCategoria}/{tambit}")
 	@ResponseBody
 	@ResponseBody
-	public List<Categoria> getDocumentChildCats(@PathVariable("idCategoria") Integer idCategoria, @PathVariable("tambit") String tambit){
-		List<Categoria> c = cs.findByPareTambit(idCategoria, tambit);
-		return c;
+	public List<Categoria> getDocumentChildCats(@PathVariable Integer idCategoria, @PathVariable String tambit) {
+		return cs.findByPareTambit(idCategoria, tambit);
 	}
 	}
 
 
 	@GetMapping("/dashboard/documents/catsu/{idCategoria}/{tambit}")
 	@GetMapping("/dashboard/documents/catsu/{idCategoria}/{tambit}")
 	@ResponseBody
 	@ResponseBody
-	public List<Categoria> getDocumentChildCatsU(@PathVariable("idCategoria") Integer idCategoria, @PathVariable("tambit") String tambit){
-		List<Categoria> c = cs.findByPareTambitAndU(idCategoria, tambit);
-		System.out.println(c);
-		return c;
+	public List<Categoria> getDocumentChildCatsU(@PathVariable Integer idCategoria, @PathVariable String tambit) {
+		return cs.findByPareTambitAndU(idCategoria, tambit);
 	}
 	}
 	
 	
 	// POST para guardar un documento en el sistema
 	// POST para guardar un documento en el sistema
 	@PostMapping("/dashboard/documents")
 	@PostMapping("/dashboard/documents")
 	@ResponseBody
 	@ResponseBody
-	public void uploadDocument(Model model, @RequestParam MultipartFile file, @RequestParam("idCategoria") Integer idCategoria, 
-							   @RequestParam("lugar") Integer lugar, @RequestParam("tlugar") String tlugar) throws IllegalStateException, IOException {
+	public void uploadDocument(@RequestParam MultipartFile file, @RequestParam Integer idCategoria, 
+							   @RequestParam Integer lugar, @RequestParam String tlugar) throws IllegalStateException, IOException {
 		
 		
 		Categoria cat = this.cs.findById(idCategoria);
 		Categoria cat = this.cs.findById(idCategoria);
 		Organ org = this.os.findByID(tlugar, lugar);
 		Organ org = this.os.findByID(tlugar, lugar);
@@ -448,14 +467,15 @@ public class DashboardController {
 	// POST para añadir un documento a un centro cocncreto
 	// POST para añadir un documento a un centro cocncreto
 	@PostMapping("/dashboard/documents/archive")
 	@PostMapping("/dashboard/documents/archive")
 	@ResponseBody
 	@ResponseBody
-	public void archiveDocuments(Model model, @RequestParam("lugar") Integer lugar, @RequestParam("tlugar") String tlugar) {
-		this.archiveByOrgan(lugar, tlugar);
+	public void archiveDocuments(Model model, @RequestParam Integer lugar, @RequestParam String tlugar) {
+		ArchiveOrganDTO organ = new ArchiveOrganDTO(lugar, tlugar);
+		dc.archiveByOrgan(organ);
 	}
 	}
 
 
 	// GET para conseguir todos los graficos a partir de un RUCT
 	// GET para conseguir todos los graficos a partir de un RUCT
 	@GetMapping("/dashboard/graphs/list/{ruct}")
 	@GetMapping("/dashboard/graphs/list/{ruct}")
 	@ResponseBody
 	@ResponseBody
-	public List<Grafica> getGraphDataList(@PathVariable("ruct") Integer ruct) throws ParserConfigurationException{
+	public List<Grafica> getGraphDataList(@PathVariable Integer ruct) throws ParserConfigurationException {
 		Organ o = os.findByRuct(ruct);
 		Organ o = os.findByRuct(ruct);
 		if(o.getId().getTlugar().equals("C")) {
 		if(o.getId().getTlugar().equals("C")) {
 			return this.gs.findLikeAmbit("%"+o.getId().getTlugar()+"%");
 			return this.gs.findLikeAmbit("%"+o.getId().getTlugar()+"%");
@@ -468,15 +488,14 @@ public class DashboardController {
 	//GET para conseguir todos los datos concretos de tasas para las tablas
 	//GET para conseguir todos los datos concretos de tasas para las tablas
 	@GetMapping("/dashboard/graphs/rates/{lugar}")
 	@GetMapping("/dashboard/graphs/rates/{lugar}")
 	@ResponseBody
 	@ResponseBody
-	public List<Indicador> getGraphDataTaxes(@PathVariable("lugar") Integer lugar) throws ParserConfigurationException{
-		List<Indicador> inds = this.ids.getGraphData(lugar);
-		return inds;
+	public List<Indicador> getGraphDataTaxes(@PathVariable Integer lugar) throws ParserConfigurationException {
+		return this.ids.getGraphData(lugar);
 	}
 	}
 	
 	
 	//GET para conseguir todos los datos concretos de cada gráfico
 	//GET para conseguir todos los datos concretos de cada gráfico
 	@GetMapping({"/dashboard/graphs/inds/{ruct}", "/dashboard/graphs/inds/{ruct}/{tambit}"})
 	@GetMapping({"/dashboard/graphs/inds/{ruct}", "/dashboard/graphs/inds/{ruct}/{tambit}"})
 	@ResponseBody
 	@ResponseBody
-	public List<Indicador> getGraphData(@PathVariable("ruct") Integer ruct, @PathVariable("tambit") Optional<String> tambit) throws ParserConfigurationException{
+	public List<Indicador> getGraphData(@PathVariable Integer ruct, @PathVariable Optional<String> tambit) throws ParserConfigurationException {
 		Organ o = os.findByRuct(ruct);
 		Organ o = os.findByRuct(ruct);
 		int year = Year.now().getValue();
 		int year = Year.now().getValue();
 		List<IndicadorDTO> data = new ArrayList<IndicadorDTO>();
 		List<IndicadorDTO> data = new ArrayList<IndicadorDTO>();
@@ -526,8 +545,7 @@ public class DashboardController {
 
 
 	@GetMapping("/dashboard/links/{ruct}")
 	@GetMapping("/dashboard/links/{ruct}")
 	@ResponseBody
 	@ResponseBody
-	@Secured({"ROLE_ADMIN", "ROLE_MANAGER"})
-	public List<Link> getLinks(@PathVariable("ruct") Integer ruct) {
+	public List<Link> getLinks(@PathVariable Integer ruct) {
 		List<Link> links = this.ls.findByRuct(ruct);
 		List<Link> links = this.ls.findByRuct(ruct);
 		for(Link l : links){
 		for(Link l : links){
 			l.setLink(publicUrl+l.getLink());
 			l.setLink(publicUrl+l.getLink());
@@ -537,8 +555,7 @@ public class DashboardController {
 
 
 	@PostMapping("/dashboard/links/{ruct}")
 	@PostMapping("/dashboard/links/{ruct}")
 	@ResponseBody
 	@ResponseBody
-	@Secured({"ROLE_ADMIN", "ROLE_MANAGER"})
-	public Link createLink(@PathVariable("ruct") Integer ruct, @RequestParam("dataExp") String dataExp) throws ParseException {
+	public Link createLink(@PathVariable Integer ruct, @RequestParam String dataExp) throws ParseException {
 		
 		
 		String token = UUID.randomUUID().toString();
 		String token = UUID.randomUUID().toString();
 		SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
 		SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
@@ -558,8 +575,7 @@ public class DashboardController {
 
 
 	@DeleteMapping("/dashboard/links/{id}")
 	@DeleteMapping("/dashboard/links/{id}")
 	@ResponseBody
 	@ResponseBody
-	@Secured({"ROLE_ADMIN", "ROLE_MANAGER"})
-	public Integer deleteLink(@PathVariable("id") Integer id) {
+	public Integer deleteLink(@PathVariable Integer id) {
 		Link l = this.ls.findById(id);
 		Link l = this.ls.findById(id);
 		if(l != null){
 		if(l != null){
 			this.ls.delete(l);
 			this.ls.delete(l);
@@ -616,8 +632,8 @@ public class DashboardController {
 		}
 		}
 		else{
 		else{
 			model.addAttribute("results", true);
 			model.addAttribute("results", true);
-			model.addAttribute("resp_centres", resp_centre);
-			model.addAttribute("resp_titulacions", resp_titulacio);
+			model.addAttribute("resp_centres", resp_centre.stream().map(UsuarisRolDTO::new).toList());
+			model.addAttribute("resp_titulacions", resp_titulacio.stream().map(UsuarisRolDTO::new).toList());
 		}
 		}
 	}
 	}
 	
 	
@@ -689,13 +705,60 @@ public class DashboardController {
 		return dc.archive(doc);
 		return dc.archive(doc);
 	}
 	}
 
 
-	private void archiveByOrgan(Integer lugar, String tlugar) {
-		ArchiveOrganDTO organ = new ArchiveOrganDTO(lugar, tlugar);
-		dc.archiveByOrgan(organ);
-	}
-
 	private String upload(Integer idDocument, Integer idCategoria, Integer lugar, String tlugar, MultipartFile file) {
 	private String upload(Integer idDocument, Integer idCategoria, Integer lugar, String tlugar, MultipartFile file) {
 			DocumentTmpDTO doc = new DocumentTmpDTO(idDocument, idCategoria, lugar, tlugar, file);
 			DocumentTmpDTO doc = new DocumentTmpDTO(idDocument, idCategoria, lugar, tlugar, file);
 			return dc.upload(doc);
 			return dc.upload(doc);
 	}
 	}
+
+	public void loadManagers(HashMap<String, Object> model, Integer centre, Integer titulacio) {
+		List<Integer> centres = Arrays.asList(centre);
+		List<Integer> titulacions = Arrays.asList(titulacio);
+		List<UsuarisRol> resp_centre = urs.findManagerByCentres(centres);
+		Collections.sort(resp_centre, new Comparator<UsuarisRol>() {  
+		    @Override  
+		    public int compare(UsuarisRol a, UsuarisRol b) {  
+		          
+		        int OrgnomComp = a.getOrgan().getNomVal().compareTo(b.getOrgan().getNomVal()); 
+		        if (OrgnomComp != 0) {  
+		            return OrgnomComp;  
+		        }  
+		        int rolComp = a.getRol().getNomRol().compareTo(b.getRol().getNomRol());
+		        if (rolComp != 0) {  
+		            return rolComp;  
+		        }
+		        return a.getUsuari().getNom().concat(a.getUsuari().getCognoms()).compareTo(
+		        		b.getUsuari().getNom().concat(b.getUsuari().getCognoms()));  
+		    }  
+		});
+		
+		List<UsuarisRol> resp_titulacio = new ArrayList<UsuarisRol>();
+		if(titulacions.size() > 0) {
+			resp_titulacio = urs.findManagerByTitulacions(titulacions);
+			Collections.sort(resp_titulacio, new Comparator<UsuarisRol>() {  
+			    @Override 
+			    public int compare(UsuarisRol a, UsuarisRol b) {  
+			          
+			        int OrgnomComp = a.getOrgan().getNomVal().compareTo(b.getOrgan().getNomVal()); 
+			        if (OrgnomComp != 0) {  
+			            return OrgnomComp;  
+			        }  
+			        int rolComp = a.getRol().getNomRol().compareTo(b.getRol().getNomRol());
+			        if (rolComp != 0) {  
+			            return rolComp;  
+			        }
+			        return a.getUsuari().getNom().concat(a.getUsuari().getCognoms()).compareTo(
+			        		b.getUsuari().getNom().concat(b.getUsuari().getCognoms()));  
+			    }  
+			});
+		}
+						
+		if(resp_centre == null) {
+			model.put("results", false);
+		}
+		else{
+			model.put("results", true);
+			model.put("resp_centres", resp_centre.stream().map(UsuarisRolDTO::new).toList());
+			model.put("resp_titulacions", resp_titulacio.stream().map(UsuarisRolDTO::new).toList());
+		}
+	}
 }
 }

+ 24 - 23
src/main/java/es/uv/saic/web/ManagersController.java

@@ -3,16 +3,16 @@ package es.uv.saic.web;
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Collections;
 import java.util.Comparator;
 import java.util.Comparator;
+import java.util.HashMap;
 import java.util.List;
 import java.util.List;
 
 
 import jakarta.servlet.http.HttpSession;
 import jakarta.servlet.http.HttpSession;
 
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.core.Authentication;
 import org.springframework.stereotype.Controller;
 import org.springframework.stereotype.Controller;
-import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RequestParam;
 
 
 import es.uv.saic.domain.Organ;
 import es.uv.saic.domain.Organ;
@@ -47,55 +47,56 @@ public class ManagersController {
 	 * - The view is managers.html
 	 * - The view is managers.html
 	 */
 	 */
 	@SuppressWarnings("unchecked")
 	@SuppressWarnings("unchecked")
-	@GetMapping("/managers")
-	public String managersForm(Model model, Authentication auth, HttpSession session) {
-		
+	@PostMapping("/managers")
+	public HashMap<String, Object> managersForm(@RequestBody Usuari usuari, HttpSession session) {
+		HashMap<String, Object> model = new HashMap<>();
 		List<Organ> sup_centres;
 		List<Organ> sup_centres;
 		List<Organ> sup_titulacions;
 		List<Organ> sup_titulacions;
-		if(urs.isGrantedUser((Usuari) auth.getPrincipal())){
+		if(urs.isGrantedUser((Usuari) usuari)){
 			sup_centres = this.ors.getCentres();
 			sup_centres = this.ors.getCentres();
 			sup_titulacions = this.ors.getTitulacions();
 			sup_titulacions = this.ors.getTitulacions();
 		}
 		}
 		else {
 		else {
-			sup_centres = this.ors.getUsuariCentres(((Usuari) auth.getPrincipal()).getUsuari());
+			sup_centres = this.ors.getUsuariCentres((usuari).getUsuari());
 			if(sup_centres != null) {
 			if(sup_centres != null) {
 				if(sup_centres.size() > 0) {
 				if(sup_centres.size() > 0) {
 					sup_titulacions = this.ors.getTitulacionsByCentres(sup_centres);
 					sup_titulacions = this.ors.getTitulacionsByCentres(sup_centres);
 				}
 				}
 				else {
 				else {
-					sup_titulacions = this.ors.getUsuariTitulacions(((Usuari) auth.getPrincipal()).getUsuari());
+					sup_titulacions = this.ors.getUsuariTitulacions(usuari.getUsuari());
 					for(Organ o : sup_titulacions) {
 					for(Organ o : sup_titulacions) {
 						sup_centres.add(o.getOrgan());
 						sup_centres.add(o.getOrgan());
 					}
 					}
 				}
 				}
 			}
 			}
 			else {
 			else {
-				sup_titulacions = this.ors.getUsuariTitulacions(((Usuari) auth.getPrincipal()).getUsuari());
+				sup_titulacions = this.ors.getUsuariTitulacions(usuari.getUsuari());
 			}
 			}
 		}
 		}
-		model.addAttribute("sup_centres", sup_centres);
-		model.addAttribute("sup_titulacions", sup_titulacions);
+		model.put("sup_centres", sup_centres);
+		model.put("sup_titulacions", sup_titulacions);
 		
 		
 		List<Usuari> users = us.findAll();
 		List<Usuari> users = us.findAll();
 		List<Rol> roles = rs.findAssignables();
 		List<Rol> roles = rs.findAssignables();
-		model.addAttribute("users", users);
-		model.addAttribute("roles", roles);
+		model.put("users", users);
+		model.put("roles", roles);
 		
 		
 	
 	
 		if(session.getAttribute("respTitulacions") != null && session.getAttribute("respCentres") != null ) {
 		if(session.getAttribute("respTitulacions") != null && session.getAttribute("respCentres") != null ) {
-			model.addAttribute("restoreCentres", ((List<Integer>)session.getAttribute("respCentres")).toString());
-			model.addAttribute("restoreTitulacions", ((List<Integer>)session.getAttribute("respTitulacions")).toString());
+			model.put("restoreCentres", ((List<Integer>)session.getAttribute("respCentres")).toString());
+			model.put("restoreTitulacions", ((List<Integer>)session.getAttribute("respTitulacions")).toString());
 			this.loadManagers(model, (List<Integer>)session.getAttribute("respCentres"), (List<Integer>)session.getAttribute("respTitulacions"));
 			this.loadManagers(model, (List<Integer>)session.getAttribute("respCentres"), (List<Integer>)session.getAttribute("respTitulacions"));
 			session.removeAttribute("respTitulacions");
 			session.removeAttribute("respTitulacions");
 			session.removeAttribute("respCentres");
 			session.removeAttribute("respCentres");
 		}
 		}
 		
 		
 		if(session.getAttribute("roleExists") != null) {
 		if(session.getAttribute("roleExists") != null) {
-			model.addAttribute("roleExists", true);
+			model.put("roleExists", true);
 			session.removeAttribute("roleExists");
 			session.removeAttribute("roleExists");
 		}
 		}
 		
 		
-		return "managers";
+		model.put("ok", "managers");
+		return model;
 	}
 	}
 	
 	
 	/*
 	/*
@@ -105,7 +106,7 @@ public class ManagersController {
 	 * @Return The view component list_managers
 	 * @Return The view component list_managers
 	 */
 	 */
 	@PostMapping("/managers/search")
 	@PostMapping("/managers/search")
-	public String managersSearch(Model model, Authentication auth, 
+	public String managersSearch(@RequestBody HashMap<String, Object> model,
 			@RequestParam("center") List<Integer> centres,
 			@RequestParam("center") List<Integer> centres,
 			@RequestParam(name="titulation[]", required=false) List<Integer> titulacions,
 			@RequestParam(name="titulation[]", required=false) List<Integer> titulacions,
 			HttpSession session) {
 			HttpSession session) {
@@ -127,7 +128,7 @@ public class ManagersController {
 	 * @Param centres List of centre ids to search managers in
 	 * @Param centres List of centre ids to search managers in
 	 * @Param titulacions List of titulacion ids to search managers in
 	 * @Param titulacions List of titulacion ids to search managers in
 	 */
 	 */
-	public void loadManagers(Model model, List<Integer> centres, List<Integer> titulacions) {
+	public void loadManagers(HashMap<String, Object> model, List<Integer> centres, List<Integer> titulacions) {
 		List<UsuarisRol> resp_centre = urs.findManagerByCentres(centres);
 		List<UsuarisRol> resp_centre = urs.findManagerByCentres(centres);
 		Collections.sort(resp_centre, new Comparator<UsuarisRol>() {  
 		Collections.sort(resp_centre, new Comparator<UsuarisRol>() {  
 		    @Override  
 		    @Override  
@@ -168,12 +169,12 @@ public class ManagersController {
 		}
 		}
 				
 				
 		if(resp_centre == null) {
 		if(resp_centre == null) {
-			model.addAttribute("results", false);
+			model.put("results", false);
 		}
 		}
 		else{
 		else{
-			model.addAttribute("results", true);
-			model.addAttribute("resp_centres", resp_centre);
-			model.addAttribute("resp_titulacions", resp_titulacio);
+			model.put("results", true);
+			model.put("resp_centres", resp_centre);
+			model.put("resp_titulacions", resp_titulacio);
 		}
 		}
 	}
 	}
 	
 	

+ 40 - 14
src/main/java/es/uv/saic/web/OrganController.java

@@ -2,30 +2,37 @@ package es.uv.saic.web;
 
 
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.List;
+import java.util.stream.Collectors;
 
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.ResponseEntity;
 import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
 
 
 import es.uv.saic.domain.IndicadorEnquesta;
 import es.uv.saic.domain.IndicadorEnquesta;
 import es.uv.saic.domain.Organ;
 import es.uv.saic.domain.Organ;
+import es.uv.saic.domain.Usuari;
 import es.uv.saic.dto.OrganDTO;
 import es.uv.saic.dto.OrganDTO;
 import es.uv.saic.dto.OrganTransferDTO;
 import es.uv.saic.dto.OrganTransferDTO;
 import es.uv.saic.service.IndicadorEnquestaService;
 import es.uv.saic.service.IndicadorEnquestaService;
 import es.uv.saic.service.OrganService;
 import es.uv.saic.service.OrganService;
 
 
 
 
+
+
 @RestController
 @RestController
 public class OrganController {
 public class OrganController {
-    
+    @Autowired
+    private UsuariController uc;
+
     @Autowired
     @Autowired
     private OrganService os;
     private OrganService os;
 
 
     @Autowired
     @Autowired
     private IndicadorEnquestaService ies;
     private IndicadorEnquestaService ies;
-
     /*
     /*
      * Endpoint for getTitulacions
      * Endpoint for getTitulacions
      */
      */
@@ -52,25 +59,20 @@ public class OrganController {
      * Endpoint para findById
      * Endpoint para findById
      */
      */
     @GetMapping("/findById/{tlugar}/{idTitulacio}")
     @GetMapping("/findById/{tlugar}/{idTitulacio}")
-    public ResponseEntity<?> findById(@PathVariable String tlugar,  @PathVariable Integer idTitulacio) {
-        try {
-            Organ organ = os.findByID(tlugar, idTitulacio);
-            OrganTransferDTO organTransferDTO = new OrganTransferDTO(organ);
+    public OrganDTO findByID(@PathVariable String tlugar,  @PathVariable Integer idTitulacio) {
+        Organ organ = os.findByID(tlugar, idTitulacio);
+
+        return new OrganDTO(organ);
 
 
-            return ResponseEntity.ok(organTransferDTO);
-        } catch(Exception e) {
-            return ResponseEntity.badRequest().body("Error al obtener el organo" +
-                " por tlugar y titulación: " + e.getMessage());
-        }
     }
     }
 
 
     /*
     /*
      * Endpoint para getTitulacionsByTypeCentre
      * Endpoint para getTitulacionsByTypeCentre
      */
      */
-    @GetMapping("/getTitulacionsByTypeCentre/{lugar}/{ambit}")
-    public ResponseEntity<?> getTitulacionsByTypeCentre(@PathVariable Integer lugar, @PathVariable Integer ambit) {
+    @GetMapping("/getTitulacionsByTypeCentre/{lugar}/{type}")
+    public ResponseEntity<?> getTitulacionsByTypeCentre(@PathVariable Integer lugar, @PathVariable Integer type) {
         try {
         try {
-            List<Organ> organList = os.getTitulacionsByTypeCentre(lugar, ambit);
+            List<Organ> organList = os.getTitulacionsByTypeCentre(lugar, type);
             List<OrganTransferDTO> organDTOList = new ArrayList<>();
             List<OrganTransferDTO> organDTOList = new ArrayList<>();
             
             
             for(Organ org: organList) {
             for(Organ org: organList) {
@@ -106,6 +108,30 @@ public class OrganController {
         }
         }
     }
     }
 
 
+    @GetMapping("/getTitulacions/supervisor")
+    public List<OrganDTO> getTitulacionsSupervisor() {
+        return os.getTitulacions().stream()
+            .filter(o -> o.getOrgan().getId().getLugar() != 99)
+            .map(OrganDTO::new)
+            .collect(Collectors.toList());
+    }
+    
+    @GetMapping("/getTitulacionsByCentre/{centre}")
+    public List<OrganDTO> getTitulacionsByCentre(@PathVariable Integer centre) {
+        return os.getTitulacionsByCentre(centre).stream()
+            .map(OrganDTO::new)
+            .distinct()
+            .collect(Collectors.toList());
+    }
+
+    @PostMapping("/findOrgansByUsuari")
+    public List<OrganDTO> findOrgansByUsuari(@RequestBody Usuari usuari) {
+        return uc.findActiveRols(usuari).stream()
+            .map(ur -> new OrganDTO(ur.getOrgan()))
+            .distinct()
+            .collect(Collectors.toList());
+    }
+
     @GetMapping("/getCentres")
     @GetMapping("/getCentres")
     public ResponseEntity<?> getCentres() {
     public ResponseEntity<?> getCentres() {
         try {
         try {

+ 2 - 2
src/main/resources/application.properties

@@ -6,8 +6,8 @@ spring.profiles.active=@activatedProperties@
 spring.messages.encoding=UTF-8
 spring.messages.encoding=UTF-8
 
 
 # Templates config
 # Templates config
-spring.thymeleaf.mode=HTML
-spring.thymeleaf.encoding=UTF-8
+# spring.thymeleaf.mode=HTML
+# spring.thymeleaf.encoding=UTF-8
 
 
 # JPA config
 # JPA config
 spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
 spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect