FMHN#84318 instellen bedrijfskalender

svn path=/Website/trunk/; revision=65432
This commit is contained in:
Erik Groener
2024-07-04 08:42:04 +00:00
parent d96776b8a4
commit da84e33283
6 changed files with 32 additions and 5 deletions

View File

@@ -309,6 +309,7 @@ alg = {
+ " , p.prs_perslid_key"
+ " , COALESCE(g.alg_gebouw_beginuur, -1) alg_gebouw_beginuur"
+ " , COALESCE(g.alg_gebouw_einduur, -1) alg_gebouw_einduur"
+ " , mld_vrije_dagen_id"
+ " FROM alg_gebouw g"
+ " , prs_kostenplaats k"
+ " , prs_perslid p"
@@ -340,10 +341,27 @@ alg = {
kostenplaats_budgethouder_key: oRs("prs_perslid_key").Value,
kostenplaats_budgethouder: oRs("budgethouder").Value,
gebouw_beginuur: oRs("alg_gebouw_beginuur").Value,
gebouw_einduur: oRs("alg_gebouw_einduur").Value
gebouw_einduur: oRs("alg_gebouw_einduur").Value,
vrije_dagen: {id: oRs("mld_vrije_dagen_id").Value}
};
}
oRs.Close();
if (result.vrije_dagen.id && result.vrije_dagen.id.toUpperCase() != "DEFAULT")
{
var vrije_dagen_alt = [];
var sql = "SELECT mld_vrije_dagen_datum"
+ " FROM mld_vrije_dagen"
+ " WHERE mld_vrije_dagen_id = " + safe.quoted_sql(result.vrije_dagen.id);
var oRs = Oracle.Execute(sql);
while (!oRs.eof)
{
vrije_dagen_alt.push((new Date(oRs("mld_vrije_dagen_datum").Value)).getTime());
oRs.MoveNext();
}
oRs.Close();
if (vrije_dagen_alt.length)
result.vrije_dagen.alt = vrije_dagen_alt;
}
return result;
},

View File

@@ -263,6 +263,7 @@ else
</script>
<form name="u2" action="bez_edit_afspraak_save.asp?urole=<%=urole%>&afspr_key=<%=afspr_key%>" method="post" onsubmit="bez_submit();return false;">
<input type="hidden"id="vrije_dagen_id" name="vrije_dagen_id" value="Default">
<% if (isMldOpdracht)
{ %>
<input type="hidden" name="mld_opdr_key" id="mld_opdr_key" value="<%=bez_afspraak.mld_opdr_key%>">

View File

@@ -73,6 +73,9 @@ function process_gebouw_info(data, textStatus)
{
if (textStatus == "success")
{
// save alternative free days for this building
mld_vrije_dagen_alt = data.vrije_dagen.alt || [];
$("#vrije_dagen_id").val( (data.vrije_dagen.id || "Default"));
// save show/require info for the selected building
$("#prktype").attr({toon_telefoon: data.alg_gebouw_toon_telefoon, toon_email: data.alg_gebouw_toon_email, toon_kenteken: data.alg_gebouw_toon_kenteken});
$("#prktype").trigger("changed");

View File

@@ -90,7 +90,8 @@ if (date_from && date_to) // De begin- en einddatum kunnen readonly zijn.
if ((S("bez_use_buildinghours") & 2) == 2)
{ // Geen bezoek in het weekend en op vrije dagen.
var sql = "SELECT fac.iswerkdag(" + date_to.toSQL() + ") iswerkdag"
var kalender_id = getFParamSafe("vrije_dagen_id", "Default");
var sql = "SELECT fac.iswerkdag(" + date_to.toSQL() +","+ safe.quoted_sql(kalender_id) + ") iswerkdag"
+ " FROM DUAL";
var oRs = Oracle.Execute(sql);
var is_werkdag = oRs("iswerkdag").Value == 1;

View File

@@ -296,6 +296,7 @@ function cal_checkVolgnr(fieldId, volgnr) {
// te gebruiken in combinatie met FCLTCalender
function cal_isVrijeDag(datum) {
var nacht = datum.midnight();
var vrije_dagen = (mld_vrije_dagen_alt.length > 0 ? mld_vrije_dagen_alt : mld_vrije_dagen);
return ($.inArray(nacht.getTime(), mld_vrije_dagen) > -1);
}

View File

@@ -26,7 +26,7 @@ if (!Date.prototype.toISOString) {
function _initVrijedagen()
{
var sql = "SELECT mld_vrije_dagen_datum FROM mld_vrije_dagen";
var sql = "SELECT mld_vrije_dagen_datum FROM mld_vrije_dagen WHERE mld_vrije_dagen_id = 'Default'";
var oRs = Oracle.Execute(sql);
var mld_vrije_dagen = "0";
while (!oRs.Eof)
@@ -41,6 +41,7 @@ function _initVrijedagen()
// http://bugs.jquery.com/ticket/13378
var mld_vrije_dagen = [<%=mld_vrije_dagen%>];
var mld_vrije_dagen_alt = [];
var calArray = new Array();
// Zie ook kenmerk_common.inc. Delen code was iets te lastig
$(function ()
@@ -67,7 +68,8 @@ function _initVrijedagen()
{
datepickerDefaults.beforeShowDay = function(datum)
{
if ($.inArray(datum.getTime(), mld_vrije_dagen) > -1)
var vrije_dagen = (mld_vrije_dagen_alt.length > 0 ? mld_vrije_dagen_alt : mld_vrije_dagen);
if ($.inArray(datum.getTime(), vrije_dagen) > -1)
return [ true, 'ui-datepicker-vrije-dag' ];
else
return [ true, '' ];
@@ -226,7 +228,8 @@ function _FCLTcalendar (fieldID, params)
{ // selectMode: 0= Alle dagen te selecteren, 1= vrije dagen niet te selecteren
// , 2= weekends niet te selecteren, 3= vrije dagen en weekends niet te selecteren
var weekend = (!$.datepicker.noWeekends(date)[0]);
var day_off = ($.inArray(date.getTime(), mld_vrije_dagen) > -1);
var vrije_dagen = (mld_vrije_dagen_alt.length > 0 ? mld_vrije_dagen_alt : mld_vrije_dagen);
var day_off = ($.inArray(date.getTime(), vrije_dagen) > -1);
if (day_off || weekend)
{