예제 #1
0
파일: views.py 프로젝트: alejo8591/maker
def type_add(request, response_format="html"):
    "ContactType add"

    if not request.user.get_profile().is_admin("maker.identities"):
        return user_denied(
            request,
            message="You don't have administrator access to the Infrastructure module",
            response_format=response_format,
        )

    if request.POST:
        if not "cancel" in request.POST:
            contact_type = ContactType()
            form = ContactTypeForm(request.user.get_profile(), request.POST, instance=contact_type)
            if form.is_valid():
                contact_type = form.save(request)
                contact_type.set_user_from_request(request)
                return HttpResponseRedirect(reverse("identities_type_view", args=[contact_type.id]))
        else:
            return HttpResponseRedirect(reverse("identities_settings_view"))
    else:
        form = ContactTypeForm(request.user.get_profile())

    context = _get_default_context(request)
    context.update({"form": form})

    return render_to_response(
        "identities/contact_type_add",
        context,
        context_instance=RequestContext(request),
        response_format=response_format,
    )
예제 #2
0
파일: views.py 프로젝트: alejo8591/maker
def type_edit(request, type_id, response_format="html"):
    "ContactType edit"

    contact_type = get_object_or_404(ContactType, pk=type_id)
    if not request.user.get_profile().has_permission(contact_type, mode="w"):
        return user_denied(
            request, message="You don't have access to this Contact Type", response_format=response_format
        )
    identities = Object.filter_by_request(request, Contact.objects.filter(contact_type=contact_type).order_by("name"))

    if request.POST:
        if not "cancel" in request.POST:
            form = ContactTypeForm(request.user.get_profile(), request.POST, instance=contact_type)
            if form.is_valid():
                contact_type = form.save(request)
                return HttpResponseRedirect(reverse("identities_type_view", args=[contact_type.id]))
        else:
            return HttpResponseRedirect(reverse("identities_type_view", args=[contact_type.id]))
    else:
        form = ContactTypeForm(request.user.get_profile(), instance=contact_type)

    context = _get_default_context(request)
    context.update({"identities": identities, "form": form, "type": contact_type})

    return render_to_response(
        "identities/contact_type_edit",
        context,
        context_instance=RequestContext(request),
        response_format=response_format,
    )