Commit Graph

1387 Commits

Author SHA1 Message Date
Paul Adam Davis
5189bb37cf Unhide settings on mobile and adjust positioning for left setting header buttons
Refs #67
2014-07-15 17:13:30 +01:00
Hannah Wolfe
c9357b8937 Merge pull request #3278 from jaswilli/prod-prep
Move inline templates to standalone template file
2014-07-15 17:00:01 +01:00
Hannah Wolfe
cf7985c508 Merge pull request #3259 from novaugust/settings-mobile-routing
Refactor Settings routing and mobile interactions
2014-07-15 16:55:02 +01:00
Jason Williams
3d3b999995 Move inline templates to standalone template file
Refs #3161
- Move two inline template snippets from the post tags input
  component into the .hbs template file so they can be
  pre-compiled.  Needed when shipping only the handlebars runtime
  in production mode.
2014-07-15 15:21:44 +00:00
Matt Enlow
f80f2e1a24 Remove minor notifications; Close persistent notifications even on error
Closes #3105, Closes #3175

- Removed notification on successful post's `page` status change
- Removed notification on successful post `featured` status change
- Added `closePassive()` notifications on error in the post-settings-menu
- Persistent notifications will close whether their `DELETE` request was
  successful or not.

 #### Misc
- Added `name` attribute to `post-setting-menu.hbs` inputs to facilitate testing
- Removed `return <Promise>` from action in `PostSettingsMenuController`. Actions should only return `true`
- Toggling `post.featured` won't fire NProgress.
2014-07-15 09:03:18 -06:00
Paul Adam Davis
f2c11a0b47 Button refactor
Refs #3101 & #916
2014-07-15 14:20:15 +01:00
Sebastian Gierlinger
5c97e50980 Move image upload to API
closes #3252
- added `/ghost/api/v0.1/uploads/` endpoint
- removed upload method from `controller/admin.js`
- moved removal of temporary files from storage to endpoint (needed to
account for failed uploads)
- changed and moved tests
- Oversight: I think that we use `.otherwise()` and `.catch()` a bit
too extensive and mask the real error objects. We probably need an
error handling strategy at some point in the future.
2014-07-15 12:40:14 +02:00
Matt Enlow
14f29f5139 Refactor settings routing and mobile interactions
Closes #3254, closes #3138, closes #3245
 ### Settings Routing and View refactoring
- Refactored `SettingsView` to handle transitions between mobile and desktop layouts
- `SettingsRoute` will only transition to `settings.general` if the screen is large enough to show both the menu and the content
- Added `SettingsIndexView` to handle showing the settings menu on mobile screens
- Added `SettingsContentBaseView` to be inherited by any settings view that is not index.
- Updated Settings templates appropriately to work with new views
- Removed extraneous `active` class from `settings-content`
- Changed settings menu to use `gh-activating-list-item`
- Retooled settings tests

 ### Mobile Utils
- Renamed file to `mobile.js`, since it's inside of `utils/`
- Added `mobileQuery` MediaQueryList to help detect layout changes
- Removed unused `hasTouchScreen`, `device.js` should be used instead.
- Removed unused `smallScreen` function
- Moved FastClickInit to codemirror-mobile
2014-07-14 17:36:48 -06:00
Jason Williams
7cc818d262 Fix validations on user settings page
Closes #3271
- Change validations on both server and client to allow the
  Website field to be empty or a valid URL.
- Add new schema validation helper isEmptyOrURL.
- Remove duplicate call to UserValidator in the save action
  of the SettingsUser controller.
- User.last_login and User.created_at are already Moment objects
  so Moment#fromNow can be called on them directly.
2014-07-14 18:12:57 +00:00
Harry Wolff
45ccad58f9 Settings: Admin User Tab
closes #2422

- updated to use new change password method
- have all save settings use notifications
- create assetUrl helper for creating asset paths with subdir's properly
 prefixed
- move all url based helpers onto a url object in ghost-paths
2014-07-14 08:52:06 -04:00
Matt Enlow
0122ecd593 Fire NProgress on User, Post, and Settings save
Closes #3037
- Created `NProgressSaveMixin`, which extends the `save` method of a model
  to fire NProgress.
- Extended `UserModel`, `PostModel`, and `SettingModel` with the new
  mixin.
- NProgress can be disabled by passing an options hash to the save function with the `{disableNProgress:true}`
- Now that the ValidationEngine isn't the only thing playing with options inside of `model#save`, refactored it to pass the options down the super chain.
2014-07-13 14:19:27 -06:00
Hannah Wolfe
728054d5e4 Merge pull request #3256 from PaulAdamDavis/fix-notification-flicker
Check the end of notification fade-out animation
2014-07-13 21:14:31 +01:00
Hannah Wolfe
41fcf2661c Merge pull request #3248 from jaswilli/issue-3246
Add validation to invite new user form.
2014-07-13 21:13:33 +01:00
Paul Adam Davis
aea16e7ef4 Check the end of notification fade-out animation 2014-07-13 15:00:25 +01:00
Paul Adam Davis
61abd5771e Re-add back to Users button and make whole user item a link. 2014-07-13 13:33:21 +01:00
Paul Adam Davis
9bf681ddf9 Adjust settings menu active state media query
Closes #68
2014-07-13 13:27:57 +01:00
Paul Adam Davis
5f3edc9082 Remove legacy .active styling from settings-content container
Prep for #67
2014-07-13 13:21:56 +01:00
Paul Adam Davis
7125b84140 Add mobile styles for new-user button
Closes #58
2014-07-12 12:48:55 +01:00
Paul Adam Davis
ec568a21b6 Fix tags on mobile
Closes #60
2014-07-12 12:43:12 +01:00
Paul Adam Davis
98576cc84a Refactor :focus styles
Closes #61
2014-07-12 12:18:44 +01:00
Paul Adam Davis
7eaf1d89e5 Change form-group spacing & make labels bold
Closes #62
2014-07-12 12:18:35 +01:00
Paul Adam Davis
07fac8b40f Add transparent border to add-user button
Closes #63
2014-07-12 12:18:24 +01:00
Jason Williams
faf6832cab Add validation to invite new user form.
Closes #3246
- Add a UserValidator to the validation engine that runs a set
  of validations based on the user status.
- Added validations for invited users and active users.
2014-07-11 19:09:34 +00:00
John O'Nolan
a94328fa64 OCD 2014-07-11 19:23:41 +02:00
John O'Nolan
c575a2be1b Update role-labels 2014-07-11 19:20:00 +02:00
Paul Adam Davis
ddd13eb5a7 Allow clicking on the down arrow of select boxes
Closes #57

- Adds `pointer-events: none;` to the down arrow of select boxes
2014-07-11 17:36:22 +01:00
Paul Adam Davis
22d449aee1 Only show hovers on user list links, not pending invites.
References #56

Related markup changes: https://github.com/TryGhost/Ghost/pull/3247
2014-07-11 17:30:55 +01:00
Paul Adam Davis
6f654d3218 Fix mobile styles on the edit user view 2014-07-11 17:08:11 +01:00
Jason Williams
48b0ba6ca9 Turn on update notifications for Ember admin
Issue #3160
- Use notifications API to display available update notification.
- Remove update_notification handlebars helper as now both the
  check for an available update and the notification handling
  is run from the server's admin controller index method.
- Bind the notification's location property to a css class
  for styling.
- Refactor Ember notifications to better handle notification
  objects.  Move responsibility for css class generation onto
  the notification component.
- Refactor gh-notifications component to take a location argument
  that's used to assign a css class and filter notifications.
2014-07-11 15:02:26 +00:00
Paul Adam Davis
44ee940120 Prevent notifications from flickering when hovered.
Fixes https://github.com/TryGhost/Ghost/issues/3166

This commit has a related JS fix.
2014-07-11 15:45:15 +01:00
Sebastian Gierlinger
e22e1f340b Move setup to API
closes #3136
- moved setup to authentication API
- added `POST /ghost/api/v0.1/authentication/setup` to execute the
setup process
- added `GET /ghost/api/v0.1/authentication/setup` to check if blog is
already set up (needed for #3145)
- removed unused methods from api/users.js
2014-07-11 14:17:09 +02:00
Jason Williams
a0dc639a38 Fix active theme selector. Add validation to API.
Closes #3226
- Remove dependent property from the computed content property
  that is used to build the active theme selector.
- Add validation to the Settings model so that it rejects
  attempts to set an activeTheme that is not installed.
2014-07-09 22:14:33 +00:00
Paul Adam Davis
e20d837d79 Correct styling of setup form 2014-07-09 11:42:00 +01:00
Paul Adam Davis
776a593636 Swap entry title selector for one that isn't applied after a delay
This fixes a bug that made the title in the editor look like it was animating in, as `.editor` is added after a slight delay.
2014-07-08 23:44:13 +01:00
Hannah Wolfe
e5e5cf1310 Merge pull request #3219 from JohnONolan/email
New HTML email template
2014-07-08 17:06:48 +01:00
Maurice Williams
2b13a054d3 Wiring up "resend" and "revoke" button on user management screen
fixes #3214
- new ```resendInvite``` method on the User model encapsulates all logic
- only sending users email address when re-inviting, since the user already exists on the back-end
- ```revoke``` calls DELETE on /ghost/api/v0.1/users/:user_id
2014-07-08 11:32:34 -04:00
Paul Adam Davis
09aea8a1d3 Re-add text area styling, which fixes the broken test. 2014-07-08 12:44:52 +01:00
John O'Nolan
6858385b00 New HTML email template
See #3082
2014-07-07 22:47:34 +02:00
Hannah Wolfe
233bebc59e Merge pull request #3217 from PaulAdamDavis/new-form-style
New form styles
2014-07-07 20:38:22 +01:00
Hannah Wolfe
19a6dd1dff Merge pull request #3216 from novaugust/mobile-menu
Fix mobile sidebar menu
2014-07-07 20:38:04 +01:00
Hannah Wolfe
f00a745062 Merge pull request #3211 from novaugust/yearless-date-parsing
Add yearless date as an acceptable format for moment parsing
2014-07-07 20:13:13 +01:00
Paul Adam Davis
9cb8cf3761 Correct spacing on invite user modal to fit new form style 2014-07-07 17:14:31 +01:00
Paul Adam Davis
b7322729f4 Add down arrow to <select> elements 2014-07-07 17:13:45 +01:00
Paul Adam Davis
4dccf97418 Aditional classes in settings and invite user modal for the new form style 2014-07-07 17:00:47 +01:00
Paul Adam Davis
438d5cdb87 New form style
Conflicts:
	dist/css/ghost-ui.min.css
	docs/dist/css/ghost-ui.min.css
2014-07-07 16:40:33 +01:00
Matt Enlow
1089cdb036 Fix mobile sidebar menu
Closes #3110
- Created `ApplicationView`
- Added `js-close-sidebar` classes to navbar navigation links
- Clicking on a navigation link in the sidebar will close it
2014-07-07 08:55:22 -06:00
Hannah Wolfe
e72b3af4b6 Merge pull request #3207 from morficus/invite-new-user-modal
Implementation of "invite a new user" modal
2014-07-07 15:05:35 +01:00
Matt Enlow
0898ae6432 Add yearless date as an acceptable format for moment parsing
Closes #2331
2014-07-06 20:49:15 -06:00
Maurice Williams
b2d4dd4f17 Implementation of "invite a new user" modal
Closes #3079
- new controller and template for invite-new-user-modal
- actually triggers email invite via POST /ghost/api/v0.1/users/
- setting default language value (on the client) when creating a user
- only available role is "Author" - pending 3196
- updates to UsersIndexController to allow dynamic property calculation and template rending
2014-07-06 16:18:51 -04:00
Paul Adam Davis
5bea01523a Remove .active button styling and remove underlines on user management list items 2014-07-06 19:50:05 +01:00
Paul Adam Davis
58efafb7c9 Invite User modal styles
References https://github.com/TryGhost/Ghost/issues/3079 and #21

Also changes the global modal styles
2014-07-06 18:37:58 +01:00
Matt Enlow
177be064fa Add access_token to debug screen's export link
Closes #3177
2014-07-05 14:48:39 -06:00
Maurice Williams
51ed2868f7 Removing old "user settings" screen and putting in new MU "users settings" screen and updating functional test cases.
Fixes #3078
- new "users" resource, with matching controller and template
- fetching real data from /ghost/api/v0.1/users/
- updated "user" route to accept a :slug as a URL parameter
- updated labels everywhere (from "user" to "users")
- updated "profile" link to header to point to proper "users/:slug" route
- updated core/client/.jshintrc to recognize moment as a valid global function
- adjusted DOM selector used in Casper to properly identify the new screen
- adding "slug" as a new property of the user data used during the Casper functional tests
2014-07-05 11:33:03 -04:00
Paul Adam Davis
67e1b060c4 Minor style fixes for the user management screen
References https://github.com/TryGhost/Ghost/pull/3189 and #21
2014-07-05 12:17:53 +01:00
John O'Nolan
ea25e9cf6e We aren't hosting docs publicly yet.
Closes #54
2014-07-05 08:38:53 +02:00
Hannah Wolfe
387b838bf6 Merge pull request #3194 from novaugust/title-scratch
Indirect post title in editor
2014-07-04 23:19:44 +01:00
Hannah Wolfe
bbfac57030 Merge pull request #3192 from sebgie/issue#3081
Allow user to accept invitation
2014-07-04 23:18:47 +01:00
Hannah Wolfe
69cbf9f9d6 Merge pull request #3178 from novaugust/popover-fadeout
Added fadeout to gh-popover
2014-07-04 23:17:29 +01:00
Paul Adam Davis
f286725dd4 Add padding to mobile/touch editor
Improves #53
Closes https://github.com/TryGhost/Ghost/issues/3103
2014-07-04 16:12:16 +01:00
Paul Adam Davis
1cf21c1ab5 Prevent mobile text area editor bottom being but off
Closes #53

- Adds webkit smooth bouncy overflow
- Make height of the textarea slightly short than 100%
2014-07-04 10:25:53 +01:00
Matt Enlow
9013bcc908 Added fadeout to gh-popover
Closes #2868
- Uses jQuery's `.fadeOut` whenever a popover is closed.

- Reordered `gh-popover`'s code into something a bit more logical and, if
  I may, pretty
- Renamed `open` property into `isOpen`. `isOpen` should only be
  manipulated via `close()` and `open()`
- Added `closing` property to help track state in the case of rapid clicks
  on a popover's button, allowing us to abort
` Added `open()` function
2014-07-03 13:13:18 -06:00
Matt Enlow
15f1591383 Indirect post title in editor
Closes #3179
- Add `titleScratch` property to `PostModel`.
- Changed references to `title` to `titleScratch`
2014-07-03 11:09:05 -06:00
Sebastian Gierlinger
aceb63c973 Allow user to accept invitation
closes #3081
- added route `/ghost/api/v0.1/authentication/invitation`
- added accept invitation
- added signup with token
- removed check() from users api
- fixed promise in resetPassword()
2014-07-03 17:06:07 +02:00
Jason Williams
2dbc97e9b4 Fix server-side validation
Closes #3122
-Fix validation so that all values are validated instead
 of just values that evaluate to true.
-Ensure validation methods consistently return promises
 and switch error handling from try/catch to promise.catch
 to get rid of unhandled rejection warnings.
-Add 0 and 1 to list of acceptable values in boolean validation.
2014-07-03 14:57:57 +00:00
Hannah Wolfe
8a4b96aaef Merge pull request #3174 from kevinansfield/session-user
Fix direct access to settings/user using session.user CP
2014-07-03 08:44:03 +01:00
Hannah Wolfe
ee289c444d Merge pull request #3180 from novaugust/psm-reset-on-error
PostSettingsMenu: Don't save new posts, reset values on failure
2014-07-02 23:07:46 +01:00
Matt Enlow
ccd319b426 PostSettingsMenu: Don't save new posts, reset values on failure
Closes #3158, Closes #3143, Closes #3134
- Added `model.rollback()` when PSM fails to save.
- Added `showErrors` and `showSuccess` helper functions to PSM to abstract
  closing and showing of notifications.
- Added `togglePage` action to indirect the setting of `page`.
- Removed `isStaticPage` property in favor of `togglePage` action
- moved `updateSlug` error catching to outer promise (slugGenerator promise)
- modifying the `page` and `published_at` properties will no longer cause a new post to save
- Close passive notifications on published date parse fail
- Removed promise creation in catch statements

- Changed tests to click on label, rather than the input for
  .post-setting-static-page.
2014-07-02 15:29:15 -06:00
Hannah Wolfe
cf576ebc18 Merge pull request #3184 from jaswilli/issue-3169
Fix up route parameter validation
2014-07-02 21:37:00 +01:00
Hannah Wolfe
c6de0978be Merge pull request #3181 from jaswilli/ember-misc
Prevent stacking notifications during rapid toggle
2014-07-02 21:36:40 +01:00
Hannah Wolfe
3770d7086a Merge pull request #3176 from PaulAdamDavis/2422-edit-user-ui
New edit user UI
2014-07-02 21:32:54 +01:00
Kevin Ansfield
c28d8e6044 Fix direct access to settings/user
closes #3162
- removes injection of user object in application route's beforeModel
- removes injection/cleanup of user object in signedIn/signedOut actions
- removes loading of user and passing to signedIn action in signup/setup controllers
- adds 'user' property to session object
- updates header nav to reference session.user
- sets model of settings/user route to session.user and forces reload
- on leaving settings/user, rollback any unsaved changes
2014-07-02 17:45:21 +02:00
Jason Williams
f9e57bfb70 Fix up route parameter validation
Closes #3169
-Replace javascript methods that are not available on all
 supported browsers with lodash methods.
-Add returns to transitionTo calls in cases where the model
 hook should stop executing immediately.
2014-07-02 14:13:07 +00:00
Jason Williams
383b657e7e Prevent stacking notifications during rapid toggle
No issue
-Call notifications.closePassive after the resolution of the
 promise that generates the notifications. Otherwise multiple
 promises can stack up after notifications have been cleared,
 which results in a bunch of stacked notifications.
-Remove some unnecessary propagation of rejected promises from
 action handlers that can result in unhandled reject errors.
2014-07-02 03:42:27 +00:00
Paul Adam Davis
81ef7af588 Hover colour for the markdown help button when an inactive tab on the tabbed editor.
Previously, hovering the markdown help button when the editor is on mobile tab mode, it disappeared as it was the same colour as the background. It's now the same colour as the inactive tab text.
2014-07-01 22:56:06 +01:00
Paul Adam Davis
d6cb4bd48c New edit user UI 2014-07-01 18:42:13 +01:00
Paul Adam Davis
e69233388b References #33
- Alter the existing UI
- Add 2 button options, 'has-icon' and 'only-has-icon' (for the < Users and Settings buttons)

Corresponding markup: https://github.com/TryGhost/Ghost/pull/3176/files
2014-07-01 17:26:41 +01:00
David Arvelo
cc739653a5 Signin Validation
closes #3120
- create `validateAndAuthenticate` action to validate, send `authenticate` action on success, notifications on error
- signin template uses `validateAndAuthenticate` action instead of `authenticate` action
2014-07-01 10:51:30 -04:00
Hannah Wolfe
882bc9ecd2 Merge pull request #3149 from kevinansfield/persistent-notifications
Persistent notifications
2014-07-01 14:23:38 +01:00
Hannah Wolfe
82845686c3 Merge pull request #3172 from sebgie/issue#3145
Redirect setup if authenticated
2014-07-01 13:57:56 +01:00
Hannah Wolfe
bc2df3dcde Merge pull request #3170 from sebgie/csrf-remove
Remove CSRF from client
2014-07-01 13:57:49 +01:00
Sebastian Gierlinger
16343e51e6 Redirect setup if authenticated
closes #3145
- added beforeModel redirect
- added test
2014-07-01 12:57:44 +02:00
Sebastian Gierlinger
a1438e3b98 Remove CSRF from client
no issue
- removed occurrences of csrf from client
2014-07-01 11:39:01 +02:00
Kevin Ansfield
f1cf98efd9 Persistent notifications
closes #3057
- add Notification model
- update injected Notifications object to handle persistent notifications
- load server notifications on setup if logged in otherwise on successful sign-in
- changed all existing notifications.closeAll calls to closePassive
- fixed dismissable/dismissible spelling in server API & tests
- add notifications.closeNotification method so DELETE calls can be made for server-originating notifications
2014-07-01 11:36:21 +02:00
Paul Adam Davis
5c0d2ed253 Post settings menu styling for https://github.com/TryGhost/Ghost/issues/3084 2014-07-01 10:30:03 +01:00
Sebastian Gierlinger
484e5d39e1 Redirect signin if authenticated
closes #3147
- added beforeModel redirect
- added test
2014-07-01 11:21:05 +02:00
Hannah Wolfe
c91f062d3e Merge pull request #3165 from ErisDS/issue-3056
Replace the old admin with the ember admin
2014-07-01 09:04:22 +01:00
Hannah Wolfe
7d5a776c60 Merge pull request #3157 from novaugust/device
Use Device.js to determine mobile editor use
2014-07-01 09:04:03 +01:00
Hannah Wolfe
276b912c3f Replace the old admin with the ember admin
closes #3056

- Remove clientold
- Remove clientold tests
- Cleanup old admin helpers
- Remove old routes from admin and controllers from admin controller
- Comment out / remove old and broken tests
- Cleanup Gruntfile.js, bower.js, package.json etc

Still TODO:

- cleanup / add removed tests
- do we still need countable?
2014-07-01 08:33:17 +01:00
David Arvelo
ac9f269085 Better handling of validation errors + more documentation
closes #3153
- this is all about the validation engine
- add a option, `opts.model`, to use a passed-in model directly if needed
- handle validators that return an array of strings, array of objects, or both
- ajax util returns either an array of errors or a single concat'd string
- remove formatErrors function from the mixin and make it private
- allow validation options to be passed into `.save()` since ember-data doesn't take params on `.save()` anyway
- streamline control flow
2014-06-30 22:35:03 -04:00
Matt Enlow
3689be16a2 Use Device.js to determine mobile editor use
Ref #2570
- Adds new library, device.js to determine if the user is on an ios mobile
  or tablet.
2014-06-30 18:27:43 -06:00
Hannah Wolfe
d4222ed87d Merge pull request #3146 from darvelo/tags-tracking
Fix tag updating on model save in editor controller
2014-06-30 16:48:27 +01:00
Hannah Wolfe
f6781664f6 Merge pull request #3144 from darvelo/sort-new-posts
New posts pass PostsController sorting function at the top
2014-06-30 16:23:51 +01:00
Hannah Wolfe
bb72274a9d Merge pull request #3150 from javorszky/iss2843
Made ember version of reset password work
2014-06-30 16:18:20 +01:00
Hannah Wolfe
c93630e020 Merge pull request #3155 from PaulAdamDavis/about-page
About page HTML
2014-06-30 16:07:27 +01:00
Gabor Javorszky
3a7be0c2fd Made ember version of reset password work
Closes #2843

* Implemnted the ember validator correctly for both reset request and actual reset (with the token)
* added reset validator
* changed the request route addresses to be `/authentication/passwordreset`
* changed the format of data to be `{ thing: [ {data } ] }`

Missing:
* notifications
* tests for these use cases
2014-06-30 14:37:49 +01:00
Sebastian Gierlinger
1c226dca60 Signin after Signup
closes #3125
- added manual authentication after signin
- added manual authentication after setup
2014-06-30 15:34:36 +02:00
Sebastian Gierlinger
9550205d33 oAuth
closes #2759
closes #3027

- added oauth2orize library for server side oAuth handling
- added ember-simple-auth library for admin oAuth handling
- added tables for client, accesstoken and refreshtoken
- implemented RFC6749 4.3 Ressouce Owner Password Credentials Grant
- updated api tests with oAuth
- removed session, authentication is now token based

Known issues:
- Restore spam prevention #3128
- Signin after Signup #3125
- Signin validation #3125

**Attention**
- oldClient doesn't work with this PR anymore, session authentication
was
removed
2014-06-30 14:58:10 +02:00
Paul Adam Davis
78b252234f CSS for About page
Refs #23

Corresponding HTML is located at https://github.com/TryGhost/Ghost/pull/3155/files
2014-06-30 09:59:42 +01:00
Paul Adam Davis
27e2c6a3a4 About page HTML
No issue

This is the non-functional, non-Ember markup for the [About page](https://github.com/TryGhost/Ghost-UI/issues/23) from Ghost-UI
2014-06-30 09:54:52 +01:00
David Arvelo
9f9749d123 New posts pass PostsController sorting function at the top
- PostsController orderBy function sorts posts with isNew to the top, otherwise their undefined dates fail to compare
- also catch when `updated_at` is undefined, happens when model is being written with results from the server
- catch objects of type Error in validation engine, helps catching client errors
- join server errors with BR tag in ajax util
- add `emberBuild` task to `grunt test-functional`
- add a test helper, `thenTransitionAndWaitForScreenLoad`, to test transitioning to major parts of the app
- add a test that transitions from Content to the Editor, and back to Content
2014-06-29 21:49:32 -04:00
David Arvelo
f8d1e7fe15 Fix tag updating on model save in editor controller
closes #3131
- create a hook in the editor controller that fires on a model's save events
- use this hook to perform all the things that need to happen on save, regardless of where the save originated
- remove logic from instances of model.save() that now belongs in the modelSaved hook
- detach the model event listeners on willTransition in the editor routes
2014-06-28 23:50:24 -04:00
David Arvelo
1255adfcee Calls to POST API have include=tags
closes #2998
- update PostSerializer to use DS.EmbeddedRecordsMixin
- create PostAdapter to include include=tags in query params for POST and PUT
- set include=tags for various GET post requests
- change PostModel to have { embedded: always } instead of { async: true }
- update Ember-Data to beta8 from beta7
- make call to get tags from model in editor.edit route synchronous since the tags now exist in the store
- change casper test to wait for call to posts api with `?include=tags`
2014-06-28 03:13:31 -04:00
Hannah Wolfe
47eb354a7b Ember post order matches server post order
fixes #3008

- this effectively breaks the sort order on the client, because the serverside order is marginally broken.
2014-06-27 21:57:59 +01:00
Hannah Wolfe
2fa4a00dac Merge pull request #3115 from halfdan/2850-post-notifications
Show correct post notificatons based on status.
2014-06-27 21:52:28 +01:00
Hannah Wolfe
0e99e3ad70 Merge pull request #3111 from halfdan/3105-notifications
Close notifications on user action properly.
2014-06-27 21:35:29 +01:00
John O'Nolan
1caae3a63c Merge pull request #3113 from ErisDS/issue-3106
Change text on leave modal cancel button
2014-06-27 19:00:11 +02:00
Paul Adam Davis
f15ac7a815 Hide code mirror cursor when not focused
Closes #51 again

- Hide CodeMirror cursor when not focused
2014-06-27 10:04:12 +01:00
Fabian Becker
b359d4122b New setup screen for blog installation.
fixes #3072
- Change router to handle /ember/setup/
- Adjust doSignup to also handle setup
- Adjust tests and add new where necessary
- Add setup controller, setup validation, setup route
- Adjust casper emberSetup to handle new setup
2014-06-26 15:31:44 +02:00
Paul Adam Davis
c834f0b631 Allow button/input type submit to be green 2014-06-26 11:43:35 +01:00
Fabian Becker
e148a98106 Show correct post notificatons based on status.
closes #2850
- Add messageMap from old admin
- Add two methods to pick the correct notification based on prev status and current status
2014-06-26 09:42:29 +00:00
Hannah Wolfe
5df10dad97 Change text on leave modal cancel button
issue #3106
2014-06-26 09:04:52 +01:00
Paul Davis
258ce69283 Merge pull request #52 from morficus/missing-flashing-cursor
fixing issue where the cursor indicator would no longer flash
2014-06-25 19:54:13 +01:00
Maurice Williams
863efd22f0 fixing issue where the cursor indicator would no longer flash
fixes #51
- removing styles that conflicted with the original CodeMiror styles
2014-06-25 14:26:18 -04:00
Fabian Becker
a4dc5f8bee Close notifications on user action properly.
fixes #3105, refs #3012
- Add additional closeAll() calls where users interact with data
2014-06-25 16:56:09 +00:00
Paul Adam Davis
d434f2e0c8 Add extra padding to post edit/settings buttons
Closes #39
2014-06-25 17:21:32 +01:00
Hannah Wolfe
b71e99a333 Merge pull request #3108 from novaugust/touch-editor-off
Add off as a noop function to touch editor.
2014-06-25 17:06:38 +01:00
Matt Enlow
51b20d91eb Add off as a noop function to touch editor.
Closes #3107
2014-06-25 10:04:00 -06:00
Paul Adam Davis
203132dfa1 Stop Markdown help icon from moving
No issue

The markdown help icon would move when `<body>` gets a class of
`editor`. The class wasn't needed, so it's gone from the selector now.
2014-06-25 16:49:10 +01:00
Paul Adam Davis
944daef01c Remove extra shadow & left border on post settings button
Closes #49

- Remove shadow from the post settings button
- Remove left border from split buttons globally
2014-06-25 16:20:56 +01:00
Jason Williams
332a9c1a4b Stay on posts.index route when no posts exist
No Issue
2014-06-25 14:56:41 +00:00
Paul Adam Davis
18e3914b02 Fix tags UI issue
Closes https://github.com/TryGhost/Ghost/issues/2491 & #27

- Adjust the widths of the tags wrapper element and move gradient to
the edge of said wrapper
2014-06-25 14:46:35 +01:00
Fabian Becker
37af382771 Allow tabbing responsive editor when not on mobile.
fixes #3095
- Add `click` event to floatingheader
2014-06-25 12:30:57 +00:00
Paul Adam Davis
91cad85237 Prevent cover image <img> having a max height. 2014-06-25 12:40:11 +01:00
Paul Adam Davis
97ddf069ca Add vertical table alignment class 2014-06-25 12:37:01 +01:00
Jason Williams
f5e05c8d9f Finish Debug screen for Ember admin
Closes #2847
2014-06-25 04:36:17 +00:00
Hannah Wolfe
5edfb8966e Set edit post shortcut to 'enter'
closes #2308
2014-06-24 23:58:43 +01:00
Hannah Wolfe
3c003a791f Merge pull request #3052 from ErisDS/issue-2851
Add error template, routes and controller
2014-06-24 23:52:29 +01:00
Hannah Wolfe
c34c7ebee9 Merge pull request #3055 from darvelo/mobile-interactions
Mobile Interactions
2014-06-24 23:52:14 +01:00
David Arvelo
54eda5c03c Mobile Interactions
closes #3018
- split clientold mobile interactions into their respective Ember routes/views
- create PostsView and SettingsView with mobile interactions
- place interactions for the publish bar into ApplicationRoute on init
2014-06-24 18:33:59 -04:00
David Arvelo
11a8391fec Implement Mobile Editor
closes #2957
- add FastClick library to Gruntfile.js
- add touch-editor to client/assets/lib/
- add mobile-specific utils to util/mobile-utils.js
- add codemirror util to set up TouchEditor only if we're really on mobile
- change gh-codemirror from having a default action to a named action. prevents Ember.TextArea firing action on change
- change gh-codemirror `cm.getDoc().getValue()` to `cm.getValue()` for portability
- change codemirror-shortcuts ES6 export/import style
- changed ghostimagepreview.js to check for Ember.touchEditor in addition to Ghost.touchEditor
2014-06-24 18:33:43 -04:00
Hannah Wolfe
96d23447ad Add error template, route and controller
closes #2851

- adds asset paths to ghostPaths as we don't have an asset helper
- sends any invalid routes to 404
2014-06-24 23:33:02 +01:00
Hannah Wolfe
968e339a1e Merge pull request #3054 from jaswilli/issue-3036-settings
Enable validation for settings/general screen
2014-06-24 23:00:56 +01:00
Paul Adam Davis
3cf952e125 Delete dev font files 2014-06-24 21:17:44 +01:00
Paul Adam Davis
0d4cec3e4d Merge branch 'master' into 0.8
Conflicts:
	dist/css/ghost-ui.css
	dist/css/ghost-ui.min.css
	docs/dist/css/ghost-ui.min.css
	sass/layouts/settings.scss
	sass/layouts/setup.scss
	sass/modules/forms.scss
	sass/modules/global.scss
	sass/modules/icons.scss
	sass/modules/notifications.scss
	sass/screen.scss
2014-06-24 21:15:54 +01:00
Hannah Wolfe
2e7c637527 Merge pull request #3066 from kevinansfield/fix-sticky-incomplete-tags
Fix incomplete tags sticking between post edits
2014-06-24 21:07:27 +01:00
Paul Adam Davis
4a75944f4e Remove 'not-allowed' cursor from disabled buttons
Closes #44

(Also remove some temporary CSS that wormed its way in from
mid-progress on another issue)
2014-06-24 17:16:11 +01:00
Paul Adam Davis
b33f48bf70 Mac height for profile, cover & logo images in settings
Closes #43 & #45
2014-06-24 17:13:45 +01:00
Paul Adam Davis
09713d841e Fix mobile display issue
Closes #42

- Realign name input and show name label on smaller screens
2014-06-24 16:43:14 +01:00
Paul Adam Davis
60eadfa70a Move styles from ember-hacks.css in Ghost to here 2014-06-24 14:50:06 +01:00
Paul Adam Davis
a3a4e3960d Remove ember-hacks.css file
No issue

- Removes `ember-hacks.css` file and move some of its styles into Ghost-UI
2014-06-24 14:49:37 +01:00
Jason Williams
f4de1199d1 Enable validation for settings/general screen
Closes #3036 Refs #3012
-Enable validation for settings/general
-Turn on functional tests for the validations
-Move notification closeAll calls so that notifications
 are cleared on attempted saves instead of just on
 successful saves
2014-06-24 13:32:47 +00:00
Kevin Ansfield
48f6567835 Fixes incomplete tags showing when switching to edit a different post
closes #3065
- send 'reset' action to PostTagsInputController when associated view is destroyed
2014-06-24 15:09:11 +02:00
Hannah Wolfe
61f4d90428 Merge pull request #3062 from halfdan/transition-to-route
Use transitionToRoute in controllers.
2014-06-24 13:46:18 +01:00
Hannah Wolfe
ffa4d4933d Merge pull request #3059 from PaulAdamDavis/1558-notifications-ui
Prevent notifications from being too tall and unclosable
2014-06-24 13:46:11 +01:00
Hannah Wolfe
e8d30fd35e Merge pull request #3058 from halfdan/3012-close-notifications
Close notifications on transition or user action.
2014-06-24 13:45:51 +01:00
Paul Adam Davis
a188f96715 Prevent notifications from being too tall and unclosable
Closes #1558

- Adds a wrapping tag around the notification message
- Change tests to look for new wrapping tag

For the fix to work properly, it needs styles from the [0.8 branch](b98029911c) of Ghost-UI
2014-06-24 13:30:33 +01:00
Hannah Wolfe
3d18c6f3c5 Merge pull request #3005 from kevinansfield/ensure-incomplete-tags-arent-lost
Ensure incomplete tags aren't lost on save
2014-06-24 13:19:22 +01:00
Fabian Becker
644991351b Use transitionToRoute in controllers.
refs #3051
2014-06-24 13:52:55 +02:00
Fabian Becker
989d19837e Close notifications on transition or user action.
closes #3012
- Inject notification object into router
- Listen to didTransition / observe currentPath to close notifications
- Close notifications on successful save actions
2014-06-24 13:51:47 +02:00
Hannah Wolfe
9e8d902d0a Uncomment signin validation test + test cleanup
closes #2989

- classing this as finishing the casper tests for now
- adding a name to the description in the settings template
2014-06-24 12:17:40 +01:00
Kevin Ansfield
07e18dac86 Ensure incomplete tags aren't lost on save
closes #2991, references #2172, references #2453
- moved and separated tags logic from EditorTagsView into PostTagsInputController/View
- call out to PostTagsInputController when saving post to ensure an incomplete tag is completed before save
- added Tab key support for suggestion selection / tag completion
- don't show suggestions list when input field doesn't have focus
- added code for #2172 but left commented-out as it causes side effects with completion on save
- updated suggestion highlighting so it doesn't bork on html/regex chars (#2453)
2014-06-24 12:14:27 +02:00
Paul Adam Davis
4e639594dc Correctly overflow notification content to prevent it being too tall.
References https://github.com/TryGhost/Ghost/issues/1558
2014-06-24 11:01:22 +01:00
Hannah Wolfe
38fa7c42f1 Merge pull request #3051 from jgable/loginValidation
Add validation for signin/signup
2014-06-24 09:48:33 +01:00
Hannah Wolfe
a3cd63bd1f Merge pull request #3053 from jgable/fix3016
Close modals on escape
2014-06-24 04:05:40 +01:00
Jacob Gable
2242d8b564 Close modals on escape
Closes #3016

- Disconnect modal outlet on escape key in closePopups action handler
2014-06-23 21:57:52 -05:00
Jacob Gable
ab97c8c861 Add validation for signin/signup
Closes #2976, Closes #3017

- Move logic to signup controller
  - Add ValidationEngine mixin to signup controller
  - Add signup validator with code from clientold login view
- Add signin validator and integrate into signin controller
- Add validation to forgotten controller
  - Switch to button action to support hitting enter in text field to submit
- Clear all notifications in notifications.closeAll
- Modify ValidationEngine.validate to not format errors based on option
- Update casper test for signin to wait for notification before trying
to do another signin
2014-06-23 21:17:57 -05:00
Hannah Wolfe
6b068ac4f5 Ember admin works with subdirectory
fixes #3047
2014-06-24 03:14:28 +01:00
Hannah Wolfe
1fe9238dd6 Setting Ghost logo to correct URL 2014-06-24 00:24:13 +01:00
Hannah Wolfe
8636d2f2e9 Merge pull request #3045 from ErisDS/issue-2956
Add fileStorage config to frontend
2014-06-24 00:00:59 +01:00
Hannah Wolfe
b904729576 Add fileStorage config to frontend
closes #2956

- adds fileStorage to config passed to ember, and then grabs it in the relevant places.
2014-06-23 23:33:14 +01:00
Hannah Wolfe
9c9c81697b Update shortcut for zen mode
closes #2988

- includes tests
2014-06-23 22:24:28 +01:00
Hannah Wolfe
d943651a16 Merge pull request #3042 from halfdan/3040-trim-title
Trim title in editor on blue/focusOut
2014-06-23 22:16:13 +01:00
Hannah Wolfe
5d14267375 Merge pull request #3044 from halfdan/3035-character-count
Implements character count helper.
2014-06-23 22:14:15 +01:00
Hannah Wolfe
c318b99c6b Merge pull request #3043 from jaswilli/initializers
Switch Ember initializers to public API methods
2014-06-23 21:43:04 +01:00
Hannah Wolfe
52340936ad Merge pull request #3041 from ErisDS/issue-3031
Hide settings/apps unless apps:true is in config.js
2014-06-23 21:42:10 +01:00
Fabian Becker
8ab1ed1f13 Trim title in editor on blue/focusOut
closes #3040, fixes #3038
- Properly trim title
- Re-add casper test/adjust where necessary
- Rename gh-focus-input component
2014-06-23 20:07:34 +00:00
Fabian Becker
de53f09f79 Implements character count helper.
closes #3035
- New character count helper
- Re-add casper test for bio count
- Change settings.general and settings.user to show character count
2014-06-23 20:02:09 +00:00
Hannah Wolfe
725e00442d Hide settings/apps unless apps:true is in config.js
fixes #3031

- Adds an initializer for passing config to the frontend, it's not pretty but it works
- Forwards the apps route and hides the apps menu item if apps:true is not present in config.js
2014-06-23 20:27:51 +01:00
Jason Williams
e2bfc04737 Switch Ember initializers to public API methods 2014-06-23 18:35:39 +00:00
Matt Enlow
3cae5a55dd Better editor entry
Ref #2308

- Double clicking a PostItemView on the content screen will open that post
  in the editor.
- Added `'ctrl+e, command+e': 'openEditor'` shortcut will open editor as well
2014-06-23 10:15:06 -06:00
Hannah Wolfe
bcc135360c Merge pull request #3014 from ErisDS/issue-3013
Check for undefined model
2014-06-23 16:31:10 +01:00
Hannah Wolfe
13053ff321 Merge pull request #3039 from halfdan/3038-focus-title
Focus title in editor when opening page.
2014-06-23 16:13:27 +01:00
Hannah Wolfe
3b5c0a474c Merge pull request #3034 from ErisDS/more-tests
Adding more tests for settings
2014-06-23 16:13:13 +01:00
Hannah Wolfe
b0e556d304 Merge pull request #3024 from morficus/nprogress-loading-indicator
Re-implementing the loading indicator for the Ember admin
2014-06-23 16:11:31 +01:00
Hannah Wolfe
999aea27e5 Adding more ember admin tests
- improving the implementation of thenOpenAndWaitForPageLoad
- adding a class into the settings templates to more easily test which pane we are on
- adding more, and updating more of the settings tests
- added the editor tests
2014-06-23 15:53:31 +01:00
Fabian Becker
3fcbe15168 Focus title in editor when opening page.
closes #3038
- Adds new gh-focus-input component
- Uses new component in editor
2014-06-23 16:28:34 +02:00
Maurice Williams
2afc1ff04f Re-implementing the loading indicator for the Ember admin
closes #2855 , closes #2848
- New  mixin that utilizes NProgress for displaying a loading indictor for all routes who's model issue a "loading" event (aka: when requesting data from the server during a route change).
- Also removing (the now unnecessary) "loading" template.
2014-06-23 10:01:33 -04:00
Hannah Wolfe
bc2e4d8ebd Fix warning about transitionTo being deprecated 2014-06-23 12:14:41 +01:00
Hannah Wolfe
18b85d96ab Merge pull request #3033 from halfdan/fix-word-count
Fix word count in ember.
2014-06-23 12:11:19 +01:00
Hannah Wolfe
d6914e26c5 Merge pull request #3023 from darvelo/promise-rejection
Fix promise rejection during validation
2014-06-23 11:45:04 +01:00
Fabian Becker
a3191eee8d Fix word count in ember. 2014-06-22 19:33:44 +00:00
David Arvelo
1f9751f753 Fix promise rejection
fixes #3013
- bubble promise rejection on post model validation/save error so that it doesn't bubble as resolved
- prefer `.catch()` for promise handlers as per recommendations
- check if `.save()` is being called from model.destroyRecord() and forgo validation if so
- normalize output for both `.validate()` and `.save()`
2014-06-22 14:49:09 -04:00
Hannah Wolfe
42c9a272a7 Merge pull request #3022 from novaugust/codemirror-shortcuts
Implement Markdown Shortcuts
2014-06-22 10:42:37 +01:00
Hannah Wolfe
dcf2f88d57 Merge pull request #3026 from darvelo/delete-new-post
Remove "Delete This Post" option from New Post publish bar menu items
2014-06-22 09:07:00 +01:00
Hannah Wolfe
ce302a2591 Merge pull request #2967 from szelpe/settings-apps
Ported settings/apps logic to Ember.
2014-06-22 09:04:14 +01:00
David Arvelo
4faa35e9bf Remove "Delete This Post" option from New Post publish bar menu items
closes #3025
- adds 'unsaved' class to entry-controls when the post model/controller isNew evaluates to true
2014-06-21 18:21:44 -04:00
Matt Enlow
52118c16e3 Implement Markdown Shortcuts
Closes #2984, #3020
Ref #1463, #3019

 #### Shortcut Values
Shortcut values can now be either strings (as before) or objects like
{action:string, options:hash}.
 #### Markdown shortcuts added
- 'ctrl+alt+u' strkethrough
- 'ctrl+alt+1' h1
- 'ctrl+alt+2' h2
- 'ctrl+alt+3' h3
- 'ctrl+alt+4' h4
- 'ctrl+alt+5' h5
- 'ctrl+alt+6' h6
- 'ctrl+shift+i' image
- 'ctrl/command+k' link
- 'ctrl+l' list

Left behind commented out stubs for additional markdown shortcuts.

 #### Editor Controllers (New and Edit)
- Moved shared init function into editor-base-controller.
- Removed MarkerManager mixin from editor controllers as it's included in
  the base.
2014-06-21 15:10:46 -06:00
Hannah Wolfe
aa9dfd97d1 Removing unneeded file 2014-06-21 18:45:01 +01:00
Hannah Wolfe
1256c3c2fe Merge pull request #3011 from darvelo/validations
Add Validations Layer and Post Validations
2014-06-21 17:41:28 +01:00
Hannah Wolfe
44f3adc85c Merge pull request #3003 from jaswilli/issue-2846-settings
Convert general settings page to ember data
2014-06-21 15:25:23 +01:00
Hannah Wolfe
700e9644e2 Merge pull request #3002 from novaugust/shortcuts
Implement Shortcuts in Ember
2014-06-21 15:15:50 +01:00
David Arvelo
af47f88648 Add Validations Layer and Post Validations
closes #2893, issue #2850, issue #2856
- this is a stable, but quick and dirty validations layer for the time constraints
- this could be replaced with a unified server/client layer later. the infrastructure is there.
- create a validation engine mixin to match validators with models
- override the save method in the mixin to perform validations first
- create a post validator
- fixup calls to .save() to make sure they catch errors properly
2014-06-21 00:12:55 -04:00
Hannah Wolfe
c6dc8c0eea Functional tests for Ember
issue #2989

- Adds lodash for bind and isNumber - looking for a better solution for this
- Still needs the editor and flow tests porting
- Some of the tests are commented out awaiting further implementations
2014-06-20 15:20:59 +01:00
Paul Adam Davis
a4af3ded74 Remove pointer-events: none; on modal container
Closes #38
2014-06-20 14:54:06 +01:00
Paul Adam Davis
8799b516c7 Correct styling of checkboxes in the post settings menu 2014-06-20 14:46:04 +01:00
Hannah Wolfe
bdbafc1831 Remove limit from ember post API calls
ref #3004

- this is unnecessary and causing bugs
2014-06-20 11:40:32 +01:00
Paul Adam Davis
41259f25f1 Manually merge (and update) 28954b5e10 2014-06-20 10:25:38 +01:00
David Blurton
2d1de49caf Don't fade out notifications when the mouse is over 2014-06-20 09:54:31 +01:00
John O'Nolan
7c29390ad1 Update icon font info in readme 2014-06-20 09:54:07 +01:00
Paul Adam Davis
7148e46b6a Restructure .scss files, global box sizing and minor fixed from the Ember Admin rewrite 2014-06-20 09:29:57 +01:00
Jason Williams
18a433debd Convert general settings page to ember data
Issue #2846
-Implement custom RESTAdapter and serializer for settings data.
-Convert theme selector to Ember.Select.
-Finish upload modal and wire into settings page.
2014-06-20 04:38:41 +00:00
Matt Enlow
71bee2fd46 Implement Shortcuts in Ember
Closes #2988, #2752
Ref #1463, #2984,
 # Shortcuts via Keymaster
- Added KeyMaster to bower dependencies. KeyMaster is a minimal keyboard
  shortcuts library.
- Added `ShortcutsRouteMixin` for routes that will use shortcuts.
  Currently, only routes can have shortcuts. See the extensive comment
  at the top of `core/client/mixins/shortcuts-route.js` for a
  description of how to implement shortcuts.

 ## Other Changes
- Injected popover service into ApplicationRoute
- Created `EditorRouteBase` mixin for the `editor.new` and
  `editor.edit` routes to mixin.
- `StyleBodyMixin` now calls `this._super()` on `activate` and
  `deactivate` to play nicely with other mixins.

 ## Shortcuts and Stubs implemented
 #### Application-Wide
- `'esc':'closePopups'` shortcut **stub** to close popovers,
 modals, and notifcations

 #### Editor Shortcuts
- `'ctrl+s, command+s': 'save'` note that `command` is the
  `meta` key.
- `'ctrl+alt+p': 'publish'`
- `'ctrl+alt+z': 'toggleZenMode'`
2014-06-19 15:07:42 -06:00
David Arvelo
2dd5c5218a Fix deletion of Post Model in Editor and Content screens
fixes #2999
- handle undefined argument in openModal function
- catch whether a model is deleted in Editor routes to aid transition
- move updateTags function to the PostModel
- add call to updateTags in delete-post modal
2014-06-19 14:31:56 -04:00
Hannah Wolfe
7b241a302a Fixing typo in navbar 2014-06-19 10:08:55 +01:00
Paul Adam Davis
b24926c87c Temporary HTML for the User Management screen & Setup screen 2014-06-18 14:00:47 +01:00
David Blurton
d4a76211a8 Don't fade out notifications when the mouse is over 2014-06-18 11:13:52 +01:00
Hannah Wolfe
04fd16ad7a Merge pull request #2884 from darvelo/sort-posts-list
Get single post from API by id and query params; Auto-sort posts list
2014-06-17 23:45:53 +01:00
Hannah Wolfe
15a2b9f167 Merge pull request #2985 from novaugust/featured-and-page-cleanup
Cleanup PostItemView code
2014-06-17 23:27:46 +01:00
Hannah Wolfe
6bc99ecaf8 Merge pull request #2897 from lholmquist/modal_uploader
Modal Uploader
2014-06-17 23:22:26 +01:00
David Arvelo
7658cd2ee8 Get single post from API by id and query params; Auto-sort posts list
closes #2883, closes #2951
- introduce custom findQuery in ApplicationAdapter
- posts/post route and editor/edit route now use custom findQuery to find a single post by id with query params
- create a sorting function in PostsController for out-of-order loading
- refresh updated posts in posts.index to make PostsList highlight latest draft after returning from a save in editor
2014-06-17 18:10:11 -04:00
Peter Szel
17d455ceba Ported settings/apps logic to Ember.
Closes #2423

- Created the apps route to fetch apps from server
- Created controller for a single app
- Modified the template of the apps page to use this controller
- Created the Apps model
- Created AppAdapter to use the FixtureAdapter for Ember Data
2014-06-17 23:25:24 +02:00
Matt Enlow
6972902adb Cleanup Misc Ember Code
No issue

Misc Places
- Removed expired, irrelevant, and fixed todos

FloatingHeaderPartial
- Fixed "Written" vs "Published" text logic

SettingsGeneralController
- Removed single quotes from property names

EditorBaseController, MarkerManagerMixin
- Aligned var declarations

PostItemView
- Commented out unfunctional code for feature request #2398
- Switched `isPage`, `isFeatured` to be computed properties in `Po
- use `toggleProperty` in `PostController.action.toggleFeatured`
2014-06-17 14:59:15 -06:00
Hannah Wolfe
32fc61686f Merge pull request #2981 from jaswilli/fix-observer
Fix removeObserver for title property
2014-06-17 21:56:08 +01:00
Lucas Holmquist
833699bbb4 Ember Admin - Upload Modal
Issue #2547
2014-06-17 16:18:32 -04:00
Hannah Wolfe
2bd3a77fa7 Merge pull request #2972 from halfdan/2748-featured-post
Implement featured post / page
2014-06-17 20:58:25 +01:00
Hannah Wolfe
b21948ded5 Merge pull request #2975 from jaswilli/csrf
Fix csrfSecret handling
2014-06-17 20:16:26 +01:00
Jason Williams
38df3972c7 Fix removeObserver for title property 2014-06-17 15:47:03 +00:00
Jason Williams
7bc4d9f455 Show notification on successful sign out
Closes #2977
2014-06-16 22:54:21 +00:00
Jason Williams
d9a21c8d0c Fix csrfSecret handling
Closes #2974
-use req.session.csrfSecret instead of _csrfSecret.
-clear username and password properties from the signin controller.
2014-06-16 20:32:51 +00:00
Jason Williams
6a49b95980 Fix slug create and update logic for posts
-Remove unnecessary calls to the slug API endpoint on the
 content screen.
-Only make slug API endpoint calls in editor when the post is new.
-Improve logic for when to update the slug.
2014-06-16 14:09:46 +00:00
Fabian Becker
6deb206e84 Implements page class toggling.
- Toggles page class when post is marked as static/non-static
2014-06-16 17:08:58 +03:00
Fabian Becker
a7daeecbf2 Content screen: Featured posts
fixes #2748
- Properly handle marking post as featured/non-featured
- Show correct notifications
2014-06-16 09:32:40 +00:00
David Arvelo
aa9db35cfe Fix trailing slashes output app-wide
closes #2963, closes #2964
- override Ember's `HistoryLocation.formatURL`
- remove overridden `HistoryLocation.setURL`
2014-06-15 16:55:12 -04:00
Matt Enlow
7412493575 Create boundOneWay util function
Closes #2958
- Created `boundOneWay` util to extract common pattern of having a oneWay property that doesn't break its binding after being set
- Changed `EditorControllerMixin.willPublish`,  `PostSettingsMenuController.publishedAtValue` and `.slugValue` to use the new `boundOneWay` util
2014-06-14 15:27:52 -06:00
Hannah Wolfe
79647ab95b Merge pull request #2895 from appleYaks/editor-parity
Reach Editor parity with Ember
2014-06-14 18:43:36 +02:00
Hannah Wolfe
f0259eb467 Merge pull request #2946 from halfdan/fix-page
Fixes static pages when permalinks are active.
2014-06-14 18:12:39 +02:00
Hannah Wolfe
77b0f4f7a1 Merge pull request #2952 from novaugust/ember-signin-transition
Transition user to original destination on login
2014-06-14 18:12:31 +02:00
Hannah Wolfe
aae6e5d5f3 Merge pull request #2955 from jasonsturges/attribute-delimiter
Label 'for' attribute value literal have no delimiter.
2014-06-14 08:16:26 +02:00
Hannah Wolfe
bfd484f064 Merge pull request #2953 from novaugust/authenticate-ember-routes
Change `posts`, `post`, and `signout` routes to be `AuthenticatedRoute`s
2014-06-14 08:15:48 +02:00
Jason Sturges
8ab29e57b3 Label 'for' attribute value literal have no delimiter.
Closes #2954
2014-06-13 23:32:13 -05:00
David Arvelo
2151d8a49f Reach Editor parity with Ember
closes #2426, closes #2781, closes #2913
- Concatenate vendor files on change of js in core/shared/
- Add all the markerManager stuff to its own mixin
- make markers a shared object for all that mix it in. makes it easier to use helper functions in different modules
- add getMarkdown method, returns object with two keys holding the markdown: one with markers, the other without
- Clear markers when codemirror is destroyed
- make Editor subcomponents communicate through the Editor Controller
- Set Codemirror and html preview shared scrolling
- Set CodeMirror, html preview css scroll class with util
- Create 'scratch' property in Editor controller; prevents a model save wiping image markers due to markdown bindings
- Add editor and html preview actions to handle img upload start/finish
- disable codemirror when an image is being uploaded, enables on success or failure
- Fix editor wordcount when there are 0 words
- Add modal dialog when transitioning out of the editor with an unsaved post
- Add window.onbeforeunload handling with `.unloadDirtyMessage()` on editor controller
- and various other things
2014-06-13 18:12:03 -04:00
Matt Enlow
165be0fa72 Transition user to original destination after signin
Closes #2943
- `AuthenticatedRoute` now stores the user's original destination on the
  `ApplicationController`.
- The `SignIn` route's `login` action checks if the `loginTransition` property is set on the
  `ApplicationController`, and if so, retries that transition after a
  successful login.
2014-06-13 14:28:35 -06:00
Matt Enlow
57641cffe4 Change posts, post and signout routes to be AuthenticatedRoutes
No issue
The following is a list of routes which are not authenticated
- placeholder routes: `editor` and `content`
- `application`
- password routes: `forgotten`, `reset`, `signin`, `signup`
2014-06-13 14:13:07 -06:00
Matt Enlow
b58573ded5 Refactored PostSettingsMenuController
Closes #2845.
Ref #1351.
- Refactored `PostSettingsMenuController` to appropriately set and display
  slug and publish date and their placeholders.
- Removed api spam on title change by putting `slugPlaceholder` generation
  inside of an `Ember.run.debounce` call.
- Renamed `gh-blur-text-field` to `gh-blur-input`
- Created `SlugGenerator` class to abstract slug generation.
- Added `timestampVerification` function to `utils/date-formatting`
- `utils/date-formatting` now uses `strict` parsing of dates
- Added more acceptable date formats to accommodate strict parsing
- Moved `isDraft` and `isPublished` computed properties from
  `EditorController` to `PostModel`
2014-06-13 12:14:58 -06:00
David Arvelo
beb409dd5f Fix serializing/deserializing Tags on save from the Editor
closes #2947
- make a PostSerializer to embed the tags objects in the posts POST/PUT request
- on editor save, clear out tags from the post and data store that have `id: null`
2014-06-13 02:44:45 -04:00
Fabian Becker
5eafa15b1b Fixes static pages when permalinks are active.
fixes #2938
- Fix `page === 1` occurences
- Fix ember logic
2014-06-13 01:00:18 +02:00
John O'Nolan
f79e5f9794 Convert support links from forum to new support site 2014-06-12 12:52:01 +02:00
Matt Enlow
25f692cdf6 Transition to editor.edit after saving a new post
Closes #2860
- `editor-base-controller`'s `save` action returns a promise with the model
  after saving
- `EditorNewController` will transition to `EditorEditController` upon a
  successful save (model has an id)
- Removed a console.log in editor's save function
2014-06-11 15:44:18 -06:00
Hannah Wolfe
52de600f42 Merge pull request #2933 from novaugust/editor-resource-routing
Refactored Editor Routes
2014-06-11 23:07:59 +02:00
Matt Enlow
f0283ddb5a Refactored Editor Routing
- Moved `new` route into `editor` resource (`editor.new`)
- Moved the current editor controller, view, and route to `editor.edit`
- Added `editor.index`, which automatically transitions into `editor.new`
- Moved controllers, views, templates, and routes to match new router config. Also changed links to `editor` into `editor.new` and `editor.edit` as appropriate.
2014-06-11 12:18:44 -06:00
Hannah Wolfe
3ae652b6ab Merge pull request #2919 from novaugust/editor-button-unpublish-fix
Fix Editor Save Button not allowing unpublish
2014-06-11 19:35:47 +02:00
Hannah Wolfe
12ef319d73 Merge pull request #2915 from rjackson/make-exports-consistent
Make exports more consistent.
2014-06-09 22:38:06 +02:00
Hannah Wolfe
ff4904cb8a Merge pull request #2922 from lholmquist/user_model
Update user model logic for Ember Inspector.
2014-06-09 20:14:53 +02:00
Robert Jackson
a9608d77ae Make exports consitent.
Previously, the exports were somewhat random with some files declaring
local variables then immediately exporting them, and others simply
doing the work needed in the export itself.
2014-06-09 13:58:35 -04:00
Hannah Wolfe
ad7622d39d Merge pull request #2917 from jaswilli/debug-cleanup
Make debug an authenticated route
2014-06-09 19:58:17 +02:00
Hannah Wolfe
012ef17dff Merge pull request #2889 from novaugust/post-model-dates
Changed ember models to use moment for dates
2014-06-09 19:57:36 +02:00
Lucas Holmquist
4df64da911 Update user model logic for Ember Inspector.
Fixes #2921.
2014-06-09 13:16:53 -04:00
Matt Enlow
70e22807a3 Fix Editor Save Button not allowing unpublish
Closes #2918
2014-06-09 08:37:16 -06:00
Jason Williams
509d0671a7 Handle invalid post ids in editor route
No issue
-fail fast if an invalid post id is passed into the
 editor route to prevent an unnecessary network request
 for all posts
-if post id is valid but post does not exist, transition
 to Content screen instead of returning an invalid model
2014-06-09 12:59:21 +00:00
Hannah Wolfe
ea994ee93d Merge pull request #2914 from rjackson/use-loader-from-bower
Use loader.js from bower.
2014-06-09 09:40:19 +02:00
Hannah Wolfe
dcb8d45594 Merge pull request #2907 from appleYaks/shadows
Add shadows to PostsListView and the adjacent HTML Preview; Fix preview
2014-06-09 09:38:10 +02:00
Jason Williams
a8932a7a24 Make debug an authenticated route 2014-06-09 02:05:40 +00:00
Robert Jackson
66616849ec Use loader.js from bower. 2014-06-08 19:39:45 -04:00
David Arvelo
f1a02b88a9 Split PostController amongst new Editor/PostSettingsMenu Controllers
closes #2910
- create EditorController, PostSettingsMenuController
- remove `posts.post` controllerName dependency on EditorRoute/NewRoute
- `{{render}}` the PostSettingsMenuView with its own controller
- break up properties/methods from PostsPostController into all three controllers
- fix EditorRoute pagination options to now be comparable to PostsRoute
- add NewController to force NewRoute to refresh editor with blank model. Identical to Editor's
- EditorController and NewController are based on a shared mixin
- NewView created, templateName is 'editor'
2014-06-08 14:01:32 -04:00
Hannah Wolfe
fccb5eaf26 Merge pull request #2909 from novaugust/publish-button-reset
Fixed publish button not updating with model  change
2014-06-08 19:55:10 +02:00
Hannah Wolfe
fd9b8fac48 Merge pull request #2886 from lholmquist/wrap_uploader
Generic Uploader component
2014-06-08 19:54:21 +02:00
Matt Enlow
5d5fec6539 Fixed publish button not updating with model change
Closes #2908
- Changes `willPublish` from `oneWay` property to computed property.
2014-06-08 11:03:12 -06:00
David Arvelo
e88519613f Add shadows to PostsListView and the adjacent HTML Preview; Fix preview render
closes #2906
- add a utility function to add classnames to targets, retrofitted from clientold to accommodate `Ember.run.bind`
- create a content-preview view that tracks its scrolling
- add a scroll handler to the existing PostsListView
- The `posts/post` template now takes its HTML from the post model instead of using the editor's markdown component
2014-06-08 12:53:54 -04:00
Hannah Wolfe
4ea3675263 Merge pull request #2905 from appleYaks/preview-markdown
Fix HTML preview rendering on the main screen
2014-06-08 18:31:55 +02:00
Lucas Holmquist
7fba359d31 Implement a Generic Uploader - #2886 2014-06-07 19:58:16 -04:00
David Arvelo
a03a0046ab Fix HTML preview rendering on the main screen
closes #2904
- The `posts/post` template now takes its HTML from the post model instead of using the editor's markdown component
2014-06-07 14:19:42 -04:00
Harry Wolff
1818f631bd Implement the Tag Editor view
closes #2425

- creates custom view for the tag editor
2014-06-06 23:02:56 -04:00
Hannah Wolfe
145dffbc73 Merge pull request #2892 from appleYaks/draft-404
Fix Editor/:postId 404 on draft
2014-06-06 21:43:59 +02:00
Jason Williams
d9d5649cdf Close post settings popover menu after delete post
No issue
-inject popover:service into modal component delete post
 controller so popover close can be triggered as part of
 the delete action
-remove unnecessary 'needs' from the delete post controller
2014-06-06 04:04:49 +00:00
David Arvelo
3425cb4aed Fix Editor/:postId 404 on draft
closes #2857
- in EditorRoute, get model from the datastore if it's there
- if page is refreshed, get model from `/posts` API with `{status: 'all'}`
2014-06-05 13:23:28 -04:00
Matt Enlow
fc28cddb8d Changed ember models to use moment for dates
Closes #2888

-Added moment-date `DS.Transform`
-`models/post` and `models/user` both use `DS.attr('moment-date')` in
place of `date` now.
2014-06-05 10:30:28 -06:00
Hannah Wolfe
fd48a12b42 Merge pull request #2873 from jaswilli/2849-delete-posts
delete posts from post settings menu
2014-06-04 15:15:37 +01:00
Hannah Wolfe
5016f3db69 Merge pull request #2875 from novaugust/popover-cleanup
Removed unused popover code in PostsPostController
2014-06-04 15:06:19 +01:00
Jason Williams
5ecc74e87a Enable post deletion from Ember admin
Closes #2849
-wire up delete post action in ember admin
-refactor ember modal dialog
-override RESTAdapter.deleteRecord to workaround Ember expecting
 an empty response body on DELETEs
2014-06-04 13:19:57 +00:00
Matt Enlow
39b16a2893 Removed holdover popover code in PostsPostController
Ref #2840
-Removed unused isEditingSettings and isViewingSaveTypes from PostsPostController
2014-06-03 16:30:46 -06:00
Hannah Wolfe
718d7536df Merge pull request #2862 from morficus/master
refreshless user logout
2014-06-03 19:19:14 +01:00
Maurice Williams
aa35c17d79 refreshless user logout
fixes #2842
- new Ember route for signout
- new API route to allow async signout
2014-06-02 17:12:02 -04:00
Hannah Wolfe
683568892c Ember: jshint single quotes
- also remove .jshintrc from releases
2014-06-02 20:12:02 +01:00
Hannah Wolfe
1c269d0dbc Merge pull request #2864 from lholmquist/jshint_separate
Move jshint logic out of Gruntfile.js and into .jshintrc files
2014-06-02 19:56:07 +01:00
Hannah Wolfe
a94e00bd41 Ember: correcting code style 2014-06-02 19:55:37 +01:00
Lucas Holmquist
157523cd00 Move jshint logic out of Gruntfile.js and into .jshintrc files 2014-06-02 10:55:49 -04:00
Hannah Wolfe
78088820d6 Ember cleanup: single quotes for JS
- All JS should use single quotes
2014-06-01 21:53:16 +01:00
Hannah Wolfe
7f3e9da168 Ember cleanup: double quotes + removed bad tag
- All HTML / Handlebars should use double quotes
- Removed a tag I meant to remove earlier
2014-06-01 21:29:25 +01:00
Connor Tumbleson
787182db55 render html in notifications
fixes #2844
2014-06-01 11:45:17 -05:00
Hannah Wolfe
3181dbe9bc Merge pull request #2840 from novaugust/popover-service
Added popover component
2014-06-01 11:10:00 +01:00
Matt Enlow
78643344e4 Added popover component
Closes #2418, #2714
Ref #2446, #2565

- Added and injected `popover` service to globally control popovers
- Added `gh-popover-button` component
- Added `popover-mixin` for popover and popover-buttons to mixin
- Added body-event-listener mixin for popover service to watch for body
  clicks with
- Post settings and post save button both now use `gh-popover`
- Added hacks to `ember-hacks.css` to make popovers work until ghost-ui
  consolidates functionality
2014-05-31 17:23:41 -06:00
Hannah Wolfe
699111b01a Ember: correct editor layout and other niggles
no issue
- Fixes the editor view so that the layout is correct
- Remove default title
- Fixes a couple of scoping issues with notifications
2014-05-31 19:32:22 +01:00
David Arvelo
6ab475860d Infinite Scroll on Posts List
closes #2414
- Add PostsController with loadNextPage action
- Collect and store pagination info from PostsRoute into PostsController
- Use `store.filter` on PostsRoute model hook to auto-update posts list template as post models are added to the store
- Add content list view and use it to check for scroll event
- Make PostRoute only load a post that's already in the store, until we figure how to load multiple pages on refresh
- Add util function from clientold that concats error messages from server response
2014-05-30 22:14:45 -04:00
Jason Williams
832340e4c8 Use new slug endpoint in ember admin
Closes #2831
-use new slug endpoint in fixture
-use new slug endpoint in post model
-do not try to generate slug for zero length titles
2014-05-29 15:31:02 +00:00
Hannah Wolfe
d596d658e8 Merge pull request #2828 from lholmquist/GH-2373
Update Ember Components with proper gh- prefix
2014-05-29 15:31:50 +01:00
Jacob Gable
84c15ac4c4 Ember Data with Posts
Ref #2699

- Introduce ember data dependency
- Add loadInitializers and refactor most initializers into one combined
- Add Post ember data model
- Refactor generateSlug to use title of post and ghostPaths
- Refactor post controller to not reference model.property everywhere
- Use RESTAdapter for posts, users and tags
- Setup author and tag relations in Post model
- Fix broken API calls by adding CSRF header
- Add initiaizer for csrf value
- Use actual User model for current user initializer
- Add action for setting featured post, test with actual api call
- Fix the sending of UUID's up to the server
- Refactor current-user to use ember-data store
- If a user is preloaded in the application, use pushPayload to put it
in the store
- Do a lookup on the store to get an actual User model for injection
- Fix posts/post controllerName in route/new.js
- Alter signup process to push user into ember data store
2014-05-29 07:42:51 -05:00
Lucas Holmquist
323ccb2765 Update Ember Components with proper gh- prefix
GH-ISSUE 2373
2014-05-28 15:26:16 -04:00
Andrej Mlinarević
d73c689cb0 Fix checkboxes accessibility
Fix checkbox baseline
2014-05-27 15:51:12 +02:00
John O'Nolan
be3138aca4 Update icon font info in readme 2014-05-27 08:08:39 +02:00
Hannah Wolfe
41ceea1c16 Merge pull request #2807 from novaugust/ember-user-cover-default
Fix default user cover on ember settings pane
2014-05-25 16:48:15 +03:00
Hannah Wolfe
275f467140 Merge pull request #2786 from novaugust/ember-editor-save-and-publish
Ember editor save and publish button functionality
2014-05-25 16:45:19 +03:00
John O'Nolan
d64d8704e7 Rename old pacman variable 2014-05-25 15:34:14 +02:00
John O'Nolan
9317d0f2c0 Add database icon / remove pacman icon 2014-05-25 15:30:06 +02:00
Hannah Wolfe
4946223ec6 Merge pull request #2804 from novaugust/ember-settings-currently-active-pane
Add active class to settings tabs
2014-05-25 16:03:25 +03:00
John O'Nolan
e8fa51a6bf First pass on Code Injection base UI 2014-05-25 14:40:34 +02:00
John O'Nolan
eefef30750 New hgroup utility class 2014-05-25 14:40:08 +02:00
John O'Nolan
8d50cd8503 Standards cleanup 2014-05-25 14:21:59 +02:00
John O'Nolan
eb74d84ac3 Fix crazy overnesting 2014-05-25 14:16:42 +02:00
John O'Nolan
e3913c85f0 New first run screen 2014-05-25 11:15:00 +02:00
John O'Nolan
ae46cf5cd1 New utility class for vertical centering 2014-05-25 11:13:59 +02:00
Steve
f4c3406545 Update ember post fixture data.
closes #2803
- corrected status published string
- corrected page to not use invalid choices
- updated id integer to start at 1 and not 0
- updated to repeat 31, added a note about removing post id:0
2014-05-24 11:14:33 -07:00
Matt Enlow
cc12fb701c Fix default user cover on settings pane
Closes #2806
- Ensures that the user's cover property is a string, otherwise uses the
  default cover.
2014-05-24 08:43:53 -06:00
Matt Enlow
bed369d2db Add active class to settings tabs
Closes #2751
2014-05-24 08:02:42 -06:00
Matt Enlow
2cf81164f7 Ember editor save and publish button functionality
Closes #2747
- Added new 'editor-save-button' view and template.
- Added save action to post controller.
- Set a new post as the default model for the /editor/ route.
- Set the `posts/post` controller as the controller for the /editor/
  route.
- Needs ghost-popover #2418 component for full pop-up functionality
2014-05-24 07:47:55 -06:00
John O'Nolan
8b6ed38d46 Fix typo 2014-05-24 12:20:29 +02:00
Hannah Wolfe
c6d037b595 Merge pull request #2795 from appleYaks/fix-editor-scroll
fix mirrored scrolling in markdown editor
2014-05-24 09:43:12 +03:00
Hannah Wolfe
a2caaf193d Merge pull request #2780 from jgable/ember-signup
Implement signup in Ember
2014-05-24 09:29:39 +03:00
Jacob Gable
edfbfd7336 Add ghostPaths util and initializer
No Issue

- Move the ghostPaths from base model to utils
- Add initializer that injects it into every route, model and controller
- Add a adminUrl and apiUrl helper method
2014-05-24 08:52:47 +02:00
Jacob Gable
0229a127fe Implement signup in Ember
Closes #2410

- Add signup action that posts to signup endpoint
- Fix nav bar showing on signup page
- Fix image link when a user hasn't set their image yet
- Redirect to the ember/signin page if requesting an ember page
2014-05-23 12:17:28 -05:00
David Arvelo
1ce2a12818 fix mirrored scrolling in markdown editor
issue #2426
- ember markdown component now looks for preview element as a DOM ancestor rather than a descendent
2014-05-22 18:35:43 -04:00
Hannah Wolfe
d0e70501fb Merge pull request #2782 from morficus/master
updating fixtures for posts data
2014-05-20 21:02:04 +03:00
Maurice Williams
1e1e247c2a Modifying "posts" fixture to match the new API data structure
closes #2415
- data now match the new Posts API data structure
- has enough entries to allow for scrolling
- also including the generator template (as a txt file) used in json-generator.com
2014-05-20 09:37:31 -05:00
fabfou
4b695d3b1a Move debug page from /settings/debug to /debug
closes #2743
- remove settings/debug route and associated files
- reimplementation at debug route
2014-05-19 19:18:07 +02:00
Hannah Wolfe
50b4281c9d Merge pull request #2769 from novaugust/ember-settings-fade
Added fade-in to ember settings panes
2014-05-19 20:01:16 +03:00
Hannah Wolfe
0c4ccb705e Merge pull request #2764 from jgable/emberSignin
Improve signin
2014-05-18 15:56:54 +01:00
Hannah Wolfe
72603b8a2c Merge pull request #2771 from halfdan/2741-trailing-slashes
Correct behaviour for trailing slashes
2014-05-17 20:27:58 +01:00
Hannah Wolfe
31949952d6 Merge pull request #2765 from novaugust/ember-content-redirect
Add /content redirect to Ember admin.
2014-05-17 20:24:10 +01:00
Hannah Wolfe
687144bd98 Merge pull request #2772 from shindakun/profilelink
Corrected link to user profile settings
2014-05-17 20:23:07 +01:00
Matt Enlow
104adb37a8 Added fade-in to ember settings panes
Closes #2749
- Add fade-in class to settings panes headers and contents
2014-05-15 19:59:06 -06:00
Matt Enlow
8c2987cf01 Add /content redirect to Ember admin.
Closes #2746
- Adds content route to router
- Content route transitions to posts route in the beforeModel hook.
2014-05-15 18:52:10 -06:00
Fabian Becker
db4994e954 Correct behaviour for trailing slashes
fixes #2741
- Extend HistoryLocation
- Add trailing slash to path
2014-05-15 22:28:05 +00:00
Jacob Gable
8787ec5ba4 Improve signin
Ref #2413

- Remove fixture and use actual API
- Store and send down actual logged in user data
- Refactor isLoggedIn to use computed property on application
- After signin, update user data in dependency container
- Add CSRF to all routes and controllers via initializer
- Update authenticated route to check for user.isLoggedIn
- Add notifications for signin error
- Add notifications.showAPIError helper
- Add plumbing for refreshless signup to doSignUp in admin controller
2014-05-15 09:18:43 -05:00
Steve
a79bbd686f Validate user URL input to ensure protocol is present
closes #1623
- added protocol validation to isURL on user settings validator.
- added placeholder URL to user profile template
- ref: https://github.com/sethlilly/Vapor/issues/10
- ref: https://github.com/oswaldoacauan/ghostium/issues/38
2014-05-15 06:34:07 -07:00
Steve
6f4187c3d7 Corrected link to user profile settings
closes #2745
- Added link
2014-05-15 06:27:38 -07:00
Steve
ff0dc79546 Fixed admin navbar icons
Closes #2708
- Edited classNames to use correct names: settings and editor.
2014-05-07 19:47:35 -07:00
Hannah Wolfe
95d4732aef Adding READMEs to clarify the 2 client folders
- seemed like  a good idea.
2014-05-07 22:51:51 +01:00
Hannah Wolfe
70f7161d4b Merge branch 'ember'
Conflicts:
	Gruntfile.js
	core/client/models/post.js
	core/client/models/settings.js
	core/client/models/user.js
	core/client/router.js
	package.json
2014-05-07 22:28:29 +01:00
Peter Szel
8ce91adfb6 Ported logic to settings: Debug Tab closes #2424
- Added file upload component
- Added import client logic
- Added e-mail sending client logic
- Added settings model
2014-05-07 20:48:29 +01:00
Hannah Wolfe
f24e3b2d1b Merge pull request #2618 from novaugust/post-settings
[Ember.js] Create Post Settings Menu and its functionality on the Post controller.
2014-05-07 20:22:46 +01:00
Hannah Wolfe
095b700aa8 Merge pull request #2565 from hswolff/ember-popover
[Ember.js] Create GhostPopover component
2014-05-07 20:22:41 +01:00
Jacob Gable
8c73c3794c Ember settings/general
- Settings fixture that doesn't seem to work
- SettingsGeneralRoute with model function calling api
- SettingsGeneralModel with save method stubbed
- SettingsGeneralController with actions for save, uploadLogo and uploadCover
- Let ApplicationRoute handleValidationErrors
- Fix actions hash in controller and use bind-attr
- Refactor to use single SettingsModel
- Implement description word count
- Fix broken ajax reference by actually importing ajax method
- Refactor to use count-words helper
- Refactor isDatedPermalinks into controller
- Refactor the isDatedPermalinks to use a custom setter
- Remove isDatedPermalinks code from the model
2014-05-07 11:32:49 -05:00
Harry Wolff
76ad6cb9bc Create GhostPopover component
issue #2418

- create ghost-popover component and template
- use it for the navigation popover
- still needs to handle global click event on the document
to close the popover
2014-05-07 12:21:26 -04:00
Fabian Becker
6647b57164 Move to new API format for Settings.
refs #2606
- Use new API format when updating settings from the client side
- Add additional test to test new API format
- Adjust functional tests to work with the new format
2014-05-06 19:02:55 +00:00
Sebastian Gierlinger
fc667832c3 Change error message response
closes #2643
- added error type
- added error property for validations
- wrapped errors in an array
- returns multiple errors for validation
- updated tests and admin
2014-05-05 15:51:21 +02:00
Hannah Wolfe
2d95159a6f Move user API to primary document format
closes #2593

- added new format to user API methods
- changed all places where the user api was used
- updated tests and added more coverage
- little bit of cleanup in utils/api
2014-05-02 20:50:44 +01:00
Hannah Wolfe
21acce5391 Merge pull request #2661 from jgable/settingsPrimaryDocument
Settings API Primary Document refactor
2014-05-02 15:55:31 +01:00
Jarrod Mosen
761bb3d55d Improving uploader "too big" error to help with debug
#994
2014-05-02 08:35:49 +12:00
Jacob Gable
fd415c376a Settings API Primary Document refactor
Closes #2606

- Refactor settings api responses to { settings: [ ] } format
- Update all code using api.settings to handle new response format
- Update test stubs to return new format
- Update client site settings model to parse new format into one object of key/value pairs
- Refactor to include all setting values
- Remove unused settingsCollection method
- Update settingsCache to store all attributes
- Update settingsResult to send all attributes
- Remove unnecessary when() wraps
- Reject if editing a setting that doesn't exist
- Reject earlier if setting key is empty
- Update tests with new error messages
- Use setting.add instead of edit that was incorrectly adding
- Update importer to properly import activePlugins and installedPlugins
- Update expected setting result fields
- Fix a weird situation where hasOwnProperty didn't exist 🤷
2014-04-30 23:15:27 -05:00
Sebastian Gierlinger
254b6618f3 Add include parameter for posts API
closes #2609
- added include parameter to api.posts.*
- changed toJSON to omit objects that are not included
- added include parameter to admin
- added include parameter to frontend.js
- updated tests
- removed duplicate code from posts model

**Known Issue:** It is not possible to attach a tag using an ID.
2014-04-27 18:58:34 +02:00
shindakun
8d2cf655c2 Correct link shortcut so that it inserts, selects text or moves cursor properly
Closes #2614
 - Determine proper place for selection, or simply move the cursor.
 - When no text is selected insert link markdown and move cursor to a into the [].
 - When text is selected insert link markdown and move selection to http:// so URL can be pasted.
2014-04-21 14:55:12 -07:00
Hannah Wolfe
330f4c943d Update & grunt-groc and fix docs errors
issue #2622

- Updated grunt-groc to 0.4.5
- Fixed the few places which made the docs fail to generate
- There is still a mix of styles
2014-04-21 19:04:20 +01:00
Hannah Wolfe
9db24568e9 Merge pull request #2551 from szelpe/email-test
[API] Added email sending endpoint to the API.
2014-04-21 18:41:08 +02:00
Jacob Gable
5ddfe279f1 Tag API: Primary Document Format
Closes #2605

- Change tags browse() response to { tags: [...] }
- Update client side collection to use nested tags document
- Update test references to use response.tags
2014-04-20 19:48:59 -05:00
Matt Enlow
e7f5dd3204 Create Post Settings Menu and its functionality on the Post controller.
closes #2419
- Added blur-text-field component, which fires actions on focusOut
- Added utils/date-formatting for moment & date functionality  consolidation
- Added functionality to PostsPostController
- Added fixtures: posts/3 & posts/4, posts/slug/test%20title/
- Added Post model saving
- Set posts.post as controller for EditorRoute
- Added PostSettingsMenuView and template
- Added "showErrors" convenience method to notifications
2014-04-20 13:28:43 -06:00
Sebastian Gierlinger
52197d3a38 Post response move pagination -> meta
closes #2604
- moved ‚pagination‘ to ‚meta‘ property
- added response test for pagination property
- changed ‚next‘ and ‚prev‘ to be set to null and exist on every
response
- removed unnecessary call to API for RSS author
2014-04-19 17:03:20 +02:00
Hannah Wolfe
9f0365a180 Merge pull request #2472 from halfdan/ember-notifications-2417
[Ember.js] Implement Notifications for Ember
2014-04-16 20:03:00 +01:00
Sebastian Gierlinger
ff5ae21a9e Move post API to primary document format
closes #2580
- added new format to post API methods
- added post object parsing and wrapping to admin
- removed unused ‚user‘ object from API response
- updated tests
2014-04-16 12:09:03 +02:00
Jason Williams
901d1b1f8c Set user profile website field to type url
closes #2588
2014-04-14 16:22:14 +00:00
Jason Williams
3dbd11994c Set input field types to match expected input values
ref #2588
- Change name field in User Profile to be type text
- Change website field in User Profile to be type url
2014-04-14 16:18:17 +00:00
Peter Szel
91a0c7c666 Added email sending endpoint to the API.
closes #2550

- Added new API module named 'mail'
- Added routes for the mail endpoint
- Added 'send a test email' button to the debug settigns page
- Added handler to this button which sends and AJAX request to the mail API endpoint
2014-04-09 23:56:21 +02:00
Renyu Liu
61db2dc335 OSX shortcut fix.
closes #2573
- separate different shortcuts by OS detection in markdownEditor.js
2014-04-09 09:31:38 +08:00
Fabian Becker
9da6f15d33 Implement Notifications for Ember
closes #2417
- Adds Notification(s)Component
- Render notifications in application.hbs
- Adds handleError in application route
2014-04-09 00:36:15 +00:00
Peter Szel
ac113b582f Added fancy fade-in effect and autofocus to the login pages (signin, signup, forgotten, reset).
- Added CSS to implement the fade in effect.
- Added 'autofocus' to the attribute bindings of the TextField so they accept it.
2014-04-08 00:02:54 +02:00
Hannah Wolfe
ad4102a693 Merge pull request #2532 from szelpe/ember-reset-2412
Created ResetController.
2014-04-06 23:08:48 +01:00
Harry Wolff
00da1a43b7 Creates Ember Modal infastructure
resolves #2416

This is a pretty large commit but what it's adding are pretty fundamental to the admin app.

- Creates top level actions on the ApplicationRoute for opening and closing modals.  This allows sending the 'openModal' action from any template to open a modal.

- Every modal template lives in 'templates/modals/{{modalName}}'

- Each modal can have a backing controller of the same name that can provide additional control for that modal.  Those controllers reside in 'controllers/modals/{{modalName}}'

- Created the ModalDialog component which is where all the logic for the component resides.  It's not at 100% parity with the existing Ghost modal system but it has the foundation for further fleshing out.  It currently accepts parameters for styling how the modal should appear, which previously was defined in JS files in the Backbone admin.

- This creates the 'delete all posts', 'delete this post', 'markdown', and 'upload' modal.  Some are in more stages of completion than others, but I wanted to just get the foundation in place as fast as possible.

- This also creates the UploadModal component which is a subclass of the ModalDialog component.  The reason for this subclassing is that the UploadModal component directly accesses the DOM and when that occurs in Ember it should remain in a component definition.  It's ready for extending to reach parity.  Note: depending on needs the base ModalDialog class may need to be modified.
2014-04-06 12:45:19 -04:00
Sebastian Gierlinger
12b8014441 Remove second PUT request on image save
closes #2557
- replaced model.save() with model.set()
2014-04-06 17:46:04 +02:00
Robert Jackson
4dbaf58aba Refactor navbar to eliminate nested {{link-to}}.
no related issue

This is essentially setting up a binding from the `LinkView`'s `active`
status and whatever is set as `alternativeActive` in the `{{link-to}}`
(in our case the `activating-list-item` component.

Screenshots showing that the proper CSS classes are given:

![screenshot](http://monosnap.com/image/tzOH6n82rIVGNEFAUWVOLN52QuASQ4.png)

![screenshot](http://monosnap.com/image/5gmcwJcj0kgEXt8lnET4OKgIZ8KRpH.png)

![screenshot](http://monosnap.com/image/UCVNukTXLMNfVneLhzwVyhkrVlGSBt.png)
2014-04-01 22:36:16 -04:00
Peter Szel
3a72c3ca02 Created ResetController.
closes #2412

- Updated the reset route to accept token parameter and hand it over to the controller.
- Added ResetController which handles the submit action and the button disabled state.
- Added reset action to the user model to handle ajax request.
- Updated reset template.
- Added fixtures to test reset API action.
- Fixed password variable names to camel cased style (e.g. newpassword -> newPassword).
2014-03-31 13:06:28 +02:00
Szél Péter
6c51b5c2f2 Created ForgottenController
closes #2411

- Added ForgottenController which handles the form submit event
- Modified the forgotten template
- Added Paths utility tool to get the root/subpath
- Added ajax fixture
2014-03-30 22:18:15 +02:00
Hannah Wolfe
878e31f56c Merge pull request #2439 from sebgie/move-slug
Rename getSlug to slug
2014-03-28 17:12:55 +00:00
Hannah Wolfe
e9fb7ae044 Merge pull request #2496 from halfdan/more-tag-fuddling
Escape regex special characters in tag finder
2014-03-24 20:20:51 +00:00
Fabian Becker
8e6d484ada Escape regex special characters in tag finder
refs #2149
- Properly highlight tags with special characters ($,[,],^,etc.)
2014-03-24 12:09:15 +00:00
Fabian Becker
8881656c26 Prevent adding duplicate tags with different casing
fixes #2478
- Check for existing tags with different case
2014-03-24 11:43:18 +01:00
Harry Wolff
2b9d498628 Create SettingsUserController
addresses #2422

- creates settings user controller

- creates user model object

- updates user fixture to be compatible with user model

- updates settings/user template

- add validator to Ember Admin

- use validator to validate user model is valid

- add mock response to /users/me/ path

- creates models/base file for all models to inherit from

- add mock response to /ghost/changepw/ path
2014-03-23 22:51:43 -04:00
cobbspur
dbf6da54e8 clears notifications on clicking featured icon
closes #2479

- adds a cleareverything command to toggleFeatured in blog.js to stop stacking of notifications on multiple clicks of featured icon
2014-03-23 17:24:27 +00:00
Lucas Churchill
f4f4dc08e3 Adding event preventDefault on toggleFeatured function 2014-03-23 00:27:53 -03:00
Hannah Wolfe
a9d239f5f1 Merge pull request #2150 from halfdan/2149-tag-display
Properly display escaped tags in tag editor.
2014-03-20 19:01:47 +00:00
Hannah Wolfe
2393042c76 Improving the showdown extensions
fixes #2381

- renamed the ghost extensions
- added new html tests
2014-03-20 17:08:13 +00:00
Fabian Becker
badd4a0655 Properly display escaped tags in editor.
fixes #2149, fixes #2453
- Escape tag before displaying in editor tag widget
2014-03-20 15:49:08 +01:00
Hannah Wolfe
4c3bb83df0 Removing typography extension
issue #2312

- The typography extension is still interfering in HTML blocks, reference style links and other bits and pieces it probably shouldn't be :(
- We'll add it back when it's ready.
2014-03-20 13:22:28 +00:00
Hannah Wolfe
88818104e9 Merge pull request #2405 from nicksahler/master
Fixed modal inconsistent fade problem
2014-03-19 16:15:14 +00:00
nicksahler
e4ff9643a9 Fixes modal fading inconsistency problem by disabling jQuery's
transition and allowing CSS to do its thing

closes #2400
- Removed fadeIn, jQuery's animation
- Added show(), which only manages display, giving transitions to CSS
2014-03-19 08:07:49 -04:00
Hannah Wolfe
db66e7ab21 Merge pull request #2438 from ErisDS/cm-mobile
Add shim for codemirror on touchscreens
2014-03-19 09:59:21 +00:00
Hannah Wolfe
dac8eac101 Add shim for codemirror on touchscreens
fixes #2385

- stolen the CM shim from js-bin
- if we're on a touchscreen device, don't use CM
- if we're on a touchscreen device, show a coming soon message for uploads
2014-03-19 09:26:45 +00:00
Hannah Wolfe
c4d2263a6a Merge pull request #2437 from ErisDS/cm-scroll
Force preview to scroll to the end
2014-03-19 08:24:45 +00:00
Hannah Wolfe
8b6a37dd69 Merge pull request #2428 from Decad/master
Fix scoping issue on signup
2014-03-18 22:24:16 +00:00
Sebastian Gierlinger
b13b5a925b Rename getSlug to slug
another 2 % of #2124
- renamed `/ghost/api/v0.1/posts/getSlug/ to
`/ghost/api/v0.1/posts/slug/`
- renamed method getSlug to generateSlug
2014-03-18 14:00:33 +01:00
John O'Nolan
6764d8b96c Fix mobile bug
Tag field fade-shadows overlapping the settings icon
2014-03-18 10:54:19 +01:00
Hannah Wolfe
72b4e3bf4d Force preview to scroll to the end
fixes #958, fixes #535

- If the cursor is within the last 5 lines, then scroll to the end of the preview window, rather than using a ratio
2014-03-17 23:23:55 +00:00
Hannah Wolfe
545fc6e911 Fix undo bug
issue #2436
2014-03-17 23:06:15 +00:00
Hannah Wolfe
c0c5058eea Upgrade CodeMirror
closes #2108

- upgrade to 4.0.1
- requires removing the deprecated setLine method
2014-03-17 23:06:14 +00:00
Hannah Wolfe
665bacf4c6 Refactor the Ghost Editor
issue #2385, issue #2108

- Separate out the various objects which form the editor into their own
  modules
- Decouple the modules where possible
- Rename and reshuffle bits of modules for consistency
- Minimise public APIs of the modules, and ensure they are consistent
- Add comments to the modules
2014-03-17 23:06:12 +00:00
Declan Cook
85f0c71d82 Fix scoping issue on signup
closes #2429
2014-03-17 15:29:22 +00:00
Harry Wolff
e9c27bb633 Flesh out more of the Ember admin
no issue

- this ports over screens from old admin to
 allow people to begin working on aspects of the screen

- All logged out screens have been imported: Signup, Signin,
 Forgotten password, reset password

- Those screens are now ready for behavior to be ported over

- This also updates templates to be more in line with how they were
 in the old admin

- Littered through the code are @TODO comments of functionality that is
 missing and will need to be resolved before this is production ready

- Also scaffolds out the settings screen and every tab
2014-03-16 16:01:56 -04:00
John O'Nolan
ce430157f9 Very basic first pass at docs 2014-03-16 14:56:29 +01:00
John O'Nolan
7049e993a1 Remove double shadow from dropdown hover
I have no idea why this was originally here
2014-03-15 20:16:08 +01:00
Hannah Wolfe
3ba595c702 Merge pull request #2397 from manuelmitasch/ember-add-assets
Ember.js: Add assets img + css (ember-hacks.css) to ember admin
2014-03-15 18:48:50 +00:00
John O'Nolan
bfa11e22f8 Merge pull request #19 from halfdan/someone_is_watching
Implement grunt dev task
2014-03-15 17:14:32 +01:00
John O'Nolan
de1c332cde Get rid of old modal types
Fixes TryGhost/Ghost-UI/issues/17
2014-03-15 17:12:49 +01:00
Fabian Becker
158fee73f6 Implement grunt dev task
closes #18
- Update grunt-contrib-watch to 0.6.0
- Add watch/dev task to Gruntfile
- Add Ruby to README
2014-03-15 16:52:32 +01:00
John O'Nolan
a8951a0ee0 Fix broken mobile inputs 2014-03-15 16:32:48 +01:00
John O'Nolan
d45decc232 Fix width bug on form inputs 2014-03-15 15:50:43 +01:00
John O'Nolan
85d4ea7a81 New instructions for linking ghost-ui to ghost 2014-03-15 14:58:51 +01:00
Manuel Mitasch
2239f0d50b Ember.js: Add assets img + css (ember-hacks.css) to ember admin
Closes #2276

- Adds the images to `core/client/assets/img`
- Adds css with ember hacks to `core/client/assets/css`
- Configures middleware to provide assets as static files at url `/ghost/ember`
- Adds ember option to assets helper
- Modifies default-ember.hbs to use ember option on asset helper
- Remove inline style definition in editor.hbs
- Modifies .gitignore to include ember-hacks.css (in ignored `core/client/assets/css` folder)
2014-03-15 00:08:15 +01:00
John O'Nolan
f1c4fdb869 Update copyright 2014-03-13 22:34:18 +01:00
John O'Nolan
21063af40a Fix normalize.css import 2014-03-12 21:27:33 +00:00
Manuel Mitasch
b1b15afc5e Ember.js: User fixtures + injection + login
* Adding **user fixtures** for signin

* Adds an initializer for the **current logged in user**.
The created singleton object is injected into all controllers + routes.
It can be used inside routes + controllers with this.get('user').
For simple development the object is instanciated with a userFixture.
Once a proper login and api mock is in place, the fixture needs to be removed.

* Added **route 'login'** on url '/ghost/ember/signin'
* Added authenticated route with an error hook that redirects to the login route, if status 401 (unauthorized) is returned from REST API.
* All "secure" routes now extend from authenticated route
* Add /ghost/ember to noAuthNeeded routes in middleware
2014-03-12 19:26:47 +01:00
John O'Nolan
3f93a40544 REFACTOR THE THINGS 2014-03-11 23:23:42 +00:00
John O'Nolan
b8aa3466a6 Merge pull request #16 from halfdan/hello_ruby_you_beauty
Re-introduce Ruby
2014-03-12 00:12:11 +01:00
John O'Nolan
6971ff0b90 Merge branch 'master' of github.com:TryGhost/Ghost-UI
# By Fabian Becker (1) and John O'Nolan (1)
* 'master' of github.com:TryGhost/Ghost-UI:
  Remove old %extend placeholders
  Fetch bourbon/breakpoint/normalize via bower
2014-03-11 22:55:45 +00:00
John O'Nolan
bb302db448 Remove IE specific CSS file
We've never used this anyway. It just hangs around doing nothing.
2014-03-11 19:03:10 +01:00
Fabian Becker
694b03337b Re-introduce Ruby
fixes #8, #9, #10, #11
- Add Gemfile
- Swap normalize.css with normalize-scss
- Add grunt-contrib-sass task to compile sass
- Ignore .sass-cache
2014-03-11 19:02:59 +01:00
John O'Nolan
f7706c9173 Introduce robots.txt and sitemap for docs 2014-03-11 15:08:08 +01:00
John O'Nolan
04618a989a Remove old %extend placeholders 2014-03-11 14:59:43 +01:00
Fabian Becker
c407d4775d Fetch bourbon/breakpoint/normalize via bower
closes #14
- Fetch libraries via bower on `grunt`
- Use breakpoint 2.0.6 due to libsass failures
- Add grunt-shell to execute bower install
- Adjust screen.scss
2014-03-10 19:54:39 +01:00
John O'Nolan
3aec61d863 Comment/indentation cleanup 2014-03-10 17:37:08 +01:00
John O'Nolan
346d3ab2b4 Clean up markdown help modal
* Shorter, more user friendly.
* See #1463 - Not fixing in any way, just related.
2014-03-10 16:33:46 +01:00
John O'Nolan
945f863411 Fix indentation 2014-03-10 16:16:37 +01:00
Harry Wolff
5313eb7bce Add HTML5 pushState support for Ember
- also updates associated route
2014-03-09 20:57:13 -04:00
Fabian Becker
e8d4019a4d Replace SASS with assets from Ghost-UI
closes #2368
- Remove Ruby dependency (Gemfiles)
- Remove sass/fonts from core/client/assets/
- Add copy task to Gruntfile to copy over ghost-ui assets
- Install Ghost-UI via bower
- Changed .npmignore/.gitignore
- Remove grunt-contrib-sass dependency
- Remove mentions of Ruby in CONTRIBUTING.md
2014-03-09 22:50:37 +01:00
Erik Bryn
152ab286b5 Specify itemView on the each helper rather than nesting a view helper.
This avoids the creation of two views per row, which will make a big difference for large blogs.
2014-03-09 14:20:15 -07:00
Manuel Mitasch
275f623278 Amend fixtures & put body classes in styleBody mixin
- Change fixture response of posts route to actual format.
- Extracted classNames logic of routes into style-body mixin.
- Additionally replaced all double-quotes with single-quotes for style conformance.
2014-03-09 15:30:54 +00:00
John O'Nolan
16c5a99ca9 Dist'in 2014-03-08 14:48:12 +01:00
John O'Nolan
188ecf1940 Removing disturbing mental image 2014-03-07 20:47:11 +01:00
John O'Nolan
5b09d54804 Removing .modal-info
This is not used anywhere in ghost core
2014-03-07 20:44:34 +01:00
John O'Nolan
df464f5ab7 Remove all %placeholder extends
* Allows us to use node-sass and drop the dependency on Ruby
* See TryGhost/Ghost/issues/1346
* See TryGhost/Ghost/issues/2078
2014-03-07 19:54:49 +01:00
Taras Mankovski
01b49fede8 Minor refactoring of the routers:
- Moved post route under posts resource
- Changed ajax to use ic.ajax.request instead of ic.ajax.raw
2014-03-07 14:01:27 +00:00
Manuel Mitasch
a9a69fa441 Add admin prototype
issue #2270

- from https://github.com/manuelmitasch/ghost-admin-ember-demo
- Not working properly: added ic-ajax mock in app.js but promise not resolving => loading route always active
2014-03-07 14:01:26 +00:00
Hannah Wolfe
5f54fa8d1c Adding missing loader.js 2014-03-07 10:14:40 +00:00
Fabian Becker
cf0a3cde8c Compile SASS using node-sass
closes #5
- Added node-sass to package.json
- Added new grunt tasks to compile sass and copy fonts/css to dist
- Added new folders to .gitignore
- Added clean task
- Fixed README
2014-03-06 17:05:08 +01:00
Hannah Wolfe
4db72aed7e Merge branch 'master' into ember
Conflicts:
	.gitignore
	Gruntfile.js
	bower.json
	core/client/assets/lib/showdown/extensions/ghostdown.js
	core/client/assets/vendor/showdown/extensions/ghostdown.js
	core/client/router.js
	core/clientold/assets/vendor/chart.min.js
	core/clientold/assets/vendor/codemirror/addon/mode/overlay.js
	core/clientold/assets/vendor/codemirror/codemirror.js
	core/clientold/assets/vendor/codemirror/mode/gfm/gfm.js
	core/clientold/assets/vendor/codemirror/mode/gfm/index.html
	core/clientold/assets/vendor/codemirror/mode/gfm/test.js
	core/clientold/assets/vendor/codemirror/mode/markdown/index.html
	core/clientold/assets/vendor/codemirror/mode/markdown/markdown.js
	core/clientold/assets/vendor/codemirror/mode/markdown/test.js
	core/clientold/assets/vendor/countable.js
	core/clientold/assets/vendor/fastclick.js
	core/clientold/assets/vendor/icheck/jquery.icheck.min.js
	core/clientold/assets/vendor/jquery.hammer.min.js
	core/clientold/assets/vendor/nprogress.js
	core/clientold/assets/vendor/packery.pkgd.min.js
	core/clientold/assets/vendor/showdown/extensions/ghostdown.js
	core/clientold/assets/vendor/showdown/showdown.js
	core/clientold/assets/vendor/validator-client.js
	core/test/unit/client_ghostdown_spec.js
	core/test/unit/client_showdown_int_spec.js
2014-03-05 23:10:44 +00:00
Fabian Becker
4b562c2762 Remove unused libraries.
refs #2326
- Remove unused libraries from core/client/assets/vendor/
- Add folder to .gitignore
- bower install is now handled by grunt init
2014-03-05 10:20:56 +00:00
Jonathan Johnson
97dce96fa1 Update validator to 3.4.0
Closes #1379

- Convert to new api usage for both server-side and client-side
- Provide way require a negative response for boolean methods in
  default-settings.json
- Add field validation functional tests
  - Settings (General)
    - Title length validation
    - Description length validation
    - postsPerPage, numeric, min, max
  - Settings (User)
    - Bio Length validation
    - Location length validation
    - Url validation
  - Login
    - Email validation
  - Editor
    - Title required validation
2014-03-04 13:54:24 -07:00
Hannah Wolfe
a17067d8e6 Merge pull request #2294 from shashankmehta/apps-config
Shifts app UI behind config option
2014-03-04 20:21:13 +00:00
Fabian Becker
aaedc4db4d Switch to bower for client assets.
fixes #2272
- Remove libraries from shared/vendor
- Remove libraries from client/assets/vendor
- Add bower to package.json and postinstall
- Add bower.json with dependencies
- Add scripts from bower_components to concat/uglify
- Fix tests
- Serve jquery from /ghost/built/theme/
2014-03-04 20:09:26 +00:00
Fabian Becker
f0c6aec36d Replace JSLint with JSHint.
closes #2277
- Added ES6 linting to core/client/
- Fix typeof array comparison
2014-03-04 15:47:39 +00:00
Shashank Mehta
48b5c20989 Shifts app UI behind config option
Closes #2287
- adds helper for checking whether to show apps UI or not
- hides app UI from settings page
2014-03-03 02:52:30 +05:30
Shashank Mehta
f34ea3bc0a Prevent settings page from rendering same page twice
Closes #2316
- There was a check to prevent rerendering of same content pane but it wasn't working
- Fixed the check for this
2014-03-03 02:30:09 +05:30
John O'Nolan
41c9a78eed Remove old references to plugins
See TryGhost/Ghost/2295
2014-03-01 11:37:38 +01:00
Sean Hellwig
43a1747f52 Add plugin icons to Apps menu item in Ghost settings
closes #2290
- added css entry in settings.scss for to display plugin icon for apps menu item
- remove unused css entry for .plugins in settings.scss
2014-03-01 01:13:19 -08:00
Gabor Javorszky
8b00f94c9d Implements Initial lifecycle and App UI start
Closes #2083

* Added hbs template for apps listing
* Added settings to read the activeApps
* Added viewcontrol to activate / deactivate apps
* Added API handler to store activeApps (by `name` in the `package.json` file)
* On button click it turns the button into "Working" and changes class to `button` (grey one)
* On success, rerenders the pane, adds success notification about apps being saved
* On error, rerenders the pane, adds error notification with error message

Missing:
* tests: couldn't figure out how to add mock apps with mock package.json data
* actually registering, etc, re #2140
* icon from the sidebar
2014-02-28 14:06:36 +00:00
Hannah Wolfe
0575ed5a3c Merge pull request #2256 from caerphoto/1795-typography
Add support for typographically-correct punctuation
2014-02-28 10:49:06 +00:00
Andy
75812b332f Add support for typographically-correct punctuation
Closes #1795
- Added typography.js Showdown extension
- Updated RSS test to support new typographic quotes
2014-02-28 09:44:08 +00:00
Hannah Wolfe
0a03dbb65b Merge pull request #2246 from knunery/issue#1432
Fixes client side bio character counter.
2014-02-27 16:02:13 +00:00
Taras Mankovski
988a127a3e Added directory structure 2014-02-27 07:20:30 -05:00
Harry Wolff
d456281668 Move Ember Admin to use es6 modules
- adds required dependencies to package.json
 and to bower.json
- added required Grunt tasks to transpile and
 concat ember admin files
2014-02-26 23:48:54 -05:00
Harry Wolff
8b91492830 Add basic template for Ghost admin in Ember
Inspired and derived from:

https://github.com/taras/Ghost/compare/ember-admin
https://github.com/manuelmitasch/ghost-admin-ember-demo
https://github.com/stefanpenner/ember-app-kit
2014-02-26 20:39:45 -05:00
Hannah Wolfe
3c25d4aaed Rename client -> clientold
issue #2271

- should allow development of new admin UI whilst still having access to the old ui
2014-02-27 00:52:04 +00:00
Hannah Wolfe
1c78f03121 Renamed client-side admin url helper
fixes #2254

- includes test
2014-02-25 06:44:06 +00:00
John O'Nolan
1f76f67a0c Update description of npm
* Fixes #2
* Solves world hunger
* Significantly improves the global economy
* Fixes the recession
* Measurably improves code worldwide
2014-02-24 08:12:28 +01:00
Kyle Nunery
3ef415a3a4 Fixes client side bio character counter.
closes #1432
2014-02-23 16:16:45 -06:00
John O'Nolan
026aec95aa Disclaimer 2014-02-23 17:38:52 +01:00
John O'Nolan
1420b03802 Initial commit 2014-02-23 15:07:01 +01:00
John O'Nolan
d33c66c268 Initial commit 2014-02-23 05:56:45 -08:00
Brad Dougherty
ce787c6ecf Update delete all content button labels
issue #2027
2014-02-22 14:13:51 -05:00
Brad Dougherty
197b479394 Update delete post button labels
Closes #2027
2014-02-22 12:09:53 -05:00
Kyle Nunery
491bb9a491 Updated pageUrl helper to page_url
issue #2216
2014-02-20 15:29:14 -06:00
Paul Adam Davis
c952b50586 Fix Firefox <select> height issue
closes #1109
- Use moz-specific selector to make <select> elements use auto height
2014-02-20 12:16:43 +00:00
Sam Saccone
7ff076c054 abstract mobile interactions js
DRY up repeated code and simplify logic.
2014-02-19 15:52:37 -05:00
Sebastian Gierlinger
5f28ea1bae Improvements for models
#closes #1655
- removed models as parameter for bookshelf-session
- changed to read permittedAttributes from schema.js
- changed updateTags to be executed at saved event
- added validate to execute after saving event
- added test for published_at = null (see #2015)
- fixed typo in general.hbs
2014-02-19 14:57:26 +01:00
Paul Adam Davis
9af1ecfc47 Fix input:focus border issues from #2088 2014-02-18 16:59:01 +00:00
Gabor Javorszky
fa70603332 Added package.js support for themes (and plugins)
Closes #2081
* Amended require-tree to populate availableThemes and availablePlugins to use full file names (`basename.ext`) as keys instead of just basename. This way `image.jpg`, `image.png`, `image.gif` won't overwrite the `image` key.
* Amended require-tree to allow package.json file parsing to return the contents of the file as json on the `package.json` key.
* settings api populates theme data `package` if it exists. Otherwise it assigns `false` to it
* `general.hbs` (salute) was reworked to if there is the package key on the theme is not false, it will use the `name` and `version` keys of that. You can break it by not having a `name` or `version` in the package.json file.
* Added error and warning messages for package.json file parse errors and misses
2014-02-13 23:57:58 +00:00
Hannah Wolfe
ed4a330778 Merge pull request #2147 from gmurphey/master
Tweaking slug logic in post settings.
2014-02-08 22:13:03 +00:00
Hannah Wolfe
7151692c67 Merge pull request #2097 from zacgeis/publishbutton-fix
Disable publish button until deffered is resolved
2014-02-08 15:28:13 +00:00
Garrett Murphey
0b96023872 Tweaking slug logic in post settings.
Closes #2136.
- sets slug to placeholder text if slug is blank
2014-02-07 21:59:33 -05:00
Xie JinBin
95b17d9862 Tag needs escaping. Wrongly call showSuggestions.
close #2087, fix #2089
- escape tag.
- do not call showSuggestions when key is UP/DOWN. or the selected tag will
  always be clear.
2014-02-04 23:31:50 +08:00
Zach Geis
30cbfa6382 Disable publish button until deffered is resolved
closes #2040
- save post disables the publish button
- publish button remains disabled until deffered object is resolved
2014-02-01 16:38:40 -06:00
John O'Nolan
fa06893d81 Override border on login input:focus
Fixes #2088
2014-01-31 18:30:14 +07:00
John O'Nolan
c99d2decc9 Spit & Polish 2014-01-30 23:53:07 +07:00
Hannah Wolfe
95dfe881df Merge branch '0.4-maintenance' 2014-01-30 13:17:58 +00:00
Hannah Wolfe
b434a04016 Post settings published_at date improvements & fixes
closes #1866, fixes #2067, fixes #2068

- Upgrade client side moment to 2.4.0 to match the server side script.
- Add a guard to pub date to fix #2067
- Add new format to close #1866
2014-01-29 22:33:43 +00:00
Hannah Wolfe
5db46c7754 Merge branch '0.4-maintenance' 2014-01-28 09:25:38 +00:00
John O'Nolan
ea11a7d9af Hide extra space taken up by update notification
See #1995
2014-01-28 09:07:36 +00:00
Hannah Wolfe
6052e59e09 Merge pull request #2020 from redwallhp/master
Minor code cleanup of editor keyboard shortcut actions.
2014-01-27 14:36:20 -08:00
Hannah Wolfe
810f97eaf8 Merge pull request #1972 from jgillich/character-limit
Show character limit below blog description textarea
2014-01-27 14:32:52 -08:00
Paul Adam Davis
223b23ec4a Move styling from some elements from IDs to classes
Closes #1605

* Move styling for `#signup`, `#forgotten`, `#reset`, `#login`, `#usermenu` and `#notifications` to classes

No IDs have been added or removed, so any events shouldn't be affected and it passes all tests.
2014-01-27 21:50:19 +00:00
Mikkel Hoegh
1a4c13a63f Refactor click handlers on upload button.
closes #2028
- Instead of binding and unbinding the click event, bind the data to the
  outer scope so we can use a standard click handler.
- Use removeProp instead of setting the property to false when enabling.
- Use the `disabled` as value when disabling.
2014-01-27 21:35:24 +00:00
Hannah Wolfe
288b09b280 Merge pull request #2049 from javorszky/iss-1841
Guard against multiple signup events
2014-01-27 13:33:55 -08:00
Hannah Wolfe
a0eb29eb87 Post settings don't render on change
fixes #1908

- each individual update function handles rendering its own item on success or failure, rather than re-rendering the whole group
- also resolved a bug where the published date didn't get reset properly on error
2014-01-27 10:55:22 +00:00
Gabor Javorszky
d02b92373e Guard against multiple signup events
Fixes #1841
* Added initial flag "no" for submission into Signup View
* Flag set to "yes" if submit button clicked
* Error thrown if flag is "yes", thus no subsequent submission sent to API
* Flag set to "no" if ajax returns with error
2014-01-26 22:38:50 +00:00
Hannah Wolfe
e81893a7ef Merge branch '0.4-maintenance'
Conflicts:
	core/server/config/paths.js
	core/test/unit/config_spec.js
2014-01-26 16:11:02 +00:00
Harry Wolff
ba386f1e37 Have NProgress called for all ajax calls
fixes #2011

- rather than trigger NProgress for fetch calls
 I’ve moved it to be used for all sync calls

- issue #2011 was a result of NProgress only being
 called during a fetch() call, which when saving
 is not used - save() is.  Sync is used by all
 ajax calls.
2014-01-26 00:09:01 -05:00
redwallhp
c9e5aee296 Minor code cleanup of editor keyboard shortcut actions.
Signed-off-by: redwallhp <matt@ntugo.com>
2014-01-25 21:23:17 -05:00
John O'Nolan
c3e3d688ab Larger min-height for textareas, and size based on font size 2014-01-21 14:35:47 +07:00
John O'Nolan
35d2fc99d7 Prevent form field descriptions from becoming unwieldily long
Yes that’s a word. As of now.
2014-01-21 14:33:05 +07:00
Hannah Wolfe
9715e1994d Merge pull request #1950 from Damiya/1893-fix
Enable Escape key to close tag suggestion popup
2014-01-20 06:28:15 -08:00
Hannah Wolfe
659cda19e7 Merge pull request #1951 from Damiya/1902-fix
Prevent stacking of password mismatch notification on /reset/
2014-01-20 06:12:25 -08:00
Hannah Wolfe
a0ebf1198d General cleanup
- Cleanup some todos, comments, and unused variables
2014-01-19 21:08:39 +00:00
Jakob Gillich
03c16bae24 Show character limit below blog description textarea
closes #1970
2014-01-17 21:39:43 +01:00
Jason Williams
553cb35913 Show message and don't start if javascript files have not been built
fixes #1782
- added builtFilesExist function to check for files during startup.
  If built files do not exist Ghost startup is stopped and a link
  to the documentation is displayed.
- exported a scriptFiles object from server/helpers.
- added a builtScriptPath to the paths module.
- removed "js-msg" about missing javascript from the UI.
2014-01-15 19:10:43 +00:00
Kate von Roeder
09b35b77d9 Prevent stacking of password mismatch notification on /reset/
closes #1902
- Missing call to clearEverything caused the new notifications to pile up on multiple failed submissions
2014-01-14 13:58:38 -08:00
Kate von Roeder
bafc27d454 Enable Escape key to close tag suggestion popup
closes #1893
- Checking the contents of search term after evaluating the keycode caused the suggestion box to be hidden and immediately reshown
- Moving the if/else to the top of the function enables us to fix the issue without complicating the suggestion update logic
2014-01-14 13:17:06 -08:00
Hannah Wolfe
2705a28da9 Publish date and time display fix
no issue

- add @ symbol to ensure date and time are clear
2014-01-13 02:39:08 +00:00
Hannah Wolfe
f166440334 No select or text cursor on rendered preview
fixes #1595

- prevents the backspace key from doing terrible things
2014-01-11 16:05:33 +00:00
Zach Schneider
1007e8e5ad Prevented duplicate binding of upload button on debug importer
Fixes #1899
2014-01-10 18:08:24 -05:00
Hannah Wolfe
e5cd8eb3be Change help text wording on settings page 2014-01-10 20:05:38 +00:00
Hannah Wolfe
3e3e90daf5 Merge pull request #1894 from ErisDS/issue-1558
Notifications can be dismissed with ESC
2014-01-09 13:24:41 -08:00
Hannah Wolfe
ce75435865 Notifications can be dismissed with ESC
issue #1558

- this is a partial / short term fix for the problem with extra long notifications, so that there is at least one way to remove them.
2014-01-09 20:34:16 +00:00
Hannah Wolfe
cd750b11fb Merge pull request #1888 from hswolff/additional-ux
Update placeholder of published data in editor
2014-01-09 05:04:09 -08:00
Harry Wolff
1c8b96fea3 Update placeholder of published data in editor
fixes #1351

- when a post has a published_at value show a blank
placeholder

- when a post doesn’t have a published_at
value then show the required published at value
format
2014-01-07 23:13:16 -05:00
Jacob Gable
260252e511 Fix hanging loading bar on deleting a post
Closes #1869

- Added an additional event listener for destroy event, then a listener
on the model for the sync event to finish the progress bar loader
2014-01-07 18:56:00 -06:00
John O'Nolan
3c1a7e03b5 Fixed tag display issues
The tags UI is pretty messed up all round. This fix makes it work properly at least on desktop. Mobile needs a lot more love. This is a followup to #1774 and most problems stemming originally from #710
2014-01-07 23:29:59 +01:00
John O'Nolan
febd6599ad Fix John being stupid
See #1878
2014-01-07 22:20:32 +01:00
John O'Nolan
460bcfdd1a Speed up heinous slow animations 2014-01-07 22:19:52 +01:00
John O'Nolan
4b4d9d822f Update post settings checkbox
* Fixed display bug in firefox, cause firefox is utter shit. Closes #1878
* Fixed minor animation bug where checkmark was missing transitions on click
2014-01-07 21:54:16 +01:00
John O'Nolan
e5d6a91ab2 Get rid of old todos
Cause they’re already fucking done
2014-01-07 19:20:16 +01:00
Harry Wolff
3213a0aa3d Extending halfdan’s work for UX settings improvements
#1351

- prevent a new post (not saved on server) from
updating its slug/date to the server

- fix jshint

- add back creation of a posts slug upon a post creation

- update for rebasing

- hide ability to ‘delete this post’ from post settings
menu when a post hasn’t yet been saved to the server
2014-01-06 21:33:24 -05:00
Fabian Becker
1b19fdb64a New Post UX behaviour.
refs #1351
- Make generateSlug a static method on base model
- Change client behaviour (unfinished)
- Add new getSlug API method
2014-01-06 21:05:17 -05:00
Sebastian Gierlinger
01f79c2921 Use ajax for import
closes #1854
- added blueimp file upload to debug.js
- changed POST /ghost/api/v0.1/db to be used with AJAX
- cache invalidation header should now work for import
- moved busboy middleware invocation to routes/api and routes/admin
- moved api.db.import to api.db.importContent (I hated the [] notation)
- moved api.db.export to api.db.exportContent (see above)
2014-01-06 22:55:43 +00:00
Hannah Wolfe
ee6c22b6e1 New URL helper - URL consistency fixes
fixes #1765
fixes #1811
issue #1833

New UrlFor functions

- moved body of url helper to config.path.urlFor, which can generate a URL for various scenarios
- urlFor can take a string (name) or object (relativeUrl: '/') as the first
  argument - this is the first step towards issue #1833
- also added config.path.urlForPost which is async and handles getting
  permalink setting
- frontend controller, ghost_head helper, cache invalidation all now use
  urlFor or urlForPost all urls should be correct and consistent

URL Consistency Improvements

- refactored invalidateCache into cacheInvalidationHeader which returns a
  promise so that url can be generated properly by urlForPost
- moved isPost from models to schema, and refactored schema to have a tables object
- deleted posts now return the whole object, not just id and slug,
  ensuring cache invalidation header can be set on delete
- frontend controller rss and archive page redirects work properly with subdirectory
- removes {{url}} helper from admin and client, and replaced with adminUrl
  helper which also uses urlFor
- in res.locals ghostRoot becomes relativeUrl, and path is removed
2014-01-06 15:15:48 +00:00