diff --git a/python/web/src/static/style.css b/python/web/src/static/style.css index 202b56d2..15ea683c 100644 --- a/python/web/src/static/style.css +++ b/python/web/src/static/style.css @@ -2,19 +2,7 @@ body { color: black; background-color: white; font-family: Arial, Helvetica, sans-serif; - text-decoration:none; -} - -h1 { - color: white; - font-size:20px; - background-color:black; -} - -h2 { - color: black; - font-size:16px; - margin: 0px; + text-decoration: none; } a { @@ -27,10 +15,50 @@ form { table, tr, td { border: 1px solid black; - border-collapse:collapse; + border-collapse: collapse; margin: none; } +h1 { + color: white; + font-size: 20px; +} + +h2 { + color: black; + font-size: large; + font-weight: bold; + margin: 3px; +} + +summary.heading { + color: black; + font-size: large; + font-weight: bold; + margin: 3px; +} + +div.header { + color: white; + background-color: black; +} + +div.footer { + font-family: monospace; +} + +div.logged_in { + background-color: green; +} + +div.logged_out { + background-color: red; +} + +input.lun { + width: 36px; +} + div.flash { margin-top: 5px; margin-bottom: 5px; @@ -61,71 +89,76 @@ div.flash div.info { } td.inactive { - text-align:center; - background-color:tan; + text-align: center; + background-color: tan; } -summary.heading { - color: black; - font-size: large; - font-weight: bold; - margin: 0px; +ul.inline_list { + list-style: none; } .dropzone, .dropzone * { - box-sizing: border-box; + box-sizing: border-box; } .dropzone { - position: relative; + position: relative; +} + +.dropzone .dz-button { + position: relative; + background-color: white; + color: black; + border: 2px dashed blue; + padding: 12px 28px; } .dropzone .dz-preview { - position: relative; - display: inline-block; - width: 120px; - margin: .5em; + position: relative; + display: inline-block; + width: 120px; + margin: .5em; } .dropzone .dz-preview .dz-progress { - display: block; - height: 15px; - border: 1px solid #aaa; + display: block; + height: 15px; + border: 1px solid #aaa; } .dropzone .dz-preview .dz-progress .dz-upload { - display: block; - height: 100%; - width: 0; - background: green; + display: block; + height: 100%; + width: 0; + background: green; } .dropzone .dz-preview .dz-error-message { - color: red; - display: none; + color: red; + display: none; } .dropzone .dz-preview.dz-error .dz-error-message { - display: block; + display: block; } .dropzone .dz-preview.dz-error .dz-error-mark { - display: block; - filter: drop-shadow(0px 0px 2px red); + display: block; + filter: drop-shadow(0px 0px 2px red); + opacity: 0; } .dropzone .dz-preview.dz-success .dz-success-mark { - display: block; - filter: drop-shadow(0px 0px 2px green); + display: block; + filter: drop-shadow(0px 0px 2px green); } .dropzone .dz-preview .dz-error-mark, .dropzone .dz-preview .dz-success-mark { - position: absolute; - display: none; - left: 30px; - top: 30px; - width: 54px; - height: 58px; - left: 50%; - margin-left: -27px; + position: absolute; + display: none; + top: 30px; + width: 54px; + height: 58px; + left: 50%; + margin-left: -27px; } diff --git a/python/web/src/templates/base.html b/python/web/src/templates/base.html index e8a21057..10c6b209 100644 --- a/python/web/src/templates/base.html +++ b/python/web/src/templates/base.html @@ -1,80 +1,76 @@ - + {{ _("RaSCSI Reloaded Control Page") }} [{{ env["host"] }}] - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - + - - - + var shutdownNotify = function(Notification) { + document.getElementById("flash").innerHTML = "
" + Notification + "{{ _(" The Web Interface will become unresponsive momentarily. Reload this page after the Pi has started up again.") }}
"; + window.scrollTo(0,0); + } + + -
{% if env["auth_active"] %} {% if env["username"] %} - {{ _("Logged in as %(username)s", username=env["username"]) }} – {{ _("Log Out") }} +
+ {{ _("Logged in as %(username)s", username=env["username"]) }} - {{ _("Log Out") }} +
{% else %} - +
{{ _("Log In to Use Web Interface") }}
- - + + + +
- +
{% endif %} {% else %} - {{ _("Web Interface Authentication Disabled") }} – {{ _("See Wiki for more information", url="https://github.com/akuker/RASCSI/wiki/Web-Interface#enable-authentication") }} +
+ {{ _("Web Interface Authentication Disabled") }} - {{ _("See Wiki for more information", url="https://github.com/akuker/RASCSI/wiki/Web-Interface#enable-authentication") }} +
{% endif %} - - - - - - - - - -
- -

{{ _("RaSCSI Reloaded Control Page") }}

-
-
- hostname: {{ env["host"] }} ip: {{ env["ip_addr"] }} -
+
+ +

{{ _("RaSCSI Reloaded Control Page") }}

+
+
+
+ hostname: {{ env["host"] }} ip: {{ env["ip_addr"] }} +
{% for category, message in get_flashed_messages(with_categories=true) %} @@ -88,9 +84,27 @@
{% block content %}{% endblock content %}
- diff --git a/python/web/src/templates/deviceinfo.html b/python/web/src/templates/deviceinfo.html index 7371815f..52cc25c6 100644 --- a/python/web/src/templates/deviceinfo.html +++ b/python/web/src/templates/deviceinfo.html @@ -1,52 +1,52 @@ {% extends "base.html" %} {% block content %} -

{{ _("Detailed Info for Attached Devices") }}

+

{{ _("Detailed Info for Attached Devices") }}

{% for device in devices %}

- +
- + - + - + - + - + - + - + - + - + - + - +
{{ _("SCSI ID") }}{{ _("SCSI ID") }} {{ device["id"] }}
{{ _("LUN") }}{{ _("LUN") }} {{ device["unit"] }}
{{ _("Type") }}{{ _("Type") }} {{ device["device_type"] }}
{{ _("Status") }}{{ _("Status") }} {{ device["status"] }}
{{ _("File") }}{{ _("File") }} {{ device["image"] }}
{{ _("Parameters") }}{{ _("Parameters") }} {{ device["params"] }}
{{ _("Vendor") }}{{ _("Vendor") }} {{ device["vendor"] }}
{{ _("Product") }}{{ _("Product") }} {{ device["product"] }}
{{ _("Revision") }}{{ _("Revision") }} {{ device["revision"] }}
{{ _("Block Size") }}{{ _("Block Size") }} {{ device["block_size"] }}
{{ _("Image Size") }}{{ _("Image Size") }} {{ device["size"] }}
diff --git a/python/web/src/templates/diskinfo.html b/python/web/src/templates/diskinfo.html index 6b41fa3b..8b9aea45 100644 --- a/python/web/src/templates/diskinfo.html +++ b/python/web/src/templates/diskinfo.html @@ -1,7 +1,7 @@ {% extends "base.html" %} {% block content %} -

{{ _("Disk Image Details: %(file_name)s", file_name=file_name) }}

+

{{ _("Disk Image Details: %(file_name)s", file_name=file_name) }}

{{ diskinfo }}

{{ _("Go to Home") }}

diff --git a/python/web/src/templates/drives.html b/python/web/src/templates/drives.html index 0f5c8561..a980b9e8 100644 --- a/python/web/src/templates/drives.html +++ b/python/web/src/templates/drives.html @@ -5,33 +5,32 @@

{{ _("These device profiles are provided as-is with no guarantee to work equally to the actual physical device they are named after. You may need to provide appropirate device drivers and/or configuration parameters for them to function properly. If you would like to see data modified, or have additional devices to add to the list, please raise an issue ticket at GitHub.", url="https://github.com/akuker/RASCSI/issues") }}

{{ _("Hard Disk Drives") }}

- +
- - - - - + + + + {% for hd in drive_properties['hd_conf']|sort(attribute='name') %} - - - - - + + + @@ -44,38 +43,36 @@

{{ _("CD/DVD Drives") }}

{{ _("This will create a properties file for the given CD-ROM or DVD image. No new image file will be created.") }}

-
{{ _("Name") }}{{ _("Size (MiB)") }}{{ _("Description") }}{{ _("Ref.") }}{{ _("Action") }}{{ _("Name") }}{{ _("Size (MiB)") }}{{ _("Description") }}{{ _("Action") }}
{{ hd.name }}{{ hd.size_mb }}{{ hd.description }} - {% if hd.url != "" %} - {{ _("Link") }} - {% else %} - - - {% endif %} - + + {% if hd.url != "" %} + {{ hd.name }} + {% else %} + {{ hd.name }} + {% endif %} + {{ hd.size_mb }}{{ hd.description }}
- {{ _("Size:") }} {{ _("B") }} - - .{{ hd.file_type }} + + {{ _("B") }} + + .{{ hd.file_type }}
+
- - - - - + + + + {% for cd in drive_properties['cd_conf']|sort(attribute='name') %} - - - - - + + @@ -87,33 +84,32 @@

{{ _("Removable Disk Drives") }}

-
{{ _("Name") }}{{ _("Size (MiB)") }}{{ _("Description") }}{{ _("Ref.") }}{{ _("Action") }}{{ _("Name") }}{{ _("Size (MiB)") }}{{ _("Description") }}{{ _("Action") }}
{{ cd.name }}{{ cd.size_mb }}{{ cd.description }} - {% if cd.url != "" %} - {{ _("Link") }} - {% else %} - - - {% endif %} + + {% if cd.url != "" %} + {{ cd.name }} + {% else %} + {{ cd.name }} + {% endif %} + {{ cd.size_mb }}{{ cd.description }}
- - {% for file in files|sort(attribute='name') %} - {% if file["name"].lower().endswith(cdrom_file_suffix) %} - - {% endif %} - {% endfor %} - + {% if file["name"].lower().endswith(env['cd_suffixes']) %} + + {% endif %} + {% endfor %} +
+
- - - - - + + + + {% for rm in drive_properties['rm_conf']|sort(attribute='name') %} - - - - - + + diff --git a/python/web/src/templates/index.html b/python/web/src/templates/index.html index 44eec02a..62a6b0a2 100644 --- a/python/web/src/templates/index.html +++ b/python/web/src/templates/index.html @@ -7,17 +7,19 @@ -

- {% if config_files %} {% for config in config_files|sort %} {% endfor %} {% else %} @@ -28,53 +30,59 @@ -

+ +

-

- +

+ + + + .{{ CONFIG_FILE_SUFFIX }} -

+ +

-
{{ _("Name") }}{{ _("Size (MiB)") }}{{ _("Description") }}{{ _("Ref.") }}{{ _("Action") }}{{ _("Name") }}{{ _("Size (MiB)") }}{{ _("Description") }}{{ _("Action") }}
{{ rm.name }}{{ rm.size_mb }}{{ rm.description }} - {% if rm.url != "" %} - {{ _("Link") }} - {% else %} - - - {% endif %} + + {% if rm.url != "" %} + {{ rm.name }} + {% else %} + {{ rm.name }} + {% endif %} + {{ rm.size_mb }}{{ rm.description }}
- {{ _("Size:") }} {{ _("B") }} - - .{{ rm.file_type }} + + {{ _("B") }} + + .{{ rm.file_type }}
+
- + {% if units %} - + {% endif %} - - - - + + + + {% for device in devices | sort(attribute='id') %} {% if device["id"] not in reserved_scsi_ids %} - + {% if units %} - + {% endif %} - - + - - {% else %} @@ -148,20 +156,14 @@
{{ _("ID") }}{{ _("ID") }}{{ _("LUN") }}{{ _("LUN") }}{{ _("Device") }}{{ _("Parameters") }}{{ _("Product") }}{{ _("Actions") }}{{ _("Device") }}{{ _("Parameters") }}{{ _("Product") }}{{ _("Actions") }}
{{ device.id }}{{ device.id }}{{ device.unit }}{{ device.unit }}{{ device.device_name }} + {{ device.device_name }} {% if "No Media" in device.status %}
- {% for f in files|sort(attribute='name') %} {% if device.device_type == "SCCD" %} - {% if f["name"].lower().endswith(cdrom_file_suffix) %} - + {% if f["name"].lower().endswith(env['cd_suffixes']) %} + {% endif %} {% elif device.device_type == "SCRM" %} - {% if f["name"].lower().endswith(removable_file_suffix) %} - + {% if f["name"].lower().endswith(env['rm_suffixes']) %} + {% endif %} {% elif device.device_type == "SCMO" %} - {% if f["name"].lower().endswith(mo_file_suffix) %} - + {% if f["name"].lower().endswith(env['mo_suffixes']) %} + {% endif %} {% endif %} {% endfor %} @@ -97,7 +105,7 @@ {% endif %} {% endif %}
+ {% if device.vendor != "RaSCSI" %} {{ device.vendor }} {% endif %} @@ -106,8 +114,8 @@ {{ device.revision }} {% endif %} - {% if device.id in scsi_ids["occupied_ids"] %} + + {% if device.id in scsi_ids["occupied_ids"] %} {% if device.device_type in REMOVABLE_DEVICE_TYPES and "No Media" not in device.status %} @@ -120,13 +128,13 @@ - {% else %} -
+ {% else %} +
- {% endif %} + {% endif %}
{{ device.id }}
- - - - - -
-
- -
-
-
- -
-
+

+

+ +
+
+ +
+


@@ -170,7 +172,7 @@ {{ _("Image File Management") }} - +
- - - - + + + + {% for file in files|sort(attribute='name') %} @@ -202,12 +204,12 @@ {{ file["name"] }} - {% endif %} - @@ -275,23 +277,24 @@ - - {% for id in scsi_ids["valid_ids"] %} {% endfor %} - - + + {% if file["detected_type"] != "UNDEFINED" %} {{ file['detected_type_name'] }} {% else %} - {% for key, value in device_types.items() %} {% if key in DISK_DEVICE_TYPES %} @@ -344,7 +347,7 @@ -
{{ _("File") }}{{ _("Size") }}{{ _("Actions") }}
{{ _("File") }}{{ _("Size") }}{{ _("Actions") }}
{{ file["name"] }} +
- +
- - - - +
{{ _("Device") }}{{ _("Key") }}{{ _("Parameters and Actions") }}
+ + + + {% for type in REMOVABLE_DEVICE_TYPES + PERIPHERAL_DEVICE_TYPES %} @@ -373,11 +376,11 @@ {% for key, value in device_types[type]["params"] | dictsort %} - + {% if value.isnumeric() %} - + {% elif key == "interface" %} - {% for if in netinfo["ifs"] %} @@ -417,16 +420,16 @@ {% endif %} {% endif %} - - {% for id in scsi_ids["valid_ids"] %} {% endfor %} - - + + @@ -446,21 +449,16 @@ -
{{ _("Device") }}{{ _("Key") }}{{ _("Parameters and Actions") }}
- - - -
-
-

- - -

-
-
+
+

+ + +

+
+