Subversion Repositories DevTools

Rev

Rev 6876 | Rev 7288 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

<%@LANGUAGE="VBSCRIPT"%>
<%
'=====================================================
'   View Package Owner Information
'       form_view_package_owners.asp
'=====================================================
%>
<%
Option explicit
' Good idea to set when using redirect
Response.Expires = 0   ' always load the page, dont store
%>
<!--#include file="common/conf.asp"-->
<!--#include file="common/globals.asp"-->
<!--#include file="common/formating.asp"-->
<!--#include file="common/qstr.asp"-->
<!--#include file="common/common_subs.asp"-->
<!--#include file="common/_form_window_common.asp"-->
<!--#include file="_action_buttons.asp"-->

<!--#include file="class/classActionButtonControl.asp"-->
<%
'------------ ACCESS CONTROL ------------------
%>
<!--#include file="_access_control_login_optional.asp"-->
<!--#include file="_access_control_general.asp"-->
<%
'------------ Variable Definition -------------
Dim parRtagId
Dim modifyState
'------------ Constants Declaration -----------
'------------ Variable Init -------------------
parRtagId = Request("rtag_id")
objPMod.PersistInQryString("rtag_id")
ReleaseMode = GetReleaseMode( Request("rtag_id") )

modifyState = "disabled"
If canActionControl("BulkChangePackageOwner") Then modifyState = ""
'----------------------------------------------
Sub ShowSidePanel
End Sub
'----------------------------------------------
Sub ShowMainPanel
 %>
    <table class="embedded_table" style="margin-bottom:10px; width:50%">
      <tr>
         <td>
            <span nowrap class="form_ttl">VIEW PACKAGE OWNER</span>
            <!-- Section Top Border ---->
            <div class="rounded_box" style="background: white;">
                <!-- Section Body Header ---->
                <!-- Main Pane -->
                <table id="deploymentstatetable" width="100%" class="stripe">
                    <thead class="body_col">
                        <tr>
                          <th>PV_ID
                          <th>Package Name
                          <th>Package Version
                          <th>Base View
                          <th>Short Description
                          <th>Package Owner
                          <th>Select
                          <th>SdkId
                        </tr>
                    </thead>
                    <tbody>
                    </tbody>
                </table>
                <div id='iframeTxData' style='visibility:hidden;display:none'></div>
                <!-- Info / Ajax Progress bar -->
                <div class='bg_dialog body_txt' style='position:relative;min-height:19px;' >
                    <img id='ds_progressBar' style='visibility:hidden;position: absolute;display: block' src='icons/i_processing.gif' width='79' height='14'>
                    <div id='ds_info'  style='position: absolute;'></div>
                    <div>
                          <button id='ds_refresh'  class='rmbutton' style="display:inline; float:right;">Refresh</button>
                          <button id='ds_setOwner' class='rmbutton' style="display:inline; float:right;" <%=modifyState%>>Set Owner</button>
                          <button id='ds_clearAll' class='rmbutton' style="display:inline; float:right;" <%=modifyState%>>Clear All</button>
                          <button id='ds_clearVis' class='rmbutton' style="display:inline; float:right;" <%=modifyState%>>Clear Visible</button>
                          <button id='ds_setVis'   class='rmbutton' style="display:inline; float:right;" <%=modifyState%>>Set Visible</button>
                    </div>
                </div>
            </div>
            </td>
        </tr>
    </table>
<%
End Sub
'----------------------------------------------
%>
<html>
   <head>
        <title>Release Manager</title>
        <link rel="shortcut icon" href="<%=FavIcon%>"/>
        <meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
        <link rel="stylesheet" href="images/release_manager_style.css?ver=<%=VixVerNum%>" type="text/css">
        <link rel="stylesheet" href="images/navigation.css?ver=<%=VixVerNum%>" type="text/css">
        <script language="JavaScript" src="images/common.js?ver=<%=VixVerNum%>"></script>
        <%bJqueryDataTables = TRUE%>
        <!--#include file="_jquery_includes.asp"-->
        <!-- TIPS -->
        <script language="JavaScript" src="images/tipster.js?ver=<%=VixVerNum%>"></script>
        <script language="JavaScript" src="images/_help_tips.js?ver=<%=VixVerNum%>"></script>
        <script language="JavaScript" type="text/javascript">
        formTips.tips.h       = stdTip(300, 'Title', 'Text');
        </script>
        <script type="text/javascript" charset="utf-8">
        var table;

        // Suppress errros about badly formatted data
        $.fn.dataTable.ext.errMode = 'none';

        /* Create an array with the values of all the checkboxes in a column */
        $.fn.dataTable.ext.order['dom-checkbox'] = function  ( settings, col )
        {
            return this.api().column( col, {order:'index'} ).nodes().map( function ( td, i ) {
                return $('input', td).prop('checked') ? '1' : '0';
            } );
        }

        /* Create an array with the values of all the innerText in a column */
        $.fn.dataTable.ext.order['dom-innerText'] = function  ( settings, col )
        {
            return this.api().column( col, {order:'index'} ).nodes().map( function ( td, i ) {
                return $(td).text();
            } );
        }

        $(document).ready(function() {
                /* Init DataTables */
        table = $("#deploymentstatetable").DataTable({
            dom: "frtiS",
            sScrollY: $( document ).height() - 45 - 200 - 15,
            scrollCollapse: true,
            ajax : {
                url : "view_package_owner_json.asp",
                data : function (o){
                    o.rtag_id = <%=parRtagId%>;
                },
                dataSrc : function (json){
                    // Detect errors
                     if (json.result != 0) {
                         $('#ds_info').text("Error:" + ((json.error != 0) ? json.emsgSummary : "Reason not given"));
                         return { data: {}};
                     }

                    //  Process the raw Ajax data
                    $.each(json.data, function(idx,row){
                        //      Create nice email fields
                        row[5] = "<span title='Select Email Options' class='mailto txt_linked' data-email='" + row[7] + "' data-uname='" + row[6] + "'>" + row[5] + "</span>"

                        // Create a check box
                        //  Not for packages imported via SDK
                        var cbClass = row[8] ? '' : 'clickable';
                        var cbDis = (row[8] || "<%=modifyState%>") ? ' disabled ' : '';
                        row[6] = '<div><input type="checkbox" class='+cbClass+' data-pvid=' + row[0] + ' '+ cbDis + '></div>'

                    });
                    return json.data;
                },
                beforeSend: function (){
                     $("#ds_progressBar").css('visibility', 'visible');
                     $(document.body).css({ 'cursor': 'progress' });
                     $('#ds_info').empty();
                },
                complete: function (){
                     $("#ds_progressBar").css('visibility', 'hidden');
                     $(document.body).css({ 'cursor': 'auto' });
                },
                error: function(jqXHR, textStatus, errorThrown) {
                    $('#ds_info').text("Error:" + errorThrown);
                    //if fails
                },
            },
            ordering: true,
            order: [[ 1, "asc" ]],
            lengthChange : false,

            columns: [
               { visible : false },
               { width: "20%", className: "dt-nowrap", orderDataType : 'dom-innerText'},
               { width: "20%", className: "dt-nowrap", orderDataType : 'dom-innerText'},
               { width: "1%", className: "dt-nowrap"  },
               { orderable: false, searchable: false },
               { className: "dt-nowrap" },
               { width: "1%", orderable: true, className: "dt-nowrap", orderDataType : 'dom-checkbox' },
               { visible: false },
           ],
        });

        // Wire Up buttons
        $('#ds_refresh').on("click", function(){
            table.ajax.reload(null, false);
        });

        $('#ds_clearAll').on("click", function(){
            $(table.column(6).nodes()).find('.clickable').removeAttr('checked');
            updateCounts();        
        });

        $('#ds_clearVis').on("click", function(){
            $(table.column(6,{filter:'applied'}).nodes()).find('.clickable').removeAttr('checked');
            updateCounts();        
        });

        $('#ds_setVis').on("click", function(){
            $(table.column(6,{filter:'applied'}).nodes()).find('.clickable').prop('checked', true);
            updateCounts();        
        });

        $('#ds_setOwner').on("click", function(){
            var selList = new Array();
             $(table.column(6).nodes()).find('.clickable:checked').each(function(){
                 var pvid = $(this).data("pvid");
                 selList.push(pvid);
             });

            //console.log('Data', selList);
            // Save the pv_id list in a hidden element so that the iFrame can extract it
            // Overcome url length issues
            if ( selList.length > 0 ) {
                $('#iframeTxData').text(selList.join(','));
                MM_openVixIFrame('_wform_change_owner_bulk.asp','Bulk Change Owner');
            }
        });

        $('#deploymentstatetable').on('click', '.clickable', updateCounts);

        function updateCounts() {
            var checkCount = $(table.column(6).nodes()).find('.clickable:checked').length;
            $('#ds_info').text(checkCount + " packages selected");
        }
    });
</script>

      <!-- DROPDOWN MENUS -->
      <!--#include file="_menu_def.asp"-->
      <script language="JavaScript1.2" src="images/popup_menu.js?ver=<%=VixVerNum%>"></script>
   </head>
   <body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0">
      <!-- HEADER -->
      <!--#include file="_header.asp"-->
      <!-- BODY ---->
      <table class="full_table">
         <tr>
            <td class="bg_panel" valign="top" style="min-width:146px">
                <%Call ShowSidePanel%>
            </td>
            <td width="100%" rowspan="2" align="center" valign="top" bgcolor="#EEEFEF">
                <%Call ShowMainPanel%>
            </td>
         </tr>
         <tr>
            <td class="bg_panel_btm" height="350"></td>
         </tr>
      </table>
      <!-- FOOTER -->
      <!--#include file="_footer.asp"-->
   </body>
</html>