aesmail / kaffy

Powerfully simple admin package for phoenix applications
https://kaffy.fly.dev/admin/
MIT License
1.3k stars 153 forks source link

How do I change the `default_actions/1` for all schemas at once? #303

Open ByeongUkChoi opened 8 months ago

ByeongUkChoi commented 8 months ago

The default_actions for all schemas is [:new, :edit, :delete]. Is there a way to control default_actions for all schemas without implementing each default_actions/1 function?

For example, I want to prevent all schemas from being added, modified, or deleted. Then I'll have to create an admin module (ex. MyApp.Products.ProductAdmin) for all schemas and override the default_actions/1 function as shown below. Is it possible to set this as a whole in one implementation rather than one?

defmodule MyApp.Products.ProductAdmin do
  def default_actions(_schema) do
    []
  end
end

defmodule MyApp.Products.BlogAdmin do
  def default_actions(_schema) do
    []
  end
end

...