Split take shift and login. if not logged in, show login dialog with new user button. When logged in or created user show take shift with just "take shift" button instead of username field. Administration can be done in django admin.
Forgot some template stuff