Skip to content

Duplicate algorithm tag proposals from same user allowed #573

@segir187

Description

@segir187

Like the title states, it is possible (and quite easy) for a single user to propose the same tag for a given task multiple times.

This was not really an issue before, but now with the proposals being displayed to users and used for task filtering, this allows for "griefing" of the task proposal system with a user who completed a given task being able to suggest an incorrect algorithm tag so many times that it becomes displayed for all users and may make the tag proposal system untrustworthy long-term.

My proposed solution is to require for (task - tag - user) value trios in the AlgorithmTagProposal model to be unique. For consistency's sake, I believe that (task - user) value pairs for the DifficultyTagProposal should also be required to be unique, as it makes no sense for one user to be able to say the same task is both Easy and Hard.

This should not be a hard task and seems educational in terms of learning about Django models, so it seems suitable for a student at TAG 2025. It should only require simple modifications to these two models and the implementation of a data migration to remove existing duplicates from the database. In case of issues, I am happy to help.

Metadata

Metadata

Assignees

Labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions