fineract-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From nazeer1100...@apache.org
Subject [1/2] incubator-fineract git commit: FINERACT-228
Date Tue, 07 Mar 2017 08:48:28 GMT
Repository: incubator-fineract
Updated Branches:
  refs/heads/develop 34b988195 -> f1f3d6516


FINERACT-228


Project: http://git-wip-us.apache.org/repos/asf/incubator-fineract/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-fineract/commit/5a258bde
Tree: http://git-wip-us.apache.org/repos/asf/incubator-fineract/tree/5a258bde
Diff: http://git-wip-us.apache.org/repos/asf/incubator-fineract/diff/5a258bde

Branch: refs/heads/develop
Commit: 5a258bde90443fc95350bb2608b34e3a08975a40
Parents: c1af6d6
Author: Ippez Robert <ippezrobert@gmail.com>
Authored: Sat Mar 4 10:45:17 2017 +0300
Committer: Ippez Robert <ippezrobert@gmail.com>
Committed: Sat Mar 4 10:45:17 2017 +0300

----------------------------------------------------------------------
 .../client/api/ClientApiConstants.java          |  8 +++----
 .../portfolio/client/data/ClientData.java       | 23 ++++++++++++--------
 .../client/data/ClientDataValidator.java        | 10 +++++++++
 .../portfolio/client/domain/Client.java         | 21 ++++++++++++++++--
 .../service/ClientReadPlatformServiceImpl.java  |  8 +++++--
 ...ntWritePlatformServiceJpaRepositoryImpl.java |  5 +++--
 .../core_db/V325__add_is_staff_client_data.sql  | 20 +++++++++++++++++
 7 files changed, 76 insertions(+), 19 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-fineract/blob/5a258bde/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/api/ClientApiConstants.java
----------------------------------------------------------------------
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/api/ClientApiConstants.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/api/ClientApiConstants.java
index fe5ec64..bae61d5 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/api/ClientApiConstants.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/api/ClientApiConstants.java
@@ -89,6 +89,7 @@ public class ClientApiConstants {
     public static final String activationDateParamName = "activationDate";
     public static final String reactivationDateParamName = "reactivationDate";
     public static final String staffIdParamName = "staffId";
+	public static final String isStaffParamName = "isStaff";
     public static final String closureDateParamName = "closureDate";
     public static final String closureReasonIdParamName = "closureReasonId";
     public static final String reopenedDateParamName = "reopenedDate";
@@ -184,7 +185,7 @@ public class ClientApiConstants {
                     mobileNoParamName, firstnameParamName, middlenameParamName, lastnameParamName,
fullnameParamName, officeIdParamName,
                     activeParamName, activationDateParamName, staffIdParamName, submittedOnDateParamName,
savingsProductIdParamName,
                     dateOfBirthParamName, genderIdParamName, clientTypeIdParamName, clientClassificationIdParamName,

-                    clientNonPersonDetailsParamName, displaynameParamName, legalFormIdParamName,
datatables));
+                    clientNonPersonDetailsParamName, displaynameParamName, legalFormIdParamName,
datatables, isStaffParamName));
     
     public static final Set<String> CLIENT_NON_PERSON_CREATE_REQUEST_DATA_PARAMETERS
= new HashSet<>(
             Arrays.asList(address,localeParamName, dateFormatParamName, incorpNumberParamName,
remarksParamName, incorpValidityTillParamName, 
@@ -194,8 +195,7 @@ public class ClientApiConstants {
             dateFormatParamName, accountNoParamName, externalIdParamName, mobileNoParamName,
firstnameParamName, middlenameParamName,
 
     lastnameParamName, fullnameParamName, activeParamName, activationDateParamName, staffIdParamName,
savingsProductIdParamName,
-            dateOfBirthParamName, genderIdParamName, clientTypeIdParamName, clientClassificationIdParamName,
submittedOnDateParamName, 
-            clientNonPersonDetailsParamName, displaynameParamName, legalFormIdParamName));
+            dateOfBirthParamName, genderIdParamName, clientTypeIdParamName, clientClassificationIdParamName,
submittedOnDateParamName, clientNonPersonDetailsParamName, displaynameParamName, legalFormIdParamName,
isStaffParamName));
     
     public static final Set<String> CLIENT_NON_PERSON_UPDATE_REQUEST_DATA_PARAMETERS
= new HashSet<>(Arrays.asList(localeParamName,
             dateFormatParamName, incorpNumberParamName, remarksParamName, incorpValidityTillParamName,

@@ -212,7 +212,7 @@ public class ClientApiConstants {
             transferToOfficeIdParamName, transferToOfficeNameParamName, hierarchyParamName,
imageIdParamName, imagePresentParamName,
             staffIdParamName, staffNameParamName, timelineParamName, groupsParamName, officeOptionsParamName,
staffOptionsParamName,
             dateOfBirthParamName, genderParamName, clientTypeParamName, clientClassificationParamName,
legalFormParamName, 
-            clientNonPersonDetailsParamName));
+            clientNonPersonDetailsParamName, isStaffParamName));
 
     public static final Set<String> ACTIVATION_REQUEST_DATA_PARAMETERS = new HashSet<>(
             Arrays.asList(localeParamName, dateFormatParamName, activationDateParamName));

http://git-wip-us.apache.org/repos/asf/incubator-fineract/blob/5a258bde/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/data/ClientData.java
----------------------------------------------------------------------
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/data/ClientData.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/data/ClientData.java
index 913ac17..5d7e500 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/data/ClientData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/data/ClientData.java
@@ -62,6 +62,7 @@ final public class ClientData implements Comparable<ClientData> {
     private final CodeValueData gender;
     private final CodeValueData clientType;
     private final CodeValueData clientClassification;
+	private final Boolean isStaff;
 
     private final Long officeId;
     private final String officeName;
@@ -138,13 +139,14 @@ final public class ClientData implements Comparable<ClientData>
{
         final CodeValueData clientType = null;
         final CodeValueData clientClassification = null;
         final EnumOptionData legalForm = null;
+		final Boolean isStaff = false;
         final ClientNonPersonData clientNonPersonDetails = null;
         return new ClientData(accountNo, status, subStatus, officeId, officeName, transferToOfficeId,
transferToOfficeName, id, firstname,
                 middlename, lastname, fullname, displayName, externalId, mobileNo, dateOfBirth,
gender, joinedDate, imageId, staffId,
                 staffName, officeOptions, groups, staffOptions, narrations, genderOptions,
timeline, savingProductOptions,
                 savingsProductId, savingsProductName, savingsAccountId, savingAccountOptions,
clientType, clientClassification,
                 clientTypeOptions, clientClassificationOptions, clientNonPersonConstitutionOptions,
clientNonPersonMainBusinessLineOptions, 
-                clientNonPersonDetails, clientLegalFormOptions, legalForm,address, isAddressEnabled,
datatables);
+                clientNonPersonDetails, clientLegalFormOptions, legalForm,address, isAddressEnabled,
datatables, isStaff);
 
     }
 
@@ -159,7 +161,7 @@ final public class ClientData implements Comparable<ClientData>
{
                 clientData.savingsProductName, clientData.savingsAccountId, clientData.savingAccountOptions,
clientData.clientType,
                 clientData.clientClassification, templateData.clientTypeOptions, templateData.clientClassificationOptions,

                 templateData.clientNonPersonConstitutionOptions, templateData.clientNonPersonMainBusinessLineOptions,
clientData.clientNonPersonDetails,
-                templateData.clientLegalFormOptions, clientData.legalForm, clientData.address,clientData.isAddressEnabled,
null);
+                templateData.clientLegalFormOptions, clientData.legalForm, clientData.address,clientData.isAddressEnabled,
null, clientData.isStaff);
 
     }
 
@@ -175,7 +177,7 @@ final public class ClientData implements Comparable<ClientData>
{
                 clientData.savingsProductName, clientData.savingsAccountId, savingAccountOptions,
clientData.clientType,
                 clientData.clientClassification, clientData.clientTypeOptions, clientData.clientClassificationOptions,
                 clientData.clientNonPersonConstitutionOptions, clientData.clientNonPersonMainBusinessLineOptions,
clientData.clientNonPersonDetails,
-                clientData.clientLegalFormOptions, clientData.legalForm,clientData.address,
clientData.isAddressEnabled, null);
+                clientData.clientLegalFormOptions, clientData.legalForm,clientData.address,
clientData.isAddressEnabled, null, clientData.isStaff);
 
     }
 
@@ -189,7 +191,7 @@ final public class ClientData implements Comparable<ClientData>
{
                 clientData.savingAccountOptions, clientData.clientType, clientData.clientClassification,
clientData.clientTypeOptions,
                 clientData.clientClassificationOptions, clientData.clientNonPersonConstitutionOptions,
clientData.clientNonPersonMainBusinessLineOptions, 
                 clientData.clientNonPersonDetails, clientData.clientLegalFormOptions, clientData.legalForm,clientData.address,
-				clientData.isAddressEnabled, null);
+				clientData.isAddressEnabled, null, clientData.isStaff);
 
     }
 
@@ -227,13 +229,14 @@ final public class ClientData implements Comparable<ClientData>
{
         final EnumOptionData status = null;
         final CodeValueData subStatus = null;
         final EnumOptionData legalForm = null;
+		final Boolean isStaff = false;
         final ClientNonPersonData clientNonPerson = null;
         return new ClientData(accountNo, status, subStatus, officeId, officeName, transferToOfficeId,
transferToOfficeName, id, firstname,
                 middlename, lastname, fullname, displayName, externalId, mobileNo, dateOfBirth,
gender, activationDate, imageId, staffId,
                 staffName, allowedOffices, groups, staffOptions, closureReasons, genderOptions,
timeline, savingProductOptions,
                 savingsProductId, savingsProductName, savingsAccountId, savingAccountOptions,
clientType, clientClassification,
                 clientTypeOptions, clientClassificationOptions, clientNonPersonConstitutionOptions,
clientNonPersonMainBusinessLineOptions, 
-                clientNonPerson, clientLegalFormOptions, legalForm,null,null, null);
+                clientNonPerson, clientLegalFormOptions, legalForm,null,null, null, isStaff);
     }
 
     public static ClientData lookup(final Long id, final String displayName, final Long officeId,
final String officeName) {
@@ -273,13 +276,14 @@ final public class ClientData implements Comparable<ClientData>
{
         final Collection<CodeValueData> clientNonPersonMainBusinessLineOptions = null;
         final List<EnumOptionData> clientLegalFormOptions = null;
         final EnumOptionData legalForm = null;
+		final Boolean isStaff = false;
         final ClientNonPersonData clientNonPerson = null;
         return new ClientData(accountNo, status, subStatus, officeId, officeName, transferToOfficeId,
transferToOfficeName, id, firstname,
                 middlename, lastname, fullname, displayName, externalId, mobileNo, dateOfBirth,
gender, activationDate, imageId, staffId,
                 staffName, allowedOffices, groups, staffOptions, closureReasons, genderOptions,
timeline, savingProductOptions,
                 savingsProductId, savingsProductName, savingsAccountId, savingAccountOptions,
clientType, clientClassification,
                 clientTypeOptions, clientClassificationOptions, clientNonPersonConstitutionOptions,
clientNonPersonMainBusinessLineOptions, 
-                clientNonPerson, clientLegalFormOptions, legalForm,null,null, null);
+                clientNonPerson, clientLegalFormOptions, legalForm,null,null, null, isStaff);
 
     }
 
@@ -289,7 +293,7 @@ final public class ClientData implements Comparable<ClientData>
{
             final String externalId, final String mobileNo, final LocalDate dateOfBirth,
final CodeValueData gender,
             final LocalDate activationDate, final Long imageId, final Long staffId, final
String staffName,
             final ClientTimelineData timeline, final Long savingsProductId, final String
savingsProductName, final Long savingsAccountId,
-            final CodeValueData clientType, final CodeValueData clientClassification, final
EnumOptionData legalForm, final ClientNonPersonData clientNonPerson) {
+            final CodeValueData clientType, final CodeValueData clientClassification, final
EnumOptionData legalForm, final ClientNonPersonData clientNonPerson, final Boolean isStaff)
{
 
         final Collection<OfficeData> allowedOffices = null;
         final Collection<GroupGeneralData> groups = null;
@@ -307,7 +311,7 @@ final public class ClientData implements Comparable<ClientData>
{
                 staffName, allowedOffices, groups, staffOptions, closureReasons, genderOptions,
timeline, savingProductOptions,
                 savingsProductId, savingsProductName, savingsAccountId, null, clientType,
clientClassification, clientTypeOptions,
                 clientClassificationOptions, clientNonPersonConstitutionOptions, clientNonPersonMainBusinessLineOptions,
clientNonPerson,
-                clientLegalFormOptions, legalForm,null,null, null);
+                clientLegalFormOptions, legalForm,null,null, null, isStaff);
 
     }
 
@@ -325,7 +329,7 @@ final public class ClientData implements Comparable<ClientData>
{
             final Collection<CodeValueData> clientClassificationOptions, final Collection<CodeValueData>
clientNonPersonConstitutionOptions,
             final Collection<CodeValueData> clientNonPersonMainBusinessLineOptions,
final ClientNonPersonData clientNonPerson,
             final List<EnumOptionData> clientLegalFormOptions, final EnumOptionData
legalForm, final AddressData address,
-            final Boolean isAddressEnabled, final List<DatatableData> datatables) {
+            final Boolean isAddressEnabled, final List<DatatableData> datatables, final
Boolean isStaff) {
         this.accountNo = accountNo;
         this.status = status;
         if (status != null) {
@@ -383,6 +387,7 @@ final public class ClientData implements Comparable<ClientData>
{
         this.savingsAccountId = savingsAccountId;
         this.savingAccountOptions = savingAccountOptions;
         this.legalForm = legalForm;
+		this.isStaff = isStaff;
         this.clientNonPersonDetails = clientNonPerson;
         
       	this.address = address;

http://git-wip-us.apache.org/repos/asf/incubator-fineract/blob/5a258bde/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/data/ClientDataValidator.java
----------------------------------------------------------------------
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/data/ClientDataValidator.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/data/ClientDataValidator.java
index 4c2f538..585c222 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/data/ClientDataValidator.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/data/ClientDataValidator.java
@@ -211,6 +211,11 @@ public final class ClientDataValidator {
             baseDataValidator.reset().parameter(ClientApiConstants.datatables).value(datatables).notNull().jsonArrayNotEmpty();
         }
 
+		if (this.fromApiJsonHelper.parameterExists("isStaff", element)) {
+            final Boolean isStaffFlag = this.fromApiJsonHelper.extractBooleanNamed("isStaff",
element);
+            baseDataValidator.reset().parameter("isStaff").value(isStaffFlag).notNull();
+        }
+		
         List<ApiParameterError> dataValidationErrorsForClientNonPerson = getDataValidationErrorsForCreateOnClientNonPerson(element.getAsJsonObject().get(ClientApiConstants.clientNonPersonDetailsParamName));
         dataValidationErrors.addAll(dataValidationErrorsForClientNonPerson);
         
@@ -478,6 +483,11 @@ public final class ClientDataValidator {
             baseDataValidator.reset().parameter(ClientApiConstants.legalFormIdParamName).value(legalFormId).ignoreIfNull().inMinMaxRange(1,
2);
         }
 
+		if (this.fromApiJsonHelper.parameterExists("isStaff", element)) {
+            final Boolean isStaffFlag = this.fromApiJsonHelper.extractBooleanNamed("isStaff",
element);
+            baseDataValidator.reset().parameter("isStaff").value(isStaffFlag).notNull();
+        }
+
         Map<String, Object> parameterUpdateStatusDetails = getParameterUpdateStatusAndDataValidationErrorsForUpdateOnClientNonPerson(element.getAsJsonObject().get(ClientApiConstants.clientNonPersonDetailsParamName));
         boolean atLeastOneParameterPassedForClientNonPersonUpdate = (boolean) parameterUpdateStatusDetails.get("parameterUpdateStatus");
                

http://git-wip-us.apache.org/repos/asf/incubator-fineract/blob/5a258bde/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/domain/Client.java
----------------------------------------------------------------------
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/domain/Client.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/domain/Client.java
index 5e82970..ce0e0f9 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/domain/Client.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/domain/Client.java
@@ -115,6 +115,9 @@ public final class Client extends AbstractPersistableCustom<Long>
{
     @Column(name = "mobile_no", length = 50, nullable = false, unique = true)
     private String mobileNo;
 
+	@Column(name = "is_staff", nullable = false)
+    private boolean isStaff;
+
     @Column(name = "external_id", length = 100, nullable = true, unique = true)
     private String externalId;
 
@@ -238,6 +241,8 @@ public final class Client extends AbstractPersistableCustom<Long>
{
         final String middlename = command.stringValueOfParameterNamed(ClientApiConstants.middlenameParamName);
         final String lastname = command.stringValueOfParameterNamed(ClientApiConstants.lastnameParamName);
         final String fullname = command.stringValueOfParameterNamed(ClientApiConstants.fullnameParamName);
+		
+		final boolean isStaff = command.booleanPrimitiveValueOfParameterNamed(ClientApiConstants.isStaffParamName);
 
         final LocalDate dataOfBirth = command.localDateValueOfParameterNamed(ClientApiConstants.dateOfBirthParamName);
 
@@ -265,7 +270,7 @@ public final class Client extends AbstractPersistableCustom<Long>
{
         final Long savingsAccountId = null;
         return new Client(currentUser, status, clientOffice, clientParentGroup, accountNo,
firstname, middlename, lastname, fullname,
                 activationDate, officeJoiningDate, externalId, mobileNo, staff, submittedOnDate,
savingsProductId, savingsAccountId, dataOfBirth,
-                gender, clientType, clientClassification, legalForm);
+                gender, clientType, clientClassification, legalForm, isStaff);
     }
 
     protected Client() {
@@ -276,7 +281,7 @@ public final class Client extends AbstractPersistableCustom<Long>
{
             final String accountNo, final String firstname, final String middlename, final
String lastname, final String fullname,
             final LocalDate activationDate, final LocalDate officeJoiningDate, final String
externalId, final String mobileNo,
             final Staff staff, final LocalDate submittedOnDate, final Long savingsProductId,
final Long savingsAccountId,
-            final LocalDate dateOfBirth, final CodeValue gender, final CodeValue clientType,
final CodeValue clientClassification, final Integer legalForm) {
+            final LocalDate dateOfBirth, final CodeValue gender, final CodeValue clientType,
final CodeValue clientClassification, final Integer legalForm, final Boolean isStaff) {
 
         if (StringUtils.isBlank(accountNo)) {
             this.accountNumber = new RandomPasswordGenerator(19).generate();
@@ -763,6 +768,18 @@ public final class Client extends AbstractPersistableCustom<Long>
{
         this.mobileNo = mobileNo;
     }
 
+	public boolean isNotStaff() {
+        return !isStaff();
+    }
+
+    public boolean isStaff() {
+        return this.isStaff;
+    }
+
+	public String getExternalId() {
+		return this.externalId; 
+	}
+
     public String getDisplayName() {
         return this.displayName;
     }

http://git-wip-us.apache.org/repos/asf/incubator-fineract/blob/5a258bde/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientReadPlatformServiceImpl.java
----------------------------------------------------------------------
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientReadPlatformServiceImpl.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientReadPlatformServiceImpl.java
index cab88f7..c521729 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientReadPlatformServiceImpl.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientReadPlatformServiceImpl.java
@@ -351,6 +351,7 @@ public class ClientReadPlatformServiceImpl implements ClientReadPlatformService
             sqlBuilder.append("c.firstname as firstname, c.middlename as middlename, c.lastname
as lastname, ");
             sqlBuilder.append("c.fullname as fullname, c.display_name as displayName, ");
             sqlBuilder.append("c.mobile_no as mobileNo, ");
+			sqlBuilder.append("c.is_staff as isStaff, ");
             sqlBuilder.append("c.date_of_birth as dateOfBirth, ");
             sqlBuilder.append("c.gender_cv_id as genderId, ");
             sqlBuilder.append("cv.code_value as genderValue, ");
@@ -439,6 +440,7 @@ public class ClientReadPlatformServiceImpl implements ClientReadPlatformService
             final String displayName = rs.getString("displayName");
             final String externalId = rs.getString("externalId");
             final String mobileNo = rs.getString("mobileNo");
+			final boolean isStaff = rs.getBoolean("isStaff");
             final LocalDate dateOfBirth = JdbcSupport.getLocalDate(rs, "dateOfBirth");
             final Long genderId = JdbcSupport.getLong(rs, "genderId");
             final String genderValue = rs.getString("genderValue");
@@ -500,7 +502,7 @@ public class ClientReadPlatformServiceImpl implements ClientReadPlatformService
             return ClientData.instance(accountNo, status, subStatus, officeId, officeName,
transferToOfficeId, transferToOfficeName, id,
                     firstname, middlename, lastname, fullname, displayName, externalId, mobileNo,
dateOfBirth, gender, activationDate,
                     imageId, staffId, staffName, timeline, savingsProductId, savingsProductName,
savingsAccountId, clienttype,
-                    classification, legalForm, clientNonPerson);
+                    classification, legalForm, clientNonPerson, isStaff);
 
         }
     }
@@ -533,6 +535,7 @@ public class ClientReadPlatformServiceImpl implements ClientReadPlatformService
             builder.append("c.firstname as firstname, c.middlename as middlename, c.lastname
as lastname, ");
             builder.append("c.fullname as fullname, c.display_name as displayName, ");
             builder.append("c.mobile_no as mobileNo, ");
+			builder.append("c.is_staff as isStaff, ");
             builder.append("c.date_of_birth as dateOfBirth, ");
             builder.append("c.gender_cv_id as genderId, ");
             builder.append("cv.code_value as genderValue, ");
@@ -620,6 +623,7 @@ public class ClientReadPlatformServiceImpl implements ClientReadPlatformService
             final String displayName = rs.getString("displayName");
             final String externalId = rs.getString("externalId");
             final String mobileNo = rs.getString("mobileNo");
+			final boolean isStaff = rs.getBoolean("isStaff");
             final LocalDate dateOfBirth = JdbcSupport.getLocalDate(rs, "dateOfBirth");
             final Long genderId = JdbcSupport.getLong(rs, "genderId");
             final String genderValue = rs.getString("genderValue");
@@ -680,7 +684,7 @@ public class ClientReadPlatformServiceImpl implements ClientReadPlatformService
             return ClientData.instance(accountNo, status, subStatus, officeId, officeName,
transferToOfficeId, transferToOfficeName, id,
                     firstname, middlename, lastname, fullname, displayName, externalId, mobileNo,
dateOfBirth, gender, activationDate,
                     imageId, staffId, staffName, timeline, savingsProductId, savingsProductName,
savingsAccountId, clienttype,
-                    classification, legalForm, clientNonPerson);
+                    classification, legalForm, clientNonPerson, isStaff);
 
         }
     }

http://git-wip-us.apache.org/repos/asf/incubator-fineract/blob/5a258bde/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientWritePlatformServiceJpaRepositoryImpl.java
----------------------------------------------------------------------
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientWritePlatformServiceJpaRepositoryImpl.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientWritePlatformServiceJpaRepositoryImpl.java
index 4941e3e..cd334fa 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientWritePlatformServiceJpaRepositoryImpl.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientWritePlatformServiceJpaRepositoryImpl.java
@@ -229,6 +229,8 @@ public class ClientWritePlatformServiceJpaRepositoryImpl implements ClientWriteP
 					.retrieveGlobalConfiguration("Enable-Address");
 
 			final Boolean isAddressEnabled = configuration.isEnabled();
+			
+			final Boolean isStaff = command.booleanObjectValueOfParameterNamed(ClientApiConstants.isStaffParamName);
 
             final Long officeId = command.longValueOfParameterNamed(ClientApiConstants.officeIdParamName);
 
@@ -298,7 +300,7 @@ public class ClientWritePlatformServiceJpaRepositoryImpl implements ClientWriteP
                 final CommandWrapper commandWrapper = new CommandWrapperBuilder().activateClient(null).build();
                 rollbackTransaction = this.commandProcessingService.validateCommand(commandWrapper,
currentUser);
             }
-
+			
             this.clientRepository.save(newClient);
             if (newClient.isActive()) {
                 this.businessEventNotifierService.notifyBusinessEventWasExecuted(BUSINESS_EVENTS.CLIENTS_ACTIVATE,
@@ -334,7 +336,6 @@ public class ClientWritePlatformServiceJpaRepositoryImpl implements ClientWriteP
 
             this.entityDatatableChecksWritePlatformService.runTheCheck(newClient.getId(),
EntityTables.CLIENT.getName(),
                     StatusEnum.CREATE.getCode().longValue(), EntityTables.CLIENT.getForeignKeyColumnNameOnDatatable());
-
             return new CommandProcessingResultBuilder() //
                     .withCommandId(command.commandId()) //
                     .withOfficeId(clientOffice.getId()) //

http://git-wip-us.apache.org/repos/asf/incubator-fineract/blob/5a258bde/fineract-provider/src/main/resources/sql/migrations/core_db/V325__add_is_staff_client_data.sql
----------------------------------------------------------------------
diff --git a/fineract-provider/src/main/resources/sql/migrations/core_db/V325__add_is_staff_client_data.sql
b/fineract-provider/src/main/resources/sql/migrations/core_db/V325__add_is_staff_client_data.sql
new file mode 100644
index 0000000..ef9854b
--- /dev/null
+++ b/fineract-provider/src/main/resources/sql/migrations/core_db/V325__add_is_staff_client_data.sql
@@ -0,0 +1,20 @@
+--
+-- 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.
+--
+ALTER TABLE `m_client`
+	ADD COLUMN `is_staff` TINYINT(1) NOT NULL DEFAULT '0' AFTER `mobile_no`;


Mime
View raw message