Skip to content

Commit 3efad79

Browse files
committed
Refonte - Trésorerie > Journal > Ajout/Edition
1 parent a533b75 commit 3efad79

File tree

17 files changed

+559
-251
lines changed

17 files changed

+559
-251
lines changed

app/config/packages/backoffice_menu.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,9 @@ parameters:
224224
compta_journal:
225225
nom: 'Journal'
226226
niveau: 'ROLE_ADMIN'
227+
extra_routes:
228+
- admin_accounting_journal_add
229+
- admin_accounting_journal_edit
227230
compta_conf_evenement:
228231
nom: 'Configuration'
229232
niveau: 'ROLE_ADMIN'

app/config/routing/admin_accounting/journal.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,3 +33,15 @@ admin_accounting_journal_export:
3333
path: /export
3434
defaults:
3535
_controller: AppBundle\Controller\Admin\Accounting\Journal\ExportAction
36+
37+
admin_accounting_journal_add:
38+
path: /add
39+
defaults:
40+
_controller: AppBundle\Controller\Admin\Accounting\Journal\AddTransactionAction
41+
42+
admin_accounting_journal_edit:
43+
path: /edit/{id}
44+
requirements:
45+
id: '\d+'
46+
defaults:
47+
_controller: AppBundle\Controller\Admin\Accounting\Journal\EditTransactionAction

htdocs/pages/administration/compta_journal.php

Lines changed: 0 additions & 191 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
// Impossible to access the file itself
66
use Afup\Site\Comptabilite\Comptabilite;
7-
use Afup\Site\Utils\Logs;
87

98
if (!defined('PAGE_LOADED_USING_INDEX')) {
109
trigger_error("Direct access forbidden.", E_USER_ERROR);
@@ -60,196 +59,6 @@
6059
} elseif ($action == 'credit') {
6160
$journal = $compta->obtenirJournal('2',$periode_debut,$periode_fin, !$alsoDisplayClassifed);
6261
$smarty->assign('journal', $journal);
63-
} elseif ($action == 'ajouter' || $action == 'modifier') {
64-
$formulaire = instancierFormulaire();
65-
66-
if ($action === 'modifier') {
67-
$champsRecup = $compta->obtenir((int) $_GET['id']);
68-
69-
$champs['idcompte'] = $champsRecup['idcompte'];
70-
$champs['date_saisie'] = $champsRecup['date_ecriture'];
71-
$champs['idoperation'] = $champsRecup['idoperation'];
72-
$champs['idcategorie'] = $champsRecup['idcategorie'];
73-
$champs['nom_frs'] = $champsRecup['nom_frs'];
74-
$champs['tva_intra'] = $champsRecup['tva_intra'];
75-
$champs['montant'] = $champsRecup['montant'];
76-
$champs['description'] = $champsRecup['description'];
77-
$champs['numero'] = $champsRecup['numero'];
78-
$champs['idmode_regl'] = $champsRecup['idmode_regl'];
79-
$champs['date_reglement'] = $champsRecup['date_regl'];
80-
$champs['obs_regl'] = $champsRecup['obs_regl'];
81-
$champs['idevenement'] = $champsRecup['idevenement'];
82-
$champs['comment'] = $champsRecup['comment'];
83-
$champs['montant_ht_soumis_tva_0'] = $champsRecup['montant_ht_soumis_tva_0'];
84-
$champs['montant_ht_soumis_tva_5_5'] = $champsRecup['montant_ht_soumis_tva_5_5'];
85-
$champs['montant_ht_soumis_tva_10'] = $champsRecup['montant_ht_soumis_tva_10'];
86-
$champs['montant_ht_soumis_tva_20'] = $champsRecup['montant_ht_soumis_tva_20'];
87-
$champs['tva_zone'] = $champsRecup['tva_zone'];
88-
89-
90-
91-
//$formulaire->setDefaults($champsRecup);
92-
$formulaire->addElement('hidden', 'id', $_GET['id']);
93-
} else {
94-
$champs['idcompte'] = 1;
95-
$champs['date_saisie'] = date('Y-m-d');
96-
$champs['date_reglement'] = date('Y-m-d');
97-
}
98-
$formulaire->setDefaults($champs);
99-
100-
// facture associé à un évènement
101-
$formulaire->addElement('header' , '' , 'Sélectionner un Journal');
102-
$formulaire->addElement('select' , 'idoperation', 'Type d\'opération', $compta->obtenirListOperations());
103-
$formulaire->addElement('select' , 'idcompte' , 'Compte', $compta->obtenirListComptes());
104-
$formulaire->addElement('select' , 'idevenement', 'Evenement', $compta->obtenirListEvenements());
105-
106-
//detail facture
107-
$formulaire->addElement('header' , '' , 'Détail Facture');
108-
109-
//$mois=10;
110-
$formulaire->addElement('date' , 'date_saisie' , 'Date saisie', ['language' => 'fr',
111-
'format' => 'd F Y',
112-
'minYear' => date('Y') - 5,
113-
'maxYear' => date('Y') + 1]);
114-
115-
$formulaire->addElement('select' , 'idcategorie', 'Type de compte', $compta->obtenirListCategories());
116-
$formulaire->addElement('text', 'nom_frs', 'Nom fournisseurs' , ['size' => 30, 'maxlength' => 40]);
117-
$formulaire->addElement('text' , 'tva_intra' , 'TVA intracommunautaire (facture)', ['size' => 30, 'maxlength' => 100]);
118-
$formulaire->addElement('text', 'numero', 'Numero facture' , ['size' => 30, 'maxlength' => 40]);
119-
$formulaire->addElement('textarea', 'description', 'Description', ['cols' => 42, 'rows' => 5]);
120-
$formulaire->addElement('text', 'montant', 'Montant' , ['size' => 30, 'maxlength' => 40, 'id' => 'compta_journal_montant']);
121-
$formulaire->addElement('text', 'comment', 'Commentaire' , ['size' => 30, 'maxlength' => 255]);
122-
123-
$formulaire->addElement('header' , '' , 'TVA');
124-
$formulaire->addElement('text', 'montant_ht_soumis_tva_5_5', 'Montant HT soumis à TVA 5.5%' , ['size' => 30, 'maxlength' => 40, 'id' => 'compta_journal_ht_5_5']);
125-
$formulaire->addElement('static' , 'note', '', '<a href="#" id="apply-vat-5-5">Calculer le montant HT soumis à TVA 5.5% sur la base de l\'intégralité du montant TTC</a><br /><br />');
126-
$formulaire->addElement('text', 'montant_ht_soumis_tva_10', 'Montant HT soumis à TVA 10%' , ['size' => 30, 'maxlength' => 40, 'id' => 'compta_journal_ht_10']);
127-
$formulaire->addElement('static' , 'note', '', '<a href="#" id="apply-vat-10">Calculer le montant HT soumis à TVA 10% sur la base de l\'intégralité du montant TTC</a><br /><br />');
128-
$formulaire->addElement('text', 'montant_ht_soumis_tva_20', 'Montant HT soumis à TVA 20%' , ['size' => 30, 'maxlength' => 40, 'id' => 'compta_journal_ht_20']);
129-
$formulaire->addElement('static' , 'note', '', '<a href="#" id="apply-vat-20">Calculer le montant HT soumis à TVA 20% sur la base de l\'intégralité du montant TTC</a><br /><br />');
130-
$formulaire->addElement('text', 'montant_ht_soumis_tva_0', 'Montant HT non soumis à TVA' , ['size' => 30, 'maxlength' => 40, 'id' => 'compta_journal_ht_0']);
131-
$formulaire->addElement('static' , 'note', '', '<a href="#" id="apply-vat-0">Calculer le montant non soumis à TVA sur la base de l\'intégralité du montant TTC</a><br /><br />');
132-
133-
$formulaire->addElement('select' , 'tva_zone', 'Zone TVA', array_merge(['' => 'Non définie'], Comptabilite::TVA_ZONES));
134-
135-
//reglement
136-
$formulaire->addElement('header' , '' , 'Réglement');
137-
$formulaire->addElement('select' , 'idmode_regl', 'Réglement', $compta->obtenirListReglements());
138-
$formulaire->addElement('date' , 'date_reglement' , 'Date', ['language' => 'fr',
139-
'format' => 'd F Y',
140-
'minYear' => date('Y') - 5,
141-
'maxYear' => date('Y') + 1]);
142-
$formulaire->addElement('text', 'obs_regl', 'Info reglement' , ['size' => 30, 'maxlength' => 40]);
143-
144-
145-
// boutons
146-
$formulaire->addElement('header' , 'boutons' , '');
147-
$formulaire->addElement('submit' , 'soumettre' , ucfirst($action));
148-
149-
// 2012-02-18 A. Gendre
150-
$passer = null;
151-
if ($action !== 'ajouter') {
152-
$res = $compta->obtenirSuivantADeterminer($_GET['id']);
153-
if (is_array($res)) {
154-
$passer = $res['id'];
155-
$formulaire->addElement('submit', 'soumettrepasser' , 'Soumettre & passer');
156-
$formulaire->addElement('submit', 'passer' , 'Passer');
157-
}
158-
}
159-
160-
// ajoute des regles
161-
$formulaire->addRule('idoperation' , 'Type d\'opération manquant' , 'required');
162-
$formulaire->addRule('idcompte' , 'Compte manquant' , 'required');
163-
$formulaire->addRule('idoperation' , 'Type d\'opération manquant' , 'nonzero');
164-
$formulaire->addRule('idevenement' , 'Evenement manquant' , 'required');
165-
$formulaire->addRule('idevenement' , 'Evenement manquant' , 'nonzero');
166-
$formulaire->addRule('idcategorie' , 'Type de compte manquant' , 'required');
167-
$formulaire->addRule('idcategorie' , 'Type de compte manquant' , 'nonzero');
168-
$formulaire->addRule('montant' , 'Montant manquant' , 'required');
169-
170-
171-
// 2012-02-18 A. Gendre
172-
if (isset($_POST['passer']) && isset($passer)) {
173-
afficherMessage('L\'écriture n\'a pas été ' . (($action === 'ajouter') ? 'ajoutée' : 'modifiée'), 'index.php?page=compta_journal&action=modifier&id=' . $passer);
174-
return;
175-
}
176-
177-
if ($formulaire->validate()) {
178-
$valeur = $formulaire->exportValues();
179-
180-
$date_ecriture = $valeur['date_saisie']['Y'] . "-" . $valeur['date_saisie']['F'] . "-" . $valeur['date_saisie']['d'] ;
181-
$date_regl = $valeur['date_reglement']['Y'] . "-" . $valeur['date_reglement']['F'] . "-" . $valeur['date_reglement']['d'] ;
182-
183-
if ($action === 'ajouter') {
184-
$ok = $compta->ajouter(
185-
$valeur['idoperation'],
186-
$valeur['idcompte'],
187-
$valeur['idcategorie'],
188-
$date_ecriture,
189-
$valeur['nom_frs'],
190-
$valeur['tva_intra'],
191-
$valeur['montant'],
192-
$valeur['description'],
193-
$valeur['numero'],
194-
$valeur['idmode_regl'],
195-
$date_regl,
196-
$valeur['obs_regl'],
197-
$valeur['idevenement'],
198-
$valeur['comment'],
199-
0,
200-
$valeur['montant_ht_soumis_tva_0'],
201-
$valeur['montant_ht_soumis_tva_5_5'],
202-
$valeur['montant_ht_soumis_tva_10'],
203-
$valeur['montant_ht_soumis_tva_20'],
204-
$valeur['tva_zone'],
205-
206-
);
207-
} else {
208-
$ok = $compta->modifier(
209-
$valeur['id'],
210-
$valeur['idoperation'],
211-
$valeur['idcompte'],
212-
$valeur['idcategorie'],
213-
$date_ecriture,
214-
$valeur['nom_frs'],
215-
$valeur['tva_intra'],
216-
$valeur['montant'],
217-
$valeur['description'],
218-
$valeur['numero'],
219-
$valeur['idmode_regl'],
220-
$date_regl,
221-
$valeur['obs_regl'],
222-
$valeur['idevenement'],
223-
$valeur['comment'],
224-
null,
225-
0,
226-
$valeur['montant_ht_soumis_tva_0'],
227-
$valeur['montant_ht_soumis_tva_5_5'],
228-
$valeur['montant_ht_soumis_tva_10'],
229-
$valeur['montant_ht_soumis_tva_20'],
230-
$valeur['tva_zone'],
231-
);
232-
}
233-
if ($ok) {
234-
if ($action === 'ajouter') {
235-
Logs::log('Ajout une écriture ' . $formulaire->exportValue('titre'));
236-
} else {
237-
Logs::log('Modification une écriture ' . $formulaire->exportValue('titre') . ' (' . $_GET['id'] . ')');
238-
}
239-
// 2012-02-18 A. Gendre
240-
if (isset($_POST['soumettrepasser']) && isset($passer)) {
241-
$urlredirect = 'index.php?page=compta_journal&action=modifier&id=' . $passer;
242-
} else {
243-
$urlredirect = 'index.php?page=compta_journal&action=lister#L' . $valeur['id'];
244-
}
245-
afficherMessage('L\'écriture a été ' . (($action === 'ajouter') ? 'ajoutée' : 'modifiée'), $urlredirect);
246-
} else {
247-
$smarty->assign('erreur', 'Une erreur est survenue lors de ' . (($action === 'ajouter') ? "l'ajout" : 'la modification') . ' de l\'écriture');
248-
}
249-
}
250-
251-
252-
$smarty->assign('formulaire', genererFormulaire($formulaire));
25362
}
25463

25564
/*

htdocs/templates/administration/compta_journal.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<h2>Journal</h2>
44

55
<div class="ui menu">
6-
<a href="index.php?page=compta_journal&amp;action=ajouter" class="item">
6+
<a href="/admin/accounting/journal/add" class="item">
77
<div data-tooltip="Ajouter une écriture" data-position="bottom left">
88
<i class="icon plus square"></i>
99
Ajouter
@@ -181,7 +181,7 @@ <h2>Journal</h2>
181181
<i class="comment {if $ecriture.comment}{else}outline{/if} icon"></i>
182182
</a>
183183

184-
<a href="index.php?page=compta_journal&amp;action=modifier&amp;id={$ecriture.idtmp}"
184+
<a href="/admin/accounting/journal/edit/{$ecriture.idtmp}"
185185
data-position="left center"
186186
data-tooltip="Modifier la ligne {$ecriture.description}"
187187
class="compact ui icon button"

sources/Afup/Comptabilite/Comptabilite.php

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -666,23 +666,6 @@ public function obtenirParNumeroOperation($numero_operation)
666666
return $this->_bdd->obtenirEnregistrement($requete);
667667
}
668668

669-
public function obtenirSuivantADeterminer($numero_operation)
670-
{
671-
$requete = 'SELECT';
672-
$requete .= ' id ';
673-
$requete .= 'FROM';
674-
$requete .= ' compta ';
675-
$requete .= 'WHERE ';
676-
$requete .= ' (';
677-
$requete .= ' idcategorie = 26 ';
678-
$requete .= ' OR ';
679-
$requete .= ' idevenement = 8';
680-
$requete .= ' )';
681-
$requete .= ' AND id > ' . $this->_bdd->echapper($numero_operation);
682-
$requete .= ' LIMIT 1;';
683-
return $this->_bdd->obtenirEnregistrement($requete);
684-
}
685-
686669
public function obtenirTous()
687670
{
688671
$requete = 'SELECT';

sources/AppBundle/Accounting/Entity/Repository/EventRepository.php

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,13 @@ public function __construct(ManagerRegistry $registry)
2121
/**
2222
* @return array<Event>
2323
*/
24-
public function getAllSortedByName(): array
24+
public function getAllSortedByName(bool $usedInAccountingJournal = false): array
2525
{
26-
return $this->createQueryBuilder('e')
27-
->orderBy('e.name', 'asc')
26+
$query = $this->createQueryBuilder('e');
27+
if ($usedInAccountingJournal) {
28+
$query->andWhere('e.hideInAccountingJournalAt IS NULL');
29+
}
30+
return $query->orderBy('e.name', 'asc')
2831
->getQuery()
2932
->execute();
3033
}

0 commit comments

Comments
 (0)