mirror of
https://github.com/getrebuild/rebuild.git
synced 2025-09-06 14:46:44 +08:00
fix: /app/bizuser/group-members
This commit is contained in:
parent
5fe8365e64
commit
6e028b7009
5 changed files with 77 additions and 69 deletions
|
@ -7,16 +7,29 @@ See LICENSE and COMMERCIAL in the project root for license information.
|
|||
|
||||
package com.rebuild.web.admin.bizz;
|
||||
|
||||
import cn.devezhao.bizz.security.member.MemberGroup;
|
||||
import cn.devezhao.bizz.security.member.Role;
|
||||
import cn.devezhao.persist4j.engine.ID;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.rebuild.core.Application;
|
||||
import com.rebuild.core.metadata.EntityHelper;
|
||||
import com.rebuild.core.privileges.UserService;
|
||||
import com.rebuild.core.privileges.bizz.CombinedRole;
|
||||
import com.rebuild.core.privileges.bizz.User;
|
||||
import com.rebuild.core.support.integration.SMSender;
|
||||
import com.rebuild.utils.JSONUtils;
|
||||
import com.rebuild.web.EntityController;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import com.rebuild.web.IdParam;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.security.Principal;
|
||||
|
||||
/**
|
||||
* Bizz entity URL-Rewrite
|
||||
|
@ -24,7 +37,8 @@ import javax.servlet.http.HttpServletRequest;
|
|||
* @author devezhao
|
||||
* @since 11/01/2018
|
||||
*/
|
||||
@Controller
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("/app/")
|
||||
public class BizzPageView extends EntityController {
|
||||
|
||||
|
@ -80,4 +94,62 @@ public class BizzPageView extends EntityController {
|
|||
public String teamList() {
|
||||
return "redirect:/admin/bizuser/teams";
|
||||
}
|
||||
|
||||
// -- GROUP
|
||||
|
||||
@GetMapping("/bizuser/group-members")
|
||||
public JSON getMembers(@IdParam ID groupId) {
|
||||
JSONArray res = new JSONArray();
|
||||
|
||||
if (groupId.getEntityCode() == EntityHelper.Role) {
|
||||
for (User user : Application.getUserStore().getAllUsers()) {
|
||||
if (user.getId().equals(UserService.SYSTEM_USER)) continue;
|
||||
Role role = user.getOwningRole();
|
||||
if (role == null) continue;
|
||||
|
||||
if (role.getIdentity().equals(groupId)) {
|
||||
res.add(new Object[] {
|
||||
user.getId(),
|
||||
user.getFullName(),
|
||||
user.getOwningDept() != null ? user.getOwningDept().getName() : null,
|
||||
user.isActive(),
|
||||
});
|
||||
} else if (role instanceof CombinedRole) {
|
||||
if (((CombinedRole) role).getRoleAppends().contains(groupId)) {
|
||||
res.add(new Object[] {
|
||||
user.getId(),
|
||||
user.getFullName(),
|
||||
user.getOwningDept() != null ? user.getOwningDept().getName() : null,
|
||||
user.isActive(),
|
||||
true
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
MemberGroup group;
|
||||
if (groupId.getEntityCode() == EntityHelper.Department) {
|
||||
group = Application.getUserStore().getDepartment(groupId);
|
||||
} else if (groupId.getEntityCode() == EntityHelper.Team) {
|
||||
group = Application.getUserStore().getTeam(groupId);
|
||||
} else {
|
||||
log.warn("No group defined : {}", groupId);
|
||||
return JSONUtils.EMPTY_ARRAY;
|
||||
}
|
||||
|
||||
for (Principal p : group.getMembers()) {
|
||||
User user = (User) p;
|
||||
if (user.getId().equals(UserService.SYSTEM_USER)) continue;
|
||||
|
||||
res.add(new Object[] {
|
||||
user.getId(),
|
||||
user.getFullName(),
|
||||
user.getOwningDept() != null ? user.getOwningDept().getName() : null,
|
||||
user.isActive()
|
||||
});
|
||||
}
|
||||
return res;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,8 +7,6 @@ See LICENSE and COMMERCIAL in the project root for license information.
|
|||
|
||||
package com.rebuild.web.admin.bizz;
|
||||
|
||||
import cn.devezhao.bizz.security.member.MemberGroup;
|
||||
import cn.devezhao.bizz.security.member.Role;
|
||||
import cn.devezhao.commons.web.ServletUtils;
|
||||
import cn.devezhao.persist4j.engine.ID;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
|
@ -16,13 +14,8 @@ import com.alibaba.fastjson.JSONArray;
|
|||
import com.rebuild.api.RespBody;
|
||||
import com.rebuild.core.Application;
|
||||
import com.rebuild.core.configuration.general.DataListManager;
|
||||
import com.rebuild.core.metadata.EntityHelper;
|
||||
import com.rebuild.core.privileges.TeamService;
|
||||
import com.rebuild.core.privileges.UserHelper;
|
||||
import com.rebuild.core.privileges.UserService;
|
||||
import com.rebuild.core.privileges.bizz.CombinedRole;
|
||||
import com.rebuild.core.privileges.bizz.User;
|
||||
import com.rebuild.utils.JSONUtils;
|
||||
import com.rebuild.web.EntityController;
|
||||
import com.rebuild.web.IdParam;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
@ -33,7 +26,6 @@ import org.springframework.web.bind.annotation.RestController;
|
|||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.security.Principal;
|
||||
import java.util.Collections;
|
||||
import java.util.Set;
|
||||
|
||||
|
@ -72,60 +64,4 @@ public class TeamController extends EntityController {
|
|||
Application.getBean(TeamService.class).deleteMembers(teamId, Collections.singletonList(userId));
|
||||
return RespBody.ok();
|
||||
}
|
||||
|
||||
@GetMapping("group-members")
|
||||
public JSON getMembers(@IdParam ID groupId) {
|
||||
JSONArray res = new JSONArray();
|
||||
|
||||
if (groupId.getEntityCode() == EntityHelper.Role) {
|
||||
for (User user : Application.getUserStore().getAllUsers()) {
|
||||
if (user.getId().equals(UserService.SYSTEM_USER)) continue;
|
||||
Role role = user.getOwningRole();
|
||||
if (role == null) continue;
|
||||
|
||||
if (role.getIdentity().equals(groupId)) {
|
||||
res.add(new Object[] {
|
||||
user.getId(),
|
||||
user.getFullName(),
|
||||
user.getOwningDept() != null ? user.getOwningDept().getName() : null,
|
||||
user.isActive(),
|
||||
});
|
||||
} else if (role instanceof CombinedRole) {
|
||||
if (((CombinedRole) role).getRoleAppends().contains(groupId)) {
|
||||
res.add(new Object[] {
|
||||
user.getId(),
|
||||
user.getFullName(),
|
||||
user.getOwningDept() != null ? user.getOwningDept().getName() : null,
|
||||
user.isActive(),
|
||||
true
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
MemberGroup group;
|
||||
if (groupId.getEntityCode() == EntityHelper.Department) {
|
||||
group = Application.getUserStore().getDepartment(groupId);
|
||||
} else if (groupId.getEntityCode() == EntityHelper.Team) {
|
||||
group = Application.getUserStore().getTeam(groupId);
|
||||
} else {
|
||||
log.warn("No group defined : {}", groupId);
|
||||
return JSONUtils.EMPTY_ARRAY;
|
||||
}
|
||||
|
||||
for (Principal p : group.getMembers()) {
|
||||
User user = (User) p;
|
||||
if (user.getId().equals(UserService.SYSTEM_USER)) continue;
|
||||
|
||||
res.add(new Object[] {
|
||||
user.getId(),
|
||||
user.getFullName(),
|
||||
user.getOwningDept() != null ? user.getOwningDept().getName() : null,
|
||||
user.isActive()
|
||||
});
|
||||
}
|
||||
return res;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -87,7 +87,7 @@ class MemberList extends React.Component {
|
|||
componentDidMount = () => this.loadMembers()
|
||||
|
||||
loadMembers() {
|
||||
$.get(`/admin/bizuser/group-members?id=${this.props.id}`, (res) => {
|
||||
$.get(`/app/bizuser/group-members?id=${this.props.id}`, (res) => {
|
||||
const data = res.data || []
|
||||
this.setState({ members: data })
|
||||
|
||||
|
|
|
@ -452,7 +452,7 @@ class MemberList extends React.Component {
|
|||
componentDidMount = () => this.loadMembers()
|
||||
|
||||
loadMembers() {
|
||||
$.get(`/admin/bizuser/group-members?id=${this.props.id}`, (res) => {
|
||||
$.get(`/app/bizuser/group-members?id=${this.props.id}`, (res) => {
|
||||
const data = res.data || []
|
||||
this.setState({ members: data })
|
||||
|
||||
|
|
|
@ -134,7 +134,7 @@ class MemberList extends React.Component {
|
|||
componentDidMount = () => this.loadMembers()
|
||||
|
||||
loadMembers() {
|
||||
$.get(`/admin/bizuser/group-members?id=${this.props.id}`, (res) => {
|
||||
$.get(`/app/bizuser/group-members?id=${this.props.id}`, (res) => {
|
||||
const data = res.data || []
|
||||
this.setState({ members: data })
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue