6 Commits

6 changed files with 15 additions and 8 deletions

View File

@@ -36,6 +36,10 @@
<div class="col col-8 float-left"> <div class="col col-8 float-left">
<span data-toggle="tooltip" data-placement="right" title="{{ node.createdAt | fmt_datetime }}"> <span data-toggle="tooltip" data-placement="right" title="{{ node.createdAt | fmt_datetime }}">
{{ node.createdAt | htime_dt }} {{ node.createdAt | htime_dt }}
<span class="badge badge-pill badge-warning">
{{ node.registerMethod.name }}
</span>
</span> </span>
</div> </div>
</div> </div>

View File

@@ -17,7 +17,7 @@
{% for user in users %} {% for user in users %}
<tr> <tr>
<td> <td>
<a class="plain" href="{{ url_for('main.user', userName=user.name)}}"> <a class="plain" href="{{ url_for('main.user', userName=user.name) }}">
{{user.name}} {{user.name}}
</a> </a>
</td> </td>
@@ -31,7 +31,7 @@
</td> </td>
<td class="no-sort"> <td class="no-sort">
<span data-toggle="tooltip" data-placement="right" title="delete"> <span data-toggle="tooltip" data-placement="right" title="delete">
<a class="nodeco" href="/user/{{user.name}}/delete"> <a class="nodeco" href="{{ url_for('rest.deleteUser', userName=user.name) }}">
<i class="fas fa-trash"></i> <i class="fas fa-trash"></i>
</a> </a>
</span> </span>

View File

@@ -64,8 +64,11 @@ def deleteNode(nodeId: int):
@rest_blueprint.route('/node/<int:nodeId>/rename/<newName>', methods=['GET']) @rest_blueprint.route('/node/<int:nodeId>/rename/<newName>', methods=['GET'])
@auth.authorize_admins('default') @auth.access_control('default')
def renameNode(nodeId: int, newName: str): def renameNode(nodeId: int, newName: str):
node = Node().get(nodeId)
if not auth.userOrAdmin(node.user.name):
return auth.unathorized
Node().rename(nodeId, newName) Node().rename(nodeId, newName)
return jsonify(dict(newName=newName)) return jsonify(dict(newName=newName))

View File

@@ -11,7 +11,7 @@ preload_app = True
# logconfig = "app/logging/production.ini" # logconfig = "app/logging/production.ini"
logconfig = "app/logging/production.ini" logconfig = "app/logging/production.ini"
access_log_format = "%(h)s %(l)s %(t)s %(r)s %(s)s %(b)s %(f)s %(a)s" access_log_format = "%(h)s %({x-forwarded-for}i)s %(t)s %(r)s %(s)s %(b)s %(L)s"
# Log to stdout. # Log to stdout.
accesslog = "-" accesslog = "-"
errorlog = "-" errorlog = "-"

6
poetry.lock generated
View File

@@ -452,13 +452,13 @@ files = [
[[package]] [[package]]
name = "hsapi-client" name = "hsapi-client"
version = "0.9.5" version = "0.9.6"
description = "Headscale API client" description = "Headscale API client"
optional = false optional = false
python-versions = "<4.0,>=3.11" python-versions = "<4.0,>=3.11"
files = [ files = [
{file = "hsapi_client-0.9.5-py3-none-any.whl", hash = "sha256:a2ef7a62fba6f31ad08d6c04db95306c1da10c255383c699d04aa2dbd293f743"}, {file = "hsapi_client-0.9.6-py3-none-any.whl", hash = "sha256:441cd219a2384f66511b8cca21224171b4e6753d16d364d984eb9887aa686a6c"},
{file = "hsapi_client-0.9.5.tar.gz", hash = "sha256:aa8bf51a960c8e472b8a423bd7de5f7d9514ca5706e2b98ac473d57d158767f6"}, {file = "hsapi_client-0.9.6.tar.gz", hash = "sha256:b6a4183fb9cdf95b0e864eec5b79ea18843e25379f928c4770b68e4f1ce8334b"},
] ]
[package.dependencies] [package.dependencies]

View File

@@ -1,6 +1,6 @@
[tool.poetry] [tool.poetry]
name = "hsman" name = "hsman"
version = "0.9.9" version = "0.9.14"
description = "Flask Admin webui for Headscale" description = "Flask Admin webui for Headscale"
authors = ["Andrea Mistrali <andrea@mistrali.pw>"] authors = ["Andrea Mistrali <andrea@mistrali.pw>"]
license = "BSD" license = "BSD"