Use _uid instead of _id to please Rails
This commit is contained in:
parent
87bb05fdd5
commit
ac42d7df78
22 changed files with 151 additions and 50 deletions
|
|
@ -165,7 +165,7 @@ class ChannelsCdrSignalController < ApplicationController
|
|||
|
||||
# Lookup customer with fallback chain:
|
||||
# 1. Phone number in phone/mobile fields (preferred)
|
||||
# 2. Signal user ID in signal_user_id field
|
||||
# 2. Signal user ID in signal_uid field
|
||||
# 3. User ID in phone/mobile fields (legacy - we used to store UUIDs there)
|
||||
customer = nil
|
||||
if sender_phone_number.present?
|
||||
|
|
@ -173,7 +173,7 @@ class ChannelsCdrSignalController < ApplicationController
|
|||
customer ||= User.find_by(mobile: sender_phone_number)
|
||||
end
|
||||
if customer.nil? && sender_user_id.present?
|
||||
customer = User.find_by(signal_user_id: sender_user_id)
|
||||
customer = User.find_by(signal_uid: sender_user_id)
|
||||
# Legacy fallback: user ID might be stored in phone field
|
||||
customer ||= User.find_by(phone: sender_user_id)
|
||||
customer ||= User.find_by(mobile: sender_user_id)
|
||||
|
|
@ -187,7 +187,7 @@ class ChannelsCdrSignalController < ApplicationController
|
|||
email: '',
|
||||
password: '',
|
||||
phone: sender_phone_number.presence || sender_user_id,
|
||||
signal_user_id: sender_user_id,
|
||||
signal_uid: sender_user_id,
|
||||
note: 'CDR Signal',
|
||||
active: true,
|
||||
role_ids: role_ids,
|
||||
|
|
@ -196,9 +196,9 @@ class ChannelsCdrSignalController < ApplicationController
|
|||
)
|
||||
end
|
||||
|
||||
# Update signal_user_id if we have it and customer doesn't
|
||||
if sender_user_id.present? && customer.signal_user_id.blank?
|
||||
customer.update(signal_user_id: sender_user_id)
|
||||
# Update signal_uid if we have it and customer doesn't
|
||||
if sender_user_id.present? && customer.signal_uid.blank?
|
||||
customer.update(signal_uid: sender_user_id)
|
||||
end
|
||||
# Update phone if we have it and customer only has user_id in phone field
|
||||
if sender_phone_number.present? && customer.phone == sender_user_id
|
||||
|
|
@ -282,7 +282,8 @@ class ChannelsCdrSignalController < ApplicationController
|
|||
ticket.state = Ticket::State.find_by(default_follow_up: true) if ticket.state_id != new_state.id
|
||||
else
|
||||
# Set up chat_id based on whether this is a group message
|
||||
chat_id = is_group_message ? receiver_phone_number : (sender_phone_number.presence || sender_user_id)
|
||||
# For direct messages, prefer UUID (more stable than phone numbers which can change)
|
||||
chat_id = is_group_message ? receiver_phone_number : (sender_user_id.presence || sender_phone_number)
|
||||
|
||||
# Build preferences with group_id included if needed
|
||||
cdr_signal_prefs = {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue