devpi-admin 1.4.4__tar.gz → 1.4.6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {devpi_admin-1.4.4 → devpi_admin-1.4.6}/PKG-INFO +1 -1
- {devpi_admin-1.4.4 → devpi_admin-1.4.6}/devpi_admin/_version.py +3 -3
- {devpi_admin-1.4.4 → devpi_admin-1.4.6}/devpi_admin/static/css/style.css +7 -0
- {devpi_admin-1.4.4 → devpi_admin-1.4.6}/devpi_admin/static/js/app.js +17 -5
- {devpi_admin-1.4.4 → devpi_admin-1.4.6}/devpi_admin.egg-info/PKG-INFO +1 -1
- {devpi_admin-1.4.4 → devpi_admin-1.4.6}/.github/workflows/publish.yml +0 -0
- {devpi_admin-1.4.4 → devpi_admin-1.4.6}/.github/workflows/tests.yml +0 -0
- {devpi_admin-1.4.4 → devpi_admin-1.4.6}/.gitignore +0 -0
- {devpi_admin-1.4.4 → devpi_admin-1.4.6}/LICENSE +0 -0
- {devpi_admin-1.4.4 → devpi_admin-1.4.6}/README.md +0 -0
- {devpi_admin-1.4.4 → devpi_admin-1.4.6}/devpi_admin/__init__.py +0 -0
- {devpi_admin-1.4.4 → devpi_admin-1.4.6}/devpi_admin/customizer.py +0 -0
- {devpi_admin-1.4.4 → devpi_admin-1.4.6}/devpi_admin/main.py +0 -0
- {devpi_admin-1.4.4 → devpi_admin-1.4.6}/devpi_admin/static/favicon.svg +0 -0
- {devpi_admin-1.4.4 → devpi_admin-1.4.6}/devpi_admin/static/index.html +0 -0
- {devpi_admin-1.4.4 → devpi_admin-1.4.6}/devpi_admin/static/js/api.js +0 -0
- {devpi_admin-1.4.4 → devpi_admin-1.4.6}/devpi_admin/static/js/marked.min.js +0 -0
- {devpi_admin-1.4.4 → devpi_admin-1.4.6}/devpi_admin/static/js/theme.js +0 -0
- {devpi_admin-1.4.4 → devpi_admin-1.4.6}/devpi_admin/tokens.py +0 -0
- {devpi_admin-1.4.4 → devpi_admin-1.4.6}/devpi_admin.egg-info/SOURCES.txt +0 -0
- {devpi_admin-1.4.4 → devpi_admin-1.4.6}/devpi_admin.egg-info/dependency_links.txt +0 -0
- {devpi_admin-1.4.4 → devpi_admin-1.4.6}/devpi_admin.egg-info/entry_points.txt +0 -0
- {devpi_admin-1.4.4 → devpi_admin-1.4.6}/devpi_admin.egg-info/requires.txt +0 -0
- {devpi_admin-1.4.4 → devpi_admin-1.4.6}/devpi_admin.egg-info/top_level.txt +0 -0
- {devpi_admin-1.4.4 → devpi_admin-1.4.6}/pyproject.toml +0 -0
- {devpi_admin-1.4.4 → devpi_admin-1.4.6}/setup.cfg +0 -0
- {devpi_admin-1.4.4 → devpi_admin-1.4.6}/tests/__init__.py +0 -0
- {devpi_admin-1.4.4 → devpi_admin-1.4.6}/tests/test_acl_read.py +0 -0
- {devpi_admin-1.4.4 → devpi_admin-1.4.6}/tests/test_devpi_tokens_ui.py +0 -0
- {devpi_admin-1.4.4 → devpi_admin-1.4.6}/tests/test_filter.py +0 -0
- {devpi_admin-1.4.4 → devpi_admin-1.4.6}/tests/test_hooks.py +0 -0
- {devpi_admin-1.4.4 → devpi_admin-1.4.6}/tests/test_json_safe.py +0 -0
- {devpi_admin-1.4.4 → devpi_admin-1.4.6}/tests/test_package.py +0 -0
- {devpi_admin-1.4.4 → devpi_admin-1.4.6}/tests/test_pipconf.py +0 -0
- {devpi_admin-1.4.4 → devpi_admin-1.4.6}/tests/test_tokens.py +0 -0
- {devpi_admin-1.4.4 → devpi_admin-1.4.6}/tests/test_tween.py +0 -0
- {devpi_admin-1.4.4 → devpi_admin-1.4.6}/tests/test_view_helpers.py +0 -0
- {devpi_admin-1.4.4 → devpi_admin-1.4.6}/tests/test_wants_html.py +0 -0
|
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
|
|
|
18
18
|
commit_id: str | None
|
|
19
19
|
__commit_id__: str | None
|
|
20
20
|
|
|
21
|
-
__version__ = version = '1.4.
|
|
22
|
-
__version_tuple__ = version_tuple = (1, 4,
|
|
21
|
+
__version__ = version = '1.4.6'
|
|
22
|
+
__version_tuple__ = version_tuple = (1, 4, 6)
|
|
23
23
|
|
|
24
|
-
__commit_id__ = commit_id = '
|
|
24
|
+
__commit_id__ = commit_id = 'gcd18d639e'
|
|
@@ -1313,6 +1313,13 @@ body {
|
|
|
1313
1313
|
font-family: inherit;
|
|
1314
1314
|
}
|
|
1315
1315
|
|
|
1316
|
+
/* Visually mask admin-set passwords for other users. The input stays
|
|
1317
|
+
type="text" on purpose — type="password" would make the browser
|
|
1318
|
+
offer to save someone else's credentials as the admin's own. */
|
|
1319
|
+
.masked-input {
|
|
1320
|
+
-webkit-text-security: disc;
|
|
1321
|
+
}
|
|
1322
|
+
|
|
1316
1323
|
.modal-body select:not(.tag-picker-add) {
|
|
1317
1324
|
width: 100%;
|
|
1318
1325
|
height: 36px;
|
|
@@ -2661,10 +2661,17 @@
|
|
|
2661
2661
|
pwInput = el('input', {type: 'password', id: 'form-password'});
|
|
2662
2662
|
pwInput.setAttribute('autocomplete', 'new-password');
|
|
2663
2663
|
} else {
|
|
2664
|
-
// Other user: plain text — Safari won't offer to save
|
|
2665
|
-
|
|
2664
|
+
// Other user: plain text — Safari won't offer to save
|
|
2665
|
+
// text fields. Visual masking via CSS text-security
|
|
2666
|
+
// keeps the password manager out of the loop.
|
|
2667
|
+
pwInput = el('input', {
|
|
2668
|
+
type: 'text',
|
|
2669
|
+
id: 'form-password',
|
|
2670
|
+
className: 'masked-input',
|
|
2671
|
+
});
|
|
2666
2672
|
pwInput.setAttribute('autocomplete', 'off');
|
|
2667
2673
|
pwInput.setAttribute('spellcheck', 'false');
|
|
2674
|
+
pwInput.setAttribute('autocapitalize', 'off');
|
|
2668
2675
|
}
|
|
2669
2676
|
body.appendChild(formGroup(
|
|
2670
2677
|
isEdit ? 'New Password (leave empty to keep)' : 'Password',
|
|
@@ -3958,9 +3965,14 @@
|
|
|
3958
3965
|
}
|
|
3959
3966
|
|
|
3960
3967
|
function formatLogWhen(when) {
|
|
3961
|
-
// keyfs link log 'when' is a UTC tuple [Y, M, D, h, m, s]
|
|
3962
|
-
|
|
3963
|
-
|
|
3968
|
+
// keyfs link log 'when' is a UTC tuple [Y, M, D, h, m, s] —
|
|
3969
|
+
// render it in the browser's local time zone.
|
|
3970
|
+
var d = new Date(Date.UTC(
|
|
3971
|
+
when[0], when[1] - 1, when[2],
|
|
3972
|
+
when[3], when[4], when[5] || 0));
|
|
3973
|
+
return d.getFullYear() + '-' + pad(d.getMonth() + 1) + '-' +
|
|
3974
|
+
pad(d.getDate()) + ' ' + pad(d.getHours()) + ':' +
|
|
3975
|
+
pad(d.getMinutes());
|
|
3964
3976
|
}
|
|
3965
3977
|
|
|
3966
3978
|
function cmpLogWhen(a, b) {
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|