diff --git a/src/components/VnTable/VnTableFilter.vue b/src/components/VnTable/VnTableFilter.vue
index 109e2b77e..6d41368e8 100644
--- a/src/components/VnTable/VnTableFilter.vue
+++ b/src/components/VnTable/VnTableFilter.vue
@@ -59,7 +59,7 @@ function columnName(col) {
v-if="col?.columnFilter !== false && col?.name !== 'tableActions'"
v-model="orders[col.orderBy ?? col.name]"
:name="col.orderBy ?? col.name"
- :data-key="$attrs['data-key']"
+ :data-key="$attrs['dataKey']"
:search-url="searchUrl"
:vertical="true"
/>
diff --git a/src/components/common/VnLog.vue b/src/components/common/VnLog.vue
index 6d5823997..a5d900192 100644
--- a/src/components/common/VnLog.vue
+++ b/src/components/common/VnLog.vue
@@ -281,9 +281,13 @@ function exprBuilder(param, value) {
if (value?.length) return { [param]: { inq: value } };
break;
case 'from':
- return { creationDate: { gt: value } };
+ return { creationDate: { gte: value } };
case 'to':
- return { creationDate: { lt: value } };
+ return { creationDate: { lte: value } };
+ case 'userType':
+ if (value === 'User') return { userFk: { neq: null } };
+ if (value === 'System') return { userFk: null };
+ break;
default:
return { [param]: value };
}
diff --git a/src/components/common/VnLogFilter.vue b/src/components/common/VnLogFilter.vue
index f36660540..0cdf15336 100644
--- a/src/components/common/VnLogFilter.vue
+++ b/src/components/common/VnLogFilter.vue
@@ -25,29 +25,30 @@ const { models } = validationsStore;
const entities = ref([]);
const editors = ref([]);
const userParams = ref(useFilterParams($props.dataKey).params);
+let validations = models;
+const userTypes = [
+ { value: 'All', label: t(`Users.All`) },
+ { value: 'User', label: t(`Users.User`) },
+ { value: 'System', label: t(`Users.System`) },
+];
const checkboxOptions = ref([
{ name: 'insert', label: 'Creates', selected: false },
{ name: 'update', label: 'Edits', selected: false },
{ name: 'delete', label: 'Deletes', selected: false },
{ name: 'select', label: 'Accesses', selected: false },
]);
-const creationDate = ref({
- from: null,
- to: null,
-});
-let validations = models;
-
const columns = computed(() => [
{
name: 'search',
label: t('globals.search'),
},
{ name: 'changedModel' },
+ { name: 'userType' },
{ name: 'userFk' },
{ name: 'change' },
{ name: 'action' },
- { name: 'from' },
- { name: 'to' },
+ { name: 'from', orderBy: 'created' },
+ { name: 'to', orderBy: 'created' },
]);
const userParamsWatcher = watch(
@@ -62,13 +63,6 @@ const userParamsWatcher = watch(
},
);
-function calculateDate() {
- const { from } = creationDate.value;
- const to = creationDate.value.to ?? Date.vnNew();
- if (from) return { between: [from, to] };
- if (creationDate.value.to) return { lte: to };
-}
-
function getActions() {
const actions = checkboxOptions.value
.filter((option) => option.selected)
@@ -111,12 +105,40 @@ function getActions() {
:exprBuilder
search-url="logs"
>
+
+ searchFn()"
+ dense
+ filled
+ />
+
+
+ {
+ params.userFk = null;
+ searchFn();
+ }
+ "
+ />
+
searchFn()"
+ :disable="params.userType === 'System'"
dense
filled
>
@@ -133,18 +155,6 @@ function getActions() {
-
- searchFn()"
- dense
- filled
- />
-
-