Author: DavidK Date: 2010-02-26 20:11:25 +0100 (Fri, 26 Feb 2010) New Revision: 1908 Modified: trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/categrel/CatDefAssignStep1Bean.java trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/categrel/MyConv.java trunk/server/webServer2/JavaSource/cz/elvys/webServer/messages/labels_cs.properties trunk/server/webServer2/WebContent/secured/categrel/catDefAssignStep1.xhtml trunk/server/webServer2/WebContent/secured/categrel/catDefAssignStep2.xhtml trunk/server/webServer2/WebContent/secured/components/category/catDefListComponent.xhtml Log: assign category UC updated Modified: trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/categrel/CatDefAssignStep1Bean.java =================================================================== --- trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/categrel/CatDefAssignStep1Bean.java 2010-02-26 18:42:24 UTC (rev 1907) +++ trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/categrel/CatDefAssignStep1Bean.java 2010-02-26 19:11:25 UTC (rev 1908) @@ -1,5 +1,6 @@ package cz.elvys.webServer.beans.categrel; +import java.io.Serializable; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -36,7 +37,15 @@ // form-related fields - private List<Category> usedCats = null; + private List<CategoryInListHolder> usedCats = null; + // selected catDefinition id for detail of usage + private Integer selectedForDetailOfUsage = null; + // list of elvyses for detail of usage + private List<Elvys> listOfElvysesForDetailOfUsage = null; + // selected catPlanning id for detail of sharing + private Integer selectedForDetailOfSharing = null; + // list of elvyses for detail of sharing + private List<Elvys> listofelvysesForDetailOfSharing = null; private Category catToDelete = null; private boolean highDeleteWarning = true; private Integer deleteFormStep = 1; @@ -49,12 +58,38 @@ private ElvysBL ebl = null; - public List<Category> getUsedCats() { + public List<CategoryInListHolder> getUsedCats() { return usedCats; } - public void setUsedCats(List<Category> usedCats) { + public void setUsedCats(List<CategoryInListHolder> usedCats) { this.usedCats = usedCats; } + public Integer getSelectedForDetailOfUsage() { + return selectedForDetailOfUsage; + } + public void setSelectedForDetailOfUsage(Integer selectedForDetailOfUsage) { + this.selectedForDetailOfUsage = selectedForDetailOfUsage; + } + public Integer getSelectedForDetailOfSharing() { + return selectedForDetailOfSharing; + } + public void setSelectedForDetailOfSharing(Integer selectedForDetailOfSharing) { + this.selectedForDetailOfSharing = selectedForDetailOfSharing; + } + public List<Elvys> getListOfElvysesForDetailOfUsage() { + return listOfElvysesForDetailOfUsage; + } + public void setListOfElvysesForDetailOfUsage( + List<Elvys> listOfElvysesForDetailOfUsage) { + this.listOfElvysesForDetailOfUsage = listOfElvysesForDetailOfUsage; + } + public List<Elvys> getListofelvysesForDetailOfSharing() { + return listofelvysesForDetailOfSharing; + } + public void setListofelvysesForDetailOfSharing( + List<Elvys> listofelvysesForDetailOfSharing) { + this.listofelvysesForDetailOfSharing = listofelvysesForDetailOfSharing; + } public Elvys getUpdatedElvys() { return updatedElvys; } @@ -140,11 +175,14 @@ } // get used cats - usedCats = cbl.listCategoriesForGroupMakeSession(groupId); + List<Category> cats = cbl.listCategoriesForGroupMakeSession(groupId); // add loaded catdef to cats - for(Category cat: usedCats) { + for(Category cat: cats) { cat.setCategoryDefinition(defmap.get(cat.getCategoryDefinition().getId())); } + + // transform to usedCats + usedCats = addMoreInfoForCats(cats); } catch (Exception e) { String message = CommonUtils.prepareErrorMessage( @@ -162,7 +200,34 @@ return "assignCategoryStep1"; } + /** + * Adds additional info to the list of categories + * @param cats List of categories + * @return list of extended category objects + */ + private List<CategoryInListHolder> addMoreInfoForCats(List<Category> cats) { + List<CategoryInListHolder> catres = new ArrayList<CategoryInListHolder>(); + try { + for (Category cat: cats) { + int numShared = ebl.listElvysesByCategoryPlanningMakeSession(cat.getCategoryPlanning().getId()).size(); + int numUsed = ebl.listElvysesByCatDefMakeSession(cat.getCategoryDefinition().getId()).size(); + + CategoryInListHolder cilh = new CategoryInListHolder(cat,numShared,numUsed); + catres.add(cilh); + } + } catch (Exception e) { + String message = CommonUtils.prepareErrorMessage( + "cannot get more info for category"); + log.error(message,e); + } + + + return catres; + } + + + /** * Order list.. * @param aev */ @@ -171,7 +236,7 @@ // traverse list of assigned and delegate responsibility for changing ordNum List<Integer[]> orders = new ArrayList<Integer[]>(); for (int i=0; i<usedCats.size(); i++) { - Category cat = usedCats.get(i); + Category cat = usedCats.get(i).getCat(); Integer[] arr = {cat.getId(),cat.getCatOrder()}; orders.add(arr); if (cat.getCatOrder() != i+1 ) { @@ -228,7 +293,89 @@ } } + + + public void prepareDetailOfUsageOfCatDefOnElvyses() { + // check contract + if (selectedForDetailOfUsage == null) { + throw new RuntimeException("selectedForDetailOfUsage is null"); + } + try { + listOfElvysesForDetailOfUsage = ebl.listElvysesByCatDefMakeSession(selectedForDetailOfUsage); + } catch (Exception e) { + String message= "Cannot display detail of usage"; + log.error(message,e); + throw new RuntimeException(message,e); + } + } + + public void prepareDetailOfSharingOfCatDefOnElvyses() { + // check contract + if (selectedForDetailOfSharing == null) { + throw new RuntimeException("selectedForDetailOfSharing is null"); + } + try { + listofelvysesForDetailOfSharing = ebl.listElvysesByCategoryPlanningMakeSession(selectedForDetailOfSharing); + } catch (Exception e) { + String message= "Cannot display detail of sharing"; + log.error(message,e); + throw new RuntimeException(message,e); + } + } + + + + /** + * Helper class for storing Category+additional info in list + * @author David + */ + public static class CategoryInListHolder implements Serializable { + + private static final long serialVersionUID = -6472666233746647520L; + + // category + private Category cat; + // count of elvyses that are using this category (1== not shared, more == is shared) + private int numShared; + // count of elvyses having assigned this CategoryDefinition + private int numAssigned; + + + + public CategoryInListHolder(Category cat, int numShared, + int numAssigned) { + super(); + this.cat = cat; + this.numShared = numShared; + this.numAssigned = numAssigned; + } + + public Category getCat() { + return cat; + } + public void setCat(Category cat) { + this.cat = cat; + } + public int getNumShared() { + return numShared; + } + public void setNumShared(int numShared) { + this.numShared = numShared; + } + public int getNumAssigned() { + return numAssigned; + } + public void setNumAssigned(int numAssigned) { + this.numAssigned = numAssigned; + } + + + } + + + + /** * ActionListener implementation for invoking remove of the category. * @author David * @@ -242,5 +389,36 @@ } + /** + * ActionListener implementation for invoking remove of the category. + * @author David + * + */ + public static class PrepareDetailOfUsageOfCatDefOnElvyses implements ActionListener { + public void processAction(ActionEvent event) + throws AbortProcessingException { + CatDefAssignStep1Bean bean = (CatDefAssignStep1Bean) BeanManager.getCatDefAssignStep1Bean(); + bean.prepareDetailOfUsageOfCatDefOnElvyses(); + } + } + + /** + * ActionListener implementation for invoking remove of the category. + * @author David + * + */ + public static class PrepareDetailOfSharingOfCatPlanningOnElvyses implements ActionListener { + public void processAction(ActionEvent event) + throws AbortProcessingException { + CatDefAssignStep1Bean bean = (CatDefAssignStep1Bean) BeanManager.getCatDefAssignStep1Bean(); + bean.prepareDetailOfSharingOfCatDefOnElvyses(); + } + } + + + + + + } Modified: trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/categrel/MyConv.java =================================================================== --- trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/categrel/MyConv.java 2010-02-26 18:42:24 UTC (rev 1907) +++ trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/categrel/MyConv.java 2010-02-26 19:11:25 UTC (rev 1908) @@ -5,6 +5,7 @@ import cz.elvys.webServer.HIBgen.Category; +import cz.elvys.webServer.beans.categrel.CatDefAssignStep1Bean.CategoryInListHolder; import cz.elvys.webServer.utils.faces.BeanManager; public class MyConv implements javax.faces.convert.Converter { @@ -12,9 +13,9 @@ public Object getAsObject(FacesContext arg0, UIComponent arg1, String value) { long id = Long.parseLong(value); CatDefAssignStep1Bean bean = BeanManager.getCatDefAssignStep1Bean(); - for (Category cat : bean.getUsedCats()) { - if (cat.getId() == id){ - return cat; + for (CategoryInListHolder cath : bean.getUsedCats()) { + if (cath.getCat().getId() == id){ + return cath; } } return null; @@ -22,8 +23,8 @@ } public String getAsString(FacesContext arg0, UIComponent arg1, Object value) { - Category cat = (Category) value; - return cat.getId().toString(); + CategoryInListHolder cath = (CategoryInListHolder) value; + return cath.getCat().getId().toString(); } 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-26 18:42:24 UTC (rev 1907) +++ trunk/server/webServer2/JavaSource/cz/elvys/webServer/messages/labels_cs.properties 2010-02-26 19:11:25 UTC (rev 1908) @@ -121,7 +121,7 @@ company.permtypes.form.no=Ne company.permtypes.form.name=N\u00E1zev company.permtypes.form.positions=# pozic -company.permtypes.form.planning=# pl\u00E1nov\u00E1n\u00ED +company.permtypes.form.planning=\# pl\u00E1nov\u00E1n\u00ED user.list.title=Seznam u\u017Eivatel\u016F user.list.body.title=Seznam u\u017Eivatel\u016F @@ -186,9 +186,10 @@ catdef.list.title=Seznam kategori\u00ED catdef.list.body.title=Seznam kategori\u00ED -catdef.list.body.name=Jm\u00E9no kategorie +catdef.list.body.name=N\u00E1zev kategorie catdef.list.body.created=Vytvo\u0159eno -catdef.list.body.layout.name=Jm\u00E9no rozvr\u017Een\u00ED +catdef.list.body.layout.name=N\u00E1zev rozvr\u017Een\u00ED +catdef.list.body.layout.positions=Pozice catdef.list.body.layout.preview.tooltip=Zobrazit n\u00E1hled rozvr\u017Een\u00ED obrazovky catdef.list.body.usage=\# P\u0159i\u0159azen\u00ED catdef.list.body.usage.tooltip=Zobrazit kiosky, na kter\u00FDch je tato kategorie p\u0159i\u0159azena. @@ -208,11 +209,11 @@ catdef.edit.title=Kategorie catdef.edit.form.title.create=Nov\u00E1 kategorie catdef.edit.form.title.modify=\u00DAprava kategorie -catdef.edit.form.name=Jm\u00E9no -catdef.edit.form.name.tooltip=Zadejte jm\u00E9no kategorie. Jm\u00E9no kategorie mus\u00ED b\u00FDt v r\u00E1mci Va\u0161\u00ED spole\u010Dnosti jednozna\u010Dn\u00E9. +catdef.edit.form.name=N\u00E1zev +catdef.edit.form.name.tooltip=Zadejte n\u00E1zev kategorie. N\u00E1zev kategorie mus\u00ED b\u00FDt v r\u00E1mci Va\u0161\u00ED spole\u010Dnosti jednozna\u010Dn\u00E9. catdef.edit.form.layout=Rozvr\u017Een\u00ED obrazovky catdef.edit.form.layout.tooltip=Zvolte pros\u00EDm rozvr\u017Een\u00ED obrazovky pro tuto kategorii. -catdef.edit.form.layout.name=Jm\u00E9no rozvr\u017Een\u00ED obrazovky +catdef.edit.form.layout.name=N\u00E1zev rozvr\u017Een\u00ED obrazovky catdef.edit.form.layout.sectcount=Po\u010Det pozic rozvr\u017Een\u00ED obrazovky catdef.edit.form.layout.preview=N\u00E1hled rozvr\u017Een\u00ED obrazovky catdef.edit.form.layout.preview.tooltip=Zobraz\u00ED n\u00E1hled rozvr\u017Een\u00ED obrazovky @@ -222,24 +223,25 @@ catdef.edit.form.button.cancel=Zp\u011Bt catdef.assign.maintitle=Kategorie pl\u00E1nov\u00E1n\u00ED catdef.assign.step1.link.toelvyses=Zp\u011Bt na seznam kiosk\u016F -catdef.assign.step1.title=P\u0159i\u0159azen\u00ED kategorie pl\u00E1nov\u00E1n\u00ED pro kiosek -catdef.assign.step1.elvys=Zpracov\u00E1van\u00FD kiosek +catdef.assign.step1.title=P\u0159i\u0159azen\u00ED kategorie pl\u00E1nov\u00E1n\u00ED pro catdef.assign.step1.listofavailable=Nep\u0159i\u0159azen\u00E9 kategorie catdef.assign.step1.listofavailable.add.tooltip=P\u0159i\u0159adit kategorii kiosku. -catdef.assign.step1.listofused.edit.tooltip=Upravit parametry p\u0159i\u0159azen\u00ED kategorie kiosku. +catdef.assign.step1.listofused.edit.tooltip=Upravit parametry p\u0159i\u0159azen\u00ED kategorie catdef.assign.step1.listofused.delete.tooltip=Odebrat kategorii catdef.assign.step1.listofused.delete.modal.label=Odebr\u00E1n\u00ED kategorie catdef.assign.step1.listofused.delete.modal.deletequestion=Opravdu chcete odebrat kategorii catdef.assign.step1.listofused.delete.modal.deletecaution=P\u0159i\u0159azen\u00E1 kategorie nen\u00ED sd\u00EDlena s jin\u00FDmi kiosky, dojde ke ztr\u00E1t\u011B ve\u0161ker\u00FDch napl\u00E1novan\u00FDch dat. catdef.assign.step1.listofused.delete.modal.deletecaution.line2=P\u0159esto pokra\u010Dovat? catdef.assign.step1.listofused.delete.modal.yes=Ano +catdef.assign.step1.listofused.operations=Akce catdef.assign.step1.listofused.delete.modal.yesbut=Ano,.. catdef.assign.step1.listofused.delete.modal.no=Ne +catdef.assign.step1.listofused.modalsharing.header=Seznam kiosk\u016F propojen\u00FDch sd\u00EDlenou kategori\u00ED catdef.assign.step1.list.caption=P\u0159i\u0159azen\u00E9 kategorie catdef.assign.step1.list.order=Po\u0159ad\u00ED -catdef.assign.step1.list.name=Jm\u00E9no kategorie -catdef.assign.step1.list.layout.name=Jm\u00E9no rozvr\u017Een\u00ED -catdef.assign.step1.list.layout.pos=Pozic rozvr\u017Een\u00ED +catdef.assign.step1.list.name=N\u00E1zev kategorie +catdef.assign.step1.list.layout.name=N\u00E1zev rozvr\u017Een\u00ED +catdef.assign.step1.list.layout.pos=Pozice catdef.assign.step1.list.layout.shared=Sd\u00EDlen\u00E1 catdef.assign.step1.list.layout.shared.yes=Ano catdef.assign.step1.list.layout.shared.yes.tooltip=P\u0159i\u0159azen\u00E1 kategorie je sd\u00EDlen\u00E1. Klikn\u011Bte pro v\u00EDce informac\u00ED. @@ -247,7 +249,7 @@ catdef.assign.step1.list.layout.shared.no.tooltip=P\u0159i\u0159azen\u00E1 kategorie nen\u00ED sd\u00EDlen\u00E1. catdef.assign.step1.list.edit=P\u0159izp\u016Fsobit catdef.assign.step1.list.delete=Odebrat -catdef.assign.step2.title=Nastaven\u00ED kategorie pl\u00E1nov\u00E1n\u00ED pro kiosek +catdef.assign.step2.title=Nastaven\u00ED kategorie pl\u00E1nov\u00E1n\u00ED pro catdef.assign.step2.link.toelvyses=Zp\u011Bt na seznam kiosk\u016F catdef.assign.step2.link.tofirststep=Zp\u011Bt na v\u00FDb\u011Br kategorie catdef.assign.step2.elvys=Zvolen\u00FD kiosek Modified: trunk/server/webServer2/WebContent/secured/categrel/catDefAssignStep1.xhtml =================================================================== --- trunk/server/webServer2/WebContent/secured/categrel/catDefAssignStep1.xhtml 2010-02-26 18:42:24 UTC (rev 1907) +++ trunk/server/webServer2/WebContent/secured/categrel/catDefAssignStep1.xhtml 2010-02-26 19:11:25 UTC (rev 1908) @@ -14,7 +14,7 @@ </ui:define> <ui:define name="contentTitle"> - <h:outputText>#{lbl['catdef.assign.step1.title']}</h:outputText> + <h:outputText>#{lbl['catdef.assign.step1.title']}: #{catDefAssignStep1Bean.updatedElvys.name}, #{catDefAssignStep1Bean.updatedElvys.city}"</h:outputText> </ui:define> <ui:define name="contentSubTitle"></ui:define> @@ -33,7 +33,7 @@ <h:form id="CatDefAssingStep1Form"> <rich:panel> - <f:facet name="header">#{lbl['catdef.assign.step1.title']}</f:facet> + <f:facet name="header">#{lbl['catdef.assign.step1.title']}: #{catDefAssignStep1Bean.updatedElvys.name}, #{catDefAssignStep1Bean.updatedElvys.city}</f:facet> <!-- LINK TO LIST OF ELVYSES --> @@ -43,102 +43,134 @@ immediate="true" action="#{elvysesBean.prepareListBeforeUC}"/> - <!-- ELVYS INFO --> - <h:panelGroup> - <h:panelGroup style="float: right"> - <h:outputText value="#{lbl['catdef.assign.step1.elvys']}: "/> - <b> - <h:outputText value="#{catDefAssignStep1Bean.updatedElvys.name}, #{catDefAssignStep1Bean.updatedElvys.city}" /> - </b> - </h:panelGroup> - <br/> - </h:panelGroup> - - <h:panelGroup styleClass="table-1-ordering"> + <h:panelGroup id="CatOrderGroup" styleClass="table-1-ordering"> <rich:orderingList id="CatOrderList" value="#{catDefAssignStep1Bean.usedCats}" var="cat" listHeight="200" - listWidth="680" + listWidth="700" converter="categoryOrderConverter"> <f:facet name="caption"> <h:outputText value="#{lbl['catdef.assign.step1.list.caption']}" /> </f:facet> - <rich:column width="80"> + + <!-- ORDER --> + <rich:column width="50"> <f:facet name="header"> <h:outputText value="#{lbl['catdef.assign.step1.list.order']}" /> </f:facet> - <h:outputText value="#{cat.catOrder}"></h:outputText> + <h:outputText value="#{cat.cat.catOrder}"></h:outputText> </rich:column> - <rich:column width="120"> + + <!-- CATEGORY NAME --> + <rich:column width="160"> <f:facet name="header"> <h:outputText value="#{lbl['catdef.assign.step1.list.name']}" /> </f:facet> - <h:outputText value="#{cat.categoryDefinition.name}"></h:outputText> + <h:outputText value="#{cat.cat.categoryDefinition.name}"></h:outputText> </rich:column> - <rich:column width="120"> + + <!-- LAYOUT NAME --> + <rich:column width="160"> <f:facet name="header"> <h:outputText value="#{lbl['catdef.assign.step1.list.layout.name']}" /> </f:facet> - <h:outputText value="#{cat.categoryDefinition.layout.name}"></h:outputText> + <h:outputText value="#{cat.cat.categoryDefinition.layout.name}"></h:outputText> </rich:column> - <rich:column width="120"> + + <!-- POSITIONS --> + <rich:column width="100"> <f:facet name="header"> <h:outputText value="#{lbl['catdef.assign.step1.list.layout.pos']}" /> </f:facet> - <h:outputText value="#{cat.categoryDefinition.layout.sectCount}"></h:outputText><br/> + <h:outputText value="#{cat.cat.categoryDefinition.layout.sectCount}"></h:outputText><br/> </rich:column> + <!-- SHARED INFO --> <rich:column width="80"> <f:facet name="header"> <h:outputText value="#{lbl['catdef.assign.step1.list.layout.shared']}" /> </f:facet> - <h:outputText - id="CatIsShared" - rendered="true" - value="#{lbl['catdef.assign.step1.list.layout.shared.yes']}" /> - <rich:toolTip for="CatIsShared"> - <h:outputText value="#{lbl['catdef.assign.step1.list.layout.shared.yes.tooltip']}"/> - </rich:toolTip> - <h:outputText id="CatIsNotShared" - rendered="true" - value="#{lbl['catdef.assign.step1.list.layout.shared.no']}" /> - <rich:toolTip for="CatIsNotShared"> - <h:outputText value="#{lbl['catdef.assign.step1.list.layout.shared.no.tooltip']}"/> - </rich:toolTip> + <h:panelGroup rendered="#{cat.numShared > 1}"> + <a4j:commandLink id="ShowCatPlanningSharing" + style="display: block;" + value="#{lbl['catdef.assign.step1.list.layout.shared.yes']} (#{cat.numShared-1})" + reRender="ShowCatPlanningSharingModalContent" + oncomplete="Richfaces.showModalPanel('ShowCatPlanningSharingModal')"> + <f:setPropertyActionListener value="#{cat.cat.categoryPlanning.id}" target="#{catDefAssignStep1Bean.selectedForDetailOfSharing}" /> + <f:actionListener type="cz.elvys.webServer.beans.categrel.CatDefAssignStep1Bean$PrepareDetailOfSharingOfCatPlanningOnElvyses"/> + </a4j:commandLink> + <rich:toolTip for="ShowCatPlanningSharing"> + <h:outputText value="#{lbl['catdef.assign.step1.list.layout.shared.yes.tooltip']}"/> + </rich:toolTip> + </h:panelGroup> + <h:panelGroup rendered="#{cat.numShared == 1}"> + <h:outputText id="CatIsNotShared" + value="#{lbl['catdef.assign.step1.list.layout.shared.no']}" /> + <rich:toolTip for="CatIsNotShared"> + <h:outputText value="#{lbl['catdef.assign.step1.list.layout.shared.no.tooltip']}"/> + </rich:toolTip> + </h:panelGroup> </rich:column> - <rich:column width="80"> - <f:facet name="header"> - <h:outputText value="#{lbl['catdef.assign.step1.list.edit']}" /> - </f:facet> - <h:commandButton id="ChangeAssignation" - image="/images/icons/edit.png" - immediate="true" - action="#{catDefAssignStep2Bean.prepareOnUpdate}"> - <f:setPropertyActionListener value="#{cat}" target="#{catDefAssignStep2Bean.selectedCategoryWhenModifying}" /> - </h:commandButton> - <rich:toolTip for="ChangeAssignation"> - <h:outputText value="#{lbl['catdef.assign.step1.listofused.edit.tooltip']}"/> - </rich:toolTip> + + <!-- CATEGORY USAGE --> + <rich:column width="80"> + <f:facet name="header">#{lbl['catdef.list.body.usage']}</f:facet> + <h:panelGroup rendered="#{cat.numAssigned > 0}"> + <a4j:commandLink id="ShowCatDefUsage2" + style="display: block;" + value="#{cat.numAssigned}" + reRender="ShowCatDefUsageModalContent2" + oncomplete="Richfaces.showModalPanel('ShowCatDefUsageModal2')"> + <f:setPropertyActionListener value="#{cat.cat.categoryDefinition.id}" target="#{catDefAssignStep1Bean.selectedForDetailOfUsage}" /> + <f:actionListener type="cz.elvys.webServer.beans.categrel.CatDefAssignStep1Bean$PrepareDetailOfUsageOfCatDefOnElvyses"/> + </a4j:commandLink> + <rich:toolTip for="ShowCatDefUsage2"> + <h:outputText value="#{lbl['catdef.list.body.usage.tooltip']}"/> + </rich:toolTip> + </h:panelGroup> + <h:panelGroup rendered="#{cat.numAssigned == 0}"> + <h:outputText value="#{cat.numAssigned}"/> + </h:panelGroup> </rich:column> - - <rich:column width="80"> + + + <!-- OPERATIONS --> + <rich:column width="60"> <f:facet name="header"> - <h:outputText value="#{lbl['catdef.assign.step1.list.delete']}" /> + <h:outputText value="#{lbl['catdef.assign.step1.listofused.operations']}" /> </f:facet> - <a4j:commandButton id="RemoveAssignation" - image="/images/icons/delete.gif" - onclick="Richfaces.showModalPanel('DeleteAssignationModal',{left:300, top:300})" - reRender="DeleteAssignationForm"> - <f:setPropertyActionListener value="#{cat}" target="#{catDefAssignStep1Bean.catToDelete}" /> - <f:actionListener type="cz.elvys.webServer.beans.categrel.CatDefAssignStep1Bean$PrepareUnassignCategoryActionListener"/> - </a4j:commandButton> - - <rich:toolTip for="RemoveAssignation"> - <h:outputText value="#{lbl['catdef.assign.step1.listofused.delete.tooltip']}"/> - </rich:toolTip> + <div class="list-operations-main"> + + <!-- DELETE --> + <h:panelGroup styleClass="list-operations-item"> + <a4j:commandButton id="RemoveAssignation" + image="/images/icons/delete.gif" + onclick="Richfaces.showModalPanel('DeleteAssignationModal')" + reRender="DeleteAssignationForm"> + <f:setPropertyActionListener value="#{cat.cat}" target="#{catDefAssignStep1Bean.catToDelete}" /> + <f:actionListener type="cz.elvys.webServer.beans.categrel.CatDefAssignStep1Bean$PrepareUnassignCategoryActionListener"/> + </a4j:commandButton> + <rich:toolTip for="RemoveAssignation"> + <h:outputText value="#{lbl['catdef.assign.step1.listofused.delete.tooltip']}"/> + </rich:toolTip> + </h:panelGroup> + + <!-- EDIT --> + <h:panelGroup styleClass="list-operations-item"> + <h:commandButton id="ChangeAssignation" + image="/images/icons/edit.png" + immediate="true" + action="#{catDefAssignStep2Bean.prepareOnUpdate}"> + <f:setPropertyActionListener value="#{cat.cat}" target="#{catDefAssignStep2Bean.selectedCategoryWhenModifying}" /> + </h:commandButton> + <rich:toolTip for="ChangeAssignation"> + <h:outputText value="#{lbl['catdef.assign.step1.listofused.edit.tooltip']}"/> + </rich:toolTip> + </h:panelGroup> + </div> </rich:column> <a4j:support event="onorderchanged" @@ -169,8 +201,7 @@ </rich:panel> </h:form> - <rich:modalPanel id="DeleteAssignationModal" minHeight="100" minWidth="200" - height="200" width="200" zindex="2000"> + <rich:modalPanel id="DeleteAssignationModal" minHeight="100" minWidth="200" autosized="true" zindex="3000"> <f:facet name="header"> <h:outputText value="#{lbl['catdef.assign.step1.listofused.delete.modal.label']}" /> </f:facet> @@ -216,7 +247,105 @@ </h:form> </center> </rich:modalPanel> + + + <!-- CATDEF USAGES MODAL --> + <rich:modalPanel id="ShowCatDefUsageModal2" minWidth="500" minHeight="200" autosized="true" zindex="4000"> + <f:facet name="header"> + <h:outputText value="#{lbl['catdef.list.body.usage.modal.header']}" /> + </f:facet> + <rich:panel id="ShowCatDefUsageModalContent2" + styleClass="modal-win-panel" > + <h:panelGroup style="overflow:auto; display: block;"> + + <!-- CLOSE BUTTON --> + <h:panelGroup styleClass="modal-close-button-div"> + <h:form id="ShowCatDefUsageModalForm2" style="overflow: auto;"> + <!-- CLOSE BUTTON --> + <a4j:commandButton + id="elvysSettingCloseButton2" + reRender="CatOrderGroup, ShowCatDefUsageModalContent2" + onclick="Richfaces.hideModalPanel('ShowCatDefUsageModal2')" + image="/images/icons/close.gif" + styleClass="modal-close-button" /> + </h:form> + </h:panelGroup> + + <!-- FORM --> + <h:panelGroup styleClass="modal-body-div"> + <h:form> + <rich:dataTable + value="#{catDefAssignStep1Bean.listOfElvysesForDetailOfUsage}" + var="elvys" + columnsWidth="200,300"> + + <h:column> + <f:facet name="header">#{lbl['catdef.list.body.usage.modal.list.name']}</f:facet> + <h:outputText value="#{elvys.name}"/> + </h:column> + + <h:column> + <f:facet name="header">#{lbl['catdef.list.body.usage.modal.list.address']}</f:facet> + <h:outputText value="#{elvys.address}, #{elvys.psc} #{elvys.city}"/> + </h:column> + </rich:dataTable> + </h:form> + </h:panelGroup> + </h:panelGroup> + </rich:panel> + </rich:modalPanel> + + + + <!-- CATPLAN SHARINGS MODAL --> + <rich:modalPanel id="ShowCatPlanningSharingModal" minWidth="500" minHeight="200" autosized="true" zindex="4000"> + <f:facet name="header"> + <h:outputText value="#{lbl['catdef.assign.step1.listofused.modalsharing.header']}" /> + </f:facet> + + <rich:panel id="ShowCatPlanningSharingModalContent" + styleClass="modal-win-panel" > + <h:panelGroup style="overflow:auto; display: block;"> + + <!-- CLOSE BUTTON --> + <h:panelGroup styleClass="modal-close-button-div"> + <h:form id="ShowCatPlanningSharingModalForm" style="overflow: auto;"> + <!-- CLOSE BUTTON --> + <a4j:commandButton + id="ShowCatPlanningSharingModal" + reRender="CatOrderList, ShowCatPlanningSharingModalContent" + onclick="Richfaces.hideModalPanel('ShowCatPlanningSharingModal')" + image="/images/icons/close.gif" + styleClass="modal-close-button" /> + </h:form> + </h:panelGroup> + + <!-- FORM --> + <h:panelGroup styleClass="modal-body-div"> + <h:form> + <rich:dataTable + value="#{catDefAssignStep1Bean.listofelvysesForDetailOfSharing}" + var="elvys" + columnsWidth="200,300"> + + <h:column> + <f:facet name="header">#{lbl['catdef.list.body.usage.modal.list.name']}</f:facet> + <h:outputText value="#{elvys.name}"/> + </h:column> + + <h:column> + <f:facet name="header">#{lbl['catdef.list.body.usage.modal.list.address']}</f:facet> + <h:outputText value="#{elvys.address}, #{elvys.psc} #{elvys.city}"/> + </h:column> + </rich:dataTable> + </h:form> + </h:panelGroup> + </h:panelGroup> + </rich:panel> + </rich:modalPanel> + + </ui:define> Modified: trunk/server/webServer2/WebContent/secured/categrel/catDefAssignStep2.xhtml =================================================================== --- trunk/server/webServer2/WebContent/secured/categrel/catDefAssignStep2.xhtml 2010-02-26 18:42:24 UTC (rev 1907) +++ trunk/server/webServer2/WebContent/secured/categrel/catDefAssignStep2.xhtml 2010-02-26 19:11:25 UTC (rev 1908) @@ -14,7 +14,7 @@ </ui:define> <ui:define name="contentTitle"> - <h:outputText>#{lbl['catdef.assign.step2.title']}</h:outputText> + <h:outputLabel value="#{lbl['catdef.assign.step2.title']}: #{catDefAssignStep2Bean.updatedElvys.name}, #{catDefAssignStep2Bean.updatedElvys.city}"/> </ui:define> <ui:define name="contentSubTitle"></ui:define> @@ -33,7 +33,7 @@ <h:form id="CatDefAssingStep1Form"> <rich:panel> - <f:facet name="header">#{lbl['catdef.assign.step2.title']}</f:facet> + <f:facet name="header">#{lbl['catdef.assign.step2.title']}: #{catDefAssignStep2Bean.updatedElvys.name}, #{catDefAssignStep2Bean.updatedElvys.city}</f:facet> <!-- LINK TO LIST OF ELVYSES --> @@ -55,9 +55,6 @@ <!-- CATEGORY INFO --> <h:panelGroup> <h:panelGroup style="float: right"> - <h:outputText value="#{lbl['catdef.assign.step2.elvys']}: "/> - <b><h:outputText value="#{catDefAssignStep2Bean.updatedElvys.name}, #{catDefAssignStep1Bean.updatedElvys.city}" /></b> - <br/> <h:outputText value="#{lbl['catdef.assign.step2.catdef']}: "/> <b><h:outputText value="#{catDefAssignStep2Bean.selectedCategory.name}" /></b> </h:panelGroup> Modified: trunk/server/webServer2/WebContent/secured/components/category/catDefListComponent.xhtml =================================================================== --- trunk/server/webServer2/WebContent/secured/components/category/catDefListComponent.xhtml 2010-02-26 18:42:24 UTC (rev 1907) +++ trunk/server/webServer2/WebContent/secured/components/category/catDefListComponent.xhtml 2010-02-26 19:11:25 UTC (rev 1908) @@ -94,8 +94,8 @@ var="catDefRec" rows="10" reRender="CatDefList, SearchPanel, datascroller" - width="600" - sortMode="single"> + sortMode="single" + columnsWidth="200, 130, 200, 60, 60, 100"> <f:facet name="caption"> <h:outputText @@ -147,11 +147,17 @@ </rich:column> <!-- LAYOUT NAME --> - <rich:column> + <rich:column sortBy="#{catDefRec.catDef.layout.name}"> <f:facet name="header">#{lbl['catdef.list.body.layout.name']}</f:facet> <h:outputText value="#{catDefRec.catDef.layout.name}"/> </rich:column> + <!-- LAYOUT POSITIONS --> + <rich:column sortBy="#{catDefRec.catDef.layout.sectCount}" > + <f:facet name="header">#{lbl['catdef.list.body.layout.positions']}</f:facet> + <h:outputText value="#{catDefRec.catDef.layout.sectCount}"/> + </rich:column> + <!-- CATEGORY USAGE --> <rich:column sortBy="#{catDefRec.connectedElvysesSize}"> <f:facet name="header">#{lbl['catdef.list.body.usage']}</f:facet>