-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathfactures_pipelines.php
115 lines (94 loc) · 2.58 KB
/
factures_pipelines.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
<?php
/*
* Factures
* module de facturation
*
* Auteurs :
* Cedric Morin, Nursit.com
* (c) 2012 - Distribue sous licence GNU/GPL
*
*/
if (!defined('_ECRIRE_INC_VERSION')) return;
/**
* Chargement du fichier dans le pipeline autoriser
*/
function factures_autoriser(){}
/**
* Par defaut on peut toujours facturer
* @return bool
*/
function autoriser_facturer_dist(){ return true;}
/**
* Facturer un reglement
* @param array $flux
* @return array
*/
function factures_bank_facturer_reglement($flux){
include_spip("inc/transaction");
include_spip("inc/autoriser");
if (autoriser("facturer","transaction",$flux['args']['id_transaction'])){
include_spip('inc/factures');
// emettre la facture
$res = factures_creer_facture($flux['args']['id_transaction'], $flux['args']);
if ($res
AND list($id_facture,$no_comptable,$url) = $res){
// generer le message de retour
if ($url){
$flux['data'] .= "<br />"._T('factures:mail_imprimer_facture',array('url'=>$url,'numero'=>$no_comptable));
}
}
}
return $flux;
}
/**
* creer la facture proforma pour le reglement en attente
* @param $flux
* @return mixed
*/
function factures_trig_bank_reglement_en_attente($flux) {
if (isset($flux['args']['id_transaction'])
and $id_transaction = $flux['args']['id_transaction']) {
// on cree la facture proforma et c'est tout (on ne s'occupe pas de sa mise a disposition)
include_spip('inc/factures');
$res = factures_creer_facture_proforma($id_transaction);
}
return $flux;
}
/**
* Afficher un lien vers la facture PROFORMA pour les reglements en attente
* @param array $flux
* @return array
*/
function factures_bank_afficher_reglement_en_attente($flux) {
if (isset($flux['args']['id_transaction'])
and $id_transaction = $flux['args']['id_transaction']) {
// on retrouve la proforma (en en regenerant une nouvelle si besoin)
include_spip('inc/factures');
if ($res = factures_creer_facture_proforma($id_transaction)) {
list($id_facture_proforma, $no_comptable, $url) = $res;
$flux['data'] .= "<p><a href=\"$url\">"._T('factures:info_telecharger_facture_proforma',array('no_comptable' => $no_comptable))."</a></p>";
}
}
return $flux;
}
/**
* Liste des champs de recherche factures et proforma
*
* @param array $flux
* @return array
*/
function factures_rechercher_liste_des_champs($flux){
$flux['facture'] = array(
'id_facture' => 1,
'no_comptable' => 1,
'parrain' => 1,
'tracking_id' => 1,
);
$flux['facture_proforma'] = array(
'id_facture_proforma' => 1,
'no_comptable' => 1,
'parrain' => 1,
'tracking_id' => 1,
);
return $flux;
}