OpenConcerto

Dépôt officiel du code source de l'ERP OpenConcerto
sonarqube

svn://code.openconcerto.org/openconcerto

Rev

Rev 177 | Rev 182 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
67 ilm 1
/*
2
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
3
 *
4
 * Copyright 2011 OpenConcerto, by ILM Informatique. All rights reserved.
5
 *
6
 * The contents of this file are subject to the terms of the GNU General Public License Version 3
7
 * only ("GPL"). You may not use this file except in compliance with the License. You can obtain a
8
 * copy of the License at http://www.gnu.org/licenses/gpl-3.0.html See the License for the specific
9
 * language governing permissions and limitations under the License.
10
 *
11
 * When distributing the software, include this License Header Notice in each file.
12
 */
13
 
14
 package org.openconcerto.erp.config;
15
 
16
import org.openconcerto.erp.action.AboutAction;
17
import org.openconcerto.erp.action.AstuceAction;
18
import org.openconcerto.erp.action.GestionDroitsAction;
83 ilm 19
import org.openconcerto.erp.action.ListeBanqueAction;
67 ilm 20
import org.openconcerto.erp.action.NouvelleSocieteAction;
21
import org.openconcerto.erp.action.PreferencesAction;
22
import org.openconcerto.erp.action.SauvegardeBaseAction;
23
import org.openconcerto.erp.action.TaskAdminAction;
24
import org.openconcerto.erp.action.list.ListeDesSocietesCommonsAction;
25
import org.openconcerto.erp.action.list.ListeDesUsersCommonAction;
26
import org.openconcerto.erp.core.customerrelationship.customer.action.ListeDesClientsAction;
27
import org.openconcerto.erp.core.customerrelationship.customer.action.ListeDesContactsAction;
93 ilm 28
import org.openconcerto.erp.core.customerrelationship.customer.action.ListeDesDepartementsClientsAction;
67 ilm 29
import org.openconcerto.erp.core.customerrelationship.customer.action.NouvelHistoriqueListeClientAction;
30
import org.openconcerto.erp.core.customerrelationship.mail.action.ListeDesCourriersClientsAction;
174 ilm 31
import org.openconcerto.erp.core.customerrelationship.mail.action.ListeDesModelesEmailAction;
67 ilm 32
import org.openconcerto.erp.core.finance.accounting.action.BalanceAgeeAction;
33
import org.openconcerto.erp.core.finance.accounting.action.CompteResultatBilanAction;
34
import org.openconcerto.erp.core.finance.accounting.action.EtatBalanceAction;
35
import org.openconcerto.erp.core.finance.accounting.action.EtatChargeAction;
36
import org.openconcerto.erp.core.finance.accounting.action.EtatGrandLivreAction;
37
import org.openconcerto.erp.core.finance.accounting.action.EtatJournauxAction;
38
import org.openconcerto.erp.core.finance.accounting.action.ExportRelationExpertAction;
39
import org.openconcerto.erp.core.finance.accounting.action.GenerePointageAction;
40
import org.openconcerto.erp.core.finance.accounting.action.GestionPlanComptableEAction;
93 ilm 41
import org.openconcerto.erp.core.finance.accounting.action.ImportEcritureAction;
177 ilm 42
import org.openconcerto.erp.core.finance.accounting.action.ImportEcritureFECAction;
83 ilm 43
import org.openconcerto.erp.core.finance.accounting.action.ImpressionJournauxAnalytiqueAction;
67 ilm 44
import org.openconcerto.erp.core.finance.accounting.action.ImpressionLivrePayeAction;
93 ilm 45
import org.openconcerto.erp.core.finance.accounting.action.ImpressionRepartitionAnalytiqueAction;
156 ilm 46
import org.openconcerto.erp.core.finance.accounting.action.ListeDesCategorieComptableAction;
142 ilm 47
import org.openconcerto.erp.core.finance.accounting.action.ListeDesComptesAction;
83 ilm 48
import org.openconcerto.erp.core.finance.accounting.action.ListeDesDevisesAction;
67 ilm 49
import org.openconcerto.erp.core.finance.accounting.action.ListeDesEcrituresAction;
83 ilm 50
import org.openconcerto.erp.core.finance.accounting.action.ListeDesEcrituresAnalytiquesAction;
80 ilm 51
import org.openconcerto.erp.core.finance.accounting.action.ListeDesJournauxAction;
94 ilm 52
import org.openconcerto.erp.core.finance.accounting.action.ListeDesPostesAnalytiquesAction;
93 ilm 53
import org.openconcerto.erp.core.finance.accounting.action.ListeDesTauxDeChangeAction;
67 ilm 54
import org.openconcerto.erp.core.finance.accounting.action.ListeEcritureParClasseAction;
55
import org.openconcerto.erp.core.finance.accounting.action.NouveauClotureAction;
156 ilm 56
import org.openconcerto.erp.core.finance.accounting.action.NouveauClotureSansAnouveauxAction;
67 ilm 57
import org.openconcerto.erp.core.finance.accounting.action.NouveauLettrageAction;
58
import org.openconcerto.erp.core.finance.accounting.action.NouveauPointageAction;
59
import org.openconcerto.erp.core.finance.accounting.action.NouvelleValidationAction;
60
import org.openconcerto.erp.core.finance.accounting.action.ResultatAnalytiqueAction;
149 ilm 61
import org.openconcerto.erp.core.finance.accounting.ui.SaisieJournalAction;
67 ilm 62
import org.openconcerto.erp.core.finance.payment.action.ListeDesChequesAEncaisserAction;
63
import org.openconcerto.erp.core.finance.payment.action.ListeDesChequesAvoirAction;
64
import org.openconcerto.erp.core.finance.payment.action.ListeDesChequesFournisseursAction;
156 ilm 65
import org.openconcerto.erp.core.finance.payment.action.ListeDesDepostChequesAction;
67 ilm 66
import org.openconcerto.erp.core.finance.payment.action.ListeDesEncaissementsAction;
67
import org.openconcerto.erp.core.finance.payment.action.ListeDesReferencesAction;
68
import org.openconcerto.erp.core.finance.payment.action.ListeDesRelancesAction;
69
import org.openconcerto.erp.core.finance.payment.action.ListeDesTraitesFournisseursAction;
70
import org.openconcerto.erp.core.finance.payment.action.NouveauDecaissementChequeAvoirAction;
71
import org.openconcerto.erp.core.finance.payment.action.NouveauListeDesChequesADecaisserAction;
72
import org.openconcerto.erp.core.finance.payment.action.NouveauListeDesChequesAEncaisserAction;
174 ilm 73
import org.openconcerto.erp.core.finance.payment.element.EncaisserMontantSQLElement;
142 ilm 74
import org.openconcerto.erp.core.finance.tax.action.ReportingEcoContributionPanel;
144 ilm 75
import org.openconcerto.erp.core.finance.tax.action.ReportingTaxeComplementairePanel;
67 ilm 76
import org.openconcerto.erp.core.humanresources.ListeDesContactsAdministratif;
142 ilm 77
import org.openconcerto.erp.core.humanresources.employe.action.ListeDesAyantsDroitsAction;
78
import org.openconcerto.erp.core.humanresources.employe.action.ListeDesCaissesCotisationsAction;
67 ilm 79
import org.openconcerto.erp.core.humanresources.employe.action.ListeDesCommerciauxAction;
142 ilm 80
import org.openconcerto.erp.core.humanresources.employe.action.ListeDesContratsPrevoyanceAction;
67 ilm 81
import org.openconcerto.erp.core.humanresources.employe.action.ListeDesSalariesAction;
82
import org.openconcerto.erp.core.humanresources.employe.action.ListeDesSecretairesAction;
83
import org.openconcerto.erp.core.humanresources.employe.action.N4DSAction;
84
import org.openconcerto.erp.core.humanresources.payroll.action.ClotureMensuellePayeAction;
85
import org.openconcerto.erp.core.humanresources.payroll.action.EditionFichePayeAction;
142 ilm 86
import org.openconcerto.erp.core.humanresources.payroll.action.ListeDesInfosSalariePayeAction;
67 ilm 87
import org.openconcerto.erp.core.humanresources.payroll.action.ListeDesProfilsPayeAction;
88
import org.openconcerto.erp.core.humanresources.payroll.action.ListeDesRubriquesDePayeAction;
89
import org.openconcerto.erp.core.humanresources.payroll.action.ListeDesVariablesPayes;
90
import org.openconcerto.erp.core.humanresources.payroll.action.NouvelAcompteAction;
91
import org.openconcerto.erp.core.humanresources.payroll.action.NouvelHistoriqueFichePayeAction;
92
import org.openconcerto.erp.core.humanresources.payroll.action.NouvelleSaisieKmAction;
93
import org.openconcerto.erp.core.reports.stat.action.EvolutionCAAction;
90 ilm 94
import org.openconcerto.erp.core.reports.stat.action.EvolutionCACumulAction;
95
import org.openconcerto.erp.core.reports.stat.action.EvolutionCmdAction;
96
import org.openconcerto.erp.core.reports.stat.action.EvolutionCmdCumulAction;
67 ilm 97
import org.openconcerto.erp.core.reports.stat.action.EvolutionMargeAction;
174 ilm 98
import org.openconcerto.erp.core.reports.stat.action.ReportingCommercialAction;
180 ilm 99
import org.openconcerto.erp.core.reports.stat.action.ReportingCommercialFournisseurAction;
90 ilm 100
import org.openconcerto.erp.core.reports.stat.action.VenteArticleFamilleGraphAction;
67 ilm 101
import org.openconcerto.erp.core.reports.stat.action.VenteArticleGraphAction;
102
import org.openconcerto.erp.core.reports.stat.action.VenteArticleMargeGraphAction;
103
import org.openconcerto.erp.core.sales.credit.action.ListeDesAvoirsClientsAction;
104
import org.openconcerto.erp.core.sales.credit.action.NouveauAvoirClientAction;
105
import org.openconcerto.erp.core.sales.invoice.action.EtatVenteAction;
144 ilm 106
import org.openconcerto.erp.core.sales.invoice.action.GenEtatStockAction;
67 ilm 107
import org.openconcerto.erp.core.sales.invoice.action.GenListeVenteAction;
144 ilm 108
import org.openconcerto.erp.core.sales.invoice.action.GenReportingVenteAction;
174 ilm 109
import org.openconcerto.erp.core.sales.invoice.action.ImportReglementSageAction;
67 ilm 110
import org.openconcerto.erp.core.sales.invoice.action.ListeDebiteursAction;
111
import org.openconcerto.erp.core.sales.invoice.action.ListeDesElementsFactureAction;
149 ilm 112
import org.openconcerto.erp.core.sales.invoice.action.ListeDesFactureItemsAction;
67 ilm 113
import org.openconcerto.erp.core.sales.invoice.action.ListeDesVentesAction;
177 ilm 114
import org.openconcerto.erp.core.sales.invoice.action.ListeEcheancePrelevementAction;
151 ilm 115
import org.openconcerto.erp.core.sales.invoice.action.ListeSDDMessageAction;
67 ilm 116
import org.openconcerto.erp.core.sales.invoice.action.ListeSaisieVenteFactureAction;
117
import org.openconcerto.erp.core.sales.invoice.action.ListesFacturesClientsImpayeesAction;
118
import org.openconcerto.erp.core.sales.invoice.action.NouveauSaisieVenteComptoirAction;
119
import org.openconcerto.erp.core.sales.invoice.action.NouveauSaisieVenteFactureAction;
156 ilm 120
import org.openconcerto.erp.core.sales.invoice.report.ReportingClientPanel;
180 ilm 121
import org.openconcerto.erp.core.sales.invoice.report.SituationCompteClientPanel;
67 ilm 122
import org.openconcerto.erp.core.sales.order.action.ListeDesCommandesClientAction;
151 ilm 123
import org.openconcerto.erp.core.sales.order.action.ListeDesCommandesClientItemsAction;
142 ilm 124
import org.openconcerto.erp.core.sales.order.action.ListeDesElementsACommanderClientAction;
144 ilm 125
import org.openconcerto.erp.core.sales.order.action.ListeDesFacturationCommandesClientAction;
67 ilm 126
import org.openconcerto.erp.core.sales.order.action.NouvelleCommandeClientAction;
127
import org.openconcerto.erp.core.sales.pos.action.ListeDesCaissesTicketAction;
128
import org.openconcerto.erp.core.sales.product.action.FamilleArticleAction;
129
import org.openconcerto.erp.core.sales.product.action.ListeDesArticlesAction;
142 ilm 130
import org.openconcerto.erp.core.sales.product.action.ListeEcoContributionAction;
144 ilm 131
import org.openconcerto.erp.core.sales.product.action.ListeHistoCodeClientArticleAction;
174 ilm 132
import org.openconcerto.erp.core.sales.product.action.TransfertStockAction;
67 ilm 133
import org.openconcerto.erp.core.sales.quote.action.ListeDesDevisAction;
156 ilm 134
import org.openconcerto.erp.core.sales.quote.action.ListeDesDevisActionTCP;
93 ilm 135
import org.openconcerto.erp.core.sales.quote.action.ListeDesElementsDevisAction;
67 ilm 136
import org.openconcerto.erp.core.sales.quote.action.NouveauDevisAction;
137
import org.openconcerto.erp.core.sales.shipment.action.ListeDesBonsDeLivraisonAction;
142 ilm 138
import org.openconcerto.erp.core.sales.shipment.action.ListeDesReliquatsBonsLivraisonsAction;
67 ilm 139
import org.openconcerto.erp.core.sales.shipment.action.NouveauBonLivraisonAction;
140
import org.openconcerto.erp.core.supplychain.credit.action.ListeDesAvoirsFournisseurAction;
141
import org.openconcerto.erp.core.supplychain.credit.action.NouvelAvoirFournisseurAction;
142
import org.openconcerto.erp.core.supplychain.order.action.ListeDesCommandesAction;
144 ilm 143
import org.openconcerto.erp.core.supplychain.order.action.ListeDesDemandesAchatsAction;
144
import org.openconcerto.erp.core.supplychain.order.action.ListeDesDemandesPrixAction;
142 ilm 145
import org.openconcerto.erp.core.supplychain.order.action.ListeDesElementsACommanderAction;
80 ilm 146
import org.openconcerto.erp.core.supplychain.order.action.ListeDesFacturesFournisseurAction;
67 ilm 147
import org.openconcerto.erp.core.supplychain.order.action.ListeSaisieAchatAction;
148
import org.openconcerto.erp.core.supplychain.order.action.NouveauSaisieAchatAction;
149
import org.openconcerto.erp.core.supplychain.order.action.NouvelleCommandeAction;
156 ilm 150
import org.openconcerto.erp.core.supplychain.order.action.NouvelleDemandePrixAction;
80 ilm 151
import org.openconcerto.erp.core.supplychain.order.action.NouvelleFactureFournisseurAction;
83 ilm 152
import org.openconcerto.erp.core.supplychain.product.action.ListeDesArticlesFournisseurAction;
67 ilm 153
import org.openconcerto.erp.core.supplychain.receipt.action.ListeDesBonsReceptionsAction;
94 ilm 154
import org.openconcerto.erp.core.supplychain.receipt.action.ListeDesReliquatsBonsReceptionsAction;
67 ilm 155
import org.openconcerto.erp.core.supplychain.receipt.action.NouveauBonReceptionAction;
156 ilm 156
import org.openconcerto.erp.core.supplychain.stock.action.ListeDesDepotsStocksAction;
157
import org.openconcerto.erp.core.supplychain.stock.action.ListeDesEtatsStocksAction;
67 ilm 158
import org.openconcerto.erp.core.supplychain.stock.action.ListeDesMouvementsStockAction;
156 ilm 159
import org.openconcerto.erp.core.supplychain.stock.action.ListeDesStocksAction;
67 ilm 160
import org.openconcerto.erp.core.supplychain.stock.action.NouvelleSaisieMouvementStockAction;
161
import org.openconcerto.erp.core.supplychain.supplier.action.ListeDesContactsFournisseursAction;
162
import org.openconcerto.erp.core.supplychain.supplier.action.ListeDesFournisseursAction;
163
import org.openconcerto.erp.core.supplychain.supplier.action.ListesFacturesFournImpayeesAction;
164
import org.openconcerto.erp.core.supplychain.supplier.action.NouvelHistoriqueListeFournAction;
165
import org.openconcerto.erp.modules.ModuleFrame;
166
import org.openconcerto.erp.preferences.DefaultNXProps;
156 ilm 167
import org.openconcerto.erp.preferences.GestionArticleGlobalPreferencePanel;
93 ilm 168
import org.openconcerto.erp.preferences.GestionClientPreferencePanel;
67 ilm 169
import org.openconcerto.erp.rights.ComptaUserRight;
170
import org.openconcerto.erp.rights.NXRights;
80 ilm 171
import org.openconcerto.erp.utils.correct.CorrectMouvement;
172
import org.openconcerto.sql.model.DBRoot;
173
import org.openconcerto.sql.model.SQLSelect;
93 ilm 174
import org.openconcerto.sql.preferences.SQLPreferences;
67 ilm 175
import org.openconcerto.sql.users.rights.LockAdminUserRight;
176
import org.openconcerto.sql.users.rights.UserRights;
83 ilm 177
import org.openconcerto.sql.users.rights.UserRightsManager;
178
import org.openconcerto.sql.utils.BackupPanel;
80 ilm 179
import org.openconcerto.ui.FrameUtil;
142 ilm 180
import org.openconcerto.ui.PanelFrame;
67 ilm 181
import org.openconcerto.ui.group.Group;
182
import org.openconcerto.ui.group.LayoutHints;
183
 
80 ilm 184
import java.awt.Component;
67 ilm 185
import java.awt.event.ActionEvent;
80 ilm 186
import java.util.List;
67 ilm 187
 
188
import javax.swing.AbstractAction;
80 ilm 189
import javax.swing.JOptionPane;
67 ilm 190
 
73 ilm 191
public class DefaultMenuConfiguration implements MenuConfiguration {
144 ilm 192
    private ComptaPropsConfiguration configuration;
193
 
194
    public DefaultMenuConfiguration(ComptaPropsConfiguration configuration) {
195
        this.configuration = configuration;
196
    }
197
 
198
    public ComptaPropsConfiguration getConfiguration() {
199
        return configuration;
200
    }
201
 
67 ilm 202
    public void registerMenuTranslations() {
203
 
204
    }
205
 
73 ilm 206
    @Override
144 ilm 207
    public MenuAndActions createMenuAndActions() {
73 ilm 208
        final MenuAndActions res = new MenuAndActions();
209
        this.createMenuGroup(res.getGroup());
210
        this.registerMenuActions(res);
211
        return res;
212
    }
213
 
144 ilm 214
    public void createMenuGroup(Group mGroup) {
142 ilm 215
        final UserRights rights = UserRightsManager.getCurrentUserRights();
67 ilm 216
 
217
        mGroup.add(createFilesMenuGroup());
218
        mGroup.add(createCreationMenuGroup());
219
        mGroup.add(createListMenuGroup());
220
        if (rights.haveRight(ComptaUserRight.MENU)) {
221
            mGroup.add(createAccountingMenuGroup());
222
            mGroup.add(createStatsDocumentsGroup());
223
        }
224
        if (rights.haveRight(NXRights.ACCES_MENU_STAT.getCode())) {
225
            mGroup.add(createStatsMenuGroup());
226
        }
227
            mGroup.add(createPaymentMenuGroup());
228
        if (rights.haveRight(NXRights.LOCK_MENU_PAYE.getCode())) {
229
            mGroup.add(createPayrollMenuGroup());
230
        }
231
        if (rights.haveRight(NXRights.ACCES_MENU_STRUCTURE.getCode())) {
232
            mGroup.add(createOrganizationMenuGroup());
233
        }
234
        mGroup.add(createHelpMenuGroup());
235
        if (rights.haveRight(NXRights.LOCK_MENU_TEST.getCode())) {
236
            mGroup.add(createTestMenuGroup());
237
        }
238
 
239
    }
240
 
90 ilm 241
    public void registerMenuActions(final MenuAndActions ma) {
73 ilm 242
        registerFilesMenuActions(ma);
243
        registerCreationMenuActions(ma);
244
        registerListMenuActions(ma);
245
        registerAccountingMenuActions(ma);
246
        registerStatsDocumentsActions(ma);
247
        registerStatsMenuActions(ma);
248
        registerPaymentMenuActions(ma);
249
        registerPayrollMenuActions(ma);
250
        registerOrganizationMenuActions(ma);
251
        registerHelpMenuActions(ma);
252
        registerHelpTestActions(ma);
67 ilm 253
    }
254
 
255
    /**
256
     * Groups
257
     */
144 ilm 258
    public Group createFilesMenuGroup() {
73 ilm 259
        Group group = new Group(MainFrame.FILE_MENU);
83 ilm 260
        if (UserRightsManager.getCurrentUserRights().haveRight(BackupPanel.RIGHT_CODE))
261
            group.addItem("backup");
67 ilm 262
        group.addItem("modules");
73 ilm 263
        if (!Gestion.MAC_OS_X) {
264
            group.addItem("preferences");
265
            group.addItem("quit");
266
        }
67 ilm 267
        return group;
268
    }
269
 
144 ilm 270
    public Group createCreationMenuGroup() {
73 ilm 271
        final Group group = new Group(MainFrame.CREATE_MENU);
272
 
67 ilm 273
        final Boolean bModeVenteComptoir = DefaultNXProps.getInstance().getBooleanValue("ArticleVenteComptoir", true);
142 ilm 274
        final UserRights rights = UserRightsManager.getCurrentUserRights();
67 ilm 275
        final Group accountingGroup = new Group("accounting");
276
        if (rights.haveRight(ComptaUserRight.MENU)) {
277
            accountingGroup.addItem("accounting.entry.create");
149 ilm 278
            accountingGroup.addItem("accounting.entry.ledger.create");
67 ilm 279
        }
280
        group.add(accountingGroup);
281
 
282
        final Group customerGroup = new Group("customer", LayoutHints.DEFAULT_NOLABEL_SEPARATED_GROUP_HINTS);
283
 
73 ilm 284
            customerGroup.addItem("customer.quote.create");
67 ilm 285
 
73 ilm 286
            customerGroup.addItem("customer.delivery.create");
287
            customerGroup.addItem("customer.order.create");
288
            if (bModeVenteComptoir && rights.haveRight("VENTE_COMPTOIR")) {
289
                customerGroup.addItem("pos.sale.create");
290
            }
291
            customerGroup.addItem("customer.invoice.create");
67 ilm 292
 
73 ilm 293
            customerGroup.addItem("customer.credit.create");
294
            group.add(customerGroup);
295
 
296
            final Group supplierGroup = new Group("supplier", LayoutHints.DEFAULT_NOLABEL_SEPARATED_GROUP_HINTS);
297
            group.add(supplierGroup);
298
            if (rights.haveRight(NXRights.LOCK_MENU_ACHAT.getCode())) {
299
                supplierGroup.addItem("supplier.order.create");
300
                supplierGroup.addItem("supplier.receipt.create");
301
                supplierGroup.addItem("supplier.purchase.create");
80 ilm 302
                supplierGroup.addItem("supplier.invoice.purchase.create");
73 ilm 303
                supplierGroup.addItem("supplier.credit.create");
304
                group.addItem("stock.io.create");
305
            }
174 ilm 306
            group.addItem("product.stock.transfert");
73 ilm 307
 
67 ilm 308
        return group;
309
    }
310
 
144 ilm 311
    public Group createHelpMenuGroup() {
73 ilm 312
        final Group group = new Group(MainFrame.HELP_MENU);
67 ilm 313
        group.addItem("information");
314
        group.addItem("tips");
315
        return group;
316
    }
317
 
144 ilm 318
    public Group createOrganizationMenuGroup() {
73 ilm 319
        final Group group = new Group(MainFrame.STRUCTURE_MENU);
142 ilm 320
        final UserRights rights = UserRightsManager.getCurrentUserRights();
67 ilm 321
 
322
        if (rights.haveRight(ComptaUserRight.MENU)) {
323
            final Group gAccounting = new Group("menu.organization.accounting", LayoutHints.DEFAULT_NOLABEL_SEPARATED_GROUP_HINTS);
324
            gAccounting.addItem("accounting.chart");
142 ilm 325
            gAccounting.addItem("accounting.list");
67 ilm 326
            gAccounting.addItem("accounting.journal");
156 ilm 327
            gAccounting.addItem("accounting.category.list");
80 ilm 328
            gAccounting.addItem("accounting.checkDB");
83 ilm 329
            gAccounting.addItem("accounting.currency");
93 ilm 330
            gAccounting.addItem("accounting.currency.rates");
67 ilm 331
            group.add(gAccounting);
332
        }
333
 
334
        if (rights.haveRight(LockAdminUserRight.LOCK_MENU_ADMIN)) {
335
            final Group gUser = new Group("menu.organization.user", LayoutHints.DEFAULT_NOLABEL_SEPARATED_GROUP_HINTS);
336
            gUser.addItem("user.list");
337
            gUser.addItem("user.right.list");
338
            gUser.addItem("user.task.right");
339
            group.add(gUser);
340
        }
174 ilm 341
        group.addItem("email.template.list");
142 ilm 342
        group.addItem("product.ecotax");
73 ilm 343
        group.addItem("office.contact.list");
67 ilm 344
        group.addItem("salesman.list");
345
 
346
        final Group gPos = new Group("menu.organization.pos", LayoutHints.DEFAULT_NOLABEL_SEPARATED_GROUP_HINTS);
347
        gPos.addItem("pos.list");
348
        group.add(gPos);
349
 
350
 
351
            group.addItem("enterprise.list");
352
 
83 ilm 353
        group.addItem("divison.bank.list");
67 ilm 354
            group.addItem("enterprise.create");
355
        return group;
356
    }
357
 
144 ilm 358
    public Group createPayrollMenuGroup() {
73 ilm 359
        final Group group = new Group(MainFrame.PAYROLL_MENU);
67 ilm 360
        group.addItem("payroll.list.report.print");
361
        group.addItem("payroll.profile.list");
362
        group.addItem("payroll.history");
142 ilm 363
        group.addItem("payroll.infos.history");
67 ilm 364
        group.addItem("payroll.create");
365
        group.addItem("payroll.deposit.create");
366
        group.addItem("employee.list");
367
        final Group groupConfig = new Group("menu.payroll.config", LayoutHints.DEFAULT_NOLABEL_SEPARATED_GROUP_HINTS);
368
        groupConfig.addItem("payroll.section");
369
        groupConfig.addItem("payroll.variable");
142 ilm 370
        groupConfig.addItem("payroll.caisse");
371
        groupConfig.addItem("employee.contrat.prev.list");
372
        // groupConfig.addItem("employee.contrat.prev.ayantdroit.list");
67 ilm 373
        group.add(groupConfig);
374
        group.addItem("payroll.closing");
375
        return group;
376
    }
377
 
90 ilm 378
    public Group createPaymentMenuGroup() {
73 ilm 379
        final Group group = new Group(MainFrame.PAYMENT_MENU);
142 ilm 380
        final UserRights rights = UserRightsManager.getCurrentUserRights();
67 ilm 381
 
382
        if (rights.haveRight(ComptaUserRight.MENU) || rights.haveRight(ComptaUserRight.POINTAGE_LETTRAGE)) {
383
            group.addItem("payment.checking.create");
384
            group.addItem("payment.reconciliation.create");
385
        }
386
 
387
        if (rights.haveRight(NXRights.GESTION_ENCAISSEMENT.getCode())) {
388
            Group gCustomer = new Group("menu.payment.customer");
389
            gCustomer.addItem("customer.invoice.unpaid.list");
177 ilm 390
            gCustomer.addItem("customer.payment.prelevement.list");
180 ilm 391
            gCustomer.addItem("customer.payment.report");
67 ilm 392
            gCustomer.addItem("customer.dept.list");
393
            gCustomer.addItem("customer.payment.list");
394
            gCustomer.addItem("customer.payment.followup.list");
395
            gCustomer.addItem("customer.payment.check.pending.list");
396
            gCustomer.addItem("customer.payment.check.pending.create");
156 ilm 397
            gCustomer.addItem("customer.payment.check.deposit.list");
67 ilm 398
            gCustomer.addItem("customer.credit.check.list");
399
            gCustomer.addItem("customer.credit.check.create");
400
            group.add(gCustomer);
401
        }
402
        if (rights.haveRight(NXRights.LOCK_MENU_ACHAT.getCode())) {
403
            Group gSupplier = new Group("menu.payment.supplier");
404
            gSupplier.addItem("supplier.invoice.unpaid.list");
405
            gSupplier.addItem("supplier.bill.list");
406
            gSupplier.addItem("supplier.payment.check.list");
407
            gSupplier.addItem("supplier.payment.check.pending.list");
408
            group.add(gSupplier);
409
        }
410
        return group;
411
    }
412
 
90 ilm 413
    public Group createStatsMenuGroup() {
73 ilm 414
        final Group group = new Group(MainFrame.STATS_MENU);
67 ilm 415
 
416
        group.addItem("sales.graph");
90 ilm 417
        group.addItem("sales.graph.cumulate");
418
        group.addItem("sales.graph.cmd");
419
        group.addItem("sales.graph.cmd.cumulate");
67 ilm 420
 
421
            group.addItem("sales.margin.graph");
144 ilm 422
        group.addItem("sales.list.stock.report");
423
        group.addItem("sales.list.reporting");
424
        group.addItem("order.list.reporting");
67 ilm 425
        group.addItem("sales.list.report");
174 ilm 426
        group.addItem("sales.list.salesman.report");
180 ilm 427
        group.addItem("sales.list.salesman.supplier.report");
67 ilm 428
            group.addItem("sales.product.graph");
429
            group.addItem("sales.product.margin.graph");
90 ilm 430
            group.addItem("sales.product.family.graph");
67 ilm 431
        group.addItem("sales.list.graph");
142 ilm 432
        group.addItem("sales.report.ecocontribution");
144 ilm 433
        group.addItem("sales.report.taxesupp");
434
 
67 ilm 435
        return group;
436
    }
437
 
90 ilm 438
    public Group createStatsDocumentsGroup() {
73 ilm 439
        final Group group = new Group(MainFrame.DECLARATION_MENU);
80 ilm 440
        // group.addItem("accounting.vat.report");
67 ilm 441
        group.addItem("accounting.costs.report");
442
        group.addItem("accounting.balance.report");
94 ilm 443
        // group.addItem("accounting.2050Report");
67 ilm 444
        group.addItem("employe.social.report");
445
        return group;
446
    }
447
 
90 ilm 448
    public Group createAccountingMenuGroup() {
73 ilm 449
        final Group group = new Group(MainFrame.STATE_MENU);
67 ilm 450
        group.addItem("accounting.balance");
451
        group.addItem("accounting.client.balance");
452
        group.addItem("accounting.ledger");
83 ilm 453
        Group analytic = new Group("accounting.analytical");
454
        analytic.addItem("accounting.analytical.ledger");
455
        analytic.addItem("accounting.analytical.entries.ledger");
93 ilm 456
        analytic.addItem("accounting.analytical.ledger.global");
94 ilm 457
        analytic.addItem("accounting.analytical.dpt");
83 ilm 458
        group.add(analytic);
67 ilm 459
        group.addItem("accounting.general.ledger");
460
        group.addItem("accounting.entries.ledger");
461
        group.addItem("accounting.entries.list");
93 ilm 462
 
463
        final Group gIO = new Group("menu.accounting.io", LayoutHints.DEFAULT_NOLABEL_SEPARATED_GROUP_HINTS);
464
        gIO.addItem("accounting.import");
177 ilm 465
        gIO.addItem("accounting.import.fec");
93 ilm 466
        gIO.addItem("accounting.export");
467
        group.add(gIO);
468
 
67 ilm 469
        final Group gClosing = new Group("menu.accounting.closing", LayoutHints.DEFAULT_NOLABEL_SEPARATED_GROUP_HINTS);
470
        gClosing.addItem("accounting.validating");
471
        gClosing.addItem("accounting.closing");
472
        group.add(gClosing);
473
        return group;
474
    }
475
 
144 ilm 476
    public Group createListMenuGroup() {
73 ilm 477
        final Group group = new Group(MainFrame.LIST_MENU);
67 ilm 478
 
479
        final Boolean bModeVenteComptoir = DefaultNXProps.getInstance().getBooleanValue("ArticleVenteComptoir", true);
142 ilm 480
        final UserRights rights = UserRightsManager.getCurrentUserRights();
67 ilm 481
 
482
        Group gCustomer = new Group("menu.list.customer", LayoutHints.DEFAULT_NOLABEL_SEPARATED_GROUP_HINTS);
483
        gCustomer.addItem("customer.list");
93 ilm 484
 
485
        SQLPreferences prefs = SQLPreferences.getMemCached(configuration.getRootSociete());
486
        if (prefs.getBoolean(GestionClientPreferencePanel.DISPLAY_CLIENT_DPT, false)) {
487
            gCustomer.addItem("customer.department.list");
488
        }
489
 
67 ilm 490
        gCustomer.addItem("contact.list");
491
 
492
        if (rights.haveRight(NXRights.ACCES_HISTORIQUE.getCode())) {
493
            gCustomer.addItem("customer.history");
494
        }
495
 
496
 
497
            gCustomer.addItem("customer.quote.list");
498
 
499
 
500
            gCustomer.addItem("customer.order.list");
144 ilm 501
            gCustomer.addItem("customer.order.invoice.list");
151 ilm 502
            gCustomer.addItem("customer.order.list.details");
67 ilm 503
            gCustomer.addItem("customer.delivery.list");
142 ilm 504
            if (configuration.getRootSociete().contains("RELIQUAT_BR")) {
505
                gCustomer.addItem("customer.delivery.reliquat.list");
506
            }
67 ilm 507
        group.add(gCustomer);
508
 
509
        boolean useListDesVentesAction = bModeVenteComptoir;
510
        if (useListDesVentesAction) {
511
            gCustomer.addItem("sales.list");
512
 
513
        } else {
514
 
515
            gCustomer.addItem("customer.invoice.list");
516
        }
517
 
518
        gCustomer.addItem("customer.credit.list");
149 ilm 519
        gCustomer.addItem("customer.invoice.details.list");
67 ilm 520
 
521
        final Group gSupplier = new Group("menu.list.supplier", LayoutHints.DEFAULT_NOLABEL_SEPARATED_GROUP_HINTS);
522
            gSupplier.addItem("supplier.list");
523
            gSupplier.addItem("supplier.contact.list");
524
                gSupplier.addItem("supplier.history");
525
            if (rights.haveRight(NXRights.LOCK_MENU_ACHAT.getCode())) {
144 ilm 526
                    gSupplier.addItem("supplier.order.preview");
527
                    gSupplier.addItem("supplier.order.ask");
67 ilm 528
                    gSupplier.addItem("supplier.order.list");
529
                gSupplier.addItem("supplier.receipt.list");
94 ilm 530
                if (configuration.getRootSociete().contains("RELIQUAT_BR")) {
531
                    gSupplier.addItem("supplier.receipt.reliquat.list");
532
                }
67 ilm 533
                gSupplier.addItem("supplier.purchase.list");
80 ilm 534
                gSupplier.addItem("supplier.invoice.purchase.list");
67 ilm 535
                    gSupplier.addItem("supplier.credit.list");
536
            }
537
            group.add(gSupplier);
538
 
539
            final Group gProduct = new Group("menu.list.product", LayoutHints.DEFAULT_NOLABEL_SEPARATED_GROUP_HINTS);
540
            gProduct.addItem("product.list");
144 ilm 541
            // gProduct.addItem("product.customer.list");
83 ilm 542
            // gProduct.addItem("product.supplychain.list");
156 ilm 543
            if (prefs.getBoolean(GestionArticleGlobalPreferencePanel.STOCK_MULTI_DEPOT, false)) {
544
                gProduct.addItem("stock.depot.list");
545
                gProduct.addItem("stock.item.list");
546
            }
67 ilm 547
            gProduct.addItem("stock.io.list");
156 ilm 548
            gProduct.addItem("stock.io.state");
142 ilm 549
            gProduct.addItem("customer.order.waiting");
550
            gProduct.addItem("supplier.order.waiting");
67 ilm 551
            group.add(gProduct);
552
 
553
        return group;
554
    }
555
 
144 ilm 556
    public Group createTestMenuGroup() {
67 ilm 557
        final Group group = new Group("menu.test");
93 ilm 558
        group.addItem("test.lettrage.fact");
559
        group.addItem("test.lettrage.compt");
560
        group.addItem("test.lettrage.achat");
94 ilm 561
        // group.addItem("test.export.ecrp");
93 ilm 562
 
67 ilm 563
        return group;
564
    }
565
 
566
    /**
567
     * Actions
94 ilm 568
     */
144 ilm 569
    public void registerFilesMenuActions(final MenuAndActions mManager) {
142 ilm 570
        mManager.putAction(new SauvegardeBaseAction(), "backup");
571
        mManager.putAction(new AbstractAction() {
156 ilm 572
 
573
            private ModuleFrame frame = null;
574
 
67 ilm 575
            @Override
576
            public void actionPerformed(ActionEvent e) {
156 ilm 577
                if (this.frame == null) {
578
                    this.frame = new ModuleFrame(getConfiguration().getModuleManager());
579
                }
580
                this.frame.setLocationRelativeTo(null);
581
                FrameUtil.show(this.frame);
67 ilm 582
            }
142 ilm 583
        }, "modules");
156 ilm 584
        mManager.putAction(new PreferencesAction(getConfiguration().getModuleManager()), "preferences");
585
        mManager.putAction(new AbstractAction() {
586
            @Override
587
            public void actionPerformed(ActionEvent e) {
588
                MainFrame.getInstance().quit();
589
            }
590
        }, "quit");
67 ilm 591
    }
592
 
144 ilm 593
    public void registerCreationMenuActions(final MenuAndActions mManager) {
67 ilm 594
        final Boolean bModeVenteComptoir = DefaultNXProps.getInstance().getBooleanValue("ArticleVenteComptoir", true);
142 ilm 595
        final UserRights rights = UserRightsManager.getCurrentUserRights();
156 ilm 596
        final ComptaPropsConfiguration conf = this.getConfiguration();
67 ilm 597
 
598
        if (rights.haveRight(ComptaUserRight.MENU)) {
156 ilm 599
            mManager.putAction(new NouvelleSaisieKmAction(conf), "accounting.entry.create");
149 ilm 600
            mManager.putAction(new SaisieJournalAction(), "accounting.entry.ledger.create");
67 ilm 601
        }
602
 
73 ilm 603
 
156 ilm 604
        mManager.putAction(new NouveauDevisAction(conf), "customer.quote.create");
67 ilm 605
 
156 ilm 606
        mManager.putAction(new NouveauBonLivraisonAction(conf), "customer.delivery.create");
607
        mManager.putAction(new NouvelleCommandeClientAction(conf), "customer.order.create");
67 ilm 608
        if (bModeVenteComptoir && rights.haveRight("VENTE_COMPTOIR")) {
156 ilm 609
            mManager.putAction(new NouveauSaisieVenteComptoirAction(conf), "pos.sale.create");
67 ilm 610
        }
156 ilm 611
        mManager.putAction(new NouveauSaisieVenteFactureAction(conf), "customer.invoice.create");
67 ilm 612
 
156 ilm 613
        mManager.putAction(new NouveauAvoirClientAction(conf), "customer.credit.create");
174 ilm 614
        mManager.putAction(new TransfertStockAction(conf), "product.stock.transfert");
67 ilm 615
 
616
        if (rights.haveRight(NXRights.LOCK_MENU_ACHAT.getCode())) {
156 ilm 617
            mManager.putAction(new NouvelleDemandePrixAction(conf), "supplier.order.ask.create");
618
            mManager.putAction(new NouvelleCommandeAction(conf), "supplier.order.create");
619
            mManager.putAction(new NouveauBonReceptionAction(conf), "supplier.receipt.create");
620
            mManager.putAction(new NouveauSaisieAchatAction(conf), "supplier.purchase.create");
621
            mManager.putAction(new NouvelleFactureFournisseurAction(conf), "supplier.invoice.purchase.create");
622
            mManager.putAction(new NouvelAvoirFournisseurAction(conf), "supplier.credit.create");
623
            mManager.putAction(new NouvelleSaisieMouvementStockAction(conf), "stock.io.create");
67 ilm 624
        }
625
 
626
    }
627
 
144 ilm 628
    public void registerListMenuActions(final MenuAndActions mManager) {
156 ilm 629
        final ComptaPropsConfiguration conf = this.configuration;
67 ilm 630
        final Boolean bModeVenteComptoir = DefaultNXProps.getInstance().getBooleanValue("ArticleVenteComptoir", true);
144 ilm 631
 
156 ilm 632
        // FIXME conf.getCurrentUserRights();
142 ilm 633
        final UserRights rights = UserRightsManager.getCurrentUserRights();
67 ilm 634
 
156 ilm 635
        mManager.putAction(new ListeDesClientsAction(conf), "customer.list");
636
        SQLPreferences prefs = SQLPreferences.getMemCached(conf.getRootSociete());
93 ilm 637
        if (prefs.getBoolean(GestionClientPreferencePanel.DISPLAY_CLIENT_DPT, false)) {
156 ilm 638
            mManager.putAction(new ListeDesDepartementsClientsAction(conf), "customer.department.list");
93 ilm 639
        }
156 ilm 640
        mManager.putAction(new ListeDesContactsAction(conf), "contact.list");
67 ilm 641
 
642
        if (rights.haveRight(NXRights.ACCES_HISTORIQUE.getCode())) {
142 ilm 643
            mManager.putAction(new NouvelHistoriqueListeClientAction(), "customer.history");
67 ilm 644
        }
645
 
646
 
647
 
156 ilm 648
                mManager.putAction(new ListeDesDevisAction(conf), "customer.quote.list");
67 ilm 649
 
156 ilm 650
 
651
 
142 ilm 652
            mManager.putAction(new ListeDesCommandesClientAction(), "customer.order.list");
156 ilm 653
            mManager.putAction(new ListeDesFacturationCommandesClientAction(conf), "customer.order.invoice.list");
654
            mManager.putAction(new ListeDesCommandesClientItemsAction(conf), "customer.order.list.details");
655
            mManager.putAction(new ListeDesBonsDeLivraisonAction(conf), "customer.delivery.list");
656
            if (conf.getRootSociete().contains("RELIQUAT_BL")) {
657
                mManager.putAction(new ListeDesReliquatsBonsLivraisonsAction(), "customer.delivery.reliquat.list");
142 ilm 658
            }
67 ilm 659
 
660
        boolean useListDesVentesAction = bModeVenteComptoir;
661
        if (useListDesVentesAction) {
177 ilm 662
            mManager.putAction(new ListeDesVentesAction(conf), "sales.list");
67 ilm 663
 
664
        } else {
665
 
142 ilm 666
            mManager.putAction(new ListeSaisieVenteFactureAction(), "customer.invoice.list");
67 ilm 667
        }
668
 
156 ilm 669
        mManager.putAction(new ListeDesAvoirsClientsAction(conf), "customer.credit.list");
670
        mManager.putAction(new ListeDesFactureItemsAction(conf), "customer.invoice.details.list");
67 ilm 671
 
142 ilm 672
            mManager.putAction(new ListeDesFournisseursAction(), "supplier.list");
673
            mManager.putAction(new ListeDesContactsFournisseursAction(), "supplier.contact.list");
674
                mManager.putAction(new NouvelHistoriqueListeFournAction(), "supplier.history");
67 ilm 675
            if (rights.haveRight(NXRights.LOCK_MENU_ACHAT.getCode())) {
142 ilm 676
                    mManager.putAction(new ListeDesCommandesAction(), "supplier.order.list");
156 ilm 677
                    mManager.putAction(new ListeDesDemandesPrixAction(conf), "supplier.order.ask");
678
                    mManager.putAction(new ListeDesDemandesAchatsAction(conf), "supplier.order.preview");
142 ilm 679
                mManager.putAction(new ListeDesReliquatsBonsReceptionsAction(), "supplier.receipt.reliquat.list");
156 ilm 680
                mManager.putAction(new ListeDesBonsReceptionsAction(), "supplier.receipt.list");
681
                mManager.putAction(new ListeSaisieAchatAction(), "supplier.purchase.list");
682
                mManager.putAction(new ListeDesFacturesFournisseurAction(), "supplier.invoice.purchase.list");
683
                    mManager.putAction(new ListeDesAvoirsFournisseurAction(), "supplier.credit.list");
67 ilm 684
            }
685
 
156 ilm 686
            mManager.putAction(new ListeDesArticlesAction(), "product.list");
687
            mManager.putAction(new ListeHistoCodeClientArticleAction(), "product.customer.list");
688
            mManager.putAction(new ListeDesArticlesFournisseurAction(), "product.supplychain.list");
689
            mManager.putAction(new ListeDesDepotsStocksAction(), "stock.depot.list");
690
            mManager.putAction(new ListeDesStocksAction(), "stock.item.list");
691
            mManager.putAction(new ListeDesMouvementsStockAction(conf), "stock.io.list");
692
            mManager.putAction(new ListeDesEtatsStocksAction(conf), "stock.io.state");
693
            mManager.putAction(new ListeDesElementsACommanderClientAction(conf), "customer.order.waiting");
694
            mManager.putAction(new ListeDesElementsACommanderAction(conf), "supplier.order.waiting");
67 ilm 695
 
696
 
142 ilm 697
 
67 ilm 698
    }
699
 
90 ilm 700
    public void registerAccountingMenuActions(final MenuAndActions mManager) {
156 ilm 701
        mManager.putAction(new EtatBalanceAction(), "accounting.balance");
702
        mManager.putAction(new BalanceAgeeAction(), "accounting.client.balance");
703
        mManager.putAction(new ImpressionJournauxAnalytiqueAction(), "accounting.analytical.ledger");
704
        mManager.putAction(new EtatJournauxAction(), "accounting.ledger");
705
        mManager.putAction(new EtatGrandLivreAction(), "accounting.general.ledger");
706
        mManager.putAction(new ListeDesEcrituresAction(), "accounting.entries.ledger");
707
        mManager.putAction(new ListeDesEcrituresAnalytiquesAction(), "accounting.analytical.entries.ledger");
708
        mManager.putAction(new ListeDesPostesAnalytiquesAction(), "accounting.analytical.dpt");
709
        mManager.putAction(new ImpressionRepartitionAnalytiqueAction(), "accounting.analytical.ledger.global");
710
        mManager.putAction(new ListeEcritureParClasseAction(), "accounting.entries.list");
711
        mManager.putAction(new NouvelleValidationAction(), "accounting.validating");
712
        mManager.putAction(new NouveauClotureAction(), "accounting.closing");
713
        mManager.putAction(new ImportEcritureAction(), "accounting.import");
714
        mManager.putAction(new ExportRelationExpertAction(), "accounting.export");
177 ilm 715
        mManager.putAction(new ImportEcritureFECAction(), "accounting.import.fec");
67 ilm 716
    }
717
 
90 ilm 718
    public void registerStatsDocumentsActions(final MenuAndActions mManager) {
156 ilm 719
        // mManager.putAction("accounting.vat.report", new DeclarationTVAAction());
720
        mManager.putAction(new EtatChargeAction(), "accounting.costs.report");
721
        mManager.putAction(new CompteResultatBilanAction(), "accounting.balance.report");
722
        mManager.putAction(new N4DSAction(), "employe.social.report");
723
        // mManager.putAction("accounting.2050Report", new CompteResultatBilan2050Action());
67 ilm 724
    }
725
 
90 ilm 726
    public void registerStatsMenuActions(final MenuAndActions mManager) {
174 ilm 727
        final ComptaPropsConfiguration conf = getConfiguration();
67 ilm 728
 
156 ilm 729
        mManager.putAction(new EvolutionCAAction(), "sales.graph");
730
        mManager.putAction(new EvolutionCACumulAction(), "sales.graph.cumulate");
67 ilm 731
 
156 ilm 732
        mManager.putAction(new EvolutionCmdAction(), "sales.graph.cmd");
733
        mManager.putAction(new EvolutionCmdCumulAction(), "sales.graph.cmd.cumulate");
90 ilm 734
 
174 ilm 735
        mManager.putAction(new ReportingCommercialAction(conf.getRootSociete()), "sales.list.salesman.report");
180 ilm 736
        mManager.putAction(new ReportingCommercialFournisseurAction(conf), "sales.list.salesman.supplier.report");
174 ilm 737
 
156 ilm 738
            mManager.putAction(new EvolutionMargeAction(), "sales.margin.graph");
739
        mManager.putAction(new GenReportingVenteAction(false), "sales.list.reporting");
740
        mManager.putAction(new GenReportingVenteAction(true), "order.list.reporting");
741
        // mManager.putAction("sales.list.reporting", new GenReportingVenteAction());
742
        mManager.putAction(new GenListeVenteAction(), "sales.list.report");
743
        mManager.putAction(new GenEtatStockAction(), "sales.list.stock.report");
67 ilm 744
 
156 ilm 745
            mManager.putAction(new VenteArticleGraphAction(), "sales.product.graph");
746
            mManager.putAction(new VenteArticleMargeGraphAction(), "sales.product.margin.graph");
747
            mManager.putAction(new VenteArticleFamilleGraphAction(), "sales.product.family.graph");
748
        mManager.putAction(new EtatVenteAction(), "sales.list.graph");
67 ilm 749
 
156 ilm 750
        mManager.putAction(new AbstractAction("Reporting Eco Contribution") {
142 ilm 751
 
752
            @Override
753
            public void actionPerformed(ActionEvent e) {
754
 
755
                PanelFrame frame = new PanelFrame(new ReportingEcoContributionPanel(), "Reporting  Eco Contribution");
756
                frame.setVisible(true);
757
            }
156 ilm 758
        }, "sales.report.ecocontribution");
142 ilm 759
 
156 ilm 760
        mManager.putAction(new AbstractAction("Reporting Taxes complémentaires") {
144 ilm 761
 
762
            @Override
763
            public void actionPerformed(ActionEvent e) {
764
 
765
                PanelFrame frame = new PanelFrame(new ReportingTaxeComplementairePanel(), "Reporting Taxes complémentaires");
766
                frame.setVisible(true);
767
            }
156 ilm 768
        }, "sales.report.taxesupp");
144 ilm 769
 
67 ilm 770
    }
771
 
90 ilm 772
    public void registerPaymentMenuActions(final MenuAndActions mManager) {
142 ilm 773
        final UserRights rights = UserRightsManager.getCurrentUserRights();
156 ilm 774
        final ComptaPropsConfiguration conf = getConfiguration();
67 ilm 775
 
776
        if (rights.haveRight(ComptaUserRight.MENU) || rights.haveRight(ComptaUserRight.POINTAGE_LETTRAGE)) {
142 ilm 777
            mManager.putAction(new NouveauPointageAction(), "payment.checking.create");
778
            mManager.putAction(new NouveauLettrageAction(), "payment.reconciliation.create");
67 ilm 779
        }
780
 
781
        if (rights.haveRight(NXRights.GESTION_ENCAISSEMENT.getCode())) {
142 ilm 782
            mManager.putAction(new ListesFacturesClientsImpayeesAction(), "customer.invoice.unpaid.list");
174 ilm 783
            mManager.putAction(new ImportReglementSageAction(conf.getDirectory().getElement(EncaisserMontantSQLElement.class)), "customer.invoice.payment.xml.sage.import");
142 ilm 784
            mManager.putAction(new ListeDebiteursAction(), "customer.dept.list");
156 ilm 785
            mManager.putAction(new AbstractAction("Relevé client") {
786
                @Override
787
                public void actionPerformed(ActionEvent arg0) {
788
 
789
                    PanelFrame frame = new PanelFrame(new ReportingClientPanel(), "Reporting client");
790
                    frame.setVisible(true);
791
 
792
                }
793
            }, "customer.payment.report");
180 ilm 794
            mManager.putAction(new AbstractAction("Situation Client") {
795
                @Override
796
                public void actionPerformed(ActionEvent arg0) {
797
 
798
                    PanelFrame frame = new PanelFrame(new SituationCompteClientPanel(conf), "Situation client");
799
                    frame.setVisible(true);
800
 
801
                }
802
            }, "customer.payment.details");
142 ilm 803
            mManager.putAction(new ListeDesEncaissementsAction(), "customer.payment.list");
804
            mManager.putAction(new ListeDesRelancesAction(), "customer.payment.followup.list");
805
            mManager.putAction(new ListeDesChequesAEncaisserAction(), "customer.payment.check.pending.list");
156 ilm 806
            mManager.putAction(new ListeDesDepostChequesAction(), "customer.payment.check.deposit.list");
807
            mManager.putAction(new NouveauListeDesChequesAEncaisserAction(conf), "customer.payment.check.pending.create");
808
            mManager.putAction(new ListeSDDMessageAction(conf.getDirectory()), "customer.payment.sddMessage.list");
177 ilm 809
            mManager.putAction(new ListeEcheancePrelevementAction(conf), "customer.payment.prelevement.list");
142 ilm 810
            mManager.putAction(new ListeDesChequesAvoirAction(), "customer.credit.check.list");
156 ilm 811
            mManager.putAction(new NouveauDecaissementChequeAvoirAction(conf), "customer.credit.check.create");
177 ilm 812
 
67 ilm 813
        }
814
        if (rights.haveRight(NXRights.LOCK_MENU_ACHAT.getCode())) {
142 ilm 815
            mManager.putAction(new ListesFacturesFournImpayeesAction(), "supplier.invoice.unpaid.list");
816
            mManager.putAction(new ListeDesTraitesFournisseursAction(), "supplier.bill.list");
817
            mManager.putAction(new ListeDesChequesFournisseursAction(), "supplier.payment.check.list");
156 ilm 818
            mManager.putAction(new NouveauListeDesChequesADecaisserAction(conf), "supplier.payment.check.pending.list");
67 ilm 819
        }
820
 
821
    }
822
 
144 ilm 823
    public void registerPayrollMenuActions(final MenuAndActions mManager) {
156 ilm 824
        final ComptaPropsConfiguration conf = getConfiguration();
142 ilm 825
        mManager.putAction(new ImpressionLivrePayeAction(), "payroll.list.report.print");
826
        mManager.putAction(new ListeDesProfilsPayeAction(), "payroll.profile.list");
827
        mManager.putAction(new NouvelHistoriqueFichePayeAction(), "payroll.history");
828
        mManager.putAction(new EditionFichePayeAction(), "payroll.create");
156 ilm 829
        mManager.putAction(new NouvelAcompteAction(conf), "payroll.deposit.create");
142 ilm 830
        mManager.putAction(new ListeDesSalariesAction(), "employee.list");
831
        mManager.putAction(new ListeDesContratsPrevoyanceAction(), "employee.contrat.prev.list");
832
        mManager.putAction(new ListeDesCaissesCotisationsAction(), "payroll.caisse");
833
        mManager.putAction(new ListeDesAyantsDroitsAction(), "employee.contrat.prev.ayantdroit.list");
67 ilm 834
 
142 ilm 835
        mManager.putAction(new ListeDesRubriquesDePayeAction(), "payroll.section");
836
        mManager.putAction(new ListeDesVariablesPayes(), "payroll.variable");
837
        mManager.putAction(new ListeDesInfosSalariePayeAction(), "payroll.infos.history");
838
        mManager.putAction(new ClotureMensuellePayeAction(), "payroll.closing");
839
 
67 ilm 840
    }
841
 
90 ilm 842
    public void registerOrganizationMenuActions(final MenuAndActions mManager) {
142 ilm 843
        final UserRights rights = UserRightsManager.getCurrentUserRights();
144 ilm 844
 
67 ilm 845
        if (rights.haveRight(ComptaUserRight.MENU)) {
83 ilm 846
            mManager.putAction(new GestionPlanComptableEAction(), "accounting.chart");
142 ilm 847
            mManager.putAction(new ListeDesComptesAction(), "accounting.list");
848
 
83 ilm 849
            mManager.putAction(new ListeDesJournauxAction(), "accounting.journal");
850
            mManager.putAction(new ListeDesDevisesAction(), "accounting.currency");
156 ilm 851
            mManager.putAction(new ListeDesCategorieComptableAction(), "accounting.category.list");
93 ilm 852
            mManager.putAction(new ListeDesTauxDeChangeAction(), "accounting.currency.rates");
80 ilm 853
            mManager.putAction(new AbstractAction("Check DB") {
854
                @Override
855
                public void actionPerformed(ActionEvent e) {
144 ilm 856
                    final DBRoot rootSociete = configuration.getRootSociete();
80 ilm 857
                    final SQLSelect sel = CorrectMouvement.createUnbalancedSelect(rootSociete);
858
                    final List<?> ids = rootSociete.getDBSystemRoot().getDataSource().executeCol(sel.asString());
142 ilm 859
                    JOptionPane.showMessageDialog((Component) e.getSource(), "Il y a " + ids.size() + " mouvement(s) non équilibré(s).", "Résultat",
860
                            ids.size() == 0 ? JOptionPane.INFORMATION_MESSAGE : JOptionPane.WARNING_MESSAGE);
80 ilm 861
                }
862
            }, "accounting.checkDB");
67 ilm 863
        }
142 ilm 864
        mManager.putAction(new ListeEcoContributionAction(), "product.ecotax");
67 ilm 865
 
866
        if (rights.haveRight(LockAdminUserRight.LOCK_MENU_ADMIN)) {
142 ilm 867
            mManager.putAction(new ListeDesUsersCommonAction(), "user.list");
868
            mManager.putAction(new GestionDroitsAction(), "user.right.list");
869
            mManager.putAction(new TaskAdminAction(), "user.task.right");
67 ilm 870
        }
174 ilm 871
        mManager.putAction(new ListeDesModelesEmailAction(), "email.template.list");
142 ilm 872
        mManager.putAction(new ListeDesContactsAdministratif(), "office.contact.list");
873
        mManager.putAction(new ListeDesCommerciauxAction(), "salesman.list");
874
        mManager.putAction(new ListeDesCaissesTicketAction(), "pos.list");
67 ilm 875
 
876
 
142 ilm 877
            mManager.putAction(new ListeDesSocietesCommonsAction(), "enterprise.list");
67 ilm 878
 
142 ilm 879
        mManager.putAction(new ListeBanqueAction(), "divison.bank.list");
156 ilm 880
            mManager.putAction(new NouvelleSocieteAction(this.getConfiguration()), "enterprise.create");
67 ilm 881
    }
882
 
144 ilm 883
    public void registerHelpMenuActions(final MenuAndActions mManager) {
177 ilm 884
        mManager.putAction(new AboutAction(getConfiguration()), "information");
142 ilm 885
        mManager.putAction(new AstuceAction(), "tips");
67 ilm 886
    }
887
 
144 ilm 888
    public void registerHelpTestActions(final MenuAndActions mManager) {
93 ilm 889
 
156 ilm 890
        mManager.putAction(new NouveauClotureSansAnouveauxAction(), "accounting.closing.sansanouveaux");
891
        // mManager.putAction("test.export.ecrp", new ExportPointageAction());
94 ilm 892
 
67 ilm 893
    }
894
}