Fix for Compendium when player do not have the right to create a item
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
import { L5R5E } from "./config.js";
|
import { L5R5E } from "./config.js";
|
||||||
|
import { ItemL5r5e } from "./item.js";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Extends the actor to process special things from L5R.
|
* Extends the actor to process special things from L5R.
|
||||||
@@ -118,14 +119,24 @@ export class HelpersL5r5e {
|
|||||||
* Make a temporary item for compendium drag n drop
|
* Make a temporary item for compendium drag n drop
|
||||||
*/
|
*/
|
||||||
static async createItemFromCompendium(data) {
|
static async createItemFromCompendium(data) {
|
||||||
if (!["item", "armor", "weapon", "technique", "peculiarity", "property"].includes(data.type)) {
|
if (
|
||||||
|
data instanceof ItemL5r5e ||
|
||||||
|
!["item", "armor", "weapon", "technique", "peculiarity", "property"].includes(data.type)
|
||||||
|
) {
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
const item = await Item.create(data, { temporary: true });
|
|
||||||
|
|
||||||
// reinject compendium id (required for properties)
|
let item;
|
||||||
item.data._id = data._id;
|
if (game.user.hasPermission("ACTOR_CREATE")) {
|
||||||
|
// Fail if a player do not have the right to create object (even if this is a temporary)
|
||||||
|
item = await ItemL5r5e.create(data, { temporary: true });
|
||||||
|
|
||||||
|
// reinject compendium id (required for properties)
|
||||||
|
item.data._id = data._id;
|
||||||
|
} else {
|
||||||
|
// Quick object
|
||||||
|
item = new ItemL5r5e(data);
|
||||||
|
}
|
||||||
return item;
|
return item;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user