Régis Hanol
b09ad87098
FIX: add 'show emails' button from moderators in user admin section
2014-11-03 12:46:08 +01:00
Régis Hanol
e7f251c105
LOTS of changes to properly handle post/topic revisions
...
FIX: history revision can now properly be hidden
FIX: PostRevision serializer is now entirely dynamic to properly handle
hidden revisions
FIX: default history modal to "side by side" view on mobile
FIX: properly hiden which revision has been hidden
UX: inline category/user/wiki/post_type changes with the revision
details
FEATURE: new '/posts/:post_id/revisions/latest' endpoint to retrieve
latest revision
UX: do not show the hide/show revision button on mobile (no room for
them)
UX: remove CSS transitions on the buttons in the history modal
FIX: PostRevisor now handles all the changes that might create new
revisions
FIX: PostRevision.ensure_consistency! was wrong due to off by 1
mistake...
refactored topic's callbacks for better readability
extracted 'PostRevisionGuardian'
2014-10-27 22:06:43 +01:00
Régis Hanol
10094a0bcd
FIX: resolve flags as good when deleting a spam user
2014-10-20 16:59:06 +02:00
Sam
be48dfbb8c
correct badge title revocation query
2014-10-09 22:01:08 +11:00
Sam
0e7be81e60
FIX: badge granted titles were not being revoked when badge was revoked
2014-10-08 10:26:18 +11:00
Sam
0378dca66f
FIX: dismissed banner topic returned after saving user profile
2014-10-07 16:11:19 +11:00
Sam
836bc0f935
FIX: incorrect edit notification in user stream
...
FIX: missing edit notifications when post edited by multiple users
2014-10-07 15:57:48 +11:00
Régis Hanol
98b6b9821a
FEATURE: log topic/post deletions from staff members
2014-10-01 17:40:13 +02:00
Robin Ward
edb34c178a
FEATURE: Show user fields when the user is signing up
2014-09-30 10:45:18 -04:00
Régis Hanol
7e309a21cf
FEATURE: hide emails behind a button for staff members
2014-09-29 22:31:05 +02:00
Neil Lalonde
384d8f25e4
fix broken build
2014-09-22 13:23:33 -04:00
Neil Lalonde
ef436a5775
use && instead of and
2014-09-22 12:17:17 -04:00
Neil Lalonde
d6a562658a
FIX: update user preferences was failing if custom_fields is blank string
2014-09-17 13:09:39 -04:00
Robin Ward
56eda5abf9
FIX: Don't allow profile bios longer than 3k chars
2014-09-08 15:23:21 -04:00
Sam
59d04c0695
Internal renaming of elder,leader,regular,basic to numbers
...
Changed internals so trust levels are referred to with
TrustLevel[1], TrustLevel[2] etc.
This gives us much better flexibility naming trust levels, these names
are meant to be controlled by various communities.
2014-09-05 15:20:52 +10:00
Sam
1792941098
Merge pull request #2740 from riking/badges_disabled
...
FIX: Do not perform grants if badges are disabled
2014-09-03 22:19:51 +10:00
riking
3cf493eb4f
FIX: Apply contract checks when first creating a badge
2014-09-02 19:09:51 -07:00
riking
ee812eb447
FIX: Do not perform grants if badges are disabled
2014-09-02 13:12:27 -07:00
riking
808460a28f
Fix magic numbers, extra param references
2014-08-31 19:36:31 -07:00
riking
1833b43ae2
FEATURE: Badge query validation, preview results, and EXPLAIN
...
Upon saving a badge or requesting a badge result preview,
BadgeGranter.contract_checks! will examine the provided badge SQL for
some contractual obligations - namely, the returned columns and use of
trigger parameters.
Saving the badge is wrapped in a transaction to make this easier, by
raising ActiveRecord::Rollback on a detected violation.
On the client, a modal view is added for the badge query sample run
results, named admin-badge-preview.
The preview action is moved up to the route.
The save action, on failure, triggers a 'saveError' action (also in the
route).
The preview action gains a new parameter, 'explain', which will give the
output of an EXPLAIN query for the badge sql, which can be used by forum
admins to estimate the cost of their badge queries.
The preview link is replaced by two links, one which omits (false) and
includes (true) the EXPLAIN query.
The Badge.save() method is amended to propogate errors.
Badge::Trigger gets some utility methods for use in the
BadgeGranter.contract_checks! method.
Additionally, extra checks outside of BadgeGranter.contract_checks! are
added in the preview() method, to cover cases of null granted_at
columns.
An uninitialized variable path is removed in the backfill() method.
TODO - it would be nice to be able to get the actual names of all
columns the provided query returns, so we could give more errors
2014-08-31 11:25:44 -07:00
Sam
87d2be3ecf
FIX: ensure triggered badges are never triggered if filter is missing
2014-08-27 18:02:13 +10:00
Neil Lalonde
d273374f1a
FIX: before nuking a user, do a real count of posts instead of relying on user_stat record
2014-08-18 12:07:29 -04:00
Akshay
7ef61144e7
Avoid using to_s when performing String Interpolation
2014-08-14 23:55:27 +05:30
Sam
1baa55fe45
FIX: preview bust when no params
2014-08-13 12:25:56 +10:00
Sam
22cd259687
FIX: remove faulty "ensure consistency" badge job
2014-08-11 09:21:06 +10:00
Sam
e6f0b94b3a
FIX: bust preview
...
FIX: safeguard for huge delta backfill
2014-08-09 09:33:00 +10:00
Sam
953d3f2151
PERF: add optional delta badge filtering
...
This is tricky and optional, some badges are very expensive to calculate
pass in :backfill , :post_ids and :user_ids to all badge queries so they
can do pre-filtering, if you do it after the sub-query it is too late
2014-08-08 10:02:43 +10:00
Sam
e7e70d14da
Merge pull request #2591 from BenLubar/benlubar-edit-history-public
...
add profile option for edit history visibility
2014-07-30 14:09:10 +10:00
Sam
5d9eefbfed
FIX: don't notify on link reflections
2014-07-29 15:40:05 +10:00
Ben Lubar
44dc4b4a17
add profile option for edit history, visible only when edit history is disabled globally.
2014-07-26 23:04:46 -05:00
Sam
a34037b26c
FIX: typo
2014-07-24 18:38:27 +10:00
Sam
ec03d135fa
FEATURE: allow advanced badge options in admin screen
...
clean up serializer, allow simplistic preview
2014-07-24 18:28:23 +10:00
Sam
0f9678fe49
FIX: faster update of all badges
...
Introduced badge triggers, introduced concept of badge that happens due to a post but has the post hidden
Delta badge grant happens once a minute, backed by redis
2014-07-23 11:46:07 +10:00
Neil Lalonde
939e8505a9
Remove hub username integration
2014-07-16 12:25:24 -04:00
Sam
4c25fedf70
FEATURE: Reader badge
...
Read a every post in a topic that if 50 posts or longer
2014-07-15 15:16:41 +10:00
Sam
88469721b9
FEATURE: Allow admins to disable specific badges
2014-07-14 17:40:36 +10:00
Sam
0f25bbeaf7
FEATURE: Editor badge
2014-07-07 17:55:40 +10:00
Sam
4a25c86d61
FIX: correct duplicate granting
2014-07-05 18:32:06 +10:00
Sam
650e9348f3
FIX: multiple grant not working correctly
2014-07-04 17:41:03 +10:00
Sam
9a9ad9bda8
FEATURE: Badge progress
...
- Refactor model so it stores backfill query
- Implement autobiographer
- Remove sample badge
- Correct featured badges to only include a badge once
2014-07-03 17:29:44 +10:00
Sam
bc44bfcdf2
Work in progress backfill for like badges
2014-07-01 22:01:15 +10:00
Régis Hanol
dcd0b8fecf
BUGFIX: no translation for email_error_notifications to admin users
2014-06-30 15:21:26 +02:00
Vikhyat Korrapati
23983efeea
Don't grant multiple_grant badges multiple times for the same post.
2014-06-28 00:32:09 +05:30
Vikhyat Korrapati
3ba65af19e
Add like-based system badges.
2014-06-19 17:10:43 +05:30
Vikhyat Korrapati
b5eea1d79f
Grant system badges in a background job.
2014-06-19 17:10:37 +05:30
Vikhyat Korrapati
b3f403952b
Move badge grant_count updating to the UserBadge model callbacks.
2014-06-19 16:56:19 +05:30
Vikhyat Korrapati
a68b47cb9f
Add notification_id column to user_badges.
2014-06-19 16:56:19 +05:30
Vikhyat Korrapati
41ecba1b77
Mark badge notification as read when the notification is clicked.
2014-06-19 16:56:19 +05:30
Régis Hanol
00117c18c3
FEATURE: dismissable banner topic
2014-06-18 20:05:19 +02:00
Andrew Bezzub
9ffd173873
move bio to UserProfile from User
2014-06-13 14:55:32 -04:00
Sam
03087679f0
FEATURE: Support custom preferences for users, injected by plugins
2014-06-11 15:50:37 +10:00
Régis Hanol
0781531e3c
Merge pull request #2415 from techAPJ/bulk-invite-users-5
...
FEATURE: Bulk Invite
2014-06-10 19:11:11 +02:00
Arpit Jalan
727184641e
FEATURE: Bulk Invite
2014-06-09 01:43:39 +05:30
Andrew Bezzub
7db31adf35
move website from User to UserProfile
2014-06-06 21:54:32 -07:00
Robin Ward
24cde6c604
Actually, it *should* be `user_path` and not `userpage_path`
2014-06-04 16:51:48 -04:00
Robin Ward
66fe80c52a
FIX: The page is actually called `userpage`
2014-06-04 16:44:41 -04:00
Jeff Atwood
42509964da
copyedits on admin PM notifications
2014-06-04 13:39:54 -07:00
Sam
fe594f5d1e
Merge pull request #2372 from vikhyat/badge-system
...
Multiple grant badges
2014-05-30 10:18:00 +10:00
Robin Ward
7c22d738b6
FEATURE: Add a location field to a user's profile
2014-05-27 13:54:04 -04:00
Robin Ward
5284fb7cbc
New Setting: Don't jump to new posts when replying
2014-05-26 16:39:03 -04:00
Sam
e06da1821d
BUGFIX: notifications were not updated correctly live
...
- missing notifications when multiple replies in topic (till refresh)
- not cleared properly on click
2014-05-23 11:34:34 +10:00
Vikhyat Korrapati
d208e4d517
Multiple grant badges.
2014-05-21 12:54:55 +05:30
Vikhyat Korrapati
c07244a4e6
Refactor BadgeGranter.update_trust_level_badges! -> update_badges.
2014-05-14 21:01:41 +05:30
Vikhyat Korrapati
b144b75565
Add automatically assigned trust level badges.
2014-05-14 20:47:21 +05:30
Neil Lalonde
4980cff802
Add descriptions. Make all the actions buttons. Add a revert button to colors. Add a new variable: quaternary.
2014-05-14 10:19:00 -04:00
Neil Lalonde
c4d3aa3d47
Theming: a UI to choose some base colors that are applied to all the site css. CSS compiled outside of asset pipeline.
2014-05-14 10:18:12 -04:00
Louis Rose
1574485443
Perform the where(...).first to find_by(...) refactoring.
...
This refactoring was automated using the command: bundle exec "ruby refactorings/where_dot_first_to_find_by/app.rb"
2014-05-06 14:41:59 +01:00
Neil Lalonde
f61f29439e
Track the ip address where user was registered
2014-04-29 14:37:56 -04:00
Neil Lalonde
feaaf55a0c
Theming: color scheme editing. Unfinished! Doesn't have any effect on css files yet.
2014-04-24 16:49:12 -04:00
Vikhyat Korrapati
8113e8d897
Basic UI for selecting gold/silver badges as titles.
2014-04-18 09:20:51 +05:30
Vikhyat Korrapati
89f45901bc
Create notification when badge is granted.
2014-04-17 01:58:01 +05:30
Régis Hanol
2505d18aa9
FEATURE: support email attachments
2014-04-14 22:55:57 +02:00
Sam
0d114d7b17
Tweak badge granter not to try to double grant
2014-04-14 15:58:52 +10:00
Neil Lalonde
379f4a87d5
FIX: remove likes and other post actions before nuking a user
2014-03-31 14:06:35 -04:00
Vikhyat Korrapati
dcaa069bb5
Log badge grant/revoke to the staff actions log.
2014-03-21 11:10:07 +05:30
Sam
619fa50d4b
BUGFIX: twitter auth asking for a password
2014-03-20 14:49:25 +11:00
Sam
9fc31932cf
BUGFIX: don't alery myself when I link to myself
2014-03-19 12:07:48 +11:00
Sam
5c26b3dad1
FIX: broken specs after new link alerting code
2014-03-18 15:22:53 +11:00
Sam
24667cedee
FEATURE: notify users when linked
...
Extract out PostAlerter from observer
Track outgoing post links correctly
Notify users they are linked when linked
2014-03-18 15:22:53 +11:00
Sam
fe63db7953
Merge pull request #2115 from vikhyat/badge-system
...
Initial badge system implementation
2014-03-17 10:06:37 +11:00
Vikhyat Korrapati
9b26c8584e
Initial badge system implementation.
2014-03-14 21:49:26 +05:30
Neil Lalonde
9ca516e58d
Rename nickname to username in the code. Use new hub routes. (Old routes still exist as aliases for old Discourse instances.)
2014-03-12 12:39:36 -04:00
Jonathan Allard
c513725f26
Allow users to toggle interface language in their preferences
2014-02-18 14:53:59 -05:00
Sam
983c7567aa
BUGFIX: seen recently key needs to be public so mock can easily reach in to it
2014-02-18 16:09:24 +11:00
Neil Lalonde
42fb9d4fb1
Avoid calling can_delete_account twice
2014-02-14 13:06:39 -05:00
Neil Lalonde
8711762143
Users who have made no more than one post can delete their own accounts from their user preferences page.
2014-02-13 13:52:06 -05:00
Sam
227873df78
FEATURE: proper mailing list mode
...
once enable_mailing_list_mode is enabled any user can elect
to get every post via email unless they opt out of category or topic
2014-02-07 11:07:52 +11:00
Nick Borromeo
e8474bd725
Change user update to use #fetch for defaults
...
This changes the use of the || operator when setting the default of the
user attribute if the key does not exist to #fetch. This will make sure
that if false is passed in as the value it will still fail and use the
default setting.
This also adds constants to define and array and a hash of symbols which
is iterated over to set the users attributes.
2014-01-20 18:07:47 -08:00
Sam
f91163e146
FEATURE: added UI for tracking categories
2014-01-06 11:57:27 +11:00
Sam
2da5d2311b
FEATURE: Added UI for adding and removing watched and muted categories
2014-01-02 17:59:08 +11:00
Sam
db1d01d1a2
Discourse as a Mailing List improvements
...
FEATURE: context is not emailed if we previously emailed you the post
FEATURE: site setting to enable_watch_new_topics , false by default.
When enables users can elect to watch everything by default
FIX: Custom email subjects (x quoted you in [title], x replied to [title])
was removed, this broke email grouping. TBD, include info in footer somehow
FIX: topic user specs were messy, reduce side effects
2013-12-30 13:02:12 +11:00
Sam
05a3c8090f
Merge pull request #1658 from salbertson/sa-refactor-users-controller-create
...
Refactor UsersController#create
2013-12-12 22:16:50 -08:00
Neil Lalonde
561961eff6
FIX: can grant titles to regular users. Guardian initializer needs current_user, not the target user.
2013-12-10 12:46:35 -05:00
Scott Albertson
51eff92170
Refactor UsersController#create
...
* Simplify controller action
* Extract service classes
2013-12-05 10:11:16 -08:00
Neil Lalonde
69cc1dd689
FIX: don't suggest a username that's already taken, even if hub finds a match
2013-11-20 14:56:21 -05:00
Neil Lalonde
981d8f6aea
Signup form: prefill username if Discourse Hub has a match for the email address. Also, fix some bad specs in username_checker_service_spec that were passing...
2013-11-19 14:15:28 -05:00
Scott Carleton
32e414690a
Handle ugly url targets
2013-11-14 13:14:02 -05:00
Régis Hanol
7e7d951152
do not pull hotlinked images when max_image_size_kb == 0
2013-11-13 17:30:48 +01:00
Robin Ward
6e43372e7c
Merge pull request #1610 from salbertson/sa-refactor-users-update
...
Move logic for updating a user to a service class
2013-11-07 12:29:19 -08:00
Neil Lalonde
0c6f794eb0
Used the term suspended instead of banned.
2013-11-07 13:53:49 -05:00
Scott Albertson
72bfa4471f
Move logic for updating a user into a service class
2013-11-07 08:39:39 -08:00
Neil Lalonde
92a0729937
When banning a user, a reason can be provided. The user will see this reason when trying to log in. Also log bans and unbans in the staff action logs.
2013-11-01 10:47:26 -04:00
Neil Lalonde
52b0c1c45f
When logging the deletion of a user, don't store its id in the target_user_id column. It will never match a user record.
2013-11-01 10:47:26 -04:00
Robin Ward
f7d6ab579c
Merge pull request #1571 from novemberkilo/master
...
Refactor User#update_last_seen! and User#update_tracked_topics
2013-10-29 08:28:08 -07:00
Neil Lalonde
4e46d91b8d
Refactor SpamRulesEnforcer so that each spam rule is in its own class
2013-10-25 13:25:02 -04:00
Navin Keswani
6ce80fd148
Refactor User#update_last_seen! and User#update_tracked_topics
2013-10-23 23:27:30 +02:00
Neil Lalonde
8aab2253d0
Whitelisted ip addresses will not be flagged as spam by flag_sockpuppets
2013-10-23 17:11:35 -04:00
Neil Lalonde
c1008f4359
Fixes for postgresql inet columns in Rails 4. They're backed by an IPAddr class now, which breaks sql parameter marker support, and automatically sets the attribute to nil when trying to assign an invalid ip address.
2013-10-22 19:19:32 -04:00
Scott Carleton
cbef844a57
Build out a URI Adapter to allow uploading an avatar via a url
...
Currently only really accessible via the API. The UriAdapter creates a
tempfile from a url and gives a ActionDispatch::HTTP::UploadedFile back
to the controller to process as normal.
This will help a lot in being able to transfer avatar urls from another
app without monkey patching a lot of discourse code.
2013-10-21 14:53:03 -04:00
Neil Lalonde
c7aaee907b
When system flags users as sockpuppets, show a reason in the admin flags ui
2013-10-16 11:47:16 -04:00
Neil Lalonde
3c2c6ab24b
Add sockpuppet spammer detection. Automatically flag posts if they are from new users (registered less than 24 hours ago) at the same IP address and one of them started the topic.
2013-10-11 13:34:05 -04:00
Neil Lalonde
ba2c4139fe
Use absolute urls in notifications for automatic spammer handling.
2013-09-16 15:07:58 -04:00
Neil Lalonde
e8ef55c446
Rename StaffActionLog to UserHistory
2013-09-10 22:01:20 -04:00
Einar Jonsson
724b3aadcf
Extracted nickname registration out of the UsersController and into its
...
own service.
2013-09-09 09:26:50 +00:00
Neil Lalonde
3708d47c87
Check daily if there are new users who need to be approved and send a pm to moderators
2013-08-26 16:16:27 -04:00
Neil Lalonde
47add6da70
Log when a site customization is deleted
2013-08-21 12:33:24 -04:00
Neil Lalonde
a95303fcd8
Log site customization changes. Use a modal to show staff action log details for site customizations.
2013-08-21 12:33:24 -04:00
Neil Lalonde
1d030666d8
Log site setting changes and show in admin
2013-08-19 16:58:38 -04:00
Neil Lalonde
7eaedb84e1
Add notify_mods_when_user_blocked site setting to control whether moderators get a message when someone is automatically blocked
2013-08-19 12:00:48 -04:00
Neil Lalonde
ed060ed5f1
Change trust level logs the previous trust level
2013-08-13 12:04:28 -04:00
Neil Lalonde
949b2068a5
Trust level change logs the target_user_id
2013-08-07 17:01:59 -04:00
Neil Lalonde
8cc49d9797
Don't send more pm's after a user has been blocked from making posts. This can happen if a staff member flags posts that are already hidden.
2013-08-02 10:55:19 -04:00
Neil Lalonde
e076158789
Add ip_address, email, and context to staff_action_logs table. Context should usually be the url from which the staff member performed the action, but could be any string that describes what the staff member was doing when the action was performed.
2013-07-29 15:29:43 -04:00
Neil Lalonde
a8df9778b5
Rename AdminLog to StaffActionLog
2013-07-29 15:29:43 -04:00
Stephan Kaag
2abfd38aee
Refactor code that raises deprecating warnings in Rails 4
2013-07-08 18:35:11 +02:00
Robin Ward
07791ea471
Fix update statement for Rails 4 preparation
2013-07-03 11:17:16 -04:00
Neil Lalonde
075ed1ab53
Refactor user blocking code; hide the Block button in admin
2013-07-02 14:42:53 -04:00
Neil Lalonde
246148d4ff
Make topics invisible when first post is automatically hidden because of spam flags
2013-06-12 16:02:11 -04:00
Neil Lalonde
9b1d0baf45
Send a message to moderators when a newuser_spam_host_threshold is exceeded. Send it no more than once per day per user.
2013-06-10 13:17:32 -04:00
Neil Lalonde
564d242832
Notify moderators when someone is automatically blocked because of spam flags
2013-06-06 18:49:19 -04:00
Neil Lalonde
c4904aacc0
Automatically flag someone as a spammer if their posts get at least X spam flags from N users while their trust level is 'new user'. Staff can clear and set this status from the user record in admin.
2013-06-03 16:37:40 -04:00