r3841 - in trunk: lima-business/src/main/java/org/chorem/lima/business lima-business/src/main/java/org/chorem/lima/business/accountingrules lima-business/src/main/java/org/chorem/lima/business/ejb lima-business/src/main/resources/i18n lima-business-api/src/main/java/org/chorem/lima/business lima-business-api/src/main/java/org/chorem/lima/business/api lima-swing/src/main/java/org/chorem/lima/ui/common lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction lima-swing/src/main/java/org
Author: sbavencoff Date: 2014-07-09 17:58:34 +0200 (Wed, 09 Jul 2014) New Revision: 3841 Url: http://forge.chorem.org/projects/lima/repository/revisions/3841 Log: refs #557 : fix financial transaction exception Added: trunk/lima-business-api/src/main/java/org/chorem/lima/business/AfterLastFiscalPeriodException.java trunk/lima-business-api/src/main/java/org/chorem/lima/business/BeforeFirstFiscalPeriodException.java trunk/lima-business-api/src/main/java/org/chorem/lima/business/DateException.java trunk/lima-business-api/src/main/java/org/chorem/lima/business/FinancialPeriodException.java trunk/lima-business-api/src/main/java/org/chorem/lima/business/LockedFinancialPeriodException.java Removed: trunk/lima-business-api/src/main/java/org/chorem/lima/business/FinancialTransactionException.java Modified: trunk/lima-business-api/src/main/java/org/chorem/lima/business/ClosedPeriodicEntryBookException.java trunk/lima-business-api/src/main/java/org/chorem/lima/business/EntriesException.java trunk/lima-business-api/src/main/java/org/chorem/lima/business/EntryBookException.java trunk/lima-business-api/src/main/java/org/chorem/lima/business/api/FinancialTransactionService.java trunk/lima-business-api/src/main/java/org/chorem/lima/business/api/FiscalPeriodService.java trunk/lima-business/src/main/java/org/chorem/lima/business/AccountingRules.java trunk/lima-business/src/main/java/org/chorem/lima/business/accountingrules/DefaultAccountingRules.java trunk/lima-business/src/main/java/org/chorem/lima/business/ejb/FinancialTransactionServiceImpl.java trunk/lima-business/src/main/java/org/chorem/lima/business/ejb/FiscalPeriodServiceImpl.java trunk/lima-business/src/main/java/org/chorem/lima/business/ejb/ImportServiceImpl.java trunk/lima-business/src/main/resources/i18n/lima-business_en_GB.properties trunk/lima-business/src/main/resources/i18n/lima-business_fr_FR.properties trunk/lima-swing/src/main/java/org/chorem/lima/ui/common/FinancialTransactionTableModel.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/DateColumn.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/EntryBookColumn.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/FinancialTransactionViewHandler.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransactionunbalanced/FinancialTransactionUnbalancedViewHandler.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/lettering/LetteringViewHandler.java trunk/lima-swing/src/main/resources/i18n/lima-swing_en_GB.properties trunk/lima-swing/src/main/resources/i18n/lima-swing_fr_FR.properties Modified: trunk/lima-business/src/main/java/org/chorem/lima/business/AccountingRules.java =================================================================== --- trunk/lima-business/src/main/java/org/chorem/lima/business/AccountingRules.java 2014-07-09 13:13:18 UTC (rev 3840) +++ trunk/lima-business/src/main/java/org/chorem/lima/business/AccountingRules.java 2014-07-09 15:58:34 UTC (rev 3841) @@ -82,15 +82,16 @@ */ void updateEntryRules(Entry entry, Entry entryOld) throws LockedEntryBookException; - void updateFinancialTransactionDateRules(FinancialTransaction financialTransaction, FinancialTransaction financialTransactionOld) throws FinancialTransactionException; + void updateFinancialTransactionDateRules(FinancialTransaction financialTransaction, FinancialTransaction financialTransactionOld) + throws BeforeFirstFiscalPeriodException, AfterLastFiscalPeriodException, LockedFinancialPeriodException, LockedEntryBookException; /** * Financialperiod/entrybook rules * * @param financialTransaction - * @throws LimaException + * @throws LockedFinancialPeriodException, LockedEntryBookException */ - void checkFinancialPeriodBlockedWithFinancialTransaction(FinancialTransaction financialTransaction) throws FinancialTransactionException; + void checkFinancialPeriodBlockedWithFinancialTransaction(FinancialTransaction financialTransaction) throws LockedFinancialPeriodException, LockedEntryBookException; /** * Check if a financial period can be closed. Modified: trunk/lima-business/src/main/java/org/chorem/lima/business/accountingrules/DefaultAccountingRules.java =================================================================== --- trunk/lima-business/src/main/java/org/chorem/lima/business/accountingrules/DefaultAccountingRules.java 2014-07-09 13:13:18 UTC (rev 3840) +++ trunk/lima-business/src/main/java/org/chorem/lima/business/accountingrules/DefaultAccountingRules.java 2014-07-09 15:58:34 UTC (rev 3841) @@ -29,11 +29,13 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.chorem.lima.business.AccountingRules; -import org.chorem.lima.business.FinancialTransactionException; +import org.chorem.lima.business.AfterLastFiscalPeriodException; +import org.chorem.lima.business.BeforeFirstFiscalPeriodException; import org.chorem.lima.business.FiscalPeriodException; import org.chorem.lima.business.InvalidAccountNumberException; import org.chorem.lima.business.LimaInterceptor; import org.chorem.lima.business.LockedEntryBookException; +import org.chorem.lima.business.LockedFinancialPeriodException; import org.chorem.lima.business.NotLockedClosedPeriodicEntryBooksException; import org.chorem.lima.business.UnbalancedFinancialTransactionsException; import org.chorem.lima.business.UnfilledEntriesException; @@ -45,7 +47,6 @@ import org.chorem.lima.entity.ClosedPeriodicEntryBookTopiaDao; import org.chorem.lima.entity.Entry; import org.chorem.lima.entity.EntryBook; -import org.chorem.lima.entity.EntryBookTopiaDao; import org.chorem.lima.entity.EntryTopiaDao; import org.chorem.lima.entity.FinancialPeriod; import org.chorem.lima.entity.FinancialPeriodTopiaDao; @@ -154,44 +155,25 @@ /** * check if financial period of a financial transaction is blocked - * check if all entrybook of his financial period are blocked + * check if entrybook of his financial period are locked */ @Override - public void checkFinancialPeriodBlockedWithFinancialTransaction(FinancialTransaction financialTransaction) throws FinancialTransactionException { + public void checkFinancialPeriodBlockedWithFinancialTransaction(FinancialTransaction financialTransaction) throws LockedFinancialPeriodException, LockedEntryBookException { //check financial period locked FinancialPeriodTopiaDao financialPeriodTopiaDao = getDaoHelper().getFinancialPeriodDao(); FinancialPeriod financialPeriod = financialPeriodTopiaDao.findByDate(financialTransaction.getTransactionDate()); if (financialPeriod.isLocked()) { - throw new FinancialTransactionException(financialTransaction, "lima-business.defaultaccountingrules.financialperiodblocked"); + throw new LockedFinancialPeriodException(financialPeriod); } - //check all entrybook of his financial period are blocked - //FIXME echatellier 20120509 il doit y avoir moyen de faire plus - //simple que de recuperer 2 listes et de comparer leur nombres -// List<EntryBook> closedEntryBooks = new ArrayList<EntryBook>(); - - EntryBookTopiaDao entryBookTopiaDao = getDaoHelper().getEntryBookDao(); ClosedPeriodicEntryBookTopiaDao closedPeriodicEntryBookTopiaDao = getDaoHelper().getClosedPeriodicEntryBookDao(); + ClosedPeriodicEntryBook closedPeriodicEntryBook = closedPeriodicEntryBookTopiaDao.forProperties( + ClosedPeriodicEntryBook.PROPERTY_FINANCIAL_PERIOD, financialPeriod, + ClosedPeriodicEntryBook.PROPERTY_ENTRY_BOOK, financialTransaction.getEntryBook()).findUnique(); -// List<EntryBook> entryBooks = entryBookTopiaDao.findAll(); - // The following code should do the work but i'm not 100% sure. - long nbEntryBooksClosed = closedPeriodicEntryBookTopiaDao.forProperties( - ClosedPeriodicEntryBook.PROPERTY_LOCKED, true, - ClosedPeriodicEntryBook.PROPERTY_FINANCIAL_PERIOD, financialPeriod).addNotNull(ClosedPeriodicEntryBook.PROPERTY_ENTRY_BOOK).count(); - -// for (EntryBook entryBook : entryBooks) { -// ClosedPeriodicEntryBook closedPeriodicEntryBook = -// closedPeriodicEntryBookTopiaDao.findByEntryBookAndFinancialPeriod( -// entryBook, financialPeriod); -// if (closedPeriodicEntryBook.isLocked()) { -// closedEntryBooks.add(entryBook); -// } -// } - - long nbEntryBooks = entryBookTopiaDao.count(); - if (nbEntryBooks == nbEntryBooksClosed) { - throw new FinancialTransactionException(financialTransaction, "lima-business.defaultaccountingrules.allentrybookclosed"); + if (closedPeriodicEntryBook.isLocked()) { + throw new LockedEntryBookException(closedPeriodicEntryBook); } } @@ -283,7 +265,9 @@ */ @Override public void updateFinancialTransactionDateRules( - FinancialTransaction financialTransaction, FinancialTransaction financialTransactionOld) throws FinancialTransactionException { + FinancialTransaction financialTransaction, + FinancialTransaction financialTransactionOld) + throws BeforeFirstFiscalPeriodException, AfterLastFiscalPeriodException, LockedFinancialPeriodException, LockedEntryBookException { Date financialTransactionDate = financialTransaction.getTransactionDate(); FiscalPeriodTopiaDao fiscalPeriodTopiaDao = getDaoHelper().getFiscalPeriodDao(); @@ -301,42 +285,66 @@ } //1-date not on a fiscal period - if (financialTransactionDate.before(beginDateFirstFiscalPeriod) || financialTransactionDate.after(endDateLastFiscalPeriod)){ - if (financialTransactionDate.before(beginDateFirstFiscalPeriod)) { - if (log.isDebugEnabled()) { - log.debug("Date de la transaction avant (antérieure) la date de début du premier exercice"); - } - throw new FinancialTransactionException(financialTransaction, "lima-business.defaultaccountingrules.datebeforeerror"); + if (financialTransactionDate.before(beginDateFirstFiscalPeriod)) { + if (log.isDebugEnabled()) { + log.debug("Date de la transaction avant (antérieure) la date de début du premier exercice"); } + throw new BeforeFirstFiscalPeriodException(beginDateFirstFiscalPeriod); - if (financialTransactionDate.after(endDateLastFiscalPeriod)) { - if (log.isDebugEnabled()) { - log.debug("Date de la transaction après (postérieure) la date de fin du dernier exercice"); - } - throw new FinancialTransactionException(financialTransaction, "lima-business.defaultaccountingrules.dateaftererror"); + } + + if (financialTransactionDate.after(endDateLastFiscalPeriod)) { + if (log.isDebugEnabled()) { + log.debug("Date de la transaction après (postérieure) la date de fin du dernier exercice"); } - }else{ //date on a fiscal period (and consequently on a financial), now test if financial is open + throw new AfterLastFiscalPeriodException(endDateLastFiscalPeriod); - FinancialPeriodTopiaDao financialPeriodTopiaDao = getDaoHelper().getFinancialPeriodDao(); - FinancialPeriod financialPeriod = financialPeriodTopiaDao.findByDate(financialTransaction.getTransactionDate()); - FinancialPeriod financialPeriodOld = financialPeriodTopiaDao.findByDate(financialTransactionOld.getTransactionDate()); + } - //2. check old financial period locked - if (financialPeriodOld.isLocked()) { - if (log.isDebugEnabled()) { - log.debug("Periode (Old) financière bloquée"); - } - throw new FinancialTransactionException(financialTransactionOld, "lima-business.defaultaccountingrules.financialtransactionblocked"); + //date on a fiscal period (and consequently on a financial), now test if financial is open + + FinancialPeriodTopiaDao financialPeriodTopiaDao = getDaoHelper().getFinancialPeriodDao(); + FinancialPeriod financialPeriodOld = financialPeriodTopiaDao.findByDate(financialTransactionOld.getTransactionDate()); + + //2. check old financial period locked + if (financialPeriodOld.isLocked()) { + if (log.isDebugEnabled()) { + log.debug("Periode (Old) financière bloquée"); } + throw new LockedFinancialPeriodException(financialPeriodOld); + } - //3. check new financial period locked - if (financialPeriod.isLocked()) { - if (log.isDebugEnabled()) { - log.debug("Periode (New) financière bloquée"); - } - throw new FinancialTransactionException(financialTransaction, "lima-business.defaultaccountingrules.financialnewdateblocked"); + //3. check new financial period locked + FinancialPeriod financialPeriod = financialPeriodTopiaDao.findByDate(financialTransaction.getTransactionDate()); + if (financialPeriod.isLocked()) { + if (log.isDebugEnabled()) { + log.debug("Periode (New) financière bloquée"); } + throw new LockedFinancialPeriodException(financialPeriod); } + + ClosedPeriodicEntryBookTopiaDao closedPeriodicEntryBookTopiaDao = getDaoHelper().getClosedPeriodicEntryBookDao(); + + ClosedPeriodicEntryBook closedPeriodicEntryBookOld = closedPeriodicEntryBookTopiaDao.forProperties( + ClosedPeriodicEntryBook.PROPERTY_ENTRY_BOOK, financialTransactionOld.getEntryBook(), + ClosedPeriodicEntryBook.PROPERTY_FINANCIAL_PERIOD, financialPeriodOld).findUnique(); + if (closedPeriodicEntryBookOld.isLocked()) { + if (log.isDebugEnabled()) { + log.debug("Journal (old) bloquée"); + } + throw new LockedEntryBookException(closedPeriodicEntryBookOld); + } + + ClosedPeriodicEntryBook closedPeriodicEntryBook = closedPeriodicEntryBookTopiaDao.forProperties( + ClosedPeriodicEntryBook.PROPERTY_ENTRY_BOOK, financialTransaction.getEntryBook(), + ClosedPeriodicEntryBook.PROPERTY_FINANCIAL_PERIOD, financialPeriod).findUnique(); + if (closedPeriodicEntryBook.isLocked()) { + if (log.isDebugEnabled()) { + log.debug("Journal (new) bloquée"); + } + throw new LockedEntryBookException(closedPeriodicEntryBook); + } + } } Modified: trunk/lima-business/src/main/java/org/chorem/lima/business/ejb/FinancialTransactionServiceImpl.java =================================================================== --- trunk/lima-business/src/main/java/org/chorem/lima/business/ejb/FinancialTransactionServiceImpl.java 2014-07-09 13:13:18 UTC (rev 3840) +++ trunk/lima-business/src/main/java/org/chorem/lima/business/ejb/FinancialTransactionServiceImpl.java 2014-07-09 15:58:34 UTC (rev 3841) @@ -35,10 +35,12 @@ import org.chorem.lima.beans.FinancialTransactionCondition; import org.chorem.lima.beans.LetteringFilter; import org.chorem.lima.business.AccountingRules; -import org.chorem.lima.business.LockedEntryBookException; -import org.chorem.lima.business.FinancialTransactionException; +import org.chorem.lima.business.AfterLastFiscalPeriodException; +import org.chorem.lima.business.BeforeFirstFiscalPeriodException; import org.chorem.lima.business.LimaConfig; import org.chorem.lima.business.LimaException; +import org.chorem.lima.business.LockedEntryBookException; +import org.chorem.lima.business.LockedFinancialPeriodException; import org.chorem.lima.business.api.AccountService; import org.chorem.lima.business.api.FinancialTransactionService; import org.chorem.lima.business.utils.LetteringComparator; @@ -99,7 +101,7 @@ protected static final Log log = LogFactory.getLog(FinancialTransactionServiceImpl.class); @Override - public FinancialTransaction createFinancialTransaction(FinancialTransaction financialtransaction) throws FinancialTransactionException { + public FinancialTransaction createFinancialTransaction(FinancialTransaction financialtransaction) throws LockedFinancialPeriodException, LockedEntryBookException { AccountingRules accountingRules = LimaConfig.getInstance().getAccountingRules(); @@ -181,7 +183,8 @@ } @Override - public Entry[] getEntriesFromEqualizing(Entry FirstEntrySelected, Entry SecondEntrySelected) throws FinancialTransactionException { + public Entry[] getEntriesFromEqualizing(Entry FirstEntrySelected, Entry SecondEntrySelected) + throws LockedFinancialPeriodException, LockedEntryBookException { Entry newSameAccountEntry = null; Entry newCostOrProductEntry = null; @@ -426,7 +429,8 @@ * Method used by update entry and remove entry for update amounts. */ @Override - public void updateFinancialTransaction(FinancialTransaction financialTransaction) throws FinancialTransactionException { + public void updateFinancialTransaction(FinancialTransaction financialTransaction) + throws AfterLastFiscalPeriodException, BeforeFirstFiscalPeriodException, LockedFinancialPeriodException, LockedEntryBookException { AccountingRules accountingRules = LimaConfig.getInstance().getAccountingRules(); @@ -449,7 +453,8 @@ * call accounting rules */ @Override - public void removeFinancialTransaction(FinancialTransaction financialTransaction) throws FinancialTransactionException { + public void removeFinancialTransaction(FinancialTransaction financialTransaction) + throws LockedFinancialPeriodException, LockedEntryBookException { // check if the financial period is blocked AccountingRules accountingRules = LimaConfig.getInstance().getAccountingRules(); @@ -468,7 +473,7 @@ } @Override - public Entry createEntry(Entry entry) throws FinancialTransactionException { + public Entry createEntry(Entry entry) throws LockedFinancialPeriodException, LockedEntryBookException { AccountingRules accountingRules = LimaConfig.getInstance().getAccountingRules(); //check if the financial period is blocked @@ -507,7 +512,7 @@ * Remove entry, update amounts for the financial transaction. */ @Override - public void removeEntry(Entry entry) throws FinancialTransactionException { + public void removeEntry(Entry entry) throws LockedFinancialPeriodException, LockedEntryBookException { AccountingRules accountingRules = LimaConfig.getInstance().getAccountingRules(); Modified: trunk/lima-business/src/main/java/org/chorem/lima/business/ejb/FiscalPeriodServiceImpl.java =================================================================== --- trunk/lima-business/src/main/java/org/chorem/lima/business/ejb/FiscalPeriodServiceImpl.java 2014-07-09 13:13:18 UTC (rev 3840) +++ trunk/lima-business/src/main/java/org/chorem/lima/business/ejb/FiscalPeriodServiceImpl.java 2014-07-09 15:58:34 UTC (rev 3841) @@ -31,9 +31,10 @@ import org.chorem.lima.beans.ReportsDatas; import org.chorem.lima.business.AccountException; import org.chorem.lima.business.AccountingRules; -import org.chorem.lima.business.FinancialTransactionException; import org.chorem.lima.business.FiscalPeriodException; import org.chorem.lima.business.LimaConfig; +import org.chorem.lima.business.LockedEntryBookException; +import org.chorem.lima.business.LockedFinancialPeriodException; import org.chorem.lima.business.api.AccountService; import org.chorem.lima.business.api.EntryBookService; import org.chorem.lima.business.api.FinancialPeriodService; @@ -271,7 +272,8 @@ @Override public FiscalPeriod retainedEarningsAndBlockFiscalPeriod(FiscalPeriod fiscalPeriod, EntryBook entryBook, - boolean retainedEarnings) throws AccountException, FinancialTransactionException, FiscalPeriodException { + boolean retainedEarnings) + throws AccountException, LockedFinancialPeriodException, LockedEntryBookException, FiscalPeriodException { if (entryBook != null && retainedEarnings) { Modified: trunk/lima-business/src/main/java/org/chorem/lima/business/ejb/ImportServiceImpl.java =================================================================== --- trunk/lima-business/src/main/java/org/chorem/lima/business/ejb/ImportServiceImpl.java 2014-07-09 13:13:18 UTC (rev 3840) +++ trunk/lima-business/src/main/java/org/chorem/lima/business/ejb/ImportServiceImpl.java 2014-07-09 15:58:34 UTC (rev 3841) @@ -51,10 +51,11 @@ import org.chorem.lima.beans.VatStatementImport; import org.chorem.lima.beans.VatStatementImportImpl; import org.chorem.lima.business.AccountException; -import org.chorem.lima.business.FinancialTransactionException; import org.chorem.lima.business.FiscalPeriodException; import org.chorem.lima.business.ImportEbpException; import org.chorem.lima.business.LimaConfig; +import org.chorem.lima.business.LockedEntryBookException; +import org.chorem.lima.business.LockedFinancialPeriodException; import org.chorem.lima.business.NotLockedClosedPeriodicEntryBooksException; import org.chorem.lima.business.UnbalancedFinancialTransactionsException; import org.chorem.lima.business.UnfilledEntriesException; @@ -362,8 +363,10 @@ throw new ImportEbpException("Can't import ", e); } catch (IOException e) { throw new ImportEbpException("Can't import ", e); - } catch (FinancialTransactionException e) { - throw new ImportEbpException("Can't import ", e); + } catch (LockedFinancialPeriodException e) { + throw new ImportEbpException("Can't import " + t("lima-business.import.FinancialTransaction.error.LockedFinancialPeriod")); + } catch (LockedEntryBookException e) { + throw new ImportEbpException("Can't import " + t("lima-business.import.FinancialTransaction.error.LockedEntryBook")); } finally { if (csvReader != null) { try { @@ -1325,8 +1328,10 @@ } } catch (ParseException e) { result.append(t("lima-business.common.failed", e.getMessage())); - } catch (FinancialTransactionException e) { - result.append(t("lima-business.common.failed", e.getMessage())); + } catch (LockedFinancialPeriodException e) { + result.append(t("lima-business.common.failed", t("lima-business.import.FinancialTransaction.error.LockedFinancialPeriod"))); + } catch (LockedEntryBookException e) { + result.append(t("lima-business.common.failed", t("lima-business.import.FinancialTransaction.error.LockedEntryBook"))); } } Modified: trunk/lima-business/src/main/resources/i18n/lima-business_en_GB.properties =================================================================== --- trunk/lima-business/src/main/resources/i18n/lima-business_en_GB.properties 2014-07-09 13:13:18 UTC (rev 3840) +++ trunk/lima-business/src/main/resources/i18n/lima-business_en_GB.properties 2014-07-09 15:58:34 UTC (rev 3841) @@ -85,6 +85,8 @@ lima-business.franceaccountingrules.fiscalperiodnotempty=The fiscal period is not empty \! lima-business.franceaccountingrules.lastFiscalPeriodCantBlocked= lima-business.franceaccountingrules.newfiscalperiodadjoiningerror=The new fiscal period must adjoining the last +lima-business.import.FinancialTransaction.error.LockedEntryBook= +lima-business.import.FinancialTransaction.error.LockedFinancialPeriod= lima-business.import.accountadded=SUCCES \: Account %s - %s added\n lima-business.import.accountalreadyexist=FAILED \: Account %s already exist \n lima-business.import.closedperiodicentrybookupdated=SUCCESS \: The blockClosedPeriodicEntryBook %s - %s - %s is updated \! \n Modified: trunk/lima-business/src/main/resources/i18n/lima-business_fr_FR.properties =================================================================== --- trunk/lima-business/src/main/resources/i18n/lima-business_fr_FR.properties 2014-07-09 13:13:18 UTC (rev 3840) +++ trunk/lima-business/src/main/resources/i18n/lima-business_fr_FR.properties 2014-07-09 15:58:34 UTC (rev 3841) @@ -82,6 +82,8 @@ lima-business.franceaccountingrules.fiscalperiodnotempty=La période fiscale à supprimer n'est pas vide \! lima-business.franceaccountingrules.lastFiscalPeriodCantBlocked=Impossible de clore la dernière période fiscale ouverte lima-business.franceaccountingrules.newfiscalperiodadjoiningerror=La nouvelle période fiscale doit suivre la précédente +lima-business.import.FinancialTransaction.error.LockedEntryBook=Impossible de mettre à jour la transaction \: la période financière de ce nouveau journal est bloquée +lima-business.import.FinancialTransaction.error.LockedFinancialPeriod=La période financière est bloquée lima-business.import.accountadded=Succès \: Compte %s - %s ajouté\n lima-business.import.accountalreadyexist=Échec \: Le compte %s existe déjà \n lima-business.import.closedPeriodicEntryBook.error.NotLockedPreviousEntryBook=Les périodes financières précédentes pour ce journal doivent être bloquées avant Added: trunk/lima-business-api/src/main/java/org/chorem/lima/business/AfterLastFiscalPeriodException.java =================================================================== --- trunk/lima-business-api/src/main/java/org/chorem/lima/business/AfterLastFiscalPeriodException.java (rev 0) +++ trunk/lima-business-api/src/main/java/org/chorem/lima/business/AfterLastFiscalPeriodException.java 2014-07-09 15:58:34 UTC (rev 3841) @@ -0,0 +1,17 @@ +package org.chorem.lima.business; + +import java.util.Date; + +/** + * @author Sylvain Bavencoff <bavencoff@codelutin.com> + */ +public class AfterLastFiscalPeriodException extends DateException { + + public AfterLastFiscalPeriodException(Date date) { + super(date); + } + + public AfterLastFiscalPeriodException(Date date, Throwable cause) { + super(date, cause); + } +} Added: trunk/lima-business-api/src/main/java/org/chorem/lima/business/BeforeFirstFiscalPeriodException.java =================================================================== --- trunk/lima-business-api/src/main/java/org/chorem/lima/business/BeforeFirstFiscalPeriodException.java (rev 0) +++ trunk/lima-business-api/src/main/java/org/chorem/lima/business/BeforeFirstFiscalPeriodException.java 2014-07-09 15:58:34 UTC (rev 3841) @@ -0,0 +1,17 @@ +package org.chorem.lima.business; + +import java.util.Date; + +/** + * @author Sylvain Bavencoff <bavencoff@codelutin.com> + */ +public class BeforeFirstFiscalPeriodException extends DateException { + + public BeforeFirstFiscalPeriodException(Date date) { + super(date); + } + + public BeforeFirstFiscalPeriodException(Date date, Throwable cause) { + super(date, cause); + } +} Modified: trunk/lima-business-api/src/main/java/org/chorem/lima/business/ClosedPeriodicEntryBookException.java =================================================================== --- trunk/lima-business-api/src/main/java/org/chorem/lima/business/ClosedPeriodicEntryBookException.java 2014-07-09 13:13:18 UTC (rev 3840) +++ trunk/lima-business-api/src/main/java/org/chorem/lima/business/ClosedPeriodicEntryBookException.java 2014-07-09 15:58:34 UTC (rev 3841) @@ -1,4 +1,4 @@ -package org.chorem.lima.business.utils; +package org.chorem.lima.business; /* * #%L @@ -28,7 +28,7 @@ /** * @author Sylvain Bavencoff <bavencoff@codelutin.com> */ -public class ClosedPeriodicEntryBookException extends LimaException { +public abstract class ClosedPeriodicEntryBookException extends LimaException { protected ClosedPeriodicEntryBook closedPeriodicEntryBook; Added: trunk/lima-business-api/src/main/java/org/chorem/lima/business/DateException.java =================================================================== --- trunk/lima-business-api/src/main/java/org/chorem/lima/business/DateException.java (rev 0) +++ trunk/lima-business-api/src/main/java/org/chorem/lima/business/DateException.java 2014-07-09 15:58:34 UTC (rev 3841) @@ -0,0 +1,25 @@ +package org.chorem.lima.business; + +import java.util.Date; + +/** + * @author Sylvain Bavencoff <bavencoff@codelutin.com> + */ +public class DateException extends LimaException { + + protected Date date; + + public DateException(Date date) { + super(""); + this.date = date; + } + + public DateException(Date date, Throwable cause) { + super("", cause); + this.date = date; + } + + public Date getDate() { + return date; + } +} Modified: trunk/lima-business-api/src/main/java/org/chorem/lima/business/EntriesException.java =================================================================== --- trunk/lima-business-api/src/main/java/org/chorem/lima/business/EntriesException.java 2014-07-09 13:13:18 UTC (rev 3840) +++ trunk/lima-business-api/src/main/java/org/chorem/lima/business/EntriesException.java 2014-07-09 15:58:34 UTC (rev 3841) @@ -7,7 +7,7 @@ /** * @author Sylvain Bavencoff <bavencoff@codelutin.com> */ -public class EntriesException extends LimaException { +public abstract class EntriesException extends LimaException { protected Collection<Entry> entries; Modified: trunk/lima-business-api/src/main/java/org/chorem/lima/business/EntryBookException.java =================================================================== --- trunk/lima-business-api/src/main/java/org/chorem/lima/business/EntryBookException.java 2014-07-09 13:13:18 UTC (rev 3840) +++ trunk/lima-business-api/src/main/java/org/chorem/lima/business/EntryBookException.java 2014-07-09 15:58:34 UTC (rev 3841) @@ -27,7 +27,7 @@ /** * @author Sylvain Bavencoff <bavencoff@codelutin.com> */ -public class EntryBookException extends LimaException { +public abstract class EntryBookException extends LimaException { protected EntryBook entryBook; Added: trunk/lima-business-api/src/main/java/org/chorem/lima/business/FinancialPeriodException.java =================================================================== --- trunk/lima-business-api/src/main/java/org/chorem/lima/business/FinancialPeriodException.java (rev 0) +++ trunk/lima-business-api/src/main/java/org/chorem/lima/business/FinancialPeriodException.java 2014-07-09 15:58:34 UTC (rev 3841) @@ -0,0 +1,25 @@ +package org.chorem.lima.business; + +import org.chorem.lima.entity.FinancialPeriod; + +/** + * @author Sylvain Bavencoff <bavencoff@codelutin.com> + */ +public class FinancialPeriodException extends LimaException { + + protected FinancialPeriod financialPeriod; + + public FinancialPeriodException(FinancialPeriod financialPeriod) { + super(""); + this.financialPeriod = financialPeriod; + } + + public FinancialPeriodException(FinancialPeriod financialPeriod, Throwable cause) { + super("", cause); + this.financialPeriod = financialPeriod; + } + + public FinancialPeriod getFinancialPeriod() { + return financialPeriod; + } +} Deleted: trunk/lima-business-api/src/main/java/org/chorem/lima/business/FinancialTransactionException.java =================================================================== --- trunk/lima-business-api/src/main/java/org/chorem/lima/business/FinancialTransactionException.java 2014-07-09 13:13:18 UTC (rev 3840) +++ trunk/lima-business-api/src/main/java/org/chorem/lima/business/FinancialTransactionException.java 2014-07-09 15:58:34 UTC (rev 3841) @@ -1,56 +0,0 @@ -package org.chorem.lima.business; - -/* - * #%L - * Lima :: business API - * %% - * Copyright (C) 2008 - 2014 CodeLutin - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import org.chorem.lima.entity.FinancialTransaction; - -/** - * @author Sylvain Bavencoff <bavencoff@codelutin.com> - */ -public class FinancialTransactionException extends LimaException { - - protected FinancialTransaction financialTransaction; - - public FinancialTransactionException(String message) { - super(message); - } - - public FinancialTransactionException(String message, Throwable cause) { - super(message, cause); - } - - public FinancialTransactionException(FinancialTransaction financialTransaction, String message) { - super(message); - this.financialTransaction = financialTransaction; - } - - public FinancialTransactionException(FinancialTransaction financialTransaction, String message, Throwable cause) { - super(message, cause); - this.financialTransaction = financialTransaction; - } - - public FinancialTransaction getFinancialTransaction() { - return financialTransaction; - } - -} Added: trunk/lima-business-api/src/main/java/org/chorem/lima/business/LockedFinancialPeriodException.java =================================================================== --- trunk/lima-business-api/src/main/java/org/chorem/lima/business/LockedFinancialPeriodException.java (rev 0) +++ trunk/lima-business-api/src/main/java/org/chorem/lima/business/LockedFinancialPeriodException.java 2014-07-09 15:58:34 UTC (rev 3841) @@ -0,0 +1,16 @@ +package org.chorem.lima.business; + +import org.chorem.lima.entity.FinancialPeriod; + +/** + * @author Sylvain Bavencoff <bavencoff@codelutin.com> + */ +public class LockedFinancialPeriodException extends FinancialPeriodException{ + public LockedFinancialPeriodException(FinancialPeriod financialPeriod) { + super(financialPeriod); + } + + public LockedFinancialPeriodException(FinancialPeriod financialPeriod, Throwable cause) { + super(financialPeriod, cause); + } +} Modified: trunk/lima-business-api/src/main/java/org/chorem/lima/business/api/FinancialTransactionService.java =================================================================== --- trunk/lima-business-api/src/main/java/org/chorem/lima/business/api/FinancialTransactionService.java 2014-07-09 13:13:18 UTC (rev 3840) +++ trunk/lima-business-api/src/main/java/org/chorem/lima/business/api/FinancialTransactionService.java 2014-07-09 15:58:34 UTC (rev 3841) @@ -27,9 +27,11 @@ import org.chorem.lima.beans.FinancialTransactionCondition; import org.chorem.lima.beans.LetteringFilter; +import org.chorem.lima.business.AfterLastFiscalPeriodException; +import org.chorem.lima.business.BeforeFirstFiscalPeriodException; +import org.chorem.lima.business.LimaException; import org.chorem.lima.business.LockedEntryBookException; -import org.chorem.lima.business.FinancialTransactionException; -import org.chorem.lima.business.LimaException; +import org.chorem.lima.business.LockedFinancialPeriodException; import org.chorem.lima.entity.Entry; import org.chorem.lima.entity.EntryBook; import org.chorem.lima.entity.FinancialPeriod; @@ -52,11 +54,14 @@ public interface FinancialTransactionService { - FinancialTransaction createFinancialTransaction(FinancialTransaction financialtransaction) throws FinancialTransactionException; + FinancialTransaction createFinancialTransaction(FinancialTransaction financialtransaction) + throws LockedFinancialPeriodException, LockedEntryBookException; - void updateFinancialTransaction(FinancialTransaction financialtransaction) throws FinancialTransactionException; + void updateFinancialTransaction(FinancialTransaction financialtransaction) + throws AfterLastFiscalPeriodException, BeforeFirstFiscalPeriodException, LockedFinancialPeriodException, LockedEntryBookException; - void removeFinancialTransaction(FinancialTransaction financialtransaction) throws FinancialTransactionException; + void removeFinancialTransaction(FinancialTransaction financialtransaction) + throws LockedFinancialPeriodException, LockedEntryBookException; FinancialTransaction getFinancialTransactionWithId(String id); @@ -74,11 +79,11 @@ List<FinancialTransaction> searchFinancialTransaction(FinancialTransactionCondition financialTransactionFilter); - Entry createEntry(Entry entry) throws FinancialTransactionException; + Entry createEntry(Entry entry) throws LockedFinancialPeriodException, LockedEntryBookException; void updateEntry(Entry entry) throws LockedEntryBookException; - void removeEntry(Entry entry) throws FinancialTransactionException; + void removeEntry(Entry entry) throws LockedFinancialPeriodException, LockedEntryBookException; /** Find the last letter used * and increment them @@ -99,7 +104,8 @@ * @param SecondEntrySelected second entry selected * @return table of the two new entries * */ - Entry[] getEntriesFromEqualizing(Entry FirstEntrySelected, Entry SecondEntrySelected) throws FinancialTransactionException; + Entry[] getEntriesFromEqualizing(Entry FirstEntrySelected, Entry SecondEntrySelected) + throws LockedFinancialPeriodException, LockedEntryBookException; /** * Retourne toutes les entrées d'une transaction Modified: trunk/lima-business-api/src/main/java/org/chorem/lima/business/api/FiscalPeriodService.java =================================================================== --- trunk/lima-business-api/src/main/java/org/chorem/lima/business/api/FiscalPeriodService.java 2014-07-09 13:13:18 UTC (rev 3840) +++ trunk/lima-business-api/src/main/java/org/chorem/lima/business/api/FiscalPeriodService.java 2014-07-09 15:58:34 UTC (rev 3841) @@ -26,8 +26,9 @@ package org.chorem.lima.business.api; import org.chorem.lima.business.AccountException; -import org.chorem.lima.business.FinancialTransactionException; import org.chorem.lima.business.FiscalPeriodException; +import org.chorem.lima.business.LockedEntryBookException; +import org.chorem.lima.business.LockedFinancialPeriodException; import org.chorem.lima.entity.EntryBook; import org.chorem.lima.entity.FiscalPeriod; @@ -67,7 +68,8 @@ * @return fiscal period blocked * */ FiscalPeriod retainedEarningsAndBlockFiscalPeriod(FiscalPeriod fiscalPeriod, EntryBook entryBook, - boolean retainedEarnings) throws AccountException, FinancialTransactionException, FiscalPeriodException; + boolean retainedEarnings) + throws AccountException, FiscalPeriodException, LockedFinancialPeriodException, LockedEntryBookException; /** * Test if we have retained earnings on a fiscal period Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/common/FinancialTransactionTableModel.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/common/FinancialTransactionTableModel.java 2014-07-09 13:13:18 UTC (rev 3840) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/common/FinancialTransactionTableModel.java 2014-07-09 15:58:34 UTC (rev 3841) @@ -26,8 +26,10 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.chorem.lima.business.AfterLastFiscalPeriodException; +import org.chorem.lima.business.BeforeFirstFiscalPeriodException; import org.chorem.lima.business.LockedEntryBookException; -import org.chorem.lima.business.FinancialTransactionException; +import org.chorem.lima.business.LockedFinancialPeriodException; import org.chorem.lima.business.api.FinancialTransactionService; import org.chorem.lima.business.utils.EntryComparator; import org.chorem.lima.entity.Entry; @@ -124,7 +126,7 @@ * * @param entry entry to insert */ - public Entry addEntry(Entry entry) throws FinancialTransactionException { + public Entry addEntry(Entry entry) throws BeforeFirstFiscalPeriodException, AfterLastFiscalPeriodException, LockedFinancialPeriodException, LockedEntryBookException { Entry newEntry = null; FinancialTransaction transaction = entry.getFinancialTransaction(); if (contains(transaction)) { @@ -151,13 +153,13 @@ * * @param row */ - public void removeTransaction(int row) throws FinancialTransactionException { + public void removeTransaction(int row) throws LockedFinancialPeriodException, LockedEntryBookException { FinancialTransaction transaction = getTransactionAt(row); removeAll(transaction.getEntry()); financialTransactionService.removeFinancialTransaction(transaction); } - public void removeEntry(int row) throws FinancialTransactionException { + public void removeEntry(int row) throws LockedFinancialPeriodException, LockedEntryBookException { Entry entry = get(row); FinancialTransaction transaction = entry.getFinancialTransaction(); if (transaction.sizeEntry() > 1) { @@ -170,7 +172,7 @@ } } - public FinancialTransaction addTransaction(FinancialTransaction transaction) throws FinancialTransactionException { + public FinancialTransaction addTransaction(FinancialTransaction transaction) throws LockedFinancialPeriodException, LockedEntryBookException, AfterLastFiscalPeriodException, BeforeFirstFiscalPeriodException { FinancialTransaction newTransaction = new FinancialTransactionImpl(); newTransaction.setEntryBook(transaction.getEntryBook()); newTransaction.setTransactionDate(transaction.getTransactionDate()); @@ -237,11 +239,34 @@ return updated; } - public void updateTransaction(FinancialTransaction transaction) throws FinancialTransactionException { + public boolean updateTransaction(FinancialTransaction transaction) { + boolean update = false; + if (log.isDebugEnabled()) { log.debug("Update transaction"); } - financialTransactionService.updateFinancialTransaction(transaction); + try { + financialTransactionService.updateFinancialTransaction(transaction); + update = true; + + } catch (LockedFinancialPeriodException e) { + errorHelper.showErrorMessage(t("lima.ui.financialTransaction.update.error.lockedFinancialPeriod", + e.getFinancialPeriod().getBeginDate(), + e.getFinancialPeriod().getEndDate())); + } catch (AfterLastFiscalPeriodException e) { + errorHelper.showErrorMessage(t("lima.ui.financialTransaction.update.error.afterLastFiscalPeriod", + e.getDate())); + } catch (BeforeFirstFiscalPeriodException e) { + errorHelper.showErrorMessage(t("lima.ui.financialTransaction.update.error.beforeFirstFiscalPeriod", + e.getDate())); + } catch (LockedEntryBookException e) { + errorHelper.showErrorMessage(t("lima.ui.financialTransaction.update.error.lockedEntryBook", + e.getClosedPeriodicEntryBook().getEntryBook().getCode(), + e.getClosedPeriodicEntryBook().getEntryBook().getLabel(), + e.getClosedPeriodicEntryBook().getFinancialPeriod().getBeginDate(), + e.getClosedPeriodicEntryBook().getFinancialPeriod().getEndDate())); + } + return update; } public void fireTransaction(FinancialTransaction transaction) { Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/DateColumn.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/DateColumn.java 2014-07-09 13:13:18 UTC (rev 3840) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/DateColumn.java 2014-07-09 15:58:34 UTC (rev 3841) @@ -24,7 +24,6 @@ * #L% */ -import org.chorem.lima.business.FinancialTransactionException; import org.chorem.lima.entity.Entry; import org.chorem.lima.entity.FinancialTransaction; import org.chorem.lima.ui.common.AbstractColumn; @@ -67,11 +66,11 @@ FinancialTransaction transaction = tableModel.get(row).getFinancialTransaction(); boolean update = (transaction.getTransactionDate().compareTo((Date) value) != 0); if (update) { - try { - transaction.setTransactionDate((Date) value); - tableModel.updateTransaction(transaction); - } catch (FinancialTransactionException e) { - errorHelper.showErrorMessage(t(e.getMessage())); + Date previousDate = transaction.getTransactionDate(); + transaction.setTransactionDate((Date) value); + if (!tableModel.updateTransaction(transaction)) { + transaction.setTransactionDate(previousDate); + update = false; } } return update; Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/EntryBookColumn.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/EntryBookColumn.java 2014-07-09 13:13:18 UTC (rev 3840) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/EntryBookColumn.java 2014-07-09 15:58:34 UTC (rev 3841) @@ -24,7 +24,6 @@ * #L% */ -import org.chorem.lima.business.FinancialTransactionException; import org.chorem.lima.entity.Entry; import org.chorem.lima.entity.EntryBook; import org.chorem.lima.entity.FinancialTransaction; @@ -67,11 +66,11 @@ EntryBook entryBook = (EntryBook) value; boolean update = (transaction.getEntryBook().getCode().compareTo(entryBook.getCode()) != 0); if (update) { - try { - transaction.setEntryBook(entryBook); - tableModel.updateTransaction(transaction); - } catch (FinancialTransactionException e) { - errorHelper.showErrorMessage(t(e.getMessage())); + EntryBook previousEntryBook = transaction.getEntryBook(); + transaction.setEntryBook(entryBook); + if (!tableModel.updateTransaction(transaction)) { + transaction.setEntryBook(previousEntryBook); + update = false; } } return update; Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/FinancialTransactionViewHandler.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/FinancialTransactionViewHandler.java 2014-07-09 13:13:18 UTC (rev 3840) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/FinancialTransactionViewHandler.java 2014-07-09 15:58:34 UTC (rev 3841) @@ -30,8 +30,10 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.chorem.lima.LimaConfig; +import org.chorem.lima.business.AfterLastFiscalPeriodException; +import org.chorem.lima.business.BeforeFirstFiscalPeriodException; import org.chorem.lima.business.LockedEntryBookException; -import org.chorem.lima.business.FinancialTransactionException; +import org.chorem.lima.business.LockedFinancialPeriodException; import org.chorem.lima.business.ServiceListener; import org.chorem.lima.business.api.EntryBookService; import org.chorem.lima.business.api.FinancialPeriodService; @@ -434,8 +436,22 @@ int index = tableModel.indexOf(transaction); selectionModel.setSelectionInterval(index, index); table.editCellAt(index, 1); - } catch (FinancialTransactionException e) { - errorHelper.showErrorMessage(t(e.getMessage())); + } catch (LockedFinancialPeriodException e) { + errorHelper.showErrorMessage(t("lima.ui.financialTransaction.paste.error.lockedFinancialPeriod", + e.getFinancialPeriod().getBeginDate(), + e.getFinancialPeriod().getEndDate())); + } catch (AfterLastFiscalPeriodException e) { + errorHelper.showErrorMessage(t("lima.ui.financialTransaction.paste.error.afterLastFiscalPeriod", + e.getDate())); + } catch (BeforeFirstFiscalPeriodException e) { + errorHelper.showErrorMessage(t("lima.ui.financialTransaction.paste.error.beforeFirstFiscalPeriod", + e.getDate())); + } catch (LockedEntryBookException e) { + errorHelper.showErrorMessage(t("lima.ui.financialTransaction.paste.error.lockedEntryBook", + e.getClosedPeriodicEntryBook().getEntryBook().getCode(), + e.getClosedPeriodicEntryBook().getEntryBook().getLabel(), + e.getClosedPeriodicEntryBook().getFinancialPeriod().getBeginDate(), + e.getClosedPeriodicEntryBook().getFinancialPeriod().getEndDate())); } } } @@ -475,8 +491,22 @@ //focus on second column table.changeSelection(index, 1, false, false); table.editCellAt(index, 1); - } catch (FinancialTransactionException e) { - errorHelper.showErrorMessage(t(e.getMessage())); + } catch (LockedFinancialPeriodException e) { + errorHelper.showErrorMessage(t("lima.ui.entry.paste.error.lockedFinancialPeriod", + e.getFinancialPeriod().getBeginDate(), + e.getFinancialPeriod().getEndDate())); + } catch (AfterLastFiscalPeriodException e) { + errorHelper.showErrorMessage(t("lima.ui.entry.paste.error.afterLastFiscalPeriod", + e.getDate())); + } catch (BeforeFirstFiscalPeriodException e) { + errorHelper.showErrorMessage(t("lima.ui.entry.paste.error.beforeFirstFiscalPeriod", + e.getDate())); + } catch (LockedEntryBookException e) { + errorHelper.showErrorMessage(t("lima.ui.entry.paste.error.lockedEntryBook", + e.getClosedPeriodicEntryBook().getEntryBook().getCode(), + e.getClosedPeriodicEntryBook().getEntryBook().getLabel(), + e.getClosedPeriodicEntryBook().getFinancialPeriod().getBeginDate(), + e.getClosedPeriodicEntryBook().getFinancialPeriod().getEndDate())); } } } @@ -512,8 +542,22 @@ selectionModel.setSelectionInterval(addIndex, addIndex); table.changeSelection(addIndex, 1, false, false); table.editCellAt(addIndex, 1); - } catch (FinancialTransactionException e) { - errorHelper.showErrorMessage(t(e.getMessage())); + } catch (LockedFinancialPeriodException e) { + errorHelper.showErrorMessage(t("lima.ui.financialTransaction.add.error.lockedFinancialPeriod", + e.getFinancialPeriod().getBeginDate(), + e.getFinancialPeriod().getEndDate())); + } catch (AfterLastFiscalPeriodException e) { + errorHelper.showErrorMessage(t("lima.ui.financialTransaction.add.error.afterLastFiscalPeriod", + e.getDate())); + } catch (BeforeFirstFiscalPeriodException e) { + errorHelper.showErrorMessage(t("lima.ui.financialTransaction.add.error.beforeFirstFiscalPeriod", + e.getDate())); + } catch (LockedEntryBookException e) { + errorHelper.showErrorMessage(t("lima.ui.financialTransaction.add.error.lockedEntryBook", + e.getClosedPeriodicEntryBook().getEntryBook().getCode(), + e.getClosedPeriodicEntryBook().getEntryBook().getLabel(), + e.getClosedPeriodicEntryBook().getFinancialPeriod().getBeginDate(), + e.getClosedPeriodicEntryBook().getFinancialPeriod().getEndDate())); } } @@ -602,8 +646,22 @@ row, row); table.changeSelection(row, 1, false, false); table.editCellAt(row, 1); - } catch (FinancialTransactionException e) { - errorHelper.showErrorMessage(t(e.getMessage())); + } catch (LockedFinancialPeriodException e) { + errorHelper.showErrorMessage(t("lima.ui.entry.add.error.lockedFinancialPeriod", + e.getFinancialPeriod().getBeginDate(), + e.getFinancialPeriod().getEndDate())); + } catch (AfterLastFiscalPeriodException e) { + errorHelper.showErrorMessage(t("lima.ui.entry.add.error.afterLastFiscalPeriod", + e.getDate())); + } catch (BeforeFirstFiscalPeriodException e) { + errorHelper.showErrorMessage(t("lima.ui.entry.add.error.beforeFirstFiscalPeriod", + e.getDate())); + } catch (LockedEntryBookException e) { + errorHelper.showErrorMessage(t("lima.ui.entry.add.error.lockedEntryBook", + e.getClosedPeriodicEntryBook().getEntryBook().getCode(), + e.getClosedPeriodicEntryBook().getEntryBook().getLabel(), + e.getClosedPeriodicEntryBook().getFinancialPeriod().getBeginDate(), + e.getClosedPeriodicEntryBook().getFinancialPeriod().getEndDate())); } } else { if (log.isWarnEnabled()) { @@ -640,8 +698,16 @@ table.changeSelection(indexSelectedRow, 1, false, false); table.editCellAt(indexSelectedRow, 1); } - } catch (FinancialTransactionException e) { - errorHelper.showErrorMessage(t(e.getMessage())); + } catch (LockedFinancialPeriodException e) { + errorHelper.showErrorMessage(t("lima.ui.financialTransaction.delete.error.lockedFinancialPeriod", + e.getFinancialPeriod().getBeginDate(), + e.getFinancialPeriod().getEndDate())); + } catch (LockedEntryBookException e) { + errorHelper.showErrorMessage(t("lima.ui.financialTransaction.delete.error.lockedEntryBook", + e.getClosedPeriodicEntryBook().getEntryBook().getCode(), + e.getClosedPeriodicEntryBook().getEntryBook().getLabel(), + e.getClosedPeriodicEntryBook().getFinancialPeriod().getBeginDate(), + e.getClosedPeriodicEntryBook().getFinancialPeriod().getEndDate())); } } @@ -678,8 +744,16 @@ table.changeSelection(indexSelectedRow, 1, false, false); table.editCellAt(indexSelectedRow, 1); } - } catch (FinancialTransactionException e) { - errorHelper.showErrorMessage(t(e.getMessage())); + } catch (LockedFinancialPeriodException e) { + errorHelper.showErrorMessage(t("lima.ui.financialTransaction.delete.error.lockedFinancialPeriod", + e.getFinancialPeriod().getBeginDate(), + e.getFinancialPeriod().getEndDate())); + } catch (LockedEntryBookException e) { + errorHelper.showErrorMessage(t("lima.ui.financialTransaction.delete.error.lockedEntryBook", + e.getClosedPeriodicEntryBook().getEntryBook().getCode(), + e.getClosedPeriodicEntryBook().getEntryBook().getLabel(), + e.getClosedPeriodicEntryBook().getFinancialPeriod().getBeginDate(), + e.getClosedPeriodicEntryBook().getFinancialPeriod().getEndDate())); } } } Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransactionunbalanced/FinancialTransactionUnbalancedViewHandler.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransactionunbalanced/FinancialTransactionUnbalancedViewHandler.java 2014-07-09 13:13:18 UTC (rev 3840) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransactionunbalanced/FinancialTransactionUnbalancedViewHandler.java 2014-07-09 15:58:34 UTC (rev 3841) @@ -28,7 +28,10 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.chorem.lima.LimaConfig; -import org.chorem.lima.business.FinancialTransactionException; +import org.chorem.lima.business.AfterLastFiscalPeriodException; +import org.chorem.lima.business.BeforeFirstFiscalPeriodException; +import org.chorem.lima.business.LockedEntryBookException; +import org.chorem.lima.business.LockedFinancialPeriodException; import org.chorem.lima.entity.Entry; import org.chorem.lima.entity.EntryImpl; import org.chorem.lima.entity.FinancialTransaction; @@ -174,8 +177,22 @@ row, row); table.changeSelection(row, 1, false, false); table.editCellAt(row, 1); - } catch (FinancialTransactionException e) { - errorHelper.showErrorMessage(t(e.getMessage())); + } catch (LockedFinancialPeriodException e) { + errorHelper.showErrorMessage(t("lima.ui.entry.add.error.lockedFinancialPeriod", + e.getFinancialPeriod().getBeginDate(), + e.getFinancialPeriod().getEndDate())); + } catch (AfterLastFiscalPeriodException e) { + errorHelper.showErrorMessage(t("lima.ui.entry.add.error.afterLastFiscalPeriod", + e.getDate())); + } catch (BeforeFirstFiscalPeriodException e) { + errorHelper.showErrorMessage(t("lima.ui.entry.add.error.beforeFirstFiscalPeriod", + e.getDate())); + } catch (LockedEntryBookException e) { + errorHelper.showErrorMessage(t("lima.ui.entry.add.error.lockedEntryBook", + e.getClosedPeriodicEntryBook().getEntryBook().getCode(), + e.getClosedPeriodicEntryBook().getEntryBook().getLabel(), + e.getClosedPeriodicEntryBook().getFinancialPeriod().getBeginDate(), + e.getClosedPeriodicEntryBook().getFinancialPeriod().getEndDate())); } } else { if (log.isWarnEnabled()) { @@ -222,8 +239,16 @@ table.changeSelection(indexSelectedRow, 1, false, false); table.editCellAt(indexSelectedRow, 1); } - } catch (FinancialTransactionException e) { - errorHelper.showErrorMessage(t(e.getMessage())); + } catch (LockedFinancialPeriodException e) { + errorHelper.showErrorMessage(t("lima.ui.financialTransaction.delete.error.lockedFinancialPeriod", + e.getFinancialPeriod().getBeginDate(), + e.getFinancialPeriod().getEndDate())); + } catch (LockedEntryBookException e) { + errorHelper.showErrorMessage(t("lima.ui.financialTransaction.delete.error.lockedEntryBook", + e.getClosedPeriodicEntryBook().getEntryBook().getCode(), + e.getClosedPeriodicEntryBook().getEntryBook().getLabel(), + e.getClosedPeriodicEntryBook().getFinancialPeriod().getBeginDate(), + e.getClosedPeriodicEntryBook().getFinancialPeriod().getEndDate())); } } } else { @@ -271,8 +296,16 @@ table.changeSelection(indexSelectedRow, 1, false, false); table.editCellAt(indexSelectedRow, 1); } - } catch (FinancialTransactionException e) { - errorHelper.showErrorMessage(t(e.getMessage())); + } catch (LockedFinancialPeriodException e) { + errorHelper.showErrorMessage(t("lima.ui.financialTransaction.delete.error.lockedFinancialPeriod", + e.getFinancialPeriod().getBeginDate(), + e.getFinancialPeriod().getEndDate())); + } catch (LockedEntryBookException e) { + errorHelper.showErrorMessage(t("lima.ui.financialTransaction.delete.error.lockedEntryBook", + e.getClosedPeriodicEntryBook().getEntryBook().getCode(), + e.getClosedPeriodicEntryBook().getEntryBook().getLabel(), + e.getClosedPeriodicEntryBook().getFinancialPeriod().getBeginDate(), + e.getClosedPeriodicEntryBook().getFinancialPeriod().getEndDate())); } } } else { Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/lettering/LetteringViewHandler.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/lettering/LetteringViewHandler.java 2014-07-09 13:13:18 UTC (rev 3840) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/lettering/LetteringViewHandler.java 2014-07-09 15:58:34 UTC (rev 3841) @@ -32,7 +32,7 @@ import org.chorem.lima.LimaConfig; import org.chorem.lima.beans.LetteringFilterImpl; import org.chorem.lima.business.LockedEntryBookException; -import org.chorem.lima.business.FinancialTransactionException; +import org.chorem.lima.business.LockedFinancialPeriodException; import org.chorem.lima.business.api.AccountService; import org.chorem.lima.business.api.EntryBookService; import org.chorem.lima.business.api.FinancialPeriodService; @@ -429,8 +429,16 @@ * and the new sameAccountEntry * */ view.getLettringSelectionModel().selectRoundedAndNewEntries(selectedRows[0], selectedRows[1], newSameAccountEntry); - } catch (FinancialTransactionException e) { - errorHelper.showErrorMessage(t(e.getMessage())); + } catch (LockedFinancialPeriodException e) { + errorHelper.showErrorMessage(t("lima.ui.lettering.roundAndCreateEntry.error.lockedFinancialPeriod", + e.getFinancialPeriod().getBeginDate(), + e.getFinancialPeriod().getEndDate())); + } catch (LockedEntryBookException e) { + errorHelper.showErrorMessage(t("lima.ui.lettering.roundAndCreateEntry.error.lockedEntryBook", + e.getClosedPeriodicEntryBook().getEntryBook().getCode(), + e.getClosedPeriodicEntryBook().getEntryBook().getLabel(), + e.getClosedPeriodicEntryBook().getFinancialPeriod().getBeginDate(), + e.getClosedPeriodicEntryBook().getFinancialPeriod().getEndDate())); } } } Modified: trunk/lima-swing/src/main/resources/i18n/lima-swing_en_GB.properties =================================================================== --- trunk/lima-swing/src/main/resources/i18n/lima-swing_en_GB.properties 2014-07-09 13:13:18 UTC (rev 3840) +++ trunk/lima-swing/src/main/resources/i18n/lima-swing_en_GB.properties 2014-07-09 15:58:34 UTC (rev 3841) @@ -361,6 +361,14 @@ lima.ui.common.update=Update lima.ui.entries.assign.closed.entryBook.error= lima.ui.entries.letter.closed.entryBook.error= +lima.ui.entry.add.error.afterLastFiscalPeriod= +lima.ui.entry.add.error.beforeFirstFiscalPeriod= +lima.ui.entry.add.error.lockedEntryBook= +lima.ui.entry.add.error.lockedFinancialPeriod= +lima.ui.entry.paste.error.afterLastFiscalPeriod= +lima.ui.entry.paste.error.beforeFirstFiscalPeriod= +lima.ui.entry.paste.error.lockedEntryBook= +lima.ui.entry.paste.error.lockedFinancialPeriod= lima.ui.entry.update.closed.entryBook.error= lima.ui.entryBook.delete.used.error=Can't delete entry book %2$s (%1$s) because exist financcial transactions in this entry book. lima.ui.entrybook.add= @@ -374,6 +382,20 @@ lima.ui.entrybook.label= lima.ui.entrybook.remove= lima.ui.entrybook.update= +lima.ui.financialTransaction.add.error.afterLastFiscalPeriod= +lima.ui.financialTransaction.add.error.beforeFirstFiscalPeriod= +lima.ui.financialTransaction.add.error.lockedEntryBook= +lima.ui.financialTransaction.add.error.lockedFinancialPeriod= +lima.ui.financialTransaction.delete.error.lockedEntryBook= +lima.ui.financialTransaction.delete.error.lockedFinancialPeriod= +lima.ui.financialTransaction.paste.error.afterLastFiscalPeriod= +lima.ui.financialTransaction.paste.error.beforeFirstFiscalPeriod= +lima.ui.financialTransaction.paste.error.lockedEntryBook= +lima.ui.financialTransaction.paste.error.lockedFinancialPeriod= +lima.ui.financialTransaction.update.error.afterLastFiscalPeriod= +lima.ui.financialTransaction.update.error.beforeFirstFiscalPeriod= +lima.ui.financialTransaction.update.error.lockedEntryBook= +lima.ui.financialTransaction.update.error.lockedFinancialPeriod= lima.ui.financialperiod.begin= lima.ui.financialperiod.block= lima.ui.financialperiod.block.error.NoLockedPreviousEntryBook.main= @@ -513,6 +535,8 @@ lima.ui.lettering.endFinancialPeriod=To lima.ui.lettering.entry=Entries lima.ui.lettering.period=Periods +lima.ui.lettering.roundAndCreateEntry.error.lockedEntryBook= +lima.ui.lettering.roundAndCreateEntry.error.lockedFinancialPeriod= lima.ui.lettering.selectCredit= lima.ui.lettering.selectDebit= lima.ui.lettering.selectEntry=Actual selection Modified: trunk/lima-swing/src/main/resources/i18n/lima-swing_fr_FR.properties =================================================================== --- trunk/lima-swing/src/main/resources/i18n/lima-swing_fr_FR.properties 2014-07-09 13:13:18 UTC (rev 3840) +++ trunk/lima-swing/src/main/resources/i18n/lima-swing_fr_FR.properties 2014-07-09 15:58:34 UTC (rev 3841) @@ -341,9 +341,17 @@ lima.ui.common.remove=Supprimer lima.ui.common.solde=Solde lima.ui.common.update=Modifier -lima.ui.entries.assign.closed.entryBook.error=Impossible d'affecter cette valeur a l'ensemble des entrés de la transaction car le jounal %2$s (%1$s) est cloturé pour la période du %3$te %3$tB %3$tY au %4$te %4$tB %4$tY -lima.ui.entries.letter.closed.entryBook.error=Impossible de modifier le lettrage des ces entrés car le jounal %2$s (%1$s) est cloturé pour la période du %3$te %3$tB %3$tY au %4$te %4$tB %4$tY -lima.ui.entry.update.closed.entryBook.error=Impossible de modifier cette entré car le jounal %2$s (%1$s) est cloturé pour la période du %3$te %3$tB %3$tY au %4$te %4$tB %4$tY +lima.ui.entries.assign.closed.entryBook.error=Impossible d'affecter cette valeur a l'ensemble des entrés de la transaction car le jounal %2$s (%1$s) est cloturé pour la période du %3$te %3$tB %3$tY au %4$te %4$tB %4$tY. +lima.ui.entries.letter.closed.entryBook.error=Impossible de modifier le lettrage des ces entrés car le jounal %2$s (%1$s) est cloturé pour la période du %3$te %3$tB %3$tY au %4$te %4$tB %4$tY. +lima.ui.entry.add.error.afterLastFiscalPeriod=Impossible d'ajouter une entré car la date de la transaction est après le %1$te %1$tB %1$tY fin du dernier exercice. +lima.ui.entry.add.error.beforeFirstFiscalPeriod=Impossible d'ajouter une entré car la date de la transaction est avant le %1$te %1$tB %1$tY début du premier exercice. +lima.ui.entry.add.error.lockedEntryBook=Impossible d'ajouter une entré car le jounal %2$s (%1$s) est cloturé pour la période du %3$te %3$tB %3$tY au %4$te %4$tB %4$tY. +lima.ui.entry.add.error.lockedFinancialPeriod=Impossible d'ajouter une entré car la période fiscale du %3$te %3$tB %3$tY au %4$te %4$tB %4$tY est cloturée. +lima.ui.entry.paste.error.afterLastFiscalPeriod=Impossible de copier une entré car la date de la transaction est après le %1$te %1$tB %1$tY fin du dernier exercice. +lima.ui.entry.paste.error.beforeFirstFiscalPeriod=Impossible de copier une entré car la date de la transaction est avant le %1$te %1$tB %1$tY début du premier exercice. +lima.ui.entry.paste.error.lockedEntryBook=Impossible de copier une entré car le jounal %2$s (%1$s) est cloturé pour la période du %3$te %3$tB %3$tY au %4$te %4$tB %4$tY. +lima.ui.entry.paste.error.lockedFinancialPeriod=Impossible de copier une entré car la période fiscale du %3$te %3$tB %3$tY au %4$te %4$tB %4$tY est cloturée. +lima.ui.entry.update.closed.entryBook.error=Impossible de modifier cette entré car le jounal %2$s (%1$s) est cloturé pour la période du %3$te %3$tB %3$tY au %4$te %4$tB %4$tY. lima.ui.entryBook.delete.used.error=Imposible de supprimer le journal %2$s (%1$s) car Il existe des transactioins sur ce journal. lima.ui.entrybook.add=Ajout de journal lima.ui.entrybook.code=Code @@ -356,6 +364,20 @@ lima.ui.entrybook.label=Libellé lima.ui.entrybook.remove=Supprimer lima.ui.entrybook.update=Modifier +lima.ui.financialTransaction.add.error.afterLastFiscalPeriod=Impossible d'ajouter une transaction après le %1$te %1$tB %1$tY fin du dernier exercice. +lima.ui.financialTransaction.add.error.beforeFirstFiscalPeriod=Impossible d'ajouter une transaction avant le %1$te %1$tB %1$tY début du premier exercice. +lima.ui.financialTransaction.add.error.lockedEntryBook=Impossible d'ajouter une transaction car le jounal %2$s (%1$s) est cloturé pour la période du %3$te %3$tB %3$tY au %4$te %4$tB %4$tY. +lima.ui.financialTransaction.add.error.lockedFinancialPeriod=Impossible d'ajouter une transaction car la période fiscale du %3$te %3$tB %3$tY au %4$te %4$tB %4$tY est cloturée. +lima.ui.financialTransaction.delete.error.lockedEntryBook=Impossible de supprimer une transaction car le jounal %2$s (%1$s) est cloturé pour la période du %3$te %3$tB %3$tY au %4$te %4$tB %4$tY. +lima.ui.financialTransaction.delete.error.lockedFinancialPeriod=Impossible de supprimer une transaction car la période fiscale du %3$te %3$tB %3$tY au %4$te %4$tB %4$tY est cloturée. +lima.ui.financialTransaction.paste.error.afterLastFiscalPeriod=Impossible de copier une transaction après le %1$te %1$tB %1$tY fin du dernier exercice. +lima.ui.financialTransaction.paste.error.beforeFirstFiscalPeriod=Impossible de copier une transaction avant le %1$te %1$tB %1$tY début du premier exercice. +lima.ui.financialTransaction.paste.error.lockedEntryBook=Impossible de copier une transaction car le jounal %2$s (%1$s) est cloturé pour la période du %3$te %3$tB %3$tY au %4$te %4$tB %4$tY. +lima.ui.financialTransaction.paste.error.lockedFinancialPeriod=Impossible de copier une transaction car la période fiscale du %3$te %3$tB %3$tY au %4$te %4$tB %4$tY est cloturée. +lima.ui.financialTransaction.update.error.afterLastFiscalPeriod=Impossible de déplacer une transaction après le %1$te %1$tB %1$tY fin du dernier exercice. +lima.ui.financialTransaction.update.error.beforeFirstFiscalPeriod=Impossible de déplacer une transaction avant le %1$te %1$tB %1$tY début du premier exercice. +lima.ui.financialTransaction.update.error.lockedEntryBook=Impossible de déplacer une transaction car le jounal %2$s (%1$s) est cloturé pour la période du %3$te %3$tB %3$tY au %4$te %4$tB %4$tY. +lima.ui.financialTransaction.update.error.lockedFinancialPeriod=Impossible de deplacer une transaction car la période fiscale du %3$te %3$tB %3$tY au %4$te %4$tB %4$tY est cloturée. lima.ui.financialperiod.begin=Début lima.ui.financialperiod.block=Cloturer une période lima.ui.financialperiod.block.error.noLockedPreviousEntryBook.main=Impossible de clôturer cette période car les périodes précedentes ne sont pas clôturer \: @@ -487,6 +509,8 @@ lima.ui.lettering.endFinancialPeriod=A lima.ui.lettering.entry=Écritures lima.ui.lettering.period=Périodes +lima.ui.lettering.roundAndCreateEntry.error.lockedEntryBook=Impossible de modifier le lettrage d'une entré car le jounal %2$s (%1$s) est cloturé pour la période du %3$te %3$tB %3$tY au %4$te %4$tB %4$tY. +lima.ui.lettering.roundAndCreateEntry.error.lockedFinancialPeriod=Impossible de modifier le lettrage d'une entré car la période fiscale du %3$te %3$tB %3$tY au %4$te %4$tB %4$tY est cloturée. lima.ui.lettering.selectCredit=Crédit lima.ui.lettering.selectDebit=Débit lima.ui.lettering.selectEntry=Sélection courante
participants (1)
-
sbavencoff@users.chorem.org