Project

General

Profile

bug #18

Recurring issue does not inherit all settings from original

Added by sola 3 months ago. Updated 2 days ago.

Status:
in progress
Priority:
urgent
Assignee:
Target version:
Redmine version:
3.4.x

Description

Thank you for your great work.

I've discovered that e.g. Parent task is not inherited/copied to the new task.

Tasks:
  • keep parent Issue reference on new recurrence of base issue and its subtasks
  • add tests to check that attributes are
    • copied for: parent, custom fields, priority
    • reset for: done_ratio, time_entries, status
  • root attribute should be left intact; it is part of Redmine IssueNestedSet implementation and is automatically maintained based on Issue's parent attribute

Token votes

History

#1 Updated by cryptogopher 3 months ago

  • Status changed from new to feedback
  • Priority changed from normal to urgent

Hello sola,

Thank you for reporting! Before I start investigating:

I've discovered that e.g. Parent task is not inherited/copied to the new task.

Did you notice any other Issue attributes not copied into new recurrence, that you would like to include as well?

Generally new recurrence is created by invoking Redmine's copy() method on Issue. Some attributes are copied by default. All others have to be assigned explicitly afterwards.

I think it's reasonable to copy parent issue info. Can you think of any scenario where it may not be appropriate (because then it would be better to set is as an option, just like for copying subtasks)?

#2 Updated by sola 3 months ago

Hello,
We just started using the recurring plugin - so we don't have much experience yet.

I think that attributes like:
  • % done
  • Spent time
    Should not be copied into new recurrence.
    Those attributes are specific to the new recurrence.

All others that are "fundamental" attributes/metadata like Custom fields, Priority and so on should be copied to new recurrence.

I do not know how this is achieved most easily.
Are attributes/metadata flagged somehow in Redmine system?

#3 Updated by cryptogopher 3 months ago

  • Description updated (diff)
  • Status changed from feedback to in progress

sola wrote:

I think that attributes like:
  • % done
  • Spent time
    Should not be copied into new recurrence.
    Those attributes are specific to the new recurrence.
  • done_ratio (% done) is zeroed on new recurrence
  • time_entries (spent time) is stored separately from Issue, in time_entries table and entries seem to not be copied - need further check

All others that are "fundamental" attributes/metadata like Custom fields, Priority and so on should be copied to new recurrence.

  • custom fields and priority are copied
  • actually meaningful fields that are not copied include: parent, status and root (which meaning I need to understand yet)

I do not know how this is achieved most easily.
Are attributes/metadata flagged somehow in Redmine system?

Issue attributes that are menaingful to users are stored in 2 ways:
  • some of them are attributes of Issue model/table
  • others are stored in separate models/tables and point to the issue they are connected with (e.g. time_entries table which logs entries with spent time)

So generally all attributes need to be checked on a ony-by-one basis, no general rule here.

I'm updating description of the issue to reflect goals and findings.

#4 Updated by cryptogopher 2 days ago

  • Description updated (diff)
  • Target version set to unspecified

Also available in: Atom PDF