def create_user(request, user_id): """Create a django user from a phone user.""" phone_user = get_object_or_404(PhoneUserInfo, id=user_id, phone__domain=request.user.selected_domain) if request.method == "POST": user_form = UserForm(request.POST) if user_form.is_valid(): if phone_user.user: # the user was already set raise Exception("Sorry, that user has already been created!") dummy_user = user_form.save(commit=False) phone_user.password = dummy_user.password django_user = get_django_user_object(phone_user) django_user.username = dummy_user.username django_user.save() request.user.selected_domain.add(django_user) phone_user.user = django_user phone_user.status = "site_edited" phone_user.save() return HttpResponseRedirect(reverse('single_user', kwargs={"user_id": phone_user.id})) else: django_user = get_django_user_object(phone_user) django_user.password = "******" user_form = UserForm(instance=django_user) return render_to_response(request, "phone/new_django_user_from_phone.html", {"phone_user": phone_user, "django_user": django_user, "user_form": user_form})
def link_user(request, user_id): """Link a phone to an existing django user.""" phone_user = get_object_or_404(PhoneUserInfo, id=user_id, phone__domain=request.user.selected_domain) if request.method == "POST": user_selection_form = UserSelectionForm(request.user.selected_domain, request.POST) if user_selection_form.is_valid(): user = user_selection_form.cleaned_data["user"] phone_user.user = user phone_user.status = "site_edited" phone_user.save() return HttpResponseRedirect(reverse('single_user', kwargs={"user_id": phone_user.id})) else: user_selection_form = UserSelectionForm(domain=request.user.selected_domain) return render_to_response(request, "phone/link_django_user_from_phone.html", {"phone_user": phone_user, "user_selection_form": user_selection_form })
def single_django_user(request, user_id): django_user = get_object_or_404(User, id=user_id, domain_membership__domain=request.user.selected_domain) return render_to_response(request, "phone/single_django_user.html", {"django_user": django_user})
def single_user(request, user_id): """Single phone user view""" phone_user = get_object_or_404(PhoneUserInfo, id=user_id, phone__domain=request.user.selected_domain) return render_to_response(request, "phone/single_phone_user.html", {"phone_user": phone_user})
def single_phone(request, phone_id): """Single phone view""" phone = get_object_or_404(Phone, id=phone_id, domain=request.user.selected_domain) return render_to_response(request, "phone/single_phone.html", {"phone": phone})
def index(request): """The root view, a list of phones and linked users""" phones = Phone.objects.filter(domain=request.user.selected_domain).select_related(depth=3) return render_to_response(request, "phone/phone_index.html", {"phones": phones})