Skip to content

Commit 7e38dd3

Browse files
committed
Add role search to organization memberships
1 parent 38f7e56 commit 7e38dd3

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

web/controllers/controller_helpers.ex

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,9 @@ defmodule CodeCorps.ControllerHelpers do
44
|> String.split(",")
55
|> Enum.map(&String.to_integer(&1))
66
end
7+
8+
def coalesce_string(string) do
9+
string
10+
|> String.split(",")
11+
end
712
end

web/controllers/organization_membership_controller.ex

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,17 @@ defmodule CodeCorps.OrganizationMembershipController do
1919
render(conn, "index.json-api", data: memberships)
2020
end
2121

22+
def index(conn, %{"role" => roles}) do
23+
roles = roles |> coalesce_string
24+
memberships =
25+
OrganizationMembership
26+
|> preload([:organization, :member])
27+
|> where([p], p.role in ^roles)
28+
|> Repo.all
29+
30+
render(conn, "index.json-api", data: memberships)
31+
end
32+
2233
def index(conn, %{"organization_id" => organization_id}) do
2334
memberships =
2435
OrganizationMembership

0 commit comments

Comments
 (0)