Commit Graph

77 Commits

Author SHA1 Message Date
Aileen Nowak
24e71ffdaa Timezones: Always use the timezone of blog setting
closes TryGhost/Ghost#6406

follow-up PR of #2

- adds a `timeZone` Service to provide the offset (=timezone reg. moment-timezone) of the users blog settings
- `gh-datetime-input` will read the offset of the timezone now and adjust the `publishedAt` date with it. This is the date which will be shown in the PSM 'Publish Date' field. When the user writes a new date/time, the offset is considered and will be deducted again before saving it to the model. This way, we always work with a UTC publish date except for this input field.
- gets `availableTimezones` from `configuration/timezones` API endpoint
- adds a `moment-utc` transform on all date attr (`createdAt`, `updatedAt`, `publishedAt`, `unsubscribedAt` and `lastLogin`) to only work with UTC times on serverside
- when switching the timezone in the select box, the user will be shown the local time of the selected timezone
- `createdAt`-property in `gh-user-invited` returns now `moment(createdAt).fromNow()` as `createdAt` is a moment date already
- added clock service to show actual time ticking below select box
- default timezone is '(GMT) Greenwich Mean Time : Dublin, Edinburgh, London'
- if no timezone is saved in the settings yet, the default value will be used
- shows the local time in 'Publish Date'  in PSM by default, until user overwrites it
- adds dependency `moment-timezone 0.5.4` to `bower.json`

---------

**Tests:**

- sets except for clock service in test env
- adds fixtures to mirage
- adds `service.ajax` and `service:ghostPaths` to navigation-test.js
- adds unit test for `gh-format-timeago` helper
- updates acceptance test `general-setting`
- adds acceptance test for `editor`
- adds integration tests for `services/config` and `services/time-zone`

---------

**Todos:**

- [ ] Integration tests: ~~`services/config`~~, ~~`services/time-zone`~~, `components/gh-datetime-input`
- [x] Acceptance test: `editor`
- [ ] Unit tests: `utils/date-formatting`
- [ ] write issue for renaming date properties (e. g. `createdAt` to `createdAtUTC`) and translate those for server side with serializers
2016-06-03 16:23:39 +02:00
Kevin Ansfield
8c58424bfe deps: pretender@1.1.0 2016-06-01 12:26:56 +01:00
Kevin Ansfield
1fd0981f3b deps: moment@2.13.0 2016-06-01 12:21:57 +01:00
Kevin Ansfield
20989bcf57 deps: jquery-file-upload@9.12.3 2016-06-01 12:15:00 +01:00
Kevin Ansfield
e1d5dfa971 deps: google-caja@6005.0.0 2016-06-01 12:02:00 +01:00
Kevin Ansfield
c56f22122f deps: codemirror@5.15.2 2016-06-01 11:50:18 +01:00
Austin Burdine
0017a5ace9 deps: ember@2.5.1
- removes Ember.merge deprecation
2016-04-28 07:15:15 -05:00
Austin Burdine
4a5c7d953e lock jquery-deparam version 2016-04-20 06:18:47 -05:00
Austin Burdine
692d3afc39 deps: password-generator@2.0.2 2016-04-20 06:17:44 -05:00
Austin Burdine
2cbe3546be allow ember to specify jQuery version
- fix slight acceptance test bug
2016-04-19 14:08:36 -05:00
Austin Burdine
e07a3f4145 deps: ember@2.5.0 2016-04-15 00:24:57 -05:00
Kevin Ansfield
7d558f4596 deps: pretender@1.0.0
no issue
- https://github.com/pretenderjs/pretender/blob/master/CHANGELOG.md#10
- https://github.com/pretenderjs/pretender/compare/0.10.1...1.0.0
2016-04-08 15:54:23 +01:00
Kevin Ansfield
832bf0007b deps: moment@2.12.0
no issue
- https://github.com/moment/moment/blob/develop/CHANGELOG.md#2103-see-full-changelog
2016-04-08 15:51:55 +01:00
Kevin Ansfield
e7c7696872 deps: Faker@3.1.0
no issue
- https://github.com/Marak/faker.js/compare/v3.0.1...v3.1.0
2016-04-08 15:36:37 +01:00
Kevin Ansfield
7747ce988e deps: remove unused es5-shim bower dependency 2016-04-08 15:34:21 +01:00
Kevin Ansfield
c896c73fe2 deps: codemirror@5.13.2
no issue
- https://github.com/codemirror/CodeMirror/blob/master/CHANGELOG.md#520-2015-04-20
2016-04-08 15:30:50 +01:00
Kevin Ansfield
e62612832c deps: blueimp-md5@2.3.0
no issue
- https://github.com/blueimp/JavaScript-MD5/compare/1.1.0...v2.3.0
2016-04-08 15:28:30 +01:00
Austin Burdine
99e8869105 deps: ember@2.4.4 2016-04-03 19:01:36 -05:00
Jason Williams
23d630bdc7 Merge pull request #6663 from kevinansfield/fix-xregexp-issues
Drop XRegExp dependency
2016-03-31 10:06:47 -05:00
Kevin Ansfield
adaf15d830 deps: ember-cli@2.4.3
no issue
- https://github.com/ember-cli/ember-cli/releases/tag/v2.4.3
2016-03-31 10:13:15 +01:00
Kevin Ansfield
ed1d6c98b3 Drop XRegExp dependency
closes #6102
- removes the `xregexp` dependency
- pulls in the non-alphnumeric unicode list directly from the XRegExp library to ensure the word count helper still takes into account unicode strings

The XRegExp dependency was breaking as new browsers add more es6 support as evidenced in #6102. Upgrading to version 3.1.0 fixed the Chrome "experimental JS" issue but was still broken in Safari Technology Preview.

We only use one feature of `XRegExp` in a single place for a relatively non-critical feature: calculating the word count. As such I figured it may be better to drop the 63KB minified dependency and simply copy the result of the compiled regex directly until such time as XRegExp has native support in our supported browsers.
2016-03-30 19:45:20 +01:00
Kevin Ansfield
0ca160bfde deps: ember-sinon@0.5.0
no issue
- pulls sinon.js from NPM instead of bower - https://github.com/csantero/ember-sinon/releases/tag/v0.5.0
- only dependency updates and ember-cli changes - https://github.com/csantero/ember-sinon/compare/v0.3.0...v0.5.0
2016-03-29 13:03:59 +01:00
Kevin Ansfield
c7ea692393 Remove jquery-hammerjs bower dependency
no issue
- removes `jquery-hammerjs` as it doesn't appear to be used anywhere and isn't included in the build by ember-cli
2016-03-24 10:04:52 +00:00
Kevin Ansfield
fb4900086c deps: ember@2.4.3
no issue
- https://github.com/emberjs/ember.js/releases/tag/v2.4.2
- https://github.com/emberjs/ember.js/releases/tag/v2.4.3
2016-03-21 14:10:18 +00:00
Kevin Ansfield
a8c9bff9d0 deps: ember@2.4.1 2016-03-01 12:49:43 +00:00
Austin Burdine
cec22372a9 deps: ember-cli@2.3.0 2016-02-16 12:32:48 -06:00
Kevin Ansfield
3e57af2118 deps: ember@2.3.1
no issue

Bugfix release: https://github.com/emberjs/ember.js/releases/tag/v2.3.1
2016-02-05 11:16:49 +00:00
Kevin Ansfield
7fcb10674f deps: ember-cli-mocha@0.10.0 2016-02-04 10:53:01 +00:00
Kevin Ansfield
407bca6447 deps: ember@2.3.0
no issue
- predominantly a bugfix and performance related release
- https://github.com/emberjs/ember.js/releases/tag/v2.3.0
- http://emberjs.com/blog/2016/01/15/ember-2-3-released.html
- some deprecations are introduced around the use of injected `container` objects, these are from `ember-simple-auth` and should be rectified with an up-coming release
2016-01-20 13:16:15 +00:00
Kevin Ansfield
d52989c982 deps: ember-data@2.3.2
no issue
- updates ember-data dependency and switches to direct es6 module import instead of destructuring assignment
- fixes issue with `authenticationFailed` action being called before transitions have finished
2016-01-19 14:36:39 +00:00
Austin Burdine
9069034e95 deps: ember@2.2.1 2016-01-16 10:35:56 -06:00
Kevin Ansfield
6bbb749e65 deps: ember-mocha@0.8.6 2016-01-13 11:29:59 +00:00
Austin Burdine
46786e7065 deps: ember/ember-data@2.2.0 2015-11-30 12:23:47 -06:00
Austin Burdine
77a44907a9 deps: ember-cli@1.13.13 2015-11-30 11:21:39 -06:00
Kevin Ansfield
9416e753dd Specify full SHAs when importing packages in bower.json
no issue
- removes warning: `bower password-generator#49accd7    short-sha Consider using longer commit SHA to avoid conflicts`
- fixes error: `bower jqueryui-touch-punch#*    error key must be a string or number. undefined`
2015-11-24 16:39:14 +00:00
Kevin Ansfield
675a1221fa Add acceptance test for setup flow happy-path
refs #6039
- add `jquery-deparam` ember testing dependency for use in mirage config
- setup necessary mirage fixtures & endpoints for successful testing of setup flow's happy-path
- add happy-path acceptance test for setup flow
2015-11-15 11:51:19 +00:00
Kevin Ansfield
eedcdf2f17 Set up ember-cli-mirage and update existing acceptance tests
refs #6039
- adds ember-cli-mirage dependency
- sets up mirage to match our API endpoints and responses
- adds fixture data for settings that are always present for all blogs
- converts existing acceptance tests to use mirage
2015-11-03 15:35:58 +00:00
Kevin Ansfield
2d6266cd75 deps: ember-mocha@0.8.6 2015-10-28 09:40:40 +00:00
Austin Burdine
511d5d9b4c deps: ember-simple-auth@1.0.0
closes #5951
- update to esa 1.0
2015-10-18 13:17:02 -05:00
Kevin Ansfield
9f79607008 deps: ember-mocha@0.8.4 2015-10-12 18:57:43 +01:00
Kevin Ansfield
ca46d92086 Fix unsaved nav settings persisting across transitions
closes #5852
- resets navigation settings controller's model when transitioning away
- fixes `locationType` config setting so acceptance tests don't mess with the URL
- configure the ephemeral session store for ember-simple-auth during tests
- adds dummy env-config meta fields so acceptance tests don't fail
- adds `ember-cli-simple-auth-testing` dependency for auth testing helpers
- adds Pretender dependency to mock API requests for acceptance tests
2015-10-07 15:57:14 +01:00
Kevin Ansfield
5c0b63f300 Ember-cli, Ember, & Ember Data 1.13.x upgrades
closes #5630
- upgrade ember-cli to latest version
- upgrade ember to latest 1.13.x release
- upgrade ember data to latest 1.13.x release
    - update custom adapters and serialisers for new internal JSON-API compatible formats [(docs)][1]
    - update all store queries to use new standardised query methods [(docs)][2]
    - add ember-data-filter addon ready for store.filter removal in ember-data 2.0 [(docs)][3]
- remove use of prototype extensions for computed properties and observers
- consolidate pagination into a single route mixin and simplify configuration

[1]: http://emberjs.com/blog/2015/06/18/ember-data-1-13-released.html#toc_transition-to-the-new-jsonserializer-and-restserializer-apis
[2]: http://emberjs.com/blog/2015/06/18/ember-data-1-13-released.html#toc_simplified-find-methods
[3]: http://emberjs.com/blog/2015/06/18/ember-data-1-13-released.html#toc_ds-store-filter-moved-to-an-addon
2015-10-06 16:09:05 +01:00
Kevin Ansfield
d8728aad57 Fix nav regressions in admin client
issue #5841

- fix relative link checks in navlink url input component
- fix navlink url input component sending absolute URLs instead of relative URLs to action handler
- remove URL manipulation in navigation settings controller (url input handles URL manipulation, validator flags anything that's still incorrect)
- capture cmd-s in url input to ensure changes are actioned before save
- automatically add mailto: to e-mail addresses
- add gh-validation-state-container component so .error/.success validation classes can be applied to any container element
- add validation-state mixin that can be mixed in to any other component to give it access to validation status (used in gh-navitem component to keep alignment when inline error message elements are added)
- validate and display inline errors on save
- improve ember test coverage for navigation settings related controller and components
2015-09-23 17:05:41 +01:00
Kevin Ansfield
a915390a7d upgrade ember-cli to 1.13.0 and ember-cli-mocha to 0.9.3
no issue
- upgrades ember-cli, ember-cli-mocha, ember-mocha dependencies
- switches Brocfile.js to ember-cli-build.js
- fixes controller tests with missing needs

Pulled into a separate PR as it doesn't affect running code but does provide access to the very useful component integration tests.
2015-09-21 14:55:59 +01:00
Hannah Wolfe
cce3a01dfc Dep: Remove typeahead
refs  #5682

- we're now using selectize instead of typeahead, so it isn't needed
2015-08-25 16:26:10 +01:00
Hannah Wolfe
2972080088 Merge pull request #5682 from kevinansfield/tags-v4
Replace the current tag input with a selectize based input
2015-08-21 21:34:06 +01:00
Kevin Ansfield
3efdfdf79f Replace the current tag input with a selectize based input
issue #3800, closes #5648
- uses ember-cli-selectize addon for the tag editing functionality in the PSM
2015-08-20 14:40:56 +01:00
Kevin Ansfield
ae695a3e8e Update admin area jquery and jquery-ui dependencies
no issue
- updates jquery from 1.9.x to 2.1.x, dropping support for old IE
- updates jquery-ui from 1.10.4 to 1.11.4
2015-08-19 09:37:02 +01:00
Austin Burdine
16d0965a9e reimplement tag editing component for posts
refs #3800
- remove old tag editor code
- reimplement tag editor as an ember component
- add tag editor component to PSM
2015-08-10 07:22:37 -06:00
Kevin Ansfield
ee89b11a6a Refactor notifications service & components
issue #5409

- change persistent/passive notification status to alert/notification
- replace showSuccess/Info/Warn/Error with showNotification/showAlert
- fix and clean up notification/alert components
2015-07-28 12:26:11 +01:00