Catch the Timeout exception when trying to contact the OpenID provider for the authentication redirect URI.
Modal window with empty header, empty body and cancel button.
Adding id to all the playlist buttons. It's useful for javascript selectors.
Changed the route for the playlist's save ation. More Restful.
Handling the save action in a draft way. Just capturing the playlist name using form model binding.
New Javascript functions for the modal window customization and for the Ajax call to the playlist's save action.
Removing all the contents from the current play list.
Remove the selected resource from the current play list when click on the a.remove.
Only show the a.remove when the user hovers the correspondent table data. Hide validation span when input is valid.
New Javascript functions for the click on the delete play list button. Show a confirmation window before the AJAX call. Send the id of the play list in the request URI. Don't delete if the current play list is the default.
Resolving ClassCastException: if the authentication user has a relationship with another user that is not an OAuth user, a ClassCastException is thrown when trying to cast the User to an OAuthUser. THE PRESENT IMPLEMENTATION IS A WORKAROUND NOT A SOLUTION. THIS IS NOT FINISHED AND DOESN'T RESOLVE ALL THE PROBLEMS.
New javascript function for the click on the load/update user's play lists. Controller is just returning a not implemented JSON formatted error message.
Using localized messages.
Few more localized messages.
New entity for the user's play lists. Using JPA composite key to create the primary key of the Playlist entity: id of the play list and user id.
Data mapper for the Playlist entity.
Wrapper class for the Playlist entity's operations.
Added a class to the empty item of the loaded playlists. It's better for javascript references.
Handle the interface changes correctly when a play list is saved or deleted: clean all the contents of the current play list and show the empty item if there's no more play lists to load after deletion; replace the default name of the current playlist with the saved play list's name and add it to the play lists to load.
Call the persist class to save the current playlist. Return http status 201 if operation was well executed meaning that a play list was successfully created.