Files
eminuxandCursor e492c43bf8
CI / scan_ruby (push) Failing after 15m50s
CI / scan_js (push) Successful in 18m7s
CI / lint (push) Failing after 12m1s
Importa i prospect Calcio a 5 senza toccare la Pallavolo e filtra le organizzazioni per sport.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 11:07:43 +02:00

48 lines
1.9 KiB
Ruby

namespace :matchlivetv do
desc "Svuota MatchLiveTV e importa il foglio Campagna 100"
task reset_campaign: :environment do
path = ENV["CAMPAIGN_CSV"].presence ||
Rails.root.join("db/data/matchlivetv_campagna_100.csv")
user = User.find_by(email: "admin@simplecrm.local") || User.find_by!(role: "admin")
project = Project.find_by!(code: "matchlivetv")
puts "File: #{path}"
result = CampaignImport::MatchlivetvLaunch.new(path: path, user: user, project: project, wipe: true).call
puts "Organizzazioni rimosse dal solo MatchLiveTV: #{result.wiped_organizations}"
puts "Società importate: #{result.imported}"
if result.errors.any?
puts "Errori: #{result.errors.size}"
result.errors.first(10).each { |err| puts " riga #{err[:line]} #{err[:name]}: #{err[:message]}" }
abort "Import incompleto"
end
end
desc "Importa un foglio campagna senza cancellare le società già in CRM"
task import_campaign: :environment do
path = ENV["CAMPAIGN_CSV"].presence or abort "Imposta CAMPAIGN_CSV"
sport = ENV["SPORT"].presence or abort "Imposta SPORT (es. Calcio a 5)"
campaign = ENV["CAMPAIGN_NAME"].presence || "Campagna #{sport}"
user = User.find_by(email: "admin@simplecrm.local") || User.find_by!(role: "admin")
project = Project.find_by!(code: "matchlivetv")
puts "File: #{path}"
puts "Sport: #{sport}"
puts "Campagna: #{campaign}"
result = CampaignImport::MatchlivetvLaunch.new(
path: path,
user: user,
project: project,
wipe: false,
sport: sport,
campaign_name: campaign
).call
puts "Società importate: #{result.imported}"
puts "Duplicati saltati: #{result.skipped}"
if result.errors.any?
puts "Errori: #{result.errors.size}"
result.errors.first(10).each { |err| puts " riga #{err[:line]} #{err[:name]}: #{err[:message]}" }
abort "Import incompleto"
end
end
end