BrowserView.js
[app.wkmirror] / nsinject.js
index d05bb3c..2e0a585 100644 (file)
@@ -1,6 +1,8 @@
 NS = {
     timeout : 30,
     varscheck : false,
+    
+    /*
     rungrabAccounts : function(id)
     {
         //id = 282;
@@ -104,118 +106,54 @@ NS = {
         
     },
     
-    
+    */
     rungrabAccounts  : function(id)
     {
         //id = 282;
         this.id = id;
         var timeout = 10;
-        var frameload = function()
-        {
-             
-            
-            
-            
-        }
-        console.log("document.location" + document.location);
         
+        console.log("document.location= " + document.location);
+         
         if (!(window.location + '').match(/netsuite/)) {
             // try
-            
-            window.location = "https://system.netsuite.com/app/common/search/searchresults.nl' +
-                '?searchtype=Transaction' +'&
-                'Transaction_ACCOUNT=109' +
-                'sortcol=Transaction_TRANDATE_raw' +
-                '&sortdir=ASC'+
-                '&csv=HTML'
-                '&OfficeXML=F'
-                '&pdf='
-                '&style=NORMAL'
-                '&report='
-                '&grid='
-                '&searchid=118'
-                '&dle=F'
-            
-            window.location = "https://system.netsuite.com/app/reporting/reportrunner.nl?reporttype=REGISTER&acctid=" + id;
+            console.log("REDIRECT");
+            window.location = "https://system.netsuite.com/app/reporting/reportrunner.nl?reporttype=REGISTER&acctid=52"; // empty account register..
             return;
         }
-        // do stuff..
-        // we really just want to send a series of download requests..
-        //https://system.netsuite.com/app/reporting/reportrunner.nl?reporttype=REGISTER&acctid=403
-        
-        
-        
-        var chk = document.getElementById('lines');
-        console.log("lines element?");
-        console.log(chk)
-        console.log('checking form values');
         
         
-        if (chk.value !='T') {
-            console.log('SETTING VALUES:chk');
-            chk.value= 'T';
-            console.log('SETTING VALUES:daterange');
-            document.forms[0].daterange.value = 'CUSTOM';
-            console.log('SETTING VALUES:date1');
-            document.getElementById('date1').value = '1/1/2008';
-            console.log('SETTING VALUES:date2');
-            document.getElementById('date2').value = '1/1/2013';
-            console.log('SUBMIT');
-            document.forms[0].submit();
-            
-            return;
-        }
-        
-        console.log('form values - ok - checking if empty');
+        // we really just want to send a series of download requests..
+        //https://system.netsuite.com/app/reporting/reportrunner.nl?reporttype=REGISTER&acctid=403
         
-         if (   reportTable.oContentProvider.bRequestPending
-                || !reportTable.isInLoadedState()) {
-                console.log('report not ready?');
-                NS.timeout--;
-                if (NS.timeout < 0) {
-                    console.log('SENDING EMTPY..?');
-                    console.log(
-                         JSON.stringify ({
-                            requesturl : '',
-                            method: 'nsdownloadpage',
-                            filename : NS.id + '.csv',
-                            headers : '',
-                            contentType: '',
-                            data: []
-                        }));
-                    return;
-                    
-                    
-                }
-                
-                 window.setTimeout( function() {  NS.rungrab(id); } ,1000);
-                
-                return;
-                
-            }
-        console.log('no empty - trying download');
+         
+        NS.downloadgetdata(
+            'https://system.netsuite.com/app/common/search/searchresults.csv' +
+            '?searchtype=Transaction' + 
+            '&Transaction_ACCOUNT=' + id +
+            '&Transaction_DEPARTMENT=2' + // hk
+            '&sortcol=Transaction_TRANDATE_raw' +
+            '&sortdir=ASC'+
+            '&csv=Export'+
+            '&OfficeXML=F'+
+            '&pdf='+
+            '&style=NORMAL'+
+            '&report='+
+            '&grid='+
+            '&searchid=120'+
+            '&dle=F',
             
-        var ar = document.forms[0].elements;
-        var data= {};
-        for(var i =0; i < ar.length; i++) {
-            var e = ar[i];
-            data[e.name] = e.value;
-        }
-        console.log(JSON.stringify(data));
-        console.log(reportTable.getTotalRowCount());
-         NS.downloaddata(
-            'https://system.netsuite.com/app/reporting/reportrunner.nl',
             {
-                id: data.id,
-                reportaction: 'exportcsv',
-                apptype: 'html',
-                visibleranges: '0,' +  reportTable.getTotalRowCount()
+                id: id,
+                pref : 'HK-Account'
+                //reportaction: 'exportcsv',
+                //apptype: 'html',
+                //visibleranges: '0,' +  reportTable.getTotalRowCount()
             }
             
         );
         
-        
-        
+         
         return;
         
         
@@ -350,6 +288,86 @@ NS = {
     },
     
     
+    downloadgetdata : function (url,data) {
+        
+       
+        var xmlhttp = new XMLHttpRequest();
+                    
+        xmlhttp.open("GET", url,true);
+        xmlhttp.responseType = 'arraybuffer';
+        //xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
+        //var kv = [];
+        //for(var i in data) {
+        //    kv.push(i +'=' + encodeURIComponent(  data[i]));
+        //}
+        
+
+        xmlhttp.onload=function() {
+           
+            var ar= [];
+             
+            var r = new Uint8Array(xmlhttp.response);
+            for (i=0;i<r.byteLength;i++) {
+                ar.push(r[i]);
+            }
+            
+            // location name for location download.
+            var pref = data.pref;
+            
+            console.log(
+                JSON.stringify ({
+                    requesturl : url,
+                    method: 'nsdownloadpage',
+                    filename : pref+ '-' + NS.id + '.csv',
+                    headers : xmlhttp.getAllResponseHeaders(),
+                    contentType:xmlhttp.getResponseHeader("Content-Type"),
+                    data: ar
+                }));
+           
+            if (data.pref == 'SG-Account') {
+                console.log(
+                    JSON.stringify ({
+                        method : 'exit'
+                    })
+                );
+                return;
+            }
+            NS.downloadgetdata(
+                'https://system.netsuite.com/app/common/search/searchresults.csv' +
+                '?searchtype=Transaction' + 
+                '&Transaction_ACCOUNT=' + data.id +
+                '&Transaction_DEPARTMENT=1' + // sg
+                '&sortcol=Transaction_TRANDATE_raw' +
+                '&sortdir=ASC'+
+                '&csv=Export'+
+                '&OfficeXML=F'+
+                '&pdf='+
+                '&style=NORMAL'+
+                '&report='+
+                '&grid='+
+                '&searchid=120'+
+                '&dle=F',
+                
+                {
+                    id: data.id,
+                    pref: 'SG-Account'
+                    //reportaction: 'exportcsv',
+                    //apptype: 'html',
+                    //visibleranges: '0,' +  reportTable.getTotalRowCount()
+                }
+                
+            );
+            
+           
+           
+        }
+        
+        xmlhttp.send();
+           
+    },
+    
+    
+    
     downloaddata : function (url,data) {