1
0
Fork 0
mirror of https://github.com/retspen/webvirtcloud synced 2026-11-10 04:06:47 +00:00
Commit graph

46 commits

Author SHA1 Message Date
catborise
59e120e62d fix(templates): the dialogs only a real host shows have accessible names
An accessibility scan of the pages on a real host (the earlier scans ran
on libvirt's test driver) found unnamed elements the test driver never
renders: the network page's add fixed address buttons and their dialog
fields, the XML box of each nwfilter's details dialog and the convert
checkbox of the volume clone dialog. The buttons get a title, the labels
a for= and the fields an id, the XML box an aria-label.
2026-10-19 21:17:48 +03:00
catborise
eb828b364d fix(storages): Ceph and NFS pool values are escaped, host names may be long
create_storage_ceph and create_storage_netfs wrote the pool, host, user,
secret and format values into the pool XML unescaped and unchecked: the
page's patterns were the only guard, and a direct POST could break or
extend the XML. The values now go through util.xml_escape, as the
network code does. The page's host fields stopped at 20 characters, so
nfs01.storage.example.com could not be typed: they take a host name's
253; the Ceph pool and user fields lose the limit the server never had.
2026-10-19 20:43:45 +03:00
catborise
ca74c02c4f fix(templates): the fields of the create modals are named by their labels
An accessibility scan with every modal opened found 49 fields without a
name: the labels of the instance create forms (custom, template and each
flavor's modal), the interface, network, secret and storage pool modals
did not point at their fields. Each label now has a for= and its field an
id, prefixed per form (and per flavor), so a click on the label focuses
the field too. The "Advanced" collapse buttons and the memory and
processing bars are named.

The VCPU config select had id="vcpu_mode" in each of these forms, nine
times on the create page; the unique-ID test did not see it as the test
driver reports no CPU modes. The id goes (nothing used it), and the test
now renders that branch.
2026-10-19 20:01:36 +03:00
catborise
45b92c8638 fix(storages): the pool form in the page no longer refuses paths the server accepts
The create pool modals kept their own pattern attributes, older and
stricter than the server's check: a logical source took only lower-case
letters, digits and "/", dir and NFS paths no "." or ":", and the NFS
fields stopped at 40 characters (the form allows 100). The browser
refused /dev/mapper/vg0-data, /dev/disk/by-id/wwn-..., /srv/vm.images or
/export/vm_images.v2 before the server saw them. The path fields keep
"required" and leave the check to the server, which shows its message.
2026-10-19 16:24:57 +03:00
catborise
64057f8d05 fix(templates): icon-only buttons, selects and delete pages have accessible names
An accessibility scan (axe-core, WCAG 2 A/AA) of every page found 87
elements without a name. Icon-only buttons and links (the navbar's
administration menu on every page, the add/create buttons, the flavor
delete and back buttons) get a title, which is also their tooltip; the
labels of the language, architecture, chipset and filter selects point
at them; the memory bar is named. The shared delete confirmation page
had an empty <title> and heading, as no view passes "title": it says
"Delete <object>". The power-off form's aria-label was misspelled.
2026-10-19 16:15:06 +03:00
catborise
3a4488d34f fix(templates): pages parse without markup errors, element IDs are unique
Rendered through every URL on libvirt's test driver, the pages had
duplicate IDs and markup browsers repaired silently:

- Each flavor modal's "Advanced" button toggled #flav-add-collapse, the
  first modal's section; every modal now has its own. The flavor and
  template copies of the custom tab's control IDs, and the template
  tab's unused images input, are gone.
- The VM page's action icons and the XML editors were styled by
  repeated IDs; they use classes.
- Modal forms opened inside modal-body and closed after modal-footer;
  they wrap both. Stray end tags and duplicate attributes are removed,
  paragraphs no longer hold modals or rows, table heads have a row, and
  the create page closes its row and column.
- html lang is the active language instead of "en".

A test walks every URL as a superuser and fails on a repeated ID. The
console page still has no doctype: its full-height layout relies on
quirks mode and needs its own check.
2026-10-19 07:49:25 +03:00
catborise
4629e0557f feat(storages): the upload dialog closes once an upload starts
The job panel follows an ISO upload, so the dialog closes when the first
chunk is accepted and its progress bar goes; the dialog opens again with
the error if the upload stops. The browser still sends the file, so the
page asks before it is left while an upload runs. The storage page no
longer includes the please-wait dialog, which nothing on it opened.
2026-10-16 12:16:35 +03:00
catborise
56b4b03500 feat(storages): an ISO upload is a job
The upload session lives in a job instead of flocks and .meta/.done
files; the job panel shows and cancels it; an upload idle for an hour is
ended and its partial file deleted; the page no longer reloads after an
upload.
2026-10-16 11:53:59 +03:00
catborise
49232c6e1d feat(storages): volume clone runs as a job 2026-10-15 09:28:43 +03:00
catborise
2441b21c0c feat(storage): support resilient ISO uploads across connection types 2026-09-28 14:57:31 +03:00
hudeng
326579a6ea feat: Add ISO file upload progress support. 2025-07-17 17:11:30 +08:00
Amélie Krejčí
53d1407483
Replace ifnotequal with if
ifequal and ifnotequal are deprecated in Django 4.0
2023-09-25 14:40:22 +02:00
catborise
b47ec2e8f9 bootstrap icon conversion fixes 2023-08-11 09:40:38 +03:00
Emre Serdengeçti
1cbdf76df6
logger updates (#31)
* Log for failed login attempts

* Logger configuration for logging to file

* interface fixes

* login log fix, added logged in too

* bootstrap icons setup

* font-awesome icons replaced with bootstrap icons

* replaced i-tags with django_bootstrap_icons

* removed icons library from project

* bug fix

---------

Co-authored-by: catborise <catborise@gmail.com>
2023-08-09 09:20:18 +03:00
catborise
8e1c3fa03b change iso path hint 2023-01-23 08:25:44 +03:00
catborise
4d21a3184b fix: please wait dialog. 2021-10-04 16:18:36 +03:00
catborise
073b7b6717
Bootstrap5 (#17)
* Bootstrap5 migration
2021-07-07 14:12:38 +03:00
catborise
ede5710d7c update secret references; move secret to virtsecret because of django compatibility 2021-06-15 14:17:55 +03:00
catborise
5aa22ac042 Django 3.2.4 LTS upgrade 2021-06-15 13:28:47 +03:00
catborise
d7c0f9445d rearrange search functionality 2021-06-15 13:28:47 +03:00
catborise
488b71a68f page header rearragements 2020-10-21 12:10:42 +03:00
Real-Gecko
01043ba8a8 Templates cleanup 2020-10-15 20:18:45 +06:00
Real-Gecko
47009d47ca Instances overhaul 2020-07-13 15:33:09 +06:00
catborise
b7fc8a5fea Language change activation. Fix typos and add new translations 2020-06-10 15:16:58 +03:00
catborise
6a0d04d300 replace deprecated ifequal/ifnotequal with if 2020-06-04 15:40:57 +03:00
catborise
bf15de507a add aria-label definition to forms 2020-06-04 12:05:55 +03:00
catborise
8bafaa8720 add scope to th tags for screen readers 2020-06-04 12:04:46 +03:00
catborise
2d5c701789 Add Settings page: Move theme & lang changer to settings page 2020-06-04 12:03:26 +03:00
catborise
7409c197ed truncate long file names longer than 55 characters 2020-06-04 11:39:02 +03:00
catborise
0461df7685 bootstrap4.5: fix modal headers, some glitches 2020-06-04 11:36:47 +03:00
catborise
871083967f bootstrap 4.5 fixations & fix various localizations 2020-06-04 11:35:57 +03:00
catborise
0e5840498e bootstrap 4.5 & Bootswatch Themes 2020-06-04 11:33:25 +03:00
catborise
97e39fa6b8 storage.html: show usage and size seperately. 2019-10-25 16:03:27 +03:00
catborise
b18290794e Translate, indentation and typo fixes 2019-07-31 11:03:48 +03:00
catborise
30e1f0eb2d Remove .img extension label 2019-04-29 14:11:20 +03:00
catborise
25e6381fc9 add Compute instances tab. Minimal invasion. minimal change. keep structure 2018-09-28 13:33:21 +03:00
catborise
35bc8c67e4 Add NWFilters 2018-09-21 19:11:17 +03:00
catborise
aba92e30b5 x character converted to &times; 2018-08-01 17:18:51 +03:00
catborise
f9f216224f fix typo 2018-08-01 16:52:29 +03:00
catborise
07ae335d79 add progress bar to image cloning 2018-07-31 16:25:12 +03:00
catborise
4126ad2591 Volumes list allocation info added. While creating image files it is recommended username and group name info. Storage.html does not show messages. messages section added 2018-07-25 09:35:35 +03:00
chris
89f49b120b Fixin add storage regex issue on 'iso path' and 'lvm name' 2016-10-15 00:25:21 -04:00
Retspen
1fcb49ffc8 Fixed url hash 2015-04-21 15:40:18 +03:00
Retspen
86e1915a49 Fixed some bugs and redesigned html 2015-04-21 14:46:58 +03:00
Retspen
2aa5558df7 Fixed pep8 2015-04-06 10:51:50 +03:00
Retspen
b4e8da8671 Resoved problem with app template 2015-04-02 16:20:46 +03:00