<%@language = "javascript" %>

<!-- #include file="../scf/scaffolding.inc" -->
<!-- #include file="../api2/model_res_srtartikel_onrgoed.inc" -->

<%
var this_model = new model_res_srtartikel_onrgoed();

this_model.hook_pre_post = function(params, jsondata)
{
    var locatie_key = getFParamInt("locatiekey");
    var gebouw_key = getFParamInt("gebouwkey");
    var verdieping_key = getFParamInt("verdiepingkey");
    var ruimte_key = getFParamInt("ruimtekey");

    if (ruimte_key != -1)
    {   jsondata.alg_onrgoed_niveau = "R";
        jsondata.ruimtekey = ruimte_key;
    }
    else if (verdieping_key != -1 || gebouw_key != -1) // Als verdieping is geselecteerd, sla dan gebouw op: Niveau V wordt niet ondersteund.
    {   jsondata.alg_onrgoed_niveau = "G";
        jsondata.ruimtekey = gebouw_key;
    }
    else if (locatie_key != -1)
    {   jsondata.alg_onrgoed_niveau = "L";
        jsondata.ruimtekey = locatie_key;
    }
}

if (mode == "list")  // mode is een GLOBAL.
{
    var locatie_key = getQParamInt("locatiekey");
    var gebouw_key = getQParamInt("gebouwkey");
    var verdieping_key = getQParamInt("verdiepingkey");
    var ruimte_key = getQParamInt("ruimtekey");

    var onrgoed_key = -1;
    var niveau = "";
    if (ruimte_key > -1)
    {
        niveau = "ruimte";
        onrgoed_key = ruimte_key;
    }
    else if (verdieping_key > -1)
    {
        niveau = "verdieping";
        onrgoed_key = verdieping_key;
    }
    else if (gebouw_key > -1)
    {
        niveau = "gebouw";
        onrgoed_key = gebouw_key;
    }
    else if (locatie_key > -1)
    {
        niveau = "locatie";
        onrgoed_key = locatie_key;
    }

    if (niveau == "locatie") // alg_v_allonroerendgoed.alg_type=='L' is er niet
    {
        this_model.gparams.GET = {
            tables: ["alg_v_allonroerendgoed"],
            wheres: ["res_srtartikel_onrgoed.alg_onrgoed_key = alg_v_allonroerendgoed.alg_onroerendgoed_keys(+)",
                      "res_srtartikel_onrgoed.alg_onrgoed_niveau = alg_v_allonroerendgoed.alg_type(+)",
                      "alg_v_allonroerendgoed.alg_"+niveau+"_key(+) = " + onrgoed_key,
                      "(alg_v_allonroerendgoed.alg_"+niveau+"_key IS NOT NULL OR " +
                                "res_srtartikel_onrgoed.alg_onrgoed_niveau = 'L' AND res_srtartikel_onrgoed.alg_onrgoed_key = " + onrgoed_key + ")"
                    ]
       }
    }
    else if (niveau != "")
    {
        this_model.gparams.GET = {
            tables: ["alg_v_allonroerendgoed"],
            wheres: ["res_srtartikel_onrgoed.alg_onrgoed_key = alg_v_allonroerendgoed.alg_onroerendgoed_keys",
                      "res_srtartikel_onrgoed.alg_onrgoed_niveau = alg_v_allonroerendgoed.alg_type",
                      "alg_v_allonroerendgoed.alg_"+niveau+"_key = " + onrgoed_key
                    ]
       }
    }
}


scaffolding(this_model,
    {
        "search": {
            "autosearch": false,
            "filters": [
                "res_discipline_key",
                "ruimtekey"
            ]
        },
        "list": {
            "columns": [
                "id",
                "alg_onrgoed_niveau",
                "alg_onrgoed_key",
                "res_discipline_key",
                "ruimtekey"
            ]
        },
        "show": {
            "requires": {
                "js": ["./mgt_tools.js"]
            }
        },
        "edit": {
            "requires": {
                "js": ["./mgt_tools.js"]
            }
        }

    });


    function fill_og_niveau_LOV()
    {
        return  "L;"+L("lcl_location")
             + ";G;"+L("lcl_building")
             + ";R;"+L("lcl_room");
    }
%>
