Skip to content

Migrate pajamas buttons in invitation template

Dheeraj Joshi requested to merge djadmin-pajamas-invite-buttons into master

Related to #384452 (closed)

What does this MR do and why?

Migrate buttons in app/views/invites/show.html.haml to use the Pajamas::ButtonComponent abstraction.

Screenshots or screen recordings

No change

before after
image image

How to set up and validate locally

  1. Apply this patch to render this template locally
patch
diff --git a/app/controllers/invites_controller.rb b/app/controllers/invites_controller.rb
index 2a7f2d42e2af..a9ffce153f0d 100644
--- a/app/controllers/invites_controller.rb
+++ b/app/controllers/invites_controller.rb
@@ -5,7 +5,6 @@ class InvitesController < ApplicationController
 
   prepend_before_action :authenticate_user!, :track_invite_join_click, only: :show
   before_action :member
-  before_action :ensure_member_exists
   before_action :invite_details
   skip_before_action :authenticate_user!, only: :decline
 
@@ -64,7 +63,8 @@ def member?
   def member
     strong_memoize(:member) do
       @token = params[:id]
-      Member.find_by_invite_token(@token)
+      # Member.find_by_invite_token(@token)
+      Member.find_by_id(@token)
     end
   end
 
diff --git a/app/models/user.rb b/app/models/user.rb
index 86145c94545a..88f9638009e4 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -1561,6 +1561,7 @@ def any_email?(check_email)
   end
 
   def verified_email?(check_email)
+    return false
     downcased = check_email.downcase
 
     # handle the outdated private commit email case
diff --git a/app/views/invites/show.html.haml b/app/views/invites/show.html.haml
index cf471c874373..8a5cb49ff4ef 100644
--- a/app/views/invites/show.html.haml
+++ b/app/views/invites/show.html.haml
@@ -1,27 +1,12 @@
 - page_title _("Invitation")
 %h1.page-title.gl-font-size-h-display= _("Invitation")
 
-- if current_user_matches_invite?
-  - if member?
-    %p
-      = _("You are already a member of this %{member_source}.") % { member_source: @invite_details[:title] }
-    .actions
-      = link_to _("Go to %{source_name}") % { source_name: @invite_details[:title] }, @invite_details[:url], class: "btn gl-button btn-confirm"
-
-  - else
-    %p
-      - inviter = @member.created_by
-      - link_to_inviter = link_to(inviter.name, user_url(inviter))
-      - link_to_source = link_to(@invite_details[:name], @invite_details[:url])
-
-      = html_escape(_("You have been invited by %{link_to_inviter} to join %{source_name} %{strong_open}%{link_to_source}%{strong_close} as %{role}")) % { link_to_inviter: link_to_inviter, source_name: @invite_details[:title], strong_open: '<strong>'.html_safe, link_to_source: link_to_source, strong_close: '</strong>'.html_safe, role: @member.human_access }
-
-    .actions
-      = render Pajamas::ButtonComponent.new(variant: :confirm, method: :post, href: accept_invite_url(@token)) do
-        = _("Accept invitation")
-      = render Pajamas::ButtonComponent.new(variant: :danger, method: :post, href: decline_invite_url(@token)) do
-        = _("Decline")
-
+- if !current_user_matches_invite?
+  .actions
+    = render Pajamas::ButtonComponent.new(variant: :confirm, method: :post, href: accept_invite_url(@token)) do
+      = _("Accept invitation")
+    = render Pajamas::ButtonComponent.new(variant: :danger, method: :post, href: decline_invite_url(@token)) do
+      = _("Decline")
 - else
   %p
     - mail_to_invite_email = mail_to(@member.invite_email)
2. Visit http://gdk.test:3000/-/invites/1

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Dheeraj Joshi

Merge request reports