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" > + + - -