Implement task reopening functionality for task authors

Description

Currently, once a task is marked as "Done", there's no way to reopen it if additional work is required. This feature will allow task authors to reopen tasks by changing the status from "Done" to "Open", while preventing non-authors from doing the same.

This functionality is important for our workflow as it allows authors to indicate when a task requires additional work after review without creating duplicate tasks.

User Story

As the task author, I want to re-open a task by marking it as "open" so that the team knows additional work is still required after review

BDD Scenario Titles

  • Author reopen the task
  • Non-author attempts to reopen the task

Acceptance Criteria

  • Task authors can change the status of a "Done" task to "Open"
  • When a task is reopened, the modification date is updated
  • Non-authors are prevented from reopening tasks
  • An appropriate error message is displayed when non-authors attempt to reopen tasks
  • The UI clearly indicates which tasks can be reopened by the current user

Technical Implementation Notes

  • Add permission check in the TaskController to verify if the current user is the author before allowing status change
  • Update the TaskService to handle the reopening logic
  • Modify the frontend to show/hide reopen options based on user permissions
  • Ensure proper error handling and user feedback

Definition of Done

  • Code implements all acceptance criteria
  • Unit tests cover both successful reopening and permission denial scenarios
  • Integration tests verify the end-to-end functionality
  • Code passes all linting and static analysis checks
  • Documentation is updated to reflect the new functionality
  • UI/UX review confirms the feature is intuitive for users
  • Code has been reviewed and approved by at least one team member
Assignee Loading
Time tracking Loading