Class: Spree::Admin::InvitationsController
- Inherits:
-
BaseController
- Object
- BaseController
- BaseController
- Spree::Admin::InvitationsController
- Includes:
- SettingsConcern
- Defined in:
- app/controllers/spree/admin/invitations_controller.rb
Instance Method Summary collapse
-
#accept ⇒ Object
PUT /admin/invitations/:id/accept.
-
#create ⇒ Object
POST /admin/invitations.
-
#destroy ⇒ Object
DELETE /admin/invitations/:id.
-
#index ⇒ Object
GET /admin/invitations.
-
#new ⇒ Object
GET /admin/invitations/new.
-
#resend ⇒ Object
PUT /admin/invitations/:id/resend.
-
#show ⇒ Object
GET /admin/invitations/:id?token=:token.
Methods included from BreadcrumbConcern
#add_breadcrumb_icon_instance_var
Instance Method Details
#accept ⇒ Object
PUT /admin/invitations/:id/accept
71 72 73 74 75 76 77 78 |
# File 'app/controllers/spree/admin/invitations_controller.rb', line 71 def accept @invitation = try_spree_current_user.invitations.pending.not_expired.find_by_prefix_id!(params[:id]) :accept, @invitation @invitation.accept! redirect_to spree.admin_path, notice: Spree.t('invitation_accepted') end |
#create ⇒ Object
POST /admin/invitations
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'app/controllers/spree/admin/invitations_controller.rb', line 31 def create :create, Spree::Invitation :manage, @parent @invitation = Spree::Invitation.new(permitted_params) @invitation.resource = @parent @invitation.inviter = try_spree_current_user if @invitation.save respond_to do |format| format.html { redirect_to spree.admin_invitations_path, notice: (@invitation, :successfully_created) } format.turbo_stream end else render :new, status: :unprocessable_content end end |
#destroy ⇒ Object
DELETE /admin/invitations/:id
88 89 90 91 92 93 |
# File 'app/controllers/spree/admin/invitations_controller.rb', line 88 def destroy :destroy, @invitation @invitation.destroy redirect_back fallback_location: spree.admin_invitations_path, notice: (@invitation, :successfully_removed) end |
#index ⇒ Object
GET /admin/invitations
15 16 17 18 |
# File 'app/controllers/spree/admin/invitations_controller.rb', line 15 def index @search = scope.includes(:inviter, :role).ransack(params[:q]) @collection = @search.result end |
#new ⇒ Object
GET /admin/invitations/new
21 22 23 24 25 26 27 28 |
# File 'app/controllers/spree/admin/invitations_controller.rb', line 21 def new :create, Spree::Invitation :manage, @parent @invitation = Spree::Invitation.new @invitation.resource = @parent @invitation.inviter = try_spree_current_user end |
#resend ⇒ Object
PUT /admin/invitations/:id/resend
81 82 83 84 85 |
# File 'app/controllers/spree/admin/invitations_controller.rb', line 81 def resend @invitation = scope.find_by_prefix_id!(params[:id]) @invitation.resend! redirect_back fallback_location: spree.admin_invitations_path, notice: Spree.t('invitation_resent') end |
#show ⇒ Object
GET /admin/invitations/:id?token=:token
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'app/controllers/spree/admin/invitations_controller.rb', line 50 def show decoded_id = Spree::Invitation.decode_prefixed_id(params[:id]) @invitation = Spree::Invitation.pending.not_expired.find_by!(id: decoded_id, token: params[:token]) @parent = @invitation.resource if try_spree_current_user.present? unless @invitation.invitee == try_spree_current_user raise ActiveRecord::RecordNotFound end elsif @invitation.invitee.present? store_location try_to_redirect_to_login_path else redirect_to spree.new_admin_admin_user_path(token: @invitation.token), status: :see_other end rescue ActiveRecord::RecordNotFound redirect_to spree.root_path, alert: Spree.t('invalid_or_expired_invitation') nil end |