From 32c842fcaf8e2750ed90e0e1a7e8bfd9ba917b24 Mon Sep 17 00:00:00 2001 From: pines Date: Fri, 23 Feb 2007 18:45:28 +0000 Subject: [PATCH] support open-ils.write_in_user_chrome_directory pref git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_1_0@7012 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- Open-ILS/xul/staff_client/chrome/content/util/file.js | 16 +++++++++++++--- Open-ILS/xul/staff_client/defaults/preferences/prefs.js | 3 +++ 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/Open-ILS/xul/staff_client/chrome/content/util/file.js b/Open-ILS/xul/staff_client/chrome/content/util/file.js index 8bfa12f986..ca57ff8f92 100644 --- a/Open-ILS/xul/staff_client/chrome/content/util/file.js +++ b/Open-ILS/xul/staff_client/chrome/content/util/file.js @@ -29,13 +29,23 @@ util.file.prototype = { if (!fname) { fname = this.name; } else { this.name = fname; } if (!fname) throw('Must specify a filename.'); + try { + netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect UniversalPreferencesWrite UniversalBrowserWrite UniversalPreferencesRead UniversalBrowserRead UniversalFileRead"); + var pref = Components.classes["@mozilla.org/preferences-service;1"] + .getService(Components.interfaces.nsIPrefBranch); + if (!path && pref.getBoolPref("open-ils.write_in_user_chrome_directory")) path = 'uchrome'; + } catch(E) { + // getBoolPref throws an exception if "open-ils.write_in_user_chrome_directory" is not defined at all + // in defaults/preferences/prefs.js + } + switch(path) { - case 'profile' : + case 'uchrome' : this._file = this.dirService.get( "UChrm", Components.interfaces.nsIFile ); //this._file = this.dirService.get( "ProfD", Components.interfaces.nsIFile ); break; - case 'chrome' : default: + case 'chrome' : this._file = this.dirService.get( "AChrom", Components.interfaces.nsIFile ); this._file.append(myPackageDir); this._file.append("content"); @@ -50,7 +60,7 @@ util.file.prototype = { return this._file; } catch(E) { - this.error.sdump('D_ERROR',this._file.path + '\nutil.file.get(): ' + E); + this.error.standard_unexpected_error_alert('error in util.file.get('+fname+','+path+')',E); throw(E); } }, diff --git a/Open-ILS/xul/staff_client/defaults/preferences/prefs.js b/Open-ILS/xul/staff_client/defaults/preferences/prefs.js index d13c84c1ca..3ae015f78b 100644 --- a/Open-ILS/xul/staff_client/defaults/preferences/prefs.js +++ b/Open-ILS/xul/staff_client/defaults/preferences/prefs.js @@ -5,6 +5,9 @@ // This one is required for XUL Runner pref("toolkit.defaultChromeURI", "chrome://open_ils_staff_client/content/main/main.xul"); +// This one is specific for Open-ILS +pref("open-ils.write_in_user_chrome_directory", true); + // This one just makes things speedier. We use a lot of XMLHttpRequest pref("network.http.max-persistent-connections-per-server",8); -- 2.11.0