<vn> <div id="title"> <h1><t>Connections</t></h1> </div> <div id="actions"> <htk-bar-button icon="refresh" tip="_Refresh" on-click="sessions.refresh()"/> <div class="connections-sum"> <htk-text> <db-calc-sum property="param" model="sessions" func="sessionsFunc"/> </htk-text> <t>connections</t> </div> </div> <div id="form" class="connections"> <htk-repeater form-id="iter" class="box htk-list vn-w-xs"> <db-model property="model" id="sessions" on-status-changed="this.onModelStatusChange()"> SELECT vu.userFk userId, vu.stamp, u.nickname, s.lastUpdate, a.platform, a.browser, a.version, u.name user FROM userSession s JOIN visitUser vu ON vu.id = s.userVisitFk JOIN visitAccess ac ON ac.id = vu.accessFk JOIN visitAgent a ON a.id = ac.agentFk JOIN visit v ON v.id = a.visitFk JOIN account.user u ON u.id = vu.userFk ORDER BY lastUpdate DESC </db-model> <custom> <a class="item" href="{{`#!form=admin/access-log&user=${iter.userId}`}}" title="_Access log"> <div class="content"> <p class="important"> {{iter.nickname}} </p> <p> {{Vn.Value.format(iter.stamp, '%a, %T')}} - {{Vn.Value.format(iter.lastUpdate, '%T')}} </p> <p> {{iter.platform}} - {{iter.browser}} {{iter.version}} </p> </div> <div class="actions" on-click="$event.preventDefault()"> <htk-button tip="_Supplant user" icon="supervisor_account" on-click="this.onChangeUserClick(iter.user)"/> </div> </a> </custom> </htk-repeater> </div> </vn>