aboutsummaryrefslogtreecommitdiffstats
path: root/src/templates/account
diff options
context:
space:
mode:
authorJeremy Plsek <jeremyplsek@gmail.com>2019-12-19 12:58:33 -0500
committerJeremy Plsek <jeremyplsek@gmail.com>2019-12-19 12:58:33 -0500
commit30a535d7e9bdc0e3cf637207c0c100a16db81586 (patch)
tree2a7c3a968d95c29a661620095d889f6484169fec /src/templates/account
parentedf4d6729b94258f8b404684703984b724c45c8f (diff)
style: make more consistent styles
- Fix indentation in places - User settings have better labels - Lab info title now the same as others - Add "empty" sections to be more helpful to the user. They are not using links, since most of the "workflow" is handled by javascript. - Update padding in places to better line up with other elements - Add padding to bootstrap notifications (add check for messages to not just have random padding on the top of the page) - Remove unnecessary text in a form - Remove card-body from table-only or list-only cards (lists and tables are now flush with cards) - Add bg-danger to not-working hosts - Replace True/False text shown to the user with Yes/No - Remove ":" from some headers - Vertical buttons are now in a button group - Add pre-wrap class to avoid pre from breaking box sizing on the booking detail page - Reduce table indent in pod card and add table overflow scrollbar Signed-off-by: Jeremy Plsek <jeremyplsek@gmail.com> Change-Id: If09dca2f2b7386c44eeeb817ef76e8f748e456da
Diffstat (limited to 'src/templates/account')
-rw-r--r--src/templates/account/booking_list.html165
-rw-r--r--src/templates/account/configuration_list.html22
-rw-r--r--src/templates/account/image_list.html45
-rw-r--r--src/templates/account/resource_list.html18
-rw-r--r--src/templates/account/userprofile_update_form.html46
5 files changed, 158 insertions, 138 deletions
diff --git a/src/templates/account/booking_list.html b/src/templates/account/booking_list.html
index 55c6c0d..f9234bc 100644
--- a/src/templates/account/booking_list.html
+++ b/src/templates/account/booking_list.html
@@ -1,90 +1,100 @@
{% extends "base.html" %}
{% block content %}
<h2>Bookings I Own</h2>
- <div class="row">
- {% for booking in bookings %}
- <div class="col-12 col-md-6 col-lg-4 col-xl-3 p-2">
- <div class="card h-100">
- <div class="card-header">
- <h3>Booking {{booking.id}}</h3>
- </div>
- <div class="card-body">
- <ul class="list-group">
- <li class="list-group-item">id: {{booking.id}}</li>
- <li class="list-group-item">lab: {{booking.lab}}</li>
- <li class="list-group-item">resource: {{booking.resource.template.name}}</li>
- <li class="list-group-item">start: {{booking.start}}</li>
- <li class="list-group-item">end: {{booking.end}}</li>
- <li class="list-group-item">purpose: {{booking.purpose}}</li>
- </ul>
- </div>
- <div class="card-footer d-flex">
- <a class="btn btn-primary ml-auto mr-2" href="/booking/detail/{{booking.id}}/">Details</a>
- <button
- class="btn btn-danger"
- onclick='cancel_booking({{booking.id}});'
- data-toggle="modal"
- data-target="#resModal"
- >Cancel</button>
- </div>
+<div class="row">
+ {% for booking in bookings %}
+ <div class="col-12 col-md-6 col-lg-4 col-xl-3 mb-3">
+ <div class="card h-100">
+ <div class="card-header">
+ <h3>Booking {{booking.id}}</h3>
+ </div>
+ <ul class="list-group list-group-flush h-100">
+ <li class="list-group-item">id: {{booking.id}}</li>
+ <li class="list-group-item">lab: {{booking.lab}}</li>
+ <li class="list-group-item">resource: {{booking.resource.template.name}}</li>
+ <li class="list-group-item">start: {{booking.start}}</li>
+ <li class="list-group-item">end: {{booking.end}}</li>
+ <li class="list-group-item">purpose: {{booking.purpose}}</li>
+ </ul>
+ <div class="card-footer d-flex">
+ <a class="btn btn-primary ml-auto mr-2" href="/booking/detail/{{booking.id}}/">Details</a>
+ <button
+ class="btn btn-danger"
+ onclick='cancel_booking({{booking.id}});'
+ data-toggle="modal"
+ data-target="#resModal"
+ >Cancel</button>
</div>
</div>
- {% endfor %}
- </div>
+ </div>
+ {% empty %}
+ <div class="col">
+ <p>You don't have any bookings. You can create a booking by booking a pod.</p>
+ </div>
+ {% endfor %}
+</div>
+
<h2>Bookings I Collaborate On</h2>
- <div class="row">
- {% for booking in collab_bookings %}
- <div class="col-12 col-md-6 col-lg-4 col-xl-3 p-2">
- <div class="card h-100">
- <div class="card-header">
- <h3>Booking {{booking.id}}</h3>
- </div>
- <div class="card-body">
- <ul class="list-group">
- <li class="list-group-item">id: {{booking.id}}</li>
- <li class="list-group-item">lab: {{booking.lab}}</li>
- <li class="list-group-item">resource: {{booking.resource.template.name}}</li>
- <li class="list-group-item">start: {{booking.start}}</li>
- <li class="list-group-item">end: {{booking.end}}</li>
- <li class="list-group-item">purpose: {{booking.purpose}}</li>
- </ul>
- </div>
- <div class="card-footer d-flex">
- <a class="btn btn-primary ml-auto" href="/booking/detail/{{booking.id}}/">Details</a>
- </div>
+<div class="row">
+
+ {% for booking in collab_bookings %}
+ <div class="col-12 col-md-6 col-lg-4 col-xl-3 mb-3">
+ <div class="card h-100">
+ <div class="card-header">
+ <h3>Booking {{booking.id}}</h3>
+ </div>
+ <ul class="list-group list-group-flush h-100">
+ <li class="list-group-item">id: {{booking.id}}</li>
+ <li class="list-group-item">lab: {{booking.lab}}</li>
+ <li class="list-group-item">resource: {{booking.resource.template.name}}</li>
+ <li class="list-group-item">start: {{booking.start}}</li>
+ <li class="list-group-item">end: {{booking.end}}</li>
+ <li class="list-group-item">purpose: {{booking.purpose}}</li>
+ </ul>
+ <div class="card-footer d-flex">
+ <a class="btn btn-primary ml-auto" href="/booking/detail/{{booking.id}}/">Details</a>
</div>
</div>
- {% endfor %}
- </div>
- <a href="#expired_bookings" data-toggle="collapse" class="h2 discrete-a">
- Expired Bookings
- <i class="fas fa-angle-down rotate"></i>
- </a>
- <div id="expired_bookings" class="row collapse">
- {% for booking in expired_bookings %}
- <div class="col-12 col-md-6 col-lg-4 col-xl-3 p-2">
- <div class="card h-100">
- <div class="card-header">
- <h3>Booking {{booking.id}}</h3>
- </div>
- <div class="card-body">
- <ul class="list-group">
- <li class="list-group-item">id: {{booking.id}}</li>
- <li class="list-group-item">lab: {{booking.lab}}</li>
- <li class="list-group-item">resource: {{booking.resource.template.name}}</li>
- <li class="list-group-item">start: {{booking.start}}</li>
- <li class="list-group-item">end: {{booking.end}}</li>
- <li class="list-group-item">purpose: {{booking.purpose}}</li>
- <li class="list-group-item">owner: {{booking.owner.userprofile.email_addr}}</li>
- </ul>
- </div>
- <div class="card-footer d-flex">
- <a class="btn btn-primary ml-auto" href="/booking/detail/{{booking.id}}/">Details</a>
- </div>
+ </div>
+ {% empty %}
+ <div class="col">
+ <p>There are no collaborative bookings.</p>
+ </div>
+ {% endfor %}
+</div>
+
+<a href="#expired_bookings" data-toggle="collapse" class="h2 discrete-a">
+ Expired Bookings
+ <i class="fas fa-angle-down rotate"></i>
+</a>
+<div id="expired_bookings" class="row collapse">
+ {% for booking in expired_bookings %}
+ <div class="col-12 col-md-6 col-lg-4 col-xl-3 mb-3">
+ <div class="card h-100">
+ <div class="card-header">
+ <h3>Booking {{booking.id}}</h3>
+ </div>
+ <ul class="list-group list-group-flush h-100">
+ <li class="list-group-item">id: {{booking.id}}</li>
+ <li class="list-group-item">lab: {{booking.lab}}</li>
+ <li class="list-group-item">resource: {{booking.resource.template.name}}</li>
+ <li class="list-group-item">start: {{booking.start}}</li>
+ <li class="list-group-item">end: {{booking.end}}</li>
+ <li class="list-group-item">purpose: {{booking.purpose}}</li>
+ <li class="list-group-item">owner: {{booking.owner.userprofile.email_addr}}</li>
+ </ul>
+ <div class="card-footer d-flex">
+ <a class="btn btn-primary ml-auto" href="/booking/detail/{{booking.id}}/">Details</a>
</div>
</div>
- {% endfor %}
- </div>
+ </div>
+ {% empty %}
+ <div class="col">
+ <p>There are no expired bookings.</p>
+ </div>
+ {% endfor %}
+</div>
+
<script>
var current_booking_id = -1;
function cancel_booking(booking_id) {
@@ -102,6 +112,7 @@
req.send(formData);
}
</script>
+
<div class="modal fade" id="resModal" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
diff --git a/src/templates/account/configuration_list.html b/src/templates/account/configuration_list.html
index 94a1120..206c203 100644
--- a/src/templates/account/configuration_list.html
+++ b/src/templates/account/configuration_list.html
@@ -2,19 +2,17 @@
{% block content %}
<div class="row">
{% for config in configurations %}
- <div class="p-2 col-12 col-md-6 col-lg-4 col-xl-3">
+ <div class="col-12 col-md-6 col-lg-4 col-xl-3 mb-3">
<div class="card h-100">
<div class="card-header">
<h3>Configuration {{config.id}}</h3>
</div>
- <div class="card-body">
- <ul class="list-group">
- <li class="list-group-item">id: {{config.id}}</li>
- <li class="list-group-item">name: {{config.name}}</li>
- <li class="list-group-item">description: {{config.description}}</li>
- <li class="list-group-item">resource: {{config.bundle}}</li>
- </ul>
- </div>
+ <ul class="list-group list-group-flush h-100">
+ <li class="list-group-item">id: {{config.id}}</li>
+ <li class="list-group-item">name: {{config.name}}</li>
+ <li class="list-group-item">description: {{config.description}}</li>
+ <li class="list-group-item">resource: {{config.bundle}}</li>
+ </ul>
<div class="card-footer">
<button
class="btn btn-danger w-100"
@@ -25,8 +23,13 @@
</div>
</div>
</div>
+{% empty %}
+ <div class="col">
+ <p>You don't have any configurations. You can create a configuration by configuring a pod.</p>
+ </div>
{% endfor %}
</div>
+
<script>
var current_config_id = -1;
function delete_config(config_id) {
@@ -44,6 +47,7 @@
req.send(formData);
}
</script>
+
<div class="modal fade" id="configModal" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
diff --git a/src/templates/account/image_list.html b/src/templates/account/image_list.html
index a626710..6263016 100644
--- a/src/templates/account/image_list.html
+++ b/src/templates/account/image_list.html
@@ -3,20 +3,18 @@
<h2>Images I Own</h2>
<div class="row">
{% for image in images %}
- <div class="p-2 col-12 col-md-6 col-lg-4 col-xl-3">
+ <div class="col-12 col-md-6 col-lg-4 col-xl-3 mb-3">
<div class="card h-100">
<div class="card-header">
<h3>Image {{image.id}}</h3>
</div>
- <div class="card-body">
- <ul class="list-group">
- <li class="list-group-item">id: {{image.id}}</li>
- <li class="list-group-item">lab: {{image.from_lab.name}}</li>
- <li class="list-group-item">name: {{image.name}}</li>
- <li class="list-group-item">description: {{image.description}}</li>
- <li class="list-group-item">host profile: {{image.host_type.name}}</li>
- </ul>
- </div>
+ <ul class="list-group list-group-flush h-100">
+ <li class="list-group-item">id: {{image.id}}</li>
+ <li class="list-group-item">lab: {{image.from_lab.name}}</li>
+ <li class="list-group-item">name: {{image.name}}</li>
+ <li class="list-group-item">description: {{image.description}}</li>
+ <li class="list-group-item">host profile: {{image.host_type.name}}</li>
+ </ul>
<div class="card-footer">
<button class="btn btn-danger w-100" onclick='delete_image({{image.id}});'
data-toggle="modal" data-target="#imageModal">
@@ -25,27 +23,34 @@
</div>
</div>
</div>
+{% empty %}
+ <div class="col">
+ <p>You don't have any images. You can create an image by creating a snapshot.</p>
+ </div>
{% endfor %}
</div>
+
<h2>Public Images</h2>
<div class="row">
{% for image in public_images %}
- <div class="p-2 col-12 col-md-6 col-lg-4 col-xl-3">
+ <div class="col-12 col-md-6 col-lg-4 col-xl-3 mb-3">
<div class="card h-100">
<div class="card-header">
<h3>Image {{image.id}}</h3>
</div>
- <div class="card-body">
- <ul class="list-group">
- <li class="list-group-item">id: {{image.id}}</li>
- <li class="list-group-item">lab: {{image.from_lab.name}}</li>
- <li class="list-group-item">name: {{image.name}}</li>
- <li class="list-group-item">description: {{image.description}}</li>
- <li class="list-group-item">host profile: {{image.host_type.name}}</li>
- </ul>
- </div>
+ <ul class="list-group list-group-flush h-100">
+ <li class="list-group-item">id: {{image.id}}</li>
+ <li class="list-group-item">lab: {{image.from_lab.name}}</li>
+ <li class="list-group-item">name: {{image.name}}</li>
+ <li class="list-group-item">description: {{image.description}}</li>
+ <li class="list-group-item">host profile: {{image.host_type.name}}</li>
+ </ul>
</div>
</div>
+ {% empty %}
+ <div class="col">
+ <p>There are no public images.</p>
+ </div>
{% endfor %}
</div>
diff --git a/src/templates/account/resource_list.html b/src/templates/account/resource_list.html
index 1203534..65b46f1 100644
--- a/src/templates/account/resource_list.html
+++ b/src/templates/account/resource_list.html
@@ -2,18 +2,16 @@
{% block content %}
<div class="row">
{% for resource in resources %}
- <div class="col-12 col-md-6 col-lg-4 col-xl-3 p-2">
+ <div class="col-12 col-md-6 col-lg-4 col-xl-3 mb-3">
<div class="card h-100">
<div class="card-header">
<h3>Resource {{resource.id}}</h3>
</div>
- <div class="card-body p-4">
- <ul class="list-group">
- <li class="list-group-item">id: {{resource.id}}</li>
- <li class="list-group-item">name: {{resource.name}}</li>
- <li class="list-group-item">description: {{resource.description}}</li>
- </ul>
- </div>
+ <ul class="list-group list-group-flush h-100">
+ <li class="list-group-item">id: {{resource.id}}</li>
+ <li class="list-group-item">name: {{resource.name}}</li>
+ <li class="list-group-item">description: {{resource.description}}</li>
+ </ul>
<div class="card-footer">
<button
class="btn btn-danger w-100"
@@ -24,6 +22,10 @@
</div>
</div>
</div>
+{% empty %}
+ <div class="col">
+ <p>You don't have any resources. You can create a resource by designing a pod.</p>
+ </div>
{% endfor %}
</div>
<script>
diff --git a/src/templates/account/userprofile_update_form.html b/src/templates/account/userprofile_update_form.html
index 5ddb867..16a8270 100644
--- a/src/templates/account/userprofile_update_form.html
+++ b/src/templates/account/userprofile_update_form.html
@@ -2,32 +2,30 @@
{% load bootstrap4 %}
{% block content %}
- <div class="container-fluid">
- <div class="row">
- <div class="col-12 col-xl-6">
- {% bootstrap_messages %}
- <div class="login-panel panel panel-default">
- <div class="panel-body">
- <form enctype="multipart/form-data" method="post">
- {% csrf_token %}
- {% bootstrap_form form %}
- <p><b>API Token</b>
- <a href="{% url 'generate_token' %}" class="btn btn-primary">
- Generate
- </a>
- </p>
- <p class="text-break">{{ token.key }}</p>
+<div class="row">
+ <div class="col-12 col-xl-6">
+ {% bootstrap_messages %}
+ <div class="login-panel panel panel-default">
+ <div class="panel-body">
+ <form enctype="multipart/form-data" method="post">
+ {% csrf_token %}
+ {% bootstrap_form form %}
+ <p><b>API Token</b>
+ <a href="{% url 'generate_token' %}" class="btn btn-primary">
+ Generate
+ </a>
+ </p>
+ <p class="text-break">{{ token.key }}</p>
- <p></p>
- {% buttons %}
- <button type="submit" class="btn btn btn-success">
- Save Profile
- </button>
- {% endbuttons %}
- </form>
- </div>
- </div>
+ <p></p>
+ {% buttons %}
+ <button type="submit" class="btn btn btn-success">
+ Save Profile
+ </button>
+ {% endbuttons %}
+ </form>
</div>
</div>
</div>
+</div>
{% endblock content %}