Feature #13244

Restrict log time for old days

Added by Pavel Potcheptsov over 7 years ago. Updated about 1 month ago.

Status:ReopenedStart date:
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:Time tracking
Target version:-
Resolution:Duplicate

Description

For example any user have to log his spent time today or tomorrow.
If he try to log time for period more than yesterday - it should be not possible.
There are kind of users that sometimes log their time for period weeks ago and this is bad.
Is there any suggestion how to prevent such things.

time_entry.patch Magnifier (460 Bytes) Pavel Potcheptsov, 2013-11-14 14:29

time_entry.diff Magnifier (1.42 KB) Pavel Potcheptsov, 2016-08-30 10:30

issue_13244.patch Magnifier (8.78 KB) Ashwin Date, 2019-11-27 08:43

issue_13244.patch Magnifier (8.78 KB) Ashwin Date, 2019-11-27 08:58


Related issues

Related to Redmine - Feature #3322: Setting to restrict spent times on future dates Closed 2009-05-08
Related to Redmine - Feature #28308: validation at date of spent time New
Duplicated by Redmine - Feature #31984: Permission to add timelogs in past Closed

History

#1 Updated by Jan Niggemann (redmine.org team member) over 7 years ago

We need it the other way round and have to be able to log time for weeks ago...
It would need to be configurable.

#2 Updated by Filou Centrinov over 7 years ago

+1 Good idea restricting log time. But I would restrict only for closed issues: #13596

#3 Updated by Filou Centrinov about 7 years ago

  • Related to Feature #13596: Allow time logging only for open issues added

#4 Updated by Pavel Potcheptsov almost 7 years ago

someone has been successful in this?

#5 Updated by Pavel Potcheptsov over 6 years ago

#6 Updated by Go MAEDA almost 4 years ago

  • Status changed from Resolved to New

#7 Updated by Go MAEDA almost 4 years ago

  • Duplicated by Defect #14840: Time logging shouldn't be possible for the future periods added

#8 Updated by Go MAEDA almost 4 years ago

  • Duplicated by Feature #3322: Setting to restrict spent times on future dates added

#9 Updated by Go MAEDA almost 4 years ago

  • Duplicated by deleted (Feature #3322: Setting to restrict spent times on future dates)

#10 Updated by Go MAEDA almost 4 years ago

  • Duplicates Feature #3322: Setting to restrict spent times on future dates added

#11 Updated by Go MAEDA almost 4 years ago

  • Duplicated by deleted (Defect #14840: Time logging shouldn't be possible for the future periods)

#12 Updated by Go MAEDA almost 4 years ago

  • Status changed from New to Closed
  • Resolution set to Duplicate

Closing as a duplicate of #3322.

#13 Updated by Toshi MARUYAMA almost 4 years ago

  • Related to deleted (Feature #13596: Allow time logging only for open issues)

#14 Updated by Toshi MARUYAMA almost 4 years ago

  • Related to Feature #13596: Allow time logging only for open issues added

#15 Updated by Toshi MARUYAMA almost 4 years ago

  • Related to deleted (Feature #13596: Allow time logging only for open issues)

#16 Updated by Pavel Potcheptsov almost 4 years ago

Last line in diff gives ability to restrict log time for specified number of days and exclude specific users from this restriction.

#17 Updated by Toshi MARUYAMA almost 4 years ago

Pavel Potcheptsov wrote:

Last line in diff gives ability to restrict log time for specified number of days and exclude specific users from this restriction.

I have noted at #3322#note-11 because this issue is closed as duplicate.

#18 Updated by Kirill Marchuk over 3 years ago

Why is this considered a duplicate ? This is a totally legitimate and self-standing use case: for some projects, I want to have a strict discipline in regards with spent time logging. So I want to be sure that the users on this project are allowed to log time ONLY for today AND X working days before (where X most probably equals to 1)

Does anyone know of a plugin that would allow for such functionality? Or might it be included in Redmine itself ?

#19 Updated by Pavel Potcheptsov over 3 years ago

  • Status changed from Closed to Reopened

Kirill Marchuk wrote:

Why is this considered a duplicate?

Agree.

Does anyone know of a plugin that would allow for such functionality? Or might it be included in Redmine itself ?

At least current patch allow this for all projects.
There might be some general system wide setting for this and dedicated per each project setting.

#20 Updated by Kirill Marchuk over 3 years ago

any chances this will be merged into redmine [soon] ?

#21 Updated by Kirill Marchuk over 3 years ago

hello, anyone ? does Redmine have a community ?

#22 Updated by Kirill Marchuk over 3 years ago

@Pavel, may be you can change "resolution" for this issue ?

#23 Updated by Pavel Potcheptsov over 3 years ago

No I can't.

#24 Updated by Kirill Marchuk about 3 years ago

is there anyone alive here ? why are patches ignored ? Man spent his time and effort into it, he deserves at least a reaction !!!

#25 Updated by Kirill Marchuk about 3 years ago

well, I've seen the patch finally ))

this is NOT something that's possible to merge into upstream. just a couple of hard-coded validation checks.

Proper implementation would require a per-project setting of:
  • is time logging restricted for this project at all
  • how many days in the past are allowed to log time on (0 is minimum, which means you can only log time on today)

if this sounds bad, please leave your comments

#26 Updated by Toshi MARUYAMA about 3 years ago

  • Duplicates deleted (Feature #3322: Setting to restrict spent times on future dates)

#27 Updated by Toshi MARUYAMA about 3 years ago

  • Related to Feature #3322: Setting to restrict spent times on future dates added

#28 Updated by Go MAEDA over 2 years ago

#29 Updated by Guillermo ML over 1 year ago

If anyone is interested a coworker made this plugin: https://github.com/cerxal/estatisticas
It does a lot of things, but it includes a field called Numero máximo de dias sin incurrir horas = Maximum number of days to log spent time so users can only log time X days ago, if you try to log X+1 days ago it will raise an error.
We are using it in 3.4.4 (also in 3.3.1). Don't know if it will work in other versions.
Maybe you can use part of the source code to do your own dedicate plugin.

#30 Updated by Pavel Potcheptsov over 1 year ago

Thanks you for information.
Do you know if there an option to exclude certain users from that restriction?

#31 Updated by Guillermo ML over 1 year ago

Pavel Potcheptsov wrote:

Do you know if there an option to exclude certain users from that restriction?

No, it applies to all users on all projects.

#32 Updated by Jan K. about 1 year ago

We would like to have this functionality as well. IO agree with Kirill and Pavel. Important feature.

We have the same problem In our use case. Users should log their time max 1-3 days back butthey do it just to fiil the time. I'd like to restrict it. If they do not log the time properly, they should have a problem which can solve only someone with higher privilegy.

#33 Updated by Mischa The Evil 12 months ago

  • Duplicated by Feature #31984: Permission to add timelogs in past added

#34 Updated by Aleksandar Pavic 11 months ago

+1 see my comments from #31984

#35 Updated by Ashwin Date 9 months ago

I have created a patch based on the master git branch for this feature. This patch allows

1. Global configuration in the "Time Tracking" tab in the settings that allows setting how many days in the past time logs can be added. Default is 999 days
2. Once the configuration is set, the date of the time log cannot be older than x days in the past. x is the value configured in the above setting.

Patch attached.

#36 Updated by Ashwin Date 9 months ago

Corrected spelling for "time logs"

#37 Updated by Mitrajit Samanta 3 months ago

Ashwin Date wrote:

Corrected spelling for "time logs"

Hi Aswin, please tell me how to use this patch in Redmine.

#38 Updated by Pavel Potcheptsov about 1 month ago

Ashwin Date wrote:

I have created a patch based on the master git branch for this feature.

Hi there.
Your path works great however I didn't make any changes in app/controllers/issues_controller.rb. Can you describe what is the purpose of that changes?

Do you know how to implement changes so that to add setting to choose users who is excluded from past time log restriction?

For now I have to use this line with hardcoded users IDs:

errors.add :spent_on, :invalid if \
(days_diff.to_i  > Setting.timelog_max_days_before.to_i) && \
([10,20,30,110].exclude? User.current.id)

Also available in: Atom PDF