mirror of https://github.com/snachodog/mybuddy.git
ci: add djlint to ci (#763)
* ci: add djlint to ci * lint: all django templates
This commit is contained in:
parent
ae76ef3606
commit
f30479db42
1
Pipfile
1
Pipfile
|
@ -34,4 +34,5 @@ mkdocs = "*"
|
||||||
mkdocs-material = "*"
|
mkdocs-material = "*"
|
||||||
tblib = "*"
|
tblib = "*"
|
||||||
black = "*"
|
black = "*"
|
||||||
|
djlint = "*"
|
||||||
pysnooper = "*"
|
pysnooper = "*"
|
||||||
|
|
|
@ -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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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>
|
||||||
|
|
|
@ -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 %}
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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 %}
|
||||||
|
|
|
@ -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>
|
||||||
|
|
||||||
</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>
|
|
||||||
|
|
||||||
</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>
|
||||||
|
|
||||||
|
</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 %}
|
||||||
|
|
|
@ -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' %}
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -1,19 +1,22 @@
|
||||||
{% 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>
|
||||||
|
|
|
@ -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 %}
|
|
@ -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>
|
||||||
|
|
|
@ -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 %}
|
||||||
|
|
|
@ -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' %}
|
||||||
|
|
|
@ -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 %}
|
||||||
|
|
|
@ -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 —
|
guess work by using Baby Buddy to track —
|
||||||
{% endblocktrans %}
|
{% endblocktrans %}
|
||||||
|
|
|
@ -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' %}
|
||||||
|
|
|
@ -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 %}
|
||||||
|
|
|
@ -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">
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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 %}
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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 %}
|
||||||
|
|
|
@ -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 %}
|
||||||
|
|
|
@ -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 %}
|
|
@ -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 %}
|
|
@ -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 %}
|
|
@ -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 %}
|
|
@ -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 you’ve forgotten:' %} {{ user.get_username }}
|
{% translate 'Your username, in case you’ve forgotten:' %} {{ user.get_username }}
|
||||||
|
{% translate "Thanks for using Baby Buddy!" %}
|
||||||
{% translate "Thanks for using Baby Buddy!" %}
|
|
||||||
|
|
||||||
{% endautoescape %}
|
{% endautoescape %}
|
||||||
|
|
|
@ -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 %}
|
|
@ -1,18 +1,21 @@
|
||||||
{% 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>
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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 %}
|
||||||
|
|
|
@ -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,9 +29,7 @@
|
||||||
{% 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>
|
||||||
|
|
|
@ -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 %}
|
|
||||||
|
|
|
@ -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,21 +7,25 @@
|
||||||
{% 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>
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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 %}
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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 %}
|
||||||
|
|
|
@ -1,18 +1,21 @@
|
||||||
{% 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>
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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 %}
|
||||||
|
|
|
@ -1,18 +1,21 @@
|
||||||
{% 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>
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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 %}
|
||||||
|
|
|
@ -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 %}
|
|
@ -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>
|
||||||
|
|
|
@ -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 %}
|
||||||
|
|
|
@ -1,18 +1,21 @@
|
||||||
{% 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>
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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 %}
|
||||||
|
|
|
@ -1,18 +1,21 @@
|
||||||
{% 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>
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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 %}
|
||||||
|
|
|
@ -1,18 +1,21 @@
|
||||||
{% 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>
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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 %}
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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 %}
|
||||||
|
|
|
@ -1,18 +1,21 @@
|
||||||
{% 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>
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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 %}
|
||||||
|
|
|
@ -1,18 +1,21 @@
|
||||||
{% 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>
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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 %}
|
||||||
|
|
|
@ -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 %}
|
|
@ -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');
|
|
||||||
</script>
|
|
||||||
{% endblock %}
|
{% endblock %}
|
|
@ -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>
|
||||||
|
|
|
@ -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,34 +19,36 @@
|
||||||
<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>
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -1,18 +1,21 @@
|
||||||
{% 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>
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -1,18 +1,21 @@
|
||||||
{% 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>
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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 %}
|
||||||
|
|
|
@ -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 %}"{{ t.name }}"{% if not forloop.last %},{% endif %}{% endfor %}">
|
||||||
value="{% for t in widget.value %}"{{ t.name }}"{% 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>
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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 %}
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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 %}
|
|
@ -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' }} {% trans "wet" %}
|
{{ info.wet|floatformat:'0' }} {% 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' }} {% trans "solid" %}
|
{{ info.solid|floatformat:'0' }} {% 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" %}
|
||||||
|
|
|
@ -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 %}
|
||||||
|
|
|
@ -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 %}
|
|
@ -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 %}
|
||||||
|
|
|
@ -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 }}
|
||||||
|
|
|
@ -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 %}
|
|
@ -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 %}
|
|
@ -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>
|
|
||||||
{% else %}
|
|
||||||
{% trans "None" %}
|
|
||||||
{% endif %}
|
|
||||||
{% endblock %}
|
{% endblock %}
|
|
@ -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>
|
||||||
|
|
|
@ -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 %}
|
|
@ -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 %}
|
|
@ -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
Loading…
Reference in New Issue