Stopping Duplicate things in a database


I am trying to create an app to display a list of books and their corresponding edition dates. I have it set up so that the admin creates the list of books and the user then selects which are relevant to them to view on their list.

The data base is setup such that there is a group of all publications - then as a user adds publications to their database they display on a list visible to them. What is happening is when they select the publications from the searchbox… they can select the same publication multiple times… which then makes their list show the same book over and over.

I would like to make it so that if they selected the book already, they are unable to add it to their list (as its already there).

Any help with this would be HUGE!!

Filtering the searchbox seems like the obvious solution but the searchbox’s data source filtering is quite limited so here’s my suggestion:

When a selection is made from the searchbox, you should have 2 workflows.

Workflow #1: If the searchbox’s publication has NOT been selected by the current user, add it to the current user’s list.

Workflow #2: If the searchbox’s publication has been selected by the current user, show a popup or message that indicates that it’s already been selected by the current user.

Make sense?