FSN#33525 Sortering hidden kolommen werkend houden

svn path=/Website/trunk/; revision=26049
This commit is contained in:
Jos Groot Lipman
2015-08-24 11:40:02 +00:00
parent ca71714ed2
commit fd05eed7a4
10 changed files with 339 additions and 16 deletions

View File

@@ -288,7 +288,8 @@ api2_rest = {
{
case "api":
{
var xml_antwoord = api2_rest.json2xml(data, model, single);
//var xml_antwoord = api2_rest.json2xml(data, model, single);
var str_antwoord = JSON.stringify(data, null, getQParam("pretty","0")=="1"?2:0);
Response.ContentType = "application/json";
break;
}
@@ -447,7 +448,7 @@ api2_rest = {
{
if ("name" in record[fld] && "id" in record[fld])
{
elementField.setAttribute("name", fld);
elementField.setAttribute("name", record[fld].name);
elementField.setAttribute("id", record[fld].id);
}
else

View File

@@ -0,0 +1,94 @@
<% /*
$Revision$
$Id$
File: model_fac_usrdata.inc
Description: Vanuit CodeCharge gegenereerd model voor fac_usrdata
Context:
Notes:
*/
%>
<%
model_fac_usrdata =
{
"table": "fac_usrdata",
"primary": "fac_usrdata_key",
"records_name": "fac_usrdatas",
"record_name": "fac_usrdata",
"fields": {
"id": {
"dbs": "fac_usrdata_key",
"label": "Key",
"typ": "key",
"required": true,
"filter": "exact",
"seq": "fac_s_fac_usrdata_key"
},
"fac_usrtab_key": {
"dbs": "fac_usrtab_key",
"label": L("fac_usrtab_naam"),
"typ": "key",
"hidden_fld": true,
"required": true,
"LOVinit": ""
},
"name": {
"dbs": "fac_usrdata_code",
"label": L("fac_usrdata_code"),
"typ": "varchar",
"required": true
},
"description": {
"dbs": "fac_usrdata_omschr",
"label": L("fac_usrdata_omschr"),
"typ": "varchar"
},
"sequence": {
"dbs": "fac_usrdata_volgnr",
"label": L("fac_usrdata_volgnr"),
"typ": "number"
},
"fac_usrdata_prijs": {
"dbs": "fac_usrdata_prijs",
"label": L("fac_usrdata_prijs"),
"typ": "float"
},
"fac_usrdata_vervaldatum": {
"dbs": "fac_usrdata_vervaldatum",
"label": L("fac_usrdata_vervaldatum"),
"typ": "date"
},
"fac_usrdata_parentkey": {
"dbs": "fac_usrdata_parentkey",
"label": L("fac_usrdata_parentkey"),
"typ": "key",
"comment": "Pas op: lookupSQL is dynamisch: \"&koppel_waardeSql&\""
}
},
"list": {
"columns": [
"id",
"description",
"name",
"sequence",
"fac_usrdata_prijs",
"fac_usrdata_vervaldatum"
]
},
"search": {
"autosearch": true
},
"edit": {
modal: true
},
"soft_delete": "fac_usrdata_verwijder",
"autfunction": "WEB_PRSSYS",
"record_title": L("fac_usrdata"),
"records_title": L("fac_usrdata_m")
}
api2.generic_REST(model_fac_usrdata);
%>

View File

@@ -0,0 +1,105 @@
<% /*
$Revision$
$Id$
File: model_fac_usrtab.inc
Description: Vanuit CodeCharge gegenereerd model voor fac_usrtab
Context:
Notes:
*/
%>
<!-- #include file="./model_fac_usrdata.inc" -->
<%
model_fac_usrtab =
{
"table": "fac_usrtab",
"primary": "fac_usrtab_key",
"records_name": "fac_usrtabs",
"record_name": "fac_usrtab",
"fields": {
"id": {
"dbs": "fac_usrtab_key",
"label": "Key",
"typ": "key",
"required": true,
"filter": "exact",
"seq": "fac_s_fac_usrtab_key"
},
"name": {
"dbs": "fac_usrtab_naam",
"label": L("fac_usrtab_naam"),
"typ": "varchar",
"required": true
},
"description": {
"dbs": "fac_usrtab_omschrijving",
"label": L("fac_usrtab_omschrijving"),
"typ": "varchar",
"translate": true
},
"fac_usrtab_object": {
"dbs": "fac_usrtab_object",
"label": L("fac_usrtab_object"),
"typ": "varchar",
"hidden_fld": true
},
"fac_usrtab_parentkey": {
"dbs": "fac_usrtab_parentkey",
"label": L("fac_usrtab_parentkey"),
"typ": "key",
"foreign": {
"tbl": "(SELECT fac_usrtab_key, fac_usrtab_naam\n FROM fac_usrtab\n ORDER BY fac_usrtab_naam)",
"key": "fac_usrtab_key",
"desc": "fac_usrtab_naam"
},
"LOVinit": ""
},
"fac_functie_key": {
"dbs": "fac_functie_key",
"label": L("lcl_mgt_aut_group"),
"typ": "key",
"foreign": {
"tbl": "FAC_FUNCTIE",
"key": "FAC_FUNCTIE_KEY",
"desc": "FAC_FUNCTIE_OMSCHRIJVING"
},
"filter": "exact"
}
},
"list": {
"columns": [
"id",
"name",
"description"
]
},
"search": {
"autosearch": true,
"filters": ["fac_functie_key"]
},
"soft_delete": "fac_usrtab_verwijder",
"autfunction": "WEB_PRSSYS",
"record_title": L("fac_usrtab"),
"records_title": L("fac_usrtab_m"),
"show": {},
"includes": {
"fac_usrdatas": {
"model": model_fac_usrdata,
"joinfield": "fac_usrtab_key",
"enable_update": true
}
},
"hook_pre_edit": function (obj, fld)
{
fld.fac_usrtab_parentkey.foreign.tbl = "(SELECT fac_usrtab_key, fac_usrtab_naam\n FROM fac_usrtab\n"
+ (obj.id ? " WHERE fac_usrtab_key <> " + obj.id : "")
+ " ORDER BY fac_usrtab_naam)";
}
}
api2.generic_REST(model_fac_usrtab);
%>

View File

@@ -13,7 +13,7 @@
heb je de info daarvan er eigenlijk altijd ook wel bij nodig
*/
%>
<!-- #include file="./model_issuedisciplines.inc" -->
<!-- #include file="./model_mld_discipline.inc" -->
<%
function model_issuetypes(stdm_key, params)
{

View File

@@ -0,0 +1,94 @@
<% /*
$Revision$
$Id$
File: model_mld_disc_params.inc
Description:
Context:
Notes: *uitsluitend* gebruikt als include van model_mld_discipline
*/
%>
<%
model_mld_disc_params =
{
"table": "mld_disc_params",
"primary": "mld_disc_params_key",
"records_name": "mld_disc_params",
"record_name": "mld_disc_params",
"fields": {
"id": {
"dbs": "mld_disc_params_key",
"label": "Key",
"typ": "key",
"seq": "res_s_mld_disc_params_key"
},
"mld_ins_discipline_key": {
"dbs": "mld_ins_discipline_key",
"label": "Foreign key",
"typ": "key",
"hidden_fld": true
},
"mld_disc_params_preposttime": {
"dbs": "mld_disc_params_preposttime",
"label": L("res_catalogus_preposttime"),
"typ": "float",
"defaultvalue": 0,
required: true
},
"mld_disc_params_notify": {
"dbs": "mld_disc_params_notify",
"label": L("res_catalogus_notify"),
"typ": "check"
},
"mld_disc_params_kosten": {
"dbs": "mld_disc_params_kosten",
"label": L("res_catalogus_kosten"),
"defaultvalue": 100,
"typ": "number"
},
"mld_disc_params_noti_dagen": {
"dbs": "mld_disc_params_noti_dagen",
"label": L("res_catalogus_noti_dagen"),
"typ": "number"
},
"mld_disc_params_expire_dagen": {
"dbs": "mld_disc_params_expire_dagen",
"label": L("res_catalogus_expire_dagen"),
"typ": "number",
"defaultvalue": 1,
"required": true
},
"mld_disc_params_expire_tijd": {
"dbs": "mld_disc_params_expire_tijd",
"label": L("res_catalogus_expire_tijd"),
"typ": "float",
"LOV": api2.getTimetable() // TODO timepicker?
},
"mld_disc_params_cancel_dagen": {
"dbs": "mld_disc_params_cancel_dagen",
"label": L("res_catalogus_cancel_dagen"),
"typ": "number"
},
"mld_disc_params_remoteurl": {
"dbs": "mld_disc_params_remoteurl",
"label": L("res_catalogus_remoteurl"),
"typ": "varchar"
},
"mld_disc_params_maxduur": {
"dbs": "mld_disc_params_maxduur",
"label": L("res_catalogus_maxduur"),
"typ": "number",
"defaultvalue": 0,
"required": true
}
},
"autfunction": "WEB_PRSSYS"
}
api2.generic_REST(model_mld_disc_params);
%>

View File

@@ -2,7 +2,7 @@
$Revision$
$Id$
File: model_issuedisciplines.inc
File: model_mld_discipline.inc
Description: Vanuit CodeCharge gegenereerd model voor mld_discipline
@@ -11,9 +11,27 @@
Notes: TODO: De mld_disc_params er ook bij natuurlijk
*/
%>
<!-- #include file="model_mld_disc_params.inc" -->
<%
function model_mld_discipline(disc_key, params)
{
// Eén model voor de buitenwereld
api2.merge_disc_params_model(this, _model_mld_discipline);
model_issuedisciplines =
this.REST_GET = generic_REST_GET(_model_mld_discipline, // Let op: de originele _model_res_discipline
{ "GET": {
wheres: [ "ins_tab_discipline.ins_discipline_module = 'MLD'"
]
}
}
)
this.REST_POST = generic_REST_POST(_model_mld_discipline);
this.REST_PUT = generic_REST_PUT(_model_mld_discipline);
this.REST_DELETE = generic_REST_DELETE(this, {});
}
_model_mld_discipline = // Internal only
{
"table": "ins_tab_discipline",
"primary": "ins_discipline_key",
@@ -43,7 +61,7 @@ model_issuedisciplines =
"name": {
"dbs": "ins_discipline_omschrijving",
"label": L("ins_discipline_omschrijving"),
"typ": "memo",
"typ": "varchar",
"translate": true
},
"costtype": {
@@ -54,8 +72,7 @@ model_issuedisciplines =
"tbl": "PRS_KOSTENSOORT",
"key": "PRS_KOSTENSOORT_KEY",
"desc": "PRS_KOSTENSOORT_OMS"
},
"LOVinit": ""
}
},
"ins_discipline_kpnverplicht": {
"dbs": "ins_discipline_kpnverplicht",
@@ -65,12 +82,15 @@ model_issuedisciplines =
"ins_discipline_module": {
"dbs": "ins_discipline_module",
"label": L("ins_discipline_module"),
"typ": "memo"
"typ": "varchar",
required: true,
defaultvalue: "RES",
"hidden_fld": true
},
"ins_discipline_email": {
"dbs": "ins_discipline_email",
"label": L("ins_discipline_email"),
"typ": "memo"
"typ": "varchar"
},
"ins_discipline_ktopercentage": {
"dbs": "ins_discipline_ktopercentage",
@@ -83,6 +103,10 @@ model_issuedisciplines =
"typ": "number"
}
},
"disc_params": { model: model_mld_disc_params,
joinfield: "mld_ins_discipline_key"
},
"soft_delete": "ins_discipline_verwijder",
"list": {
"columns": [
"id",
@@ -100,8 +124,6 @@ model_issuedisciplines =
"records_title": L("ins_tab_discipline_m")
}
api2.generic_REST(model_issuedisciplines, { GET: { wheres: [ " ins_discipline_module = 'MLD'" ] } });
/*
FACXSL_LCL('ins_srtdiscipline_key', 'Vakgroeptype', 'Discipline type', 'Innendiensttyp', 'Type de groupe de service')
FACXSL_LCL('ins_discipline_omschrijving', 'Omschrijving', 'Description', 'Umschreibung', 'Description')

View File

@@ -123,6 +123,7 @@ function model_notes(module)
]
};
// TODO: REST_GET niet (rechtstreeks) toestaan?
this.REST_GET = function _GET(params)
{
var query = api2.sqlfields(params, this );

View File

@@ -59,8 +59,14 @@ function model_reports_template()
}
// Bouw het fields object opnieuw op in de volgorde van params.columns. Goed voor sorteren later.
// TODO: Blijft dat goed gaan met hide_f sorteer velden?
var newfields = {};
for (var fld in this.fields) // Zorg dat leading hide_f sorteer velden altijd vooraan blijven?
{
if (!this.fields[fld].hidden)
break;
newfields[fld] = this.fields[fld];
delete this.fields[fld];
}
for (var i=0; i < params.columns.length; i++)
{
var fld = params.columns[i];

View File

@@ -209,7 +209,7 @@ function scaffolding_search(model, scf_params)
Response.Write("<thead><tr><th><input id='chkall' type='checkbox'>" + L("lcl_rap_visible") + "</th></tr></thead>");
// Bouw het fields object opnieuw op in de volgorde van params.columns. Goed voor sorteren later.
// TODO: Blijft dat goed gaan met hide_f sorteer velden?
// Sortering van hide_f sorteer velden lossen we in model_reports wel op.
var newfields = {};
for (var i=0; i < scf_params.list.columns.length; i++)
{
@@ -230,7 +230,7 @@ function scaffolding_search(model, scf_params)
if (field.hidden || field.typ=="label") // Hidden kun je ook niet aanzetten, en labels idem.
continue;
var on = inArray(fld, scf_params.list.columns);
Response.Write("<tr id='" + fld + "'><td><label><input type='checkbox'" + (on?" checked='1'":"") + ">"
Response.Write("\n<tr id='" + fld + "'><td><label><input type='checkbox'" + (on?" checked='1'":"") + ">"
+ safe.html(field.label || ("<"+field.dbs+">")) + "</label></td>");
if (model.list && model.list.canGroup && field.typ != "varchar" && field.typ != "html" && !field.dbs.match(/_key$/i))
{
@@ -249,7 +249,7 @@ function scaffolding_search(model, scf_params)
if (model.list.canGroup && (model.list.autoCount & 1) == 1)
{
var on = (model.list.autoCount & 2) == 2;
Response.Write("<tr id='scf_count'><td><label><input type='checkbox'" + (on?" checked='1'":"") + ">"
Response.Write("\n<tr id='scf_count'><td><label><input type='checkbox'" + (on?" checked='1'":"") + ">"
+ L("lcl_count") + "</label></td></tr>");
}
if ((model.list.autoPivot & 1) == 1)