Formatare camp – format telefon – Sugar CRM P3

SugarCRM are un camp de tip telefon dar acest timp de camp nu permite nici un fel de formatare, numerele vor aparea asa cum au fost inserate (5555555555, 555 555 5555, 555 555 55 55, etc)

Daca dorim formatare de tip +Cod tara (xxx) xxx-xxxx avem mai multe variante.

Varianta3:

Cream un modul pentru upload cu un mic cod php (formatul modululi este disponibil pe sugarcrm.com in sectiunea suport):

<?php
//Test after_retrieve logic hook to format phone numbers from 5555555555 -> (555) 555 5555

class SecondLogicHook {
//Test Logic Function

function contactLogic(&$focus, $event, $arguments) {
//LOGIC GOES HERE
$GLOBALS[‘log’]->info(“You have reached your custom logic hook.”);
if(!empty($focus->contactphone_c)){
$two = $focus->contactphone_c;
preg_match_all(‘/d+/’, $two, $three);
$four = implode(“”,$three[0]);
$five1 = preg_replace(“/^([\+\d]*)(\d{3})(\d{3})(\d{4})$/u”, “$1”,$four);
$five2 = preg_replace(“/^([\+\d]*)(\d{3})(\d{3})(\d{4})$/u”, “($2) $3-$4”,$four);
if ($five1 != “”) {
$six = “+”.$five1.” “.$five2;
} else {
$six = “+1 “.$five2;
}
$focus->contactphone_c = $six;
}
if(!empty($focus->assistant_phone)){
$two = $focus->assistant_phone;
preg_match_all(‘/d+/’, $two, $three);
$four = implode(“”,$three[0]);
$five1 = preg_replace(“/^([\+\d]*)(\d{3})(\d{3})(\d{4})$/u”, “$1”,$four);
$five2 = preg_replace(“/^([\+\d]*)(\d{3})(\d{3})(\d{4})$/u”, “($2) $3-$4”,$four);
if ($five1 != “”) {
$six = “+”.$five1.” “.$five2;
} else {
$six = “+1 “.$five2;
}
$focus->assistant_phone = $six;
}
if(!empty($focus->directinwarddialphone_c)){
$two = $focus->directinwarddialphone_c;
preg_match_all(‘/d+/’, $two, $three);
$four = implode(“”,$three[0]);
$five1 = preg_replace(“/^([\+\d]*)(\d{3})(\d{3})(\d{4})$/u”, “$1”,$four);
$five2 = preg_replace(“/^([\+\d]*)(\d{3})(\d{3})(\d{4})$/u”, “($2) $3-$4”,$four);
if ($five1 != “”) {
$six = “+”.$five1.” “.$five2;
} else {
$six = “+1 “.$five2;
}
$focus->directinwarddialphone_c = $six;
}
if(!empty($focus->phone_fax)){
$two = $focus->phone_fax;
preg_match_all(‘/d+/’, $two, $three);
$four = implode(“”,$three[0]);
$five1 = preg_replace(“/^([\+\d]*)(\d{3})(\d{3})(\d{4})$/u”, “$1”,$four);
$five2 = preg_replace(“/^([\+\d]*)(\d{3})(\d{3})(\d{4})$/u”, “($2) $3-$4”,$four);
if ($five1 != “”) {
$six = “+”.$five1.” “.$five2;
} else {
$six = “+1 “.$five2;
}
$focus->phone_fax = $six;
}
if(!empty($focus->phone_home)){
$two = $focus->phone_home;
preg_match_all(‘/d+/’, $two, $three);
$four = implode(“”,$three[0]);
$five1 = preg_replace(“/^([\+\d]*)(\d{3})(\d{3})(\d{4})$/u”, “$1”,$four);
$five2 = preg_replace(“/^([\+\d]*)(\d{3})(\d{3})(\d{4})$/u”, “($2) $3-$4”,$four);
if ($five1 != “”) {
$six = “+”.$five1.” “.$five2;
} else {
$six = “+1 “.$five2;
}
$focus->phone_home = $six;
}
if(!empty($focus->phone_mobile)){
$two = $focus->phone_mobile;
preg_match_all(‘/d+/’, $two, $three);
$four = implode(“”,$three[0]);
$five1 = preg_replace(“/^([\+\d]*)(\d{3})(\d{3})(\d{4})$/u”, “$1”,$four);
$five2 = preg_replace(“/^([\+\d]*)(\d{3})(\d{3})(\d{4})$/u”, “($2) $3-$4”,$four);
if ($five1 != “”) {
$six = “+”.$five1.” “.$five2;
} else {
$six = “+1 “.$five2;
}
$focus->phone_mobile = $six;
}
if(!empty($focus->phone_other)){
$two = $focus->phone_other;
preg_match_all(‘/d+/’, $two, $three);
$four = implode(“”,$three[0]);
$five1 = preg_replace(“/^([\+\d]*)(\d{3})(\d{3})(\d{4})$/u”, “$1”,$four);
$five2 = preg_replace(“/^([\+\d]*)(\d{3})(\d{3})(\d{4})$/u”, “($2) $3-$4”,$four);
if ($five1 != “”) {
$six = “+”.$five1.” “.$five2;
} else {
$six = “+1 “.$five2;
}
$focus->phone_other = $six;
}
if(!empty($focus->phone_work)){
$two = $focus->phone_work;
preg_match_all(‘/d+/’, $two, $three);
$four = implode(“”,$three[0]);
$five1 = preg_replace(“/^([\+\d]*)(\d{3})(\d{3})(\d{4})$/u”, “$1”,$four);
$five2 = preg_replace(“/^([\+\d]*)(\d{3})(\d{3})(\d{4})$/u”, “($2) $3-$4”,$four);
if ($five1 != “”) {
$six = “+”.$five1.” “.$five2;
} else {
$six = “+1 “.$five2;
}
$focus->phone_work = $six;
}
}
}
?>

 

Modulul complet (manifest si cale + fisier php) se salveaza in format .zip si se adauga prin functa module loader.

Daca aveti sandbox sau aceeasi instanta pusa pe un server virtual este recomandat testarea modulului inainte de a aplicarea acestuia in mediul de productie.

 

Nota: Campurile de mai sus sunt denumite asa cum systemul le denumeste default, daca lucrati in campuri custom trebuie sa scrieti denumirea din campul field name si nu field label.

[mai mult...]

Formatare camp – format telefon – Sugar CRM P2

Cea mai simpla metoda de formatare a unui camp de tip numar de telefon in Sugar CRM este efectuata printr-un camp calculabil.

Este de mentionat ca acest numar de telefon listat pe pagina nu este editabil de nici un utilizator fara drepturi de administrator.

Pasul 1

Se creaza un camp (format telefon, nu conteaza daca alegeti asta sau nu Sugar CRM oricum nu formateaza). se poate denumi oricum, acest camp va fi vizibil doar de catre administrator sau de catre persoana care importa (pentru acest exemplu folosim “telefon_birou”; iar apoi se creaza un alt camp pentru listare – acesta ar trebui sa fie denumit corect pentru listare pe pagina de contact.

Campul folosit pentru listare va fi de tip text si va contine urmatoarea formula in campul calculabil:

concat("+1(",subStr($telefon_birou,0,3),") ",subStr($telefon_birou,3,3),"-",subStr($telefon_birou,6,4))
La final in campul listat numarul de telefon va fi formatat +1(xxx) xxx-xxxx
Daca se doreste schimbarea codului de tara se schimba concat("+1( cu concat("+x(.

Formula va fi activa pentru acel camp peste tot in Sugar si nu se poate folosi pentru prefixuri de tara multiple.

 

[mai mult...]

Activare Darkmode în youtube

YouTube are o varianta de temă dark mode care transformă site-ul într-unul cu efecte cinematice. Varianta e valabilă doar atunci când folosiți Google Chrome și implică câteva setări făcute prin intermediul modulului de developer. Nu este însă complicat însă are un neajuns. Trebuie să repetați operațiile ori de câte ori reporniți browserul.

[mai mult...]