1486 Commits

Author SHA1 Message Date
Franz Liedke
901b6b0839 Provide empty run() method.
This allows me to override the handle() method in subclasses (where
I need access to the request object) without having to overwrite
run(), too.

The class is still abstract.
2015-03-25 13:00:23 +01:00
Toby Zerner
3081fe2aa4 Fix DiscussionWasStarted event not being dispatched 2015-03-24 19:50:52 +10:30
Toby Zerner
8be486a31d Don't show deleted posts in the activity feed 2015-03-24 19:41:30 +10:30
Toby Zerner
43842623aa Only include visible posts in post linkage 2015-03-24 19:29:47 +10:30
Toby Zerner
c35b472e66 Fix non-comment post content serialization 2015-03-24 17:03:59 +10:30
Toby Zerner
193bb0b085 Fix error if there is no included data with user
i.e. if the logged in user is unconfirmed (doesn’t have any groups
attached)
2015-03-24 16:55:22 +10:30
Toby Zerner
4a1550215c Implement notifications 2015-03-24 15:07:38 +10:30
Toby Zerner
1d1025dcd2 Only show comment posts in activity feed 2015-03-24 15:07:11 +10:30
Toby Zerner
e62119964b All post types get numbers
Decided this is necessary because some notifications will need to link
to posts which are not comments (e.g. a “renamed” post)
2015-03-24 15:06:57 +10:30
Toby Zerner
a62e04f956 Upgrade to JSON-API RC3 + latest version of tobscure/json-api
Note: npm source for ember-json-api changed to a fork, but I still had
to apply a custom change to get polymorphic relationships to work (see
https://github.com/kurko/ember-json-api/pull/71#issuecomment-85257281)
2015-03-24 15:04:24 +10:30
Toby Zerner
3880ce70f0 Add user activity system 2015-03-17 17:06:12 +10:30
Toby Zerner
c3fd7679d3 Fix error when hiding/restoring posts 2015-03-17 17:01:42 +10:30
Toby Zerner
4804d95b37 Implement user "bio" field
Perhaps this should be an extension, but it is pretty essential and I
can’t think of many instances where it wouldn’t be wanted. Would be
very easy to extract later on if need be.
2015-03-12 10:38:18 +10:30
Toby Zerner
6ffba13205 Implement user searching & minor search refactor 2015-03-12 10:37:02 +10:30
Toby Zerner
2882ecd46e Rename user posts count to comments count 2015-03-12 10:34:59 +10:30
Toby Zerner
df75c68ac4 Fix welcome hero link for demo 2015-02-26 15:30:07 +10:30
Toby Zerner
f67098461d Use sender information from config 2015-02-26 15:23:09 +10:30
Toby Zerner
2884662723 Prepare welcome hero for demo 2015-02-26 13:30:13 +10:30
Toby Zerner
225a618713 Fix password hashing 2015-02-26 13:29:36 +10:30
Toby Zerner
57f4dc6091 Have a go at some error handling
Still not happy with how this is all fitting together. But good enough
for now
2015-02-26 12:48:23 +10:30
Toby Zerner
c09e47c434 Temporary fix for read marking 2015-02-26 12:46:27 +10:30
Toby Zerner
b4f3148e30 Remove Middleware suffix 2015-02-26 12:45:44 +10:30
Toby Zerner
f2fe0a2e1d Fix setting user to null, for now
Still need to flesh out the exact purpose/use of the Actor class
2015-02-26 12:45:29 +10:30
Toby Zerner
074b4d0989 Add model validation back in 2015-02-26 12:44:39 +10:30
Toby Zerner
a079535883 I dun goofed 2015-02-25 15:44:09 +10:30
Toby Zerner
6a0cbbbe70 Fix logout action 2015-02-25 15:36:25 +10:30
Toby Zerner
3c53e512de Fix bug causing wrong index to be returned 2015-02-25 15:36:17 +10:30
Toby Zerner
9ea482254c Finish signup process, including state restoration 2015-02-25 15:34:02 +10:30
Toby Zerner
2c46888db5 Upgrade to L5 + huge refactor + more. closes #2
New stuff:
- Signup + email confirmation.
- Updated authentication strategy with remember cookies. closes #5
- New search system with some example gambits! This is cool - check out
the source. Fulltext drivers will be implemented as decorators
overriding the EloquentPostRepository’s findByContent method.
- Lay down the foundation for bootstrapping the Ember app.
- Update Web layer’s asset manager to properly publish CSS/JS files.
- Console commands to run installation migrations and seeds.

Refactoring:
- New structure: move models, repositories, commands, and events into
their own namespaces, rather than grouping by entity.
- All events are classes.
- Use L5 middleware and command bus implementations.
- Clearer use of repositories and the Active Record pattern.
Repositories are used only for retrieval of ActiveRecord objects, and
then save/delete operations are called directly on those ActiveRecords.
This way, we don’t over-abstract at the cost of Eloquent magic, but
testing is still easy.
- Refactor of Web layer so that it uses the Actions routing
architecture.
- “Actor” concept instead of depending on Laravel’s Auth.
- General cleanup!
2015-02-24 20:33:18 +10:30
Toby Zerner
0e4e44c358 Preliminary email confirmation implementation
Whenever a user registers or changes their email, they are sent an
email containing a link which they must click to confirm it.

Upon registering, a user won’t be assigned to any groups and therefore
won’t have permission to do anything (but they can still log in!) Upon
confirming their email for the first time, their account will be
assigned to the Member group and thus “activated”.
2015-02-16 14:52:53 +10:30
Toby Zerner
b6ef1f296e Cleanup 2015-02-16 14:50:38 +10:30
Toby Zerner
9bb7001645 Better check for user property in command validators 2015-02-16 14:48:10 +10:30
Toby Zerner
540902cd7a Seed renamed posts properly 2015-02-13 11:44:19 +10:30
Toby Zerner
5e09fd7cd8 Explicit mapping of post type to class 2015-02-13 10:30:32 +10:30
Toby Zerner
011ae3603e Implement "renamed" posts
Record when the discussion was renamed, from what, and by whom.
Information is stored in the `content` field as a serialised JSON
object because proper polymorphism will be too difficult with Ember
Data and especially when extensions try to add new post types.
2015-02-13 10:23:38 +10:30
Toby Zerner
5229c5c06a Mark a discussion as read when it is created 2015-02-12 15:18:45 +10:30
Toby Zerner
6138825db6 Only show reply button if user has permission 2015-02-12 15:17:20 +10:30
Toby Zerner
36787bcf45 Implement hard deletion and rename soft delete to hide 2015-02-12 14:35:24 +10:30
Toby Zerner
cf88fda8c8 Always add discussion state information 2015-02-10 17:53:52 +10:30
Toby Zerner
e30ae7b7b8 Don't imply order on posts relationship 2015-02-10 17:53:16 +10:30
Toby Zerner
8e5cbcd196 Add unordered list formatting 2015-02-10 17:52:13 +10:30
Toby Zerner
624d3d70bb Refresh comments count when updating metadata 2015-02-10 17:51:39 +10:30
Toby Zerner
227f19ddf6 Change API attribute for hiding/restoring posts 2015-02-10 17:51:16 +10:30
Toby Zerner
f56da376da Prevent unnecessary events from being triggered 2015-02-10 17:49:42 +10:30
Toby Zerner
8e6011e8d0 API for marking all as read 2015-02-10 17:48:58 +10:30
Toby Zerner
af94f22334 Rejig post formatting 2015-02-09 09:49:48 +10:30
Toby Zerner
d45f2fd1ac Signup + modal refactoring 2015-02-08 15:59:39 +10:30
Toby Zerner
077975fb17 Fix index sorting 2015-02-08 15:57:41 +10:30
Toby Zerner
7863f0114c Make post types/components more flexible 2015-02-08 15:56:44 +10:30
Toby Zerner
59964e3b22 Implement post editing 2015-02-08 15:55:33 +10:30