diff --git a/install.php b/install.php index 839c549..4b807bb 100644 --- a/install.php +++ b/install.php @@ -3,15 +3,15 @@ namespace Garradin; $db = DB::getInstance(); -var_dump($db->exec(file_get_contents(dirname(__FILE__) . "/data/schema.sql"))); +$db->import(dirname(__FILE__) . "/data/schema.sql"); $cfg = new Plugin\Facturation\Config(); $cfg->set('footer', '[EXEMPLE] -Association exonérée des impôts commerciaux -En cas de retard de paiement, indemnité forfaitaire légale pour frais de recouvrement : 40,00 € -[Coordonnées bancaires] -Association enregistrée en préfecture de XXX au numéro YYY -'); + Association exonérée des impôts commerciaux + En cas de retard de paiement, indemnité forfaitaire légale pour frais de recouvrement : 40,00 € + [Coordonnées bancaires] + Association enregistrée en préfecture de XXX au numéro YYY + '); $cfg->set('validate_cp', true); -$cfg->save(); \ No newline at end of file +$cfg->save(); diff --git a/lib/Client.php b/lib/Client.php index 8b9ca66..e2e1c82 100644 --- a/lib/Client.php +++ b/lib/Client.php @@ -41,7 +41,7 @@ class Client { throw new UserException('Le champs '.$key.' doit être renseigné.'); } - + if($key == 'ville') { $data[$key] = mb_strtoupper($data[$key]); @@ -50,7 +50,7 @@ class Client { if($this->config['validate_cp'] && !preg_match('/^(F-)?((2[A|B])|[0-9]{2})(\s)?[0-9]{3}$/', $data[$key])) { - throw new UserException('Le code postal est erroné.'); + throw new UserException('Le code postal est erroné.'); } } elseif ($key == "telephone") @@ -80,26 +80,26 @@ class Client $this->_checkFields($data); - if($this->config['unique_client_name'] && isset($data['nom']) && $db->test('plugin_facturation_clients', 'nom = ? COLLATE NOCASE', $data['nom'])) - { - throw new UserException('La valeur du champ nom est déjà utilisée, hors ce champ doit être unique à chaque client.'); - } + if($this->config['unique_client_name'] && isset($data['nom']) && $db->test('plugin_facturation_clients', 'nom = ? COLLATE NOCASE', $data['nom'])) + { + throw new UserException('La valeur du champ nom est déjà utilisée, hors ce champ doit être unique à chaque client.'); + } - $db->insert('plugin_facturation_clients', $data); + $db->insert('plugin_facturation_clients', $data); return $db->lastInsertRowId(); } public function get($id) - { - $db = DB::getInstance(); + { + $db = DB::getInstance(); - return $db->first('SELECT *, strftime(\'%s\', date_creation) AS date_creation - FROM plugin_facturation_clients WHERE id = ? LIMIT 1;', (int)$id); - } + return $db->first('SELECT *, strftime(\'%s\', date_creation) AS date_creation + FROM plugin_facturation_clients WHERE id = ? LIMIT 1;', (int)$id); + } public function listAll() { - return DB::getInstance()->get('SELECT *, strftime(\'%s\', date_creation) AS date_creation FROM plugin_facturation_clients'); + return DB::getInstance()->get('SELECT *, strftime(\'%s\', date_creation) AS date_creation FROM plugin_facturation_clients'); } public function edit($id, $data = []) @@ -108,10 +108,10 @@ class Client $this->_checkFields($data); - if($this->config['unique_client_name'] && isset($data['nom']) && $db->test('plugin_facturation_clients', 'nom = ? COLLATE NOCASE AND id != ?', $data['nom'], (int)$id)) - { - throw new UserException('La valeur du champ nom est déjà utilisée, hors ce champ doit être unique à chaque client.'); - } + if($this->config['unique_client_name'] && isset($data['nom']) && $db->test('plugin_facturation_clients', 'nom = ? COLLATE NOCASE AND id != ?', $data['nom'], (int)$id)) + { + throw new UserException('La valeur du champ nom est déjà utilisée, hors ce champ doit être unique à chaque client.'); + } return $db->update('plugin_facturation_clients', $data, $db->where('id', (int)$id)); } @@ -128,7 +128,7 @@ class Client { return false; } - + return DB::getInstance()->delete('plugin_facturation_clients', 'id = '. (int)$id); } } diff --git a/lib/Config.php b/lib/Config.php index e9ffdbc..d0c51ed 100644 --- a/lib/Config.php +++ b/lib/Config.php @@ -78,113 +78,112 @@ class Config } public function save() - { - if (empty($this->modified)) - return true; + { + if (empty($this->modified)) + return true; - $values = []; - $db = DB::getInstance(); - // $db->begin(); + $values = []; + $db = DB::getInstance(); + // $db->begin(); - foreach ($this->modified as $key=>$modified) - { - $value = $this->config[$key]; - var_dump($value); + foreach ($this->modified as $key=>$modified) + { + $value = $this->config[$key]; - if (is_array($value)) - { - $value = implode(',', $value); - } - elseif (is_object($value)) - { - $value = (string) $value; - } + if (is_array($value)) + { + $value = implode(',', $value); + } + elseif (is_object($value)) + { + $value = (string) $value; + } - $db->exec('INSERT OR REPLACE INTO plugin_facturation_config (cle, valeur) VALUES (\''.$key.'\', \''.$value.'\');'); + $db->exec('INSERT OR REPLACE INTO plugin_facturation_config (cle, valeur) VALUES (\''.$key.'\', \''.$value.'\');'); } - - // $db->commit(); - $this->modified = []; + // $db->commit(); - return true; + $this->modified = []; + + return true; } - + public function set($key, $value) { - if (!array_key_exists($key, $this->fields_types)) - { - throw new \OutOfBoundsException('Ce champ est inconnu.'); - } + if (!array_key_exists($key, $this->fields_types)) + { + throw new \OutOfBoundsException('Ce champ est inconnu.'); + } - if (is_array($this->fields_types[$key])) - { - $value = !empty($value) ? (array) $value : []; - } - elseif (is_int($this->fields_types[$key])) - { - $value = (int) $value; - } - elseif (is_float($this->fields_types[$key])) - { - $value = (float) $value; - } - elseif (is_bool($this->fields_types[$key])) - { - $value = (bool) $value; - } - elseif (is_string($this->fields_types[$key])) - { - $value = (string) $value; - } + if (is_array($this->fields_types[$key])) + { + $value = !empty($value) ? (array) $value : []; + } + elseif (is_int($this->fields_types[$key])) + { + $value = (int) $value; + } + elseif (is_float($this->fields_types[$key])) + { + $value = (float) $value; + } + elseif (is_bool($this->fields_types[$key])) + { + $value = (bool) $value; + } + elseif (is_string($this->fields_types[$key])) + { + $value = (string) $value; + } - // switch ($key) - // { - // case 'siret_asso': - // { - // if (!trim($value)) - // { - // throw new UserException('Le nom de l\'association ne peut rester vide.'); - // } - // break; - // } - // case 'footer': - // break; - // default: - // break; - // } + // switch ($key) + // { + // case 'siret_asso': + // { + // if (!trim($value)) + // { + // throw new UserException('Le nom de l\'association ne peut rester vide.'); + // } + // break; + // } + // case 'footer': + // break; + // default: + // break; + // } - if (!isset($this->config[$key]) || $value !== $this->config[$key]) - { - $this->config[$key] = $value; - $this->modified[$key] = true; - } + if (!isset($this->config[$key]) || $value !== $this->config[$key]) + { + $this->config[$key] = $value; + $this->modified[$key] = true; + } - return true; + return true; } public function get($key) { - if (!array_key_exists($key, $this->fields_types)) - { - throw new \OutOfBoundsException('Ce champ est inconnu.'); - } - - if (!array_key_exists($key, $this->config)) - { - return null; - } - - return $this->config[$key]; + if (!array_key_exists($key, $this->fields_types)) + { + throw new \OutOfBoundsException('Ce champ est inconnu.'); } - + + if (!array_key_exists($key, $this->config)) + { + return null; + } + + return $this->config[$key]; + } + public function getFieldsTypes() { - return $this->fields_types; + return $this->fields_types; } public function getConfig() { - return $this->config; + return $this->config; } -} \ No newline at end of file +} diff --git a/lib/Facture.php b/lib/Facture.php index 414801c..613e4d3 100644 --- a/lib/Facture.php +++ b/lib/Facture.php @@ -34,7 +34,7 @@ class Facture { throw new UserException("Clé inattendue : $k."); } - + if(!is_array($data)){ $datas[$k] = trim($data); } @@ -46,49 +46,49 @@ 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': + 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': - if (!is_numeric($datas[$k]) || $datas[$k] < 0 ) - { - throw new UserException("L'id du receveur est non-attendu ($data)."); +case 'receveur_id': + if (!is_numeric($datas[$k]) || $datas[$k] < 0 ) + { + throw new UserException("L'id du receveur est non-attendu ($data)."); } break; - case 'date_emission': - if (!strtotime($datas[$k])) - { - throw new UserException("La date d'émission est non-attendue ($data)."); +case 'date_emission': + if (!strtotime($datas[$k])) + { + throw new UserException("La date d'émission est non-attendue ($data)."); } break; - case 'date_echeance': - if (!strtotime($datas[$k])) - { - throw new UserException("La date d'émission est non-attendue ($data)."); +case 'date_echeance': + 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)."); } break; - case 'moyen_paiement': - $cats = new \Garradin\Compta\Categories; - if(!array_key_exists($datas[$k], $cats->listMoyensPaiement())) - { - throw new UserException("Le moyen de paiement ne correspond pas à la liste interne ($data)."); +case 'moyen_paiement': + $cats = new \Garradin\Compta\Categories; + if(!array_key_exists($datas[$k], $cats->listMoyensPaiement())) + { + throw new UserException("Le moyen de paiement ne correspond pas à la liste interne ($data)."); } unset($cats); break; - case 'contenu': - if(!is_array($datas[$k]) || empty($datas[$k])) - { - throw new UserException("Le contenu du document est vide ($data)."); +case 'contenu': + if(!is_array($datas[$k]) || empty($datas[$k])) + { + throw new UserException("Le contenu du document est vide ($data)."); } $total = 0; $vide = 1; @@ -110,10 +110,10 @@ class Facture } $datas[$k] = serialize($datas[$k]); break; - case 'total': - if(!isset($datas['contenu'])) - { - throw new UserException("Pas de contenu fourni pour vérifier le total."); +case 'total': + if(!isset($datas['contenu'])) + { + throw new UserException("Pas de contenu fourni pour vérifier le total."); } if ($total != $datas[$k]) { @@ -132,15 +132,15 @@ 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('Une facture avec ce numéro existe déjà, hors le numéro doit être unique.'); } $db->insert('plugin_facturation_factures', $data); return $db->lastInsertRowId(); } public function get($id) - { - $db = DB::getInstance(); + { + $db = DB::getInstance(); $r = $db->first('SELECT *, strftime(\'%s\', date_emission) AS date_emission, strftime(\'%s\', date_echeance) AS date_echeance @@ -150,7 +150,7 @@ class Facture { throw new UserException("Pas de facture retournée avec cet id."); } - + $r->contenu = unserialize($r->contenu); return $r; @@ -161,7 +161,7 @@ class Facture $r = (array)DB::getInstance()->get('SELECT *, strftime(\'%s\', date_emission) AS date_emission, strftime(\'%s\', date_echeance) AS date_echeance FROM plugin_facturation_factures'); - + foreach ($r as $e) { $e->contenu = unserialize((string)$e->contenu); @@ -178,7 +178,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('Une facture 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)); } @@ -200,15 +200,15 @@ class Facture } $r = (array)DB::getInstance()->get('SELECT *, strftime(\'%s\', date_emission) AS date_emission, - strftime(\'%s\', date_echeance) AS date_echeance - FROM plugin_facturation_factures - WHERE receveur_membre = ? AND receveur_id = ?', (int)$base, (int)$id); + strftime(\'%s\', date_echeance) AS date_echeance + FROM plugin_facturation_factures + WHERE receveur_membre = ? AND receveur_id = ?', (int)$base, (int)$id); foreach ($r as $e) { $e->contenu = unserialize((string)$e->contenu); } - + return empty($r)?false:$r; } diff --git a/uninstall.php b/uninstall.php index 0d3a83c..e876c45 100644 --- a/uninstall.php +++ b/uninstall.php @@ -3,4 +3,4 @@ namespace Garradin; $db = DB::getInstance(); -$db->exec(file_get_contents(dirname(__FILE__) . "/data/schema_remove.sql")); \ No newline at end of file +$db->exec(file_get_contents(dirname(__FILE__) . "/data/schema_remove.sql")); diff --git a/www/admin/_inc.php b/www/admin/_inc.php index 2e0cbd9..dc830f2 100644 --- a/www/admin/_inc.php +++ b/www/admin/_inc.php @@ -9,4 +9,4 @@ use Garradin\Plugin\Facturation\Client; $cfg = Config::getInstance(); $client = new Client; -$facture = new Facture; \ No newline at end of file +$facture = new Facture; diff --git a/www/admin/client.php b/www/admin/client.php index fd3d8f3..689300e 100644 --- a/www/admin/client.php +++ b/www/admin/client.php @@ -19,4 +19,4 @@ if (!$client) $tpl->assign('docs', $facture->listUserDoc(0, $id)); $tpl->assign('client', $client); -$tpl->display(PLUGIN_ROOT . '/templates/client.tpl'); \ No newline at end of file +$tpl->display(PLUGIN_ROOT . '/templates/client.tpl'); diff --git a/www/admin/client_modifier.php b/www/admin/client_modifier.php index 7f3760b..f87df96 100644 --- a/www/admin/client_modifier.php +++ b/www/admin/client_modifier.php @@ -26,7 +26,7 @@ if(f('save')) 'telephone' => 'string', 'email' => 'email' ]); - + if (!$form->hasErrors()) { try @@ -39,7 +39,7 @@ if(f('save')) 'telephone' => f('telephone'), 'email' => f('email') ]); - + $r ? Utils::redirect(PLUGIN_URL . 'client.php?id='.(int)$id):''; } catch (UserException $e) diff --git a/www/admin/client_supprimer.php b/www/admin/client_supprimer.php index cc18f7b..4ff6752 100644 --- a/www/admin/client_supprimer.php +++ b/www/admin/client_supprimer.php @@ -14,27 +14,27 @@ $c = $client->get($id); if (!$client) { - throw new UserException("Ce client n'existe pas."); + throw new UserException("Ce client n'existe pas."); } if (f('delete')) { - $form->check('delete_client_'.$c->id); + $form->check('delete_client_'.$c->id); - if (!$form->hasErrors()) - { - try { - var_dump($client->delete($c->id)); - Utils::redirect(PLUGIN_URL . 'clients.php'); - } - catch (UserException $e) - { - $form->addError($e->getMessage()); - } + if (!$form->hasErrors()) + { + try { + $client->delete($c->id); + Utils::redirect(PLUGIN_URL . 'clients.php'); + } + catch (UserException $e) + { + $form->addError($e->getMessage()); + } } } $tpl->assign('deletable', $client->isDeletable($id)); $tpl->assign('client', $client->get($id)); -$tpl->display(PLUGIN_ROOT . '/templates/client_supprimer.tpl'); \ No newline at end of file +$tpl->display(PLUGIN_ROOT . '/templates/client_supprimer.tpl'); diff --git a/www/admin/clients.php b/www/admin/clients.php index 72c0320..8889177 100644 --- a/www/admin/clients.php +++ b/www/admin/clients.php @@ -8,29 +8,29 @@ $session->requireAccess('compta', Membres::DROIT_ACCES); if(f('add')) { - $form->check('add_client', [ - 'nom' => 'required|string', - 'adresse' => 'required|string', - 'code_postal' => 'required|string', - 'ville' => 'required|string', - 'telephone' => 'string', - 'email' => 'email' - ]); + $form->check('add_client', [ + 'nom' => 'required|string', + 'adresse' => 'required|string', + 'code_postal' => 'required|string', + 'ville' => 'required|string', + 'telephone' => 'string', + 'email' => 'email' + ]); - if (!$form->hasErrors()) - { + if (!$form->hasErrors()) + { try { $id = $client->add([ - 'nom' => f('nom'), - 'adresse' => f('adresse'), - 'code_postal' => f('code_postal'), - 'ville' => f('ville'), - 'telephone' => f('telephone'), - 'email' => f('email') + 'nom' => f('nom'), + 'adresse' => f('adresse'), + 'code_postal' => f('code_postal'), + 'ville' => f('ville'), + 'telephone' => f('telephone'), + 'email' => f('email') ]); - $id ? Utils::redirect(PLUGIN_URL . 'client.php?id='.(int)$id):''; + $id ? Utils::redirect(PLUGIN_URL . 'client.php?id='.(int)$id):''; } catch (UserException $e) { @@ -40,17 +40,16 @@ if(f('add')) } -// var_dump($client->listAll()); $tpl->assign('clients', $client->listAll()); $tpl->assign('champs', -[ - 'id' => 'id', - 'nom' => 'Nom', - 'adresse' => 'Adresse', - 'code_postal' => 'Code postal', - 'ville' => 'Ville', - 'telephone' => 'Numéro de téléphone', - 'email' => 'Adresse mail' + [ + 'id' => 'id', + 'nom' => 'Nom', + 'adresse' => 'Adresse', + 'code_postal' => 'Code postal', + 'ville' => 'Ville', + 'telephone' => 'Numéro de téléphone', + 'email' => 'Adresse mail' ] ); diff --git a/www/admin/config.php b/www/admin/config.php index 09c17d4..2de73bd 100644 --- a/www/admin/config.php +++ b/www/admin/config.php @@ -8,19 +8,19 @@ $session->requireAccess('compta', Membres::DROIT_ADMIN); if (f('save') && $form->check('facturation_config')) { - try { - $cfg->set('siret_asso', f('siret_asso')); - $cfg->set('validate_cp', f('validate_cp')); - $cfg->set('unique_client_name', f('unique_name')); - $cfg->set('footer', f('footer')); + try { + $cfg->set('siret_asso', f('siret_asso')); + $cfg->set('validate_cp', f('validate_cp')); + $cfg->set('unique_client_name', f('unique_name')); + $cfg->set('footer', f('footer')); - $cfg->save(); + $cfg->save(); - Utils::redirect(PLUGIN_URL . 'config.php?ok'); + Utils::redirect(PLUGIN_URL . 'config.php?ok'); } catch (UserException $e) { - $form->addError($e->getMessage()); + $form->addError($e->getMessage()); } } diff --git a/www/admin/facture.php b/www/admin/facture.php index 066f109..0a21aa7 100644 --- a/www/admin/facture.php +++ b/www/admin/facture.php @@ -26,20 +26,20 @@ $tpl->assign('moyen_paiement', $cats->getMoyenPaiement($f->moyen_paiement)); try { - if ($f->receveur_membre) - { - $c = $membres->get($f->receveur_id); - foreach(['ville','code_postal','adresse'] as $v) - { - if($c->$v == '') - { - $c->$v = '[A RENSEIGNER DANS LA FICHE MEMBRE]'; - } - } + if ($f->receveur_membre) + { + $c = $membres->get($f->receveur_id); + foreach(['ville','code_postal','adresse'] as $v) + { + if($c->$v == '') + { + $c->$v = '[A RENSEIGNER DANS LA FICHE MEMBRE]'; + } + } } else { - $c = $client->get($f->receveur_id); + $c = $client->get($f->receveur_id); } $tpl->assign('facture', $f); @@ -47,11 +47,11 @@ try } catch(UserException $e) { - $form->addError("Pas de document correspondant à cet id trouvée."); + $form->addError("Pas de document correspondant à cet id trouvée."); } $tpl->assign('id', $id); $tpl->assign('footer', $cfg->get('footer')?:''); $tpl->assign('siret_asso', $cfg->get('siret_asso')?:''); -$tpl->display(PLUGIN_ROOT . '/templates/facture.tpl'); \ No newline at end of file +$tpl->display(PLUGIN_ROOT . '/templates/facture.tpl'); diff --git a/www/admin/facture_ajouter.php b/www/admin/facture_ajouter.php index 335dbbd..49c925b 100644 --- a/www/admin/facture_ajouter.php +++ b/www/admin/facture_ajouter.php @@ -14,78 +14,78 @@ $tpl->assign('moyen_paiement', f('moyen_paiement') ?: 'ES'); if (f('add')) { - $form->check('ajout_facture', [ - 'type' => 'required|in:facture,devis', - 'numero_facture' => 'required|string', - 'date_emission' => 'required|date', - 'date_echeance' => 'required|date', - // 'reglee' => '', - // 'archivee' => '', - 'base_receveur' => 'required|in:membre,client', - // 'client' => '', - // 'membre' => '', - 'moyen_paiement' => 'required|in:' . implode(',', array_keys($cats->listMoyensPaiement())), - 'designation' => 'array|required', - 'prix' => 'array|required' - ]); + $form->check('ajout_facture', [ + 'type' => 'required|in:facture,devis', + 'numero_facture' => 'required|string', + 'date_emission' => 'required|date', + 'date_echeance' => 'required|date', + // 'reglee' => '', + // 'archivee' => '', + 'base_receveur' => 'required|in:membre,client', + // 'client' => '', + // 'membre' => '', + 'moyen_paiement' => 'required|in:' . implode(',', array_keys($cats->listMoyensPaiement())), + 'designation' => 'array|required', + 'prix' => 'array|required' + ]); - if (!$form->hasErrors()) - { - try - { - if ( count(f('designation')) !== count(f('prix')) ) - { - throw new UserException('Nombre de désignations et de prix reçus différent.'); - } - - $truc = [ - 'numero' =>f('numero_facture'), - 'date_emission' => f('date_emission'), - 'date_echeance' => f('date_echeance'), - 'reglee' => f('reglee') == 'on'?1:0, - 'archivee' => f('archivee') == 'on'?1:0, - 'moyen_paiement' => f('moyen_paiement'), - 'toto' => 0 - ]; - - if (f('type') == 'facture') - { - $truc['type_facture'] = 1; - } - elseif (f('type') == 'devis') - { - $truc['type_facture'] = 0; - } + if (!$form->hasErrors()) + { + try + { + if ( count(f('designation')) !== count(f('prix')) ) + { + throw new UserException('Nombre de désignations et de prix reçus différent.'); + } - foreach(f('designation') as $k=>$value) - { - $truc['contenu'][$k]['designation'] = $value; - $truc['contenu'][$k]['prix'] = f('prix')[$k]; - $truc['toto'] += f('prix')[$k]; - } - $truc['total'] = $truc['toto']; - unset($truc['toto']); - - if (f('base_receveur') == 'client') - { - $truc['receveur_membre'] = 0; - $truc['receveur_id'] = f('client'); - } - elseif (f('base_receveur') == 'membre') - { - $truc['receveur_membre'] = 1; - $truc['receveur_id'] = f('membre'); - } + $truc = [ + 'numero' =>f('numero_facture'), + 'date_emission' => f('date_emission'), + 'date_echeance' => f('date_echeance'), + 'reglee' => f('reglee') == 'on'?1:0, + 'archivee' => f('archivee') == 'on'?1:0, + 'moyen_paiement' => f('moyen_paiement'), + 'toto' => 0 + ]; - $id = $facture->add($truc); + if (f('type') == 'facture') + { + $truc['type_facture'] = 1; + } + elseif (f('type') == 'devis') + { + $truc['type_facture'] = 0; + } - Utils::redirect(PLUGIN_URL . 'facture.php?id='.(int)$id); + foreach(f('designation') as $k=>$value) + { + $truc['contenu'][$k]['designation'] = $value; + $truc['contenu'][$k]['prix'] = f('prix')[$k]; + $truc['toto'] += f('prix')[$k]; + } + $truc['total'] = $truc['toto']; + unset($truc['toto']); - } - catch(UserException $e) - { - $form->addError($e->getMessage()); - } + if (f('base_receveur') == 'client') + { + $truc['receveur_membre'] = 0; + $truc['receveur_id'] = f('client'); + } + elseif (f('base_receveur') == 'membre') + { + $truc['receveur_membre'] = 1; + $truc['receveur_id'] = f('membre'); + } + + $id = $facture->add($truc); + + Utils::redirect(PLUGIN_URL . 'facture.php?id='.(int)$id); + + } + catch(UserException $e) + { + $form->addError($e->getMessage()); + } } } @@ -119,4 +119,4 @@ $tpl->assign('prix', $prix); $tpl->assign('membres', (array)DB::getInstance()->get('SELECT id, nom FROM membres WHERE id_categorie != -2 NOT IN (SELECT id FROM membres_categories WHERE cacher = 1);')); $tpl->assign('clients', $client->listAll()); -$tpl->display(PLUGIN_ROOT . '/templates/facture_ajouter.tpl'); \ No newline at end of file +$tpl->display(PLUGIN_ROOT . '/templates/facture_ajouter.tpl'); diff --git a/www/admin/facture_modifier.php b/www/admin/facture_modifier.php index 8769b48..7765f5b 100644 --- a/www/admin/facture_modifier.php +++ b/www/admin/facture_modifier.php @@ -26,78 +26,78 @@ $tpl->assign('moyen_paiement', f('moyen_paiement') ?: $f->moyen_paiement); if(f('save')) { $form->check('modifier_facture', [ - 'type' => 'required|in:facture,devis', - 'numero_facture' => 'required|string', - 'date_emission' => 'required|date', - 'date_echeance' => 'required|date', - // 'reglee' => '', - // 'archivee' => '', - 'base_receveur' => 'required|in:membre,client', - // 'client' => '', - // 'membre' => '', - 'moyen_paiement' => 'required|in:' . implode(',', array_keys($cats->listMoyensPaiement())), - 'designation' => 'array|required', - 'prix' => 'array|required' + 'type' => 'required|in:facture,devis', + 'numero_facture' => 'required|string', + 'date_emission' => 'required|date', + 'date_echeance' => 'required|date', + // 'reglee' => '', + // 'archivee' => '', + 'base_receveur' => 'required|in:membre,client', + // 'client' => '', + // 'membre' => '', + 'moyen_paiement' => 'required|in:' . implode(',', array_keys($cats->listMoyensPaiement())), + 'designation' => 'array|required', + 'prix' => 'array|required' ]); - + if (!$form->hasErrors()) { - - try - { - if ( count(f('designation')) !== count(f('prix')) ) - { - throw new UserException('Nombre de désignations et de prix reçus différent.'); - } - - $truc = [ - 'numero' => f('numero_facture'), - 'date_emission' => f('date_emission'), - 'date_echeance' => f('date_echeance'), - 'reglee' => f('reglee') == 'on'?1:0, - 'archivee' => f('archivee') == 'on'?1:0, - 'moyen_paiement' => f('moyen_paiement'), - 'toto' => 0 - ]; - - if (f('type') == 'facture') - { - $truc['type_facture'] = 1; - } - elseif (f('type') == 'devis') - { - $truc['type_facture'] = 0; - } - foreach(f('designation') as $k=>$value) - { - $truc['contenu'][$k]['designation'] = $value; - $truc['contenu'][$k]['prix'] = f('prix')[$k]; - $truc['toto'] += f('prix')[$k]; - } - $truc['total'] = $truc['toto']; - unset($truc['toto']); - - if (f('base_receveur') == 'client') - { - $truc['receveur_membre'] = 0; - $truc['receveur_id'] = f('client'); - } - elseif (f('base_receveur') == 'membre') - { - $truc['receveur_membre'] = 1; - $truc['receveur_id'] = f('membre'); - } + try + { + if ( count(f('designation')) !== count(f('prix')) ) + { + throw new UserException('Nombre de désignations et de prix reçus différent.'); + } - $r = $facture->edit($id, $truc); + $truc = [ + 'numero' => f('numero_facture'), + 'date_emission' => f('date_emission'), + 'date_echeance' => f('date_echeance'), + 'reglee' => f('reglee') == 'on'?1:0, + 'archivee' => f('archivee') == 'on'?1:0, + 'moyen_paiement' => f('moyen_paiement'), + 'toto' => 0 + ]; - Utils::redirect(PLUGIN_URL . 'facture.php?id='.(int)$id); + if (f('type') == 'facture') + { + $truc['type_facture'] = 1; + } + elseif (f('type') == 'devis') + { + $truc['type_facture'] = 0; + } - } - catch(UserException $e) - { - $form->addError($e->getMessage()); - } + foreach(f('designation') as $k=>$value) + { + $truc['contenu'][$k]['designation'] = $value; + $truc['contenu'][$k]['prix'] = f('prix')[$k]; + $truc['toto'] += f('prix')[$k]; + } + $truc['total'] = $truc['toto']; + unset($truc['toto']); + + if (f('base_receveur') == 'client') + { + $truc['receveur_membre'] = 0; + $truc['receveur_id'] = f('client'); + } + elseif (f('base_receveur') == 'membre') + { + $truc['receveur_membre'] = 1; + $truc['receveur_id'] = f('membre'); + } + + $r = $facture->edit($id, $truc); + + Utils::redirect(PLUGIN_URL . 'facture.php?id='.(int)$id); + + } + catch(UserException $e) + { + $form->addError($e->getMessage()); + } } } diff --git a/www/admin/facture_pdf.php b/www/admin/facture_pdf.php index b546904..e145275 100644 --- a/www/admin/facture_pdf.php +++ b/www/admin/facture_pdf.php @@ -49,8 +49,8 @@ catch(UserException $e) $pdf = new \Mpdf\Mpdf([ 'default_font_size' => 10, - 'default_font' => 'dejavusans', - // 'tempDir' => PLUGINS_ROOT . '/mpdf-tmp/' + 'default_font' => 'dejavusans', + // 'tempDir' => PLUGINS_ROOT . '/mpdf-tmp/' ]); $pdf->SetAuthor($config->get('nom_asso')); @@ -61,20 +61,20 @@ $emission = date('d/m/Y' ,$f->date_emission); $pdf->SetTitle($doc.' - '.$emission); $asso = - // 'Émis par :

'. - ''.$config->get('nom_asso')."
". - str_replace("\n", '
', $config->get('adresse_asso'))."
". - (($t = $cfg->get('siret_asso'))?"SIRET : $t
":''). - (($t = $config->get('email_asso'))?"Email : $t
":''). - (($t = $config->get('site_asso'))?"Site web : $t
":''); + // 'Émis par :

'. + ''.$config->get('nom_asso')."
". + str_replace("\n", '
', $config->get('adresse_asso'))."
". + (($t = $cfg->get('siret_asso'))?"SIRET : $t
":''). + (($t = $config->get('email_asso'))?"Email : $t
":''). + (($t = $config->get('site_asso'))?"Site web : $t
":''); $receveur = - 'Adressé à :

'. - ''.$c->nom.'
'. - $c->adresse."
". - $c->code_postal.' '.$c->ville."
". - (($t = $c->email)?"Email : $t
":''). - (($t = $c->telephone)?"Tel : $t
":''); + 'Adressé à :

'. + ''.$c->nom.'
'. + $c->adresse."
". + $c->code_postal.' '.$c->ville."
". + (($t = $c->email)?"Email : $t
":''). + (($t = $c->telephone)?"Tel : $t
":''); $total = number_format($f->total, 2, ',', ' '); $echeance = date('d/m/Y' ,$f->date_echeance); @@ -88,58 +88,58 @@ echo << .titre { - text-align: center; - font-size: 8pt; - position: absolute; - top: 6mm; - width: 180mm; + text-align: center; + font-size: 8pt; + position: absolute; + top: 6mm; + width: 180mm; } .h2 { - margin: 25 20 0 20; + margin: 25 20 0 20; } .h2 span { - font-weight: bold; - font-size: 15pt; + font-weight: bold; + font-size: 15pt; } hr { - margin: 5 0 20 0; + margin: 5 0 20 0; } .adressage { - font-size: 11pt; + font-size: 11pt; } .adressage td { - width: 95mm; - vertical-align: top; + width: 95mm; + vertical-align: top; } .contenu td, .contenu th { - vertical-align: top; - padding: 8 10; - margin : 0; - border-collapse: collapse; + vertical-align: top; + padding: 8 10; + margin : 0; + border-collapse: collapse; } .contenu tr th, .contenu tr td { - text-align: right; - width: 16%; + text-align: right; + width: 16%; } .contenu tr td:nth-child(1), .contenu tr th:nth-child(1) { - text-align: left; - width: 84%; + text-align: left; + width: 84%; } .contenu thead tr, .contenu tfoot tr { - background-color: #CCE; - border: 10px solid black; + background-color: #CCE; + border: 10px solid black; } .contenu tbody tr:nth-child(even) { - background-color: #DDF; + background-color: #DDF; } footer { - position: absolute; - bottom: 0; - margin: 14mm 0; + position: absolute; + bottom: 0; + margin: 14mm 0; } @@ -152,8 +152,8 @@ $doc - Émis le $emission - - + +
$asso$receveur$asso$receveur
@@ -166,14 +166,14 @@ $doc - Émis le $emission - - - - + + + + EOF; @@ -181,21 +181,21 @@ EOF; $i = 1; foreach($f->contenu as $k=>$v) { - echo ''; + echo ''; $i++; } echo << - - - - + + + +
- Désignations - - Prix -
+ Désignations + + Prix +
'; - echo str_replace("\n", '
', $v['designation']); - echo '
'; - echo number_format($v['prix'], 2, ',', ' ').'€'; - echo '
'; + echo str_replace("\n", '
', $v['designation']); + echo '
'; + echo number_format($v['prix'], 2, ',', ' ').'€'; + echo '

Total

Net à payer
$total € (HT)

Total

Net à payer
$total € (HT)
@@ -209,7 +209,7 @@ echo << - $footer + $footer

@@ -221,13 +221,13 @@ $pdf->WriteHTML($html); if(qg('d') !== null) { - $t = \Mpdf\Output\Destination::DOWNLOAD; + $t = \Mpdf\Output\Destination::DOWNLOAD; } else { - $t = \Mpdf\Output\Destination::INLINE; + $t = \Mpdf\Output\Destination::INLINE; } $pdf->Output( - ($f->type_facture?'Facture':'Devis').' '.$f->numero - . ' du '.date('d-m-Y' ,$f->date_emission) - .'.pdf', $t); + ($f->type_facture?'Facture':'Devis').' '.$f->numero + . ' du '.date('d-m-Y' ,$f->date_emission) + .'.pdf', $t); diff --git a/www/admin/index.php b/www/admin/index.php index 07402a4..0892d7f 100644 --- a/www/admin/index.php +++ b/www/admin/index.php @@ -13,8 +13,8 @@ $tpl->assign('moyens_paiement', $cats->listMoyensPaiement()); foreach($factures = $facture->listAll() as $k=>$f) { - $factures[$k]->receveur = $f->receveur_membre? $membres->get($f->receveur_id) : $client->get($f->receveur_id); - $factures[$k]->moyen_paiement = $cats->getMoyenPaiement($f->moyen_paiement); + $factures[$k]->receveur = $f->receveur_membre? $membres->get($f->receveur_id) : $client->get($f->receveur_id); + $factures[$k]->moyen_paiement = $cats->getMoyenPaiement($f->moyen_paiement); } $tpl->assign('factures', $factures);