diff options
author | Jeremy Plsek <jeremyplsek@gmail.com> | 2019-12-19 12:58:33 -0500 |
---|---|---|
committer | Jeremy Plsek <jeremyplsek@gmail.com> | 2019-12-19 12:58:33 -0500 |
commit | 30a535d7e9bdc0e3cf637207c0c100a16db81586 (patch) | |
tree | 2a7c3a968d95c29a661620095d889f6484169fec /src/templates/account | |
parent | edf4d6729b94258f8b404684703984b724c45c8f (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.html | 165 | ||||
-rw-r--r-- | src/templates/account/configuration_list.html | 22 | ||||
-rw-r--r-- | src/templates/account/image_list.html | 45 | ||||
-rw-r--r-- | src/templates/account/resource_list.html | 18 | ||||
-rw-r--r-- | src/templates/account/userprofile_update_form.html | 46 |
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 %} |