Skip to content

Timesheet Plugin Plus

MichaelKling edited this page Jan 21, 2012 · 1 revision

Timesheet Plugin Plus

Goal of the Plugin

The Timesheet should feel more like the issue list in sense of filter, grouping and predefined queries.

Copying functionality of issue list:

  1. Filter like on issuelist

  2. Selection of displayed columns

  3. Grouping

  4. Selection of sorting

  5. Saving of queries

  6. Export according to settings

  7. Support of custom fields

Custom functionality:

  1. The use of custom filter should be restricted by user right. Only predefined queries can be used in case the user is not allowed to use filters. (Example: Special lists for clients)

  2. Super right: Overwrite right managemant - Users with this right can see every time entry, even if they are not allowed to.

  3. Queries need more granular right managemant (not private/public but depending on user rights)

  4. Default filter: The default filter should contain "my times"

Logic

General

The complete query system has to be copied and changed according to the new requirements. The look and feel should be the same like the Issue list.

  • Timelist

** Filter (Disable customisation by user right)

** Options (Columns and Grouping) (Disable customisation by user right)

** Right Sidebar selection of "Default Query", "My custom queries" and "Custom queries"

** Export function (Disable export by user right)

  • Creating New Query/Edit old query (Disable customisation by user right)

** Like original

** On selection of Public a list of user roles should be shown. Only users of this role are able to use that.

Queries

For determination what public queries can be used by a user all projects the user is involved in has to be selected and his user roles should be selected.

The query is shown in the right sidebar if at least in one project the user has the needed role.

If there are projects for a query, where the user dont has the necessary role, an asterix has to be shown on the query. On hover a text should be displayed:

"This query can not be run on all projects. Following projects can not be included: [Comma seperated list of projects the user is involved but has no rights to run the query on]"

If a query is selected which is not allowed for the user in all projects (which are queried) a warning should be displayed:

"This query did not run on all projects. Following projects can not be included: [Comma seperated list of projects the user is involved but has no rights to run the query on]".

Sure that the query should not run any queries on this projects.

If the user has the right "overwrite timelog rights" he should be allowed to see any time entries returning by the query. If not AND in some queried projects he is not allowed to see timelog entries

(timelog entries where hidden in the query) a warning should be shown:

"You where not allowed to view all time entries in the following projects: [Comma seperated list of projects the user is involved but has no rights to see time entries]".

Filters

The following filter with the following functions should be available:

  • User

** is/is not ,[List of Users who are involved in projects the logged in user is involved]/[All users if Overwrite Timelog right is selected]

** has role [List of user roles]

  • Activity

** is/is not [List of activities]

  • Project

** is/is not [List of projects the logged in user is involved]/[All projects if Overwrite Timelog right is selected]

** is subproject/is not subproject of [List of projects the logged in user is involved]/[All projects if Overwrite Timelog right is selected]

  • Hours

** Normal integer filter options

  • Date

** Normal date filter options

** Date from / to

** all, today, yesterday, current week, last week, last 7 days, current month, last month, last 30 days, current year

  • Issue

** Is related to issue/is not related to issue

  • Issue ID

  • Issue Priority

  • Issue Author

  • Issue Assignee

  • Issue Assignees role

  • Issue Tracker

  • Issue Status

  • Issue Target Version

  • Issue subject

  • Issue created

  • etc... all issue fields + custom fields

  • Custom fields and comment

** Normal filter options according their data type

Columns

All Fields+Custom fields + Issue fields should be selectable in the columns

Grouping

It should be possible to group after Project, Issue (Create empty group for time entries not related to issue), Activity and Users

Rights:

  • Timesheet - View Timesheet

  • Timesheet - Customize filter user

  • Timesheet - Customize filter project

  • Timesheet - Customize filter activity

  • Timesheet - Customize filter others

  • Timesheet - Customize columns

  • Timesheet - Customize grouping

  • Timesheet - Create queries

  • Timesheet - Create public queries

  • Timesheet - Overwrite Timelog right


Custom field support: https://github.com/edavis10/redmine-timesheet-plugin/pull/1

Clone this wiki locally