OpenConcerto

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

svn://code.openconcerto.org/openconcerto

Rev

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