package com.hrms.action;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
import com.hrms.model.Action;
import com.hrms.model.Module;
import com.hrms.model.Role;
import com.hrms.model.RolePermission;
import com.hrms.model.User;
import com.hrms.service.IActionService;
import com.hrms.service.IModuleService;
import com.hrms.service.IRolePermissionService;
import com.hrms.service.IRoleService;
import com.hrms.service.IUserPermissionService;
import com.hrms.service.IUserService;
@Component("permissionAction")
@Scope("prototype")
public class PermissionAction extends BaseAction {
private static final long serialVersionUID = 1429111948547647917L;
private IRolePermissionService rolePermissionService;
private IUserPermissionService userPermissionService;
private IModuleService moduleService;
private List<Module> modules;
private IActionService actionService;
private List<Action> actions;
private Action action;
private IRoleService roleService;
private Integer roleId;
private Role role;
private List<Role> roles;
private User user;
private Integer userId;
private IUserService userService;
private List<User> users;
private List<RolePermission> rolePermissions;
public String permission_list() {
modules = moduleService.findAll();
actions = actionService.findAll();
String roleIdString = getRequest().getParameter("roleId");
if (roleIdString!=null && roleIdString!="" && roleIdString!="1") {
roles = roleService.findAll();
roleId = Integer.valueOf(roleIdString);
users = new ArrayList<User>(roleService.findById(roleId).getUsers());
return "success";
}
String userIdString = getRequest().getParameter("userId");
if (userIdString != null && userIdString!= "") {
users = userService.findAll();
userId = Integer.valueOf(userIdString);
user = userService.findById(userId);
roles = new ArrayList<Role>(user.getRoles());
return "success";
}
return "success";
}
public String userPermission_list() {
String userIdString = getRequest().getParameter("userId");
if (userIdString!=null && userIdString != "") {
userId = Integer.valueOf(userIdString);
user = userService.findById(userId);
getRequest().setAttribute("userRoles", user.getRoles());
}
rolePermissions = rolePermissionService.findAll();
modules = moduleService.findAll();
actions = actionService.findAll();
return "success";
}
public String userPermission_updateAll() {
String userIdsString = getRequest().getParameter("userId");
if (userIdsString!=null && userIdsString != "") {
userId = Integer.valueOf(userIdsString);
user = userService.findById(userId);
}
actions = actionService.findAll();
String actionIds= actions.get(0).getActionId().toString();
for (int i = 1; i < actions.size(); i++) {
actionIds = actionIds + "," + actions.get(i).getActionId();
}
String mp = getRequest().getParameter("mp");
String[] mpsString = mp.split(",");
for (int i = 0; i <mpsString.length; i++) {
int a = mpsString[i].indexOf("/");
String moduleId = mpsString[i].substring(0,a).trim();
String actionIdsString = mpsString[i].substring(a+1);
String permission = actionIdsString.replace("/", ",");
userPermissionService.saveOrUpdate(Integer.valueOf(userId), Integer.valueOf(moduleId), actionIds, permission);
}
getRequest().setAttribute("userId", userId);
return "success";
}
public String userPermission_update() {
String userIdsString = getRequest().getParameter("userId");
if (userIdsString!=null && userIdsString != "") {
userId = Integer.valueOf(userIdsString);
user = userService.findById(userId);
}
String moduleId = getRequest().getParameter("moduleId");
String permission = getRequest().getParameter("permission");
actions = actionService.findAll();
String actionIds= actions.get(0).getActionId().toString();
for (int i = 1; i < actions.size(); i++) {
actionIds = actionIds + "," + actions.get(i).getActionId();
}
userPermissionService.saveOrUpdate(Integer.valueOf(userId), Integer.valueOf(moduleId), actionIds, permission);
getRequest().setAttribute("userId", userId);
return "success";
}
public boolean userPermission_checked(Integer userId,Integer moduleId,Integer actionId) {
return userPermissionService.checked(userId, moduleId, actionId);
}
public String rolePermission_list(){
rolePermissions = rolePermissionService.findAll();
modules = moduleService.findAll();
actions = actionService.findAll();
roles = roleService.findAll();
String roleIdString = getRequest().getParameter("roleId");
if (roleIdString!=null && roleIdString!="" && roleIdString!="1") {
roleId = Integer.valueOf(roleIdString);
}
return "success";
}
public String rolePermission_updateAll() {
String roleId = getRequest().getParameter("roleId");
getRequest().setAttribute("roleId", roleId);
actions = actionService.findAll();
String actionIds= actions.get(0).getActionId().toString();
for (int i = 1; i < actions.size(); i++) {
actionIds = actionIds + "," + actions.get(i).getActionId();
}
String mp = getRequest().getParameter("mp");
String[] mpsString = mp.split(",");
for (int i = 0; i <mpsString.length; i++) {
int a = mpsString[i].indexOf("/");
String moduleId = mpsString[i].substring(0,a).trim();
String actionIdsString = mpsString[i].substring(a+1);
String permission = actionIdsString.replace("/", ",");
rolePermissionService.saveOrUpdate(Integer.valueOf(roleId), Integer.valueOf(moduleId), actionIds, permission);
}
return "success";
}
public String rolePermission_update() {
String roleId = getRequest().getParameter("roleId");
String moduleId = getRequest().getParameter("moduleId");
String permission = getRequest().getParameter("permission");
actions = actionService.findAll();
String actionIds= actions.get(0).getActionId().toString();
for (int i = 1; i < actions.size(); i++) {
actionIds = actionIds + "," + actions.get(i).getActionId();
}
rolePermissionService.saveOrUpdate(Integer.valueOf(roleId), Integer.valueOf(moduleId), actionIds, permission);
getRequest().setAttribute("roleId", roleId);
return "success";
}
public boolean rolePermission_checked(Integer roleId,Integer moduleId,Integer actionId) {
return rolePermissionService.checked(roleId, moduleId, actionId);
}
public static boolean ss() {
return true;
}
public List<Module> getModules() {
return modules;
}
public void setModules(List<Module> modules) {
this.modules = modules;
}
public List<Action> getActions() {
return actions;
}
public void setActions(List<Action> actions) {
this.actions = actions;
}
public Action getAction() {
return action;
}
public void setAction(Action action) {
this.action = action;
}
public Role getRole() {
return role;
}
public void setRole(Role role) {
this.role = role;
}
public IModuleService getModuleService() {
return moduleService;
}
@Resource
public void setModuleService(IModuleService moduleService) {
this.moduleService = moduleService;
}
public IActionService getActionService() {
return actionService;
}
@Resource
public void setActionService(IActionService actionService) {
this.actionService = actionService;
}
public IRoleService getRoleService() {
return roleService;
}
@Resource
public void setRoleService(IRoleService roleService) {
this.roleService = roleService;
}
public IRolePermissionService getRolePermissionService() {
return rolePermissionService;
}
@Resource
public void setRolePermissionService(
IRolePermissionService rolePermissionService) {
this.rolePermissionService = rolePermissionService;
}
public List<RolePermission> getRolePermissions() {
return rolePermissions;
}
public void setRolePermissions(List<RolePermission> rolePermissions) {
this.rolePermissions = rolePermissions;
}
public Integer getRoleId() {
return roleId;
}
public void setRoleId(Integer roleId) {
this.roleId = roleId;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public Integer getUserId() {
return userId;
}
public void setUserId(Integer userId) {
this.userId = userId;
}
public IUserService getUserService() {
return userService;
}
@Resource
public void setUserService(IUserService userService) {
this.userService = userService;
}
public IUserPermissionService getUserPermissionService() {
return userPermissionService;
}
@Resource
public void setUserPermissionService(
IUserPermissionService userPermissionService) {
this.userPermissionService = userPermissionService;
}
public List<Role> getRoles() {
return roles;
}
public void setRoles(List<Role> roles) {
this.roles = roles;
}
public List<User> getUsers() {
return users;
}
public void setUsers(List<User> users) {
this.users = users;
}
}