Commit Graph

276 Commits

Author SHA1 Message Date
Christopher C. Wells efc613c637 Fix minor linting issues. 2019-02-02 19:17:25 -08:00
Christopher Charbonneau Wells 4b7bb69218 Add support for Django 2.1 and Django Filters 2.0.0. 2018-08-04 13:00:51 -07:00
Christopher Charbonneau Wells 08488af718 Raise permission denied instead of redirecting to login (#49). 2018-05-20 14:40:09 -07:00
Christopher Charbonneau Wells 7c980150a4 Make sure there is at least one Feeding object before attempting to preset the type for a new entry. 2018-04-07 06:35:35 -07:00
Christopher Charbonneau Wells cdaef446a0 Automatically fill in the type field for a new Feeding entry with the value used for the latest entry. 2018-03-13 19:49:21 -07:00
Christopher Charbonneau Wells b10944b030 Fix datetime picker class name for time form fields. 2018-03-13 19:17:30 -07:00
Christopher Charbonneau Wells 911cde4f95 Remove ounces references for feeding amounts. 2018-03-13 19:10:21 -07:00
Christopher Charbonneau Wells 5dc372281b Remove all unicode_literals imports. 2018-02-17 17:09:40 -05:00
Christopher Charbonneau Wells b972482cb1 Don't require color for solid diaper change entries. 2018-02-16 09:33:30 -05:00
Christopher Charbonneau Wells 5ad656060f Fix bug keeping datetime input open after losing focus. 2018-01-14 09:39:06 -05:00
Christopher Charbonneau Wells 2b279fd175 Remove timer start messages.
These are not needed as the Timer model, unlink other models, redirects to the newly added instance (instead of the instances list).
2017-12-25 11:55:12 -05:00
Christopher Charbonneau Wells f2a8cdec2d Update URL definitions to Django 2.0 style. 2017-12-13 18:12:32 -05:00
Christopher Charbonneau Wells ca2a5c6ee8 Use reverse/reverse_lazy instead of strings for core views URLs. 2017-12-06 17:16:47 -05:00
Christopher Charbonneau Wells b6516c6b48 Add status messages for core app views. 2017-12-06 16:58:19 -05:00
Christopher Charbonneau Wells d86c91aeab Update HTML id targets for namespace views. 2017-12-03 17:11:13 -05:00
Christopher Charbonneau Wells e92d3f361e Misc. Django 2.0 update changes. 2017-12-03 16:52:27 -05:00
Isaac Bythewood 969958df09 Move ALLOW_UPLOADS to BABY_BUDDY dict 2017-12-03 04:39:43 -05:00
Christopher Charbonneau Wells c0f17dd273 Reformat user menu and add external links to source and chat. 2017-11-30 11:34:07 -05:00
Christopher Charbonneau Wells 58c1cc4cbc
Merge pull request #20 from overshard/master
Make ALLOW_UPLOADS a setting dependent on user preference and platform
2017-11-19 08:40:27 -05:00
Isaac Bythewood f8d028563a Fix linting issue in admin with no space after comma. 2017-11-18 21:06:37 -05:00
Isaac Bythewood a503d346ae Make ALLOW_UPLOADS a setting dependent on user preference and platform 2017-11-18 20:59:51 -05:00
Christopher Charbonneau Wells b5d2a0b7f4 SASS linting fix. 2017-11-18 07:34:57 -05:00
Christopher Charbonneau Wells eff1320a5e Tweak Child list table styles. 2017-11-18 06:48:59 -05:00
Isaac Bythewood 7479cc932f Placeholder child list picture 2017-11-18 04:32:24 -05:00
Isaac Bythewood bf62a4e252 Add ability to upload picture of child with thumbnailing capabilities. 2017-11-18 04:22:12 -05:00
Christopher Charbonneau Wells 067be4bf07 Add weight tracking. 2017-11-09 21:15:09 -05:00
Christopher Charbonneau Wells f947d37285 Add default Child to Note add form. 2017-11-09 19:50:54 -05:00
Christopher Charbonneau Wells 162f117cef Move timeline code to core and integrate with Child detail view. 2017-11-07 13:15:48 -05:00
Christopher Charbonneau Wells 1c5278cebf Verify necessary fields before running model validation tests. 2017-11-07 07:07:51 -05:00
Christopher Charbonneau Wells e2733e6b1e Improve Dashboard view.
This commit adds a placeholder image for Child objects (in the future, hopefully, photo uploads will be added) and reworks the Dashboard view to look better when more than one child is in the database. There are also some minor tweaks to the Child detail view and one new Gulp requirement to improve the flow of copying static image assets from apps.
2017-11-06 16:24:21 -05:00
Christopher Charbonneau Wells 7955cd04a7 Fix linting error. 2017-11-05 15:02:22 -05:00
Christopher Charbonneau Wells e6acfe4e75 Add date intersection validation for models with start and end dates. 2017-11-05 14:18:30 -05:00
Christopher Charbonneau Wells 4037f97e72 Add a NapManager to Sleep model and use it on the naps card. 2017-11-04 13:09:27 -04:00
Christopher Charbonneau Wells f6dd38a891 Make "nap" bounds configurable with a 6AM - 6PM default. 2017-11-04 09:42:18 -04:00
Christopher Charbonneau Wells df5c3e98b9 Add core templatetags tests and update some docstrings. 2017-11-03 23:55:42 -04:00
Christopher Charbonneau Wells fe3e753d65 Update tests for new validators. 2017-11-03 23:29:55 -04:00
Christopher Charbonneau Wells 5343db5bbb Validate model time fields as being in the past. 2017-11-03 21:30:40 -04:00
Christopher Charbonneau Wells 2da699c042 Add filtering to existing list pages. 2017-11-03 07:02:35 -04:00
Christopher Charbonneau Wells 7b6c9fb3f3 Change generic ListViews to django-filter FilterViews.
This enables URL parameter-based filters, though there is no UI for filtering yet.
2017-11-02 06:39:32 -04:00
Christopher Charbonneau Wells 237796a644 Move form clean methods to models. 2017-11-01 16:14:42 -04:00
Bob Thomas 1eeba2398d Add validation for model durations
It was previously possible to accidentally enter obviously wrong values
for start/end dates. Add some basic validation to catch input errors
when creating or editing various models (when not using a timer).
2017-11-01 12:44:07 -04:00
Christopher Charbonneau Wells 40f8a511ba Adjust existing tests for form validation updates. 2017-10-31 21:01:21 -04:00
Christopher Charbonneau Wells 492bcddeb4 Add confirmation form for Child delete. 2017-10-31 20:49:10 -04:00
Christopher Charbonneau Wells c565bfc59a Add some model form validation for Diaper Change and Feeding. 2017-10-31 15:26:37 -04:00
Christopher Charbonneau Wells 8c274ce765 Add a type-to-confirm field for deleting a child. 2017-10-30 22:04:00 -04:00
Christopher Charbonneau Wells 0d7382407c Refactor some utils functions sligthly and add tests. 2017-10-30 20:45:46 -04:00
Christopher Charbonneau Wells e90e31cfd3 Add "Averages" dashboard card. 2017-10-30 14:26:49 -04:00
Christopher Charbonneau Wells 8168c74034 Check and update timer active state on update. 2017-10-29 15:47:26 -04:00
Christopher Charbonneau Wells 97dbf87e5b Refactor card templates and styling. 2017-10-28 23:01:39 -04:00
Christopher Charbonneau Wells 5afc55ca31 Make Timer instance.start field editable. 2017-10-28 13:27:33 -04:00
Christopher Charbonneau Wells 03dc139b0e Explicitly set Timer.duration to None on instance save when the instance is still running.
This has to be done because the Timer.from_db() method fills in duration against the current time when the instance is still active. This issue was introduced in fd960cd.
2017-10-28 12:43:43 -04:00
Christopher Charbonneau Wells fd960cd974 Refresh from DB during timer duration test to satisfy new class method duration calculation. 2017-10-27 22:36:26 -04:00
Christopher Charbonneau Wells c339062fba Use visibilityjs and momentjs to update a running timer when it's detail page becomes visible.
This commit is intended to improve the mobile experience by updating the timer detail page with the correct, current duration when, for example, a phone is unlocked after having been locked for a while with the timer detail page open.
2017-10-27 22:28:38 -04:00
Christopher Charbonneau Wells 6e936df1bc Use a from_db class method instead of a separate method to always provider a timer's current duration. 2017-10-27 21:33:26 -04:00
Christopher Charbonneau Wells 1221367f2a Adjust duration test assertions to use exact timedeltas.
This prevents failures when timedeltas include microseconds.
2017-10-25 12:01:43 -04:00
Christopher Charbonneau Wells 3c2df12314 Add core model tests. 2017-10-25 10:20:13 -04:00
Christopher Charbonneau Wells 05e9927d74 Remove unnecessary "duration_td" Tummy Time method. 2017-10-25 09:45:53 -04:00
Christopher Charbonneau Wells e3b0fc2468 Remove unused "since" model methods.
This "to string" functionality is and should be handled in templates.
2017-10-25 09:19:14 -04:00
Christopher Charbonneau Wells b393de90dc Simplify model string names. 2017-10-25 08:58:15 -04:00
Christopher Charbonneau Wells f23ea78cef Linting fixes. 2017-10-22 15:05:58 -04:00
Christopher Charbonneau Wells e45101b75c Rename project Baby Buddy. 2017-10-22 14:00:42 -04:00
Christopher Charbonneau Wells 2ca120b83f Add core forms tests. 2017-10-21 23:00:28 -04:00
Christopher Charbonneau Wells 646ffbf093 Add tests utilities and core views tests. 2017-10-21 22:14:44 -04:00
Christopher Charbonneau Wells 5f3cadd38b Implement breadcrumbs. 2017-10-20 16:07:53 -04:00
Christopher Charbonneau Wells 201283221c Add a Child detail view. 2017-10-20 15:23:26 -04:00
Christopher Charbonneau Wells 0038a34843 Prep for adding breadcrumbs (WIP). 2017-10-20 10:32:27 -04:00
Christopher Charbonneau Wells 117ee939cf Adjust timer font size for smallest target display (iPhone SE). 2017-10-11 13:59:32 -04:00
Christopher Charbonneau Wells 43edfddd82 Move "short" duration string function to graphs and exclude seconds. 2017-09-25 11:40:15 -04:00
Christopher Charbonneau Wells 98963572ba Use form classes to set appropriate field attributes in date/time fields.
Using a custom input element in the template caused issues with default values (e.g. when set by a timer).
2017-09-17 15:48:23 -04:00
Christopher Charbonneau Wells dad1ff73ca Add custom form field settings for datetime/date fields. 2017-09-17 14:54:50 -04:00
Christopher Charbonneau Wells a89a237b5c Use a generic form template for existing forms. 2017-09-17 09:00:34 -04:00
Christopher Charbonneau Wells 36847f0bd2 Default to current time for diaper change and end field entries. 2017-09-17 08:53:11 -04:00
Christopher Charbonneau Wells 3d88235eb9 Implement generic, app-specific "icon" style names over FA. 2017-09-15 12:29:56 -04:00
Christopher Charbonneau Wells c49b8d1930 Simplify core model names. 2017-09-15 11:55:30 -04:00
Christopher Charbonneau Wells f4d94a3ca0 Add a short string duration utility function. 2017-09-13 14:07:51 -04:00
Christopher Charbonneau Wells 10ff754e67 Add a paginator to all list views. 2017-09-10 17:02:57 -04:00
Christopher Charbonneau Wells 44dd4877a6 Re-order list displays and add a boolean formatter template tag. 2017-09-10 16:24:59 -04:00
Christopher Charbonneau Wells 115ef15c48 Fix timer add form to include user. 2017-09-10 09:50:16 -04:00
Christopher Charbonneau Wells 32da7873fa Add a timer edit flow. 2017-09-10 05:11:09 -04:00
Christopher Charbonneau Wells 476b7ece70 Add a timer form template. 2017-09-10 04:56:06 -04:00
Christopher Charbonneau Wells d29e47861d Only display active timers nav menu if active timers exist. 2017-09-10 04:42:37 -04:00
Christopher Charbonneau Wells 99dcb1e7ca Fixer Timer.stop method to respect custom end argument. 2017-09-09 13:00:13 -04:00
Christopher Charbonneau Wells c38290838b Add action buttons to timer detail page. 2017-09-09 12:57:31 -04:00
Christopher Charbonneau Wells a9bc52dfff Move timer_stop to a model method and add a restart method. 2017-09-09 12:47:41 -04:00
Christopher Charbonneau Wells 4def741d37 Display all timers to any user with view_timer access. 2017-09-09 11:57:58 -04:00
Christopher Charbonneau Wells 1ae44c408f Add timers list. 2017-09-09 11:54:34 -04:00
Christopher Charbonneau Wells b317c08504 Fix Tummy Time display fields. 2017-09-08 18:03:44 -04:00
Christopher Charbonneau Wells 9767315878 Add styling to stopped timers in detail page. 2017-09-08 14:39:01 -04:00
Christopher Charbonneau Wells 7f5a40ae41 Add ability to stop a timer (WIP).
This commit handles everything except including the timer in the timers list in the UI. This may require changing the model declaration to make the "active" field more complex or add another field.
2017-09-08 14:36:22 -04:00
Christopher Charbonneau Wells c3e5a0349e Include seconds in Tummy Time entry form fields. 2017-09-07 20:14:26 -04:00
Christopher Charbonneau Wells 9d0572ba92 Move duration methods in to utils for use elsewhere in the project. 2017-08-25 16:33:14 -04:00
Christopher Charbonneau Wells d11733442d Add a diaper change types over time report. 2017-08-24 14:54:01 -04:00
Christopher Charbonneau Wells eefa00bfd3 Add a very basic prototype dashboard for multiple children. 2017-08-24 13:09:56 -04:00
Christopher Charbonneau Wells 78ebc87265 Use static_src directories to prevent collisions with Django's collectstatic. 2017-08-24 07:54:47 -04:00
Christopher Charbonneau Wells 23acc006d4 Linting fixes. 2017-08-22 13:36:49 -04:00
Christopher Charbonneau Wells 2789234a92 Linting fixes. 2017-08-22 13:16:35 -04:00
Christopher Charbonneau Wells 7bffb41718 Fix all url declarations to specifying starts with (^). 2017-08-21 19:19:48 -04:00
Christopher Charbonneau Wells d659fc26e4 Account for duration days in timers. 2017-08-21 18:44:47 -04:00
Christopher Charbonneau Wells 347b1ff11b Make the timer display smaller on small devices. 2017-08-21 11:43:46 -04:00
Christopher Charbonneau Wells f3fc219980 Add hrefs to menu links so they work on mobile. 2017-08-21 09:55:06 -04:00
Christopher Charbonneau Wells f81f763cfb Refactor JS to use BabyBlotter as primary JS namespace. 2017-08-20 11:23:32 -04:00
Christopher Charbonneau Wells 78eb20ab91 Update the timer duration in real time on the timer detail page. 2017-08-20 11:09:40 -04:00
Christopher Charbonneau Wells 21e4af6f58 Move duration tools to a separate template tag collection. 2017-08-20 10:04:20 -04:00
Christopher Charbonneau Wells 6d73cb69f6 Convert duration_string to a template tag (WIP). 2017-08-19 16:46:50 -04:00
Christopher Charbonneau Wells c5fc35b177 Add an actual duration field to relevant models. 2017-08-19 16:16:42 -04:00
Christopher Charbonneau Wells 22fbdf2868 Remove ID from model list templates. 2017-08-19 15:00:29 -04:00
Christopher Charbonneau Wells f30ef88d1b Add dashboard link to child list. 2017-08-19 14:57:21 -04:00
Christopher Charbonneau Wells 3c22a79c4a Refresh migration file. 2017-08-18 14:59:13 -04:00
Christopher Charbonneau Wells 25fbf4c4d0 Add Tummy Time day activity card. 2017-08-18 14:58:10 -04:00
Christopher Charbonneau Wells e92050cb44 Add a Last Diaper Change card. 2017-08-18 11:00:58 -04:00
Christopher Charbonneau Wells 0ed0ae1a94 Add a "since" calculated field to existing models with time data. 2017-08-18 09:43:24 -04:00
Christopher Charbonneau Wells c908ae6e2b Refactor dashboard as a separate app. 2017-08-18 09:02:31 -04:00
Christopher Charbonneau Wells fe2b704d16 Add example "Last Feeding" dashboard card. 2017-08-18 08:49:15 -04:00
Christopher Charbonneau Wells b6ba6d440f Add Child dashboard logic. 2017-08-18 08:33:54 -04:00
Christopher Charbonneau Wells 5d4beea512 Add slug-based child URLs.
Also some beginnings of the dashboard system (WIP).
2017-08-18 08:17:45 -04:00
Christopher Charbonneau Wells 37f28c3ff7 Add slug field to Child. 2017-08-18 08:12:50 -04:00
Christopher Charbonneau Wells 8772f87d8a Squash migrations. 2017-08-18 01:57:07 -04:00
Christopher Charbonneau Wells f15894fac2 Float active timers to top. 2017-08-18 01:56:23 -04:00
Christopher Charbonneau Wells f08ec94e3c Stop timer on instance save instead of form load. 2017-08-18 01:53:48 -04:00
Christopher Charbonneau Wells 9ac8432ff8 Do not update Timer.start on save(). 2017-08-18 01:01:37 -04:00
Christopher Charbonneau Wells cf1598fe2c Add permissions check for timer detail view buttons. 2017-08-18 00:59:25 -04:00
Christopher Charbonneau Wells a51d9e4c83 Add timer delete functionality and move template back in to core. 2017-08-18 00:55:57 -04:00
Christopher Charbonneau Wells 8cb2c171f2 Redirect to timer detail view instead of "next" on timer quick create. 2017-08-18 00:48:26 -04:00
Christopher Charbonneau Wells 62a1142ad6 Add ability to create instances from timer detail view. 2017-08-18 00:42:37 -04:00
Christopher Charbonneau Wells 24d797db01 Add Timer detail template (WIP). 2017-08-17 23:45:56 -04:00
Christopher Charbonneau Wells b4eefea7f9 Recreate initial migration. 2017-08-17 23:14:16 -04:00
Christopher Charbonneau Wells 68bad13e93 Add navbar-based Timer dropdown. 2017-08-17 23:10:07 -04:00
Christopher Charbonneau Wells 0f73042bfa Change Timer string format and allow null name field. 2017-08-17 22:52:41 -04:00
Christopher Charbonneau Wells f474ccb8b9 Refactor overall template structure. 2017-08-17 21:33:08 -04:00
Christopher Charbonneau Wells 0c9b953ab4 Default Child foreign keys if only instance exists. 2017-08-17 20:59:55 -04:00
Christopher Charbonneau Wells ac2cc8ec5f Assign user field during Timer instance save. 2017-08-17 20:42:47 -04:00
Christopher Charbonneau Wells 1b015d4dde Add user association to Timer (WIP - adding timer broken) 2017-08-17 14:42:44 -04:00
Christopher Charbonneau Wells d89fa9df11 Add permissions checks to frontend. 2017-08-17 13:39:23 -04:00
Christopher Charbonneau Wells 3bbfd012f4 Add permissions handling to api and core views. 2017-08-17 13:18:14 -04:00
Christopher Charbonneau Wells 55a908f546 Fix URLs configuration to prevent namespace issues between api and core apps. 2017-08-17 12:17:51 -04:00
Christopher Charbonneau Wells 60226dd9c5 Update core migrations. 2017-08-17 11:23:40 -04:00
Christopher Charbonneau Wells 72b1f3e37b Add ability to create a Timer. 2017-08-16 21:57:01 -04:00
Christopher Charbonneau Wells 387535a200 Add UI for timers. 2017-08-16 21:03:09 -04:00
Christopher Charbonneau Wells 1185addace Add a short param to the duration_string for XhXmXs formatted durations. 2017-08-16 19:08:52 -04:00
Christopher Charbonneau Wells 463dd0c1d7 Add basic template tag for timers. 2017-08-16 18:53:53 -04:00
Christopher Charbonneau Wells 6b2de93736 Add Timer model.
This will used for creating timers in the app and (eventually) applying them to entries during create operations.
2017-08-16 18:33:02 -04:00
Christopher Charbonneau Wells 79472dcdbe Add an amount field to the Feeding model. 2017-08-16 18:07:25 -04:00
Christopher Charbonneau Wells 0c03e93a72 Update initial migration. 2017-08-16 15:53:00 -04:00
Christopher Charbonneau Wells 48f8c11408 Add date/time picker to other model fields. 2017-08-16 14:57:46 -04:00
Christopher Charbonneau Wells 0209314d0f Add Tempus Dominus date/time picker library and use for Baby birth date. 2017-08-16 14:17:27 -04:00
Christopher Charbonneau Wells 72818c5ec4 Use add_class widget to prevent overwrites of existing classes. 2017-08-16 14:01:13 -04:00
Christopher Charbonneau Wells 70df49c892 Add authentication and login handling for existing views. 2017-08-16 12:46:26 -04:00
Christopher Charbonneau Wells 9841eaa563 Add basic forms for remaining models. 2017-08-16 11:16:27 -04:00
Christopher Charbonneau Wells 6a88ff0ea7 Rename foreign key relationships on models from baby to child. 2017-08-16 10:29:53 -04:00
Christopher Charbonneau Wells 35723b28c3 Remove example search form. 2017-08-16 09:53:48 -04:00