Fix tests after the removal of memberships
This commit is contained in:
committed by
Mike Dalessio
parent
8fa9566c07
commit
34d83aaa7c
@@ -9,9 +9,8 @@ module ApplicationCable
|
||||
private
|
||||
def set_current_user
|
||||
if session = find_session_by_cookie
|
||||
account = Account.find(request.env["fizzy.external_account_id"])
|
||||
user = session.identity.user.find_by!(account: account)
|
||||
self.current_user = user if user.active?
|
||||
account = Account.find_by(external_account_id: request.env["fizzy.external_account_id"])
|
||||
self.current_user = session.identity.users.find_by!(account: account) if account
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -2,24 +2,24 @@ class Users::EmailAddresses::ConfirmationsController < ApplicationController
|
||||
disallow_account_scope
|
||||
allow_unauthenticated_access
|
||||
|
||||
before_action :set_membership
|
||||
before_action :set_user
|
||||
rate_limit to: 5, within: 1.hour, only: :create
|
||||
|
||||
def show
|
||||
end
|
||||
|
||||
def create
|
||||
membership = Membership.change_email_address_using_token(token)
|
||||
user = User.change_email_address_using_token(token)
|
||||
|
||||
terminate_session if Current.session
|
||||
start_new_session_for membership.reload.identity
|
||||
start_new_session_for user.reload.identity
|
||||
|
||||
redirect_to edit_user_url(script_name: "/#{@membership.tenant}", id: @membership.user)
|
||||
redirect_to edit_user_url(script_name: user.account.slug, id: user)
|
||||
end
|
||||
|
||||
private
|
||||
def set_membership
|
||||
@membership = Membership.find(params[:membership_id])
|
||||
def set_user
|
||||
@user = User.find(params[:user_id])
|
||||
end
|
||||
|
||||
def token
|
||||
|
||||
@@ -3,7 +3,7 @@ class Users::EmailAddressesController < ApplicationController
|
||||
|
||||
layout "public"
|
||||
|
||||
before_action :set_membership
|
||||
before_action :set_user
|
||||
rate_limit to: 5, within: 1.hour, only: :create
|
||||
|
||||
def new
|
||||
@@ -12,17 +12,17 @@ class Users::EmailAddressesController < ApplicationController
|
||||
def create
|
||||
identity = Identity.find_by_email_address(new_email_address)
|
||||
|
||||
if identity&.memberships&.exists?(tenant: @membership.tenant)
|
||||
if identity&.users&.exists?(account: @user.account)
|
||||
flash[:alert] = "You already have a user in this account with that email address"
|
||||
redirect_to new_email_address_path
|
||||
redirect_to new_user_email_address_path(@user)
|
||||
else
|
||||
@membership.send_email_address_change_confirmation(new_email_address)
|
||||
@user.send_email_address_change_confirmation(new_email_address)
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
def set_membership
|
||||
@membership = Current.identity.memberships.find(params[:membership_id])
|
||||
def set_user
|
||||
@user = Current.identity.users.find(params[:user_id])
|
||||
end
|
||||
|
||||
def new_email_address
|
||||
|
||||
+1
-1
@@ -1,8 +1,8 @@
|
||||
class Board < ApplicationRecord
|
||||
include Accessible, AutoPostponing, Broadcastable, Cards, Entropic, Filterable, Publishable, Triageable
|
||||
|
||||
belongs_to :account, default: -> { creator.account }
|
||||
belongs_to :creator, class_name: "User", default: -> { Current.user }
|
||||
belongs_to :account, default: -> { creator.account }
|
||||
|
||||
has_rich_text :public_description
|
||||
|
||||
|
||||
+10
-2
@@ -7,8 +7,16 @@ class Current < ActiveSupport::CurrentAttributes
|
||||
def session=(value)
|
||||
super(value)
|
||||
|
||||
if value.present? && Current.account.present?
|
||||
self.user = identity.users.find_by(account: Current.account)
|
||||
if value.present? && account.present?
|
||||
self.user = identity.users.find_by(account: account)
|
||||
end
|
||||
end
|
||||
|
||||
def account=(value)
|
||||
super(value)
|
||||
|
||||
if value.present? && identity.present?
|
||||
self.user = identity.users.find_by(account: value)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
+1
-1
@@ -20,7 +20,7 @@ class User < ApplicationRecord
|
||||
def deactivate
|
||||
transaction do
|
||||
accesses.destroy_all
|
||||
update! active: false
|
||||
update! active: false, identity: nil
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
<div class="flex align-center gap">
|
||||
<div class="flex align-center gap input input--actor">
|
||||
<%= form.email_field :email_address, class: "input full-width", autocomplete: "username", placeholder: "Email address", required: true, readonly: true, value: @user.identity.email_address %>
|
||||
<%= link_to "Change email", new_email_address_url(script_name: nil, user_id: Current.user.id), class: "btn btn--plain txt-link txt-small txt-nowrap" %>
|
||||
<%= link_to "Change email", new_user_email_address_url(script_name: nil, user_id: Current.user.id), class: "btn btn--plain txt-link txt-small txt-nowrap" %>
|
||||
</div>
|
||||
</div>
|
||||
<button type="submit" id="log_in" class="btn btn--reversed center" data-form-target="submit">
|
||||
|
||||
Reference in New Issue
Block a user