<%@ LANGUAGE = JavaScript %>
<% /*
     $Revision$
     $Id$

     File:               opdr_halt_confirm.asp.
     Description:        Invoerscherm van verplichte kenmerken voor het onderbreken van een specifieke opdracht.
     Parameters:
         opdr_key        Opdracht key van de opdracht die moet worden onderbroken.
     Context:
     Note:               Rechtstreeks vanuit showmode opdracht.

*/
var opdr_key = getQParamInt("opdr_key", -1);
var LOCKED_USER_OK = { "xmlnode": "opdracht", "key": opdr_key };
%>

<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/iface.inc" -->
<!-- #include file="../Shared/notes.inc" -->
<!-- #include file="mld_flexkenmerk.inc" -->
<!-- #include file="mld.inc" -->

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

user.auth_required_or_abort(opdr_key > 0); // Hebben we een opdracht key gekregen?

// Controleren of ik deze opdracht mag onderbreken.
var this_opdr = mld.func_enabled_opdracht(opdr_key); // Wat mag ik zoal op deze opdracht.
user.auth_required_or_abort(this_opdr.canOnderbreken); // Mag ik deze opdracht onderbreken.

var mld_opdr = this_opdr.mld_opdr;
lcl.set_dialect(mld_opdr.opdr_type, "MLD_TYPEOPDR_KEY");

// Kenmerken die verplicht zijn bij het Onderbreken worden in het popup scherm getoond en moeten verplicht ingevuld worden. Dat hoef ik hier niet meer te testen.
%>

<html>
  <head>
<%	FCLTHeader.Generate(); %>
    <script type="text/javascript">
      function mld_cancel()
      {
          FcltMgr.closeDetail(window, { cancel: true } );
      }

      function mldHaltCallback(data)
      {
        if (data.note_key > -1 )
          $("#note_key").val(data.note_key);

        $.post($("form[name=haltform]")[0].action, $("[name=haltform]").serialize(), FcltCallbackClose, "json");
      }

      async function mld_halt(close)
      {
        if (!await validateForm("u2"))
          return false;

<%      var save_note_url = "../mld/opdr_edit_note_save.asp?opdr_key=" + opdr_key; %>
        if ($(".mail_notes").length > 0 && $(".mail_notes").val().trim() != "")
        {
          var data = $("[type=checkbox], [name^=has_], #note, [name=<%=protectRequest.theVar%>]").serialize();
          var url = "<%=save_note_url%>";
          $.post(url,
                 data,
                 FcltCallbackAndThenAlways(mldHaltCallback),
                 "json");
          return true; // disable button
        }
        else
        {
          var data = { success: true,
                       note_key: -1
                     };
          mldHaltCallback(data);
        }

        return true; // disable bu
      }

      $(function()
      {
        $("#note").focus();
        $("#k1val").focus(); // Mocht dit kenmerk veld er niet zijn dan blijft de focus op de notitie.
      });

    </script>
  </head>

  <body class="fclt-modal" id="mod_opdrhalt">
    <% MODAL_START(); %>
    <form id="haltform" name="haltform" action="opdr_halt_save.asp?opdr_key=<%=opdr_key%>" method="post">
<%
      // De verplichte onderbreek (halt) kenmerken tonen bij het onderbreken. Vooralsnog worden de andere verplichte kenmerken niet getoond.
      generateFlexKenmerkBlock({ opdr_key: opdr_key,
                                 opdr_type: mld_opdr.opdr_type,
                                 opdr_type_org: mld_opdr.opdr_type,
                                 opdr_status: mld_opdr.opdr_status,
                                 mld_key: mld_opdr.mld_key,
                                 stdm_arr: [mld_opdr.stdm_key], // Stdmelding
                                 halt: true,
                                 act_key: -1,
                                 reado: (!(this_opdr.canFlexChange || this_opdr.canChangeARFlex)? "1" : null),
                                 prs_key: user_key, // Perslid key, wordt alleen gebruikt als geldt (!kenmerk_search && !multiMode)
                                 showConfidential: this_opdr.canViewConfidential
                               });

      MODAL_BLOCK_START("mldHalt", L("lcl_mld_behandeling"), { "icon": "fa-pause" });
      if (this_opdr.canEditOpdrNote)
      {
        RWTEXTAREATR("note",
                     "fldhaltnote mail_notes",
                     L("lcl_mld_note"),
                     "",
                     {html: "rows='5'"});
        Response.Write("<tr><td></td><td>");
        notes.note_toggles("OPDR", { pkey: opdr_key });
        Response.Write("</td></tr>");
      }
      %><input type="hidden" name="note_key" id="note_key" value="-1"><%
      MODAL_BLOCK_END();

      var buttons =  [ {title: L("lcl_halt"), icon: "fa-fclt-save", action: "mld_halt()", singlepress: true, id: "btn_halt_submit" },
                       {title: L("lcl_back"), icon: "fa-fclt-cancel", action: "mld_cancel()" } ];
      SIMPLE_BLOCK_START();
        CreateButtons(buttons);
      SIMPLE_BLOCK_END();
      IFACE.FORM_END();
%>
    </form>
    <% MODAL_END(); %>
  </body>
</html>
<% ASPPAGE_END(); %>
