Skip to content

Commit

Permalink
Merge branch 'camilo' into davor
Browse files Browse the repository at this point in the history
  • Loading branch information
Juaco9502 committed Apr 19, 2020
2 parents 61d9c19 + b4d5fba commit bcd2c5f
Show file tree
Hide file tree
Showing 6 changed files with 171 additions and 34 deletions.
59 changes: 59 additions & 0 deletions src/main/java/edu/eci/cvds/services/ServiciosBancoFactory.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
package edu.eci.cvds.services;

import com.google.inject.Injector;
import edu.eci.cvds.persistence.*;
import edu.eci.cvds.persistence.mybatisimpl.*;
import edu.eci.cvds.services.impl.ServiciosBancoDeProyectosImpl;
import org.mybatis.guice.XMLMyBatisModule;
import org.mybatis.guice.datasource.helper.JdbcHelper;

import java.util.Optional;

import static com.google.inject.Guice.createInjector;

public class ServiciosBancoFactory {

private static ServiciosBancoFactory instance = new ServiciosBancoFactory();

private static Optional<Injector> optInjector;

private Injector myBatisInjector(String env, String pathResource) {
return createInjector(new XMLMyBatisModule() {
@Override
protected void initialize() {
setEnvironmentId(env);
install(JdbcHelper.PostgreSQL);
setClassPathResource(pathResource);
bind(UsuarioDAO.class).to(MyBatisUsuarioDAO.class);
bind(ServiciosBancoDeProyectos.class).to(ServiciosBancoDeProyectosImpl.class);
}
});
}

private ServiciosBancoFactory(){
optInjector = Optional.empty();
}

public ServiciosBancoDeProyectos getServiciosBanco(){
if (!optInjector.isPresent()) {
optInjector = Optional.of(myBatisInjector("development","mybatis-config.xml"));
}

return optInjector.get().getInstance(ServiciosBancoDeProyectos.class);
}


public ServiciosBancoDeProyectos getServiciosBancoTesting(){
if (!optInjector.isPresent()) {
optInjector = Optional.of(myBatisInjector("development","mybatis-config.xml"));
}

return optInjector.get().getInstance(ServiciosBancoDeProyectos.class);
}


public static ServiciosBancoFactory getInstance(){
return instance;
}

}
14 changes: 14 additions & 0 deletions src/main/java/edu/eci/cvds/view/ManejoIniciativaBean.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package edu.eci.cvds.view;

/**
*
* @author juaco
*/
public class ManejoIniciativaBean {

}
2 changes: 1 addition & 1 deletion src/main/webapp/WEB-INF/shiro.ini
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ authc.loginUrl = /login.xhtml
/login.xhtml = authc
/recursosTodos.xhtml =anon
/visualizarIniciativas.xhtml=anon
/visualizarIniciativasPersona.xhtml=authc
/visualizarIniciativasPersona.xhtml=anon
/reservarRecurso.xhtml =authc
/login2.xhtml =authc
/index.xhtml =authc
Expand Down
34 changes: 27 additions & 7 deletions src/main/webapp/index.xhtml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<!DOCTYPE html>
<!DOCTYPE html>
<html xmlns="http://www.w3c.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:p="http://primefaces.org/ui"
Expand Down Expand Up @@ -93,19 +93,39 @@ lang="es">
Iniciativas disponibles
<p:outputPanel>
<h:outputText value="Busqueda general:" />
<p:inputText id="globalFilter" onkeyup="PF('recursosTable').filter()" style="width:150px" placeholder="Ingresa algun elemento"/>
</p:outputPanel>
<p:inputText id="globalFilter" onkeyup="PF('recursosTable').filter()" style="width:240px" placeholder="Ingresa algún elemento"/>
</p:outputPanel>
</f:facet>
<p:column headerText="ID Iniciativa" filterBy="#{recurso.id}" filterMatchMode="contains">
<h:outputText value="#{iniciativas.id}" />
<h:outputText value="#{iniciativa.id}" />
</p:column>

<p:column headerText="Nombre" filterBy="#{recurso.nombre}" filterMatchMode="contains">
<h:outputText value="#{iniciativas.nombre}" />
<h:outputText value="#{iniciativa.nombre}" />
</p:column>

<p:column headerText="Votos" filterBy="#{recurso.votos}" filterMatchMode="contains">
<h:outputText value="#{iniciativa.votos}" />
</p:column>

<p:column headerText="Estado" filterBy="#{recurso.ubicacion}" filterMatchMode="contains">
<h:outputText value="#{iniciativas.ubicacion}" />
<p:column headerText="Estado" filterBy="#{recurso.estado}" filterMatchMode="contains">
<h:outputText value="#{iniciativa.estado}" />
</p:column>

<p:column headerText="Area" filterBy="#{recurso.area}" filterMatchMode="contains">
<h:outputText value="#{iniciativa.area}" />
</p:column>

<p:column headerText="Fecha inicio" filterBy="#{recurso.fechacreacion}" filterMatchMode="contains">
<h:outputText value="#{iniciativa.fechacreacion}" />
</p:column>

<p:column headerText="Fecha fin" filterBy="#{recurso.fechafin}" filterMatchMode="contains">
<h:outputText value="#{iniciativa.fechafin}" />
</p:column>

<p:column headerText="Descripcion" filterBy="#{recurso.descripcion}" filterMatchMode="contains">
<h:outputText value="#{iniciativa.descripcion}" />
</p:column>

</p:dataTable>
Expand Down
2 changes: 1 addition & 1 deletion src/main/webapp/login.xhtml
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ lang="es">
</div>
<p></p>
<div align='center'>
<p:commandButton onclick="window.location.href='visualizarIniciativas.xhtml'; return false;" value="Proponer Iniciativas"/>
<p:commandButton onclick="window.location.href='visualizarIniciativasPersona.xhtml'; return false;" value="Proponer Iniciativas"/>
<p:commandButton onclick="window.location.href='visualizarIniciativas.xhtml'; return false;" value="Consultar Iniciativas"/>
</div>
</div>
Expand Down
94 changes: 69 additions & 25 deletions src/main/webapp/registrarIniciativa.xhtml
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ lang="es">
<a class="nav-link" href="/index.xhtml">Inicio</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/visualizarReservas.xhtml">Visualizar Iniciativas</a>
<a class="nav-link" href="/visualizarIniciativasPersona.xhtml">Visualizar Iniciativas</a>
</li>
<shiro:hasRole name="Admin"><li class="nav-item">
<a class="nav-link" href="/registrarIniciativa.xhtml">Administrar iniciativas</a>
Expand Down Expand Up @@ -100,15 +100,15 @@ lang="es">

<div class="control-group">
<div class="form-group floating-label-form-group controls">
<label for="dateInicio">Hora inicio</label>
<p:datePicker id="dateInicio" timeOnly="true" pattern="HH:mm" placeholder="Hora Inicio" binding="#{superFechaInicio}"/>
<label for="fechaCreacion">Fecha de creación</label>
<p:datePicker id="fechaCreacion" monthNavigator="true" pattern="yyyy-MMM-dd" placeholder="Fecha de creación" binding="#{superFechaCreacion}"/>
</div>
</div>

<div class="control-group">
<div class="form-group floating-label-form-group controls">
<label for="dateFin">Hora Fin</label>
<p:datePicker id="dateFin" timeOnly="true" pattern="HH:mm" placeholder="Hora Fin" binding="#{superFechaFin}"/>
<label for="fechaFin">Fecha de finalización</label>
<p:datePicker id="fechaFin" monthNavigator="true" pattern="yyyy-MMM-dd" placeholder="Fecha de finalización" binding="#{superFechaFin}"/>
</div>
</div>

Expand All @@ -120,20 +120,25 @@ lang="es">
<h:outputText id="display" />
</div>
</div>

<p:outputLabel for="tipoEstado" value="Estado:" />
<p:selectOneRadio id="tipoEstado" binding="#{superEstado1}" unselectable="true">
<f:selectItem itemLabel="En espera de revisión" itemValue="1" />
<f:selectItem itemLabel="En revisión" itemValue="2" />
<f:selectItem itemLabel="Proyecto" itemValue="3" />
<f:selectItem itemLabel="Solucionado" itemValue="4" />


<p:outputLabel for="area" value="Area:" />
<p:selectOneRadio id="area" binding="#{superArea}" unselectable="true">
<f:selectItem itemLabel="Infraestructura" itemValue="infraestructura" />
<f:selectItem itemLabel="Bienestar" itemValue="bienestar" />
<f:selectItem itemLabel="Decanatura" itemValue="decanatura" />
<f:selectItem itemLabel="Consejo" itemValue="consejo" />
<f:selectItem itemLabel="Registro" itemValue="registro" />
</p:selectOneRadio>

<hr/>
<div class="form-group">
<p:commandButton actionListener="#{RegistrarIniciativaBean.registrarIniciativa(superEstado1.value, superNombre.value, superUbicacion.value,superCapacidad.value,superFechaInicio.value,superFechaFin.value,superDescripcion.value)}" value="Registrar"></p:commandButton>
<p:commandButton actionListener="#{ManejoIniciativaBean.registrarIniciativa(superEstado1.value, superNombre.value, superUbicacion.value,superCapacidad.value,superFechaInicio.value,superFechaFin.value,superDescripcion.value)}" value="Registrar"></p:commandButton>
</div>
</h:form>
<br/>
<br/>
<br/>
<hr/>
<br/>
<h:form name="sentMessage" id="acutalizarIniciativa">
Expand All @@ -145,22 +150,41 @@ lang="es">
<div class="form-group floating-label-form-group controls">
<h:outputText value="Coloca un ID"/>
<label>ID</label>
<p:inputText placeholder="ID" id="id" data-validation-required-message="Ingresa el ID de la iniciativa" binding="#{superID}" value="#{RegistrarIniciativaBean.idActualEstado}">
<p:ajax event="keyup" update="itemRentadoRetarded" />
<p:inputText placeholder="ID" id="id" data-validation-required-message="Ingresa el ID de la iniciativa" binding="#{superID}" value="#{ManejoIniciativaBean.idActualEstado}">
<p:ajax event="keyup" update="iniciativaEstadoCambio" />
</p:inputText>
</div>
</div>
<p:dataTable id="itemRentadoRetarded" var="iniciativa" value="#{RegistrarIniciativaBean.consultarIniciativa(superID.value)}" style="text-align: center;">
<p:dataTable id="iniciativaEstadoCambio" var="iniciativa" value="#{ManejoIniciativaBean.consultarIniciativa(superID.value)}" style="text-align: center;">
<f:facet name="header">
Iniciativa seleccionada
</f:facet>

<p:column headerText="Nombre">
<h:outputText value="#{iniciativa.nombre}" />
</p:column>

<p:column headerText="Estado">
<h:outputText value="#{iniciativas.estado}" />
<h:outputText value="#{iniciativa.estado}" />
</p:column>

<p:column headerText="Nombre">
<h:outputText value="#{iniciativas.nombre}" />

<p:column headerText="Votos">
<h:outputText value="#{iniciativa.numvotos}" />
</p:column>

<p:column headerText="Area">
<h:outputText value="#{iniciativa.area}" />
</p:column>


<p:column headerText="Fecha inicio">
<h:outputText value="#{iniciativa.fechacreacion}" />
</p:column>

<p:column headerText="Fecha fin">
<h:outputText value="#{iniciativa.fechafin}" />
</p:column>



</p:dataTable>
Expand All @@ -173,26 +197,46 @@ lang="es">
</p:selectOneRadio>

<div class="form-group">
<p:commandButton actionListener="#{RegistrarIniciativaBean.actualizarEstadoIniciativa(superID.value, superEstado2.value)}" value="Registrar" update="@form"></p:commandButton>
<p:commandButton actionListener="#{ManejoIniciativaBean.actualizarEstadoIniciativa(superID.value, superEstado2.value)}" value="Actualizar" update="@form"></p:commandButton>
</div>
<p:dialog widgetVar="eventDialog" header="Event Details" showEffect="clip" hideEffect="clip">
<p:dataTable id="itemRentadoRetardedchas" var="iniciativa" value="#{RegistrarIniciativaBean.consultarIniciativas()}" selectionMode="single" selection="#{RegistrarIniciativaBean.idActualEstado}" rowKey="#{iniciativa}"
<p:dataTable id="iniciativaEstadoChas" var="iniciativa" value="#{ManejoIniciativaBean.consultarIniciativas()}" selectionMode="single" selection="#{ManejoIniciativaBean.idActualEstado}" rowKey="#{iniciativa}"
paginator="true" paginatorTemplate="{FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"
rows="10" style="text-align: center;">
<f:facet name="header">
Iniciativas existentes
</f:facet>
<p:ajax event="rowSelect" listener="#{RegistrarIniciativaBean.onRowSelect}" update="@form" oncomplete="PF('eventDialog').hide();"/>
<p:ajax event="rowSelect" listener="#{ManejoIniciativaBean.onRowSelect}" update="@form" oncomplete="PF('eventDialog').hide();"/>
<p:column headerText="ID Iniciativa">
<h:outputText value="#{iniciativas.id}" />
</p:column>

<p:column headerText="Nombre">
<h:outputText value="#{iniciativas.nombre}" />
<h:outputText value="#{iniciativa.nombre}" />
</p:column>

<p:column headerText="Estado">
<h:outputText value="#{iniciativas.ubicacion}" />
<h:outputText value="#{iniciativa.estado}" />
</p:column>

<p:column headerText="Votos">
<h:outputText value="#{iniciativa.numvotos}" />
</p:column>

<p:column headerText="Area">
<h:outputText value="#{iniciativa.area}" />
</p:column>

<p:column headerText="Fecha inicio">
<h:outputText value="#{iniciativa.fechacrecion}" />
</p:column>

<p:column headerText="Fecha fin">
<h:outputText value="#{iniciativa.fechafin}" />
</p:column>

<p:column headerText="Descripcion">
<h:outputText value="#{iniciativa.descripcion}" />
</p:column>

</p:dataTable>
Expand Down

0 comments on commit bcd2c5f

Please sign in to comment.