From 4fefaf1edff5729eab34919c965ff3c615ef73ab Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Sat, 26 Aug 2006 12:05:16 +0000 Subject: [PATCH] Added method to generate SQL in Item Type Manager for easier export --- .../content/scholar/admin/itemTypeManager.js | 36 +++++++++++++++++++ .../content/scholar/admin/itemTypeManager.xul | 11 +++--- 2 files changed, 43 insertions(+), 4 deletions(-) diff --git a/chrome/chromeFiles/content/scholar/admin/itemTypeManager.js b/chrome/chromeFiles/content/scholar/admin/itemTypeManager.js index a088a650a..e613e62b4 100644 --- a/chrome/chromeFiles/content/scholar/admin/itemTypeManager.js +++ b/chrome/chromeFiles/content/scholar/admin/itemTypeManager.js @@ -10,6 +10,7 @@ var Scholar_ItemTypeManager = new function(){ this.handleAddField = handleAddField; this.removeField = removeField; this.removeType = removeType; + this.createSQLDump = createSQLDump; var _typesList; var _fieldsList; @@ -275,6 +276,41 @@ var Scholar_ItemTypeManager = new function(){ } + function createSQLDump(){ + var types = Scholar.DB.query("SELECT * FROM itemTypes ORDER BY itemTypeID"); + var fields = Scholar.DB.query("SELECT * FROM fields ORDER BY fieldID"); + var itemTypeFields = Scholar.DB.query("SELECT * FROM itemTypeFields ORDER BY itemTypeID, orderIndex"); + + var prefix = " "; + var sql = ''; + + for (var i in types){ + sql += prefix + "INSERT INTO itemTypes VALUES (" + + types[i]['itemTypeID'] + ",'" + types[i]['typeName'] + "');\n" + } + + sql += "\n"; + + for (var i in fields){ + sql += prefix + "INSERT INTO fields VALUES (" + + fields[i]['fieldID'] + ",'" + fields[i]['fieldName'] + "'," + + (fields[i]['fieldFormatID'] ? fields[i]['fieldFormatID'] : 'NULL') + + ");\n"; + } + + sql += "\n"; + + for (var i in itemTypeFields){ + sql += prefix + "INSERT INTO itemTypeFields VALUES (" + + itemTypeFields[i]['itemTypeID'] + "," + itemTypeFields[i]['fieldID'] + "," + + (itemTypeFields[i]['hide'] ? itemTypeFields[i]['hide'] : 'NULL') + "," + + itemTypeFields[i]['orderIndex'] + ");\n"; + } + + return sql; + } + + /** * Return the currently selected item type **/ diff --git a/chrome/chromeFiles/content/scholar/admin/itemTypeManager.xul b/chrome/chromeFiles/content/scholar/admin/itemTypeManager.xul index 9e475216f..9ffa902c8 100644 --- a/chrome/chromeFiles/content/scholar/admin/itemTypeManager.xul +++ b/chrome/chromeFiles/content/scholar/admin/itemTypeManager.xul @@ -25,7 +25,7 @@ - + @@ -63,14 +63,17 @@ - + - + Double-click a field to add it to or remove it from the currently selected item type. - + Hit Return on a mapped field to toggle its default visibility. (Light blue fields are hidden.) + +