Ejemplo n.º 1
0
 def post(self, request, *args, **kwargs):
     enterprise_id = request.data.get("enterprise_id")
     tenant_id = request.data.get("tenant_id")
     if tenant_id and enterprise_id:
         teams = Tenants.objects.filter(tenant_id=tenant_id, enterprise_id=enterprise_id)
     elif tenant_id and not enterprise_id:
         teams = Tenants.objects.filter(tenant_id=tenant_id)
     elif not tenant_id and enterprise_id:
         teams = Tenants.objects.filter(enterprise_id=enterprise_id)
     else:
         teams = Tenants.objects.all()
     if not teams:
         print(u"未发现团队, 初始化结束")
         return
     for team in teams:
         role_kind_services.init_default_roles(kind="team", kind_id=team.tenant_id)
         users = team_repo.get_tenant_users_by_tenant_ID(team.ID)
         admin = role_kind_services.get_role_by_name(kind="team", kind_id=team.tenant_id, name=u"管理员")
         developer = role_kind_services.get_role_by_name(kind="team", kind_id=team.tenant_id, name=u"开发者")
         if not admin or not developer:
             raise ServiceHandleException(msg="init failed", msg_show=u"初始化失败")
         if users:
             for user in users:
                 if user.user_id == team.creater:
                     user_kind_role_service.update_user_roles(
                         kind="team", kind_id=team.tenant_id, user=user, role_ids=[admin.ID])
                 else:
                     user_kind_role_service.update_user_roles(
                         kind="team", kind_id=team.tenant_id, user=user, role_ids=[developer.ID])
     result = general_message(msg="success", msg_show=u"初始化权限分配成功", code=200)
     return Response(result, status=200)
Ejemplo n.º 2
0
 def handle(self, *args, **options):
     tenant_id = options['tenant_id']
     enterprise_id = options['enterprise_id']
     if tenant_id and enterprise_id:
         teams = Tenants.objects.filter(tenant_id=tenant_id,
                                        enterprise_id=enterprise_id)
     elif tenant_id and not enterprise_id:
         teams = Tenants.objects.filter(tenant_id=tenant_id)
     elif not tenant_id and enterprise_id:
         teams = Tenants.objects.filter(enterprise_id=enterprise_id)
     else:
         teams = Tenants.objects.all()
     if not teams:
         print(u"未发现团队, 初始化结束")
         return
     for team in teams:
         role_kind_services.init_default_roles(kind="team",
                                               kind_id=team.tenant_id)
         users = team_repo.get_tenant_users_by_tenant_ID(team.ID)
         admin = role_kind_services.get_role_by_name(kind="team",
                                                     kind_id=team.tenant_id,
                                                     name=u"管理员")
         developer = role_kind_services.get_role_by_name(
             kind="team", kind_id=team.tenant_id, name=u"开发者")
         if not admin or not developer:
             raise ServiceHandleException(msg="init failed",
                                          msg_show=u"初始化失败")
         if users:
             for user in users:
                 if user.user_id == team.creater:
                     user_kind_role_service.update_user_roles(
                         kind="team",
                         kind_id=team.tenant_id,
                         user=user,
                         role_ids=[admin.ID])
                 else:
                     user_kind_role_service.update_user_roles(
                         kind="team",
                         kind_id=team.tenant_id,
                         user=user,
                         role_ids=[developer.ID])
Ejemplo n.º 3
0
 def get_tenant_users_by_tenant_name(self, tenant_name):
     tenant = team_repo.get_tenant_by_tenant_name(tenant_name=tenant_name)
     user_list = team_repo.get_tenant_users_by_tenant_ID(tenant_ID=tenant.ID)
     return user_list
Ejemplo n.º 4
0
 def get_team_users(self, team, name=None):
     users = team_repo.get_tenant_users_by_tenant_ID(team.ID)
     if users and name:
         users = users.filter(Q(nick_name__contains=name) | Q(real_name__contains=name))
     return users
Ejemplo n.º 5
0
 def get_team_users(self, team):
     users = team_repo.get_tenant_users_by_tenant_ID(team.ID)
     return users