mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-12-25 03:44:29 +03:00
Renamed activeTimezone
setting to timezone
refs https://github.com/TryGhost/Ghost/issues/10318 - API has been updated to still work with `active_timezone` for backwards compatibility but it makes sense for the client to match the underlying settings keys
This commit is contained in:
parent
99dbcdb3b0
commit
fcb9b87884
@ -30,7 +30,7 @@ export default Component.extend({
|
||||
// actions
|
||||
setTypedDateError() {},
|
||||
|
||||
blogTimezone: reads('settings.activeTimezone'),
|
||||
blogTimezone: reads('settings.timezone'),
|
||||
hasError: or('dateError', 'timeError'),
|
||||
|
||||
dateValue: computed('_date', '_scratchDate', function () {
|
||||
|
@ -1,7 +1,7 @@
|
||||
<span class="gh-select" data-select-text="{{this.selectedTimezone.label}}" tabindex="0">
|
||||
<OneWaySelect
|
||||
@id="activeTimezone"
|
||||
@name="general[activeTimezone]"
|
||||
@id="timezone"
|
||||
@name="general[timezone]"
|
||||
@options={{this.selectableTimezones}}
|
||||
@optionValuePath="name"
|
||||
@optionLabelPath="label"
|
||||
@ -11,6 +11,6 @@
|
||||
{{svg-jar "arrow-down-small"}}
|
||||
</span>
|
||||
{{#if this.hasTimezoneOverride}}
|
||||
<p>Your timezone has been automatically set to {{this.activeTimezone}}.</p>
|
||||
<p>Your timezone has been automatically set to {{this.timezone}}.</p>
|
||||
{{/if}}
|
||||
<p>The local time here is currently {{this.localTime}}</p>
|
||||
|
@ -9,7 +9,7 @@ export default Component.extend({
|
||||
|
||||
classNames: ['form-group', 'for-select'],
|
||||
|
||||
activeTimezone: null,
|
||||
timezone: null,
|
||||
availableTimezones: null,
|
||||
|
||||
// Allowed actions
|
||||
@ -17,16 +17,16 @@ export default Component.extend({
|
||||
|
||||
availableTimezoneNames: mapBy('availableTimezones', 'name'),
|
||||
|
||||
hasTimezoneOverride: computed('activeTimezone', 'availableTimezoneNames', function () {
|
||||
let activeTimezone = this.activeTimezone;
|
||||
hasTimezoneOverride: computed('timezone', 'availableTimezoneNames', function () {
|
||||
let timezone = this.timezone;
|
||||
let availableTimezoneNames = this.availableTimezoneNames;
|
||||
|
||||
return !availableTimezoneNames.includes(activeTimezone);
|
||||
return !availableTimezoneNames.includes(timezone);
|
||||
}),
|
||||
|
||||
selectedTimezone: computed('activeTimezone', 'availableTimezones', 'hasTimezoneOverride', function () {
|
||||
selectedTimezone: computed('timezone', 'availableTimezones', 'hasTimezoneOverride', function () {
|
||||
let hasTimezoneOverride = this.hasTimezoneOverride;
|
||||
let activeTimezone = this.activeTimezone;
|
||||
let timezone = this.timezone;
|
||||
let availableTimezones = this.availableTimezones;
|
||||
|
||||
if (hasTimezoneOverride) {
|
||||
@ -34,7 +34,7 @@ export default Component.extend({
|
||||
}
|
||||
|
||||
return availableTimezones
|
||||
.filterBy('name', activeTimezone)
|
||||
.filterBy('name', timezone)
|
||||
.get('firstObject');
|
||||
}),
|
||||
|
||||
@ -49,9 +49,9 @@ export default Component.extend({
|
||||
return availableTimezones;
|
||||
}),
|
||||
|
||||
localTime: computed('hasTimezoneOverride', 'activeTimezone', 'selectedTimezone', 'clock.second', function () {
|
||||
localTime: computed('hasTimezoneOverride', 'timezone', 'selectedTimezone', 'clock.second', function () {
|
||||
let hasTimezoneOverride = this.hasTimezoneOverride;
|
||||
let timezone = hasTimezoneOverride ? this.activeTimezone : this.get('selectedTimezone.name');
|
||||
let timezone = hasTimezoneOverride ? this.timezone : this.get('selectedTimezone.name');
|
||||
|
||||
this.get('clock.second');
|
||||
return timezone ? moment().tz(timezone).format('HH:mm:ss') : moment().utc().format('HH:mm:ss');
|
||||
|
@ -69,7 +69,7 @@ export default Controller.extend({
|
||||
},
|
||||
|
||||
setTimezone(timezone) {
|
||||
this.set('settings.activeTimezone', timezone.name);
|
||||
this.set('settings.timezone', timezone.name);
|
||||
},
|
||||
|
||||
removeImage(image) {
|
||||
|
@ -14,7 +14,7 @@ export default Helper.extend({
|
||||
return moment(timeago).from(moment.utc());
|
||||
}
|
||||
|
||||
let timezone = this.get('settings.activeTimezone');
|
||||
let timezone = this.get('settings.timezone');
|
||||
let time = moment.tz(timeago, timezone);
|
||||
let now = moment.tz(moment.utc(), timezone);
|
||||
|
||||
|
@ -177,7 +177,7 @@ export default Model.extend(Comparable, ValidationEngine, {
|
||||
}
|
||||
}),
|
||||
|
||||
publishedAtBlogTZ: computed('publishedAtBlogDate', 'publishedAtBlogTime', 'settings.activeTimezone', {
|
||||
publishedAtBlogTZ: computed('publishedAtBlogDate', 'publishedAtBlogTime', 'settings.timezone', {
|
||||
get() {
|
||||
return this._getPublishedAtBlogTZ();
|
||||
},
|
||||
@ -192,7 +192,7 @@ export default Model.extend(Comparable, ValidationEngine, {
|
||||
let publishedAtUTC = this.publishedAtUTC;
|
||||
let publishedAtBlogDate = this.publishedAtBlogDate;
|
||||
let publishedAtBlogTime = this.publishedAtBlogTime;
|
||||
let blogTimezone = this.get('settings.activeTimezone');
|
||||
let blogTimezone = this.get('settings.timezone');
|
||||
|
||||
if (!publishedAtUTC && isBlank(publishedAtBlogDate) && isBlank(publishedAtBlogTime)) {
|
||||
return null;
|
||||
@ -226,14 +226,14 @@ export default Model.extend(Comparable, ValidationEngine, {
|
||||
|
||||
// TODO: is there a better way to handle this?
|
||||
// eslint-disable-next-line ghost/ember/no-observers
|
||||
_setPublishedAtBlogTZ: on('init', observer('publishedAtUTC', 'settings.activeTimezone', function () {
|
||||
_setPublishedAtBlogTZ: on('init', observer('publishedAtUTC', 'settings.timezone', function () {
|
||||
let publishedAtUTC = this.publishedAtUTC;
|
||||
this._setPublishedAtBlogStrings(publishedAtUTC);
|
||||
})),
|
||||
|
||||
_setPublishedAtBlogStrings(momentDate) {
|
||||
if (momentDate) {
|
||||
let blogTimezone = this.get('settings.activeTimezone');
|
||||
let blogTimezone = this.get('settings.timezone');
|
||||
let publishedAtBlog = moment.tz(momentDate, blogTimezone);
|
||||
|
||||
this.set('publishedAtBlogDate', publishedAtBlog.format('YYYY-MM-DD'));
|
||||
|
@ -12,7 +12,7 @@ export default Model.extend(ValidationEngine, {
|
||||
icon: attr('string'),
|
||||
accentColor: attr('string'),
|
||||
lang: attr('string'),
|
||||
activeTimezone: attr('string', {defaultValue: 'Etc/UTC'}),
|
||||
timezone: attr('string', {defaultValue: 'Etc/UTC'}),
|
||||
codeinjectionHead: attr('string'),
|
||||
codeinjectionFoot: attr('string'),
|
||||
facebook: attr('facebook-url-user'),
|
||||
|
@ -62,7 +62,7 @@
|
||||
{{#liquid-if this.timezoneOpen}}
|
||||
<div class="gh-setting-content-extended">
|
||||
<GhTimezoneSelect
|
||||
@activeTimezone={{this.settings.activeTimezone}}
|
||||
@timezone={{this.settings.timezone}}
|
||||
@availableTimezones={{this.availableTimezones}}
|
||||
@update={{action "setTimezone"}} />
|
||||
</div>
|
||||
|
@ -147,7 +147,7 @@ export default [
|
||||
id: 19,
|
||||
created_at: '2015-09-11T09:44:30.810Z',
|
||||
created_by: 1,
|
||||
key: 'active_timezone',
|
||||
key: 'timezone',
|
||||
group: 'site',
|
||||
updated_at: '2015-09-23T13:32:49.868Z',
|
||||
updated_by: 1,
|
||||
|
@ -266,17 +266,17 @@ describe('Acceptance: Editor', function () {
|
||||
|
||||
expect(currentURL(), 'currentURL for settings')
|
||||
.to.equal('/settings/general');
|
||||
expect(find('#activeTimezone option:checked').textContent.trim(), 'default timezone')
|
||||
expect(find('#timezone option:checked').textContent.trim(), 'default timezone')
|
||||
.to.equal('(GMT) UTC');
|
||||
|
||||
// select a new timezone
|
||||
find('#activeTimezone option[value="Pacific/Kwajalein"]').selected = true;
|
||||
find('#timezone option[value="Pacific/Kwajalein"]').selected = true;
|
||||
|
||||
await triggerEvent('#activeTimezone', 'change');
|
||||
await triggerEvent('#timezone', 'change');
|
||||
// save the settings
|
||||
await click('.gh-btn.gh-btn-blue');
|
||||
|
||||
expect(find('#activeTimezone option:checked').textContent.trim(), 'new timezone after saving')
|
||||
expect(find('#timezone option:checked').textContent.trim(), 'new timezone after saving')
|
||||
.to.equal('(GMT +12:00) International Date Line West');
|
||||
|
||||
// and now go back to the editor
|
||||
@ -526,7 +526,7 @@ describe('Acceptance: Editor', function () {
|
||||
let compareDateString = compareDate.format('YYYY-MM-DD');
|
||||
let compareTimeString = compareDate.format('HH:mm');
|
||||
this.server.create('post', {publishedAt: moment.utc().add(4, 'minutes'), status: 'scheduled', authors: [author]});
|
||||
this.server.create('setting', {activeTimezone: 'Europe/Dublin'});
|
||||
this.server.create('setting', {timezone: 'Europe/Dublin'});
|
||||
clock.restore();
|
||||
|
||||
await visit('/editor/post/1');
|
||||
|
@ -311,13 +311,13 @@ describe('Acceptance: Settings - General', function () {
|
||||
|
||||
expect(currentURL(), 'currentURL').to.equal('/settings/general');
|
||||
|
||||
expect(findAll('#activeTimezone option').length, 'available timezones').to.equal(66);
|
||||
expect(find('#activeTimezone option:checked').textContent.trim()).to.equal('(GMT) UTC');
|
||||
find('#activeTimezone option[value="Africa/Cairo"]').selected = true;
|
||||
expect(findAll('#timezone option').length, 'available timezones').to.equal(66);
|
||||
expect(find('#timezone option:checked').textContent.trim()).to.equal('(GMT) UTC');
|
||||
find('#timezone option[value="Africa/Cairo"]').selected = true;
|
||||
|
||||
await triggerEvent('#activeTimezone', 'change');
|
||||
await triggerEvent('#timezone', 'change');
|
||||
await click('[data-test-save-button]');
|
||||
expect(find('#activeTimezone option:checked').textContent.trim()).to.equal('(GMT +2:00) Cairo, Egypt');
|
||||
expect(find('#timezone option:checked').textContent.trim()).to.equal('(GMT +2:00) Cairo, Egypt');
|
||||
});
|
||||
|
||||
it('handles private blog settings correctly', async function () {
|
||||
|
@ -14,13 +14,13 @@ describe('Integration: Component: gh-timezone-select', function () {
|
||||
{name: 'Etc/UTC', label: '(GMT) UTC'},
|
||||
{name: 'Pacific/Kwajalein', label: '(GMT +12:00) International Date Line West'}
|
||||
]);
|
||||
this.set('activeTimezone', 'Etc/UTC');
|
||||
this.set('timezone', 'Etc/UTC');
|
||||
});
|
||||
|
||||
it('renders', async function () {
|
||||
await render(hbs`{{gh-timezone-select
|
||||
availableTimezones=availableTimezones
|
||||
activeTimezone=activeTimezone}}`);
|
||||
timezone=timezone}}`);
|
||||
|
||||
expect(this.element, 'top-level elements').to.exist;
|
||||
expect(findAll('option'), 'number of options').to.have.length(3);
|
||||
@ -28,11 +28,11 @@ describe('Integration: Component: gh-timezone-select', function () {
|
||||
});
|
||||
|
||||
it('handles an unknown timezone', async function () {
|
||||
this.set('activeTimezone', 'Europe/London');
|
||||
this.set('timezone', 'Europe/London');
|
||||
|
||||
await render(hbs`{{gh-timezone-select
|
||||
availableTimezones=availableTimezones
|
||||
activeTimezone=activeTimezone}}`);
|
||||
timezone=timezone}}`);
|
||||
|
||||
// we have an additional blank option at the top
|
||||
expect(findAll('option'), 'number of options').to.have.length(4);
|
||||
@ -48,7 +48,7 @@ describe('Integration: Component: gh-timezone-select', function () {
|
||||
|
||||
await render(hbs`{{gh-timezone-select
|
||||
availableTimezones=availableTimezones
|
||||
activeTimezone=activeTimezone
|
||||
timezone=timezone
|
||||
update=(action update)}}`);
|
||||
|
||||
await fillIn('select', 'Pacific/Pago_Pago');
|
||||
|
@ -17,7 +17,7 @@ describe('Integration: Helper: gh-format-post-time', function () {
|
||||
beforeEach(function () {
|
||||
let settings = this.owner.lookup('service:settings');
|
||||
settings.content = {};
|
||||
settings.set('activeTimezone', timezoneForTest);
|
||||
settings.set('timezone', timezoneForTest);
|
||||
});
|
||||
|
||||
afterEach(function () {
|
||||
|
Loading…
Reference in New Issue
Block a user