Commit Graph

365 Commits

Author SHA1 Message Date
Christopher Charbonneau Wells 4cf523dff0
Improve logo/favicon styling (#312)
* Update brand logo color (WIP)

Need more SVG hackery for proper transparency...

* Add SVG favicon (WIP)

👻

* Create transparent logo variant; use for brand icon

* Update primary color for all logo assets

* Add small white stroke to favicon

* Switch to SVG favicon
2021-09-25 14:16:48 -07:00
Christopher C. Wells 3f57b196b4 Disable secure cookies
This feature breaks login on non-HTTPs connections. Additional work needed.
2021-09-16 20:44:05 -07:00
Nick Trecina a844aa7613
Date picker changes (#304)
Only open datepicker on calendar click

Co-authored-by: Christopher C. Wells <git@chris-wells.net>
2021-09-16 20:29:47 -07:00
Christopher C. Wells c8d48945f2 Set `HttpOnly` flag on cookies 2021-09-16 19:37:04 -07:00
Christopher C. Wells 0e6a5cb08a Prevent caching of pages requiring authentication 2021-09-16 19:34:33 -07:00
Christopher C. Wells 45cb43958d Set default password policies in base settings 2021-09-16 19:14:48 -07:00
Christopher C. Wells 8ea68eed54 Default session and CSRF cookie setting to secure 2021-09-16 18:59:25 -07:00
Christopher C. Wells 956453b206 Add Portuguese to README 2021-09-16 18:53:46 -07:00
José Pedro Sousa 699c573162 Adding Portuguese Translation 2021-09-15 08:32:31 -07:00
Christopher C. Wells 53f249d1af Default to time in datetime picker
Closes #284
2021-09-03 20:46:12 -07:00
Christopher C. Wells 4b95ad48dc Adjust style of datetime picker trigger 2021-09-03 20:42:37 -07:00
Christopher C. Wells 690a270185 Replace datetime picker icons
Fixes #302
2021-09-03 20:17:38 -07:00
Christopher C. Wells bc1d4a707b Fix refresh icon name 2021-08-31 08:08:13 -07:00
Christopher C. Wells bafa1dec6e Separate "information" and "action" icons for small screens 2021-08-31 08:08:13 -07:00
Christopher C. Wells e1f20db2cb Update back/forward arrow icon classes 2021-08-31 08:08:13 -07:00
Christopher C. Wells 2c029d3579 Prevent top menus from line breaking on small screens 2021-08-31 08:08:13 -07:00
Christopher C. Wells 49aa852fe8 Fix activities icon spelling 2021-08-31 08:08:13 -07:00
Christopher C. Wells c850998b64 Remove deprecated `icon` base class usage 2021-08-31 08:08:13 -07:00
Christopher C. Wells d2decc03b6 Replace Font Awesome with a Fontello custom font 2021-08-31 08:08:13 -07:00
Christopher C. Wells 0990678325 Add basic timeline view (WIP) 2021-08-31 08:08:13 -07:00
Ohad Lutzky 5e4e3753e7 Nav items linking to timeline from dashboard
Fixes #271
2021-08-31 08:08:13 -07:00
Christopher C. Wells 4de006783e Create v1.8.3 release 2021-08-27 21:16:00 -07:00
Christopher C. Wells 32a6ea1960 Ensure datetimepicker is not behind submit button on mobile
Fixes #265
2021-08-27 20:57:27 -07:00
jcgoette 81fad7d30e add SECURE_PROXY_SSL_HEADER env arg option 2021-08-21 06:04:56 -07:00
Christopher C. Wells ee5f7a682a Create v1.8.2 release 2021-08-06 14:31:34 -07:00
Christopher C. Wells 359846fe57 Ensure default database name is set
Closes #279
2021-08-06 14:28:45 -07:00
Christopher C. Wells 5598482d53 Create v1.8.1 release 2021-08-06 09:01:29 -07:00
Christopher C. Wells ddf4c70739 Add support for DB config overrides to base settings
Closes #273
2021-08-06 08:52:51 -07:00
Christopher C. Wells 1aad600f6c Only use `SHORT_MONTH_DAY_FORMAT` with supported locales
Closes #276
2021-08-06 08:24:07 -07:00
Christopher C. Wells 4c9848ec4e Create v1.8.0 release 2021-08-05 07:39:38 -07:00
Christopher C. Wells f29269869c Only add sessions refresh data to existing sessions
Prior to change session were created for _every_ request (including API
requests).
2021-08-05 06:34:08 -07:00
Ohad Lutzky e2779c006f Hide child column if only one child is shown
Fixes #233
2021-08-04 08:47:56 -07:00
Christopher C. Wells 16c34ca7f0 Add test for custom date format 2021-08-01 04:42:38 -07:00
Christopher C. Wells 94cb7d771a Use short datetime string for lists 2021-08-01 04:42:38 -07:00
Christopher C. Wells c1dab44596 Use POST for timer quick add functionality 2021-07-31 13:56:48 -07:00
Christopher C. Wells 4673c2b8bd Move cookie secure attributes to example production settings 2021-07-31 05:56:29 -07:00
Christopher C. Wells d9f6c44f59 Add secure attribute to cookies 2021-07-31 05:56:29 -07:00
Christopher C. Wells eac0942acd Remove unsupported eb setting config 2021-07-31 05:56:29 -07:00
Christopher C. Wells 605660ff94 Only use full width submit on smaller screens 2021-07-19 20:55:30 -07:00
Christopher C. Wells f4134cd226 Make form submit full width fixed 2021-07-19 20:55:30 -07:00
Ohad Lutzky 798d7663fd Dashboard: Auto-refresh even if focus is supported
* No change if unsupported
* If supported, still auto-refresh at the selected frequency (if any),
  but only if not hidden.

This is useful for always-on displays (e.g. a "baby clock"). Fixes #253
2021-07-19 19:52:19 -07:00
Ohad Lutzky e2e2c8c43a
Brighten blue and cyan colors (#251)
For slightly easier viewing on mobile phones in daylight
2021-07-09 07:36:38 -07:00
Christopher C. Wells 67e78fec8c Bump version to v1.7.0 2021-07-07 20:14:17 -07:00
Christopher C. Wells 1689bc8e20 Refactor API key reset as part of settings form
This adds core CSRF protection to the reset functionality.
2021-06-21 21:27:45 -07:00
Christopher C. Wells 97b17447df Disable axes during tests 2021-06-21 20:47:57 -07:00
Christopher C. Wells 27ea845bbb Add basic log in brute force protection 2021-06-21 20:41:23 -07:00
Benjamin Häublein e8696a8b00
Dashboard: Hide old data (#215)
* filter card data by age

* add setting for hide_age

* add option to settings form

* fix name to consistently use hide_age

* rename filter, use setting for filter

* add test for old hiding old data

* fix migration to contain correct imports, remove month from timedelta

* remove months from timedelta, allow blank

* fix with block

* add settings test

* add test for filter

* mock localtime

* fix timezone issues with tests

* linting

* linting

* Adjust migration

Co-authored-by: Benjamin Häublein <benjaminh@debian.vm.hp>
Co-authored-by: Christopher C. Wells <git@chris-wells.net>
2021-06-19 14:09:05 -07:00
Christopher C. Wells 5a7b5f5e5c Add latest timezone migrations 2021-06-16 06:31:21 -07:00
Christopher C. Wells a9a1f17204 Update settings migration 2021-06-07 20:26:27 -07:00
Christopher Charbonneau Wells c8e1fee3e4
Replace Travis with GitHub Actions (#216)
* Replace Travis config with GitHub Actions config

* Use Coveralls GitHub Action

* Correct Coveralls flag name

* Try AndreMiras/coveralls-python-action@develop

* Prevent double-run on push to PRs

Closes #216.
2021-05-19 21:12:03 -07:00
Christopher C. Wells 25fb295d7b Bump version to v1.6.0 2021-05-13 20:37:31 -07:00
Benjamin Häublein 1dca1cc050
Add option for hiding empty dashboard cards (#213)
* add option for hiding empty dashboard cards

* rework add option for hiding empty dashboard cards

missed statistics.html

* don't exit early in cards

* add forms test for dashboard_hide_empty

* add tests for cards

* fix early exit in card_diaperchange_latest

* change dependency of migration

* rename migration

* introduce hiding of cards in templates

* linting

* add context to test_card_diaperchange_last

* setup MockUserRequest

* add context to all cards test cases

* add test for settings_dashboard_hide_empty_on

* change dashboard_hide_test, but it doesn't work

* add test for _user_wants_hide

* fix test_user_wants_hide user object, simpliy check for data['empty']

* add test for user_wants_hide to every card

* linting

* fix trailing whitespace

* rename user_wants_hide to hide_empty

* fix hidden statistics

* add user.refresh_from_db to test case, add test case for dashboard_refresh_rate

* Follow redirect and correct assertion

Co-authored-by: jcgoette <jcgoette@gmail.com>
Co-authored-by: Benjamin Häublein <benjaminh@debian.vm.hp>
Co-authored-by: Christopher C. Wells <git@chris-wells.net>
2021-05-13 20:28:39 -07:00
Christopher C. Wells 250e07e739 Set default timezone as UTC
The previous setting of "Etc/UTC" appears to no longer be valid in certain
circumstances. This was causes tests to fail on user settings because the
provided default was invalid. "UTC" should be more uniformly recognized so
hopefully this does not have any downstream effects.

Closes #203
2021-05-05 05:58:32 -07:00
Christopher C. Wells fe454013da Update Python dependencies and runtime 2021-04-11 12:49:15 -07:00
Christopher C. Wells 6fb958d6b3 Add Italian translations 2021-03-04 06:03:29 -08:00
Christopher C. Wells 5aae21cebe Bump version to 1.5.1 2021-02-25 06:01:28 -08:00
Christopher C. Wells 311c6d2e05 Add Dutch translations 2021-02-25 06:00:23 -08:00
jcgoette 4739d909e5 add tests 2021-02-09 18:10:36 -08:00
Nicholas Trecina f5d523ba80 Boolean field labels are no longer clickable so they can't be accidentally toggle the field value 2021-01-19 08:37:07 -08:00
Christopher C. Wells 448234abc3 Bump version to 1.5.0 2021-01-05 21:08:49 -08:00
Zutart 4733ec0b83
Improve database setting configuration options (#182)
* Updated docker.py to allow for custom PSQL env input

* Updated README.md with new PSQL env variables

* Updated with new variable names and adjusted inline logic

* Updated README.md to reflect new env variable names

* Updated database password fallback to prevent breaking existing deployments

* Updated with new env variables

* Further edits per PR discussion

* Removed unnecessary variables from example docker-compose file
2021-01-04 18:06:11 -08:00
= 187d2226e0 Fixed duplicate data/form-submit from double click 2020-10-28 14:35:22 -07:00
Christopher C. Wells af482c70e6 Migrate timezones data 2020-10-25 18:58:09 -07:00
Christopher C. Wells b014dd29fb Fix tests for Python 3.6 support (#170) 2020-10-25 09:32:39 -07:00
Christopher C. Wells 426378c3e1 Disable system checks for `gulp reset` command 2020-08-12 19:58:53 -07:00
Christopher C. Wells 3f0694dc9d Make datetime editable for Note model
Closes #151
2020-08-12 19:47:58 -07:00
Mikko Haikonen 308f0f4c57 Revert development.py 2020-07-29 16:42:04 +03:00
Mikko Haikonen dfdadea5ba Add Finnish language 2020-07-29 16:40:18 +03:00
Christopher C. Wells 37baabccde Bump version (late -- oops!) 2020-07-26 21:21:29 -07:00
Christopher C. Wells 7abe7b2a5f Add test for USE_24_HOUR_TIME_FORMAT (#148)
Note: this new test has been tagged "isolate" and excluded from regular tests
because the locale behavior being tested involves Django internals that must
be handled at initialization and cannot be changed during runtime (i.e. this
new test with PASS when run alone, but FAIL when run with other tests).

A future commit or set of commits should come up with a way to execute all
tests tagged "isolate" in isolated test environments as part of the full test
suite. For now, this test simply does not run until it is run manually.
2020-07-22 21:56:29 -07:00
Christopher C. Wells 23ac4ade91 Add specific failing string detail to datetime format test (#148) 2020-07-22 21:14:34 -07:00
Christopher C. Wells d138558158 Concatenate (not append) DATETIME_INPUT_FORMATS (#148) 2020-07-22 21:13:56 -07:00
Christopher C. Wells 1eb02f436b Correct minute directive in DATETIME_INPUT_FORMATS (#148) 2020-07-22 20:27:44 -07:00
Christopher C. Wells 6f7ec903cc Add missing commas in list definition (#148) 2020-07-22 20:14:07 -07:00
Christopher C. Wells 81ec4c7fb9 Add SHORT_DATETIME_FORMAT format (#148) 2020-07-22 19:56:11 -07:00
Christopher C. Wells aa261616a9 Provide default when USE_24_HOUR_TIME_FORMAT is not set (#148) 2020-07-21 22:05:46 -07:00
Christopher C. Wells 4d71f9c5ec Add 24 hour time format override support to input fields (#148) 2020-07-21 22:03:08 -07:00
Christopher C. Wells d5dc329cf8 Add USE_24_HOUR_TIME_FORMAT setting (#148) 2020-07-21 20:46:46 -07:00
Christopher C. Wells 3135d1d9d0 Use settings override for rolling session refresh test 2020-06-28 05:31:34 -07:00
Christopher C. Wells 3407afbf1b Move default database file to a directory (#145) 2020-06-21 08:21:16 -07:00
Christopher C. Wells a9787f6743 Move default `DATABASES` config to babybuddy.settings.base 2020-06-09 07:11:25 -07:00
Christopher C. Wells a09ceadc40 Ensure naps are captured for both start and end time 2020-06-09 07:02:28 -07:00
Peter Hardy 2806d0a22f The rest of the middleware commit 2020-05-17 20:11:08 +10:00
Peter Hardy 1d9a7d4215 Adds rolling session refresh middleware (#130) 2020-05-17 16:57:00 +10:00
MaximilianKindshofer 85777d0b9a fix(Docker): Fixed Docker-Compose-Example
The docker-compose example now runs out of the box. Migrations are
applied at startup and cachetable is created.

Closes #141
2020-04-18 18:28:51 +02:00
Christopher C. Wells 5c0ab940b0 Bump version (v1.4.0) 2020-02-19 09:17:30 -08:00
Christopher C. Wells d0b33c2b1b Use user first and last name, when available, in UI 2020-02-18 14:41:33 -08:00
Christopher C. Wells 192d8d9b09 Change Django backend name to "Database Admin"
This is primarily done to make the documentation for import/export a little easier to understand.
2020-02-18 14:41:33 -08:00
Christopher C. Wells 8c64dd8cae Configure support for imports 2020-02-18 14:41:33 -08:00
Christopher C. Wells 014b373a78 Add initial basic admin import/export support 2020-02-18 14:41:33 -08:00
Christopher C. Wells a751b0b2e0 Add random notes to faker 2020-02-16 15:09:57 -08:00
Christopher C. Wells e3c2f0c0b9 Implement example notes handling in Diaper Change list 2020-02-16 15:09:57 -08:00
Christopher C. Wells c05ce176fc Persist user timezone setting with middleware 2020-02-14 12:45:24 -08:00
Christopher C. Wells 8735655f23 Add user timezone setting support to datetime form fields 2020-02-14 12:07:43 -08:00
Christopher C. Wells 7727e254c3 Add specific test for timezone setting via form 2020-02-14 10:56:13 -08:00
Christopher C. Wells 93207d88fe Add user timezone setting to test fixtures
Without this change, some tests will fail because the default setting value
for the timezone will override (UTC) when "US/Eastern" is expected.
2020-02-14 10:56:13 -08:00
Christopher C. Wells b54b0facb3 Account for timezone field in existing forms tests 2020-02-14 10:56:13 -08:00
Christopher C. Wells 6433b52bec Use "common_timezones" instead of "all_timezones" 2020-02-14 10:56:13 -08:00
Christopher C. Wells 1514e77f8c Add user configurable timezone setting 2020-02-14 10:56:13 -08:00
Christopher C. Wells ea6476f9ca Bump version (v1.3.4) 2020-02-08 20:34:07 -08:00
Christopher C. Wells 2bde57cc32 Bump version (v1.3.3) 2020-02-08 15:23:59 -08:00
Christopher C. Wells 7c0b8c0071 Bump version (v1.3.2)
Static assets relevant to the new Pull to Refresh feature were missed in v1.3.1 ):
2020-02-07 12:28:48 -08:00
Christopher C. Wells 724848827c Bump version (v1.3.1) 2020-02-07 11:56:57 -08:00
Christopher C. Wells 86f0c2f04b Update references to old repo address 2020-02-06 22:16:57 -08:00
Christopher C. Wells 127c3d5cb0 Add ability to delete all inactive Timers (#108) 2020-02-06 21:15:36 -08:00
Christopher C. Wells 8e5364d891 Ensure that empty environment values get defaults
The `os.environ.get` default is _not_ used if the environment variable is set to an empty value. This can lead to confusion if, for example, the `TIME_ZONE` environment variable is set to empty. The expected behavior is a fallback on "Etc/UTC".
2020-02-04 11:28:16 -08:00
Christopher C. Wells 682ebb34ca Implement pull-to-refresh (#107) 2020-02-04 10:58:26 -08:00
Christopher C. Wells a0a6c88a19 Fix linting issue 2020-01-31 12:05:40 -08:00
Christopher C. Wells 17ed16bc8b Hide Child from Timer detail in one child use cases 2020-01-31 12:01:17 -08:00
Christopher C. Wells b5dc34e388 Bump version 2020-01-31 09:10:40 -08:00
Christopher C. Wells 6662d1036d Clear cache during `reset` operation 2020-01-31 09:09:01 -08:00
Christopher C. Wells f4f7b8f5af Don't run `createcachetables` during `reset`
The `reset` command can only be run after initial app setup, which will include cache tables creation so running it again won't ever do anything since the table will already exist.
2020-01-31 09:09:01 -08:00
Christopher C. Wells c720f0b581 Add cache table support (WIP) 2020-01-31 09:09:01 -08:00
Christopher C. Wells e168babd86 Style datetime picker inputs 2020-01-31 08:47:03 -08:00
Christopher C. Wells e587ddeccd Use large inputs for datetime picker 2020-01-31 08:47:03 -08:00
Christopher C. Wells 475b7abf78 Apply custom style to `.datetimepicker-input` 2020-01-31 08:47:03 -08:00
Christopher C. Wells f725dd12f6 Prevent double import of global styles 2020-01-31 08:47:03 -08:00
Christopher C. Wells 87a38f4e87 Add close button to datetime picker widget 2020-01-27 14:59:40 -08:00
Christopher C. Wells 26b54b114e Add wrapper for datetime picker widget 2020-01-27 14:56:37 -08:00
Christopher C. Wells c51e755c0f Add Diaper Change "amount" field data to API 2020-01-26 14:30:00 -08:00
Christopher C. Wells 7f258f972d Add Diaper Change amounts to fake data generation 2020-01-26 13:32:02 -08:00
Christopher C. Wells 4194d833d2 Remove `vendor.css` reference (see 7030258) 2020-01-26 13:31:29 -08:00
Christopher C. Wells 4c9a4fe420 Improve contrast in datetime picker widget (#96) 2020-01-26 09:26:54 -08:00
Christopher C. Wells 746526d4ed Add "trimmed" key to `blocktrans` tags and update formatting 2020-01-23 20:00:32 -08:00
Christopher C. Wells e1d17759de Do not use imports in custom formats file
Using imports here apparently does not work as all the formats have to get
loaded before the new ones can be added, which means that the newly added
formats do not get recognized until the application restarts.

Fixes #90, again.
2020-01-21 07:22:30 -08:00
Christopher C. Wells cc0eef33a8 Add support for additional datetime input formats
The frontend library uses an datetime strong format for it's base language (US English)
that is not supported by Python's datetime. This commit adds custom formats to
support the frontend strings.
2020-01-20 15:50:35 -08:00
Christopher C. Wells a93070c5ba Add locale support for datetime picker 2020-01-20 15:50:35 -08:00
Christopher C. Wells 609784dc10 Add missed language update migrations
This migration should have been included in `2627b1c`.
2020-01-20 15:50:35 -08:00
Christopher C. Wells 094908f8bc Update documentation throughout 2020-01-19 08:49:45 -08:00
Christopher C. Wells 2627b1cbfd Add Turkish translations 2020-01-16 19:42:49 -08:00
Christopher C. Wells f6b5126dfd Add Spanish translations 2020-01-16 19:33:03 -08:00
Christopher C. Wells fb4d1c9de0 Bump version 2020-01-04 08:11:29 -08:00
Christopher C. Wells d68410cdae Use cookie for language setting
Django 4.0 will deprecate the use of session for language setting.
2020-01-04 08:09:28 -08:00
Christopher C. Wells a11524a47d Update Python dependencies (Django 3.x) 2020-01-04 06:37:42 -08:00
Christopher C. Wells d5d8a20922 Add note to dev settings re: testing production assets. 2019-07-10 19:26:10 -07:00
Christopher C. Wells badfcc4015 Bump version. 2019-06-07 07:26:54 -07:00
Christopher C. Wells 1d1b994e1a Add German to list of language options. 2019-06-07 07:22:55 -07:00
Christopher C. Wells 243b9ef1c1 Add Temperature data to API. 2019-05-16 22:13:14 -07:00
Christopher C. Wells 4397d4a406 Add temperature tracking. 2019-05-16 21:33:26 -07:00
Christopher C. Wells a7637afb27 Version bump. 2019-05-04 05:45:49 -07:00
Peter Wickenberg 2d4cf3cfa3 Add Swedish translations. 2019-05-02 11:48:36 -07:00
Christopher C. Wells 7bf95f97be Update example French translations. 2019-05-02 10:25:21 -07:00
Christopher C. Wells 185f52b01f Fix linting issues. 2019-04-18 19:55:55 -07:00
Christopher C. Wells 13a0424fc2 Add basic translation feature tests. 2019-04-18 19:52:17 -07:00
Christopher C. Wells 83b4edf95d Store and retrieve language in user Setting. 2019-04-16 21:41:55 -07:00
Christopher C. Wells ee82286da5 Add translatable strings support to formatted strings (WIP). 2019-04-14 14:42:58 -07:00
Christopher C. Wells c36451fc8e Add translateable strings support in babybuddy app. 2019-04-13 21:55:16 -07:00
Christopher C. Wells d52694e93e Set languages list manually. 2019-04-13 20:09:55 -07:00
Christopher C. Wells 0e4d80dab0 Add cookie-based language selection to user settings.
This will likely be refactored to use a database column instead of dropping a cookie.
2019-04-13 20:07:46 -07:00
Christopher C. Wells 8f0c2f3159 Add locale middleware. 2019-04-13 20:04:51 -07:00