I'd like to send a pull request with a fix for the wrong import. To do this I assume an issue has to be created, but I don't seem to have the permissions to open issues on the JIRA.
On Sun, Jun 14, 2020 at 9:12 AM Markus Geiß <[email protected]> wrote: > Hey Michael, > > the reason why Teller is trying to fetch the definition of charges is > because it adds this information to the screen showing all parts of a > transaction including cost. > > Using the exception from office seems to be the real issue, so fixing it > by using the correct one is the right choice. > > IMHO > > Cheers > > Markus > > Gesendet von Outlook Mobile <https://aka.ms/blhgte> > > ------------------------------ > *From:* Ed Cable <[email protected]> > *Sent:* Sunday, June 14, 2020 2:37:41 AM > *To:* Dev <[email protected]>; Robert Elles <[email protected]>; > Craig S. Chelius <[email protected]>; Victor Manuel Romero > Rodriguez <[email protected]>; Jose Hernandez < > [email protected]> > *Subject:* Re: Fineract-CN Repay Loan Fails > > Michael, > > Glad to see your continued active presence in the community. Happy to see > how deep you're digging into the Fineract CN code and your willingness to > contribute back pull requests to the community. > > I'm cc'ing @Robert Elles <[email protected]> and @Craig S. Chelius > <[email protected]> from Kuelap as they should have experience > using the teller module in production. > > @Victor Manuel Romero Rodriguez <[email protected]> and @Jose > Hernandez <[email protected]> have you interacted with > repaying loans via teller? > > Thanks, > > Ed > ---------- Forwarded message --------- > From: *Michael Elgavi* <[email protected]> > Date: Sat, Jun 13, 2020 at 3:35 PM > Subject: Fineract-CN Repay Loan Fails > To: <[email protected]> > > > Hi all. > > We've been testing out Fineract-CN for a while now and encountered an > issue when trying to repay a loan from a teller (using fims). > > Tracking down the source of the problem, I've found the following line in > portfolio's log: > Responding with a service error ServiceError{code=404, message='No charge > definition with the identifier repay-principal found.'} > > Taking a look at teller and portfolio code, the problem seems to be as > follows: > 1. Teller calls portfolioManager.getCostComponentsForAction(), which > returns cost components as expected. > 2. Teller then calls portfolio again for every cost component and confirms > the charge definition identifier referenced is real by calling > portfolioManager.getChargeDefinition(). (This was introduced in this > commit > <https://github.com/apache/fineract-cn-teller/commit/815b7db174e7e8207ed06e562991c682b391ef77>, > and really doesn't make much sense to me. If teller doesn't trust > getCostComponents then why is it trusting getChargeDefinition?) > 3. Portfolio returns 404 when asked for the `repay-principal` charge > definition. This is because since this commit > <https://github.com/apache/fineract-cn-portfolio/commit/8568aa0938faab9ff5d6b74c1823863b0ce8781a>, > ChargeDefinitionRestController no longer deals with all charge definitions, > but only charges that are configurable. (The only configurable definitions > for loans are the fees. Other microservices currently have no way of > accessing the read-only non configurable charge definitions.) > 4. Teller is supposed to catch this 404 and handle it gracefully by catching > the NotFoundException > <https://github.com/apache/fineract-cn-teller/blob/c7896d6fce218ddb1ca5a6f8c20a71c04834351e/service/src/main/java/org/apache/fineract/cn/teller/service/internal/service/helper/PortfolioService.java#L81> > and just logging a warning, but for some reason it's catching > org.apache.fineract.cn.office.api.v1.client.NotFoundException > <https://github.com/apache/fineract-cn-teller/blob/c7896d6fce218ddb1ca5a6f8c20a71c04834351e/service/src/main/java/org/apache/fineract/cn/teller/service/internal/service/helper/PortfolioService.java#L35> > instead of org.apache.fineract.cn.api.util.NotFoundException. > > So the way I see it there are multiple ways to resolve this: > 1. Have portfolio return non configurable charge definitions too. > 2. Remove teller's (seemingly pointless) checking of charge definitions. > 3. Fix the wrong exception being caught. > > I have tested solution 3 and was able to repay a loan successfully. TBH > the right solution is probably to do all of these, but technically any one > would do. > > Before submitting any pull requests, I'd like to know if my analysis of > the problem is correct. Has anyone else experienced this problem? Is our > installation misconfigured somehow? or is it just that nobody has actually > tried repaying a loan with the teller (is there a better way)? > > > -- > *Ed Cable* > President/CEO, Mifos Initiative > [email protected] | Skype: edcable | Mobile: +1.484.477.8649 > > *Collectively Creating a World of 3 Billion Maries | *http://mifos.org > <http://facebook.com/mifos> <http://www.twitter.com/mifos> > >
