Commit Graph

84 Commits

Author SHA1 Message Date
Matt Baer 3e97625cca Fix Unix timestamps on client during import
File API gives timestamp in milliseconds, not seconds, so this converts
it on the client-side and sends it the correct time to the server.

Ref T609
2020-01-14 12:26:02 -05:00
Rob Loranger aae2f28bb6
pass original file modified date for imports 2020-01-14 08:59:30 -08:00
Matt Baer 5b7f37aed8 Restyle Import page
- Changes Import link location in dropdown menu
- Makes design consistent with Invite People page (and extracts some
  common CSS into core.less)
- Selects the user's first blog by default in the dropdown
- Changes the copy a bit

Ref T609
2020-01-09 11:16:26 -05:00
Matt Baer af6e5dea3a Merge branch 'develop' into import-text 2019-11-26 17:41:29 -05:00
Matt Baer 3d49baf39a Improve non-chorus site-wide header
This adds a Reader tab when necessary while logged in, and generally
keeps the navigation consistent for logged-in users, particularly in
regard to the Reader:

- Now includes user buttons and dropdown
- Makes header on user pages consistent with Reader page
2019-11-12 16:49:38 +09:00
Matt Baer 53586d9cb8 Merge branch 'develop' into T661-disable-accounts 2019-11-12 01:46:37 +09:00
Matt Baer 7f96e8c384 Rename UserSuspended to UserSilenced
Some of the work needed to have the backend match user-facing wording.

Ref T661
2019-11-12 00:41:25 +09:00
Matt Baer c3f76a3ab8 Change "suspend" to "silence" where user-facing
This puts the verbiage more in line with what the feature does, and
leaves room for other moderation controls in the future.

NOTE: this includes no backend refactoring, which may be confusing. We
should rename things to fit ASAP.

Ref T661
2019-11-12 00:22:33 +09:00
Matt Baer a9b5bb2f6b Fix reset user's email address display
Previously, this had bad template logic and showed the wrong email address.

Ref T695
2019-11-11 21:40:49 +09:00
Matt Baer d5dd007ff7 Change Reset Password button style
Ref T695
2019-11-11 21:37:02 +09:00
Matt Baer 3e8d1014d9 Tweak admin reset confirmation copy
Also updates some whitespace in the JS.

Ref T695
2019-11-11 18:04:20 +09:00
Matt Baer 422c16f39a Tweak admin user pass reset success copy
This also adjusts the style and includes the user's password, so the
admin can easily notify them.

Ref T695
2019-11-11 18:03:19 +09:00
Matt Baer 6d4ec0b17d Remove extra OwnUserPage field
Move logic into template, rather than add another field to the page.

Ref T695
2019-11-11 16:06:03 +09:00
Matt Baer 6e09fcb9e2 Change password reset endpoint to /admin/user/{Username}/passphrase
Ref T695
2019-11-11 16:02:22 +09:00
Matt Baer 2c2ee0c00c Tweak "suspended" notification copy 2019-11-11 15:16:04 +09:00
Matt Baer 280c32afdc Confirm suspension before submitting the form
This also includes a bit of explanation about what suspending a user
actually does.

Ref T661
2019-11-07 16:59:02 +09:00
Matt Baer c9f7219831 Move user status in list out of <a>
The link here is a little redundant, and might make people think that it
actually changes the status by clicking on it.
2019-11-07 16:49:52 +09:00
Matt Baer da7dcfee6a Move admin template IsSuspended logic into method
This adds a User.IsSuspended() method and uses it when displaying the
user's status on admin pages, instead of doing a magic number check.
This should also help in the future, in case this logic ever changes.

Ref T661
2019-11-07 14:07:00 +09:00
Rob Loranger f85f0751a3
address PR comments
- update error messages to be correct
- move suspended message into template and include for other pages
- check suspended status on all relevant pages and show message if
logged in user is suspended.
- fix possible nil pointer error
- remove changes to db schema files
- add version comment to migration
- add UserStatus type with UserActive and UserSuspended
- change database table to use status column instead of suspended
- update toggle suspended handler to be toggle status in prep for
possible future inclusion of further user statuses
2019-10-25 12:04:24 -07:00
Matt Baer 9873fc443f Merge branch 'develop' into T661-disable-accounts 2019-10-24 13:22:26 -04:00
Rob Loranger aa9efc7b37
allow admin to reset user passwords
this adds a new button when viewing a user as an admin, that will
generate and store a new password for the user
2019-10-03 13:53:04 -07:00
Matt Baer c6564b3d16 Shorten invite-instructions.tmpl filename 2019-09-23 10:31:38 -04:00
Matt Baer ddce177784 Fix invite input box size in non-Firefox browsers
font-size-adjust is still a flag-enabled feature in Chrome 77, and
doesn't have widespread support across browsers. So instead this uses
font-size to make the text large enough.

Ref T690
2019-09-23 10:21:03 -04:00
Matt Baer 26a4f48e8b Add expiration information to invite help
This uses the Invite fetched from the database to explain a bit more
about how the invite URL expires. It also reduces some space around the
input box.

Ref T690
2019-09-23 10:06:12 -04:00
Matt Baer f01b439ff5 Tweak invite page title and intro
Ref T690
2019-09-23 10:02:36 -04:00
Matt Baer 7e9e3cb7eb Show status on logged-in expired invite links
Ref T690
2019-09-23 09:45:36 -04:00
Rob Loranger d954b7c8e3
add user invite instructions
this adds a new page with instructions for sharing user invites

if a user clicks the link for one of their own invite codes they are
directed to a page with clear instructions for it's use.

if a user clicks another users link they are redirectec to their account
settings witha flash telling them they do not need to register.
2019-09-13 10:58:17 -07:00
Matt Baer c7a90d2ace Fix blog post links when `chorus` enabled
This ensures the "new post" link under each blog on the user Blogs page
goes to /new instead of /.

Ref T681
2019-09-10 22:07:14 +02:00
Rob Loranger 77f7b4a522
Add account suspension features
This renders all requests for that user's posts, collections and related
ActivityPub endpoints with 404 responses.

While suspended, users may not create or edit posts or collections.

User status is listed in the admin user page

Admin view of user details shows status and now has a button to activate
or suspend a user.
2019-08-29 09:09:11 -07:00
Rob Loranger 2fa2086654
newline in import.tmpl 2019-08-26 15:04:00 -07:00
Rob Loranger 7fb3c4cafe
allow markdown extensions in import form 2019-08-21 15:42:48 -07:00
Rob Loranger 6c5d89ac86
move import post handler under /api
handler for post request to import is now under /api/me/import
form target updated

also allow all plaintext files in form
2019-08-19 09:05:52 -07:00
Rob Loranger 0ca198c715
include nice alert message on success
different template action for partial or complete import success
2019-08-17 16:18:40 -07:00
Rob Loranger ee4fe2f4ad
add basic text file imports
this adds basic support for importing files as blog posts.

.txt and .md are supported at this time and the
collection is selectable, defaulting to draft.

if a collection is specified the post is federated.
2019-08-16 14:27:24 -07:00
Matt Baer 55808233fd Fix logic for showing sign up link
This prevents the link from showing when an instance lands on the sign
up page anyway.

Ref T681
2019-08-14 23:25:02 -04:00
Matt Baer 047ad0323b Don't show user pages in nav when unauth'd
Ref T681 T680
2019-08-09 14:58:43 -04:00
Matt Baer fda2929aed Show New Post button when Chorus, not SimpleNav
Ref T681
2019-08-09 13:59:55 -04:00
Matt Baer df56060f99 Add DisableDrafts option and adjust nav
This shows Drafts in the SimpleNav menu, when both enabled. It also
hides Drafts in the non-SimpleNav menu when disabled.

Ref T679
2019-08-09 13:53:41 -04:00
Matt Baer 9dc15f569c Move About nav link next to Home
Ref T681
2019-08-09 13:52:07 -04:00
Matt Baer da423fa1bc Move Reader to Home link in nav when chorus
Also, refactor navigation bar template logic to be simpler and easier to
understand.

Ref T681
2019-08-09 13:45:19 -04:00
Matt Baer 603839fda7 Add link to Posts in user backend pages when chorus
This provides easy navigation to the logged in user's posts, since
there's no direct link to their blog otherwise.

Ref T681
2019-08-09 12:04:55 -04:00
Matt Baer f821dbaac4 Support dedicated signup page in chorus mode
This adds a Sign Up link to site navigation and shows the
otherwise-landing page on /signup when in chorus mode.

Ref T681
2019-08-09 12:00:46 -04:00
Matt Baer 7b42efb9d9 Enable customizing Reader page
This makes it possible to edit the title and introductory text at the
top of the Reader view.

Ref T684
2019-08-09 11:16:38 -04:00
Matt Baer deec914ccb Merge branch 'develop' into chorus 2019-08-08 07:55:49 -04:00
Matt Baer 1c9438e305
Merge branch 'develop' into modestly-writefreely 2019-08-07 18:02:54 -04:00
Matt Baer adfcc82241
Merge pull request #148 from writeas/default-visibility
Support setting default blog visibility on instance

Resolves T675
2019-08-07 17:44:37 -04:00
Matt Baer 1a80cd3c02 Add site-wide navigation on colls when chorus = true
This adds a new config value: `chorus` that signifies an instance is
more about the Reader view than individual blogs / writers. When
enabled, user navigation will show on all pages, including About,
Reader, and Privacy (ref T680).

It also uses different collection templates that keep the instance-wide
navigation at the top of the page, instead of the author's name --
again, branded more for the collective than the individual.

Ref T681
2019-08-07 09:00:16 -04:00
Matt Baer 17f7bc1bec Move user navigation to its own template section
Ref T681
2019-08-06 09:15:05 -04:00
Matt Baer 90ad50c7f5 Use normal nav on user pages when SimpleNav
This shows About, Reader, Log out links on backend user pages when
logged in. It also adds "New post" buttons on the backend pages and
blogs.
2019-08-05 09:34:47 -04:00
Matt Baer 73ec3e3016 Support toning down WriteFreely promotion
This adds a new `wf_modesty` config option that removes the copious
mentions of WriteFreely in places like the About page and site
footers.

WriteFreely remains boastful and bumptious by default; but enabling
the modesty option will tone it down and likely lead to less confusion
among average users.

Ref T676
2019-07-31 22:53:10 -04:00