Commit Graph

1346 Commits

Author SHA1 Message Date
Paul Adam Davis
acb45cb660 Change signout link to button
References https://github.com/TryGhost/Ghost-UI/issues/65

- Swap signout link from an `<a>` tag to `<button>`
- Changed tests to match new element
2014-07-23 22:12:45 +01:00
Sebastian Gierlinger
56eee1a84c Transfer Ownership
closes #3364 (special thanks to @jaswilli)
closes #3087
- added modal
- added controller
2014-07-23 12:41:31 +02:00
Hannah Wolfe
302b360194 Merge pull request #3367 from jaswilli/issue-3161
Get Ember Admin ready for production
2014-07-23 04:47:19 +01:00
Hannah Wolfe
8845f25e02 Merge pull request #3365 from PaulAdamDavis/user-list-img-bg-swap
Make user list images background-image's
2014-07-23 04:11:14 +01:00
Hannah Wolfe
4eb03af0a3 Merge pull request #3358 from IanMitchell/sidebar-role
Hide Settings Sidebar Based on Role
2014-07-23 03:41:40 +01:00
Jason Williams
ddcb441268 Get Ember Admin ready for production
Closes #3161
- Add a config.js file for the client which is used to configure
  Ember.Application during runtime. The correct version of config.js
  is copied into place by grunt via the copy:(dev|prod) task from
  either config-dev.js or config-prod.js.
- Serve minified and production versions of libraries where applicable
  including handlebars-runtime and ember-prod.
- Bundle third party libraries into vendor.min.js.
- Bundle Ghost's Ember app and templates into ghost.min.js
- Remove all fixture data and code from the client.
2014-07-22 22:33:49 +00:00
Paul Adam Davis
0de40016ab Make user list images background-image's
References https://github.com/TryGhost/Ghost-UI/issues/76

- Swap user avatars in the user list from ing tags to background images
2014-07-22 20:13:30 +01:00
Ian Mitchell
5db86f2356 Hide Settings Sidebar Based on Role
Implements #3294. Currently, we don’t have a permission system on the
client side, so this relies on a hardcoded “author” string.
2014-07-22 08:03:52 -07:00
Jason Williams
6c5d1a6267 Update Users API to handle role objects or ids
Closes #3357
- API method User#edit now handles User objects that have either
  an array of Role ids or objects.
- Fixed error handler notification on upload modal controller.
2014-07-22 05:48:16 +00:00
Hannah Wolfe
1b5a682e13 Merge pull request #3341 from PaulAdamDavis/psm-class-ammend
Correct markup for the PSM author dropdown
2014-07-22 01:12:45 +01:00
Hannah Wolfe
2263d05926 Merge pull request #3356 from IanMitchell/header-role
Hide Settings Tab if Author
2014-07-21 23:48:01 +01:00
Hannah Wolfe
a2ed33ec7e Merge pull request #3347 from jaswilli/posts-content
Only load posts once on navigating to content tab
2014-07-21 23:47:55 +01:00
Ian Mitchell
3d4981307f Hide Settings Tab if Author
Implements #3293. Currently, we don’t have a permission system on the
client side, so this relies on a hardcoded “author” string.
2014-07-21 14:31:10 -07:00
Ian Mitchell
9bd7c59c31 Implements User Role Label
Closes #3287.
2014-07-21 13:31:25 -07:00
Paul Adam Davis
55951a0736 Correct markup for the PSM author dropdown 2014-07-21 21:15:14 +01:00
Hannah Wolfe
908e800b09 Merge pull request #3351 from sebgie/no-inline-script
Remove inline script from default.hbs
2014-07-21 20:55:18 +01:00
Jason Williams
20f473cb88 Only load posts once on navigating to content tab
No Issue
- Loading posts from the API should not be necessary in PostsIndexRoute
  because its parent resource (PostsRoute) pre-loads the store.
  Changing the store.find to store.all gets rid of a duplicate
  network request to load all posts.
2014-07-21 19:44:03 +00:00
Hannah Wolfe
13f14a5f61 Merge pull request #3346 from jaswilli/issue-3325
Extend adapter to support automatic includes
2014-07-21 20:38:57 +01:00
Hannah Wolfe
77da525b0f Merge pull request #3337 from morficus/issue-3222
Pagination on the Users Management screen
2014-07-21 20:34:53 +01:00
Jason Williams
d7ad418900 Fix check for using default cover image
Closes #3348
- Cover attribute is a string so its typeof will always return
  string. Switch check to Ember.isBlank.
2014-07-21 18:04:49 +00:00
Maurice Williams
fb170d1725 Pagination for Users Management screen
closes #3222
- implementing server-side pagination for /users API
- passing /users?limit=none will return all users
- passing /users?status=invited will filter base on user status
- creating 3 mixins (route, controller and view) to keep pagination logic DRY
- updating route, controller and view for Posts to use new mixing
- implementing infinite scrolling for Users Management screen (using new mixins)
- Users Management screen displays all invited users, but paginates active users
2014-07-21 14:03:26 -04:00
Sebastian Gierlinger
c2c0d1bade Remove inline script from default.hbs
no issue
- added config values as data attributes
- removed inline script
- removed current-user.js
2014-07-21 20:00:54 +02:00
Jason Williams
0bfe99af72 Extend adapter to support automatic includes
Closes #3325
- Add Roles model and add hasMany roles to User model.
- Add EmbeddedRelationAdapter that will automatically include
  hasMany relations in calls to the API.
- UserAdapter and PostAdapter now extend EmbeddedRelationAdapter
  and all explicit includes from store.find() have been removed.
2014-07-21 17:05:13 +00:00
Hannah Wolfe
95d3925c3e Merge pull request #3345 from novaugust/model-relationships
Add relationships to client models
2014-07-21 16:17:43 +01:00
Matt Enlow
b9e755f142 Add relationships to client models
No issue
- Removed tabs from tag.js (why didn't jshint catch this?)
- Removed superfluous `activate` in SettingsIndexRoute
- updated `UserModel` and `TagModel` to have `created_by, updated_by` be references to `user` objects.
- updated `UserModel` to use `moment-date` instead of `date`
2014-07-21 08:01:59 -06:00
Hannah Wolfe
d3491c53b9 Adding helper for invite status
closes #3309, refs #3229

- adds different message depending on status
- doesn't delete the new user if the problem was an email error
- filters the 2 lists based on all statuses
2014-07-20 09:23:57 +01:00
John O'Nolan
19d9db085d Second pass on refactor - starting to introduce new global navigation component 2014-07-20 01:55:29 +02:00
John O'Nolan
02d3756cd8 First pass refactor - cleaning the slate 2014-07-19 20:33:48 +02:00
Matt Enlow
9ad9e6e645 Add Author dropdown to PostSettingsMenu
Ref #3084
This PR does NOT hide the dropdown as required to close 3084.

- `EditorNewRoute` creates post with the author set to the current user
- added `authors` ArrayPromiseProxy (whoa, what?) to PSM
- added `changeAuthor` function that sets author and saves model when the user selects a new author
2014-07-18 17:29:46 -06:00
Hannah Wolfe
17b87d7402 Merge pull request #3320 from jaswilli/dup-slug-get
Prevent duplicate slug request on saving new post
2014-07-19 00:14:15 +01:00
Hannah Wolfe
15448ede3a Merge pull request #3314 from jaswilli/issue-3160
Add a notify action to the notifications component
2014-07-19 00:11:10 +01:00
Hannah Wolfe
a5682bfe40 Merge pull request #3297 from jaswilli/issue-3271
Turn off autocomplete for user profile form
2014-07-18 16:07:03 +01:00
Jason Williams
da28b2f605 Prevent duplicate slug request on saving new post
No Issue
- Do not run generateSlugPlaceholder if save has been initiated
  and the title has already been set on the post. At that stage
  a slug has already been generated and another API call is not
  necessary.
2014-07-18 15:05:10 +00:00
Paul Adam Davis
f9ef18afac Add class to invited users container
No issue

- Relates to 447c7d77ec (diff-acda43902fe5a16fa255b16e7b32e6d0R14)
- Adds class to the invited users container, used only for spacing right now
2014-07-18 09:02:35 +01:00
Paul Adam Davis
afade36796 Fix height bug on public bar unpublished button
Closes #73
2014-07-18 08:51:27 +01:00
Jason Williams
73be0780b9 Add a notify action to the notifications component
Refs #3160
- gh-notifications component now takes an optional notify
  parameter.  If present it will be invoked as an action
  when a notification is added or removed.
- Add a data-notification-count attribute to the main container
  that tracks the number of "top" notification messages that
  are currently being shown.
2014-07-17 17:34:38 +00:00
Jason Williams
12c276f5ad Turn off autocomplete for user profile form
Closes #3271
2014-07-17 17:09:20 +00:00
Paul Adam Davis
3e59f022a2 Correct height on auth inputs
Closes #72

Also refactored auth inputs to make them DRYer.
2014-07-17 17:18:54 +01:00
Jacob Gable
1181c18f20 Fetch actual user on settings/users/user
Closes #3279

- Switch from this.session.get('user') to this.store.find('user') and
some further limiting until a custom user adapter is created
- Switch the deactivate logic to rollback the used model
- Pass the user as the model in the link-to in user list template
2014-07-17 10:44:39 -05:00
Paul Adam Davis
fff19ec0d5 Spacing for invited users list class & fixes
- Fix disappearing right border on invite user modal
- Refactor rounded corners on login form
- Remove commented-out code from modals
2014-07-17 15:48:09 +01:00
Hannah Wolfe
7713b73a00 Merge pull request #3304 from JohnONolan/noplaceholder
Removing erroneous placeholder text from user profile
2014-07-17 13:23:04 +01:00
Hannah Wolfe
8fdbdc1c5e Merge pull request #3308 from JohnONolan/newsignup
New signup screen
2014-07-17 13:09:53 +01:00
John O'Nolan
849936bf17 Removing erroneous placeholder text from user profile
Reverting the placeholder that was introduced in #2734 to fix #1623. We should handle this intelligently by automatically interpretting the input and using validation if we can't. The user should not have to know or care about what http is.

Regardless off any of the above, we should not be introducing user-facing text like this without proper consideration. A placeholder of "http://ghost.org" is far more confusing than no placeholder at all. It also looks like a cheap promotional tactic on our part.
2014-07-17 14:07:12 +02:00
John O'Nolan
c5a9765843 Fade in the setup form 2014-07-17 13:39:53 +02:00
John O'Nolan
d9b3d45463 New signup screen
See #3082 - This borrows setup screen styles for now
2014-07-17 13:34:40 +02:00
Paul Adam Davis
819370b815 Better mobile styles and spacing for user list and fix mobile Back button
Closes #69
2014-07-17 12:27:37 +01:00
John O'Nolan
abd070b90e More graceful fade-in animation 2014-07-17 13:00:53 +02:00
John O'Nolan
5af1539cb1 Restructuring setup styles so they can be used on signup, too 2014-07-17 12:29:16 +02:00
John O'Nolan
9c60d070ec More useful code comments 2014-07-17 11:34:51 +02:00
John O'Nolan
588e8b80bd Minor setup screen design tweaks 2014-07-17 11:25:11 +02:00
Paul Adam Davis
eb23f65fe0 Correct positioning of editor floating header elements
Closes #70
2014-07-17 10:10:56 +01:00
Paul Adam Davis
77cc6c3b72 Firefox fixes for new select style 2014-07-17 09:54:54 +01:00
Hannah Wolfe
69316c0dcb Merge pull request #3298 from jaswilli/issue-3288
Handle undefined datetime values
2014-07-16 20:02:44 +01:00
Jason Williams
6e32b9abe2 Handle undefined datetime values
Closes #3288
- Check for undefined last_login and created_at values that occur
  on a User model for an invited user.
2014-07-16 17:12:45 +00:00
Jason Williams
25ff26016e Prevent loading setup screen if already setup
Closes #3145
- Prevent navigation to the setup screen if Ghost setup
  has previously been completed.
- Fix templates that were incorrectly using foreach instead of each.
- Add validation for minimum password length.
- Fix up functional tests and split out tests for setup to a separate
  instance of casper because setup requires a new database.
- Add a cleanDatabase task to grunt which resets the database to
  new.
2014-07-16 15:54:42 +00:00
Paul Adam Davis
e219fb121e Refactor custom select styling
This is for both the global styling and the alternate version in the PSM for the author dropdown.

- `<select>` elements are note more accessible, with :focus support
- They no longer need a data-attr to show the currently selected item

NOTE: Does not work in Firefox. Yet.
2014-07-16 13:01:22 +01:00
Hannah Wolfe
3027c9fcdc Merge pull request #3277 from PaulAdamDavis/link-href-fixes
Replace anchors with no real href with buttons
2014-07-15 18:34:50 +01:00
Hannah Wolfe
3b66ff5d58 Merge pull request #3276 from sebgie/issue#3252
Move image upload to API
2014-07-15 18:09:32 +01:00
Paul Adam Davis
705aea63ee Replace anchors with no real href with buttons
Closes #3101 & #916
2014-07-15 17:43:21 +01:00
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