<% /* $Revision$ $Id$ File: model_floors.inc Description: floor model. Parameters: Context: Notes: Eerste opzet, (geaggregeerde) data als oppervlakte e.d. is voorstelbaar */ %> <% model_floors = { table: "alg_verdieping", primary: "alg_verdieping_key", records_name: "floors", record_name: "floor", fields: {"id" : { dbs: "alg_verdieping_key", typ: "key", filter: "exact" }, "name" : { dbs: "alg_verdieping_omschrijving", typ: "varchar"}, "code" : { dbs: "alg_verdieping_code", typ: "varchar", filter: "exact"}, "sequence": { dbs: "alg_verdieping_volgnr", typ: "number", filter: "exact"}, /* range zou ook kunnen */ "building": { dbs: "alg_gebouw_key", typ: "key", foreign: "alg_gebouw"} }, REST_GET: function _GET(params) { var urole = "fe"; // TODO: Moet echt niet ter zake doen var autfunction = urole == "fe"? "WEB_ALGUSE" : "WEB_ALGMAN"; params.authparams = user.checkAutorisation(autfunction, null, null, true); // pessimistisch var query = api2.sqlfields(params, model_floors); query.wheres.push("alg_verdieping_verwijder IS NULL"); if ( params.authparams.ALGreadlevel > -1 ) { // Er is een scope-beperking van kracht query.wheres.push("alg_verdieping_key IN " + "(SELECT alg_verdieping_key FROM fac_v_my_floors " + "WHERE prs_perslid_key="+user_key + " AND niveau=" + params.authparams.ALGreadlevel + ")"); } var wheres = api2.sqlfilter(params, model_floors) query.wheres = query.wheres.concat(wheres); var sql = "SELECT " + query.selects.join(", ") + " FROM " + query.tables.join(", ") + " WHERE " + query.wheres.join(" AND " ) + " ORDER BY alg_verdieping_omschrijving"; var json = api2.sql2json (params, sql, model_floors); return json; }, PUT: function (params) /* update floor */ { }, POST: function (params) /* new floor */ { }, DELETE: function (params, jsondata, the_key) /* delete floor */ { var autfunction = "WEB_ALGMAN"; // TODO: echte autorisatie params.authparams = user.checkAutorisation(autfunction, null, null, true); // pessimistisch if (params.authparams.ALGwritelevel) { var wheres = [" alg_verdieping_key = " + the_key]; var sql = "UPDATE alg_verdieping SET alg_verdieping_verwijder = SYSDATE " + " WHERE " + wheres.join(" AND " ) + " AND alg_verdieping_verwijder IS NULL"; // Pas als het safe is: Oracle.Execute(sql); } } } %>