new login_required decorator