a group transfer between branches with center hierarchy turned off can lead to clients from one group showing up in another group

Description

To reproduce:

  1. in applicationConfiguration.custom.properties turn off centers by including:
    ClientRules.CenterHierarchyExists=false

  2. for this example assume a clean database with two branches.

  3. Create "group1" in BranchA (it will have search_id=1.1)

  4. Create "group2" in BranchB (it will also have search_id=1.1)

  5. Create "client in group1" in group1

  6. From the group details page use "Edit office membership" to move group1 to BranchB (group1 search_id=1.2)

  7. Create "group3" in BranchB (it will have search_id=1.2)

  8. now "client in group1" will also show up in group3 since the search_ids for group1 and group3 are both 1.2

Environment

None

Activity

Show:
Van Mittal-Henkle
April 25, 2011, 4:12 PM

I will create a new issue for merging this to head/master since there will be separate work involved for that (a new db upgrade will be needed).

Mifos Hudson Jira Plugin User
April 28, 2011, 3:07 AM

Integrated in

head-master-secondary #321
WIP on MIFOS-4936. Adding unit tests around search_id generation before refactoring and replacing implementation.
WIP on MIFOS-4936. Adding more unit and integration tests around search_id generation before refactoring and replacing implementation.
WIP on MIFOS-4936. New search_id implementation. Many integration tests broken.
WIP on MIFOS-4936. Fixed unit test failures.
WIP on MIFOS-4936. Updating integration tests to pass with current code generating customer id based search_id's.
MIFOS-4936. Centralized generation of search_id and handling of incrementing of maxChildCount. Updated tests to support new id generation.
WIP on MIFOS-4951. merging database connection configuration changes from MIFOS-4936.

Van Mittal-Henkle :
Files :

  • application/src/test/java/org/mifos/domain/builders/ClientBuilder.java

  • appdomain/src/main/java/org/mifos/customers/business/CustomerBO.java

  • application/src/test/java/org/mifos/customers/CustomerSearchIdGenerationTest.java

  • application/src/test/java/org/mifos/domain/builders/GroupBuilder.java

  • appdomain/src/main/java/org/mifos/customers/business/service/CustomerServiceImpl.java

Van Mittal-Henkle :
Files :

  • application/src/test/java/org/mifos/application/servicefacade/CenterServiceFacadeWebTierIntegrationTest.java

  • application/src/test/java/org/mifos/application/servicefacade/ClientServiceFacadeWebTierIntegrationTest.java

  • application/src/test/java/org/mifos/application/servicefacade/GroupServiceFacadeWebTierIntegrationTest.java

Van Mittal-Henkle :
Files :

  • appdomain/src/main/java/org/mifos/application/servicefacade/CenterServiceFacadeWebTier.java

  • appdomain/src/main/java/org/mifos/customers/center/persistence/CenterPersistence.java

  • appdomain/src/main/java/org/mifos/customers/business/CustomerBO.java

  • application/src/test/java/org/mifos/customers/CustomerSearchIdGenerationTest.java

  • appdomain/src/main/java/org/mifos/customers/business/service/CustomerServiceImpl.java

  • application/src/test/java/org/mifos/domain/builders/CenterBuilder.java

  • appdomain/src/main/java/org/mifos/customers/center/business/CenterBO.java

  • application/src/test/java/org/mifos/customers/CenterCreationTest.java

Van Mittal-Henkle :
Files :

  • application/src/test/java/org/mifos/customers/CustomerSearchIdGenerationTest.java

Van Mittal-Henkle :
Files :

  • application/src/test/java/org/mifos/application/servicefacade/CenterServiceFacadeWebTierIntegrationTest.java

  • appdomain/src/main/java/org/mifos/customers/business/service/CustomerServiceImpl.java

  • application/src/test/java/org/mifos/application/servicefacade/GroupServiceFacadeWebTierIntegrationTest.java

  • application/src/test/java/org/mifos/application/servicefacade/ClientServiceFacadeWebTierIntegrationTest.java

  • application/src/test/java/org/mifos/customers/business/service/GroupCreationUsingCustomerServiceIntegrationTest.java

Van Mittal-Henkle :
Files :

  • appdomain/src/main/java/org/mifos/customers/business/service/CustomerServiceImpl.java

  • application/src/test/java/org/mifos/customers/client/struts/action/ClientTransferActionStrutsTest.java

  • application/src/test/java/org/mifos/customers/CustomerSearchIdGenerationTest.java

  • appdomain/src/main/java/org/mifos/customers/client/business/ClientBO.java

  • application/src/test/java/org/mifos/domain/builders/GroupBuilder.java

  • appdomain/src/main/java/org/mifos/customers/business/CustomerBO.java

  • appdomain/src/main/java/org/mifos/customers/group/business/GroupBO.java

Van Mittal-Henkle :
Files :

  • application/src/test/java/org/mifos/customers/CustomerSearchIdGenerationTest.java

  • db/src/main/resources/changesets/changelog-Release_G.xml

Lukasz Chudy
May 4, 2011, 12:16 PM

This issue is blocked by

Van Mittal-Henkle
May 10, 2011, 5:06 PM

resolving this issue and replacing it by the merge remaining for G release ()

Lukasz Chudy
May 11, 2011, 10:25 AM

Verified on 11.05.2011
Bug has been fixed properly in 2.1.1 Release.

Assignee

Van Mittal-Henkle

Reporter

Van Mittal-Henkle

Labels

URL

None

Story Points

3

Team

Core

Scheduled For

None

Epic

None

Notify

None

productboard URL

None

Man Day Estimate

None

Components

Affects versions

Priority

Major
Configure