package org.akaza.openclinica.control.managestudy; import org.akaza.openclinica.control.core.SecureController; import org.akaza.openclinica.control.submit.SubmitDataServlet; import org.akaza.openclinica.control.form.FormProcessor; import org.akaza.openclinica.web.InsufficientPermissionException; import org.akaza.openclinica.view.Page; import org.akaza.openclinica.dao.admin.AuditDAO; import java.util.ArrayList; public class ViewItemAuditLogServlet extends SecureController { public void mayProceed() throws InsufficientPermissionException { if (ub.isSysAdmin()) { return; } if (SubmitDataServlet.mayViewData(ub, currentRole)) { return; } addPageMessage(respage.getString("no_have_correct_privilege_current_study") + " " + respage.getString("change_active_study_or_contact")); throw new InsufficientPermissionException(Page.LIST_STUDY_SUBJECTS, resexception.getString("not_study_director"), "1"); } public void processRequest () throws Exception{ AuditDAO adao = new AuditDAO(sm.getDataSource()); FormProcessor fp = new FormProcessor(request); String auditTable = fp.getString("auditTable"); if(auditTable.equalsIgnoreCase("studysub")){ auditTable = "study_subject"; }else if(auditTable.equalsIgnoreCase("eventcrf")){ auditTable = "event_crf"; }else if(auditTable.equalsIgnoreCase("studyevent")){ auditTable = "study_event"; }else if(auditTable.equalsIgnoreCase("itemdata")){ auditTable = "item_data"; } int entityId = fp.getInt("entityId"); ArrayList itemAuditEvents = adao.findItemAuditEvents(entityId, auditTable); request.setAttribute("itemAudits", itemAuditEvents); forwardPage(Page.AUDIT_LOGS_ITEMS); } }