Display proper error message if Zotero directory or Zotero database is not writable, instead of just if the database isn't readable
This commit is contained in:
parent
ef36b39454
commit
2f7bf480c0
3 changed files with 28 additions and 2 deletions
|
@ -77,7 +77,7 @@ Zotero.DBConnection = function(dbName) {
|
||||||
/////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test a connection to the database, throwing any errors that occur
|
* Test a read-only connection to the database, throwing any errors that occur
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -408,7 +408,33 @@ var Zotero = new function(){
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
// Test read access
|
||||||
Zotero.DB.test();
|
Zotero.DB.test();
|
||||||
|
|
||||||
|
var dbfile = Zotero.getZoteroDatabase();
|
||||||
|
|
||||||
|
// Test write access on Zotero data directory
|
||||||
|
if (!dbfile.parent.isWritable()) {
|
||||||
|
var msg = 'Cannot write to ' + dbfile.parent.path + '/';
|
||||||
|
}
|
||||||
|
// Test write access on Zotero database
|
||||||
|
else if (!dbfile.isWritable()) {
|
||||||
|
var msg = 'Cannot write to ' + dbfile.path;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
var msg = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (msg) {
|
||||||
|
var e = {
|
||||||
|
name: 'NS_ERROR_FILE_ACCESS_DENIED',
|
||||||
|
message: msg,
|
||||||
|
toString: function () {
|
||||||
|
return this.name + ': ' + this.message;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
throw (e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
catch (e) {
|
catch (e) {
|
||||||
if (e.name == 'NS_ERROR_FILE_ACCESS_DENIED') {
|
if (e.name == 'NS_ERROR_FILE_ACCESS_DENIED') {
|
||||||
|
|
|
@ -80,7 +80,7 @@ startupError.databaseInUse = Your Zotero database is currently in use. Only
|
||||||
startupError.closeStandalone = If Zotero Standalone is open, please close it and restart Firefox.
|
startupError.closeStandalone = If Zotero Standalone is open, please close it and restart Firefox.
|
||||||
startupError.closeFirefox = If Firefox with the Zotero extension is open, please close it and restart Zotero Standalone.
|
startupError.closeFirefox = If Firefox with the Zotero extension is open, please close it and restart Zotero Standalone.
|
||||||
startupError.databaseCannotBeOpened = The Zotero database cannot be opened.
|
startupError.databaseCannotBeOpened = The Zotero database cannot be opened.
|
||||||
startupError.checkPermissions = Make sure you have read and write permissions to all files in the Zotero data directory.
|
startupError.checkPermissions = Make sure you have read and write permissions for all files in the Zotero data directory.
|
||||||
startupError.zoteroVersionIsOlder = This version of Zotero is older than the version last used with your database.
|
startupError.zoteroVersionIsOlder = This version of Zotero is older than the version last used with your database.
|
||||||
startupError.zoteroVersionIsOlder.upgrade = Please upgrade to the latest version from zotero.org.
|
startupError.zoteroVersionIsOlder.upgrade = Please upgrade to the latest version from zotero.org.
|
||||||
startupError.zoteroVersionIsOlder.current = Current version: %S
|
startupError.zoteroVersionIsOlder.current = Current version: %S
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue