Commit 4486d74b authored by paloma.piot's avatar paloma.piot

Merge branch 'develop'

parents 363f8eac 4cc0fab8
......@@ -4,7 +4,7 @@
<groupId>es.festis.backstage</groupId>
<artifactId>backstage</artifactId>
<version>2.0.0</version>
<version>3.1.0</version>
<packaging>war</packaging>
<name>Backstage</name>
......
package es.festis.backstage.repository;
import java.util.List;
import java.util.Optional;
import org.springframework.data.domain.Page;
......@@ -21,6 +22,9 @@ public interface EscenarioRepository extends JpaRepository<Escenario, Long> {
@Query("select e from Escenario e where e.edicion.id = :id")
Page<Escenario> findByEdicionId(@Param("id") Long id, Pageable page);
@Query("select e from Escenario e where e.edicion.id = :id")
List<Escenario> findByEdicionId(@Param("id") Long id);
Optional<Escenario> findByNombreAndEdicionId(@Param("nombre") String nombre, @Param("edicionId") Long edicionId);
}
package es.festis.backstage.repository;
import java.time.ZonedDateTime;
import java.util.List;
import java.util.Optional;
import org.springframework.data.domain.Page;
......@@ -36,4 +37,12 @@ public interface SlotRepository extends JpaRepository<Slot, Long> {
@Param("contenidoId") Long contenidoId, @Param("edicionId") Long edicionId,
@Param("fechafin") ZonedDateTime fechafin, @Param("fechaInicio") ZonedDateTime fechaInicio);
@Query("select new es.festis.backstage.service.dto.SlotDTO (s.id, s.fechaInicio, s.fechafin, c.id, c.nombre, "
+ " e.id, e.nombre, ed.id) from Slot s left join Contenido c on "
+ " s.contenido.id = c.id left join Escenario e on s.escenario.id = e.id left join Edicion ed "
+ " on s.edicion.id = ed.id where s.edicion.id = :edicionId and s.escenario.id = :escenarioId and "
+ " s.fechaInicio between :inicio and :fin order by s.fechaInicio")
List<SlotDTO> findByEscenarioIdAndEdicionIdAndFechaInicioBetween(@Param("escenarioId") Long escenarioId,
@Param("edicionId") Long edicionId, @Param("inicio") ZonedDateTime inicio, @Param("fin") ZonedDateTime fin);
}
package es.festis.backstage.service;
import java.time.LocalDate;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.time.temporal.ChronoUnit;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.data.domain.Page;
......@@ -7,8 +15,15 @@ import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import es.festis.backstage.domain.Edicion;
import es.festis.backstage.domain.Escenario;
import es.festis.backstage.domain.Slot;
import es.festis.backstage.repository.EdicionRepository;
import es.festis.backstage.repository.EscenarioRepository;
import es.festis.backstage.repository.SlotRepository;
import es.festis.backstage.service.dto.ClashfinderDTO;
import es.festis.backstage.service.dto.ProgramaEscenarioDTO;
import es.festis.backstage.service.dto.ProgramaJornadaDTO;
import es.festis.backstage.service.dto.SlotDTO;
import es.festis.backstage.service.mapper.SlotMapper;
......@@ -23,11 +38,18 @@ public class SlotService {
private final SlotRepository slotRepository;
private final EdicionRepository edicionRepository;
private final EscenarioRepository escenarioRepository;
private final SlotMapper slotMapper;
public SlotService(SlotRepository slotRepository, SlotMapper slotMapper) {
public SlotService(SlotRepository slotRepository, SlotMapper slotMapper, EdicionRepository edicionRepository,
EscenarioRepository escenarioRepository) {
this.slotRepository = slotRepository;
this.slotMapper = slotMapper;
this.edicionRepository = edicionRepository;
this.escenarioRepository = escenarioRepository;
}
/**
......@@ -85,6 +107,8 @@ public class SlotService {
/**
* Get all the slots by edicion.
*
* @param id
* edicion id
* @param pageable
* the pagination information
* @return the list of entities
......@@ -94,4 +118,85 @@ public class SlotService {
log.debug("Request to get all Slots by edicion");
return slotRepository.findSlotsByEdicion(id, pageable);
}
/**
* Get clashfinder by edicion.
*
* @param id
* edicion id
* @return the list of entities
*/
@Transactional(readOnly = true)
public ClashfinderDTO findClashfinder(Long id) {
log.debug("Request to get clashfinder by edicion");
ClashfinderDTO clashfinder = new ClashfinderDTO();
ZonedDateTime inicioMin = null;
ZonedDateTime finMax = null;
clashfinder.setInicio(inicioMin);
clashfinder.setFin(finMax);
Edicion edicion = edicionRepository.findOne(id);
LocalDate fechaInicio = edicion.getFechaIinicio();
LocalDate fechaFin = edicion.getFechaFin();
List<Escenario> escenarios = escenarioRepository.findByEdicionId(edicion.getId());
List<ProgramaJornadaDTO> programaJornadaDTOList = new ArrayList<ProgramaJornadaDTO>();
Comparator<ZonedDateTime> comparator = Comparator.comparing(zdt -> zdt.truncatedTo(ChronoUnit.MINUTES));
while (!fechaInicio.isAfter(fechaFin)) {
List<ProgramaEscenarioDTO> programaEscenarioDTOList = new ArrayList<ProgramaEscenarioDTO>();
ZonedDateTime inicio = fechaInicio.atTime(7, 59).atZone(ZoneId.systemDefault());
ProgramaJornadaDTO programaJornadaDTO = new ProgramaJornadaDTO();
programaJornadaDTO.setJornada(fechaInicio);
fechaInicio = fechaInicio.plusDays(1);
ZonedDateTime fin = fechaInicio.atTime(8, 0).atZone(ZoneId.systemDefault());
for (Escenario escenario : escenarios) {
ProgramaEscenarioDTO programaEscenarioDTO = new ProgramaEscenarioDTO();
List<SlotDTO> slotDTOList = slotRepository.findByEscenarioIdAndEdicionIdAndFechaInicioBetween(
escenario.getId(), edicion.getId(), inicio, fin);
if (slotDTOList.size() > 0) {
ZonedDateTime minInicio = slotDTOList.get(0).getFechaInicio();
if (clashfinder.getInicio() == null
|| (minInicio.getHour() > 8 && minInicio.isBefore(clashfinder.getInicio()))) {
clashfinder.setInicio(minInicio);
}
ZonedDateTime maxfin = slotDTOList.stream().map(SlotDTO::getFechafin).max(comparator).get();
if (clashfinder.getFin() == null) {
clashfinder.setFin(maxfin);
} else {
if (maxfin.getHour() < 10) {
if (clashfinder.getFin().getHour() < 10) {
if (maxfin.isAfter(clashfinder.getFin()))
clashfinder.setFin(maxfin);
} else {
clashfinder.setFin(maxfin);
}
} else {
if (clashfinder.getFin().getHour() > 10) {
if (maxfin.isAfter(clashfinder.getFin()))
clashfinder.setFin(maxfin);
}
}
}
}
programaEscenarioDTO.setNombreEscenario(escenario.getNombre());
programaEscenarioDTO.setSlotDTOList(slotDTOList);
programaEscenarioDTOList.add(programaEscenarioDTO);
}
programaJornadaDTO.setProgramaEscenarioDTO(programaEscenarioDTOList);
programaJornadaDTOList.add(programaJornadaDTO);
}
clashfinder.setProgramaJornadaDTOList(programaJornadaDTOList);
return clashfinder;
}
}
package es.festis.backstage.service.dto;
import java.time.ZonedDateTime;
import java.util.List;
public class ClashfinderDTO {
List<ProgramaJornadaDTO> programaJornadaDTOList;
ZonedDateTime inicio;
ZonedDateTime fin;
public ClashfinderDTO(List<ProgramaJornadaDTO> programaJornadaDTOList, ZonedDateTime inicio, ZonedDateTime fin) {
super();
this.programaJornadaDTOList = programaJornadaDTOList;
this.inicio = inicio;
this.fin = fin;
}
public ClashfinderDTO() {
}
public List<ProgramaJornadaDTO> getProgramaJornadaDTOList() {
return programaJornadaDTOList;
}
public void setProgramaJornadaDTOList(List<ProgramaJornadaDTO> programaJornadaDTOList) {
this.programaJornadaDTOList = programaJornadaDTOList;
}
public ZonedDateTime getInicio() {
return inicio;
}
public void setInicio(ZonedDateTime inicio) {
this.inicio = inicio;
}
public ZonedDateTime getFin() {
return fin;
}
public void setFin(ZonedDateTime fin) {
this.fin = fin;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((fin == null) ? 0 : fin.hashCode());
result = prime * result + ((inicio == null) ? 0 : inicio.hashCode());
result = prime * result + ((programaJornadaDTOList == null) ? 0 : programaJornadaDTOList.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
ClashfinderDTO other = (ClashfinderDTO) obj;
if (fin == null) {
if (other.fin != null)
return false;
} else if (!fin.equals(other.fin))
return false;
if (inicio == null) {
if (other.inicio != null)
return false;
} else if (!inicio.equals(other.inicio))
return false;
if (programaJornadaDTOList == null) {
if (other.programaJornadaDTOList != null)
return false;
} else if (!programaJornadaDTOList.equals(other.programaJornadaDTOList))
return false;
return true;
}
@Override
public String toString() {
return "ClashfinderDTO [programaJornadaDTOList=" + programaJornadaDTOList + ", inicio=" + inicio + ", fin="
+ fin + "]";
}
}
package es.festis.backstage.service.dto;
import java.util.List;
public class ProgramaEscenarioDTO {
String nombreEscenario;
List<SlotDTO> slotDTOList;
public ProgramaEscenarioDTO(String nombreEscenario, List<SlotDTO> slotDTOList) {
super();
this.nombreEscenario = nombreEscenario;
this.slotDTOList = slotDTOList;
}
public ProgramaEscenarioDTO() {
}
public String getNombreEscenario() {
return nombreEscenario;
}
public void setNombreEscenario(String nombreEscenario) {
this.nombreEscenario = nombreEscenario;
}
public List<SlotDTO> getSlotDTOList() {
return slotDTOList;
}
public void setSlotDTOList(List<SlotDTO> slotDTOList) {
this.slotDTOList = slotDTOList;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((nombreEscenario == null) ? 0 : nombreEscenario.hashCode());
result = prime * result + ((slotDTOList == null) ? 0 : slotDTOList.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
ProgramaEscenarioDTO other = (ProgramaEscenarioDTO) obj;
if (nombreEscenario == null) {
if (other.nombreEscenario != null)
return false;
} else if (!nombreEscenario.equals(other.nombreEscenario))
return false;
if (slotDTOList == null) {
if (other.slotDTOList != null)
return false;
} else if (!slotDTOList.equals(other.slotDTOList))
return false;
return true;
}
@Override
public String toString() {
return "ProgramaEscenarioDTO [nombreEscenario=" + nombreEscenario + ", slotDTOList=" + slotDTOList + "]";
}
}
package es.festis.backstage.service.dto;
import java.time.LocalDate;
import java.util.List;
public class ProgramaJornadaDTO {
List<ProgramaEscenarioDTO> programaEscenarioDTOList;
LocalDate jornada;
public ProgramaJornadaDTO(List<ProgramaEscenarioDTO> programaEscenarioDTO, LocalDate jornada) {
super();
this.programaEscenarioDTOList = programaEscenarioDTO;
this.jornada = jornada;
}
public ProgramaJornadaDTO() {
}
public List<ProgramaEscenarioDTO> getProgramaEscenarioDTO() {
return programaEscenarioDTOList;
}
public void setProgramaEscenarioDTO(List<ProgramaEscenarioDTO> programaEscenarioDTO) {
this.programaEscenarioDTOList = programaEscenarioDTO;
}
public LocalDate getJornada() {
return jornada;
}
public void setJornada(LocalDate jornada) {
this.jornada = jornada;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((jornada == null) ? 0 : jornada.hashCode());
result = prime * result + ((programaEscenarioDTOList == null) ? 0 : programaEscenarioDTOList.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
ProgramaJornadaDTO other = (ProgramaJornadaDTO) obj;
if (jornada == null) {
if (other.jornada != null)
return false;
} else if (!jornada.equals(other.jornada))
return false;
if (programaEscenarioDTOList == null) {
if (other.programaEscenarioDTOList != null)
return false;
} else if (!programaEscenarioDTOList.equals(other.programaEscenarioDTOList))
return false;
return true;
}
@Override
public String toString() {
return "ProgramaJornadaDTO [programaEscenarioDTO=" + programaEscenarioDTOList + ", jornada=" + jornada + "]";
}
}
......@@ -176,7 +176,7 @@ public class EdicionResource {
@Timed
@Secured({ AuthoritiesConstants.ADMIN, AuthoritiesConstants.USER })
public ResponseEntity<List<EdicionDTO>> getAllEdicions(@PathVariable Long id) {
log.debug("REST request to get Edicions from Festival with id ", id);
log.debug("REST request to get Edicions from Festival with id {}", id);
List<EdicionDTO> list = edicionService.findAllEdicionesFestival(id);
return new ResponseEntity<>(list, HttpStatus.OK);
}
......
......@@ -3,7 +3,6 @@ package es.festis.backstage.web.rest;
import java.net.URI;
import java.net.URISyntaxException;
import java.time.LocalDate;
import java.time.ZoneId;
import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.util.List;
......@@ -37,6 +36,7 @@ import es.festis.backstage.repository.EscenarioRepository;
import es.festis.backstage.repository.SlotRepository;
import es.festis.backstage.security.AuthoritiesConstants;
import es.festis.backstage.service.SlotService;
import es.festis.backstage.service.dto.ClashfinderDTO;
import es.festis.backstage.service.dto.SlotDTO;
import es.festis.backstage.web.rest.errors.BadRequestAlertException;
import es.festis.backstage.web.rest.errors.ContenidoOverlapException;
......@@ -127,30 +127,54 @@ public class SlotResource {
Edicion edicion = edicionRepository.findOne(slotDTO.getEdicionId());
edicion.setFechaFin(edicion.getFechaFin().plusDays(1));
slotDTO.setFechaInicio(slotDTO.getFechaInicio().withZoneSameInstant(ZoneOffset.UTC));
slotDTO.setFechafin(slotDTO.getFechafin().withZoneSameInstant(ZoneOffset.UTC));
// La fecha inicio es al día siguiente de la jornada si de de 00:00 a 08.00
LocalDate diaInicio = (slotDTO.getFechaInicio().getHour() >= 0) && (slotDTO.getFechaInicio().getHour() < 8)
? edicion.getFechaIinicio()
.withDayOfYear((int) (edicion.getFechaIinicio().getDayOfYear() + jornada + 1))
: edicion.getFechaIinicio().withDayOfYear((int) (edicion.getFechaIinicio().getDayOfYear() + jornada));
slotDTO.setFechaInicio(ZonedDateTime.ofInstant(slotDTO.getFechaInicio().withYear(diaInicio.getYear())
.withMonth(diaInicio.getMonthValue()).withDayOfYear(diaInicio.getDayOfYear()).toInstant(),
ZoneId.systemDefault()));
// La fecha fin es al día siguiente de la jornada si de 00:00 a 08:00
// o si la fecha fin es menor que la inicio
// LocalDate diaFin = (slotDTO.getFechafin().getHour() >= 0) &&
// (slotDTO.getFechafin().getHour() < 8
// || (slotDTO.getFechafin().getHour() < slotDTO.getFechaInicio().getHour()))
// ? edicion.getFechaIinicio()
// .withDayOfYear((int) (edicion.getFechaIinicio().getDayOfYear() + jornada +
// 1))
// : edicion.getFechaIinicio()
// .withDayOfYear((int) (edicion.getFechaIinicio().getDayOfYear() + jornada));
LocalDate diaFin = (slotDTO.getFechafin().getHour() < slotDTO.getFechaInicio().getHour())
? diaInicio.plusDays(1)
: diaInicio;
// slotDTO.setFechaInicio(ZonedDateTime.ofInstant(slotDTO.getFechaInicio().withYear(diaInicio.getYear())
// .withMonth(diaInicio.getMonthValue()).withDayOfYear(diaInicio.getDayOfYear()).toInstant(),
// ZoneOffset.UTC)); // ZoneId.systemDefault() ZoneOffset.UTC
slotDTO.setFechaInicio(ZonedDateTime.of(diaInicio.getYear(), diaInicio.getMonthValue(),
diaInicio.getDayOfMonth(), slotDTO.getFechaInicio().getHour(), slotDTO.getFechaInicio().getMinute(), 0,
0, ZoneOffset.UTC));
log.info("SLOT DTO FECHA INICIO: {} (diaInicio {})", slotDTO.getFechaInicio(), diaInicio);
log.debug("SLOT DTO FECHA INICIO: {} (diaInicio {})", slotDTO.getFechaInicio(), diaInicio);
LocalDate diaFin = (slotDTO.getFechafin().getHour() >= 0) && (slotDTO.getFechafin().getHour() < 8)
? edicion.getFechaIinicio()
.withDayOfYear((int) (edicion.getFechaIinicio().getDayOfYear() + jornada + 1))
: edicion.getFechaIinicio().withDayOfYear((int) (edicion.getFechaIinicio().getDayOfYear() + jornada));
// slotDTO.setFechafin(ZonedDateTime.ofInstant(slotDTO.getFechafin().withYear(diaFin.getYear())
// .withMonth(diaFin.getMonthValue()).withDayOfYear(diaFin.getDayOfYear()).toInstant(),
// ZoneOffset.UTC)); // ZoneId.systemDefault()
slotDTO.setFechafin(ZonedDateTime.of(diaFin.getYear(), diaFin.getMonthValue(), diaFin.getDayOfMonth(),
slotDTO.getFechafin().getHour(), slotDTO.getFechafin().getMinute(), 0, 0, ZoneOffset.UTC));
slotDTO.setFechafin(ZonedDateTime.ofInstant(slotDTO.getFechafin().withYear(diaFin.getYear())
.withMonth(diaFin.getMonthValue()).withDayOfYear(diaFin.getDayOfYear()).toInstant(),
ZoneId.systemDefault()));
log.info("SLOT DTO FECHA FIN: {} (diaFin {})", slotDTO.getFechafin(), diaFin);
log.debug("SLOT DTO FECHA FIN: {} (diaFin {})", slotDTO.getFechafin(), diaFin);
// Comprobar que el slot no se solapa
slotRepository.findFirstByFechafinAfterAndFechaInicioBeforeAndEscenarioId(slotDTO.getFechaInicio(),
slotDTO.getFechafin(), slotDTO.getEscenarioId()).ifPresent(u -> {
log.info("VALIDACION ERROR slot se solapa {} ({}), {} ({})", slotDTO.getFechaInicio(),
u.getFechaInicio(), slotDTO.getFechafin(), u.getFechafin());
log.debug("VALIDACION ERROR slot se solapa {} ({}), {} ({})", slotDTO.getFechaInicio(),
u.getFechaInicio(), slotDTO.getFechafin(), u.getFechafin());
throw new SlotOverlapException();
......@@ -167,6 +191,14 @@ public class SlotResource {
// comprobar horas escenario
Escenario escenario = escenarioRepository.findOne(slotDTO.getEscenarioId());
escenario.setHoraApertura(escenario.getHoraApertura().withYear(edicion.getFechaIinicio().getYear())
.withMonth(edicion.getFechaIinicio().getMonthValue())
.withDayOfMonth(edicion.getFechaIinicio().getDayOfMonth()).withZoneSameInstant(ZoneOffset.UTC));
escenario.setHoraCierre(escenario.getHoraCierre().withYear(edicion.getFechaIinicio().getYear())
.withMonth(edicion.getFechaIinicio().getMonthValue())
.withDayOfMonth(edicion.getFechaIinicio().getDayOfMonth()).withZoneSameInstant(ZoneOffset.UTC));
LocalDate diaApertura = (escenario.getHoraApertura().getHour() >= 0)
&& (escenario.getHoraApertura().getHour() < 8) ? edicion.getFechaIinicio().plusDays(jornada + 1)
: edicion.getFechaIinicio().plusDays(jornada);
......@@ -177,13 +209,15 @@ public class SlotResource {
ZonedDateTime apertura = ZonedDateTime.of(diaApertura.getYear(), diaApertura.getMonthValue(),
diaApertura.getDayOfMonth(), escenario.getHoraApertura().getHour(),
escenario.getHoraApertura().getMinute(), 0, 0, ZoneId.systemDefault());
escenario.getHoraApertura().getMinute(), 0, 0, ZoneOffset.UTC); // ZoneId.of(ZoneId.SHORT_IDS.get("ECT"))
ZonedDateTime cierre = ZonedDateTime.of(diaCierre.getYear(), diaCierre.getMonthValue(),
diaCierre.getDayOfMonth(), escenario.getHoraCierre().getHour(), escenario.getHoraCierre().getMinute(),
0, 0, ZoneId.systemDefault());
0, 0, ZoneOffset.UTC);
if (slotDTO.getFechaInicio().isBefore(apertura) || slotDTO.getFechafin().isAfter(cierre)) {
log.info("VALIDACION ERROR slot no está dentro de las horas del escenario : {} ({}) -- {} ({})",
slotDTO.getFechaInicio(), apertura, slotDTO.getFechafin(), cierre);
log.debug("VALIDACION ERROR slot no está dentro de las horas del escenario : {} ({}) -- {} ({})",
slotDTO.getFechaInicio(), apertura, slotDTO.getFechafin(), cierre);
throw new HorarioEscenarioException();
......@@ -192,6 +226,9 @@ public class SlotResource {
// dos actuaciones de un contenido a la misma hora y día
slotRepository.findFirstByContenidoIdAndEdicionIdAndFechafinAfterAndFechaInicioBefore(slotDTO.getContenidoId(),
slotDTO.getEdicionId(), slotDTO.getFechaInicio(), slotDTO.getFechafin()).ifPresent(u -> {
log.info("VALIDACION ERROR dos actuaciones del mismo contenido en mismo horario {} ({}), {} ({})",
slotDTO.getFechaInicio(), u.getFechaInicio(), slotDTO.getFechafin(), u.getFechafin());
log.debug("VALIDACION ERROR dos actuaciones del mismo contenido en mismo horario {} ({}), {} ({})",
slotDTO.getFechaInicio(), u.getFechaInicio(), slotDTO.getFechafin(), u.getFechafin());
throw new ContenidoOverlapException();
......@@ -293,6 +330,10 @@ public class SlotResource {
return createSlot(slotDTO);
}
SlotDTO copiaSlotDTO = slotDTO;
slotService.delete(slotDTO.getId());
slotDTO = validarSlot(slotDTO, jornada);
// comprobar si es la única actuación de ese contenido
......@@ -301,9 +342,10 @@ public class SlotResource {
throw new WarningContenidoAlreadyHasSlotException();
});
SlotDTO result = slotService.save(slotDTO);
return ResponseEntity.ok().headers(HeaderUtil.createEntityUpdateAlert(ENTITY_NAME, slotDTO.getId().toString()))
.body(result);
SlotDTO result = slotService.save(copiaSlotDTO);
result.setId(copiaSlotDTO.getId());
return ResponseEntity.ok()
.headers(HeaderUtil.createEntityUpdateAlert(ENTITY_NAME, copiaSlotDTO.getId().toString())).body(result);
}
/**
......@@ -361,6 +403,8 @@ public class SlotResource {
*
* @param pageable
* the pagination information
* @param id
* edicion id
* @return the ResponseEntity with status 200 (OK) and the list of slots in body
*/
@GetMapping("/slots/byEdicion/{id}")
......@@ -372,4 +416,21 @@ public class SlotResource {
HttpHeaders headers = PaginationUtil.generatePaginationHttpHeaders(page, "/api/slots");
return new ResponseEntity<>(page.getContent(), headers, HttpStatus.OK);
}
/**
* GET /clashfinder/{id} : get clashfinder of current edicion.
*
* @param id
* edicion id
* @return the ResponseEntity with status 200 (OK) and the list of programacion
* in body
*/
@GetMapping("/slots/clashfinder/{id}")
@Timed
@Secured({ AuthoritiesConstants.ADMIN, AuthoritiesConstants.USER })
public ResponseEntity<ClashfinderDTO> getClashfinder(@PathVariable Long id) {
log.debug("REST request to get a clashfinder");
ClashfinderDTO clashfinder = slotService.findClashfinder(id);
return new ResponseEntity<>(clashfinder, HttpStatus.OK);
}
}
#H2 Server Properties
#Sun Mar 04 13:32:22 CET 2018
#Fri Mar 16 13:16:56 CET 2018
0=JHipster H2 (Disk)|org.h2.Driver|jdbc\:h2\:file\:./target/h2db/db/backstage|backstage
webAllowOthers=true
webPort=8082
......
<form name="editForm" role="form" novalidate (ngSubmit)="save()" #editForm="ngForm">
<form id="custom-escenario" name="editForm" role="form" novalidate (ngSubmit)="save()" #editForm="ngForm">
<div class="modal-header">
<h4 class="modal-title" id="myEscenarioLabel" jhiTranslate="backstageApp.escenario.home.createOrEditLabel">Create or edit a Escenario</h4>
......
......@@ -10,6 +10,7 @@ import { Escenario } from './escenario.model';
import { EscenarioPopupService } from './escenario-popup.service';
import { EscenarioService } from './escenario.service';
import { Edicion } from '../edicion';
import { EdicionService } from '../edicion/edicion.service';
@Component({