Fix indent ++
This commit is contained in:
parent
d45f81a515
commit
541c5820bc
12
install.php
12
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();
|
|
@ -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));
|
||||
}
|
||||
|
|
155
lib/Config.php
155
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();
|
||||
// $db->commit();
|
||||
|
||||
$this->modified = [];
|
||||
$this->modified = [];
|
||||
|
||||
return true;
|
||||
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->fields_types))
|
||||
{
|
||||
throw new \OutOfBoundsException('Ce champ est inconnu.');
|
||||
}
|
||||
|
||||
if (!array_key_exists($key, $this->config))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
if (!array_key_exists($key, $this->config))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
return $this->config[$key];
|
||||
return $this->config[$key];
|
||||
}
|
||||
|
||||
public function getFieldsTypes()
|
||||
{
|
||||
return $this->fields_types;
|
||||
return $this->fields_types;
|
||||
}
|
||||
|
||||
public function getConfig()
|
||||
{
|
||||
return $this->config;
|
||||
return $this->config;
|
||||
}
|
||||
}
|
|
@ -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
|
||||
|
@ -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,9 +200,9 @@ 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)
|
||||
{
|
||||
|
|
|
@ -14,23 +14,23 @@ $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());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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'
|
||||
]
|
||||
);
|
||||
|
||||
|
|
|
@ -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());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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,7 +47,7 @@ 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);
|
||||
|
|
|
@ -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.');
|
||||
}
|
||||
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
|
||||
];
|
||||
$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 (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']);
|
||||
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');
|
||||
}
|
||||
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);
|
||||
$id = $facture->add($truc);
|
||||
|
||||
Utils::redirect(PLUGIN_URL . 'facture.php?id='.(int)$id);
|
||||
Utils::redirect(PLUGIN_URL . 'facture.php?id='.(int)$id);
|
||||
|
||||
}
|
||||
catch(UserException $e)
|
||||
{
|
||||
$form->addError($e->getMessage());
|
||||
}
|
||||
}
|
||||
catch(UserException $e)
|
||||
{
|
||||
$form->addError($e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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.');
|
||||
}
|
||||
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
|
||||
];
|
||||
$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 (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']);
|
||||
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');
|
||||
}
|
||||
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);
|
||||
$r = $facture->edit($id, $truc);
|
||||
|
||||
Utils::redirect(PLUGIN_URL . 'facture.php?id='.(int)$id);
|
||||
Utils::redirect(PLUGIN_URL . 'facture.php?id='.(int)$id);
|
||||
|
||||
}
|
||||
catch(UserException $e)
|
||||
{
|
||||
$form->addError($e->getMessage());
|
||||
}
|
||||
}
|
||||
catch(UserException $e)
|
||||
{
|
||||
$form->addError($e->getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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 :<br><br>'.
|
||||
'<b>'.$config->get('nom_asso')."</b><br>".
|
||||
str_replace("\n", '<br>', $config->get('adresse_asso'))."<br>".
|
||||
(($t = $cfg->get('siret_asso'))?"SIRET : $t<br>":'').
|
||||
(($t = $config->get('email_asso'))?"Email : $t<br>":'').
|
||||
(($t = $config->get('site_asso'))?"Site web : $t<br>":'');
|
||||
// 'Émis par :<br><br>'.
|
||||
'<b>'.$config->get('nom_asso')."</b><br>".
|
||||
str_replace("\n", '<br>', $config->get('adresse_asso'))."<br>".
|
||||
(($t = $cfg->get('siret_asso'))?"SIRET : $t<br>":'').
|
||||
(($t = $config->get('email_asso'))?"Email : $t<br>":'').
|
||||
(($t = $config->get('site_asso'))?"Site web : $t<br>":'');
|
||||
|
||||
$receveur =
|
||||
'Adressé à :<br><br>'.
|
||||
'<b>'.$c->nom.'</b><br>'.
|
||||
$c->adresse."<br>".
|
||||
$c->code_postal.' '.$c->ville."<br>".
|
||||
(($t = $c->email)?"Email : $t<br>":'').
|
||||
(($t = $c->telephone)?"Tel : $t<br>":'');
|
||||
'Adressé à :<br><br>'.
|
||||
'<b>'.$c->nom.'</b><br>'.
|
||||
$c->adresse."<br>".
|
||||
$c->code_postal.' '.$c->ville."<br>".
|
||||
(($t = $c->email)?"Email : $t<br>":'').
|
||||
(($t = $c->telephone)?"Tel : $t<br>":'');
|
||||
|
||||
$total = number_format($f->total, 2, ',', ' ');
|
||||
$echeance = date('d/m/Y' ,$f->date_echeance);
|
||||
|
@ -88,58 +88,58 @@ echo <<<EOF
|
|||
|
||||
<style>
|
||||
.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;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
@ -152,8 +152,8 @@ $doc - Émis le $emission
|
|||
|
||||
<table class="adressage">
|
||||
<tr>
|
||||
<td>$asso</td>
|
||||
<td>$receveur</td>
|
||||
<td>$asso</td>
|
||||
<td>$receveur</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
@ -166,14 +166,14 @@ $doc - Émis le $emission
|
|||
|
||||
<table class="contenu">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>
|
||||
Désignations
|
||||
</th>
|
||||
<th>
|
||||
Prix
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
Désignations
|
||||
</th>
|
||||
<th>
|
||||
Prix
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
EOF;
|
||||
|
@ -181,21 +181,21 @@ EOF;
|
|||
$i = 1;
|
||||
foreach($f->contenu as $k=>$v)
|
||||
{
|
||||
echo '<tr><td>';
|
||||
echo str_replace("\n", '<br>', $v['designation']);
|
||||
echo '</td><td>';
|
||||
echo number_format($v['prix'], 2, ',', ' ').'€';
|
||||
echo '</td></tr>';
|
||||
echo '<tr><td>';
|
||||
echo str_replace("\n", '<br>', $v['designation']);
|
||||
echo '</td><td>';
|
||||
echo number_format($v['prix'], 2, ',', ' ').'€';
|
||||
echo '</td></tr>';
|
||||
$i++;
|
||||
}
|
||||
|
||||
echo <<<EOF
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td><h3>Total</h3>Net à payer</td>
|
||||
<td><b>$total €</b> (HT)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><h3>Total</h3>Net à payer</td>
|
||||
<td><b>$total €</b> (HT)</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
|
||||
|
@ -209,7 +209,7 @@ echo <<<EOF
|
|||
Moyen de paiement : $moyen_paiement
|
||||
|
||||
<p>
|
||||
$footer
|
||||
$footer
|
||||
</p>
|
||||
|
||||
</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);
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue