Commit 0f125c44 by Tuukka Kivilahti

and now it works, lets do it with this

1 parent 21ed9402
......@@ -12,6 +12,7 @@ import javax.annotation.Resource;
import javax.annotation.security.DeclareRoles;
import javax.annotation.security.RolesAllowed;
import javax.ejb.EJB;
import javax.ejb.EJBAccessException;
import javax.ejb.LocalBean;
import javax.ejb.SessionContext;
import javax.ejb.Stateless;
......@@ -20,6 +21,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import fi.codecrew.moya.enums.apps.IAppPermission;
import fi.codecrew.moya.enums.apps.SpecialPermission;
import fi.codecrew.moya.enums.apps.UserPermission;
import fi.codecrew.moya.facade.EventUserFacade;
import fi.codecrew.moya.facade.RoleFacade;
......@@ -56,7 +58,10 @@ public class RoleBean implements RoleBeanLocal {
private EventUserFacade eventuserfacade;
@EJB
private EventBeanLocal permbean;
private PermissionBeanLocal permbean;
@EJB
private LoggingBeanLocal loggerbean;
@EJB
private CardTemplateBean cardTemplateBean;
......@@ -215,8 +220,12 @@ public class RoleBean implements RoleBeanLocal {
@Override
@RolesAllowed(UserPermission.S_READ_ROLES)
@RolesAllowed(SpecialPermission.S_USER)
public List<Role> getRoles(EventUser selectedUser) {
if (!permbean.isCurrentUser(selectedUser) && !permbean.hasPermission(UserPermission.READ_ROLES)) {
loggerbean.logMessage(SecurityLogType.permissionDenied, permbean.getCurrentUser(), "User tried to touch another user roles: " + selectedUser);
throw new EJBAccessException("Not enough rights to read user permissions");
}
return roleFacade.findForUser(selectedUser);
}
......@@ -238,4 +247,10 @@ public class RoleBean implements RoleBeanLocal {
cardTemplateBean.checkPrintedCard(user);
}
@Override
public List<Role> listUserSelectableRoles() {
return roleFacade.findUserSelectableRoles();
}
}
......@@ -40,4 +40,6 @@ public interface RoleBeanLocal {
Role addRole(EventUser eventuser, Role role);
List<Role> listUserSelectableRoles();
}
......@@ -225,7 +225,7 @@ public class Role extends GenericEntity {
return userSelectableRole;
}
public void setRserSelectableRole(boolean user_selectable_group) {
public void setUserSelectableRole(boolean user_selectable_group) {
this.userSelectableRole = user_selectable_group;
}
......
......@@ -10,7 +10,7 @@
<h:panelGrid columns="2">
<h:outputText value="#{i18n['role.name']}" />
<h:inputText value="#{roleView.role.name}" />
<h:outputText value="* #{i18n['role.userSelectableRole']}" />
<h:outputText value="#{i18n['role.userSelectableRole']}" />
<p:selectBooleanCheckbox value="#{roleView.role.userSelectableRole}" />
<h:outputText value="#{i18n['role.parents']}" />
......
......@@ -9,14 +9,13 @@
<composite:attribute name="creating" required="false" default="false" />
<composite:attribute name="commitaction" required="true" method-signature="java.lang.String action()" />
<composite:attribute name="camAlwaysOn" required="false" default="false" />
<composite:attribute name="showRoles" required="false" default="false" />
</composite:interface>
<composite:implementation>
<h:outputScript library="primefaces" name="jquery/jquery.js" target="head" />
<h:panelGrid columns="2">
<h:panelGrid columns="3" cellpadding="20" columnClasses="topalign,topalign,topalign">
<h:form id="userform" enctype="multipart/form-data">
<h:panelGroup>
......@@ -152,10 +151,21 @@
</h:panelGroup>
</h:form>
<h:form>
<h:panelGroup>
asdf
<h:panelGroup rendered="#{userView.showUserSelectableRoles and cc.attrs.showRoles}">
<h2>
<h:outputText value="#{i18n['user.userSelectableRoles']}:" />
</h2>
<h:selectManyCheckbox converter="#{roleConverter}" layout="pageDirection" id="roles" value="#{userView.usersRoles}">
<f:selectItems var="roleitem" itemLabel="#{roleitem.name}" value="#{roleDataView.userSelectableRoles}" />
</h:selectManyCheckbox>
<div>
<h:message rendered="#{roleView.canReadRoles}" for="roles" />
</div>
<h:commandButton action="#{userView.saveUserSelectableRoles}" value="#{i18n['user.saveUserSelectableRoles']}" />
</h:panelGroup>
</h:form>
......
......@@ -206,3 +206,8 @@ th, td {
padding-left: 10px;
padding-top: 10px;
}
.topalign {
vertical-align: top;
padding-left: 20px;
}
......@@ -14,7 +14,7 @@
<h1>#{i18n['user.edit.title']}</h1>
</ui:define>
<ui:define name="content">
<users:edit commitaction="#{userView.saveUser()}" commitvalue="#{i18n['user.save']}" />
<users:edit commitaction="#{userView.saveUser()}" commitvalue="#{i18n['user.save']}" showRoles="true" />
</ui:define>
</ui:composition>
</h:body>
......
......@@ -328,7 +328,9 @@ topnavi.userlectures = Kurssit ja luennot
user.cropImage = Crop
user.imageUpload.imageNotFound = Select image to upload
user.saveUserSelectableRoles = Tallenna
user.unauthenticated = Kirjautumaton
user.userSelectableRoles = Valitse yksi
usercart.downloadCsv = CSV
usercart.showoverview = Vie tarkastusn\u00E4kym\u00E4\u00E4n
......
......@@ -1391,6 +1391,7 @@ user.save = Save
user.saveFailed = Save failed, Not enough permissions!
user.saveRoles = Save roles
user.saveSuccessfull = Changes saved successfully
user.saveUserSelectableRoles = Save
user.search = Search
user.searchUser = Search user
user.sendPicture = Send image
......@@ -1405,6 +1406,7 @@ user.superadmin = Superadmin
user.thisIsCurrentImage = Current image
user.town = City
user.uploadimage = Send image
user.userSelectableRoles = Select one
user.username = Username
user.validate.notUniqueUsername = Username already exists. Please select another.
user.validateUser.commit = Send
......
......@@ -1372,6 +1372,7 @@ user.roles = Roolit
user.rolesave = Tallenna roolit
user.save = Tallenna
user.saveRoles = Tallenna roolit
user.saveUserSelectableRoles = Tallenna
user.search = Hae
user.searchUser = Hae k\u00E4ytt\u00E4j\u00E4\u00E4
user.sendPicture = Kuvan l\u00E4hetys
......@@ -1386,6 +1387,7 @@ user.superadmin = Superadmin
user.thisIsCurrentImage = Nykyinen kuva
user.town = Kaupunki
user.uploadimage = L\u00E4het\u00E4 kuva
user.userSelectableRoles = Valitse yksi
user.username = K\u00E4ytt\u00E4j\u00E4tunnus
user.validate.notUniqueUsername = K\u00E4ytt\u00E4j\u00E4tunnus on jo olemassa. Ole hyv\u00E4 ja valitse toinen tunnus
user.validateUser.commit = L\u00E4het\u00E4
......
......@@ -54,4 +54,11 @@ public class RoleDataView extends GenericCDIView {
}
return roles;
}
public ListDataModel<Role> getUserSelectableRoles() {
if (roles == null) {
roles = new ListDataModel<Role>(rolebean.listUserSelectableRoles());
}
return roles;
}
}
......@@ -161,7 +161,7 @@ public class UserView extends GenericCDIView {
/**
* This is the user we are currently editing, if that is not found we user
* This is the user we are currently editing, if that is not found we use
* current user
*
* @return
......@@ -532,4 +532,24 @@ public class UserView extends GenericCDIView {
public void setLayoutview(LayoutView layoutview) {
this.layoutview = layoutview;
}
public String saveUserSelectableRoles()
{
rolebean.saveUserSelectableRoles(user, usersRoles);
usersRoles = null;
return null;
}
public boolean isShowUserSelectableRoles() {
return (rolebean.listUserSelectableRoles().size() >= 1);
}
}
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!