Overview
Comment:Modernisation catégories compta
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | dev
Files: files | file ages | folders
SHA1: ba738d8d9a521a1298fee3dc2d1bf184c346ac97
User & Date: bohwaz on 2017-08-17 00:49:34
Other Links: branch diff | manifest | tags
Context
2017-08-17
01:34
Modernisation : comptes bancaires check-in: ddb9d06519 user: bohwaz tags: dev
00:49
Modernisation catégories compta check-in: ba738d8d9a user: bohwaz tags: dev
00:30
Modernisation: saisie compta / suppression exercice check-in: eb64e66574 user: bohwaz tags: dev
Changes

Modified src/templates/admin/compta/categories/ajouter.tpl from [e6e518fb05] to [c81154476b].

     1      1   {include file="admin/_head.tpl" title="Ajouter une catégorie" current="compta/categories"}
     2      2   
     3         -{if $error}
     4         -    <p class="error">
     5         -        {$error}
     6         -    </p>
     7         -{/if}
            3  +{form_errors}
     8      4   
     9      5   <form method="post" action="{$self_url}">
    10      6   
    11      7       <fieldset>
    12      8           <legend>Ajouter une catégorie</legend>
    13      9           <dl>
    14     10               <dt><label for="f_type">Type</label> <b title="(Champ obligatoire)">obligatoire</b></dt>

Modified src/templates/admin/compta/categories/modifier.tpl from [ab528c1c7f] to [744bd39187].

     1      1   {include file="admin/_head.tpl" title="Modifier une catégorie" current="compta/categories"}
     2      2   
     3         -{if $error}
     4         -    <p class="error">
     5         -        {$error}
     6         -    </p>
     7         -{/if}
            3  +{form_errors}
     8      4   
     9      5   <form method="post" action="{$self_url}">
    10      6   
    11      7       <fieldset>
    12      8           <legend>Modifier une catégorie</legend>
    13      9           <dl>
    14     10               <dt><label for="f_intitule">Intitulé</label> <b title="(Champ obligatoire)">obligatoire</b></dt>

Modified src/templates/admin/compta/categories/supprimer.tpl from [bd5ca44d0b] to [66664b8c0b].

     1      1   {include file="admin/_head.tpl" title="Supprimer une catégorie" current="compta/categories"}
     2      2   
     3         -{if $error}
     4         -    <p class="error">
     5         -        {$error}
     6         -    </p>
     7         -{/if}
            3  +{form_errors}
     8      4   
     9      5   <form method="post" action="{$self_url}">
    10      6   
    11      7       <fieldset>
    12      8           <legend>Supprimer la catégorie comptable ?</legend>
    13      9           <h3 class="warning">
    14     10               Êtes-vous sûr de vouloir supprimer la catégorie «&nbsp;{$cat.intitule}&nbsp;» ?

Modified src/templates/admin/compta/operations/modifier.tpl from [f211178bbc] to [cd8b85b8f0].

     1      1   {include file="admin/_head.tpl" title="Modification de l'opération n°%d"|args:$operation.id current="compta/saisie" js=1}
     2      2   
     3         -{if $error}
     4         -    <p class="error">
     5         -        {$error}
     6         -    </p>
     7         -{/if}
            3  +{form_errors}
     8      4   
     9      5   <form method="post" action="{$self_url}">
    10      6   
    11      7       <fieldset>
    12      8           <legend>Informations sur l'opération</legend>
    13      9           <dl>
    14     10               <dt><label for="f_date">Date</label> <b title="(Champ obligatoire)">obligatoire</b></dt>

Modified src/templates/admin/compta/operations/supprimer.tpl from [1bac754e15] to [fd77415602].

     1      1   {include file="admin/_head.tpl" title="Supprimer une opération" current="compta/gestion"}
     2      2   
     3         -{if $error}
     4         -    <p class="error">
     5         -        {$error}
     6         -    </p>
     7         -{/if}
            3  +{form_errors}
     8      4   
     9      5   <form method="post" action="{$self_url}">
    10      6   
    11      7       <fieldset>
    12      8           <legend>Supprimer cette opération ?</legend>
    13      9           <h3 class="warning">
    14     10               Êtes-vous sûr de vouloir supprimer l'opération n°{$operation.id}

Modified src/www/admin/compta/categories/ajouter.php from [6e722cc3e8] to [532e949958].

     1      1   <?php
            2  +
     2      3   namespace Garradin;
            4  +
            5  +use Garradin\Compta\Categories;
     3      6   
     4      7   require_once __DIR__ . '/../_inc.php';
     5      8   
     6      9   $session->requireAccess('compta', Membres::DROIT_ADMIN);
     7     10   
     8         -$cats = new Compta\Categories;
           11  +$cats = new Categories;
     9     12   
    10         -$error = false;
    11         -
    12         -if (!empty($_POST['add']))
           13  +if (f('add'))
    13     14   {
    14         -    if (!Utils::CSRF_check('compta_ajout_cat'))
    15         -    {
    16         -        $error = 'Une erreur est survenue, merci de renvoyer le formulaire.';
    17         -    }
    18         -    else
           15  +    $form->check('compta_ajout_cat', [
           16  +        'intitule' => 'required|string',
           17  +        'compte'   => 'required|in_table:compta_comptes,id',
           18  +        'type'     => 'required|in:' . implode(',', [Categories::DEPENSES, Categories::RECETTES, Categories::AUTRES]),
           19  +    ]);
           20  +
           21  +    if (!$form->hasErrors())
    19     22       {
    20     23           try
    21     24           {
    22     25               $id = $cats->add([
    23         -                'intitule'      =>  Utils::post('intitule'),
    24         -                'description'   =>  Utils::post('description'),
    25         -                'compte'        =>  Utils::post('compte'),
    26         -                'type'          =>  Utils::post('type'),
           26  +                'intitule'      =>  f('intitule'),
           27  +                'description'   =>  f('description'),
           28  +                'compte'        =>  f('compte'),
           29  +                'type'          =>  f('type'),
    27     30               ]);
    28     31   
    29         -            if (Utils::post('type') == Compta\Categories::DEPENSES)
           32  +            if (f('type') == Categories::DEPENSES)
    30     33                   $type = 'depenses';
    31         -            elseif (Utils::post('type') == Compta\Categories::AUTRES)
           34  +            elseif (f('type') == Categories::AUTRES)
    32     35                   $type = 'autres';
    33     36               else
    34     37                   $type = 'recettes';
    35     38   
    36     39               Utils::redirect('/admin/compta/categories/?'.$type);
    37     40           }
    38     41           catch (UserException $e)
    39     42           {
    40         -            $error = $e->getMessage();
           43  +            $form->addError($e->getMessage());
    41     44           }
    42     45       }
    43     46   }
    44     47   
    45         -$tpl->assign('error', $error);
    46         -
    47         -$tpl->assign('type', isset($_POST['type']) ? Utils::post('type') : Compta\Categories::RECETTES);
           48  +$tpl->assign('type', f('type') !== null ? f('type') : Categories::RECETTES);
    48     49   $tpl->assign('comptes', $comptes->listTree());
    49     50   $tpl->assign('categories', $cats);
    50     51   
    51     52   $tpl->display('admin/compta/categories/ajouter.tpl');

Modified src/www/admin/compta/categories/modifier.php from [b91c181e44] to [6f533a8d90].

     1      1   <?php
            2  +
     2      3   namespace Garradin;
            4  +
            5  +use Garradin\Compta\Categories;
     3      6   
     4      7   require_once __DIR__ . '/../_inc.php';
     5      8   
     6      9   $session->requireAccess('compta', Membres::DROIT_ADMIN);
     7     10   
     8         -$cats = new Compta\Categories;
           11  +$cats = new Categories;
     9     12   
    10     13   $id = (int)qg('id');
    11     14   $cat = $cats->get($id);
    12     15   
    13     16   if (!$cat)
    14     17   {
    15     18       throw new UserException('Cette catégorie n\'existe pas.');
    16     19   }
    17     20   
    18         -$error = false;
    19         -
    20         -if (!empty($_POST['save']))
           21  +if (f('save'))
    21     22   {
    22         -    if (!Utils::CSRF_check('compta_edit_cat_'.$cat['id']))
    23         -    {
    24         -        $error = 'Une erreur est survenue, merci de renvoyer le formulaire.';
    25         -    }
    26         -    else
           23  +    $form->check('compta_edit_cat_' . $cat->id, [
           24  +        'intitule' => 'required|string',
           25  +    ]);
           26  +
           27  +    if (!$form->hasErrors())
    27     28       {
    28     29           try
    29     30           {
    30     31               $id = $cats->edit($id, [
    31         -                'intitule'      =>  Utils::post('intitule'),
    32         -                'description'   =>  Utils::post('description'),
           32  +                'intitule'      =>  f('intitule'),
           33  +                'description'   =>  f('description'),
    33     34               ]);
    34     35   
    35         -            if ($cat['type'] == Compta\Categories::DEPENSES)
           36  +            if ($cat->type == Compta\Categories::DEPENSES)
    36     37                   $type = 'depenses';
    37         -            elseif ($cat['type'] == Compta\Categories::AUTRES)
           38  +            elseif ($cat->type == Compta\Categories::AUTRES)
    38     39                   $type = 'autres';
    39     40               else
    40     41                   $type = 'recettes';
    41     42   
    42     43               Utils::redirect('/admin/compta/categories/?'.$type);
    43     44           }
    44     45           catch (UserException $e)
    45     46           {
    46         -            $error = $e->getMessage();
           47  +            $form->addError($e->getMessage());
    47     48           }
    48     49       }
    49     50   }
    50     51   
    51         -$tpl->assign('error', $error);
    52     52   $tpl->assign('cat', $cat);
    53     53   
    54     54   $tpl->display('admin/compta/categories/modifier.tpl');

Modified src/www/admin/compta/categories/supprimer.php from [57188aaeb9] to [974d7c46fd].

     1      1   <?php
            2  +
     2      3   namespace Garradin;
            4  +
            5  +use Garradin\Compta\Categories;
     3      6   
     4      7   require_once __DIR__ . '/../_inc.php';
     5      8   
     6      9   $session->requireAccess('compta', Membres::DROIT_ADMIN);
     7     10   
     8     11   $cats = new Compta\Categories;
     9     12   
................................................................................
    13     16   if (!$cat)
    14     17   {
    15     18       throw new UserException('Cette catégorie n\'existe pas.');
    16     19   }
    17     20   
    18     21   $error = false;
    19     22   
    20         -if (!empty($_POST['delete']))
           23  +if (f('delete') && $form->check('delete_compta_cat_' . $cat->id))
    21     24   {
    22         -    if (!Utils::CSRF_check('delete_compta_cat_'.$cat['id']))
           25  +    try
    23     26       {
    24         -        $error = 'Une erreur est survenue, merci de renvoyer le formulaire.';
           27  +        $cats->delete($id);
           28  +        Utils::redirect('/admin/compta/categories/');
    25     29       }
    26         -    else
           30  +    catch (UserException $e)
    27     31       {
    28         -        try
    29         -        {
    30         -            $cats->delete($id);
    31         -            Utils::redirect('/admin/compta/categories/');
    32         -        }
    33         -        catch (UserException $e)
    34         -        {
    35         -            $error = $e->getMessage();
    36         -        }
           32  +        $form->addError($e->getMessage());
    37     33       }
    38     34   }
    39     35   
    40         -$tpl->assign('error', $error);
    41     36   $tpl->assign('cat', $cat);
    42     37   
    43     38   $tpl->display('admin/compta/categories/supprimer.tpl');

Modified src/www/admin/compta/exercices/modifier.php from [8d3dd0276d] to [fb07ad0c31].

    17     17   if ($exercice->cloture)
    18     18   {
    19     19       throw new UserException('Impossible de modifier un exercice clôturé.');
    20     20   }
    21     21   
    22     22   if ($form('edit'))
    23     23   {
    24         -    $form->check('compta_modif_exercice_' . $exercice->id);
    25         -
    26         -    $form->validate([
           24  +    $form->check('compta_modif_exercice_' . $exercice->id, [
    27     25           'libelle' => 'required',
    28     26           'fin'     => 'required|date',
    29     27           'debut'   => 'required|date',
    30     28       ]);
    31     29   
    32     30       if (!$form->hasErrors())
    33     31       {
    34     32           try
    35     33           {
    36     34               $id = $e->edit($exercice->id, [
    37         -                'libelle'   =>  Utils::post('libelle'),
    38         -                'debut'     =>  Utils::post('debut'),
    39         -                'fin'       =>  Utils::post('fin'),
           35  +                'libelle'   =>  f('libelle'),
           36  +                'debut'     =>  f('debut'),
           37  +                'fin'       =>  f('fin'),
    40     38               ]);
    41     39   
    42     40               Utils::redirect('/admin/compta/exercices/');
    43     41           }
    44     42           catch (UserException $e)
    45     43           {
    46         -            $error = $e->getMessage();
           44  +            $form->addError($e->getMessage());
    47     45           }
    48     46       }
    49     47   }
    50     48   
    51     49   $tpl->assign('exercice', $exercice);
    52     50   
    53     51   $tpl->display('admin/compta/exercices/modifier.tpl');

Modified src/www/admin/compta/operations/modifier.php from [5caac0bd9a] to [bf4b999eb2].

    30     30       $type = $categorie->type;
    31     31   }
    32     32   else
    33     33   {
    34     34       $type = null;
    35     35   }
    36     36   
    37         -$error = false;
    38         -
    39         -if (!empty($_POST['save']))
           37  +if (f('save'))
    40     38   {
    41         -    if (!Utils::CSRF_check('compta_modifier_'.$operation['id']))
    42         -    {
    43         -        $error = 'Une erreur est survenue, merci de renvoyer le formulaire.';
    44         -    }
    45         -    else
           39  +    $form->check('compta_modifier_' . $operation->id, [
           40  +        'libelle' => 'required|string',
           41  +        'montant' => 'required|money',
           42  +        'date'    => 'required|date_format:Y-m-d',
           43  +    ]);
           44  +
           45  +    if (!$form->hasErrors())
    46     46       {
    47     47           try
    48     48           {
    49     49               if (is_null($type))
    50     50               {
    51         -                $journal->edit($operation['id'], [
    52         -                    'libelle'       =>  Utils::post('libelle'),
    53         -                    'montant'       =>  Utils::post('montant'),
    54         -                    'date'          =>  Utils::post('date'),
    55         -                    'compte_credit' =>  Utils::post('compte_credit'),
    56         -                    'compte_debit'  =>  Utils::post('compte_debit'),
    57         -                    'numero_piece'  =>  Utils::post('numero_piece'),
    58         -                    'remarques'     =>  Utils::post('remarques'),
           51  +                $journal->edit($operation->id, [
           52  +                    'libelle'       =>  f('libelle'),
           53  +                    'montant'       =>  f('montant'),
           54  +                    'date'          =>  f('date'),
           55  +                    'compte_credit' =>  f('compte_credit'),
           56  +                    'compte_debit'  =>  f('compte_debit'),
           57  +                    'numero_piece'  =>  f('numero_piece'),
           58  +                    'remarques'     =>  f('remarques'),
    59     59                   ]);
    60     60               }
    61     61               else
    62     62               {
    63         -                $cat = $cats->get(Utils::post('id_categorie'));
           63  +                $cat = $cats->get(f('id_categorie'));
    64     64   
    65     65                   if (!$cat)
    66     66                   {
    67     67                       throw new UserException('Il faut choisir une catégorie.');
    68     68                   }
    69     69   
    70         -                if (!array_key_exists(Utils::post('moyen_paiement'), $cats->listMoyensPaiement()))
           70  +                if (!array_key_exists(f('moyen_paiement'), $cats->listMoyensPaiement()))
    71     71                   {
    72     72                       throw new UserException('Moyen de paiement invalide.');
    73     73                   }
    74     74   
    75         -                if (Utils::post('moyen_paiement') == 'ES')
           75  +                if (f('moyen_paiement') == 'ES')
    76     76                   {
    77     77                       $a = Compta\Comptes::CAISSE;
    78     78                       $b = $cat->compte;
    79     79                   }
    80     80                   else
    81     81                   {
    82         -                    if (!trim(Utils::post('banque')))
           82  +                    if (!trim(f('banque')))
    83     83                       {
    84     84                           throw new UserException('Le compte bancaire choisi est invalide.');
    85     85                       }
    86     86   
    87         -                    if (!array_key_exists(Utils::post('banque'), $banques->getList()))
           87  +                    if (!array_key_exists(f('banque'), $banques->getList()))
    88     88                       {
    89     89                           throw new UserException('Le compte bancaire choisi n\'existe pas.');
    90     90                       }
    91     91   
    92         -                    $a = Utils::post('banque');
           92  +                    $a = f('banque');
    93     93                       $b = $cat->compte;
    94     94                   }
    95     95   
    96     96                   if ($type == Compta\Categories::DEPENSES)
    97     97                   {
    98     98                       $debit = $b;
    99     99                       $credit = $a;
................................................................................
   100    100                   }
   101    101                   elseif ($type == Compta\Categories::RECETTES)
   102    102                   {
   103    103                       $debit = $a;
   104    104                       $credit = $b;
   105    105                   }
   106    106   
   107         -                $journal->edit($operation['id'], [
   108         -                    'libelle'       =>  Utils::post('libelle'),
   109         -                    'montant'       =>  Utils::post('montant'),
   110         -                    'date'          =>  Utils::post('date'),
   111         -                    'moyen_paiement'=>  Utils::post('moyen_paiement'),
   112         -                    'numero_cheque' =>  Utils::post('numero_cheque'),
          107  +                $journal->edit($operation->id, [
          108  +                    'libelle'       =>  f('libelle'),
          109  +                    'montant'       =>  f('montant'),
          110  +                    'date'          =>  f('date'),
          111  +                    'moyen_paiement'=>  f('moyen_paiement'),
          112  +                    'numero_cheque' =>  f('numero_cheque'),
   113    113                       'compte_credit' =>  $credit,
   114    114                       'compte_debit'  =>  $debit,
   115         -                    'numero_piece'  =>  Utils::post('numero_piece'),
   116         -                    'remarques'     =>  Utils::post('remarques'),
   117         -                    'id_categorie'  =>  (int)$cat['id'],
          115  +                    'numero_piece'  =>  f('numero_piece'),
          116  +                    'remarques'     =>  f('remarques'),
          117  +                    'id_categorie'  =>  (int)$cat->id,
   118    118                   ]);
   119    119               }
   120    120   
   121         -            Utils::redirect('/admin/compta/operations/voir.php?id='.(int)$operation['id']);
          121  +            Utils::redirect('/admin/compta/operations/voir.php?id='.(int)$operation->id);
   122    122           }
   123    123           catch (UserException $e)
   124    124           {
   125         -            $error = $e->getMessage();
          125  +            $form->addError($e->getMessage());
   126    126           }
   127    127       }
   128    128   }
   129    129   
   130         -$tpl->assign('error', $error);
   131         -
   132    130   $tpl->assign('type', $type);
   133    131   
   134    132   if ($type === null)
   135    133   {
   136    134       $tpl->assign('comptes', $comptes->listTree());
   137    135   }
   138    136   else

Modified src/www/admin/compta/operations/supprimer.php from [dd52dcb16d] to [ad64e3417f].

     1      1   <?php
            2  +
     2      3   namespace Garradin;
     3      4   
     4      5   require_once __DIR__ . '/../_inc.php';
     5      6   
     6      7   $session->requireAccess('compta', Membres::DROIT_ADMIN);
     7      8   
     8      9   $journal = new Compta\Journal;
................................................................................
    10     11   $operation = $journal->get(qg('id'));
    11     12   
    12     13   if (!$operation)
    13     14   {
    14     15       throw new UserException("L'opération demandée n'existe pas.");
    15     16   }
    16     17   
    17         -$error = false;
    18         -
    19     18   if (f('delete'))
    20     19   {
    21         -    if (!Utils::CSRF_check('compta_supprimer_'.$operation['id']))
    22         -    {
    23         -        $error = 'Une erreur est survenue, merci de renvoyer le formulaire.';
    24         -    }
    25         -    else
           20  +    if ($form->check('compta_supprimer_' . $operation->id))
    26     21       {
    27     22           try
    28     23           {
    29     24               $journal->delete($operation->id);
    30     25               Utils::redirect('/admin/compta/operations/');
    31     26           }
    32     27           catch (UserException $e)
    33     28           {
    34         -            $error = $e->getMessage();
           29  +            $form->addError($e->getMessage());
    35     30           }
    36     31       }
    37     32   }
    38     33   
    39         -$tpl->assign('error', $error);
    40         -
    41     34   $tpl->assign('operation', $operation);
    42     35   
    43     36   $tpl->display('admin/compta/operations/supprimer.tpl');