Snellisci l'invito a trasmettere e invia l'email automatica.
Il form invito è sulla pagina squadra, genera il link e manda la mail; in caso di errore SMTP resta la copia manuale. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -58,7 +58,7 @@ module Public
|
||||
|
||||
def invite
|
||||
require_club_owner_for_team!(@team)
|
||||
@entitlements = @team.entitlements
|
||||
redirect_to public_team_details_path(@team, anchor: "invita-trasmissione")
|
||||
end
|
||||
|
||||
def assign_self_staff
|
||||
@@ -87,18 +87,32 @@ module Public
|
||||
email = params[:email]&.downcase&.strip
|
||||
Teams::StaffEmailValidator.assert_available!(team: @team, email: email, staff_kind: staff_kind)
|
||||
token = TeamInvitation.generate_token
|
||||
@team.team_invitations.create!(
|
||||
invitation = @team.team_invitations.create!(
|
||||
email: email,
|
||||
token_digest: Digest::SHA256.hexdigest(token),
|
||||
role: "member",
|
||||
staff_kind: staff_kind,
|
||||
expires_at: 7.days.from_now
|
||||
)
|
||||
@invite_url = join_public_invitation_url(token: token)
|
||||
flash.now[:notice] = t("flash.teams.invite_link_generated")
|
||||
render :invite
|
||||
invite_url = public_invitation_url(token: token)
|
||||
flash[:invite_url] = invite_url
|
||||
|
||||
begin
|
||||
Teams::InvitationMailer.transmission_invite(
|
||||
team: @team,
|
||||
invitation: invitation,
|
||||
invite_url: invite_url,
|
||||
invited_by: current_user
|
||||
).deliver_now
|
||||
flash[:notice] = t("flash.teams.invite_email_sent", email: email)
|
||||
rescue StandardError => e
|
||||
Rails.logger.error("[invite_email] #{e.class}: #{e.message}")
|
||||
flash[:alert] = t("flash.teams.invite_email_failed", email: email)
|
||||
end
|
||||
|
||||
redirect_to public_team_details_path(@team, anchor: "invito-generato")
|
||||
rescue Teams::EntitlementError, Teams::StaffAssignmentError => e
|
||||
redirect_to public_team_invite_path(@team), alert: e.message
|
||||
redirect_to public_team_details_path(@team, anchor: "invita-trasmissione"), alert: e.message
|
||||
end
|
||||
|
||||
def remove_member
|
||||
|
||||
Reference in New Issue
Block a user