예제 #1
0
    def fetch_logs(self, request_user: UserModel, tenant: TenantModel):
        self.logger.info("START: fetch_logs")
        if not request_user.is_belong_to_tenant(tenant):
            raise PermissionDenied("request user can't fetch aws_environments. user_id:{} tenant_id: {}".
                                   format(request_user.id, tenant.id))

        if request_user.can_control_other_user():
            # 他のユーザーを管理できる権限ならばテナント内のログを取得
            logs = OperationLogModel.objects.filter(tenant=tenant)
        else:
            # そうでなければ自身のログを取得
            logs = OperationLogModel.objects.filter(tenant=tenant, executor=request_user)

        self.logger.info("END: fetch_logs")
        return logs
예제 #2
0
    def fetch_users(self, request_user: UserModel, tenant: TenantModel):
        self.logger.info("START: fetch_users")
        if not request_user.is_belong_to_tenant(tenant):
            raise PermissionDenied(
                "request user can't fetch users. user_id:{} tenant_id: {}".
                format(request_user.id, tenant.id))

        if not request_user.can_control_other_user():
            raise PermissionDenied(
                "request user can't fetch users. id:{}".format(
                    request_user.id))

        # スケジューラーは一覧に表示しない
        response = [
            user_model for user_model in UserModel.objects.filter(
                tenant=tenant).exclude(role_id=RoleModel.SCHEDULER_ID)
        ]
        self.logger.info("END: fetch_users")
        return response