Commit Graph

945 Commits

Author SHA1 Message Date
Toby Zerner
840bbfd995 Don't destroy discussion list in case of a redraw
i.e. the one in index-page’s onunload → composer.minimize
2015-06-19 14:34:52 +09:30
Toby Zerner
c75e4f5a74 Tweak hero appearance 2015-06-19 13:55:20 +09:30
Toby Zerner
22f91bb7e4 Add model validation messages 2015-06-19 11:43:49 +09:30
Toby Zerner
d90a8142a1 Get signup working again 2015-06-19 11:43:36 +09:30
Toby Zerner
d14716fa4d Get login/forgot password working again 2015-06-19 11:19:49 +09:30
Toby Zerner
a714f12f8f Change criteria to work out which posts are intended to be displayed 2015-06-19 11:19:24 +09:30
Toby Zerner
46347023cc Implement time gap indicators
Get rid of short human times (1m, 1h, 1d) for now
2015-06-19 10:00:19 +09:30
Toby Zerner
96a2c0eb78 Run discussion events after first post is created 2015-06-19 09:07:39 +09:30
Toby Zerner
137f55317b Add API to add routes 2015-06-18 17:43:41 +09:30
Toby Zerner
555bb18acd Clean up some old code 2015-06-18 17:43:16 +09:30
Toby Zerner
32beab9238 Prevent JS error if discussion has been loaded without posts 2015-06-18 17:42:08 +09:30
Toby Zerner
f2b500a6e5 Use truncate for search suggestions 2015-06-18 17:41:47 +09:30
Toby Zerner
822a216cc9 Roughly implement routes and data preloading
Only preloading data for basic requests w/o query params, at least for
the moment - if we have to preload for something like
/?q=test&sort=newest, we end up having to duplicate a whole lot of
logic between JS/PHP.
2015-06-18 17:41:37 +09:30
Toby Zerner
c2da4a946f Remove unused CSS 2015-06-18 13:01:04 +09:30
Toby Zerner
2786dbd157 Simplify composer animation 2015-06-18 12:53:19 +09:30
Toby Zerner
6db3bd9178 Refactor some APIs 2015-06-18 12:45:14 +09:30
Toby Zerner
f2888ee65f Cache permissions per user ID 2015-06-18 12:44:13 +09:30
Toby Zerner
a7e02ca890 Fix permission check in UserSearcher 2015-06-18 12:43:20 +09:30
Toby Zerner
b7617fa5d3 Get rid of total count from UserSearcher
Same reasoning as 64e6b7d26c
2015-06-18 12:42:56 +09:30
Toby Zerner
11b740c768 Make sure user activity is synced when whole discussions are deleted
We need to fire the PostWasDeleted event for every post when a
discussion is deleted. This means deleting big discussions will be an
intensive process, but that’s OK because it’s very rare.
2015-06-18 12:41:00 +09:30
Toby Zerner
9cb257e11d Update core permissions stuff 2015-06-18 12:38:24 +09:30
Toby Zerner
1dd46526a8 Merge query params into request input as well 2015-06-18 12:24:51 +09:30
Toby Zerner
7bf1fad9d6 Fix fatal error on delete actions 2015-06-18 12:24:31 +09:30
Toby Zerner
4792a47265 Define static properties on SerializeAction subclasses
Explained in d1e7453ffd.

If we ever come up with a better way of doing this it should be easy to
change over, since modification of these properties by extensions is
abstracted by an Extend API.
2015-06-18 12:24:18 +09:30
Toby Zerner
574815c086 Update dependencies 2015-06-18 12:20:47 +09:30
Toby Zerner
bb651899b1 Extract into truncate helper 2015-06-17 18:22:14 +09:30
Toby Zerner
64b87f55c5 Revert "Prefix API routes for now"
This reverts commit f669b95fd1.
2015-06-17 18:14:41 +09:30
Toby Zerner
25d375cad4 Back to rewritten URLs 2015-06-17 17:58:43 +09:30
Toby Zerner
f669b95fd1 Prefix API routes for now 2015-06-17 17:48:50 +09:30
Toby Zerner
7596dec7b9 Comply to new interface 2015-06-17 12:48:10 +09:30
Toby Zerner
61bea371ab Use UrlGenerator to get avatar URL 2015-06-17 12:48:01 +09:30
Toby Zerner
b91ca93e09 Fix LoginWithCookie middleware being ineffective
Flarum\Support\Actor needs to be a singleton. There is a comment in
LoginWithHeader - is there a better approach to the whole Actor thing?
2015-06-17 12:47:49 +09:30
Toby Zerner
00cb2f2e55 Change event so that data can be modified before it is serialized 2015-06-17 12:46:50 +09:30
Franz Liedke
708782637e Change config values to match new base URLs 2015-06-17 02:37:06 +02:00
Franz Liedke
e8aff5bc95 Make sure generated usernames cannot break validation 2015-06-17 02:36:51 +02:00
Franz Liedke
ce34d922d7 Fix merge conflict 2015-06-17 01:27:44 +02:00
Franz Liedke
29c7bf1b42 Remove debug statement 2015-06-17 00:53:03 +02:00
Franz Liedke
1cbc60ca41 Merge branch 'master' into psr-7
Conflicts:
	src/Api/Actions/Discussions/IndexAction.php
	src/Api/Actions/SerializeAction.php
	src/Core/Formatter/FormatterManager.php
	src/Extend/ForumAssets.php
	src/Forum/Actions/IndexAction.php
	src/Forum/ForumServiceProvider.php
2015-06-17 00:52:50 +02:00
Franz Liedke
ffb28838b5 Add TODO message 2015-06-17 00:18:16 +02:00
Franz Liedke
33d663bc8e Revamp routing
All routes are now stored in a RouteCollection, which is then used
for dispatching by the (reusable) RouterMiddleware.

This change also entails moving all routes to the service providers.
This may be changed again later, and is done for convenience reasons
right now.
2015-06-17 00:16:35 +02:00
Toby Zerner
d1e7453ffd Override static property
@franzliedke I didn’t realise that static properties are static to the
class they are defined on, and not each individual subclass. All of the
static members of the SerializeAction class (which are intended for
extensions to alter per-action) are being inherited by all actions.

Any ideas on how to work around this other than defining every static
member on each individual subclass?
2015-06-16 21:55:59 +09:30
Toby Zerner
4b4ff1e7fd Add API to add a link to an action 2015-06-16 17:39:47 +09:30
Toby Zerner
f0df751465 Overhaul permissions
Get rid of Permissible - too complex and inefficient. Replace with:
- a “Locked” trait which works similarly but only evaluates logic on
hydrated models.
- a “VisibleScope” trait which also works similarly but only scopes
queries

This is all we need, Permissible is overkill. There is only one
instance where we have to duplicate some logic
(Discussion::scopeVisiblePosts and Post::allow(‘view’, …)) but it’s
barely anything.

Haven’t decoupled for now, we can definitely look at doing that later.

Permissions table seeder slightly updated.

Also did a bit of a query audit, there’s still a lot to be done but
it’s much better than it was. Some relatively low-hanging fruit
detailed in EloquentPostRepository.
2015-06-16 17:33:56 +09:30
Toby Zerner
27b9dbe4c4 Clear the page's min-height when navigating away 2015-06-16 17:23:14 +09:30
Toby Zerner
be2d0ac682 Add WillRespond event
So that custom data can be loaded onto a model before it is serialized.
(Tags extension uses this to load tags onto the forum model.)
2015-06-16 17:22:15 +09:30
Toby Zerner
c20a5bb793 Static relationship collections need to be initialised on subclasses
Will probably make this whole “custom relationships” thing a trait
instead of being on the base class
2015-06-16 17:21:04 +09:30
Toby Zerner
963078b375 Cache user permissions between calls 2015-06-16 17:18:02 +09:30
Toby Zerner
9ac1f53244 Add todo about query optimization 2015-06-16 16:59:48 +09:30
Toby Zerner
64e6b7d26c Remove total results from discussion searching
It’s too inefficient (requires a whole table scan) to do a query like:
select count(*) from discussions where [conditions determining
visibility]
2015-06-16 16:58:10 +09:30
Toby Zerner
c1e3820480 Add a serializer and API action to get information about the forum 2015-06-15 12:18:20 +09:30