minor fixes while prepping for 1.9.2 release

This commit is contained in:
Vishwas Babu A J
2013-09-19 09:00:54 +05:30
parent 08450c4a87
commit 244895e07d
4 changed files with 19 additions and 8 deletions
@@ -11,12 +11,14 @@ import java.util.HashSet;
import java.util.Set; import java.util.Set;
import javax.ws.rs.Consumes; import javax.ws.rs.Consumes;
import javax.ws.rs.DefaultValue;
import javax.ws.rs.GET; import javax.ws.rs.GET;
import javax.ws.rs.POST; import javax.ws.rs.POST;
import javax.ws.rs.PUT; import javax.ws.rs.PUT;
import javax.ws.rs.Path; import javax.ws.rs.Path;
import javax.ws.rs.PathParam; import javax.ws.rs.PathParam;
import javax.ws.rs.Produces; import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.Context; import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType; import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.UriInfo; import javax.ws.rs.core.UriInfo;
@@ -53,7 +55,7 @@ public class OfficesApiResource {
private final OfficeReadPlatformService readPlatformService; private final OfficeReadPlatformService readPlatformService;
private final DefaultToApiJsonSerializer<OfficeData> toApiJsonSerializer; private final DefaultToApiJsonSerializer<OfficeData> toApiJsonSerializer;
private final ApiRequestParameterHelper apiRequestParameterHelper; private final ApiRequestParameterHelper apiRequestParameterHelper;
private final PortfolioCommandSourceWritePlatformService commandsSourceWritePlatformService; private final PortfolioCommandSourceWritePlatformService commandsSourceWritePlatformService;
@Autowired @Autowired
public OfficesApiResource(final PlatformSecurityContext context, final OfficeReadPlatformService readPlatformService, public OfficesApiResource(final PlatformSecurityContext context, final OfficeReadPlatformService readPlatformService,
@@ -69,11 +71,12 @@ public class OfficesApiResource {
@GET @GET
@Consumes({ MediaType.APPLICATION_JSON }) @Consumes({ MediaType.APPLICATION_JSON })
@Produces({ MediaType.APPLICATION_JSON }) @Produces({ MediaType.APPLICATION_JSON })
public String retrieveOffices(@Context final UriInfo uriInfo) { public String retrieveOffices(@Context final UriInfo uriInfo,
@DefaultValue("false") @QueryParam("includeAllOffices") final boolean onlyManualEntries) {
context.authenticatedUser().validateHasReadPermission(resourceNameForPermissions); context.authenticatedUser().validateHasReadPermission(resourceNameForPermissions);
final Collection<OfficeData> offices = this.readPlatformService.retrieveAllOffices(); final Collection<OfficeData> offices = this.readPlatformService.retrieveAllOffices(onlyManualEntries);
final ApiRequestJsonSerializationSettings settings = apiRequestParameterHelper.process(uriInfo.getQueryParameters()); final ApiRequestJsonSerializationSettings settings = apiRequestParameterHelper.process(uriInfo.getQueryParameters());
return this.toApiJsonSerializer.serialize(settings, offices, RESPONSE_DATA_PARAMETERS); return this.toApiJsonSerializer.serialize(settings, offices, RESPONSE_DATA_PARAMETERS);
@@ -12,7 +12,7 @@ import org.mifosplatform.organisation.office.data.OfficeTransactionData;
public interface OfficeReadPlatformService { public interface OfficeReadPlatformService {
Collection<OfficeData> retrieveAllOffices(); Collection<OfficeData> retrieveAllOffices(boolean includeAllOffices);
Collection<OfficeData> retrieveAllOfficesForDropdown(); Collection<OfficeData> retrieveAllOfficesForDropdown();
@@ -114,8 +114,8 @@ public class OfficeReadPlatformServiceImpl implements OfficeReadPlatformService
Integer currencyDigits = JdbcSupport.getInteger(rs, "currencyDigits"); Integer currencyDigits = JdbcSupport.getInteger(rs, "currencyDigits");
Integer inMultiplesOf = JdbcSupport.getInteger(rs, "inMultiplesOf"); Integer inMultiplesOf = JdbcSupport.getInteger(rs, "inMultiplesOf");
CurrencyData currencyData = new CurrencyData(currencyCode, currencyName, currencyDigits, inMultiplesOf, CurrencyData currencyData = new CurrencyData(currencyCode, currencyName, currencyDigits, inMultiplesOf, currencyDisplaySymbol,
currencyDisplaySymbol, currencyNameCode); currencyNameCode);
BigDecimal transactionAmount = rs.getBigDecimal("transactionAmount"); BigDecimal transactionAmount = rs.getBigDecimal("transactionAmount");
String description = rs.getString("description"); String description = rs.getString("description");
@@ -126,12 +126,17 @@ public class OfficeReadPlatformServiceImpl implements OfficeReadPlatformService
} }
@Override @Override
public Collection<OfficeData> retrieveAllOffices() { public Collection<OfficeData> retrieveAllOffices(boolean includeAllOffices) {
AppUser currentUser = context.authenticatedUser(); AppUser currentUser = context.authenticatedUser();
String hierarchy = currentUser.getOffice().getHierarchy(); String hierarchy = currentUser.getOffice().getHierarchy();
String hierarchySearchString = hierarchy + "%"; String hierarchySearchString = null;
if (includeAllOffices) {
hierarchySearchString = "." + "%";
} else {
hierarchySearchString = hierarchy + "%";
}
OfficeMapper rm = new OfficeMapper(); OfficeMapper rm = new OfficeMapper();
String sql = "select " + rm.officeSchema() + "where o.hierarchy like ? order by o.hierarchy"; String sql = "select " + rm.officeSchema() + "where o.hierarchy like ? order by o.hierarchy";
@@ -344,6 +344,9 @@ public class ClientWritePlatformServiceJpaRepositoryImpl implements ClientWriteP
if (ClientStatus.fromInt(client.getStatus()).isClosed()) { if (ClientStatus.fromInt(client.getStatus()).isClosed()) {
final String errorMessage = "Client is alread closed."; final String errorMessage = "Client is alread closed.";
throw new InvalidClientStateTransitionException("close", "is.already.closed", errorMessage); throw new InvalidClientStateTransitionException("close", "is.already.closed", errorMessage);
} else if (ClientStatus.fromInt(client.getStatus()).isUnderTransfer()) {
final String errorMessage = "Cannot Close a Client under Transfer";
throw new InvalidClientStateTransitionException("close", "is.under.transfer", errorMessage);
} }
if (client.isNotPending() && client.getActivationLocalDate().isAfter(closureDate)) { if (client.isNotPending() && client.getActivationLocalDate().isAfter(closureDate)) {