Пример #1
0
def get_all_ex(call):
    assert isinstance(call, APICall)

    with translate_errors_context("retrieving users"):
        res = User.get_many_with_join(
            company=call.identity.company,
            query_dict=call.data,
            query_options=get_all_query_options,
        )

        call.result.data = {"users": res}
Пример #2
0
def get_all_ex2_8(call: APICall, company_id, _):
    with translate_errors_context("retrieving users"):
        data = call.data
        active_in_projects = call.data.get("active_in_projects", None)
        if active_in_projects is not None:
            active_users = project_bll.get_active_users(
                company_id, active_in_projects, call.data.get("id"))
            active_users.discard(None)
            if not active_users:
                call.result.data = {"users": []}
                return
            data = data.copy()
            data["id"] = list(active_users)

        res = User.get_many_with_join(company=company_id, query_dict=data)

        call.result.data = {"users": res}
Пример #3
0
def get_current_user(call: APICall, company_id, _):
    with translate_errors_context("retrieving users"):
        projection = ({"company.name"}.union(User.get_fields()).difference(
            User.get_exclude_fields()))
        res = User.get_many_with_join(
            query=Q(id=call.identity.user),
            company=company_id,
            override_projection=projection,
        )

        if not res:
            raise errors.bad_request.InvalidUser("failed loading user")

        user = res[0]
        user["role"] = call.identity.role

        resp = {"user": user}
        call.result.data = resp
Пример #4
0
def get_all_ex(call: APICall, company_id, _):
    with translate_errors_context("retrieving users"):
        res = User.get_many_with_join(company=company_id, query_dict=call.data)

        call.result.data = {"users": res}