|
@@ -297,8 +297,8 @@ export class BackendSrv {
|
|
|
this.getDashboard('db', slug).then(fullDash => {
|
|
this.getDashboard('db', slug).then(fullDash => {
|
|
|
const model = new DashboardModel(fullDash.dashboard, fullDash.meta);
|
|
const model = new DashboardModel(fullDash.dashboard, fullDash.meta);
|
|
|
|
|
|
|
|
- if ((!model.folderId && toFolder.id === 0) ||
|
|
|
|
|
- model.folderId === toFolder.id) {
|
|
|
|
|
|
|
+ if ((!fullDash.meta.folderId && toFolder.id === 0) ||
|
|
|
|
|
+ fullDash.meta.folderId === toFolder.id) {
|
|
|
deferred.resolve({alreadyInFolder: true});
|
|
deferred.resolve({alreadyInFolder: true});
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
@@ -312,7 +312,18 @@ export class BackendSrv {
|
|
|
.then(() => {
|
|
.then(() => {
|
|
|
deferred.resolve({succeeded: true});
|
|
deferred.resolve({succeeded: true});
|
|
|
}).catch(err => {
|
|
}).catch(err => {
|
|
|
- deferred.resolve({succeeded: false});
|
|
|
|
|
|
|
+ if (err.data && err.data.status === "plugin-dashboard") {
|
|
|
|
|
+ err.isHandled = true;
|
|
|
|
|
+
|
|
|
|
|
+ this.saveDashboard(clone, {overwrite: true})
|
|
|
|
|
+ .then(() => {
|
|
|
|
|
+ deferred.resolve({succeeded: true});
|
|
|
|
|
+ }).catch(err => {
|
|
|
|
|
+ deferred.resolve({succeeded: false});
|
|
|
|
|
+ });
|
|
|
|
|
+ } else {
|
|
|
|
|
+ deferred.resolve({succeeded: false});
|
|
|
|
|
+ }
|
|
|
});
|
|
});
|
|
|
});
|
|
});
|
|
|
|
|
|