Fix indent ++
This commit is contained in:
parent
d45f81a515
commit
541c5820bc
14
install.php
14
install.php
|
@ -3,15 +3,15 @@ namespace Garradin;
|
||||||
|
|
||||||
$db = DB::getInstance();
|
$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 = new Plugin\Facturation\Config();
|
||||||
$cfg->set('footer', '[EXEMPLE]
|
$cfg->set('footer', '[EXEMPLE]
|
||||||
Association exonérée des impôts commerciaux
|
Association exonérée des impôts commerciaux
|
||||||
En cas de retard de paiement, indemnité forfaitaire légale pour frais de recouvrement : 40,00 €
|
En cas de retard de paiement, indemnité forfaitaire légale pour frais de recouvrement : 40,00 €
|
||||||
[Coordonnées bancaires]
|
[Coordonnées bancaires]
|
||||||
Association enregistrée en préfecture de XXX au numéro YYY
|
Association enregistrée en préfecture de XXX au numéro YYY
|
||||||
');
|
');
|
||||||
$cfg->set('validate_cp', true);
|
$cfg->set('validate_cp', true);
|
||||||
|
|
||||||
$cfg->save();
|
$cfg->save();
|
||||||
|
|
|
@ -41,7 +41,7 @@ class Client
|
||||||
{
|
{
|
||||||
throw new UserException('Le champs '.$key.' doit être renseigné.');
|
throw new UserException('Le champs '.$key.' doit être renseigné.');
|
||||||
}
|
}
|
||||||
|
|
||||||
if($key == 'ville')
|
if($key == 'ville')
|
||||||
{
|
{
|
||||||
$data[$key] = mb_strtoupper($data[$key]);
|
$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]))
|
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")
|
elseif ($key == "telephone")
|
||||||
|
@ -80,26 +80,26 @@ class Client
|
||||||
|
|
||||||
$this->_checkFields($data);
|
$this->_checkFields($data);
|
||||||
|
|
||||||
if($this->config['unique_client_name'] && isset($data['nom']) && $db->test('plugin_facturation_clients', 'nom = ? COLLATE NOCASE', $data['nom']))
|
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.');
|
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();
|
return $db->lastInsertRowId();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function get($id)
|
public function get($id)
|
||||||
{
|
{
|
||||||
$db = DB::getInstance();
|
$db = DB::getInstance();
|
||||||
|
|
||||||
return $db->first('SELECT *, strftime(\'%s\', date_creation) AS date_creation
|
return $db->first('SELECT *, strftime(\'%s\', date_creation) AS date_creation
|
||||||
FROM plugin_facturation_clients WHERE id = ? LIMIT 1;', (int)$id);
|
FROM plugin_facturation_clients WHERE id = ? LIMIT 1;', (int)$id);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function listAll()
|
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 = [])
|
public function edit($id, $data = [])
|
||||||
|
@ -108,10 +108,10 @@ class Client
|
||||||
|
|
||||||
$this->_checkFields($data);
|
$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))
|
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.');
|
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));
|
return $db->update('plugin_facturation_clients', $data, $db->where('id', (int)$id));
|
||||||
}
|
}
|
||||||
|
@ -128,7 +128,7 @@ class Client
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return DB::getInstance()->delete('plugin_facturation_clients', 'id = '. (int)$id);
|
return DB::getInstance()->delete('plugin_facturation_clients', 'id = '. (int)$id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
167
lib/Config.php
167
lib/Config.php
|
@ -78,113 +78,112 @@ class Config
|
||||||
}
|
}
|
||||||
|
|
||||||
public function save()
|
public function save()
|
||||||
{
|
{
|
||||||
if (empty($this->modified))
|
if (empty($this->modified))
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
$values = [];
|
$values = [];
|
||||||
$db = DB::getInstance();
|
$db = DB::getInstance();
|
||||||
// $db->begin();
|
// $db->begin();
|
||||||
|
|
||||||
foreach ($this->modified as $key=>$modified)
|
foreach ($this->modified as $key=>$modified)
|
||||||
{
|
{
|
||||||
$value = $this->config[$key];
|
$value = $this->config[$key];
|
||||||
var_dump($value);
|
|
||||||
|
|
||||||
if (is_array($value))
|
if (is_array($value))
|
||||||
{
|
{
|
||||||
$value = implode(',', $value);
|
$value = implode(',', $value);
|
||||||
}
|
}
|
||||||
elseif (is_object($value))
|
elseif (is_object($value))
|
||||||
{
|
{
|
||||||
$value = (string) $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)
|
public function set($key, $value)
|
||||||
{
|
{
|
||||||
if (!array_key_exists($key, $this->fields_types))
|
if (!array_key_exists($key, $this->fields_types))
|
||||||
{
|
{
|
||||||
throw new \OutOfBoundsException('Ce champ est inconnu.');
|
throw new \OutOfBoundsException('Ce champ est inconnu.');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (is_array($this->fields_types[$key]))
|
if (is_array($this->fields_types[$key]))
|
||||||
{
|
{
|
||||||
$value = !empty($value) ? (array) $value : [];
|
$value = !empty($value) ? (array) $value : [];
|
||||||
}
|
}
|
||||||
elseif (is_int($this->fields_types[$key]))
|
elseif (is_int($this->fields_types[$key]))
|
||||||
{
|
{
|
||||||
$value = (int) $value;
|
$value = (int) $value;
|
||||||
}
|
}
|
||||||
elseif (is_float($this->fields_types[$key]))
|
elseif (is_float($this->fields_types[$key]))
|
||||||
{
|
{
|
||||||
$value = (float) $value;
|
$value = (float) $value;
|
||||||
}
|
}
|
||||||
elseif (is_bool($this->fields_types[$key]))
|
elseif (is_bool($this->fields_types[$key]))
|
||||||
{
|
{
|
||||||
$value = (bool) $value;
|
$value = (bool) $value;
|
||||||
}
|
}
|
||||||
elseif (is_string($this->fields_types[$key]))
|
elseif (is_string($this->fields_types[$key]))
|
||||||
{
|
{
|
||||||
$value = (string) $value;
|
$value = (string) $value;
|
||||||
}
|
}
|
||||||
|
|
||||||
// switch ($key)
|
// switch ($key)
|
||||||
// {
|
// {
|
||||||
// case 'siret_asso':
|
// case 'siret_asso':
|
||||||
// {
|
// {
|
||||||
// if (!trim($value))
|
// if (!trim($value))
|
||||||
// {
|
// {
|
||||||
// throw new UserException('Le nom de l\'association ne peut rester vide.');
|
// throw new UserException('Le nom de l\'association ne peut rester vide.');
|
||||||
// }
|
// }
|
||||||
// break;
|
// break;
|
||||||
// }
|
// }
|
||||||
// case 'footer':
|
// case 'footer':
|
||||||
// break;
|
// break;
|
||||||
// default:
|
// default:
|
||||||
// break;
|
// break;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
if (!isset($this->config[$key]) || $value !== $this->config[$key])
|
if (!isset($this->config[$key]) || $value !== $this->config[$key])
|
||||||
{
|
{
|
||||||
$this->config[$key] = $value;
|
$this->config[$key] = $value;
|
||||||
$this->modified[$key] = true;
|
$this->modified[$key] = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function get($key)
|
public function get($key)
|
||||||
{
|
{
|
||||||
if (!array_key_exists($key, $this->fields_types))
|
if (!array_key_exists($key, $this->fields_types))
|
||||||
{
|
{
|
||||||
throw new \OutOfBoundsException('Ce champ est inconnu.');
|
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->config))
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->config[$key];
|
||||||
|
}
|
||||||
|
|
||||||
public function getFieldsTypes()
|
public function getFieldsTypes()
|
||||||
{
|
{
|
||||||
return $this->fields_types;
|
return $this->fields_types;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getConfig()
|
public function getConfig()
|
||||||
{
|
{
|
||||||
return $this->config;
|
return $this->config;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,7 +34,7 @@ class Facture
|
||||||
{
|
{
|
||||||
throw new UserException("Clé inattendue : $k.");
|
throw new UserException("Clé inattendue : $k.");
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!is_array($data)){
|
if(!is_array($data)){
|
||||||
$datas[$k] = trim($data);
|
$datas[$k] = trim($data);
|
||||||
}
|
}
|
||||||
|
@ -46,49 +46,49 @@ class Facture
|
||||||
|
|
||||||
switch($k)
|
switch($k)
|
||||||
{
|
{
|
||||||
case 'type_facture':
|
case 'type_facture':
|
||||||
case 'receveur_membre':
|
case 'receveur_membre':
|
||||||
case 'reglee':
|
case 'reglee':
|
||||||
case 'archivee':
|
case 'archivee':
|
||||||
if ($datas[$k] != 1 && $datas[$k] != 0)
|
if ($datas[$k] != 1 && $datas[$k] != 0)
|
||||||
{
|
{
|
||||||
throw new UserException("$k est de valeur non-attendue ($data).");
|
throw new UserException("$k est de valeur non-attendue ($data).");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'receveur_id':
|
case 'receveur_id':
|
||||||
if (!is_numeric($datas[$k]) || $datas[$k] < 0 )
|
if (!is_numeric($datas[$k]) || $datas[$k] < 0 )
|
||||||
{
|
{
|
||||||
throw new UserException("L'id du receveur est non-attendu ($data).");
|
throw new UserException("L'id du receveur est non-attendu ($data).");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'date_emission':
|
case 'date_emission':
|
||||||
if (!strtotime($datas[$k]))
|
if (!strtotime($datas[$k]))
|
||||||
{
|
{
|
||||||
throw new UserException("La date d'émission est non-attendue ($data).");
|
throw new UserException("La date d'émission est non-attendue ($data).");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'date_echeance':
|
case 'date_echeance':
|
||||||
if (!strtotime($datas[$k]))
|
if (!strtotime($datas[$k]))
|
||||||
{
|
{
|
||||||
throw new UserException("La date d'émission est non-attendue ($data).");
|
throw new UserException("La date d'émission est non-attendue ($data).");
|
||||||
}
|
}
|
||||||
if (isset($datas['date_emission']) && (strtotime($datas[$k]) <= strtotime($datas['date_emission']) ) )
|
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).");
|
throw new UserException("La date d'échéance est antérieure ou égale à la date d'émission ($data).");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'moyen_paiement':
|
case 'moyen_paiement':
|
||||||
$cats = new \Garradin\Compta\Categories;
|
$cats = new \Garradin\Compta\Categories;
|
||||||
if(!array_key_exists($datas[$k], $cats->listMoyensPaiement()))
|
if(!array_key_exists($datas[$k], $cats->listMoyensPaiement()))
|
||||||
{
|
{
|
||||||
throw new UserException("Le moyen de paiement ne correspond pas à la liste interne ($data).");
|
throw new UserException("Le moyen de paiement ne correspond pas à la liste interne ($data).");
|
||||||
}
|
}
|
||||||
unset($cats);
|
unset($cats);
|
||||||
break;
|
break;
|
||||||
case 'contenu':
|
case 'contenu':
|
||||||
if(!is_array($datas[$k]) || empty($datas[$k]))
|
if(!is_array($datas[$k]) || empty($datas[$k]))
|
||||||
{
|
{
|
||||||
throw new UserException("Le contenu du document est vide ($data).");
|
throw new UserException("Le contenu du document est vide ($data).");
|
||||||
}
|
}
|
||||||
$total = 0;
|
$total = 0;
|
||||||
$vide = 1;
|
$vide = 1;
|
||||||
|
@ -110,10 +110,10 @@ class Facture
|
||||||
}
|
}
|
||||||
$datas[$k] = serialize($datas[$k]);
|
$datas[$k] = serialize($datas[$k]);
|
||||||
break;
|
break;
|
||||||
case 'total':
|
case 'total':
|
||||||
if(!isset($datas['contenu']))
|
if(!isset($datas['contenu']))
|
||||||
{
|
{
|
||||||
throw new UserException("Pas de contenu fourni pour vérifier le total.");
|
throw new UserException("Pas de contenu fourni pour vérifier le total.");
|
||||||
}
|
}
|
||||||
if ($total != $datas[$k])
|
if ($total != $datas[$k])
|
||||||
{
|
{
|
||||||
|
@ -132,15 +132,15 @@ class Facture
|
||||||
|
|
||||||
if(isset($data['numero']) && $db->test('plugin_facturation_factures', 'numero = ? COLLATE NOCASE', $data['numero']))
|
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);
|
$db->insert('plugin_facturation_factures', $data);
|
||||||
return $db->lastInsertRowId();
|
return $db->lastInsertRowId();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function get($id)
|
public function get($id)
|
||||||
{
|
{
|
||||||
$db = DB::getInstance();
|
$db = DB::getInstance();
|
||||||
|
|
||||||
$r = $db->first('SELECT *, strftime(\'%s\', date_emission) AS date_emission,
|
$r = $db->first('SELECT *, strftime(\'%s\', date_emission) AS date_emission,
|
||||||
strftime(\'%s\', date_echeance) AS date_echeance
|
strftime(\'%s\', date_echeance) AS date_echeance
|
||||||
|
@ -150,7 +150,7 @@ class Facture
|
||||||
{
|
{
|
||||||
throw new UserException("Pas de facture retournée avec cet id.");
|
throw new UserException("Pas de facture retournée avec cet id.");
|
||||||
}
|
}
|
||||||
|
|
||||||
$r->contenu = unserialize($r->contenu);
|
$r->contenu = unserialize($r->contenu);
|
||||||
|
|
||||||
return $r;
|
return $r;
|
||||||
|
@ -161,7 +161,7 @@ class Facture
|
||||||
$r = (array)DB::getInstance()->get('SELECT *, strftime(\'%s\', date_emission) AS date_emission,
|
$r = (array)DB::getInstance()->get('SELECT *, strftime(\'%s\', date_emission) AS date_emission,
|
||||||
strftime(\'%s\', date_echeance) AS date_echeance
|
strftime(\'%s\', date_echeance) AS date_echeance
|
||||||
FROM plugin_facturation_factures');
|
FROM plugin_facturation_factures');
|
||||||
|
|
||||||
foreach ($r as $e)
|
foreach ($r as $e)
|
||||||
{
|
{
|
||||||
$e->contenu = unserialize((string)$e->contenu);
|
$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))
|
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));
|
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,
|
$r = (array)DB::getInstance()->get('SELECT *, strftime(\'%s\', date_emission) AS date_emission,
|
||||||
strftime(\'%s\', date_echeance) AS date_echeance
|
strftime(\'%s\', date_echeance) AS date_echeance
|
||||||
FROM plugin_facturation_factures
|
FROM plugin_facturation_factures
|
||||||
WHERE receveur_membre = ? AND receveur_id = ?', (int)$base, (int)$id);
|
WHERE receveur_membre = ? AND receveur_id = ?', (int)$base, (int)$id);
|
||||||
|
|
||||||
foreach ($r as $e)
|
foreach ($r as $e)
|
||||||
{
|
{
|
||||||
$e->contenu = unserialize((string)$e->contenu);
|
$e->contenu = unserialize((string)$e->contenu);
|
||||||
}
|
}
|
||||||
|
|
||||||
return empty($r)?false:$r;
|
return empty($r)?false:$r;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3,4 +3,4 @@ namespace Garradin;
|
||||||
|
|
||||||
$db = DB::getInstance();
|
$db = DB::getInstance();
|
||||||
|
|
||||||
$db->exec(file_get_contents(dirname(__FILE__) . "/data/schema_remove.sql"));
|
$db->exec(file_get_contents(dirname(__FILE__) . "/data/schema_remove.sql"));
|
||||||
|
|
|
@ -9,4 +9,4 @@ use Garradin\Plugin\Facturation\Client;
|
||||||
$cfg = Config::getInstance();
|
$cfg = Config::getInstance();
|
||||||
|
|
||||||
$client = new Client;
|
$client = new Client;
|
||||||
$facture = new Facture;
|
$facture = new Facture;
|
||||||
|
|
|
@ -19,4 +19,4 @@ if (!$client)
|
||||||
|
|
||||||
$tpl->assign('docs', $facture->listUserDoc(0, $id));
|
$tpl->assign('docs', $facture->listUserDoc(0, $id));
|
||||||
$tpl->assign('client', $client);
|
$tpl->assign('client', $client);
|
||||||
$tpl->display(PLUGIN_ROOT . '/templates/client.tpl');
|
$tpl->display(PLUGIN_ROOT . '/templates/client.tpl');
|
||||||
|
|
|
@ -26,7 +26,7 @@ if(f('save'))
|
||||||
'telephone' => 'string',
|
'telephone' => 'string',
|
||||||
'email' => 'email'
|
'email' => 'email'
|
||||||
]);
|
]);
|
||||||
|
|
||||||
if (!$form->hasErrors())
|
if (!$form->hasErrors())
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
@ -39,7 +39,7 @@ if(f('save'))
|
||||||
'telephone' => f('telephone'),
|
'telephone' => f('telephone'),
|
||||||
'email' => f('email')
|
'email' => f('email')
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$r ? Utils::redirect(PLUGIN_URL . 'client.php?id='.(int)$id):'';
|
$r ? Utils::redirect(PLUGIN_URL . 'client.php?id='.(int)$id):'';
|
||||||
}
|
}
|
||||||
catch (UserException $e)
|
catch (UserException $e)
|
||||||
|
|
|
@ -14,27 +14,27 @@ $c = $client->get($id);
|
||||||
|
|
||||||
if (!$client)
|
if (!$client)
|
||||||
{
|
{
|
||||||
throw new UserException("Ce client n'existe pas.");
|
throw new UserException("Ce client n'existe pas.");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (f('delete'))
|
if (f('delete'))
|
||||||
{
|
{
|
||||||
$form->check('delete_client_'.$c->id);
|
$form->check('delete_client_'.$c->id);
|
||||||
|
|
||||||
if (!$form->hasErrors())
|
if (!$form->hasErrors())
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
var_dump($client->delete($c->id));
|
$client->delete($c->id);
|
||||||
Utils::redirect(PLUGIN_URL . 'clients.php');
|
Utils::redirect(PLUGIN_URL . 'clients.php');
|
||||||
}
|
}
|
||||||
catch (UserException $e)
|
catch (UserException $e)
|
||||||
{
|
{
|
||||||
$form->addError($e->getMessage());
|
$form->addError($e->getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$tpl->assign('deletable', $client->isDeletable($id));
|
$tpl->assign('deletable', $client->isDeletable($id));
|
||||||
$tpl->assign('client', $client->get($id));
|
$tpl->assign('client', $client->get($id));
|
||||||
$tpl->display(PLUGIN_ROOT . '/templates/client_supprimer.tpl');
|
$tpl->display(PLUGIN_ROOT . '/templates/client_supprimer.tpl');
|
||||||
|
|
|
@ -8,29 +8,29 @@ $session->requireAccess('compta', Membres::DROIT_ACCES);
|
||||||
|
|
||||||
if(f('add'))
|
if(f('add'))
|
||||||
{
|
{
|
||||||
$form->check('add_client', [
|
$form->check('add_client', [
|
||||||
'nom' => 'required|string',
|
'nom' => 'required|string',
|
||||||
'adresse' => 'required|string',
|
'adresse' => 'required|string',
|
||||||
'code_postal' => 'required|string',
|
'code_postal' => 'required|string',
|
||||||
'ville' => 'required|string',
|
'ville' => 'required|string',
|
||||||
'telephone' => 'string',
|
'telephone' => 'string',
|
||||||
'email' => 'email'
|
'email' => 'email'
|
||||||
]);
|
]);
|
||||||
|
|
||||||
if (!$form->hasErrors())
|
if (!$form->hasErrors())
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
$id = $client->add([
|
$id = $client->add([
|
||||||
'nom' => f('nom'),
|
'nom' => f('nom'),
|
||||||
'adresse' => f('adresse'),
|
'adresse' => f('adresse'),
|
||||||
'code_postal' => f('code_postal'),
|
'code_postal' => f('code_postal'),
|
||||||
'ville' => f('ville'),
|
'ville' => f('ville'),
|
||||||
'telephone' => f('telephone'),
|
'telephone' => f('telephone'),
|
||||||
'email' => f('email')
|
'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)
|
catch (UserException $e)
|
||||||
{
|
{
|
||||||
|
@ -40,17 +40,16 @@ if(f('add'))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// var_dump($client->listAll());
|
|
||||||
$tpl->assign('clients', $client->listAll());
|
$tpl->assign('clients', $client->listAll());
|
||||||
$tpl->assign('champs',
|
$tpl->assign('champs',
|
||||||
[
|
[
|
||||||
'id' => 'id',
|
'id' => 'id',
|
||||||
'nom' => 'Nom',
|
'nom' => 'Nom',
|
||||||
'adresse' => 'Adresse',
|
'adresse' => 'Adresse',
|
||||||
'code_postal' => 'Code postal',
|
'code_postal' => 'Code postal',
|
||||||
'ville' => 'Ville',
|
'ville' => 'Ville',
|
||||||
'telephone' => 'Numéro de téléphone',
|
'telephone' => 'Numéro de téléphone',
|
||||||
'email' => 'Adresse mail'
|
'email' => 'Adresse mail'
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -8,19 +8,19 @@ $session->requireAccess('compta', Membres::DROIT_ADMIN);
|
||||||
|
|
||||||
if (f('save') && $form->check('facturation_config'))
|
if (f('save') && $form->check('facturation_config'))
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
$cfg->set('siret_asso', f('siret_asso'));
|
$cfg->set('siret_asso', f('siret_asso'));
|
||||||
$cfg->set('validate_cp', f('validate_cp'));
|
$cfg->set('validate_cp', f('validate_cp'));
|
||||||
$cfg->set('unique_client_name', f('unique_name'));
|
$cfg->set('unique_client_name', f('unique_name'));
|
||||||
$cfg->set('footer', f('footer'));
|
$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)
|
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
|
try
|
||||||
{
|
{
|
||||||
if ($f->receveur_membre)
|
if ($f->receveur_membre)
|
||||||
{
|
{
|
||||||
$c = $membres->get($f->receveur_id);
|
$c = $membres->get($f->receveur_id);
|
||||||
foreach(['ville','code_postal','adresse'] as $v)
|
foreach(['ville','code_postal','adresse'] as $v)
|
||||||
{
|
{
|
||||||
if($c->$v == '')
|
if($c->$v == '')
|
||||||
{
|
{
|
||||||
$c->$v = '[A RENSEIGNER DANS LA FICHE MEMBRE]';
|
$c->$v = '[A RENSEIGNER DANS LA FICHE MEMBRE]';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$c = $client->get($f->receveur_id);
|
$c = $client->get($f->receveur_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
$tpl->assign('facture', $f);
|
$tpl->assign('facture', $f);
|
||||||
|
@ -47,11 +47,11 @@ try
|
||||||
}
|
}
|
||||||
catch(UserException $e)
|
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('id', $id);
|
||||||
$tpl->assign('footer', $cfg->get('footer')?:'');
|
$tpl->assign('footer', $cfg->get('footer')?:'');
|
||||||
$tpl->assign('siret_asso', $cfg->get('siret_asso')?:'');
|
$tpl->assign('siret_asso', $cfg->get('siret_asso')?:'');
|
||||||
|
|
||||||
$tpl->display(PLUGIN_ROOT . '/templates/facture.tpl');
|
$tpl->display(PLUGIN_ROOT . '/templates/facture.tpl');
|
||||||
|
|
|
@ -14,78 +14,78 @@ $tpl->assign('moyen_paiement', f('moyen_paiement') ?: 'ES');
|
||||||
|
|
||||||
if (f('add'))
|
if (f('add'))
|
||||||
{
|
{
|
||||||
$form->check('ajout_facture', [
|
$form->check('ajout_facture', [
|
||||||
'type' => 'required|in:facture,devis',
|
'type' => 'required|in:facture,devis',
|
||||||
'numero_facture' => 'required|string',
|
'numero_facture' => 'required|string',
|
||||||
'date_emission' => 'required|date',
|
'date_emission' => 'required|date',
|
||||||
'date_echeance' => 'required|date',
|
'date_echeance' => 'required|date',
|
||||||
// 'reglee' => '',
|
// 'reglee' => '',
|
||||||
// 'archivee' => '',
|
// 'archivee' => '',
|
||||||
'base_receveur' => 'required|in:membre,client',
|
'base_receveur' => 'required|in:membre,client',
|
||||||
// 'client' => '',
|
// 'client' => '',
|
||||||
// 'membre' => '',
|
// 'membre' => '',
|
||||||
'moyen_paiement' => 'required|in:' . implode(',', array_keys($cats->listMoyensPaiement())),
|
'moyen_paiement' => 'required|in:' . implode(',', array_keys($cats->listMoyensPaiement())),
|
||||||
'designation' => 'array|required',
|
'designation' => 'array|required',
|
||||||
'prix' => 'array|required'
|
'prix' => 'array|required'
|
||||||
]);
|
]);
|
||||||
|
|
||||||
if (!$form->hasErrors())
|
if (!$form->hasErrors())
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if ( count(f('designation')) !== count(f('prix')) )
|
if ( count(f('designation')) !== count(f('prix')) )
|
||||||
{
|
{
|
||||||
throw new UserException('Nombre de désignations et de prix reçus différent.');
|
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 = [
|
||||||
{
|
'numero' =>f('numero_facture'),
|
||||||
$truc['contenu'][$k]['designation'] = $value;
|
'date_emission' => f('date_emission'),
|
||||||
$truc['contenu'][$k]['prix'] = f('prix')[$k];
|
'date_echeance' => f('date_echeance'),
|
||||||
$truc['toto'] += f('prix')[$k];
|
'reglee' => f('reglee') == 'on'?1:0,
|
||||||
}
|
'archivee' => f('archivee') == 'on'?1:0,
|
||||||
$truc['total'] = $truc['toto'];
|
'moyen_paiement' => f('moyen_paiement'),
|
||||||
unset($truc['toto']);
|
'toto' => 0
|
||||||
|
];
|
||||||
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);
|
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']);
|
||||||
|
|
||||||
}
|
if (f('base_receveur') == 'client')
|
||||||
catch(UserException $e)
|
{
|
||||||
{
|
$truc['receveur_membre'] = 0;
|
||||||
$form->addError($e->getMessage());
|
$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('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->assign('clients', $client->listAll());
|
||||||
|
|
||||||
$tpl->display(PLUGIN_ROOT . '/templates/facture_ajouter.tpl');
|
$tpl->display(PLUGIN_ROOT . '/templates/facture_ajouter.tpl');
|
||||||
|
|
|
@ -26,78 +26,78 @@ $tpl->assign('moyen_paiement', f('moyen_paiement') ?: $f->moyen_paiement);
|
||||||
if(f('save'))
|
if(f('save'))
|
||||||
{
|
{
|
||||||
$form->check('modifier_facture', [
|
$form->check('modifier_facture', [
|
||||||
'type' => 'required|in:facture,devis',
|
'type' => 'required|in:facture,devis',
|
||||||
'numero_facture' => 'required|string',
|
'numero_facture' => 'required|string',
|
||||||
'date_emission' => 'required|date',
|
'date_emission' => 'required|date',
|
||||||
'date_echeance' => 'required|date',
|
'date_echeance' => 'required|date',
|
||||||
// 'reglee' => '',
|
// 'reglee' => '',
|
||||||
// 'archivee' => '',
|
// 'archivee' => '',
|
||||||
'base_receveur' => 'required|in:membre,client',
|
'base_receveur' => 'required|in:membre,client',
|
||||||
// 'client' => '',
|
// 'client' => '',
|
||||||
// 'membre' => '',
|
// 'membre' => '',
|
||||||
'moyen_paiement' => 'required|in:' . implode(',', array_keys($cats->listMoyensPaiement())),
|
'moyen_paiement' => 'required|in:' . implode(',', array_keys($cats->listMoyensPaiement())),
|
||||||
'designation' => 'array|required',
|
'designation' => 'array|required',
|
||||||
'prix' => 'array|required'
|
'prix' => 'array|required'
|
||||||
]);
|
]);
|
||||||
|
|
||||||
if (!$form->hasErrors())
|
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)
|
try
|
||||||
{
|
{
|
||||||
$truc['contenu'][$k]['designation'] = $value;
|
if ( count(f('designation')) !== count(f('prix')) )
|
||||||
$truc['contenu'][$k]['prix'] = f('prix')[$k];
|
{
|
||||||
$truc['toto'] += f('prix')[$k];
|
throw new UserException('Nombre de désignations et de prix reçus différent.');
|
||||||
}
|
}
|
||||||
$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);
|
$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;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
foreach(f('designation') as $k=>$value)
|
||||||
catch(UserException $e)
|
{
|
||||||
{
|
$truc['contenu'][$k]['designation'] = $value;
|
||||||
$form->addError($e->getMessage());
|
$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());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -49,8 +49,8 @@ catch(UserException $e)
|
||||||
|
|
||||||
$pdf = new \Mpdf\Mpdf([
|
$pdf = new \Mpdf\Mpdf([
|
||||||
'default_font_size' => 10,
|
'default_font_size' => 10,
|
||||||
'default_font' => 'dejavusans',
|
'default_font' => 'dejavusans',
|
||||||
// 'tempDir' => PLUGINS_ROOT . '/mpdf-tmp/'
|
// 'tempDir' => PLUGINS_ROOT . '/mpdf-tmp/'
|
||||||
]);
|
]);
|
||||||
$pdf->SetAuthor($config->get('nom_asso'));
|
$pdf->SetAuthor($config->get('nom_asso'));
|
||||||
|
|
||||||
|
@ -61,20 +61,20 @@ $emission = date('d/m/Y' ,$f->date_emission);
|
||||||
$pdf->SetTitle($doc.' - '.$emission);
|
$pdf->SetTitle($doc.' - '.$emission);
|
||||||
|
|
||||||
$asso =
|
$asso =
|
||||||
// 'Émis par :<br><br>'.
|
// 'Émis par :<br><br>'.
|
||||||
'<b>'.$config->get('nom_asso')."</b><br>".
|
'<b>'.$config->get('nom_asso')."</b><br>".
|
||||||
str_replace("\n", '<br>', $config->get('adresse_asso'))."<br>".
|
str_replace("\n", '<br>', $config->get('adresse_asso'))."<br>".
|
||||||
(($t = $cfg->get('siret_asso'))?"SIRET : $t<br>":'').
|
(($t = $cfg->get('siret_asso'))?"SIRET : $t<br>":'').
|
||||||
(($t = $config->get('email_asso'))?"Email : $t<br>":'').
|
(($t = $config->get('email_asso'))?"Email : $t<br>":'').
|
||||||
(($t = $config->get('site_asso'))?"Site web : $t<br>":'');
|
(($t = $config->get('site_asso'))?"Site web : $t<br>":'');
|
||||||
|
|
||||||
$receveur =
|
$receveur =
|
||||||
'Adressé à :<br><br>'.
|
'Adressé à :<br><br>'.
|
||||||
'<b>'.$c->nom.'</b><br>'.
|
'<b>'.$c->nom.'</b><br>'.
|
||||||
$c->adresse."<br>".
|
$c->adresse."<br>".
|
||||||
$c->code_postal.' '.$c->ville."<br>".
|
$c->code_postal.' '.$c->ville."<br>".
|
||||||
(($t = $c->email)?"Email : $t<br>":'').
|
(($t = $c->email)?"Email : $t<br>":'').
|
||||||
(($t = $c->telephone)?"Tel : $t<br>":'');
|
(($t = $c->telephone)?"Tel : $t<br>":'');
|
||||||
|
|
||||||
$total = number_format($f->total, 2, ',', ' ');
|
$total = number_format($f->total, 2, ',', ' ');
|
||||||
$echeance = date('d/m/Y' ,$f->date_echeance);
|
$echeance = date('d/m/Y' ,$f->date_echeance);
|
||||||
|
@ -88,58 +88,58 @@ echo <<<EOF
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
.titre {
|
.titre {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: 8pt;
|
font-size: 8pt;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 6mm;
|
top: 6mm;
|
||||||
width: 180mm;
|
width: 180mm;
|
||||||
}
|
}
|
||||||
.h2 {
|
.h2 {
|
||||||
margin: 25 20 0 20;
|
margin: 25 20 0 20;
|
||||||
}
|
}
|
||||||
.h2 span {
|
.h2 span {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
font-size: 15pt;
|
font-size: 15pt;
|
||||||
}
|
}
|
||||||
hr {
|
hr {
|
||||||
margin: 5 0 20 0;
|
margin: 5 0 20 0;
|
||||||
}
|
}
|
||||||
.adressage {
|
.adressage {
|
||||||
font-size: 11pt;
|
font-size: 11pt;
|
||||||
}
|
}
|
||||||
.adressage td {
|
.adressage td {
|
||||||
width: 95mm;
|
width: 95mm;
|
||||||
vertical-align: top;
|
vertical-align: top;
|
||||||
}
|
}
|
||||||
|
|
||||||
.contenu td, .contenu th {
|
.contenu td, .contenu th {
|
||||||
vertical-align: top;
|
vertical-align: top;
|
||||||
padding: 8 10;
|
padding: 8 10;
|
||||||
margin : 0;
|
margin : 0;
|
||||||
border-collapse: collapse;
|
border-collapse: collapse;
|
||||||
}
|
}
|
||||||
|
|
||||||
.contenu tr th, .contenu tr td {
|
.contenu tr th, .contenu tr td {
|
||||||
text-align: right;
|
text-align: right;
|
||||||
width: 16%;
|
width: 16%;
|
||||||
}
|
}
|
||||||
.contenu tr td:nth-child(1), .contenu tr th:nth-child(1) {
|
.contenu tr td:nth-child(1), .contenu tr th:nth-child(1) {
|
||||||
text-align: left;
|
text-align: left;
|
||||||
width: 84%;
|
width: 84%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.contenu thead tr, .contenu tfoot tr {
|
.contenu thead tr, .contenu tfoot tr {
|
||||||
background-color: #CCE;
|
background-color: #CCE;
|
||||||
border: 10px solid black;
|
border: 10px solid black;
|
||||||
}
|
}
|
||||||
.contenu tbody tr:nth-child(even) {
|
.contenu tbody tr:nth-child(even) {
|
||||||
background-color: #DDF;
|
background-color: #DDF;
|
||||||
}
|
}
|
||||||
|
|
||||||
footer {
|
footer {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
margin: 14mm 0;
|
margin: 14mm 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
@ -152,8 +152,8 @@ $doc - Émis le $emission
|
||||||
|
|
||||||
<table class="adressage">
|
<table class="adressage">
|
||||||
<tr>
|
<tr>
|
||||||
<td>$asso</td>
|
<td>$asso</td>
|
||||||
<td>$receveur</td>
|
<td>$receveur</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
|
@ -166,14 +166,14 @@ $doc - Émis le $emission
|
||||||
|
|
||||||
<table class="contenu">
|
<table class="contenu">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>
|
<th>
|
||||||
Désignations
|
Désignations
|
||||||
</th>
|
</th>
|
||||||
<th>
|
<th>
|
||||||
Prix
|
Prix
|
||||||
</th>
|
</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
EOF;
|
EOF;
|
||||||
|
@ -181,21 +181,21 @@ EOF;
|
||||||
$i = 1;
|
$i = 1;
|
||||||
foreach($f->contenu as $k=>$v)
|
foreach($f->contenu as $k=>$v)
|
||||||
{
|
{
|
||||||
echo '<tr><td>';
|
echo '<tr><td>';
|
||||||
echo str_replace("\n", '<br>', $v['designation']);
|
echo str_replace("\n", '<br>', $v['designation']);
|
||||||
echo '</td><td>';
|
echo '</td><td>';
|
||||||
echo number_format($v['prix'], 2, ',', ' ').'€';
|
echo number_format($v['prix'], 2, ',', ' ').'€';
|
||||||
echo '</td></tr>';
|
echo '</td></tr>';
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
|
|
||||||
echo <<<EOF
|
echo <<<EOF
|
||||||
</tbody>
|
</tbody>
|
||||||
<tfoot>
|
<tfoot>
|
||||||
<tr>
|
<tr>
|
||||||
<td><h3>Total</h3>Net à payer</td>
|
<td><h3>Total</h3>Net à payer</td>
|
||||||
<td><b>$total €</b> (HT)</td>
|
<td><b>$total €</b> (HT)</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tfoot>
|
</tfoot>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
|
@ -209,7 +209,7 @@ echo <<<EOF
|
||||||
Moyen de paiement : $moyen_paiement
|
Moyen de paiement : $moyen_paiement
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
$footer
|
$footer
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
</footer>
|
</footer>
|
||||||
|
@ -221,13 +221,13 @@ $pdf->WriteHTML($html);
|
||||||
|
|
||||||
if(qg('d') !== null)
|
if(qg('d') !== null)
|
||||||
{
|
{
|
||||||
$t = \Mpdf\Output\Destination::DOWNLOAD;
|
$t = \Mpdf\Output\Destination::DOWNLOAD;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$t = \Mpdf\Output\Destination::INLINE;
|
$t = \Mpdf\Output\Destination::INLINE;
|
||||||
}
|
}
|
||||||
$pdf->Output(
|
$pdf->Output(
|
||||||
($f->type_facture?'Facture':'Devis').' '.$f->numero
|
($f->type_facture?'Facture':'Devis').' '.$f->numero
|
||||||
. ' du '.date('d-m-Y' ,$f->date_emission)
|
. ' du '.date('d-m-Y' ,$f->date_emission)
|
||||||
.'.pdf', $t);
|
.'.pdf', $t);
|
||||||
|
|
|
@ -13,8 +13,8 @@ $tpl->assign('moyens_paiement', $cats->listMoyensPaiement());
|
||||||
|
|
||||||
foreach($factures = $facture->listAll() as $k=>$f)
|
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]->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]->moyen_paiement = $cats->getMoyenPaiement($f->moyen_paiement);
|
||||||
}
|
}
|
||||||
|
|
||||||
$tpl->assign('factures', $factures);
|
$tpl->assign('factures', $factures);
|
||||||
|
|
Loading…
Reference in New Issue