196 lines
4.7 KiB
Ruby
196 lines
4.7 KiB
Ruby
module Catalog
|
||
ORGANIZATION_STATUSES = {
|
||
"prospect" => "Prospect",
|
||
"active_customer" => "Cliente attivo",
|
||
"inactive_customer" => "Cliente inattivo",
|
||
"partner" => "Partner",
|
||
"lost" => "Perso"
|
||
}.freeze
|
||
|
||
ORGANIZATION_TYPES = {
|
||
"societa_sportiva" => "Società sportiva",
|
||
"organizzatore_evento" => "Organizzatore evento",
|
||
"federazione" => "Federazione",
|
||
"comitato" => "Comitato",
|
||
"azienda" => "Azienda",
|
||
"altro" => "Altro"
|
||
}.freeze
|
||
|
||
TEAM_GENDERS = {
|
||
"female" => "Femminile",
|
||
"male" => "Maschile",
|
||
"mixed" => "Maschile e femminile"
|
||
}.freeze
|
||
|
||
STREAMING_STATUSES = {
|
||
"not_detected" => "Non rilevato",
|
||
"limited" => "Limitato",
|
||
"yes_partial" => "Sì / parziale",
|
||
"yes" => "Sì",
|
||
"yes_sportcam" => "Sì – SportCam"
|
||
}.freeze
|
||
|
||
SEND_STATUSES = {
|
||
"to_send" => "Da inviare",
|
||
"sent" => "Inviato",
|
||
"no_send" => "Non inviare"
|
||
}.freeze
|
||
|
||
AB_VARIANTS = {
|
||
"A" => "Test A",
|
||
"B" => "Test B"
|
||
}.freeze
|
||
|
||
MAIL_ENCRYPTIONS = {
|
||
"starttls" => "STARTTLS (porta 587)",
|
||
"tls" => "SSL/TLS (porta 465)",
|
||
"none" => "Nessuna"
|
||
}.freeze
|
||
|
||
MAIL_AUTH_METHODS = {
|
||
"plain" => "PLAIN",
|
||
"login" => "LOGIN",
|
||
"cram_md5" => "CRAM-MD5"
|
||
}.freeze
|
||
|
||
MAILING_AUDIENCES = {
|
||
"to_send" => "Da inviare (campagna)",
|
||
"test_a" => "Solo chi è già Test A in scheda",
|
||
"test_b" => "Solo chi è già Test B in scheda",
|
||
"all" => "Tutte le organizzazioni del progetto"
|
||
}.freeze
|
||
|
||
MAILING_AB_ASSIGNMENTS = {
|
||
"from_record" => "Usa il Test A/B già in scheda",
|
||
"split" => "Suddividi a metà (A / B)"
|
||
}.freeze
|
||
|
||
MAILING_STATUSES = {
|
||
"draft" => "Bozza",
|
||
"sending" => "Invio in corso",
|
||
"paused" => "In pausa",
|
||
"sent" => "Inviata",
|
||
"cancelled" => "Annullata"
|
||
}.freeze
|
||
|
||
MAILING_RECIPIENT_STATUSES = {
|
||
"pending" => "Da inviare",
|
||
"skipped" => "Escluso",
|
||
"queued" => "In coda",
|
||
"sent" => "Inviata",
|
||
"failed" => "Errore"
|
||
}.freeze
|
||
|
||
PIPELINE_STAGES = {
|
||
"to_contact" => "Da contattare",
|
||
"contacted" => "Contattato",
|
||
"replied" => "Ha risposto",
|
||
"interested" => "Interessato",
|
||
"demo_trial" => "Demo / Trial",
|
||
"first_use" => "Primo utilizzo",
|
||
"proposal" => "Proposta",
|
||
"won" => "Cliente",
|
||
"lost" => "Perso"
|
||
}.freeze
|
||
|
||
PIPELINE_ORDER = PIPELINE_STAGES.keys.freeze
|
||
|
||
OPEN_PIPELINE_STAGES = %w[to_contact contacted replied interested demo_trial first_use proposal].freeze
|
||
|
||
LEAD_SOURCES = {
|
||
"outbound" => "Contatto diretto",
|
||
"campaign" => "Campagna lancio",
|
||
"referral" => "Referral",
|
||
"federation" => "Federazione/comitato",
|
||
"event" => "Evento",
|
||
"website" => "Sito",
|
||
"organic" => "Organico",
|
||
"partner" => "Partner",
|
||
"social" => "Social",
|
||
"other" => "Altro"
|
||
}.freeze
|
||
|
||
LOST_REASONS = {
|
||
"no_response" => "Nessuna risposta",
|
||
"not_interested" => "Non interessato",
|
||
"price" => "Prezzo",
|
||
"competitor" => "Usa già altra soluzione",
|
||
"no_streaming" => "Non fa streaming",
|
||
"timing" => "Timing",
|
||
"technical" => "Problema tecnico",
|
||
"deferred" => "Decisione rimandata",
|
||
"other" => "Altro"
|
||
}.freeze
|
||
|
||
ACTIVITY_TYPES = {
|
||
"note" => "Nota",
|
||
"email_sent" => "Email inviata",
|
||
"email_opened" => "Email aperta",
|
||
"email_received" => "Email ricevuta",
|
||
"call" => "Telefonata",
|
||
"meeting" => "Meeting",
|
||
"demo" => "Demo",
|
||
"trial_started" => "Trial attivato",
|
||
"follow_up" => "Follow-up",
|
||
"first_use" => "Primo utilizzo",
|
||
"proposal_sent" => "Proposta inviata",
|
||
"won" => "Vinto",
|
||
"lost" => "Perso",
|
||
"other" => "Altro"
|
||
}.freeze
|
||
|
||
TASK_TYPES = {
|
||
"follow_up" => "Follow-up",
|
||
"call" => "Chiamata",
|
||
"email" => "Email",
|
||
"meeting" => "Meeting",
|
||
"demo" => "Demo",
|
||
"proposal" => "Proposta",
|
||
"generic" => "Generico"
|
||
}.freeze
|
||
|
||
TASK_PRIORITIES = {
|
||
"low" => "Bassa",
|
||
"normal" => "Normale",
|
||
"high" => "Alta",
|
||
"urgent" => "Urgente"
|
||
}.freeze
|
||
|
||
TASK_STATUSES = {
|
||
"pending" => "In corso",
|
||
"completed" => "Completato",
|
||
"cancelled" => "Annullato"
|
||
}.freeze
|
||
|
||
CONTACT_METHODS = {
|
||
"email" => "Email",
|
||
"phone" => "Telefono",
|
||
"mobile" => "Cellulare",
|
||
"whatsapp" => "WhatsApp",
|
||
"meeting" => "Incontro"
|
||
}.freeze
|
||
|
||
GOAL_METRICS = {
|
||
"customers_acquired" => "Clienti acquisiti",
|
||
"won_value" => "Valore opportunità vinte",
|
||
"trials" => "Numero trial",
|
||
"first_uses" => "Numero primi utilizzi"
|
||
}.freeze
|
||
|
||
STAGE_PROBABILITIES = {
|
||
"to_contact" => 5,
|
||
"contacted" => 10,
|
||
"replied" => 20,
|
||
"interested" => 40,
|
||
"demo_trial" => 55,
|
||
"first_use" => 70,
|
||
"proposal" => 80,
|
||
"won" => 100,
|
||
"lost" => 0
|
||
}.freeze
|
||
|
||
def self.label_for(hash, key)
|
||
hash[key.to_s] || key.to_s.humanize
|
||
end
|
||
end
|