Example #1
0
File: views.py Project: 5n1p/treeio
def perspective_edit(request, perspective_id, response_format='html'):
    "Perspective edit"
    perspective = get_object_or_404(Perspective, pk=perspective_id)
    # Don't let users delete their last perspective
    other_perspectives = Perspective.objects.filter(
        trash=False).exclude(id=perspective_id)
    admin_module = Module.objects.filter(name='treeio.core')[0]

    if request.POST:
        if not 'cancel' in request.POST:
            form = PerspectiveForm(
                request.user.get_profile(), request.POST, instance=perspective)
            if form.is_valid():
                perspective = form.save()
                modules = perspective.modules.all()
                if modules and not admin_module in modules:
                    if not other_perspectives.filter(Q(modules=admin_module) | Q(modules__isnull=True)):
                        perspective.modules.add(admin_module)
                        request.session['message'] = _(
                            "This is your only Perspective with Administration module. You would be locked out!")
                return HttpResponseRedirect(reverse('core_admin_perspective_view', args=[perspective.id]))
        else:
            return HttpResponseRedirect(reverse('core_admin_perspective_view', args=[perspective.id]))
    else:
        form = PerspectiveForm(
            request.user.get_profile(), instance=perspective)

    request.session.pop('message', '')

    return render_to_response('core/administration/perspective_edit',
                              {'perspective': perspective,
                               'form': form},
                              context_instance=RequestContext(request), response_format=response_format)
Example #2
0
def perspective_add(request, response_format='html'):
    "Perspective add"

    if request.POST:
        if not 'cancel' in request.POST:
            perspective = Perspective()
            form = PerspectiveForm(request.user.get_profile(),
                                   request.POST,
                                   instance=perspective)
            if form.is_valid():
                perspective = form.save()
                perspective.set_user_from_request(request)
                return HttpResponseRedirect(
                    reverse('core_admin_perspective_view',
                            args=[perspective.id]))
        else:
            return HttpResponseRedirect(
                reverse('core_admin_index_perspectives'))
    else:
        form = PerspectiveForm(request.user.get_profile())

    return render_to_response('core/administration/perspective_add',
                              {'form': form.as_ul()},
                              context_instance=RequestContext(request),
                              response_format=response_format)
Example #3
0
def perspective_add(request, response_format='html'):
    "Perspective add"
    
    if request.POST:
        if not 'cancel' in request.POST:
            perspective = Perspective()
            form = PerspectiveForm(request.user.get_profile(), request.POST, instance=perspective)
            if form.is_valid():
                perspective = form.save()
                perspective.set_user_from_request(request)
                return HttpResponseRedirect(reverse('core_admin_perspective_view', args=[perspective.id]))
        else:
            return HttpResponseRedirect(reverse('core_admin_index_perspectives'))
    else:
        form = PerspectiveForm(request.user.get_profile())
        
    return render_to_response('core/administration/perspective_add',
                              {'form': form.as_ul()},
                               context_instance=RequestContext(request), response_format=response_format)
Example #4
0
def perspective_edit(request, perspective_id, response_format='html'):
    "Perspective edit"
    perspective = get_object_or_404(Perspective, pk=perspective_id)
    # Don't let users delete their last perspective
    other_perspectives = Perspective.objects.filter(trash=False).exclude(
        id=perspective_id)
    admin_module = Module.objects.filter(name='treeio.core')[0]

    if request.POST:
        if not 'cancel' in request.POST:
            form = PerspectiveForm(request.user.get_profile(),
                                   request.POST,
                                   instance=perspective)
            if form.is_valid():
                perspective = form.save()
                modules = perspective.modules.all()
                if modules and not admin_module in modules:
                    if not other_perspectives.filter(
                            Q(modules=admin_module) | Q(modules__isnull=True)):
                        perspective.modules.add(admin_module)
                        request.session['message'] = _(
                            "This is your only Perspective with Administration module. You would be locked out!"
                        )
                return HttpResponseRedirect(
                    reverse('core_admin_perspective_view',
                            args=[perspective.id]))
        else:
            return HttpResponseRedirect(
                reverse('core_admin_perspective_view', args=[perspective.id]))
    else:
        form = PerspectiveForm(request.user.get_profile(),
                               instance=perspective)

    message = request.session.pop('message', '')

    return render_to_response('core/administration/perspective_edit', {
        'perspective': perspective,
        'form': form
    },
                              context_instance=RequestContext(request),
                              response_format=response_format)