Class: Decidim::DecidimAwesome::Admin::AwesomeAuthorizationsController

Inherits:
ApplicationController
  • Object
show all
Defined in:
app/controllers/decidim/decidim_awesome/admin/awesome_authorizations_controller.rb

Instance Method Summary collapse

Methods inherited from ApplicationController

#permission_class_chain

Instance Method Details

#createObject



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'app/controllers/decidim/decidim_awesome/admin/awesome_authorizations_controller.rb', line 24

def create
  @form = form(AwesomeAuthorizationGroupForm).from_params(params)

  CreateAwesomeAuthorizationGroup.call(@form) do
    on(:ok) do
      flash[:notice] = I18n.t("decidim.decidim_awesome.admin.awesome_authorizations.create.success")
      redirect_to decidim_admin_decidim_awesome.awesome_authorizations_path
    end

    on(:invalid) do |error|
      flash.now[:alert] = I18n.t("decidim.decidim_awesome.admin.awesome_authorizations.create.error", error:)
      render :new
    end
  end
end

#destroyObject



56
57
58
59
60
61
62
63
64
65
66
# File 'app/controllers/decidim/decidim_awesome/admin/awesome_authorizations_controller.rb', line 56

def destroy
  users_to_sync = authorization_group.granted_in_group.to_a

  authorization_group.destroy!
  users_to_sync.each do |user|
    Decidim::DecidimAwesome::SyncAwesomeAuthorizationUserJob.perform_later(user.id)
  end

  flash[:notice] = I18n.t("decidim.decidim_awesome.admin.awesome_authorizations.destroy.success")
  redirect_to decidim_admin_decidim_awesome.awesome_authorizations_path
end

#editObject



16
17
18
# File 'app/controllers/decidim/decidim_awesome/admin/awesome_authorizations_controller.rb', line 16

def edit
  @form = form(AwesomeAuthorizationGroupForm).from_model(authorization_group)
end

#indexObject



14
# File 'app/controllers/decidim/decidim_awesome/admin/awesome_authorizations_controller.rb', line 14

def index; end

#newObject



20
21
22
# File 'app/controllers/decidim/decidim_awesome/admin/awesome_authorizations_controller.rb', line 20

def new
  @form = form(AwesomeAuthorizationGroupForm).instance
end

#syncObject



68
69
70
71
72
# File 'app/controllers/decidim/decidim_awesome/admin/awesome_authorizations_controller.rb', line 68

def sync
  Decidim::DecidimAwesome::SyncAwesomeAuthorizationGroupJob.perform_later(authorization_group.id)
  flash[:notice] = I18n.t("decidim.decidim_awesome.admin.awesome_authorizations.sync.success")
  redirect_to decidim_admin_decidim_awesome.awesome_authorizations_path
end

#updateObject



40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'app/controllers/decidim/decidim_awesome/admin/awesome_authorizations_controller.rb', line 40

def update
  @form = form(AwesomeAuthorizationGroupForm).from_params(params)

  UpdateAwesomeAuthorizationGroup.call(@form, authorization_group) do
    on(:ok) do
      flash[:notice] = I18n.t("decidim.decidim_awesome.admin.awesome_authorizations.update.success")
      redirect_to decidim_admin_decidim_awesome.awesome_authorizations_path
    end

    on(:invalid) do |error|
      flash.now[:alert] = I18n.t("decidim.decidim_awesome.admin.awesome_authorizations.update.error", error:)
      render :edit
    end
  end
end