fix last response sorting closes #258

This commit is contained in:
wh1te909
2021-01-26 19:58:08 +00:00
parent 3fd212f26c
commit ac380c29c1
3 changed files with 12 additions and 7 deletions

View File

@@ -54,7 +54,7 @@ class AgentTableSerializer(serializers.ModelSerializer):
else: else:
agent_tz = self.context["default_tz"] agent_tz = self.context["default_tz"]
return obj.last_seen.astimezone(agent_tz).strftime("%m %d %Y %H:%M:%S") return obj.last_seen.astimezone(agent_tz).timestamp()
def get_logged_username(self, obj) -> str: def get_logged_username(self, obj) -> str:
if obj.logged_in_username == "None" and obj.status == "online": if obj.logged_in_username == "None" and obj.status == "online":

View File

@@ -317,7 +317,7 @@
<q-tooltip>Reboot required</q-tooltip> <q-tooltip>Reboot required</q-tooltip>
</q-icon> </q-icon>
</q-td> </q-td>
<q-td key="lastseen" :props="props">{{ formatDate(props.row.last_seen) }}</q-td> <q-td key="lastseen" :props="props">{{ unixToString(props.row.last_seen) }}</q-td>
<q-td key="boottime" :props="props">{{ bootTime(props.row.boot_time) }}</q-td> <q-td key="boottime" :props="props">{{ bootTime(props.row.boot_time) }}</q-td>
</q-tr> </q-tr>
</template> </template>
@@ -363,7 +363,7 @@ import axios from "axios";
import { notifySuccessConfig, notifyErrorConfig } from "@/mixins/mixins"; import { notifySuccessConfig, notifyErrorConfig } from "@/mixins/mixins";
import mixins from "@/mixins/mixins"; import mixins from "@/mixins/mixins";
import { mapGetters } from "vuex"; import { mapGetters } from "vuex";
import { openURL } from "quasar"; import { date } from "quasar";
import EditAgent from "@/components/modals/agents/EditAgent"; import EditAgent from "@/components/modals/agents/EditAgent";
import RebootLater from "@/components/modals/agents/RebootLater"; import RebootLater from "@/components/modals/agents/RebootLater";
import PendingActions from "@/components/modals/logs/PendingActions"; import PendingActions from "@/components/modals/logs/PendingActions";
@@ -440,9 +440,10 @@ export default {
if (availability === "online" && row.status !== "online") return false; if (availability === "online" && row.status !== "online") return false;
else if (availability === "offline" && row.status !== "overdue") return false; else if (availability === "offline" && row.status !== "overdue") return false;
else if (availability === "expired") { else if (availability === "expired") {
const nowPlus30Days = new Date(Date.now() - 30 * 24 * 60 * 60 * 1000); let now = new Date();
const unixtime = Date.parse(row.last_seen); let lastSeen = new Date(row.last_seen * 1000);
if (unixtime > nowPlus30Days) return false; let diff = date.getDateDiff(now, lastSeen, "days");
if (diff < 30) return false;
} }
} }

View File

@@ -1,4 +1,4 @@
import { Notify } from "quasar"; import { Notify, date } from "quasar";
export function notifySuccessConfig(msg, timeout = 2000) { export function notifySuccessConfig(msg, timeout = 2000) {
return { return {
@@ -95,6 +95,10 @@ export default {
return includeSeconds ? formatted + ":" + appendLeadingZeroes(dt.getSeconds()) : formatted return includeSeconds ? formatted + ":" + appendLeadingZeroes(dt.getSeconds()) : formatted
}, },
unixToString(timestamp) {
let t = new Date(timestamp * 1000)
return date.formatDate(t, 'MMM-D-YYYY - HH:mm')
},
formatClientOptions(clients) { formatClientOptions(clients) {
return clients.map(client => ({ label: client.name, value: client.id, sites: client.sites })) return clients.map(client => ({ label: client.name, value: client.id, sites: client.sites }))
}, },