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) {