Commit e0c7dc90 by Juho Juopperi

Merge branch 'uifixes' into 'master'

Uifixes

user creation link, etc ui fixes
2 parents 9008b8f8 59f3579c
......@@ -273,4 +273,23 @@ public class EventBean implements EventBeanLocal {
return eventFacade.find(id);
}
@Override
@RolesAllowed(EventPermission.S_MANAGE_EVENT)
public LanEvent deleteProperty(LanEventProperty property) {
property = eventPropertyFacade.reload(property);
LanEvent event = property.getEvent();
event.getProperties().remove(property);
eventPropertyFacade.refresh(property);
return event;
}
@Override
@RolesAllowed({ EventPermission.S_MANAGE_PRIVATE_PROPERTIES, EventPermission.S_MANAGE_EVENT })
public LanEvent deletePrivateProperty(LanEventPrivateProperty property) {
LanEventPrivateProperty prop = eventPrivatePropertyFacade.reload(property);
LanEvent event = prop.getEvent();
eventPrivatePropertyFacade.remove(property);
return event;
}
}
......@@ -28,8 +28,17 @@ import fi.codecrew.moya.facade.MenuitemFacade;
import fi.codecrew.moya.model.LanEvent;
import fi.codecrew.moya.model.MenuNavigation;
// *************************************************
// *** LUE TÄMÄ ENNEN KUN TEET MUUTOKSIA MENUUN! **
// *************************************************
/**
* Session Bean implementation class Menubean
*
* Kaikki sivut pitää olla jossain menussa, muuten menu häviää näkyvistä ko.
* sivulla kokonaan. Älä siis poista sivua vaaan aseta sivu näkymättömäksi:
* .setVisible(false).
*
*
*/
@Stateless
@LocalBean
......@@ -71,7 +80,7 @@ public class MenuBean implements MenuBeanLocal {
private synchronized void initializeMenu() {
//int menusort = 100;
// int menusort = 100;
logger.info("Initializing new default menu");
LanEvent ev = eventbean.getCurrentEvent();
......@@ -84,9 +93,9 @@ public class MenuBean implements MenuBeanLocal {
usermenu.addPage(menuitemfacade.findOrCreate("/checkout/cancel"), null).setVisible(false);
usermenu.addPage(menuitemfacade.findOrCreate("/permissionDenied"), null).setVisible(false);
usermenu.addPage(menuitemfacade.findOrCreate("/utils/flushCache"), null).setVisible(false);
usermenu.addPage(menuitemfacade.findOrCreate("/auth/login"), null).setVisible(false);
usermenu.addPage(menuitemfacade.findOrCreate("/auth/loginError"), null).setVisible(false);
// usermenu.addPage(menuitemfacade.findOrCreate("/auth/logout"), null).setVisible(false); // disabled
usermenu.addPage(menuitemfacade.findOrCreate("/auth/logoutResponse"), null).setVisible(false);
usermenu.addPage(menuitemfacade.findOrCreate("/auth/resetPassword"), null).setVisible(false);
usermenu.addPage(menuitemfacade.findOrCreate("/auth/resetmailSent"), null).setVisible(false);
......@@ -141,12 +150,10 @@ public class MenuBean implements MenuBeanLocal {
tournaments.addPage(menuitemfacade.findOrCreate("/tournaments/participate_multi"), TournamentPermission.PARTICIPATE).setVisible(false);
tournaments.addPage(menuitemfacade.findOrCreate("/tournaments/addTeam"), TournamentPermission.PARTICIPATE).setVisible(false);
/*
* MenuNavigation createuser = usermenu.addPage(null, null);
* createuser.setKey("topnavi.createuser");
* createuser.addPage(menuitemfacade.findOrCreate("/user/create"),
* UserPermission.CREATE_NEW);
*/
MenuNavigation createuser = usermenu.addPage(null, null);
createuser.setKey("topnavi.createuser");
createuser.addPage(menuitemfacade.findOrCreate("/user/create"), UserPermission.CREATE_NEW).setVisible(false);
;
navifacade.create(usermenu);
......@@ -156,7 +163,7 @@ public class MenuBean implements MenuBeanLocal {
MenuNavigation adminmenu = new MenuNavigation(ev, "topmenu.admin", 20);
//user management
// user management
MenuNavigation adminuser = adminmenu.addPage(null, null);
adminuser.setKey("topnavi.usermgmt");
adminuser.addPage(menuitemfacade.findOrCreate("/useradmin/list"), UserPermission.VIEW_ALL);
......@@ -197,7 +204,6 @@ public class MenuBean implements MenuBeanLocal {
adminShopProducts.addPage(menuitemfacade.findOrCreate("/product/list"), ShopPermission.LIST_ALL_PRODUCTS);
adminShopProducts.addPage(menuitemfacade.findOrCreate("/product/create"), ShopPermission.MANAGE_PRODUCTS);
adminShopProducts.addPage(menuitemfacade.findOrCreate("/product/edit"), ShopPermission.MANAGE_PRODUCTS).setVisible(false);
MenuNavigation foodnavi = adminshop.addPage(null, null);
foodnavi.setKey("topnavi.foodwave");
......@@ -223,7 +229,8 @@ public class MenuBean implements MenuBeanLocal {
MenuNavigation adminPlaces = adminmenu.addPage(null, null);
adminPlaces.setKey("topnavi.userplaces");
adminPlaces.addPage(menuitemfacade.findOrCreate("/place/adminPlacemap"), UserPermission.VIEW_ALL);
// adminPlaces.addPage(menuitemfacade.findOrCreate("/place/adminGroups"), UserPermission.VIEW_ALL); // todo: make new view for managing
// adminPlaces.addPage(menuitemfacade.findOrCreate("/place/adminGroups"),
// UserPermission.VIEW_ALL); // todo: make new view for managing
MenuNavigation mapnavi = adminPlaces.addPage(null, null);
mapnavi.setKey("topnavi.maps");
......@@ -257,14 +264,7 @@ public class MenuBean implements MenuBeanLocal {
gamenavi.addPage(menuitemfacade.findOrCreate("/license/manageCodes"), LicensePermission.MANAGE);
adminevent.addPage(menuitemfacade.findOrCreate("/eventorg/editEvent"), EventPermission.MANAGE_PROPERTIES);
adminevent.addPage(menuitemfacade.findOrCreate("/eventorg/edit"), EventPermission.MANAGE_PROPERTIES).setVisible(false);
MenuNavigation tournamentsadm = adminmenu.addPage(null, null);
tournamentsadm.setKey("tournaments.menutitle");
......@@ -275,32 +275,24 @@ public class MenuBean implements MenuBeanLocal {
tournamentsadm.addPage(menuitemfacade.findOrCreate("/tournaments/admin/edit"), TournamentPermission.MANAGE_ALL).setVisible(false);
tournamentsadm.addPage(menuitemfacade.findOrCreate("/tournaments/admin/delete"), TournamentPermission.MANAGE_ALL).setVisible(false);
tournamentsadm.addPage(menuitemfacade.findOrCreate("/tournaments/admin/editrules"), TournamentPermission.MANAGE_ALL).setVisible(false);
MenuNavigation infoviews = adminmenu.addPage(null, null);
infoviews.setKey("topnavi.infoviews");
infoviews.addPage(menuitemfacade.findOrCreate("/admin/adduser/index"), UserPermission.CREATE_NEW);
infoviews.addPage(menuitemfacade.findOrCreate("/admin/adduser/index"), TerminalPermission.INFO);
MenuNavigation infonavi = infoviews.addPage(null, null);
infonavi.setKey("subnavi.info");
infonavi.addPage(menuitemfacade.findOrCreate("/info/index"), TerminalPermission.INFO);
infonavi.addPage(menuitemfacade.findOrCreate("/info/incoming"), TerminalPermission.INFO);
navifacade.create(adminmenu);
//MenuNavigation shopmenu = new MenuNavigation(ev, "topnavi.shopnavi", menusort = +10);
// MenuNavigation shopmenu = new MenuNavigation(ev, "topnavi.shopnavi",
// menusort = +10);
// shopnavi.addPage(menuitemfacade.findOrCreate("/index3"),
// UserPermission.ANYUSER);
// navifacade.create(shopmenu);
// navifacade.create(shopmenu);
/*
* MenuNavigation profileTopmenu = new MenuNavigation(ev,
* "topnavi.profile", menusort = +10);
......@@ -361,6 +353,36 @@ public class MenuBean implements MenuBeanLocal {
}
// ////////////////////////////////////////////////////
// ////////////////////////////////////////////////////
// ////////////////////////////////////////////////////
// ////////////////////////////////////////////////////
// ////////////////////////////////////////////////////
// ////////////////////////////////////////////////////
// ////////////////////////////////////////////////////
// OLD MENU STARTS HERE!!!
// ////////////////////////////////////////////////////
// ////////////////////////////////////////////////////
// ////////////////////////////////////////////////////
// ////////////////////////////////////////////////////
// ////////////////////////////////////////////////////
// ////////////////////////////////////////////////////
// ////////////////////////////////////////////////////
private synchronized void initializeOldMenu() {
LanEvent ev = eventbean.getCurrentEvent();
......@@ -377,6 +399,7 @@ public class MenuBean implements MenuBeanLocal {
frontTopnavi.addPage(menuitemfacade.findOrCreate("/auth/sendResetMail"), UserPermission.LOGIN);
frontTopnavi.addPage(menuitemfacade.findOrCreate("/user/invite"), UserPermission.INVITE_USERS);
frontTopnavi.addPage(menuitemfacade.findOrCreate("/permissionDenied"), null).setVisible(false);
frontTopnavi.addPage(menuitemfacade.findOrCreate("/utils/flushCache"), null).setVisible(false);
frontTopnavi.addPage(menuitemfacade.findOrCreate("/auth/login"), null).setVisible(false);
frontTopnavi.addPage(menuitemfacade.findOrCreate("/auth/loginError"), null).setVisible(false);
frontTopnavi.addPage(menuitemfacade.findOrCreate("/auth/logout"), null).setVisible(false);
......
......@@ -40,4 +40,8 @@ public interface EventBeanLocal {
LanEvent getEventById(Integer id);
LanEvent deleteProperty(LanEventProperty property);
LanEvent deletePrivateProperty(LanEventPrivateProperty property);
}
......@@ -42,7 +42,7 @@
<h:outputLabel for="defaultrole" value="#{i18n['event.defaultRole']}:" />
<h:selectOneMenu id="defaultrole" converter="#{roleConverter}" value="#{eventorgView.event.defaultRole}">
<f:selectItem itemLabel="---" />
<f:selectItem itemLabel="---" />
<f:selectItems var="role" itemLabel="#{role.name}" value="#{eventorgView.event.roles}" />
</h:selectOneMenu>
<h:message for="defaultrole" />
......@@ -53,7 +53,7 @@
<h2>#{i18n['event.domains.title']}</h2>
<h:form>
<h:form id="newDomainForm">
<h:inputText value="#{eventorgView.newdomain}" />
<h:commandButton action="#{eventorgView.addDomain()}" value="#{i18n['eventdomain.add']}" />
<h:dataTable var="domain" value="#{eventorgView.eventdomains}">
......@@ -70,8 +70,8 @@
</h:form>
<h2>#{i18n['event.properties.title']}</h2>
<h:form>
<h:dataTable var="prop" value="#{eventPropertyView.properties}">
<h:form id="propertyListForm">
<h:dataTable var="prop" id="propertyListTable" value="#{eventPropertyView.properties}">
<h:column>
<f:facet name="header">#{i18n['lanEventProperty.key']}</f:facet>
<h:outputText value="#{prop.key}" />
......@@ -89,24 +89,25 @@
</h:column>
<h:column>
<h:commandButton action="#{eventPropertyView.editProperty}" value="#{i18n['lanEventProperty.editProperty']}">
<!-- <f:ajax render="@all" execute="@form"/> -->
</h:commandButton>
<p:commandButton ajax="false" action="#{eventPropertyView.editProperty}" value="#{i18n['lanEventProperty.editProperty']}" update=":propertyEditForm" />
</h:column>
<h:column>
<p:commandButton ajax="false" action="#{eventPropertyView.deleteProperty}" onclick="return confirm('#{i18n['lanEventProperty.confirmDelete']}')"
value="#{i18n['lanEventProperty.deleteProperty']}" update=":propertyListForm" />
</h:column>
</h:dataTable>
</h:form>
<h:form>
<h:form id="propertyCreateForm">
<h:selectOneMenu id="propval" value="#{eventPropertyView.createKey}">
<f:selectItems value="#{eventPropertyView.availablePropertyKeys}" />
</h:selectOneMenu>
<h:commandButton action="#{eventPropertyView.initPropertyKeyCreate}" value="#{i18n['lanEventProperty.createProperty']}">
<!-- <f:ajax render="@all" execute="@form" /> -->
</h:commandButton>
<p:commandButton ajax="false" action="#{eventPropertyView.initPropertyKeyCreate}" value="#{i18n['lanEventProperty.createProperty']}" update=":propertyCreateForm,:propertyEditForm" />
<h:message for="propval" />
</h:form>
<h:form rendered="#{!empty eventPropertyView.property}" enctype="#{eventPropertyView.property.key.data?'multipart/form-data':''}">
<h:form id="propertyEditForm" rendered="#{!empty eventPropertyView.property}" enctype="#{eventPropertyView.property.key.data?'multipart/form-data':''}">
<h:panelGrid columns="3">
<h:outputLabel for="key" value="#{i18n['lanEventProperty.key']}" />
<h:outputText value="#{eventPropertyView.property.key}" id="key" />
......@@ -140,14 +141,13 @@
<h:message rendered="#{eventPropertyView.property.key.long}" for="longval" />
</h:panelGrid>
<h:commandButton action="#{eventPropertyView.saveProperty}" value="#{i18n['lanEventProperty.save']}" />
<p:commandButton ajax="false" action="#{eventPropertyView.saveProperty}" value="#{i18n['lanEventProperty.save']}" update=":propertyEditForm,:propertyListForm" />
</h:form>
<ui:fragment rendered="#{eventPropertyView.privatePropertyPermission}">
<ui:fragment id="privatePropertyEditor" rendered="#{eventPropertyView.privatePropertyPermission}">
<h2>#{i18n['event.privateProperties.title']}</h2>
<h:form>
<h:form id="privPropList">
<h:dataTable var="prop" value="#{eventPropertyView.privateProperties}">
<h:column>
<f:facet name="header">#{i18n['lanEventPrivateProperty.key']}</f:facet>
......@@ -163,9 +163,13 @@
</h:column>
<h:column>
<h:commandButton action="#{eventPropertyView.editPrivateProperty}" value="#{i18n['lanEventPrivateProperty.editProperty']}">
<p:commandButton ajax="false" action="#{eventPropertyView.editPrivateProperty}" value="#{i18n['lanEventPrivateProperty.editProperty']}">
<!-- <f:ajax render="@all" execute="@form"/> -->
</h:commandButton>
</p:commandButton>
</h:column>
<h:column>
<p:commandButton ajax="false" action="#{eventPropertyView.deletePrivateProperty}" onclick="return confirm('#{i18n['lanEventProperty.confirmDelete']}')"
value="#{i18n['lanEventProperty.deleteProperty']}" update="@form" />
</h:column>
</h:dataTable>
</h:form>
......@@ -174,9 +178,8 @@
<h:selectOneMenu id="propval" value="#{eventPropertyView.createPrivateKey}">
<f:selectItems value="#{eventPropertyView.availablePrivatePropertyKeys}" />
</h:selectOneMenu>
<h:commandButton action="#{eventPropertyView.initPrivatePropertyKeyCreate}" value="#{i18n['lanEventPrivateProperty.createProperty']}">
<!-- <f:ajax render="@all" execute="@form" /> -->
</h:commandButton>
<p:commandButton ajax="false" action="#{eventPropertyView.initPrivatePropertyKeyCreate}" value="#{i18n['lanEventPrivateProperty.createProperty']}" update=":privatePropertyEditor" />
<h:message for="propval" />
</h:form>
......@@ -199,7 +202,7 @@
<h:message rendered="#{eventPropertyView.privateProperty.key.date}" for="textval" />
</h:panelGrid>
<h:commandButton action="#{eventPropertyView.savePrivateProperty}" value="#{i18n['lanEventPrivateProperty.save']}" />
<p:commandButton ajax="false" action="#{eventPropertyView.savePrivateProperty}" value="#{i18n['lanEventPrivateProperty.save']}" update=":privatePropertyEditor" />
</h:form>
......
......@@ -11,10 +11,10 @@
<h:outputText rendered="#{billListView.bills.rowCount le 0}" value="#{i18n['bills.noBills']}" />
<h:form rendered="#{billListView.canWriteBill}">
<p:commandButton ajax="false" action="#{billListView.showPayButtonsAction()}" value="#{i18n['bill.showPayButtons']}" />
<h:form rendered="#{billListView.canWriteBill}">
<p:commandButton ajax="false" action="#{billListView.showPayButtonsAction()}" value="#{i18n['bill.showPayButtons']}" />
</h:form>
<h:form rendered="#{billListView.bills.rowCount gt 0}">
......@@ -83,9 +83,7 @@
</h:link>
</p:column>
<p:column rendered="#{billListView.canWriteBill}">
<h:commandButton rendered="#{bill.paidDate == null and billListView.showPayButtons}" action="#{billListView.markPaid()}" value="#{i18n['bill.markPaid']}">
<f:ajax render="@form" />
</h:commandButton>
<p:commandButton onerror="location.reload(true)" rendered="#{bill.paidDate == null and billListView.showPayButtons}" action="#{billListView.markPaid()}" value="#{i18n['bill.markPaid']}" />
<h:outputText rendered="#{bill.paidDate != null}" value="#{i18n['bill.isPaid']}" />
</p:column>
<p:column rendered="#{!billListView.canWriteBill}">
......
......@@ -163,6 +163,12 @@
<br />
<p:commandButton styleClass="button" id="onelinesubmit" action="#{authView.executeLoginAction}" ajax="false" value="#{i18n['login.submit']}" />
</h:form>
<ui:fragment rendered="#{authView.canCreateUser}">
<h:link value="#{i18n['submenu.user.create']}" outcome="/user/create" />
<br />
</ui:fragment>
<h:link value="#{i18n['submenu.auth.sendResetMail']}" outcome="/auth/sendResetMail" />
</div>
</ui:fragment>
</div>
......
......@@ -105,6 +105,18 @@ public class EventPropertyView extends GenericCDIView {
return null;
}
public String deleteProperty() {
eventbean.deleteProperty(properties.getRowData());
properties = null;
return null;
}
public String deletePrivateProperty() {
eventbean.deletePrivateProperty(privateProperties.getRowData());
privateProperties = null;
return null;
}
public String savePrivateProperty()
{
logger.info("Saving property {}, eventorg {}, key {}", new Object[] { privateProperty.getEvent(), privateProperty.getEventorg(), privateProperty.getKey() });
......
......@@ -15,6 +15,8 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import fi.codecrew.moya.beans.BootstrapBeanLocal;
import fi.codecrew.moya.beans.PermissionBeanLocal;
import fi.codecrew.moya.enums.apps.UserPermission;
import fi.codecrew.moya.handler.NavigationHandler;
import fi.codecrew.moya.model.EventUser;
import fi.codecrew.moya.model.User;
......@@ -37,6 +39,13 @@ public class AuthView extends GenericCDIView {
@EJB
private transient BootstrapBeanLocal bootStrapBean;
@EJB
private PermissionBeanLocal permbean;
public boolean isCanCreateUser() {
return permbean.hasPermission(UserPermission.CREATE_NEW);
}
private HttpServletRequest getRequest() {
FacesContext facesContext = FacesContext.getCurrentInstance();
ExternalContext externalContext = facesContext.getExternalContext();
......
......@@ -182,7 +182,8 @@ public class LayoutView implements Serializable {
LanEventProperty logo = eventbean.getProperty(LanEventPropertyKey.EVENT_LOGO);
if (logo != null)
{
if (logo.getByteMime() == null || logo.getByteValue() == null) {
logger.info("Logo is not null. mime {}, bytes {}", logo.getByteMime(), logo.getByteValue().length);
if (logo.getByteMime() == null || logo.getByteValue() == null || logo.getByteValue().length == 0) {
headertext = logo.getTextvalue();
} else {
headerimage = new DefaultStreamedContent(new ByteArrayInputStream(logo.getByteValue()), logo.getByteMime());
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!