[GitHub] fineract pull request #465: Fineract 614: Rates module

2018-08-01 Thread ShruthiRajaram
Github user ShruthiRajaram commented on a diff in the pull request:

https://github.com/apache/fineract/pull/465#discussion_r206854066
  
--- Diff: 
fineract-provider/src/main/resources/sql/migrations/core_db/V343__rates.sql ---
@@ -0,0 +1,62 @@
+--
+-- Licensed to the Apache Software Foundation (ASF) under one
+-- or more contributor license agreements. See the NOTICE file
+-- distributed with this work for additional information
+-- regarding copyright ownership. The ASF licenses this file
+-- to you under the Apache License, Version 2.0 (the
+-- "License"); you may not use this file except in compliance
+-- with the License. You may obtain a copy of the License at
+--
+-- http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing,
+-- software distributed under the License is distributed on an
+-- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+-- KIND, either express or implied. See the License for the
+-- specific language governing permissions and limitations
+-- under the License.
+--
+
+CREATE TABLE IF NOT EXISTS `m_rate` (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT,
+  `name` varchar(250) NOT NULL,
+  `percentage` decimal(10,2) NOT NULL,
+  `active` tinyint(1) DEFAULT '0',
+  `product_apply` varchar(100) NOT NULL,
+  `created_date` datetime NULL DEFAULT NULL,
+  `createdby_id` bigint(20) NOT NULL,
+  `lastmodifiedby_id` bigint(20) NOT NULL,
+  `lastmodified_date` datetime NULL DEFAULT NULL,
+  `approve_user` bigint(20) DEFAULT NULL,
+  PRIMARY KEY (`id`),
+  KEY `FK_M_RATE_CREATE_USER` (`createdby_id`),
+  KEY `FK_M_RATE_APPROVE_USER` (`approve_user`),
+  CONSTRAINT `FK_M_RATE_APPROVE_USER` FOREIGN KEY (`approve_user`) 
REFERENCES `m_appuser` (`id`),
+  CONSTRAINT `FK_M_RATE_CREATE_USER` FOREIGN KEY (`createdby_id`) 
REFERENCES `m_appuser` (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=21 DEFAULT CHARSET=latin1;
+
+
+CREATE TABLE IF NOT EXISTS `m_loan_rate` (
+  `loan_id` bigint(20) NOT NULL,
+  `rate_id` bigint(20) NOT NULL,
+  PRIMARY KEY (`loan_id`,`rate_id`),
+  KEY `FK_M_LOAN_RATE_RATE` (`rate_id`),
+  CONSTRAINT `FK_M_LOAN_RATE_LOAN` FOREIGN KEY (`loan_id`) REFERENCES 
`m_loan` (`id`),
+  CONSTRAINT `FK_M_LOAN_RATE_RATE` FOREIGN KEY (`rate_id`) REFERENCES 
`m_rate` (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+
+CREATE TABLE IF NOT EXISTS `m_product_loan_rate` (
+  `product_loan_id` bigint(20) NOT NULL,
+  `rate_id` bigint(20) NOT NULL,
+  PRIMARY KEY (`product_loan_id`,`rate_id`),
+  KEY `FK_M_PRODUCT_LOAN_RATE_RATE` (`rate_id`),
+  CONSTRAINT `FK_M_PRODUCT_LOAN_RATE_LOAN` FOREIGN KEY (`product_loan_id`) 
REFERENCES `m_product_loan` (`id`),
+  CONSTRAINT `FK_M_PRODUCT_LOAN_RATE_RATE` FOREIGN KEY (`rate_id`) 
REFERENCES `m_rate` (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--- End diff --

remove  ENGINE=InnoDB DEFAULT CHARSET=latin1;
 
 


---


[GitHub] fineract pull request #465: Fineract 614: Rates module

2018-08-01 Thread ShruthiRajaram
Github user ShruthiRajaram commented on a diff in the pull request:

https://github.com/apache/fineract/pull/465#discussion_r206853888
  
--- Diff: 
fineract-provider/src/main/java/org/apache/fineract/portfolio/loanproduct/service/LoanProductWritePlatformServiceJpaRepositoryImpl.java
 ---
@@ -304,6 +319,32 @@ private boolean 
anyChangeInCriticalFloatingRateLinkedParams(JsonCommand command,
 return charges;
 }
 
+private List assembleListOfProductRates(final JsonCommand 
command) {
+
+final List rates = new ArrayList<>();
+
+if (command.parameterExists("rates")) {
+final JsonArray ratesArray = 
command.arrayOfParameterNamed("rates");
+if (ratesArray != null) {
+for (int i = 0; i < ratesArray.size(); i++) {
+
+final JsonObject jsonObject = 
ratesArray.get(i).getAsJsonObject();
+if (jsonObject.has("id")) {
+final Long id = jsonObject.get("id").getAsLong();
+
+final Rate rate = this.rateRepository.findOne(id);
--- End diff --

Instead of repeated calls to DB, can you try using single query with in 
clause and validate 


---


[GitHub] fineract pull request #465: Fineract 614: Rates module

2018-08-01 Thread ShruthiRajaram
Github user ShruthiRajaram commented on a diff in the pull request:

https://github.com/apache/fineract/pull/465#discussion_r206853956
  
--- Diff: 
fineract-provider/src/main/java/org/apache/fineract/portfolio/rate/handler/DeleteRateCommandHandler.java
 ---
@@ -0,0 +1,26 @@
+/**
--- End diff --

Is this required?


---


[GitHub] fineract pull request #465: Fineract 614: Rates module

2018-08-01 Thread ShruthiRajaram
Github user ShruthiRajaram commented on a diff in the pull request:

https://github.com/apache/fineract/pull/465#discussion_r206853697
  
--- Diff: 
fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanUtilService.java
 ---
@@ -325,4 +332,35 @@ private LocalDate 
generateCalculatedRepaymentStartDate(final CalendarHistoryData
 return disbursementDatas;
 }
 
+public List fetchRateData(final JsonArray element) {
+List rates = new ArrayList<>();
+
+if (element != null) {
+for (JsonElement jsonElement : element) {
+final JsonObject rateElement = 
jsonElement.getAsJsonObject();
+if (rateElement.has("id")) {
+final Long rateId = 
this.fromApiJsonHelper.extractLongNamed("id", rateElement);
+Rate rate = findRateByIdIfProvided(rateId);
+rates.add(rate);
+}
+}
+}else{
+System.out.println("");
+}
+
+return rates;
+}
+
+public Rate findRateByIdIfProvided(final Long rateId) {
+Rate rate = null;
+if (rateId != null) {
+rate = this.rateRepository.findOne(rateId);
--- End diff --

As per the fineract existing code its advised to access repository methods 
using wrapper class


---


[GitHub] fineract pull request #465: Fineract 614: Rates module

2018-08-01 Thread ShruthiRajaram
Github user ShruthiRajaram commented on a diff in the pull request:

https://github.com/apache/fineract/pull/465#discussion_r206854038
  
--- Diff: 
fineract-provider/src/main/resources/sql/migrations/core_db/V343__rates.sql ---
@@ -0,0 +1,62 @@
+--
+-- Licensed to the Apache Software Foundation (ASF) under one
+-- or more contributor license agreements. See the NOTICE file
+-- distributed with this work for additional information
+-- regarding copyright ownership. The ASF licenses this file
+-- to you under the Apache License, Version 2.0 (the
+-- "License"); you may not use this file except in compliance
+-- with the License. You may obtain a copy of the License at
+--
+-- http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing,
+-- software distributed under the License is distributed on an
+-- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+-- KIND, either express or implied. See the License for the
+-- specific language governing permissions and limitations
+-- under the License.
+--
+
+CREATE TABLE IF NOT EXISTS `m_rate` (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT,
+  `name` varchar(250) NOT NULL,
+  `percentage` decimal(10,2) NOT NULL,
+  `active` tinyint(1) DEFAULT '0',
+  `product_apply` varchar(100) NOT NULL,
+  `created_date` datetime NULL DEFAULT NULL,
+  `createdby_id` bigint(20) NOT NULL,
+  `lastmodifiedby_id` bigint(20) NOT NULL,
+  `lastmodified_date` datetime NULL DEFAULT NULL,
+  `approve_user` bigint(20) DEFAULT NULL,
+  PRIMARY KEY (`id`),
+  KEY `FK_M_RATE_CREATE_USER` (`createdby_id`),
+  KEY `FK_M_RATE_APPROVE_USER` (`approve_user`),
+  CONSTRAINT `FK_M_RATE_APPROVE_USER` FOREIGN KEY (`approve_user`) 
REFERENCES `m_appuser` (`id`),
+  CONSTRAINT `FK_M_RATE_CREATE_USER` FOREIGN KEY (`createdby_id`) 
REFERENCES `m_appuser` (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=21 DEFAULT CHARSET=latin1;
--- End diff --

remove ENGINE=InnoDB AUTO_INCREMENT=21 DEFAULT CHARSET=latin1;


---


[GitHub] fineract pull request #465: Fineract 614: Rates module

2018-08-01 Thread ShruthiRajaram
Github user ShruthiRajaram commented on a diff in the pull request:

https://github.com/apache/fineract/pull/465#discussion_r206853497
  
--- Diff: 
fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/Loan.java
 ---
@@ -392,20 +395,24 @@
 @OneToOne(cascade = CascadeType.ALL, mappedBy = "loan", optional = 
true, orphanRemoval = true, fetch=FetchType.EAGER)
 private LoanTopupDetails loanTopupDetails;
 
+@ManyToMany(fetch = FetchType.EAGER)
--- End diff --

I think it is OneToMany relationship !!
it possible to change fetchtype to lazy and achieve the expected results?


---


[GitHub] fineract pull request #465: Fineract 614: Rates module

2018-08-01 Thread ShruthiRajaram
Github user ShruthiRajaram commented on a diff in the pull request:

https://github.com/apache/fineract/pull/465#discussion_r206853841
  
--- Diff: 
fineract-provider/src/main/java/org/apache/fineract/portfolio/loanproduct/service/LoanProductReadPlatformServiceImpl.java
 ---
@@ -465,7 +473,7 @@ public LoanProductData mapRow(final ResultSet rs, 
@SuppressWarnings("unused") fi
 installmentAmountInMultiplesOf, 
allowAttributeOverrides, isLinkedToFloatingInterestRates, floatingRateId,
 floatingRateName, interestRateDifferential, 
minDifferentialLendingRate, defaultDifferentialLendingRate,
 maxDifferentialLendingRate, 
isFloatingInterestRateCalculationAllowed, isVariableIntallmentsAllowed, 
minimumGap,
-maximumGap, syncExpectedWithDisbursementDate, 
canUseForTopup, isEqualAmortization);
+maximumGap, syncExpectedWithDisbursementDate, 
canUseForTopup, isEqualAmortization, null, this.rates);
--- End diff --

instead of directly passing null, initialize to a variable (variable name 
similar to the one in called method ) and pass it, for readability. And follow 
similar approach in all other places


---


[GitHub] fineract pull request #465: Fineract 614: Rates module

2018-08-01 Thread ShruthiRajaram
Github user ShruthiRajaram commented on a diff in the pull request:

https://github.com/apache/fineract/pull/465#discussion_r206854050
  
--- Diff: 
fineract-provider/src/main/resources/sql/migrations/core_db/V343__rates.sql ---
@@ -0,0 +1,62 @@
+--
+-- Licensed to the Apache Software Foundation (ASF) under one
+-- or more contributor license agreements. See the NOTICE file
+-- distributed with this work for additional information
+-- regarding copyright ownership. The ASF licenses this file
+-- to you under the Apache License, Version 2.0 (the
+-- "License"); you may not use this file except in compliance
+-- with the License. You may obtain a copy of the License at
+--
+-- http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing,
+-- software distributed under the License is distributed on an
+-- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+-- KIND, either express or implied. See the License for the
+-- specific language governing permissions and limitations
+-- under the License.
+--
+
+CREATE TABLE IF NOT EXISTS `m_rate` (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT,
+  `name` varchar(250) NOT NULL,
+  `percentage` decimal(10,2) NOT NULL,
+  `active` tinyint(1) DEFAULT '0',
+  `product_apply` varchar(100) NOT NULL,
+  `created_date` datetime NULL DEFAULT NULL,
+  `createdby_id` bigint(20) NOT NULL,
+  `lastmodifiedby_id` bigint(20) NOT NULL,
+  `lastmodified_date` datetime NULL DEFAULT NULL,
+  `approve_user` bigint(20) DEFAULT NULL,
+  PRIMARY KEY (`id`),
+  KEY `FK_M_RATE_CREATE_USER` (`createdby_id`),
+  KEY `FK_M_RATE_APPROVE_USER` (`approve_user`),
+  CONSTRAINT `FK_M_RATE_APPROVE_USER` FOREIGN KEY (`approve_user`) 
REFERENCES `m_appuser` (`id`),
+  CONSTRAINT `FK_M_RATE_CREATE_USER` FOREIGN KEY (`createdby_id`) 
REFERENCES `m_appuser` (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=21 DEFAULT CHARSET=latin1;
+
+
+CREATE TABLE IF NOT EXISTS `m_loan_rate` (
+  `loan_id` bigint(20) NOT NULL,
+  `rate_id` bigint(20) NOT NULL,
+  PRIMARY KEY (`loan_id`,`rate_id`),
+  KEY `FK_M_LOAN_RATE_RATE` (`rate_id`),
+  CONSTRAINT `FK_M_LOAN_RATE_LOAN` FOREIGN KEY (`loan_id`) REFERENCES 
`m_loan` (`id`),
+  CONSTRAINT `FK_M_LOAN_RATE_RATE` FOREIGN KEY (`rate_id`) REFERENCES 
`m_rate` (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--- End diff --

remove ENGINE=InnoDB DEFAULT CHARSET=latin1;


---


[GitHub] fineract pull request #465: Fineract 614: Rates module

2018-08-01 Thread ShruthiRajaram
Github user ShruthiRajaram commented on a diff in the pull request:

https://github.com/apache/fineract/pull/465#discussion_r206853561
  
--- Diff: 
fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanUtilService.java
 ---
@@ -325,4 +332,35 @@ private LocalDate 
generateCalculatedRepaymentStartDate(final CalendarHistoryData
 return disbursementDatas;
 }
 
+public List fetchRateData(final JsonArray element) {
+List rates = new ArrayList<>();
+
+if (element != null) {
+for (JsonElement jsonElement : element) {
+final JsonObject rateElement = 
jsonElement.getAsJsonObject();
+if (rateElement.has("id")) {
+final Long rateId = 
this.fromApiJsonHelper.extractLongNamed("id", rateElement);
+Rate rate = findRateByIdIfProvided(rateId);
+rates.add(rate);
+}
+}
+}else{
--- End diff --

remove else block


---


[GitHub] fineract pull request #465: Fineract 614: Rates module

2018-08-01 Thread ShruthiRajaram
Github user ShruthiRajaram commented on a diff in the pull request:

https://github.com/apache/fineract/pull/465#discussion_r206853418
  
--- Diff: 
fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/api/LoansApiResource.java
 ---
@@ -178,30 +180,30 @@
 private final EntityDatatableChecksReadService 
entityDatatableChecksReadService;
 private final BulkImportWorkbookService bulkImportWorkbookService;
 private final BulkImportWorkbookPopulatorService 
bulkImportWorkbookPopulatorService;
-
+private final RateReadService rateReadService;
 
 @Autowired
 public LoansApiResource(final PlatformSecurityContext context, final 
LoanReadPlatformService loanReadPlatformService,
-final LoanProductReadPlatformService 
loanProductReadPlatformService,
-final LoanDropdownReadPlatformService 
dropdownReadPlatformService, final FundReadPlatformService 
fundReadPlatformService,
-final ChargeReadPlatformService chargeReadPlatformService, 
final LoanChargeReadPlatformService loanChargeReadPlatformService,
-final CollateralReadPlatformService 
loanCollateralReadPlatformService,
-final LoanScheduleCalculationPlatformService 
calculationPlatformService,
-final GuarantorReadPlatformService 
guarantorReadPlatformService,
-final CodeValueReadPlatformService 
codeValueReadPlatformService, final GroupReadPlatformService 
groupReadPlatformService,
-final DefaultToApiJsonSerializer 
toApiJsonSerializer,
-final DefaultToApiJsonSerializer 
loanApprovalDataToApiJsonSerializer,
-final DefaultToApiJsonSerializer 
loanScheduleToApiJsonSerializer,
-final ApiRequestParameterHelper apiRequestParameterHelper, 
final FromJsonHelper fromJsonHelper,
-final PortfolioCommandSourceWritePlatformService 
commandsSourceWritePlatformService,
-final CalendarReadPlatformService calendarReadPlatformService, 
final NoteReadPlatformServiceImpl noteReadPlatformService,
-final PortfolioAccountReadPlatformService 
portfolioAccountReadPlatformServiceImpl,
-final AccountAssociationsReadPlatformService 
accountAssociationsReadPlatformService,
-final LoanScheduleHistoryReadPlatformService 
loanScheduleHistoryReadPlatformService,
-final AccountDetailsReadPlatformService 
accountDetailsReadPlatformService,
-final EntityDatatableChecksReadService 
entityDatatableChecksReadService,
-final BulkImportWorkbookService bulkImportWorkbookService,
-final BulkImportWorkbookPopulatorService 
bulkImportWorkbookPopulatorService) {
+final LoanProductReadPlatformService 
loanProductReadPlatformService,
+final LoanDropdownReadPlatformService dropdownReadPlatformService, 
final FundReadPlatformService fundReadPlatformService,
+final ChargeReadPlatformService chargeReadPlatformService, final 
LoanChargeReadPlatformService loanChargeReadPlatformService,
+final CollateralReadPlatformService 
loanCollateralReadPlatformService,
+final LoanScheduleCalculationPlatformService 
calculationPlatformService,
+final GuarantorReadPlatformService guarantorReadPlatformService,
+final CodeValueReadPlatformService codeValueReadPlatformService, 
final GroupReadPlatformService groupReadPlatformService,
+final DefaultToApiJsonSerializer 
toApiJsonSerializer,
+final DefaultToApiJsonSerializer 
loanApprovalDataToApiJsonSerializer,
+final DefaultToApiJsonSerializer 
loanScheduleToApiJsonSerializer,
+final ApiRequestParameterHelper apiRequestParameterHelper, final 
FromJsonHelper fromJsonHelper,
+final PortfolioCommandSourceWritePlatformService 
commandsSourceWritePlatformService,
+final CalendarReadPlatformService calendarReadPlatformService, 
final NoteReadPlatformServiceImpl noteReadPlatformService,
+final PortfolioAccountReadPlatformService 
portfolioAccountReadPlatformServiceImpl,
+final AccountAssociationsReadPlatformService 
accountAssociationsReadPlatformService,
+final LoanScheduleHistoryReadPlatformService 
loanScheduleHistoryReadPlatformService,
+final AccountDetailsReadPlatformService 
accountDetailsReadPlatformService,
+final EntityDatatableChecksReadService 
entityDatatableChecksReadService, RateReadService rateReadService,
+final BulkImportWorkbookService bulkImportWorkbookService,
--- End diff --

Kindly make RateReadService rateReadService as the last parameter of the 
method


---


[GitHub] fineract pull request #465: Fineract 614: Rates module

2018-08-01 Thread ShruthiRajaram
Github user ShruthiRajaram commented on a diff in the pull request:

https://github.com/apache/fineract/pull/465#discussion_r206853778
  
--- Diff: 
fineract-provider/src/main/java/org/apache/fineract/portfolio/loanproduct/domain/LoanProduct.java
 ---
@@ -102,6 +103,10 @@
 @JoinTable(name = "m_product_loan_charge", joinColumns = 
@JoinColumn(name = "product_loan_id"), inverseJoinColumns = @JoinColumn(name = 
"charge_id"))
 private List charges;
 
+@ManyToMany(fetch = FetchType.EAGER)
+@JoinTable(name = "m_product_loan_rate", joinColumns = 
@JoinColumn(name = "product_loan_id"), inverseJoinColumns = @JoinColumn(name = 
"rate_id"))
--- End diff --

@ManyToMany or OneToMany
Can the functionality be achieved by using fetch type lazy


---


[GitHub] fineract pull request #465: Fineract 614: Rates module

2018-08-01 Thread ShruthiRajaram
Github user ShruthiRajaram commented on a diff in the pull request:

https://github.com/apache/fineract/pull/465#discussion_r206853632
  
--- Diff: 
fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanUtilService.java
 ---
@@ -325,4 +332,35 @@ private LocalDate 
generateCalculatedRepaymentStartDate(final CalendarHistoryData
 return disbursementDatas;
 }
 
+public List fetchRateData(final JsonArray element) {
+List rates = new ArrayList<>();
+
+if (element != null) {
+for (JsonElement jsonElement : element) {
+final JsonObject rateElement = 
jsonElement.getAsJsonObject();
+if (rateElement.has("id")) {
+final Long rateId = 
this.fromApiJsonHelper.extractLongNamed("id", rateElement);
+Rate rate = findRateByIdIfProvided(rateId);
+rates.add(rate);
+}
+}
+}else{
+System.out.println("");
+}
+
+return rates;
+}
+
+public Rate findRateByIdIfProvided(final Long rateId) {
--- End diff --

kindly provide appropriate name


---


[GitHub] fineract pull request #452: fineract changes for community app bug 1863

2018-08-01 Thread ShruthiRajaram
Github user ShruthiRajaram commented on a diff in the pull request:

https://github.com/apache/fineract/pull/452#discussion_r206880756
  
--- Diff: 
fineract-provider/src/main/java/org/apache/fineract/portfolio/accountdetails/service/AccountDetailsReadPlatformServiceJpaRepositoryImpl.java
 ---
@@ -493,6 +513,113 @@ public LoanAccountSummaryData mapRow(final ResultSet 
rs, @SuppressWarnings("unus
 return new LoanAccountSummaryData(id, accountNo, externalId, 
productId, loanProductName, shortLoanProductName, loanStatus, loanType, 
loanCycle,
 timeline, 
inArrears,originalLoan,loanBalance,amountPaid);
 }
+
+}
+private static final class GuarantorLoanAccountSummaryDataMapper 
implements
+   RowMapper {
+
+   public String guarantorLoanAccountSummarySchema() {
+
+   final StringBuilder accountsSummary = new StringBuilder(
+   "l.id as id, l.account_no as accountNo, 
l.external_id as externalId,");
+   accountsSummary
+   .append(" l.product_id as productId, lp.name as 
productName, lp.short_name as shortProductName,")
+   .append(" l.loan_status_id as statusId, 
l.loan_type_enum as loanType,")
+
+   .append("l.principal_disbursed_derived as 
originalLoan,")
+   .append("l.total_outstanding_derived as 
loanBalance,")
+   .append("l.total_repayment_derived as 
amountPaid,")
+
+   .append(" l.loan_product_counter as loanCycle,")
+
+   .append(" l.submittedon_date as 
submittedOnDate,")
+   .append(" sbu.username as submittedByUsername, 
sbu.firstname as submittedByFirstname, sbu.lastname as submittedByLastname,")
+
+   .append(" l.rejectedon_date as rejectedOnDate,")
+   .append(" rbu.username as rejectedByUsername, 
rbu.firstname as rejectedByFirstname, rbu.lastname as rejectedByLastname,")
+
+   .append(" l.withdrawnon_date as 
withdrawnOnDate,")
+   .append(" wbu.username as withdrawnByUsername, 
wbu.firstname as withdrawnByFirstname, wbu.lastname as withdrawnByLastname,")
+
+   .append(" l.approvedon_date as approvedOnDate,")
+   .append(" abu.username as approvedByUsername, 
abu.firstname as approvedByFirstname, abu.lastname as approvedByLastname,")
--- End diff --

Since usernames retrieved from appuser table is not used, can you remove 
left joins that are not required


---


[GitHub] kengneruphine opened a new pull request #6: Extending fims-web-app to provide a UI for the Group microservice

2018-08-01 Thread GitBox
kengneruphine opened a new pull request #6: Extending fims-web-app to provide a 
UI for the Group microservice
URL: https://github.com/apache/fineract-cn-fims-web-app/pull/6
 
 
Description
   For GSoC, I have extended the fims-web-app to provide a web UI for the Group 
microservice. I have consumed almost all the endpoints from the microservice 
and two are left which am working on
   
What's included?
   
   - Added Create groupDefinition, view groupDefinition and Edit
   - Added manage group, update group
   - Implemented group command (Activate, Close and Reopen)
   - UI for meetings and sign-off meeting 
   
   Test Steps
   
   - Pull
   - npm i
   - npm run dev
   
   # Screenshots or link to CodePen/Plunker/JSfiddle


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] pembemiriam commented on issue #2: fixed issues due to angular redux

2018-08-01 Thread GitBox
pembemiriam commented on issue #2: fixed issues due to angular redux
URL: 
https://github.com/apache/fineract-cn-group-finance/pull/2#issuecomment-409666205
 
 
   Hello Awasum,
   
   I don't have any vulnerability issues so far in the repository that I am
   pushing to so I hope everything will be okay now.
   
   On Wed, Aug 1, 2018 at 7:44 AM Awasum Yannick 
   wrote:
   
   > @pembemiriam  Have u fixed the
   > vulnerabilities in this latest commit?
   >
   > —
   > You are receiving this because you were mentioned.
   > Reply to this email directly, view it on GitHub
   > 
,
   > or mute the thread
   > 

   > .
   >
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] awasum commented on issue #2: fixed issues due to angular redux

2018-08-01 Thread GitBox
awasum commented on issue #2: fixed issues due to angular redux
URL: 
https://github.com/apache/fineract-cn-group-finance/pull/2#issuecomment-409693391
 
 
   Did you check all the previous comments on the PR thread? Run npm audit and 
see if you dont get vulnerability issues. What version of NodeJS, Angular CLI 
and NPM are you using? Make sure to reaad the complete comment log on Github 
not just on Email. @pembemiriam 


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] pembemiriam commented on issue #2: fixed issues due to angular redux

2018-08-01 Thread GitBox
pembemiriam commented on issue #2: fixed issues due to angular redux
URL: 
https://github.com/apache/fineract-cn-group-finance/pull/2#issuecomment-409800226
 
 
   Hello Awasum,
   
   I tried doing npm audit but I got an error saying 'audit' is not an npm
   command.
   
   NodeJS version: 8.9.4
   AngularCLI version: 6.0.8
   NPM version: 5.7.1
   
   On Wed, Aug 1, 2018 at 8:29 PM Awasum Yannick 
   wrote:
   
   > Did you check all the previous comments on the PR thread? Run npm audit
   > and see if you dont get vulnerability issues. What version of NodeJS,
   > Angular CLI and NPM are you using? Make sure to reaad the complete comment
   > log on Github not just on Email. @pembemiriam
   > 
   >
   > —
   > You are receiving this because you were mentioned.
   > Reply to this email directly, view it on GitHub
   > 
,
   > or mute the thread
   > 

   > .
   >
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services