defmodule Blossom.Controllers.Organizations do alias Blossom.Controllers.Organizations alias KilnCore.Utils def new(params, user, model, org_roles) do case model.new(params, user) do {:ok, organization} -> org_roles.create_admin(user, organization.id, user) {:ok, organization} e -> e end end defmacro __using__(opts \\ []) do quote do use KilnCore.Controller, unquote(opts) @org_roles Utils.option_or_mod_replace( @caller, unquote(opts), :organizations_roles, OrganizationsRoles, 2 ) def new(params, user, _opts) do Organizations.new(params, user, @model, @org_roles) end end end end