FSN#33766 Nieuwe facmgt-->codecharge schermen

svn path=/Website/trunk/; revision=26453
This commit is contained in:
Erik Groener
2015-09-23 13:17:40 +00:00
parent 10baec9707
commit b93cdc0e4e
16 changed files with 327 additions and 32 deletions

View File

@@ -74,7 +74,7 @@ function model_res_artikel()
"res_artikel_prijs_vast": {
"dbs": "res_artikel_prijs_vast",
"label": L("res_artikel_prijs_vast"),
"typ": "check"
"typ": "check0"
},
"res_artikel_inkoopprijs": {
"dbs": "res_artikel_inkoopprijs",

View File

@@ -41,13 +41,33 @@ function model_res_deel()
"desc": "ins_deel_omschrijving"
},
"filter": "exact"
},
"name": {
"dbs": "res_deel_omschrijving",
"label": L("res_deel_omschrijving"),
"typ": "varchar",
"translate": true,
"required": true
"required": true,
"filter": "like"
},
"res_discipline_key": {
"dbs": "res_discipline_key",
"label": L("res_discipline_key"),
"typ": "key",
"required": true,
"foreign": {
"tbl": "(select ins_discipline_key, ins_discipline_omschrijving"
+ " from ins_tab_discipline"
+ " where ins_discipline_module = 'RES'"
+ " and ins_discipline_min_level = 1"
+ " and ins_discipline_verwijder is null"
+ " order by ins_discipline_omschrijving asc)",
"key": "ins_discipline_key",
"desc": "ins_discipline_omschrijving"
},
"filter": "exact",
"LOVinit": ""
},
"res_deel_eenheid": {
"dbs": "res_deel_eenheid",
@@ -68,27 +88,9 @@ function model_res_deel()
"res_deel_alg_level": {
"dbs": "res_deel_alg_level",
"label": L("res_deel_alg_level"),
"typ": "key",
"required": true,
"LOV": L("res_deel_alg_levelLOV")
},
"res_discipline_key": {
"dbs": "res_discipline_key",
"label": L("res_discipline_key"),
"typ": "key",
"required": true,
"foreign": {
"tbl": "(select ins_discipline_key, ins_discipline_omschrijving"
+ " from ins_tab_discipline"
+ " where ins_discipline_module = 'RES'"
+ " and ins_discipline_min_level = 1"
+ " and ins_discipline_verwijder is null"
+ " order by ins_discipline_omschrijving asc)",
"key": "ins_discipline_key",
"desc": "ins_discipline_omschrijving"
},
"filter": "exact",
"LOVinit": ""
"typ": "number",
"LOV": L("res_deel_alg_levelLOV"),
"emptyoption": null
},
"res_deel_beschikbaar_bits": {
"dbs": "res_deel_beschikbaar_bits",
@@ -131,7 +133,9 @@ function model_res_deel()
};
this.search = {
"autosearch": true,
"filters": ["res_discipline_key"]
"filters": [
"res_discipline_key",
"name"]
};
this.soft_delete = "res_deel_verwijder";

View File

@@ -66,7 +66,7 @@ model_res_disc_params =
"label": L("res_catalogus_expire_tijd"),
"typ": "float",
"LOV": api2.getTimetable(), // TODO timepicker?
"LOVinit": ""
"emptyoption": L("res_artikel_standaard")
},
"res_disc_params_cancel_dagen": {
"dbs": "res_disc_params_cancel_dagen",

View File

@@ -69,6 +69,7 @@ _model_res_discipline = // Internal only
"dbs": "ins_discipline_omschrijving",
"label": L("ins_discipline_omschrijving"),
"typ": "varchar",
"filter": "like",
"translate": true,
"required": true
},
@@ -124,7 +125,9 @@ _model_res_discipline = // Internal only
"autosearch": true,
"filters": [
"ins_discipline_min_level",
"costtype"]
"costtype",
"name"
]
},
"autfunction": "WEB_PRSSYS",
"record_title": L("res_v_res_catalogus"),

View File

@@ -70,14 +70,16 @@ function model_res_kenmerk()
"dbs": "res_kenmerk_verplicht",
"label": L("res_kenmerk_verplicht"),
"typ": "key",
"LOV": buildVerplichtingList()
"LOV": buildVerplichtingList(),
"emptyoption": null
},
"res_kenmerk_groep": {
"dbs": "res_kenmerk_groep",
"label": L("res_kenmerk_groep"),
"typ": "key",
"required": true,
"LOV": buildGroepsverplichtingList()
"LOV": buildGroepsverplichtingList(),
"emptyoption": null
},
"res_kenmerk_toonbaar": {
"dbs": "res_kenmerk_toonbaar",

View File

@@ -45,6 +45,7 @@ function model_res_srtactiviteit()
"dbs": "res_srtactiviteit_soort",
"label": L("res_srtactiviteit_soort"),
"typ": "key",
"required": true,
"LOV": L("res_srtactiviteit_soortLOV")
},
"res_srtactiviteit_opmerking": {
@@ -57,12 +58,14 @@ function model_res_srtactiviteit()
"dbs": "res_srtactiviteit_kpnverplicht",
"label": L("res_srtactiviteit_kpnverplicht"),
"typ": "key",
"required": true,
"LOV": L("res_srtactiviteit_kpnverplichtLOV")
},
"res_srtactiviteit_anonym": {
"dbs": "res_srtactiviteit_anonym",
"label": L("res_srtactiviteit_anonym"),
"typ": "key",
"required": true,
"LOV": L("res_srtactiviteit_anonymLOV")
},
"res_srtactiviteit_metomschr": {

View File

@@ -0,0 +1,134 @@
<% /*
$Revision$
$Id$
File: model_res_srtartikel_onrgoed.inc
Description: Model voor res_srtartikel_onrgoed
Context:
Notes:
*/
%>
<%
function model_res_srtartikel_onrgoed()
{
this.table = "res_srtartikel_onrgoed";
this.primary = "res_srtartikel_onrgoed_key";
this.records_name = "articlescopes";
this.record_name = "articlescope";
this.fields = {
"id": {
"dbs": "res_srtartikel_onrgoed_key",
"label": "Key",
"typ": "key",
"hidden_fld": true,
"required": true,
"filter": "exact",
"seq": "res_s_res_srtartikel_og_key"
},
"res_discipline_key": {
"dbs": "res_discipline_key",
"label": L("res_discipline_key"),
"typ": "key",
"required": true,
"insertonly": true,
"foreign": {
"tbl": "(SELECT ins_discipline_key, ins_discipline_omschrijving"
+ " FROM INS_TAB_DISCIPLINE"
+ " WHERE ins_discipline_verwijder IS NULL"
+ " AND ins_discipline_module='RES'"
+ " AND ins_discipline_min_level=2)",
"key": "ins_discipline_key",
"desc": "ins_discipline_omschrijving"
},
"filter": "exact",
"LOVinit": ""
},
"alg_onrgoed_niveau": {
"dbs": "alg_onrgoed_niveau",
"label": L("lcl_niveau"),
"typ": "varchar",
"hidden_fld": true,
"LOV": fill_og_niveau_LOV()
},
"ruimtekey": { // Onder deze naam komt de parameter terug uit FCLTplaatsselector!
"dbs": "alg_onrgoed_key",
"label": L("res_srtartikel_plaats"),
"typ": "key",
"requiredlevel": 2,
"insertonly": true,
"foreign": {
"tbl": "alg_v_plaatsaanduiding",
"key": "alg_onroerendgoed_keys",
"desc": "alg_plaatsaanduiding",
"where": "alg_onroerendgoed_type = res_srtartikel_onrgoed.alg_onrgoed_niveau",
"selectorforeign": "ALG_RUIMTE"
}
}
};
this.list = {
"columns": [
"id",
"alg_onrgoed_niveau",
"alg_onrgoed_key",
"res_discipline_key",
"ruimtekey"
]
};
this.search = {
"autosearch": true,
"filters": [
"res_discipline_key",
"ruimtekey"
]
};
this.edit = {
modal: true
};
this.soft_delete = "res_srtartikel_og_verwijder";
this.autfunction = "WEB_RESMSU";
this.record_title = L("res_srtartikel_onrgoed");
this.records_title = L("res_srtartikel_onrgoed_m");
this.REST_GET = generic_REST_GET(this, this.gparams);
this.REST_POST = generic_REST_POST(this);
this.REST_PUT = generic_REST_PUT(this);
this.REST_DELETE = generic_REST_DELETE(this, {});
this.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;
}
}
function fill_og_niveau_LOV()
{
return "L;"+L("lcl_location")
+ ";G;"+L("lcl_building")
+ ";R;"+L("lcl_room");
}
}
%>

View File

@@ -34,7 +34,8 @@ function model_res_srtkenmerk()
"typ": "varchar",
"translate": true,
"required": true,
"translate": true
"translate": true,
"filter": "like"
},
"res_srtkenmerk_kenmerktype": {
"dbs": "res_srtkenmerk_kenmerktype",
@@ -42,7 +43,7 @@ function model_res_srtkenmerk()
"typ": "varchar",
"required": true,
"LOV": buildKenmerktypeLOV(),
"filter": "like"
"filter": "exact"
},
"res_srtkenmerk_systeem": {
"dbs": "res_srtkenmerk_systeem",
@@ -96,7 +97,10 @@ function model_res_srtkenmerk()
};
this.search = {
"autosearch": true,
"filters": ["res_srtkenmerk_kenmerktype"]
"filters": [
"res_srtkenmerk_kenmerktype",
"name"
]
};
this.soft_delete = "res_srtkenmerk_verwijder";

View File

@@ -181,6 +181,21 @@ if (bind == "A")
var oRs = Oracle.Execute(sql);
var canMelding = (oRs("aantal").Value > 0);
oRs.Close();
// Deel toevoegen aan reserveerbare delen.
var res_authparams = user.checkAutorisation("WEB_RESMSU", true);
if (res_authparams)
{
// Is dit deel al reserveerbaar?
var sql = "SELECT 1"
+ " FROM res_deel"
+ " WHERE res_deel_verwijder IS NULL"
+ " AND res_ins_deel_key = " + ins_key;
var oRs = Oracle.Execute(sql);
if (oRs.eof)
this_ins.hasRESMSU = true;
oRs.Close();
}
%>
<html>
@@ -195,6 +210,10 @@ oRs.Close();
{
FcltMgr.openDetail("appl/ins/ins_history_search.asp?ins_key=<%=ins_key%>&urole=<%=urole%>", "<%=L("lcl_history")%>");
}
function ins_reserveerbaar()
{
FcltMgr.openDetail("appl/mgt/res_deel.asp?mode=edit&id=-1&res_ins_deel_key=<%=ins_key%>", "<%=L("res_deel")%>");
}
function ins_change()
{
if (FcltMgr.startEdit(window))
@@ -261,6 +280,9 @@ oRs.Close();
}
var buttons = [ ];
if (this_ins.hasRESMSU)
buttons.push({title: "Maak reserveerbaar", action: "ins_reserveerbaar()", icon: "attach.png"});
if (this_ins.canChange)
buttons.push({title: L("lcl_change"), action: "ins_change()", icon: "wijzigen.png" });

View File

@@ -13,12 +13,17 @@ res_deelmodel.hook_pre_edit = function (obj, fld)
</script>
<%
}
if (mode == "list")
res_deelmodel.REST_POST = false;
scaffolding(res_deelmodel,
{
"search": {
autosearch: true
},
"edit": {requires: { js: ["../mgt/res_deel.js"]}
"edit": {
requires: { js: ["../mgt/res_deel.js"]}
}
});
%>

70
APPL/MGT/res_deel.js Normal file
View File

@@ -0,0 +1,70 @@
var changed_bits = 0;
var changed_mode = 0;
var parking_key = s_vis_parking_key; // Waarde toegekend in model_res_deel.inc
$(document).ready(function () {
setTimeout("init_res_deel()", 100);
});
function init_res_deel()
{
$("#res_discipline_key").change(function() {change_res_discipline_key(); });
$("#_beschikbaar").click(function() {SelectBits(); });
var disc_key = $("#res_discipline_key").val();
if (!disc_key || disc_key != parking_key )
{
$("#_beschikbaar").parent().parent().hide();
}
}
function change_res_discipline_key()
{
var disc_key = $("#res_discipline_key").val();
if (disc_key == parking_key)
{
$("#_beschikbaar").parent().parent().show();
}
else
{
$("#_beschikbaar").parent().parent().hide();
}
changed_mode = 1;
}
function SelectBits()
{
var proturl = "../ins/ins_bitsform.asp"
+ "?eenheid=5"
+ "&bits=" + $("#res_deel_beschikbaar_bits").val();
parent.FcltMgr.openModalDetail(proturl, "Select moment",
{ callback: function (data)
{ if (data.eenheid >= 0)
{
$("#res_deel_beschikbaar_bits").val(data.bits);
changed_bits = 1;
}
}
} );
}
function pre_submit()
{
var ch_mode = (changed_mode == 1);
var ch_bits = (changed_bits == 1);
var disc_key = $("#res_discipline_key").val();
if (disc_key && disc_key == parking_key)
{
if (ch_mode && !ch_bits)
{
alert(L("res_deel_select"));
return false;
}
}
else // is geen parkeerplaats
{
$("#res_deel_beschikbaar_bits").val(0);
}
return true;
}

View File

@@ -0,0 +1,19 @@
<%@language = "javascript" %>
<!-- #include file="../scf/scaffolding.inc" -->
<!-- #include file="../api2/model_res_srtartikel_onrgoed.inc" -->
<%
scaffolding(new model_res_srtartikel_onrgoed(),
{
"search": {
autosearch: false
},
"show": {
js: ["./mgt_tools.js"]
},
"edit": {
js: ["./mgt_tools.js"]
}
});
%>

View File

@@ -71,6 +71,8 @@
{
"search": {
autosearch: true
},
"edit": { requires: { js: ["./res_srtkenmerk.js"] }
}
});
%>

View File

@@ -0,0 +1,24 @@
function pre_submit()
{
var validation_message = "";
if ($("#res_srtkenmerk_kenmerktype").val() == "C" && $("#res_srtkenmerk_lengte").val() == "")
validation_message = L("res_srtkenmerk_lengte_val1");
if ($("#res_srtkenmerk_kenmerktype").val() == "N" && $("#res_srtkenmerk_lengte").val() == "")
validation_message = L("res_srtkenmerk_lengte_val1");
if ($("#res_srtkenmerk_kenmerktype").val() == "R" && $("#fac_kenmerkdomein_key").val() == -1)
validation_message = L("res_srtkenmerk_domein_val1");
if ($("#res_srtkenmerk_kenmerktype").val() == "C"
&& ( $("#res_srtkenmerk_lengte").val() > 4000
|| $("#res_srtkenmerk_lengte").val() < 1
))
validation_message = L("res_srtkenmerk_lengte_val2");
if (validation_message != "")
{
alert(validation_message);
return false;
}
return true;
}

View File

@@ -266,6 +266,7 @@ function scf_RWFIELDTR(model, fld, val, key, params)
startlevel: 2,
eindlevel: 5,
required: params.required,
requiredlevel: field.requiredlevel,
filtercode: "FAC",
whenEmpty: L("lcl_search_generic") // want filter
});

View File

@@ -46,6 +46,8 @@ function scaffolding_save(model, scf_params)
}
else
{
if ("hook_pre_post" in model)
model.hook_pre_post(params, jsondata);
var restresult = model.REST_POST(params, jsondata);
key = restresult.key;
}