<%@language = "javascript" %>
<% /*
     $Revision$
     $Id$

    File:               bez_edit_afspraak_multi.asp
    Description:        Multi editten van afspraken
    Parameters:         key

    Context:            bez_search_list.asp
    Note:               De minimale multi-edit velden

*/ %>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/iface.inc" -->
<!-- #include file="../Shared/selector.inc" -->
<!-- #include file="../Shared/save2db.inc" -->
<!-- #include file="../API2/api2.inc" -->
<!-- #include file="bez.inc" -->

<%
FCLTHeader.Requires({ plugins: ["suggest", "jQuery", "kenmerk"],
                      js: ["multi.js"] });

var afspr_key_arr = getQParamIntArray("afspr_keys");
var warning = "";
var result = {};
var tobeedited = 0;
var ingesloten = [];
// Bepaal de afspraken in de selectie die
// ook echt gewijzigd kunnen of mogen worden.
for (var i = 0; i < afspr_key_arr.length; i++)
{
  var this_bez = bez.func_enabled_afspraak(afspr_key_arr[i]);
  if (this_bez.canChange)
  {
    ingesloten.push(afspr_key_arr[i]);
    tobeedited++;
    var last_this_bez = this_bez; // deze gebruiken we voor rechtencontrole. Niet 100% zuiver maar goed genoeg
  }
}

user.auth_required_or_abort(ingesloten.length); // We klagen niet over enkele wel en enkele niet
%>

<html>
  <head>
<%  FCLTHeader.Generate(); %>
    <script type="text/javascript">
        function bez_submit()
        {   // Invoer van velden wordt realtime gevalideerd.
            $.post($("form[name=u2]")[0].action,
                   $("[name=u2]").serialize(),
                   FcltCallbackAndThenAlways(bez_submit_callback),
                   "json");
            return true; // disable button
        }

        function bez_submit_callback(json)
        {
            iface.button.enable("btn_bez_submit");
            if (json.success)
                FcltMgr.closeDetail(window, json);
        }

        function bez_cancel()
        {
            FcltMgr.closeDetail(window, { cancel: true } );
        }
    </script>
  </head>

  <body class="fclt-modal" id="mod_bezmultiedit">
  <% MODAL_START(); %>
    <form name="u2" action="bez_edit_afspraak_multi_save.asp?afspr_keys=<%=ingesloten.join(",")%>" method="post">
<%
      MODAL_BLOCK_START("bezAfspraak", L("lcl_bez_basisblok"), { icon: "fa-calendar-check" });
        // Welke actie_groepen zitten er in de selectie.
        var actiegrp_arr_key = [];
        var sql = "SELECT DISTINCT COALESCE( bez_actie_groep_key"
                                        + ", (SELECT MIN(bez_actie_groep_key)"
                                        + "     FROM bez_actie_groep"
                                        + "    WHERE bez_actie_groep_verwijder IS NULL"
                                        + "      AND bez_actie_groep_default = 1"
                                        + "   )"
                                        + ") actie_groep_key"
                + "  FROM alg_gebouw"
                + " WHERE alg_gebouw_key IN ("
                        + "SELECT g.alg_gebouw_key"
                        + "  FROM bez_afspraak a"
                        + "     , alg_gebouw g"
                        + " WHERE a.alg_locatie_key = g.alg_locatie_key"
                        + "   AND a.alg_onrgoed_keys IS NULL"
                        + "   AND a.bez_afspraak_key IN (" + ingesloten.join(",") + ")"
                        + " UNION "
                        + "SELECT g.alg_gebouw_key"
                        + "  FROM bez_afspraak a"
                        + "     , alg_v_onroerendgoed g"
                        + " WHERE g.alg_type = 'R'"
                        + "   AND a.alg_onrgoed_keys = g.alg_onroerendgoed_keys"
                        + "   AND a.alg_onrgoed_keys IS NOT NULL"
                        + "   AND a.bez_afspraak_key IN (" + ingesloten.join(",") + ")"
                        + ")"
        var oRs = Oracle.Execute(sql);
        while (!oRs.eof)
        {
            actiegrp_arr_key.push(oRs("actie_groep_key").Value);
            oRs.MoveNext();
        }
        oRs.Close();
        if (actiegrp_arr_key.length == 1)
        {   // Om een geldige actie bij de geselecteerde afspraken te kunnen zetten moeten deze afspraken allemaal van dezelfde actie_groep zijn.
            // Is er geen default actie_groep of zijn er meer dan 1 actie_groepen dan is de actie niet te multi-wijzigen.
            sql = "SELECT bez_actie_key"
                + "     , " + lcl.xsqla("bez_actie_omschrijving", "bez_actie_key")
                + "  FROM bez_actie"
                + " WHERE bez_actie_verwijder IS NULL"
                + "   AND bez_actie_groep_key = " + actiegrp_arr_key[0]
                + " ORDER BY 2";
            FCLTselector( "actie"
                        , sql
                        , { label: L("lcl_action")
                          , initKey: -1
                          , emptyOption: ""
                          , initEmpty: true
                          , required: true
                          }
                        );
        }
        else
        {
%>
        <tr><td class="multi_cb"><input type="checkbox"  disabled></td><td class="label"><label><%=L("lcl_action")%></label></td><td><%=L("bez_actie_groep_multi")%></td></tr>
<%      }
        RWTEXTAREATR("remark", "fldtxt", L("lcl_vis_remark"), "", { maxlength: 320 });

      MODAL_BLOCK_END();
%>
      <script type="text/javascript">

        $(function()
          {
            init_multi();
          });

      </script>
<%
      var buttons =  [];
      buttons.push({title: L("lcl_submit"), action:"bez_submit()", singlepress: true, id: "btn_edit_submit", importance: 1, icon: "fa-fclt-save"});
      buttons.push({title: L("lcl_cancel"),  action:"bez_cancel()", importance: 3, icon: "fa-fclt-cancel"});
      SIMPLE_BLOCK_START();
      CreateButtons(buttons);
      SIMPLE_BLOCK_END();
      IFACE.FORM_END();
%>
    </form>
    <% MODAL_END(); %>
  </body>
</html>
<% ASPPAGE_END(); %>
