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