Index: grails-app/controllers/com/lemans/programs/ProgramController.groovy =================================================================== diff -u -r7187fd6c2d27480cf8ab9426ffe5466c9d91ce8d -r3e79641600358593d638b0697a8def1b7ce4b064 --- grails-app/controllers/com/lemans/programs/ProgramController.groovy (.../ProgramController.groovy) (revision 7187fd6c2d27480cf8ab9426ffe5466c9d91ce8d) +++ grails-app/controllers/com/lemans/programs/ProgramController.groovy (.../ProgramController.groovy) (revision 3e79641600358593d638b0697a8def1b7ce4b064) @@ -27,7 +27,10 @@ private save(Integer id) { Map values = request.JSON.Program Program program = programManagerService.saveProgram(values, id, auditUserName) - if (program) { renderProgram(program) } + if (program) { + if (program.visibleOnPurchaseHistory) { programManagerService.refreshQualifierPartList(program.id) } + renderProgram(program) + } else { render toJson(legacyPackage([errors: [[message: "No Program found with ${id}"]]])) } } Index: grails-app/services/com/lemans/programs/ProgramManagerService.groovy =================================================================== diff -u -r3ffb52c21327dfedaed221cd48c7d7595adebf24 -r3e79641600358593d638b0697a8def1b7ce4b064 --- grails-app/services/com/lemans/programs/ProgramManagerService.groovy (.../ProgramManagerService.groovy) (revision 3ffb52c21327dfedaed221cd48c7d7595adebf24) +++ grails-app/services/com/lemans/programs/ProgramManagerService.groovy (.../ProgramManagerService.groovy) (revision 3e79641600358593d638b0697a8def1b7ce4b064) @@ -64,7 +64,7 @@ Program program = Program.get(id) if (program) { softDelete(program, username) } } - + /** * Replicates a program. * @@ -78,4 +78,8 @@ sql().rows('EXEC dbo.spDuplicateProgram @oldProgramCode = ?, @newProgramCode = ?, @createdBy = ?', [oldProgramCode, newProgramCode, userName]) } + + void refreshQualifierPartList(Integer programId) { + sql().execute( 'EXEC dbo.spRefreshQualifierPartListHistoryReport @programId = ?', [programId]) + } }