diff --git a/apiserver/apiserver/api/views.py b/apiserver/apiserver/api/views.py
index 4e1d8ae..c847197 100644
--- a/apiserver/apiserver/api/views.py
+++ b/apiserver/apiserver/api/views.py
@@ -1128,9 +1128,15 @@ class HistoryViewSet(Base, List, Retrieve):
def get_queryset(self):
queryset = models.HistoryIndex.objects
- if 'exclude_system' in self.request.query_params:
+ exclude_system = self.request.query_params.get('exclude_system', '') == 'true'
+ member_id = self.request.query_params.get('member_id', '')
+
+ if exclude_system:
queryset = queryset.filter(is_system=False)
+ if member_id:
+ queryset = queryset.filter(owner_id=member_id)
+
return queryset.order_by('-history_date')[:50]
diff --git a/webclient/src/Admin.js b/webclient/src/Admin.js
index 4454ac2..075443a 100644
--- a/webclient/src/Admin.js
+++ b/webclient/src/Admin.js
@@ -118,7 +118,7 @@ export function AdminVetting(props) {
}
export function AdminHistory(props) {
- const { token } = props;
+ const { token, filterMember } = props;
const [history, setHistory] = useState(historyCache);
const [excludeSystem, setExcludeSystem] = useState(excludeSystemCache);
const [focus, setFocus] = useState(focusCache);
@@ -131,7 +131,11 @@ export function AdminHistory(props) {
};
useEffect(() => {
- const extra = excludeSystem ? '?exclude_system' : '';
+ let extra = '?exclude_system=' + excludeSystem;
+ if (filterMember) {
+ extra += '&member_id=' + filterMember;
+ }
+
requester('/history/'+extra, 'GET', token)
.then(res => {
setHistory(res.results);
@@ -148,6 +152,9 @@ export function AdminHistory(props) {
{!error ?
history ?
<>
+
Last 50 database changes:
+None
} + {history.map(x =>All times are in Mountain time.
Last 50 database changes:
+