ci: add djlint to ci (#763)

* ci: add djlint to ci

* lint: all django templates
This commit is contained in:
Sebastien Stettler 2024-02-06 21:35:36 +08:00 committed by GitHub
parent ae76ef3606
commit f30479db42
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
124 changed files with 1827 additions and 1861 deletions

View File

@ -34,4 +34,5 @@ mkdocs = "*"
mkdocs-material = "*" mkdocs-material = "*"
tblib = "*" tblib = "*"
black = "*" black = "*"
djlint = "*"
pysnooper = "*" pysnooper = "*"

View File

@ -1,9 +1,9 @@
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
<!--[if lt IE 9]><script language="javascript" type="text/javascript" src="//html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]--> <!--[if lt IE 9]><script language="javascript" type="text/javascript" src="//html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
<meta charset="UTF-8"> <meta charset="UTF-8">
<style> <style>
html { html {
font-size: 100%; font-size: 100%;
-webkit-text-size-adjust: 100%; -webkit-text-size-adjust: 100%;
@ -188,9 +188,10 @@
/* Uncomment for 3D effect */ /* Uncomment for 3D effect */
/* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */ /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
} }
</style> </style>
<link rel="stylesheet" href="css/animation.css"><!--[if IE 7]><link rel="stylesheet" href="css/" + font.fontname + "-ie7.css"><![endif]--> <link rel="stylesheet" href="css/animation.css">
<script> <!--[if IE 7]><link rel="stylesheet" href="css/" + font.fontname + "-ie7.css"><![endif]-->
<script>
function toggleCodes(on) { function toggleCodes(on) {
var obj = document.getElementById('icons'); var obj = document.getElementById('icons');
@ -200,162 +201,167 @@
obj.className = obj.className.replace(' codesOn', ''); obj.className = obj.className.replace(' codesOn', '');
} }
} }
</script> </script>
</head> </head>
<body> <body>
<div class="container header"> <div class="container header">
<h1>babybuddy <small>font demo</small></h1> <h1>
<label class="switch"> babybuddy <small>font demo</small>
<input type="checkbox" onclick="toggleCodes(this.checked)">show codes </h1>
</label> <label class="switch">
</div> <input type="checkbox" onclick="toggleCodes(this.checked)">
<div class="container" id="icons"> show codes
<div class="row"> </label>
<div class="span3" title="Code: 0xe800">
<i class="demo-icon icon-add">&#xe800;</i> <span class="i-name">icon-add</span><span class="i-code">0xe800</span>
</div> </div>
<div class="span3" title="Code: 0xe801"> <div class="container" id="icons">
<i class="demo-icon icon-camera">&#xe801;</i> <span class="i-name">icon-camera</span><span class="i-code">0xe801</span> <div class="row">
<div class="span3" title="Code: 0xe800">
<i class="demo-icon icon-add">&#xe800;</i> <span class="i-name">icon-add</span><span class="i-code">0xe800</span>
</div>
<div class="span3" title="Code: 0xe801">
<i class="demo-icon icon-camera">&#xe801;</i> <span class="i-name">icon-camera</span><span class="i-code">0xe801</span>
</div>
<div class="span3" title="Code: 0xe802">
<i class="demo-icon icon-chat">&#xe802;</i> <span class="i-name">icon-chat</span><span class="i-code">0xe802</span>
</div>
<div class="span3" title="Code: 0xe803">
<i class="demo-icon icon-delete">&#xe803;</i> <span class="i-name">icon-delete</span><span class="i-code">0xe803</span>
</div>
</div>
<div class="row">
<div class="span3" title="Code: 0xe804">
<i class="demo-icon icon-mail">&#xe804;</i> <span class="i-name">icon-mail</span><span class="i-code">0xe804</span>
</div>
<div class="span3" title="Code: 0xe805">
<i class="demo-icon icon-false">&#xe805;</i> <span class="i-name">icon-false</span><span class="i-code">0xe805</span>
</div>
<div class="span3" title="Code: 0xe806">
<i class="demo-icon icon-graph">&#xe806;</i> <span class="i-name">icon-graph</span><span class="i-code">0xe806</span>
</div>
<div class="span3" title="Code: 0xe807">
<i class="demo-icon icon-list">&#xe807;</i> <span class="i-name">icon-list</span><span class="i-code">0xe807</span>
</div>
</div>
<div class="row">
<div class="span3" title="Code: 0xe808">
<i class="demo-icon icon-lock">&#xe808;</i> <span class="i-name">icon-lock</span><span class="i-code">0xe808</span>
</div>
<div class="span3" title="Code: 0xe809">
<i class="demo-icon icon-refresh">&#xe809;</i> <span class="i-name">icon-refresh</span><span class="i-code">0xe809</span>
</div>
<div class="span3" title="Code: 0xe80a">
<i class="demo-icon icon-stop">&#xe80a;</i> <span class="i-name">icon-stop</span><span class="i-code">0xe80a</span>
</div>
<div class="span3" title="Code: 0xe80b">
<i class="demo-icon icon-timer">&#xe80b;</i> <span class="i-name">icon-timer</span><span class="i-code">0xe80b</span>
</div>
</div>
<div class="row">
<div class="span3" title="Code: 0xe80c">
<i class="demo-icon icon-true">&#xe80c;</i> <span class="i-name">icon-true</span><span class="i-code">0xe80c</span>
</div>
<div class="span3" title="Code: 0xe80d">
<i class="demo-icon icon-update">&#xe80d;</i> <span class="i-name">icon-update</span><span class="i-code">0xe80d</span>
</div>
<div class="span3" title="Code: 0xe80e">
<i class="demo-icon icon-user">&#xe80e;</i> <span class="i-name">icon-user</span><span class="i-code">0xe80e</span>
</div>
<div class="span3" title="Code: 0xe80f">
<i class="demo-icon icon-clock">&#xe80f;</i> <span class="i-name">icon-clock</span><span class="i-code">0xe80f</span>
</div>
</div>
<div class="row">
<div class="span3" title="Code: 0xe810">
<i class="demo-icon icon-calendar">&#xe810;</i> <span class="i-name">icon-calendar</span><span class="i-code">0xe810</span>
</div>
<div class="span3" title="Code: 0xe811">
<i class="demo-icon icon-arrow-up">&#xe811;</i> <span class="i-name">icon-arrow-up</span><span class="i-code">0xe811</span>
</div>
<div class="span3" title="Code: 0xe812">
<i class="demo-icon icon-arrow-down">&#xe812;</i> <span class="i-name">icon-arrow-down</span><span class="i-code">0xe812</span>
</div>
<div class="span3" title="Code: 0xe813">
<i class="demo-icon icon-cancel">&#xe813;</i> <span class="i-name">icon-cancel</span><span class="i-code">0xe813</span>
</div>
</div>
<div class="row">
<div class="span3" title="Code: 0xe814">
<i class="demo-icon icon-head-circumference">&#xe814;</i> <span class="i-name">icon-head-circumference</span><span class="i-code">0xe814</span>
</div>
<div class="span3" title="Code: 0xe815">
<i class="demo-icon icon-measurements">&#xe815;</i> <span class="i-name">icon-measurements</span><span class="i-code">0xe815</span>
</div>
<div class="span3" title="Code: 0xf044">
<i class="demo-icon icon-height">&#xf044;</i> <span class="i-name">icon-height</span><span class="i-code">0xf044</span>
</div>
<div class="span3" title="Code: 0xf0e4">
<i class="demo-icon icon-dashboard">&#xf0e4;</i> <span class="i-name">icon-dashboard</span><span class="i-code">0xf0e4</span>
</div>
</div>
<div class="row">
<div class="span3" title="Code: 0xf118">
<i class="demo-icon icon-tummytime">&#xf118;</i> <span class="i-name">icon-tummytime</span><span class="i-code">0xf118</span>
</div>
<div class="span3" title="Code: 0xf119">
<i class="demo-icon icon-sad">&#xf119;</i> <span class="i-name">icon-sad</span><span class="i-code">0xf119</span>
</div>
<div class="span3" title="Code: 0xf126">
<i class="demo-icon icon-source">&#xf126;</i> <span class="i-name">icon-source</span><span class="i-code">0xf126</span>
</div>
<div class="span3" title="Code: 0xf137">
<i class="demo-icon icon-angle-circled-left">&#xf137;</i> <span class="i-name">icon-angle-circled-left</span><span class="i-code">0xf137</span>
</div>
</div>
<div class="row">
<div class="span3" title="Code: 0xf138">
<i class="demo-icon icon-angle-circled-right">&#xf138;</i> <span class="i-name">icon-angle-circled-right</span><span class="i-code">0xf138</span>
</div>
<div class="span3" title="Code: 0xf1ae">
<i class="demo-icon icon-child">&#xf1ae;</i> <span class="i-name">icon-child</span><span class="i-code">0xf1ae</span>
</div>
<div class="span3" title="Code: 0xf1b1">
<i class="demo-icon icon-feeding">&#xf1b1;</i> <span class="i-name">icon-feeding</span><span class="i-code">0xf1b1</span>
</div>
<div class="span3" title="Code: 0xf1b3">
<i class="demo-icon icon-activities">&#xf1b3;</i> <span class="i-name">icon-activities</span><span class="i-code">0xf1b3</span>
</div>
</div>
<div class="row">
<div class="span3" title="Code: 0xf1da">
<i class="demo-icon icon-timeline">&#xf1da;</i> <span class="i-name">icon-timeline</span><span class="i-code">0xf1da</span>
</div>
<div class="span3" title="Code: 0xf1f8">
<i class="demo-icon icon-diaperchange">&#xf1f8;</i> <span class="i-name">icon-diaperchange</span><span class="i-code">0xf1f8</span>
</div>
<div class="span3" title="Code: 0xf236">
<i class="demo-icon icon-sleep">&#xf236;</i> <span class="i-name">icon-sleep</span><span class="i-code">0xf236</span>
</div>
<div class="span3" title="Code: 0xf249">
<i class="demo-icon icon-note">&#xf249;</i> <span class="i-name">icon-note</span><span class="i-code">0xf249</span>
</div>
</div>
<div class="row">
<div class="span3" title="Code: 0xf24e">
<i class="demo-icon icon-weight">&#xf24e;</i> <span class="i-name">icon-weight</span><span class="i-code">0xf24e</span>
</div>
<div class="span3" title="Code: 0xf274">
<i class="demo-icon icon-today">&#xf274;</i> <span class="i-name">icon-today</span><span class="i-code">0xf274</span>
</div>
<div class="span3" title="Code: 0xf295">
<i class="demo-icon icon-bmi">&#xf295;</i> <span class="i-name">icon-bmi</span><span class="i-code">0xf295</span>
</div>
<div class="span3" title="Code: 0xf2c8">
<i class="demo-icon icon-temperature">&#xf2c8;</i> <span class="i-name">icon-temperature</span><span class="i-code">0xf2c8</span>
</div>
</div>
<div class="row">
<div class="span3" title="Code: 0xf4a7">
<i class="demo-icon icon-pumping">&#xf4a7;</i> <span class="i-name">icon-pumping</span><span class="i-code">0xf4a7</span>
</div>
</div>
</div> </div>
<div class="span3" title="Code: 0xe802"> <div class="container footer">
<i class="demo-icon icon-chat">&#xe802;</i> <span class="i-name">icon-chat</span><span class="i-code">0xe802</span> Generated by <a href="https://fontello.com">fontello.com</a>
</div> </div>
<div class="span3" title="Code: 0xe803"> </body>
<i class="demo-icon icon-delete">&#xe803;</i> <span class="i-name">icon-delete</span><span class="i-code">0xe803</span>
</div>
</div>
<div class="row">
<div class="span3" title="Code: 0xe804">
<i class="demo-icon icon-mail">&#xe804;</i> <span class="i-name">icon-mail</span><span class="i-code">0xe804</span>
</div>
<div class="span3" title="Code: 0xe805">
<i class="demo-icon icon-false">&#xe805;</i> <span class="i-name">icon-false</span><span class="i-code">0xe805</span>
</div>
<div class="span3" title="Code: 0xe806">
<i class="demo-icon icon-graph">&#xe806;</i> <span class="i-name">icon-graph</span><span class="i-code">0xe806</span>
</div>
<div class="span3" title="Code: 0xe807">
<i class="demo-icon icon-list">&#xe807;</i> <span class="i-name">icon-list</span><span class="i-code">0xe807</span>
</div>
</div>
<div class="row">
<div class="span3" title="Code: 0xe808">
<i class="demo-icon icon-lock">&#xe808;</i> <span class="i-name">icon-lock</span><span class="i-code">0xe808</span>
</div>
<div class="span3" title="Code: 0xe809">
<i class="demo-icon icon-refresh">&#xe809;</i> <span class="i-name">icon-refresh</span><span class="i-code">0xe809</span>
</div>
<div class="span3" title="Code: 0xe80a">
<i class="demo-icon icon-stop">&#xe80a;</i> <span class="i-name">icon-stop</span><span class="i-code">0xe80a</span>
</div>
<div class="span3" title="Code: 0xe80b">
<i class="demo-icon icon-timer">&#xe80b;</i> <span class="i-name">icon-timer</span><span class="i-code">0xe80b</span>
</div>
</div>
<div class="row">
<div class="span3" title="Code: 0xe80c">
<i class="demo-icon icon-true">&#xe80c;</i> <span class="i-name">icon-true</span><span class="i-code">0xe80c</span>
</div>
<div class="span3" title="Code: 0xe80d">
<i class="demo-icon icon-update">&#xe80d;</i> <span class="i-name">icon-update</span><span class="i-code">0xe80d</span>
</div>
<div class="span3" title="Code: 0xe80e">
<i class="demo-icon icon-user">&#xe80e;</i> <span class="i-name">icon-user</span><span class="i-code">0xe80e</span>
</div>
<div class="span3" title="Code: 0xe80f">
<i class="demo-icon icon-clock">&#xe80f;</i> <span class="i-name">icon-clock</span><span class="i-code">0xe80f</span>
</div>
</div>
<div class="row">
<div class="span3" title="Code: 0xe810">
<i class="demo-icon icon-calendar">&#xe810;</i> <span class="i-name">icon-calendar</span><span class="i-code">0xe810</span>
</div>
<div class="span3" title="Code: 0xe811">
<i class="demo-icon icon-arrow-up">&#xe811;</i> <span class="i-name">icon-arrow-up</span><span class="i-code">0xe811</span>
</div>
<div class="span3" title="Code: 0xe812">
<i class="demo-icon icon-arrow-down">&#xe812;</i> <span class="i-name">icon-arrow-down</span><span class="i-code">0xe812</span>
</div>
<div class="span3" title="Code: 0xe813">
<i class="demo-icon icon-cancel">&#xe813;</i> <span class="i-name">icon-cancel</span><span class="i-code">0xe813</span>
</div>
</div>
<div class="row">
<div class="span3" title="Code: 0xe814">
<i class="demo-icon icon-head-circumference">&#xe814;</i> <span class="i-name">icon-head-circumference</span><span class="i-code">0xe814</span>
</div>
<div class="span3" title="Code: 0xe815">
<i class="demo-icon icon-measurements">&#xe815;</i> <span class="i-name">icon-measurements</span><span class="i-code">0xe815</span>
</div>
<div class="span3" title="Code: 0xf044">
<i class="demo-icon icon-height">&#xf044;</i> <span class="i-name">icon-height</span><span class="i-code">0xf044</span>
</div>
<div class="span3" title="Code: 0xf0e4">
<i class="demo-icon icon-dashboard">&#xf0e4;</i> <span class="i-name">icon-dashboard</span><span class="i-code">0xf0e4</span>
</div>
</div>
<div class="row">
<div class="span3" title="Code: 0xf118">
<i class="demo-icon icon-tummytime">&#xf118;</i> <span class="i-name">icon-tummytime</span><span class="i-code">0xf118</span>
</div>
<div class="span3" title="Code: 0xf119">
<i class="demo-icon icon-sad">&#xf119;</i> <span class="i-name">icon-sad</span><span class="i-code">0xf119</span>
</div>
<div class="span3" title="Code: 0xf126">
<i class="demo-icon icon-source">&#xf126;</i> <span class="i-name">icon-source</span><span class="i-code">0xf126</span>
</div>
<div class="span3" title="Code: 0xf137">
<i class="demo-icon icon-angle-circled-left">&#xf137;</i> <span class="i-name">icon-angle-circled-left</span><span class="i-code">0xf137</span>
</div>
</div>
<div class="row">
<div class="span3" title="Code: 0xf138">
<i class="demo-icon icon-angle-circled-right">&#xf138;</i> <span class="i-name">icon-angle-circled-right</span><span class="i-code">0xf138</span>
</div>
<div class="span3" title="Code: 0xf1ae">
<i class="demo-icon icon-child">&#xf1ae;</i> <span class="i-name">icon-child</span><span class="i-code">0xf1ae</span>
</div>
<div class="span3" title="Code: 0xf1b1">
<i class="demo-icon icon-feeding">&#xf1b1;</i> <span class="i-name">icon-feeding</span><span class="i-code">0xf1b1</span>
</div>
<div class="span3" title="Code: 0xf1b3">
<i class="demo-icon icon-activities">&#xf1b3;</i> <span class="i-name">icon-activities</span><span class="i-code">0xf1b3</span>
</div>
</div>
<div class="row">
<div class="span3" title="Code: 0xf1da">
<i class="demo-icon icon-timeline">&#xf1da;</i> <span class="i-name">icon-timeline</span><span class="i-code">0xf1da</span>
</div>
<div class="span3" title="Code: 0xf1f8">
<i class="demo-icon icon-diaperchange">&#xf1f8;</i> <span class="i-name">icon-diaperchange</span><span class="i-code">0xf1f8</span>
</div>
<div class="span3" title="Code: 0xf236">
<i class="demo-icon icon-sleep">&#xf236;</i> <span class="i-name">icon-sleep</span><span class="i-code">0xf236</span>
</div>
<div class="span3" title="Code: 0xf249">
<i class="demo-icon icon-note">&#xf249;</i> <span class="i-name">icon-note</span><span class="i-code">0xf249</span>
</div>
</div>
<div class="row">
<div class="span3" title="Code: 0xf24e">
<i class="demo-icon icon-weight">&#xf24e;</i> <span class="i-name">icon-weight</span><span class="i-code">0xf24e</span>
</div>
<div class="span3" title="Code: 0xf274">
<i class="demo-icon icon-today">&#xf274;</i> <span class="i-name">icon-today</span><span class="i-code">0xf274</span>
</div>
<div class="span3" title="Code: 0xf295">
<i class="demo-icon icon-bmi">&#xf295;</i> <span class="i-name">icon-bmi</span><span class="i-code">0xf295</span>
</div>
<div class="span3" title="Code: 0xf2c8">
<i class="demo-icon icon-temperature">&#xf2c8;</i> <span class="i-name">icon-temperature</span><span class="i-code">0xf2c8</span>
</div>
</div>
<div class="row">
<div class="span3" title="Code: 0xf4a7">
<i class="demo-icon icon-pumping">&#xf4a7;</i> <span class="i-name">icon-pumping</span><span class="i-code">0xf4a7</span>
</div>
</div>
</div>
<div class="container footer">Generated by <a href="https://fontello.com">fontello.com</a></div>
</body>
</html> </html>

View File

@ -1,10 +1,11 @@
{% extends "admin/base.html" %} {% extends "admin/base.html" %}
{% load i18n %} {% load i18n %}
{% block title %}
{% block title %}{{ title }} | {% trans "Database Admin"%}{% endblock %} {{ title }} | {% trans "Database Admin" %}
{% endblock %}
{% block branding %} {% block branding %}
<h1 id="site-name"><a href="{% url 'admin:index' %}">{% trans "Database Admin"%}</a></h1> <h1 id="site-name">
<a href="{% url 'admin:index' %}">{% trans "Database Admin" %}</a>
</h1>
{% endblock %} {% endblock %}
{% block nav-global %}{% endblock %} {% block nav-global %}{% endblock %}

View File

@ -2,51 +2,48 @@
{% get_current_language as LANGUAGE_CODE %} {% get_current_language as LANGUAGE_CODE %}
{% get_current_locale as LOCALE %} {% get_current_locale as LOCALE %}
{% get_current_timezone as TIMEZONE %} {% get_current_timezone as TIMEZONE %}
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en" data-bs-theme="dark"> <html lang="en" data-bs-theme="dark">
<head> <head>
<meta charset="utf-8" /> <meta charset="utf-8" />
<title>{% block title %}{% endblock %} | Baby Buddy</title> <title>
<link rel="apple-touch-icon" sizes="180x180" href="{% static "babybuddy/root/apple-touch-icon.png" %}?v=20211218" /> {% block title %}{% endblock %}
<link rel="apple-touch-startup-image" href="{% static "babybuddy/root/apple-touch-startup-image.png" %}?v=20211218" /> | Baby Buddy</title>
<link rel="icon" type="image/svg+xml" href="{% static "babybuddy/root/favicon.svg" %}?v=20210925" /> <link rel="apple-touch-icon" sizes="180x180" href="{% static "babybuddy/root/apple-touch-icon.png" %}?v=20211218" />
<link rel="manifest" href="{% static "babybuddy/root/site.webmanifest" %}?v=20211225" /> <link rel="apple-touch-startup-image" href="{% static "babybuddy/root/apple-touch-startup-image.png" %}?v=20211218" />
<link rel="mask-icon" href="{% static "babybuddy/root/safari-pinned-tab.svg" %}?v=20211218" color="#37abe9" /> <link rel="icon" type="image/svg+xml" href="{% static "babybuddy/root/favicon.svg" %}?v=20210925" />
<link rel="shortcut icon" href="{% static "babybuddy/root/favicon.ico" %}?v=20211218" /> <link rel="manifest" href="{% static "babybuddy/root/site.webmanifest" %}?v=20211225" />
<link rel="stylesheet" href="{% static "babybuddy/css/app.css" %}" /> <link rel="mask-icon" href="{% static "babybuddy/root/safari-pinned-tab.svg" %}?v=20211218" color="#37abe9" />
<meta name="apple-mobile-web-app-capable" content="yes" /> <link rel="shortcut icon" href="{% static "babybuddy/root/favicon.ico" %}?v=20211218" />
<meta name="apple-mobile-web-app-title" content="Baby Buddy" /> <link rel="stylesheet" href="{% static "babybuddy/css/app.css" %}" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" /> <meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="application-name" content="Baby Buddy" /> <meta name="apple-mobile-web-app-title" content="Baby Buddy" />
<meta name="mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-status-bar-style" content="black" />
<meta name="msapplication-navbutton-color" content="#37abe9"> <meta name="application-name" content="Baby Buddy" />
<meta name="msapplication-starturl" content="/"> <meta name="mobile-web-app-capable" content="yes">
<meta name="msapplication-TileColor" content="#37abe9" /> <meta name="msapplication-navbutton-color" content="#37abe9">
<meta name="theme-color" content="#37abe9" /> <meta name="msapplication-starturl" content="/">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" /> <meta name="msapplication-TileColor" content="#37abe9" />
</head> <meta name="theme-color" content="#37abe9" />
<body> <meta name="viewport"
content="width=device-width, initial-scale=1, shrink-to-fit=no" />
{% block nav %}{% endblock %} </head>
<body>
{% block breadcrumb_nav %} {% block nav %}{% endblock %}
<nav aria-label="breadcrumb" role="navigation"> {% block breadcrumb_nav %}
<ol class="breadcrumb"> <nav aria-label="breadcrumb" role="navigation">
<li class="breadcrumb-item"><a href={% url "babybuddy:root-router" %}>{% trans "Home" %}</a></li> <ol class="breadcrumb">
{% block breadcrumbs %}{% endblock %} <li class="breadcrumb-item">
</ol> <a href={% url "babybuddy:root-router" %}>{% trans "Home" %}</a>
</nav> </li>
{% endblock %} {% block breadcrumbs %}{% endblock %}
</ol>
{% block page %}{% endblock %} </nav>
{% endblock %}
<script src="{% static "babybuddy/js/vendor.js" %}"></script> {% block page %}{% endblock %}
<script src="{% static "babybuddy/js/app.js" %}"></script> <script src="{% static "babybuddy/js/vendor.js" %}"></script>
{% if user.is_authenticated %} <script src="{% static "babybuddy/js/app.js" %}"></script>
<script>BabyBuddy.PullToRefresh.init()</script> {% if user.is_authenticated %}<script>BabyBuddy.PullToRefresh.init()</script>{% endif %}
{% endif %} {% block javascript %}{% endblock %}
</body>
{% block javascript %}{% endblock %}
</body>
</html> </html>

View File

@ -1,11 +1,13 @@
{% load i18n widget_tweaks %} {% load i18n widget_tweaks %}
<form id="filter_form"
<form id="filter_form" role="form" action="" method="get" class="collapse{% if request.GET.filtered %} show{% endif %}"> role="form"
action=""
method="get"
class="collapse{% if request.GET.filtered %} show{% endif %}">
<div class="form-group form-row"> <div class="form-group form-row">
{% for field in filter.form %} {% for field in filter.form %}
<label for="id_{{ field.name }}" class="col-xs-2 col-sm-auto col-form-label col-form-label-sm"> <label for="id_{{ field.name }}"
{{ field.label }} class="col-xs-2 col-sm-auto col-form-label col-form-label-sm">{{ field.label }}</label>
</label>
<div class="col-xs-10 col-sm-auto"> <div class="col-xs-10 col-sm-auto">
{% if 'choice' or 'boolean' in field|field_type %} {% if 'choice' or 'boolean' in field|field_type %}
{{ field|add_class:"form-select form-select-sm" }} {{ field|add_class:"form-select form-select-sm" }}
@ -19,16 +21,13 @@
<a href="{{ request.path }}" class="btn btn-sm btn-error">{% trans "Reset" %}</a> <a href="{{ request.path }}" class="btn btn-sm btn-error">{% trans "Reset" %}</a>
</div> </div>
</div> </div>
<input type="hidden" name="filtered" value="1"/> <input type="hidden" name="filtered" value="1" />
</form> </form>
<p> <p>
<a class="btn btn btn-sm" <a class="btn btn btn-sm"
data-bs-toggle="collapse" data-bs-toggle="collapse"
href="#filter_form" href="#filter_form"
role="button" role="button"
aria-expanded="false" aria-expanded="false"
aria-controls="filter_form"> aria-controls="filter_form">{% trans "Filters" %}</a>
{% trans "Filters" %}
</a>
</p> </p>

View File

@ -1,5 +1,4 @@
{% load i18n widget_tweaks %} {% load i18n widget_tweaks %}
{# Load any form-javascript files #} {# Load any form-javascript files #}
{{ form.media.js }} {{ form.media.js }}
<div class="container-fluid pb-5"> <div class="container-fluid pb-5">
@ -7,9 +6,7 @@
{% csrf_token %} {% csrf_token %}
{% for field in form %} {% for field in form %}
{{ field.widget }} {{ field.widget }}
<div class="row"> <div class="row">{% include 'babybuddy/form_field.html' %}</div>
{% include 'babybuddy/form_field.html' %}
</div>
{% endfor %} {% endfor %}
<button type="submit" class="submit-primary btn btn-primary btn-lg">{% trans "Submit" %}</button> <button type="submit" class="submit-primary btn btn-primary btn-lg">{% trans "Submit" %}</button>
</form> </form>

View File

@ -1,7 +1,7 @@
{% load widget_tweaks %} {% load widget_tweaks %}
<div class="row mb-3"> <div class="row mb-3">
<label for="id_{{ field.name }}" class="col-sm-2 col-form-label{% if field|field_type == 'booleanfield' %} boolean-label{% endif %}"> <label for="id_{{ field.name }}"
class="col-sm-2 col-form-label{% if field|field_type == 'booleanfield' %} boolean-label{% endif %}">
{{ field.label }} {{ field.label }}
</label> </label>
<div class="col-sm-10{% if field|widget_type == 'childradioselect' %} overflow-auto"{% endif %}"> <div class="col-sm-10{% if field|widget_type == 'childradioselect' %} overflow-auto"{% endif %}">
@ -11,9 +11,7 @@
{% else %} {% else %}
{{ field|add_class:"btn-check" }} {{ field|add_class:"btn-check" }}
{% endif %} {% endif %}
<label for="id_{{ field.name }}" class="btn btn-outline-light btn-no-hover"> <label for="id_{{ field.name }}" class="btn btn-outline-light btn-no-hover">{{ field.label }}</label>
{{ field.label }}
</label>
{% elif 'choice' in field|field_type %} {% elif 'choice' in field|field_type %}
{% if field.errors %} {% if field.errors %}
{{ field|add_class:"form-select is-invalid" }} {{ field|add_class:"form-select is-invalid" }}
@ -28,10 +26,14 @@
{% endif %} {% endif %}
{% endif %} {% endif %}
{% if field.help_text %} {% if field.help_text %}
<div class="help-block"><small>{{ field.help_text }}</small></div> <div class="help-block">
<small>{{ field.help_text }}</small>
</div>
{% endif %} {% endif %}
{% if field.errors %} {% if field.errors %}
<div class="invalid-feedback">{% for error in field.errors %}{{ error }}{% endfor %}</div> <div class="invalid-feedback">
{% for error in field.errors %}{{ error }}{% endfor %}
</div>
{% endif %} {% endif %}
</div> </div>
</div> </div>

View File

@ -1,11 +1,14 @@
{% load i18n %} {% load i18n %}
{% block messages %} {% block messages %}
{% if messages %} {% if messages %}
{% for message in messages %} {% for message in messages %}
<div class="alert{% if message.tags %} alert-{{ message.tags }}{% endif %} alert-dismissible fade show" role="alert"> <div class="alert{% if message.tags %} alert-{{ message.tags }}{% endif %} alert-dismissible fade show"
role="alert">
{{ message }} {{ message }}
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button> <button type="button"
class="btn-close"
data-bs-dismiss="alert"
aria-label="Close"></button>
</div> </div>
{% endfor %} {% endfor %}
{% endif %} {% endif %}
@ -18,7 +21,7 @@
{% endfor %} {% endfor %}
{% elif form.errors %} {% elif form.errors %}
<div class="alert alert-danger" role="alert"> <div class="alert alert-danger" role="alert">
{% blocktrans trimmed%} {% blocktrans trimmed %}
<strong>Error:</strong> Some fields have errors. See below <strong>Error:</strong> Some fields have errors. See below
for details. for details.
{% endblocktrans %} {% endblocktrans %}

View File

@ -1,369 +1,343 @@
{% extends 'babybuddy/base.html' %} {% extends 'babybuddy/base.html' %}
{% load babybuddy i18n static timers %} {% load babybuddy i18n static timers %}
{% block nav %} {% block nav %}
<nav class="navbar navbar-expand-md navbar bg-dark sticky-top"> <nav class="navbar navbar-expand-md navbar bg-dark sticky-top">
<div class="container-fluid"> <div class="container-fluid">
<a class="navbar-brand me-2" href={% url "babybuddy:root-router" %}> <a class="navbar-brand me-2" href={% url "babybuddy:root-router" %}>
<img src="{% static "babybuddy/logo/icon-brand.png" %}" width="30" height="30" <img src="{% static "babybuddy/logo/icon-brand.png" %}" width="30" height="30" class="d-inline-block align-top" alt="">
class="d-inline-block align-top" alt="">
<span class="d-none d-lg-inline-block"> <span class="d-none d-lg-inline-block">
<span class="text-primary">Baby</span> Buddy <span class="text-primary">Baby</span> Buddy
</span> </span>
</a> </a>
<div class="d-lg-none d-md-none d-flex me-auto p-0 ms-2"> <div class="d-lg-none d-md-none d-flex me-auto p-0 ms-2">
<div> <div>
<a class="text-body-secondary" <a class="text-body-secondary"
href="{% url 'dashboard:dashboard' %}" href="{% url 'dashboard:dashboard' %}"
aria-expanded="false"><i class="icon-2x icon-dashboard" aria-hidden="true"></i> aria-expanded="false"><i class="icon-2x icon-dashboard" aria-hidden="true"></i>
</a> </a>
&nbsp; &nbsp;
</div>
<div>
<a class="text-body-secondary"
href="{% url 'core:timeline' %}"
aria-expanded="false"><i class="icon-2x icon-timeline" aria-hidden="true"></i>
</a>
&nbsp;
</div>
</div>
<div class="d-lg-none d-md-none d-flex ms-auto p-0 me-2">
{% quick_timer_nav %}
<div class="dropdown show">
<a class="text-success"
href="#"
role="button"
id="nav-quick-add-link"
data-bs-toggle="dropdown"
aria-haspopup="true"
aria-expanded="false"><i class="icon-2x icon-add" aria-hidden="true"></i>
</a>
<div class="dropdown-menu dropdown-menu-end" aria-labelledby="nav-quick-add-link">
{% if perms.core.add_diaperchange %}
<a class="dropdown-item p-2" href="{% url 'core:diaperchange-add' %}">
<i class="icon-diaperchange" aria-hidden="true"></i>
{% trans "Diaper Change" %}
</a>
{% endif %}
{% if perms.core.add_feeding %}
<a class="dropdown-item p-2" href="{% url 'core:feeding-add' %}">
<i class="icon-feeding" aria-hidden="true"></i>
{% trans "Feeding" %}
</a>
{% endif %}
{% if perms.core.add_pumping %}
<a class="dropdown-item p-2" href="{% url 'core:pumping-add' %}">
<i class="icon-pumping" aria-hidden="true"></i>
{% trans "Pumping" %}
</a>
{% endif %}
{% if perms.core.add_note %}
<a class="dropdown-item p-2" href="{% url 'core:note-add' %}">
<i class="icon-note" aria-hidden="true"></i>
{% trans "Note" %}
</a>
{% endif %}
{% if perms.core.add_sleep %}
<a class="dropdown-item p-2" href="{% url 'core:sleep-add' %}">
<i class="icon-sleep" aria-hidden="true"></i>
{% trans "Sleep" %}
</a>
{% endif %}
{% if perms.core.add_tummytime %}
<a class="dropdown-item p-2" href="{% url 'core:tummytime-add' %}">
<i class="icon-tummytime" aria-hidden="true"></i>
{% trans "Tummy Time" %}
</a>
{% endif %}
</div>
</div>
</div>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse"
data-bs-target="#navbar-app" aria-controls="navbar-app"
aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbar-app">
<ul class="navbar-nav me-auto">
<li class="nav-item{% if request.path == '/' %} active{% endif %}">
<a class="nav-link" href="{% url 'dashboard:dashboard' %}">
<i class="icon-dashboard" aria-hidden="true"></i>
{% trans "Dashboard" %}
</a>
</li>
<li class="nav-item{% if request.path == '/timeline' %} active{% endif %}">
<a class="nav-link" href="{% url 'core:timeline' %}">
<i class="icon-timeline" aria-hidden="true"></i>
{% trans "Timeline" %}
</a>
</li>
<li class="nav-item dropdown">
<a id="nav-children-menu-link"
class="nav-link dropdown-toggle"
href="#"
data-bs-toggle="dropdown"
aria-haspopup="true"
aria-expanded="false"><i class="icon-child" aria-hidden="true"></i>
{% trans "Children" %}
</a>
<div class="dropdown-menu" aria-labelledby="nav-children-menu-link">
{% if perms.core.view_child %}
<a class="dropdown-item{% if request.path == '/children/' %} active{% endif %}"
href="{% url 'core:child-list' %}">
<i class="icon-child" aria-hidden="true"></i>
{% trans "Children" %}
</a>
{% endif %}
{% if perms.core.add_child %}
<a class="dropdown-item ps-5{% if request.path == '/children/add/' %} active{% endif %}"
href="{% url 'core:child-add' %}"><i class="icon-add" aria-hidden="true"></i>
{% trans "Child" %}
</a>
{% endif %}
{% if perms.core.view_note %}
<a class="dropdown-item{% if request.path == '/notes/' %} active{% endif %}"
href="{% url 'core:note-list' %}">
<i class="icon-note" aria-hidden="true"></i>
{% trans "Notes" %}
</a>
{% endif %}
{% if perms.core.add_note %}
<a class="dropdown-item ps-5{% if request.path == '/notes/add/' %} active{% endif %}"
href="{% url 'core:note-add' %}"><i class="icon-add" aria-hidden="true"></i>
{% trans "Note" %}
</a>
{% endif %}
</div>
</li>
<li class="nav-item dropdown">
<a id="nav-measurements-menu-link"
class="nav-link dropdown-toggle"
href="#"
data-bs-toggle="dropdown"
aria-haspopup="true"
aria-expanded="false"><i class="icon-measurements" aria-hidden="true"></i>
{% trans "Measurements" %}
</a>
<div class="dropdown-menu" aria-labelledby="nav-measurements-menu-link">
{% if perms.core.view_bmi %}
<a class="dropdown-item{% if request.path == '/bmi/' %} active{% endif %}"
href="{% url 'core:bmi-list' %}">
<i class="icon-bmi" aria-hidden="true"></i>
{% trans "BMI" %}
</a>
{% endif %}
{% if perms.core.add_bmi %}
<a class="dropdown-item ps-5{% if request.path == '/bmi/add/' %} active{% endif %}"
href="{% url 'core:bmi-add' %}"><i class="icon-add" aria-hidden="true"></i>
{% trans "BMI entry" %}
</a>
{% endif %}
{% if perms.core.view_head_circumference %}
<a class="dropdown-item{% if request.path == '/head-circumference/' %} active{% endif %}"
href="{% url 'core:head-circumference-list' %}">
<i class="icon-head-circumference" aria-hidden="true"></i>
{% trans "Head Circumference" %}
</a>
{% endif %}
{% if perms.core.add_head_circumference %}
<a class="dropdown-item ps-5{% if request.path == '/head-circumference/add/' %} active{% endif %}"
href="{% url 'core:head-circumference-add' %}"><i class="icon-add" aria-hidden="true"></i>
{% trans "Head Circumference entry" %}
</a>
{% endif %}
{% if perms.core.view_height %}
<a class="dropdown-item{% if request.path == '/height/' %} active{% endif %}"
href="{% url 'core:height-list' %}">
<i class="icon-height" aria-hidden="true"></i>
{% trans "Height" %}
</a>
{% endif %}
{% if perms.core.add_height %}
<a class="dropdown-item ps-5{% if request.path == '/height/add/' %} active{% endif %}"
href="{% url 'core:height-add' %}"><i class="icon-add" aria-hidden="true"></i>
{% trans "Height entry" %}
</a>
{% endif %}
{% if perms.core.view_temperature %}
<a class="dropdown-item{% if request.path == '/temperature/' %} active{% endif %}"
href="{% url 'core:temperature-list' %}">
<i class="icon-temperature" aria-hidden="true"></i>
{% trans "Temperature" %}
</a>
{% endif %}
{% if perms.core.add_temperature %}
<a class="dropdown-item ps-5{% if request.path == '/temperature/add/' %} active{% endif %}"
href="{% url 'core:temperature-add' %}"><i class="icon-add" aria-hidden="true"></i>
{% trans "Temperature reading" %}
</a>
{% endif %}
{% if perms.core.view_weight %}
<a class="dropdown-item{% if request.path == '/weight/' %} active{% endif %}"
href="{% url 'core:weight-list' %}">
<i class="icon-weight" aria-hidden="true"></i>
{% trans "Weight" %}
</a>
{% endif %}
{% if perms.core.add_weight %}
<a class="dropdown-item ps-5{% if request.path == '/weight/add/' %} active{% endif %}"
href="{% url 'core:weight-add' %}"><i class="icon-add" aria-hidden="true"></i>
{% trans "Weight entry" %}
</a>
{% endif %}
</div>
</li>
<li class="nav-item dropdown">
<a id="nav-activity-menu-link"
class="nav-link dropdown-toggle"
href="#"
data-bs-toggle="dropdown"
aria-haspopup="true"
aria-expanded="false"><i class="icon-activities" aria-hidden="true"></i>
{% trans "Activities" %}
</a>
<div class="dropdown-menu" aria-labelledby="nav-activity-menu-link">
{% if perms.core.view_diaperchange %}
<a class="dropdown-item{% if request.path == '/changes/' %} active{% endif %}"
href="{% url 'core:diaperchange-list' %}"><i class="icon-diaperchange"
aria-hidden="true"></i>
{% trans "Changes" %}
</a>
{% endif %}
{% if perms.core.add_diaperchange %}
<a class="dropdown-item ps-5{% if request.path == '/changes/add/' %} active{% endif %}"
href="{% url 'core:diaperchange-add' %}"><i class="icon-add" aria-hidden="true"></i>
{% trans "Change" %}
</a>
{% endif %}
{% if perms.core.view_feeding %}
<a class="dropdown-item{% if request.path == '/feedings/' %} active{% endif %}"
href="{% url 'core:feeding-list' %}"><i class="icon-feeding" aria-hidden="true"></i>
{% trans "Feedings" %}
</a>
{% endif %}
{% if perms.core.add_feeding %}
<a class="dropdown-item ps-5{% if request.path == '/feedings/add/' %} active{% endif %}"
href="{% url 'core:feeding-add' %}"><i class="icon-add" aria-hidden="true"></i>
{% trans "Feeding" %}
</a>
{% endif %}
{% if perms.core.add_feeding %}
<a class="dropdown-item ps-5{% if request.path == '/feedings/bottle/add/' %} active{% endif %}"
href="{% url 'core:bottle-feeding-add' %}"><i class="icon-add" aria-hidden="true"></i>
{% trans "Bottle Feeding" %}
</a>
{% endif %}
{% if perms.core.view_pumping %}
<a class="dropdown-item{% if request.path == '/pumping/' %} active{% endif %}"
href="{% url 'core:pumping-list' %}">
<i class="icon-pumping" aria-hidden="true"></i>
{% trans "Pumping" %}
</a>
{% endif %}
{% if perms.core.add_pumping %}
<a class="dropdown-item ps-5{% if request.path == '/pumping/add/' %} active{% endif %}"
href="{% url 'core:pumping-add' %}"><i class="icon-add" aria-hidden="true"></i>
{% trans "Pumping entry" %}
</a>
{% endif %}
{% if perms.core.view_sleep %}
<a class="dropdown-item{% if request.path == '/sleep/' %} active{% endif %}"
href="{% url 'core:sleep-list' %}"><i class="icon-sleep" aria-hidden="true"></i>
{% trans "Sleep" %}
</a>
{% endif %}
{% if perms.core.add_sleep %}
<a class="dropdown-item ps-5{% if request.path == '/sleep/add/' %} active{% endif %}"
href="{% url 'core:sleep-add' %}"><i class="icon-add" aria-hidden="true"></i>
{% trans "Sleep entry" %}
</a>
{% endif %}
{% if perms.core.view_tummytime %}
<a class="dropdown-item{% if request.path == '/tummy-time/' %} active{% endif %}"
href="{% url 'core:tummytime-list' %}"><i class="icon-tummytime"
aria-hidden="true"></i>
{% trans "Tummy Time" %}
</a>
{% endif %}
{% if perms.core.add_tummytime %}
<a class="dropdown-item ps-5{% if request.path == '/tummy-time/add/' %} active{% endif %}"
href="{% url 'core:tummytime-add' %}"><i class="icon-add" aria-hidden="true"></i>
{% trans "Tummy Time entry" %}
</a>
{% endif %}
</div>
</li>
{% if perms.core.view_timer %}
{% timer_nav %}
{% endif %}
</ul>
{% if request.user %}
<ul class="navbar-nav ms-auto">
<li class="nav-item dropdown">
<a id="nav-user-menu-link"
class="nav-link dropdown-toggle"
href="#"
data-bs-toggle="dropdown"
aria-haspopup="true"
aria-expanded="false">
<i class="icon-user" aria-hidden="true"></i>
{% firstof user.get_full_name user.get_username %}
</a>
<div class="dropdown-menu dropdown-menu-end" aria-labelledby="nav-user-menu-link">
<h6 class="dropdown-header">{% trans "User" %}</h6>
<a href="{% url 'babybuddy:user-settings' %}"
class="dropdown-item">{% trans "Settings" %}</a>
<a href="{% url 'babybuddy:user-password' %}"
class="dropdown-item">{% trans "Password" %}</a>
<a href="{% url 'babybuddy:user-add-device' %}" class="dropdown-item">{% trans "Add a device" %}</a>
<form action="{% url 'babybuddy:logout' %}" role="form" method="post">
{% csrf_token %}
<button class="dropdown-item">
{% trans "Logout" %}
</button>
</form>
<h6 class="dropdown-header">{% trans "Site" %}</h6>
<a href="{% url 'api:api-root' %}" class="dropdown-item">{% trans "API Browser" %}</a>
{% if request.user.is_staff %}
<a href="{% url 'babybuddy:site_settings' %}"
class="dropdown-item">{% trans "Settings" %}</a>
<a href="{% url 'babybuddy:user-list' %}"
class="dropdown-item">{% trans "Users" %}</a>
<a href="{% url 'admin:index' %}"
class="dropdown-item">{% trans "Database Admin" %}</a>
{% endif %}
<h6 class="dropdown-header">{% trans "Support" %}</h6>
<a href="https://github.com/babybuddy/babybuddy" class="dropdown-item">
<i class="icon-source" aria-hidden="true"></i> {% trans "Source Code" %}</a>
<a href="https://gitter.im/babybuddy/Lobby" class="dropdown-item">
<i class="icon-chat" aria-hidden="true"></i> {% trans "Chat / Support" %}</a>
<h6 class="dropdown-header">v{% version_string %}</h6>
</div>
</li>
</ul>
{% endif %}
</div>
</div> </div>
</nav> <div>
<a class="text-body-secondary"
href="{% url 'core:timeline' %}"
aria-expanded="false"><i class="icon-2x icon-timeline" aria-hidden="true"></i>
</a>
&nbsp;
</div>
</div>
<div class="d-lg-none d-md-none d-flex ms-auto p-0 me-2">
{% quick_timer_nav %}
<div class="dropdown show">
<a class="text-success"
href="#"
role="button"
id="nav-quick-add-link"
data-bs-toggle="dropdown"
aria-haspopup="true"
aria-expanded="false"><i class="icon-2x icon-add" aria-hidden="true"></i>
</a>
<div class="dropdown-menu dropdown-menu-end"
aria-labelledby="nav-quick-add-link">
{% if perms.core.add_diaperchange %}
<a class="dropdown-item p-2" href="{% url 'core:diaperchange-add' %}">
<i class="icon-diaperchange" aria-hidden="true"></i>
{% trans "Diaper Change" %}
</a>
{% endif %}
{% if perms.core.add_feeding %}
<a class="dropdown-item p-2" href="{% url 'core:feeding-add' %}">
<i class="icon-feeding" aria-hidden="true"></i>
{% trans "Feeding" %}
</a>
{% endif %}
{% if perms.core.add_pumping %}
<a class="dropdown-item p-2" href="{% url 'core:pumping-add' %}">
<i class="icon-pumping" aria-hidden="true"></i>
{% trans "Pumping" %}
</a>
{% endif %}
{% if perms.core.add_note %}
<a class="dropdown-item p-2" href="{% url 'core:note-add' %}">
<i class="icon-note" aria-hidden="true"></i>
{% trans "Note" %}
</a>
{% endif %}
{% if perms.core.add_sleep %}
<a class="dropdown-item p-2" href="{% url 'core:sleep-add' %}">
<i class="icon-sleep" aria-hidden="true"></i>
{% trans "Sleep" %}
</a>
{% endif %}
{% if perms.core.add_tummytime %}
<a class="dropdown-item p-2" href="{% url 'core:tummytime-add' %}">
<i class="icon-tummytime" aria-hidden="true"></i>
{% trans "Tummy Time" %}
</a>
{% endif %}
</div>
</div>
</div>
<button class="navbar-toggler"
type="button"
data-bs-toggle="collapse"
data-bs-target="#navbar-app"
aria-controls="navbar-app"
aria-expanded="false"
aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbar-app">
<ul class="navbar-nav me-auto">
<li class="nav-item{% if request.path == '/' %} active{% endif %}">
<a class="nav-link" href="{% url 'dashboard:dashboard' %}">
<i class="icon-dashboard" aria-hidden="true"></i>
{% trans "Dashboard" %}
</a>
</li>
<li class="nav-item{% if request.path == '/timeline' %} active{% endif %}">
<a class="nav-link" href="{% url 'core:timeline' %}">
<i class="icon-timeline" aria-hidden="true"></i>
{% trans "Timeline" %}
</a>
</li>
<li class="nav-item dropdown">
<a id="nav-children-menu-link"
class="nav-link dropdown-toggle"
href="#"
data-bs-toggle="dropdown"
aria-haspopup="true"
aria-expanded="false"><i class="icon-child" aria-hidden="true"></i>
{% trans "Children" %}
</a>
<div class="dropdown-menu" aria-labelledby="nav-children-menu-link">
{% if perms.core.view_child %}
<a class="dropdown-item{% if request.path == '/children/' %} active{% endif %}"
href="{% url 'core:child-list' %}">
<i class="icon-child" aria-hidden="true"></i>
{% trans "Children" %}
</a>
{% endif %}
{% if perms.core.add_child %}
<a class="dropdown-item ps-5{% if request.path == '/children/add/' %} active{% endif %}"
href="{% url 'core:child-add' %}"><i class="icon-add" aria-hidden="true"></i>
{% trans "Child" %}
</a>
{% endif %}
{% if perms.core.view_note %}
<a class="dropdown-item{% if request.path == '/notes/' %} active{% endif %}"
href="{% url 'core:note-list' %}">
<i class="icon-note" aria-hidden="true"></i>
{% trans "Notes" %}
</a>
{% endif %}
{% if perms.core.add_note %}
<a class="dropdown-item ps-5{% if request.path == '/notes/add/' %} active{% endif %}"
href="{% url 'core:note-add' %}"><i class="icon-add" aria-hidden="true"></i>
{% trans "Note" %}
</a>
{% endif %}
</div>
</li>
<li class="nav-item dropdown">
<a id="nav-measurements-menu-link"
class="nav-link dropdown-toggle"
href="#"
data-bs-toggle="dropdown"
aria-haspopup="true"
aria-expanded="false"><i class="icon-measurements" aria-hidden="true"></i>
{% trans "Measurements" %}
</a>
<div class="dropdown-menu" aria-labelledby="nav-measurements-menu-link">
{% if perms.core.view_bmi %}
<a class="dropdown-item{% if request.path == '/bmi/' %} active{% endif %}"
href="{% url 'core:bmi-list' %}">
<i class="icon-bmi" aria-hidden="true"></i>
{% trans "BMI" %}
</a>
{% endif %}
{% if perms.core.add_bmi %}
<a class="dropdown-item ps-5{% if request.path == '/bmi/add/' %} active{% endif %}"
href="{% url 'core:bmi-add' %}"><i class="icon-add" aria-hidden="true"></i>
{% trans "BMI entry" %}
</a>
{% endif %}
{% if perms.core.view_head_circumference %}
<a class="dropdown-item{% if request.path == '/head-circumference/' %} active{% endif %}"
href="{% url 'core:head-circumference-list' %}">
<i class="icon-head-circumference" aria-hidden="true"></i>
{% trans "Head Circumference" %}
</a>
{% endif %}
{% if perms.core.add_head_circumference %}
<a class="dropdown-item ps-5{% if request.path == '/head-circumference/add/' %} active{% endif %}"
href="{% url 'core:head-circumference-add' %}"><i class="icon-add" aria-hidden="true"></i>
{% trans "Head Circumference entry" %}
</a>
{% endif %}
{% if perms.core.view_height %}
<a class="dropdown-item{% if request.path == '/height/' %} active{% endif %}"
href="{% url 'core:height-list' %}">
<i class="icon-height" aria-hidden="true"></i>
{% trans "Height" %}
</a>
{% endif %}
{% if perms.core.add_height %}
<a class="dropdown-item ps-5{% if request.path == '/height/add/' %} active{% endif %}"
href="{% url 'core:height-add' %}"><i class="icon-add" aria-hidden="true"></i>
{% trans "Height entry" %}
</a>
{% endif %}
{% if perms.core.view_temperature %}
<a class="dropdown-item{% if request.path == '/temperature/' %} active{% endif %}"
href="{% url 'core:temperature-list' %}">
<i class="icon-temperature" aria-hidden="true"></i>
{% trans "Temperature" %}
</a>
{% endif %}
{% if perms.core.add_temperature %}
<a class="dropdown-item ps-5{% if request.path == '/temperature/add/' %} active{% endif %}"
href="{% url 'core:temperature-add' %}"><i class="icon-add" aria-hidden="true"></i>
{% trans "Temperature reading" %}
</a>
{% endif %}
{% if perms.core.view_weight %}
<a class="dropdown-item{% if request.path == '/weight/' %} active{% endif %}"
href="{% url 'core:weight-list' %}">
<i class="icon-weight" aria-hidden="true"></i>
{% trans "Weight" %}
</a>
{% endif %}
{% if perms.core.add_weight %}
<a class="dropdown-item ps-5{% if request.path == '/weight/add/' %} active{% endif %}"
href="{% url 'core:weight-add' %}"><i class="icon-add" aria-hidden="true"></i>
{% trans "Weight entry" %}
</a>
{% endif %}
</div>
</li>
<li class="nav-item dropdown">
<a id="nav-activity-menu-link"
class="nav-link dropdown-toggle"
href="#"
data-bs-toggle="dropdown"
aria-haspopup="true"
aria-expanded="false"><i class="icon-activities" aria-hidden="true"></i>
{% trans "Activities" %}
</a>
<div class="dropdown-menu" aria-labelledby="nav-activity-menu-link">
{% if perms.core.view_diaperchange %}
<a class="dropdown-item{% if request.path == '/changes/' %} active{% endif %}"
href="{% url 'core:diaperchange-list' %}"><i class="icon-diaperchange" aria-hidden="true"></i>
{% trans "Changes" %}
</a>
{% endif %}
{% if perms.core.add_diaperchange %}
<a class="dropdown-item ps-5{% if request.path == '/changes/add/' %} active{% endif %}"
href="{% url 'core:diaperchange-add' %}"><i class="icon-add" aria-hidden="true"></i>
{% trans "Change" %}
</a>
{% endif %}
{% if perms.core.view_feeding %}
<a class="dropdown-item{% if request.path == '/feedings/' %} active{% endif %}"
href="{% url 'core:feeding-list' %}"><i class="icon-feeding" aria-hidden="true"></i>
{% trans "Feedings" %}
</a>
{% endif %}
{% if perms.core.add_feeding %}
<a class="dropdown-item ps-5{% if request.path == '/feedings/add/' %} active{% endif %}"
href="{% url 'core:feeding-add' %}"><i class="icon-add" aria-hidden="true"></i>
{% trans "Feeding" %}
</a>
{% endif %}
{% if perms.core.add_feeding %}
<a class="dropdown-item ps-5{% if request.path == '/feedings/bottle/add/' %} active{% endif %}"
href="{% url 'core:bottle-feeding-add' %}"><i class="icon-add" aria-hidden="true"></i>
{% trans "Bottle Feeding" %}
</a>
{% endif %}
{% if perms.core.view_pumping %}
<a class="dropdown-item{% if request.path == '/pumping/' %} active{% endif %}"
href="{% url 'core:pumping-list' %}">
<i class="icon-pumping" aria-hidden="true"></i>
{% trans "Pumping" %}
</a>
{% endif %}
{% if perms.core.add_pumping %}
<a class="dropdown-item ps-5{% if request.path == '/pumping/add/' %} active{% endif %}"
href="{% url 'core:pumping-add' %}"><i class="icon-add" aria-hidden="true"></i>
{% trans "Pumping entry" %}
</a>
{% endif %}
{% if perms.core.view_sleep %}
<a class="dropdown-item{% if request.path == '/sleep/' %} active{% endif %}"
href="{% url 'core:sleep-list' %}"><i class="icon-sleep" aria-hidden="true"></i>
{% trans "Sleep" %}
</a>
{% endif %}
{% if perms.core.add_sleep %}
<a class="dropdown-item ps-5{% if request.path == '/sleep/add/' %} active{% endif %}"
href="{% url 'core:sleep-add' %}"><i class="icon-add" aria-hidden="true"></i>
{% trans "Sleep entry" %}
</a>
{% endif %}
{% if perms.core.view_tummytime %}
<a class="dropdown-item{% if request.path == '/tummy-time/' %} active{% endif %}"
href="{% url 'core:tummytime-list' %}"><i class="icon-tummytime" aria-hidden="true"></i>
{% trans "Tummy Time" %}
</a>
{% endif %}
{% if perms.core.add_tummytime %}
<a class="dropdown-item ps-5{% if request.path == '/tummy-time/add/' %} active{% endif %}"
href="{% url 'core:tummytime-add' %}"><i class="icon-add" aria-hidden="true"></i>
{% trans "Tummy Time entry" %}
</a>
{% endif %}
</div>
</li>
{% if perms.core.view_timer %}
{% timer_nav %}
{% endif %}
</ul>
{% if request.user %}
<ul class="navbar-nav ms-auto">
<li class="nav-item dropdown">
<a id="nav-user-menu-link"
class="nav-link dropdown-toggle"
href="#"
data-bs-toggle="dropdown"
aria-haspopup="true"
aria-expanded="false">
<i class="icon-user" aria-hidden="true"></i>
{% firstof user.get_full_name user.get_username %}
</a>
<div class="dropdown-menu dropdown-menu-end"
aria-labelledby="nav-user-menu-link">
<h6 class="dropdown-header">{% trans "User" %}</h6>
<a href="{% url 'babybuddy:user-settings' %}" class="dropdown-item">{% trans "Settings" %}</a>
<a href="{% url 'babybuddy:user-password' %}" class="dropdown-item">{% trans "Password" %}</a>
<a href="{% url 'babybuddy:user-add-device' %}" class="dropdown-item">{% trans "Add a device" %}</a>
<form action="{% url 'babybuddy:logout' %}" role="form" method="post">
{% csrf_token %}
<button class="dropdown-item">{% trans "Logout" %}</button>
</form>
<h6 class="dropdown-header">{% trans "Site" %}</h6>
<a href="{% url 'api:api-root' %}" class="dropdown-item">{% trans "API Browser" %}</a>
{% if request.user.is_staff %}
<a href="{% url 'babybuddy:site_settings' %}" class="dropdown-item">{% trans "Settings" %}</a>
<a href="{% url 'babybuddy:user-list' %}" class="dropdown-item">{% trans "Users" %}</a>
<a href="{% url 'admin:index' %}" class="dropdown-item">{% trans "Database Admin" %}</a>
{% endif %}
<h6 class="dropdown-header">{% trans "Support" %}</h6>
<a href="https://github.com/babybuddy/babybuddy" class="dropdown-item">
<i class="icon-source" aria-hidden="true"></i> {% trans "Source Code" %}</a>
<a href="https://gitter.im/babybuddy/Lobby" class="dropdown-item">
<i class="icon-chat" aria-hidden="true"></i> {% trans "Chat / Support" %}</a>
<h6 class="dropdown-header">v{% version_string %}</h6>
</div>
</li>
</ul>
{% endif %}
</div>
</div>
</nav>
{% endblock %} {% endblock %}

View File

@ -1,8 +1,8 @@
{% extends 'babybuddy/nav-dropdown.html' %} {% extends 'babybuddy/nav-dropdown.html' %}
{% load static timers %} {% load static timers %}
{% block page %} {% block page %}
<div id="view-{{ request.resolver_match.view_name }}" class="container-fluid"> <div id="view-{{ request.resolver_match.view_name }}"
class="container-fluid">
<div class="row justify-content-md-center"> <div class="row justify-content-md-center">
<div class="col-lg-12 mb-4"> <div class="col-lg-12 mb-4">
{% include 'babybuddy/messages.html' %} {% include 'babybuddy/messages.html' %}
@ -10,4 +10,4 @@
</div> </div>
</div> </div>
</div> </div>
{% endblock %} {% endblock %}

View File

@ -1,18 +1,17 @@
{% load i18n babybuddy %} {% load i18n babybuddy %}
{% if is_paginated %} {% if is_paginated %}
<nav aria-label="Page navigation"> <nav aria-label="Page navigation">
<ul class="pagination justify-content-center"> <ul class="pagination justify-content-center">
{% if page_obj.has_previous %} {% if page_obj.has_previous %}
<li class="page-item"> <li class="page-item">
<a class="page-link" href="{% relative_url 'page' page_obj.previous_page_number %}" aria-label="Previous"> <a class="page-link"
href="{% relative_url 'page' page_obj.previous_page_number %}"
aria-label="Previous">
<i class="icon-angle-circled-left" aria-hidden="true"></i> <i class="icon-angle-circled-left" aria-hidden="true"></i>
<span class="visually-hidden">{% trans "Previous" %}</span> <span class="visually-hidden">{% trans "Previous" %}</span>
</a> </a>
</li> </li>
{% endif %} {% endif %}
{% for num in page_obj.paginator.page_range %} {% for num in page_obj.paginator.page_range %}
{% if num > page_obj.number|add:"-3" and num < page_obj.number|add:"3" %} {% if num > page_obj.number|add:"-3" and num < page_obj.number|add:"3" %}
<li class="page-item{% if num == page_obj.number %} active{% endif %}"> <li class="page-item{% if num == page_obj.number %} active{% endif %}">
@ -20,10 +19,11 @@
</li> </li>
{% endif %} {% endif %}
{% endfor %} {% endfor %}
{% if page_obj.has_next %} {% if page_obj.has_next %}
<li class="page-item"> <li class="page-item">
<a class="page-link" href="{% relative_url 'page' page_obj.next_page_number %}" aria-label="Next"> <a class="page-link"
href="{% relative_url 'page' page_obj.next_page_number %}"
aria-label="Next">
<i class="icon-angle-circled-right" aria-hidden="true"></i> <i class="icon-angle-circled-right" aria-hidden="true"></i>
<span class="visually-hidden">{% trans "Next" %}</span> <span class="visually-hidden">{% trans "Next" %}</span>
</a> </a>
@ -31,4 +31,4 @@
{% endif %} {% endif %}
</ul> </ul>
</nav> </nav>
{% endif %} {% endif %}

View File

@ -1,16 +1,14 @@
{% extends 'babybuddy/page.html' %} {% extends 'babybuddy/page.html' %}
{% load i18n widget_tweaks babybuddy qr_code %} {% load i18n widget_tweaks babybuddy qr_code %}
{% block title %}
{% block title %}{% trans "Add a device" %}{% endblock %} {% trans "Add a device" %}
{% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
<li class="breadcrumb-item">{% trans "User" %}</li> <li class="breadcrumb-item">{% trans "User" %}</li>
<li class="breadcrumb-item active">{% trans "Add a device" %}</li> <li class="breadcrumb-item active">{% trans "Add a device" %}</li>
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<h1>{% trans "Add a device" %}</h1> <h1>{% trans "Add a device" %}</h1>
<div class="container-fluid"> <div class="container-fluid">
<legend>{% trans "Authentication Methods" %}</legend> <legend>{% trans "Authentication Methods" %}</legend>
<fieldset> <fieldset>
@ -20,16 +18,19 @@
<form method="post"> <form method="post">
{% csrf_token %} {% csrf_token %}
<samp>{{ user.settings.api_key }}</samp> <samp>{{ user.settings.api_key }}</samp>
<input type="submit" name="api_key_regenerate" value="{% trans "Regenerate" %}" class="btn btn-danger btn-xs" /> <input type="submit"
name="api_key_regenerate"
value="{% trans "Regenerate" %}"
class="btn btn-danger btn-xs" />
</form> </form>
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row">
<label class="col-sm-2 col-form-label">{% trans "Login QR code" %}</label> <label class="col-sm-2 col-form-label">{% trans "Login QR code" %}</label>
<div class="col-sm-10"> <div class="col-sm-10">
<div style="display:inline-block;background-color:white;" data-qr-code-content="{{ qr_code_data }}"> <div style="display:inline-block;
{% qr_from_text qr_code_data size="s" %} background-color:white"
</div> data-qr-code-content="{{ qr_code_data }}">{% qr_from_text qr_code_data size="s" %}</div>
</div> </div>
</div> </div>
</fieldset> </fieldset>

View File

@ -1,21 +1,24 @@
{% extends 'babybuddy/page.html' %} {% extends 'babybuddy/page.html' %}
{% load i18n widget_tweaks %} {% load i18n widget_tweaks %}
{% block title %}
{% block title %}{% trans "Delete User" %}{% endblock %} {% trans "Delete User" %}
{% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
<li class="breadcrumb-item"><a href="{% url 'babybuddy:user-list' %}">{% trans "Users" %}</a></li> <li class="breadcrumb-item">
<a href="{% url 'babybuddy:user-list' %}">{% trans "Users" %}</a>
</li>
<li class="breadcrumb-item">{{ object }}</li> <li class="breadcrumb-item">{{ object }}</li>
<li class="breadcrumb-item active" aria-current="page">{% trans "Delete" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Delete" %}</li>
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<form role="form" method="post"> <form role="form" method="post">
{% csrf_token %} {% csrf_token %}
{% blocktrans trimmed %} {% blocktrans trimmed %}
<h1>Are you sure you want to delete <span class="text-info">{{ object }}</span>?</h1> <h1>
Are you sure you want to delete <span class="text-info">{{ object }}</span>?
</h1>
{% endblocktrans %} {% endblocktrans %}
<input type="submit" value="{% trans "Delete" %}" class="btn btn-danger" /> <input type="submit" value="{% trans "Delete" %}" class="btn btn-danger" />
<a href="{% url 'babybuddy:user-list' %}" class="btn btn-default">{% trans "Cancel" %}</a> <a href="{% url 'babybuddy:user-list' %}" class="btn btn-default">{% trans "Cancel" %}</a>
</form> </form>
{% endblock %} {% endblock %}

View File

@ -1,21 +1,25 @@
{% extends 'babybuddy/page.html' %} {% extends 'babybuddy/page.html' %}
{% load i18n widget_tweaks %} {% load i18n widget_tweaks %}
{% block title %}
{% block title %}{% trans "Unlock User" %}{% endblock %} {% trans "Unlock User" %}
{% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
<li class="breadcrumb-item"><a href="{% url 'babybuddy:user-list' %}">{% trans "Users" %}</a></li> <li class="breadcrumb-item">
<a href="{% url 'babybuddy:user-list' %}">{% trans "Users" %}</a>
</li>
<li class="breadcrumb-item">{{ object }}</li> <li class="breadcrumb-item">{{ object }}</li>
<li class="breadcrumb-item active" aria-current="page">{% trans "Unlock" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Unlock" %}</li>
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<form role="form" method="post"> <form role="form" method="post">
{% csrf_token %} {% csrf_token %}
{% blocktrans trimmed %} {% blocktrans trimmed %}
<h1>Are you sure you want to unlock <span class="text-info">{{ object }}</span>?</h1> <h1>
Are you sure you want to unlock <span class="text-info">{{ object }}</span>?
</h1>
{% endblocktrans %} {% endblocktrans %}
<input type="submit" value="{% trans "Unlock" %}" class="btn btn-danger" /> <input type="submit" value="{% trans "Unlock" %}" class="btn btn-danger" />
<a href="{% url 'babybuddy:user-update' object.pk %}" class="btn btn-default">{% trans "Cancel" %}</a> <a href="{% url 'babybuddy:user-update' object.pk %}"
class="btn btn-default">{% trans "Cancel" %}</a>
</form> </form>
{% endblock %} {% endblock %}

View File

@ -1,6 +1,5 @@
{% extends 'babybuddy/page.html' %} {% extends 'babybuddy/page.html' %}
{% load babybuddy i18n %} {% load babybuddy i18n %}
{% block title %} {% block title %}
{% if object %} {% if object %}
{{ object }} {{ object }}
@ -8,9 +7,10 @@
{% trans "Create User" %} {% trans "Create User" %}
{% endif %} {% endif %}
{% endblock %} {% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
<li class="breadcrumb-item"><a href="{% url 'babybuddy:user-list' %}">{% trans "Users" %}</a></li> <li class="breadcrumb-item">
<a href="{% url 'babybuddy:user-list' %}">{% trans "Users" %}</a>
</li>
{% if object %} {% if object %}
<li class="breadcrumb-item fw-bold">{{ object }}</li> <li class="breadcrumb-item fw-bold">{{ object }}</li>
<li class="breadcrumb-item active" aria-current="page">{% trans "Update" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Update" %}</li>
@ -18,22 +18,20 @@
<li class="breadcrumb-item active" aria-current="page">{% trans "Create User" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Create User" %}</li>
{% endif %} {% endif %}
{% endblock %} {% endblock %}
{% block content %} {% block content %}
{% if object %} {% if object %}
{% user_is_locked object as is_locked %} {% user_is_locked object as is_locked %}
{% if is_locked %} {% if is_locked %}
<div class="alert alert-danger"> <div class="alert alert-danger">
<div class="alert-heading h4"> <div class="alert-heading h4">{% blocktrans %}User locked.{% endblocktrans %}</div>
{% blocktrans %}User locked.{% endblocktrans %} <a href="{% url 'babybuddy:user-unlock' object.id %}"
</div> class="btn btn-danger">{% blocktrans %}Unlock{% endblocktrans %}</a>
<a href="{% url 'babybuddy:user-unlock' object.id %}" class="btn btn-danger">
{% blocktrans %}Unlock{% endblocktrans %}
</a>
</div> </div>
{% endif %} {% endif %}
{% blocktrans trimmed %} {% blocktrans trimmed %}
<h1>Update <span class="text-info">{{ object }}</span></h1> <h1>
Update <span class="text-info">{{ object }}</span>
</h1>
{% endblocktrans %} {% endblocktrans %}
{% else %} {% else %}
<h1>{% trans "Create User" %}</h1> <h1>{% trans "Create User" %}</h1>

View File

@ -1,12 +1,11 @@
{% extends 'babybuddy/page.html' %} {% extends 'babybuddy/page.html' %}
{% load babybuddy bootstrap i18n widget_tweaks %} {% load babybuddy bootstrap i18n widget_tweaks %}
{% block title %}
{% block title %}{% trans "Users" %}{% endblock %} {% trans "Users" %}
{% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
<li class="breadcrumb-item active" aria-current="page">{% trans "Users" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Users" %}</li>
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<h1>Users</h1> <h1>Users</h1>
{% include 'babybuddy/filter.html' %} {% include 'babybuddy/filter.html' %}
@ -40,19 +39,18 @@
<td class="text-center">{{ is_locked|bool_icon }}</td> <td class="text-center">{{ is_locked|bool_icon }}</td>
<td class="text-center"> <td class="text-center">
<div class="btn-group btn-group-sm" role="group" aria-label="Actions"> <div class="btn-group btn-group-sm" role="group" aria-label="Actions">
{% if perms.admin.change_user %} {% if perms.admin.change_user %}
<a href="{% url 'babybuddy:user-update' object.id %}" class="btn btn-warning"> <a href="{% url 'babybuddy:user-update' object.id %}"
class="btn btn-warning">
<i class="icon-update" aria-hidden="true"></i> <i class="icon-update" aria-hidden="true"></i>
</a> </a>
{% endif %} {% endif %}
{% if perms.admin.delete_user %} {% if perms.admin.delete_user %}
<a href="{% url 'babybuddy:user-delete' object.id %}" class="btn btn-danger"> <a href="{% url 'babybuddy:user-delete' object.id %}"
class="btn btn-danger">
<i class="icon-delete" aria-hidden="true"></i> <i class="icon-delete" aria-hidden="true"></i>
</a> </a>
{% endif %} {% endif %}
</div> </div>
</td> </td>
</tr> </tr>
@ -65,11 +63,9 @@
</table> </table>
</div> </div>
{% include 'babybuddy/paginator.html' %} {% include 'babybuddy/paginator.html' %}
{% if perms.admin.add_user %} {% if perms.admin.add_user %}
<a href="{% url 'babybuddy:user-add' %}" class="btn btn-sm btn-success"> <a href="{% url 'babybuddy:user-add' %}" class="btn btn-sm btn-success">
<i class="icon-add" aria-hidden="true"></i> {% trans "Create User" %} <i class="icon-add" aria-hidden="true"></i> {% trans "Create User" %}
</a> </a>
{% endif %} {% endif %}
{% endblock %} {% endblock %}

View File

@ -1,13 +1,12 @@
{% extends 'babybuddy/page.html' %} {% extends 'babybuddy/page.html' %}
{% load i18n widget_tweaks %} {% load i18n widget_tweaks %}
{% block title %}
{% block title %}{% trans "Change Password" %}{% endblock %} {% trans "Change Password" %}
{% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
<li class="breadcrumb-item">{% trans "User" %}</li> <li class="breadcrumb-item">{% trans "User" %}</li>
<li class="breadcrumb-item active">{% trans "Change Password" %}</li> <li class="breadcrumb-item active">{% trans "Change Password" %}</li>
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<h1>{% trans "Change Password" %}</h1> <h1>{% trans "Change Password" %}</h1>
{% include 'babybuddy/form.html' %} {% include 'babybuddy/form.html' %}

View File

@ -1,13 +1,12 @@
{% extends 'babybuddy/page.html' %} {% extends 'babybuddy/page.html' %}
{% load i18n widget_tweaks babybuddy %} {% load i18n widget_tweaks babybuddy %}
{% block title %}
{% block title %}{% trans "User Settings" %}{% endblock %} {% trans "User Settings" %}
{% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
<li class="breadcrumb-item">{% trans "User" %}</li> <li class="breadcrumb-item">{% trans "User" %}</li>
<li class="breadcrumb-item active">{% trans "Settings" %}</li> <li class="breadcrumb-item active">{% trans "Settings" %}</li>
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<h1>{% trans "User Settings" %}</h1> <h1>{% trans "User Settings" %}</h1>
<div class="container-fluid"> <div class="container-fluid">
@ -81,12 +80,18 @@
<label class="col-sm-2 col-form-label">{% trans "Key" %}</label> <label class="col-sm-2 col-form-label">{% trans "Key" %}</label>
<div class="col-sm-10"> <div class="col-sm-10">
<samp>{{ user.settings.api_key }}</samp> <samp>{{ user.settings.api_key }}</samp>
<input type="submit" name="api_key_regenerate" value="{% trans "Regenerate" %}" class="btn btn-danger btn-xs" /> <input type="submit"
name="api_key_regenerate"
value="{% trans "Regenerate" %}"
class="btn btn-danger btn-xs" />
</div> </div>
</div> </div>
</fieldset> </fieldset>
<input type="hidden" name="next" value="{% url 'babybuddy:user-settings' %}" /> <input type="hidden" name="next" value="{% url 'babybuddy:user-settings' %}" />
<input type="submit" name="save_settings" value="{% trans "Submit" %}" class="btn btn-primary"> <input type="submit"
name="save_settings"
value="{% trans "Submit" %}"
class="btn btn-primary">
</form> </form>
</div> </div>
{% endblock %} {% endblock %}

View File

@ -1,18 +1,17 @@
{% extends 'babybuddy/page.html' %} {% extends 'babybuddy/page.html' %}
{% load i18n widget_tweaks %} {% load i18n widget_tweaks %}
{% block title %}
{% block title %}{% trans "Welcome!" %}{% endblock %} {% trans "Welcome!" %}
{% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
<li class="breadcrumb-item active" aria-current="page">{% trans "Welcome!" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Welcome!" %}</li>
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<div class="px-2 py-5 bg rounded-3"> <div class="px-2 py-5 bg rounded-3">
<div class="container-fluid"> <div class="container-fluid">
<h1 class="display-3">{% trans "Welcome to Baby Buddy!" %}</h1> <h1 class="display-3">{% trans "Welcome to Baby Buddy!" %}</h1>
<p class="lead"> <p class="lead">
{% blocktrans trimmed%} {% blocktrans trimmed %}
Learn about and predict baby's needs without (<em>as much</em>) Learn about and predict baby's needs without (<em>as much</em>)
guess work by using Baby Buddy to track &mdash; guess work by using Baby Buddy to track &mdash;
{% endblocktrans %} {% endblocktrans %}
@ -80,4 +79,4 @@
</p> </p>
</div> </div>
</div> </div>
{% endblock %} {% endblock %}

View File

@ -1,13 +1,12 @@
{% extends 'babybuddy/page.html' %} {% extends 'babybuddy/page.html' %}
{% load i18n %} {% load i18n %}
{% block title %}
{% block title %}{% trans "Site Settings" %}{% endblock %} {% trans "Site Settings" %}
{% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
<li class="breadcrumb-item">{% trans "Site" %}</li> <li class="breadcrumb-item">{% trans "Site" %}</li>
<li class="breadcrumb-item active">{% trans "Settings" %}</li> <li class="breadcrumb-item active">{% trans "Settings" %}</li>
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<h1>{% trans "Site Settings" %}</h1> <h1>{% trans "Site Settings" %}</h1>
{% include 'babybuddy/form.html' %} {% include 'babybuddy/form.html' %}

View File

@ -1,8 +1,8 @@
{% extends 'error/base.html' %} {% extends 'error/base.html' %}
{% load i18n %} {% load i18n %}
{% block title %}
{% block title %}400 {% trans "Bad Request" %}{% endblock %} 400 {% trans "Bad Request" %}
{% endblock %}
{% block content %} {% block content %}
<h1>400 {% trans "Bad Request" %}</h1> <h1>400 {% trans "Bad Request" %}</h1>
{% endblock %} {% endblock %}

View File

@ -1,8 +1,8 @@
{% extends 'error/base.html' %} {% extends 'error/base.html' %}
{% load i18n %} {% load i18n %}
{% block title %}
{% block title %}403 {% trans "Permission Denied" %}{% endblock %} 403 {% trans "Permission Denied" %}
{% endblock %}
{% block content %} {% block content %}
<h1>403 {% trans "Permission Denied" %}</h1> <h1>403 {% trans "Permission Denied" %}</h1>
<div class="alert alert-danger" role="alert"> <div class="alert alert-danger" role="alert">
@ -11,4 +11,4 @@
administrator for assistance. administrator for assistance.
{% endblocktrans %} {% endblocktrans %}
</div> </div>
{% endblock %} {% endblock %}

View File

@ -1,15 +1,10 @@
{% extends 'error/base.html' %} {% extends 'error/base.html' %}
{% load i18n %} {% load i18n %}
{% block title %}403 {{ title }}{% endblock %} {% block title %}403 {{ title }}{% endblock %}
{% block breadcrumb_nav %}{% endblock %} {% block breadcrumb_nav %}{% endblock %}
{% block content %} {% block content %}
<h1>403: {{ title }}</h1> <h1>403: {{ title }}</h1>
<div class="alert alert-danger" role="alert"> <div class="alert alert-danger" role="alert">{{ main }} {{ reason }}</div>
{{ main }} {{ reason }}
</div>
<div class="px-2 py-5 bg rounded-3"> <div class="px-2 py-5 bg rounded-3">
<div class="container-fluid"> <div class="container-fluid">
<h2>{% trans "How to Fix" %}</h2> <h2>{% trans "How to Fix" %}</h2>

View File

@ -1,8 +1,8 @@
{% extends 'error/base.html' %} {% extends 'error/base.html' %}
{% load i18n %} {% load i18n %}
{% block title %}
{% block title %}404 {% trans "Page Not Found" %}{% endblock %} 404 {% trans "Page Not Found" %}
{% endblock %}
{% block content %} {% block content %}
<h1>404 {% trans "Page Not Found" %}</h1> <h1>404 {% trans "Page Not Found" %}</h1>
<div> <div>
@ -10,4 +10,4 @@
The path <code>{{ request_path }}</code> does not exist. The path <code>{{ request_path }}</code> does not exist.
{% endblocktrans %} {% endblocktrans %}
</div> </div>
{% endblock %} {% endblock %}

View File

@ -1,8 +1,8 @@
{% extends 'error/base.html' %} {% extends 'error/base.html' %}
{% load i18n %} {% load i18n %}
{% block title %}
{% block title %}500 {% trans "Server Error" %}{% endblock %} 500 {% trans "Server Error" %}
{% endblock %}
{% block content %} {% block content %}
<h1>500 {% trans "Server Error" %}</h1> <h1>500 {% trans "Server Error" %}</h1>
{% endblock %} {% endblock %}

View File

@ -1,8 +1,6 @@
{% extends 'babybuddy/base.html' %} {% extends 'babybuddy/base.html' %}
{% load i18n static %} {% load i18n static %}
{% block breadcrumb_nav %}{% endblock %} {% block breadcrumb_nav %}{% endblock %}
{% block page %} {% block page %}
<div class="container mt-2 mt-lg-4"> <div class="container mt-2 mt-lg-4">
<div class="row justify-content-md-center"> <div class="row justify-content-md-center">
@ -11,7 +9,8 @@
<img class="d-inline-block align-self-top me-2 mt-2 text-center" src="{% static "babybuddy/logo/logo-sad.png" %}" width="65" height="65"> <img class="d-inline-block align-self-top me-2 mt-2 text-center" src="{% static "babybuddy/logo/logo-sad.png" %}" width="65" height="65">
<div class="p-2 flex-grow-1"> <div class="p-2 flex-grow-1">
{% block content %}{% endblock %} {% block content %}{% endblock %}
<a href="{% url "babybuddy:root-router" %}" class="btn btn-outline-primary mt-3">{% trans "Return to Baby Buddy" %}</a> <a href="{% url "babybuddy:root-router" %}"
class="btn btn-outline-primary mt-3">{% trans "Return to Baby Buddy" %}</a>
</div> </div>
</div> </div>
</div> </div>

View File

@ -1,8 +1,8 @@
{% extends 'error/base.html' %} {% extends 'error/base.html' %}
{% load babybuddy i18n %} {% load babybuddy i18n %}
{% block title %}
{% block title %}403 {% trans "Too Many Login Attempts" %}{% endblock %} 403 {% trans "Too Many Login Attempts" %}
{% endblock %}
{% block content %} {% block content %}
<h1>{% axes_lockout_message %}</h1> <h1>{% axes_lockout_message %}</h1>
{% endblock %} {% endblock %}

View File

@ -1,8 +1,6 @@
{% extends "babybuddy/base.html" %} {% extends "babybuddy/base.html" %}
{% load static widget_tweaks %} {% load static widget_tweaks %}
{% block breadcrumb_nav %}{% endblock %} {% block breadcrumb_nav %}{% endblock %}
{% block page %} {% block page %}
<div id="view-{{ request.resolver_match.view_name }}" class="container"> <div id="view-{{ request.resolver_match.view_name }}" class="container">
<div class="text-center pt-3"> <div class="text-center pt-3">
@ -11,10 +9,10 @@
<span class="text-primary">Baby</span> Buddy <span class="text-primary">Baby</span> Buddy
</h1> </h1>
</a> </a>
</div>
<div class="p-4 rounded text-light">
{% include 'babybuddy/messages.html' %}
{% block content %}{% endblock %}
</div>
</div> </div>
<div class="p-4 rounded text-light">
{% include 'babybuddy/messages.html' %}
{% block content %}{% endblock %}
</div>
</div>
{% endblock %} {% endblock %}

View File

@ -1,36 +1,23 @@
{% extends "registration/base.html" %} {% extends "registration/base.html" %}
{% load i18n static widget_tweaks %} {% load i18n static widget_tweaks %}
{% block title %}Login{% endblock %} {% block title %}Login{% endblock %}
{% block content %} {% block content %}
<form class="login-form" method="post" action="{% url 'babybuddy:login' %}"> <form class="login-form" method="post" action="{% url 'babybuddy:login' %}">
{% csrf_token %} {% csrf_token %}
<input type="hidden" name="next" value="{{ next }}"> <input type="hidden" name="next" value="{{ next }}">
<label class="visually-hidden" for="username-input-group">{{ form.username.label }}</label>
<label class="visually-hidden" for="username-input-group">
{{ form.username.label }}
</label>
<div class="input-group mb-3 fade-in"> <div class="input-group mb-3 fade-in">
<span class="input-group-text text-body-secondary"><i class="icon-user" aria-hidden="true"></i></span> <span class="input-group-text text-body-secondary"><i class="icon-user" aria-hidden="true"></i></span>
{% render_field form.username name='username' class+='form-control' id='username-input-group' placeholder=form.username.label %} {% render_field form.username name='username' class+='form-control' id='username-input-group' placeholder=form.username.label %}
</div> </div>
<label class="visually-hidden" for="password-input-group">{{ form.password.label }}</label>
<label class="visually-hidden" for="password-input-group">
{{ form.password.label }}
</label>
<div class="input-group mb-3 fade-in"> <div class="input-group mb-3 fade-in">
<span class="input-group-text text-body-secondary"><i class="icon-lock" aria-hidden="true"></i></span> <span class="input-group-text text-body-secondary"><i class="icon-lock" aria-hidden="true"></i></span>
{% render_field form.password name='password' class+='form-control' id='password-input-group' placeholder=form.password.label %} {% render_field form.password name='password' class+='form-control' id='password-input-group' placeholder=form.password.label %}
</div> </div>
<button class="btn btn-primary w-100 fade-in" type="submit" name="login">{% trans "Login" %}</button>
<button class="btn btn-primary w-100 fade-in" type="submit" name="login">
{% trans "Login" %}
</button>
</form> </form>
<div class="bg-faded text-center px-4 py-3 rounded-bottom"> <div class="bg-faded text-center px-4 py-3 rounded-bottom">
<a href="{% url 'babybuddy:password_reset' %}" name="reset"> <a href="{% url 'babybuddy:password_reset' %}" name="reset">{% trans "Forgot your password?" %}</a>
{% trans "Forgot your password?" %}</a>
</div> </div>
{% endblock %} {% endblock %}

View File

@ -1,12 +1,13 @@
{% extends "registration/base.html" %} {% extends "registration/base.html" %}
{% load i18n %} {% load i18n %}
{% block title %}
{% block title %}{% trans "Password Reset Successfully!" %}{% endblock %} {% trans "Password Reset Successfully!" %}
{% endblock %}
{% block content %} {% block content %}
<div class="text-center mb-0"> <div class="text-center mb-0">
<p>{% trans "Your password has been set. You may go ahead and log in now." %}</p> <p>{% trans "Your password has been set. You may go ahead and log in now." %}</p>
<p class="mb-0"><a href="{{ login_url }}">{% trans "Log in" %}</a></p> <p class="mb-0">
<a href="{{ login_url }}">{% trans "Log in" %}</a>
</p>
</div> </div>
{% endblock %}
{% endblock %}

View File

@ -1,46 +1,34 @@
{% extends "registration/base.html" %} {% extends "registration/base.html" %}
{% load i18n static widget_tweaks %} {% load i18n static widget_tweaks %}
{% block title %}
{% block title %}{% trans "Password Reset" %}{% endblock %} {% trans "Password Reset" %}
{% endblock %}
{% block content %} {% block content %}
<form method="post"> <form method="post">
{% csrf_token %} {% csrf_token %}
{% if form.errors %} {% if form.errors %}
<div class="alert alert-danger"> <div class="alert alert-danger">
<p class="mb-0"> <p class="mb-0">
{% blocktrans trimmed %} {% blocktrans trimmed %}
<strong>Oh snap!</strong> The two passwords did not <strong>Oh snap!</strong> The two passwords did not
match. Please try again. match. Please try again.
{% endblocktrans %} {% endblocktrans %}
</p> </p>
</div> </div>
{% endif %} {% endif %}
<div class="text-center mb-4"> <div class="text-center mb-4">
<p class="mb-0">{% trans "Enter your new password in each field below." %}</p> <p class="mb-0">{% trans "Enter your new password in each field below." %}</p>
</div> </div>
<label class="visually-hidden" for="password1-input-group">{{ form.new_password1.label }}</label>
<label class="visually-hidden" for="password1-input-group">
{{ form.new_password1.label }}
</label>
<div class="input-group mb-3 fade-in"> <div class="input-group mb-3 fade-in">
<span class="input-group-text text-body-secondary"><i class="icon-lock" aria-hidden="true"></i></span> <span class="input-group-text text-body-secondary"><i class="icon-lock" aria-hidden="true"></i></span>
{% render_field form.new_password1 name='new_password1' class+='form-control' id='password1-input-group' %} {% render_field form.new_password1 name='new_password1' class+='form-control' id='password1-input-group' %}
</div> </div>
<label class="visually-hidden" for="password2-input-group">{{ form.new_password2.label }}</label>
<label class="visually-hidden" for="password2-input-group">
{{ form.new_password2.label }}
</label>
<div class="input-group mb-3 fade-in"> <div class="input-group mb-3 fade-in">
<span class="input-group-text text-body-secondary"><i class="icon-lock" aria-hidden="true"></i></span> <span class="input-group-text text-body-secondary"><i class="icon-lock" aria-hidden="true"></i></span>
{% render_field form.new_password2 name='new_password2' class+='form-control' id='password2-input-group' %} {% render_field form.new_password2 name='new_password2' class+='form-control' id='password2-input-group' %}
</div> </div>
<button class="btn btn-primary w-100 fade-in" type="submit" name="reset">{% trans "Reset Password" %}</button>
<button class="btn btn-primary w-100 fade-in" type="submit" name="reset">
{% trans "Reset Password" %}
</button>
</form> </form>
{% endblock %}
{% endblock %}

View File

@ -1,22 +1,22 @@
{% extends "registration/base.html" %} {% extends "registration/base.html" %}
{% load i18n %} {% load i18n %}
{% block title %}
{% block title %}{% trans "Reset Email Sent" %}{% endblock %} {% trans "Reset Email Sent" %}
{% endblock %}
{% block content %} {% block content %}
<div class="text-center mb-0"> <div class="text-center mb-0">
<p> <p>
{% blocktrans trimmed %}We've emailed you instructions for setting your {% blocktrans trimmed %}
password, if an account exists with the email you entered. You We've emailed you instructions for setting your
should receive them shortly. password, if an account exists with the email you entered. You
{% endblocktrans %} should receive them shortly.
{% endblocktrans %}
</p> </p>
<p class="mb-0"> <p class="mb-0">
{% blocktrans trimmed %} {% blocktrans trimmed %}
If you don't receive an email, please make sure you've entered the If you don't receive an email, please make sure you've entered the
address you registered with, and check your spam folder. address you registered with, and check your spam folder.
{% endblocktrans %} {% endblocktrans %}
</p> </p>
</div> </div>
{% endblock %}
{% endblock %}

View File

@ -1,12 +1,10 @@
{% load i18n %}{% autoescape off %} {% load i18n %}
{% blocktranslate %}You're receiving this email because you requested a password reset for your user account at {{ site_name }}.{% endblocktranslate %} {% autoescape off %}
{% blocktranslate %}You're receiving this email because you requested a password reset for your user account at {{ site_name }}.{% endblocktranslate %}
{% translate "Please go to the following page and choose a new password:" %} {% translate "Please go to the following page and choose a new password:" %}
{% block reset_link %} {% block reset_link %}
{{ protocol }}://{{ domain }}{% url 'babybuddy:password_reset_confirm' uidb64=uid token=token %} {{ protocol }}://{{ domain }}{% url 'babybuddy:password_reset_confirm' uidb64=uid token=token %}
{% endblock %} {% endblock %}
{% translate 'Your username, in case youve forgotten:' %} {{ user.get_username }} {% translate 'Your username, in case youve forgotten:' %} {{ user.get_username }}
{% translate "Thanks for using Baby Buddy!" %}
{% translate "Thanks for using Baby Buddy!" %}
{% endautoescape %} {% endautoescape %}

View File

@ -1,33 +1,25 @@
{% extends "registration/base.html" %} {% extends "registration/base.html" %}
{% load i18n static widget_tweaks %} {% load i18n static widget_tweaks %}
{% block title %}
{% block title %}{% trans "Forgot Password" %}{% endblock %} {% trans "Forgot Password" %}
{% endblock %}
{% block content %} {% block content %}
<div class="text-center mb-4"> <div class="text-center mb-4">
<p class="mb-0"> <p class="mb-0">
{% blocktrans trimmed %} {% blocktrans trimmed %}
Enter your account email address in the form below. If the address Enter your account email address in the form below. If the address
is valid, you will receive instructions for resetting your is valid, you will receive instructions for resetting your
password. password.
{% endblocktrans %} {% endblocktrans %}
</p> </p>
</div> </div>
<form method="post"> <form method="post">
{% csrf_token %} {% csrf_token %}
<label class="visually-hidden" for="email-input-group">{{ form.email.label }}</label>
<label class="visually-hidden" for="email-input-group">
{{ form.email.label }}
</label>
<div class="input-group mb-3 fade-in"> <div class="input-group mb-3 fade-in">
<span class="input-group-text text-body-secondary"><i class="icon-mail" aria-hidden="true"></i></span> <span class="input-group-text text-body-secondary"><i class="icon-mail" aria-hidden="true"></i></span>
{% render_field form.email name='email' class+='form-control' id='email-input-group' placeholder=form.email.label %} {% render_field form.email name='email' class+='form-control' id='email-input-group' placeholder=form.email.label %}
</div> </div>
<button class="btn btn-primary w-100 fade-in" type="submit" name="reset">{% trans "Reset Password" %}</button>
<button class="btn btn-primary w-100 fade-in" type="submit" name="reset">
{% trans "Reset Password" %}
</button>
</form> </form>
{% endblock %}
{% endblock %}

View File

@ -1,20 +1,23 @@
{% extends 'babybuddy/page.html' %} {% extends 'babybuddy/page.html' %}
{% load i18n widget_tweaks %} {% load i18n widget_tweaks %}
{% block title %}
{% block title %}{% trans "Delete a BMI Entry" %}{% endblock %} {% trans "Delete a BMI Entry" %}
{% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
<li class="breadcrumb-item"><a href="{% url 'core:bmi-list' %}">{% trans "BMI" %}</a></li> <li class="breadcrumb-item">
<a href="{% url 'core:bmi-list' %}">{% trans "BMI" %}</a>
</li>
<li class="breadcrumb-item active" aria-current="page">{% trans "Delete" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Delete" %}</li>
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<form role="form" method="post"> <form role="form" method="post">
{% csrf_token %} {% csrf_token %}
{% blocktrans trimmed %} {% blocktrans trimmed %}
<h1>Are you sure you want to delete <span class="text-info">{{ object }}</span>?</h1> <h1>
Are you sure you want to delete <span class="text-info">{{ object }}</span>?
</h1>
{% endblocktrans %} {% endblocktrans %}
<input type="submit" value="{% trans "Delete" %}" class="btn btn-danger" /> <input type="submit" value="{% trans "Delete" %}" class="btn btn-danger" />
<a href="{% url 'core:bmi-list' %}" class="btn btn-default">{% trans "Cancel" %}</a> <a href="{% url 'core:bmi-list' %}" class="btn btn-default">{% trans "Cancel" %}</a>
</form> </form>
{% endblock %} {% endblock %}

View File

@ -1,6 +1,5 @@
{% extends 'babybuddy/page.html' %} {% extends 'babybuddy/page.html' %}
{% load i18n %} {% load i18n %}
{% block title %} {% block title %}
{% if object %} {% if object %}
{{ object }} {{ object }}
@ -8,20 +7,22 @@
{% trans "Add a BMI Entry" %} {% trans "Add a BMI Entry" %}
{% endif %} {% endif %}
{% endblock %} {% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
<li class="breadcrumb-item"><a href="{% url 'core:bmi-list' %}">{% trans "BMI" %}</a></li> <li class="breadcrumb-item">
<a href="{% url 'core:bmi-list' %}">{% trans "BMI" %}</a>
</li>
{% if object %} {% if object %}
<li class="breadcrumb-item active" aria-current="page">{% trans "Update" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Update" %}</li>
{% else %} {% else %}
<li class="breadcrumb-item active" aria-current="page">{% trans "Add a BMI Entry" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Add a BMI Entry" %}</li>
{% endif %} {% endif %}
{% endblock %} {% endblock %}
{% block content %} {% block content %}
{% if object %} {% if object %}
{% blocktrans trimmed %} {% blocktrans trimmed %}
<h1>Update <span class="text-info">{{ object }}</span></h1> <h1>
Update <span class="text-info">{{ object }}</span>
</h1>
{% endblocktrans %} {% endblocktrans %}
{% else %} {% else %}
<h1>{% trans "Add a BMI Entry" %}</h1> <h1>{% trans "Add a BMI Entry" %}</h1>

View File

@ -1,12 +1,11 @@
{% extends 'babybuddy/page.html' %} {% extends 'babybuddy/page.html' %}
{% load i18n widget_tweaks %} {% load i18n widget_tweaks %}
{% block title %}
{% block title %}{% trans "BMI" %}{% endblock %} {% trans "BMI" %}
{% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
<li class="breadcrumb-item active" aria-current="page">{% trans "BMI" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "BMI" %}</li>
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<h1> <h1>
{% trans "BMI" %} {% trans "BMI" %}
@ -34,34 +33,35 @@
{% for bmi in object_list %} {% for bmi in object_list %}
<tr> <tr>
<td> <td>
<div class="btn-group btn-group-sm" role="group" aria-label="{% trans "Actions" %}"> <div class="btn-group btn-group-sm"
role="group"
aria-label="{% trans "Actions" %}">
{% if perms.core.change_bmi %} {% if perms.core.change_bmi %}
<a href="{% url 'core:bmi-update' bmi.id %}" class="btn btn-primary"> <a href="{% url 'core:bmi-update' bmi.id %}" class="btn btn-primary">
<i class="icon-update" aria-hidden="true"></i> <i class="icon-update" aria-hidden="true"></i>
</a> </a>
{% endif %} {% endif %}
{% if perms.core.delete_bmi %} {% if perms.core.delete_bmi %}
<a href="{% url 'core:bmi-delete' bmi.id %}" class="btn btn-danger"> <a href="{% url 'core:bmi-delete' bmi.id %}" class="btn btn-danger">
<i class="icon-delete" aria-hidden="true"></i> <i class="icon-delete" aria-hidden="true"></i>
</a> </a>
{% endif %} {% endif %}
</div> </div>
</td> </td>
<th scope="row">{{ bmi.date }}</th> <th scope="row">{{ bmi.date }}</th>
{% if not unique_child %} {% if not unique_child %}
<td><a href="{% url 'core:child' bmi.child.slug %}">{{ bmi.child }}</a></td> <td>
<a href="{% url 'core:child' bmi.child.slug %}">{{ bmi.child }}</a>
</td>
{% endif %} {% endif %}
<td>{{ bmi.bmi }}</td> <td>{{ bmi.bmi }}</td>
<td> <td>{% include "core/render_tag_list.html" with tags=bmi.tags.all %}</td>
{% include "core/render_tag_list.html" with tags=bmi.tags.all %}
</td>
</tr> </tr>
{% if bmi.notes %} {% if bmi.notes %}
<tr class="{{ row_class }} row-details"> <tr class="{{ row_class }} row-details">
<td colspan="5"><i class="icon-note me-2" aria-hidden="true"></i>{{ bmi.notes }}</td> <td colspan="5">
<i class="icon-note me-2" aria-hidden="true"></i>{{ bmi.notes }}
</td>
</tr> </tr>
{% endif %} {% endif %}
{% empty %} {% empty %}
@ -73,4 +73,4 @@
</table> </table>
</div> </div>
{% include 'babybuddy/paginator.html' %} {% include 'babybuddy/paginator.html' %}
{% endblock %} {% endblock %}

View File

@ -1,19 +1,24 @@
{% extends 'babybuddy/page.html' %} {% extends 'babybuddy/page.html' %}
{% load i18n widget_tweaks %} {% load i18n widget_tweaks %}
{% block title %}
{% block title %}{% trans "Delete a Child" %}{% endblock %} {% trans "Delete a Child" %}
{% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
<li class="breadcrumb-item"><a href="{% url 'core:child-list' %}">{% trans "Children" %}</a></li> <li class="breadcrumb-item">
<li class="breadcrumb-item fw-bold"><a href="{% url 'core:child' object.slug %}">{{ object }}</a></li> <a href="{% url 'core:child-list' %}">{% trans "Children" %}</a>
</li>
<li class="breadcrumb-item fw-bold">
<a href="{% url 'core:child' object.slug %}">{{ object }}</a>
</li>
<li class="breadcrumb-item active" aria-current="page">{% trans "Delete" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Delete" %}</li>
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<form role="form" method="post"> <form role="form" method="post">
{% csrf_token %} {% csrf_token %}
{% blocktrans trimmed %} {% blocktrans trimmed %}
<h1>Are you sure you want to delete <span class="text-info">{{ object }}</span>?</h1> <h1>
Are you sure you want to delete <span class="text-info">{{ object }}</span>?
</h1>
{% endblocktrans %} {% endblocktrans %}
<div class="form-group"> <div class="form-group">
<label for="{{ form.confirm_name.id_for_label }}"> <label for="{{ form.confirm_name.id_for_label }}">
@ -24,11 +29,9 @@
{% else %} {% else %}
{{ form.confirm_name|add_class:"form-control" }} {{ form.confirm_name|add_class:"form-control" }}
{% endif %} {% endif %}
{% if form.confirm_name.errors %} {% if form.confirm_name.errors %}<div class="invalid-feedback">{{ form.confirm_name.errors.0 }}</div>{% endif %}
<div class="invalid-feedback">{{ form.confirm_name.errors.0 }}</div>
{% endif %}
</div> </div>
<input type="submit" value="{% trans "Delete" %}" class="btn btn-danger" /> <input type="submit" value="{% trans "Delete" %}" class="btn btn-danger" />
<a href="{% url 'core:child-list' %}" class="btn btn-default">{% trans "Cancel" %}</a> <a href="{% url 'core:child-list' %}" class="btn btn-default">{% trans "Cancel" %}</a>
</form> </form>
{% endblock %} {% endblock %}

View File

@ -1,37 +1,34 @@
{% extends 'babybuddy/page.html' %} {% extends 'babybuddy/page.html' %}
{% load breadcrumb duration i18n imagekit static %} {% load breadcrumb duration i18n imagekit static %}
{% block title %}{{ object }}{% endblock %} {% block title %}{{ object }}{% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
<li class="breadcrumb-item"><a href="{% url 'core:child-list' %}">{% trans "Children" %}</a></li> <li class="breadcrumb-item">
<li class="breadcrumb-item fw-bold"> <a href="{% url 'core:child-list' %}">{% trans "Children" %}</a>
{% child_quick_switch object 'core:child' %}
</li> </li>
<li class="breadcrumb-item fw-bold">{% child_quick_switch object 'core:child' %}</li>
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<div class="child-detail-column"> <div class="child-detail-column">
<div class="row"> <div class="row">
<div class="col-lg-4 col-md-6 pb-3 text-center"> <div class="col-lg-4 col-md-6 pb-3 text-center">
{% if object.picture %} {% if object.picture %}
{% thumbnail '150x150' object.picture as thumb %} {% thumbnail '150x150' object.picture as thumb %}
<img src="{{ thumb.url }}" class="child-photo img-fluid rounded-circle" /> <img src="{{ thumb.url }}" class="child-photo img-fluid rounded-circle" />
{% else %} {% else %}
<img src="{% static 'babybuddy/img/core/child-placeholder.png' %}" class="child-photo img-fluid rounded-circle" /> <img src="{% static 'babybuddy/img/core/child-placeholder.png' %}"
{% endif %} class="child-photo img-fluid rounded-circle" />
<div class="child-name display-4">{{ object }}</div> {% endif %}
<p class="lead"> <div class="child-name display-4">{{ object }}</div>
{% trans "Born" %} <span class="text-secondary">{{ object.birth_datetime }}</span><br/> <p class="lead">
{% trans "Age" %} <span class="text-secondary">{{ object.birth_datetime|child_age_string }}</span> {% trans "Born" %} <span class="text-secondary">{{ object.birth_datetime }}</span>
</p> <br />
{% include 'dashboard/child_button_group.html' %} {% trans "Age" %} <span class="text-secondary">{{ object.birth_datetime|child_age_string }}</span>
</p>
{% include 'dashboard/child_button_group.html' %}
</div>
</div> </div>
</div> </div>
</div> <div class="row">
<div class="row"> <div class="col-lg-8 offset-lg-4 col-md-6 offset-md-6">{% include 'timeline/_timeline.html' %}</div>
<div class="col-lg-8 offset-lg-4 col-md-6 offset-md-6">
{% include 'timeline/_timeline.html' %}
</div> </div>
</div> {% endblock %}
{% endblock %}

View File

@ -1,6 +1,5 @@
{% extends 'babybuddy/page.html' %} {% extends 'babybuddy/page.html' %}
{% load i18n %} {% load i18n %}
{% block title %} {% block title %}
{% if object %} {% if object %}
{{ object }} {{ object }}
@ -8,24 +7,28 @@
{% trans "Add a Child" %} {% trans "Add a Child" %}
{% endif %} {% endif %}
{% endblock %} {% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
<li class="breadcrumb-item"><a href="{% url 'core:child-list' %}">{% trans "Children" %}</a></li> <li class="breadcrumb-item">
<a href="{% url 'core:child-list' %}">{% trans "Children" %}</a>
</li>
{% if object %} {% if object %}
<li class="breadcrumb-item fw-bold"><a href="{% url 'core:child' object.slug %}">{{ object }}</a></li> <li class="breadcrumb-item fw-bold">
<a href="{% url 'core:child' object.slug %}">{{ object }}</a>
</li>
<li class="breadcrumb-item active" aria-current="page">{% trans "Update" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Update" %}</li>
{% else %} {% else %}
<li class="breadcrumb-item active" aria-current="page">{% trans "Add a Child" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Add a Child" %}</li>
{% endif %} {% endif %}
{% endblock %} {% endblock %}
{% block content %} {% block content %}
{% if object %} {% if object %}
{% blocktrans trimmed %} {% blocktrans trimmed %}
<h1>Update <span class="text-info">{{ object }}</span></h1> <h1>
Update <span class="text-info">{{ object }}</span>
</h1>
{% endblocktrans %} {% endblocktrans %}
{% else %} {% else %}
<h1>{% trans "Add a Child" %}</h1> <h1>{% trans "Add a Child" %}</h1>
{% endif %} {% endif %}
{% include 'babybuddy/form.html' %} {% include 'babybuddy/form.html' %}
{% endblock %} {% endblock %}

View File

@ -1,12 +1,11 @@
{% extends 'babybuddy/page.html' %} {% extends 'babybuddy/page.html' %}
{% load i18n imagekit static widget_tweaks %} {% load i18n imagekit static widget_tweaks %}
{% block title %}
{% block title %}{% trans "Children" %}{% endblock %} {% trans "Children" %}
{% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
<li class="breadcrumb-item active" aria-current="page">{% trans "Children" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Children" %}</li>
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<h1> <h1>
{% trans "Children" %} {% trans "Children" %}
@ -21,7 +20,9 @@
<table class="table table-borderless table-striped table-hover align-middle"> <table class="table table-borderless table-striped table-hover align-middle">
<thead> <thead>
<tr> <tr>
<th><i class="icon-camera" aria-hidden="true"></i></th> <th>
<i class="icon-camera" aria-hidden="true"></i>
</th>
<th>{% trans "First Name" %}</th> <th>{% trans "First Name" %}</th>
<th>{% trans "Last Name" %}</th> <th>{% trans "Last Name" %}</th>
<th>{% trans "Birth Date" %}</th> <th>{% trans "Birth Date" %}</th>
@ -35,7 +36,10 @@
{% if child.picture %} {% if child.picture %}
{% include "core/child_thumbnail.html" %} {% include "core/child_thumbnail.html" %}
{% else %} {% else %}
<img src="{% static 'babybuddy/img/core/child-placeholder.png' %}" width="40" height="40" class="img-fluid rounded-circle" /> <img src="{% static 'babybuddy/img/core/child-placeholder.png' %}"
width="40"
height="40"
class="img-fluid rounded-circle" />
{% endif %} {% endif %}
</td> </td>
<th scope="row"> <th scope="row">
@ -44,20 +48,21 @@
<td>{{ child.last_name }}</td> <td>{{ child.last_name }}</td>
<td>{{ child.birth_datetime }}</td> <td>{{ child.birth_datetime }}</td>
<td class="text-center"> <td class="text-center">
<div class="btn-group btn-group-sm" role="group" aria-label="{% trans "Actions" %}"> <div class="btn-group btn-group-sm"
role="group"
aria-label="{% trans "Actions" %}">
{% if perms.core.change_child %} {% if perms.core.change_child %}
<a href="{% url 'core:child-update' child.slug %}" class="btn btn-warning"> <a href="{% url 'core:child-update' child.slug %}"
class="btn btn-warning">
<i class="icon-update" aria-hidden="true"></i> <i class="icon-update" aria-hidden="true"></i>
</a> </a>
{% endif %} {% endif %}
{% if perms.core.delete_child %} {% if perms.core.delete_child %}
<a href="{% url 'core:child-delete' child.slug %}" class="btn btn-danger"> <a href="{% url 'core:child-delete' child.slug %}"
class="btn btn-danger">
<i class="icon-delete" aria-hidden="true"></i> <i class="icon-delete" aria-hidden="true"></i>
</a> </a>
{% endif %} {% endif %}
</div> </div>
</td> </td>
</tr> </tr>

View File

@ -1,18 +1,27 @@
{% load i18n %} {% load i18n %}
<a href="{% url 'core:child' current_child.slug %}">{{ current_child }}</a> <a href="{% url 'core:child' current_child.slug %}">{{ current_child }}</a>
{% if children.count > 0 %} {% if children.count > 0 %}
<a href="#" class="ms-1 ps-1 pe-1 dropdown-toggle-split" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a href="#"
class="ms-1 ps-1 pe-1 dropdown-toggle-split"
data-bs-toggle="dropdown"
aria-haspopup="true"
aria-expanded="false">
<span class="visually-hidden">{% trans 'Switch child' %}</span> <span class="visually-hidden">{% trans 'Switch child' %}</span>
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16"> <svg xmlns="http://www.w3.org/2000/svg"
width="16"
height="16"
fill="currentColor"
viewBox="0 0 16 16">
<path d="M3.626 6.832A.5.5 0 0 1 4 6h8a.5.5 0 0 1 .374.832l-4 4.5a.5.5 0 0 1-.748 0l-4-4.5z"></path> <path d="M3.626 6.832A.5.5 0 0 1 4 6h8a.5.5 0 0 1 .374.832l-4 4.5a.5.5 0 0 1-.748 0l-4-4.5z"></path>
<path d="M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2z"></path> <path d="M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2z">
</path>
</svg> </svg>
</a> </a>
<div class="dropdown-menu dropdown-menu-start"> <div class="dropdown-menu dropdown-menu-start">
<h6 class="dropdown-header">{% trans "Switch to…" %}</h6> <h6 class="dropdown-header">{% trans "Switch to…" %}</h6>
{% for child in children %} {% for child in children %}
<a class="dropdown-item d-flex align-items-center" href="{% url target_url child.slug %}"> <a class="dropdown-item d-flex align-items-center"
href="{% url target_url child.slug %}">
{% include "core/child_thumbnail.html" %} {% include "core/child_thumbnail.html" %}
<span class="text-wrap ms-2">{{ child }}</span> <span class="text-wrap ms-2">{{ child }}</span>
</a> </a>

View File

@ -1,10 +1,13 @@
{% with id=widget.attrs.id %} {% with id=widget.attrs.id %}
<div{% if id %} id="{{ id }}"{% endif %} class="btn-group btn-group-toggle" data-bs-toggle="buttons"> <div {% if id %}id="{{ id }}"{% endif %}
class="btn-group btn-group-toggle"
data-bs-toggle="buttons">
{% for group, options, index in widget.optgroups %} {% for group, options, index in widget.optgroups %}
{% for option in options %} {% for option in options %}
{% if option.value != '' %} {% if option.value != '' %}
{% include option.template_name with widget=option %} {% include option.template_name with widget=option %}
{% endif %} {% endif %}
{% endfor %} {% endfor %}
{% endfor %} {% endfor %}
</div>{% endwith %} </div>
{% endwith %}

View File

@ -1,7 +1,7 @@
{% load imagekit static %} {% load imagekit static %}
{% include "django/forms/widgets/input.html" %} {% include "django/forms/widgets/input.html" %}
<label{% if widget.attrs.id %} for="{{ widget.attrs.id }}"{% endif %} class="btn btn-outline-light btn-no-hover"> <label {% if widget.attrs.id %}for="{{ widget.attrs.id }}"{% endif %}
class="btn btn-outline-light btn-no-hover">
{% include "core/child_thumbnail.html" with child=widget %} {% include "core/child_thumbnail.html" with child=widget %}
{{ widget.label }} {{ widget.label }}
</label> </label>

View File

@ -1,9 +1,10 @@
{% load imagekit static %} {% load imagekit static %}
{% if child.picture %} {% if child.picture %}
{% thumbnail '40x40' child.picture as thumb %} {% thumbnail '40x40' child.picture as thumb %}
<img src="{{ thumb.url }}" class="img-fluid rounded-circle" /> <img src="{{ thumb.url }}" class="img-fluid rounded-circle" />
{% else %} {% else %}
<img src="{% static 'babybuddy/img/core/child-placeholder.png' %}" <img src="{% static 'babybuddy/img/core/child-placeholder.png' %}"
width="40" height="40" class="img-fluid rounded-circle" /> width="40"
{% endif %} height="40"
class="img-fluid rounded-circle" />
{% endif %}

View File

@ -1,20 +1,23 @@
{% extends 'babybuddy/page.html' %} {% extends 'babybuddy/page.html' %}
{% load i18n widget_tweaks %} {% load i18n widget_tweaks %}
{% block title %}
{% block title %}{% trans "Delete a Diaper Change" %}{% endblock %} {% trans "Delete a Diaper Change" %}
{% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
<li class="breadcrumb-item"><a href="{% url 'core:diaperchange-list' %}">{% trans "Diaper Changes" %}</a></li> <li class="breadcrumb-item">
<a href="{% url 'core:diaperchange-list' %}">{% trans "Diaper Changes" %}</a>
</li>
<li class="breadcrumb-item active" aria-current="page">{% trans "Delete" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Delete" %}</li>
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<form role="form" method="post"> <form role="form" method="post">
{% csrf_token %} {% csrf_token %}
{% blocktrans trimmed %} {% blocktrans trimmed %}
<h1>Are you sure you want to delete <span class="text-info">{{ object }}</span>?</h1> <h1>
Are you sure you want to delete <span class="text-info">{{ object }}</span>?
</h1>
{% endblocktrans %} {% endblocktrans %}
<input type="submit" value="{% trans "Delete" %}" class="btn btn-danger" /> <input type="submit" value="{% trans "Delete" %}" class="btn btn-danger" />
<a href="{% url 'core:diaperchange-list' %}" class="btn btn-default">{% trans "Cancel" %}</a> <a href="{% url 'core:diaperchange-list' %}" class="btn btn-default">{% trans "Cancel" %}</a>
</form> </form>
{% endblock %} {% endblock %}

View File

@ -1,6 +1,5 @@
{% extends 'babybuddy/page.html' %} {% extends 'babybuddy/page.html' %}
{% load datetime i18n %} {% load datetime i18n %}
{% block title %} {% block title %}
{% if request.resolver_match.url_name == 'diaperchange-update' %} {% if request.resolver_match.url_name == 'diaperchange-update' %}
{% trans "Update a Diaper Change" %} {% trans "Update a Diaper Change" %}
@ -8,20 +7,22 @@
{% trans "Add a Diaper Change" %} {% trans "Add a Diaper Change" %}
{% endif %} {% endif %}
{% endblock %} {% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
<li class="breadcrumb-item"><a href="{% url 'core:diaperchange-list' %}">{% trans "Diaper Changes" %}</a></li> <li class="breadcrumb-item">
<a href="{% url 'core:diaperchange-list' %}">{% trans "Diaper Changes" %}</a>
</li>
{% if object %} {% if object %}
<li class="breadcrumb-item active" aria-current="page">{% trans "Update" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Update" %}</li>
{% else %} {% else %}
<li class="breadcrumb-item active" aria-current="page">{% trans "Add" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Add" %}</li>
{% endif %} {% endif %}
{% endblock %} {% endblock %}
{% block content %} {% block content %}
{% if object %} {% if object %}
{% blocktrans trimmed %} {% blocktrans trimmed %}
<h1>Update <span class="text-info">{{ object }}</span></h1> <h1>
Update <span class="text-info">{{ object }}</span>
</h1>
{% endblocktrans %} {% endblocktrans %}
{% else %} {% else %}
<h1>{% trans "Add a Diaper Change" %}</h1> <h1>{% trans "Add a Diaper Change" %}</h1>

View File

@ -1,17 +1,17 @@
{% extends 'babybuddy/page.html' %} {% extends 'babybuddy/page.html' %}
{% load bootstrap datetime i18n widget_tweaks %} {% load bootstrap datetime i18n widget_tweaks %}
{% block title %}
{% block title %}{% trans "Diaper Changes" %}{% endblock %} {% trans "Diaper Changes" %}
{% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
<li class="breadcrumb-item active" aria-current="page">{% trans "Diaper Changes" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Diaper Changes" %}</li>
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<h1> <h1>
{% trans "Diaper Changes" %} {% trans "Diaper Changes" %}
{% if perms.core.add_diaperchange %} {% if perms.core.add_diaperchange %}
<a href="{% url 'core:diaperchange-add' %}" class="btn btn-sm btn-success"> <a href="{% url 'core:diaperchange-add' %}"
class="btn btn-sm btn-success">
<i class="icon-diaperchange" aria-hidden="true"></i> {% trans "Add Diaper Change" %} <i class="icon-diaperchange" aria-hidden="true"></i> {% trans "Add Diaper Change" %}
</a> </a>
{% endif %} {% endif %}
@ -36,39 +36,46 @@
{% for change in object_list %} {% for change in object_list %}
<tr> <tr>
<td> <td>
<div class="btn-group btn-group-sm" role="group" aria-label="{% trans "Actions" %}"> <div class="btn-group btn-group-sm"
role="group"
aria-label="{% trans "Actions" %}">
{% if perms.core.change_diaperchange %} {% if perms.core.change_diaperchange %}
<a href="{% url 'core:diaperchange-update' change.id %}" class="btn btn-primary"> <a href="{% url 'core:diaperchange-update' change.id %}"
class="btn btn-primary">
<i class="icon-update" aria-hidden="true"></i> <i class="icon-update" aria-hidden="true"></i>
</a> </a>
{% endif %} {% endif %}
{% if perms.core.delete_diaperchange %} {% if perms.core.delete_diaperchange %}
<a href="{% url 'core:diaperchange-delete' change.id %}" class="btn btn-danger"> <a href="{% url 'core:diaperchange-delete' change.id %}"
class="btn btn-danger">
<i class="icon-delete" aria-hidden="true"></i> <i class="icon-delete" aria-hidden="true"></i>
</a> </a>
{% endif %} {% endif %}
</div> </div>
</td> </td>
<th scope="row">{{ change.time|datetime_short }}</th> <th scope="row">{{ change.time|datetime_short }}</th>
{% if not unique_child %} {% if not unique_child %}
<td><a href="{% url 'core:child' change.child.slug %}">{{ change.child }}</a></td> <td>
<a href="{% url 'core:child' change.child.slug %}">{{ change.child }}</a>
</td>
{% endif %} {% endif %}
<td class="text-center"> <td class="text-center">
{% if change.wet %}<span title="{% trans "Wet" %}">💦</span>{% endif %} {% if change.wet %}
{% if change.solid %}<span title="{% trans "Solid" %}">💩</span>{% endif %} <span title="{% trans "Wet" %}">💦</span>
{% endif %}
{% if change.solid %}
<span title="{% trans "Solid" %}">💩</span>
{% endif %}
</td> </td>
<td>{{ change.get_color_display }}</td> <td>{{ change.get_color_display }}</td>
<td>{{ change.amount|default_if_none:"" }}</td> <td>{{ change.amount|default_if_none:"" }}</td>
<td> <td>{% include "core/render_tag_list.html" with tags=change.tags.all %}</td>
{% include "core/render_tag_list.html" with tags=change.tags.all %}
</td>
</tr> </tr>
{% if change.notes %} {% if change.notes %}
<tr class="{{ row_class }} row-details"> <tr class="{{ row_class }} row-details">
<td colspan="7"><i class="icon-note me-2" aria-hidden="true"></i>{{ change.notes }}</td> <td colspan="7">
<i class="icon-note me-2" aria-hidden="true"></i>{{ change.notes }}
</td>
</tr> </tr>
{% endif %} {% endif %}
{% empty %} {% empty %}
@ -80,4 +87,4 @@
</table> </table>
</div> </div>
{% include 'babybuddy/paginator.html' %} {% include 'babybuddy/paginator.html' %}
{% endblock %} {% endblock %}

View File

@ -1,20 +1,23 @@
{% extends 'babybuddy/page.html' %} {% extends 'babybuddy/page.html' %}
{% load i18n widget_tweaks %} {% load i18n widget_tweaks %}
{% block title %}
{% block title %}{% trans "Delete a Feeding" %}{% endblock %} {% trans "Delete a Feeding" %}
{% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
<li class="breadcrumb-item"><a href="{% url 'core:feeding-list' %}">{% trans "Feedings" %}</a></li> <li class="breadcrumb-item">
<a href="{% url 'core:feeding-list' %}">{% trans "Feedings" %}</a>
</li>
<li class="breadcrumb-item active" aria-current="page">{% trans "Delete" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Delete" %}</li>
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<form role="form" method="post"> <form role="form" method="post">
{% csrf_token %} {% csrf_token %}
{% blocktrans trimmed %} {% blocktrans trimmed %}
<h1>Are you sure you want to delete <span class="text-info">{{ object }}</span>?</h1> <h1>
Are you sure you want to delete <span class="text-info">{{ object }}</span>?
</h1>
{% endblocktrans %} {% endblocktrans %}
<input type="submit" value="{% trans "Delete" %}" class="btn btn-danger" /> <input type="submit" value="{% trans "Delete" %}" class="btn btn-danger" />
<a href="{% url 'core:feeding-list' %}" class="btn btn-default">{% trans "Cancel" %}</a> <a href="{% url 'core:feeding-list' %}" class="btn btn-default">{% trans "Cancel" %}</a>
</form> </form>
{% endblock %} {% endblock %}

View File

@ -1,6 +1,5 @@
{% extends 'babybuddy/page.html' %} {% extends 'babybuddy/page.html' %}
{% load datetime i18n %} {% load datetime i18n %}
{% block title %} {% block title %}
{% if request.resolver_match.url_name == 'feeding-update' %} {% if request.resolver_match.url_name == 'feeding-update' %}
{% trans "Update a Feeding" %} {% trans "Update a Feeding" %}
@ -10,20 +9,22 @@
{% trans "Add a Feeding" %} {% trans "Add a Feeding" %}
{% endif %} {% endif %}
{% endblock %} {% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
<li class="breadcrumb-item"><a href="{% url 'core:feeding-list' %}">{% trans "Feedings" %}</a></li> <li class="breadcrumb-item">
<a href="{% url 'core:feeding-list' %}">{% trans "Feedings" %}</a>
</li>
{% if object %} {% if object %}
<li class="breadcrumb-item active" aria-current="page">{% trans "Update" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Update" %}</li>
{% else %} {% else %}
<li class="breadcrumb-item active" aria-current="page">{% trans "Add" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Add" %}</li>
{% endif %} {% endif %}
{% endblock %} {% endblock %}
{% block content %} {% block content %}
{% if object %} {% if object %}
{% blocktrans trimmed %} {% blocktrans trimmed %}
<h1>Update <span class="text-info">{{ object }}</span></h1> <h1>
Update <span class="text-info">{{ object }}</span>
</h1>
{% endblocktrans %} {% endblocktrans %}
{% elif request.resolver_match.url_name == 'bottle-feeding-add' %} {% elif request.resolver_match.url_name == 'bottle-feeding-add' %}
<h1>{% trans "Add a Bottle Feeding" %}</h1> <h1>{% trans "Add a Bottle Feeding" %}</h1>

View File

@ -1,12 +1,11 @@
{% extends 'babybuddy/page.html' %} {% extends 'babybuddy/page.html' %}
{% load datetime duration i18n widget_tweaks %} {% load datetime duration i18n widget_tweaks %}
{% block title %}
{% block title %}{% trans "Feedings" %}{% endblock %} {% trans "Feedings" %}
{% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
<li class="breadcrumb-item active" aria-current="page">{% trans "Feedings" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Feedings" %}</li>
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<h1> <h1>
{% trans "Feedings" %} {% trans "Feedings" %}
@ -38,41 +37,42 @@
{% for feeding in object_list %} {% for feeding in object_list %}
<tr> <tr>
<td> <td>
<div class="btn-group btn-group-sm" role="group" aria-label="{% trans "Actions" %}"> <div class="btn-group btn-group-sm"
role="group"
aria-label="{% trans "Actions" %}">
{% if perms.core.change_feeding %} {% if perms.core.change_feeding %}
<a href="{% url 'core:feeding-update' feeding.id %}" class="btn btn-primary"> <a href="{% url 'core:feeding-update' feeding.id %}"
class="btn btn-primary">
<i class="icon-update" aria-hidden="true"></i> <i class="icon-update" aria-hidden="true"></i>
</a> </a>
{% endif %} {% endif %}
{% if perms.core.delete_feeding %} {% if perms.core.delete_feeding %}
<a href="{% url 'core:feeding-delete' feeding.id %}" class="btn btn-danger"> <a href="{% url 'core:feeding-delete' feeding.id %}"
class="btn btn-danger">
<i class="icon-delete" aria-hidden="true"></i> <i class="icon-delete" aria-hidden="true"></i>
</a> </a>
{% endif %} {% endif %}
</div> </div>
</td> </td>
<th scope="row">{{ feeding.start|datetime_short }}</th> <th scope="row">{{ feeding.start|datetime_short }}</th>
{% if not unique_child %} {% if not unique_child %}
<td><a href="{% url 'core:child' feeding.child.slug %}">{{ feeding.child }}</a></td> <td>
<a href="{% url 'core:child' feeding.child.slug %}">{{ feeding.child }}</a>
</td>
{% endif %} {% endif %}
<td>{{ feeding.get_method_display }}</td> <td>{{ feeding.get_method_display }}</td>
<td>{{ feeding.get_type_display }}</td> <td>{{ feeding.get_type_display }}</td>
<td> <td>
{% if feeding.amount %} {% if feeding.amount %}{{ feeding.amount }}{% endif %}
{{ feeding.amount }}
{% endif %}
</td> </td>
<td>{{ feeding.duration|duration_string }}</td> <td>{{ feeding.duration|duration_string }}</td>
<td> <td>{% include "core/render_tag_list.html" with tags=feeding.tags.all %}</td>
{% include "core/render_tag_list.html" with tags=feeding.tags.all %}
</td>
</tr> </tr>
{% if feeding.notes %} {% if feeding.notes %}
<tr class="{{ row_class }} row-details"> <tr class="{{ row_class }} row-details">
<td colspan="8"><i class="icon-note me-2" aria-hidden="true"></i>{{ feeding.notes }}</td> <td colspan="8">
<i class="icon-note me-2" aria-hidden="true"></i>{{ feeding.notes }}
</td>
</tr> </tr>
{% endif %} {% endif %}
{% empty %} {% empty %}
@ -84,4 +84,4 @@
</table> </table>
</div> </div>
{% include 'babybuddy/paginator.html' %} {% include 'babybuddy/paginator.html' %}
{% endblock %} {% endblock %}

View File

@ -1,20 +1,24 @@
{% extends 'babybuddy/page.html' %} {% extends 'babybuddy/page.html' %}
{% load i18n widget_tweaks %} {% load i18n widget_tweaks %}
{% block title %}
{% block title %}{% trans "Delete a Head Circumference Entry" %}{% endblock %} {% trans "Delete a Head Circumference Entry" %}
{% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
<li class="breadcrumb-item"><a href="{% url 'core:head-circumference-list' %}">{% trans "Head Circumference" %}</a></li> <li class="breadcrumb-item">
<a href="{% url 'core:head-circumference-list' %}">{% trans "Head Circumference" %}</a>
</li>
<li class="breadcrumb-item active" aria-current="page">{% trans "Delete" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Delete" %}</li>
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<form role="form" method="post"> <form role="form" method="post">
{% csrf_token %} {% csrf_token %}
{% blocktrans trimmed %} {% blocktrans trimmed %}
<h1>Are you sure you want to delete <span class="text-info">{{ object }}</span>?</h1> <h1>
Are you sure you want to delete <span class="text-info">{{ object }}</span>?
</h1>
{% endblocktrans %} {% endblocktrans %}
<input type="submit" value="{% trans "Delete" %}" class="btn btn-danger" /> <input type="submit" value="{% trans "Delete" %}" class="btn btn-danger" />
<a href="{% url 'core:head-circumference-list' %}" class="btn btn-default">{% trans "Cancel" %}</a> <a href="{% url 'core:head-circumference-list' %}"
class="btn btn-default">{% trans "Cancel" %}</a>
</form> </form>
{% endblock %} {% endblock %}

View File

@ -1,6 +1,5 @@
{% extends 'babybuddy/page.html' %} {% extends 'babybuddy/page.html' %}
{% load i18n %} {% load i18n %}
{% block title %} {% block title %}
{% if object %} {% if object %}
{{ object }} {{ object }}
@ -8,20 +7,22 @@
{% trans "Add a Head Circumference Entry" %} {% trans "Add a Head Circumference Entry" %}
{% endif %} {% endif %}
{% endblock %} {% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
<li class="breadcrumb-item"><a href="{% url 'core:head-circumference-list' %}">{% trans "Head Circumference" %}</a></li> <li class="breadcrumb-item">
<a href="{% url 'core:head-circumference-list' %}">{% trans "Head Circumference" %}</a>
</li>
{% if object %} {% if object %}
<li class="breadcrumb-item active" aria-current="page">{% trans "Update" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Update" %}</li>
{% else %} {% else %}
<li class="breadcrumb-item active" aria-current="page">{% trans "Add a Head Circumference Entry" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Add a Head Circumference Entry" %}</li>
{% endif %} {% endif %}
{% endblock %} {% endblock %}
{% block content %} {% block content %}
{% if object %} {% if object %}
{% blocktrans trimmed %} {% blocktrans trimmed %}
<h1>Update <span class="text-info">{{ object }}</span></h1> <h1>
Update <span class="text-info">{{ object }}</span>
</h1>
{% endblocktrans %} {% endblocktrans %}
{% else %} {% else %}
<h1>{% trans "Add a Head Circumference Entry" %}</h1> <h1>{% trans "Add a Head Circumference Entry" %}</h1>

View File

@ -1,17 +1,17 @@
{% extends 'babybuddy/page.html' %} {% extends 'babybuddy/page.html' %}
{% load i18n widget_tweaks %} {% load i18n widget_tweaks %}
{% block title %}
{% block title %}{% trans "Head Circumference" %}{% endblock %} {% trans "Head Circumference" %}
{% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
<li class="breadcrumb-item active" aria-current="page">{% trans "Head Circumference" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Head Circumference" %}</li>
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<h1> <h1>
{% trans "Head Circumference" %} {% trans "Head Circumference" %}
{% if perms.core.add_head_circumference %} {% if perms.core.add_head_circumference %}
<a href="{% url 'core:head-circumference-add' %}" class="btn btn-sm btn-success"> <a href="{% url 'core:head-circumference-add' %}"
class="btn btn-sm btn-success">
<i class="icon-head-circumference" aria-hidden="true"></i> {% trans "Add Head Circumference" %} <i class="icon-head-circumference" aria-hidden="true"></i> {% trans "Add Head Circumference" %}
</a> </a>
{% endif %} {% endif %}
@ -34,34 +34,37 @@
{% for head_circumference in object_list %} {% for head_circumference in object_list %}
<tr> <tr>
<td> <td>
<div class="btn-group btn-group-sm" role="group" aria-label="{% trans "Actions" %}"> <div class="btn-group btn-group-sm"
role="group"
aria-label="{% trans "Actions" %}">
{% if perms.core.change_head_circumference %} {% if perms.core.change_head_circumference %}
<a href="{% url 'core:head-circumference-update' head_circumference.id %}" class="btn btn-primary"> <a href="{% url 'core:head-circumference-update' head_circumference.id %}"
class="btn btn-primary">
<i class="icon-update" aria-hidden="true"></i> <i class="icon-update" aria-hidden="true"></i>
</a> </a>
{% endif %} {% endif %}
{% if perms.core.delete_head_circumference %} {% if perms.core.delete_head_circumference %}
<a href="{% url 'core:head-circumference-delete' head_circumference.id %}" class="btn btn-danger"> <a href="{% url 'core:head-circumference-delete' head_circumference.id %}"
class="btn btn-danger">
<i class="icon-delete" aria-hidden="true"></i> <i class="icon-delete" aria-hidden="true"></i>
</a> </a>
{% endif %} {% endif %}
</div> </div>
</td> </td>
<th scope="row">{{ head_circumference.date }}</th> <th scope="row">{{ head_circumference.date }}</th>
{% if not unique_child %} {% if not unique_child %}
<td><a href="{% url 'core:child' head_circumference.child.slug %}">{{ head_circumference.child }}</a></td> <td>
<a href="{% url 'core:child' head_circumference.child.slug %}">{{ head_circumference.child }}</a>
</td>
{% endif %} {% endif %}
<td>{{ head_circumference.head_circumference }}</td> <td>{{ head_circumference.head_circumference }}</td>
<td> <td>{% include "core/render_tag_list.html" with tags=head_circumference.tags.all %}</td>
{% include "core/render_tag_list.html" with tags=head_circumference.tags.all %}
</td>
</tr> </tr>
{% if head_circumference.notes %} {% if head_circumference.notes %}
<tr class="{{ row_class }} row-details"> <tr class="{{ row_class }} row-details">
<td colspan="5"><i class="icon-note me-2" aria-hidden="true"></i>{{ head_circumference.notes }}</td> <td colspan="5">
<i class="icon-note me-2" aria-hidden="true"></i>{{ head_circumference.notes }}
</td>
</tr> </tr>
{% endif %} {% endif %}
{% empty %} {% empty %}
@ -73,4 +76,4 @@
</table> </table>
</div> </div>
{% include 'babybuddy/paginator.html' %} {% include 'babybuddy/paginator.html' %}
{% endblock %} {% endblock %}

View File

@ -1,20 +1,23 @@
{% extends 'babybuddy/page.html' %} {% extends 'babybuddy/page.html' %}
{% load i18n widget_tweaks %} {% load i18n widget_tweaks %}
{% block title %}
{% block title %}{% trans "Delete a Height Entry" %}{% endblock %} {% trans "Delete a Height Entry" %}
{% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
<li class="breadcrumb-item"><a href="{% url 'core:height-list' %}">{% trans "Height" %}</a></li> <li class="breadcrumb-item">
<a href="{% url 'core:height-list' %}">{% trans "Height" %}</a>
</li>
<li class="breadcrumb-item active" aria-current="page">{% trans "Delete" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Delete" %}</li>
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<form role="form" method="post"> <form role="form" method="post">
{% csrf_token %} {% csrf_token %}
{% blocktrans trimmed %} {% blocktrans trimmed %}
<h1>Are you sure you want to delete <span class="text-info">{{ object }}</span>?</h1> <h1>
Are you sure you want to delete <span class="text-info">{{ object }}</span>?
</h1>
{% endblocktrans %} {% endblocktrans %}
<input type="submit" value="{% trans "Delete" %}" class="btn btn-danger" /> <input type="submit" value="{% trans "Delete" %}" class="btn btn-danger" />
<a href="{% url 'core:height-list' %}" class="btn btn-default">{% trans "Cancel" %}</a> <a href="{% url 'core:height-list' %}" class="btn btn-default">{% trans "Cancel" %}</a>
</form> </form>
{% endblock %} {% endblock %}

View File

@ -1,6 +1,5 @@
{% extends 'babybuddy/page.html' %} {% extends 'babybuddy/page.html' %}
{% load i18n %} {% load i18n %}
{% block title %} {% block title %}
{% if object %} {% if object %}
{{ object }} {{ object }}
@ -8,20 +7,22 @@
{% trans "Add a Height Entry" %} {% trans "Add a Height Entry" %}
{% endif %} {% endif %}
{% endblock %} {% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
<li class="breadcrumb-item"><a href="{% url 'core:height-list' %}">{% trans "Height" %}</a></li> <li class="breadcrumb-item">
<a href="{% url 'core:height-list' %}">{% trans "Height" %}</a>
</li>
{% if object %} {% if object %}
<li class="breadcrumb-item active" aria-current="page">{% trans "Update" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Update" %}</li>
{% else %} {% else %}
<li class="breadcrumb-item active" aria-current="page">{% trans "Add a Height Entry" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Add a Height Entry" %}</li>
{% endif %} {% endif %}
{% endblock %} {% endblock %}
{% block content %} {% block content %}
{% if object %} {% if object %}
{% blocktrans trimmed %} {% blocktrans trimmed %}
<h1>Update <span class="text-info">{{ object }}</span></h1> <h1>
Update <span class="text-info">{{ object }}</span>
</h1>
{% endblocktrans %} {% endblocktrans %}
{% else %} {% else %}
<h1>{% trans "Add a Height Entry" %}</h1> <h1>{% trans "Add a Height Entry" %}</h1>

View File

@ -1,12 +1,11 @@
{% extends 'babybuddy/page.html' %} {% extends 'babybuddy/page.html' %}
{% load i18n widget_tweaks %} {% load i18n widget_tweaks %}
{% block title %}
{% block title %}{% trans "Height" %}{% endblock %} {% trans "Height" %}
{% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
<li class="breadcrumb-item active" aria-current="page">{% trans "Height" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Height" %}</li>
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<h1> <h1>
{% trans "Height" %} {% trans "Height" %}
@ -34,34 +33,37 @@
{% for height in object_list %} {% for height in object_list %}
<tr> <tr>
<td> <td>
<div class="btn-group btn-group-sm" role="group" aria-label="{% trans "Actions" %}"> <div class="btn-group btn-group-sm"
role="group"
aria-label="{% trans "Actions" %}">
{% if perms.core.change_height %} {% if perms.core.change_height %}
<a href="{% url 'core:height-update' height.id %}" class="btn btn-primary"> <a href="{% url 'core:height-update' height.id %}"
class="btn btn-primary">
<i class="icon-update" aria-hidden="true"></i> <i class="icon-update" aria-hidden="true"></i>
</a> </a>
{% endif %} {% endif %}
{% if perms.core.delete_height %} {% if perms.core.delete_height %}
<a href="{% url 'core:height-delete' height.id %}" class="btn btn-danger"> <a href="{% url 'core:height-delete' height.id %}"
class="btn btn-danger">
<i class="icon-delete" aria-hidden="true"></i> <i class="icon-delete" aria-hidden="true"></i>
</a> </a>
{% endif %} {% endif %}
</div> </div>
</td> </td>
<th scope="row">{{ height.date }}</th> <th scope="row">{{ height.date }}</th>
{% if not unique_child %} {% if not unique_child %}
<td><a href="{% url 'core:child' height.child.slug %}">{{ height.child }}</a></td> <td>
<a href="{% url 'core:child' height.child.slug %}">{{ height.child }}</a>
</td>
{% endif %} {% endif %}
<td>{{ height.height }}</td> <td>{{ height.height }}</td>
<td> <td>{% include "core/render_tag_list.html" with tags=height.tags.all %}</td>
{% include "core/render_tag_list.html" with tags=height.tags.all %}
</td>
</tr> </tr>
{% if height.notes %} {% if height.notes %}
<tr class="{{ row_class }} row-details"> <tr class="{{ row_class }} row-details">
<td colspan="5"><i class="icon-note me-2" aria-hidden="true"></i>{{ height.notes }}</td> <td colspan="5">
<i class="icon-note me-2" aria-hidden="true"></i>{{ height.notes }}
</td>
</tr> </tr>
{% endif %} {% endif %}
{% empty %} {% empty %}
@ -73,4 +75,4 @@
</table> </table>
</div> </div>
{% include 'babybuddy/paginator.html' %} {% include 'babybuddy/paginator.html' %}
{% endblock %} {% endblock %}

View File

@ -1,20 +1,23 @@
{% extends 'babybuddy/page.html' %} {% extends 'babybuddy/page.html' %}
{% load i18n widget_tweaks %} {% load i18n widget_tweaks %}
{% block title %}
{% block title %}{% trans "Delete a Note" %}{% endblock %} {% trans "Delete a Note" %}
{% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
<li class="breadcrumb-item"><a href="{% url 'core:note-list' %}">{% trans "Notes" %}</a></li> <li class="breadcrumb-item">
<a href="{% url 'core:note-list' %}">{% trans "Notes" %}</a>
</li>
<li class="breadcrumb-item active" aria-current="page">{% trans "Delete" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Delete" %}</li>
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<form role="form" method="post"> <form role="form" method="post">
{% csrf_token %} {% csrf_token %}
{% blocktrans trimmed %} {% blocktrans trimmed %}
<h1>Are you sure you want to delete <span class="text-info">{{ object }}</span>?</h1> <h1>
Are you sure you want to delete <span class="text-info">{{ object }}</span>?
</h1>
{% endblocktrans %} {% endblocktrans %}
<input type="submit" value="{% trans "Delete" %}" class="btn btn-danger" /> <input type="submit" value="{% trans "Delete" %}" class="btn btn-danger" />
<a href="{% url 'core:note-list' %}" class="btn btn-default">{% trans "Cancel" %}</a> <a href="{% url 'core:note-list' %}" class="btn btn-default">{% trans "Cancel" %}</a>
</form> </form>
{% endblock %} {% endblock %}

View File

@ -1,6 +1,5 @@
{% extends 'babybuddy/page.html' %} {% extends 'babybuddy/page.html' %}
{% load datetime i18n %} {% load datetime i18n %}
{% block title %} {% block title %}
{% if request.resolver_match.url_name == 'note-update' %} {% if request.resolver_match.url_name == 'note-update' %}
{% trans "Update a Note" %} {% trans "Update a Note" %}
@ -8,20 +7,22 @@
{% trans "Add a Note" %} {% trans "Add a Note" %}
{% endif %} {% endif %}
{% endblock %} {% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
<li class="breadcrumb-item"><a href="{% url 'core:note-list' %}">{% trans "Notes" %}</a></li> <li class="breadcrumb-item">
<a href="{% url 'core:note-list' %}">{% trans "Notes" %}</a>
</li>
{% if object %} {% if object %}
<li class="breadcrumb-item active" aria-current="page">{% trans "Update" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Update" %}</li>
{% else %} {% else %}
<li class="breadcrumb-item active" aria-current="page">{% trans "Add" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Add" %}</li>
{% endif %} {% endif %}
{% endblock %} {% endblock %}
{% block content %} {% block content %}
{% if object %} {% if object %}
{% blocktrans trimmed %} {% blocktrans trimmed %}
<h1>Update <span class="text-info">{{ object }}</span></h1> <h1>
Update <span class="text-info">{{ object }}</span>
</h1>
{% endblocktrans %} {% endblocktrans %}
{% else %} {% else %}
<h1>{% trans "Add a Note" %}</h1> <h1>{% trans "Add a Note" %}</h1>

View File

@ -1,12 +1,11 @@
{% extends 'babybuddy/page.html' %} {% extends 'babybuddy/page.html' %}
{% load datetime i18n imagekit widget_tweaks %} {% load datetime i18n imagekit widget_tweaks %}
{% block title %}
{% block title %}{% trans "Notes" %}{% endblock %} {% trans "Notes" %}
{% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
<li class="breadcrumb-item active" aria-current="page">{% trans "Notes" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Notes" %}</li>
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<h1> <h1>
{% trans "Notes" %} {% trans "Notes" %}
@ -35,44 +34,45 @@
{% for note in object_list %} {% for note in object_list %}
<tr> <tr>
<td> <td>
<div class="btn-group btn-group-sm" role="group" aria-label="{% trans "Actions" %}"> <div class="btn-group btn-group-sm"
role="group"
aria-label="{% trans "Actions" %}">
{% if perms.core.change_note %} {% if perms.core.change_note %}
<a href="{% url 'core:note-update' note.id %}" class="btn btn-primary"> <a href="{% url 'core:note-update' note.id %}" class="btn btn-primary">
<i class="icon-update" aria-hidden="true"></i> <i class="icon-update" aria-hidden="true"></i>
</a> </a>
{% endif %} {% endif %}
{% if perms.core.delete_note %} {% if perms.core.delete_note %}
<a href="{% url 'core:note-delete' note.id %}" class="btn btn-danger"> <a href="{% url 'core:note-delete' note.id %}" class="btn btn-danger">
<i class="icon-delete" aria-hidden="true"></i> <i class="icon-delete" aria-hidden="true"></i>
</a> </a>
{% endif %} {% endif %}
</div> </div>
</td> </td>
<th scope="row">{{ note.time|datetime_short }}</th> <th scope="row">{{ note.time|datetime_short }}</th>
{% if not unique_child %} {% if not unique_child %}
<td><a href="{% url 'core:child' note.child.slug %}">{{ note.child }}</a></td> <td>
<a href="{% url 'core:child' note.child.slug %}">{{ note.child }}</a>
</td>
{% endif %} {% endif %}
<td> <td>
{% if note.image %} {% if note.image %}
{% thumbnail '40x40' note.image as thumb %} {% thumbnail '40x40' note.image as thumb %}
<a href="{{ note.image.url }}" target="_blank"><img src="{{ thumb.url }}" class="img-fluid" /></a> <a href="{{ note.image.url }}" target="_blank">
{% endif %} <img src="{{ thumb.url }}" class="img-fluid" />
</td> </a>
<td>{{ note.note }}</td> {% endif %}
<td> </td>
{% include "core/render_tag_list.html" with tags=note.tags.all %} <td>{{ note.note }}</td>
</td> <td>{% include "core/render_tag_list.html" with tags=note.tags.all %}</td>
</tr> </tr>
{% empty %} {% empty %}
<tr> <tr>
<th colspan="5">{% trans "No notes found." %}</th> <th colspan="5">{% trans "No notes found." %}</th>
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>
</table> </table>
</div> </div>
{% include 'babybuddy/paginator.html' %} {% include 'babybuddy/paginator.html' %}
{% endblock %} {% endblock %}

View File

@ -1,20 +1,23 @@
{% extends 'babybuddy/page.html' %} {% extends 'babybuddy/page.html' %}
{% load i18n widget_tweaks %} {% load i18n widget_tweaks %}
{% block title %}
{% block title %}{% trans "Delete a Pumping Entry" %}{% endblock %} {% trans "Delete a Pumping Entry" %}
{% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
<li class="breadcrumb-item"><a href="{% url 'core:pumping-list' %}">{% trans "Pumping" %}</a></li> <li class="breadcrumb-item">
<a href="{% url 'core:pumping-list' %}">{% trans "Pumping" %}</a>
</li>
<li class="breadcrumb-item active" aria-current="page">{% trans "Delete" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Delete" %}</li>
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<form role="form" method="post"> <form role="form" method="post">
{% csrf_token %} {% csrf_token %}
{% blocktrans trimmed %} {% blocktrans trimmed %}
<h1>Are you sure you want to delete <span class="text-info">{{ object }}</span>?</h1> <h1>
Are you sure you want to delete <span class="text-info">{{ object }}</span>?
</h1>
{% endblocktrans %} {% endblocktrans %}
<input type="submit" value="{% trans "Delete" %}" class="btn btn-danger" /> <input type="submit" value="{% trans "Delete" %}" class="btn btn-danger" />
<a href="{% url 'core:pumping-list' %}" class="btn btn-default">{% trans "Cancel" %}</a> <a href="{% url 'core:pumping-list' %}" class="btn btn-default">{% trans "Cancel" %}</a>
</form> </form>
{% endblock %} {% endblock %}

View File

@ -1,6 +1,5 @@
{% extends 'babybuddy/page.html' %} {% extends 'babybuddy/page.html' %}
{% load datetime i18n %} {% load datetime i18n %}
{% block title %} {% block title %}
{% if object %} {% if object %}
{{ object }} {{ object }}
@ -8,20 +7,22 @@
{% trans "Add a Pumping Entry" %} {% trans "Add a Pumping Entry" %}
{% endif %} {% endif %}
{% endblock %} {% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
<li class="breadcrumb-item"><a href="{% url 'core:pumping-list' %}">{% trans "Pumping" %}</a></li> <li class="breadcrumb-item">
<a href="{% url 'core:pumping-list' %}">{% trans "Pumping" %}</a>
</li>
{% if object %} {% if object %}
<li class="breadcrumb-item active" aria-current="page">{% trans "Update" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Update" %}</li>
{% else %} {% else %}
<li class="breadcrumb-item active" aria-current="page">{% trans "Add a Pumping Entry" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Add a Pumping Entry" %}</li>
{% endif %} {% endif %}
{% endblock %} {% endblock %}
{% block content %} {% block content %}
{% if object %} {% if object %}
{% blocktrans trimmed %} {% blocktrans trimmed %}
<h1>Update <span class="text-info">{{ object }}</span></h1> <h1>
Update <span class="text-info">{{ object }}</span>
</h1>
{% endblocktrans %} {% endblocktrans %}
{% else %} {% else %}
<h1>{% trans "Add a Pumping Entry" %}</h1> <h1>{% trans "Add a Pumping Entry" %}</h1>

View File

@ -1,12 +1,11 @@
{% extends 'babybuddy/page.html' %} {% extends 'babybuddy/page.html' %}
{% load datetime duration i18n widget_tweaks %} {% load datetime duration i18n widget_tweaks %}
{% block title %}
{% block title %}{% trans "Pumping" %}{% endblock %} {% trans "Pumping" %}
{% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
<li class="breadcrumb-item active" aria-current="page">{% trans "Pumping" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Pumping" %}</li>
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<h1> <h1>
{% trans "Pumping" %} {% trans "Pumping" %}
@ -35,35 +34,38 @@
{% for pumping in object_list %} {% for pumping in object_list %}
<tr> <tr>
<td> <td>
<div class="btn-group btn-group-sm" role="group" aria-label="{% trans "Actions" %}"> <div class="btn-group btn-group-sm"
role="group"
aria-label="{% trans "Actions" %}">
{% if perms.core.change_pumping %} {% if perms.core.change_pumping %}
<a href="{% url 'core:pumping-update' pumping.id %}" class="btn btn-primary"> <a href="{% url 'core:pumping-update' pumping.id %}"
class="btn btn-primary">
<i class="icon-update" aria-hidden="true"></i> <i class="icon-update" aria-hidden="true"></i>
</a> </a>
{% endif %} {% endif %}
{% if perms.core.delete_pumping %} {% if perms.core.delete_pumping %}
<a href="{% url 'core:pumping-delete' pumping.id %}" class="btn btn-danger"> <a href="{% url 'core:pumping-delete' pumping.id %}"
class="btn btn-danger">
<i class="icon-delete" aria-hidden="true"></i> <i class="icon-delete" aria-hidden="true"></i>
</a> </a>
{% endif %} {% endif %}
</div> </div>
</td> </td>
<th scope="row">{{ pumping.start|datetime_short }}</th> <th scope="row">{{ pumping.start|datetime_short }}</th>
{% if not unique_child %} {% if not unique_child %}
<td><a href="{% url 'core:child' pumping.child.slug %}">{{ pumping.child }}</a></td> <td>
<a href="{% url 'core:child' pumping.child.slug %}">{{ pumping.child }}</a>
</td>
{% endif %} {% endif %}
<td>{{ pumping.amount }}</td> <td>{{ pumping.amount }}</td>
<td>{{ pumping.duration|duration_string }}</td> <td>{{ pumping.duration|duration_string }}</td>
<td> <td>{% include "core/render_tag_list.html" with tags=pumping.tags.all %}</td>
{% include "core/render_tag_list.html" with tags=pumping.tags.all %}
</td>
</tr> </tr>
{% if pumping.notes %} {% if pumping.notes %}
<tr class="{{ row_class }} row-details"> <tr class="{{ row_class }} row-details">
<td colspan="5"><i class="icon-note me-2" aria-hidden="true"></i>{{ pumping.notes }}</td> <td colspan="5">
<i class="icon-note me-2" aria-hidden="true"></i>{{ pumping.notes }}
</td>
</tr> </tr>
{% endif %} {% endif %}
{% empty %} {% empty %}

View File

@ -1,34 +1,38 @@
{% load i18n %} {% load i18n %}
<form action="{% url 'core:timer-add-quick' %}"
role="form"
<form action="{% url 'core:timer-add-quick' %}" role="form" method="post" class="mr-2"> method="post"
class="mr-2">
{% csrf_token %} {% csrf_token %}
{% if children.count > 1 %} {% if children.count > 1 %}
<div class="dropdown show"> <div class="dropdown show">
<a class="m-0 p-0 text-success" <a class="m-0 p-0 text-success"
title="{% trans "Quick Start Timer" %}" title="{% trans "Quick Start Timer" %}"
href="#" href="#"
role="button" role="button"
id="quick-timer-menu-toggle" id="quick-timer-menu-toggle"
data-bs-toggle="dropdown" data-bs-toggle="dropdown"
aria-haspopup="true" aria-haspopup="true"
aria-expanded="false"><i class="icon-2x icon-timer" aria-hidden="true"></i> aria-expanded="false"><i class="icon-2x icon-timer" aria-hidden="true"></i>
</a> </a>
<div class="dropdown-menu dropdown-menu-end"
<div class="dropdown-menu dropdown-menu-end" aria-labelledby="quick-timer-menu-toggle"> aria-labelledby="quick-timer-menu-toggle">
<h6 class="dropdown-header">{% trans "Quick Start Timer For…" %}</h6> <h6 class="dropdown-header">{% trans "Quick Start Timer For…" %}</h6>
{% for child in children %} {% for child in children %}
<button class="dropdown-item d-flex align-items-center" type="submit" name="child" value="{{ child.pk }}"> <button class="dropdown-item d-flex align-items-center"
{% include "core/child_thumbnail.html" %} type="submit"
<span class="text-wrap ms-2">{{ child }}</span> name="child"
</button> value="{{ child.pk }}">
{% endfor %} {% include "core/child_thumbnail.html" %}
</div> <span class="text-wrap ms-2">{{ child }}</span>
</div> </button>
{% else %} {% endfor %}
<label class="visually-hidden">{% trans "Quick Start Timer" %}</label> </div>
<button class="btn m-0 p-0 text-success"> </div>
<i class="icon-2x icon-timer" aria-hidden="true"></i> {% else %}
</button> <label class="visually-hidden">{% trans "Quick Start Timer" %}</label>
{% endif %} <button class="btn m-0 p-0 text-success">
<i class="icon-2x icon-timer" aria-hidden="true"></i>
</button>
{% endif %}
</form> </form>

View File

@ -1,3 +1,3 @@
<span class="badge badge-pill" style="background-color:{{ tag.color }};color:{{ tag.complementary_color }};"> <span class="badge badge-pill"
{{ tag.name|escape }} style="background-color:{{ tag.color }};
</span> color:{{ tag.complementary_color }}">{{ tag.name|escape }}</span>

View File

@ -1,5 +1,5 @@
{% for tag in tags %} {% for tag in tags %}
{% include "core/render_tag.html" %} {% include "core/render_tag.html" %}
{% empty %} {% empty %}
- -
{% endfor %} {% endfor %}

View File

@ -1,20 +1,23 @@
{% extends 'babybuddy/page.html' %} {% extends 'babybuddy/page.html' %}
{% load i18n widget_tweaks %} {% load i18n widget_tweaks %}
{% block title %}
{% block title %}{% trans "Delete a Sleep Entry" %}{% endblock %} {% trans "Delete a Sleep Entry" %}
{% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
<li class="breadcrumb-item"><a href="{% url 'core:sleep-list' %}">{% trans "Sleep" %}</a></li> <li class="breadcrumb-item">
<a href="{% url 'core:sleep-list' %}">{% trans "Sleep" %}</a>
</li>
<li class="breadcrumb-item active" aria-current="page">{% trans "Delete" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Delete" %}</li>
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<form role="form" method="post"> <form role="form" method="post">
{% csrf_token %} {% csrf_token %}
{% blocktrans trimmed %} {% blocktrans trimmed %}
<h1>Are you sure you want to delete <span class="text-info">{{ object }}</span>?</h1> <h1>
Are you sure you want to delete <span class="text-info">{{ object }}</span>?
</h1>
{% endblocktrans %} {% endblocktrans %}
<input type="submit" value="{% trans "Delete" %}" class="btn btn-danger" /> <input type="submit" value="{% trans "Delete" %}" class="btn btn-danger" />
<a href="{% url 'core:sleep-list' %}" class="btn btn-default">{% trans "Cancel" %}</a> <a href="{% url 'core:sleep-list' %}" class="btn btn-default">{% trans "Cancel" %}</a>
</form> </form>
{% endblock %} {% endblock %}

View File

@ -1,6 +1,5 @@
{% extends 'babybuddy/page.html' %} {% extends 'babybuddy/page.html' %}
{% load datetime i18n %} {% load datetime i18n %}
{% block title %} {% block title %}
{% if request.resolver_match.url_name == 'sleep-update' %} {% if request.resolver_match.url_name == 'sleep-update' %}
{% trans "Update a Sleep Entry" %} {% trans "Update a Sleep Entry" %}
@ -8,20 +7,22 @@
{% trans "Add a Sleep Entry" %} {% trans "Add a Sleep Entry" %}
{% endif %} {% endif %}
{% endblock %} {% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
<li class="breadcrumb-item"><a href="{% url 'core:sleep-list' %}">{% trans "Sleep" %}</a></li> <li class="breadcrumb-item">
<a href="{% url 'core:sleep-list' %}">{% trans "Sleep" %}</a>
</li>
{% if object %} {% if object %}
<li class="breadcrumb-item active" aria-current="page">{% trans "Update" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Update" %}</li>
{% else %} {% else %}
<li class="breadcrumb-item active" aria-current="page">{% trans "Add" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Add" %}</li>
{% endif %} {% endif %}
{% endblock %} {% endblock %}
{% block content %} {% block content %}
{% if object %} {% if object %}
{% blocktrans trimmed %} {% blocktrans trimmed %}
<h1>Update <span class="text-info">{{ object }}</span></h1> <h1>
Update <span class="text-info">{{ object }}</span>
</h1>
{% endblocktrans %} {% endblocktrans %}
{% else %} {% else %}
<h1>{% trans "Add a Sleep Entry" %}</h1> <h1>{% trans "Add a Sleep Entry" %}</h1>

View File

@ -1,12 +1,11 @@
{% extends 'babybuddy/page.html' %} {% extends 'babybuddy/page.html' %}
{% load bootstrap datetime duration i18n widget_tweaks %} {% load bootstrap datetime duration i18n widget_tweaks %}
{% block title %}
{% block title %}{% trans "Sleep" %}{% endblock %} {% trans "Sleep" %}
{% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
<li class="breadcrumb-item active" aria-current="page">{% trans "Sleep" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Sleep" %}</li>
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<h1> <h1>
{% trans "Sleep" %} {% trans "Sleep" %}
@ -36,36 +35,37 @@
{% for sleep in object_list %} {% for sleep in object_list %}
<tr> <tr>
<td> <td>
<div class="btn-group btn-group-sm" role="group" aria-label="{% trans "Actions" %}"> <div class="btn-group btn-group-sm"
role="group"
aria-label="{% trans "Actions" %}">
{% if perms.core.change_sleep %} {% if perms.core.change_sleep %}
<a href="{% url 'core:sleep-update' sleep.id %}" class="btn btn-primary"> <a href="{% url 'core:sleep-update' sleep.id %}" class="btn btn-primary">
<i class="icon-update" aria-hidden="true"></i> <i class="icon-update" aria-hidden="true"></i>
</a> </a>
{% endif %} {% endif %}
{% if perms.core.delete_sleep %} {% if perms.core.delete_sleep %}
<a href="{% url 'core:sleep-delete' sleep.id %}" class="btn btn-danger"> <a href="{% url 'core:sleep-delete' sleep.id %}" class="btn btn-danger">
<i class="icon-delete" aria-hidden="true"></i> <i class="icon-delete" aria-hidden="true"></i>
</a> </a>
{% endif %} {% endif %}
</div> </div>
</td> </td>
<th scope="row">{{ sleep.start|datetime_short }}</th> <th scope="row">{{ sleep.start|datetime_short }}</th>
<td>{{ sleep.end|datetime_short }}</td> <td>{{ sleep.end|datetime_short }}</td>
{% if not unique_child %} {% if not unique_child %}
<td><a href="{% url 'core:child' sleep.child.slug %}">{{ sleep.child }}</a></td> <td>
<a href="{% url 'core:child' sleep.child.slug %}">{{ sleep.child }}</a>
</td>
{% endif %} {% endif %}
<td>{{ sleep.duration|duration_string }}</td> <td>{{ sleep.duration|duration_string }}</td>
<td class="text-center">{{ sleep.nap|bool_icon }}</td> <td class="text-center">{{ sleep.nap|bool_icon }}</td>
<td> <td>{% include "core/render_tag_list.html" with tags=sleep.tags.all %}</td>
{% include "core/render_tag_list.html" with tags=sleep.tags.all %}
</td>
</tr> </tr>
{% if sleep.notes %} {% if sleep.notes %}
<tr class="{{ row_class }} row-details"> <tr class="{{ row_class }} row-details">
<td colspan="7"><i class="icon-note me-2" aria-hidden="true"></i>{{ sleep.notes }}</td> <td colspan="7">
<i class="icon-note me-2" aria-hidden="true"></i>{{ sleep.notes }}
</td>
</tr> </tr>
{% endif %} {% endif %}
{% empty %} {% empty %}
@ -77,4 +77,4 @@
</table> </table>
</div> </div>
{% include 'babybuddy/paginator.html' %} {% include 'babybuddy/paginator.html' %}
{% endblock %} {% endblock %}

View File

@ -1,20 +1,23 @@
{% extends 'babybuddy/page.html' %} {% extends 'babybuddy/page.html' %}
{% load i18n widget_tweaks %} {% load i18n widget_tweaks %}
{% block title %}
{% block title %}{% trans "Delete a Temperature Reading" %}{% endblock %} {% trans "Delete a Temperature Reading" %}
{% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
<li class="breadcrumb-item"><a href="{% url 'core:temperature-list' %}">{% trans "Temperature" %}</a></li> <li class="breadcrumb-item">
<a href="{% url 'core:temperature-list' %}">{% trans "Temperature" %}</a>
</li>
<li class="breadcrumb-item active" aria-current="page">{% trans "Delete" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Delete" %}</li>
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<form role="form" method="post"> <form role="form" method="post">
{% csrf_token %} {% csrf_token %}
{% blocktrans trimmed %} {% blocktrans trimmed %}
<h1>Are you sure you want to delete <span class="text-info">{{ object }}</span>?</h1> <h1>
Are you sure you want to delete <span class="text-info">{{ object }}</span>?
</h1>
{% endblocktrans %} {% endblocktrans %}
<input type="submit" value="{% trans "Delete" %}" class="btn btn-danger" /> <input type="submit" value="{% trans "Delete" %}" class="btn btn-danger" />
<a href="{% url 'core:temperature-list' %}" class="btn btn-default">{% trans "Cancel" %}</a> <a href="{% url 'core:temperature-list' %}" class="btn btn-default">{% trans "Cancel" %}</a>
</form> </form>
{% endblock %} {% endblock %}

View File

@ -1,6 +1,5 @@
{% extends 'babybuddy/page.html' %} {% extends 'babybuddy/page.html' %}
{% load datetime i18n %} {% load datetime i18n %}
{% block title %} {% block title %}
{% if object %} {% if object %}
{{ object }} {{ object }}
@ -8,20 +7,22 @@
{% trans "Add a Temperature Reading" %} {% trans "Add a Temperature Reading" %}
{% endif %} {% endif %}
{% endblock %} {% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
<li class="breadcrumb-item"><a href="{% url 'core:temperature-list' %}">{% trans "Temperature" %}</a></li> <li class="breadcrumb-item">
<a href="{% url 'core:temperature-list' %}">{% trans "Temperature" %}</a>
</li>
{% if object %} {% if object %}
<li class="breadcrumb-item active" aria-current="page">{% trans "Update" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Update" %}</li>
{% else %} {% else %}
<li class="breadcrumb-item active" aria-current="page">{% trans "Add a Temperature Reading" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Add a Temperature Reading" %}</li>
{% endif %} {% endif %}
{% endblock %} {% endblock %}
{% block content %} {% block content %}
{% if object %} {% if object %}
{% blocktrans trimmed %} {% blocktrans trimmed %}
<h1>Update <span class="text-info">{{ object }}</span></h1> <h1>
Update <span class="text-info">{{ object }}</span>
</h1>
{% endblocktrans %} {% endblocktrans %}
{% else %} {% else %}
<h1>{% trans "Add a Temperature Entry" %}</h1> <h1>{% trans "Add a Temperature Entry" %}</h1>

View File

@ -1,17 +1,17 @@
{% extends 'babybuddy/page.html' %} {% extends 'babybuddy/page.html' %}
{% load datetime i18n widget_tweaks %} {% load datetime i18n widget_tweaks %}
{% block title %}
{% block title %}{% trans "Temperature" %}{% endblock %} {% trans "Temperature" %}
{% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
<li class="breadcrumb-item active" aria-current="page">{% trans "Temperature" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Temperature" %}</li>
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<h1> <h1>
{% trans "Temperature" %} {% trans "Temperature" %}
{% if perms.core.add_temperature %} {% if perms.core.add_temperature %}
<a href="{% url 'core:temperature-add' %}" class="btn btn-sm btn-success"> <a href="{% url 'core:temperature-add' %}"
class="btn btn-sm btn-success">
<i class="icon-temperature" aria-hidden="true"></i> {% trans "Add Temperature Reading" %} <i class="icon-temperature" aria-hidden="true"></i> {% trans "Add Temperature Reading" %}
</a> </a>
{% endif %} {% endif %}
@ -34,34 +34,37 @@
{% for temperature in object_list %} {% for temperature in object_list %}
<tr> <tr>
<td> <td>
<div class="btn-group btn-group-sm" role="group" aria-label="{% trans "Actions" %}"> <div class="btn-group btn-group-sm"
role="group"
aria-label="{% trans "Actions" %}">
{% if perms.core.change_temperature %} {% if perms.core.change_temperature %}
<a href="{% url 'core:temperature-update' temperature.id %}" class="btn btn-primary"> <a href="{% url 'core:temperature-update' temperature.id %}"
class="btn btn-primary">
<i class="icon-update" aria-hidden="true"></i> <i class="icon-update" aria-hidden="true"></i>
</a> </a>
{% endif %} {% endif %}
{% if perms.core.delete_temperature %} {% if perms.core.delete_temperature %}
<a href="{% url 'core:temperature-delete' temperature.id %}" class="btn btn-danger"> <a href="{% url 'core:temperature-delete' temperature.id %}"
class="btn btn-danger">
<i class="icon-delete" aria-hidden="true"></i> <i class="icon-delete" aria-hidden="true"></i>
</a> </a>
{% endif %} {% endif %}
</div> </div>
</td> </td>
<th scope="row">{{ temperature.time|datetime_short }}</th> <th scope="row">{{ temperature.time|datetime_short }}</th>
{% if not unique_child %} {% if not unique_child %}
<td><a href="{% url 'core:child' temperature.child.slug %}">{{ temperature.child }}</a></td> <td>
<a href="{% url 'core:child' temperature.child.slug %}">{{ temperature.child }}</a>
</td>
{% endif %} {% endif %}
<td>{{ temperature.temperature }}</td> <td>{{ temperature.temperature }}</td>
<td> <td>{% include "core/render_tag_list.html" with tags=temperature.tags.all %}</td>
{% include "core/render_tag_list.html" with tags=temperature.tags.all %}
</td>
</tr> </tr>
{% if temperature.notes %} {% if temperature.notes %}
<tr class="{{ row_class }} row-details"> <tr class="{{ row_class }} row-details">
<td colspan="5"><i class="icon-note me-2" aria-hidden="true"></i>{{ temperature.notes }}</td> <td colspan="5">
<i class="icon-note me-2" aria-hidden="true"></i>{{ temperature.notes }}
</td>
</tr> </tr>
{% endif %} {% endif %}
{% empty %} {% empty %}
@ -73,4 +76,4 @@
</table> </table>
</div> </div>
{% include 'babybuddy/paginator.html' %} {% include 'babybuddy/paginator.html' %}
{% endblock %} {% endblock %}

View File

@ -1,23 +1,27 @@
{% extends 'babybuddy/page.html' %} {% extends 'babybuddy/page.html' %}
{% load i18n widget_tweaks %} {% load i18n widget_tweaks %}
{% block title %} {% block title %}
{% blocktrans %}Delete {{ object }}{% endblocktrans %} {% blocktrans %}Delete {{ object }}{% endblocktrans %}
{% endblock %} {% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
<li class="breadcrumb-item"><a href="{% url 'core:timer-list' %}">{% trans "Timers" %}</a></li> <li class="breadcrumb-item">
<li class="breadcrumb-item fw-bold"><a href="{% url 'core:timer-detail' object.id %}">{{ object }}</a></li> <a href="{% url 'core:timer-list' %}">{% trans "Timers" %}</a>
</li>
<li class="breadcrumb-item fw-bold">
<a href="{% url 'core:timer-detail' object.id %}">{{ object }}</a>
</li>
<li class="breadcrumb-item active" aria-current="page">{% trans "Delete" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Delete" %}</li>
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<form role="form" method="post"> <form role="form" method="post">
{% csrf_token %} {% csrf_token %}
{% blocktrans trimmed %} {% blocktrans trimmed %}
<h1>Are you sure you want to delete <span class="text-info">{{ object }}</span>?</h1> <h1>
Are you sure you want to delete <span class="text-info">{{ object }}</span>?
</h1>
{% endblocktrans %} {% endblocktrans %}
<input type="submit" value="{% trans "Delete" %}" class="btn btn-danger" /> <input type="submit" value="{% trans "Delete" %}" class="btn btn-danger" />
<a href="{% url 'core:timer-detail' object.id %}" class="btn btn-default">{% trans "Cancel" %}</a> <a href="{% url 'core:timer-detail' object.id %}"
class="btn btn-default">{% trans "Cancel" %}</a>
</form> </form>
{% endblock %} {% endblock %}

View File

@ -1,98 +1,85 @@
{% extends 'babybuddy/page.html' %} {% extends 'babybuddy/page.html' %}
{% load babybuddy duration i18n timers %} {% load babybuddy duration i18n timers %}
{% get_child_count as CHILD_COUNT %} {% get_child_count as CHILD_COUNT %}
{% block title %}{{ object }}{% endblock %} {% block title %}{{ object }}{% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
<li class="breadcrumb-item"><a href="{% url 'core:timer-list' %}">{% trans "Timers" %}</a></li> <li class="breadcrumb-item">
<a href="{% url 'core:timer-list' %}">{% trans "Timers" %}</a>
</li>
<li class="breadcrumb-item fw-bold">{{ object }}</li> <li class="breadcrumb-item fw-bold">{{ object }}</li>
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<div class="p-5 mb-4 bg rounded-3 text-center"> <div class="p-5 mb-4 bg rounded-3 text-center">
<div class="container-fluid py-1"> <div class="container-fluid py-1">
<h1 id="timer-status" <h1 id="timer-status" class="display-1">
class="display-1">
<span class="timer-hours">{{ object.duration|hours }}</span>h <span class="timer-hours">{{ object.duration|hours }}</span>h
<span class="timer-minutes">{{ object.duration|minutes }}</span>m <span class="timer-minutes">{{ object.duration|minutes }}</span>m
<span class="timer-seconds">{{ object.duration|seconds }}</span>s <span class="timer-seconds">{{ object.duration|seconds }}</span>s
</h1> </h1>
{% if timer.child and CHILD_COUNT > 1 %}<h2 class="text-body-secondary">{{ timer.child }}</h2>{% endif %}
{% if timer.child and CHILD_COUNT > 1 %} <p class="lead text-secondary">{% trans "Started" %} {{ object.start }}</p>
<h2 class="text-body-secondary">
{{ timer.child }}
</h2>
{% endif %}
<p class="lead text-secondary">
{% trans "Started" %} {{ object.start }}
</p>
<p class="text-body-secondary"> <p class="text-body-secondary">
{% blocktrans trimmed with user=object.user_username %} {% blocktrans trimmed with user=object.user_username %}
{{ timer }} created by {{ user }} {{ timer }} created by {{ user }}
{% endblocktrans %} {% endblocktrans %}
</p> </p>
<div class="d-grid gap-4 mb-4"> <div class="d-grid gap-4 mb-4">
{% if perms.core.add_feeding %} {% if perms.core.add_feeding %}
<a class="btn btn-success btn-lg" <a class="btn btn-success btn-lg"
href="{% instance_add_url 'core:feeding-add' %}" href="{% instance_add_url 'core:feeding-add' %}"
role="button"><i class="icon-feeding" aria-hidden="true"></i> role="button"><i class="icon-feeding" aria-hidden="true"></i>
{% trans "Feeding" %} {% trans "Feeding" %}
</a> </a>
{% endif %} {% endif %}
{% if perms.core.add_pumping %}
{% if perms.core.add_pumping %} <a class="btn btn-success btn-lg"
<a class="btn btn-success btn-lg" href="{% instance_add_url 'core:pumping-add' %}"
href="{% instance_add_url 'core:pumping-add' %}" role="button"><i class="icon-pumping" aria-hidden="true"></i>
role="button"><i class="icon-pumping" aria-hidden="true"></i> {% trans "Pumping" %}
{% trans "Pumping" %} </a>
</a> {% endif %}
{% endif %} {% if perms.core.add_sleep %}
<a class="btn btn-success btn-lg"
{% if perms.core.add_sleep %} href="{% instance_add_url 'core:sleep-add' %}"
<a class="btn btn-success btn-lg" role="button"><i class="icon-sleep" aria-hidden="true"></i>
href="{% instance_add_url 'core:sleep-add' %}" {% trans "Sleep" %}
role="button"><i class="icon-sleep" aria-hidden="true"></i> </a>
{% trans "Sleep" %} {% endif %}
</a> {% if perms.core.add_tummytime %}
{% endif %} <a class="btn btn-success btn-lg"
href="{% instance_add_url 'core:tummytime-add' %}"
{% if perms.core.add_tummytime %} role="button"><i class="icon-tummytime" aria-hidden="true"></i>
<a class="btn btn-success btn-lg" {% trans "Tummy Time" %}
href="{% instance_add_url 'core:tummytime-add' %}" </a>
role="button"><i class="icon-tummytime" aria-hidden="true"></i> {% endif %}
{% trans "Tummy Time" %} </div>
</a> <div class="center-block"
{% endif %} role="group"
</div> aria-label="{% trans "Timer actions" %}">
{% if perms.core.delete_timer %}
<div class="center-block" role="group" aria-label="{% trans "Timer actions" %}"> <a class="btn btn-lg btn-danger"
{% if perms.core.delete_timer %} href="{% url 'core:timer-delete' timer.id %}"
<a class="btn btn-lg btn-danger" role="button"><i class="icon-delete" aria-hidden="true"></i></a>
href="{% url 'core:timer-delete' timer.id %}" {% endif %}
role="button"><i class="icon-delete" aria-hidden="true"></i></a> {% if perms.core.change_timer %}
{% endif %} <a class="btn btn-lg btn-primary"
href="{% url 'core:timer-update' timer.id %}"
{% if perms.core.change_timer %} role="button"><i class="icon-update" aria-hidden="true"></i></a>
<a class="btn btn-lg btn-primary" <form action="{% url 'core:timer-restart' timer.id %}"
href="{% url 'core:timer-update' timer.id %}" role="form"
role="button"><i class="icon-update" aria-hidden="true"></i></a> method="post"
class="d-inline">
<form action="{% url 'core:timer-restart' timer.id %}" role="form" method="post" class="d-inline"> {% csrf_token %}
{% csrf_token %} <label class="visually-hidden">{% trans "Restart timer" %}</label>
<label class="visually-hidden">{% trans "Restart timer" %}</label> <button type="submit" class="btn btn-lg btn-secondary">
<button type="submit" class="btn btn-lg btn-secondary"><i class="icon-refresh" aria-hidden="true"></i></button> <i class="icon-refresh" aria-hidden="true"></i>
</form> </button>
{% endif %} </form>
</div> {% endif %}
</div> </div>
</div> </div>
</div>
{% endblock %} {% endblock %}
{% block javascript %} {% block javascript %}
<script type="application/javascript"> <script type="application/javascript">BabyBuddy.Timer.run({{ timer.id }}, 'timer-status');</script>
BabyBuddy.Timer.run({{ timer.id }}, 'timer-status'); {% endblock %}
</script>
{% endblock %}

View File

@ -1,22 +1,27 @@
{% extends 'babybuddy/page.html' %} {% extends 'babybuddy/page.html' %}
{% load datetime duration i18n %} {% load datetime duration i18n %}
{% block title %}
{% block title %}{% trans "Timer" %}{% endblock %} {% trans "Timer" %}
{% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
<li class="breadcrumb-item"><a href="{% url 'core:timer-list' %}">{% trans "Timers" %}</a></li> <li class="breadcrumb-item">
<a href="{% url 'core:timer-list' %}">{% trans "Timers" %}</a>
</li>
{% if object %} {% if object %}
<li class="breadcrumb-item fw-bold"><a href="{% url 'core:timer-detail' object.id %}">{{ object }}</a></li> <li class="breadcrumb-item fw-bold">
<a href="{% url 'core:timer-detail' object.id %}">{{ object }}</a>
</li>
<li class="breadcrumb-item active" aria-current="page">{% trans "Update" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Update" %}</li>
{% else %} {% else %}
<li class="breadcrumb-item active" aria-current="page">{% trans "Start" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Start" %}</li>
{% endif %} {% endif %}
{% endblock %} {% endblock %}
{% block content %} {% block content %}
{% if object %} {% if object %}
{% blocktrans trimmed %} {% blocktrans trimmed %}
<h1>Update <span class="text-info">{{ object }}</span></h1> <h1>
Update <span class="text-info">{{ object }}</span>
</h1>
{% endblocktrans %} {% endblocktrans %}
{% else %} {% else %}
<h1>{% trans "Start Timer" %}</h1> <h1>{% trans "Start Timer" %}</h1>

View File

@ -1,12 +1,11 @@
{% extends 'babybuddy/page.html' %} {% extends 'babybuddy/page.html' %}
{% load bootstrap datetime duration i18n widget_tweaks %} {% load bootstrap datetime duration i18n widget_tweaks %}
{% block title %}
{% block title %}{% trans "Timers" %}{% endblock %} {% trans "Timers" %}
{% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
<li class="breadcrumb-item active" aria-current="page">{% trans "Timers" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Timers" %}</li>
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<h1> <h1>
{% trans "Timers" %} {% trans "Timers" %}
@ -20,36 +19,38 @@
<div class="table-responsive"> <div class="table-responsive">
<table class="table table-instances table-borderless table-striped table-hover align-middle"> <table class="table table-instances table-borderless table-striped table-hover align-middle">
<thead> <thead>
<tr> <tr>
<th>{% trans "Start" %}</th> <th>{% trans "Start" %}</th>
<th>{% trans "Name" %}</th> <th>{% trans "Name" %}</th>
{% if not unique_child %} {% if not unique_child %}
<th>{% trans "Child" %}</th> <th>{% trans "Child" %}</th>
{% endif %} {% endif %}
<th>{% trans "User" %}</th> <th>{% trans "User" %}</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{% for timer in object_list %} {% for timer in object_list %}
<tr> <tr>
<th scope="row">{{ timer.start|datetime_short }}</th> <th scope="row">{{ timer.start|datetime_short }}</th>
<td><a href="{% url 'core:timer-detail' timer.id %}">{{ timer }}</a></td>
{% if not unique_child %}
<td> <td>
{% if timer.child %} <a href="{% url 'core:timer-detail' timer.id %}">{{ timer }}</a>
<a href="{% url 'core:child' timer.child.slug %}">{{ timer.child }}</a>
{% endif %}
</td> </td>
{% endif %} {% if not unique_child %}
<td>{{ timer.user_username }}</td> <td>
</tr> {% if timer.child %}
{% empty %} <a href="{% url 'core:child' timer.child.slug %}">{{ timer.child }}</a>
<tr> {% endif %}
<th colspan="7">{% trans "No timer entries found." %}</th> </td>
</tr> {% endif %}
{% endfor %} <td>{{ timer.user_username }}</td>
</tr>
{% empty %}
<tr>
<th colspan="7">{% trans "No timer entries found." %}</th>
</tr>
{% endfor %}
</tbody> </tbody>
</table> </table>
</div> </div>
{% include 'babybuddy/paginator.html' %} {% include 'babybuddy/paginator.html' %}
{% endblock %} {% endblock %}

View File

@ -1,54 +1,57 @@
{% load i18n %} {% load i18n %}
<li class="nav-item dropdown"> <li class="nav-item dropdown">
<a id="nav-timer-menu-link" <a id="nav-timer-menu-link"
class="nav-link dropdown-toggle" class="nav-link dropdown-toggle"
href="#" href="#"
data-bs-toggle="dropdown" data-bs-toggle="dropdown"
aria-haspopup="true" aria-haspopup="true"
aria-expanded="false"><i class="icon-timer" aria-hidden="true"></i> aria-expanded="false"><i class="icon-timer" aria-hidden="true"></i>
{% trans "Timers" %} {% trans "Timers" %}
</a> </a>
<div class="dropdown-menu" aria-labelledby="nav-timer-menu-link"> <div class="dropdown-menu" aria-labelledby="nav-timer-menu-link">
{% if perms.core.add_timer %} {% if perms.core.add_timer %}
<a class="dropdown-item" href="{% url 'core:timer-add' %}"> <a class="dropdown-item" href="{% url 'core:timer-add' %}">
<i class="icon-add" aria-hidden="true"></i> {% trans "Start Timer" %} <i class="icon-add" aria-hidden="true"></i> {% trans "Start Timer" %}
</a> </a>
{% endif %} {% endif %}
{% if perms.core.view_timer %} {% if perms.core.view_timer %}
<a class="dropdown-item" href="{% url 'core:timer-list' %}"> <a class="dropdown-item" href="{% url 'core:timer-list' %}">
<i class="icon-list" aria-hidden="true"></i> {% trans "View Timers" %} <i class="icon-list" aria-hidden="true"></i> {% trans "View Timers" %}
</a> </a>
{% endif %} {% endif %}
{% if perms.core.add_timer %} {% if perms.core.add_timer %}
<form action="{% url 'core:timer-add-quick' %}" role="form" method="post" class="d-inline"> <form action="{% url 'core:timer-add-quick' %}"
{% csrf_token %} role="form"
{% if children.count > 1 %} method="post"
<div class="dropdown-divider"></div> class="d-inline">
<h6 class="dropdown-header">{% trans "Quick Start Timer For…" %}</h6> {% csrf_token %}
{% for child in children %} {% if children.count > 1 %}
<button class="dropdown-item d-flex align-items-center" type="submit" name="child" value="{{ child.pk }}"> <div class="dropdown-divider"></div>
{% include "core/child_thumbnail.html" %} <h6 class="dropdown-header">{% trans "Quick Start Timer For…" %}</h6>
<span class="text-wrap ms-2">{{ child }}</span> {% for child in children %}
</button> <button class="dropdown-item d-flex align-items-center"
{% endfor %} type="submit"
{% else %} name="child"
<button class="dropdown-item" type="submit"> value="{{ child.pk }}">
<i class="icon-timer" aria-hidden="true"></i> {% trans "Quick Start Timer" %} {% include "core/child_thumbnail.html" %}
<span class="text-wrap ms-2">{{ child }}</span>
</button> </button>
{% endif %} {% endfor %}
</form> {% else %}
{% endif %} <button class="dropdown-item" type="submit">
{% if timers %} <i class="icon-timer" aria-hidden="true"></i> {% trans "Quick Start Timer" %}
<div class="dropdown-divider"></div> </button>
<h6 class="dropdown-header">{% trans "Timers" %}</h6> {% endif %}
{% for timer in timers %} </form>
<a class="dropdown-item" href="{% url 'core:timer-detail' timer.id %}"> {% endif %}
{{ timer.title_with_child }} {% if timers %}
</a> <div class="dropdown-divider"></div>
{% empty %} <h6 class="dropdown-header">{% trans "Timers" %}</h6>
<a class="dropdown-item disabled" href="#">{% trans "None" %}</a> {% for timer in timers %}
{% endfor %} <a class="dropdown-item" href="{% url 'core:timer-detail' timer.id %}">{{ timer.title_with_child }}</a>
{% endif %} {% empty %}
</div> <a class="dropdown-item disabled" href="#">{% trans "None" %}</a>
{% endfor %}
{% endif %}
</div>
</li> </li>

View File

@ -1,20 +1,23 @@
{% extends 'babybuddy/page.html' %} {% extends 'babybuddy/page.html' %}
{% load i18n widget_tweaks %} {% load i18n widget_tweaks %}
{% block title %}
{% block title %}{% trans "Delete a Tummy Time Entry" %}{% endblock %} {% trans "Delete a Tummy Time Entry" %}
{% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
<li class="breadcrumb-item"><a href="{% url 'core:tummytime-list' %}">{% trans "Tummy Time" %}</a></li> <li class="breadcrumb-item">
<a href="{% url 'core:tummytime-list' %}">{% trans "Tummy Time" %}</a>
</li>
<li class="breadcrumb-item active" aria-current="page">{% trans "Delete" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Delete" %}</li>
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<form role="form" method="post"> <form role="form" method="post">
{% csrf_token %} {% csrf_token %}
{% blocktrans trimmed %} {% blocktrans trimmed %}
<h1>Are you sure you want to delete <span class="text-info">{{ object }}</span>?</h1> <h1>
Are you sure you want to delete <span class="text-info">{{ object }}</span>?
</h1>
{% endblocktrans %} {% endblocktrans %}
<input type="submit" value="{% trans "Delete" %}" class="btn btn-danger" /> <input type="submit" value="{% trans "Delete" %}" class="btn btn-danger" />
<a href="{% url 'core:tummytime-list' %}" class="btn btn-default">{% trans "Cancel" %}</a> <a href="{% url 'core:tummytime-list' %}" class="btn btn-default">{% trans "Cancel" %}</a>
</form> </form>
{% endblock %} {% endblock %}

View File

@ -1,6 +1,5 @@
{% extends 'babybuddy/page.html' %} {% extends 'babybuddy/page.html' %}
{% load datetime i18n %} {% load datetime i18n %}
{% block title %} {% block title %}
{% if request.resolver_match.url_name == 'tummytime-update' %} {% if request.resolver_match.url_name == 'tummytime-update' %}
{% trans "Update a Tummy Time Entry" %} {% trans "Update a Tummy Time Entry" %}
@ -8,20 +7,22 @@
{% trans "Add a Tummy Time Entry" %} {% trans "Add a Tummy Time Entry" %}
{% endif %} {% endif %}
{% endblock %} {% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
<li class="breadcrumb-item"><a href="{% url 'core:tummytime-list' %}">{% trans "Tummy Time" %}</a></li> <li class="breadcrumb-item">
<a href="{% url 'core:tummytime-list' %}">{% trans "Tummy Time" %}</a>
</li>
{% if object %} {% if object %}
<li class="breadcrumb-item active" aria-current="page">{% trans "Update" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Update" %}</li>
{% else %} {% else %}
<li class="breadcrumb-item active" aria-current="page">{% trans "Add" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Add" %}</li>
{% endif %} {% endif %}
{% endblock %} {% endblock %}
{% block content %} {% block content %}
{% if object %} {% if object %}
{% blocktrans trimmed %} {% blocktrans trimmed %}
<h1>Update <span class="text-info">{{ object }}</span></h1> <h1>
Update <span class="text-info">{{ object }}</span>
</h1>
{% endblocktrans %} {% endblocktrans %}
{% else %} {% else %}
<h1>{% trans "Add a Tummy Time Entry" %}</h1> <h1>{% trans "Add a Tummy Time Entry" %}</h1>

View File

@ -1,12 +1,11 @@
{% extends 'babybuddy/page.html' %} {% extends 'babybuddy/page.html' %}
{% load datetime duration i18n widget_tweaks %} {% load datetime duration i18n widget_tweaks %}
{% block title %}
{% block title %}{% trans "Tummy Time" %}{% endblock %} {% trans "Tummy Time" %}
{% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
<li class="breadcrumb-item active" aria-current="page">{% trans "Tummy Time" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Tummy Time" %}</li>
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<h1> <h1>
{% trans "Tummy Time" %} {% trans "Tummy Time" %}
@ -35,32 +34,33 @@
{% for tummytime in object_list %} {% for tummytime in object_list %}
<tr> <tr>
<td> <td>
<div class="btn-group btn-group-sm" role="group" aria-label="{% trans "Actions" %}"> <div class="btn-group btn-group-sm"
role="group"
aria-label="{% trans "Actions" %}">
{% if perms.core.change_tummytime %} {% if perms.core.change_tummytime %}
<a href="{% url 'core:tummytime-update' tummytime.id %}" class="btn btn-primary"> <a href="{% url 'core:tummytime-update' tummytime.id %}"
class="btn btn-primary">
<i class="icon-update" aria-hidden="true"></i> <i class="icon-update" aria-hidden="true"></i>
</a> </a>
{% endif %} {% endif %}
{% if perms.core.delete_tummytime %} {% if perms.core.delete_tummytime %}
<a href="{% url 'core:tummytime-delete' tummytime.id %}" class="btn btn-danger"> <a href="{% url 'core:tummytime-delete' tummytime.id %}"
class="btn btn-danger">
<i class="icon-delete" aria-hidden="true"></i> <i class="icon-delete" aria-hidden="true"></i>
</a> </a>
{% endif %} {% endif %}
</div> </div>
</td> </td>
<th scope="row">{{ tummytime.start|datetime_short }}</th> <th scope="row">{{ tummytime.start|datetime_short }}</th>
<td>{{ tummytime.end|datetime_short }}</td> <td>{{ tummytime.end|datetime_short }}</td>
{% if not unique_child %} {% if not unique_child %}
<td><a href="{% url 'core:child' tummytime.child.slug %}">{{ tummytime.child }}</a></td> <td>
<a href="{% url 'core:child' tummytime.child.slug %}">{{ tummytime.child }}</a>
</td>
{% endif %} {% endif %}
<td>{{ tummytime.duration|duration_string }}</td> <td>{{ tummytime.duration|duration_string }}</td>
<td>{{ tummytime.milestone }}</td> <td>{{ tummytime.milestone }}</td>
<td> <td>{% include "core/render_tag_list.html" with tags=tummytime.tags.all %}</td>
{% include "core/render_tag_list.html" with tags=tummytime.tags.all %}
</td>
</tr> </tr>
{% empty %} {% empty %}
<tr> <tr>
@ -71,4 +71,4 @@
</table> </table>
</div> </div>
{% include 'babybuddy/paginator.html' %} {% include 'babybuddy/paginator.html' %}
{% endblock %} {% endblock %}

View File

@ -1,20 +1,23 @@
{% extends 'babybuddy/page.html' %} {% extends 'babybuddy/page.html' %}
{% load i18n widget_tweaks %} {% load i18n widget_tweaks %}
{% block title %}
{% block title %}{% trans "Delete a Weight Entry" %}{% endblock %} {% trans "Delete a Weight Entry" %}
{% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
<li class="breadcrumb-item"><a href="{% url 'core:weight-list' %}">{% trans "Weight" %}</a></li> <li class="breadcrumb-item">
<a href="{% url 'core:weight-list' %}">{% trans "Weight" %}</a>
</li>
<li class="breadcrumb-item active" aria-current="page">{% trans "Delete" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Delete" %}</li>
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<form role="form" method="post"> <form role="form" method="post">
{% csrf_token %} {% csrf_token %}
{% blocktrans trimmed %} {% blocktrans trimmed %}
<h1>Are you sure you want to delete <span class="text-info">{{ object }}</span>?</h1> <h1>
Are you sure you want to delete <span class="text-info">{{ object }}</span>?
</h1>
{% endblocktrans %} {% endblocktrans %}
<input type="submit" value="{% trans "Delete" %}" class="btn btn-danger" /> <input type="submit" value="{% trans "Delete" %}" class="btn btn-danger" />
<a href="{% url 'core:weight-list' %}" class="btn btn-default">{% trans "Cancel" %}</a> <a href="{% url 'core:weight-list' %}" class="btn btn-default">{% trans "Cancel" %}</a>
</form> </form>
{% endblock %} {% endblock %}

View File

@ -1,6 +1,5 @@
{% extends 'babybuddy/page.html' %} {% extends 'babybuddy/page.html' %}
{% load i18n %} {% load i18n %}
{% block title %} {% block title %}
{% if object %} {% if object %}
{{ object }} {{ object }}
@ -8,20 +7,22 @@
{% trans "Add a Weight Entry" %} {% trans "Add a Weight Entry" %}
{% endif %} {% endif %}
{% endblock %} {% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
<li class="breadcrumb-item"><a href="{% url 'core:weight-list' %}">{% trans "Weight" %}</a></li> <li class="breadcrumb-item">
<a href="{% url 'core:weight-list' %}">{% trans "Weight" %}</a>
</li>
{% if object %} {% if object %}
<li class="breadcrumb-item active" aria-current="page">{% trans "Update" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Update" %}</li>
{% else %} {% else %}
<li class="breadcrumb-item active" aria-current="page">{% trans "Add a Weight Entry" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Add a Weight Entry" %}</li>
{% endif %} {% endif %}
{% endblock %} {% endblock %}
{% block content %} {% block content %}
{% if object %} {% if object %}
{% blocktrans trimmed %} {% blocktrans trimmed %}
<h1>Update <span class="text-info">{{ object }}</span></h1> <h1>
Update <span class="text-info">{{ object }}</span>
</h1>
{% endblocktrans %} {% endblocktrans %}
{% else %} {% else %}
<h1>{% trans "Add a Weight Entry" %}</h1> <h1>{% trans "Add a Weight Entry" %}</h1>

View File

@ -1,12 +1,11 @@
{% extends 'babybuddy/page.html' %} {% extends 'babybuddy/page.html' %}
{% load i18n widget_tweaks %} {% load i18n widget_tweaks %}
{% block title %}
{% block title %}{% trans "Weight" %}{% endblock %} {% trans "Weight" %}
{% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
<li class="breadcrumb-item active" aria-current="page">{% trans "Weight" %}</li> <li class="breadcrumb-item active" aria-current="page">{% trans "Weight" %}</li>
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<h1> <h1>
{% trans "Weight" %} {% trans "Weight" %}
@ -34,34 +33,37 @@
{% for weight in object_list %} {% for weight in object_list %}
<tr> <tr>
<td> <td>
<div class="btn-group btn-group-sm" role="group" aria-label="{% trans "Actions" %}"> <div class="btn-group btn-group-sm"
role="group"
aria-label="{% trans "Actions" %}">
{% if perms.core.change_weight %} {% if perms.core.change_weight %}
<a href="{% url 'core:weight-update' weight.id %}" class="btn btn-primary"> <a href="{% url 'core:weight-update' weight.id %}"
class="btn btn-primary">
<i class="icon-update" aria-hidden="true"></i> <i class="icon-update" aria-hidden="true"></i>
</a> </a>
{% endif %} {% endif %}
{% if perms.core.delete_weight %} {% if perms.core.delete_weight %}
<a href="{% url 'core:weight-delete' weight.id %}" class="btn btn-danger"> <a href="{% url 'core:weight-delete' weight.id %}"
class="btn btn-danger">
<i class="icon-delete" aria-hidden="true"></i> <i class="icon-delete" aria-hidden="true"></i>
</a> </a>
{% endif %} {% endif %}
</div> </div>
</td> </td>
<th scope="row">{{ weight.date }}</th> <th scope="row">{{ weight.date }}</th>
{% if not unique_child %} {% if not unique_child %}
<td><a href="{% url 'core:child' weight.child.slug %}">{{ weight.child }}</a></td> <td>
<a href="{% url 'core:child' weight.child.slug %}">{{ weight.child }}</a>
</td>
{% endif %} {% endif %}
<td>{{ weight.weight }}</td> <td>{{ weight.weight }}</td>
<td> <td>{% include "core/render_tag_list.html" with tags=weight.tags.all %}</td>
{% include "core/render_tag_list.html" with tags=weight.tags.all %}
</td>
</tr> </tr>
{% if weight.notes %} {% if weight.notes %}
<tr class="{{ row_class }} row-details"> <tr class="{{ row_class }} row-details">
<td colspan="5"><i class="icon-note me-2" aria-hidden="true"></i>{{ weight.notes }}</td> <td colspan="5">
<i class="icon-note me-2" aria-hidden="true"></i>{{ weight.notes }}
</td>
</tr> </tr>
{% endif %} {% endif %}
{% empty %} {% empty %}
@ -73,4 +75,4 @@
</table> </table>
</div> </div>
{% include 'babybuddy/paginator.html' %} {% include 'babybuddy/paginator.html' %}
{% endblock %} {% endblock %}

View File

@ -1,43 +1,46 @@
{% load i18n %} {% load i18n %}
<div data-tags-url="{% url 'api:api-root' %}tags/" {% for k, v in widget.attrs.items %}{{ k }}="{{ v }}"{% endfor %}>
<div data-tags-url="{% url 'api:api-root' %}tags/"
{% for k, v in widget.attrs.items %}
{{ k }}="{{ v }}"
{% endfor %}>
{% csrf_token %} {% csrf_token %}
<span class="prototype-tag btn badge badge-pill cursor-pointer me-1" style="display: none;"> <span class="prototype-tag btn badge badge-pill cursor-pointer me-1"
style="display: none">
UNINITIALIZED PROTOTYPE UNINITIALIZED PROTOTYPE
<span class="add-remove-icon ps-1 pe-1">+ or -</span> <span class="add-remove-icon ps-1 pe-1">+ or -</span>
</span> </span>
<div class="current_tags" style="min-height: 2em;"> <div class="current_tags" style="min-height: 2em;">
{% for t in widget.value %} {% for t in widget.value %}
<span data-value="{{ t.name }}" data-color="{{ t.color }}" class="tag btn badge badge-pill cursor-pointer me-1" style="background-color: {{ t.color }};"> <span data-value="{{ t.name }}"
{{ t.name }} data-color="{{ t.color }}"
<span class="add-remove-icon ps-1 pe-1">-</span> class="tag btn badge badge-pill cursor-pointer me-1"
</span> style="background-color: {{ t.color }}">
{{ t.name }}
<span class="add-remove-icon ps-1 pe-1">-</span>
</span>
{% endfor %} {% endfor %}
</div> </div>
<div class="new-tags"> <div class="new-tags">
<div class="create-tag-inputs input-group"> <div class="create-tag-inputs input-group">
<input class="form-control" type="text" name="" placeholder="{% trans "Tag name" %}"> <input class="form-control"
type="text"
name=""
placeholder="{% trans "Tag name" %}">
<button id="add-tag" class="btn btn-outline-primary bg" type="button">{% trans "Add" %}</button> <button id="add-tag" class="btn btn-outline-primary bg" type="button">{% trans "Add" %}</button>
</div> </div>
{% if widget.tag_suggestions.quick %} {% if widget.tag_suggestions.quick %}
<span>{% trans "Recently used:" %}</span> <span>{% trans "Recently used:" %}</span>
{% for t in widget.tag_suggestions.quick %} {% for t in widget.tag_suggestions.quick %}
<span data-value="{{ t.name }}" data-color="{{ t.color }}" class="tag btn badge badge-pill cursor-pointer me-1" style="background-color: {{ t.color }};"> <span data-value="{{ t.name }}"
{{ t.name }} data-color="{{ t.color }}"
<span class="add-remove-icon ps-1 pe-1">+</span> class="tag btn badge badge-pill cursor-pointer me-1"
</span> style="background-color: {{ t.color }}">
{{ t.name }}
<span class="add-remove-icon ps-1 pe-1">+</span>
</span>
{% endfor %} {% endfor %}
{%endif%} {% endif %}
</div> </div>
<input <input type="hidden"
type="hidden" name="{{ widget.name }}"
name="{{ widget.name }}" value="{% for t in widget.value %}&quot;{{ t.name }}&quot;{% if not forloop.last %},{% endif %}{% endfor %}">
value="{% for t in widget.value %}&quot;{{ t.name }}&quot;{% if not forloop.last %},{% endif %}{% endfor %}"
>
<div class="modal fade tag-editor-error-modal"> <div class="modal fade tag-editor-error-modal">
<div class="modal-dialog modal-sm" role="document"> <div class="modal-dialog modal-sm" role="document">
<div class="modal-content"> <div class="modal-content">
@ -45,18 +48,14 @@
<h4 class="modal-title">{% trans "Error" context "Error modal" %}</h4> <h4 class="modal-title">{% trans "Error" context "Error modal" %}</h4>
<button type="button" class="btn-close" data-bs-dismiss="modal"></button> <button type="button" class="btn-close" data-bs-dismiss="modal"></button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<span data-message="generic">{% trans "An error ocurred." context "Error modal" %}</span> <span data-message="generic">{% trans "An error ocurred." context "Error modal" %}</span>
<span data-message="invalid-tag-name">{% trans "Invalid tag name." context "Error modal" %}</span> <span data-message="invalid-tag-name">{% trans "Invalid tag name." context "Error modal" %}</span>
<span data-message="tag-creation-failed">{% trans "Failed to create tag." context "Error modal" %}</span> <span data-message="tag-creation-failed">{% trans "Failed to create tag." context "Error modal" %}</span>
<span data-message="tag-checking-failed">{% trans "Failed to obtain tag data." context "Error modal" %}</span> <span data-message="tag-checking-failed">{% trans "Failed to obtain tag data." context "Error modal" %}</span>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button type="button" class="btn btn-danger" data-bs-dismiss="modal"> <button type="button" class="btn btn-danger" data-bs-dismiss="modal">{% trans "Close" context "Error modal" %}</button>
{% trans "Close" context "Error modal" %}
</button>
</div> </div>
</div> </div>
</div> </div>

View File

@ -1,15 +1,18 @@
{% load i18n %} {% load i18n %}
<h3 class="text-center"> <h3 class="text-center">
{% if date_previous %} {% if date_previous %}
<a class="btn btn-sm btn-default" href="?date={{ date_previous|date:"Y-m-d" }}" aria-label="{% trans "Previous" %}"> <a class="btn btn-sm btn-default"
href="?date={{ date_previous|date:"Y-m-d" }}"
aria-label="{% trans "Previous" %}">
<i class="icon-2x icon-angle-circled-left" aria-hidden="true"></i> <i class="icon-2x icon-angle-circled-left" aria-hidden="true"></i>
<span class="visually-hidden">{% trans "Previous" %}</span> <span class="visually-hidden">{% trans "Previous" %}</span>
</a> </a>
{% endif %} {% endif %}
{{ date|date }} {{ date|date }}
{% if date_next %} {% if date_next %}
<a class="btn btn-sm btn-default" href="?date={{ date_next|date:"Y-m-d" }}" aria-label="{% trans "Next" %}"> <a class="btn btn-sm btn-default"
href="?date={{ date_next|date:"Y-m-d" }}"
aria-label="{% trans "Next" %}">
<i class="icon-2x icon-angle-circled-right" aria-hidden="true"></i> <i class="icon-2x icon-angle-circled-right" aria-hidden="true"></i>
<span class="visually-hidden">{% trans "Next" %}</span> <span class="visually-hidden">{% trans "Next" %}</span>
</a> </a>
@ -18,7 +21,7 @@
{% if timeline_objects %} {% if timeline_objects %}
<ul class="timeline m-auto"> <ul class="timeline m-auto">
{% for object in timeline_objects %} {% for object in timeline_objects %}
<li{% cycle "" ' class="timeline-inverted"' %}> <li {% cycle "" ' class="timeline-inverted"' %}>
<div class="timeline-badge {% if object.type == "start" %}bg-success{% elif object.type == "end" %}bg-danger{% else %}bg-info{% endif %}"> <div class="timeline-badge {% if object.type == "start" %}bg-success{% elif object.type == "end" %}bg-danger{% else %}bg-info{% endif %}">
<i class="icon-{{ object.model_name }}"></i> <i class="icon-{{ object.model_name }}"></i>
</div> </div>
@ -26,12 +29,12 @@
<div class="card-body"> <div class="card-body">
{{ object.event }} {{ object.event }}
{% for detail in object.details %} {% for detail in object.details %}
<div><small>{{ detail }}</small></div> <div>
<small>{{ detail }}</small>
</div>
{% endfor %} {% endfor %}
{% if object.tags %} {% if object.tags %}
<div> <div>{% include "core/render_tag_list.html" with tags=object.tags %}</div>
{% include "core/render_tag_list.html" with tags=object.tags %}
</div>
{% endif %} {% endif %}
</div> </div>
<div class="card-footer text-body-secondary"> <div class="card-footer text-body-secondary">
@ -68,14 +71,18 @@
</ul> </ul>
<h3 class="text-center"> <h3 class="text-center">
{% if date_previous %} {% if date_previous %}
<a class="btn btn-sm btn-default" href="?date={{ date_previous|date:"Y-m-d" }}" aria-label="{% trans "Previous" %}"> <a class="btn btn-sm btn-default"
href="?date={{ date_previous|date:"Y-m-d" }}"
aria-label="{% trans "Previous" %}">
<i class="icon-2x icon-angle-circled-left" aria-hidden="true"></i> <i class="icon-2x icon-angle-circled-left" aria-hidden="true"></i>
<span class="visually-hidden">{% trans "Previous" %}</span> <span class="visually-hidden">{% trans "Previous" %}</span>
</a> </a>
{% endif %} {% endif %}
{{ date|date }} {{ date|date }}
{% if date_next %} {% if date_next %}
<a class="btn btn-sm btn-default" href="?date={{ date_next|date:"Y-m-d" }}" aria-label="{% trans "Next" %}"> <a class="btn btn-sm btn-default"
href="?date={{ date_next|date:"Y-m-d" }}"
aria-label="{% trans "Next" %}">
<i class="icon-2x icon-angle-circled-right" aria-hidden="true"></i> <i class="icon-2x icon-angle-circled-right" aria-hidden="true"></i>
<span class="visually-hidden">{% trans "Next" %}</span> <span class="visually-hidden">{% trans "Next" %}</span>
</a> </a>
@ -83,4 +90,4 @@
</h3> </h3>
{% else %} {% else %}
<div class="text-center">{% trans "No events" %}</div> <div class="text-center">{% trans "No events" %}</div>
{% endif %} {% endif %}

View File

@ -1,16 +1,13 @@
{% extends 'babybuddy/page.html' %} {% extends 'babybuddy/page.html' %}
{% load cards i18n static %} {% load cards i18n static %}
{% block title %}
{% block title %}{% trans "Timeline" %}{% endblock %} {% trans "Timeline" %}
{% endblock %}
{% block breadcrumbs %} {% block breadcrumbs %}
<li class="breadcrumb-item fw-bold">{% trans "Timeline" %}</li> <li class="breadcrumb-item fw-bold">{% trans "Timeline" %}</li>
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<div class="row"> <div class="row">
<div class="col"> <div class="col">{% include 'timeline/_timeline.html' %}</div>
{% include 'timeline/_timeline.html' %}
</div>
</div> </div>
{% endblock %} {% endblock %}

View File

@ -5,8 +5,12 @@
{% block header %}{% endblock %} {% block header %}{% endblock %}
</div> </div>
<div class="card-body"> <div class="card-body">
<span class="card-title"><strong>{% block title %}{% endblock %}</strong></span> <span class="card-title"><strong>
<div class="card-text"> {% block content %}{% endblock %} </div> {% block title %}{% endblock %}
</strong></span>
<div class="card-text">
{% block content %}{% endblock %}
</div>
</div> </div>
{% block listgroup %}{% endblock %} {% block listgroup %}{% endblock %}
</div> </div>

View File

@ -1,12 +1,8 @@
{% extends 'cards/base.html' %} {% extends 'cards/base.html' %}
{% load duration i18n %} {% load duration i18n %}
{% block header %} {% block header %}
<a href="{% url "core:diaperchange-list" %}"> <a href="{% url "core:diaperchange-list" %}">{% trans "Last Diaper Change" %}</a>
{% trans "Last Diaper Change" %}
</a>
{% endblock %} {% endblock %}
{% block title %} {% block title %}
{% if change %} {% if change %}
{% blocktrans trimmed with since=change.time|deltasince|duration_string:'m' time=change.time|time %} {% blocktrans trimmed with since=change.time|deltasince|duration_string:'m' time=change.time|time %}
@ -17,7 +13,6 @@
{% trans "None" %} {% trans "None" %}
{% endif %} {% endif %}
{% endblock %} {% endblock %}
{% block content %} {% block content %}
{% if change %}{{ change.attributes|join:', ' }}{% endif %} {% if change %}{{ change.attributes|join:', ' }}{% endif %}
{% endblock %} {% endblock %}

View File

@ -1,12 +1,8 @@
{% extends 'cards/base.html' %} {% extends 'cards/base.html' %}
{% load i18n %} {% load i18n %}
{% block header %} {% block header %}
<a href="{% url "core:diaperchange-list" %}"> <a href="{% url "core:diaperchange-list" %}">{% trans "Diaper Changes" %}</a>
{% trans "Diaper Changes" %}
</a>
{% endblock %} {% endblock %}
{% block title %} {% block title %}
{% if total == 0 %} {% if total == 0 %}
{% trans "None" %} {% trans "None" %}
@ -14,35 +10,29 @@
{% trans "Past Week" %} {% trans "Past Week" %}
{% endif %} {% endif %}
{% endblock %} {% endblock %}
{% block content %} {% block content %}
{% for key, info in stats.items %} {% for key, info in stats.items %}
{% if info.wet > 0 or info.solid > 0 or info.empty > 0 %} {% if info.wet > 0 or info.solid > 0 or info.empty > 0 %}
<div class="progress mt-3" role="progressbar"> <div class="progress mt-3" role="progressbar">
{% if info.wet_pct > 0 %} {% if info.wet_pct > 0 %}
<div class="progress-bar bg-primary lead" <div class="progress-bar bg-primary lead"
style="width: {{ info.wet_pct|safe }}%;"> style="width: {{ info.wet_pct|safe }}%">
{{ info.wet|floatformat:'0' }}&nbsp;{% trans "wet" %} {{ info.wet|floatformat:'0' }}&nbsp;{% trans "wet" %}
</div> </div>
{% endif %} {% endif %}
{% if info.solid_pct > 0 %} {% if info.solid_pct > 0 %}
<div class="progress-bar bg-secondary lead" <div class="progress-bar bg-secondary lead"
style="width: {{ info.solid_pct|safe }}%;"> style="width: {{ info.solid_pct|safe }}%">
{{ info.solid|floatformat:'0' }}&nbsp;{% trans "solid" %} {{ info.solid|floatformat:'0' }}&nbsp;{% trans "solid" %}
</div> </div>
{% endif %} {% endif %}
{% if info.empty_pct > 0 %} {% if info.empty_pct > 0 %}
<div class="progress-bar bg-transparent lead" <div class="progress-bar bg-transparent lead"
style="width: {{ info.empty_pct|safe }}%;"> style="width: {{ info.empty_pct|safe }}%">{{ info.empty|floatformat:'0' }}</div>
{{ info.empty|floatformat:'0' }}
</div>
{% endif %} {% endif %}
</div> </div>
<div class="text-center text-light small"> <div class="text-center text-light small">
{% if key == 0 %} {% if key == 0 %}
{% trans "today" %} {% trans "today" %}
{% elif key == 1 %} {% elif key == 1 %}
{% trans "yesterday" %} {% trans "yesterday" %}
@ -55,4 +45,4 @@
</div> </div>
{% endif %} {% endif %}
{% endfor %} {% endfor %}
{% endblock %} {% endblock %}

View File

@ -1,12 +1,8 @@
{% extends 'cards/base.html' %} {% extends 'cards/base.html' %}
{% load duration i18n %} {% load duration i18n %}
{% block header %} {% block header %}
<a href="{% url "core:feeding-list" %}"> <a href="{% url "core:feeding-list" %}">{% trans "Last Feeding" %}</a>
{% trans "Last Feeding" %}
</a>
{% endblock %} {% endblock %}
{% block title %} {% block title %}
{% if feeding %} {% if feeding %}
{% blocktrans trimmed with since=feeding.start|deltasince|duration_string:'m' time=feeding.start|time %} {% blocktrans trimmed with since=feeding.start|deltasince|duration_string:'m' time=feeding.start|time %}
@ -17,12 +13,9 @@
{% trans "None" %} {% trans "None" %}
{% endif %} {% endif %}
{% endblock %} {% endblock %}
{% block content %} {% block content %}
{% if feeding %} {% if feeding %}
{{ feeding.get_type_display }}, {{ feeding.get_method_display }} {{ feeding.get_type_display }}, {{ feeding.get_method_display }}
{% if feeding.amount %} {% if feeding.amount %}({{ feeding.amount }}){% endif %}
({{ feeding.amount }})
{% endif %}
{% endif %} {% endif %}
{% endblock %} {% endblock %}

View File

@ -1,32 +1,30 @@
{% extends 'cards/base.html' %} {% extends 'cards/base.html' %}
{% load i18n %} {% load i18n %}
{% block header %} {% block header %}
<a href="{% url "core:feeding-list" %}"> <a href="{% url "core:feeding-list" %}">{% trans "Last Feeding Method" %}</a>
{% trans "Last Feeding Method" %}
</a>
{% endblock %} {% endblock %}
{% block title %} {% block title %}
{% if feedings|length > 0 %} {% if feedings|length > 0 %}
<div id="feeding-methods-carousel" class="carousel slide" data-bs-interval="false"> <div id="feeding-methods-carousel"
class="carousel slide"
data-bs-interval="false">
<div class="carousel-inner"> <div class="carousel-inner">
{% for feeding in feedings %} {% for feeding in feedings %}
<div class="carousel-item{% if forloop.counter == feedings|length %} active{% endif %}"> <div class="carousel-item{% if forloop.counter == feedings|length %} active{% endif %}">
<div class="last-feeding-method text-center">{{ feeding.get_method_display }}</div> <div class="last-feeding-method text-center">{{ feeding.get_method_display }}</div>
<div class="text-center small text-body-secondary"> <div class="text-center small text-body-secondary">
{% if forloop.last %} {% if forloop.last %}
{% trans "most recent" %} {% trans "most recent" %}
{% else %} {% else %}
{% blocktrans trimmed with n=forloop.revcounter0 count counter=n %} {% blocktrans trimmed with n=forloop.revcounter0 count counter=n %}
{{ n }} feeding ago {{ n }} feeding ago
{% plural %} {% plural %}
{{ n }} feedings ago {{ n }} feedings ago
{% endblocktrans %} {% endblocktrans %}
{% endif %} {% endif %}
</div>
</div> </div>
</div> {% endfor %}
{% endfor %}
</div> </div>
{% if feedings|length > 1 %} {% if feedings|length > 1 %}
<a class="carousel-control-prev" <a class="carousel-control-prev"
@ -48,5 +46,4 @@
{% else %} {% else %}
{% trans "None" %} {% trans "None" %}
{% endif %} {% endif %}
{% endblock %}
{% endblock %}

View File

@ -1,61 +1,56 @@
{% extends 'cards/base.html' %} {% extends 'cards/base.html' %}
{% load duration i18n %} {% load duration i18n %}
{% block header %} {% block header %}
<a href="{% url "core:feeding-list" %}"> <a href="{% url "core:feeding-list" %}">{% trans "Recent Feedings" %}</a>
{% trans "Recent Feedings" %}
</a>
{% endblock %} {% endblock %}
{% block title %} {% block title %}
{% if feedings|length > 0 %} {% if feedings|length > 0 %}
<div id="feeding-days-carousel" class="carousel slide" data-bs-interval="false"> <div id="feeding-days-carousel"
<div class="carousel-inner"> class="carousel slide"
{% for feeding in feedings %} data-bs-interval="false">
<div class="carousel-item{% if forloop.counter == 1 %} active{% endif %}"> <div class="carousel-inner">
<div class="last-feeding-method text-center"> {% for feeding in feedings %}
{% if feeding.total %} <div class="carousel-item{% if forloop.counter == 1 %} active{% endif %}">
{{ feeding.total|floatformat }} <div class="last-feeding-method text-center">
{% else %} {% if feeding.total %}
{% trans "None" %} {{ feeding.total|floatformat }}
{% endif %} {% else %}
</div> {% trans "None" %}
<div class="text-center small"> {% endif %}
{% if feeding.count > 0 %} </div>
{% blocktrans trimmed count counter=feeding.count %} <div class="text-center small">
{{ counter }} feeding {% if feeding.count > 0 %}
{% plural %} {% blocktrans trimmed count counter=feeding.count %}
{{ counter }} feedings {{ counter }} feeding
{% plural %}
{{ counter }} feedings
{% endblocktrans %}
{% endif %}
</div>
{% blocktrans trimmed with since=feeding.date.date|dayssince %}
<div class="text-center small text-body-secondary">{{ since }}</div>
{% endblocktrans %} {% endblocktrans %}
{% endif %}
</div>
{% blocktrans trimmed with since=feeding.date.date|dayssince %}
<div class="text-center small text-body-secondary">
{{ since }}
</div> </div>
{% endblocktrans %} {% endfor %}
</div> </div>
{% endfor %} {% if feedings|length > 1 %}
</div> <a class="carousel-control-prev"
{% if feedings|length > 1 %} href="#feeding-days-carousel"
<a class="carousel-control-prev" role="button"
href="#feeding-days-carousel" data-bs-slide="prev">
role="button" <span class="carousel-control-prev-icon" aria-hidden="true"></span>
data-bs-slide="prev"> <span class="visually-hidden">{% trans "Previous" %}</span>
<span class="carousel-control-prev-icon" aria-hidden="true"></span> </a>
<span class="visually-hidden">{% trans "Previous" %}</span> <a class="carousel-control-next"
</a> href="#feeding-days-carousel"
<a class="carousel-control-next" role="button"
href="#feeding-days-carousel" data-bs-slide="next">
role="button" <span class="carousel-control-next-icon" aria-hidden="true"></span>
data-bs-slide="next"> <span class="visually-hidden">{% trans "Next" %}</span>
<span class="carousel-control-next-icon" aria-hidden="true"></span> </a>
<span class="visually-hidden">{% trans "Next" %}</span> {% endif %}
</a> </div>
{% else %}
{% trans "None" %}
{% endif %} {% endif %}
</div>
{% else %}
{% trans "None" %}
{% endif %}
{% endblock %} {% endblock %}

View File

@ -1,12 +1,8 @@
{% extends 'cards/base.html' %} {% extends 'cards/base.html' %}
{% load duration i18n %} {% load duration i18n %}
{% block header %} {% block header %}
<a href="{% url "core:pumping-list" %}"> <a href="{% url "core:pumping-list" %}">{% trans "Last Pumping" %}</a>
{% trans "Last Pumping" %}
</a>
{% endblock %} {% endblock %}
{% block title %} {% block title %}
{% if pumping %} {% if pumping %}
{% blocktrans trimmed with since=pumping.start|deltasince|duration_string:'m' time=pumping.start|time %} {% blocktrans trimmed with since=pumping.start|deltasince|duration_string:'m' time=pumping.start|time %}
@ -17,7 +13,6 @@
{% trans "None" %} {% trans "None" %}
{% endif %} {% endif %}
{% endblock %} {% endblock %}
{% block content %} {% block content %}
{% if pumping %} {% if pumping %}
{% trans "Amount" %}: {{ pumping.amount }} {% trans "Amount" %}: {{ pumping.amount }}

View File

@ -1,12 +1,8 @@
{% extends 'cards/base.html' %} {% extends 'cards/base.html' %}
{% load duration i18n %} {% load duration i18n %}
{% block header %} {% block header %}
<a href="{% url "core:sleep-list" %}"> <a href="{% url "core:sleep-list" %}">{% trans "Last Sleep" %}</a>
{% trans "Last Sleep" %}
</a>
{% endblock %} {% endblock %}
{% block title %} {% block title %}
{% if sleep %} {% if sleep %}
{% blocktrans trimmed with since=sleep.end|deltasince|duration_string:'m' time=sleep.end|time %} {% blocktrans trimmed with since=sleep.end|deltasince|duration_string:'m' time=sleep.end|time %}
@ -17,5 +13,4 @@
{% trans "None" %} {% trans "None" %}
{% endif %} {% endif %}
{% endblock %} {% endblock %}
{% block content %}{{ sleep.duration|duration_string }}{% endblock %}
{% block content %}{{ sleep.duration|duration_string }}{% endblock %}

View File

@ -1,12 +1,8 @@
{% extends 'cards/base.html' %} {% extends 'cards/base.html' %}
{% load duration i18n %} {% load duration i18n %}
{% block header %} {% block header %}
<a href="{% url "core:sleep-list" %}"> <a href="{% url "core:sleep-list" %}">{% trans "Today's Naps" %}</a>
{% trans "Today's Naps" %}
</a>
{% endblock %} {% endblock %}
{% block title %} {% block title %}
{% if count %} {% if count %}
{% blocktrans trimmed count counter=count %} {% blocktrans trimmed count counter=count %}
@ -18,7 +14,6 @@
{% trans "None" %} {% trans "None" %}
{% endif %} {% endif %}
{% endblock %} {% endblock %}
{% block content %} {% block content %}
{% if total %}{{ total|duration_string }}{% endif %} {% if total %}{{ total|duration_string }}{% endif %}
{% endblock %} {% endblock %}

View File

@ -1,54 +1,56 @@
{% extends 'cards/base.html' %} {% extends 'cards/base.html' %}
{% load duration i18n %} {% load duration i18n %}
{% block header %} {% block header %}
<a href="{% url "core:sleep-list" %}"> <a href="{% url "core:sleep-list" %}">{% trans "Recent Sleep" %}</a>
{% trans "Recent Sleep" %}
</a>
{% endblock %} {% endblock %}
{% block title %} {% block title %}
{% if sleeps|length > 0 %} {% if sleeps|length > 0 %}
<div id="sleep-days-carousel" class="carousel slide" data-bs-interval="false"> <div id="sleep-days-carousel"
<div class="carousel-inner"> class="carousel slide"
{% for sleep in sleeps %} data-bs-interval="false">
<div class="carousel-item{% if forloop.counter == 1 %} active{% endif %}"> <div class="carousel-inner">
<div class="last-sleep-method text-center"> {% for sleep in sleeps %}
{% if sleep.total %} <div class="carousel-item{% if forloop.counter == 1 %} active{% endif %}">
{{ sleep.total|duration_string:"m" }} <div class="last-sleep-method text-center">
{% else %} {% if sleep.total %}
{% trans "None" %} {{ sleep.total|duration_string:"m" }}
{% endif %} {% else %}
</div> {% trans "None" %}
<div class="text-center small"> {% endif %}
{% if sleep.count > 0 %} </div>
{% blocktrans trimmed count counter=sleep.count %} <div class="text-center small">
{{ counter }} sleep {% if sleep.count > 0 %}
{% plural %} {% blocktrans trimmed count counter=sleep.count %}
{{ counter }} sleeps {{ counter }} sleep
{% plural %}
{{ counter }} sleeps
{% endblocktrans %}
{% endif %}
</div>
{% blocktrans trimmed with since=sleep.date.date|dayssince %}
<div class="text-center small text-body-secondary">{{ since }}</div>
{% endblocktrans %} {% endblocktrans %}
{% endif %}
</div>
{% blocktrans trimmed with since=sleep.date.date|dayssince %}
<div class="text-center small text-body-secondary">
{{ since }}
</div> </div>
{% endblocktrans %} {% endfor %}
</div> </div>
{% endfor %} {% if sleeps|length > 1 %}
</div> <a class="carousel-control-prev"
{% if sleeps|length > 1 %} href="#sleep-days-carousel"
<a class="carousel-control-prev" href="#sleep-days-carousel" role="button" data-bs-slide="prev"> role="button"
<span class="carousel-control-prev-icon" aria-hidden="true"></span> data-bs-slide="prev">
<span class="visually-hidden">{% trans "Previous" %}</span> <span class="carousel-control-prev-icon" aria-hidden="true"></span>
</a> <span class="visually-hidden">{% trans "Previous" %}</span>
<a class="carousel-control-next" href="#sleep-days-carousel" role="button" data-bs-slide="next"> </a>
<span class="carousel-control-next-icon" aria-hidden="true"></span> <a class="carousel-control-next"
<span class="visually-hidden">{% trans "Next" %}</span> href="#sleep-days-carousel"
</a> role="button"
data-bs-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="visually-hidden">{% trans "Next" %}</span>
</a>
{% endif %}
</div>
{% else %}
{% trans "None" %}
{% endif %} {% endif %}
</div> {% endblock %}
{% else %}
{% trans "None" %}
{% endif %}
{% endblock %}

View File

@ -1,5 +1,4 @@
{% load duration i18n %} {% load duration i18n %}
{% if not empty or not hide_empty %} {% if not empty or not hide_empty %}
<div class="card card-dashboard card-statistics"> <div class="card card-dashboard card-statistics">
<div class="card-header"> <div class="card-header">
@ -8,44 +7,46 @@
</div> </div>
<div class="card-body text-center"> <div class="card-body text-center">
{% if stats|length > 0 %} {% if stats|length > 0 %}
<div id="statistics-carousel" class="carousel slide" data-bs-interval="false"> <div id="statistics-carousel"
<div class="carousel-inner"> class="carousel slide"
{% for stat in stats %} data-bs-interval="false">
<div class="carousel-item{% if forloop.counter == 1 %} active{% endif %}"> <div class="carousel-inner">
<span class="card-title"> {% for stat in stats %}
{% if stat.stat %} <div class="carousel-item{% if forloop.counter == 1 %} active{% endif %}">
{% if stat.type == 'duration' %} <span class="card-title">
{{ stat.stat|duration_string:'m' }} {% if stat.stat %}
{% elif stat.type == 'float' %} {% if stat.type == 'duration' %}
{{ stat.stat|floatformat }} {{ stat.stat|duration_string:'m' }}
{% elif stat.type == 'float' %}
{{ stat.stat|floatformat }}
{% else %}
{{ stat.stat }}
{% endif %}
{% else %} {% else %}
{{ stat.stat }} <em>{% trans "Not enough data" %}</em>
{% endif %} {% endif %}
{% else %} </span>
<em>{% trans "Not enough data" %}</em> <div class="card-text">{{ stat.title }}</div>
{% endif %} </div>
</span> {% endfor %}
<div class="card-text">{{ stat.title }}</div> </div>
</div> <a class="carousel-control-prev"
{% endfor %} href="#statistics-carousel"
role="button"
data-bs-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="visually-hidden">{% trans "Previous" %}</span>
</a>
<a class="carousel-control-next"
href="#statistics-carousel"
role="button"
data-bs-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="visually-hidden">{% trans "Next" %}</span>
</a>
</div> </div>
<a class="carousel-control-prev"
href="#statistics-carousel"
role="button"
data-bs-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="visually-hidden">{% trans "Previous" %}</span>
</a>
<a class="carousel-control-next"
href="#statistics-carousel"
role="button"
data-bs-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="visually-hidden">{% trans "Next" %}</span>
</a>
</div>
{% else %} {% else %}
<span class="card-title"><strong>{% trans "No data yet" %}</strong></span> <span class="card-title"><strong>{% trans "No data yet" %}</strong></span>
{% endif %} {% endif %}
</div> </div>
</div> </div>

View File

@ -1,12 +1,8 @@
{% extends 'cards/base.html' %} {% extends 'cards/base.html' %}
{% load i18n %} {% load i18n %}
{% block header %} {% block header %}
<a href="{% url "core:timer-list" %}"> <a href="{% url "core:timer-list" %}">{% trans "Timers" %}</a>
{% trans "Timers" %}
</a>
{% endblock %} {% endblock %}
{% block title %} {% block title %}
{% with instances|length as count %} {% with instances|length as count %}
{% blocktrans trimmed count counter=count %} {% blocktrans trimmed count counter=count %}
@ -16,19 +12,18 @@
{% endblocktrans %} {% endblocktrans %}
{% endwith %} {% endwith %}
{% endblock %} {% endblock %}
{% block listgroup %} {% block listgroup %}
<ul class="list-group list-group-flush"> <ul class="list-group list-group-flush">
{% for timer in instances %} {% for timer in instances %}
<a href="{% url 'core:timer-detail' timer.id %}" <a href="{% url 'core:timer-detail' timer.id %}"
class="list-group-item list-group-item-action"> class="list-group-item list-group-item-action">
<strong>{{ timer.title_with_child }}</strong> <strong>{{ timer.title_with_child }}</strong>
<p class="text-body-secondary small m-0"> <p class="text-body-secondary small m-0">
{% blocktrans trimmed with start=timer.start|time user=timer.user_username %} {% blocktrans trimmed with start=timer.start|time user=timer.user_username %}
Started by {{ user }} at {{ start }} Started by {{ user }} at {{ start }}
{% endblocktrans %} {% endblocktrans %}
</p> </p>
</a> </a>
{% endfor %} {% endfor %}
</ul> </ul>
{% endblock %} {% endblock %}

View File

@ -1,12 +1,8 @@
{% extends 'cards/base.html' %} {% extends 'cards/base.html' %}
{% load duration i18n %} {% load duration i18n %}
{% block header %} {% block header %}
<a href="{% url "core:tummytime-list" %}"> <a href="{% url "core:tummytime-list" %}">{% trans "Today's Tummy Time" %}</a>
{% trans "Today's Tummy Time" %}
</a>
{% endblock %} {% endblock %}
{% block title %} {% block title %}
{% if stats.count > 0 %} {% if stats.count > 0 %}
{{ stats.total|duration_string }} {{ stats.total|duration_string }}
@ -14,15 +10,14 @@
{% trans "None" %} {% trans "None" %}
{% endif %} {% endif %}
{% endblock %} {% endblock %}
{% block listgroup %} {% block listgroup %}
<ul class="list-group list-group-flush text-body-secondary small"> <ul class="list-group list-group-flush text-body-secondary small">
{% for instance in instances %} {% for instance in instances %}
<li class="list-group-item"> <li class="list-group-item">
{% blocktrans trimmed with duration=instance.duration|duration_string end=instance.end|time %} {% blocktrans trimmed with duration=instance.duration|duration_string end=instance.end|time %}
{{ duration }} at {{ end }} {{ duration }} at {{ end }}
{% endblocktrans %} {% endblocktrans %}
</li> </li>
{% endfor %} {% endfor %}
</ul> </ul>
{% endblock %} {% endblock %}

View File

@ -1,13 +1,8 @@
{% extends 'cards/base.html' %} {% extends 'cards/base.html' %}
{% load duration i18n %} {% load duration i18n %}
{% block header %} {% block header %}
<a href="{% url "core:tummytime-list" %}"> <a href="{% url "core:tummytime-list" %}">{% trans "Last Tummy Time" %}</a>
{% trans "Last Tummy Time" %}
</a>
{% endblock %} {% endblock %}
{% block title %} {% block title %}
{% if tummytime %} {% if tummytime %}
{% blocktrans trimmed with since=tummytime.time|deltasince|duration_string:'m' time=tummytime.time|time %} {% blocktrans trimmed with since=tummytime.time|deltasince|duration_string:'m' time=tummytime.time|time %}
@ -18,12 +13,12 @@
{% trans "Never" %} {% trans "Never" %}
{% endif %} {% endif %}
{% endblock %} {% endblock %}
{% block content %} {% block content %}
{% if tummytime %} {% if tummytime %}
{{ tummytime.duration|duration_string }} {{ tummytime.duration|duration_string }}
{% if tummytime.milestone %} {% if tummytime.milestone %}
<br /> {{ tummytime.milestone }} <br />
{{ tummytime.milestone }}
{% endif %} {% endif %}
{% endif %} {% endif %}
{% endblock %} {% endblock %}

Some files were not shown because too many files have changed in this diff Show More