patx/gitman
update ux for non pages repos pages settings
Commit 0892b99 · patx · 2026-05-05T23:28:23-04:00
Comments
No comments yet.
Diff
diff --git a/templates/repo_settings.tpl b/templates/repo_settings.tpl
index 39c595b..150cc49 100644
--- a/templates/repo_settings.tpl
+++ b/templates/repo_settings.tpl
@@ -27,14 +27,20 @@
<h2>Pages</h2>
<p class="muted">Pages URL: <a href="{{pages_settings['url']}}">{{pages_settings["url"]}}</a></p>
% if pages_settings["docs_publishable"]:
- <form method="post">
+ <form class="panel-heading" method="post">
{{!csrf_field()}}
<input type="hidden" name="action" value="update_pages">
- <label>
- <input type="checkbox" name="pages_docs_enabled" value="1"{{" checked" if pages_settings["docs_enabled"] else ""}}>
- Publish this repository's docs/ directory at {{pages_settings["url"]}}
- </label>
- <button class="button" type="submit">Save Pages settings</button>
+ <input type="hidden" name="pages_docs_enabled" value="{{0 if pages_settings['docs_enabled'] else 1}}">
+ <div>
+ % if pages_settings["docs_enabled"]:
+ <p><strong>Published</strong></p>
+ <p class="muted">This repository's docs/ directory is published at {{pages_settings["url"]}}.</p>
+ % else:
+ <p><strong>Not published</strong></p>
+ <p class="muted">Publish this repository's docs/ directory at {{pages_settings["url"]}}.</p>
+ % end
+ </div>
+ <button class="button" type="submit">{{"Unpublish Pages" if pages_settings["docs_enabled"] else "Publish Pages"}}</button>
</form>
% else:
<p>Push static site files to this repository root to publish the user Pages site.</p>
diff --git a/tests/test_app.py b/tests/test_app.py
index d8743ce..322a998 100644
--- a/tests/test_app.py
+++ b/tests/test_app.py
@@ -793,10 +793,15 @@ def test_pages_host_serves_user_site_and_enabled_project_docs(isolated_app):
settings_response = client.get("/alice/project/settings")
assert settings_response.status_code == 200
assert "Publish this repository" in settings_response.text
+ assert 'type="checkbox"' not in settings_response.text
+ assert 'name="pages_docs_enabled" value="1"' in settings_response.text
+ assert "Publish Pages" in settings_response.text
response = client.post("/alice/project/settings", {"action": "update_pages", "pages_docs_enabled": "1"})
assert response.status_code == 200
assert "Pages settings updated." in response.text
+ assert 'name="pages_docs_enabled" value="0"' in response.text
+ assert "Unpublish Pages" in response.text
response = client.get("/project/", headers={"Host": "alice.gitman.io"})
assert response.status_code == 200