Po spuštění se adminovi doplní automaticky plná práva na všechny agendy.
Role admina nejde změnit. Uživatel admin nejde smazat. closes #99: Editace uživatele admin Task-Url: https://git.bukova.info/redmine/issues/show/99
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
package info.bukova.isspst;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import info.bukova.isspst.data.Permission;
|
||||
import info.bukova.isspst.data.Role;
|
||||
import info.bukova.isspst.data.User;
|
||||
@@ -44,6 +46,7 @@ public class AppInitListener implements ServletContextListener {
|
||||
checkRoles();
|
||||
checkUsers();
|
||||
checkPermissions();
|
||||
checkAllAdminRights();
|
||||
userService.removeAccess();
|
||||
|
||||
loadModuleReports();
|
||||
@@ -97,6 +100,23 @@ public class AppInitListener implements ServletContextListener {
|
||||
}
|
||||
}
|
||||
|
||||
private void checkAllAdminRights()
|
||||
{
|
||||
Role adminRole = roleService.getRoleByAuthority(Constants.ROLE_ADMIN);
|
||||
List<Permission> permissionList = adminRole.getPermissions();
|
||||
List<Permission> permissionListAvailable = permService.getAll();
|
||||
|
||||
for (Permission permitionAvailable : permissionListAvailable)
|
||||
{
|
||||
if (!permissionList.contains(permitionAvailable))
|
||||
{
|
||||
adminRole.addPermission(permitionAvailable);
|
||||
}
|
||||
}
|
||||
|
||||
roleService.update(adminRole);
|
||||
}
|
||||
|
||||
private void loadModuleReports() {
|
||||
for (Module m : Constants.MODULES) {
|
||||
Report rep = new Report();
|
||||
|
||||
@@ -54,6 +54,7 @@ public class ListViewModel<T extends DataModel> {
|
||||
return dataList;
|
||||
}
|
||||
|
||||
@NotifyChange({"dataBean","ableToDelete"})
|
||||
public void setDataBean(T data) {
|
||||
this.dataBean = data;
|
||||
}
|
||||
@@ -326,5 +327,14 @@ public class ListViewModel<T extends DataModel> {
|
||||
protected void setFullFill(boolean fullFill) {
|
||||
this.fullFill = fullFill;
|
||||
}
|
||||
|
||||
public boolean isRecordSelected()
|
||||
{
|
||||
return (dataBean != null);
|
||||
}
|
||||
|
||||
public boolean isAbleToDelete()
|
||||
{
|
||||
return this.isRecordSelected();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -72,4 +72,21 @@ public class UsersList extends ListViewModel<User> {
|
||||
return ret;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAbleToDelete() {
|
||||
|
||||
if (!super.isAbleToDelete())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (getDataBean().getUsername() == "admin")
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user