--- /dev/null
+<?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);
+
+ }
+
+}
"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"
}