Newer
Older
wg-portal / assets / tpl / admin_user_index.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
    <title>{{ .Static.WebsiteTitle }} - Users</title>
    <meta name="description" content="{{ .Static.WebsiteTitle }}">
    <link rel="stylesheet" href="/css/bootstrap.min.css">
    <link rel="stylesheet" href="/fonts/fontawesome-all.min.css">
    <link rel="stylesheet" href="/css/custom.css">
</head>

<body id="page-top" class="d-flex flex-column min-vh-100">
    {{template "prt_nav.html" .}}
    <div class="container mt-5">
        <h1>WireGuard VPN Users</h1>
        {{template "prt_flashes.html" .}}
        <div class="mt-4 row">
            <div class="col-sm-10 col-12">
                <h2 class="mt-2">All Users</h2>
            </div>
            <div class="col-sm-2 col-12 text-right">
                <a href="/admin/users/create" title="Add a user" class="btn btn-primary"><i class="fa fa-fw fa-plus"></i>M</a>
            </div>
        </div>
        <div class="mt-2 table-responsive">
            <table class="table table-sm" id="userTable">
                <thead>
                <tr>
                    <th scope="col"><a href="?sort=email">E-Mail <i class="fa fa-fw {{.Session.GetSortIcon "users" "email"}}"></i></a></th>
                    <th scope="col"><a href="?sort=lastname">Lastname <i class="fa fa-fw {{.Session.GetSortIcon "users" "lastname"}}"></i></a></th>
                    <th scope="col"><a href="?sort=firstname">Firstname <i class="fa fa-fw {{.Session.GetSortIcon "users" "firstname"}}"></i></a></th>
                    <th scope="col"><a href="?sort=source">Source <i class="fa fa-fw {{.Session.GetSortIcon "users" "source"}}"></i></a></th>
                    <th scope="col"><a href="?sort=admin">Is Admin <i class="fa fa-fw {{.Session.GetSortIcon "users" "admin"}}"></i></a></th>
                    <th scope="col"></th><!-- Actions -->
                </tr>
                </thead>
                <tbody>
                {{range $i, $u :=.Users}}
                    <tr id="user-pos-{{$i}}" {{if $u.DeletedAt.Valid}}class="disabled-peer"{{end}}>
                        <td>{{$u.Email}}</td>
                        <td>{{$u.Lastname}}</td>
                        <td>{{$u.Firstname}}</td>
                        <td>{{$u.Source}}</td>
                        <td>{{if $u.IsAdmin}}True{{else}}False{{end}}</td>
                        <td>
                            {{if eq $.Session.IsAdmin true}}
                            {{if eq $u.Source "db"}}
                                <a href="/admin/users/edit?pkey={{$u.Email}}" title="Edit user"><i class="fas fa-cog"></i></a>
                            {{end}}
                            {{end}}
                        </td>
                    </tr>
                {{end}}
                </tbody>
            </table>
            <p>Currently listed users: <strong>{{len .Users}}</strong></p>
        </div>
    </div>
    {{template "prt_footer.html" .}}
    <script src="/js/jquery.min.js"></script>
    <script src="/js/jquery.easing.js"></script>
    <script src="/js/popper.min.js"></script>
    <script src="/js/bootstrap.bundle.min.js"></script>
    <script src="/js/bootstrap-confirmation.min.js"></script>
    <script src="/js/custom.js"></script>
</body>

</html>