fix last response sorting closes #258
This commit is contained in:
@@ -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":
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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 }))
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user