Merge 2017.2 RC2 patches
svn path=/Website/trunk/; revision=35607
@@ -447,6 +447,9 @@ for (i = 0; i < meldingen.length; i++)
|
||||
} // end insert
|
||||
} // end geldige ext_id
|
||||
|
||||
if (returncode <= 0)
|
||||
__DoLog("api_mldsoap fail.\nResultcode: {0}\nReturntekst: {1}".format(resultcode, returntekst), "#00FF00");
|
||||
|
||||
var binfo = {returncode: resultcode,
|
||||
returntekst: resulttekst,
|
||||
// executed:sql, // debug
|
||||
|
||||
@@ -232,6 +232,12 @@ for (i=0; i < opdrachten.length; i++)
|
||||
resulttekst = "Undefined stdmelding " + stdm_key;
|
||||
}
|
||||
|
||||
if (isNaN(voor_key))
|
||||
{
|
||||
resultcode = 3;
|
||||
resulttekst = "Undefined 'voor': " + voor_email;
|
||||
}
|
||||
|
||||
// Hier heb ik een geldige stdm_key.
|
||||
if (resultcode == -1) // Nog steeds geen fouten.
|
||||
{ // Bepaal kostenplaats via voor-user
|
||||
@@ -795,6 +801,10 @@ for (i=0; i < opdrachten.length; i++)
|
||||
{
|
||||
resultcode = 0; // Ik heb gedaan wat ik moest en mocht doen voor deze opdracht.
|
||||
}
|
||||
else
|
||||
{
|
||||
__DoLog("api_opdrsoap fail.\nResultcode: {0}\nReturntekst: {1}".format(resultcode, returntekst), "#00FF00");
|
||||
}
|
||||
|
||||
var binfo = {
|
||||
returncode: resultcode,
|
||||
|
||||
@@ -82,7 +82,8 @@ var api2_mapper = {
|
||||
"servicelevels" : { "filename": "appl/mgt/mld_dienstniveau.asp" },
|
||||
"issuedisciplines" : { "filename": "appl/mgt/mld_discipline.asp" },
|
||||
"unproductivetimes" : { "filename": "appl/mgt/mld_impropdr.asp" },
|
||||
"issueproperties" : { "filename": "appl/mgt/mld_kenmerk.asp" },
|
||||
"issueproperties" : { "filename": "appl/mgt/mld_mld_kenmerk.asp" },
|
||||
"issueorderproperties" : { "filename": "appl/mgt/mld_kenmerk.asp" },
|
||||
"expenses" : { "filename": "appl/mgt/mld_kosten.asp" },
|
||||
"callsources" : { "filename": "appl/mgt/mld_meldbron.asp" },
|
||||
"disciplinetypes" : { "filename": "appl/mgt/mld_srtdiscipline.asp" },
|
||||
|
||||
@@ -284,7 +284,8 @@ api2_rest = {
|
||||
var result = model["REST_" + method]( requestparams, key );
|
||||
}
|
||||
else if (filter.mode == "attachment" && "custom_fields" in model.includes)
|
||||
{ // GET/PUT/POST https://xxxx.facilitor.nl/trunk/api2/visitors/99685/attachments/1040/testfile.jpg"
|
||||
{ // GET/PUT/POST https://xxxx.facilitor.nl/api2/visitors/99685/attachments/1040/testfile.jpg" bestaande folder
|
||||
// POST https://xxxx.facilitor.nl/api2/issues/0/attachments/1040/testfile.jpg" nieuw object, maakt TEMP aan
|
||||
if (wasCodePage != 65001)
|
||||
{
|
||||
// Door de IIS rewriter is de filenaam in de url utf-8 encoded
|
||||
@@ -328,8 +329,22 @@ api2_rest = {
|
||||
fileStream.Open();
|
||||
fileStream.Write(Request.BinaryRead(bytes));
|
||||
jsondata["custom_fields"][0]["attachments"][0].datastream = fileStream;
|
||||
if (key == 0) // new record
|
||||
{
|
||||
var token = model.includes["custom_fields"].model.REST_POST(requestparams, jsondata.custom_fields[0], -1);
|
||||
|
||||
var record = { xflexparentkey: -1, propertyid: jsondata.custom_fields[0].propertyid};
|
||||
var fileparams = { getFiles: true, api2name: null, tmpfolder: token };
|
||||
var data = model.includes["custom_fields"].model.get_file_info(requestparams, record, fileparams );
|
||||
|
||||
api2_rest.deliver(data, /* dummy model */ { record_name: "attachment" }, "json", true);
|
||||
return;
|
||||
}
|
||||
else
|
||||
method = "PUT"; // het moet altijd een update van een issue zijn
|
||||
}
|
||||
var data = model["REST_" + method](requestparams, jsondata, key);
|
||||
|
||||
var data = model["REST_" + method](requestparams, jsondata, key); // via het hoofdmodel met authorisatie controle en alles
|
||||
if (method == "GET")
|
||||
{
|
||||
if (!data.length) // mogelijk not authorized op hele record
|
||||
@@ -888,7 +903,7 @@ function RequestJSON()
|
||||
catch (e)
|
||||
{
|
||||
result = { error: e.description || (e.message + ": " + e.name) };
|
||||
__DoLog("JSON eval faalt met: '{0}'\n{1}".format(result, jvraag), "ffff00");
|
||||
__DoLog("JSON eval faalt met: '{0}'\n{1}".format(result.error, jvraag), "ffff00");
|
||||
return result ;
|
||||
}
|
||||
return { json: vraag };
|
||||
@@ -922,7 +937,13 @@ function BytesToStr(bytes)
|
||||
stream.type = 2; // Text
|
||||
stream.charset = "utf-8";
|
||||
|
||||
var sOut = stream.readtext();
|
||||
// Als onverhoopt toch windows-1252 is gestuurd met diacrieten gaf
|
||||
// stream.readtext() een 'The parameter is incorrect'
|
||||
// Vreemd genoeg lijkt het expliciet meegeven van een lengte dat te voorkomen.
|
||||
// Die mag zelfs gewoon veel 'te lang' zijn.
|
||||
// Merk op dat we windows-1252 niet ondersteunen, je moet echt utf-8 sturen
|
||||
// (we hadden waarschijnlijk ook 99999999 kunnen kiezen)
|
||||
var sOut = stream.readtext(stream.Size * 2);
|
||||
stream.close;
|
||||
return sOut;
|
||||
}
|
||||
|
||||
@@ -88,34 +88,42 @@ function model_custom_fields(formodel, flexModel, flexParams)
|
||||
}
|
||||
};
|
||||
|
||||
this.get_file_info = function (params, record, fileparams)
|
||||
{
|
||||
var flexparam = flexProps(flexModule, record.xflexparentkey,
|
||||
String(record.propertyid), flexParams.pNiveau,
|
||||
fileparams);
|
||||
var attachments = [];
|
||||
for (var f in flexparam.files)
|
||||
{
|
||||
var file = flexparam.files[f];
|
||||
var attachment = { name: file.name,
|
||||
date: file.date,
|
||||
size: file.size,
|
||||
content_url: file.deepurl,
|
||||
token: file.token,
|
||||
digest: file.digest };
|
||||
switch (params.filter.fileencoding) // De enige twee encodings die we ondersteunen
|
||||
{
|
||||
case "base64":
|
||||
attachment.content_base64 = file.data;
|
||||
break;
|
||||
case "hex":
|
||||
attachment.content_hex = file.data;
|
||||
break;
|
||||
}
|
||||
attachments.push(attachment);
|
||||
};
|
||||
return attachments;
|
||||
}
|
||||
// Deze functie wordt na de GET aangeroepen. De bijlagen zijn zo afwijkend
|
||||
// dat ik dat niet fatsoenlijk in 'fields' verwerkt kreeg
|
||||
this.post_get = function (params, record)
|
||||
{
|
||||
if (record.type == 'F' || record.type == 'M')
|
||||
{
|
||||
var flexparam = flexProps(flexModule, record.xflexparentkey, String(record.propertyid), flexParams.pNiveau,
|
||||
{ getFiles: true, getFileEncoded: params.filter.fileencoding, api2name: formodel.records_name });
|
||||
record.attachments = [];
|
||||
for (var f in flexparam.files)
|
||||
{
|
||||
var file = flexparam.files[f];
|
||||
var attachment = { name: file.name,
|
||||
date: file.date,
|
||||
size: file.size,
|
||||
content_url: file.deepurl,
|
||||
digest: file.digest };
|
||||
switch (params.filter.fileencoding) // De enige twee encodings die we ondersteunen
|
||||
{
|
||||
case "base64":
|
||||
attachment.content_base64 = file.data;
|
||||
break;
|
||||
case "hex":
|
||||
attachment.content_hex = file.data;
|
||||
break;
|
||||
}
|
||||
record.attachments.push(attachment);
|
||||
};
|
||||
var fileparams = { getFiles: true, getFileEncoded: params.filter.fileencoding, api2name: formodel.records_name };
|
||||
record.attachments = this.get_file_info(params, record, fileparams);
|
||||
}
|
||||
delete record["xflexparentkey"]; // nu niet meer nodig
|
||||
}
|
||||
@@ -172,7 +180,9 @@ function model_custom_fields(formodel, flexModel, flexParams)
|
||||
}
|
||||
if (typ == 'F' || typ == 'M')
|
||||
{
|
||||
var flexparams = flexProps(this.module, parent_key, the_key, flexParams.pNiveau);
|
||||
if (!(parent_key > 0))
|
||||
var tmpfolder = safe.filename(shared.random(32));
|
||||
var flexparams = flexProps(this.module, parent_key, the_key, flexParams.pNiveau, { tmpfolder: tmpfolder });
|
||||
// TODO: bij type F zorgen dat er <20><>n file overblijft
|
||||
for (var i = 0; i < jsondata.attachments.length; i++)
|
||||
{
|
||||
@@ -201,7 +211,7 @@ function model_custom_fields(formodel, flexModel, flexParams)
|
||||
}
|
||||
}
|
||||
|
||||
if (typ != "M")
|
||||
if (typ != "M" && parent_key > 0)
|
||||
{
|
||||
var sql = "BEGIN flx.setflex({0}".format(safe.quoted_sql(this.module))
|
||||
+ " , {0}".format(the_key) // == jsondata.propertyid
|
||||
@@ -213,12 +223,13 @@ function model_custom_fields(formodel, flexModel, flexParams)
|
||||
if (err.friendlyMsg)
|
||||
api2.error(400, err.friendlyMsg);
|
||||
}
|
||||
return tmpfolder;
|
||||
}
|
||||
|
||||
if (flexModel) // nog even niet voor MLD
|
||||
this.REST_POST = function (params, jsondata, parent_key) /* add custom_field */
|
||||
{ // Voor flexvelden is er geen verschil tusen 'toevoegen' en 'bijwerken'
|
||||
this.REST_PUT(params, jsondata, jsondata.propertyid, parent_key);
|
||||
return this.REST_PUT(params, jsondata, jsondata.propertyid, parent_key);
|
||||
}
|
||||
|
||||
this.disabled_REST_DELETE = function (params, the_key) /* remove custom_field */
|
||||
|
||||
@@ -68,7 +68,7 @@ function model_fac_groep(groep_key, params)
|
||||
"label": L("fac_groep_nn_leden"),
|
||||
"typ": "number"
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
this.includes = {
|
||||
"users": {
|
||||
|
||||
@@ -43,7 +43,8 @@ function model_ins_srtcontrole()
|
||||
"typ": "varchar",
|
||||
"hidden_fld": true,
|
||||
"LOV": fill_niveau_LOV(),
|
||||
"track": true
|
||||
"track": true,
|
||||
"insertonly": true
|
||||
},
|
||||
"objectkey": {
|
||||
"dbs": "ins_srtinstallatie_key",
|
||||
|
||||
@@ -210,6 +210,9 @@ function model_notes(module)
|
||||
this.REST_POST = function (params, jsondata) /* new note */
|
||||
{
|
||||
params.filter.parent_key = parseInt(jsondata.parent, 10);
|
||||
if (!jsondata.author)
|
||||
jsondata.author = user_key;
|
||||
|
||||
_check_authorization(params, "POST");
|
||||
//
|
||||
var dbfields = api2.update_fields(params, this, jsondata); // Build updater
|
||||
|
||||
@@ -29,7 +29,8 @@ function model_prs_afdeling()
|
||||
this.fields = {
|
||||
"id": {
|
||||
"dbs": "prs_afdeling_key",
|
||||
"typ": "key"
|
||||
"typ": "key",
|
||||
"seq": "prs_s_prs_afdeling_key"
|
||||
},
|
||||
"name": {
|
||||
"dbs": "prs_afdeling_naam",
|
||||
@@ -39,11 +40,10 @@ function model_prs_afdeling()
|
||||
"dbs": "prs_afdeling_omschrijving",
|
||||
"typ": "varchar"
|
||||
},
|
||||
"company": {
|
||||
"dbs": "prs_afdeling_key",
|
||||
"label": L("lcl_prs_company"),
|
||||
"typ": "key",
|
||||
"foreign": "prs_afdeling"
|
||||
"externalid": {
|
||||
"dbs": "prs_afdeling_externid",
|
||||
"label": L("prs_afdeling_externid"),
|
||||
"typ": "varchar"
|
||||
},
|
||||
"parent": {
|
||||
"dbs": "prs_afdeling_parentkey",
|
||||
@@ -52,7 +52,19 @@ function model_prs_afdeling()
|
||||
"foreign": "prs_afdeling"
|
||||
},
|
||||
"company": {
|
||||
"dbs": "pa.prs_bedrijf_key",
|
||||
"dbs": "prs_bedrijf_key",
|
||||
"label": L("lcl_prs_company"),
|
||||
"typ": "key",
|
||||
"foreign": {
|
||||
"tbl": "prs_bedrijf",
|
||||
"key": "prs_bedrijf_key",
|
||||
"desc": "prs_bedrijf_naam",
|
||||
"desc_is_unique": "prs_bedrijf_verwijder IS NULL"
|
||||
}
|
||||
},
|
||||
"xcompany": {
|
||||
"dbs": "top_prs_bedrijf_key",
|
||||
"sql": "pa.prs_bedrijf_key",
|
||||
"label": L("lcl_prs_company"),
|
||||
"typ": "key",
|
||||
"foreign": "prs_bedrijf"
|
||||
@@ -64,9 +76,9 @@ function model_prs_afdeling()
|
||||
"foreign": {
|
||||
"tbl": "prs_kostenplaats",
|
||||
"key": "prs_kostenplaats_key",
|
||||
"desc": "prs_kostenplaats_nr"
|
||||
},
|
||||
"multiedit": true
|
||||
"desc": "prs_kostenplaats_nr",
|
||||
"desc_is_unique": "prs_kostenplaats_verwijder IS NULL"
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@@ -103,11 +115,9 @@ function model_prs_afdeling()
|
||||
}
|
||||
|
||||
|
||||
this.REST_GET = generic_REST_GET(this, gparams);
|
||||
|
||||
// (even) nog geen updates
|
||||
//this.REST_POST = generic_REST_POST(this);
|
||||
//this.REST_PUT = generic_REST_PUT(this);
|
||||
//this.REST_DELETE = generic_REST_DELETE(this);
|
||||
this.REST_GET = generic_REST_GET(this, gparams);
|
||||
this.REST_POST = generic_REST_POST(this);
|
||||
this.REST_PUT = generic_REST_PUT(this);
|
||||
this.REST_DELETE = generic_REST_DELETE(this);
|
||||
}
|
||||
%>
|
||||
@@ -53,7 +53,6 @@ function model_prs_kostensoort()
|
||||
"dbs": "prs_kostensoortgrp_key",
|
||||
"label": L("prs_kostensoortgrp_key"),
|
||||
"required": true,
|
||||
//"insertonly" : true,
|
||||
"typ": "key",
|
||||
"foreign": bgt_costtypegroup_foreign(),
|
||||
"LOVinit": "",
|
||||
|
||||
@@ -87,6 +87,11 @@ function model_prs_perslid(params)
|
||||
"label": L("lcl_prs_person_title"),
|
||||
"typ": "varchar"
|
||||
},
|
||||
"employeenumber": {
|
||||
"dbs": "prs_perslid_nr",
|
||||
"label": L("lcl_prs_person_nr"),
|
||||
"typ": "varchar"
|
||||
},
|
||||
"initials": {
|
||||
"dbs": "prs_perslid_voorletters",
|
||||
"label": L("lcl_prs_person_initials"),
|
||||
|
||||
@@ -249,7 +249,13 @@ function model_res_ruimte()
|
||||
"dbs": "res_ruimte_extern_id",
|
||||
"label": L("res_ruimte_extern_id"),
|
||||
"typ": "varchar"
|
||||
}
|
||||
},
|
||||
"capacity": {
|
||||
"dbs": "nn_config",
|
||||
"sql": "(SELECT CASE MAX (res_ruimte_opstel_bezoekers) WHEN MIN (res_ruimte_opstel_bezoekers) THEN TO_CHAR(MAX (res_ruimte_opstel_bezoekers)) ELSE MIN (res_ruimte_opstel_bezoekers) || '-' || MAX (res_ruimte_opstel_bezoekers) END FROM res_ruimte_opstelling rro WHERE res_ruimte_opstel_verwijder IS NULL AND rro.res_ruimte_key = res_ruimte.res_ruimte_key GROUP BY res_ruimte_key)",
|
||||
"label": L("res_ruimte_opstel_bezoekers"),
|
||||
"typ": "varchar"
|
||||
}
|
||||
};
|
||||
|
||||
// veld "res_ruimte_extern_id" alleen te wijzigen met PRSSYS rechten.
|
||||
@@ -268,7 +274,7 @@ function model_res_ruimte()
|
||||
"joinfield": "bookingroom",
|
||||
"multiadd": "bookingconfiguration",
|
||||
"enable_update": true
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// res_v_alg_ruimte_gegevens levert voor een koppelzaal meerdere records waardoor de opstelling ook meervoudig wordt weergegeven.
|
||||
|
||||
@@ -50,8 +50,6 @@
|
||||
/* Globals */
|
||||
var FCLT;
|
||||
|
||||
// De omschrijving van de objecten in FACILITOR moet FW1, FW2 etc. zijn
|
||||
var scimgroups_srtdeel_key = 258418;
|
||||
|
||||
function initialize(params)
|
||||
{
|
||||
@@ -74,7 +72,7 @@ function get_eTag(params, data)
|
||||
|
||||
function transform_incoming(params, data)
|
||||
{
|
||||
//FCLT.DEZE.__DoLog(data);
|
||||
FCLT.DEZE.__DoLog(data);
|
||||
var authorizationgroup =
|
||||
{
|
||||
name : data["displayName"],
|
||||
@@ -99,6 +97,7 @@ function transform_one_group(params, authorizationgroup)
|
||||
"urn:ietf:params:scim:schemas:core:2.0:Group",
|
||||
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:Group"
|
||||
],
|
||||
"members":[],
|
||||
"meta":{
|
||||
"created":authorizationgroup.created,
|
||||
"lastModified":authorizationgroup.lastchange,
|
||||
@@ -106,16 +105,16 @@ function transform_one_group(params, authorizationgroup)
|
||||
"resourceType":"Group"
|
||||
}
|
||||
}
|
||||
var allgroups = [];
|
||||
if (0)
|
||||
for (var j = 0; j < authorizationgroup.authorization.length; j++)
|
||||
|
||||
for (var j = 0; j < authorizationgroup.users.length; j++)
|
||||
{
|
||||
var group = authorizationgroup.authorization[j];
|
||||
var unique = FCLT.DEZE.customerId + "_authorization_" + String(group.authorizationgroup.id);
|
||||
onegroup.groups.push({
|
||||
var user = authorizationgroup.users[j];
|
||||
var unique = FCLT.DEZE.customerId + "_person_" + String(user.person.id);
|
||||
onegroup.members.push({
|
||||
"value":unique,
|
||||
"$ref":FCLT.DEZE.HTTP.urlzelf() + "/appl/SCIM/Groups/" + unique,
|
||||
"display":group.authorizationgroup.name
|
||||
"type":"User",
|
||||
"$ref":FCLT.DEZE.HTTP.urlzelf() + "/appl/SCIM/Users/" + unique,
|
||||
"display":user.person.name
|
||||
})
|
||||
}
|
||||
var oCrypto = new ActiveXObject("SLNKDWF.Crypto");
|
||||
|
||||
168
APPL/API2/plugins/scimorgunits.wsc
Normal file
@@ -0,0 +1,168 @@
|
||||
<?xml version="1.0"?>
|
||||
<component>
|
||||
<?component error="true" debug="true"?>
|
||||
<registration
|
||||
description="scimOrgunits"
|
||||
progid="flexwhere.WSC"
|
||||
version="1.00"
|
||||
classid="{6D817B6F-9D08-4636-AAD9-8BD7C5EFF56A}"
|
||||
>
|
||||
</registration>
|
||||
|
||||
<public>
|
||||
|
||||
<!-- properties -->
|
||||
|
||||
<!-- methods -->
|
||||
<method name="initialize">
|
||||
<PARAMETER name="params"/>
|
||||
</method>
|
||||
<method name="transform_filter">
|
||||
<PARAMETER name="filter"/>
|
||||
</method>
|
||||
<method name="transform_outgoing">
|
||||
<PARAMETER name="params"/>
|
||||
<PARAMETER name="data"/>
|
||||
</method>
|
||||
<method name="transform_incoming">
|
||||
<PARAMETER name="params"/>
|
||||
<PARAMETER name="data"/>
|
||||
</method>
|
||||
<method name="get_eTag">
|
||||
<PARAMETER name="params"/>
|
||||
<PARAMETER name="data"/>
|
||||
</method>
|
||||
</public>
|
||||
|
||||
<script language="javascript">
|
||||
<![CDATA[
|
||||
|
||||
/* properties */
|
||||
|
||||
|
||||
/* methods */
|
||||
/*
|
||||
/*
|
||||
$Id$
|
||||
|
||||
File: scimorgunits.wsc
|
||||
*/
|
||||
/* Globals */
|
||||
var FCLT;
|
||||
|
||||
// De omschrijving van de objecten in FACILITOR moet FW1, FW2 etc. zijn
|
||||
var scimgroups_srtdeel_key = 258418;
|
||||
|
||||
function initialize(params)
|
||||
{
|
||||
FCLT = params;
|
||||
}
|
||||
|
||||
function transform_filter(filter)
|
||||
{
|
||||
if ("count" in filter)
|
||||
filter.limit = filter.count;
|
||||
return filter;
|
||||
}
|
||||
|
||||
function get_eTag(params, data)
|
||||
{
|
||||
if (data && typeof data == "object" && "meta" in data)
|
||||
return data.meta.version;
|
||||
return null;
|
||||
}
|
||||
|
||||
function transform_incoming(params, data)
|
||||
{
|
||||
FCLT.DEZE.__DoLog(data);
|
||||
var department =
|
||||
{
|
||||
id : data["id"],
|
||||
externalid : data["externalId"],
|
||||
description: data["code"],
|
||||
name : data["externalId"],
|
||||
costcentre : { name: data["costCenter"] }, // id mag achterwege blijven omdat desc_is_unique
|
||||
company : { name: "Schiphol Group" }
|
||||
|
||||
};
|
||||
var sql = "SELECT prs_kostenplaats_key FROM prs_kostenplaats "
|
||||
+ "WHERE prs_kostenplaats_verwijder IS NULL "
|
||||
+ " AND prs_kostenplaats_nr = " + FCLT.DEZE.safe.quoted_sql(department.costcentre.name);
|
||||
var oRs = FCLT.DEZE.Oracle.Execute(sql);
|
||||
if (oRs.eof)
|
||||
{
|
||||
sql = "INSERT INTO prs_kostenplaats (prs_kostenplaats_nr, prs_kostenplaats_omschrijving, prs_kostenplaats_module) "
|
||||
+ "VALUES (" + FCLT.DEZE.safe.quoted_sql(department.costcentre.name) + "," + FCLT.DEZE.safe.quoted_sql(department.costcentre.name) + ",'PRS')";
|
||||
FCLT.DEZE.__DoLog(sql);
|
||||
FCLT.DEZE.Oracle.Execute(sql);
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
FCLT.DEZE.__DoLog(department);
|
||||
|
||||
return { department: department };
|
||||
}
|
||||
|
||||
function transform_one_department(params, department)
|
||||
{
|
||||
FCLT.DEZE.__Log(department);
|
||||
var unique = FCLT.DEZE.customerId + "_department_" + String(department.id);
|
||||
var costc = "";
|
||||
if (department.costcentre)
|
||||
{
|
||||
costc = department.costcentre.name;
|
||||
}
|
||||
var onedepartment = {
|
||||
"code":department.description,
|
||||
"externalid":department.externalid,
|
||||
"id":unique,
|
||||
"costCenter":costc,
|
||||
"schemas":[
|
||||
"urn:ietf:params:scim:schemas:core:2.0:OrgUnits",
|
||||
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:OrgUnits"
|
||||
],
|
||||
"meta":{
|
||||
"created":department.created,
|
||||
"lastModified":department.lastchange,
|
||||
"location":FCLT.DEZE.HTTP.urlzelf() + "/appl/SCIM/OrgUnits/" + unique,
|
||||
"resourceType":"OrgUnits"
|
||||
}
|
||||
}
|
||||
|
||||
var oCrypto = new ActiveXObject("SLNKDWF.Crypto");
|
||||
var eTag = '"' + oCrypto.hex_sha1(FCLT.DEZE.JSON.stringify(onedepartment)).toLowerCase() + '"';
|
||||
onedepartment.meta["version"] = "W/" + eTag; // Weak eTag?
|
||||
return onedepartment;
|
||||
}
|
||||
|
||||
function transform_outgoing(params, data)
|
||||
{
|
||||
if ("department" in data)
|
||||
{
|
||||
var onedepartment = transform_one_department(params, data.department);
|
||||
return onedepartment;
|
||||
}
|
||||
if ("departments" in data)
|
||||
{
|
||||
var alldepartments = [];
|
||||
for (var i = 0; i < data.departments.length; i++)
|
||||
{
|
||||
if (params.limit && alldepartments.length > params.limit)
|
||||
break;
|
||||
var department = data.departments[i];
|
||||
alldepartments.push(transform_one_department(params, department));
|
||||
}
|
||||
|
||||
return {
|
||||
"totalResults": alldepartments.length,
|
||||
"itemsPerPage": 10,
|
||||
"startIndex": 1,
|
||||
"schemas": ["urn:ietf:params:scim:api:messages:2.0:ListResponse"],
|
||||
"Resources": alldepartments
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
]]>
|
||||
</script>
|
||||
</component>
|
||||
@@ -76,24 +76,40 @@ function get_eTag(params, data)
|
||||
// Als het object aan staat wordt de id opgeleverd, anders -id
|
||||
function transform_incoming(params, data)
|
||||
{
|
||||
//FCLT.DEZE.__DoLog(data);
|
||||
FCLT.DEZE.__DoLog(data);
|
||||
var extension = data["urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"];
|
||||
|
||||
var person =
|
||||
{
|
||||
login : data["userName"],
|
||||
externallogin: data["userName"],
|
||||
externalid : data["externalId"],
|
||||
name : data["name"]["displayName"],
|
||||
// name : data["name"]["displayName"],
|
||||
initials : data["userFacilitor"]["initials"],
|
||||
lastname : data["name"]["familyName"],
|
||||
middlename : data["name"]["middleName"],
|
||||
firstname : data["name"]["givenName"],
|
||||
deactivated : data["active"]?null:new Date()
|
||||
deactivated : data["active"]?null:new Date(),
|
||||
employeenumber : extension["employeeNumber"]
|
||||
};
|
||||
|
||||
if (data["userName"] == undefined) person.login = "";
|
||||
if (data["userFacilitor"]["initials"] == undefined) person.initials = "";
|
||||
if (data["name"]["middleName"] == undefined) person.middlename = "";
|
||||
if (data["name"]["givenName"] == undefined) person.firstname = "";
|
||||
if (extension["employeeNumber"] == undefined) person.employeenumber = "";
|
||||
|
||||
|
||||
var dep_id = data["orgUnit"]["id"].replace (FCLT.DEZE.customerId + "_department_", "");
|
||||
|
||||
person["department"] = { id: dep_id };
|
||||
person["function"] = { name: data["title"] } // id mag achterwege blijven omdat desc_is_unique
|
||||
|
||||
if (data["emails"].length)
|
||||
if (data["emails"])
|
||||
{
|
||||
person.email = data["emails"][0].value; // type:work/primary:true opzoeken ?
|
||||
}
|
||||
if (data["phoneNumbers"].length)
|
||||
if (data["phoneNumbers"])
|
||||
{
|
||||
person.mobile = data["phoneNumbers"][0].value; // type:mobile/primary:true opzoeken ?
|
||||
}
|
||||
@@ -112,10 +128,14 @@ function transform_one_person(params, person)
|
||||
"userName":person.externallogin || person.login,
|
||||
"externalId":person.externalid,
|
||||
"id":unique,
|
||||
"userFacilitor":{
|
||||
"initials":person.initials
|
||||
},
|
||||
"name":{
|
||||
"formatted":person.name,
|
||||
"familyName":person.lastname,
|
||||
"givenName":person.firstname
|
||||
"givenName":person.firstname,
|
||||
"middleName":person.middlename
|
||||
},
|
||||
"schemas":[
|
||||
"urn:ietf:params:scim:schemas:core:2.0:User",
|
||||
@@ -144,7 +164,17 @@ function transform_one_person(params, person)
|
||||
"primary":true
|
||||
}
|
||||
],
|
||||
"groups":[]
|
||||
"orgunit":
|
||||
{
|
||||
"id":FCLT.DEZE.customerId + "_department_" + String(person.department.id),
|
||||
"$ref":FCLT.DEZE.HTTP.urlzelf() + "/appl/SCIM/OrgUnits/" + FCLT.DEZE.customerId + "_department_" + String(person.department.id)
|
||||
}
|
||||
,
|
||||
"groups":[],
|
||||
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User" :
|
||||
{
|
||||
"employeeNumber":person.employeenumber
|
||||
}
|
||||
}
|
||||
var allgroups = [];
|
||||
for (var j = 0; j < person.authorization.length; j++)
|
||||
@@ -177,7 +207,11 @@ function transform_outgoing(params, data)
|
||||
if (params.limit && allusers.length > params.limit)
|
||||
break;
|
||||
var person = data.persons[i];
|
||||
allusers.push(transform_one_person(params, person));
|
||||
if (person.login && person.login.indexOf('_') != 0)
|
||||
{
|
||||
// _ users are not part of the interface.
|
||||
allusers.push(transform_one_person(params, person));
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
|
||||
@@ -56,12 +56,12 @@
|
||||
|
||||
<rule name="SCIMGroup" stopProcessing="true">
|
||||
<match url="^appl/SCIM/Groups/.*_authorizationgroup_(\d+)" />
|
||||
<action type="Rewrite" url="default.asp?api2=authorizationgroups&id={R:1}&format=json&plugin=scimgroups&include=lastchange,authorization" appendQueryString="true" />
|
||||
<action type="Rewrite" url="default.asp?api2=authorizationgroups&id={R:1}&format=json&plugin=scimgroups&include=users" appendQueryString="true" />
|
||||
</rule>
|
||||
|
||||
<rule name="SCIMGroups" stopProcessing="true">
|
||||
<match url="^appl/SCIM/Groups" />
|
||||
<action type="Rewrite" url="default.asp?api2=authorizationgroups&format=json&plugin=scimgroups&include=lastchange,authorization" appendQueryString="true" />
|
||||
<action type="Rewrite" url="default.asp?api2=authorizationgroups&format=json&plugin=scimgroups&include=users" appendQueryString="true" />
|
||||
</rule>
|
||||
|
||||
<rule name="SCIMOrgunit" stopProcessing="true">
|
||||
|
||||
@@ -34,8 +34,8 @@ if (finnum && finnum != -1)
|
||||
{
|
||||
params.finnum = finnum;
|
||||
// Als er een factuurnummer is meegegeven dan wel reageren op deze vinkjes
|
||||
params.fin_actual = (getQParam("fin_actual", "off") == "on"); // Actuele facturen
|
||||
params.fin_deleted = (getQParam("fin_deleted", "off") == "on"); // Verwijderde facturen
|
||||
params.fin_actual = (getQParam("fin_actual", 0) == 1); // Actuele facturen
|
||||
params.fin_deleted = (getQParam("fin_deleted", 0) == 1); // Verwijderde facturen
|
||||
}
|
||||
else
|
||||
{ // Voor velden die de user in kan typen valideren we zodanig dat we er tegen kunnen
|
||||
|
||||
@@ -581,6 +581,7 @@ ins = {checkAutLevel:
|
||||
+ " , insp.vervaldatum"
|
||||
+ " , insp.isc_mode"
|
||||
+ " , insp.ctr_discipline_key"
|
||||
+ " , insp.ctr_ismjob"
|
||||
+ " , options"
|
||||
// Moment inspectie pas kunnen opslaan op of na geplande inspectiedatum.
|
||||
// Is in de moment modus de invoer na het volgende berekende inspectietijdstip? Voor interval modus is dit altijd het geval.
|
||||
@@ -685,6 +686,7 @@ ins = {checkAutLevel:
|
||||
+ " , xcp.ins_srtcontrole_periode"
|
||||
+ " , xcp.ins_deel_aanmaak"
|
||||
+ " , xcp.ctr_controle_type"
|
||||
+ " , xcp.ctr_ismjob"
|
||||
+ " , idsc.ins_deelsrtcontrole_plandatum plandatum"
|
||||
+ " , ins_srtcontroledl_xcp_startdat"
|
||||
+ " , CASE"
|
||||
@@ -737,6 +739,7 @@ ins = {checkAutLevel:
|
||||
var ins_deelsrtcontrole_status = oRs("ins_deelsrtcontrole_status").Value != null? oRs("ins_deelsrtcontrole_status").Value : -1;
|
||||
var vervaldatum = oRs("vervaldatum").Value != null? new Date(oRs("vervaldatum").Value) : null;
|
||||
var ctr_discipline_key = oRs("ctr_discipline_key").Value;
|
||||
var ctr_ismjob = oRs("ctr_ismjob").Value == 1;
|
||||
var isc_options = oRs("options").Value;
|
||||
var vervallen = vervaldatum != null && vervaldatum < new Date();
|
||||
var invoerAfterNext = oRs("invoerAfterNext").Value == 1;
|
||||
@@ -780,7 +783,7 @@ ins = {checkAutLevel:
|
||||
(ins_deelsrtcontrole_status <= 0 || ins_deelsrtcontrole_status == 6) &&
|
||||
actief && iresult.hasCTRWrite &&
|
||||
!isScenario;
|
||||
iresult.canInspStart = iresult.canInspStartReq && ((isc_options & 2) == 2);
|
||||
iresult.canInspStart = iresult.canInspStartReq && ((isc_options & 2) == 2) && !ctr_ismjob;
|
||||
// Bevriezen gebeurt altijd voor het kalenderjaar S("mjb_freeze_year").
|
||||
// Dan is er voor het freeze kalenderjaar een bedrag ingevuld.
|
||||
// Mocht het bedrag 0 zijn, dan moet er tijdens heb bevriezen een lcl aan de opmerking worden toegevoegd, dat de taak door een hogere prio taak wordt uitgevoerd.
|
||||
|
||||
@@ -87,6 +87,7 @@ if (srtcont_key_arr.length > 0)
|
||||
var vervaldatum = oRs("vervaldatum").Value != null? new Date(oRs("vervaldatum").Value) : null;
|
||||
var vervallen = vervaldatum != null && vervaldatum < new Date();
|
||||
var kosten = oRs("bedrag").Value;
|
||||
oRs.Close();
|
||||
|
||||
if (ins_deelsrtcontrole_status != -1 && ins_deelsrtcontrole_status != 6)
|
||||
dlsrtcont_key = ins_deelsrtcontrole_key;
|
||||
@@ -119,9 +120,10 @@ for (var i = 0; i < ingesloten.length; i++)
|
||||
if (ingesloten[i].inspectiestatus > -1)
|
||||
{ // Bereken de volgende inspectiedatum.
|
||||
// Alleen Active Situatie (AS) soort controle's kunnen gestart worden dus voor scenario key moet "null" genomen worden.
|
||||
sql = "SELECT ins.nextcyclusdate (" + ingesloten[i].ins_key + ", " + ingesloten[i].srtcont_key + ", 1, 1) nextdate FROM DUAL"
|
||||
oRs = Oracle.Execute(sql);
|
||||
var sql = "SELECT ins.nextcyclusdate (" + ingesloten[i].ins_key + ", " + ingesloten[i].srtcont_key + ", 1, 1) nextdate FROM DUAL"
|
||||
var oRs = Oracle.Execute(sql);
|
||||
nextdate = new Date(oRs("nextdate").Value);
|
||||
oRs.Close();
|
||||
}
|
||||
//else Er zijn nog geen inspecties geweest voor dit object. Dit wordt de eerste inspectie.
|
||||
// Volgende inspectiedatum kun je niet berekenen en is dus onbekend (leeg)
|
||||
@@ -237,6 +239,7 @@ for (var i = 0; i < ingesloten.length; i++)
|
||||
+ " ) insp";
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var has_higherprio = !oRs.eof && oRs("isFreezeYear").Value == 1; // Is er een hoger prio soort controle in het freeze jaar?
|
||||
oRs.Close();
|
||||
|
||||
fields.push( { dbs: "ins_deelsrtcontrole_freezecost", typ: "float", val: (has_higherprio? 0 : ingesloten[i].kosten) } );
|
||||
fields.push( { dbs: "ins_deelsrtcontrole_freezedate", typ: "datetime", val: new Date(new Date().setFullYear(mjb_freeze_year)) } );
|
||||
@@ -254,34 +257,41 @@ for (var i = 0; i < ingesloten.length; i++)
|
||||
result.success = false;
|
||||
}
|
||||
|
||||
// TODO: Melding aanmaken bij bevriezen van taak als setting op internal staat.
|
||||
//if (false && S("mjb_operation_external") == 0) // Operational handling mjob {0=internal (default) | 1=external}.
|
||||
if (S("mjb_operation_external") == 0) // Operational handling mjob {0=internal (default) | 1=external}.
|
||||
// Melding aanmaken bij bevriezen van taak als setting op internal staat.
|
||||
var sql = "SELECT di.ctr_ismjob"
|
||||
+ " FROM ins_v_defined_inspect di"
|
||||
+ " WHERE di.ins_deel_key = " + ingesloten[i].ins_key
|
||||
+ " AND di.ins_srtcontrole_key = " + ingesloten[i].srtcont_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var ismjob = oRs("ctr_ismjob").Value == 1;
|
||||
|
||||
if (freeze && ismjob && S("mjb_operation_external") == 0) // Operational handling mjob {0=internal (default) | 1=external}.
|
||||
{ // Melding aanmaken bij bevriezing.
|
||||
// De setting "mjb_default_stdmelding" moet gevuld zijn met een geldige waarde. Daar gaan we van uit.
|
||||
var sql = "SELECT COALESCE(di.mld_stdmelding_key, fac.safe_To_Number(fac.getsetting ('mjb_default_stdmelding'))) default_stdmelding"
|
||||
+ " FROM ins_deelsrtcontrole idsc"
|
||||
+ " , ins_srtcontrole isc"
|
||||
+ " , ins_tab_discipline itd"
|
||||
+ " , ins_v_defined_inspect di"
|
||||
+ " WHERE idsc.ins_srtcontrole_key = isc.ins_srtcontrole_key"
|
||||
+ " AND idsc.ins_scenario_key = isc.ins_scenario_key"
|
||||
+ " AND isc.ctr_discipline_key = itd.ins_discipline_key"
|
||||
+ " AND isc.ins_srtcontrole_key = di.ins_srtcontrole_key"
|
||||
+ " AND idsc.ins_deel_key = di.ins_deel_key"
|
||||
+ " AND idsc.ins_deelsrtcontrole_key = " + ingesloten[i].dlsrtcont_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
sql = "SELECT COALESCE(di.mld_stdmelding_key, fac.safe_To_Number(fac.getsetting ('mjb_default_stdmelding'))) default_stdmelding"
|
||||
+ " , di.ctr_ismjob"
|
||||
+ " FROM ins_deelsrtcontrole idsc"
|
||||
+ " , ins_srtcontrole isc"
|
||||
+ " , ins_tab_discipline itd"
|
||||
+ " , ins_v_defined_inspect di"
|
||||
+ " WHERE idsc.ins_srtcontrole_key = isc.ins_srtcontrole_key"
|
||||
+ " AND idsc.ins_scenario_key = isc.ins_scenario_key"
|
||||
+ " AND isc.ctr_discipline_key = itd.ins_discipline_key"
|
||||
+ " AND isc.ins_srtcontrole_key = di.ins_srtcontrole_key"
|
||||
+ " AND idsc.ins_deel_key = di.ins_deel_key"
|
||||
+ " AND idsc.ins_deelsrtcontrole_key = " + ingesloten[i].dlsrtcont_key;
|
||||
oRs = Oracle.Execute(sql);
|
||||
var default_stdmelding = oRs("default_stdmelding").Value;
|
||||
var stdm_info = mld.mld_stdmeldinginfo(default_stdmelding);
|
||||
|
||||
var sql = "SELECT alg_locatie_key,"
|
||||
+ " alg_gebouw_key,"
|
||||
+ " alg_verdieping_key,"
|
||||
+ " alg_ruimte_key"
|
||||
+ " FROM ins_deel isd, alg_v_allonroerendgoed alg"
|
||||
+ " WHERE ins_deel_key = " + ingesloten[i].ins_key
|
||||
+ " AND alg_onroerendgoed_keys = isd.ins_alg_ruimte_key"
|
||||
+ " AND isd.ins_alg_ruimte_type = 'R'"
|
||||
sql = "SELECT alg_locatie_key,"
|
||||
+ " alg_gebouw_key,"
|
||||
+ " alg_verdieping_key,"
|
||||
+ " alg_ruimte_key"
|
||||
+ " FROM ins_deel isd, alg_v_allonroerendgoed alg"
|
||||
+ " WHERE ins_deel_key = " + ingesloten[i].ins_key
|
||||
+ " AND alg_onroerendgoed_keys = isd.ins_alg_ruimte_key"
|
||||
+ " AND isd.ins_alg_ruimte_type = 'R'"
|
||||
oRs = Oracle.Execute(sql);
|
||||
if (!oRs.Eof)
|
||||
{
|
||||
@@ -308,6 +318,7 @@ for (var i = 0; i < ingesloten.length; i++)
|
||||
meldbron: 10};
|
||||
var issues_array = issues.REST_POST(params, jsondata);
|
||||
}
|
||||
oRs.Close();
|
||||
}
|
||||
|
||||
// Nu nog de status zetten, tracking genereren en notificaties sturen.
|
||||
|
||||
44
APPL/MGT/mld_mld_kenmerk.asp
Normal file
@@ -0,0 +1,44 @@
|
||||
<%@language = "javascript" %>
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: mld_mld_kenmerk.asp
|
||||
|
||||
Description: Aanroep van model_mld_kenmerk voor meldingen
|
||||
|
||||
Context:
|
||||
|
||||
Notes: LET OP: alleen gebruikt voor api2 opvragen melding kenmerken
|
||||
*Bewerken* van gaat nog via
|
||||
eigen schermen via MLD\mld_kenmerk.asp
|
||||
*/
|
||||
%>
|
||||
<!-- #include file="../scf/scaffolding.inc" -->
|
||||
<!-- #include file="../mgt/mgt_tools.inc" -->
|
||||
<!-- #include file="../api2/model_mld_kenmerk.inc" -->
|
||||
<%
|
||||
var this_model = new model_mld_kenmerk('M');
|
||||
|
||||
scaffolding(this_model,
|
||||
{
|
||||
"search": {
|
||||
"autosearch": true,
|
||||
"filters": [
|
||||
"issuepropertytype",
|
||||
"ordertype"
|
||||
]
|
||||
},
|
||||
"list": {
|
||||
"columns": [
|
||||
"id",
|
||||
"issuepropertytype",
|
||||
"ordertype",
|
||||
"sequence",
|
||||
"group",
|
||||
"required"
|
||||
]
|
||||
},
|
||||
"print": {}
|
||||
});
|
||||
%>
|
||||
@@ -38,10 +38,7 @@ var model_params = {
|
||||
"budgetproject",
|
||||
"budgetcostcategory",
|
||||
"costtypegroup"
|
||||
],
|
||||
"requires": {
|
||||
"js": ["../bgt/bgt_budget.js"]
|
||||
}
|
||||
]
|
||||
},
|
||||
"list": {
|
||||
"columns": [
|
||||
@@ -50,16 +47,19 @@ var model_params = {
|
||||
"remark",
|
||||
"altcode"
|
||||
]
|
||||
},
|
||||
"edit": {
|
||||
"requires": {
|
||||
"js": ["../bgt/bgt_budget.js"]
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
if (S("bgt_enabled"))
|
||||
{
|
||||
model_params.search.requires = {
|
||||
"js": ["../bgt/bgt_budget.js"]
|
||||
};
|
||||
model_params.edit = {
|
||||
"requires": {
|
||||
"js": ["../bgt/bgt_budget.js"]
|
||||
}
|
||||
};
|
||||
model_params.wrap = {
|
||||
"no_default_frames": true,
|
||||
"frames": [ { url: "../bgt/bgt_budget.asp?mode=list&costtype={0}" } ]
|
||||
|
||||
@@ -2403,6 +2403,7 @@ mld = {setmeldingstatus:
|
||||
+ " , t.mld_typeopdr_typeopdr_key"
|
||||
+ " , t.mld_typeopdr_contract"
|
||||
+ " , t.mld_typeopdr_kosten_verplicht"
|
||||
+ " , t.mld_typeopdr_fvs"
|
||||
+ " FROM mld_typeopdr t"
|
||||
+ " WHERE t.mld_typeopdr_key = " + opdr_type;
|
||||
oRs = Oracle.Execute(sql);
|
||||
@@ -2417,6 +2418,7 @@ mld = {setmeldingstatus:
|
||||
result.typeopdr_typeopdr_key = oRs("mld_typeopdr_typeopdr_key").Value; // De mld_typeopdr_key voor vervolgopdracht (indien dit een offerte was)
|
||||
result.typeopdr_contract = oRs("mld_typeopdr_contract").Value;
|
||||
result.typeopdr_kosten_verplicht = oRs("mld_typeopdr_kosten_verplicht").Value || 0; // Opdracht kosten verplicht (bitwise) bij (0 = niet verplicht, 1 = save + 2 = afmelden, 4 = afronden).
|
||||
result.typeopdr_fvs = oRs("mld_typeopdr_fvs").Value;
|
||||
|
||||
if (copy)
|
||||
{
|
||||
|
||||
@@ -22,6 +22,7 @@ if (mld_key_arr.length)
|
||||
<!-- #include file="../Shared/iface.inc" -->
|
||||
<!-- #include file="../Shared/json2.js" -->
|
||||
<!-- #include file="../Shared/selector.inc" -->
|
||||
<!-- #include file="../ins/ins.inc" -->
|
||||
<!-- #include file="mld.inc" -->
|
||||
<%
|
||||
// LET OP: Het eerste stuk komt (nog) letterlijk ook zo terug bij mld_close_save.asp
|
||||
@@ -109,9 +110,50 @@ user.anything_todo_or_abort(!reqStatusEmptyMelding.length, reqStatusEmptyMelding
|
||||
user.auth_required_or_abort(!(mld_key_arr.length == 1 && futureOpdr), L("lcl_mld_einddatum_to_late_mld")); // Bij enkele melding met toekomstige opdrachten een aparte melding geven
|
||||
user.anything_todo_or_abort(tobeclosed > 0); // We klagen niet over enkele wel en enkele niet
|
||||
|
||||
var mld_melding = mld.mld_melding_info(ingesloten[0]); // Neem voor informatie de eerste melding.
|
||||
lcl.set_dialect(mld_melding.srtdisc, "MLD_SRTDISCIPLINE_KEY");
|
||||
var canCloseCtr = [];
|
||||
var srtContKeyArray = [];
|
||||
var controleModeArray = [-1, -1, -1]; // De drie controlemoden zijn niet aanwezig (-1);
|
||||
for (var i = 0; i < ingesloten.length; i++)
|
||||
{
|
||||
var mld_melding = mld.mld_melding_info(ingesloten[i]);
|
||||
if (i == 0) lcl.set_dialect(mld_melding.srtdisc, "MLD_SRTDISCIPLINE_KEY"); // Neem voor informatie de eerste melding.
|
||||
|
||||
if (mld_melding.kto_key > 0)
|
||||
{
|
||||
var sql = "SELECT dsc.ins_deel_key"
|
||||
+ " , dsc.ins_srtcontrole_key"
|
||||
+ " , ctr_disc_params_controle_type"
|
||||
+ " FROM ins_deelsrtcontrole dsc"
|
||||
+ " , ins_srtcontrole isc"
|
||||
+ " , ctr_disc_params cdp"
|
||||
+ " WHERE dsc.ins_srtcontrole_key = isc.ins_srtcontrole_key"
|
||||
+ " AND isc.ctr_discipline_key = cdp.ctr_ins_discipline_key"
|
||||
+ " AND dsc.ins_deelsrtcontrole_key = " + mld_melding.kto_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
// De controle moet aanwezig zijn.
|
||||
var this_ins = ins.func_enabled_deel(oRs("ins_deel_key").Value,
|
||||
{srtcont_key: oRs("ins_srtcontrole_key").Value,
|
||||
deelsrtcont_key: mld_melding.kto_key,
|
||||
scen_key: 1
|
||||
});
|
||||
if (this_ins.canInspClose)
|
||||
{
|
||||
canCloseCtr.push({ ins_key: oRs("ins_deel_key").Value,
|
||||
srtcont_key: oRs("ins_srtcontrole_key").Value,
|
||||
deelsrtcont_key: mld_melding.kto_key,
|
||||
controlemode: oRs("ctr_disc_params_controle_type").Value
|
||||
});
|
||||
srtContKeyArray.push(oRs("ins_srtcontrole_key").Value);
|
||||
controleModeArray[oRs("ctr_disc_params_controle_type").Value - 1] = oRs("ctr_disc_params_controle_type").Value; // Controlemode 2 op de 2de plek van de Array invullen [-1, 2, -1].
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// De -1 waarden in de controlemode Array verwijderen
|
||||
for (var i = 2; i >= 0; i--)
|
||||
{
|
||||
if (controleModeArray[i] == -1) controleModeArray.splice(i, 1);
|
||||
}
|
||||
%>
|
||||
<html>
|
||||
<head>
|
||||
@@ -129,12 +171,43 @@ lcl.set_dialect(mld_melding.srtdisc, "MLD_SRTDISCIPLINE_KEY");
|
||||
FcltMgr.closeDetail(window, { cancel: true } );
|
||||
}
|
||||
|
||||
function mld_close_callback(json, textStatus)
|
||||
{
|
||||
if (json.success)
|
||||
{
|
||||
if ($("#ctr_close").is(":checked"))
|
||||
{
|
||||
<% for (var i = 0; i < canCloseCtr.length; i++)
|
||||
{ %>
|
||||
var data = { savemode: 'C',
|
||||
ins_keys: <%=canCloseCtr[i].ins_key%>,
|
||||
srtcont_key_arr: <%=canCloseCtr[i].srtcont_key%>,
|
||||
//deelsrtcont_key wordt niet gebruikt door ins_inspect_save.asp
|
||||
finish: 0,
|
||||
deelsrtcontrole_datum: (new Date()).getTime(),
|
||||
sel_controlemode: $("#sel_controlemode" + <%=canCloseCtr[i].controlemode%>).val()
|
||||
};
|
||||
protectRequest.dataToken(data);
|
||||
|
||||
$.ajax({ type: "POST",
|
||||
url: "../ins/ins_inspect_save.asp",
|
||||
data: data,
|
||||
//success: FcltCallbackClose,
|
||||
datatype: "json",
|
||||
async: false
|
||||
});
|
||||
<% } %>
|
||||
}
|
||||
FcltCallbackClose(json);
|
||||
}
|
||||
}
|
||||
|
||||
function mld_close(close)
|
||||
{
|
||||
if (!validateForm("u2"))
|
||||
return false;
|
||||
|
||||
$.post($("form[name=closeform]")[0].action, $("[name=closeform]").serialize(), FcltCallbackClose, "json");
|
||||
$.post($("form[name=closeform]")[0].action, $("[name=closeform]").serialize(), mld_close_callback, "json");
|
||||
return true; // disable button
|
||||
}
|
||||
|
||||
@@ -155,6 +228,28 @@ lcl.set_dialect(mld_melding.srtdisc, "MLD_SRTDISCIPLINE_KEY");
|
||||
}
|
||||
}
|
||||
|
||||
function ctrcloseToggler(deze)
|
||||
{
|
||||
var ctrclose = $(deze).prop('checked');
|
||||
if (ctrclose)
|
||||
{
|
||||
<% for (var i = 0; i < controleModeArray.length; i++)
|
||||
{ %>
|
||||
$("#sel_controlemode" + <%=controleModeArray[i]%>).addClass("required");
|
||||
<% } %>
|
||||
$("#inscontrolemode").show();
|
||||
FcltMgr.resized(window);
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#inscontrolemode").hide();
|
||||
<% for (var i = 0; i < controleModeArray.length; i++)
|
||||
{ %>
|
||||
$("#sel_controlemode" + <%=controleModeArray[i]%>).removeClass("required");
|
||||
<% } %>
|
||||
}
|
||||
}
|
||||
|
||||
FcltMgr.fixActiveelementError();
|
||||
$(document).ready(function() {
|
||||
$("#opmerk").focus();
|
||||
@@ -271,13 +366,58 @@ lcl.set_dialect(mld_melding.srtdisc, "MLD_SRTDISCIPLINE_KEY");
|
||||
|
||||
RWTEXTAREATR("opmerk", "fldremark" + (req?" required":""), "", "", { tdhtml_ta: "colspan='2'", html: "rows='8'" });
|
||||
if (canCloseOpdr.length)
|
||||
{
|
||||
%><tr><td colspan="2">
|
||||
<% CHECKBOX("fldopdrclose", "opdr_close", S("mld_close_opdr_default")); %>
|
||||
<label for="opdr_close"><%=canCloseOpdr.length + L("lcl_mld_ord_close_all")%></label>
|
||||
</td></tr>
|
||||
<%
|
||||
}
|
||||
{ %>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<% CHECKBOX("fldopdrclose", "opdr_close", S("mld_close_opdr_default")); %>
|
||||
<label for="opdr_close"><%=canCloseOpdr.length + L("lcl_mld_ord_close_all")%></label>
|
||||
</td>
|
||||
</tr>
|
||||
<% }
|
||||
if (canCloseCtr.length)
|
||||
{ %>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<% CHECKBOX("fldctrclose", "ctr_close", 0, { html: "onChange='ctrcloseToggler(this)'" }); %>
|
||||
<label for="ctr_close"><%=canCloseCtr.length + L("lcl_mld_ctr_close_all")%></label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<div id="inscontrolemode" style="display: none">
|
||||
<table>
|
||||
<% for (var i = 0; i < controleModeArray.length; i++)
|
||||
{ // Maximaal 3 types.
|
||||
var sctype;
|
||||
switch (controleModeArray[i])
|
||||
{
|
||||
case 1: sctype = L("lcl_ins_srtcontrole_insp"); break;
|
||||
case 2: sctype = L("lcl_ins_srtcontrole_repl"); break;
|
||||
case 3: sctype = L("lcl_ins_srtcontrole_cert"); break;
|
||||
}
|
||||
|
||||
sql = "SELECT ins_controlemode_key"
|
||||
+ " , " + lcl.xsqla('ins_controlemode_oms', 'ins_controlemode_key')
|
||||
+ " FROM ins_controlemode"
|
||||
+ " WHERE ins_srtcontrole_type = " + controleModeArray[i]
|
||||
+ " AND ins_controlemode_success = 1"
|
||||
+ " ORDER BY 2";
|
||||
|
||||
// Methode is voor de status Afgemeld(5) en Historie/Verwerkt(6) altijd ingevuld.
|
||||
// Required wordt gezet als de selectbox zichtbaar wordt.
|
||||
FCLTselector("sel_controlemode" + controleModeArray[i],
|
||||
sql,
|
||||
{ label: L("lcl_ins_controle_mode") + " " + sctype,
|
||||
initKey: -1,
|
||||
emptyOption: L("lcl_select_controlemode"),
|
||||
selectjustone: true
|
||||
});
|
||||
}
|
||||
%> </table>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<% }
|
||||
BLOCK_END();
|
||||
buttons = [];
|
||||
if (has_opdr_opm)
|
||||
|
||||
@@ -997,6 +997,16 @@ lcl.set_dialect(mld_melding.srtdisc, "MLD_SRTDISCIPLINE_KEY");
|
||||
|
||||
ROFIELDTR("fld", L("lcl_mld_meldbron"), oRs("mld_meldbron_omschrijving").Value);
|
||||
oRs.close();
|
||||
if (mld_melding.meldbron_key == 10 && mld_melding.kto_type == 'T')
|
||||
{
|
||||
sql = "SELECT dsc.ins_deelsrtcontrole_freezecost"
|
||||
+ " FROM ins_deelsrtcontrole dsc"
|
||||
+ " WHERE dsc.ins_deelsrtcontrole_key = " + mld_melding.kto_key;
|
||||
oRs = Oracle.Execute(sql);
|
||||
// De controle moet aanwezig zijn.
|
||||
ROFIELDTR("fld", L("lcl_mld_frozen_costs") + " " + L("lcl_valutasign"), oRs("ins_deelsrtcontrole_freezecost").Value, {suppressEmpty: true});
|
||||
oRs.close();
|
||||
}
|
||||
}
|
||||
ROFIELDTR("fld", L("lcl_mld_meldbron_nr"), mld_melding.meldbron_nr, {suppressEmpty: true});
|
||||
|
||||
@@ -1119,25 +1129,25 @@ lcl.set_dialect(mld_melding.srtdisc, "MLD_SRTDISCIPLINE_KEY");
|
||||
gen_flex(2); // dan hier....
|
||||
|
||||
var buttons = [];
|
||||
|
||||
|
||||
if (S("mld_edit_search_similar") && (backo || fronto))
|
||||
{
|
||||
var goegel = "FcltMgr.openDetail('/appl/mld/mld_search.asp?urole=" + urole + "&chkSelf=1&chkBusy=1&autosearch=1&opl=1";
|
||||
|
||||
|
||||
if (S("mld_edit_search_similar") & 1) // Omschrijving
|
||||
goegel += "&searchtekst='+escape($('#melding_omschrijving').val())+'";
|
||||
if (S("mld_edit_search_similar") & 2) // Locatie
|
||||
goegel += "&locatie_key='" + "+($('#locatiekey').val()||-1)+" + "'";
|
||||
|
||||
|
||||
/* Future additions:
|
||||
if (S("mld_edit_search_similar") & 3) // XXX1
|
||||
goegel += "&XXX1=" + mld_melding.XXX1;
|
||||
if (S("mld_edit_search_similar") & 4) // XXX2
|
||||
goegel += "&XXX2=" + mld_melding.XXX2;
|
||||
*/
|
||||
|
||||
|
||||
goegel += "&disc=-1', '', '" + L("lcl_mld_similarcalls") + "') ";
|
||||
|
||||
|
||||
if (lBestaandeMelding && (this_mld.canBOwrite || this_mld.canFOwrite))
|
||||
buttons.push({ icon: "lightbulb.png", title: L("lcl_mld_similarcalls"), action: goegel});
|
||||
}
|
||||
|
||||
@@ -361,15 +361,14 @@ var copyconfirm = getQParamInt("copyconfirm", 0) == 1;
|
||||
IFRAMER("mlduitvoeren", page, { refreshOnClose: true, initHide: true });
|
||||
}
|
||||
|
||||
var sql = "SELECT fin_factuur_key FROM fin_factuur WHERE mld_opdr_key = " + opdr_key;
|
||||
oRs = Oracle.Execute(sql);
|
||||
if (!oRs.eof)
|
||||
this_opdr = mld.func_enabled_opdracht(opdr_key); // wat mag ik zoal op deze opdracht
|
||||
|
||||
if (this_opdr.canListFactuur)
|
||||
{
|
||||
page = "../fin/fin_list.asp?opdr_key=" + opdr_key + "&embedded=1";
|
||||
IFRAMER("finFrame", page, { title: L("lcl_fin_invoices_frame") , initHide: true, refreshOnClose: true });
|
||||
page = "../fin/fin_list.asp?opdr_key=" + opdr_key + "&embedded=1";
|
||||
IFRAMER("finFrame", page, { title: L("lcl_fin_invoices_frame") , initHide: true, refreshOnClose: true });
|
||||
}
|
||||
|
||||
this_opdr = mld.func_enabled_opdracht(opdr_key); // wat mag ik zoal op deze opdracht
|
||||
if (opdr_key > -1)
|
||||
{
|
||||
if (S("mld_note_mode") == 2) // new style
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
<!-- #include file="../Shared/selector.inc" -->
|
||||
<!-- #include file="../Shared/stdmeldingselector.inc" -->
|
||||
<!-- #include file="../Shared/save2db.inc" -->
|
||||
<!-- #include file="../ins/ins.inc" -->
|
||||
<!-- #include file="mld.inc" -->
|
||||
|
||||
<%
|
||||
@@ -27,7 +28,7 @@ var opmerk = getFParam("opmerk", "");
|
||||
|
||||
var result = {};
|
||||
var toberejected = 0;
|
||||
var ingesloten = [];
|
||||
var ingesloten = []; // mld_key.
|
||||
var reqStatusEmptyMelding = [];
|
||||
// Bepaal de meldingen in de selectie die
|
||||
// ook echt afgewezen kunnen of mogen worden.
|
||||
@@ -38,7 +39,7 @@ for (var i = 0; i < mld_key_arr.length; i++)
|
||||
lcl.set_dialect(mld_info.srtdisc, "MLD_SRTDISCIPLINE_KEY");
|
||||
if (this_mld.canReject && !mld_info.parent_key) // Geen child melding
|
||||
{
|
||||
ingesloten.push(mld_key_arr[i]);
|
||||
ingesloten.push({ mld_key: mld_key_arr[i] });
|
||||
toberejected++;
|
||||
}
|
||||
// Zijn er nog kenmerken die nu wel verplicht zijn?
|
||||
@@ -52,6 +53,57 @@ for (var i = 0; i < mld_key_arr.length; i++)
|
||||
// De laatst gebruikte set_dialect uit de for-lus geldt nu voor de onderstaande code.
|
||||
user.anything_todo_or_abort(!reqStatusEmptyMelding.length, reqStatusEmptyMelding.join("<br />"));
|
||||
user.anything_todo_or_abort(toberejected > 0); // We klagen niet over enkele wel en enkele niet
|
||||
|
||||
var mldKeyArray = "";
|
||||
for (var i = 0; i < ingesloten.length; i++)
|
||||
{
|
||||
mldKeyArray += (i > 0? "," : "") + ingesloten[i].mld_key;
|
||||
}
|
||||
|
||||
var canCloseCtr = 0;
|
||||
var srtContKeyArray = [];
|
||||
var controleModeArray = [-1, -1, -1]; // De drie controlemoden zijn niet aanwezig (-1);
|
||||
for (var i = 0; i < ingesloten.length; i++)
|
||||
{
|
||||
var mld_melding = mld.mld_melding_info(ingesloten[i].mld_key);
|
||||
|
||||
ingesloten[i].canInspClose = false;
|
||||
if (mld_melding.kto_key > 0)
|
||||
{
|
||||
var sql = "SELECT dsc.ins_deel_key"
|
||||
+ " , dsc.ins_srtcontrole_key"
|
||||
+ " , ctr_disc_params_controle_type"
|
||||
+ " FROM ins_deelsrtcontrole dsc"
|
||||
+ " , ins_srtcontrole isc"
|
||||
+ " , ctr_disc_params cdp"
|
||||
+ " WHERE dsc.ins_srtcontrole_key = isc.ins_srtcontrole_key"
|
||||
+ " AND isc.ctr_discipline_key = cdp.ctr_ins_discipline_key"
|
||||
+ " AND dsc.ins_deelsrtcontrole_key = " + mld_melding.kto_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
// De controle moet aanwezig zijn.
|
||||
var this_ins = ins.func_enabled_deel(oRs("ins_deel_key").Value,
|
||||
{srtcont_key: oRs("ins_srtcontrole_key").Value,
|
||||
deelsrtcont_key: mld_melding.kto_key,
|
||||
scen_key: 1
|
||||
});
|
||||
if (this_ins.canInspClose)
|
||||
{
|
||||
ingesloten[i].canInspClose = true;
|
||||
ingesloten[i].controlemode = oRs("ctr_disc_params_controle_type").Value;
|
||||
ingesloten[i].ins_key = oRs("ins_deel_key").Value;
|
||||
ingesloten[i].srtcont_key = oRs("ins_srtcontrole_key").Value;
|
||||
canCloseCtr++;
|
||||
srtContKeyArray.push(oRs("ins_srtcontrole_key").Value);
|
||||
controleModeArray[oRs("ctr_disc_params_controle_type").Value - 1] = oRs("ctr_disc_params_controle_type").Value; // Controlemode 2 op de 2de plek van de Array invullen [-1, 2, -1].
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// De -1 waarden in de controlemode Array verwijderen
|
||||
for (var i = 2; i >= 0; i--)
|
||||
{
|
||||
if (controleModeArray[i] == -1) controleModeArray.splice(i, 1);
|
||||
}
|
||||
%>
|
||||
|
||||
<html>
|
||||
@@ -60,52 +112,76 @@ user.anything_todo_or_abort(toberejected > 0); // We klagen niet over enkele wel
|
||||
|
||||
<% if (submitting && opmerk != "")
|
||||
{ // Handle workflow actions for rejection:
|
||||
var notaccepted = 0;
|
||||
for (var i = 0; i < ingesloten.length; i++)
|
||||
{
|
||||
mld.nextworkflowstep(ingesloten[i], 0); // 0 = rejected
|
||||
|
||||
sql = "SELECT mm.mld_melding_opmerking"
|
||||
+ " FROM mld_melding mm"
|
||||
+ " WHERE mld_melding_key = " + ingesloten[i];
|
||||
oRs = Oracle.Execute(sql);
|
||||
var new_opm = (oRs("mld_melding_opmerking").value||""); // + "\n" + opmerk;
|
||||
new_opm = new_opm + ((new_opm + opmerk) != "" ? "\n" : "") + opmerk; // alleen een CR als er al iets staat EN er iets wordt toegevoegd.
|
||||
oRs.Close();
|
||||
|
||||
var fields = [ { dbs: "mld_melding_opmerking", typ: "varchar", val: new_opm, track: L("lcl_mld_inf_Opmerking"), len: 4000 }
|
||||
];
|
||||
|
||||
var mldUpd = buildTrackingUpdate("mld_melding", " mld_melding_key = " + ingesloten[i], fields);
|
||||
oRs = Oracle.Execute(mldUpd.sql);
|
||||
if (mldUpd.trackarray.length)
|
||||
mld.trackmeldingupdate(ingesloten[i], L("lcl_mld_is_mldupd") + "\n" + mldUpd.trackarray.join("\n"));
|
||||
|
||||
// Zetten van de status op afgewezen en afhandelen van de tracking.
|
||||
mld.setmeldingstatus(ingesloten[i], 1); // afgewezen
|
||||
|
||||
// check (zat er al in)
|
||||
// TODO: Het afwijzen gaat niet altijd goed. Wat is de reden daartoe? Status wordt in enkele gevallen niet op 1 gezet door mld.setmeldingstatus?
|
||||
sql = "SELECT ''"
|
||||
+ " FROM mld_melding"
|
||||
+ " WHERE mld_melding_key = " + ingesloten[i]
|
||||
+ " AND mld_melding_status = 1";
|
||||
oRs = Oracle.Execute(sql);
|
||||
if (oRs.eof)
|
||||
{
|
||||
notaccepted++;
|
||||
}
|
||||
}
|
||||
var success = true;
|
||||
var warning = ""
|
||||
if (notaccepted == ingesloten.length)
|
||||
var warning = L("lcl_mld_reject_failed");
|
||||
|
||||
%>
|
||||
<script type="text/javascript">
|
||||
<% var notaccepted = 0;
|
||||
for (var i = 0; i < ingesloten.length; i++)
|
||||
{
|
||||
mld.nextworkflowstep(ingesloten[i].mld_key, 0); // 0 = rejected
|
||||
|
||||
sql = "SELECT mm.mld_melding_opmerking"
|
||||
+ " FROM mld_melding mm"
|
||||
+ " WHERE mld_melding_key = " + ingesloten[i].mld_key;
|
||||
oRs = Oracle.Execute(sql);
|
||||
var new_opm = (oRs("mld_melding_opmerking").value||""); // + "\n" + opmerk;
|
||||
new_opm = new_opm + ((new_opm + opmerk) != "" ? "\n" : "") + opmerk; // alleen een CR als er al iets staat EN er iets wordt toegevoegd.
|
||||
oRs.Close();
|
||||
|
||||
var fields = [ { dbs: "mld_melding_opmerking", typ: "varchar", val: new_opm, track: L("lcl_mld_inf_Opmerking"), len: 4000 }
|
||||
];
|
||||
|
||||
var mldUpd = buildTrackingUpdate("mld_melding", " mld_melding_key = " + ingesloten[i].mld_key, fields);
|
||||
oRs = Oracle.Execute(mldUpd.sql);
|
||||
if (mldUpd.trackarray.length)
|
||||
mld.trackmeldingupdate(ingesloten[i].mld_key, L("lcl_mld_is_mldupd") + "\n" + mldUpd.trackarray.join("\n"));
|
||||
|
||||
// Zetten van de status op afgewezen en afhandelen van de tracking.
|
||||
mld.setmeldingstatus(ingesloten[i].mld_key, 1); // afgewezen
|
||||
|
||||
// check (zat er al in)
|
||||
// TODO: Het afwijzen gaat niet altijd goed. Wat is de reden daartoe? Status wordt in enkele gevallen niet op 1 gezet door mld.setmeldingstatus?
|
||||
sql = "SELECT ''"
|
||||
+ " FROM mld_melding"
|
||||
+ " WHERE mld_melding_key = " + ingesloten[i].mld_key
|
||||
+ " AND mld_melding_status = 1";
|
||||
oRs = Oracle.Execute(sql);
|
||||
if (oRs.eof)
|
||||
{
|
||||
notaccepted++;
|
||||
}
|
||||
|
||||
var ctr_close = getFParam("ctr_close", "off") == "on";
|
||||
if (ctr_close && ingesloten[i].canInspClose)
|
||||
{ %>
|
||||
var data = { savemode: 'C',
|
||||
ins_keys: <%=ingesloten[i].ins_key%>,
|
||||
srtcont_key_arr: <%=ingesloten[i].srtcont_key%>,
|
||||
//deelsrtcont_key wordt niet gebruikt door ins_inspect_save.asp
|
||||
finish: 0,
|
||||
deelsrtcontrole_datum: (new Date()).getTime(),
|
||||
sel_controlemode: <%=getFParamInt("sel_controlemode" + ingesloten[i].controlemode)%>
|
||||
};
|
||||
protectRequest.dataToken(data);
|
||||
|
||||
$.ajax({ type: "POST",
|
||||
url: "../ins/ins_inspect_save.asp",
|
||||
data: data,
|
||||
//success: FcltCallbackClose,
|
||||
datatype: "json",
|
||||
async: false
|
||||
});
|
||||
<% }
|
||||
}
|
||||
var success = true;
|
||||
var warning = "";
|
||||
if (notaccepted == ingesloten.length)
|
||||
warning = L("lcl_mld_reject_failed");
|
||||
%> </script>
|
||||
|
||||
<script type="text/javascript">
|
||||
FcltMgr.closeDetail( window,
|
||||
{
|
||||
key: "<%=ingesloten.join(",")%>",
|
||||
key: "<%=mldKeyArray%>",
|
||||
warning: "<%=safe.jsstring(warning)%>",
|
||||
success: "<%=success? 1 : 0%>"
|
||||
});
|
||||
@@ -144,6 +220,28 @@ user.anything_todo_or_abort(toberejected > 0); // We klagen niet over enkele wel
|
||||
$("#opmerk").val($("#opmerk").val() + ($("#opmerk").val() != ""? "\n" : "") + PastedText);
|
||||
}
|
||||
}
|
||||
|
||||
function ctrcloseToggler(deze)
|
||||
{
|
||||
var ctrclose = $(deze).prop('checked');
|
||||
if (ctrclose)
|
||||
{
|
||||
<% for (var i = 0; i < controleModeArray.length; i++)
|
||||
{ %>
|
||||
$("#sel_controlemode" + <%=controleModeArray[i]%>).addClass("required");
|
||||
<% } %>
|
||||
$("#inscontrolemode").show();
|
||||
FcltMgr.resized(window);
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#inscontrolemode").hide();
|
||||
<% for (var i = 0; i < controleModeArray.length; i++)
|
||||
{ %>
|
||||
$("#sel_controlemode" + <%=controleModeArray[i]%>).removeClass("required");
|
||||
<% } %>
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<% } %>
|
||||
</head>
|
||||
@@ -162,7 +260,7 @@ user.anything_todo_or_abort(toberejected > 0); // We klagen niet over enkele wel
|
||||
+ " , mld_stdmelding sm"
|
||||
+ " , mld_discipline md"
|
||||
+ " , ins_srtdiscipline sd"
|
||||
+ " WHERE mld_melding_key = " + ingesloten[0]
|
||||
+ " WHERE mld_melding_key = " + ingesloten[0].mld_key
|
||||
+ " AND mm.mld_stdmelding_key = sm.mld_stdmelding_key"
|
||||
+ " AND sm.mld_ins_discipline_key = md.ins_discipline_key"
|
||||
+ " AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key";
|
||||
@@ -176,9 +274,9 @@ user.anything_todo_or_abort(toberejected > 0); // We klagen niet over enkele wel
|
||||
}
|
||||
|
||||
%>
|
||||
<form id="rejectform" name="rejectform" action="mld_reject.asp?submit=1&mld_key=<%=ingesloten.join(",")%>" method="post">
|
||||
<form id="rejectform" name="rejectform" action="mld_reject.asp?submit=1&mld_key=<%=mldKeyArray%>" method="post">
|
||||
<%
|
||||
BLOCK_START("mldReject", L("lcl_forward_mld_1") + ingesloten.join(","));
|
||||
BLOCK_START("mldReject", L("lcl_forward_mld_1") + mldKeyArray);
|
||||
// <!-- Meldingen (Discipline) -->
|
||||
FCLTstdmeldingselector("stdm", "sgStdm", {label: L("lcl_complain"),
|
||||
perslidKey: user_key,
|
||||
@@ -203,7 +301,7 @@ user.anything_todo_or_abort(toberejected > 0); // We klagen niet over enkele wel
|
||||
+ " , mld_stdmelding std"
|
||||
+ " , mld_discipline md"
|
||||
+ " , ins_srtdiscipline sd"
|
||||
+ " WHERE mld_melding_key IN (" + ingesloten.join(",") + ")"
|
||||
+ " WHERE mld_melding_key IN (" + mldKeyArray + ")"
|
||||
+ " AND mm.mld_stdmelding_key = std.mld_stdmelding_key"
|
||||
+ " AND std.mld_ins_discipline_key = md.ins_discipline_key"
|
||||
+ " AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key";
|
||||
@@ -222,7 +320,7 @@ user.anything_todo_or_abort(toberejected > 0); // We klagen niet over enkele wel
|
||||
+ " AND BITAND(mld_afmeldtekst_usefor, 2) = 2";
|
||||
|
||||
var sql_from_o = " FROM mld_opdr mo"
|
||||
+ " WHERE mo.mld_melding_key = " + ingesloten[0]
|
||||
+ " WHERE mo.mld_melding_key = " + ingesloten[0].mld_key
|
||||
+ " AND mo.mld_statusopdr_key = 6" // status=afgemeld
|
||||
+ " AND mo.mld_opdr_opmerking IS NOT NULL";
|
||||
|
||||
@@ -270,6 +368,50 @@ user.anything_todo_or_abort(toberejected > 0); // We klagen niet over enkele wel
|
||||
L("lcl_mld_inf_Opmerking"),
|
||||
"",
|
||||
{html: "rows='8'"});
|
||||
if (canCloseCtr > 0)
|
||||
{ %>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<% CHECKBOX("fldctrclose", "ctr_close", 0, { html: "onChange='ctrcloseToggler(this)'" }); %>
|
||||
<label for="ctr_close"><%=canCloseCtr + L("lcl_mld_ctr_close_all")%></label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<div id="inscontrolemode" style="display: none">
|
||||
<table>
|
||||
<% for (var i = 0; i < controleModeArray.length; i++)
|
||||
{ // Maximaal 3 types.
|
||||
var sctype;
|
||||
switch (controleModeArray[i])
|
||||
{
|
||||
case 1: sctype = L("lcl_ins_srtcontrole_insp"); break;
|
||||
case 2: sctype = L("lcl_ins_srtcontrole_repl"); break;
|
||||
case 3: sctype = L("lcl_ins_srtcontrole_cert"); break;
|
||||
}
|
||||
|
||||
sql = "SELECT ins_controlemode_key"
|
||||
+ " , " + lcl.xsqla('ins_controlemode_oms', 'ins_controlemode_key')
|
||||
+ " FROM ins_controlemode"
|
||||
+ " WHERE ins_srtcontrole_type = " + controleModeArray[i]
|
||||
+ " AND (ins_controlemode_success IS NULL OR ins_controlemode_success = 0)"
|
||||
+ " ORDER BY 2";
|
||||
|
||||
// Methode is voor de status Afgemeld(5) en Historie/Verwerkt(6) altijd ingevuld.
|
||||
// Required wordt gezet als de selectbox zichtbaar wordt.
|
||||
FCLTselector("sel_controlemode" + controleModeArray[i],
|
||||
sql,
|
||||
{ label: L("lcl_ins_controle_mode") + " " + sctype,
|
||||
initKey: -1,
|
||||
emptyOption: L("lcl_select_controlemode"),
|
||||
selectjustone: true
|
||||
});
|
||||
}
|
||||
%> </table>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<% }
|
||||
BLOCK_END();
|
||||
|
||||
var buttons = [ {title: L("lcl_reject"), icon: "opslaan.png", action: "mld_reject()", singlepress: true, id: "btn_reject_submit" },
|
||||
|
||||
@@ -442,6 +442,16 @@ function parentButton()
|
||||
|
||||
ROFIELDTR("fld", L("lcl_mld_meldbron"), oRs("mld_meldbron_omschrijving").value);
|
||||
oRs.close();
|
||||
if (mld_melding.meldbron_key == 10 && mld_melding.kto_type == 'T')
|
||||
{
|
||||
sql = "SELECT dsc.ins_deelsrtcontrole_freezecost"
|
||||
+ " FROM ins_deelsrtcontrole dsc"
|
||||
+ " WHERE dsc.ins_deelsrtcontrole_key = " + mld_melding.kto_key;
|
||||
oRs = Oracle.Execute(sql);
|
||||
// De controle moet aanwezig zijn.
|
||||
ROFIELDTR("fld", L("lcl_mld_frozen_costs") + " " + L("lcl_valutasign"), oRs("ins_deelsrtcontrole_freezecost").Value, {suppressEmpty: true, datatype: "currency"});
|
||||
oRs.close();
|
||||
}
|
||||
}
|
||||
ROFIELDTR("fld", L("lcl_mld_meldbron_nr"), mld_melding.meldbron_nr, {suppressEmpty: true});
|
||||
ROFIELDTR("fld", L("lcl_mld_externr"), mld_melding.externnr, {suppressEmpty: true});
|
||||
|
||||
@@ -419,19 +419,21 @@ var timestamp_notes = new Date();
|
||||
// keuze voor wel of niet zichtbaar FE
|
||||
CHECKBOX("fldcheck", "zichtbaarFE", note_zichtbaarFE, { html: "onchange='notiToggler(this)'" });
|
||||
Response.Write("<label for='zichtbaarFE'>{0}</label>".format(L("lcl_mld_zichtbaar_FE")));
|
||||
|
||||
if (S("mld_flag_on_fenote"))
|
||||
{
|
||||
var actie_bij_melder = (note_zichtbaarFE && S("mld_note_default_notifyFE")==1 ? true : false);
|
||||
// We doen aan pingpongen
|
||||
Response.Write("<span id='notioption'"+(note_zichtbaarFE? "style='display:inline'" :" style='display:none'")+">");
|
||||
CHECKBOX("fldcheck", "notifyFE", actie_bij_melder);
|
||||
Response.Write("<label for='notifyFE'>{0}</label></span>".format(L("lcl_mld_toekennen_FE")));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// re-edit, eigenmelding of geen keuze = niks te kiezen, vermeld even hoe zichtbaar deze note is
|
||||
Response.Write("{0}: {1}".format(L("lcl_mld_zichtbaar_FE"), note_zichtbaarFE?L("lcl_Yes"):L("lcl_No"))); /* vriendelijker is: Wel/Niet zichtbaar voor melder */
|
||||
}
|
||||
if (S("mld_flag_on_fenote") > 0 && mld_info.fenotes>0 && !eigenMelding)
|
||||
{
|
||||
// We doen aan pingpongen
|
||||
Response.Write("<span id='notioption'"+(note_zichtbaarFE? "style='display:inline'" :" style='display:none'")+">");
|
||||
CHECKBOX("fldcheck", "notifyFE", false); /* compatible ware: note_zichtbaarFE, maar dit lijkt mij beter */
|
||||
Response.Write("<label for='notifyFE'>{0}</label></span>".format(L("lcl_mld_toekennen_FE")));
|
||||
}
|
||||
}
|
||||
IFACE.FORM_END();
|
||||
%>
|
||||
|
||||
258
APPL/PDA/attachments.js
Normal file
@@ -0,0 +1,258 @@
|
||||
/* Redmine - project management software
|
||||
Copyright (C) 2006-2017 Jean-Philippe Lang */
|
||||
|
||||
function addFile(inputEl, file, eagerUpload) {
|
||||
var attachmentsFields = $(inputEl).closest('.attachments_form').find('.attachments_fields');
|
||||
var addAttachment = $(inputEl).closest('.attachments_form').find('.add_attachment');
|
||||
var maxFiles = ($(inputEl).attr('multiple') == 'multiple' ? 10 : 1);
|
||||
|
||||
if (attachmentsFields.children().length < maxFiles) {
|
||||
var attachmentId = addFile.nextAttachmentId++;
|
||||
var fileSpan = $('<span>', { id: 'attachments_' + attachmentId });
|
||||
var param = $(inputEl).data('param');
|
||||
if (!param) {param = 'attachments'};
|
||||
|
||||
fileSpan.append(
|
||||
$('<input>', { type: 'text', 'class': 'icon icon-attachment filename readonly', name: param +'[' + attachmentId + '][filename]', readonly: 'readonly'} ).val(file.name),
|
||||
$('<input>', { type: 'text', 'class': 'description', name: param + '[' + attachmentId + '][description]', maxlength: 255, placeholder: $(inputEl).data('description-placeholder') } ).toggle(!eagerUpload),
|
||||
$('<input>', { type: 'hidden', 'class': 'token', name: param + '[' + attachmentId + '][token]'} ),
|
||||
$('<a> </a>').attr({ href: "#", 'class': 'icon-only icon-del remove-upload' }).click(removeFile).toggle(!eagerUpload)
|
||||
).appendTo(attachmentsFields);
|
||||
|
||||
if ($(inputEl).data('description') == 0) {
|
||||
fileSpan.find('input.description').remove();
|
||||
}
|
||||
|
||||
if(eagerUpload) {
|
||||
ajaxUpload(file, attachmentId, fileSpan, inputEl);
|
||||
}
|
||||
|
||||
addAttachment.toggle(attachmentsFields.children().length < maxFiles);
|
||||
return attachmentId;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
addFile.nextAttachmentId = 1;
|
||||
|
||||
function ajaxUpload(file, attachmentId, fileSpan, inputEl) {
|
||||
|
||||
function onLoadstart(e) {
|
||||
fileSpan.removeClass('ajax-waiting');
|
||||
fileSpan.addClass('ajax-loading');
|
||||
$('input:submit', $(this).parents('form')).attr('disabled', 'disabled');
|
||||
}
|
||||
|
||||
function onProgress(e) {
|
||||
if(e.lengthComputable) {
|
||||
this.progressbar( 'value', e.loaded * 100 / e.total );
|
||||
}
|
||||
}
|
||||
|
||||
function actualUpload(file, attachmentId, fileSpan, inputEl) {
|
||||
|
||||
ajaxUpload.uploading++;
|
||||
|
||||
uploadBlob(file, $(inputEl).data('upload-path'), attachmentId, {
|
||||
loadstartEventHandler: onLoadstart.bind(progressSpan),
|
||||
progressEventHandler: onProgress.bind(progressSpan)
|
||||
})
|
||||
.done(function(result) {
|
||||
addInlineAttachmentMarkup(file);
|
||||
progressSpan.progressbar( 'value', 100 ).remove();
|
||||
fileSpan.find('input.description, a').css('display', 'inline-block');
|
||||
})
|
||||
.fail(function(result) {
|
||||
progressSpan.text(result.statusText);
|
||||
}).always(function() {
|
||||
ajaxUpload.uploading--;
|
||||
fileSpan.removeClass('ajax-loading');
|
||||
var form = fileSpan.parents('form');
|
||||
if (form.queue('upload').length == 0 && ajaxUpload.uploading == 0) {
|
||||
$('input:submit', form).removeAttr('disabled');
|
||||
}
|
||||
form.dequeue('upload');
|
||||
});
|
||||
}
|
||||
|
||||
var progressSpan = $('<div>').insertAfter(fileSpan.find('input.filename'));
|
||||
progressSpan.progressbar();
|
||||
fileSpan.addClass('ajax-waiting');
|
||||
|
||||
var maxSyncUpload = $(inputEl).data('max-concurrent-uploads');
|
||||
|
||||
if(maxSyncUpload == null || maxSyncUpload <= 0 || ajaxUpload.uploading < maxSyncUpload)
|
||||
actualUpload(file, attachmentId, fileSpan, inputEl);
|
||||
else
|
||||
$(inputEl).parents('form').queue('upload', actualUpload.bind(this, file, attachmentId, fileSpan, inputEl));
|
||||
}
|
||||
|
||||
ajaxUpload.uploading = 0;
|
||||
|
||||
function removeFile() {
|
||||
$(this).closest('.attachments_form').find('.add_attachment').show();
|
||||
$(this).parent('span').remove();
|
||||
return false;
|
||||
}
|
||||
|
||||
function uploadBlob(blob, uploadUrl, attachmentId, options) {
|
||||
|
||||
var actualOptions = $.extend({
|
||||
loadstartEventHandler: $.noop,
|
||||
progressEventHandler: $.noop
|
||||
}, options);
|
||||
|
||||
uploadUrl = uploadUrl + '?attachment_id=' + attachmentId;
|
||||
if (blob instanceof window.File) {
|
||||
uploadUrl += '&filename=' + encodeURIComponent(blob.name);
|
||||
uploadUrl += '&content_type=' + encodeURIComponent(blob.type);
|
||||
}
|
||||
|
||||
return $.ajax(uploadUrl, {
|
||||
type: 'POST',
|
||||
contentType: 'application/octet-stream',
|
||||
beforeSend: function(jqXhr, settings) {
|
||||
jqXhr.setRequestHeader('Accept', 'application/js');
|
||||
// attach proper File object
|
||||
settings.data = blob;
|
||||
},
|
||||
xhr: function() {
|
||||
var xhr = $.ajaxSettings.xhr();
|
||||
xhr.upload.onloadstart = actualOptions.loadstartEventHandler;
|
||||
xhr.upload.onprogress = actualOptions.progressEventHandler;
|
||||
return xhr;
|
||||
},
|
||||
data: blob,
|
||||
cache: false,
|
||||
processData: false
|
||||
});
|
||||
}
|
||||
|
||||
function addInputFiles(inputEl) {
|
||||
var attachmentsFields = $(inputEl).closest('.attachments_form').find('.attachments_fields');
|
||||
var addAttachment = $(inputEl).closest('.attachments_form').find('.add_attachment');
|
||||
var clearedFileInput = $(inputEl).clone().val('');
|
||||
var sizeExceeded = false;
|
||||
var param = $(inputEl).data('param');
|
||||
if (!param) {param = 'attachments'};
|
||||
|
||||
if ($.ajaxSettings.xhr().upload && inputEl.files) {
|
||||
// upload files using ajax
|
||||
sizeExceeded = uploadAndAttachFiles(inputEl.files, inputEl);
|
||||
$(inputEl).remove();
|
||||
} else {
|
||||
// browser not supporting the file API, upload on form submission
|
||||
var attachmentId;
|
||||
var aFilename = inputEl.value.split(/\/|\\/);
|
||||
attachmentId = addFile(inputEl, { name: aFilename[ aFilename.length - 1 ] }, false);
|
||||
if (attachmentId) {
|
||||
$(inputEl).attr({ name: param + '[' + attachmentId + '][file]', style: 'display:none;' }).appendTo('#attachments_' + attachmentId);
|
||||
}
|
||||
}
|
||||
|
||||
clearedFileInput.prependTo(addAttachment);
|
||||
}
|
||||
|
||||
function uploadAndAttachFiles(files, inputEl) {
|
||||
|
||||
var maxFileSize = $(inputEl).data('max-file-size');
|
||||
var maxFileSizeExceeded = $(inputEl).data('max-file-size-message');
|
||||
|
||||
var sizeExceeded = false;
|
||||
$.each(files, function() {
|
||||
if (this.size && maxFileSize != null && this.size > parseInt(maxFileSize)) {sizeExceeded=true;}
|
||||
});
|
||||
if (sizeExceeded) {
|
||||
window.alert(maxFileSizeExceeded);
|
||||
} else {
|
||||
$.each(files, function() {addFile(inputEl, this, true);});
|
||||
}
|
||||
return sizeExceeded;
|
||||
}
|
||||
|
||||
function handleFileDropEvent(e) {
|
||||
|
||||
$(this).removeClass('fileover');
|
||||
blockEventPropagation(e);
|
||||
|
||||
if ($.inArray('Files', e.dataTransfer.types) > -1) {
|
||||
handleFileDropEvent.target = e.target;
|
||||
uploadAndAttachFiles(e.dataTransfer.files, $('input:file.filedrop').first());
|
||||
}
|
||||
}
|
||||
handleFileDropEvent.target = '';
|
||||
|
||||
function dragOverHandler(e) {
|
||||
$(this).addClass('fileover');
|
||||
blockEventPropagation(e);
|
||||
}
|
||||
|
||||
function dragOutHandler(e) {
|
||||
$(this).removeClass('fileover');
|
||||
blockEventPropagation(e);
|
||||
}
|
||||
|
||||
function setupFileDrop() {
|
||||
if (window.File && window.FileList && window.ProgressEvent && window.FormData) {
|
||||
|
||||
$.event.fixHooks.drop = { props: [ 'dataTransfer' ] };
|
||||
|
||||
$('form div.box:not(.filedroplistner)').has('input:file.filedrop').each(function() {
|
||||
$(this).on({
|
||||
dragover: dragOverHandler,
|
||||
dragleave: dragOutHandler,
|
||||
drop: handleFileDropEvent
|
||||
}).addClass('filedroplistner');
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function addInlineAttachmentMarkup(file) {
|
||||
// insert uploaded image inline if dropped area is currently focused textarea
|
||||
if($(handleFileDropEvent.target).hasClass('wiki-edit') && $.inArray(file.type, window.wikiImageMimeTypes) > -1) {
|
||||
var $textarea = $(handleFileDropEvent.target);
|
||||
var cursorPosition = $textarea.prop('selectionStart');
|
||||
var description = $textarea.val();
|
||||
var sanitizedFilename = file.name.replace(/[\/\?\%\*\:\|\"\'<>\n\r]+/, '_');
|
||||
var inlineFilename = encodeURIComponent(sanitizedFilename);
|
||||
var newLineBefore = true;
|
||||
var newLineAfter = true;
|
||||
if(cursorPosition === 0 || description.substr(cursorPosition-1,1).match(/\r|\n/)) {
|
||||
newLineBefore = false;
|
||||
}
|
||||
if(description.substr(cursorPosition,1).match(/\r|\n/)) {
|
||||
newLineAfter = false;
|
||||
}
|
||||
|
||||
$textarea.val(
|
||||
description.substring(0, cursorPosition)
|
||||
+ (newLineBefore ? '\n' : '')
|
||||
+ inlineFilename
|
||||
+ (newLineAfter ? '\n' : '')
|
||||
+ description.substring(cursorPosition, description.length)
|
||||
);
|
||||
|
||||
$textarea.prop({
|
||||
'selectionStart': cursorPosition + newLineBefore,
|
||||
'selectionEnd': cursorPosition + inlineFilename.length + newLineBefore
|
||||
});
|
||||
$textarea.closest('.jstEditor')
|
||||
.siblings('.jstElements')
|
||||
.find('.jstb_img').click();
|
||||
|
||||
// move cursor into next line
|
||||
cursorPosition = $textarea.prop('selectionStart');
|
||||
$textarea.prop({
|
||||
'selectionStart': cursorPosition + 1,
|
||||
'selectionEnd': cursorPosition + 1
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
$(document).ready(setupFileDrop);
|
||||
$(document).ready(function(){
|
||||
$("input.deleted_attachment").change(function(){
|
||||
$(this).parents('.existing-attachment').toggleClass('deleted', $(this).is(":checked"));
|
||||
}).change();
|
||||
});
|
||||
@@ -564,7 +564,7 @@ else
|
||||
// Dan taakafhandeling (controle_mode) tonen als:
|
||||
// a) De status is "In behandeling(2)" of "Gereed gemeld (5)".
|
||||
// b) De status "In behandeling(2)" is uitgeschakeld.
|
||||
if (ins_deelsrtcontrole_status == 2 || ins_deelsrtcontrole_status == 5 || ((isc_options & 2) != 2))
|
||||
if (ins_deelsrtcontrole_status == 2 || ins_deelsrtcontrole_status == 5 || this_ins.canInspStart)
|
||||
{
|
||||
ROFIELD("sel_srtcontrole_oms", L("lcl_ins_controle"), srtcontrole_oms, {});
|
||||
|
||||
@@ -606,21 +606,21 @@ else
|
||||
{
|
||||
case -1:
|
||||
case 6: // Geen inplannen van inspecties bij mobiel.
|
||||
case 0: if ((isc_options & 2) == 2)
|
||||
case 0: if (this_ins.canInspStart)
|
||||
BUTTON(L("lcl_ins_start"), {click: "ins_start()", dataicon: "clock"});
|
||||
else
|
||||
{
|
||||
if ((isc_options & 4) == 4)
|
||||
if (ins_deelsrtcontrole_status == 2 && this_ins.canInspClose)
|
||||
BUTTON(L("lcl_ins_close"), {click: "ins_submit('C')", dataicon: "comment"});
|
||||
if ((isc_options & 8) == 8)
|
||||
if (ins_deelsrtcontrole_status == 2 && this_ins.canInspFinish)
|
||||
BUTTON(L("lcl_ins_finish"), {click: "ins_submit('F')", dataicon: "check"});
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
case 5: BUTTON(L("lcl_submit"), {click: "ins_submit('E')", dataicon: "refresh"});
|
||||
if (ins_deelsrtcontrole_status == 2 && ((isc_options & 4) == 4))
|
||||
if (ins_deelsrtcontrole_status == 2 && this_ins.canInspClose)
|
||||
BUTTON(L("lcl_ins_close"), {click: "ins_submit('C')", dataicon: "comment"});
|
||||
if ((isc_options & 8) == 8)
|
||||
if (this_ins.canInspFinish)
|
||||
BUTTON(L("lcl_ins_finish"), {click: "ins_submit('F')", dataicon: "check"});
|
||||
break;
|
||||
}
|
||||
@@ -659,7 +659,7 @@ else
|
||||
FOOTER();
|
||||
PAGE_END();
|
||||
PAGE_START({id: "ins-2-"+ins_key, dialog: true})
|
||||
HEADER({title: srtcontrole_oms, back: false, nohome: true}) ;
|
||||
HEADER({title: srtcontrole_oms, back: true, nohome: true}) ;
|
||||
CONTENT_START();
|
||||
ROFIELD("fclthtml", "", srtcontrole_info, {multi: true});
|
||||
CONTENT_END();
|
||||
@@ -677,7 +677,6 @@ else
|
||||
function fncolLink_hist(oRs)
|
||||
{
|
||||
qry_params.deelsrtcontrole_key = oRs("ins_deelsrtcontrole_key").Value;
|
||||
//return "#ins-4-"+ins_key;
|
||||
return "../pda/ins_inspect_hist.asp?ins_key=" + ins_key + "&deelsrtcontrole_key=" + oRs("ins_deelsrtcontrole_key").Value;
|
||||
};
|
||||
function fnPrefix_hist(oRs)
|
||||
@@ -727,15 +726,6 @@ else
|
||||
|
||||
CONTENT_END();
|
||||
PAGE_END();
|
||||
|
||||
|
||||
PAGE_START({id: "ins-4-"+ins_key});
|
||||
HEADER({title: "Vorige inspecties", back: true, nohome: true});
|
||||
CONTENT_START();
|
||||
|
||||
|
||||
CONTENT_END();
|
||||
PAGE_END();
|
||||
%>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -93,6 +93,15 @@ if (ins_key > -1)
|
||||
var urole = getQParamSafe("urole", "bo");
|
||||
var params = { urole: urole };
|
||||
|
||||
params.flags = [];
|
||||
// in tegenstelling tot desktop zijn hier de flags default on
|
||||
// en kun je dus expliciet zaken wegfilteren met &flagN=off
|
||||
for (flagkey=0; flagkey < S("mld_melding_flags"); flagkey++)
|
||||
{
|
||||
if (getQParam("flag" + flagkey, "on") == "on")
|
||||
params.flags.push(flagkey);
|
||||
}
|
||||
|
||||
params.behandel_key = behandel_key;
|
||||
|
||||
// Self overruled de setting S("mld_restrict_mobile_to_me").
|
||||
@@ -167,6 +176,16 @@ var authparams = user.checkAutorisation(autfunction);
|
||||
+ " , " + lcl.xsqla('md.ins_discipline_omschrijving', 'md.ins_discipline_key')
|
||||
+ " , " + lcl.xsqla('std.mld_stdmelding_omschrijving', 'std.mld_stdmelding_key');
|
||||
|
||||
if (S("mld_num_prefix_mode") == 1) // kostenplaats of afdeling
|
||||
{
|
||||
sqln += ", COALESCE((SELECT prs_kostenplaats_nr"
|
||||
+ " FROM prs_kostenplaats k"
|
||||
+ " WHERE m.prs_kostenplaats_key = k.prs_kostenplaats_key),"
|
||||
+ " (SELECT prs_afdeling_naam"
|
||||
+ " FROM prs_afdeling d"
|
||||
+ " WHERE p.prs_afdeling_key = d.prs_afdeling_key)) mld_prefix";
|
||||
}
|
||||
|
||||
// Voeg aan de sql het FROM en WHERE gedeelte toe
|
||||
params.track_mldnew = false; // fac_tracking op MLDNEW niet gebruiken
|
||||
sqln += mld.getfromwherelist_sql(autfunction, params);
|
||||
@@ -289,10 +308,15 @@ var authparams = user.checkAutorisation(autfunction);
|
||||
{
|
||||
url = "../pda/mld_list.asp?grp=" + safe.url(oRs("ins_discipline_omschrijving").Value)
|
||||
+ (self > -1? "&self=" + self : "")
|
||||
+ (behandel_key != -1? "&behandel=" + behandel_key : "")
|
||||
+ (behandel_key != -1? "&behandel=" + behandel_key : "")
|
||||
+ (status.length > 0? "&status=" + status.join(",") : "")
|
||||
+ (ruimte_key > -1? "&ruimte_key=" + ruimte_key : "")
|
||||
+ (ins_key > -1? "&ins_key=" + ins_key : "");
|
||||
|
||||
for (flagkey=0; flagkey < S("mld_melding_flags"); flagkey++)
|
||||
{
|
||||
url += ((getQParam("flag" + flagkey, "on") == "on") ? "&flag" + flagkey + "=on" : "&flag" + flagkey + "=off");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -308,7 +332,11 @@ var authparams = user.checkAutorisation(autfunction);
|
||||
|
||||
function fncolHeader(oRs)
|
||||
{
|
||||
return (oRs("ins_srtdiscipline_prefix").Value || "") + oRs("mld_melding_key").Value;
|
||||
var tekst = (oRs("ins_srtdiscipline_prefix").Value || "") + oRs("mld_melding_key").Value;
|
||||
if (S("mld_num_prefix_mode") > 0 && oRs("mld_prefix").Value)
|
||||
tekst = oRs("mld_prefix").Value + "#" + tekst;
|
||||
|
||||
return tekst;
|
||||
};
|
||||
|
||||
function fncolSubHeader(oRs)
|
||||
|
||||
@@ -152,7 +152,7 @@ function onBijlagenMobile(formurl, // protected
|
||||
var html = '<iframe class="mfcltmodal"'
|
||||
+' frameborder="0"'
|
||||
+' id="fcltmodal" name="fcltmodal" scrolling="no" style="padding: 0px;"'
|
||||
+' src="../shared/empty.html">'
|
||||
+' src="' + rooturl + '/appl/shared/empty.html">'
|
||||
+'</iframe>';
|
||||
|
||||
html = '<div id="bijlagepopup" data-role="popup" class="ui-content" data-theme="c">'
|
||||
@@ -189,6 +189,7 @@ function onBijlagenMobile(formurl, // protected
|
||||
$("iframe.mfcltmodal").attr("src", "../shared/empty.html");
|
||||
});
|
||||
|
||||
// $("#bijlagepopup").show();
|
||||
$("#bijlagepopup").popup({ history: false }).popup("open");
|
||||
|
||||
$html.find("iframe").attr("src", formurl);
|
||||
|
||||
@@ -49,7 +49,7 @@ var sql = "";
|
||||
lcl.set_dialect(mld_info.srtdisc, "MLD_SRTDISCIPLINE_KEY");
|
||||
pnote.subject = mld_info.prefix + pkey;
|
||||
pnote.fenotes = mld_info.fenotes;
|
||||
pnote.zichtbaar = (mld_info.fenotes & 1);
|
||||
pnote.zichtbaar = (mld_info.fenotes == 1 || mld_info.fenotes == 3 );
|
||||
pnote.eigenMelding = user_key == mld_info.melder_key || user.isCollega(mld_info.melder_key);
|
||||
|
||||
if (pnote.canwritenotes)
|
||||
@@ -280,9 +280,12 @@ var sql = "";
|
||||
var noti = $(deze).prop("checked");
|
||||
$("#notioption").css("display", noti ? "inline":"none");
|
||||
if (noti)
|
||||
$("#notifyFE").prop("checked", <%=S("mld_note_default_notifyfe") == 1? 1 : 0%> == 1);
|
||||
{
|
||||
var v_actie_bij_melder = <%=(S("mld_note_default_notifyFE") == 1? 1 : 0)%> == 1;
|
||||
$("#notifyFE").prop("checked", v_actie_bij_melder).checkboxradio("refresh");
|
||||
}
|
||||
else
|
||||
$("#notifyFE").prop("checked", false);
|
||||
$("#notifyFE").prop("checked", false).checkboxradio("refresh");
|
||||
}
|
||||
</script>
|
||||
<%
|
||||
@@ -299,12 +302,15 @@ var sql = "";
|
||||
{
|
||||
if (pnote.note_key == -1 && !pnote.eigenMelding && pnote.fenotes != 1)
|
||||
{
|
||||
// keuze voor wel of niet zichtbaar FE
|
||||
CHB_FIELD("zichtbaarFE", "<nobr>" + L("lcl_mld_zichtbaar_FE") + "</nobr>", pnote.zichtbaar, {disabled: false, onclick: "notiToggler(this)"});
|
||||
if (S("mld_flag_on_fenote")>0 && pnote.fenotes>0)
|
||||
|
||||
if (S("mld_flag_on_fenote"))
|
||||
{
|
||||
var actie_bij_melder = (pnote.zichtbaar && S("mld_note_default_notifyFE")==1 ? 1 : 0);
|
||||
Response.Write("<span id='notioption'"+(pnote.zichtbaar? "style='display:inline'" :" style='display:none'")+">");
|
||||
CHB_FIELD("notifyFE", "<nobr>" + L("lcl_mld_toekennen_FE") + "</nobr>", false, {disabled: false});
|
||||
Response.Write("<label for='notifyFE'>{0}</label></span>".format(L("lcl_mld_toekennen_FE")));
|
||||
CHB_FIELD("notifyFE", "<nobr>" + L("lcl_mld_toekennen_FE") + "</nobr>", actie_bij_melder, {disabled: false});
|
||||
Response.Write("</span>");
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
@@ -42,21 +42,21 @@ var photoMap = thisUser.photomap; // map waarin de foto wordt opgeslagen
|
||||
<script type="text/javascript" >
|
||||
function edit_werkplek(img, pwp_key)
|
||||
{
|
||||
var url = "../../appl/prs/prs_move_perslidwerkplek.asp?pwp_key=" + pwp_key;
|
||||
var url = rooturl + "/appl/prs/prs_move_perslidwerkplek.asp?pwp_key=" + pwp_key;
|
||||
FcltMgr.openModalDetail(url, "<%=safe.jsstring(thisUser.naam)%>",
|
||||
{ callback: function (data) { if (data.wp_aanduiding) {$(img).closest("tr").find("input").val(data.wp_aanduiding);} } });
|
||||
}
|
||||
|
||||
function edit_werklocatie(img, prs_key)
|
||||
{
|
||||
var url = "../../appl/prs/prs_move_huidigewerkplek.asp?prs_key=" + prs_key;
|
||||
var url = rooturl + "/appl/prs/prs_move_huidigewerkplek.asp?prs_key=" + prs_key;
|
||||
FcltMgr.openModalDetail(url, "<%=safe.jsstring(thisUser.naam)%>",
|
||||
{ callback: function (data) { if (data.wp_aanduiding) {$(img).closest("tr").find("input").val(data.wp_aanduiding);} } });
|
||||
}
|
||||
|
||||
function edit_phone(inp)
|
||||
{
|
||||
var url = "../../appl/prs/prs_edit_perslid_modal.asp?prs_key=<%=prs_key%>"
|
||||
var url = rooturl + "/appl/prs/prs_edit_perslid_modal.asp?prs_key=<%=prs_key%>"
|
||||
FcltMgr.openModalDetail(url, "<%=safe.jsstring(thisUser.naam)%>",
|
||||
{ callback: function(data) { if (data.refresh) FcltMgr.reload() } });
|
||||
}
|
||||
@@ -101,7 +101,7 @@ var photoMap = thisUser.photomap; // map waarin de foto wordt opgeslagen
|
||||
function edit_photo(img)
|
||||
{
|
||||
// multi=0: Er mag slechts 1 bestand bestaan.
|
||||
var formurl = "<%=protectQS.create("../pda/BijlagenForm.asp?module=SML&multi=0&key=" + prs_key)%>";
|
||||
var formurl = "<%=protectQS.create(rooturl + "/appl/pda/BijlagenForm.asp?module=SML&multi=0&key=" + prs_key)%>";
|
||||
var saveurl = "";
|
||||
onBijlagenMobile(formurl, // protected
|
||||
saveurl, // protected
|
||||
@@ -114,8 +114,7 @@ var photoMap = thisUser.photomap; // map waarin de foto wordt opgeslagen
|
||||
$("#photo").attr("src", "<%=photoMap%>"+return_data); // refresh foto
|
||||
}
|
||||
</script>
|
||||
|
||||
<form name="u2" id="u2" method="post" action="../prs/prs_edit_perslid_save.asp?prs_key=<%=prs_key%>">
|
||||
<form name="u2" id="u2" method="post" action="<%=rooturl%>/appl/prs/prs_edit_perslid_save.asp?prs_key=<%=prs_key%>">
|
||||
|
||||
<div style="text-align:center;">
|
||||
<img id="photo" class="selfie" src="<%=photoFile %>"
|
||||
|
||||
@@ -39,6 +39,22 @@
|
||||
"location": "https:\/\/example.com\/v2\/ResourceTypes\/Group",
|
||||
"resourceType": "ResourceType"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"schemas": [
|
||||
"urn:ietf:params:scim:schemas:core:2.0:ResourceType"
|
||||
],
|
||||
"id": "OrgUnits",
|
||||
"name": "OrgUnits",
|
||||
"endpoint": "\/OrgUnits",
|
||||
"description": "Organisatie Units",
|
||||
"schema": "urn:ietf:params:scim:schemas:core:2.0:OrgUnits",
|
||||
"meta": {
|
||||
"location": "https:\/\/example.com\/v2\/ResourceTypes\/OrgUnits",
|
||||
"resourceType": "ResourceType"
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
]
|
||||
}
|
||||
@@ -18,6 +18,38 @@
|
||||
"returned": "default",
|
||||
"uniqueness": "server"
|
||||
},
|
||||
{
|
||||
"name": "title",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"description": "A short descripton of the employee's job. REQUIRED.",
|
||||
"required": true,
|
||||
"caseExact": false,
|
||||
"mutability": "readWrite",
|
||||
"returned": "default",
|
||||
"uniqueness": "server"
|
||||
},
|
||||
{
|
||||
"name": "userFacilitor",
|
||||
"type": "complex",
|
||||
"multiValued": false,
|
||||
"description": "The components of the user's real name. Providers MAY return just the full name as a single string in the formatted sub-attribute, or they MAY return just the individual component attributes using the other sub-attributes, or they MAY return both. If both variants are returned, they SHOULD be describing the same name, with the formatted name indicating how the component attributes should be combined.",
|
||||
"required": false,
|
||||
"subAttributes": [{
|
||||
"name": "initials",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"description": "Initials of the person. E.g. 'A.T.M.'.",
|
||||
"required": false,
|
||||
"caseExact": false,
|
||||
"mutability": "readWrite",
|
||||
"returned": "default",
|
||||
"uniqueness": "server"
|
||||
}],
|
||||
"mutability": "readWrite",
|
||||
"returned": "default",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "name",
|
||||
"type": "complex",
|
||||
@@ -28,7 +60,7 @@
|
||||
"name": "formatted",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"description": "The full name, including all middle names, titles, and suffixes as appropriate, formatted for display (e.g., 'Ms. Barbara J Jensen, III').",
|
||||
"description": "The full name, including all middle names, Titles, and suffixes as appropriate, formatted for display (e.g., 'Ms. Barbara J Jensen, III').",
|
||||
"required": false,
|
||||
"caseExact": false,
|
||||
"mutability": "readWrite",
|
||||
@@ -72,72 +104,6 @@
|
||||
"returned": "default",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "displayName",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"description": "The name of the User, suitable for display to end-users. The name SHOULD be the full name of the User being described, if known.",
|
||||
"required": false,
|
||||
"caseExact": false,
|
||||
"mutability": "readWrite",
|
||||
"returned": "default",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "title",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"description": "The user's title, such as \"Vice President.\"",
|
||||
"required": false,
|
||||
"caseExact": false,
|
||||
"mutability": "readWrite",
|
||||
"returned": "default",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "userType",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"description": "Used to identify the relationship between the organization and the user. Typical values used might be 'Contractor', 'Employee', 'Intern', 'Temp', 'External', and 'Unknown', but any value may be used.",
|
||||
"required": false,
|
||||
"caseExact": false,
|
||||
"mutability": "readWrite",
|
||||
"returned": "default",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "preferredLanguage",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"description": "Indicates the User's preferred written or spoken language. Generally used for selecting a localized user interface; e.g., 'en_US' specifies the language English and country US.",
|
||||
"required": false,
|
||||
"caseExact": false,
|
||||
"mutability": "readWrite",
|
||||
"returned": "default",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "locale",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"description": "Used to indicate the User's default location for purposes of localizing items such as currency, date time format, or numerical representations.",
|
||||
"required": false,
|
||||
"caseExact": false,
|
||||
"mutability": "readWrite",
|
||||
"returned": "default",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "timezone",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"description": "The User's time zone in the 'Olson' time zone database format, e.g., 'America\/Los_Angeles'.",
|
||||
"required": false,
|
||||
"caseExact": false,
|
||||
"mutability": "readWrite",
|
||||
"returned": "default",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "active",
|
||||
"type": "boolean",
|
||||
@@ -147,17 +113,6 @@
|
||||
"mutability": "readWrite",
|
||||
"returned": "default"
|
||||
},
|
||||
{
|
||||
"name": "password",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"description": "The User's cleartext password. This attribute is intended to be used as a means to specify an initial password when creating a new User or to reset an existing User's password.",
|
||||
"required": false,
|
||||
"caseExact": false,
|
||||
"mutability": "writeOnly",
|
||||
"returned": "never",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "emails",
|
||||
"type": "complex",
|
||||
@@ -175,17 +130,6 @@
|
||||
"returned": "default",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "display",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"description": "A human-readable name, primarily used for display purposes. READ-ONLY.",
|
||||
"required": false,
|
||||
"caseExact": false,
|
||||
"mutability": "readWrite",
|
||||
"returned": "default",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "type",
|
||||
"type": "string",
|
||||
@@ -230,17 +174,6 @@
|
||||
"returned": "default",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "display",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"description": "A human-readable name, primarily used for display purposes. READ-ONLY.",
|
||||
"required": false,
|
||||
"caseExact": false,
|
||||
"mutability": "readWrite",
|
||||
"returned": "default",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "type",
|
||||
"type": "string",
|
||||
@@ -270,60 +203,6 @@
|
||||
"mutability": "readWrite",
|
||||
"returned": "default"
|
||||
},
|
||||
{
|
||||
"name": "photos",
|
||||
"type": "complex",
|
||||
"multiValued": true,
|
||||
"description": "URLs of photos of the User.",
|
||||
"required": false,
|
||||
"subAttributes": [{
|
||||
"name": "value",
|
||||
"type": "reference",
|
||||
"referenceTypes": ["external"],
|
||||
"multiValued": false,
|
||||
"description": "URL of a photo of the User.",
|
||||
"required": false,
|
||||
"caseExact": false,
|
||||
"mutability": "readWrite",
|
||||
"returned": "default",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "display",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"description": "A human-readable name, primarily used for display purposes. READ-ONLY.",
|
||||
"required": false,
|
||||
"caseExact": false,
|
||||
"mutability": "readWrite",
|
||||
"returned": "default",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "type",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"description": "A label indicating the attribute's function, i.e., 'photo' or 'thumbnail'.",
|
||||
"required": false,
|
||||
"caseExact": false,
|
||||
"canonicalValues": ["photo",
|
||||
"thumbnail"],
|
||||
"mutability": "readWrite",
|
||||
"returned": "default",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "primary",
|
||||
"type": "boolean",
|
||||
"multiValued": false,
|
||||
"description": "A Boolean value indicating the 'primary' or preferred attribute value for this attribute, e.g., the preferred photo or thumbnail. The primary attribute value 'true' MUST appear no more than once.",
|
||||
"required": false,
|
||||
"mutability": "readWrite",
|
||||
"returned": "default"
|
||||
}],
|
||||
"mutability": "readWrite",
|
||||
"returned": "default"
|
||||
},
|
||||
{
|
||||
"name": "groups",
|
||||
"type": "complex",
|
||||
@@ -380,12 +259,77 @@
|
||||
}],
|
||||
"mutability": "readOnly",
|
||||
"returned": "default"
|
||||
}],
|
||||
"meta": {
|
||||
},
|
||||
{
|
||||
"name": "orgUnit",
|
||||
"type": "complex",
|
||||
"multiValued": false,
|
||||
"description": "User organisation.",
|
||||
"required": false,
|
||||
"subAttributes": [{
|
||||
"name": "id",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"description": "The organisation unit id.",
|
||||
"required": false,
|
||||
"caseExact": false,
|
||||
"mutability": "readWrite",
|
||||
"returned": "default",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "$ref",
|
||||
"type": "reference",
|
||||
"referenceTypes": ["User",
|
||||
"OrgUnits"],
|
||||
"multiValued": false,
|
||||
"description": "The URI of the corresponding 'OrgUnit' resource to which the user belongs.",
|
||||
"required": false,
|
||||
"caseExact": false,
|
||||
"mutability": "immutable",
|
||||
"returned": "default",
|
||||
"uniqueness": "none"
|
||||
}],
|
||||
"mutability": "readWrite",
|
||||
"returned": "default"
|
||||
}],
|
||||
"meta": {
|
||||
"resourceType": "Schema",
|
||||
"location": "\/v2\/Schemas\/urn:ietf:params:scim:schemas:core:2.0:User"
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
"id": "urn:ietf:params:scim:schemas:core:2.0:OrgUnits",
|
||||
"name": "OrgUnits",
|
||||
"description": "OrganisationUnit",
|
||||
"attributes": [
|
||||
{
|
||||
"name": "code",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"description": "The organisation unit code (naam).",
|
||||
"required": true,
|
||||
"caseExact": false,
|
||||
"mutability": "readWrite",
|
||||
"returned": "default",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "costCenter",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"description": "The organisation unit cost center (kostenplaats).",
|
||||
"required": false,
|
||||
"caseExact": false,
|
||||
"mutability": "readWrite",
|
||||
"returned": "default",
|
||||
"uniqueness": "none"
|
||||
}],
|
||||
"meta": {
|
||||
"resourceType": "Schema",
|
||||
"location": "\/v2\/Schemas\/urn:ietf:params:scim:schemas:core:2.0:OrgUnits"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "urn:ietf:params:scim:schemas:core:2.0:Group",
|
||||
"name": "Group",
|
||||
@@ -466,97 +410,10 @@
|
||||
"mutability": "readWrite",
|
||||
"returned": "default",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "costCenter",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"description": "Identifies the name of a cost center.",
|
||||
"required": false,
|
||||
"caseExact": false,
|
||||
"mutability": "readWrite",
|
||||
"returned": "default",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "organization",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"description": "Identifies the name of an organization.",
|
||||
"required": false,
|
||||
"caseExact": false,
|
||||
"mutability": "readWrite",
|
||||
"returned": "default",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "division",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"description": "Identifies the name of a division.",
|
||||
"required": false,
|
||||
"caseExact": false,
|
||||
"mutability": "readWrite",
|
||||
"returned": "default",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "department",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"description": "Identifies the name of a department.",
|
||||
"required": false,
|
||||
"caseExact": false,
|
||||
"mutability": "readWrite",
|
||||
"returned": "default",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "manager",
|
||||
"type": "complex",
|
||||
"multiValued": false,
|
||||
"description": "The User's manager. A complex type that optionally allows service providers to represent organizational hierarchy by referencing the 'id' attribute of another User.",
|
||||
"required": false,
|
||||
"subAttributes": [{
|
||||
"name": "value",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"description": "The id of the SCIM resource representing the User's manager. REQUIRED.",
|
||||
"required": false,
|
||||
"caseExact": false,
|
||||
"mutability": "readWrite",
|
||||
"returned": "default",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "$ref",
|
||||
"type": "reference",
|
||||
"referenceTypes": ["User"],
|
||||
"multiValued": false,
|
||||
"description": "The URI of the SCIM resource representing the User's manager. REQUIRED.",
|
||||
"required": false,
|
||||
"caseExact": false,
|
||||
"mutability": "readWrite",
|
||||
"returned": "default",
|
||||
"uniqueness": "none"
|
||||
},
|
||||
{
|
||||
"name": "displayName",
|
||||
"type": "string",
|
||||
"multiValued": false,
|
||||
"description": "The displayName of the User's manager. OPTIONAL and READ-ONLY.",
|
||||
"required": false,
|
||||
"caseExact": false,
|
||||
"mutability": "readOnly",
|
||||
"returned": "default",
|
||||
"uniqueness": "none"
|
||||
}],
|
||||
"mutability": "readWrite",
|
||||
"returned": "default"
|
||||
}],
|
||||
"meta": {
|
||||
"resourceType": "Schema",
|
||||
"location": "\/v2\/Schemas\/urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"
|
||||
}
|
||||
}]
|
||||
}]
|
||||
}
|
||||
@@ -236,7 +236,7 @@ function flexProps(pModule, pKey, pSubpath, pNiveau, params)
|
||||
result.AttachRootPath = S("flexFilesPath");
|
||||
result.AttachPath = result.AttachRootPath + "/" + pModule + "/";
|
||||
result.AttachPath += (pKey > 0? subfolderKey(bepaalNiveau(pModule, pNiveau), pKey)
|
||||
: subfolderNew(bepaalNiveau(pModule, pNiveau), user_key + "_" + getQParam("tmpfolder")));
|
||||
: subfolderNew(bepaalNiveau(pModule, pNiveau), user_key + "_" + (params.tmpfolder||getQParam("tmpfolder"))));
|
||||
result.AttachPath += "/" + pSubpath + "/";
|
||||
result.extFilter = getQParam("extFilter", S("flexExtensionFilter"));
|
||||
result.regexp = getQParam("pregexp", ""); //P800x600 cropt/resized naar 800x600
|
||||
@@ -495,8 +495,11 @@ function oneFileInfo(fsoFile, result, pModule, pKey, pSubpath, pNiveau, params)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (params.api2name)
|
||||
if (params.tmpfolder)
|
||||
{
|
||||
filedata.token = params.tmpfolder;
|
||||
}
|
||||
else if (params.api2name)
|
||||
{
|
||||
var deepurl = HTTP.urlzelf() + "/api2/{0}/{1}/attachments/{2}/{3}".format(
|
||||
params.api2name,
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
Note: Sinds 5.2.2 zitten de settings in de database
|
||||
*/
|
||||
|
||||
var FCLTVersion="2017.2RC1";
|
||||
var FCLTVersion="2017.2RC2";
|
||||
var FCLTMinDatabaseSchema="32";
|
||||
|
||||
var custpath = rooturl + "/cust/" + customerId; // path to customer files
|
||||
|
||||
@@ -2357,16 +2357,16 @@ END:VCALENDAR
|
||||
</tr>
|
||||
<xsl:if test="string(omschrijving)!=string(//reservering/rsv_ruimte[volgnr=$min_volgnr]/omschrijving)">
|
||||
<tr>
|
||||
<td class="label" frame="box" style="border-style:solid;border-width:0px;"><xsl:value-of select="//lcl/FAC/omschrijving"/></td>
|
||||
<td class="value" colspan="9" frame="box" style="border-style:solid;border-width:0px;">
|
||||
<td class="label"><xsl:value-of select="//lcl/FAC/omschrijving"/></td>
|
||||
<td class="value" colspan="9">
|
||||
: <xsl:value-of select="omschrijving"/>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:if>
|
||||
<xsl:if test="string(contact_user/naam_full)!=string(//reservering/rsv_ruimte[volgnr=$min_volgnr]/contact_user/naam_full)">
|
||||
<tr>
|
||||
<td class="label" frame="box" style="border-style:solid;border-width:0px;"><xsl:value-of select="//lcl/FAC/aanvrager"/></td>
|
||||
<td class="value" colspan="9" frame="box" style="border-style:solid;border-width:0px;">
|
||||
<td class="label"><xsl:value-of select="//lcl/FAC/aanvrager"/></td>
|
||||
<td class="value" colspan="9">
|
||||
: <xsl:value-of select="contact_user/naam_full"/>/ <xsl:value-of select="contact_user/werkplek/plaats/regio/district/locatie/omschrijving"/></td>
|
||||
</tr>
|
||||
</xsl:if>
|
||||
@@ -2387,8 +2387,8 @@ END:VCALENDAR
|
||||
</tr>
|
||||
<xsl:if test="string(opmerking)!=''">
|
||||
<tr>
|
||||
<td class="label" frame="box" style="border-style:solid;border-width:0px;"> <xsl:value-of select="//lcl/FAC/opmerking"/></td>
|
||||
<td class="value" colspan="9" frame="box" style="border-style:solid;border-width:0px;">
|
||||
<td class="label"> <xsl:value-of select="//lcl/FAC/opmerking"/></td>
|
||||
<td class="value" colspan="9">
|
||||
: <xsl:call-template name="linebreaks">
|
||||
<xsl:with-param name="string" select="opmerking"/>
|
||||
</xsl:call-template>
|
||||
@@ -2490,8 +2490,8 @@ END:VCALENDAR
|
||||
<td colspan="10" style="border-top:1px solid #000;"/>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tekst" colspan="4" style="border-style:solid;border-width:0px;"></td>
|
||||
<td class="tekst" colspan="2" style="text-align:right;border-style:solid;border-width:0px;"><b>
|
||||
<td class="tekst" colspan="4"></td>
|
||||
<td class="tekst" colspan="2" style="text-align:right;"><b>
|
||||
<xsl:call-template name="europrijs">
|
||||
<xsl:with-param name="prijs" select="sum(prijs[string(number(.))!='NaN'])+sum(rsv_deel/prijs[string(number(.))!='NaN'])+sum(rsv_artikel/prijs[string(number(.))!='NaN'])"/>
|
||||
</xsl:call-template></b>
|
||||
@@ -2503,7 +2503,7 @@ END:VCALENDAR
|
||||
<xsl:choose>
|
||||
<xsl:when test="position() = 1">
|
||||
<tr>
|
||||
<td class="tekst" style="border-style:solid;border-width:0px;">
|
||||
<td class="tekst">
|
||||
<br/><xsl:value-of select="//lcl/BEZ/bezoekers"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
||||
@@ -54,6 +54,7 @@ Omschrijving: <xsl:value-of select="omschrijving" />
|
||||
Melding: <xsl:value-of select="melding/omschrijving" /></omschrijving>
|
||||
<kenmerk naam="Kosten"><xsl:value-of select="kosten" /></kenmerk>
|
||||
<kenmerk naam="Locatiecode klant"><xsl:value-of select="melding/plaats/regio/district/locatie/code"/></kenmerk>
|
||||
<kenmerk naam="Gebouwcode klant"><xsl:value-of select="melding/plaats/regio/district/locatie/gebouw/code"/></kenmerk>
|
||||
<kenmerk naam="Werkbon/Opdracht nr. klant"><xsl:value-of select="melding_key" />/<xsl:value-of select="bedrijfopdr_volgnr" /></kenmerk>
|
||||
<kenmerk naam="Einddatum klant"><xsl:value-of select="einddatum/datum" /><xsl:text> </xsl:text><xsl:value-of select="einddatum/tijd" />:00</kenmerk>
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 6.1 KiB |
|
Before Width: | Height: | Size: 9.5 KiB After Width: | Height: | Size: 3.6 KiB |
@@ -122,7 +122,7 @@
|
||||
<table width="100%" border="0" cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td>
|
||||
<img align="left" src="../../cust/asle/xsl/logo_asito.jpg"/>
|
||||
<img align="left" src="../../cust/asle/xsl/logo_gom.jpg"/>
|
||||
</td>
|
||||
<td>
|
||||
<img align="right" src="../../cust/asle/xsl/logo_nh.jpg"/>
|
||||
@@ -311,7 +311,7 @@
|
||||
<table width="100%" border="0" cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td>
|
||||
<img align="left" src="../../cust/asle/xsl/logo_asito.jpg"/>
|
||||
<img align="left" src="../../cust/asle/xsl/logo_gom.jpg"/>
|
||||
</td>
|
||||
<td>
|
||||
<img align="right" src="../../cust/asle/xsl/logo_nh.jpg"/>
|
||||
|
||||
|
Before Width: | Height: | Size: 22 KiB |
BIN
CUST/ASLE/xsl/logo_gom.jpg
Normal file
|
After Width: | Height: | Size: 7.9 KiB |
@@ -582,6 +582,7 @@
|
||||
<xsl:variable name="sortfilter">
|
||||
<xsl:for-each select="verkoopfactuurregel">
|
||||
<xsl:sort select="substring-after(omschrijving, '/=')"/>
|
||||
<xsl:sort select="btwpercentage"/>
|
||||
<xsl:copy-of select="."/>
|
||||
</xsl:for-each>
|
||||
</xsl:variable>
|
||||
@@ -658,14 +659,23 @@
|
||||
<xsl:variable name="this_reg">
|
||||
<xsl:value-of select="substring-after(omschrijving, '/=')"/>
|
||||
</xsl:variable>
|
||||
<xsl:variable name="prev_btw">
|
||||
<xsl:choose>
|
||||
<xsl:when test="position()=1">Quqelequ</xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="preceding-sibling::verkoopfactuurregel[1]/btwpercentage"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
<xsl:variable name="this_btw">
|
||||
<xsl:value-of select="btwpercentage"/>
|
||||
</xsl:variable>
|
||||
|
||||
<!-- Als 'this' != 'prev', dan nieuwe factuurregel! -->
|
||||
<xsl:if test="$this_reg!=$prev_reg">
|
||||
<xsl:if test="$this_reg!=$prev_reg or $this_btw!=$prev_btw">
|
||||
<tr>
|
||||
<td style="border-bottom:1px solid black;"><xsl:value-of select="substring-before(omschrijving, '/=')"/></td>
|
||||
<td colspan="3" style="border-bottom:1px solid black;"><xsl:value-of select="substring($this_reg, 4)"/></td>
|
||||
<td style="border-bottom:1px solid black;"><xsl:value-of select="btwpercentage"/> %</td>
|
||||
<td style="text-align:right;border-bottom:1px solid black;"><xsl:value-of select="format-number(sum(msxml:node-set($sortfilter)/verkoopfactuurregel[substring-after(omschrijving, '/=')=$this_reg]/bedrag), '###.###.##0,00', 'european')"/></td>
|
||||
<td style="text-align:right;border-bottom:1px solid black;"><xsl:value-of select="format-number(sum(msxml:node-set($sortfilter)/verkoopfactuurregel[substring-after(omschrijving, '/=')=$this_reg and btwpercentage=$this_btw]/bedrag), '###.###.##0,00', 'european')"/></td>
|
||||
</tr>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
@@ -787,6 +797,7 @@
|
||||
<xsl:for-each select="rapport_data/data_row">
|
||||
<xsl:sort select="SORTERING"/>
|
||||
<xsl:sort select="REGEL"/>
|
||||
<xsl:sort select="FIN_BTWTABELWAARDE_PERC"/>
|
||||
<xsl:if test="FIN_VERKOOPFACTUUR_ID=$max_factuur and PO_NR=$min_po and PRS_BEDRIJF_KEY=$min_bedrijf">
|
||||
<xsl:copy-of select="."/>
|
||||
</xsl:if>
|
||||
@@ -850,14 +861,23 @@
|
||||
<xsl:variable name="this_reg">
|
||||
<xsl:value-of select="REGEL"/>
|
||||
</xsl:variable>
|
||||
<xsl:variable name="prev_btw">
|
||||
<xsl:choose>
|
||||
<xsl:when test="position()=1">Quqelequ</xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="preceding-sibling::data_row[1]/FIN_BTWTABELWAARDE_PERC"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
<xsl:variable name="this_btw">
|
||||
<xsl:value-of select="FIN_BTWTABELWAARDE_PERC"/>
|
||||
</xsl:variable>
|
||||
|
||||
<!-- Als 'this' != 'prev', dan nieuwe factuurregel! -->
|
||||
<xsl:if test="$this_reg!=$prev_reg">
|
||||
<xsl:if test="$this_reg!=$prev_reg or $this_btw!=$prev_btw">
|
||||
<tr>
|
||||
<td style="border-bottom:1px solid black;"><xsl:value-of select="CNT_CONTRACT_NUMMER"/></td>
|
||||
<td colspan="3" style="border-bottom:1px solid black;"><xsl:value-of select="REGEL"/></td>
|
||||
<td style="border-bottom:1px solid black;"><xsl:value-of select="FIN_BTWTABELWAARDE_PERC"/> %</td>
|
||||
<td style="text-align:right;border-bottom:1px solid black;"><xsl:value-of select="format-number(sum(msxml:node-set($sortfilter)/data_row[REGEL=$this_reg]/MNDNET), '###.###.##0,00', 'european')"/></td>
|
||||
<td style="text-align:right;border-bottom:1px solid black;"><xsl:value-of select="format-number(sum(msxml:node-set($sortfilter)/data_row[REGEL=$this_reg and FIN_BTWTABELWAARDE_PERC=$this_btw]/MNDNET), '###.###.##0,00', 'european')"/></td>
|
||||
</tr>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
<xsl:variable name="new_line" select="'
'"/>
|
||||
|
||||
<xsl:template match="/">
|
||||
<xsl:if test="DC/credit">BEDRIJFSNAAM;LEVERANCIERNUMMER;BEZOEK_ADRES;BEZOEK_POSTCODE;BEZOEK_PLAATS;BEZOEK_LAND;POST_ADRES;POST_POSTCODE;POST_PLAATS;POST_LAND;BEDRIJF_TELEFOON;BEDRIJF_FAX;BEDRIJF_EMAIL;CONTACTPERSOON;CONTACT_TELEFOON;CONTACT_FAX;BEDRIJF_XSL;BEDRIJF_ORDER_ADRES;LEVERANCIER;UITVOERENDE;CONTRACTANT;HUURDER;TOONINGIDS;UURLOON;OVEREENKOMSTNUMMER;OVEREENKOMSTDATUM;OPMERKING;DIENST;LOCATIECODE;GEBOUWCODE<xsl:value-of select="$new_line"/></xsl:if>
|
||||
<xsl:if test="DC/credit">BEDRIJFSNAAM;LEVERANCIERNUMMER;BEZOEK_ADRES;BEZOEK_POSTCODE;BEZOEK_PLAATS;BEZOEK_LAND;POST_ADRES;POST_POSTCODE;POST_PLAATS;POST_LAND;BEDRIJF_TELEFOON;BEDRIJF_FAX;BEDRIJF_EMAIL;CONTACTPERSOON;CONTACT_TELEFOON;CONTACT_FAX;BEDRIJF_XSL;BEDRIJF_ORDER_ADRES;LEVERANCIER;UITVOERENDE;CONTRACTANT;HUURDER;TOONINGIDS;UURLOON;OVEREENKOMSTNUMMER;OVEREENKOMSTDATUM;OPMERKING;DIENST;LOCATIECODE;GEBOUWCODE;RELATIETYPE<xsl:value-of select="$new_line"/></xsl:if>
|
||||
<xsl:for-each select="DC/credit">
|
||||
<xsl:value-of select="name"/>;<xsl:value-of select="creditor"/>;<xsl:value-of select="address_1"/><xsl:text> </xsl:text><xsl:value-of select="house_nr"/><xsl:value-of select="house_nr_addition"/>;<xsl:value-of select="postal_code"/>;<xsl:value-of select="city"/>;<xsl:value-of select="country"/>;;;;;<xsl:value-of select="telephone"/>;<xsl:value-of select="fax_nr"/>;<xsl:value-of select="e_mail"/>;<xsl:value-of select="contact"/>;<xsl:value-of select="telephone_contact"/>;;;;;J;J;;;;;;;;;<xsl:value-of select="$new_line"/>
|
||||
<xsl:value-of select="name"/>;<xsl:value-of select="creditor"/>;<xsl:value-of select="address_1"/><xsl:text> </xsl:text><xsl:value-of select="house_nr"/><xsl:value-of select="house_nr_addition"/>;<xsl:value-of select="postal_code"/>;<xsl:value-of select="city"/>;<xsl:value-of select="country"/>;;;;;<xsl:value-of select="telephone"/>;<xsl:value-of select="fax_nr"/>;<xsl:value-of select="e_mail"/>;<xsl:value-of select="contact"/>;<xsl:value-of select="telephone_contact"/>;;;;;J;J;;;;;;;;;;<xsl:value-of select="$new_line"/>
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
@@ -6,14 +6,7 @@
|
||||
*/
|
||||
|
||||
|
||||
#headerfunctions, #headerdate {
|
||||
color: white;
|
||||
|
||||
}
|
||||
|
||||
.headerToggle i, .headerToggle:hover i {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
/* HOUT#39495 recent gewijzigd + uitvoertijd overschreden */
|
||||
tr.updated.expired2 td {
|
||||
|
||||
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 10 KiB |
@@ -2052,6 +2052,263 @@ Beste <xsl:value-of select="voor/naam_friendly"/>,
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template match="bestelopdracht" mode="include">
|
||||
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
|
||||
<TR>
|
||||
<TD WIDTH="40" ROWSPAN="30" ID="LINKERMARGE"></TD>
|
||||
<TD>
|
||||
<!-- Bestelopdracht -->
|
||||
<table border="0" bordercolor="#ffffff" width="100%">
|
||||
<tr>
|
||||
<td colspan="4" class="caption" style="text-align:center">
|
||||
<b><xsl:value-of select="//lcl/BES/inkooporder"/></b>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4" style="height:30px"/>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" class="label" style="width:50%">
|
||||
<b><xsl:value-of select="//lcl/BES/factuur_aan"/>:</b>
|
||||
</td>
|
||||
<td class="label" colspan="2" style="width:50%">
|
||||
<b><xsl:value-of select="//lcl/BES/leverancier"/>:</b>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" class="value">
|
||||
<xsl:value-of select="factuuradres/naam"/>
|
||||
<br/>
|
||||
<xsl:value-of select="factuuradres/post_adres"/>
|
||||
<br/>
|
||||
<xsl:value-of select="factuuradres/post_postcode"/> 
|
||||
<xsl:value-of select="factuuradres/post_plaats"/>
|
||||
<br/>
|
||||
<xsl:value-of select="factuuradres/post_land"/>
|
||||
</td>
|
||||
<td colspan="2" class="value">
|
||||
<xsl:value-of select="bedrijf/naam"/>
|
||||
<br/>
|
||||
<xsl:value-of select="bedrijf/post_adres"/>
|
||||
<br/>
|
||||
<xsl:value-of select="bedrijf/post_postcode"/> 
|
||||
<xsl:value-of select="bedrijf/post_plaats"/>
|
||||
<br/>
|
||||
<xsl:value-of select="bedrijf/post_land"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4" style="height:20px"/>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" class="label">
|
||||
<b><xsl:value-of select="//lcl/FAC/contactgegevens"/>:</b>
|
||||
</td>
|
||||
<td/>
|
||||
<td colspan="2">
|
||||
<b/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="vertical-align:top" class="label" width="20%">
|
||||
<b><xsl:value-of select="//lcl/BES/besteller"/></b>
|
||||
</td>
|
||||
<td class="value" width="30%">:
|
||||
<xsl:value-of select="bestelling/aanvrager/naam_full"/>
|
||||
</td>
|
||||
<td class="label" width="22%">
|
||||
<b><xsl:value-of select="//lcl/BES/aanvraagnummers"/></b>
|
||||
</td>
|
||||
<td class="value" width="28%">:
|
||||
<xsl:value-of select="bestelling/key"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">
|
||||
<b><xsl:value-of select="//lcl/FAC/e-mail"/></b>
|
||||
</td>
|
||||
<td class="value">:
|
||||
<xsl:value-of select="bestelling/aanvrager/email"/>
|
||||
</td>
|
||||
<td class="label">
|
||||
<b><xsl:value-of select="//lcl/BES/opdrachtnummer"/></b>
|
||||
</td>
|
||||
<td class="value">:
|
||||
<xsl:value-of select="id"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">
|
||||
<b><xsl:value-of select="//lcl/FAC/telefoon"/></b>
|
||||
</td>
|
||||
<td class="value">:
|
||||
<xsl:choose>
|
||||
<xsl:when test="bestelling/aanvrager/telefoonnr">
|
||||
<xsl:value-of select="bestelling/aanvrager/telefoonnr"/>
|
||||
</xsl:when>
|
||||
<xsl:when test="bestelling/aanvrager/mobiel!=''">
|
||||
<xsl:value-of select="bestelling/aanvrager/mobiel"/>
|
||||
</xsl:when>
|
||||
</xsl:choose>
|
||||
</td>
|
||||
<td class="label">
|
||||
<b><xsl:value-of select="//lcl/BES/orderdatum"/></b>
|
||||
</td>
|
||||
<td class="value">:
|
||||
<xsl:value-of select="datum/datum"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">
|
||||
<b><xsl:value-of select="//lcl/FAC/kostenplaats"/></b>
|
||||
</td>
|
||||
<td class="value">:
|
||||
<xsl:value-of select="bestelling/kostenplaats/nr"/>
|
||||
</td>
|
||||
<td class="label">
|
||||
<b><xsl:value-of select="//lcl/BES/gewenste_afleverdatum"/></b>
|
||||
</td>
|
||||
<td class="value">:
|
||||
<xsl:value-of select="bestelling/leverdatum/datum"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">
|
||||
<b><xsl:value-of select="//lcl/FAC/werkplek"/></b>
|
||||
</td>
|
||||
<td class="value">:
|
||||
<xsl:value-of select="bestelling/plaats"/>
|
||||
</td>
|
||||
<td colspan="2"/>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4" style="height:20px"/>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" class="label">
|
||||
<b><xsl:value-of select="//lcl/BES/afleveradres"/>:</b>
|
||||
</td>
|
||||
<td colspan="2">
|
||||
<b/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" style="vertical-align:top" class="value">
|
||||
<xsl:value-of select="afleveradres/naam"/>
|
||||
<xsl:if test="afleveradres/bezoek_adres">
|
||||
<br/>
|
||||
<xsl:value-of select="afleveradres/bezoek_adres"/>
|
||||
<br/>
|
||||
<xsl:value-of select="afleveradres/bezoek_postcode"/> 
|
||||
<xsl:value-of select="afleveradres/bezoek_plaats"/>
|
||||
<br/>
|
||||
<xsl:value-of select="afleveradres/bezoek_land"/>
|
||||
</xsl:if>
|
||||
</td>
|
||||
<td colspan="2"/>
|
||||
</tr>
|
||||
<xsl:if test="bestelling/bestel_opm">
|
||||
<tr>
|
||||
<td height="10px" colspan="4"/>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label" style="vertical-align:top"><b><xsl:value-of select="//lcl/FAC/opmerkingen"/></b></td>
|
||||
<td class="value" colspan="3">:
|
||||
<xsl:call-template name="linebreaks">
|
||||
<xsl:with-param name="string" select="bestelling/bestel_opm"/>
|
||||
</xsl:call-template>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:if>
|
||||
<tr>
|
||||
<td colspan="4" style="height:20px"/>
|
||||
</tr>
|
||||
<tr>
|
||||
<xsl:for-each select="bestelling/kenmerk[@type!='L' and @type!='l' and @type!='Q']">
|
||||
<td class="label" style="vertical-align:top">
|
||||
<b><xsl:value-of select="@naam"/></b>
|
||||
</td>
|
||||
<td class="value">:
|
||||
<xsl:value-of select="."/>
|
||||
</td>
|
||||
</xsl:for-each>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4" style="height:20px"/>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4" style="border-top:1px solid #000;"/>
|
||||
</tr>
|
||||
<TR>
|
||||
<TD colspan="7">
|
||||
<TABLE cellpadding="1" cellspacing="0" border="0" bordercolor="#000000" frame="box" width="99%">
|
||||
<tr>
|
||||
<th class="besth" style="width:9%; text-align:left"><xsl:value-of select="//lcl/BES/regel"/></th>
|
||||
<th class="besth" style="width:13%; text-align:left"><xsl:value-of select="//lcl/BES/artikelnr"/></th>
|
||||
<th class="besth" style="width:36%"><xsl:value-of select="//lcl/FAC/omschrijving"/></th>
|
||||
<th class="besth" style="width:11%; text-align:left"><xsl:value-of select="//lcl/FAC/eenheid"/></th>
|
||||
<th class="besth" style="width:9%; text-align:right"><xsl:value-of select="//lcl/FAC/aantal"/></th>
|
||||
<th class="besth" style="width:11%; text-align:right"><xsl:value-of select="//lcl/FAC/prijs"/></th>
|
||||
<th class="besth" style="width:11%; text-align:right"><xsl:value-of select="//lcl/FAC/totaal"/></th>
|
||||
</tr>
|
||||
<xsl:for-each select="bestelopdrachtitem">
|
||||
<xsl:sort select="srtdeel/omschrijving"/>
|
||||
<xsl:sort select="posnr" data-type="number"/>
|
||||
<tr>
|
||||
<td class="besresult">
|
||||
<xsl:value-of select="posnr"/>
|
||||
</td>
|
||||
<td class="besresult">
|
||||
<xsl:value-of select="bestelitem/srtdeel/artikel_nummer"/>
|
||||
</td>
|
||||
<td class="besresult">
|
||||
<xsl:value-of select="bestelitem/srtdeel/omschrijving"/> 
|
||||
<xsl:for-each select="bestelitem/kenmerk">
|
||||
<br/>
|
||||
<xsl:value-of select="@naam"/>: <xsl:value-of select="."/></xsl:for-each>
|
||||
</td>
|
||||
<td class="besresult">
|
||||
<xsl:value-of select="bestelitem/srtdeel/eenheid"/>
|
||||
</td>
|
||||
<td class="besresult" style="text-align:right">
|
||||
<xsl:value-of select="aantal"/>
|
||||
</td>
|
||||
<td class="besresult" style="text-align:right">
|
||||
<xsl:value-of select="format-number(prijs, '0,00', 'european')"/>
|
||||
</td>
|
||||
<td class="besresult" style="text-align:right">
|
||||
<xsl:value-of select="format-number(totaal, '0,00', 'european')"/>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:for-each>
|
||||
<tr>
|
||||
<td colspan="7" height="6px" style="border-top:1px solid #000;"/>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="6"/>
|
||||
<td style="text-align:right">
|
||||
<b>
|
||||
<xsl:value-of select="format-number(sum(bestelopdrachtitem/totaal), '0,00', 'european')"/>
|
||||
</b>
|
||||
</td>
|
||||
</tr>
|
||||
</TABLE>
|
||||
</TD>
|
||||
</TR>
|
||||
<tr>
|
||||
<td colspan="4" style="height:40px"/>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4" style="text-align:center; font-size:9px"><xsl:value-of select="//lcl/BES/order_disclaimer1"/>(<xsl:value-of select="id"/>)<xsl:value-of select="//lcl/BES/order_disclaimer2"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
</TD>
|
||||
<TD WIDTH="30" ROWSPAN="30" ID="RECHTERMARGE"/>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="bezoeker" mode="full">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$mode='summary'"><xsl:value-of select="naam"/> van <xsl:value-of select="bedrijf"/> is gearriveerd bij de receptie. Wil je zo vriendelijk zijn je bezoek op te halen?</xsl:when>
|
||||
@@ -2246,20 +2503,27 @@ Beste <xsl:value-of select="voor/naam_friendly"/>,
|
||||
<xsl:sort select="NUMMER"/>
|
||||
<xsl:if test="position() >= $p_pos and position() <= $p_pos + $p_cols - 1">
|
||||
<td style="width:33%;text-align:left;font-size: 12pt;padding-left:10px;padding-top:5px">
|
||||
<xsl:value-of select="GASTHEER"/><br/>
|
||||
<xsl:value-of select="VOORZIENING_AANTAL"/> <xsl:value-of select="VOORZIENING_PRODUCT"/><br/>
|
||||
<xsl:value-of select="substring(VAN,9,2)"/>-<xsl:value-of select="substring(VAN,6,2)"/>-<xsl:value-of select="substring(VAN,1,4)"/>  
|
||||
<xsl:value-of select="substring(substring-after(VAN,'T'),1,5)"/>-<xsl:value-of select="substring(substring-after(TOT,'T'),1,5)"/><br/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="substring(RES_OMSCHRIJVING, 1, 5) = 'Afl: '">
|
||||
<xsl:value-of select="GEBOUW"/>-<xsl:value-of select="substring-after(RES_OMSCHRIJVING, 'Afl: ')"/><br/>
|
||||
<xsl:when test="STATUS = 'Vervallen'">
|
||||
VERVALLEN
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="GEBOUW"/>-<xsl:value-of select="VERDIEPING"/>-<xsl:value-of select="RUIMTE"/><br/>
|
||||
<xsl:value-of select="GASTHEER"/><br/>
|
||||
<xsl:value-of select="VOORZIENING_AANTAL"/> <xsl:value-of select="VOORZIENING_PRODUCT"/><br/>
|
||||
<xsl:value-of select="substring(VAN,9,2)"/>-<xsl:value-of select="substring(VAN,6,2)"/>-<xsl:value-of select="substring(VAN,1,4)"/>  
|
||||
<xsl:value-of select="substring(substring-after(VAN,'T'),1,5)"/>-<xsl:value-of select="substring(substring-after(TOT,'T'),1,5)"/><br/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="substring(RES_OMSCHRIJVING, 1, 5) = 'Afl: '">
|
||||
<xsl:value-of select="GEBOUW"/>-<xsl:value-of select="substring-after(RES_OMSCHRIJVING, 'Afl: ')"/><br/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="GEBOUW"/>-<xsl:value-of select="VERDIEPING"/>-<xsl:value-of select="RUIMTE"/><br/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<xsl:if test="BEZOEKERS != ''">(<xsl:value-of select="BEZOEKERS"/> personen)<br/></xsl:if>
|
||||
<xsl:value-of select="NUMMER"/><br/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<xsl:if test="BEZOEKERS != ''">(<xsl:value-of select="BEZOEKERS"/> personen)<br/></xsl:if>
|
||||
<xsl:value-of select="NUMMER"/><br/>
|
||||
</td>
|
||||
|
||||
</xsl:if>
|
||||
@@ -2782,4 +3046,4 @@ END:VCALENDAR
|
||||
</html>
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
||||
<!-- Stylesheet edited using Stylus Studio - (c) 2004-2009. Progress Software Corporation. All rights reserved. --><!-- Stylesheet edited using Stylus Studio - (c) 2004-2009. Progress Software Corporation. All rights reserved. --><!-- Stylesheet edited using Stylus Studio - (c) 2004-2009. Progress Software Corporation. All rights reserved. --><!-- Stylesheet edited using Stylus Studio - (c) 2004-2009. Progress Software Corporation. All rights reserved. --><!-- Stylesheet edited using Stylus Studio - (c) 2004-2009. Progress Software Corporation. All rights reserved. --><!-- Stylesheet edited using Stylus Studio - (c) 2004-2009. Progress Software Corporation. All rights reserved. -->
|
||||
<!-- Stylesheet edited using Stylus Studio - (c) 2004-2009. Progress Software Corporation. All rights reserved. --><!-- Stylesheet edited using Stylus Studio - (c) 2004-2009. Progress Software Corporation. All rights reserved. --><!-- Stylesheet edited using Stylus Studio - (c) 2004-2009. Progress Software Corporation. All rights reserved. --><!-- Stylesheet edited using Stylus Studio - (c) 2004-2009. Progress Software Corporation. All rights reserved. --><!-- Stylesheet edited using Stylus Studio - (c) 2004-2009. Progress Software Corporation. All rights reserved. --><!-- Stylesheet edited using Stylus Studio - (c) 2004-2009. Progress Software Corporation. All rights reserved. --><!-- Stylesheet edited using Stylus Studio - (c) 2004-2009. Progress Software Corporation. All rights reserved. -->
|
||||
114
CUST/MARX/xsl/F_PutFactuurSAP.xsl
Normal file
@@ -0,0 +1,114 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:ns0="urn:sap-com:document:sap:idoc:messages"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0">
|
||||
<xsl:output method="text" encoding="UTF-8"/>
|
||||
|
||||
|
||||
<xsl:template match="/">
|
||||
<xsl:comment>woconr;leveranciernr;factuurnr;factuurdatum;onderwerp;opdrachtnr;omschrijving;bedrag;btwperc;btwbedrag;btw_verlegd;document;iban;G_iban;G_bedrag;kvk_nr;btw_nr;afleverdatum</xsl:comment>
|
||||
<xsl:for-each select="//ns0:INVOIC02/IDOC/E1EDP01">
|
||||
<xsl:value-of select="../E1EDKA1[PARVW='RG']/PARTN"/>;<xsl:value-of select="../E1EDKA1[PARVW='BK']/LIFNR"/>;<xsl:value-of select="../E1EDK01/BELNR"/>;<xsl:call-template name="get_factuurdatum"/>;;<xsl:call-template name="get_customer_po"/>;<xsl:call-template name="construct_factuurregel_omschr"/>;<xsl:value-of select="E1EDP26[QUALF='003']/BETRG"/>;<xsl:call-template name="VATInformation"/>;<xsl:call-template name="get_filename_attachment"/>;<xsl:value-of select="../E1EDK28[1]/ACNUM"/>;<xsl:value-of select="../E1EDK28[2]/ACNUM"/>;<xsl:call-template name="get_gbedrag"/>;<xsl:call-template name="get_kvk"/>;<xsl:call-template name="get_btwnr"/>;<xsl:call-template name="get_opleverdatum"/>; </xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="get_factuurdatum">
|
||||
<!-- Factuurdatum staat in formaat yyyymmdd, gaan we overzetten met streepjes ertussen, in dd-mm-yyyy -->
|
||||
<xsl:variable name="l_datum"><xsl:value-of select="../E1EDK02[QUALF='009']/DATUM"/></xsl:variable>
|
||||
<xsl:value-of select="substring($l_datum,7,2)"/>-<xsl:value-of select="substring($l_datum,5,2)"/>-<xsl:value-of select="substring($l_datum,1,4)"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="get_customer_po">
|
||||
<xsl:variable name="l_marnr"><xsl:value-of select="substring-before(../E1EDK02[QUALF='001']/BELNR,' / ')"/></xsl:variable>
|
||||
<xsl:choose>
|
||||
<xsl:when test="$l_marnr != ''"><xsl:value-of select="$l_marnr"/></xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="../E1EDK02[QUALF='001']/BELNR"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="get_filename_attachment">
|
||||
<xsl:choose>
|
||||
<xsl:when test="../Attachments/Attachment/@fileName != ''"><xsl:value-of select="../Attachments/Attachment/@fileName"/></xsl:when>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="VATInformation">
|
||||
<!-- Deze template levert het gedeelte [btwperc;btwbedrag;btw_verlegd] op -->
|
||||
<!-- Let even op: geen voorgaande ; en zeker ook geen ; op einde, dat gebeurt in de aanroepende regel (hierboven dus) -->
|
||||
<!-- Let op: btw bedrag wordt niet uit SidB uit de node InvoiceLine aangeboden, dus deze is hier altijd leeg. -->
|
||||
<xsl:choose>
|
||||
<xsl:when test="E1EDP04/MSATZ != ''"><xsl:value-of select="E1EDP04/MSATZ"/>;</xsl:when>
|
||||
<xsl:otherwise>21;</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<xsl:choose>
|
||||
<!-- BTW verlegd = Ja -->
|
||||
<xsl:when test="E1EDK05[KSCHL='ZWKA']/BETRG != '' or
|
||||
E1EDK05[KSCHL='ZWKA']/BETRG != '0' or
|
||||
E1EDK05[KSCHL='ZWKA']/BETRG != '0.00'">;Ja</xsl:when>
|
||||
<!-- BTW verlegd = Nee, veld btw_verlegd in CSV gewoon leeg laten-->
|
||||
<xsl:otherwise>;</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="construct_factuurregel_omschr">
|
||||
<xsl:call-template name="vrije_tekst">
|
||||
<xsl:with-param name="p_string">
|
||||
<xsl:if test="MENGE != ''"><xsl:value-of select="MENGE"/><xsl:text> </xsl:text></xsl:if>
|
||||
<xsl:if test="MENEE != ''"><xsl:value-of select="MENEE"/><xsl:text> </xsl:text></xsl:if>
|
||||
<xsl:if test="E1EDP19[QUALF='002']/IDTNR != ''"><xsl:value-of select="E1EDP19[QUALF='002']/IDTNR"/><xsl:text> - </xsl:text></xsl:if>
|
||||
<xsl:if test="E1EDP19[QUALF='002']/KTEXT != ''"><xsl:value-of select="E1EDP19[QUALF='002']/KTEXT"/></xsl:if>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="get_gbedrag">
|
||||
<xsl:value-of select="../E1EDK05[KSCHL='ZWKA']/BETRG"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="get_kvk">
|
||||
<xsl:variable name="l_kvk"><xsl:value-of select="substring-before(../E1EDKA1[PARVW='BK']/TELBX,' / ')"/></xsl:variable>
|
||||
<xsl:choose>
|
||||
<xsl:when test="$l_kvk != ''"><xsl:value-of select="$l_kvk"/></xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="../E1EDKA1[PARVW='BK']/TELBX"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="get_btwnr">
|
||||
<xsl:value-of select="../E1EDK01/EIGENUINR"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="get_opleverdatum">
|
||||
<xsl:value-of select="../E1EDK03[IDDAT='001']/DATUM"/>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
|
||||
|
||||
<xsl:template name="vrije_tekst">
|
||||
<xsl:param name="p_string"/>
|
||||
<xsl:variable name="l_string_esc_quotes"><xsl:call-template name="escape_quote"><xsl:with-param name="string" select="$p_string"/></xsl:call-template></xsl:variable>
|
||||
<xsl:variable name="l_string_esc_linebreaks"><xsl:call-template name="escape_linebreaks"><xsl:with-param name="string" select="$l_string_esc_quotes"/></xsl:call-template></xsl:variable>"<xsl:value-of select="$l_string_esc_linebreaks"/>"</xsl:template>
|
||||
|
||||
<xsl:template name="escape_quote">
|
||||
<xsl:param name="string"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="contains($string, '"')"><xsl:value-of select="substring-before($string, '"')"/>""<xsl:call-template name="escape_quote">
|
||||
<xsl:with-param name="string" select="substring-after($string, '"')"/></xsl:call-template></xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="$string"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="escape_linebreaks">
|
||||
<xsl:param name="string"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="contains($string, '
')"><xsl:value-of select="substring-before($string, '
')"/>@@<xsl:call-template name="escape_linebreaks">
|
||||
<xsl:with-param name="string" select="substring-after($string, '
')"/>
|
||||
</xsl:call-template>
|
||||
</xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="$string"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -171,7 +171,6 @@
|
||||
<tr>
|
||||
<td colspan="2" class="tekst">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$srtnotificatiecode='RESNEW'"/>
|
||||
<xsl:when test="$srtnotificatiecode='RESDEL'"><xsl:value-of select="//lcl/RES/reservering_vervallen"/></xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:call-template name="res_begintext"/>
|
||||
|
||||
BIN
CUST/VEST/banner.PNG
Normal file
|
After Width: | Height: | Size: 9.2 KiB |
0
CUST/VEST/export/.gitignore
vendored
Normal file
0
CUST/VEST/import/.gitignore
vendored
Normal file
BIN
CUST/VEST/oracle.udl
Normal file
4
CUST/VEST/tasks/gen_notify.bat
Normal file
@@ -0,0 +1,4 @@
|
||||
@echo off
|
||||
REM Moet gescheduled worden (normaliter 1 keer per uur) om door de applicatiebeheerder
|
||||
REM ingeregelde notificaties te genereren.
|
||||
cscript ..\..\..\utils\gen_notify\gen_notify.js ../oracle.udl VEST
|
||||
4
CUST/VEST/tasks/gen_scheduler.bat
Normal file
@@ -0,0 +1,4 @@
|
||||
@echo off
|
||||
REM Moet gescheduled worden (normaliter 1 keer per dag) om door de applicatiebeheerder
|
||||
REM ingeregelde jobs (aanmaak van periodieke opdrachten) uit te voeren.
|
||||
cscript ..\..\..\utils\gen_scheduler\gen_scheduler.js ../oracle.udl
|
||||
1
CUST/VEST/tasks/putOrders.bat
Normal file
@@ -0,0 +1 @@
|
||||
call ..\..\..\utils\putOrders\putOrders.bat
|
||||
BIN
CUST/VEST/tmp_logo.gif
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
0
CUST/VEST/xsl/.gitignore
vendored
Normal file
@@ -610,10 +610,30 @@ Kempen & Co N.V. is statutair gevestigd aan de Beethovenstraat 300, 1077 WZ
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<xsl:choose>
|
||||
|
||||
|
||||
<xsl:choose>
|
||||
<!--301=Interne opdracht-->
|
||||
<xsl:when test="opdrachttype/key!='301'">
|
||||
<table border="0" width="100%" cellpadding="2" cellspacing="2">
|
||||
<xsl:if test="extra_key">
|
||||
<xsl:variable name="ox_key"><xsl:value-of select="extra_key"/></xsl:variable>
|
||||
<tr>
|
||||
<td align="right" width="15%" colspan="1" valign="top" style="padding-top:15px;padding-bottom:10px;align:left">
|
||||
<b><xsl:value-of select="//lcl/FAC/bericht"/>:</b>
|
||||
</td>
|
||||
<td colspan="3" style="padding-top:15px;padding-bottom:10px;align:right">
|
||||
<xsl:call-template name="linebreaks">
|
||||
<xsl:with-param name="string" select="notes/note[key=$ox_key]/omschrijving"/>
|
||||
</xsl:call-template>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4" style="padding-bottom:15px;">
|
||||
<hr/>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:if>
|
||||
<tr>
|
||||
<td colspan="4">
|
||||
<br/><xsl:value-of select="uitvoerende/bedrijf/naam"/>
|
||||
@@ -627,6 +647,24 @@ Kempen & Co N.V. is statutair gevestigd aan de Beethovenstraat 300, 1077 WZ
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<table border="0" width="100%" cellpadding="2" cellspacing="2">
|
||||
<xsl:if test="extra_key">
|
||||
<xsl:variable name="ox_key"><xsl:value-of select="extra_key"/></xsl:variable>
|
||||
<tr>
|
||||
<td align="right" width="15%" colspan="1" valign="top" style="padding-top:15px;padding-bottom:10px;align:left">
|
||||
<b><xsl:value-of select="//lcl/FAC/bericht"/>:</b>
|
||||
</td>
|
||||
<td colspan="3" style="padding-top:15px;padding-bottom:10px;align:right">
|
||||
<xsl:call-template name="linebreaks">
|
||||
<xsl:with-param name="string" select="notes/note[key=$ox_key]/omschrijving"/>
|
||||
</xsl:call-template>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4" style="padding-bottom:15px;">
|
||||
<hr/>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:if>
|
||||
<tr>
|
||||
<td colspan="4">
|
||||
<br/><xsl:value-of select="uitvoerende/bedrijf/naam"/>
|
||||
|
||||