Merge branch 'master' into 22461
authorGreg Pazo <gpazo@xtuple.com>
Tue, 25 Feb 2014 19:24:50 +0000 (14:24 -0500)
committerGreg Pazo <gpazo@xtuple.com>
Tue, 25 Feb 2014 19:24:50 +0000 (14:24 -0500)
12 files changed:
RELEASE.md
enyo-client/application/source/views/workspace.js
enyo-client/database/README.md [deleted file]
enyo-client/database/orm/models/characteristic.json
enyo-client/database/source/update_version.sql
lib/backbone-x/source/characteristic.js
lib/backbone-x/source/model_mixin.js
lib/enyo-x/source/views/workspace.js
npm-shrinkwrap.json
package.json
test/extensions/all/picker.js
test/extensions/all/workspace.js

index 5711a22..49c0a86 100644 (file)
@@ -1,3 +1,24 @@
+1.7.2 (2014/02/24)
+==================
+
+Features and bugfixes
+---------------------
+- Fixed
+  issue #[22754](http://www.xtuple.org/xtincident/view/bugs/22754)
+  _*DB log error is displayed on selecting to add a Bill of Operation Item for a new item_
+- Fixed
+  issue #[22755](http://www.xtuple.org/xtincident/view/bugs/22755) 
+  _* It is not possible to add a Bill of Material Item to a new item_ 
+- Fixed 
+  issue #[22793](http://www.xtuple.org/xtincident/view/bugs/22793) 
+  _Characteristics not showing up on Customer Workspace_ 
+- Implemented 
+  issue #[22829](http://www.xtuple.org/xtincident/view/bugs/22829) 
+  _Registration via Website appears broken_ 
+- Fixed 
+  issue #[22839](http://www.xtuple.org/xtincident/view/bugs/22839) 
+  _Mobile installation disrupts invoices out of qt_ 
+
 1.7.1 (2014/02/10)
 ==================
 
@@ -68,6 +89,13 @@ Features and bugfixes
 1.6.0 (2014/01/15)
 ==================
 
+Critical deployment changes
+---------------------------
+Mobile Client connections to Pentaho are no longer defined by biUrl and biServerUrl in config.js.  They are now defined
+by biServer and printServer.  See the details in:
+
+https://github.com/xtuple/xtuple/wiki/xTuple-Business-Intelligence
+
 Features and bugfixes
 ---------------------
 
@@ -207,13 +235,6 @@ classes: "right"  _iPad does not scroll smoothly_
   issue #[22408](http://www.xtuple.org/xtincident/view/bugs/22408)
   _*Selecting Express Checkout without saving the Sales order and then selecting 'No' in the confirmation dialog displays a console_
 
-Critical deployment changes
----------------------------
-Mobile Client connections to Pentaho are no longer defined by biUrl and biServerUrl in config.js.  They are now defined
-by biServer and printServer.  See the details in:
-
-https://github.com/xtuple/xtuple/wiki/xTuple-Business-Intelligence
-
 1.5.2 (2014/01/13)
 ===============
 
index 3350994..fd24f53 100644 (file)
@@ -336,6 +336,7 @@ strict: false*/
             {kind: "XV.ToggleButtonWidget", attr: "isAccounts", label: "_accounts".loc()},
             {kind: "XV.ToggleButtonWidget", attr: "isAddresses", label: "_addresses".loc()},
             {kind: "XV.ToggleButtonWidget", attr: "isContacts", label: "_contacts".loc()},
+            {kind: "XV.ToggleButtonWidget", attr: "isCustomers", label: "_customers".loc()},
             {kind: "XV.ToggleButtonWidget", attr: "isEmployees", label: "_employees".loc()},
             {kind: "XV.ToggleButtonWidget", attr: "isIncidents", label: "_incidents".loc()},
             {kind: "XV.ToggleButtonWidget", attr: "isInvoices", label: "_invoices".loc()},
@@ -665,7 +666,7 @@ strict: false*/
             {kind: "onyx.GroupboxHeader", content: "_correspondenceContact".loc()},
             {kind: "XV.ContactWidget", attr: "correspondenceContact",
               showAddress: true, label: "_name".loc()},
-            {kind: "XV.ContactCharacteristicsWidget", attr: "characteristics"},
+            {kind: "XV.CustomerCharacteristicsWidget", attr: "characteristics"},
             {kind: "onyx.GroupboxHeader", content: "_notes".loc()},
             {kind: "XV.TextArea", attr: "notes"}
           ]}
diff --git a/enyo-client/database/README.md b/enyo-client/database/README.md
deleted file mode 100644 (file)
index c3bb639..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-#XTUPLE DATABASE
-
-This repository contains implementation specific object relational maps and functions to support xTuple applications.
-
-##Prerequisites
-
- * [PostgreSQL] (http://www.postgresql.org/) -- `v9.1.0`
- * [plV8js] (http://www.pgxn.org/dist/plv8/) -- `1.2`
-   - [v8] (http://github.com/v8/v8) -- `v3.6.2`
- * [NodeJS] (http://nodejs.org/) -- `v.0.6.18`
- * [Postbooks] (http://sourceforge.net/projects/postbooks) -- `v4.0.0`
-
-
-##Instructions
-
-Follow instructions for database setup on xTuple [ORM] (https://github.com/xtuple/orm/blob/master/README.md).
-
-To initiate this repository:
-
-    git clone git@github.com:xtuple/database.git
-    cd database
-    git submodule update --init
-  
-To install orms on an existing xTuple 4.x database:
-
-    cd client/source
-    psql -U {user} -d {database} -p {port} -h {hostname} -f "init_script.sql"
-    cd ../../orm/installer
-    npm install
-    ./installer.js -cli -h {hostname} -d {database} -u {username} -p {port} -P {password} --path "../../client/orm"
\ No newline at end of file
index ea3a460..113cb75 100644 (file)
           "required": true
         }
       },
+      {
+        "name": "isCustomers",
+        "attr": {
+          "type": "Boolean",
+          "column": "char_customers",
+          "required": true
+        }
+      },
       {
         "name": "isInvoices",
         "attr": {
index 2a864d5..0d77522 100644 (file)
@@ -1 +1 @@
-UPDATE pkghead SET pkghead_version = '1.7.1' WHERE pkghead_name = 'xt' ;
+UPDATE pkghead SET pkghead_version = '1.7.2' WHERE pkghead_name = 'xt' ;
index 72f4455..7716704 100644 (file)
@@ -24,6 +24,7 @@ white:true*/
         characteristicType: 0,
         isAddresses: false,
         isContacts: false,
+        isCustomers: false,
         isItems: false,
         isEmployees: false,
         isInvoices: false,
@@ -35,6 +36,7 @@ white:true*/
     contextAttributes: [
       "isAddresses",
       "isContacts",
+      "isCustomers",
       "isAccounts",
       "isItems",
       "isIncidents",
index 93e0745..a4b913c 100644 (file)
     */
     lockable: false,
 
+    /**
+      Indicate whether a model should be kept track of in the
+      history tab.
+    */
+    keepInHistory: true,
+
     /**
       A hash structure that defines data access.
       Automatically set when `XT.session` loads
index 0f4a193..60be90d 100644 (file)
@@ -545,7 +545,7 @@ trailing:true, white:true, strict: false*/
         dbName;
 
       // Add to history if appropriate.
-      if (model.id) {
+      if (model.id && model.keepInHistory) {
         XT.addToHistory(this.kind, model, function (historyArray) {
           dbName = XT.session.details.organization;
           enyo.setCookie("history_" + dbName, JSON.stringify(historyArray));
index ecc9e69..35c46b4 100644 (file)
 {
   "name": "xtuple",
-  "version": "1.7.1",
+  "version": "1.7.2",
   "dependencies": {
     "async": {
-      "version": "0.2.9",
-      "from": "async@0.2.9"
+      "version": "0.2.10",
+      "from": "async@0.2.x",
+      "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz"
     },
     "backbone": {
       "version": "0.9.10",
-      "from": "backbone@0.9.10"
+      "from": "backbone@0.9.10",
+      "resolved": "https://registry.npmjs.org/backbone/-/backbone-0.9.10.tgz"
     },
     "backbone-relational": {
       "version": "0.8.0",
-      "from": "backbone-relational@0.8.0"
+      "from": "backbone-relational@0.8.0",
+      "resolved": "https://registry.npmjs.org/backbone-relational/-/backbone-relational-0.8.0.tgz"
     },
     "bcrypt": {
       "version": "0.7.7",
-      "from": "bcrypt@0.7.7",
+      "from": "bcrypt@0.7.x",
       "dependencies": {
         "bindings": {
           "version": "1.0.0",
-          "from": "bindings@1.0.0"
+          "from": "bindings@1.0.0",
+          "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.0.0.tgz"
         }
       }
     },
     "colors": {
       "version": "0.6.2",
-      "from": "colors@0.6.2"
+      "from": "colors@0.6.x"
     },
     "commander": {
       "version": "1.2.0",
-      "from": "commander@1.2.0",
+      "from": "commander@1.2.x",
       "dependencies": {
         "keypress": {
           "version": "0.1.0",
-          "from": "keypress@0.1.0"
+          "from": "keypress@0.1.x"
         }
       }
     },
     "congruence": {
       "version": "1.2.4",
-      "from": "congruence@",
+      "from": "congruence@~1.2.4",
       "dependencies": {
         "underscore": {
           "version": "1.5.2",
-          "from": "underscore@1.5.2"
+          "from": "underscore@1.5.2",
+          "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.5.2.tgz"
         }
       }
     },
     "connect-ensure-login": {
       "version": "0.1.1",
-      "from": "connect-ensure-login@0.1.1"
+      "from": "connect-ensure-login@0.1.x"
     },
     "ejs": {
       "version": "0.8.5",
-      "from": "ejs@0.8.5"
+      "from": "ejs@0.8.x"
     },
     "express": {
       "version": "3.1.2",
-      "from": "express@3.1.2",
+      "from": "express@3.1.x",
       "dependencies": {
         "connect": {
           "version": "2.7.5",
           "from": "connect@2.7.5",
+          "resolved": "https://registry.npmjs.org/connect/-/connect-2.7.5.tgz",
           "dependencies": {
             "qs": {
               "version": "0.5.1",
-              "from": "qs@0.5.1"
+              "from": "qs@0.5.1",
+              "resolved": "https://registry.npmjs.org/qs/-/qs-0.5.1.tgz"
             },
             "formidable": {
               "version": "1.0.11",
-              "from": "formidable@1.0.11"
+              "from": "formidable@1.0.11",
+              "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.0.11.tgz"
             },
             "buffer-crc32": {
               "version": "0.1.1",
-              "from": "buffer-crc32@0.1.1"
+              "from": "buffer-crc32@0.1.1",
+              "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.1.1.tgz"
             },
             "bytes": {
               "version": "0.2.0",
-              "from": "bytes@0.2.0"
+              "from": "bytes@0.2.0",
+              "resolved": "https://registry.npmjs.org/bytes/-/bytes-0.2.0.tgz"
             },
             "pause": {
               "version": "0.0.1",
-              "from": "pause@0.0.1"
+              "from": "pause@0.0.1",
+              "resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz"
             }
           }
         },
         "commander": {
           "version": "0.6.1",
-          "from": "commander@0.6.1"
+          "from": "commander@~0.6.1",
+          "resolved": "https://registry.npmjs.org/commander/-/commander-0.6.1.tgz"
         },
         "range-parser": {
           "version": "0.0.4",
-          "from": "range-parser@0.0.4"
+          "from": "range-parser@0.0.4",
+          "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz"
         },
         "mkdirp": {
           "version": "0.3.5",
-          "from": "mkdirp@0.3.5"
+          "from": "mkdirp@~0.3.4"
         },
         "cookie": {
           "version": "0.0.5",
-          "from": "cookie@0.0.5"
+          "from": "cookie@0.0.5",
+          "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.0.5.tgz"
         },
         "buffer-crc32": {
           "version": "0.2.1",
-          "from": "buffer-crc32@0.2.1"
+          "from": "buffer-crc32@~0.2.1"
         },
         "fresh": {
           "version": "0.1.0",
-          "from": "fresh@0.1.0"
+          "from": "fresh@0.1.0",
+          "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.1.0.tgz"
         },
         "methods": {
           "version": "0.0.1",
-          "from": "methods@0.0.1"
+          "from": "methods@0.0.1",
+          "resolved": "https://registry.npmjs.org/methods/-/methods-0.0.1.tgz"
         },
         "send": {
           "version": "0.1.0",
           "from": "send@0.1.0",
+          "resolved": "https://registry.npmjs.org/send/-/send-0.1.0.tgz",
           "dependencies": {
             "mime": {
               "version": "1.2.6",
-              "from": "mime@1.2.6"
+              "from": "mime@1.2.6",
+              "resolved": "https://registry.npmjs.org/mime/-/mime-1.2.6.tgz"
             }
           }
         },
         "cookie-signature": {
           "version": "1.0.0",
-          "from": "cookie-signature@1.0.0"
+          "from": "cookie-signature@1.0.0",
+          "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.0.tgz"
         },
         "debug": {
           "version": "0.7.4",
-          "from": "debug@0.7.4"
+          "from": "debug@*"
         }
       }
     },
     "fluentreports": {
       "version": "0.0.2",
-      "from": "git://github.com/xtuple/fluentreports.git",
+      "from": "fluentreports@git://github.com/xtuple/fluentreports.git",
       "resolved": "git://github.com/xtuple/fluentreports.git#161ecebe081ade6fdd56c1fd11471c39297f8d29",
       "dependencies": {
         "pdfkit": {
     },
     "json-patch": {
       "version": "0.0.1",
-      "from": "json-patch@git://github.com/xtuple/JSON-Patch.git#eb69a78f6d041b2f630a9747a5b227c42c8df077",
+      "from": "json-patch@git://github.com/xtuple/JSON-Patch.git",
       "resolved": "git://github.com/xtuple/JSON-Patch.git#eb69a78f6d041b2f630a9747a5b227c42c8df077"
     },
     "less": {
       "version": "1.5.0",
       "from": "less@1.5.0",
+      "resolved": "https://registry.npmjs.org/less/-/less-1.5.0.tgz",
       "dependencies": {
         "mime": {
           "version": "1.2.11",
-          "from": "mime@1.2.11"
+          "from": "mime@1.2.x"
         },
         "mkdirp": {
           "version": "0.3.5",
-          "from": "mkdirp@0.3.5"
+          "from": "mkdirp@~0.3"
         },
         "clean-css": {
           "version": "1.0.12",
-          "from": "clean-css@1.0.12",
+          "from": "clean-css@1.0.x",
           "dependencies": {
             "commander": {
               "version": "1.3.2",
-              "from": "commander@1.3.2",
+              "from": "commander@1.3.x",
               "dependencies": {
                 "keypress": {
                   "version": "0.1.0",
-                  "from": "keypress@0.1.0"
+                  "from": "keypress@0.1.x"
                 }
               }
             }
           }
         },
         "source-map": {
-          "version": "0.1.31",
-          "from": "source-map@0.1.31",
+          "version": "0.1.32",
+          "from": "source-map@0.1.x",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.32.tgz",
           "dependencies": {
             "amdefine": {
               "version": "0.1.0",
-              "from": "amdefine@0.1.0"
+              "from": "amdefine@>=0.0.4"
             }
           }
         }
     },
     "moment": {
       "version": "2.4.0",
-      "from": "moment@2.4.0"
+      "from": "moment@2.4.x"
     },
     "nodemailer": {
       "version": "0.3.44",
-      "from": "nodemailer@0.3.44",
+      "from": "nodemailer@0.3.x",
       "dependencies": {
         "mailcomposer": {
-          "version": "0.2.6",
-          "from": "mailcomposer@0.2.6",
+          "version": "0.2.8",
+          "from": "mailcomposer@>= 0.1.29",
+          "resolved": "https://registry.npmjs.org/mailcomposer/-/mailcomposer-0.2.8.tgz",
           "dependencies": {
             "mimelib": {
               "version": "0.2.14",
-              "from": "mimelib@0.2.14",
+              "from": "mimelib@~0.2.14",
               "dependencies": {
                 "encoding": {
                   "version": "0.1.7",
-                  "from": "encoding@0.1.7",
+                  "from": "encoding@~0.1",
                   "dependencies": {
                     "iconv-lite": {
                       "version": "0.2.11",
-                      "from": "iconv-lite@0.2.11"
+                      "from": "iconv-lite@~0.2.11"
                     }
                   }
                 },
                 "addressparser": {
-                  "version": "0.2.0",
-                  "from": "addressparser@0.2.0"
+                  "version": "0.2.1",
+                  "from": "addressparser@~0.2.0",
+                  "resolved": "https://registry.npmjs.org/addressparser/-/addressparser-0.2.1.tgz"
                 }
               }
             },
             "mime": {
               "version": "1.2.9",
-              "from": "mime@1.2.9"
+              "from": "mime@1.2.9",
+              "resolved": "https://registry.npmjs.org/mime/-/mime-1.2.9.tgz"
             },
             "he": {
               "version": "0.3.6",
-              "from": "he@0.3.6"
+              "from": "he@~0.3.6"
             },
             "punycode": {
-              "version": "1.2.3",
-              "from": "punycode@1.2.3"
+              "version": "1.2.4",
+              "from": "punycode@~1.2.3",
+              "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.2.4.tgz"
+            },
+            "follow-redirects": {
+              "version": "0.0.3",
+              "from": "follow-redirects@0.0.3",
+              "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-0.0.3.tgz"
             },
             "dkim-signer": {
               "version": "0.1.0",
-              "from": "dkim-signer@0.1.0"
+              "from": "dkim-signer@~0.1.0"
             }
           }
         },
         "simplesmtp": {
-          "version": "0.3.16",
-          "from": "simplesmtp@0.3.16",
+          "version": "0.3.21",
+          "from": "simplesmtp@>= 0.1.28",
+          "resolved": "https://registry.npmjs.org/simplesmtp/-/simplesmtp-0.3.21.tgz",
           "dependencies": {
             "rai": {
-              "version": "0.1.8",
-              "from": "rai@0.1.8"
+              "version": "0.1.9",
+              "from": "rai@~0.1",
+              "resolved": "https://registry.npmjs.org/rai/-/rai-0.1.9.tgz"
             },
             "xoauth2": {
               "version": "0.1.8",
-              "from": "xoauth2@0.1.8"
+              "from": "xoauth2@~0.1"
             }
           }
         },
         "optimist": {
-          "version": "0.6.0",
-          "from": "optimist@0.6.0",
+          "version": "0.6.1",
+          "from": "optimist@*",
+          "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
           "dependencies": {
             "wordwrap": {
               "version": "0.0.2",
-              "from": "wordwrap@0.0.2"
+              "from": "wordwrap@~0.0.2"
             },
             "minimist": {
-              "version": "0.0.5",
-              "from": "minimist@0.0.5"
+              "version": "0.0.8",
+              "from": "minimist@~0.0.1",
+              "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz"
             }
           }
         }
     },
     "oauth2orize": {
       "version": "0.1.0",
-      "from": "oauth2orize@0.1.0",
+      "from": "oauth2orize@0.1.x",
       "dependencies": {
         "debug": {
           "version": "0.7.4",
-          "from": "debug@0.7.4"
+          "from": "debug@*"
         }
       }
     },
     "oauth2orize-jwt-bearer": {
       "version": "0.1.0",
-      "from": "oauth2orize-jwt-bearer@0.1.0",
+      "from": "oauth2orize-jwt-bearer@0.1.x",
       "dependencies": {
         "pkginfo": {
           "version": "0.2.3",
-          "from": "pkginfo@0.2.3"
+          "from": "pkginfo@0.2.x"
         }
       }
     },
     "passport": {
-      "version": "0.1.17",
-      "from": "passport@0.1.17",
+      "version": "0.1.18",
+      "from": "passport@0.1.x",
+      "resolved": "https://registry.npmjs.org/passport/-/passport-0.1.18.tgz",
       "dependencies": {
         "pkginfo": {
           "version": "0.2.3",
-          "from": "pkginfo@0.2.3"
+          "from": "pkginfo@0.2.x"
         },
         "pause": {
           "version": "0.0.1",
-          "from": "pause@0.0.1"
+          "from": "pause@0.0.1",
+          "resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz"
         }
       }
     },
     "passport-http": {
       "version": "0.2.2",
-      "from": "passport-http@0.2.2",
+      "from": "passport-http@0.2.x",
       "dependencies": {
         "pkginfo": {
           "version": "0.2.3",
-          "from": "pkginfo@0.2.3"
+          "from": "pkginfo@0.2.x"
         }
       }
     },
     "passport-http-bearer": {
       "version": "0.2.1",
-      "from": "passport-http-bearer@0.2.1",
+      "from": "passport-http-bearer@0.2.x",
       "dependencies": {
         "pkginfo": {
           "version": "0.2.3",
-          "from": "pkginfo@0.2.3"
+          "from": "pkginfo@0.2.x"
         }
       }
     },
     "passport-local": {
       "version": "0.1.6",
-      "from": "passport-local@0.1.6",
+      "from": "passport-local@0.1.x",
       "dependencies": {
         "pkginfo": {
           "version": "0.2.3",
-          "from": "pkginfo@0.2.3"
+          "from": "pkginfo@0.2.x"
         }
       }
     },
     "passport-oauth2-client-password": {
       "version": "0.1.1",
-      "from": "passport-oauth2-client-password@0.1.1",
+      "from": "passport-oauth2-client-password@0.1.x",
       "dependencies": {
         "pkginfo": {
           "version": "0.2.3",
-          "from": "pkginfo@0.2.3"
+          "from": "pkginfo@0.2.x"
         }
       }
     },
     "passport-oauth2-jwt-bearer": {
       "version": "0.1.1",
-      "from": "passport-oauth2-jwt-bearer@0.1.1",
+      "from": "passport-oauth2-jwt-bearer@0.1.x",
       "dependencies": {
         "pkginfo": {
           "version": "0.2.3",
-          "from": "pkginfo@0.2.3"
+          "from": "pkginfo@0.2.x"
         }
       }
     },
     "paynode": {
       "version": "0.3.6",
       "from": "paynode@0.3.6",
+      "resolved": "https://registry.npmjs.org/paynode/-/paynode-0.3.6.tgz",
       "dependencies": {
         "braintree": {
-          "version": "1.9.2",
-          "from": "braintree@1.9.2",
+          "version": "1.12.0",
+          "from": "braintree@*",
+          "resolved": "https://registry.npmjs.org/braintree/-/braintree-1.12.0.tgz",
           "dependencies": {
             "dateformat": {
               "version": "1.0.1-1.2.3",
-              "from": "dateformat@1.0.1-1.2.3"
+              "from": "dateformat@=1.0.1-1.2.3",
+              "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.1-1.2.3.tgz"
+            },
+            "semver": {
+              "version": "2.2.1",
+              "from": "semver@=2.2.1",
+              "resolved": "https://registry.npmjs.org/semver/-/semver-2.2.1.tgz"
+            },
+            "readable-stream": {
+              "version": "1.1.10",
+              "from": "readable-stream@=1.1.10",
+              "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.10.tgz",
+              "dependencies": {
+                "core-util-is": {
+                  "version": "1.0.1",
+                  "from": "core-util-is@~1.0.0"
+                },
+                "string_decoder": {
+                  "version": "0.10.25-1",
+                  "from": "string_decoder@~0.10.x",
+                  "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25-1.tgz"
+                },
+                "debuglog": {
+                  "version": "0.0.2",
+                  "from": "debuglog@0.0.2",
+                  "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-0.0.2.tgz"
+                }
+              }
             },
             "underscore": {
               "version": "1.3.1",
-              "from": "underscore@1.3.1"
+              "from": "underscore@=1.3.1",
+              "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.3.1.tgz"
             },
             "xml2js": {
               "version": "0.1.13",
-              "from": "xml2js@0.1.13",
+              "from": "xml2js@=0.1.13",
+              "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.1.13.tgz",
               "dependencies": {
                 "sax": {
-                  "version": "0.5.7",
-                  "from": "sax@0.5.7"
+                  "version": "0.6.0",
+                  "from": "sax@>=0.1.1",
+                  "resolved": "https://registry.npmjs.org/sax/-/sax-0.6.0.tgz"
                 }
               }
             },
             "source-map-support": {
               "version": "0.1.2",
-              "from": "source-map-support@0.1.2",
+              "from": "source-map-support@=0.1.2",
+              "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.1.2.tgz",
               "dependencies": {
                 "source-map": {
                   "version": "0.1.8",
                   "from": "source-map@0.1.8",
+                  "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.8.tgz",
                   "dependencies": {
                     "amdefine": {
                       "version": "0.1.0",
-                      "from": "amdefine@0.1.0"
+                      "from": "amdefine@>=0.0.4"
                     }
                   }
                 }
     },
     "pg": {
       "version": "0.14.1",
-      "from": "pg@0.14.1",
+      "from": "pg@0.14.x",
       "dependencies": {
         "generic-pool": {
           "version": "2.0.4",
-          "from": "generic-pool@2.0.4"
+          "from": "generic-pool@~2.0.2"
         },
         "deprecate": {
           "version": "0.1.0",
-          "from": "deprecate@0.1.0"
+          "from": "deprecate@~0.1.0"
         }
       }
     },
     "request": {
       "version": "2.14.0",
-      "from": "request@2.14.0",
+      "from": "request@2.14.x",
       "dependencies": {
         "form-data": {
           "version": "0.0.7",
       }
     },
     "rimraf": {
-      "version": "2.2.4",
-      "from": "rimraf@2.2.4",
-      "dependencies": {
-        "graceful-fs": {
-          "version": "2.0.1",
-          "from": "graceful-fs@2.0.1"
-        }
-      }
+      "version": "2.2.6",
+      "from": "rimraf@2.2.x"
     },
     "rjson": {
       "version": "0.2.4",
-      "from": "rjson@0.2.4",
+      "from": "rjson@~0.2.4",
       "dependencies": {
         "commander": {
           "version": "1.1.1",
-          "from": "commander@1.1.1",
+          "from": "commander@~1.1.1",
           "dependencies": {
             "keypress": {
               "version": "0.1.0",
-              "from": "keypress@0.1.0"
+              "from": "keypress@0.1.x"
             }
           }
         }
     },
     "socket.io": {
       "version": "0.9.16",
-      "from": "socket.io@0.9.16",
+      "from": "socket.io@0.9.x",
       "dependencies": {
         "socket.io-client": {
           "version": "0.9.16",
           "from": "socket.io-client@0.9.16",
+          "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-0.9.16.tgz",
           "dependencies": {
             "uglify-js": {
               "version": "1.2.5",
-              "from": "uglify-js@1.2.5"
+              "from": "uglify-js@1.2.5",
+              "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-1.2.5.tgz"
             },
             "ws": {
               "version": "0.4.31",
-              "from": "ws@0.4.31",
+              "from": "ws@0.4.x",
               "dependencies": {
                 "commander": {
                   "version": "0.6.1",
-                  "from": "commander@0.6.1"
+                  "from": "commander@~0.6.1",
+                  "resolved": "https://registry.npmjs.org/commander/-/commander-0.6.1.tgz"
                 },
                 "nan": {
                   "version": "0.3.2",
-                  "from": "nan@0.3.2"
+                  "from": "nan@~0.3.0"
                 },
                 "tinycolor": {
                   "version": "0.0.1",
-                  "from": "tinycolor@0.0.1"
+                  "from": "tinycolor@0.x"
                 },
                 "options": {
                   "version": "0.0.5",
-                  "from": "options@0.0.5"
+                  "from": "options@>=0.0.5"
                 }
               }
             },
             "xmlhttprequest": {
               "version": "1.4.2",
-              "from": "xmlhttprequest@1.4.2"
+              "from": "xmlhttprequest@1.4.2",
+              "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.4.2.tgz"
             },
             "active-x-obfuscator": {
               "version": "0.0.1",
               "from": "active-x-obfuscator@0.0.1",
+              "resolved": "https://registry.npmjs.org/active-x-obfuscator/-/active-x-obfuscator-0.0.1.tgz",
               "dependencies": {
                 "zeparser": {
                   "version": "0.0.5",
-                  "from": "zeparser@0.0.5"
+                  "from": "zeparser@0.0.5",
+                  "resolved": "https://registry.npmjs.org/zeparser/-/zeparser-0.0.5.tgz"
                 }
               }
             }
         },
         "policyfile": {
           "version": "0.0.4",
-          "from": "policyfile@0.0.4"
+          "from": "policyfile@0.0.4",
+          "resolved": "https://registry.npmjs.org/policyfile/-/policyfile-0.0.4.tgz"
         },
         "base64id": {
           "version": "0.1.0",
-          "from": "base64id@0.1.0"
+          "from": "base64id@0.1.0",
+          "resolved": "https://registry.npmjs.org/base64id/-/base64id-0.1.0.tgz"
         },
         "redis": {
           "version": "0.7.3",
-          "from": "redis@0.7.3"
+          "from": "redis@0.7.3",
+          "resolved": "https://registry.npmjs.org/redis/-/redis-0.7.3.tgz"
         }
       }
     },
     "underscore": {
       "version": "1.4.4",
-      "from": "underscore@1.4.4"
+      "from": "underscore@1.4.x"
     },
     "winston": {
       "version": "0.7.2",
-      "from": "winston@0.7.2",
+      "from": "winston@0.7.x",
       "dependencies": {
         "cycle": {
-          "version": "1.0.2",
-          "from": "cycle@1.0.2"
+          "version": "1.0.3",
+          "from": "cycle@1.0.x",
+          "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz"
         },
         "eyes": {
           "version": "0.1.8",
-          "from": "eyes@0.1.8"
+          "from": "eyes@0.1.x"
         },
         "pkginfo": {
           "version": "0.3.0",
-          "from": "pkginfo@0.3.0"
+          "from": "pkginfo@0.3.x"
         },
         "request": {
           "version": "2.16.6",
-          "from": "request@2.16.6",
+          "from": "request@2.16.x",
           "dependencies": {
             "form-data": {
               "version": "0.0.10",
-              "from": "form-data@0.0.10",
+              "from": "form-data@~0.0.3",
               "dependencies": {
                 "combined-stream": {
                   "version": "0.0.4",
-                  "from": "combined-stream@0.0.4",
+                  "from": "combined-stream@~0.0.4",
                   "dependencies": {
                     "delayed-stream": {
                       "version": "0.0.5",
-                      "from": "delayed-stream@0.0.5"
+                      "from": "delayed-stream@0.0.5",
+                      "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz"
                     }
                   }
                 }
             },
             "mime": {
               "version": "1.2.11",
-              "from": "mime@1.2.11"
+              "from": "mime@~1.2.7"
             },
             "hawk": {
               "version": "0.10.2",
-              "from": "hawk@0.10.2",
+              "from": "hawk@~0.10.2",
               "dependencies": {
                 "hoek": {
                   "version": "0.7.6",
-                  "from": "hoek@0.7.6"
+                  "from": "hoek@0.7.x"
                 },
                 "boom": {
                   "version": "0.3.8",
-                  "from": "boom@0.3.8"
+                  "from": "boom@0.3.x"
                 },
                 "cryptiles": {
                   "version": "0.1.3",
-                  "from": "cryptiles@0.1.3"
+                  "from": "cryptiles@0.1.x"
                 },
                 "sntp": {
                   "version": "0.1.4",
-                  "from": "sntp@0.1.4"
+                  "from": "sntp@0.1.x"
                 }
               }
             },
             "node-uuid": {
               "version": "1.4.1",
-              "from": "node-uuid@1.4.1"
+              "from": "node-uuid@~1.4.0"
             },
             "cookie-jar": {
               "version": "0.2.0",
-              "from": "cookie-jar@0.2.0"
+              "from": "cookie-jar@~0.2.0"
             },
             "aws-sign": {
               "version": "0.2.0",
-              "from": "aws-sign@0.2.0"
+              "from": "aws-sign@~0.2.0"
             },
             "oauth-sign": {
               "version": "0.2.0",
-              "from": "oauth-sign@0.2.0"
+              "from": "oauth-sign@~0.2.0"
             },
             "forever-agent": {
               "version": "0.2.0",
-              "from": "forever-agent@0.2.0"
+              "from": "forever-agent@~0.2.0"
             },
             "tunnel-agent": {
               "version": "0.2.0",
-              "from": "tunnel-agent@0.2.0"
+              "from": "tunnel-agent@~0.2.0"
             },
             "json-stringify-safe": {
               "version": "3.0.0",
-              "from": "json-stringify-safe@3.0.0"
+              "from": "json-stringify-safe@~3.0.0"
             },
             "qs": {
               "version": "0.5.6",
-              "from": "qs@0.5.6"
+              "from": "qs@~0.5.4"
             }
           }
         },
         "stack-trace": {
-          "version": "0.0.7",
-          "from": "stack-trace@0.0.7"
+          "version": "0.0.9",
+          "from": "stack-trace@0.0.x",
+          "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz"
         }
       }
     },
     "xmla4js": {
       "version": "0.0.1",
-      "from": "xmla4js@git://github.com/rpbouman/xmla4js.git#cbfd568b4858c99f493e182722a12bed20bdee95",
-      "resolved": "git://github.com/rpbouman/xmla4js.git#cbfd568b4858c99f493e182722a12bed20bdee95"
+      "from": "xmla4js@git://github.com/rpbouman/xmla4js.git",
+      "resolved": "git://github.com/rpbouman/xmla4js.git#73f62b7f228ad813adeaaa53684cf19c172686c0"
     },
     "underscore.string": {
       "version": "2.3.3",
-      "from": "underscore.string@2.3.3"
+      "from": "underscore.string@~2.3.3"
     },
     "xtuple-query": {
       "version": "1.0.0",
-      "from": "xtuple-query@1.0.0",
+      "from": "xtuple-query@~1.0.0",
       "dependencies": {
         "congruence": {
           "version": "1.2.3",
-          "from": "congruence@1.2.3"
+          "from": "congruence@1.2.3",
+          "resolved": "https://registry.npmjs.org/congruence/-/congruence-1.2.3.tgz"
         },
         "underscore": {
           "version": "1.5.2",
-          "from": "underscore@1.5.2"
+          "from": "underscore@~1.5.2",
+          "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.5.2.tgz"
         }
       }
     },
         "request": {
           "version": "2.25.0",
           "from": "request@~2.25.0",
-          "resolved": "https://registry.npmjs.org/request/-/request-2.25.0.tgz",
           "dependencies": {
             "qs": {
               "version": "0.6.6",
-              "from": "qs@~0.6.0",
-              "resolved": "https://registry.npmjs.org/qs/-/qs-0.6.6.tgz"
+              "from": "qs@~0.6.0"
             },
             "json-stringify-safe": {
               "version": "5.0.0",
-              "from": "json-stringify-safe@~5.0.0",
-              "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.0.tgz"
+              "from": "json-stringify-safe@~5.0.0"
             },
             "forever-agent": {
-              "version": "0.5.0",
-              "from": "forever-agent@~0.5.0"
+              "version": "0.5.2",
+              "from": "forever-agent@~0.5.0",
+              "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz"
             },
             "tunnel-agent": {
               "version": "0.3.0",
             "hawk": {
               "version": "1.0.0",
               "from": "hawk@~1.0.0",
-              "resolved": "https://registry.npmjs.org/hawk/-/hawk-1.0.0.tgz",
               "dependencies": {
                 "hoek": {
                   "version": "0.9.1",
             },
             "mime": {
               "version": "1.2.11",
-              "from": "mime@~1.2.9"
+              "from": "mime@~1.2.7"
             },
             "form-data": {
               "version": "0.1.2",
               "from": "form-data@~0.1.0",
-              "resolved": "https://registry.npmjs.org/form-data/-/form-data-0.1.2.tgz",
               "dependencies": {
                 "combined-stream": {
                   "version": "0.0.4",
                   "dependencies": {
                     "delayed-stream": {
                       "version": "0.0.5",
-                      "from": "delayed-stream@0.0.5"
+                      "from": "delayed-stream@0.0.5",
+                      "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz"
                     }
                   }
                 },
                 "async": {
-                  "version": "0.2.9",
-                  "from": "async@~0.2.9"
+                  "version": "0.2.10",
+                  "from": "async@~0.2.9",
+                  "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz"
                 }
               }
             }
                 "tap": {
                   "version": "0.3.3",
                   "from": "tap@~0.3.3",
-                  "resolved": "https://registry.npmjs.org/tap/-/tap-0.3.3.tgz",
                   "dependencies": {
                     "inherits": {
                       "version": "1.0.0"
                     },
                     "slide": {
                       "version": "1.1.5",
-                      "from": "slide@*",
-                      "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.5.tgz"
+                      "from": "slide@*"
                     },
                     "runforcover": {
                       "version": "0.0.2",
                       "from": "runforcover@~0.0.2",
-                      "resolved": "https://registry.npmjs.org/runforcover/-/runforcover-0.0.2.tgz",
                       "dependencies": {
                         "bunker": {
                           "version": "0.1.2",
                           "from": "bunker@0.1.X",
-                          "resolved": "https://registry.npmjs.org/bunker/-/bunker-0.1.2.tgz",
                           "dependencies": {
                             "burrito": {
                               "version": "0.2.12",
                               "from": "burrito@>=0.2.5 <0.3",
-                              "resolved": "https://registry.npmjs.org/burrito/-/burrito-0.2.12.tgz",
                               "dependencies": {
                                 "traverse": {
                                   "version": "0.5.2",
-                                  "from": "traverse@~0.5.1",
-                                  "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.5.2.tgz"
+                                  "from": "traverse@~0.5.1"
                                 },
                                 "uglify-js": {
                                   "version": "1.1.1",
-                                  "from": "uglify-js@~1.1.1",
-                                  "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-1.1.1.tgz"
+                                  "from": "uglify-js@~1.1.1"
                                 }
                               }
                             }
                       }
                     },
                     "nopt": {
-                      "version": "2.1.2",
+                      "version": "2.2.0",
                       "from": "nopt@~2",
-                      "resolved": "https://registry.npmjs.org/nopt/-/nopt-2.1.2.tgz",
+                      "resolved": "https://registry.npmjs.org/nopt/-/nopt-2.2.0.tgz",
                       "dependencies": {
                         "abbrev": {
                           "version": "1.0.4",
-                          "from": "abbrev@1",
-                          "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz"
+                          "from": "abbrev@1"
                         }
                       }
                     },
                     "difflet": {
                       "version": "0.2.6",
                       "from": "difflet@~0.2.0",
-                      "resolved": "https://registry.npmjs.org/difflet/-/difflet-0.2.6.tgz",
                       "dependencies": {
                         "traverse": {
                           "version": "0.6.6",
-                          "from": "traverse@0.6.x",
-                          "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz"
+                          "from": "traverse@0.6.x"
                         },
                         "charm": {
                           "version": "0.1.2",
-                          "from": "charm@0.1.x",
-                          "resolved": "https://registry.npmjs.org/charm/-/charm-0.1.2.tgz"
+                          "from": "charm@0.1.x"
                         },
                         "deep-is": {
                           "version": "0.1.2",
-                          "from": "deep-is@0.1.x",
-                          "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.2.tgz"
+                          "from": "deep-is@0.1.x"
                         }
                       }
                     },
                     "deep-equal": {
                       "version": "0.0.0",
-                      "from": "deep-equal@~0.0.0",
-                      "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-0.0.0.tgz"
+                      "from": "deep-equal@~0.0.0"
                     },
                     "buffer-equal": {
                       "version": "0.0.0",
-                      "from": "buffer-equal@~0.0.0",
-                      "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.0.tgz"
+                      "from": "buffer-equal@~0.0.0"
                     }
                   }
                 },
       "dependencies": {
         "commander": {
           "version": "0.6.1",
-          "from": "commander@0.6.1"
+          "from": "commander@~0.6.1",
+          "resolved": "https://registry.npmjs.org/commander/-/commander-0.6.1.tgz"
         },
         "growl": {
           "version": "1.7.0",
         "jade": {
           "version": "0.26.3",
           "from": "jade@0.26.3",
+          "resolved": "https://registry.npmjs.org/jade/-/jade-0.26.3.tgz",
           "dependencies": {
             "mkdirp": {
               "version": "0.3.0",
-              "from": "mkdirp@0.3.0"
+              "from": "mkdirp@0.3.0",
+              "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz"
             }
           }
         },
           "dependencies": {
             "htmlparser": {
               "version": "1.7.7",
-              "from": "htmlparser@1.x",
-              "resolved": "https://registry.npmjs.org/htmlparser/-/htmlparser-1.7.7.tgz"
+              "from": "htmlparser@1.x"
             },
             "cssom": {
               "version": "0.2.5",
             "cssstyle": {
               "version": "0.2.9",
               "from": "cssstyle@>=0.2.3",
-              "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.9.tgz",
               "dependencies": {
                 "cssom": {
                   "version": "0.3.0",
           "from": "tough-cookie@~0.9.13",
           "dependencies": {
             "punycode": {
-              "version": "1.2.3",
-              "from": "punycode@>=0.2.0"
+              "version": "1.2.4",
+              "from": "punycode@>=0.2.0",
+              "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.2.4.tgz"
             }
           }
         },
           "dependencies": {
             "commander": {
               "version": "0.6.1",
-              "from": "commander@~0.6.1"
+              "from": "commander@~0.6.1",
+              "resolved": "https://registry.npmjs.org/commander/-/commander-0.6.1.tgz"
             },
             "nan": {
               "version": "0.3.2",
     "html5": {
       "version": "0.3.13",
       "from": "html5@0.3.13",
+      "resolved": "https://registry.npmjs.org/html5/-/html5-0.3.13.tgz",
       "dependencies": {
         "jsdom": {
-          "version": "0.8.10",
+          "version": "0.10.1",
           "from": "jsdom@>= 0.6.0",
-          "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-0.8.10.tgz",
+          "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-0.10.1.tgz",
           "dependencies": {
             "htmlparser2": {
-              "version": "3.4.0",
+              "version": "3.5.0",
               "from": "htmlparser2@>= 3.1.5 <4",
-              "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.4.0.tgz",
+              "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.5.0.tgz",
               "dependencies": {
                 "domhandler": {
                   "version": "2.2.0",
-                  "from": "domhandler@2.2",
-                  "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.2.0.tgz"
+                  "from": "domhandler@2.2"
                 },
                 "domutils": {
                   "version": "1.3.0",
-                  "from": "domutils@1.3",
-                  "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.3.0.tgz"
+                  "from": "domutils@1.3"
                 },
                 "domelementtype": {
                   "version": "1.1.1",
                   "from": "domelementtype@1"
                 },
                 "readable-stream": {
-                  "version": "1.1.9",
+                  "version": "1.1.11",
                   "from": "readable-stream@1.1",
+                  "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.11.tgz",
                   "dependencies": {
                     "core-util-is": {
-                      "version": "1.0.0",
+                      "version": "1.0.1",
                       "from": "core-util-is@~1.0.0"
                     },
+                    "string_decoder": {
+                      "version": "0.10.25-1",
+                      "from": "string_decoder@~0.10.x",
+                      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25-1.tgz"
+                    },
                     "debuglog": {
                       "version": "0.0.2",
-                      "from": "debuglog@0.0.2"
+                      "from": "debuglog@0.0.2",
+                      "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-0.0.2.tgz"
                     }
                   }
                 }
             },
             "cssstyle": {
               "version": "0.2.9",
-              "from": "cssstyle@~0.2.6",
-              "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.9.tgz"
+              "from": "cssstyle@~0.2.9"
             },
             "contextify": {
               "version": "0.1.6",
           "from": "opts@~1.2.1"
         },
         "html5-entities": {
-          "version": "0.5.0",
-          "from": "html5-entities@~0.5.0"
+          "version": "0.5.1",
+          "from": "html5-entities@~0.5.0",
+          "resolved": "https://registry.npmjs.org/html5-entities/-/html5-entities-0.5.1.tgz"
         }
       }
     }
index d114caa..d33910e 100644 (file)
@@ -2,7 +2,7 @@
   "author": "xTuple <dev@xtuple.com>",
   "name": "xtuple",
   "description": "xTuple Enterprise Resource Planning Mobile-Web client",
-  "version": "1.7.1",
+  "version": "1.7.2",
   "repository": {
     "type": "git",
     "url": "https://github.com/xtuple/xtuple.git"
index 9034745..bb7f015 100644 (file)
@@ -31,7 +31,7 @@
 
     describe('XV Pickers', function () {
       it('should be set up correctly', function () {
-        // look at all the lists in XV
+        // look at all the pickers in XV
         _.each(XV, function (value, key) {
           var child,
             collName,
                 assert.equal(master.$[key].kind, 'XV.' + key, "Error instantiating XV." + key);
               });
 
-              it('verify that there is a backing model for the picker', function () {
+              // TODO: pickers can have the collection passed into them as an attribute
+              // really we should look at these pickers in the context of the workspace
+              // in which we're being used, so that we can see if the collection value
+              // is being passed in. This would involve iterating over the workspaces.
+              it.skip('verify that there is a backing model for the picker', function () {
                 collName = child.getCollection();
                 assert.isNotNull(collName, 'XV.' + key + ' has no collection behind it');
 
index 485423e..d5d2a87 100644 (file)
@@ -42,6 +42,8 @@
                 assert.isNotNull(Klass);
                 if (Klass.prototype.getAttributeNames().indexOf(Klass.prototype.nameAttribute) < 0 &&
                     typeof Klass.prototype[Klass.prototype.nameAttribute] !== 'function' &&
+                    Klass.prototype.nameAttribute.indexOf(".") < 0 && // don't bother with dotted nameAttributes
+                    Klass.prototype.keepInHistory &&
                     Klass.prototype.idAttribute === 'uuid') {
                   assert.fail(0, 1, workspace.model + " does not contain its nameAttribute, which will reflect " +
                     "poorly in the history panel");