Index: trunk/src/integration-test/groovy/com/lemans/ds/media/MediaPartEntityPersistenceFuncSpec.groovy =================================================================== diff -u -r9988 -r10021 --- trunk/src/integration-test/groovy/com/lemans/ds/media/MediaPartEntityPersistenceFuncSpec.groovy (.../MediaPartEntityPersistenceFuncSpec.groovy) (revision 9988) +++ trunk/src/integration-test/groovy/com/lemans/ds/media/MediaPartEntityPersistenceFuncSpec.groovy (.../MediaPartEntityPersistenceFuncSpec.groovy) (revision 10021) @@ -9,7 +9,7 @@ @Override String resourceName() { 'media' } - final static int ALL_COLUMNS_SIZE = 30 + final static int ALL_COLUMNS_SIZE = 33 String partNumber = 'B8ES' Index: trunk/src/integration-test/groovy/com/lemans/ds/media/MediaProductEntityPersistenceFuncSpec.groovy =================================================================== diff -u -r9988 -r10021 --- trunk/src/integration-test/groovy/com/lemans/ds/media/MediaProductEntityPersistenceFuncSpec.groovy (.../MediaProductEntityPersistenceFuncSpec.groovy) (revision 9988) +++ trunk/src/integration-test/groovy/com/lemans/ds/media/MediaProductEntityPersistenceFuncSpec.groovy (.../MediaProductEntityPersistenceFuncSpec.groovy) (revision 10021) @@ -9,7 +9,7 @@ @Override String resourceName() { 'media' } - final static int ALL_COLUMNS_SIZE = 30 + final static int ALL_COLUMNS_SIZE = 33 String productId = '343317' Integer catalogId = 0 Index: trunk/grails-app/controllers/com/lemans/ds/media/MediaEntityController.groovy =================================================================== diff -u -r10001 -r10021 --- trunk/grails-app/controllers/com/lemans/ds/media/MediaEntityController.groovy (.../MediaEntityController.groovy) (revision 10001) +++ trunk/grails-app/controllers/com/lemans/ds/media/MediaEntityController.groovy (.../MediaEntityController.groovy) (revision 10021) @@ -15,7 +15,7 @@ def getMediaForPart(String partNumber) { Map criteria = common() + pagination() + [partNumber: partNumber] - Map data = mediaService.findMedia(criteria) + Map data = mediaEntityService.findMediaForPart(criteria) renderPaginated(data) } Index: trunk/grails-app/services/com/lemans/ds/media/MediaEntityService.groovy =================================================================== diff -u -r10001 -r10021 --- trunk/grails-app/services/com/lemans/ds/media/MediaEntityService.groovy (.../MediaEntityService.groovy) (revision 10001) +++ trunk/grails-app/services/com/lemans/ds/media/MediaEntityService.groovy (.../MediaEntityService.groovy) (revision 10021) @@ -8,6 +8,8 @@ def productService def mediaService + + private static final List MEDIA_ENTITY_FIELDS = ['isHidden', 'entityId', 'entityClass'] /** * Find Entity for Media. * @@ -33,9 +35,20 @@ if (!productService.findProductById(criteria)) { return [errors: ['Invalid catalog or product relation']] } - mediaService.findMedia(criteria) + Map media = mediaService.findMedia(criteria) + if (media) { + clubMediaEntity(media, criteria.productId) + } + media } + Map findMediaForPart(Map criteria) { + Map media = mediaService.findMedia(criteria) + if (media) { + clubMediaEntity(media, criteria.partNumber) + } + } + /** * Find MediaEntity by id(MediaEntityId) * @@ -47,5 +60,16 @@ dqx([mediaEntityId: mediaEntityId]).executeOneFrom('vwMediaEntity', ['mediaEntityId = :mediaEntityId'])?.results[0] } - + Map clubMediaEntity(Map media, String entityId) { + media.results.each { Map eachMedia -> + Integer mediaId = eachMedia.mediaId + MediaEntity mediaEntity = MediaEntity.findByMediaIdAndEntityIdAndDateDeletedIsNull(mediaId, entityId) + if (mediaEntity) { + MEDIA_ENTITY_FIELDS.each { String field -> + eachMedia."$field" = mediaEntity."$field" + } + } + } + media + } }