Merge branch 'release-v0.6.6'

This commit is contained in:
Sam 2022-05-29 10:38:13 +02:00
commit 3dde0e6917
102 changed files with 2081 additions and 1903 deletions

View File

@ -41,6 +41,9 @@ jobs:
pip install --quiet poetry
poetry config virtualenvs.create false
poetry install --no-interaction --quiet
- name: Bandit
if: matrix.python-version == '3.10'
run: bandit -r fittrackee -c pyproject.toml
- name: Lint
if: matrix.python-version == '3.10'
run: pytest --flake8 --isort --black -m "flake8 or isort or black" fittrackee e2e --ignore=fittrackee/migrations -p no:warnings

View File

@ -1,5 +1,12 @@
# Change log
## Version 0.6.6 (2022/05/29)
### Misc
No new features in this release, only dependencies update and code refacto before introducing new features.
## Version 0.6.5 (2022/04/24)
It is now possible to start FitTrackee without a configured SMTP provider (see [documentation](https://samr1.github.io/FitTrackee/installation.html#emails)).

View File

@ -6,14 +6,17 @@ make-p:
# Launch all P targets in parallel and exit as soon as one exits.
set -m; (for p in $(P); do ($(MAKE) $$p || kill 0)& done; wait)
bandit:
$(BANDIT) -r fittrackee -c pyproject.toml
build-client: lint-client
cd fittrackee_client && $(NPM) build
check-all: lint-all type-check test-all
check-all: bandit lint-all type-check test-all
check-client: lint-client test-client
check-python: lint-python type-check test-python
check-python: bandit lint-python type-check test-python
clean:
rm -rf .mypy_cache
@ -98,10 +101,12 @@ init-db:
install: install-client install-python
install-client:
cd fittrackee_client && $(NPM) install --prod
# NPM_ARGS="--ignore-engines", if errors with Node latest version
cd fittrackee_client && $(NPM) install --prod $(NPM_ARGS)
install-client-dev:
cd fittrackee_client && $(NPM) install
# NPM_ARGS="--ignore-engines", if errors with Node latest version
cd fittrackee_client && $(NPM) install $(NPM_ARGS)
install-dev: install-client-dev install-python-dev

View File

@ -26,6 +26,7 @@ PYTEST = $(VENV)/bin/py.test -c pyproject.toml -W ignore::DeprecationWarning
GUNICORN = $(VENV)/bin/gunicorn
BLACK = $(VENV)/bin/black
MYPY = $(VENV)/bin/mypy
BANDIT = $(VENV)/bin/bandit
FTCLI = $(VENV)/bin/ftcli
# Node env

View File

@ -1 +1 @@
0.6.5
0.6.6

View File

@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 1ea083693023f346a774e8d4c5d799a3
config: 4cdeaae17c31d716c1f73eb46769543b
tags: 645f666f9bcd5a90fca523b33c5a78b7

Binary file not shown.

Before

Width:  |  Height:  |  Size: 539 KiB

After

Width:  |  Height:  |  Size: 539 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 369 KiB

After

Width:  |  Height:  |  Size: 368 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 202 KiB

After

Width:  |  Height:  |  Size: 201 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 71 KiB

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 103 KiB

After

Width:  |  Height:  |  Size: 102 KiB

View File

@ -1,5 +1,12 @@
# Change log
## Version 0.6.6 (2022/05/29)
### Misc
No new features in this release, only dependencies update and code refacto before introducing new features.
## Version 0.6.5 (2022/04/24)
It is now possible to start FitTrackee without a configured SMTP provider (see [documentation](https://samr1.github.io/FitTrackee/installation.html#emails)).

View File

@ -395,13 +395,13 @@ Production environment
.. warning::
| Note that FitTrackee is under heavy development, some features may be unstable.
- Download the last release (for now, it is the release v0.6.5):
- Download the last release (for now, it is the release v0.6.6):
.. code:: bash
$ wget https://github.com/SamR1/FitTrackee/archive/v0.6.5.tar.gz
$ tar -xzf v0.6.5.tar.gz
$ mv FitTrackee-0.6.5 FitTrackee
$ wget https://github.com/SamR1/FitTrackee/archive/v0.6.6.tar.gz
$ tar -xzf v0.6.6.tar.gz
$ mv FitTrackee-0.6.6 FitTrackee
$ cd FitTrackee
- Create **.env** from example and update it
@ -521,13 +521,13 @@ Prod environment
- Change to the directory where FitTrackee directory is located
- Download the last release (for now, it is the release v0.6.5) and overwrite existing files:
- Download the last release (for now, it is the release v0.6.6) and overwrite existing files:
.. code:: bash
$ wget https://github.com/SamR1/FitTrackee/archive/v0.6.5.tar.gz
$ tar -xzf v0.6.5.tar.gz
$ cp -R FitTrackee-0.6.5/* FitTrackee/
$ wget https://github.com/SamR1/FitTrackee/archive/v0.6.6.tar.gz
$ tar -xzf v0.6.6.tar.gz
$ cp -R FitTrackee-0.6.6/* FitTrackee/
$ cd FitTrackee
- Update **.env** if needed (see `Environment variables <installation.html#environment-variables>`__).

View File

@ -1,6 +1,6 @@
var DOCUMENTATION_OPTIONS = {
URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
VERSION: '0.6.5',
VERSION: '0.6.6',
LANGUAGE: 'None',
COLLAPSE_INDEX: false,
BUILDER: 'html',

View File

@ -5,7 +5,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
<title>Authentication &#8212; FitTrackee 0.6.5
<title>Authentication &#8212; FitTrackee 0.6.6
documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
@ -40,7 +40,7 @@
</button>
<a class="navbar-brand" href="../index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.6.5
<span class="navbar-text navbar-version pull-left"><b>0.6.6
</b></span>
</div>

View File

@ -5,7 +5,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
<title>Configuration &#8212; FitTrackee 0.6.5
<title>Configuration &#8212; FitTrackee 0.6.6
documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
@ -40,7 +40,7 @@
</button>
<a class="navbar-brand" href="../index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.6.5
<span class="navbar-text navbar-version pull-left"><b>0.6.6
</b></span>
</div>
@ -151,7 +151,7 @@
<span class="w"> </span><span class="nt">&quot;max_users&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;max_zip_file_size&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">10485760</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;map_attribution&quot;</span><span class="p">:</span><span class="w"> </span><span class="nt">&quot;&amp;copy; &lt;a href=http://www.openstreetmap.org/copyright&gt;OpenStreetMap&lt;/a&gt; contributors&quot;</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;version&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;0.6.5&quot;</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;version&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;0.6.6&quot;</span><span class="w"></span>
<span class="w"> </span><span class="p">},</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;status&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;success&quot;</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>
@ -191,7 +191,7 @@
<span class="w"> </span><span class="nt">&quot;max_users&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">10</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;max_zip_file_size&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">10485760</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;map_attribution&quot;</span><span class="p">:</span><span class="w"> </span><span class="nt">&quot;&amp;copy; &lt;a href=http://www.openstreetmap.org/copyright&gt;OpenStreetMap&lt;/a&gt; contributors&quot;</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;version&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;0.6.5&quot;</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;version&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;0.6.6&quot;</span><span class="w"></span>
<span class="w"> </span><span class="p">},</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;status&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;success&quot;</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>

View File

@ -5,7 +5,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
<title>API documentation &#8212; FitTrackee 0.6.5
<title>API documentation &#8212; FitTrackee 0.6.6
documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
@ -40,7 +40,7 @@
</button>
<a class="navbar-brand" href="../index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.6.5
<span class="navbar-text navbar-version pull-left"><b>0.6.6
</b></span>
</div>

View File

@ -5,7 +5,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
<title>Records &#8212; FitTrackee 0.6.5
<title>Records &#8212; FitTrackee 0.6.6
documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
@ -40,7 +40,7 @@
</button>
<a class="navbar-brand" href="../index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.6.5
<span class="navbar-text navbar-version pull-left"><b>0.6.6
</b></span>
</div>

View File

@ -5,7 +5,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
<title>Sports &#8212; FitTrackee 0.6.5
<title>Sports &#8212; FitTrackee 0.6.6
documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
@ -40,7 +40,7 @@
</button>
<a class="navbar-brand" href="../index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.6.5
<span class="navbar-text navbar-version pull-left"><b>0.6.6
</b></span>
</div>

View File

@ -5,7 +5,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
<title>Statistics &#8212; FitTrackee 0.6.5
<title>Statistics &#8212; FitTrackee 0.6.6
documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
@ -40,7 +40,7 @@
</button>
<a class="navbar-brand" href="../index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.6.5
<span class="navbar-text navbar-version pull-left"><b>0.6.6
</b></span>
</div>

View File

@ -5,7 +5,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
<title>Users &#8212; FitTrackee 0.6.5
<title>Users &#8212; FitTrackee 0.6.6
documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
@ -40,7 +40,7 @@
</button>
<a class="navbar-brand" href="../index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.6.5
<span class="navbar-text navbar-version pull-left"><b>0.6.6
</b></span>
</div>

View File

@ -5,7 +5,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
<title>Workouts &#8212; FitTrackee 0.6.5
<title>Workouts &#8212; FitTrackee 0.6.6
documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
@ -40,7 +40,7 @@
</button>
<a class="navbar-brand" href="../index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.6.5
<span class="navbar-text navbar-version pull-left"><b>0.6.6
</b></span>
</div>

View File

@ -5,7 +5,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
<title>Change log &#8212; FitTrackee 0.6.5
<title>Change log &#8212; FitTrackee 0.6.6
documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/bootstrap-sphinx.css" />
@ -39,7 +39,7 @@
</button>
<a class="navbar-brand" href="index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.6.5
<span class="navbar-text navbar-version pull-left"><b>0.6.6
</b></span>
</div>
@ -78,6 +78,10 @@
role="menu"
aria-labelledby="dLabelLocalToc"><ul>
<li><a class="reference internal" href="#">Change log</a><ul>
<li><a class="reference internal" href="#version-0-6-6-2022-05-29">Version 0.6.6 (2022/05/29)</a><ul>
<li><a class="reference internal" href="#misc">Misc</a></li>
</ul>
</li>
<li><a class="reference internal" href="#version-0-6-5-2022-04-24">Version 0.6.5 (2022/04/24)</a><ul>
<li><a class="reference internal" href="#issues-closed">Issues Closed</a><ul>
<li><a class="reference internal" href="#features">Features</a></li>
@ -127,202 +131,202 @@
</li>
<li><a class="reference internal" href="#version-0-5-7-2022-02-13">Version 0.5.7 (2022/02/13)</a><ul>
<li><a class="reference internal" href="#id12">Issues Closed</a><ul>
<li><a class="reference internal" href="#misc">Misc</a></li>
<li><a class="reference internal" href="#id13">Misc</a></li>
</ul>
</li>
<li><a class="reference internal" href="#id13">Pull Requests</a><ul>
<li><a class="reference internal" href="#id14">Pull Requests</a><ul>
<li><a class="reference internal" href="#security">Security</a></li>
<li><a class="reference internal" href="#id14">Misc</a></li>
<li><a class="reference internal" href="#id15">Misc</a></li>
</ul>
</li>
</ul>
</li>
<li><a class="reference internal" href="#version-0-5-6-2022-02-05">Version 0.5.6 (2022/02/05)</a><ul>
<li><a class="reference internal" href="#id15">Issues Closed</a><ul>
<li><a class="reference internal" href="#id16">Bugs Fixed</a></li>
<li><a class="reference internal" href="#id16">Issues Closed</a><ul>
<li><a class="reference internal" href="#id17">Bugs Fixed</a></li>
</ul>
</li>
<li><a class="reference internal" href="#id17">Pull Requests</a></li>
<li><a class="reference internal" href="#id18">Pull Requests</a></li>
</ul>
</li>
<li><a class="reference internal" href="#version-0-5-5-2022-01-19">Version 0.5.5 (2022/01/19)</a><ul>
<li><a class="reference internal" href="#id18">Issues Closed</a><ul>
<li><a class="reference internal" href="#id19">Issues Closed</a><ul>
<li><a class="reference internal" href="#new-features">New Features</a></li>
<li><a class="reference internal" href="#id19">Bugs Fixed</a></li>
<li><a class="reference internal" href="#id20">Bugs Fixed</a></li>
</ul>
</li>
</ul>
</li>
<li><a class="reference internal" href="#version-0-5-4-2022-01-01">Version 0.5.4 (2022/01/01)</a><ul>
<li><a class="reference internal" href="#id20">Issues Closed</a><ul>
<li><a class="reference internal" href="#id21">Bugs Fixed</a></li>
<li><a class="reference internal" href="#id21">Issues Closed</a><ul>
<li><a class="reference internal" href="#id22">Bugs Fixed</a></li>
</ul>
</li>
</ul>
</li>
<li><a class="reference internal" href="#version-0-5-3-2022-01-01">Version 0.5.3 (2022/01/01)</a><ul>
<li><a class="reference internal" href="#id22">Issues Closed</a><ul>
<li><a class="reference internal" href="#id23">Bugs Fixed</a></li>
<li><a class="reference internal" href="#id23">Issues Closed</a><ul>
<li><a class="reference internal" href="#id24">Bugs Fixed</a></li>
</ul>
</li>
</ul>
</li>
<li><a class="reference internal" href="#version-0-5-2-2021-12-19">Version 0.5.2 (2021/12/19)</a><ul>
<li><a class="reference internal" href="#id24">Issues Closed</a><ul>
<li><a class="reference internal" href="#id25">New Features</a></li>
<li><a class="reference internal" href="#id25">Issues Closed</a><ul>
<li><a class="reference internal" href="#id26">New Features</a></li>
</ul>
</li>
</ul>
</li>
<li><a class="reference internal" href="#version-0-5-1-2021-11-30">Version 0.5.1 (2021/11/30)</a><ul>
<li><a class="reference internal" href="#id26">Issues Closed</a><ul>
<li><a class="reference internal" href="#id27">New Features</a></li>
<li><a class="reference internal" href="#id27">Issues Closed</a><ul>
<li><a class="reference internal" href="#id28">New Features</a></li>
</ul>
</li>
</ul>
</li>
<li><a class="reference internal" href="#version-0-5-0-2021-11-14">Version 0.5.0 (2021/11/14)</a><ul>
<li><a class="reference internal" href="#id28">Issues Closed</a><ul>
<li><a class="reference internal" href="#id29">New Features</a></li>
<li><a class="reference internal" href="#id30">Bugs Fixed</a></li>
<li><a class="reference internal" href="#id31">Misc</a></li>
<li><a class="reference internal" href="#id29">Issues Closed</a><ul>
<li><a class="reference internal" href="#id30">New Features</a></li>
<li><a class="reference internal" href="#id31">Bugs Fixed</a></li>
<li><a class="reference internal" href="#id32">Misc</a></li>
</ul>
</li>
<li><a class="reference internal" href="#id32">Pull Requests</a></li>
<li><a class="reference internal" href="#id33">Pull Requests</a></li>
</ul>
</li>
<li><a class="reference internal" href="#version-0-4-9-2021-07-16">Version 0.4.9 (2021/07/16)</a><ul>
<li><a class="reference internal" href="#id33">Issues Closed</a><ul>
<li><a class="reference internal" href="#id34">New Features</a></li>
<li><a class="reference internal" href="#id35">Bugs Fixed</a></li>
<li><a class="reference internal" href="#id34">Issues Closed</a><ul>
<li><a class="reference internal" href="#id35">New Features</a></li>
<li><a class="reference internal" href="#id36">Bugs Fixed</a></li>
</ul>
</li>
</ul>
</li>
<li><a class="reference internal" href="#version-0-4-8-2021-07-03">Version 0.4.8 (2021/07/03)</a><ul>
<li><a class="reference internal" href="#id36">Issues Closed</a><ul>
<li><a class="reference internal" href="#id37">Bugs Fixed</a></li>
<li><a class="reference internal" href="#id37">Issues Closed</a><ul>
<li><a class="reference internal" href="#id38">Bugs Fixed</a></li>
</ul>
</li>
</ul>
</li>
<li><a class="reference internal" href="#version-0-4-7-2021-04-07">Version 0.4.7 (2021/04/07)</a><ul>
<li><a class="reference internal" href="#id38">Issues Closed</a><ul>
<li><a class="reference internal" href="#id39">Bugs Fixed</a></li>
<li><a class="reference internal" href="#id39">Issues Closed</a><ul>
<li><a class="reference internal" href="#id40">Bugs Fixed</a></li>
</ul>
</li>
<li><a class="reference internal" href="#id40">Misc</a></li>
<li><a class="reference internal" href="#id41">Misc</a></li>
</ul>
</li>
<li><a class="reference internal" href="#version-0-4-6-2021-02-21">Version 0.4.6 (2021/02/21)</a><ul>
<li><a class="reference internal" href="#id41">Issues Closed</a><ul>
<li><a class="reference internal" href="#id42">Bugs Fixed</a></li>
<li><a class="reference internal" href="#id42">Issues Closed</a><ul>
<li><a class="reference internal" href="#id43">Bugs Fixed</a></li>
</ul>
</li>
</ul>
</li>
<li><a class="reference internal" href="#version-0-4-5-2021-02-17">Version 0.4.5 (2021/02/17)</a><ul>
<li><a class="reference internal" href="#id43">Issues Closed</a><ul>
<li><a class="reference internal" href="#id44">Bugs Fixed</a></li>
<li><a class="reference internal" href="#id44">Issues Closed</a><ul>
<li><a class="reference internal" href="#id45">Bugs Fixed</a></li>
</ul>
</li>
</ul>
</li>
<li><a class="reference internal" href="#version-0-4-4-2021-01-31">Version 0.4.4 (2021/01/31)</a><ul>
<li><a class="reference internal" href="#id45">Issues Closed</a><ul>
<li><a class="reference internal" href="#id46">Bugs Fixed</a></li>
<li><a class="reference internal" href="#id46">Issues Closed</a><ul>
<li><a class="reference internal" href="#id47">Bugs Fixed</a></li>
</ul>
</li>
<li><a class="reference internal" href="#id47">Misc</a></li>
<li><a class="reference internal" href="#id48">Misc</a></li>
</ul>
</li>
<li><a class="reference internal" href="#version-0-4-3-2021-01-10">Version 0.4.3 (2021/01/10)</a><ul>
<li><a class="reference internal" href="#id48">Issues Closed</a><ul>
<li><a class="reference internal" href="#id49">New Features</a></li>
<li><a class="reference internal" href="#id50">Bugs Fixed</a></li>
<li><a class="reference internal" href="#id49">Issues Closed</a><ul>
<li><a class="reference internal" href="#id50">New Features</a></li>
<li><a class="reference internal" href="#id51">Bugs Fixed</a></li>
</ul>
</li>
</ul>
</li>
<li><a class="reference internal" href="#version-0-4-2-2021-01-03">Version 0.4.2 (2021/01/03)</a><ul>
<li><a class="reference internal" href="#id51">Misc</a></li>
<li><a class="reference internal" href="#id52">Misc</a></li>
</ul>
</li>
<li><a class="reference internal" href="#version-0-4-1-2020-12-31">Version 0.4.1 (2020/12/31)</a><ul>
<li><a class="reference internal" href="#id52">Issues Closed</a><ul>
<li><a class="reference internal" href="#id53">New Features</a></li>
<li><a class="reference internal" href="#id53">Issues Closed</a><ul>
<li><a class="reference internal" href="#id54">New Features</a></li>
</ul>
</li>
</ul>
</li>
<li><a class="reference internal" href="#version-0-4-0-fittrackee-on-pypi-2020-09-19">Version 0.4.0 - FitTrackee on PyPI (2020/09/19)</a><ul>
<li><a class="reference internal" href="#id54">Issues Closed</a><ul>
<li><a class="reference internal" href="#id55">New Features</a></li>
<li><a class="reference internal" href="#id55">Issues Closed</a><ul>
<li><a class="reference internal" href="#id56">New Features</a></li>
</ul>
</li>
</ul>
</li>
<li><a class="reference internal" href="#version-0-3-0-administration-2020-07-15">Version 0.3.0 - Administration (2020/07/15)</a><ul>
<li><a class="reference internal" href="#id56">Issues Closed</a><ul>
<li><a class="reference internal" href="#id57">New Features</a></li>
<li><a class="reference internal" href="#id57">Issues Closed</a><ul>
<li><a class="reference internal" href="#id58">New Features</a></li>
</ul>
</li>
</ul>
</li>
<li><a class="reference internal" href="#version-0-2-5-fix-and-improvements-2020-01-31">Version 0.2.5 - Fix and improvements (2020/01/31)</a><ul>
<li><a class="reference internal" href="#id58">Misc</a></li>
<li><a class="reference internal" href="#id59">Misc</a></li>
</ul>
</li>
<li><a class="reference internal" href="#version-0-2-4-minor-fix-2020-01-30">Version 0.2.4 - Minor fix (2020/01/30)</a><ul>
<li><a class="reference internal" href="#id59">Issues Closed</a><ul>
<li><a class="reference internal" href="#id60">Bugs Fixed</a></li>
<li><a class="reference internal" href="#id60">Issues Closed</a><ul>
<li><a class="reference internal" href="#id61">Bugs Fixed</a></li>
</ul>
</li>
</ul>
</li>
<li><a class="reference internal" href="#version-0-2-3-fittrackee-available-in-french-2019-12-29">Version 0.2.3 - FitTrackee available in French (2019/12/29)</a><ul>
<li><a class="reference internal" href="#id61">Issues Closed</a><ul>
<li><a class="reference internal" href="#id62">New Features</a></li>
<li><a class="reference internal" href="#id63">Bugs Fixed</a></li>
<li><a class="reference internal" href="#id62">Issues Closed</a><ul>
<li><a class="reference internal" href="#id63">New Features</a></li>
<li><a class="reference internal" href="#id64">Bugs Fixed</a></li>
</ul>
</li>
</ul>
</li>
<li><a class="reference internal" href="#version-0-2-2-statistics-fix-2019-09-23">Version 0.2.2 - Statistics fix (2019/09/23)</a><ul>
<li><a class="reference internal" href="#id64">Issues Closed</a><ul>
<li><a class="reference internal" href="#id65">Bugs Fixed</a></li>
<li><a class="reference internal" href="#id65">Issues Closed</a><ul>
<li><a class="reference internal" href="#id66">Bugs Fixed</a></li>
</ul>
</li>
</ul>
</li>
<li><a class="reference internal" href="#version-0-2-1-fix-and-improvements-2019-09-01">Version 0.2.1 - Fix and improvements (2019/09/01)</a><ul>
<li><a class="reference internal" href="#id66">Issues Closed</a><ul>
<li><a class="reference internal" href="#id67">New Features</a></li>
<li><a class="reference internal" href="#id68">Bugs Fixed</a></li>
<li><a class="reference internal" href="#id67">Issues Closed</a><ul>
<li><a class="reference internal" href="#id68">New Features</a></li>
<li><a class="reference internal" href="#id69">Bugs Fixed</a></li>
</ul>
</li>
<li><a class="reference internal" href="#id69">Misc</a></li>
<li><a class="reference internal" href="#id70">Misc</a></li>
</ul>
</li>
<li><a class="reference internal" href="#version-0-2-0-statistics-2019-07-07">Version 0.2.0 - Statistics (2019/07/07)</a><ul>
<li><a class="reference internal" href="#id70">Issues Closed</a><ul>
<li><a class="reference internal" href="#id71">New Features</a></li>
<li><a class="reference internal" href="#id71">Issues Closed</a><ul>
<li><a class="reference internal" href="#id72">New Features</a></li>
</ul>
</li>
<li><a class="reference internal" href="#id72">Misc</a></li>
<li><a class="reference internal" href="#id73">Misc</a></li>
</ul>
</li>
<li><a class="reference internal" href="#version-0-1-1-fix-and-improvements-2019-02-07">Version 0.1.1 - Fix and improvements (2019/02/07)</a><ul>
<li><a class="reference internal" href="#id73">Issues Closed</a><ul>
<li><a class="reference internal" href="#id74">New Features</a></li>
<li><a class="reference internal" href="#id75">Bugs Fixed</a></li>
<li><a class="reference internal" href="#id74">Issues Closed</a><ul>
<li><a class="reference internal" href="#id75">New Features</a></li>
<li><a class="reference internal" href="#id76">Bugs Fixed</a></li>
</ul>
</li>
</ul>
</li>
<li><a class="reference internal" href="#version-0-1-0-first-release-2018-07-04">Version 0.1.0 - First release 🎉 (2018-07-04)</a><ul>
<li><a class="reference internal" href="#id76">Issues Closed</a><ul>
<li><a class="reference internal" href="#id77">New Features</a></li>
<li><a class="reference internal" href="#id77">Issues Closed</a><ul>
<li><a class="reference internal" href="#id78">New Features</a></li>
</ul>
</li>
</ul>
@ -374,6 +378,13 @@
<section id="change-log">
<h1>Change log<a class="headerlink" href="#change-log" title="Permalink to this headline"></a></h1>
<section id="version-0-6-6-2022-05-29">
<h2>Version 0.6.6 (2022/05/29)<a class="headerlink" href="#version-0-6-6-2022-05-29" title="Permalink to this headline"></a></h2>
<section id="misc">
<h3>Misc<a class="headerlink" href="#misc" title="Permalink to this headline"></a></h3>
<p>No new features in this release, only dependencies update and code refacto before introducing new features.</p>
</section>
</section>
<section id="version-0-6-5-2022-04-24">
<h2>Version 0.6.5 (2022/04/24)<a class="headerlink" href="#version-0-6-5-2022-04-24" title="Permalink to this headline"></a></h2>
<p>It is now possible to start FitTrackee without a configured SMTP provider (see <a class="reference external" href="https://samr1.github.io/FitTrackee/installation.html#emails">documentation</a>).
@ -486,15 +497,15 @@ It reduces pre-requisites for single-user instances.</p>
(see <a class="reference external" href="https://samr1.github.io/FitTrackee/installation.html#upgrade">documentation</a>)</p>
<section id="id12">
<h3>Issues Closed<a class="headerlink" href="#id12" title="Permalink to this headline"></a></h3>
<section id="misc">
<h4>Misc<a class="headerlink" href="#misc" title="Permalink to this headline"></a></h4>
<section id="id13">
<h4>Misc<a class="headerlink" href="#id13" title="Permalink to this headline"></a></h4>
<ul class="simple">
<li><p><a class="reference external" href="https://github.com/SamR1/FitTrackee/issues/149">#149</a> - improve database initialisation</p></li>
</ul>
</section>
</section>
<section id="id13">
<h3>Pull Requests<a class="headerlink" href="#id13" title="Permalink to this headline"></a></h3>
<section id="id14">
<h3>Pull Requests<a class="headerlink" href="#id14" title="Permalink to this headline"></a></h3>
<section id="security">
<h4>Security<a class="headerlink" href="#security" title="Permalink to this headline"></a></h4>
<ul class="simple">
@ -512,8 +523,8 @@ It reduces pre-requisites for single-user instances.</p>
</li>
</ul>
</section>
<section id="id14">
<h4>Misc<a class="headerlink" href="#id14" title="Permalink to this headline"></a></h4>
<section id="id15">
<h4>Misc<a class="headerlink" href="#id15" title="Permalink to this headline"></a></h4>
<ul class="simple">
<li><p><a class="reference external" href="https://github.com/SamR1/FitTrackee/pull/152">#152</a> - Fixes and improvements:</p>
<ul>
@ -529,17 +540,17 @@ It reduces pre-requisites for single-user instances.</p>
</section>
<section id="version-0-5-6-2022-02-05">
<h2>Version 0.5.6 (2022/02/05)<a class="headerlink" href="#version-0-5-6-2022-02-05" title="Permalink to this headline"></a></h2>
<section id="id15">
<h3>Issues Closed<a class="headerlink" href="#id15" title="Permalink to this headline"></a></h3>
<section id="id16">
<h4>Bugs Fixed<a class="headerlink" href="#id16" title="Permalink to this headline"></a></h4>
<h3>Issues Closed<a class="headerlink" href="#id16" title="Permalink to this headline"></a></h3>
<section id="id17">
<h4>Bugs Fixed<a class="headerlink" href="#id17" title="Permalink to this headline"></a></h4>
<ul class="simple">
<li><p><a class="reference external" href="https://github.com/SamR1/FitTrackee/issues/146">#146</a> - incorrect label on workouts filters</p></li>
</ul>
</section>
</section>
<section id="id17">
<h3>Pull Requests<a class="headerlink" href="#id17" title="Permalink to this headline"></a></h3>
<section id="id18">
<h3>Pull Requests<a class="headerlink" href="#id18" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://github.com/SamR1/FitTrackee/pull/145">#145</a> - fix on database models</p></li>
</ul>
@ -548,8 +559,8 @@ It reduces pre-requisites for single-user instances.</p>
</section>
<section id="version-0-5-5-2022-01-19">
<h2>Version 0.5.5 (2022/01/19)<a class="headerlink" href="#version-0-5-5-2022-01-19" title="Permalink to this headline"></a></h2>
<section id="id18">
<h3>Issues Closed<a class="headerlink" href="#id18" title="Permalink to this headline"></a></h3>
<section id="id19">
<h3>Issues Closed<a class="headerlink" href="#id19" title="Permalink to this headline"></a></h3>
<section id="new-features">
<h4>New Features<a class="headerlink" href="#new-features" title="Permalink to this headline"></a></h4>
<ul class="simple">
@ -559,8 +570,8 @@ It reduces pre-requisites for single-user instances.</p>
<li><p><a class="reference external" href="https://github.com/SamR1/FitTrackee/issues/134">#134</a> - Wind direction</p></li>
</ul>
</section>
<section id="id19">
<h4>Bugs Fixed<a class="headerlink" href="#id19" title="Permalink to this headline"></a></h4>
<section id="id20">
<h4>Bugs Fixed<a class="headerlink" href="#id20" title="Permalink to this headline"></a></h4>
<ul class="simple">
<li><p><a class="reference external" href="https://github.com/SamR1/FitTrackee/commit/877fa0faaabc0130402638905fe04f84563eb278">877fa0f</a> - fix sport icon color (when changed) on calendar on small resolutions</p></li>
</ul>
@ -570,10 +581,10 @@ It reduces pre-requisites for single-user instances.</p>
</section>
<section id="version-0-5-4-2022-01-01">
<h2>Version 0.5.4 (2022/01/01)<a class="headerlink" href="#version-0-5-4-2022-01-01" title="Permalink to this headline"></a></h2>
<section id="id20">
<h3>Issues Closed<a class="headerlink" href="#id20" title="Permalink to this headline"></a></h3>
<section id="id21">
<h4>Bugs Fixed<a class="headerlink" href="#id21" title="Permalink to this headline"></a></h4>
<h3>Issues Closed<a class="headerlink" href="#id21" title="Permalink to this headline"></a></h3>
<section id="id22">
<h4>Bugs Fixed<a class="headerlink" href="#id22" title="Permalink to this headline"></a></h4>
<ul class="simple">
<li><p><a class="reference external" href="https://github.com/SamR1/FitTrackee/issues/131">#131</a> - No workouts displayed on calendar</p></li>
</ul>
@ -583,10 +594,10 @@ It reduces pre-requisites for single-user instances.</p>
</section>
<section id="version-0-5-3-2022-01-01">
<h2>Version 0.5.3 (2022/01/01)<a class="headerlink" href="#version-0-5-3-2022-01-01" title="Permalink to this headline"></a></h2>
<section id="id22">
<h3>Issues Closed<a class="headerlink" href="#id22" title="Permalink to this headline"></a></h3>
<section id="id23">
<h4>Bugs Fixed<a class="headerlink" href="#id23" title="Permalink to this headline"></a></h4>
<h3>Issues Closed<a class="headerlink" href="#id23" title="Permalink to this headline"></a></h3>
<section id="id24">
<h4>Bugs Fixed<a class="headerlink" href="#id24" title="Permalink to this headline"></a></h4>
<ul class="simple">
<li><p><a class="reference external" href="https://github.com/SamR1/FitTrackee/issues/129">#129</a> - Display only active sports when editing a workout</p></li>
<li><p><a class="reference external" href="https://github.com/SamR1/FitTrackee/issues/127">#127</a> - parse_email_url() cant validate a legitimate EMAIL_URI such as “smtp://localhost:25”</p></li>
@ -597,10 +608,10 @@ It reduces pre-requisites for single-user instances.</p>
</section>
<section id="version-0-5-2-2021-12-19">
<h2>Version 0.5.2 (2021/12/19)<a class="headerlink" href="#version-0-5-2-2021-12-19" title="Permalink to this headline"></a></h2>
<section id="id24">
<h3>Issues Closed<a class="headerlink" href="#id24" title="Permalink to this headline"></a></h3>
<section id="id25">
<h4>New Features<a class="headerlink" href="#id25" title="Permalink to this headline"></a></h4>
<h3>Issues Closed<a class="headerlink" href="#id25" title="Permalink to this headline"></a></h3>
<section id="id26">
<h4>New Features<a class="headerlink" href="#id26" title="Permalink to this headline"></a></h4>
<ul class="simple">
<li><p><a class="reference external" href="https://github.com/SamR1/FitTrackee/issues/123">#123</a> - Allow user to reset preferences for a sport</p></li>
<li><p><a class="reference external" href="https://github.com/SamR1/FitTrackee/issues/121">#121</a> - Add activity : snowshoes</p></li>
@ -611,10 +622,10 @@ It reduces pre-requisites for single-user instances.</p>
</section>
<section id="version-0-5-1-2021-11-30">
<h2>Version 0.5.1 (2021/11/30)<a class="headerlink" href="#version-0-5-1-2021-11-30" title="Permalink to this headline"></a></h2>
<section id="id26">
<h3>Issues Closed<a class="headerlink" href="#id26" title="Permalink to this headline"></a></h3>
<section id="id27">
<h4>New Features<a class="headerlink" href="#id27" title="Permalink to this headline"></a></h4>
<h3>Issues Closed<a class="headerlink" href="#id27" title="Permalink to this headline"></a></h3>
<section id="id28">
<h4>New Features<a class="headerlink" href="#id28" title="Permalink to this headline"></a></h4>
<ul class="simple">
<li><p><a class="reference external" href="https://github.com/SamR1/FitTrackee/issues/116">#116</a> - Better UI for Speed and Elevation buttons in the graph of the Workout screen</p></li>
<li><p><a class="reference external" href="https://github.com/SamR1/FitTrackee/issues/115">#115</a> - Add option to download the GPX file of a Workout</p></li>
@ -626,10 +637,10 @@ It reduces pre-requisites for single-user instances.</p>
</section>
<section id="version-0-5-0-2021-11-14">
<h2>Version 0.5.0 (2021/11/14)<a class="headerlink" href="#version-0-5-0-2021-11-14" title="Permalink to this headline"></a></h2>
<section id="id28">
<h3>Issues Closed<a class="headerlink" href="#id28" title="Permalink to this headline"></a></h3>
<section id="id29">
<h4>New Features<a class="headerlink" href="#id29" title="Permalink to this headline"></a></h4>
<h3>Issues Closed<a class="headerlink" href="#id29" title="Permalink to this headline"></a></h3>
<section id="id30">
<h4>New Features<a class="headerlink" href="#id30" title="Permalink to this headline"></a></h4>
<ul class="simple">
<li><p><a class="reference external" href="https://github.com/SamR1/FitTrackee/issues/99">#99</a> - Display workout with imperial units</p></li>
<li><p><a class="reference external" href="https://github.com/SamR1/FitTrackee/issues/91">#91</a> - Display elevation chart with min and max altitude of workout</p></li>
@ -637,21 +648,21 @@ It reduces pre-requisites for single-user instances.</p>
<li><p><a class="reference external" href="https://github.com/SamR1/FitTrackee/issues/18">#18</a> - Better UI</p></li>
</ul>
</section>
<section id="id30">
<h4>Bugs Fixed<a class="headerlink" href="#id30" title="Permalink to this headline"></a></h4>
<section id="id31">
<h4>Bugs Fixed<a class="headerlink" href="#id31" title="Permalink to this headline"></a></h4>
<ul class="simple">
<li><p><a class="reference external" href="https://github.com/SamR1/FitTrackee/issues/95">#95</a> - Some workouts seem to be missing on statistics chart</p></li>
</ul>
</section>
<section id="id31">
<h4>Misc<a class="headerlink" href="#id31" title="Permalink to this headline"></a></h4>
<section id="id32">
<h4>Misc<a class="headerlink" href="#id32" title="Permalink to this headline"></a></h4>
<ul class="simple">
<li><p><a class="reference external" href="https://github.com/SamR1/FitTrackee/issues/104">#104</a> - Switch to AGPLv3 license</p></li>
</ul>
</section>
</section>
<section id="id32">
<h3>Pull Requests<a class="headerlink" href="#id32" title="Permalink to this headline"></a></h3>
<section id="id33">
<h3>Pull Requests<a class="headerlink" href="#id33" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://github.com/SamR1/FitTrackee/pull/101">#101</a> - Docker updates for full files</p></li>
<li><p><a class="reference external" href="https://github.com/SamR1/FitTrackee/pull/100">#100</a> - Add client application in docker for development</p></li>
@ -668,17 +679,17 @@ It reduces pre-requisites for single-user instances.</p>
</section>
<section id="version-0-4-9-2021-07-16">
<h2>Version 0.4.9 (2021/07/16)<a class="headerlink" href="#version-0-4-9-2021-07-16" title="Permalink to this headline"></a></h2>
<section id="id33">
<h3>Issues Closed<a class="headerlink" href="#id33" title="Permalink to this headline"></a></h3>
<section id="id34">
<h4>New Features<a class="headerlink" href="#id34" title="Permalink to this headline"></a></h4>
<h3>Issues Closed<a class="headerlink" href="#id34" title="Permalink to this headline"></a></h3>
<section id="id35">
<h4>New Features<a class="headerlink" href="#id35" title="Permalink to this headline"></a></h4>
<ul class="simple">
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/83">#83</a> - allow using configured tile server to generate static maps<br /><strong>Note</strong>: to keep using the default tile server, set environment variable <code class="docutils literal notranslate"><span class="pre">DEFAULT_STATICMAP</span></code> to <code class="docutils literal notranslate"><span class="pre">True</span></code></p></li>
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/81">#81</a> - display remaining characters in textarea</p></li>
</ul>
</section>
<section id="id35">
<h4>Bugs Fixed<a class="headerlink" href="#id35" title="Permalink to this headline"></a></h4>
<section id="id36">
<h4>Bugs Fixed<a class="headerlink" href="#id36" title="Permalink to this headline"></a></h4>
<ul class="simple">
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/82">#82</a> - a user can not modify his birth day</p></li>
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/80">#80</a> - can not save notes with control characters</p></li>
@ -689,10 +700,10 @@ It reduces pre-requisites for single-user instances.</p>
</section>
<section id="version-0-4-8-2021-07-03">
<h2>Version 0.4.8 (2021/07/03)<a class="headerlink" href="#version-0-4-8-2021-07-03" title="Permalink to this headline"></a></h2>
<section id="id36">
<h3>Issues Closed<a class="headerlink" href="#id36" title="Permalink to this headline"></a></h3>
<section id="id37">
<h4>Bugs Fixed<a class="headerlink" href="#id37" title="Permalink to this headline"></a></h4>
<h3>Issues Closed<a class="headerlink" href="#id37" title="Permalink to this headline"></a></h3>
<section id="id38">
<h4>Bugs Fixed<a class="headerlink" href="#id38" title="Permalink to this headline"></a></h4>
<ul class="simple">
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/79">#79</a> - Fails to start after make rebuild</p></li>
</ul>
@ -702,17 +713,17 @@ It reduces pre-requisites for single-user instances.</p>
</section>
<section id="version-0-4-7-2021-04-07">
<h2>Version 0.4.7 (2021/04/07)<a class="headerlink" href="#version-0-4-7-2021-04-07" title="Permalink to this headline"></a></h2>
<section id="id38">
<h3>Issues Closed<a class="headerlink" href="#id38" title="Permalink to this headline"></a></h3>
<section id="id39">
<h4>Bugs Fixed<a class="headerlink" href="#id39" title="Permalink to this headline"></a></h4>
<h3>Issues Closed<a class="headerlink" href="#id39" title="Permalink to this headline"></a></h3>
<section id="id40">
<h4>Bugs Fixed<a class="headerlink" href="#id40" title="Permalink to this headline"></a></h4>
<ul class="simple">
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/75">#75</a> - Workouts on the same day are not displayed in right order</p></li>
</ul>
</section>
</section>
<section id="id40">
<h3>Misc<a class="headerlink" href="#id40" title="Permalink to this headline"></a></h3>
<section id="id41">
<h3>Misc<a class="headerlink" href="#id41" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li><p>Update Python and Javascript dependencies<br /><strong>IMPORTANT</strong>: Due to <a class="reference external" href="https://docs.sqlalchemy.org/en/14/changelog/changelog_14.html#change-3687655465c25a39b968b4f5f6e9170b">SQLAlchemy update (1.4+)</a>, engine URLs starting with <code class="docutils literal notranslate"><span class="pre">postgres://</span></code> are no longer supported. Please update <code class="docutils literal notranslate"><span class="pre">DATABASE_URL</span></code> with <code class="docutils literal notranslate"><span class="pre">postgresql://</span></code>.</p></li>
</ul>
@ -721,10 +732,10 @@ It reduces pre-requisites for single-user instances.</p>
</section>
<section id="version-0-4-6-2021-02-21">
<h2>Version 0.4.6 (2021/02/21)<a class="headerlink" href="#version-0-4-6-2021-02-21" title="Permalink to this headline"></a></h2>
<section id="id41">
<h3>Issues Closed<a class="headerlink" href="#id41" title="Permalink to this headline"></a></h3>
<section id="id42">
<h4>Bugs Fixed<a class="headerlink" href="#id42" title="Permalink to this headline"></a></h4>
<h3>Issues Closed<a class="headerlink" href="#id42" title="Permalink to this headline"></a></h3>
<section id="id43">
<h4>Bugs Fixed<a class="headerlink" href="#id43" title="Permalink to this headline"></a></h4>
<ul class="simple">
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/72">#72</a> - Error message when file exceeding size is incorrect</p></li>
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/71">#71</a> - max size or max number of files must be greater than 0</p></li>
@ -736,10 +747,10 @@ It reduces pre-requisites for single-user instances.</p>
</section>
<section id="version-0-4-5-2021-02-17">
<h2>Version 0.4.5 (2021/02/17)<a class="headerlink" href="#version-0-4-5-2021-02-17" title="Permalink to this headline"></a></h2>
<section id="id43">
<h3>Issues Closed<a class="headerlink" href="#id43" title="Permalink to this headline"></a></h3>
<section id="id44">
<h4>Bugs Fixed<a class="headerlink" href="#id44" title="Permalink to this headline"></a></h4>
<h3>Issues Closed<a class="headerlink" href="#id44" title="Permalink to this headline"></a></h3>
<section id="id45">
<h4>Bugs Fixed<a class="headerlink" href="#id45" title="Permalink to this headline"></a></h4>
<ul class="simple">
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/66">#66</a> - invalid gpx limit used when importing zip archive</p></li>
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/64">#64</a> - Only 50 workouts per month shown in calendar</p></li>
@ -750,17 +761,17 @@ It reduces pre-requisites for single-user instances.</p>
</section>
<section id="version-0-4-4-2021-01-31">
<h2>Version 0.4.4 (2021/01/31)<a class="headerlink" href="#version-0-4-4-2021-01-31" title="Permalink to this headline"></a></h2>
<section id="id45">
<h3>Issues Closed<a class="headerlink" href="#id45" title="Permalink to this headline"></a></h3>
<section id="id46">
<h4>Bugs Fixed<a class="headerlink" href="#id46" title="Permalink to this headline"></a></h4>
<h3>Issues Closed<a class="headerlink" href="#id46" title="Permalink to this headline"></a></h3>
<section id="id47">
<h4>Bugs Fixed<a class="headerlink" href="#id47" title="Permalink to this headline"></a></h4>
<ul class="simple">
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/62">#62</a> - Error when sending reset password email</p></li>
</ul>
</section>
</section>
<section id="id47">
<h3>Misc<a class="headerlink" href="#id47" title="Permalink to this headline"></a></h3>
<section id="id48">
<h3>Misc<a class="headerlink" href="#id48" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li><p>Refactoring before introducing new features.</p></li>
<li><p>Add docker files for evaluation purposes.</p></li>
@ -770,16 +781,16 @@ It reduces pre-requisites for single-user instances.</p>
</section>
<section id="version-0-4-3-2021-01-10">
<h2>Version 0.4.3 (2021/01/10)<a class="headerlink" href="#version-0-4-3-2021-01-10" title="Permalink to this headline"></a></h2>
<section id="id48">
<h3>Issues Closed<a class="headerlink" href="#id48" title="Permalink to this headline"></a></h3>
<section id="id49">
<h4>New Features<a class="headerlink" href="#id49" title="Permalink to this headline"></a></h4>
<h3>Issues Closed<a class="headerlink" href="#id49" title="Permalink to this headline"></a></h3>
<section id="id50">
<h4>New Features<a class="headerlink" href="#id50" title="Permalink to this headline"></a></h4>
<ul class="simple">
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/58">#58</a> - Standardize terms used for workouts<br /><strong>Note:</strong> Database model, upload directory for workouts and API endpoints are also updated.</p></li>
</ul>
</section>
<section id="id50">
<h4>Bugs Fixed<a class="headerlink" href="#id50" title="Permalink to this headline"></a></h4>
<section id="id51">
<h4>Bugs Fixed<a class="headerlink" href="#id51" title="Permalink to this headline"></a></h4>
<ul class="simple">
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/59">#59</a> - No message displayed on uploading image error</p></li>
</ul>
@ -789,18 +800,18 @@ It reduces pre-requisites for single-user instances.</p>
</section>
<section id="version-0-4-2-2021-01-03">
<h2>Version 0.4.2 (2021/01/03)<a class="headerlink" href="#version-0-4-2-2021-01-03" title="Permalink to this headline"></a></h2>
<section id="id51">
<h3>Misc<a class="headerlink" href="#id51" title="Permalink to this headline"></a></h3>
<section id="id52">
<h3>Misc<a class="headerlink" href="#id52" title="Permalink to this headline"></a></h3>
<p>No new features in this release, only some refactorings before introducing
new features.</p>
</section>
</section>
<section id="version-0-4-1-2020-12-31">
<h2>Version 0.4.1 (2020/12/31)<a class="headerlink" href="#version-0-4-1-2020-12-31" title="Permalink to this headline"></a></h2>
<section id="id52">
<h3>Issues Closed<a class="headerlink" href="#id52" title="Permalink to this headline"></a></h3>
<section id="id53">
<h4>New Features<a class="headerlink" href="#id53" title="Permalink to this headline"></a></h4>
<h3>Issues Closed<a class="headerlink" href="#id53" title="Permalink to this headline"></a></h3>
<section id="id54">
<h4>New Features<a class="headerlink" href="#id54" title="Permalink to this headline"></a></h4>
<ul class="simple">
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/57">#57</a> - Use uuid for activities</p></li>
</ul>
@ -816,10 +827,10 @@ new features.</p>
<li><p>Its now possible to change the tile provider for maps. The default tile server is now <strong>OpenStreetMap</strong>s standard tile layer (replacing <strong>ThunderForest Outdoors</strong>),
see <a class="reference external" href="https://samr1.github.io/FitTrackee/installation.html#map-tile-server">Map tile server in documentation</a>.</p></li>
</ul>
<section id="id54">
<h3>Issues Closed<a class="headerlink" href="#id54" title="Permalink to this headline"></a></h3>
<section id="id55">
<h4>New Features<a class="headerlink" href="#id55" title="Permalink to this headline"></a></h4>
<h3>Issues Closed<a class="headerlink" href="#id55" title="Permalink to this headline"></a></h3>
<section id="id56">
<h4>New Features<a class="headerlink" href="#id56" title="Permalink to this headline"></a></h4>
<ul class="simple">
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/54">#54</a> - Tile server can be changed</p></li>
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/53">#53</a> - Simplify FitTrackee installation</p></li>
@ -835,10 +846,10 @@ see <a class="reference external" href="https://samr1.github.io/FitTrackee/insta
<li><p>FitTrackee administration is now available (see <a class="reference external" href="https://samr1.github.io/FitTrackee/features.html#administration">documentation</a>)<br />⚠️ Warning: some application parameters move from environment variables to database (see <a class="reference external" href="https://samr1.github.io/FitTrackee/installation.html#environment-variables">installation</a>).</p></li>
<li><p>in order to send emails, Redis is now a mandatory dependency</p></li>
</ul>
<section id="id56">
<h3>Issues Closed<a class="headerlink" href="#id56" title="Permalink to this headline"></a></h3>
<section id="id57">
<h4>New Features<a class="headerlink" href="#id57" title="Permalink to this headline"></a></h4>
<h3>Issues Closed<a class="headerlink" href="#id57" title="Permalink to this headline"></a></h3>
<section id="id58">
<h4>New Features<a class="headerlink" href="#id58" title="Permalink to this headline"></a></h4>
<ul class="simple">
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/50">#50</a> - A user can reset his password</p></li>
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/17">#17</a> - A user can delete his account</p></li>
@ -850,8 +861,8 @@ see <a class="reference external" href="https://samr1.github.io/FitTrackee/insta
</section>
<section id="version-0-2-5-fix-and-improvements-2020-01-31">
<h2>Version 0.2.5 - Fix and improvements (2020/01/31)<a class="headerlink" href="#version-0-2-5-fix-and-improvements-2020-01-31" title="Permalink to this headline"></a></h2>
<section id="id58">
<h3>Misc<a class="headerlink" href="#id58" title="Permalink to this headline"></a></h3>
<section id="id59">
<h3>Misc<a class="headerlink" href="#id59" title="Permalink to this headline"></a></h3>
<p>This version contains minor fix and improvements on client side:</p>
<ul class="simple">
<li><p><a class="reference external" href="https://github.com/SamR1/FitTrackee/commit/4c3fc343d51b9c27d3ebab71df648bcf7d7bae59">4c3fc34</a> - empty user data on logout</p></li>
@ -864,10 +875,10 @@ add URL interceptors to simplify routes definition</p></li>
</section>
<section id="version-0-2-4-minor-fix-2020-01-30">
<h2>Version 0.2.4 - Minor fix (2020/01/30)<a class="headerlink" href="#version-0-2-4-minor-fix-2020-01-30" title="Permalink to this headline"></a></h2>
<section id="id59">
<h3>Issues Closed<a class="headerlink" href="#id59" title="Permalink to this headline"></a></h3>
<section id="id60">
<h4>Bugs Fixed<a class="headerlink" href="#id60" title="Permalink to this headline"></a></h4>
<h3>Issues Closed<a class="headerlink" href="#id60" title="Permalink to this headline"></a></h3>
<section id="id61">
<h4>Bugs Fixed<a class="headerlink" href="#id61" title="Permalink to this headline"></a></h4>
<ul class="simple">
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/47">#47</a> - timezone drop-down is not displayed correctly</p></li>
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/46">#46</a> - calendar cannot display more than 5 or 6 activities on the same day</p></li>
@ -878,17 +889,17 @@ add URL interceptors to simplify routes definition</p></li>
</section>
<section id="version-0-2-3-fittrackee-available-in-french-2019-12-29">
<h2>Version 0.2.3 - FitTrackee available in French (2019/12/29)<a class="headerlink" href="#version-0-2-3-fittrackee-available-in-french-2019-12-29" title="Permalink to this headline"></a></h2>
<section id="id61">
<h3>Issues Closed<a class="headerlink" href="#id61" title="Permalink to this headline"></a></h3>
<section id="id62">
<h4>New Features<a class="headerlink" href="#id62" title="Permalink to this headline"></a></h4>
<h3>Issues Closed<a class="headerlink" href="#id62" title="Permalink to this headline"></a></h3>
<section id="id63">
<h4>New Features<a class="headerlink" href="#id63" title="Permalink to this headline"></a></h4>
<ul class="simple">
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/43">#43</a> - Display weekend days with a different background color on calendar</p></li>
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/40">#40</a> - Localize FitTrackee (i18n)</p></li>
</ul>
</section>
<section id="id63">
<h4>Bugs Fixed<a class="headerlink" href="#id63" title="Permalink to this headline"></a></h4>
<section id="id64">
<h4>Bugs Fixed<a class="headerlink" href="#id64" title="Permalink to this headline"></a></h4>
<ul class="simple">
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/44">#44</a> - Cannot edit an activity that does not have a gpx file</p></li>
</ul>
@ -898,10 +909,10 @@ add URL interceptors to simplify routes definition</p></li>
</section>
<section id="version-0-2-2-statistics-fix-2019-09-23">
<h2>Version 0.2.2 - Statistics fix (2019/09/23)<a class="headerlink" href="#version-0-2-2-statistics-fix-2019-09-23" title="Permalink to this headline"></a></h2>
<section id="id64">
<h3>Issues Closed<a class="headerlink" href="#id64" title="Permalink to this headline"></a></h3>
<section id="id65">
<h4>Bugs Fixed<a class="headerlink" href="#id65" title="Permalink to this headline"></a></h4>
<h3>Issues Closed<a class="headerlink" href="#id65" title="Permalink to this headline"></a></h3>
<section id="id66">
<h4>Bugs Fixed<a class="headerlink" href="#id66" title="Permalink to this headline"></a></h4>
<ul class="simple">
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/41">#41</a> - User statistics are incorrect</p></li>
</ul>
@ -911,10 +922,10 @@ add URL interceptors to simplify routes definition</p></li>
</section>
<section id="version-0-2-1-fix-and-improvements-2019-09-01">
<h2>Version 0.2.1 - Fix and improvements (2019/09/01)<a class="headerlink" href="#version-0-2-1-fix-and-improvements-2019-09-01" title="Permalink to this headline"></a></h2>
<section id="id66">
<h3>Issues Closed<a class="headerlink" href="#id66" title="Permalink to this headline"></a></h3>
<section id="id67">
<h4>New Features<a class="headerlink" href="#id67" title="Permalink to this headline"></a></h4>
<h3>Issues Closed<a class="headerlink" href="#id67" title="Permalink to this headline"></a></h3>
<section id="id68">
<h4>New Features<a class="headerlink" href="#id68" title="Permalink to this headline"></a></h4>
<ul class="simple">
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/4">#4</a> - Show points on the map when mouse over the chart</p></li>
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/14">#14</a> - Display segments informations</p></li>
@ -925,15 +936,15 @@ add URL interceptors to simplify routes definition</p></li>
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/37">#37</a> - Display map on activities list</p></li>
</ul>
</section>
<section id="id68">
<h4>Bugs Fixed<a class="headerlink" href="#id68" title="Permalink to this headline"></a></h4>
<section id="id69">
<h4>Bugs Fixed<a class="headerlink" href="#id69" title="Permalink to this headline"></a></h4>
<ul class="simple">
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/34">#34</a> - Weather is not displayed anymore</p></li>
</ul>
</section>
</section>
<section id="id69">
<h3>Misc<a class="headerlink" href="#id69" title="Permalink to this headline"></a></h3>
<section id="id70">
<h3>Misc<a class="headerlink" href="#id70" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li><p><strong><a class="reference external" href="https://poetry.eustace.io/">Poetry</a></strong> replaces <strong><a class="reference external" href="https://docs.pipenv.org">pipenv</a></strong> for Python packages management</p></li>
</ul>
@ -942,17 +953,17 @@ add URL interceptors to simplify routes definition</p></li>
</section>
<section id="version-0-2-0-statistics-2019-07-07">
<h2>Version 0.2.0 - Statistics (2019/07/07)<a class="headerlink" href="#version-0-2-0-statistics-2019-07-07" title="Permalink to this headline"></a></h2>
<section id="id70">
<h3>Issues Closed<a class="headerlink" href="#id70" title="Permalink to this headline"></a></h3>
<section id="id71">
<h4>New Features<a class="headerlink" href="#id71" title="Permalink to this headline"></a></h4>
<h3>Issues Closed<a class="headerlink" href="#id71" title="Permalink to this headline"></a></h3>
<section id="id72">
<h4>New Features<a class="headerlink" href="#id72" title="Permalink to this headline"></a></h4>
<ul class="simple">
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/13">#13</a> - Detailed statistics</p></li>
</ul>
</section>
</section>
<section id="id72">
<h3>Misc<a class="headerlink" href="#id72" title="Permalink to this headline"></a></h3>
<section id="id73">
<h3>Misc<a class="headerlink" href="#id73" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li><p>Update dependencies</p></li>
</ul>
@ -961,17 +972,17 @@ add URL interceptors to simplify routes definition</p></li>
</section>
<section id="version-0-1-1-fix-and-improvements-2019-02-07">
<h2>Version 0.1.1 - Fix and improvements (2019/02/07)<a class="headerlink" href="#version-0-1-1-fix-and-improvements-2019-02-07" title="Permalink to this headline"></a></h2>
<section id="id73">
<h3>Issues Closed<a class="headerlink" href="#id73" title="Permalink to this headline"></a></h3>
<section id="id74">
<h4>New Features<a class="headerlink" href="#id74" title="Permalink to this headline"></a></h4>
<h3>Issues Closed<a class="headerlink" href="#id74" title="Permalink to this headline"></a></h3>
<section id="id75">
<h4>New Features<a class="headerlink" href="#id75" title="Permalink to this headline"></a></h4>
<ul class="simple">
<li><p><a class="reference external" href="https://github.com/SamR1/FitTrackee/issues/25">#25</a> - Display records on calendar</p></li>
<li><p><a class="reference external" href="https://github.com/SamR1/FitTrackee/issues/22">#22</a> - Add a total on current month statistics</p></li>
</ul>
</section>
<section id="id75">
<h4>Bugs Fixed<a class="headerlink" href="#id75" title="Permalink to this headline"></a></h4>
<section id="id76">
<h4>Bugs Fixed<a class="headerlink" href="#id76" title="Permalink to this headline"></a></h4>
<ul class="simple">
<li><p><a class="reference external" href="https://github.com/SamR1/FitTrackee/issues/31">#31</a> - Use moving duration for stats</p></li>
<li><p><a class="reference external" href="https://github.com/SamR1/FitTrackee/issues/29">#29</a> - Pause duration calculation with segments</p></li>
@ -1020,10 +1031,10 @@ add URL interceptors to simplify routes definition</p></li>
<li><p>no administration for now</p></li>
</ul>
<p>➡️ more informations: see <a class="reference external" href="https://samr1.github.io/FitTrackee/">documentation</a> and <a class="reference external" href="https://github.com/SamR1/FitTrackee/issues">current issues</a></p>
<section id="id76">
<h3>Issues Closed<a class="headerlink" href="#id76" title="Permalink to this headline"></a></h3>
<section id="id77">
<h4>New Features<a class="headerlink" href="#id77" title="Permalink to this headline"></a></h4>
<h3>Issues Closed<a class="headerlink" href="#id77" title="Permalink to this headline"></a></h3>
<section id="id78">
<h4>New Features<a class="headerlink" href="#id78" title="Permalink to this headline"></a></h4>
<ul class="simple">
<li><p><a class="reference external" href="https://github.com/SamR1/FitTrackee/issues/11">#11</a> - Timezone support</p></li>
<li><p><a class="reference external" href="https://github.com/SamR1/FitTrackee/issues/10">#10</a> - Add a note to an activity</p></li>

View File

@ -5,7 +5,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
<title>Command line interface &#8212; FitTrackee 0.6.5
<title>Command line interface &#8212; FitTrackee 0.6.6
documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/bootstrap-sphinx.css" />
@ -40,7 +40,7 @@
</button>
<a class="navbar-brand" href="index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.6.5
<span class="navbar-text navbar-version pull-left"><b>0.6.6
</b></span>
</div>

View File

@ -5,7 +5,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
<title>Features &#8212; FitTrackee 0.6.5
<title>Features &#8212; FitTrackee 0.6.6
documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/bootstrap-sphinx.css" />
@ -40,7 +40,7 @@
</button>
<a class="navbar-brand" href="index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.6.5
<span class="navbar-text navbar-version pull-left"><b>0.6.6
</b></span>
</div>

View File

@ -4,7 +4,7 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Index &#8212; FitTrackee 0.6.5
<title>Index &#8212; FitTrackee 0.6.6
documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/bootstrap-sphinx.css" />
@ -37,7 +37,7 @@
</button>
<a class="navbar-brand" href="index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.6.5
<span class="navbar-text navbar-version pull-left"><b>0.6.6
</b></span>
</div>

View File

@ -4,7 +4,7 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>HTTP Routing Table &#8212; FitTrackee 0.6.5
<title>HTTP Routing Table &#8212; FitTrackee 0.6.6
documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/bootstrap-sphinx.css" />
@ -44,7 +44,7 @@
</button>
<a class="navbar-brand" href="index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.6.5
<span class="navbar-text navbar-version pull-left"><b>0.6.6
</b></span>
</div>

View File

@ -5,7 +5,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
<title>FitTrackee &#8212; FitTrackee 0.6.5
<title>FitTrackee &#8212; FitTrackee 0.6.6
documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/bootstrap-sphinx.css" />
@ -39,7 +39,7 @@
</button>
<a class="navbar-brand" href="#">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.6.5
<span class="navbar-text navbar-version pull-left"><b>0.6.6
</b></span>
</div>

View File

@ -5,7 +5,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
<title>Installation &#8212; FitTrackee 0.6.5
<title>Installation &#8212; FitTrackee 0.6.6
documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/bootstrap-sphinx.css" />
@ -40,7 +40,7 @@
</button>
<a class="navbar-brand" href="index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.6.5
<span class="navbar-text navbar-version pull-left"><b>0.6.6
</b></span>
</div>
@ -674,11 +674,11 @@ $ make install-db
</div>
</div>
<ul class="simple">
<li><p>Download the last release (for now, it is the release v0.6.5):</p></li>
<li><p>Download the last release (for now, it is the release v0.6.6):</p></li>
</ul>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$ wget https://github.com/SamR1/FitTrackee/archive/v0.6.5.tar.gz
$ tar -xzf v0.6.5.tar.gz
$ mv FitTrackee-0.6.5 FitTrackee
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$ wget https://github.com/SamR1/FitTrackee/archive/v0.6.6.tar.gz
$ tar -xzf v0.6.6.tar.gz
$ mv FitTrackee-0.6.6 FitTrackee
$ <span class="nb">cd</span> FitTrackee
</pre></div>
</div>
@ -798,11 +798,11 @@ $ <span class="nb">source</span> .env
<ul class="simple">
<li><p>Stop the application</p></li>
<li><p>Change to the directory where FitTrackee directory is located</p></li>
<li><p>Download the last release (for now, it is the release v0.6.5) and overwrite existing files:</p></li>
<li><p>Download the last release (for now, it is the release v0.6.6) and overwrite existing files:</p></li>
</ul>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$ wget https://github.com/SamR1/FitTrackee/archive/v0.6.5.tar.gz
$ tar -xzf v0.6.5.tar.gz
$ cp -R FitTrackee-0.6.5/* FitTrackee/
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$ wget https://github.com/SamR1/FitTrackee/archive/v0.6.6.tar.gz
$ tar -xzf v0.6.6.tar.gz
$ cp -R FitTrackee-0.6.6/* FitTrackee/
$ <span class="nb">cd</span> FitTrackee
</pre></div>
</div>

Binary file not shown.

View File

@ -4,7 +4,7 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Search &#8212; FitTrackee 0.6.5
<title>Search &#8212; FitTrackee 0.6.6
documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/bootstrap-sphinx.css" />
@ -44,7 +44,7 @@
</button>
<a class="navbar-brand" href="index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.6.5
<span class="navbar-text navbar-version pull-left"><b>0.6.6
</b></span>
</div>

File diff suppressed because one or more lines are too long

View File

@ -5,7 +5,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
<title>Administrator &#8212; FitTrackee 0.6.5
<title>Administrator &#8212; FitTrackee 0.6.6
documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
@ -40,7 +40,7 @@
</button>
<a class="navbar-brand" href="../index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.6.5
<span class="navbar-text navbar-version pull-left"><b>0.6.6
</b></span>
</div>

View File

@ -5,7 +5,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
<title>Troubleshooting &#8212; FitTrackee 0.6.5
<title>Troubleshooting &#8212; FitTrackee 0.6.6
documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
@ -40,7 +40,7 @@
</button>
<a class="navbar-brand" href="../index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.6.5
<span class="navbar-text navbar-version pull-left"><b>0.6.6
</b></span>
</div>

View File

@ -5,7 +5,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
<title>User &#8212; FitTrackee 0.6.5
<title>User &#8212; FitTrackee 0.6.6
documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
@ -40,7 +40,7 @@
</button>
<a class="navbar-brand" href="../index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.6.5
<span class="navbar-text navbar-version pull-left"><b>0.6.6
</b></span>
</div>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 539 KiB

After

Width:  |  Height:  |  Size: 539 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 369 KiB

After

Width:  |  Height:  |  Size: 368 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 202 KiB

After

Width:  |  Height:  |  Size: 201 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 71 KiB

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 103 KiB

After

Width:  |  Height:  |  Size: 102 KiB

View File

@ -395,13 +395,13 @@ Production environment
.. warning::
| Note that FitTrackee is under heavy development, some features may be unstable.
- Download the last release (for now, it is the release v0.6.5):
- Download the last release (for now, it is the release v0.6.6):
.. code:: bash
$ wget https://github.com/SamR1/FitTrackee/archive/v0.6.5.tar.gz
$ tar -xzf v0.6.5.tar.gz
$ mv FitTrackee-0.6.5 FitTrackee
$ wget https://github.com/SamR1/FitTrackee/archive/v0.6.6.tar.gz
$ tar -xzf v0.6.6.tar.gz
$ mv FitTrackee-0.6.6 FitTrackee
$ cd FitTrackee
- Create **.env** from example and update it
@ -521,13 +521,13 @@ Prod environment
- Change to the directory where FitTrackee directory is located
- Download the last release (for now, it is the release v0.6.5) and overwrite existing files:
- Download the last release (for now, it is the release v0.6.6) and overwrite existing files:
.. code:: bash
$ wget https://github.com/SamR1/FitTrackee/archive/v0.6.5.tar.gz
$ tar -xzf v0.6.5.tar.gz
$ cp -R FitTrackee-0.6.5/* FitTrackee/
$ wget https://github.com/SamR1/FitTrackee/archive/v0.6.6.tar.gz
$ tar -xzf v0.6.6.tar.gz
$ cp -R FitTrackee-0.6.6/* FitTrackee/
$ cd FitTrackee
- Update **.env** if needed (see `Environment variables <installation.html#environment-variables>`__).

View File

@ -20,7 +20,7 @@ from sqlalchemy.exc import ProgrammingError
from fittrackee.emails.email import EmailService
from fittrackee.request import CustomRequest
VERSION = __version__ = '0.6.5'
VERSION = __version__ = '0.6.6'
db = SQLAlchemy()
bcrypt = Bcrypt()
migrate = Migrate()

View File

@ -12,7 +12,7 @@ from fittrackee import create_app
from fittrackee.users.exceptions import UserNotFoundException
from fittrackee.users.utils.admin import UserManagerService
HOST = os.getenv('HOST', '0.0.0.0')
HOST = os.getenv('HOST', '127.0.0.1')
PORT = os.getenv('PORT', '5000')
WORKERS = os.getenv('APP_WORKERS', 1)
BASEDIR = os.path.abspath(os.path.dirname(__file__))

View File

@ -48,7 +48,7 @@ def get_application_config() -> Union[Dict, HttpResponse]:
"max_users": 0,
"max_zip_file_size": 10485760,
"map_attribution": "&copy; <a href=http://www.openstreetmap.org/copyright>OpenStreetMap</a> contributors"
"version": "0.6.5"
"version": "0.6.6"
},
"status": "success"
}
@ -98,7 +98,7 @@ def update_application_config(auth_user: User) -> Union[Dict, HttpResponse]:
"max_users": 10,
"max_zip_file_size": 10485760,
"map_attribution": "&copy; <a href=http://www.openstreetmap.org/copyright>OpenStreetMap</a> contributors"
"version": "0.6.5"
"version": "0.6.6"
},
"status": "success"
}

View File

@ -51,7 +51,7 @@ class BaseConfig:
class DevelopmentConfig(BaseConfig):
DEBUG = True
SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URL')
SECRET_KEY = 'development key'
SECRET_KEY = 'development key' # nosec
BCRYPT_LOG_ROUNDS = 4
DRAMATIQ_BROKER_URL = os.getenv('REDIS_URL', 'redis://')
@ -60,12 +60,11 @@ class TestingConfig(BaseConfig):
DEBUG = True
TESTING = True
SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_TEST_URL')
SECRET_KEY = 'test key'
SECRET_KEY = 'test key' # nosec
BCRYPT_LOG_ROUNDS = 4
TOKEN_EXPIRATION_DAYS = 0
TOKEN_EXPIRATION_SECONDS = 3
PASSWORD_TOKEN_EXPIRATION_SECONDS = 3
UPLOAD_FOLDER = '/tmp/fitTrackee/uploads'
UI_URL = 'http://0.0.0.0:5000'
SENDER_EMAIL = 'fittrackee@example.com'

View File

@ -1 +1 @@
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><!--[if IE]><link rel="icon" href="/favicon.ico"><![endif]--><link rel="stylesheet" href="/static/css/fork-awesome.min.css"/><link rel="stylesheet" href="/static/css/leaflet.css"/><title>FitTrackee</title><script defer="defer" src="/static/js/chunk-vendors.6b8389c5.js"></script><script defer="defer" src="/static/js/app.2222dbc7.js"></script><link href="/static/css/app.e8b7692c.css" rel="stylesheet"><link rel="icon" type="image/png" sizes="32x32" href="/img/icons/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/img/icons/favicon-16x16.png"><link rel="manifest" href="/manifest.json"><meta name="theme-color" content="#4DBA87"><meta name="apple-mobile-web-app-capable" content="no"><meta name="apple-mobile-web-app-status-bar-style" content="default"><meta name="apple-mobile-web-app-title" content="fittrackee_client"><link rel="apple-touch-icon" href="/img/icons/apple-touch-icon-152x152.png"><link rel="mask-icon" href="/img/icons/safari-pinned-tab.svg" color="#4DBA87"><meta name="msapplication-TileImage" content="/img/icons/msapplication-icon-144x144.png"><meta name="msapplication-TileColor" content="#000000"></head><body><noscript><strong>We're sorry but FitTrackee doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><!--[if IE]><link rel="icon" href="/favicon.ico"><![endif]--><link rel="stylesheet" href="/static/css/fork-awesome.min.css"/><link rel="stylesheet" href="/static/css/leaflet.css"/><title>FitTrackee</title><script defer="defer" src="/static/js/chunk-vendors.e335684a.js"></script><script defer="defer" src="/static/js/app.a9b9439a.js"></script><link href="/static/css/app.e8b7692c.css" rel="stylesheet"><link rel="icon" type="image/png" sizes="32x32" href="/img/icons/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/img/icons/favicon-16x16.png"><link rel="manifest" href="/manifest.json"><meta name="theme-color" content="#4DBA87"><meta name="apple-mobile-web-app-capable" content="no"><meta name="apple-mobile-web-app-status-bar-style" content="default"><meta name="apple-mobile-web-app-title" content="fittrackee_client"><link rel="apple-touch-icon" href="/img/icons/apple-touch-icon-152x152.png"><link rel="mask-icon" href="/img/icons/safari-pinned-tab.svg" color="#4DBA87"><meta name="msapplication-TileImage" content="/img/icons/msapplication-icon-144x144.png"><meta name="msapplication-TileColor" content="#000000"></head><body><noscript><strong>We're sorry but FitTrackee doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,2 @@
"use strict";(self["webpackChunkfittrackee_client"]=self["webpackChunkfittrackee_client"]||[]).push([[328],{6e3:function(t,e,i){i.r(e),i.d(e,{default:function(){return _}});var a=i(6252),n=i(2262),s=i(8273),c=i(8602),r=i(9917);const S=t=>((0,a.dD)("data-v-64629971"),t=t(),(0,a.Cn)(),t),l={id:"admin",class:"view"},p={key:0,class:"container"},u=S((()=>(0,a._)("div",{id:"bottom"},null,-1)));var T=(0,a.aZ)({name:"AdminView",setup(t){const e=(0,r.o)(),i=(0,a.Fl)((()=>e.getters[c.SY.GETTERS.APP_CONFIG])),S=(0,a.Fl)((()=>e.getters[c.SY.GETTERS.APP_STATS])),T=(0,a.Fl)((()=>e.getters[c.YN.GETTERS.IS_ADMIN])),d=(0,a.Fl)((()=>e.getters[c.YN.GETTERS.USER_LOADING]));return(0,a.wF)((()=>e.dispatch(c.SY.ACTIONS.GET_APPLICATION_STATS))),(t,e)=>{const c=(0,a.up)("router-view");return(0,a.wg)(),(0,a.iD)("div",l,[(0,n.SU)(d)?(0,a.kq)("",!0):((0,a.wg)(),(0,a.iD)("div",p,[(0,n.SU)(T)?((0,a.wg)(),(0,a.j4)(c,{key:0,appConfig:(0,n.SU)(i),appStatistics:(0,n.SU)(S)},null,8,["appConfig","appStatistics"])):((0,a.wg)(),(0,a.j4)(s.Z,{key:1})),u]))])}}}),d=i(3744);const o=(0,d.Z)(T,[["__scopeId","data-v-64629971"]]);var _=o}}]);
//# sourceMappingURL=admin.43bba6c9.js.map

View File

@ -0,0 +1 @@
{"version":3,"file":"static/js/admin.43bba6c9.js","mappings":"mOAGA,MAAMA,EAAeC,KAAMC,EAAAA,EAAAA,IAAa,mBAAmBD,EAAEA,KAAIE,EAAAA,EAAAA,MAAcF,GACzEG,EAAa,CACjBC,GAAI,QACJC,MAAO,QAEHC,EAAa,CACjBC,IAAK,EACLF,MAAO,aAEHG,EAA2BT,GAAa,KAAmBU,EAAAA,EAAAA,GAAoB,MAAO,CAAEL,GAAI,UAAY,MAAO,KAUrH,OAA4BM,EAAAA,EAAAA,IAAiB,CAC3CC,KAAM,YACNC,MAAMC,GAEN,MAAMC,GAAQC,EAAAA,EAAAA,KAERC,GAAqCC,EAAAA,EAAAA,KACzC,IAAMH,EAAMI,QAAQC,EAAAA,GAAAA,QAAAA,cAEhBC,GAA6CH,EAAAA,EAAAA,KACjD,IAAMH,EAAMI,QAAQC,EAAAA,GAAAA,QAAAA,aAEhBE,GAAuCJ,EAAAA,EAAAA,KAC3C,IAAMH,EAAMI,QAAQI,EAAAA,GAAAA,QAAAA,YAEhBC,GAAoCN,EAAAA,EAAAA,KACxC,IAAMH,EAAMI,QAAQI,EAAAA,GAAAA,QAAAA,gBAKxB,OAFEE,EAAAA,EAAAA,KAAc,IAAMV,EAAMW,SAASN,EAAAA,GAAAA,QAAAA,yBAE9B,CAACO,EAAUC,KAChB,MAAMC,GAAyBC,EAAAA,EAAAA,IAAkB,eAEjD,OAAQC,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAO5B,EAAY,EACzD6B,EAAAA,EAAAA,IAAOT,IAWLU,EAAAA,EAAAA,IAAoB,IAAI,KAVvBH,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAOzB,EAAY,EACnD0B,EAAAA,EAAAA,IAAOX,KACHS,EAAAA,EAAAA,OAAcI,EAAAA,EAAAA,IAAaN,EAAwB,CAClDrB,IAAK,EACLS,WAAWgB,EAAAA,EAAAA,IAAOhB,GAClBI,eAAeY,EAAAA,EAAAA,IAAOZ,IACrB,KAAM,EAAG,CAAC,YAAa,qBACzBU,EAAAA,EAAAA,OAAcI,EAAAA,EAAAA,IAAaC,EAAAA,EAAU,CAAE5B,IAAK,KACjDC,W,UClDV,MAAM4B,GAA2B,OAAgB,EAAQ,CAAC,CAAC,YAAY,qBAEvE","sources":["webpack://fittrackee_client/./node_modules/vue-loader/dist/index.js","webpack://fittrackee_client/./src/views/AdminView.vue"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-64629971\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin\",\n class: \"view\"\n}\nconst _hoisted_2 = {\n key: 0,\n class: \"container\"\n}\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { id: \"bottom\" }, null, -1))\n\nimport { computed, ComputedRef, onBeforeMount } from 'vue'\n\n import NotFound from '@/components/Common/NotFound.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { TAppConfig, IAppStatistics } from '@/types/application'\n import { useStore } from '@/use/useStore'\n\n \nexport default /*#__PURE__*/_defineComponent({\n name: 'AdminView',\n setup(__props) {\n\n const store = useStore()\n\n const appConfig: ComputedRef<TAppConfig> = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const appStatistics: ComputedRef<IAppStatistics> = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_STATS]\n )\n const isAuthUserAmin: ComputedRef<boolean> = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.IS_ADMIN]\n )\n const userLoading: ComputedRef<boolean> = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n\n onBeforeMount(() => store.dispatch(ROOT_STORE.ACTIONS.GET_APPLICATION_STATS))\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_view = _resolveComponent(\"router-view\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (!_unref(userLoading))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n (_unref(isAuthUserAmin))\n ? (_openBlock(), _createBlock(_component_router_view, {\n key: 0,\n appConfig: _unref(appConfig),\n appStatistics: _unref(appStatistics)\n }, null, 8, [\"appConfig\", \"appStatistics\"]))\n : (_openBlock(), _createBlock(NotFound, { key: 1 })),\n _hoisted_3\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./AdminView.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminView.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminView.vue?vue&type=style&index=0&id=64629971&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-64629971\"]])\n\nexport default __exports__"],"names":["_withScopeId","n","_pushScopeId","_popScopeId","_hoisted_1","id","class","_hoisted_2","key","_hoisted_3","_createElementVNode","_defineComponent","name","setup","__props","store","useStore","appConfig","computed","getters","ROOT_STORE","appStatistics","isAuthUserAmin","AUTH_USER_STORE","userLoading","onBeforeMount","dispatch","_ctx","_cache","_component_router_view","_resolveComponent","_openBlock","_createElementBlock","_unref","_createCommentVNode","_createBlock","NotFound","__exports__"],"sourceRoot":""}

View File

@ -1,2 +0,0 @@
"use strict";(self["webpackChunkfittrackee_client"]=self["webpackChunkfittrackee_client"]||[]).push([[328],{6e3:function(t,e,i){i.r(e),i.d(e,{default:function(){return _}});var a=i(5793),s=i(2715),n=i(8273),c=i(8602),r=i(9917);const S=t=>((0,a.dD)("data-v-64629971"),t=t(),(0,a.Cn)(),t),l={id:"admin",class:"view"},p={key:0,class:"container"},u=S((()=>(0,a._)("div",{id:"bottom"},null,-1)));var T=(0,a.aZ)({setup(t){const e=(0,r.o)(),i=(0,a.Fl)((()=>e.getters[c.SY.GETTERS.APP_CONFIG])),S=(0,a.Fl)((()=>e.getters[c.SY.GETTERS.APP_STATS])),T=(0,a.Fl)((()=>e.getters[c.YN.GETTERS.IS_ADMIN])),o=(0,a.Fl)((()=>e.getters[c.YN.GETTERS.USER_LOADING]));return(0,a.wF)((()=>e.dispatch(c.SY.ACTIONS.GET_APPLICATION_STATS))),(t,e)=>{const c=(0,a.up)("router-view");return(0,a.wg)(),(0,a.iD)("div",l,[(0,s.SU)(o)?(0,a.kq)("",!0):((0,a.wg)(),(0,a.iD)("div",p,[(0,s.SU)(T)?((0,a.wg)(),(0,a.j4)(c,{key:0,appConfig:(0,s.SU)(i),appStatistics:(0,s.SU)(S)},null,8,["appConfig","appStatistics"])):((0,a.wg)(),(0,a.j4)(n.Z,{key:1})),u]))])}}}),o=i(3744);const d=(0,o.Z)(T,[["__scopeId","data-v-64629971"]]);var _=d}}]);
//# sourceMappingURL=admin.c095abe4.js.map

View File

@ -1 +0,0 @@
{"version":3,"file":"static/js/admin.c095abe4.js","mappings":"mOAGA,MAAMA,EAAeC,KAAMC,EAAAA,EAAAA,IAAa,mBAAmBD,EAAEA,KAAIE,EAAAA,EAAAA,MAAcF,GACzEG,EAAa,CACjBC,GAAI,QACJC,MAAO,QAEHC,EAAa,CACjBC,IAAK,EACLF,MAAO,aAEHG,EAA2BT,GAAa,KAAmBU,EAAAA,EAAAA,GAAoB,MAAO,CAAEL,GAAI,UAAY,MAAO,KAUrH,OAA4BM,EAAAA,EAAAA,IAAiB,CAC3CC,MAAMC,GAEN,MAAMC,GAAQC,EAAAA,EAAAA,KAERC,GAAqCC,EAAAA,EAAAA,KACzC,IAAMH,EAAMI,QAAQC,EAAAA,GAAAA,QAAAA,cAEhBC,GAA6CH,EAAAA,EAAAA,KACjD,IAAMH,EAAMI,QAAQC,EAAAA,GAAAA,QAAAA,aAEhBE,GAAuCJ,EAAAA,EAAAA,KAC3C,IAAMH,EAAMI,QAAQI,EAAAA,GAAAA,QAAAA,YAEhBC,GAAoCN,EAAAA,EAAAA,KACxC,IAAMH,EAAMI,QAAQI,EAAAA,GAAAA,QAAAA,gBAKxB,OAFEE,EAAAA,EAAAA,KAAc,IAAMV,EAAMW,SAASN,EAAAA,GAAAA,QAAAA,yBAE9B,CAACO,EAAUC,KAChB,MAAMC,GAAyBC,EAAAA,EAAAA,IAAkB,eAEjD,OAAQC,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAO3B,EAAY,EACzD4B,EAAAA,EAAAA,IAAOT,IAWLU,EAAAA,EAAAA,IAAoB,IAAI,KAVvBH,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAOxB,EAAY,EACnDyB,EAAAA,EAAAA,IAAOX,KACHS,EAAAA,EAAAA,OAAcI,EAAAA,EAAAA,IAAaN,EAAwB,CAClDpB,IAAK,EACLQ,WAAWgB,EAAAA,EAAAA,IAAOhB,GAClBI,eAAeY,EAAAA,EAAAA,IAAOZ,IACrB,KAAM,EAAG,CAAC,YAAa,qBACzBU,EAAAA,EAAAA,OAAcI,EAAAA,EAAAA,IAAaC,EAAAA,EAAU,CAAE3B,IAAK,KACjDC,W,UCjDV,MAAM2B,GAA2B,OAAgB,EAAQ,CAAC,CAAC,YAAY,qBAEvE","sources":["webpack://fittrackee_client/./src/views/AdminView.vue?67de","webpack://fittrackee_client/./src/views/AdminView.vue"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-64629971\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin\",\n class: \"view\"\n}\nconst _hoisted_2 = {\n key: 0,\n class: \"container\"\n}\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { id: \"bottom\" }, null, -1))\n\nimport { computed, ComputedRef, onBeforeMount } from 'vue'\n\n import NotFound from '@/components/Common/NotFound.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { TAppConfig, IAppStatistics } from '@/types/application'\n import { useStore } from '@/use/useStore'\n\n \nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n const store = useStore()\n\n const appConfig: ComputedRef<TAppConfig> = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const appStatistics: ComputedRef<IAppStatistics> = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_STATS]\n )\n const isAuthUserAmin: ComputedRef<boolean> = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.IS_ADMIN]\n )\n const userLoading: ComputedRef<boolean> = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n\n onBeforeMount(() => store.dispatch(ROOT_STORE.ACTIONS.GET_APPLICATION_STATS))\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_view = _resolveComponent(\"router-view\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (!_unref(userLoading))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n (_unref(isAuthUserAmin))\n ? (_openBlock(), _createBlock(_component_router_view, {\n key: 0,\n appConfig: _unref(appConfig),\n appStatistics: _unref(appStatistics)\n }, null, 8, [\"appConfig\", \"appStatistics\"]))\n : (_openBlock(), _createBlock(NotFound, { key: 1 })),\n _hoisted_3\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./AdminView.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminView.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminView.vue?vue&type=style&index=0&id=64629971&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-64629971\"]])\n\nexport default __exports__"],"names":["_withScopeId","n","_pushScopeId","_popScopeId","_hoisted_1","id","class","_hoisted_2","key","_hoisted_3","_createElementVNode","_defineComponent","setup","__props","store","useStore","appConfig","computed","getters","ROOT_STORE","appStatistics","isAuthUserAmin","AUTH_USER_STORE","userLoading","onBeforeMount","dispatch","_ctx","_cache","_component_router_view","_resolveComponent","_openBlock","_createElementBlock","_unref","_createCommentVNode","_createBlock","NotFound","__exports__"],"sourceRoot":""}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,2 +0,0 @@
"use strict";(self["webpackChunkfittrackee_client"]=self["webpackChunkfittrackee_client"]||[]).push([[845],{4264:function(e,t,r){r.r(t),r.d(t,{default:function(){return m}});var n=r(5793),a=r(2715),s=r(3577),u=r(2119),o=r(7167),c=r(8602),i=r(9917);const l={key:0,id:"account-confirmation",class:"center-card with-margin"},E={class:"error-message"};var d=(0,n.aZ)({setup(e){const t=(0,u.yj)(),r=(0,u.tv)(),d=(0,i.o)(),S=(0,n.Fl)((()=>d.getters[c.SY.GETTERS.ERROR_MESSAGES])),_=(0,n.Fl)((()=>t.query.token));function m(){_.value?d.dispatch(c.YN.ACTIONS.CONFIRM_ACCOUNT,{token:_.value}):r.push("/")}return(0,n.wF)((()=>m())),(0,n.Ah)((()=>d.commit(c.SY.MUTATIONS.EMPTY_ERROR_MESSAGES))),(e,t)=>{const r=(0,n.up)("router-link");return(0,a.SU)(S)?((0,n.wg)(),(0,n.iD)("div",l,[(0,n.Wm)(o.Z),(0,n._)("p",E,[(0,n._)("span",null,(0,s.zw)(e.$t("error.SOMETHING_WRONG"))+".",1),(0,n.Wm)(r,{class:"links",to:"/account-confirmation/resend"},{default:(0,n.w5)((()=>[(0,n.Uk)((0,s.zw)(e.$t("buttons.ACCOUNT-CONFIRMATION-RESEND"))+"? ",1)])),_:1})])])):(0,n.kq)("",!0)}}}),S=r(3744);const _=(0,S.Z)(d,[["__scopeId","data-v-785df978"]]);var m=_},8160:function(e,t,r){r.r(t),r.d(t,{default:function(){return m}});var n=r(5793),a=r(2715),s=r(3577),u=r(2119),o=r(7167),c=r(8602),i=r(9917);const l={key:0,id:"email-update",class:"center-card with-margin"},E={class:"error-message"};var d=(0,n.aZ)({setup(e){const t=(0,u.yj)(),r=(0,u.tv)(),d=(0,i.o)(),S=(0,n.Fl)((()=>d.getters[c.YN.GETTERS.AUTH_USER_PROFILE])),_=(0,n.Fl)((()=>d.getters[c.YN.GETTERS.IS_AUTHENTICATED])),m=(0,n.Fl)((()=>d.getters[c.SY.GETTERS.ERROR_MESSAGES])),R=(0,n.Fl)((()=>t.query.token));function T(){R.value?d.dispatch(c.YN.ACTIONS.CONFIRM_EMAIL,{token:R.value,refreshUser:_.value}):r.push("/")}return(0,n.wF)((()=>T())),(0,n.Ah)((()=>d.commit(c.SY.MUTATIONS.EMPTY_ERROR_MESSAGES))),(0,n.YP)((()=>m.value),(e=>{S.value.username&&e&&r.push("/")})),(e,t)=>{const r=(0,n.up)("router-link"),u=(0,n.up)("i18n-t");return(0,a.SU)(m)&&!(0,a.SU)(S).username?((0,n.wg)(),(0,n.iD)("div",l,[(0,n.Wm)(o.Z),(0,n._)("p",E,[(0,n._)("span",null,(0,s.zw)(e.$t("error.SOMETHING_WRONG"))+".",1),(0,n._)("span",null,[(0,n.Wm)(u,{keypath:"user.PROFILE.ERRORED_EMAIL_UPDATE"},{default:(0,n.w5)((()=>[(0,n.Wm)(r,{to:"/login"},{default:(0,n.w5)((()=>[(0,n.Uk)((0,s.zw)(e.$t("user.LOG_IN")),1)])),_:1})])),_:1})])])])):(0,n.kq)("",!0)}}}),S=r(3744);const _=(0,S.Z)(d,[["__scopeId","data-v-8c2ec9ce"]]);var m=_},6266:function(e,t,r){r.r(t),r.d(t,{default:function(){return S}});var n=r(5793),a=r(2715),s=r(8602),u=r(9917);const o=e=>((0,n.dD)("data-v-05463732"),e=e(),(0,n.Cn)(),e),c={key:0,id:"profile",class:"container view"},i=o((()=>(0,n._)("div",{id:"bottom"},null,-1)));var l=(0,n.aZ)({setup(e){const t=(0,u.o)(),r=(0,n.Fl)((()=>t.getters[s.YN.GETTERS.AUTH_USER_PROFILE]));return(e,t)=>{const s=(0,n.up)("router-view");return(0,a.SU)(r).username?((0,n.wg)(),(0,n.iD)("div",c,[(0,n.Wm)(s,{user:(0,a.SU)(r)},null,8,["user"]),i])):(0,n.kq)("",!0)}}}),E=r(3744);const d=(0,E.Z)(l,[["__scopeId","data-v-05463732"]]);var S=d},9453:function(e,t,r){r.r(t),r.d(t,{default:function(){return m}});var n=r(5793),a=r(2715),s=r(2119),u=r(2179),o=r(4980),c=r(8602),i=r(9917);const l={key:0,id:"user",class:"view"},E={class:"box"};var d=(0,n.aZ)({props:{fromAdmin:{type:Boolean}},setup(e){const t=e,{fromAdmin:r}=(0,a.BK)(t),d=(0,s.yj)(),S=(0,i.o)(),_=(0,n.Fl)((()=>S.getters[c.RT.GETTERS.USER]));return(0,n.wF)((()=>{d.params.username&&"string"===typeof d.params.username&&S.dispatch(c.RT.ACTIONS.GET_USER,d.params.username)})),(0,n.Jd)((()=>{S.dispatch(c.RT.ACTIONS.EMPTY_USER)})),(e,t)=>(0,a.SU)(_).username?((0,n.wg)(),(0,n.iD)("div",l,[(0,n.Wm)(u.Z,{user:(0,a.SU)(_)},null,8,["user"]),(0,n._)("div",E,[(0,n.Wm)(o.Z,{user:(0,a.SU)(_),"from-admin":(0,a.SU)(r)},null,8,["user","from-admin"])])])):(0,n.kq)("",!0)}}),S=r(3744);const _=(0,S.Z)(d,[["__scopeId","data-v-af7007f4"]]);var m=_}}]);
//# sourceMappingURL=profile.52d627f4.js.map

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,2 @@
"use strict";(self["webpackChunkfittrackee_client"]=self["webpackChunkfittrackee_client"]||[]).push([[845],{4264:function(e,t,r){r.r(t),r.d(t,{default:function(){return _}});var n=r(6252),a=r(2262),s=r(3577),u=r(2119),o=r(7167),i=r(8602),c=r(9917);const l={key:0,id:"account-confirmation",class:"center-card with-margin"},E={class:"error-message"};var d=(0,n.aZ)({name:"AccountConfirmationView",setup(e){const t=(0,u.yj)(),r=(0,u.tv)(),d=(0,c.o)(),S=(0,n.Fl)((()=>d.getters[i.SY.GETTERS.ERROR_MESSAGES])),m=(0,n.Fl)((()=>t.query.token));function _(){m.value?d.dispatch(i.YN.ACTIONS.CONFIRM_ACCOUNT,{token:m.value}):r.push("/")}return(0,n.wF)((()=>_())),(0,n.Ah)((()=>d.commit(i.SY.MUTATIONS.EMPTY_ERROR_MESSAGES))),(e,t)=>{const r=(0,n.up)("router-link");return(0,a.SU)(S)?((0,n.wg)(),(0,n.iD)("div",l,[(0,n.Wm)(o.Z),(0,n._)("p",E,[(0,n._)("span",null,(0,s.zw)(e.$t("error.SOMETHING_WRONG"))+".",1),(0,n.Wm)(r,{class:"links",to:"/account-confirmation/resend"},{default:(0,n.w5)((()=>[(0,n.Uk)((0,s.zw)(e.$t("buttons.ACCOUNT-CONFIRMATION-RESEND"))+"? ",1)])),_:1})])])):(0,n.kq)("",!0)}}}),S=r(3744);const m=(0,S.Z)(d,[["__scopeId","data-v-785df978"]]);var _=m},8160:function(e,t,r){r.r(t),r.d(t,{default:function(){return _}});var n=r(6252),a=r(2262),s=r(3577),u=r(2119),o=r(7167),i=r(8602),c=r(9917);const l={key:0,id:"email-update",class:"center-card with-margin"},E={class:"error-message"};var d=(0,n.aZ)({name:"EmailUpdateView",setup(e){const t=(0,u.yj)(),r=(0,u.tv)(),d=(0,c.o)(),S=(0,n.Fl)((()=>d.getters[i.YN.GETTERS.AUTH_USER_PROFILE])),m=(0,n.Fl)((()=>d.getters[i.YN.GETTERS.IS_AUTHENTICATED])),_=(0,n.Fl)((()=>d.getters[i.SY.GETTERS.ERROR_MESSAGES])),p=(0,n.Fl)((()=>t.query.token));function R(){p.value?d.dispatch(i.YN.ACTIONS.CONFIRM_EMAIL,{token:p.value,refreshUser:m.value}):r.push("/")}return(0,n.wF)((()=>R())),(0,n.Ah)((()=>d.commit(i.SY.MUTATIONS.EMPTY_ERROR_MESSAGES))),(0,n.YP)((()=>_.value),(e=>{S.value.username&&e&&r.push("/")})),(e,t)=>{const r=(0,n.up)("router-link"),u=(0,n.up)("i18n-t");return(0,a.SU)(_)&&!(0,a.SU)(S).username?((0,n.wg)(),(0,n.iD)("div",l,[(0,n.Wm)(o.Z),(0,n._)("p",E,[(0,n._)("span",null,(0,s.zw)(e.$t("error.SOMETHING_WRONG"))+".",1),(0,n._)("span",null,[(0,n.Wm)(u,{keypath:"user.PROFILE.ERRORED_EMAIL_UPDATE"},{default:(0,n.w5)((()=>[(0,n.Wm)(r,{to:"/login"},{default:(0,n.w5)((()=>[(0,n.Uk)((0,s.zw)(e.$t("user.LOG_IN")),1)])),_:1})])),_:1})])])])):(0,n.kq)("",!0)}}}),S=r(3744);const m=(0,S.Z)(d,[["__scopeId","data-v-8c2ec9ce"]]);var _=m},6266:function(e,t,r){r.r(t),r.d(t,{default:function(){return S}});var n=r(6252),a=r(2262),s=r(8602),u=r(9917);const o=e=>((0,n.dD)("data-v-05463732"),e=e(),(0,n.Cn)(),e),i={key:0,id:"profile",class:"container view"},c=o((()=>(0,n._)("div",{id:"bottom"},null,-1)));var l=(0,n.aZ)({name:"ProfileView",setup(e){const t=(0,u.o)(),r=(0,n.Fl)((()=>t.getters[s.YN.GETTERS.AUTH_USER_PROFILE]));return(e,t)=>{const s=(0,n.up)("router-view");return(0,a.SU)(r).username?((0,n.wg)(),(0,n.iD)("div",i,[(0,n.Wm)(s,{user:(0,a.SU)(r)},null,8,["user"]),c])):(0,n.kq)("",!0)}}}),E=r(3744);const d=(0,E.Z)(l,[["__scopeId","data-v-05463732"]]);var S=d},9453:function(e,t,r){r.r(t),r.d(t,{default:function(){return _}});var n=r(6252),a=r(2262),s=r(2119),u=r(2179),o=r(4980),i=r(8602),c=r(9917);const l={key:0,id:"user",class:"view"},E={class:"box"};var d=(0,n.aZ)({name:"UserView",props:{fromAdmin:{type:Boolean}},setup(e){const t=e,{fromAdmin:r}=(0,a.BK)(t),d=(0,s.yj)(),S=(0,c.o)(),m=(0,n.Fl)((()=>S.getters[i.RT.GETTERS.USER]));return(0,n.wF)((()=>{d.params.username&&"string"===typeof d.params.username&&S.dispatch(i.RT.ACTIONS.GET_USER,d.params.username)})),(0,n.Jd)((()=>{S.dispatch(i.RT.ACTIONS.EMPTY_USER)})),(e,t)=>(0,a.SU)(m).username?((0,n.wg)(),(0,n.iD)("div",l,[(0,n.Wm)(u.Z,{user:(0,a.SU)(m)},null,8,["user"]),(0,n._)("div",E,[(0,n.Wm)(o.Z,{user:(0,a.SU)(m),"from-admin":(0,a.SU)(r)},null,8,["user","from-admin"])])])):(0,n.kq)("",!0)}}),S=r(3744);const m=(0,S.Z)(d,[["__scopeId","data-v-af7007f4"]]);var _=m}}]);
//# sourceMappingURL=profile.6625cfc7.js.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,2 +0,0 @@
"use strict";(self["webpackChunkfittrackee_client"]=self["webpackChunkfittrackee_client"]||[]).push([[193],{7749:function(e,s,t){t.r(s),t.d(s,{default:function(){return A}});var r=t(5793),a=t(2715),l=t(3577),o=t(3324),c=t(7402);const n={class:"chart-menu"},i={class:"chart-arrow"},u={class:"time-frames custom-checkboxes-group"},d={class:"time-frames-checkboxes custom-checkboxes"},p=["id","name","checked","onInput"],m={class:"chart-arrow"};var v=(0,r.aZ)({emits:["arrowClick","timeFrameUpdate"],setup(e,{emit:s}){let t=(0,a.iH)("month");const o=["week","month","year"];function c(e){t.value=e,s("timeFrameUpdate",e)}return(e,v)=>((0,r.wg)(),(0,r.iD)("div",n,[(0,r._)("div",i,[(0,r._)("i",{class:"fa fa-chevron-left","aria-hidden":"true",onClick:v[0]||(v[0]=e=>s("arrowClick",!0))})]),(0,r._)("div",u,[(0,r._)("div",d,[((0,r.wg)(),(0,r.iD)(r.HY,null,(0,r.Ko)(o,(s=>(0,r._)("div",{class:"time-frame custom-checkbox",key:s},[(0,r._)("label",null,[(0,r._)("input",{type:"radio",id:s,name:s,checked:(0,a.SU)(t)===s,onInput:e=>c(s)},null,40,p),(0,r._)("span",null,(0,l.zw)(e.$t(`statistics.TIME_FRAMES.${s}`)),1)])]))),64))])]),(0,r._)("div",m,[(0,r._)("i",{class:"fa fa-chevron-right","aria-hidden":"true",onClick:v[1]||(v[1]=e=>s("arrowClick",!1))})])]))}}),k=t(3744);const S=(0,k.Z)(v,[["__scopeId","data-v-af15954c"]]);var w=S,f=t(631);const _={class:"sports-menu"},h=["id","name","checked","onInput"],U={class:"sport-label"};var b=(0,r.aZ)({props:{userSports:null,selectedSportIds:{default:()=>[]}},emits:["selectedSportIdsUpdate"],setup(e,{emit:s}){const t=e,{t:c}=(0,o.QT)(),n=(0,r.f3)("sportColors"),{selectedSportIds:i}=(0,a.BK)(t),u=(0,r.Fl)((()=>(0,f.xH)(t.userSports,c)));function d(e){s("selectedSportIdsUpdate",e)}return(e,s)=>{const t=(0,r.up)("SportImage");return(0,r.wg)(),(0,r.iD)("div",_,[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)((0,a.SU)(u),(e=>((0,r.wg)(),(0,r.iD)("label",{type:"checkbox",key:e.id,style:(0,l.j5)({color:e.color?e.color:(0,a.SU)(n)[e.label]})},[(0,r._)("input",{type:"checkbox",id:e.id,name:e.label,checked:(0,a.SU)(i).includes(e.id),onInput:s=>d(e.id)},null,40,h),(0,r.Wm)(t,{"sport-label":e.label,color:e.color},null,8,["sport-label","color"]),(0,r._)("span",U,(0,l.zw)(e.translatedLabel),1)],4)))),128))])}}});const I=b;var g=I,T=t(9318);const y={key:0,id:"user-statistics"};var C=(0,r.aZ)({props:{sports:null,user:null},setup(e){const s=e,{t:t}=(0,o.QT)(),{sports:l,user:n}=(0,a.BK)(s);let i=(0,a.iH)("month");const u=(0,a.iH)(v(i.value)),d=(0,r.Fl)((()=>(0,f.xH)(s.sports,t))),p=(0,a.iH)(S(s.sports));function m(e){i.value=e,u.value=v(i.value)}function v(e){return(0,T.aZ)(new Date,e,s.user.weekm)}function k(e){u.value=(0,T.FN)(u.value,e,s.user.weekm)}function S(e){return e.map((e=>e.id))}function _(e){p.value.includes(e)?p.value=p.value.filter((s=>s!==e)):p.value.push(e)}return(0,r.YP)((()=>s.sports),(e=>{p.value=S(e)})),(e,s)=>(0,a.SU)(d)?((0,r.wg)(),(0,r.iD)("div",y,[(0,r.Wm)(w,{onTimeFrameUpdate:m,onArrowClick:k}),(0,r.Wm)(c.Z,{sports:(0,a.SU)(l),user:(0,a.SU)(n),chartParams:u.value,"displayed-sport-ids":p.value,fullStats:!0},null,8,["sports","user","chartParams","displayed-sport-ids"]),(0,r.Wm)(g,{"selected-sport-ids":p.value,"user-sports":(0,a.SU)(l),onSelectedSportIdsUpdate:_},null,8,["selected-sport-ids","user-sports"])])):(0,r.kq)("",!0)}});const F=(0,k.Z)(C,[["__scopeId","data-v-7d54529b"]]);var Z=F,D=t(5630),H=t(8602),x=t(9917);const E={id:"statistics",class:"view"},R={key:0,class:"container"};var W=(0,r.aZ)({setup(e){const s=(0,x.o)(),t=(0,r.Fl)((()=>s.getters[H.YN.GETTERS.AUTH_USER_PROFILE])),o=(0,r.Fl)((()=>s.getters[H.O8.GETTERS.SPORTS].filter((e=>t.value.sports_list.includes(e.id)))));return(e,s)=>{const c=(0,r.up)("Card");return(0,r.wg)(),(0,r.iD)("div",E,[(0,a.SU)(t).username?((0,r.wg)(),(0,r.iD)("div",R,[(0,r.Wm)(c,null,{title:(0,r.w5)((()=>[(0,r.Uk)((0,l.zw)(e.$t("statistics.STATISTICS")),1)])),content:(0,r.w5)((()=>[(0,r.Wm)(Z,{class:(0,l.C_)({"stats-disabled":0===(0,a.SU)(t).nb_workouts}),user:(0,a.SU)(t),sports:(0,a.SU)(o)},null,8,["class","user","sports"])])),_:1}),0===(0,a.SU)(t).nb_workouts?((0,r.wg)(),(0,r.j4)(D.Z,{key:0})):(0,r.kq)("",!0)])):(0,r.kq)("",!0)])}}});const P=(0,k.Z)(W,[["__scopeId","data-v-2e341d4e"]]);var A=P}}]);
//# sourceMappingURL=statistics.284e20be.js.map

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,2 @@
"use strict";(self["webpackChunkfittrackee_client"]=self["webpackChunkfittrackee_client"]||[]).push([[193],{7749:function(e,t,s){s.r(t),s.d(t,{default:function(){return A}});s(6699);var a=s(6252),r=s(2262),l=s(3577),o=s(3324),n=s(7402);const c={class:"chart-menu"},i={class:"chart-arrow"},u={class:"time-frames custom-checkboxes-group"},d={class:"time-frames-checkboxes custom-checkboxes"},p=["id","name","checked","onInput"],m={class:"chart-arrow"};var v=(0,a.aZ)({name:"StatsMenu",emits:["arrowClick","timeFrameUpdate"],setup(e,{emit:t}){let s=(0,r.iH)("month");const o=["week","month","year"];function n(e){s.value=e,t("timeFrameUpdate",e)}return(e,v)=>((0,a.wg)(),(0,a.iD)("div",c,[(0,a._)("div",i,[(0,a._)("i",{class:"fa fa-chevron-left","aria-hidden":"true",onClick:v[0]||(v[0]=e=>t("arrowClick",!0))})]),(0,a._)("div",u,[(0,a._)("div",d,[((0,a.wg)(),(0,a.iD)(a.HY,null,(0,a.Ko)(o,(t=>(0,a._)("div",{class:"time-frame custom-checkbox",key:t},[(0,a._)("label",null,[(0,a._)("input",{type:"radio",id:t,name:t,checked:(0,r.SU)(s)===t,onInput:e=>n(t)},null,40,p),(0,a._)("span",null,(0,l.zw)(e.$t(`statistics.TIME_FRAMES.${t}`)),1)])]))),64))])]),(0,a._)("div",m,[(0,a._)("i",{class:"fa fa-chevron-right","aria-hidden":"true",onClick:v[1]||(v[1]=e=>t("arrowClick",!1))})])]))}}),k=s(3744);const S=(0,k.Z)(v,[["__scopeId","data-v-af15954c"]]);var w=S,f=s(631);const _={class:"sports-menu"},h=["id","name","checked","onInput"],U={class:"sport-label"};var b=(0,a.aZ)({name:"StatsSportsMenu",props:{userSports:null,selectedSportIds:{default:()=>[]}},emits:["selectedSportIdsUpdate"],setup(e,{emit:t}){const s=e,{t:n}=(0,o.QT)(),c=(0,a.f3)("sportColors"),{selectedSportIds:i}=(0,r.BK)(s),u=(0,a.Fl)((()=>(0,f.xH)(s.userSports,n)));function d(e){t("selectedSportIdsUpdate",e)}return(e,t)=>{const s=(0,a.up)("SportImage");return(0,a.wg)(),(0,a.iD)("div",_,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,r.SU)(u),(e=>((0,a.wg)(),(0,a.iD)("label",{type:"checkbox",key:e.id,style:(0,l.j5)({color:e.color?e.color:(0,r.SU)(c)[e.label]})},[(0,a._)("input",{type:"checkbox",id:e.id,name:e.label,checked:(0,r.SU)(i).includes(e.id),onInput:t=>d(e.id)},null,40,h),(0,a.Wm)(s,{"sport-label":e.label,color:e.color},null,8,["sport-label","color"]),(0,a._)("span",U,(0,l.zw)(e.translatedLabel),1)],4)))),128))])}}});const I=b;var g=I,T=s(9318);const y={key:0,id:"user-statistics"};var C=(0,a.aZ)({name:"index",props:{sports:null,user:null},setup(e){const t=e,{t:s}=(0,o.QT)(),{sports:l,user:c}=(0,r.BK)(t);let i=(0,r.iH)("month");const u=(0,r.iH)(v(i.value)),d=(0,a.Fl)((()=>(0,f.xH)(t.sports,s))),p=(0,r.iH)(S(t.sports));function m(e){i.value=e,u.value=v(i.value)}function v(e){return(0,T.aZ)(new Date,e,t.user.weekm)}function k(e){u.value=(0,T.FN)(u.value,e,t.user.weekm)}function S(e){return e.map((e=>e.id))}function _(e){p.value.includes(e)?p.value=p.value.filter((t=>t!==e)):p.value.push(e)}return(0,a.YP)((()=>t.sports),(e=>{p.value=S(e)})),(e,t)=>(0,r.SU)(d)?((0,a.wg)(),(0,a.iD)("div",y,[(0,a.Wm)(w,{onTimeFrameUpdate:m,onArrowClick:k}),(0,a.Wm)(n.Z,{sports:(0,r.SU)(l),user:(0,r.SU)(c),chartParams:u.value,"displayed-sport-ids":p.value,fullStats:!0},null,8,["sports","user","chartParams","displayed-sport-ids"]),(0,a.Wm)(g,{"selected-sport-ids":p.value,"user-sports":(0,r.SU)(l),onSelectedSportIdsUpdate:_},null,8,["selected-sport-ids","user-sports"])])):(0,a.kq)("",!0)}});const F=(0,k.Z)(C,[["__scopeId","data-v-7d54529b"]]);var Z=F,x=s(5630),D=s(8602),H=s(9917);const E={id:"statistics",class:"view"},R={key:0,class:"container"};var W=(0,a.aZ)({name:"StatisticsView",setup(e){const t=(0,H.o)(),s=(0,a.Fl)((()=>t.getters[D.YN.GETTERS.AUTH_USER_PROFILE])),o=(0,a.Fl)((()=>t.getters[D.O8.GETTERS.SPORTS].filter((e=>s.value.sports_list.includes(e.id)))));return(e,t)=>{const n=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",E,[(0,r.SU)(s).username?((0,a.wg)(),(0,a.iD)("div",R,[(0,a.Wm)(n,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,l.zw)(e.$t("statistics.STATISTICS")),1)])),content:(0,a.w5)((()=>[(0,a.Wm)(Z,{class:(0,l.C_)({"stats-disabled":0===(0,r.SU)(s).nb_workouts}),user:(0,r.SU)(s),sports:(0,r.SU)(o)},null,8,["class","user","sports"])])),_:1}),0===(0,r.SU)(s).nb_workouts?((0,a.wg)(),(0,a.j4)(x.Z,{key:0})):(0,a.kq)("",!0)])):(0,a.kq)("",!0)])}}});const P=(0,k.Z)(W,[["__scopeId","data-v-2e341d4e"]]);var A=P}}]);
//# sourceMappingURL=statistics.ea7ff674.js.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -7,6 +7,9 @@ os.environ['FLASK_ENV'] = 'testing'
os.environ['APP_SETTINGS'] = 'fittrackee.config.TestingConfig'
# to avoid resetting dev database during tests
os.environ['DATABASE_URL'] = os.environ['DATABASE_TEST_URL']
TEMP_FOLDER = '/tmp/FitTrackee'
os.environ['UPLOAD_FOLDER'] = TEMP_FOLDER
os.environ['APP_LOG'] = TEMP_FOLDER + '/fittrackee.log'
pytest_plugins = [
'fittrackee.tests.fixtures.fixtures_app',

View File

@ -1,7 +1,9 @@
import os
import shutil
from typing import Generator, Optional, Union
import pytest
from flask import current_app
from fittrackee import create_app, db
from fittrackee.application.models import AppConfig
@ -65,6 +67,11 @@ def get_app(
# FATAL: remaining connection slots are reserved for
# non-replication superuser connections
db.engine.dispose()
# remove all temp files like gpx files
shutil.rmtree(
current_app.config['UPLOAD_FOLDER'],
ignore_errors=True,
)
return app

View File

@ -388,7 +388,7 @@ def get_picture(user_name: str) -> Any:
if user.picture is not None:
picture_path = get_absolute_file_path(user.picture)
return send_file(picture_path)
except Exception:
except Exception: # nosec
pass
return NotFoundErrorResponse('No picture.')

View File

@ -27,7 +27,7 @@ def get_map_hash(map_filepath: str) -> str:
Generate a md5 hash used as id instead of workout id, to retrieve map
image (maps are sensitive data)
"""
md5 = hashlib.md5()
md5 = hashlib.md5() # nosec # need 3.9+ to use 'usedforsecurity' flag
absolute_map_filepath = get_absolute_file_path(map_filepath)
with open(absolute_map_filepath, 'rb') as f:
for chunk in iter(lambda: f.read(128 * md5.block_size), b''):

View File

@ -1,6 +1,6 @@
{
"name": "fittrackee_client",
"version": "0.6.5",
"version": "0.6.6",
"private": true,
"scripts": {
"serve": "vue-cli-service serve",
@ -11,33 +11,33 @@
"i18n:report": "vue-cli-service i18n:report --src \"./src/**/*.?(js|vue)\" --locales \"./src/locales/**/*.json\""
},
"dependencies": {
"@tmcw/togeojson": "^5.0.0",
"@tmcw/togeojson": "^5.1.3",
"@vue-leaflet/vue-leaflet": "^0.6.1",
"@zxcvbn-ts/core": "^2.0.1",
"@zxcvbn-ts/language-common": "^2.0.1",
"@zxcvbn-ts/language-en": "^2.0.1",
"@zxcvbn-ts/language-fr": "^2.0.1",
"@zxcvbn-ts/language-fr": "^2.1.0",
"axios": "^0.26.1",
"chart.js": "^3.7.0",
"chart.js": "^3.8.0",
"chartjs-plugin-datalabels": "^2.0.0",
"core-js": "^3.22.2",
"core-js": "^3.22.7",
"date-fns": "^2.28.0",
"date-fns-tz": "^1.3.3",
"date-fns-tz": "^1.3.4",
"leaflet": "^1.8.0",
"register-service-worker": "^1.7.1",
"vue": "^3.2.33",
"vue": "^3.2.36",
"vue-chart-3": "3.1.1",
"vue-fullscreen": "^3.1.1",
"vue-i18n": "^9.1.9",
"vue-router": "^4.0.14",
"vue-i18n": "^9.1.10",
"vue-router": "^4.0.15",
"vuex": "^4.0.0-0"
},
"devDependencies": {
"@intlify/vue-i18n-loader": "^4.2.0",
"@types/chai": "^4.3.1",
"@types/mocha": "^9.1.1",
"@typescript-eslint/eslint-plugin": "^5.20.0",
"@typescript-eslint/parser": "^5.20.0",
"@typescript-eslint/eslint-plugin": "^5.26.0",
"@typescript-eslint/parser": "^5.26.0",
"@vue/cli-plugin-babel": "~5.0.1",
"@vue/cli-plugin-eslint": "~5.0.1",
"@vue/cli-plugin-pwa": "~5.0.1",
@ -47,7 +47,7 @@
"@vue/cli-plugin-vuex": "~5.0.1",
"@vue/cli-service": "~5.0.1",
"@vue/eslint-config-typescript": "^10.0.0",
"@vue/test-utils": "^2.0.0-rc.21",
"@vue/test-utils": "^2.0.0",
"chai": "^4.3.6",
"eslint": "^7.32.0",
"eslint-config-prettier": "^8.5.0",
@ -56,9 +56,9 @@
"eslint-plugin-prettier": "^4.0.0",
"eslint-plugin-vue": "^8.7.1",
"prettier": "^2.6.2",
"sass": "^1.50.1",
"sass-loader": "^12.6.0",
"typescript": "^4.6.3",
"sass": "^1.51.2",
"sass-loader": "^13.0.0",
"typescript": "^4.7.2",
"vue-cli-plugin-i18n": "~2.3.1"
},
"eslintConfig": {

View File

@ -58,7 +58,7 @@
import { htmlLegendPlugin } from '@/components/Workout/WorkoutDetail/WorkoutChart/legend'
import { TUnit } from '@/types/units'
import { IUserProfile } from '@/types/user'
import { IAuthUserProfile } from '@/types/user'
import {
IWorkoutChartData,
IWorkoutData,
@ -68,7 +68,7 @@
import { getDatasets } from '@/utils/workouts'
interface Props {
authUser: IUserProfile
authUser: IAuthUserProfile
workoutData: IWorkoutData
}
const props = defineProps<Props>()

View File

@ -46,7 +46,7 @@
import WorkoutMap from '@/components/Workout/WorkoutDetail/WorkoutMap/index.vue'
import { WORKOUTS_STORE } from '@/store/constants'
import { ISport } from '@/types/sports'
import { IUserProfile } from '@/types/user'
import { IAuthUserProfile } from '@/types/user'
import {
IWorkout,
IWorkoutData,
@ -58,7 +58,7 @@
import { formatWorkoutDate, getDateWithTZ } from '@/utils/dates'
interface Props {
authUser: IUserProfile
authUser: IAuthUserProfile
displaySegment: boolean
sports: ISport[]
workoutData: IWorkoutData

View File

@ -243,7 +243,7 @@
import { ROOT_STORE, WORKOUTS_STORE } from '@/store/constants'
import { TAppConfig } from '@/types/application'
import { ISport } from '@/types/sports'
import { IUserProfile } from '@/types/user'
import { IAuthUserProfile } from '@/types/user'
import { IWorkout, IWorkoutForm } from '@/types/workouts'
import { useStore } from '@/use/useStore'
import { formatWorkoutDate, getDateWithTZ } from '@/utils/dates'
@ -252,7 +252,7 @@
import { convertDistance } from '@/utils/units'
interface Props {
authUser: IUserProfile
authUser: IAuthUserProfile
sports: ISport[]
isCreation?: boolean
loading?: boolean

View File

@ -165,12 +165,12 @@
import { LocationQuery, useRoute, useRouter } from 'vue-router'
import { ISport } from '@/types/sports'
import { IUserProfile } from '@/types/user'
import { IAuthUserProfile } from '@/types/user'
import { translateSports } from '@/utils/sports'
import { units } from '@/utils/units'
interface Props {
authUser: IUserProfile
authUser: IAuthUserProfile
sports: ISport[]
}
const props = defineProps<Props>()

File diff suppressed because it is too large Load Diff

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