C'est crade mais : on peut modifier un doc en reçu et il s'affiche
This commit is contained in:
parent
0ab5fa5ad0
commit
2014dff1a1
8 changed files with 146 additions and 110 deletions
|
|
@ -12,8 +12,8 @@ class Facture
|
|||
'numero',
|
||||
'receveur_membre',
|
||||
'receveur_id',
|
||||
'date_emission',
|
||||
'date_echeance',
|
||||
'date_emission', // Reçus : date du don
|
||||
'date_echeance', // Reçus : date d'édition du reçu
|
||||
'reglee',
|
||||
'archivee',
|
||||
'moyen_paiement',
|
||||
|
|
@ -21,11 +21,19 @@ class Facture
|
|||
'total'
|
||||
];
|
||||
|
||||
public $type = [
|
||||
0 => 'devis',
|
||||
1 => 'facture',
|
||||
2 => 'cerfa',
|
||||
3 => 'cotis',
|
||||
];
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
// Wsh je sais que data c invariable, laissez-moi tranquille jsp comment faire sinon
|
||||
public function _checkFields(&$datas)
|
||||
{
|
||||
foreach($datas as $k=>$data)
|
||||
|
|
@ -46,13 +54,18 @@ class Facture
|
|||
|
||||
switch($k)
|
||||
{
|
||||
case 'type_facture':
|
||||
case 'receveur_membre':
|
||||
case 'reglee':
|
||||
case 'archivee':
|
||||
if ($datas[$k] != 1 && $datas[$k] != 0)
|
||||
{
|
||||
throw new UserException("$k est de valeur non-attendue ($data).");
|
||||
case 'type_facture':
|
||||
if (!array_key_exists($datas[$k], $this->type))
|
||||
{
|
||||
throw new UserException("$k est de type non-attendue ($data).");
|
||||
}
|
||||
break;
|
||||
case 'receveur_membre':
|
||||
case 'reglee':
|
||||
case 'archivee':
|
||||
if ($datas[$k] != 1 && $datas[$k] != 0)
|
||||
{
|
||||
throw new UserException("$k est de valeur non-attendue ($data).");
|
||||
}
|
||||
break;
|
||||
case 'receveur_id':
|
||||
|
|
@ -69,8 +82,8 @@ class Facture
|
|||
if (!strtotime($datas[$k])) {
|
||||
throw new UserException("La date d'émission est non-attendue ($data).");
|
||||
}
|
||||
if (isset($datas['date_emission']) && (strtotime($datas[$k]) <= strtotime($datas['date_emission']))) {
|
||||
throw new UserException("La date d'échéance est antérieure ou égale à la date d'émission ($data).");
|
||||
if (isset($datas['date_emission']) && (strtotime($datas[$k]) < strtotime($datas['date_emission']))) {
|
||||
throw new UserException("La date d'échéance est antérieure à la date d'émission ($data).");
|
||||
}
|
||||
break;
|
||||
case 'moyen_paiement':
|
||||
|
|
@ -81,7 +94,13 @@ class Facture
|
|||
unset($cats);
|
||||
break;
|
||||
case 'contenu':
|
||||
if (!is_array($datas[$k]) || empty($datas[$k])) {
|
||||
$tmp = false;
|
||||
if ($datas['type_facture'] > 1) {
|
||||
// $datas[$k] = null;
|
||||
// break;
|
||||
$tmp = true;
|
||||
}
|
||||
if (!$tmp && !is_array($datas[$k]) || empty($datas[$k])) {
|
||||
throw new UserException("Le contenu du document est vide ($data).");
|
||||
}
|
||||
$total = 0;
|
||||
|
|
@ -105,6 +124,10 @@ class Facture
|
|||
$datas[$k] = json_encode($datas[$k]);
|
||||
break;
|
||||
case 'total':
|
||||
if ($datas['type_facture'] > 1) {
|
||||
// $datas[$k] = null;
|
||||
break;
|
||||
}
|
||||
if (!isset($datas['contenu'])) {
|
||||
throw new UserException("Pas de contenu fourni pour vérifier le total.");
|
||||
}
|
||||
|
|
@ -125,7 +148,7 @@ class Facture
|
|||
|
||||
if(isset($data['numero']) && $db->test('plugin_facturation_factures', 'numero = ? COLLATE NOCASE', $data['numero']))
|
||||
{
|
||||
throw new UserException('Une facture avec ce numéro existe déjà, hors le numéro doit être unique.');
|
||||
throw new UserException('Un document avec ce numéro existe déjà, hors le numéro doit être unique.');
|
||||
}
|
||||
$db->insert('plugin_facturation_factures', $data);
|
||||
return $db->lastInsertRowId();
|
||||
|
|
@ -141,10 +164,13 @@ class Facture
|
|||
|
||||
if(!$r)
|
||||
{
|
||||
throw new UserException("Pas de facture retournée avec cet id.");
|
||||
throw new UserException("Pas de document retournée avec cet id.");
|
||||
}
|
||||
|
||||
$r->contenu = json_decode($r->contenu, true);
|
||||
if ($r->contenu)
|
||||
{
|
||||
$r->contenu = json_decode($r->contenu, true);
|
||||
}
|
||||
|
||||
return $r;
|
||||
}
|
||||
|
|
@ -157,7 +183,10 @@ class Facture
|
|||
|
||||
foreach ($r as $e)
|
||||
{
|
||||
$e->contenu = json_decode((string)$e->contenu, true);
|
||||
if($e->contenu)
|
||||
{
|
||||
$e->contenu = json_decode((string)$e->contenu, true);
|
||||
}
|
||||
}
|
||||
|
||||
return $r;
|
||||
|
|
@ -171,7 +200,7 @@ class Facture
|
|||
|
||||
if(isset($data['numero']) && $db->test('plugin_facturation_factures', 'numero = ? COLLATE NOCASE AND id != ?', $data['numero'], (int)$id))
|
||||
{
|
||||
throw new UserException('Une facture avec ce numéro existe déjà, hors le numéro doit être unique.');
|
||||
throw new UserException('Un document avec ce numéro existe déjà, hors le numéro doit être unique.');
|
||||
}
|
||||
return $db->update('plugin_facturation_factures', $data, $db->where('id', (int)$id));
|
||||
}
|
||||
|
|
@ -180,14 +209,14 @@ class Facture
|
|||
{
|
||||
$client = new Client;
|
||||
|
||||
if ($base == 0)
|
||||
if ($base == 0) // Si c'est un client
|
||||
{
|
||||
if(!$client->get($id))
|
||||
{
|
||||
throw new UserException("Ce client n'existe pas.");
|
||||
}
|
||||
}
|
||||
else
|
||||
else // Si c'est un membre de l'asso
|
||||
{
|
||||
throw new UserException("Woopsie, g pô encore implémenté l'usage des membres de l'asso comme clients");
|
||||
}
|
||||
|
|
@ -199,7 +228,10 @@ class Facture
|
|||
|
||||
foreach ($r as $e)
|
||||
{
|
||||
$e->contenu = json_decode((string)$e->contenu, true);
|
||||
if ($e->contenu)
|
||||
{
|
||||
$e->contenu = json_decode((string)$e->contenu, true);
|
||||
}
|
||||
}
|
||||
|
||||
return empty($r)?false:$r;
|
||||
|
|
@ -209,14 +241,14 @@ class Facture
|
|||
{
|
||||
$client = new Client;
|
||||
|
||||
if ($base == 0)
|
||||
if ($base == 0) // Si c'est un client
|
||||
{
|
||||
if(!$client->get($id))
|
||||
{
|
||||
throw new UserException("Ce client n'existe pas.");
|
||||
}
|
||||
}
|
||||
else
|
||||
else // Si c'est un membre de l'asso
|
||||
{
|
||||
throw new UserException("Woopsie, g pô encore implémenté l'usage des membres de l'asso comme clients");
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue