Merge pull request #649 from Musoni/MIFOSX-762
MIFOS-762 - Fixed SubmittedBy userID for creating new savings
This commit is contained in:
+5
-3
@@ -244,7 +244,7 @@ public class SavingsAccount extends AbstractPersistable<Long> {
|
|||||||
|
|
||||||
public static SavingsAccount createNewApplicationForSubmittal(final Client client, final Group group, final SavingsProduct product,
|
public static SavingsAccount createNewApplicationForSubmittal(final Client client, final Group group, final SavingsProduct product,
|
||||||
final Staff fieldOfficer, final String accountNo, final String externalId, final AccountType accountType,
|
final Staff fieldOfficer, final String accountNo, final String externalId, final AccountType accountType,
|
||||||
final LocalDate submittedOnDate, final BigDecimal interestRate,
|
final LocalDate submittedOnDate, final AppUser submittedBy, final BigDecimal interestRate,
|
||||||
final SavingsCompoundingInterestPeriodType interestCompoundingPeriodType,
|
final SavingsCompoundingInterestPeriodType interestCompoundingPeriodType,
|
||||||
final SavingsPostingInterestPeriodType interestPostingPeriodType, final SavingsInterestCalculationType interestCalculationType,
|
final SavingsPostingInterestPeriodType interestPostingPeriodType, final SavingsInterestCalculationType interestCalculationType,
|
||||||
final SavingsInterestCalculationDaysInYearType interestCalculationDaysInYearType, final BigDecimal minRequiredOpeningBalance,
|
final SavingsInterestCalculationDaysInYearType interestCalculationDaysInYearType, final BigDecimal minRequiredOpeningBalance,
|
||||||
@@ -252,7 +252,7 @@ public class SavingsAccount extends AbstractPersistable<Long> {
|
|||||||
final boolean withdrawalFeeApplicableForTransfer, final Set<SavingsAccountCharge> savingsAccountCharges) {
|
final boolean withdrawalFeeApplicableForTransfer, final Set<SavingsAccountCharge> savingsAccountCharges) {
|
||||||
|
|
||||||
final SavingsAccountStatusType status = SavingsAccountStatusType.SUBMITTED_AND_PENDING_APPROVAL;
|
final SavingsAccountStatusType status = SavingsAccountStatusType.SUBMITTED_AND_PENDING_APPROVAL;
|
||||||
return new SavingsAccount(client, group, product, fieldOfficer, accountNo, externalId, status, accountType, submittedOnDate,
|
return new SavingsAccount(client, group, product, fieldOfficer, accountNo, externalId, status, accountType, submittedOnDate, submittedBy,
|
||||||
interestRate, interestCompoundingPeriodType, interestPostingPeriodType, interestCalculationType,
|
interestRate, interestCompoundingPeriodType, interestPostingPeriodType, interestCalculationType,
|
||||||
interestCalculationDaysInYearType, minRequiredOpeningBalance, lockinPeriodFrequency, lockinPeriodFrequencyType,
|
interestCalculationDaysInYearType, minRequiredOpeningBalance, lockinPeriodFrequency, lockinPeriodFrequencyType,
|
||||||
withdrawalFeeApplicableForTransfer, savingsAccountCharges);
|
withdrawalFeeApplicableForTransfer, savingsAccountCharges);
|
||||||
@@ -260,7 +260,7 @@ public class SavingsAccount extends AbstractPersistable<Long> {
|
|||||||
|
|
||||||
private SavingsAccount(final Client client, final Group group, final SavingsProduct product, final Staff fieldOfficer,
|
private SavingsAccount(final Client client, final Group group, final SavingsProduct product, final Staff fieldOfficer,
|
||||||
final String accountNo, final String externalId, final SavingsAccountStatusType status, final AccountType accountType,
|
final String accountNo, final String externalId, final SavingsAccountStatusType status, final AccountType accountType,
|
||||||
final LocalDate submittedOnDate, final BigDecimal nominalAnnualInterestRate,
|
final LocalDate submittedOnDate, final AppUser submittedBy, final BigDecimal nominalAnnualInterestRate,
|
||||||
final SavingsCompoundingInterestPeriodType interestCompoundingPeriodType,
|
final SavingsCompoundingInterestPeriodType interestCompoundingPeriodType,
|
||||||
final SavingsPostingInterestPeriodType interestPostingPeriodType, final SavingsInterestCalculationType interestCalculationType,
|
final SavingsPostingInterestPeriodType interestPostingPeriodType, final SavingsInterestCalculationType interestCalculationType,
|
||||||
final SavingsInterestCalculationDaysInYearType interestCalculationDaysInYearType, final BigDecimal minRequiredOpeningBalance,
|
final SavingsInterestCalculationDaysInYearType interestCalculationDaysInYearType, final BigDecimal minRequiredOpeningBalance,
|
||||||
@@ -276,11 +276,13 @@ public class SavingsAccount extends AbstractPersistable<Long> {
|
|||||||
} else {
|
} else {
|
||||||
this.accountNumber = accountNo;
|
this.accountNumber = accountNo;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.currency = product.currency();
|
this.currency = product.currency();
|
||||||
this.externalId = externalId;
|
this.externalId = externalId;
|
||||||
this.status = status.getValue();
|
this.status = status.getValue();
|
||||||
this.accountType = accountType.getValue();
|
this.accountType = accountType.getValue();
|
||||||
this.submittedOnDate = submittedOnDate.toDate();
|
this.submittedOnDate = submittedOnDate.toDate();
|
||||||
|
this.submittedBy = submittedBy;
|
||||||
this.nominalAnnualInterestRate = nominalAnnualInterestRate;
|
this.nominalAnnualInterestRate = nominalAnnualInterestRate;
|
||||||
this.interestCompoundingPeriodType = interestCompoundingPeriodType.getValue();
|
this.interestCompoundingPeriodType = interestCompoundingPeriodType.getValue();
|
||||||
this.interestPostingPeriodType = interestPostingPeriodType.getValue();
|
this.interestPostingPeriodType = interestPostingPeriodType.getValue();
|
||||||
|
|||||||
+3
-2
@@ -50,6 +50,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import com.google.gson.JsonElement;
|
import com.google.gson.JsonElement;
|
||||||
|
import org.mifosplatform.useradministration.domain.AppUser;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
public class SavingsAccountAssembler {
|
public class SavingsAccountAssembler {
|
||||||
@@ -85,7 +86,7 @@ public class SavingsAccountAssembler {
|
|||||||
* request inheriting details where relevant from chosen
|
* request inheriting details where relevant from chosen
|
||||||
* {@link SavingsProduct}.
|
* {@link SavingsProduct}.
|
||||||
*/
|
*/
|
||||||
public SavingsAccount assembleFrom(final JsonCommand command) {
|
public SavingsAccount assembleFrom(final JsonCommand command, final AppUser submittedBy) {
|
||||||
|
|
||||||
final JsonElement element = command.parsedJson();
|
final JsonElement element = command.parsedJson();
|
||||||
|
|
||||||
@@ -202,7 +203,7 @@ public class SavingsAccountAssembler {
|
|||||||
final Set<SavingsAccountCharge> charges = this.savingsAccountChargeAssembler.fromParsedJson(element, product.currency().getCode());
|
final Set<SavingsAccountCharge> charges = this.savingsAccountChargeAssembler.fromParsedJson(element, product.currency().getCode());
|
||||||
|
|
||||||
final SavingsAccount account = SavingsAccount.createNewApplicationForSubmittal(client, group, product, fieldOfficer, accountNo,
|
final SavingsAccount account = SavingsAccount.createNewApplicationForSubmittal(client, group, product, fieldOfficer, accountNo,
|
||||||
externalId, accountType, submittedOnDate, interestRate, interestCompoundingPeriodType, interestPostingPeriodType,
|
externalId, accountType, submittedOnDate, submittedBy, interestRate, interestCompoundingPeriodType, interestPostingPeriodType,
|
||||||
interestCalculationType, interestCalculationDaysInYearType, minRequiredOpeningBalance, lockinPeriodFrequency,
|
interestCalculationType, interestCalculationDaysInYearType, minRequiredOpeningBalance, lockinPeriodFrequency,
|
||||||
lockinPeriodFrequencyType, iswithdrawalFeeApplicableForTransfer, charges);
|
lockinPeriodFrequencyType, iswithdrawalFeeApplicableForTransfer, charges);
|
||||||
account.setHelpers(this.savingsAccountTransactionSummaryWrapper, this.savingsHelper);
|
account.setHelpers(this.savingsAccountTransactionSummaryWrapper, this.savingsHelper);
|
||||||
|
|||||||
+2
-1
@@ -129,8 +129,9 @@ public class SavingsApplicationProcessWritePlatformServiceJpaRepositoryImpl impl
|
|||||||
public CommandProcessingResult submitApplication(final JsonCommand command) {
|
public CommandProcessingResult submitApplication(final JsonCommand command) {
|
||||||
try {
|
try {
|
||||||
this.savingsAccountDataValidator.validateForSubmit(command.json());
|
this.savingsAccountDataValidator.validateForSubmit(command.json());
|
||||||
|
final AppUser submittedBy = this.context.authenticatedUser();
|
||||||
|
|
||||||
final SavingsAccount account = this.savingAccountAssembler.assembleFrom(command);
|
final SavingsAccount account = this.savingAccountAssembler.assembleFrom(command, submittedBy);
|
||||||
this.savingAccountRepository.save(account);
|
this.savingAccountRepository.save(account);
|
||||||
|
|
||||||
if (account.isAccountNumberRequiresAutoGeneration()) {
|
if (account.isAccountNumberRequiresAutoGeneration()) {
|
||||||
|
|||||||
Reference in New Issue
Block a user