$auth->assign if the user has yet the permission generates db exception

it generates a error about duplicate entry. To solve this I have to revoke the permission before and reassign it to the user, instead of do nothing!