forked from public/foundryvtt-reve-de-dragon
Fix: Actions dans un conteneur
Les actions dans un conteneur (ouvrir un des sous conteneurs par exemple) n'étaient pas disponibles. Ceci était lié à la structure des données contenant les droits différente pour les items et les acteurs. La gestion des droits était mélangées et faite de façons différentes. Maintenant, les "options" dans les données du formulaire contiennent les informations de droits d'accès et sont utilisées.
This commit is contained in:
@ -1,9 +1,24 @@
|
||||
import { DialogSplitItem } from "./dialog-split-item.js";
|
||||
import { RdDItem } from "./item.js";
|
||||
import { SystemCompendiums } from "./settings/system-compendiums.js";
|
||||
|
||||
export class RdDSheetUtility {
|
||||
|
||||
static mergeDocumentRights(options, document, editable) {
|
||||
const userRightLevel = game.user.isGM
|
||||
? CONST.DOCUMENT_OWNERSHIP_LEVELS.OWNER
|
||||
: document.getUserLevel(game.user);
|
||||
mergeObject(options, {
|
||||
isGM: game.user.isGM,
|
||||
isOwned: document.parent,
|
||||
editable: editable,
|
||||
cssClass: editable ? "editable" : "locked",
|
||||
isLimited: userRightLevel >= CONST.DOCUMENT_OWNERSHIP_LEVELS.LIMITED,
|
||||
isObserver: userRightLevel >= CONST.DOCUMENT_OWNERSHIP_LEVELS.OBSERVER,
|
||||
isOwner: userRightLevel >= CONST.DOCUMENT_OWNERSHIP_LEVELS.OWNER
|
||||
});
|
||||
return options;
|
||||
}
|
||||
|
||||
static getItem(event, actor) {
|
||||
return actor.items.get(RdDSheetUtility.getItemId(event))
|
||||
}
|
||||
@ -23,7 +38,7 @@ export class RdDSheetUtility {
|
||||
|
||||
static async prepareItemDropParameters(destItemId, actor, dragData, objetVersConteneur) {
|
||||
let item = fromUuidSync(dragData.uuid);
|
||||
if (item.pack && !item.system){
|
||||
if (item.pack && !item.system) {
|
||||
item = await RdDItem.getCorrespondingItem(item);
|
||||
}
|
||||
if (actor.canReceive(item)) {
|
||||
|
Reference in New Issue
Block a user