diff --git a/api-docs/apiLive.htm b/api-docs/apiLive.htm index acdc7e66d..9e7640830 100644 --- a/api-docs/apiLive.htm +++ b/api-docs/apiLive.htm @@ -33132,7 +33132,11 @@ Request Body: Group Name - + + Account Number + + + External Id diff --git a/mifosng-provider/src/integrationTest/java/org/mifosplatform/integrationtests/AccountNumberPreferencesTest.java b/mifosng-provider/src/integrationTest/java/org/mifosplatform/integrationtests/AccountNumberPreferencesTest.java index 82b0d2dca..0172fc8c3 100644 --- a/mifosng-provider/src/integrationTest/java/org/mifosplatform/integrationtests/AccountNumberPreferencesTest.java +++ b/mifosng-provider/src/integrationTest/java/org/mifosplatform/integrationtests/AccountNumberPreferencesTest.java @@ -305,11 +305,10 @@ public class AccountNumberPreferencesTest { if (isAccountPreferenceSetUp) { String centerPrefixName = (String) this.accountNumberPreferencesHelper.getAccountNumberPreference( this.centerAccountNumberPreferenceId, "prefixType.value"); - final String CENTER_URL = "/mifosng-provider/api/v1/groups/" + this.centerId + "?" + Utils.TENANT_IDENTIFIER; + final String CENTER_URL = "/mifosng-provider/api/v1/centers/" + this.centerId + "?" + Utils.TENANT_IDENTIFIER; if (centerPrefixName.equals(this.officeName)) { - final String centerOfficeName = Utils.performServerGet(requestSpec, responseSpec, CENTER_URL, "officeName"); - + final String centerOfficeName = Utils.performServerGet(requestSpec, responseSpec, CENTER_URL, "officeName"); this.validateAccountNumberLengthAndStartsWithPrefix(center.getAccountNo(), centerOfficeName); } } else { diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/group/service/GroupingTypesWritePlatformServiceJpaRepositoryImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/group/service/GroupingTypesWritePlatformServiceJpaRepositoryImpl.java index 671efa08c..8a025afce 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/group/service/GroupingTypesWritePlatformServiceJpaRepositoryImpl.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/group/service/GroupingTypesWritePlatformServiceJpaRepositoryImpl.java @@ -204,23 +204,9 @@ public class GroupingTypesWritePlatformServiceJpaRepositoryImpl implements Group * groups if they exist */ newGroup.generateHierarchy(); - - if (newGroup.isAccountNumberRequiresAutoGeneration()) { - EntityAccountType entityAccountType = null; - AccountNumberFormat accountNumberFormat = null; - if(newGroup.isCenter()){ - entityAccountType = EntityAccountType.CENTER; - accountNumberFormat = this.accountNumberFormatRepository - .findByAccountType(entityAccountType); - newGroup.updateAccountNo(this.accountNumberGenerator.generateCenterAccountNumber(newGroup, accountNumberFormat)); - }else { - entityAccountType = EntityAccountType.GROUP; - accountNumberFormat = this.accountNumberFormatRepository - .findByAccountType(entityAccountType); - newGroup.updateAccountNo(this.accountNumberGenerator.generateGroupAccountNumber(newGroup, accountNumberFormat)); - } - - } + + /* Generate account number if required */ + generateAccountNumberIfRequired(newGroup); this.groupRepository.saveAndFlush(newGroup); newGroup.captureStaffHistoryDuringCenterCreation(staff, activationDate); @@ -238,6 +224,24 @@ public class GroupingTypesWritePlatformServiceJpaRepositoryImpl implements Group } } + private void generateAccountNumberIfRequired(Group newGroup){ + if (newGroup.isAccountNumberRequiresAutoGeneration()) { + EntityAccountType entityAccountType = null; + AccountNumberFormat accountNumberFormat = null; + if(newGroup.isCenter()){ + entityAccountType = EntityAccountType.CENTER; + accountNumberFormat = this.accountNumberFormatRepository + .findByAccountType(entityAccountType); + newGroup.updateAccountNo(this.accountNumberGenerator.generateCenterAccountNumber(newGroup, accountNumberFormat)); + }else { + entityAccountType = EntityAccountType.GROUP; + accountNumberFormat = this.accountNumberFormatRepository + .findByAccountType(entityAccountType); + newGroup.updateAccountNo(this.accountNumberGenerator.generateGroupAccountNumber(newGroup, accountNumberFormat)); + } + + } + } @Transactional @Override public CommandProcessingResult createCenter(final JsonCommand command) {