* Display gdpr delete requests for deleted users in admin * Added a test for destroy a gdpr request * Reorganized gdpr requests menu * Update schema version * Added a link to the flash notice after user delete by admin * Fix namespace for tests * Aligh schema.rb with master * Added a missing newline * Removed unused partial * Fix typo Co-authored-by: Michael Kohl <me@citizen428.net> * Replaced string with symbols for AR Co-authored-by: Michael Kohl <me@citizen428.net> * Added an AuditLog record on gdpr delete confirmation * Make email and user_id required in Users::GdprDeleteRequest * Checked out package.json from master * Fix Gdpr => GDPR * Added missing space * Remove unneeded freeze Co-authored-by: Michael Kohl <me@citizen428.net>
36 lines
1.1 KiB
Ruby
36 lines
1.1 KiB
Ruby
module Admin
|
|
class InvitationsController < Admin::ApplicationController
|
|
layout "admin"
|
|
|
|
def index
|
|
@invitations = User.where(registered: false).page(params[:page]).per(50)
|
|
end
|
|
|
|
def new; end
|
|
|
|
def create
|
|
email = params.dig(:user, :email)
|
|
name = params.dig(:user, :name)
|
|
username = "#{name.downcase.tr(' ', '_').gsub(/[^0-9a-z ]/i, '')}_#{rand(1000)}"
|
|
User.invite!(email: email,
|
|
name: name,
|
|
username: username,
|
|
remote_profile_image_url: ::Users::ProfileImageGenerator.call,
|
|
saw_onboarding: false,
|
|
editor_version: :v2,
|
|
registered: false)
|
|
flash[:success] = "The invite has been sent to the user's email."
|
|
redirect_to admin_invitations_path
|
|
end
|
|
|
|
def destroy
|
|
@invitation = User.where(registered: false).find(params[:id])
|
|
if @invitation.destroy
|
|
flash[:success] = "The invitation has been deleted."
|
|
else
|
|
flash[:danger] = @invitation.errors_as_sentence
|
|
end
|
|
redirect_to admin_invitations_path
|
|
end
|
|
end
|
|
end
|