diff --git a/ghost/admin/app/components/gh-post-settings-menu.js b/ghost/admin/app/components/gh-post-settings-menu.js index 3dfc5ae9b9..e5e567bbd0 100644 --- a/ghost/admin/app/components/gh-post-settings-menu.js +++ b/ghost/admin/app/components/gh-post-settings-menu.js @@ -24,10 +24,13 @@ export default Component.extend(SettingsMenuMixin, { session: injectService(), settings: injectService(), + model: null, slugValue: boundOneWay('model.slug'), metaTitleScratch: alias('model.metaTitleScratch'), metaDescriptionScratch: alias('model.metaDescriptionScratch'), + _showSettingsMenu: false, + didReceiveAttrs() { this._super(...arguments); @@ -38,6 +41,19 @@ export default Component.extend(SettingsMenuMixin, { this.get('model.author').then((author) => { this.set('selectedAuthor', author); }); + + // reset the publish date on close if it has an error + if (!this.get('showSettingsMenu') && this._showSettingsMenu) { + let post = this.get('model'); + let errors = post.get('errors'); + + if (errors.has('publishedAtBlogDate') || errors.has('publishedAtBlogTime')) { + post.set('publishedAtBlogTZ', post.get('publishedAtUTC')); + post.validate({attribute: 'publishedAtBlog'}); + } + } + + this._showSettingsMenu = this.get('showSettingsMenu'); }, seoTitle: computed('model.titleScratch', 'metaTitleScratch', function () { diff --git a/ghost/admin/app/templates/components/gh-post-settings-menu.hbs b/ghost/admin/app/templates/components/gh-post-settings-menu.hbs index be72b66bd9..151247ed1d 100644 --- a/ghost/admin/app/templates/components/gh-post-settings-menu.hbs +++ b/ghost/admin/app/templates/components/gh-post-settings-menu.hbs @@ -3,7 +3,9 @@