@@ -41,6 +41,7 @@ module WebsiteProvisionable
4141 after do
4242 update! ( provisioning_started_at : Time . current ) if provisioning_started_at . blank?
4343 log_provisioning_step ( 'owner_assigned' )
44+ sync_website_created_to_zoho
4445 end
4546 end
4647
@@ -105,14 +106,20 @@ module WebsiteProvisionable
105106 # Step 9: Complete registration (user created Firebase account)
106107 event :complete_owner_registration do
107108 transitions from : :locked_pending_registration , to : :live
108- after { log_provisioning_step ( 'live' ) }
109+ after do
110+ log_provisioning_step ( 'live' )
111+ sync_website_live_to_zoho
112+ end
109113 end
110114
111115 # Direct go_live (for admin use or special cases)
112116 event :go_live do
113117 transitions from : [ :ready , :locked_pending_email_verification , :locked_pending_registration ] ,
114118 to : :live , guard : :can_go_live?
115- after { log_provisioning_step ( 'live' ) }
119+ after do
120+ log_provisioning_step ( 'live' )
121+ sync_website_live_to_zoho
122+ end
116123 end
117124
118125 # Failure handling
@@ -305,5 +312,25 @@ def provisioning_failed_step_progress
305312 return 15 if has_owner?
306313 0
307314 end
315+
316+ # ===================
317+ # Zoho CRM Sync
318+ # ===================
319+
320+ def sync_website_created_to_zoho
321+ return unless owner
322+
323+ Pwb ::Zoho ::SyncWebsiteCreatedJob . perform_later ( owner . id , id )
324+ rescue StandardError => e
325+ Rails . logger . error ( "[Zoho] Failed to queue website created sync: #{ e . message } " )
326+ end
327+
328+ def sync_website_live_to_zoho
329+ return unless owner
330+
331+ Pwb ::Zoho ::SyncWebsiteLiveJob . perform_later ( owner . id , id )
332+ rescue StandardError => e
333+ Rails . logger . error ( "[Zoho] Failed to queue website live sync: #{ e . message } " )
334+ end
308335 end
309336end
0 commit comments