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

    File:               ins_show_note.asp
    Description:        Toont een overzicht van de notes van één object
                        Dit zal hoofdzakelijk zijn als behorend bij een bepaald object

                      ? maar kan ook "open" zijn (vanuit het menu). In dat geval wordt  ?
                      ? er nog wat identificerende objectinfo getoond.                 ?

    Parameters:         ins_key
    Noot:               De variant zonder ins_key ondersteunen we nog niet echt!

// TODO:
//       de query beperken tot de objecten waarvoor ik canChange rechten heb
//       als ins_key -1 is
*/%>

<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/iface.inc" -->
<!-- #include file="./ins.inc" -->
<!-- #include file="../Shared/resultset_table_v2.inc" -->
<%
var ins_key = getQParamInt("ins_key", -1); // vanuit het menu hebben we geen ins_key
var embedded = getQParamInt("embedded", -1);
var outputmode = getQParamInt("outputmode", 0);
var showall = getQParamInt("showall", 0) == 1;

if (ins_key > 0)
{
    var this_ins = ins.func_enabled_deel(ins_key); // Wat heb ik zoal aan rechten
    user.auth_required_or_abort(this_ins.canChange);
}

%>
<html>
<head>
<%  FCLTHeader.Generate({outputmode: outputmode}); %>
   <script type="text/javascript">
        function persoonDetails(evt, perslid_key)
        {
            FcltMgr.stopPropagation(evt);
            FcltMgr.openDetail("appl/fac/fac_user.asp?prs_key=" + perslid_key);
        }
        function ins_notechange(ins_note_key)
        {
            if (FcltMgr.startEdit(window))
                window.location.href = "ins_edit_note.asp?ins_key=<%=ins_key%>" + (ins_note_key?"&note_key="+ins_note_key:"") + "&embedded=<%=embedded%>"
        }
<% if (ins_key == -1) { %>
        function ins_edit(row)
        {
          $(row).addClass('dirty');
          var ins_key = row.getAttribute("ROWKEY");
          url = "appl/ins/ins_deel.asp?ins_key=" + ins_key;
          FcltMgr.openDetail(url, L("lcl_ins_object") + ' ' + ins_key);
        }
<% } %>
   </script>
</head>

<body id="listbody">
<%
    function fnPerslidNaamFull(oRs)
    {
        var html = "<span class='details' onclick='persoonDetails(event,"+ oRs("prs_perslid_key").Value +")'>"
                 + safe.html(oRs("prs_perslid_naam_full").Value)
                 + "</span>";

        return html;
    }

// Je kunt alleen een notitie toevoegen als je binnen een bekend object bent
    var buttons = [];
    if (ins_key > 0)
    {
        var sql = "SELECT ins_deel_note_key, prs_perslid_key"
                + "  FROM ins_deel_note"
                + " WHERE ins_deel_key =" + ins_key
                + " ORDER BY ins_deel_note_aanmaak DESC";
        var oRs = Oracle.Execute(sql);
        if (!oRs.eof)
        {
          if (oRs("prs_perslid_key").value == user_key)
          {
            buttons.push({title: L("lcl_ins_note_edit"), icon: "fa-fclt-edit", action: "ins_notechange("+oRs("ins_deel_note_key").value+")", id: "bedit_ins_note"});
          }
        }
        oRs.Close();
        buttons.push({title: L("lcl_add"), icon: "fa-plus", action:"ins_notechange()", id:"bchange_ins_note" });
    }

    var pageTitle = "";
    if (ins_key > 0)
    {
  sql = "SELECT ins_deel_omschrijving"
      + "  FROM ins_deel d"
      + " WHERE ins_deel_key = " + ins_key;
  oRs = Oracle.Execute(sql);
  pageTitle = L('lcl_ins_object') + " " + oRs("ins_deel_omschrijving").Value;
  oRs.Close();
       sql = "SELECT n.ins_deel_note_aanmaak"
           + ",      n.ins_deel_note_key"
           + ",      pf.prs_perslid_key"
           + ",      pf.prs_perslid_naam_full"
           + ",      n.ins_deel_note_omschrijving"
           + "  FROM ins_deel_note n, prs_v_perslid_fullnames_all pf"
           + " WHERE n.prs_perslid_key = pf.prs_perslid_key (+)"
           + "   AND n.ins_deel_key = " + ins_key
           + " ORDER BY n.ins_deel_note_aanmaak "
           + (true ? "DESC " : "");  // wordt setting (zie UWVA#14408)
    }
    else
    {
        // Overzicht van alle object-notes binnen mijn canChange autorisaties

    }

    var rst = new ResultsetTable({ sql:sql,
                                   keyColumn: (ins_key == -1)?"ins_deel_key":"ins_deel_note_key",
                                   noPrint:(embedded != -1),
                                   ID: "notestable",
                                   buttons: buttons,
                                   title: L("lcl_ins_deel_notes") + " " + pageTitle,
                                   outputmode: outputmode,
                                   showAll: showall,
                                   emptySetString : L("lcl_ins_note_emptyset")
                                 });

    rst.addColumn(new Column({caption: L("lcl_date_time"), content: "ins_deel_note_aanmaak", datatype:"datetime"}));
    if (ins_key == -1) {
        rst.addColumn(new Column({caption: L("lcl_ins_object"), content: "ins_deel_key"}));
    }
    rst.addColumn(new Column({caption: L("lcl_ins_changedby"), content: fnPerslidNaamFull}));
    rst.addColumn(new Column({caption: L("lcl_ins_note"), content: "ins_deel_note_omschrijving"}));

    // als ik in een contextloos overzicht zit, kan ik naar de edit van de Melding (niet van de note!)
    // Moet ik wel schrijfrechten hebben ook (TODO)
    if (ins_key == -1) {
        rst.addAction({ action: "ins_edit", caption: L("lcl_edit"), isDefault: true } );
    }
    var cnt = rst.processResultset();
%>
</body>
</html>
<% ASPPAGE_END(); %>
