Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Get Reporting! #196

Open
NetizenAbel opened this issue Mar 7, 2020 · 4 comments
Open

Get Reporting! #196

NetizenAbel opened this issue Mar 7, 2020 · 4 comments
Assignees
Labels
enhancement New feature or request

Comments

@NetizenAbel
Copy link
Collaborator

Describe the issue
It seems to me that an app that handles schedule clocking - albeit with a slant toward going home on time - should be able to generate attractive and simple reports for whoever may wish to use something like this for employee clocking.

Expected behavior
Something akin to the Workday Waiver window could be used to display a report of hours for a selected time frame.

Environment

  • Node/npm version: 12 [1.4.0 should at least cut 8 & 9]
  • OS: All
  • TTL version: 1.4.1 [i.e., give attention after 1.4.0 is stabilized]

Screenshots
I'd love if somebody could mock this up. We've had some recent stylistic updates that should make all of this easier, and perhaps we will rethink current code as we use it for example as well.

Additional context
I do not think that we should use a report generator for this, because the report itself can be an extremely simple thing based on the calendar, and there are ways to export that into a usable report for varying formats. This should come as a sub-project, in my opinion.

@NetizenAbel NetizenAbel changed the title [improvement] [1.4.x] Get reports! [improvement] [1.4.x] Get Reporting! Mar 7, 2020
@tupaschoal
Copy link
Collaborator

I know that @thamara was working on something like this.

@thamara
Copy link
Owner

thamara commented Mar 9, 2020

Actually I was not. That was something I had on my mind (and even though we had an issue to track this), but no work was done so far.

@NetizenAbel
Copy link
Collaborator Author

Quite alright, I've got the time.

@thamara thamara changed the title [improvement] [1.4.x] Get Reporting! Get Reporting! Oct 28, 2020
@thamara thamara added the enhancement New feature or request label Oct 28, 2020
@thamara
Copy link
Owner

thamara commented Oct 19, 2021

Reporting seems to be a necessary and missing feature on TTL. To start the development of such a feature, I'm proposing the following:

image

The screenshot is just a high-level view, and improvements can be made to its appearance.
Ideally we should have different reports, for example: text, csv, xls/xlsx, pdf. But as a first milestone the focus can be on reporting to text, in a very simple way as shown in the image.

Also, notice that the format of the date can change. We may want something non-language dependent as YYYY-MM-DD, or even allow customizations on the report.

As a first milestone, the main tasks are:

  • Implement reporting algorithm (possibly under js directory)
  • Add tests to this new algorithm (under __tests__ folder). This step can be done earlier or later depending on the developer's workflow
  • Create a new Window for the report manager (as a reference, one might check the implementation of the workday-waiver.js)
  • Implement front end (the code here would look a lot like workday-waiver.html in terms of the form)
  • Use of the reporting algorithm in the newly created window

Points of attention:

  • We only care about the flexible database, not the fixed one (that is, const flexibleStore = new Store({name: 'flexible-store'});
  • We should also support reporting waivers (from the database const waivedWorkdays = new Store({name: 'waived-workdays'});)
  • On flexible entries, each day can have more than 4 entries (and the report should be able to handle this)

@thamara thamara self-assigned this Oct 19, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants