@kohanajs/mod-cms
Advanced tools
Comparing version 5.3.0 to 5.4.0
@@ -5,2 +5,9 @@ # Changelog | ||
## [5.4.0](https://gitlab.com/kohana-js/proposals/level0/mod-cms/compare/v5.3.0...v5.4.0) (2022-02-21) | ||
### Features | ||
* page tag publish ([bc9152c](https://gitlab.com/kohana-js/proposals/level0/mod-cms/commit/bc9152c54317a42ad0343e4c6b2d7f16a5e4017b)) | ||
## [5.3.0](https://gitlab.com/kohana-js/proposals/level0/mod-cms/compare/v5.2.4...v5.3.0) (2022-02-20) | ||
@@ -7,0 +14,0 @@ |
@@ -115,5 +115,10 @@ const {SQL} = require('@kohanajs/constants'); | ||
const page = await ORM.factory(Page, page_id, {database}); | ||
const pageTag = ORM.create(PageTag, {database}); | ||
Object.assign(pageTag, {page_id, tag_id}); | ||
pageTag.write(); | ||
await page.write(); | ||
this.body = { | ||
@@ -120,0 +125,0 @@ type: 'ADD_PAGE_TAG', |
@@ -72,2 +72,3 @@ const {SQL} = require("@kohanajs/constants"); | ||
const version = { | ||
tags:{}, | ||
attributes:{}, | ||
@@ -143,2 +144,17 @@ values:{}, | ||
//tags | ||
const pageTags = await ORM.readBy(PageTag, 'page_id', [pageId], {database, asArray: true}); | ||
const tagDatabase = this.state.get(ControllerMixinDatabase.DATABASES).get('tag'); | ||
await ORM.eagerLoad(pageTags, {with:['Tag'], tag : {with: ['TagType', 'TagValue']}}, {database: tagDatabase}); | ||
pageTags.forEach(page_tag => { | ||
const tag = page_tag.tag; | ||
const tagType = tag.tag_type.name; | ||
version.tags[tagType] = version.tags[tagType] || JSON.parse(i18nValueJSON); | ||
tag.tag_values.forEach(it => { | ||
version.tags[tagType][languageIdMap.get(it.language_id)][tag.name] = it.value | ||
}) | ||
}); | ||
return { | ||
@@ -165,5 +181,14 @@ version, | ||
//copy page tags | ||
await page.eagerLoad({with:['PageTag']}); | ||
await Promise.all(page.page_tags.map(async it => { | ||
const livePageTag = ORM.create(PageTag, {database, insertID: it.id}); | ||
const fields = {...it}; | ||
delete fields.id; | ||
Object.assign(livePageTag, fields); | ||
livePageTag.write(); | ||
})); | ||
//create version. | ||
const {version, keywords} = await this.createVersion(page.id); | ||
console.log(JSON.stringify(version, null, 2)); | ||
@@ -303,2 +328,10 @@ const livePageBody = ORM.create(PageText, {database}); | ||
if(this.language !== KohanaJS.config.cms.defaultLanguage){ | ||
placeholders.values = HelperPage.arrayToObject(page.page_values, masterLanguage.id); | ||
placeholders.attributes = HelperPage.arrayToObject(page.page_attributes, masterLanguage.id); | ||
placeholders.items = HelperPage.itemsToObject(page.page_items, masterLanguage.id, "page_item_values"); | ||
placeholders.blocks = HelperPage.blocksToObject(page.page_blocks, masterLanguage.id); | ||
await HelperPage.defaultLanguageValue(page, languageId, database); | ||
} | ||
await page.eagerLoad({ with:['PageTag'] }, {database}); | ||
@@ -318,10 +351,2 @@ await ORM.eagerLoad(page.page_tags, {with:['Tag'], tag : {with: ['TagType', 'TagValue']}}, {database: tagDatabase}); | ||
if(this.language !== KohanaJS.config.cms.defaultLanguage){ | ||
placeholders.values = HelperPage.arrayToObject(page.page_values, masterLanguage.id); | ||
placeholders.attributes = HelperPage.arrayToObject(page.page_attributes, masterLanguage.id); | ||
placeholders.items = HelperPage.itemsToObject(page.page_items, masterLanguage.id, "page_item_values"); | ||
placeholders.blocks = HelperPage.blocksToObject(page.page_blocks, masterLanguage.id); | ||
await HelperPage.defaultLanguageValue(page, languageId, database); | ||
} | ||
const templateTags = {} | ||
@@ -328,0 +353,0 @@ const tags = await ORM.readAll(Tag, {database:tagDatabase}); |
{ | ||
"name": "@kohanajs/mod-cms", | ||
"version": "5.3.0", | ||
"version": "5.4.0", | ||
"description": "The CMS module for KohanaJS", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
63130
1403