From: senator Date: Thu, 16 Sep 2010 02:39:56 +0000 (+0000) Subject: Backport IDL-chunking work for interfaces under web/templates, as well as X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=f54aa76da2075885549e97ea8e2a64b3a5f91571;p=evergreen%2Fjoelewis.git Backport IDL-chunking work for interfaces under web/templates, as well as AutoWidget/AutoFieldWidget improvements to deal with some cases of not having an IDL class preloaded. git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_2_0@17721 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/Open-ILS/web/js/dojo/openils/widget/AutoFieldWidget.js b/Open-ILS/web/js/dojo/openils/widget/AutoFieldWidget.js index d94fd41655..1fc77a07e8 100644 --- a/Open-ILS/web/js/dojo/openils/widget/AutoFieldWidget.js +++ b/Open-ILS/web/js/dojo/openils/widget/AutoFieldWidget.js @@ -56,10 +56,17 @@ if(!dojo._hasResource['openils.widget.AutoFieldWidget']) { } this.dijitArgs['scrollOnFocus'] = false; + // find the field description in the IDL if not provided if(this.fmObject) this.fmClass = this.fmObject.classname; this.fmIDL = fieldmapper.IDL.fmclasses[this.fmClass]; + + if(this.fmClass && !this.fmIDL) { + fieldmapper.IDL.load([this.fmClass]); + this.fmIDL = fieldmapper.IDL.fmclasses[this.fmClass]; + } + this.suppressLinkedFields = args.suppressLinkedFields || []; if(this.selfReference) { @@ -358,6 +365,8 @@ if(!dojo._hasResource['openils.widget.AutoFieldWidget']) { _getLinkSelector : function() { var linkClass = this.idlField['class']; if(this.idlField.reltype != 'has_a') return false; + if(!fieldmapper.IDL.fmclasses[linkClass]) // class neglected by AutoIDL + fieldmapper.IDL.load([this.fmClass]); if(!fieldmapper.IDL.fmclasses[linkClass].permacrud) return false; if(!fieldmapper.IDL.fmclasses[linkClass].permacrud.retrieve) return false; diff --git a/Open-ILS/web/js/dojo/openils/widget/AutoWidget.js b/Open-ILS/web/js/dojo/openils/widget/AutoWidget.js index e4f11ab20c..6c065b12e8 100644 --- a/Open-ILS/web/js/dojo/openils/widget/AutoWidget.js +++ b/Open-ILS/web/js/dojo/openils/widget/AutoWidget.js @@ -20,6 +20,10 @@ if(!dojo._hasResource['openils.widget.AutoWidget']) { if(this.fmObject) this.fmClass = this.fmObject.classname; this.fmIDL = fieldmapper.IDL.fmclasses[this.fmClass]; + if(!this.fmIDL) { + fieldmapper.IDL.load([this.fmClass]); + this.fmIDL = fieldmapper.IDL.fmclasses[this.fmClass]; + } this.buildSortedFieldList(); }, diff --git a/Open-ILS/web/templates/base.tt2 b/Open-ILS/web/templates/base.tt2 index 6bb7874aee..46c512ec92 100644 --- a/Open-ILS/web/templates/base.tt2 +++ b/Open-ILS/web/templates/base.tt2 @@ -10,8 +10,18 @@ href='[% ctx.media_prefix %]/css/skin/[% ctx.skin %].css' /> - + +