init
[garradin.git] / www / admin / compta / comptes / ajouter.php
1 <?php
2 namespace Garradin;
3
4 require_once __DIR__ . '/../_inc.php';
5
6 if ($user['droits']['compta'] < Membres::DROIT_ADMIN)
7 {
8 throw new UserException("Vous n'avez pas le droit d'accéder à cette page.");
9 }
10
11 $classe = (int) utils::get('classe');
12
13 if (!$classe || $classe < 1 || $classe > 9)
14 {
15 throw new UserException("Cette classe de compte n'existe pas.");
16 }
17
18 $error = false;
19
20 if (!empty($_POST['add']))
21 {
22 if (!utils::CSRF_check('compta_ajout_compte'))
23 {
24 $error = 'Une erreur est survenue, merci de renvoyer le formulaire.';
25 }
26 else
27 {
28 try
29 {
30 $id = $comptes->add([
31 'id' => utils::post('numero'),
32 'libelle' => utils::post('libelle'),
33 'parent' => utils::post('parent'),
34 'position' => utils::post('position'),
35 ]);
36
37 utils::redirect('/admin/compta/comptes/?classe='.$classe);
38 }
39 catch (UserException $e)
40 {
41 $error = $e->getMessage();
42 }
43 }
44 }
45
46 $tpl->assign('error', $error);
47
48 $parent = $comptes->get(utils::post('parent') ?: $classe);
49
50 $tpl->assign('positions', $comptes->getPositions());
51 $tpl->assign('position', utils::post('position') ?: $parent['position']);
52 $tpl->assign('comptes', $comptes->listTree($classe));
53
54 $tpl->display('admin/compta/comptes/ajouter.tpl');
55
56 ?>