Skip to content

Conversation

@rlyders
Copy link
Contributor

@rlyders rlyders commented May 25, 2020

Hi Kenton,
I've added a new feature to export a JSON file for uploading to an invoicing, time-keeping or accounting system.

The user simply selects "Export > Options> Timesheet Export" to export a JSON file like the one shown below. This JSON file export uses much of the same existing export functionality, but with different data processing/grouping logic to create a weekly timesheet.

For this weekly timesheet export file option, the notes are grouped by project and workType with a total time appended to each note. The hours are totaled per day for each project and workType. Currently it only creates one timesheet with a week-ending of the first Sunday after the start date set by the user in the export filters.

As with the other pull requests, if you find that this feature needs to be generalized or improved before including this in your project, please let me know. I am open to making adjustments as I can make time.

Sample exported Timesheet JSON file: https://github.com/rlyders/timecop/blob/039d6eb4c7b639285d6b9da7f9b5306a8e3ab73f/doc/Time%20Cop%20TimeSheet%20(Mon%2C%20May%2025%2C%202020%2016_22_52%20%5BFrom%20Mon%2C%20May%2018%2C%202020%5D).json

rlyders added 13 commits May 24, 2020 08:50
…able', has no unnamed constructor that takes no arguments.

fix: flutter_datetime_picker: ^1.3.8 # fixed: Error: The superclass, 'Diagnosticable', has no unnamed constructor that takes no
fix: shared_preferences: ^0.5.7+3 # fixed: [deprecation] getFlutterEngine() in FlutterPluginBinding has been deprecated
…er Start Date to Monday") to default the following filters to the latest Monday: dashboard filter, report filter, export filter
…tive Timers") to control whether multiple timers are allowed to run at the same time or not
…table (e.g.: dev(elopment), test(ing), dep(loyment)); added db vers # 2; upgrade db when version # changes

feat: added new setting defaultWorkTypeID: this determines the default work type to be given to a new timer
feat: added new setting displayProjectNameInTimer: this controls whether the project name (along with work type) are shown in each timer row (running timer, stopped timer, grouped stop timers)
…hboard showing timers with work-type badges applied
@rlyders rlyders marked this pull request as draft May 25, 2020 22:06
@rlyders rlyders marked this pull request as ready for review May 25, 2020 22:06
…the JSON array

fix: corrected the endOfWeek timesheet date format to yyyy-MM-dd for natural parsing via JSON
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant