function __construct($id_type, $id_objet,$contexte="") {
global $user;
$this->id_type = $id_type;
$this->id_objet = $id_objet;
$this->initialiserDevis($contexte);
$this ->identification = get_UserIdentification($user->id,$this->devis[fwp7_param_template_att_get_number('',$this->id_type,'id_user')]);
$this ->devis_module_codes = (new ModuleCode($id_type,$id_objet))->setModuleCode($this->id_type, '162');
}
🔧 __construct
Constructeur
function __construct($id_type, $id_objet,$contexte="") {
global $user;
$this->id_type = $id_type;
$this->id_objet = $id_objet;
$this->initialiserDevis($contexte);
$this ->identification = get_UserIdentification($user->id,$this->devis[fwp7_param_template_att_get_number('',$this->id_type,'id_user')]);
$this ->devis_module_codes = (new ModuleCode($id_type,$id_objet))->setModuleCode($this->id_type, '162');
}
⚙️ Parameters
$id_type(int)
$id_objet(int)
🔧 initialiserDevis
Initialise les données du devis
function initialiserDevis($contexte) {
$this->devis = fwc7_data_objet_att('', $this->id_type, $this->id_objet);
$opportunite_clientID = fwc7_data_att_getraw('', '148', $this->devis['att1'], "att2");
// Si Pas d'opportunité (dans le cas d'une création de Devis d'un Franchiseur par exemple)/
// Récupération des informations depuis le client directement.
if($opportunite_clientID === null || $opportunite_clientID === "") {
$this->client = fwc7_data_objet_att('', '80', $this->devis["att2"]);
} else {
$this->client = fwc7_data_objet_att('', '80', $opportunite_clientID);
$this->opportunite = fwc7_data_objet_att('', '148', $this->devis['att1']);
}
// le contexte ici est soit "FACTURATION" soit "INTERVENTION"
if(isset($contexte)){
// ... (truncated)
function getAllContacts(){
// chercher sur la table client, tous les Contacts destinataire.
$wc =array();
$wc[]=" att8 ='".$this->client["id_obje"]."' ";
$all_contacts = fwc7_data_objet_atts('',MapperDevis::TYPE_CONTACT($this->id_type),"1",$wc);
return array_column(array_values($all_contacts), 'att6');
}
Créer l'adresse d'intervention dans le devis $id_att="att19" de lieu d'intervention
function handleAdresseIntervention() {
$datas = [];
//TODO: on assume de prendre la première adresse qui vient...
if($this->opportunite !== null) {
// on est dans le cas d'une création de devis avec opportunité.
$obj_client_adresse_ligne_ID = $this->opportunite['att8'];
$this->adresseIntervention = fwc7_data_objet_lig('1', '80', $this->opportunite['att2'], '147', $obj_client_adresse_ligne_ID, '1');
} else {
$this->adresseIntervention = fwc7_data_objet_lig('1', $this->client['id_type'], $this->client['id_obje'], '147', '', '1');
}
// Recopie des adresses d'intervention
$datas['att38'] = $this->adresseIntervention["lig2"]; // Adresse
$datas['att39'] = $this->adresseIntervention["lig3"]; // Code Postal
$datas['att40'] = $this->adresseIntervention["lig4"]; // Code Postal
$datas['att41'] = $this->adresseIntervention["lig5"]; // Ville
$datas['att42'] = $this->adresseIntervention["lig6"]; // Pays
$datas['att19'] = implode(" ", [
$this->adresseIntervention["lig1"],
// ... (truncated)
↩️ Returns
(array)
🔧 handleAdresseFacturation
Créer l'adresse de facturation dans le devis
function handleAdresseFacturation($datas = []) {
// Recopie adresse de facturation
$datas['att31'] = $this->client["att14"]; // Adresse
$datas['att32'] = $this->client["att15"]; // complement
$datas['att33'] = $this->adresseIntervention["att7"]; // Code Postal
$datas['att34'] = $this->adresseIntervention["att17"]; // Ville
$datas['att35'] = $this->adresseIntervention["att18"]; // Pays
// Constitution de l'adresse de facturation
$adresse_facturation = !empty($this->client["att9"]) ? $this->client["att9"]."\r\n " : '';
$adresse_facturation .= implode(" ", [
$this->client["att13"],
$this->client["att15"],
$this->client["att14"],
$this->client["att7"],
$this->client["att17"]
]);
// ... (truncated)
⚙️ Parameters
$datas(array)
↩️ Returns
(array)
🔧 handlePrescripteur
Gère les informations du prescripteur
function handlePrescripteur($datas) {
if (!empty($this->opportunite['att12'])) {
$datas['att44'] = $this->opportunite['att12'];
}
return $datas;
}
⚙️ Parameters
$datas(array)
↩️ Returns
(array)
🔧 handleEmail
function handleEmail($datas){
if(!empty($this->client)){
$datas["att23"] = $this->client["att12"];
}
return $datas;
}
Fonction permettant de récupérer dynamiquement le fichier CVG
function getCGVByTypeUser($cooperative_id = null): array{
if (!empty(array_intersect_key($this->identification, array_flip(["isCommercial", "isSuperAdmin", "isFranchise", "isFranchiseur"])))) {
$cgv = $this->getCGV($this->identification, $cooperative_id);
}else{
$cgv = [
'response'=> false,
'message'=> 'Objet appartenant ni à une franchise ni à un franchiseur',
'document'=>null
];
}
// ... (truncated)
↩️ Returns
(array) [response, message, document]
🔧 getCGV
Fonction permettant de retourner le fichier CGV correspondant à la franchise de l'objet ou au franchiseur si pas de cgv franchisé Dépendance: - setting objet devis (code : franchise, key : id & code: configuration, key id_type) - fiche configuration réseau Lors de la création d'un projet créer une fiche configuration réseau et ajouter le document CGV du franchiseur Paramétrer le setting (dans l'objet devis) code : configuration, key : id_type avec l'id_type de l'objet configuration réseau Paramétrer le setting (dans l'objet devis) code : franchise, key id : avec l'id_type de l'objet franchise Paramétrer le typage Document pour la franchise et la configuration réseau avec 'cgv'
(array) (response-> document trouvé ou non, message-> appartenance du fichier cgv ou message d'erreur,document-> [chemin de fichier, id fichier, nom fichier, pdf?] )