diff --git a/api/src/org/labkey/api/action/BaseViewAction.java b/api/src/org/labkey/api/action/BaseViewAction.java index c648b33afee..0e9e69946d4 100644 --- a/api/src/org/labkey/api/action/BaseViewAction.java +++ b/api/src/org/labkey/api/action/BaseViewAction.java @@ -37,6 +37,7 @@ import org.labkey.api.util.PageFlowUtil; import org.labkey.api.util.logging.LogHelper; import org.labkey.api.view.HttpView; +import org.labkey.api.view.TransactionViewForm; import org.labkey.api.view.ViewContext; import org.labkey.api.view.template.PageConfig; import org.labkey.api.writer.ContainerUser; @@ -544,6 +545,16 @@ public Map getTransactionAud return getTransactionAuditDetails(getViewContext()); } + public Map getTransactionAuditDetails(TransactionViewForm form) + { + Map transactionAuditDetails = getTransactionAuditDetails(); + if (form.getRequestSource() != null) + transactionAuditDetails.put(TransactionAuditProvider.TransactionDetail.RequestSource, form.getRequestSource()); + if (form.getEditMethod() != null) + transactionAuditDetails.put(TransactionAuditProvider.TransactionDetail.EditMethod, form.getEditMethod()); + return getTransactionAuditDetails(getViewContext()); + } + public static Map getTransactionAuditDetails(ViewContext viewContext) { Map map = new HashMap<>(); diff --git a/api/src/org/labkey/api/view/TransactionViewForm.java b/api/src/org/labkey/api/view/TransactionViewForm.java new file mode 100644 index 00000000000..c849f5aaad3 --- /dev/null +++ b/api/src/org/labkey/api/view/TransactionViewForm.java @@ -0,0 +1,40 @@ +package org.labkey.api.view; + +import org.jetbrains.annotations.NotNull; +import org.labkey.api.audit.TransactionAuditProvider; + +import java.util.Map; + +public class TransactionViewForm extends ViewForm +{ + private String _editMethod; + private String _requestSource; + + public String getRequestSource() + { + return _requestSource; + } + + public void setRequestSource(String requestSource) + { + _requestSource = requestSource; + } + + public String getEditMethod() + { + return _editMethod; + } + + public void setEditMethod(String editMethod) + { + _editMethod = editMethod; + } + + public void addTransactionAuditDetails(@NotNull Map transactionAuditDetails) + { + if (getRequestSource() != null) + transactionAuditDetails.put(TransactionAuditProvider.TransactionDetail.RequestSource, getRequestSource()); + if (getEditMethod() != null) + transactionAuditDetails.put(TransactionAuditProvider.TransactionDetail.EditMethod, getEditMethod()); + } +}