Added update restrictions, added model tests, fixed the button by using POST