Esempio n. 1
0
File: views.py Progetto: OpenCSI/lbe
def addObjectInstance(request, lbeObject_id=None):
    lbeObject = LBEObjectTemplate.objects.get(id=lbeObject_id)
    form = None
    helper = LBEObjectInstanceHelper(LBEObjectTemplate.objects.get(id=lbeObject_id))
    # Get multiValue attributes: ('+' button)
    multivalue = []
    # get all attributInstance of ObjectTemplate:
    attributeInstance = LBEAttributeInstance.objects.filter(lbeObjectTemplate=lbeObject).order_by("position")
    for attribute in attributeInstance:
        # check if multivalue is checked (True):
        if attribute.multivalue:
            multivalue.append(attribute.lbeAttribute.name)
    if request.method == "POST":
        form = helper.form(lbeObject, request.POST)
        if form.is_valid():
            try:
                helper.createFromDict(request)
            except BaseException:
                messages.add_message(request, messages.ERROR, "Error when creating object.")
                return render_to_response(
                    "directory/default/object/add.html",
                    {"form": form, "lbeObjectId": lbeObject_id, "multivalue": multivalue},
                    context_instance=RequestContext(request),
                )
            try:
                helper.save()
            except BackendObjectAlreadyExist as e:
                messages.add_message(request, messages.ERROR, "Object already exists")
                return render_to_response(
                    "directory/default/object/add.html",
                    {"form": form, "lbeObjectId": lbeObject_id, "multivalue": multivalue},
                    context_instance=RequestContext(request),
                )
            except ValueError as e:
                messages.add_message(request, messages.ERROR, e)
                return render_to_response(
                    "directory/default/object/add.html",
                    {"form": form, "lbeObjectId": lbeObject_id, "multivalue": multivalue},
                    context_instance=RequestContext(request),
                )
                # Redirect to list
            return redirect("/")
        return render_to_response(
            "directory/default/object/add.html",
            {"form": form, "lbeObjectId": lbeObject_id, "multivalue": multivalue},
            context_instance=RequestContext(request),
        )
    form = helper.form(lbeObject)
    return render_to_response(
        "directory/default/object/add.html",
        {"form": form, "lbeObjectId": lbeObject_id, "multivalue": multivalue},
        context_instance=RequestContext(request),
    )
Esempio n. 2
0
File: views.py Progetto: OpenCSI/lbe
def manageObjectInstance(request, lbeObject_id, objectName, type):
    lbeObject = LBEObjectTemplate.objects.get(id=lbeObject_id)
    lbeAttribute = LBEAttributeInstance.objects.filter(lbeObjectTemplate=lbeObject)
    instanceHelper = LBEObjectInstanceHelper(lbeObject)
    # Get multiValue attributes: ('+' button)
    multivalue = []
    # get all attributInstance of ObjectTemplate:
    attributeInstance = LBEAttributeInstance.objects.filter(lbeObjectTemplate=lbeObject)
    for attribute in attributeInstance:
        # check if multivalue is checked (True):
        if attribute.multivalue:
            multivalue.append(attribute.lbeAttribute.name)
    if request.method == "POST":
        # Modify part:
        form = instanceHelper.form(objectName, request.POST)
        if form.is_valid():
            try:
                instanceHelper.updateFromDict(objectName, form.clean())
                instanceHelper.modify()
                messages.add_message(request, messages.SUCCESS, "Object saved")
            except ValueError as e:
                messages.add_message(request, messages.ERROR, e)
            except Exception as e:
                messages.add_message(request, messages.INFO, e)
    else:
        # Set values into form:
        form = instanceHelper.form(objectName)
    # Show part:
    return render_to_response(
        "directory/default/object/manage.html",
        {
            "form": form,
            "lbeObjectId": lbeObject_id,
            "lbeAttribute": lbeAttribute,
            "uid": objectName,
            "multivalue": multivalue,
            "status": instanceHelper.getStatus(objectName),
        },
        context_instance=RequestContext(request),
    )
Esempio n. 3
0
File: views.py Progetto: OpenCSI/lbe
def manageObjectInstance(request, lbeObject_id, objectName, type):
    lbeObject = LBEObjectTemplate.objects.get(id=lbeObject_id)
    lbeAttribute = LBEAttributeInstance.objects.filter(
        lbeObjectTemplate=lbeObject)
    instanceHelper = LBEObjectInstanceHelper(lbeObject)
    # Get multiValue attributes: ('+' button)
    multivalue = []
    # get all attributInstance of ObjectTemplate:
    attributeInstance = LBEAttributeInstance.objects.filter(
        lbeObjectTemplate=lbeObject)
    for attribute in attributeInstance:
        # check if multivalue is checked (True):
        if attribute.multivalue:
            multivalue.append(attribute.lbeAttribute.name)
    if request.method == 'POST':
        # Modify part:
        form = instanceHelper.form(objectName, request.POST)
        if form.is_valid():
            try:
                instanceHelper.updateFromDict(objectName, form.clean())
                instanceHelper.modify()
                messages.add_message(request, messages.SUCCESS, 'Object saved')
            except ValueError as e:
                messages.add_message(request, messages.ERROR, e)
            except Exception as e:
                messages.add_message(request, messages.INFO, e)
    else:
        # Set values into form:
        form = instanceHelper.form(objectName)
    # Show part:
    return render_to_response('directory/default/object/manage.html', {
        'form': form,
        'lbeObjectId': lbeObject_id,
        'lbeAttribute': lbeAttribute,
        'uid': objectName,
        'multivalue': multivalue,
        'status': instanceHelper.getStatus(objectName)
    },
                              context_instance=RequestContext(request))
Esempio n. 4
0
File: views.py Progetto: OpenCSI/lbe
def addObjectInstance(request, lbeObject_id=None):
    lbeObject = LBEObjectTemplate.objects.get(id=lbeObject_id)
    form = None
    helper = LBEObjectInstanceHelper(
        LBEObjectTemplate.objects.get(id=lbeObject_id))
    # Get multiValue attributes: ('+' button)
    multivalue = []
    # get all attributInstance of ObjectTemplate:
    attributeInstance = LBEAttributeInstance.objects.filter(
        lbeObjectTemplate=lbeObject).order_by('position')
    for attribute in attributeInstance:
        # check if multivalue is checked (True):
        if attribute.multivalue:
            multivalue.append(attribute.lbeAttribute.name)
    if request.method == 'POST':
        form = helper.form(lbeObject, request.POST)
        if form.is_valid():
            try:
                helper.createFromDict(request)
            except BaseException:
                messages.add_message(request, messages.ERROR,
                                     'Error when creating object.')
                return render_to_response(
                    'directory/default/object/add.html', {
                        'form': form,
                        'lbeObjectId': lbeObject_id,
                        'multivalue': multivalue
                    },
                    context_instance=RequestContext(request))
            try:
                helper.save()
            except BackendObjectAlreadyExist as e:
                messages.add_message(request, messages.ERROR,
                                     'Object already exists')
                return render_to_response(
                    'directory/default/object/add.html', {
                        'form': form,
                        'lbeObjectId': lbeObject_id,
                        'multivalue': multivalue
                    },
                    context_instance=RequestContext(request))
            except ValueError as e:
                messages.add_message(request, messages.ERROR, e)
                return render_to_response(
                    'directory/default/object/add.html', {
                        'form': form,
                        'lbeObjectId': lbeObject_id,
                        'multivalue': multivalue
                    },
                    context_instance=RequestContext(request))
                # Redirect to list
            return redirect('/')
        return render_to_response('directory/default/object/add.html', {
            'form': form,
            'lbeObjectId': lbeObject_id,
            'multivalue': multivalue
        },
                                  context_instance=RequestContext(request))
    form = helper.form(lbeObject)
    return render_to_response('directory/default/object/add.html', {
        'form': form,
        'lbeObjectId': lbeObject_id,
        'multivalue': multivalue
    },
                              context_instance=RequestContext(request))