Class: Decidim::GroupsController
- Inherits:
-
ApplicationController
- Object
- DecidimController
- ApplicationController
- Decidim::GroupsController
- Includes:
- FormFactory, UserGroups
- Defined in:
- decidim-core/app/controllers/decidim/groups_controller.rb
Overview
The controller to handle user groups creation
Constant Summary
Constants included from RedesignLayout
RedesignLayout::FALLBACK_LAYOUT
Instance Method Summary collapse
Methods included from UserGroups
Methods included from UserBlockedChecker
#check_user_block_status, #check_user_not_blocked
Methods included from NeedsSnippets
Methods included from HttpCachingDisabler
Methods included from HasStoredPath
#skip_store_location?, #store_current_location
Methods included from NeedsOrganization
enhance_controller, extended, included
Instance Method Details
#create ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'decidim-core/app/controllers/decidim/groups_controller.rb', line 17 def create :create, :user_group, current_user: current_user @form = form(UserGroupForm).from_params(params) CreateUserGroup.call(@form) do on(:ok) do |user_group| flash[:notice] = t("groups.create.success", scope: "decidim") redirect_to profile_path(user_group.nickname) end on(:invalid) do flash[:alert] = t("groups.create.error", scope: "decidim") render action: :new end end end |
#edit ⇒ Object
35 36 37 38 |
# File 'decidim-core/app/controllers/decidim/groups_controller.rb', line 35 def edit :manage, :user_group, current_user: current_user, user_group: user_group @form = form(UserGroupForm).from_model(user_group) end |
#leave ⇒ Object
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'decidim-core/app/controllers/decidim/groups_controller.rb', line 58 def leave :leave, :user_group, user_group: accepted_user_group LeaveUserGroup.call(current_user, accepted_user_group) do on(:ok) do flash[:notice] = t("groups.leave.success", scope: "decidim") redirect_back fallback_location: profile_path(accepted_user_group.nickname) end on(:last_admin) do flash[:alert] = t("groups.leave.last_admin", scope: "decidim") redirect_back fallback_location: profile_path(accepted_user_group.nickname) end on(:invalid) do flash[:alert] = t("groups.leave.error", scope: "decidim") redirect_back fallback_location: profile_path(accepted_user_group.nickname) end end end |
#new ⇒ Object
12 13 14 15 |
# File 'decidim-core/app/controllers/decidim/groups_controller.rb', line 12 def new :create, :user_group, current_user: current_user @form = form(UserGroupForm).instance end |
#update ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'decidim-core/app/controllers/decidim/groups_controller.rb', line 40 def update :manage, :user_group, current_user: current_user, user_group: user_group @form = form(UserGroupForm).from_params(user_group_params) UpdateUserGroup.call(@form, user_group) do on(:ok) do |user_group| flash[:notice] = t("groups.update.success", scope: "decidim") redirect_to profile_path(user_group.nickname) end on(:invalid) do flash[:alert] = t("groups.update.error", scope: "decidim") render action: :edit end end end |