Wykres commitów

1242 Commity (37d53b2e4e12cffaa8d1d1a574c2ff1e71f8511b)

Autor SHA1 Wiadomość Data
Marnanel Thurman 37d53b2e4e Status.content and Status.spoiler_text are now Status.content_source and Status.spoiler_source.
HTML renderings of each one are cached. You can access them at Status.content_as_html
and Status.spoiler_as_html.
2021-02-16 22:58:42 +00:00
Marnanel Thurman 061ce40101 Remote/local test for Status objects is remote_url__isnull 2021-02-15 18:24:48 +00:00
Marnanel Thurman 5bf75d6c98 Fixed expected results which were wrong 2021-02-15 18:24:34 +00:00
Marnanel Thurman dbdad70376 LocalPerson.inbox uses Q objects rather than union(), because
union precludes filtering later.

See:
https://stackoverflow.com/questions/49260393/django-filter-a-queryset-made-of-unions-not-working
2021-02-15 18:21:57 +00:00
Marnanel Thurman e77ce337c4 Heroic attempt to work with django_rest_framework instead of fighting against it.
Specifically, filter_queryset() does the filtering, and we don't attempt
to provide our own get() on a ListAPIView.
2021-02-14 22:03:37 +00:00
Marnanel Thurman 8eb2b2468d Timelines tests pass GET params in via "data" and not literally in the path.
We start testing limits with limit=1 rather than limit=0, because it was
confusing the defaults mechanism further up. I'm not sure limit=0 is useful
anywhere at all.

And some minor fixes.
2021-02-14 22:01:43 +00:00
Marnanel Thurman d4af44913b TrilbyTestCase uses the "data" and "extra" params the same way as Django's test client 2021-02-14 22:00:18 +00:00
Marnanel Thurman a9d03dd280 Shorten Status.__str__ because it gets overwhelming in the logs 2021-02-14 21:59:47 +00:00
Marnanel Thurman 6ae898af03 Inbox lookup for LocalPerson used the "follow" relationship backwards; now fixed. 2021-02-14 21:57:32 +00:00
Marnanel Thurman 3a3ce2fae2 Home timeline tests added 2021-02-09 18:06:04 +00:00
Marnanel Thurman 17519f62cb split public and home timeline tests to separate classes 2021-02-09 17:42:10 +00:00
Marnanel Thurman f40a6d862d Many new timeline tests, per spec 2021-02-09 17:39:39 +00:00
Marnanel Thurman 312b3760fc Started to put test_timelines in order. Each test sets up the statuses as it needs. 2021-02-07 20:30:03 +00:00
Marnanel Thurman 63955031e5 static/ added to .gitignore 2021-02-02 20:10:36 +00:00
Marnanel Thurman 30f445aa3b trilby_api/views.py split out into several modules in trilby_api/views/.
Tests all pass.

Verify_Credentials renamed to VerifyCredentials for consistency.

This is to make things easier when fixing issue #68.
2021-02-02 20:08:32 +00:00
Marnanel Thurman 60b70f9cee "/home" served, but with nothing very interesting on it 2021-01-10 21:46:38 +00:00
Marnanel Thurman 98a5bde0b2 Display username in the navbar, and logout link, if you're logged in 2021-01-05 21:59:18 +00:00
Marnanel Thurman 4ef96ea6db LOGOUT_REDIRECT_URL 2021-01-05 21:56:26 +00:00
Marnanel Thurman 7e763ed4bf LOGIN_REDIRECT_URL set 2021-01-05 21:47:37 +00:00
Marnanel Thurman 99981e3baf login stuff moved to /accounts/login (from /login) so we can use auth's urls.py in a separate subdir 2021-01-05 21:45:34 +00:00
Marnanel Thurman 2198350394 INSTANCE_BLURB. Closes issue #66. 2021-01-04 02:57:17 +00:00
Marnanel Thurman eb4ec809bb Version bump to 0.7 (%shine) 2020-11-25 20:26:45 +00:00
Marnanel Thurman 757132aa36 Status contents and user bios are returned as HTML.
I've implemented this with *_as_html accessors on the objects,
rather than doing it in the serialisers, so that we can easily
make them read/write if we need to.

Tests updated.

Closes issue #36, and I think we're done with %shine.
2020-11-25 20:23:11 +00:00
Marnanel Thurman e65450b9e7 trilby's find_local_view() can see through view_for_mimetype views.
Tests updated.
2020-11-25 20:22:20 +00:00
Marnanel Thurman 2e794e2a8a bowler's tests gain BowlerClient, a subclass of django.test.Client
which will set the Accept param correctly on get requests.

Used throughout test_views instead of d.t.Client.
2020-11-25 20:20:55 +00:00
Marnanel Thurman 7b37822d8d As a special case, view_for_mimetype returns the view list if the request param is None.
Tests updated.
2020-11-25 20:20:00 +00:00
Marnanel Thurman e0517f6688 test_headers supplies correct Accept header.
Class name changed to Tests per coding standard.
2020-11-25 19:40:53 +00:00
Marnanel Thurman ac9fb3d2bf sombrero's fake HttpRequest for ACTIVITY_GET requests supplies an Accept header.
Otherwise it doesn't get routed to the right view now that we route based on Accept.
2020-11-25 19:36:48 +00:00
Marnanel Thurman 0b98be76c4 fix logging statement 2020-11-25 19:34:28 +00:00
Marnanel Thurman 0e15db00da User page is HTML or JSON depending on Accept header.
Closes issue #48.
2020-11-25 18:46:31 +00:00
Marnanel Thurman 5e6a4a1721 Templates for previous commits which I forgot to stage 2020-11-25 18:46:15 +00:00
Marnanel Thurman a0fe164ae1 tophat gains UserPage view.
Slight tidying of StatusPage view.
2020-11-25 18:44:57 +00:00
Marnanel Thurman 6f033b7928 Status pages are HTML or JSON depending on Accept header. 2020-11-25 18:36:07 +00:00
Marnanel Thurman bfb7874d16 tophat StatusPage view. Very basic. 2020-11-25 18:35:52 +00:00
Marnanel Thurman 03c8c701ec view_for_mimetype() passes *args and **kwargs through to the view.
Tests updated, and tidied a bit.
2020-11-25 18:31:31 +00:00
Marnanel Thurman 3d3ce9b0f8 Add docstring to view_for_mimetype 2020-11-23 21:30:51 +00:00
Marnanel Thurman 29e6fffb1a Apparatus for choosing a Django view based on the incoming MIME type.
Not currently connected up.

Partly based on https://gist.github.com/samuraisam/2714195 ,
which is public domain.

Tests updated.
2020-11-23 21:25:03 +00:00
Marnanel Thurman df7d4c5357 bowler's StatusView gains a _render_object method so get() works 2020-11-22 20:01:42 +00:00
Marnanel Thurman 2e82f842e3 RemotePerson.followers and RemotePerson.following both implemented in terms of the same helper function.
LocalPerson.followers moved to Person.followers, where it should always have been.
RemotePerson.followers overrides this, just as RemotePerson.following overrides Person.following.

Closes issue #64.
2020-11-16 02:19:03 +00:00
Marnanel Thurman 4f5325fb5c rm broken import 2020-11-14 01:19:25 +00:00
Marnanel Thurman b3da6e0756 base.html: <html> gets the lang tag, defaulting to "en".
HTML output now passes validation.
2020-11-12 19:51:01 +00:00
Marnanel Thurman 228626cc6e Turn relative links to absolute in base.html.
In the same file, "powered by kepi" becomes a link by itself
which fixes the bootstrap formatting there.

navbar.html and base.html links to "/index.html" replaced
by links to "/".

navbar.html gains link to "/login/".

.gitignore ignores kepi/static but not just any dir called static.
This allows us to check in kepi/tophat_ui/static.
Checking in the two existing files in that directory, plus
loads of new bootstrap static files.

Closes issue #50.
2020-11-12 19:43:08 +00:00
Marnanel Thurman 2513abcf7e Login page says "login" 2020-11-12 19:17:58 +00:00
Marnanel Thurman 12d2452aaf login takes you to the root page 2020-11-12 19:16:16 +00:00
Marnanel Thurman 1d9c630f11 move login.html from trilby to tophat, and add our template includes 2020-11-12 17:46:51 +00:00
Marnanel Thurman 0403dbacc9 Rename RootPageView to RootPage. Add django.contrib.auth.views.LoginView to urls.conf. 2020-11-12 17:46:20 +00:00
Marnanel Thurman 6f97a4ee08 Relative paths to absolute 2020-11-12 17:45:29 +00:00
Marnanel Thurman 5e1dc37a99 basic framework for the front page. Still needs the login box etc.
Part of issue #50.
2020-11-09 22:28:05 +00:00
Marnanel Thurman dffc8ff532 FollowingView and FollowersView rewritten as subclasses of CollectionView.
They actually work now. Tests updated. Closes issue 38.

The tests are in test_collections, which has just been renamed from
test_read_from_outbox.
2020-10-31 17:44:39 +00:00
Marnanel Thurman dae5017e3d LocalPerson gains get_followers_collection() and get_following_collection(),
which are aliases for the followers and following properties.

This isn't elegant, but it makes the views easier. When we fix
issue 64, we should return to the question of these accessors
for Persons in general.
2020-10-31 17:42:51 +00:00