diff --git a/static/admin/index.html b/static/admin/index.html index 9cf2151..e5ee634 100644 --- a/static/admin/index.html +++ b/static/admin/index.html @@ -856,16 +856,20 @@ name: 'preSave', handler: function (ref) { var entry = ref.entry, author = ref.author; + // Decap espera que preSave devuelva el MAPA DE DATOS del entry, no el entry completo. + // Si se devuelve el entry, Decap lo asigna como `data` y se pierde el campo `title`, + // rompiendo el guardado con "Collection must have a field name that is a valid entry identifier". + var data = entry.get('data'); var login = getInAny(author, ['login']) || getInAny(author, ['name']) || getGitHubLogin(); login = login ? String(login).toLowerCase() : ''; - if (!login) return entry; + if (!login) return data; - var currentOwner = normalizeGitHubLogin(getInAny(entry, ['data', 'owner_github'])); + var currentOwner = normalizeGitHubLogin(data.get('owner_github')); if (currentOwner && currentOwner !== login) { throw new Error('No puedes guardar un proyecto que pertenece a @' + currentOwner + '.'); } - return entry.set('data', entry.get('data').set('owner_github', login)); + return data.set('owner_github', login); }, }); });