Author: JirkaM Date: 2010-02-21 21:03:44 +0100 (Sun, 21 Feb 2010) New Revision: 1811 Added: trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/elvysrel/ElvysEditBean.java Modified: trunk/server/elvysCommons/src/elvys/server/bl/elvysrel/ElvysBL.java trunk/server/elvysCommons/src/elvys/server/bl/elvysrel/ElvysBLImpl.java trunk/server/elvysCommons/src/elvys/server/bl/layoutrel/LayoutBL.java trunk/server/elvysCommons/src/elvys/server/bl/layoutrel/LayoutBLImpl.java trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/ElvysesCompanyBean.java trunk/server/webServer2/JavaSource/cz/elvys/webServer/messages/labels_cs.properties trunk/server/webServer2/WebContent/WEB-INF/faces-beans.xml trunk/server/webServer2/WebContent/secured/elvysrel/editElvysForm.xhtml trunk/server/webServer2/WebContent/secured/elvysrel/listOfElvyses.xhtml Log: * update list of elvyses, add edit elvys ( not complete) modified src/elvys/server/bl/elvysrel/ElvysBL.java modified src/elvys/server/bl/elvysrel/ElvysBLImpl.java modified src/elvys/server/bl/layoutrel/LayoutBL.java modified src/elvys/server/bl/layoutrel/LayoutBLImpl.java modified JavaSource/cz/elvys/webServer/beans/ElvysesCompanyBean.java added JavaSource/cz/elvys/webServer/beans/elvysrel/ElvysEditBean.java modified JavaSource/cz/elvys/webServer/messages/labels_cs.properties modified WebContent/secured/elvysrel/editElvysForm.xhtml modified WebContent/secured/elvysrel/listOfElvyses.xhtml modified WebContent/WEB-INF/faces-beans.xml Modified: trunk/server/elvysCommons/src/elvys/server/bl/elvysrel/ElvysBL.java =================================================================== --- trunk/server/elvysCommons/src/elvys/server/bl/elvysrel/ElvysBL.java 2010-02-21 18:26:56 UTC (rev 1810) +++ trunk/server/elvysCommons/src/elvys/server/bl/elvysrel/ElvysBL.java 2010-02-21 20:03:44 UTC (rev 1811) @@ -110,4 +110,10 @@ */ public void setActiveState(Integer elvysId, boolean boolValue) throws ExecuteException; + /** + * Method for store elvys into db. + * @param elvys elvys object + */ + public void saveElvys(Elvys elvys); + } Modified: trunk/server/elvysCommons/src/elvys/server/bl/elvysrel/ElvysBLImpl.java =================================================================== --- trunk/server/elvysCommons/src/elvys/server/bl/elvysrel/ElvysBLImpl.java 2010-02-21 18:26:56 UTC (rev 1810) +++ trunk/server/elvysCommons/src/elvys/server/bl/elvysrel/ElvysBLImpl.java 2010-02-21 20:03:44 UTC (rev 1811) @@ -2,6 +2,7 @@ import java.util.List; +import org.hibernate.HibernateException; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.Transaction; @@ -297,6 +298,24 @@ } return elvyses; } + + @Override + public void saveElvys(Elvys elvys) { + // ADD validation of password if not updating + Session sess = InitSessionFactory.getInstance().getCurrentSession(); + Transaction tx = sess.getTransaction(); + try { + tx.begin(); + } catch(HibernateException e) { + throw new Error("error occured when initializing hibernate session",e); + } + try { + sess.saveOrUpdate(elvys); + tx.commit(); + } catch (Exception e) { + tx.rollback(); + throw new Error("Unable to save/update elvys.", e); + } + } - } Modified: trunk/server/elvysCommons/src/elvys/server/bl/layoutrel/LayoutBL.java =================================================================== --- trunk/server/elvysCommons/src/elvys/server/bl/layoutrel/LayoutBL.java 2010-02-21 18:26:56 UTC (rev 1810) +++ trunk/server/elvysCommons/src/elvys/server/bl/layoutrel/LayoutBL.java 2010-02-21 20:03:44 UTC (rev 1811) @@ -4,7 +4,9 @@ import org.hibernate.Session; +import cz.elvys.webServer.HIBgen.AspectRatio; import cz.elvys.webServer.HIBgen.Layout; +import cz.elvys.webServer.HIBgen.Resolution; import cz.elvys.webServer.toSpring.exception.ExecuteException; public interface LayoutBL { @@ -57,4 +59,13 @@ * @param layoutId id of the layout. */ public void markLayoutAsDeleted(Integer layoutId) throws ExecuteException; + + + /** + * Method for loading resolutions. + * @param compID + * @return + * @throws ExecuteException + */ + public List<Resolution> listResolutions() throws ExecuteException; } Modified: trunk/server/elvysCommons/src/elvys/server/bl/layoutrel/LayoutBLImpl.java =================================================================== --- trunk/server/elvysCommons/src/elvys/server/bl/layoutrel/LayoutBLImpl.java 2010-02-21 18:26:56 UTC (rev 1810) +++ trunk/server/elvysCommons/src/elvys/server/bl/layoutrel/LayoutBLImpl.java 2010-02-21 20:03:44 UTC (rev 1811) @@ -12,8 +12,10 @@ import cz.elvys.commons.utils.CommonUtils; import cz.elvys.commons.utils.HibUtils; +import cz.elvys.webServer.HIBgen.AspectRatio; import cz.elvys.webServer.HIBgen.CategoryDefinition; import cz.elvys.webServer.HIBgen.Layout; +import cz.elvys.webServer.HIBgen.Resolution; import cz.elvys.webServer.db.InitSessionFactory; import cz.elvys.webServer.toSpring.exception.ExecuteException; import elvys.server.bl.Fact; @@ -25,6 +27,7 @@ private static final String UNABLE_LOAD_LAYOUTS = "Unable to load company layouts. CompanyId: "; private static final String UNABLE_LOAD_LAYOUT = "Couldn't load layout"; private static final String UNABLE_TO_MARK_LAYOUT_DELETED = "Unable to mark layout as \"deleted\""; + private static final String UNABLE_LOAD_RESOLUTIONS_FOR_COMPANY = "Unable to load resolutions for comapny."; @Override @@ -220,5 +223,24 @@ } } + + + @Override + public List<Resolution> listResolutions() throws ExecuteException { + Session sess = InitSessionFactory.getInstance().getCurrentSession(); + Transaction tx = HibUtils.startTx(sess); + + List<Resolution> resolutions; + try { + Query query = sess.createQuery("from Resolution res"); + resolutions = query.list(); + } catch (Exception e) { + String message = CommonUtils.prepareErrorMessage(UNABLE_LOAD_RESOLUTIONS_FOR_COMPANY); + throw new ExecuteException(message, e); + } + return resolutions; + } + + } Modified: trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/ElvysesCompanyBean.java =================================================================== --- trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/ElvysesCompanyBean.java 2010-02-21 18:26:56 UTC (rev 1810) +++ trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/ElvysesCompanyBean.java 2010-02-21 20:03:44 UTC (rev 1811) @@ -15,6 +15,7 @@ import cz.elvys.webServer.HIBgen.Category; import cz.elvys.webServer.HIBgen.Elvys; +import cz.elvys.webServer.HIBgen.User; import cz.elvys.webServer.beans.user.UserLoginBean; import cz.elvys.webServer.bl.api.Factory; import cz.elvys.webServer.bl.api.elvysrel.PlanDocumentBL; @@ -49,7 +50,11 @@ private PlanDocumentBL plbl; private CategoryBL cbl; + private boolean userSuperAdmin; + // filter variables + private String filterValue; + static { log = Logger.getLogger(ElvysesCompanyBean.class); } @@ -59,6 +64,7 @@ pbl = Fact.getPlanningBL(); plbl = Factory.getPlanDocumentCTRL(); cbl = Fact.getCategoryBL(); + } public List<ElvysRecord> getElvyses() { @@ -132,8 +138,10 @@ try { List<Elvys> listElv = null; if (user.getCompStr().equalsIgnoreCase("superadmin")) { + userSuperAdmin = true; listElv = ebl.listAllElvyses(); } else { + userSuperAdmin = false; listElv = ebl.listCompanyElvyses(user.getCompanyID()); } @@ -261,6 +269,33 @@ } } + + /** + * Method for filtering list of elvys in table. + * + * @param current + * @return + */ + public boolean filterByValue(Object current) { + Elvys elvys = ((ElvysRecord) current).getElvys(); + if (filterValue == null || filterValue.length() == 0) { + return true; + } + + String filterValueLowerCase = filterValue.toLowerCase(); + + if (elvys.getCity().toLowerCase().contains(filterValueLowerCase)) { return true; } + if (elvys.getName().toLowerCase().contains(filterValueLowerCase)) { return true; } + if (elvys.getAddress().toLowerCase().contains(filterValueLowerCase)) { return true; } + if (elvys.getPsc().toLowerCase().contains(filterValueLowerCase)) { return true; } + if(userSuperAdmin){ + if (elvys.getCompany().getName().toLowerCase().contains(filterValueLowerCase)) { return true; } + } + + return false; + } + + public static class ElvysRecord { private Elvys elvys; private Integer catCount; @@ -278,5 +313,21 @@ this.catCount = catCount; } } - + + public boolean isUserSuperAdmin() { + return userSuperAdmin; + } + + public void setUserSuperAdmin(boolean userSuperAdmin) { + this.userSuperAdmin = userSuperAdmin; + } + + public String getFilterValue() { + return filterValue; + } + + public void setFilterValue(String filterValue) { + this.filterValue = filterValue; + } + } Added: trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/elvysrel/ElvysEditBean.java =================================================================== --- trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/elvysrel/ElvysEditBean.java (rev 0) +++ trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/elvysrel/ElvysEditBean.java 2010-02-21 20:03:44 UTC (rev 1811) @@ -0,0 +1,190 @@ +package cz.elvys.webServer.beans.elvysrel; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; +import java.util.Set; + +import javax.faces.application.FacesMessage; +import javax.faces.context.FacesContext; +import javax.faces.model.SelectItem; +import javax.print.attribute.ResolutionSyntax; + +import org.apache.log4j.Logger; + +import cz.elvys.webServer.HIBgen.AspectRatio; +import cz.elvys.webServer.HIBgen.Company; +import cz.elvys.webServer.HIBgen.Elvys; +import cz.elvys.webServer.HIBgen.Resolution; +import cz.elvys.webServer.beans.ElvysesCompanyBean; +import cz.elvys.webServer.beans.user.UserLoginBean; +import cz.elvys.webServer.toSpring.exception.ExecuteException; +import cz.elvys.webServer.utils.faces.BeanManager; +import cz.elvys.webServer.utils.faces.MessageUtils; +import elvys.server.bl.Fact; +import elvys.server.bl.elvysrel.ElvysBL; +import elvys.server.bl.layoutrel.LayoutBL; +import elvys.server.bl.user.UserBL; + +public class ElvysEditBean implements Serializable { + // fields + private Logger log; + + // const + private static final long serialVersionUID = 8092026699388193893L; + + private Elvys selectedElvys = null; + + // flag for editing by admin or superadmin + private boolean updating; + + private List<SelectItem> companiesToSelect = null; + private Integer sizeOfCompaniesToSelect = null; + + private List<SelectItem> resolutionsToSelect = null; + private Integer sizeOfResolutionsToSelect = null; + + private ElvysBL elvysBL; + + public ElvysEditBean(){ + elvysBL = Fact.getElvysBL(); + } + + /** + * @return + */ + public String prepareCreateElvysForm() { + selectedElvys = new Elvys(); + companiesToSelect= loadPermittedCompanyList(); + sizeOfCompaniesToSelect= companiesToSelect.size(); + resolutionsToSelect = loadResolutionList(); + sizeOfResolutionsToSelect = resolutionsToSelect.size(); + return "editElvysForm"; + } + + + /** + * @return + */ + public String prepareUpdateElvysForm() { + // User selected from UC listOfUsers + // don't need 'passwordAgain' + // locale has been set already + // system has been set already + companiesToSelect= loadPermittedCompanyList(); + sizeOfCompaniesToSelect= companiesToSelect.size(); + return "editElvysForm"; + } + + + public String saveElvys(){ + String result = null; + + if(result == null){ + + // set company by logged user, or use sended by superadmin + Company company = selectedElvys.getCompany(); + if(company == null){ + UserLoginBean me = BeanManager.getUser(); + selectedElvys.setCompany(me.getCompany()); + } + + elvysBL.saveElvys(selectedElvys); + ElvysesCompanyBean elvysList = BeanManager.getElvysesCompanyBean(); + return elvysList.prepareListBeforeUC(); + } + + return result; + } + + private List<SelectItem> loadResolutionList() { + LayoutBL layoutBL = Fact.getLayoutBL(); + List<Resolution> resolutionList = null; + try { + resolutionList = layoutBL.listResolutions(); + } catch (ExecuteException e){ + + } + List<SelectItem> resolutions = new ArrayList<SelectItem>(); + for(Resolution re:resolutionList){ + SelectItem si = new SelectItem(); + AspectRatio ar = re.getAspectRatio(); + String label = re.getResX() + "x" + re.getResY() + " (" + ar.getXBase() + ":" + ar.getYBase() + ")"; + si.setLabel(label); + si.setValue(re); + resolutions.add(si); + } + return resolutions; + } + + private List<SelectItem> loadPermittedCompanyList() { + UserLoginBean me = BeanManager.getUser(); + UserBL userBL = Fact.getUserBL(); + List<Company> companiesList = userBL.loadPermittedCompany(me.getCompanyID(),me.getCompStr()); + List<SelectItem> companies = new ArrayList<SelectItem>(); + for (Company comp: companiesList) { + SelectItem si = new SelectItem(); + si.setLabel(comp.getName()); + si.setValue(comp); + companies.add(si); + } + + return companies; + } + + + public Elvys getSelectedElvys() { + return selectedElvys; + } + + + public void setSelectedElvys(Elvys selectedElvys) { + this.selectedElvys = selectedElvys; + } + + + public boolean isUpdating() { + return updating; + } + + + public void setUpdating(boolean updating) { + this.updating = updating; + } + + + public List<SelectItem> getCompaniesToSelect() { + return companiesToSelect; + } + + + public void setCompaniesToSelect(List<SelectItem> companiesToSelect) { + this.companiesToSelect = companiesToSelect; + } + + + public Integer getSizeOfCompaniesToSelect() { + return sizeOfCompaniesToSelect; + } + + + public void setSizeOfCompaniesToSelect(Integer sizeOfCompaniesToSelect) { + this.sizeOfCompaniesToSelect = sizeOfCompaniesToSelect; + } + + public List<SelectItem> getResolutionsToSelect() { + return resolutionsToSelect; + } + + public void setResolutionsToSelect(List<SelectItem> resolutionsToSelect) { + this.resolutionsToSelect = resolutionsToSelect; + } + + public Integer getSizeOfResolutionsToSelect() { + return sizeOfResolutionsToSelect; + } + + public void setSizeOfResolutionsToSelect(Integer sizeOfResolutionsToSelect) { + this.sizeOfResolutionsToSelect = sizeOfResolutionsToSelect; + } +} Modified: trunk/server/webServer2/JavaSource/cz/elvys/webServer/messages/labels_cs.properties =================================================================== --- trunk/server/webServer2/JavaSource/cz/elvys/webServer/messages/labels_cs.properties 2010-02-21 18:26:56 UTC (rev 1810) +++ trunk/server/webServer2/JavaSource/cz/elvys/webServer/messages/labels_cs.properties 2010-02-21 20:03:44 UTC (rev 1811) @@ -254,9 +254,12 @@ elvys.list.title=Seznam kiosk\u016F elvys.list.body.title=Seznam kiosk\u016F +elvys.list.body.create.tooltip=Vytvo\u0159it nov\u00fd kiosek elvys.list.table.header=Seznam kiosk\u016F elvys.list.table.id=Id +elvys.list.table.elvysname=N\u00E1zev elvys.list.table.state=Stav +elvys.list.table.operations=Operace elvys.list.table.running=Aktivn\u00ED elvys.list.table.notrunning=Neaktivn\u00ED elvys.list.table.screenshot=Sn\u00EDmek obrazovky @@ -284,6 +287,19 @@ elvys.list.modal.layouts.list.selectoneheader=Seznam rozvr\u017Een\u00ED elvys.list.modal.screenshot.time=\u010Cas po\u0159\u00EDzen\u00ED sn\u00EDmku\: +elvys.edit.form.title.create=Nov\u00fd kiosek +elvys.edit.form.title.modify=Upravit kiosek +elvys.edit.form.name=N\u00e1zev kiosku +elvys.edit.form.address.tooltip=Vypl\u0148te pros\u00edm adresu kiosku, tzn. ulici a \u010d\u00edslo popisn\u00e9. +elvys.edit.form.address=Adresa +elvys.edit.form.city=M\u011bsto +elvys.edit.form.zipCode=PS\u010c +elvys.edit.form.companylist=Spole\u010dnost +elvys.edit.form.button.ok=Ulo\u017eit +elvys.edit.form.button.cancel=Storno +elvys.edit.form.resolutionlist=Rozli\u0161en\u00ed obrazovky +elvys.edit.form.resolutionlist.tooltip=Vyberte rozli\u0161en\u00ed, kter\u00e9 odpov\u00edd\u00e1 rozli\u0161en\u00ed kiosku. Jedn\u00e1 se po\u010det obrazov\u00fdch bod\u016f, tzv. pixel\u016f, kter\u00e9 je obrazovka schopn\u00e1 zobrazit. + elvys.setting.header=Nastaven\u00ED rozvr\u017Een\u00ED obrazovky elvys.setting.layoutlist.layout.day=Denn\u00ED elvys.setting.layoutlist.layout.night=No\u010Dn\u00ED Modified: trunk/server/webServer2/WebContent/WEB-INF/faces-beans.xml =================================================================== --- trunk/server/webServer2/WebContent/WEB-INF/faces-beans.xml 2010-02-21 18:26:56 UTC (rev 1810) +++ trunk/server/webServer2/WebContent/WEB-INF/faces-beans.xml 2010-02-21 20:03:44 UTC (rev 1811) @@ -59,6 +59,12 @@ <managed-bean-scope>session</managed-bean-scope> </managed-bean> <managed-bean> + <managed-bean-name>elvysEditBean</managed-bean-name> + <managed-bean-class>cz.elvys.webServer.beans.elvysrel.ElvysEditBean</managed-bean-class> + <managed-bean-scope>session</managed-bean-scope> + </managed-bean> + + <managed-bean> <managed-bean-name>filePlanningBean</managed-bean-name> <managed-bean-class>cz.elvys.webServer.beans.FilePlanningBean</managed-bean-class> <managed-bean-scope>session</managed-bean-scope> Modified: trunk/server/webServer2/WebContent/secured/elvysrel/editElvysForm.xhtml =================================================================== --- trunk/server/webServer2/WebContent/secured/elvysrel/editElvysForm.xhtml 2010-02-21 18:26:56 UTC (rev 1810) +++ trunk/server/webServer2/WebContent/secured/elvysrel/editElvysForm.xhtml 2010-02-21 20:03:44 UTC (rev 1811) @@ -1,22 +1,93 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";> <html xmlns="http://www.w3.org/1999/xhtml"; - xmlns:h="http://java.sun.com/jsf/html"; - xmlns:f="http://java.sun.com/jsf/core"; - xmlns:ui="http://java.sun.com/jsf/facelets"; + xmlns:h="http://java.sun.com/jsf/html"; + xmlns:f="http://java.sun.com/jsf/core"; + xmlns:ui="http://java.sun.com/jsf/facelets"; xmlns:a4j="http://richfaces.org/a4j"; - xmlns:rich="http://richfaces.org/rich";> + xmlns:rich="http://richfaces.org/rich"; + xmlns:elvys="http://www.elvys.farm.particle.cz";> <ui:composition template="/template/elvys-template.xhtml"> -<ui:define name="contentTitle">#{lbl['user.edit.form.title']}</ui:define> -<ui:define name="contentSubTitle"></ui:define> - -<ui:define name="contentBody"> - <h:form> - - </h:form> + <ui:define name="title"> + #{lbl['user.edit.title']} </ui:define> + <ui:define name="contentTitle"> + <h:outputText rendered="#{!elvysEditBean.updating}">#{lbl['elvys.edit.form.title.create']}</h:outputText> + <h:outputText rendered="#{elvysEditBean.updating}">#{lbl['elvys.edit.form.title.modify']}</h:outputText> + </ui:define> + <ui:define name="contentSubTitle"></ui:define> + <ui:define name="contentBody"> + <rich:panel> + <f:facet name="header">#{(elvysEditBean.updating)? lbl['elvys.edit.form.title.modify'] : lbl['elvys.edit.form.title.create']}</f:facet> + <h:form id="editUserForm"> + <h:panelGrid columns="2"> + + <elvys:label id="elvysEditNameLabel" + label="#{lbl['elvys.edit.form.name']}"></elvys:label> + <elvys:inputText2 id="nameField" + value="#{elvysEditBean.selectedElvys.name}" required="true" /> + + <elvys:label id="elvysEditAddressLabel" + tooltip="#{lbl['elvys.edit.form.address.tooltip']}" + label="#{lbl['elvys.edit.form.address']}"></elvys:label> + <elvys:inputText2 id="addressField" + value="#{elvysEditBean.selectedElvys.address}" required="true" /> + + <elvys:label id="elvysEditCityLabel" + label="#{lbl['elvys.edit.form.city']}"></elvys:label> + <elvys:inputText2 id="cityField" + value="#{elvysEditBean.selectedElvys.city}" required="true" /> + + <elvys:label id="elvysEditZipCodeLabel" + label="#{lbl['elvys.edit.form.zipCode']}"></elvys:label> + <elvys:inputText2 id="zipCodeField" + value="#{elvysEditBean.selectedElvys.psc}" required="true" /> + + + <h:panelGroup rendered="#{user.user.system}" > + <elvys:label id="elvysEditCompanyListLabel" + label="#{lbl['elvys.edit.form.companylist']}" + rendered="#{user.user.system}"></elvys:label> + </h:panelGroup> + <h:panelGroup rendered="#{user.user.system}" > + <h:selectOneListbox id="companyField" required="true" + value="#{elvysEditBean.selectedElvys.company}" + size="#{elvysEditBean.sizeOfCompaniesToSelect >=3? 3 : elvysEditBean.sizeOfCompaniesToSelect}"> + <f:converter converterId="companyConverter" /> + <f:selectItems value="#{elvysEditBean.companiesToSelect}" /> + </h:selectOneListbox> + <h:message for="companyField" styleClass="error" /> + </h:panelGroup> + + + <elvys:label id="elvysEditResolutionListLabel" + label="#{lbl['elvys.edit.form.resolutionlist']}" + tooltip="#{lbl['elvys.edit.form.resolutionlist.tooltip']}" + ></elvys:label> + <h:panelGroup> + <h:selectOneListbox id="resolutionField" required="true" + value="#{elvysEditBean.selectedElvys.resolution}" + size="#{elvysEditBean.sizeOfResolutionsToSelect >=3? 3 : elvysEditBean.sizeOfResolutionsToSelect}"> + <f:selectItems value="#{elvysEditBean.resolutionsToSelect}" /> + </h:selectOneListbox> + <h:message for="resolutionField" styleClass="error" /> + </h:panelGroup> + + </h:panelGrid> + + <!-- OK BUTTON --> + <h:commandButton value="#{lbl['elvys.edit.form.button.ok']}" + action="#{elvysEditBean.saveElvys}" /> + <!-- CANCEL BUTTON --> + <h:commandButton value="#{lbl['elvys.edit.form.button.cancel']}" + immediate="true" action="#{elvysesBean.prepareListBeforeUC}" /> + </h:form> + </rich:panel> + </ui:define> + + </ui:composition> -</html> +</html> Modified: trunk/server/webServer2/WebContent/secured/elvysrel/listOfElvyses.xhtml =================================================================== --- trunk/server/webServer2/WebContent/secured/elvysrel/listOfElvyses.xhtml 2010-02-21 18:26:56 UTC (rev 1810) +++ trunk/server/webServer2/WebContent/secured/elvysrel/listOfElvyses.xhtml 2010-02-21 20:03:44 UTC (rev 1811) @@ -50,13 +50,54 @@ </h:commandButton> </h:panelGroup> - <rich:dataTable id="ElvysesList" value="#{elvysesBean.elvyses}" var="record" rows="10"> - <h:column> - <f:facet name="header">#{lbl['elvys.list.table.id']}</f:facet> - <h:outputText value="#{record.elvys.id}"/> - </h:column> + <rich:extendedDataTable id="ElvysesList" value="#{elvysesBean.elvyses}" var="record" + rows="10" height="370px;" + enableContextMenu="false" + reRender="datascroller" sortMode="single" + noDataLabel="#{lbl['list.empty']}" + width="#{(4+(user.user.system?1:0))*170}px" + align="center" > + + <f:facet name="header"> + <rich:columnGroup> + <rich:column colspan="#{4+(elvysesBean.userSuperAdmin?1:0)}"> + <div class="controlPanel"> + <h:panelGroup> + <a4j:commandButton id="CreateNewElvys" + image="/images/icons/create.png" + action="#{elvysEditBean.prepareCreateElvysForm}"> + <f:setPropertyActionListener value="${false}" + target="#{elvysEditBean.updating}" /> + </a4j:commandButton> + <rich:toolTip for="CreateNewElvys"> + <h:outputText value="#{lbl['elvys.list.body.create.tooltip']}" /> + </rich:toolTip> + </h:panelGroup> + </div> + <div class="searchPanel"> + #{lbl['list.search']} : + <h:inputText value="#{elvysesBean.filterValue}" id="input"> + <a4j:support event="onkeyup" reRender="ElvysesList" + ignoreDupResponses="true" requestDelay="700" + oncomplete="setCaretToEnd(event);" /> + </h:inputText> + </div> + </rich:column> + </rich:columnGroup> + </f:facet> + + + <rich:column + width="160px" + filterMethod="#{elvysesBean.filterByValue}" + sortBy="#{record.elvys.name}" > + <f:facet name="header">#{lbl['elvys.list.table.elvysname']}</f:facet> + <h:outputText value="#{record.elvys.name}"/> + </rich:column> + + <!-- STATE OF ELVYS --> - <h:column> + <rich:column width="150px" sortBy="#{record.elvys.active}" > <f:facet name="header">#{lbl['elvys.list.table.state']}</f:facet> <!-- RUNNING --> <h:graphicImage id="Running" url="/images/icons/running.png" rendered="#{record.elvys.active}"/> @@ -79,10 +120,42 @@ <f:setPropertyActionListener value="#{record.elvys}" target="#{elvysesBean.selectedElvys}" /> </a4j:commandLink> <h:outputText id="ScreenshotNotActive" value="#{lbl['elvys.list.table.screenshotnotactive']}" rendered="false"/> - </h:column> - <!-- MANAGE --> - <h:column> - <f:facet name="header">#{lbl['elvys.list.table.manage']}</f:facet> + </rich:column> + <rich:column rendered="#{elvysesBean.userSuperAdmin}" + width="170px" + sortBy="#{record.elvys.company.name}" > + <f:facet name="header">#{lbl['elvys.list.table.companyname']}</f:facet> + <h:outputText value="#{record.elvys.company.name}"/> + </rich:column> + <rich:column sortBy="#{record.elvys.address}" + width="250px" > + <f:facet name="header">#{lbl['elvys.list.table.adress']}</f:facet> + <h:outputText value="#{record.elvys.address}, #{record.elvys.psc} #{record.elvys.city}"/> + </rich:column> + + <!-- OPERATIONS BUTTONS --> + <rich:column width="120px"> + <f:facet name="header">#{lbl['elvys.list.table.operations']}</f:facet> + <h:panelGroup rendered="#{user.compStr!='superadmin'}"> + <h:commandButton + id="PlanDocumentsButton" + rendered="#{record.catCount > 0}" + action="#{filePlanningBean.onlyRedir}" + image="/images/icons/plan.png"> + <f:setPropertyActionListener value="#{record.elvys.id}" target="#{filePlanningBean.selectedElvysId}" /> + <f:actionListener type="cz.elvys.webServer.beans.FilePlanningBean$PrepareComponentBeforeUCListener" /> + </h:commandButton> + <rich:toolTip for="PlanDocumentsButton" direction="bottom-left"> + <h:outputText value="#{lbl['elvys.list.table.schedule']}"/> + </rich:toolTip> + <h:graphicImage id="CannotPlanDocuments" + url="/images/icons/cannot_schedule.png" + rendered="#{record.catCount == 0}"/> + <rich:toolTip for="CannotPlanDocuments" direction="bottom-left"> + <h:outputText value="#{lbl['elvys.list.table.cannotschedule']}"/> + </rich:toolTip> + </h:panelGroup> + <h:panelGroup rendered="#{user.compStr!='user'}"> <!-- ASSIGN CATEGORY --> <a4j:commandButton @@ -92,7 +165,7 @@ action="#{catDefAssignStep1Bean.prepare}"> <f:setPropertyActionListener value="#{record.elvys}" target="#{catDefAssignStep1Bean.updatedElvys}" /> </a4j:commandButton> - <rich:toolTip for="AssignCategoryButton"> + <rich:toolTip for="AssignCategoryButton" direction="bottom-left"> <h:outputText value="#{lbl['elvys.list.table.assigncategory']}"/> </rich:toolTip> @@ -106,7 +179,7 @@ <f:setPropertyActionListener value="#{record.elvys}" target="#{elvysesBean.selectedElvys}" /> <f:actionListener type="cz.elvys.webServer.beans.ElvysesCompanyBean$DeactivateElvysListener"/> </a4j:commandButton> - <rich:toolTip for="DeactivateButton"> + <rich:toolTip for="DeactivateButton" direction="bottom-left"> <h:outputText value="#{lbl['elvys.list.table.deactivate']}"/> </rich:toolTip> <!-- ACTIVATE ELVYS --> @@ -118,53 +191,18 @@ <f:setPropertyActionListener value="#{record.elvys}" target="#{elvysesBean.selectedElvys}" /> <f:actionListener type="cz.elvys.webServer.beans.ElvysesCompanyBean$ActivateElvysListener"/> </a4j:commandButton> - <rich:toolTip for="ActivateButton"> + <rich:toolTip for="ActivateButton" direction="bottom-left"> <h:outputText value="#{lbl['elvys.list.table.activate']}"/> </rich:toolTip> <!-- CANNOT ACTIVATE ELVYS --> <h:graphicImage id="CannotActivate" url="/images/icons/activate.png" rendered="#{!record.elvys.active and record.catCount == 0}"/> - <rich:toolTip for="CannotActivate"> + <rich:toolTip for="CannotActivate" direction="bottom-left"> <h:outputText value="#{lbl['elvys.list.table.cannotactivate']}"/> </rich:toolTip> + </h:panelGroup> - </h:column> - <h:column> - <f:facet name="header">#{lbl['elvys.list.table.companyname']}</f:facet> - <h:outputText value="#{record.elvys.company.name}"/> - </h:column> - <h:column> - <f:facet name="header">#{lbl['elvys.list.table.city']}</f:facet> - <h:outputText value="#{record.elvys.city}"/> - </h:column> - <h:column> - <f:facet name="header">#{lbl['elvys.list.table.adress']}</f:facet> - <h:outputText value="#{record.elvys.address}"/> - </h:column> + </rich:column> - <!-- PLAN BUTTON --> - <h:column> - <f:facet name="header">#{lbl['elvys.list.table.doplan']}</f:facet> - <h:panelGroup rendered="#{user.compStr!='superadmin'}"> - <h:commandButton - id="PlanDocumentsButton" - rendered="#{record.catCount > 0}" - action="#{filePlanningBean.onlyRedir}" - image="/images/icons/plan.png"> - <f:setPropertyActionListener value="#{record.elvys.id}" target="#{filePlanningBean.selectedElvysId}" /> - <f:actionListener type="cz.elvys.webServer.beans.FilePlanningBean$PrepareComponentBeforeUCListener" /> - </h:commandButton> - <rich:toolTip for="PlanDocumentsButton"> - <h:outputText value="#{lbl['elvys.list.table.schedule']}"/> - </rich:toolTip> - <h:graphicImage id="CannotPlanDocuments" - url="/images/icons/cannot_schedule.png" - rendered="#{record.catCount == 0}"/> - <rich:toolTip for="CannotPlanDocuments"> - <h:outputText value="#{lbl['elvys.list.table.cannotschedule']}"/> - </rich:toolTip> - </h:panelGroup> - </h:column> - <f:facet name="footer"> <rich:datascroller renderIfSinglePage="false" immediate="true"/> </f:facet> @@ -172,7 +210,7 @@ operation="show"> <f:param name="name" value="elvys.city"/> </rich:componentControl> - </rich:dataTable> + </rich:extendedDataTable> </rich:panel> </h:form> @@ -215,4 +253,4 @@ </ui:define> </ui:composition> -</html> +</html> \ No newline at end of file