Update pour Garradin 1.1

This commit is contained in:
Noizette 2021-04-11 14:25:59 +02:00
parent 1bdc2baf82
commit 11974482f2
20 changed files with 43 additions and 39 deletions

View File

@ -2,7 +2,7 @@ nom="Facturation"
description="Permet d'éditer des factures, devis et reçus à ses membres ainsi qu'à une base de clients supplémentaire." description="Permet d'éditer des factures, devis et reçus à ses membres ainsi qu'à une base de clients supplémentaire."
auteur="zou" auteur="zou"
url="https://gitlab.com/ramoloss/garradin-plugin-facturation/" url="https://gitlab.com/ramoloss/garradin-plugin-facturation/"
version="0.4.0" version="0.5.0"
menu=1 menu=1
config=1 config=1
min_version="0.9.2" min_version="1.1.0"

View File

@ -4,11 +4,11 @@
<nav class="tabs"> <nav class="tabs">
<ul> <ul>
<li{if $current == 'index'} class="current"{/if}><a href="{plugin_url file=""}">Liste documents</a></li> <li{if $current == 'index'} class="current"{/if}><a href="{plugin_url file=""}">Liste documents</a></li>
{if $session->canAccess('compta', Membres::DROIT_ECRITURE)} {if $session->canAccess($session::SECTION_ACCOUNTING, $session::ACCESS_WRITE)}
<li{if $current == 'facture'} class="current"{/if}><a href="{plugin_url file="facture_ajouter.php"}">Nouveau document</a></li> <li{if $current == 'facture'} class="current"{/if}><a href="{plugin_url file="facture_ajouter.php"}">Nouveau document</a></li>
{/if} {/if}
<li{if $current == 'clients'} class="current"{/if}><a href="{plugin_url file="clients.php"}">Liste clients</a></li> <li{if $current == 'clients'} class="current"{/if}><a href="{plugin_url file="clients.php"}">Liste clients</a></li>
{if $session->canAccess('compta', Membres::DROIT_ADMIN)} {if $session->canAccess($session::SECTION_ACCOUNTING, $session::ACCESS_ADMIN)}
<li{if $current == 'config'} class="current"{/if}><a href="{plugin_url file="config.php"}">Configuration</a></li> <li{if $current == 'config'} class="current"{/if}><a href="{plugin_url file="config.php"}">Configuration</a></li>
{/if} {/if}
<li{if $current == 'aide'} class="current"{/if}><a href="{plugin_url file="aide.php"}">Aide</a></li> <li{if $current == 'aide'} class="current"{/if}><a href="{plugin_url file="aide.php"}">Aide</a></li>

View File

@ -2,10 +2,10 @@
<ul> <ul>
<li{if $current == 'clients'} class="current"{/if}><a href="{plugin_url file="clients.php"}">Liste clients</a></li> <li{if $current == 'clients'} class="current"{/if}><a href="{plugin_url file="clients.php"}">Liste clients</a></li>
<li{if $current == 'client'} class="current"{/if}><a href="{plugin_url file="client.php"}?id={$client.id}">{$client.nom}</a></li> <li{if $current == 'client'} class="current"{/if}><a href="{plugin_url file="client.php"}?id={$client.id}">{$client.nom}</a></li>
{if $session->canAccess('compta', Membres::DROIT_ECRITURE)} {if $session->canAccess($session::SECTION_ACCOUNTING, $session::ACCESS_WRITE)}
<li{if $current == 'client_modifier'} class="current"{/if}> <li{if $current == 'client_modifier'} class="current"{/if}>
<a href="{plugin_url file="client_modifier.php"}?id={$client.id}">Modifier</a></li>{/if} <a href="{plugin_url file="client_modifier.php"}?id={$client.id}">Modifier</a></li>{/if}
{if $session->canAccess('compta', Membres::DROIT_ADMIN)} {if $session->canAccess($session::SECTION_ACCOUNTING, $session::ACCESS_ADMIN)}
<li{if $current == 'client_supprimer'} class="current"{/if}> <li{if $current == 'client_supprimer'} class="current"{/if}>
<a href="{plugin_url file="client_supprimer.php"}?id={$client.id}">Supprimer</a></li>{/if} <a href="{plugin_url file="client_supprimer.php"}?id={$client.id}">Supprimer</a></li>{/if}
</ul> </ul>

View File

@ -14,6 +14,8 @@
<br> <br>
<p>Hésitez pas à faire des retours, proposer meilleures explications, ou quoi, vous pouvez venir en causer soit <a href="https://gitlab.com/ramoloss/garradin-plugin-facturation">sur mon gitlab</a>, soit sur l'adresse d'entraide de garradin. Si vous êtes un peu dev, le code est un peu cracra mais j'espère que ça vous repoussera pas trop à le bidouiller :)</p> <p>Hésitez pas à faire des retours, proposer meilleures explications, ou quoi, vous pouvez venir en causer soit <a href="https://gitlab.com/ramoloss/garradin-plugin-facturation">sur mon gitlab</a>, soit sur l'adresse d'entraide de garradin. Si vous êtes un peu dev, le code est un peu cracra mais j'espère que ça vous repoussera pas trop à le bidouiller :)</p>
<br>
<p><i>Remarque : la gestion de la signature pour les reçus fiscaux a été désactivée temporairement, dû au changements de Garradin 1.1 sur les fichiers</i></p>
</fieldset> </fieldset>

View File

@ -37,7 +37,7 @@
</dd> </dd>
<dt>Date d'ajout</dt> <dt>Date d'ajout</dt>
<dd>{$client.date_creation|date_fr:'d/m/Y'}</dd> <dd>{$client.date_creation|date:'d/m/Y'}</dd>
</dl> </dl>
@ -61,17 +61,17 @@
<tr> <tr>
<td>{$f_obj->types[$facture.type_facture]['label'] }</td> <td>{$f_obj->types[$facture.type_facture]['label'] }</td>
<td><a href="{plugin_url file="facture.php"}?id={$facture.id}">{$facture.numero}</a></td> <td><a href="{plugin_url file="facture.php"}?id={$facture.id}">{$facture.numero}</a></td>
<td>{$facture.date_emission|date_fr:'d/m/Y'}</td> <td>{$facture.date_emission|date:'d/m/Y'}</td>
<td>{$facture.date_echeance|date_fr:'d/m/Y'}</td> <td>{$facture.date_echeance|date:'d/m/Y'}</td>
<td>{$facture.reglee}</td> <td>{$facture.reglee}</td>
<td>{$facture.archivee}</td> <td>{$facture.archivee}</td>
<td>{$facture.moyen_paiement}</td> <td>{$facture.moyen_paiement}</td>
<td> <td>
{foreach from=$facture.contenu item=contenu} {foreach from=$facture.contenu item=contenu}
<p>{$contenu.designation} : {$contenu.prix|escape|html_money}&nbsp;{$config.monnaie}</p> <p>{$contenu.designation} : {$contenu.prix|escape|money}&nbsp;{$config.monnaie}</p>
{/foreach} {/foreach}
</td> </td>
<td>{$facture.total|escape|html_money}&nbsp;{$config.monnaie}</td> <td>{$facture.total|escape|money}&nbsp;{$config.monnaie}</td>
</tr> </tr>
{/foreach} {/foreach}
</tbody> </tbody>

View File

@ -10,7 +10,7 @@
<table class="list"> <table class="list">
<thead class="userOrder"> <thead class="userOrder">
<tr> <tr>
{if $session->canAccess('membres', Membres::DROIT_ADMIN)}<td class="check"><input type="checkbox" title="Tout cocher / décocher" /></td>{/if} {if $session->canAccess($session::SECTION_USERS, $session::ACCESS_ADMIN)}<td class="check"><input type="checkbox" title="Tout cocher / décocher" /></td>{/if}
{foreach from=$champs key="c" item="champ"} {foreach from=$champs key="c" item="champ"}
<td>{if $c == "numero"}#{else}{$champ.title}{/if} </td> <td>{if $c == "numero"}#{else}{$champ.title}{/if} </td>
{/foreach} {/foreach}
@ -20,7 +20,7 @@
<tbody> <tbody>
{foreach from=$clients item="membre"} {foreach from=$clients item="membre"}
<tr> <tr>
{if $session->canAccess('membres', Membres::DROIT_ADMIN)}<td class="check"> {if $session->canAccess($session::SECTION_USERS, $session::ACCESS_ADMIN)}<td class="check">
{input type="checkbox" name="selected" value=$membre.id default=0} {input type="checkbox" name="selected" value=$membre.id default=0}
</td> </td>
{/if} {/if}
@ -33,12 +33,12 @@
{/foreach} {/foreach}
<td class="tabs"> <td class="tabs">
<a class="icn" href="{plugin_url file="client.php"}?id={$membre.id}" title="Fiche membre">👤</a> <a class="icn" href="{plugin_url file="client.php"}?id={$membre.id}" title="Fiche membre">👤</a>
{if $session->canAccess('membres', Membres::DROIT_ECRITURE)}<a class="icn" href="{plugin_url file="client_modifier.php"}?id={$membre.id}" title="Modifier la fiche membre">✎</a>{/if} {if $session->canAccess($session::SECTION_USERS, $session::ACCESS_WRITE)}<a class="icn" href="{plugin_url file="client_modifier.php"}?id={$membre.id}" title="Modifier la fiche membre">✎</a>{/if}
</td> </td>
</tr> </tr>
{/foreach} {/foreach}
</tbody> </tbody>
{if $session->canAccess('membres', Membres::DROIT_ADMIN)} {if $session->canAccess($session::SECTION_USERS, $session::ACCESS_ADMIN)}
{include file="%s/templates/_list_actions.tpl"|args:$plugin_root colspan=count((array)$champs)} {include file="%s/templates/_list_actions.tpl"|args:$plugin_root colspan=count((array)$champs)}
{/if} {/if}
</table> </table>

View File

@ -72,7 +72,7 @@
</p> </p>
</form> </form>
{*
<form method="post" enctype="multipart/form-data" action="{$self_url|escape}" id="f_upload"> <form method="post" enctype="multipart/form-data" action="{$self_url|escape}" id="f_upload">
<fieldset> <fieldset>
<legend>Signature du responsable</legend> <legend>Signature du responsable</legend>
@ -93,6 +93,6 @@
</p> </p>
</fieldset> </fieldset>
</form> </form>
*}
{include file="admin/_foot.tpl"} {include file="admin/_foot.tpl"}

View File

@ -3,7 +3,7 @@
{form_errors} {form_errors}
{if $session->canAccess('compta', Membres::DROIT_ECRITURE)} {if $session->canAccess($session::SECTION_ACCOUNTING, $session::ACCESS_WRITE)}
<a href="{plugin_url file="facture_modifier.php"}?id={$facture.id}"> <a href="{plugin_url file="facture_modifier.php"}?id={$facture.id}">
<button type="button" class="btn btn-primary">Modifier ce document</button></a> <button type="button" class="btn btn-primary">Modifier ce document</button></a>
{/if} {/if}

View File

@ -44,17 +44,17 @@
{/if} {/if}
<td>{$facture.receveur.adresse}</td> <td>{$facture.receveur.adresse}</td>
<td>{$facture.receveur.ville}</td> <td>{$facture.receveur.ville}</td>
<td>{$facture.date_emission|date_fr:'d/m/Y'}</td> <td>{$facture.date_emission|date:'d/m/Y'}</td>
<td>{$facture.date_echeance|date_fr:'d/m/Y'}</td> <td>{$facture.date_echeance|date:'d/m/Y'}</td>
<td><?= $facture->reglee?'Réglée':'Non' ?></td> <td><?= $facture->reglee?'Réglée':'Non' ?></td>
<td><?= $facture->archivee?'Archivée':'Non' ?></td> <td><?= $facture->archivee?'Archivée':'Non' ?></td>
<td>{$facture.moyen_paiement}</td> <td>{$facture.moyen_paiement}</td>
<td> <td>
{foreach from=$facture.contenu item=contenu} {foreach from=$facture.contenu item=contenu}
<p>{$contenu.designation} : {$contenu.prix|escape|html_money}&nbsp;{$config.monnaie}</p> <p>{$contenu.designation} : {$contenu.prix|escape|money}&nbsp;{$config.monnaie}</p>
{/foreach} {/foreach}
</td> </td>
<td>{$facture.total|escape|html_money}&nbsp;{$config.monnaie}</td> <td>{$facture.total|escape|money}&nbsp;{$config.monnaie}</td>
</tr> </tr>
{/foreach} {/foreach}
</tbody> </tbody>

View File

@ -4,6 +4,6 @@ namespace Garradin;
require_once __DIR__ . '/_inc.php'; require_once __DIR__ . '/_inc.php';
$session->requireAccess('compta', Membres::DROIT_ACCES); $session->requireAccess($session::SECTION_ACCOUNTING, $session::ACCESS_READ);
$tpl->display(PLUGIN_ROOT . '/templates/aide.tpl'); $tpl->display(PLUGIN_ROOT . '/templates/aide.tpl');

View File

@ -4,7 +4,7 @@ namespace Garradin;
require_once __DIR__ . '/_inc.php'; require_once __DIR__ . '/_inc.php';
$session->requireAccess('compta', Membres::DROIT_ACCES); $session->requireAccess($session::SECTION_ACCOUNTING, $session::ACCESS_READ);
qv(['id' => 'required|numeric']); qv(['id' => 'required|numeric']);

View File

@ -4,7 +4,7 @@ namespace Garradin;
require_once __DIR__ . '/_inc.php'; require_once __DIR__ . '/_inc.php';
$session->requireAccess('compta', Membres::DROIT_ECRITURE); $session->requireAccess($session::SECTION_ACCOUNTING, $session::ACCESS_WRITE);
qv(['id' => 'required|numeric']); qv(['id' => 'required|numeric']);
$id = (int) qg('id'); $id = (int) qg('id');

View File

@ -4,7 +4,7 @@ namespace Garradin;
require_once __DIR__ . '/_inc.php'; require_once __DIR__ . '/_inc.php';
$session->requireAccess('compta', Membres::DROIT_ADMIN); $session->requireAccess($session::SECTION_ACCOUNTING, $session::ACCESS_WRITE);
qv(['id' => 'required|numeric']); qv(['id' => 'required|numeric']);

View File

@ -4,7 +4,7 @@ namespace Garradin;
require_once __DIR__ . '/_inc.php'; require_once __DIR__ . '/_inc.php';
$session->requireAccess('compta', Membres::DROIT_ACCES); $session->requireAccess($session::SECTION_ACCOUNTING, $session::ACCESS_READ);
if(f('add')) if(f('add'))
{ {

View File

@ -4,7 +4,7 @@ namespace Garradin;
require_once __DIR__ . '/_inc.php'; require_once __DIR__ . '/_inc.php';
$session->requireAccess('compta', Membres::DROIT_ADMIN); $session->requireAccess($session::SECTION_ACCOUNTING, $session::ACCESS_ADMIN);
if (f('save') && $form->check('facturation_config')) if (f('save') && $form->check('facturation_config'))
{ {
@ -39,6 +39,7 @@ if (f('save') && $form->check('facturation_config'))
// Traitement de l'image de signature // Traitement de l'image de signature
// Copié du plugin de nfrery // Copié du plugin de nfrery
/*
if (f('upload') || isset($_POST['uploadHelper_status'])) if (f('upload') || isset($_POST['uploadHelper_status']))
{ {
$form->check('signature_config'); $form->check('signature_config');
@ -115,12 +116,12 @@ else
{ {
$tpl->assign('image', false); $tpl->assign('image', false);
} }
*/
$tpl->assign('ok', qg('ok') !== null); $tpl->assign('ok', qg('ok') !== null);
$tpl->assign('max_size', Utils::getMaxUploadSize()); // $tpl->assign('max_size', Utils::getMaxUploadSize());
$tpl->display(PLUGIN_ROOT . '/templates/config.tpl'); $tpl->display(PLUGIN_ROOT . '/templates/config.tpl');

View File

@ -4,7 +4,7 @@ namespace Garradin;
require_once __DIR__ . '/_inc.php'; require_once __DIR__ . '/_inc.php';
$session->requireAccess('compta', Membres::DROIT_ACCES); $session->requireAccess($session::SECTION_ACCOUNTING, $session::ACCESS_READ);
use Garradin\Membres; use Garradin\Membres;

View File

@ -4,7 +4,7 @@ namespace Garradin;
require_once __DIR__ . '/_inc.php'; require_once __DIR__ . '/_inc.php';
$session->requireAccess('compta', Membres::DROIT_ECRITURE); $session->requireAccess($session::SECTION_ACCOUNTING, $session::ACCESS_WRITE);
use Garradin\DB; use Garradin\DB;
use stdClass; use stdClass;
@ -223,7 +223,7 @@ $tpl->assign('date', $date->format('d/m/Y'));
$tpl->assign('designations', $designations); $tpl->assign('designations', $designations);
$tpl->assign('prix', $prix); $tpl->assign('prix', $prix);
$tpl->assign('identite', $identite); $tpl->assign('identite', $identite);
$tpl->assign('membres', $db->getAssoc('SELECT id, '.$identite.' FROM membres WHERE id_categorie != -2 NOT IN (SELECT id FROM membres_categories WHERE cacher = 1);')); $tpl->assign('membres', $db->getAssoc('SELECT id, '.$identite.' FROM membres WHERE id_category != -2 NOT IN (SELECT id FROM users_categories WHERE hidden = 1);'));
$tpl->assign('clients', $db->getAssoc('SELECT id, nom FROM plugin_facturation_clients;')); $tpl->assign('clients', $db->getAssoc('SELECT id, nom FROM plugin_facturation_clients;'));
$tpl->display(PLUGIN_ROOT . '/templates/facture_ajouter.tpl'); $tpl->display(PLUGIN_ROOT . '/templates/facture_ajouter.tpl');

View File

@ -4,7 +4,7 @@ namespace Garradin;
require_once __DIR__ . '/_inc.php'; require_once __DIR__ . '/_inc.php';
$session->requireAccess('compta', Membres::DROIT_ECRITURE); $session->requireAccess($session::SECTION_ACCOUNTING, $session::ACCESS_WRITE);
use Garradin\DB; use Garradin\DB;
@ -262,7 +262,7 @@ if ($f->type_facture != COTIS)
$tpl->assign('designations', $designations??[]); $tpl->assign('designations', $designations??[]);
$tpl->assign('prix', $prix??[]); $tpl->assign('prix', $prix??[]);
$tpl->assign('identite', $identite); $tpl->assign('identite', $identite);
$tpl->assign('membres', $db->getAssoc('SELECT id, '.$identite.' FROM membres WHERE id_categorie != -2 NOT IN (SELECT id FROM membres_categories WHERE cacher = 1);')); $tpl->assign('membres', $db->getAssoc('SELECT id, '.$identite.' FROM membres WHERE id_category != -2 NOT IN (SELECT id FROM users_categories WHERE hidden = 1);'));
$tpl->assign('clients', $db->getAssoc('SELECT id, nom FROM plugin_facturation_clients;')); $tpl->assign('clients', $db->getAssoc('SELECT id, nom FROM plugin_facturation_clients;'));
$date = new \DateTime; $date = new \DateTime;

View File

@ -5,7 +5,7 @@ namespace Garradin;
require_once __DIR__ . '/_upgrade_trick.php'; require_once __DIR__ . '/_upgrade_trick.php';
require_once __DIR__ . '/_inc.php'; require_once __DIR__ . '/_inc.php';
$session->requireAccess('compta', Membres::DROIT_ACCES); $session->requireAccess($session::SECTION_ACCOUNTING, $session::ACCESS_READ);
$membres = new Membres; $membres = new Membres;

View File

@ -5,7 +5,7 @@ namespace Garradin;
require_once __DIR__ . '/_inc.php'; require_once __DIR__ . '/_inc.php';
require_once PLUGIN_ROOT . '/lib/MPDF/vendor/autoload.php'; require_once PLUGIN_ROOT . '/lib/MPDF/vendor/autoload.php';
$session->requireAccess('compta', Membres::DROIT_ACCES); $session->requireAccess($session::SECTION_ACCOUNTING, $session::ACCESS_READ);
$membres = new Membres; $membres = new Membres;
@ -306,6 +306,7 @@ elseif ($f->type_facture == 2)
$pdf->WriteText(160, 246.2, utf8_decode($f->date_echeance->format('Y'))); $pdf->WriteText(160, 246.2, utf8_decode($f->date_echeance->format('Y')));
// Signature // Signature
/*
$img = new Fichiers($plugin->getConfig('signaturetxt')); $img = new Fichiers($plugin->getConfig('signaturetxt'));
$cache_id = 'fichiers.' . $img->id_contenu; $cache_id = 'fichiers.' . $img->id_contenu;
if (!Static_Cache::exists($cache_id)) if (!Static_Cache::exists($cache_id))
@ -316,7 +317,7 @@ elseif ($f->type_facture == 2)
} }
$uri = Static_Cache::getPath($cache_id); $uri = Static_Cache::getPath($cache_id);
$pdf->Image($uri, 150, 245, 32, 0, 'PNG' ); // Emplacement de la signature avec restriction de largeur pour tenir dans sur la case. $pdf->Image($uri, 150, 245, 32, 0, 'PNG' ); // Emplacement de la signature avec restriction de largeur pour tenir dans sur la case.
*/
} // End if cerfa } // End if cerfa
elseif ($f->type_facture == 3) elseif ($f->type_facture == 3)
{ {