diff --git a/ccm-core/src/main/java/org/libreccm/admin/ui/LoginView.java b/ccm-core/src/main/java/org/libreccm/admin/ui/LoginView.java index 8176fba3b..743627af2 100644 --- a/ccm-core/src/main/java/org/libreccm/admin/ui/LoginView.java +++ b/ccm-core/src/main/java/org/libreccm/admin/ui/LoginView.java @@ -77,6 +77,7 @@ public class LoginView extends CustomComponent implements View { formLayout = new FormLayout(); formLayout.setSizeFull(); + formLayout.setMargin(true); userName = new TextField(); userName.setCaption("User name"); @@ -126,7 +127,6 @@ public class LoginView extends CustomComponent implements View { // submitButton.removeClickShortcut(); // } // }); - password.addFocusListener(event -> { submitButton.setClickShortcut(ShortcutAction.KeyCode.ENTER); }); @@ -136,15 +136,13 @@ public class LoginView extends CustomComponent implements View { loginPanel = new Panel("Login", formLayout); - loginPanel.setWidth( - "24em"); + loginPanel.setWidth("24em"); final VerticalLayout viewLayout = new VerticalLayout(loginPanel); viewLayout.setComponentAlignment(loginPanel, Alignment.MIDDLE_CENTER); - setCompositionRoot(viewLayout); - + super.setCompositionRoot(viewLayout); } @PostConstruct diff --git a/ccm-core/src/main/java/org/libreccm/admin/ui/usersgroupsroles/GroupDetails.java b/ccm-core/src/main/java/org/libreccm/admin/ui/usersgroupsroles/GroupDetails.java index 41051cc4b..290db3f14 100644 --- a/ccm-core/src/main/java/org/libreccm/admin/ui/usersgroupsroles/GroupDetails.java +++ b/ccm-core/src/main/java/org/libreccm/admin/ui/usersgroupsroles/GroupDetails.java @@ -275,7 +275,7 @@ public class GroupDetails extends Window { final TabSheet tabs = new TabSheet(); tabs.addTab(membersGrid, "Members"); tabs.addTab(rolesGrid, "Roles"); - + final VerticalLayout windowLayout = new VerticalLayout(propertiesPanel, tabs); diff --git a/ccm-core/src/main/java/org/libreccm/admin/ui/usersgroupsroles/GroupSelectorDataProvider.java b/ccm-core/src/main/java/org/libreccm/admin/ui/usersgroupsroles/GroupSelectorDataProvider.java index f048e9339..3dc3d9f96 100644 --- a/ccm-core/src/main/java/org/libreccm/admin/ui/usersgroupsroles/GroupSelectorDataProvider.java +++ b/ccm-core/src/main/java/org/libreccm/admin/ui/usersgroupsroles/GroupSelectorDataProvider.java @@ -101,6 +101,8 @@ public class GroupSelectorDataProvider extends AbstractDataProvider excludedRoles, final RoleSelectionAction action) { - final CdiUtil cdiUtil = CdiUtil.createCdiUtil(); - roleRepo = cdiUtil.findBean(RoleRepository.class); - this.roleSelectionAction = action; - addWidgets(caption, actionLabel, excludedRoles, action); } @@ -71,9 +58,9 @@ public class RoleSelector extends Window { setCaption(caption); - final ResourceBundle bundle = ResourceBundle - .getBundle(AdminUiConstants.ADMIN_BUNDLE, - UI.getCurrent().getLocale()); +// final ResourceBundle bundle = ResourceBundle +// .getBundle(AdminUiConstants.ADMIN_BUNDLE, +// UI.getCurrent().getLocale()); final CdiUtil cdiUtil = CdiUtil.createCdiUtil(); @@ -82,10 +69,6 @@ public class RoleSelector extends Window { .addColumn(Role::getName) .setId(COL_NAME) .setCaption("Role"); - rolesGrid - .addColumn(role -> " ") - .setId(COL_OTHER) - .setCaption(" "); rolesGrid.setSelectionMode(Grid.SelectionMode.MULTI); rolesGrid.setWidth("100%"); @@ -95,7 +78,6 @@ public class RoleSelector extends Window { action.action(rolesGrid.getSelectedItems()); close(); }); - actionButton.setIcon(VaadinIcons.PLUS_CIRCLE_O); actionButton.setStyleName(ValoTheme.BUTTON_TINY); @@ -107,14 +89,13 @@ public class RoleSelector extends Window { clearButton.setStyleName(ValoTheme.BUTTON_TINY); final HeaderRow actions = rolesGrid.prependHeaderRow(); - final HeaderCell actionsCell = actions.join(COL_NAME, - COL_OTHER); + final HeaderCell actionsCell = actions.getCell(COL_NAME); actionsCell.setComponent(new HorizontalLayout(actionButton, clearButton)); final RoleSelectorDataProvider dataProvider = cdiUtil .findBean(RoleSelectorDataProvider.class); - + dataProvider.setExcludedRoles(excludedRoles); rolesGrid.setDataProvider(dataProvider); diff --git a/ccm-core/src/main/java/org/libreccm/admin/ui/usersgroupsroles/RoleSelectorDataProvider.java b/ccm-core/src/main/java/org/libreccm/admin/ui/usersgroupsroles/RoleSelectorDataProvider.java index 9cb8e54fe..c3d43d6e9 100644 --- a/ccm-core/src/main/java/org/libreccm/admin/ui/usersgroupsroles/RoleSelectorDataProvider.java +++ b/ccm-core/src/main/java/org/libreccm/admin/ui/usersgroupsroles/RoleSelectorDataProvider.java @@ -41,7 +41,7 @@ import javax.transaction.Transactional; @ViewScoped public class RoleSelectorDataProvider extends AbstractDataProvider { - private static final long serialVersionUID = 3915041291561733758L; + private static final long serialVersionUID = 6142912046579055420L; @Inject private EntityManager entityManager; @@ -58,25 +58,24 @@ public class RoleSelectorDataProvider extends AbstractDataProvider @Transactional(Transactional.TxType.REQUIRED) @Override public int size(final Query query) { + final CriteriaBuilder builder = entityManager.getCriteriaBuilder(); final CriteriaQuery criteriaQuery = builder .createQuery(Long.class); final Root from = criteriaQuery.from(Role.class); - - criteriaQuery - .select(builder.count(from)) - .distinct(true); - + criteriaQuery.select(builder.count(from)); + criteriaQuery.distinct(true); + if (roleNameFilter != null && !roleNameFilter.trim().isEmpty()) { criteriaQuery .where(builder.like(builder.lower(from.get("name")), String.format("%s%%", roleNameFilter))); } - + if (excludedRoles != null && !excludedRoles.isEmpty()) { criteriaQuery.where(builder.not(from.in(excludedRoles))); } - + return entityManager .createQuery(criteriaQuery) .getSingleResult() @@ -86,25 +85,25 @@ public class RoleSelectorDataProvider extends AbstractDataProvider @Transactional(Transactional.TxType.REQUIRED) @Override public Stream fetch(final Query query) { + final CriteriaBuilder builder = entityManager.getCriteriaBuilder(); final CriteriaQuery criteriaQuery = builder - .createQuery(Role.class); + .createQuery(Role.class); final Root from = criteriaQuery.from(Role.class); - criteriaQuery.distinct(true); - + if (roleNameFilter != null && !roleNameFilter.trim().isEmpty()) { criteriaQuery .where(builder.like(builder.lower(from.get("name")), String.format("%s%%", roleNameFilter))); } - + if (excludedRoles != null && !excludedRoles.isEmpty()) { criteriaQuery.where(builder.not(from.in(excludedRoles))); - } - + } + criteriaQuery.orderBy(builder.asc(from.get("name"))); - + return entityManager .createQuery(criteriaQuery) .setMaxResults(query.getLimit()) @@ -112,14 +111,15 @@ public class RoleSelectorDataProvider extends AbstractDataProvider .getResultList() .stream(); } - + public void setRoleNameFilter(final String roleNameFilter) { this.roleNameFilter = roleNameFilter; - refreshAll(); +// refreshAll(); } - - public void setExcludedRoles(final List excluededRoles) { - this.excludedRoles = new ArrayList<>(excluededRoles); - refreshAll(); + + public void setExcludedRoles(final List excludedRoles) { + this.excludedRoles = new ArrayList<>(excludedRoles); +// refreshAll(); } + } diff --git a/ccm-core/src/main/java/org/libreccm/security/Role.java b/ccm-core/src/main/java/org/libreccm/security/Role.java index 51a7ae24c..de198e4d4 100644 --- a/ccm-core/src/main/java/org/libreccm/security/Role.java +++ b/ccm-core/src/main/java/org/libreccm/security/Role.java @@ -299,7 +299,7 @@ public class Role implements Serializable, Portable { int hash = 7; hash = 53 * hash + (int) (roleId ^ (roleId >>> 32)); hash = 53 * hash + Objects.hashCode(name); - hash = 53 * hash + Objects.hashCode(permissions); +// hash = 53 * hash + Objects.hashCode(permissions); return hash; } @@ -319,10 +319,12 @@ public class Role implements Serializable, Portable { if (roleId != other.getRoleId()) { return false; } - if (!Objects.equals(name, other.getName())) { - return false; - } - return Objects.equals(permissions, other.getPermissions()); + + return Objects.equals(name, other.getName()); +// if (!Objects.equals(name, other.getName())) { +// return false; +// } +// return Objects.equals(permissions, other.getPermissions()); } public boolean canEqual(final Object obj) { diff --git a/ccm-core/src/main/resources/com/arsdigita/ui/admin/AdminResources.properties b/ccm-core/src/main/resources/com/arsdigita/ui/admin/AdminResources.properties index 2e91bb7ed..d66199aa5 100644 --- a/ccm-core/src/main/resources/com/arsdigita/ui/admin/AdminResources.properties +++ b/ccm-core/src/main/resources/com/arsdigita/ui/admin/AdminResources.properties @@ -612,3 +612,4 @@ ui.admin.importexport.import.current_status=Import current status ui.admin.importexport.import.report=Report from last import process ui.groups.roles.remove=Remove ui.user.groups.remove=Remove +ui.user.roles.remove=Remove diff --git a/ccm-core/src/main/resources/com/arsdigita/ui/admin/AdminResources_de.properties b/ccm-core/src/main/resources/com/arsdigita/ui/admin/AdminResources_de.properties index c811afb1c..4beebd5f1 100644 --- a/ccm-core/src/main/resources/com/arsdigita/ui/admin/AdminResources_de.properties +++ b/ccm-core/src/main/resources/com/arsdigita/ui/admin/AdminResources_de.properties @@ -616,3 +616,4 @@ ui.admin.importexport.import.current_status=Aktueller Status des Import-Prozesse ui.admin.importexport.import.report=Bericht des letzten Import-Prozesses ui.groups.roles.remove=Entfernen ui.user.groups.remove=Entfernen +ui.user.roles.remove=Entfernen diff --git a/ccm-core/src/main/resources/com/arsdigita/ui/admin/AdminResources_en.properties b/ccm-core/src/main/resources/com/arsdigita/ui/admin/AdminResources_en.properties index 62922b182..4415456a4 100755 --- a/ccm-core/src/main/resources/com/arsdigita/ui/admin/AdminResources_en.properties +++ b/ccm-core/src/main/resources/com/arsdigita/ui/admin/AdminResources_en.properties @@ -609,3 +609,4 @@ ui.admin.importexport.import.current_status=Import current status ui.admin.importexport.import.report=Report from last import process ui.groups.roles.remove=Remove ui.user.groups.remove=Remove +ui.user.roles.remove=Remove diff --git a/ccm-core/src/main/resources/com/arsdigita/ui/admin/AdminResources_fr.properties b/ccm-core/src/main/resources/com/arsdigita/ui/admin/AdminResources_fr.properties index ca855f930..6b2177d81 100755 --- a/ccm-core/src/main/resources/com/arsdigita/ui/admin/AdminResources_fr.properties +++ b/ccm-core/src/main/resources/com/arsdigita/ui/admin/AdminResources_fr.properties @@ -600,3 +600,4 @@ ui.admin.importexport.import.current_status=Import current status ui.admin.importexport.import.report=Report from last import process ui.groups.roles.remove=Remove ui.user.groups.remove=Remove +ui.user.roles.remove=Remove