fix conflict
authorMicheal <micheal@roojs.com>
Mon, 26 Jan 2015 05:48:35 +0000 (13:48 +0800)
committerMicheal <micheal@roojs.com>
Mon, 26 Jan 2015 05:48:35 +0000 (13:48 +0800)
Import/Enum.php [new file with mode: 0644]
Pman.Tab.AdminEnum.bjs
Pman.Tab.AdminEnum.js
Pman.Tab.StaffMgr.js

diff --git a/Import/Enum.php b/Import/Enum.php
new file mode 100644 (file)
index 0000000..205ffec
--- /dev/null
@@ -0,0 +1,125 @@
+<?php
+
+// moved... - to 
+
+require_once 'Pman/Roo.php';
+
+class Pman_Admin_Import_Enum extends Pman_Roo
+{
+    
+    function getAuth()
+    {
+        if (HTML_FlexyFramework::get()->cli) {
+            return true;
+        }
+        return parent::getAuth();
+    }
+    
+    
+    function post()
+    {   
+        
+        PEAR::setErrorHandling(PEAR_ERROR_CALLBACK, array($this, 'onPearError'));
+
+        $this->sessionState(0); // turn off the session..
+        
+        $img = DB_DataObject::Factory('images');
+        $img->setFrom(array(
+            'onid' => 0,
+            'ontable' => 'ipshead'
+        ));
+        $img->onUpload(false);
+        
+        require_once 'File/Convert.php';
+        $fc = new File_Convert($img->getStoreName(), $img->mimetype );
+        $csv = $fc->convert('text/csv');
+        
+        $this->importCsv($csv);
+    }
+    
+    
+    function importCsv($csv)
+    {
+        
+        ini_set('memory_limit', '1024M');
+        
+        ini_set("auto_detect_line_endings", true);
+
+        if(empty($_REQUEST['etype'])){
+            $this->jerr('Missing etype');
+        }
+        
+        $enum = DB_DataObject::factory('core_enum');
+        if(!$enum->get('name', $_REQUEST['etype'])){
+            $this->jerr('Invalid etype');
+        }
+        
+        $fh = fopen($csv, 'r');
+        if (!$fh) {
+            $this->jerr("invalid file");
+        }
+        
+        $req = array('NAME','DISPLAY NAME');
+        
+        $cols = false;
+        $rows = array();
+        
+        while(false !== ($n = fgetcsv($fh,10000, ',', '"'))) {
+            if(!array_filter($n)){ // empty row
+                continue;
+            }
+            if (!$cols) {
+                
+                $cols = array();
+                foreach($n as $k) {
+                    $cols[] = strtoupper(trim($k));
+                }
+                if (empty($cols)) {
+                    continue;
+                }
+                foreach($req as $r) {
+                    if (!in_array($r,$cols)) {
+                        $cols = false;
+                        break;
+                    }
+                }
+                continue;
+            }
+            foreach($cols as $i=>$k) {
+                $row[$k] = $n[$i];
+            }
+            $rows[] = $row;
+        }
+        
+        if (empty($cols)) {
+            $this->jerr("could not find a row with " . implode(' / ', $req));
+        }
+        
+        fclose($fh);
+        
+        $count = 0;
+        
+        foreach ($rows as $row){
+            $e = DB_DataObject::factory('core_enum');
+            if($e->get('name', $row['NAME'])){
+                continue;
+            }
+            
+            $e = DB_DataObject::factory('core_enum');
+            $e->setFrom(array(
+                'name' => $row['NAME'],
+                'display_name' => $row['DISPLAY NAME'],
+                'etype' => $_REQUEST['etype'],
+                'active' => 1,
+            ));
+            $e->insert();
+            $e->onInsert(array());
+            
+            $count++;
+        }
+        
+        $this->jok('data imported successfully! total : ' . $count);
+    
+    }
+    
+}
index 229f6b3..45c1ce6 100644 (file)
@@ -2,7 +2,7 @@
     "name" : "Pman.Tab.AdminEnum",
     "parent" : "Pman.Tab.Admin",
     "title" : "Pman.Tab.AdminEnum",
-    "path" : "/home/michael/gitlive/Pman.Admin/Pman.Tab.AdminEnum.bjs",
+    "path" : "/home/alan/gitlive/Pman.Admin/Pman.Tab.AdminEnum.bjs",
     "permname" : "",
     "modOrder" : "500",
     "items" : [
                                                 },
                                                 {
                                                     "listeners" : {
-                                                        "click" : "function (_self, e)\n{\n\n  var s =     _this.egrid.getSelectionModel().getSelectedCell();\n    \n\n    if (!s) {\n        Roo.MessageBox.alert(\"Error\", \"Select a pulldown\");\n    }\n    \n    var d = _this.egrid.dataSource.getAt(s[0]);\n \n\n    var etype = d.data.name;\n    \n    if(!etype.length){\n        Roo.MessageBox.alert('Error', 'Please select a pulldown');\n        return;\n    }\n    \n    Pman.Dialog.Image.show(\n       {\n            _url : baseURL+'/Xtuple/Import/Enum?' + Roo.urlEncode({'etype' : etype})\n        \n       },\n       function () {\n            _this.grid.footer.onClick('first');\n       }\n   );\n}"
+                                                        "click" : "function (_self, e)\n{\n\n  var s =     _this.egrid.getSelectionModel().getSelectedCell();\n    \n\n    if (!s) {\n        Roo.MessageBox.alert(\"Error\", \"Select a pulldown\");\n    }\n    \n    var d = _this.egrid.dataSource.getAt(s[0]);\n \n\n    var etype = d.data.name;\n    \n    if(!etype.length){\n        Roo.MessageBox.alert('Error', 'Please select a pulldown');\n        return;\n    }\n    \n    Pman.Dialog.Image.show(\n       {\n            _url : baseURL+'/Admin/Import/Enum?' + Roo.urlEncode({'etype' : etype})\n        \n       },\n       function () {\n            _this.grid.footer.onClick('first');\n       }\n   );\n}"
                                                     },
-                                                    "text" : "Upload Value",
+                                                    "text" : "Upload Values",
                                                     "xtype" : "Button",
                                                     "$ xns" : "Roo.Toolbar"
                                                 }
index 3d34a97..264764a 100644 (file)
@@ -412,7 +412,7 @@ Pman.Tab.AdminEnum = new Roo.XComponent({
                                     },
                                        {
                                         '|xns' : 'Roo.Toolbar',
-                                        text : "Upload Value",
+                                        text : "Upload Values",
                                         xtype : 'Button',
                                         xns : Roo.Toolbar,
                                         listeners : {
@@ -438,7 +438,7 @@ Pman.Tab.AdminEnum = new Roo.XComponent({
                                                       
                                                       Pman.Dialog.Image.show(
                                                          {
-                                                              _url : baseURL+'/Xtuple/Import/Enum?' + Roo.urlEncode({'etype' : etype})
+                                                              _url : baseURL+'/Admin/Import/Enum?' + Roo.urlEncode({'etype' : etype})
                                                           
                                                          },
                                                          function () {
index 8e94213..3dc5549 100644 (file)
@@ -8,6 +8,7 @@ Pman.on('beforeload', function()
  
  
     Pman.register({
+        part :  ["Admin","StaffManager"],
         modKey : '020-pman-tab-staffmgr',
         module : Pman.Tab.StaffMgr,
         region : 'center',