Artifact 15595f811bdd268ba7496424a77f01c5b360e4f8:


<?php
namespace Garradin;

require_once __DIR__ . '/../_inc.php';

$banques = new Compta\Comptes_Bancaires;
$journal = new Compta\Journal;

$error = false;

if (Utils::post('add'))
{
	if ($user['droits']['compta'] < Membres::DROIT_ADMIN)
	{
	    throw new UserException("Vous n'avez pas le droit d'accéder à cette page.");
	}

    if (!Utils::CSRF_check('compta_ajout_banque'))
    {
        $error = 'Une erreur est survenue, merci de renvoyer le formulaire.';
    }
    else
    {
        try
        {
            $id = $banques->add([
                'libelle'       =>  Utils::post('libelle'),
                'banque'        =>  Utils::post('banque'),
                'iban'          =>  Utils::post('iban'),
                'bic'           =>  Utils::post('bic'),
            ]);

            if (Utils::post('solde') > 0)
            {
            	$exercices = new Compta\Exercices;
            	$exercice = $exercices->getCurrent();
            	$solde = Utils::post('solde');

            	$journal->add([
                    'libelle'       =>  'Solde initial',
                    'montant'       =>  abs($solde),
                    'date'          =>  gmdate('Y-m-d', $exercice['debut']),
                    'compte_credit' =>  $solde > 0 ? null : $id,
                    'compte_debit'  =>  $solde < 0 ? null : $id,
                    'numero_piece'  =>  null,
                    'remarques'     =>  'Opération automatique à l\'ajout du compte dans la liste des comptes bancaires',
                    'id_auteur'     =>  $user['id'],
                ]);
            }

            Utils::redirect('/admin/compta/banques/');
        }
        catch (UserException $e)
        {
            $error = $e->getMessage();
        }
	}
}

$liste = $banques->getList();

foreach ($liste as &$banque)
{
    $banque['solde'] = $journal->getSolde($banque['id']);
}

$tpl->assign('liste', $liste);

function tpl_format_iban($iban)
{
    return implode(' ', str_split($iban, 4));
}

$tpl->register_modifier('format_iban', 'Garradin\tpl_format_iban');
$tpl->assign('error', $error);

$tpl->display('admin/compta/banques/index.tpl');