Sam Saffron
4099823efe
FIX: batch badge assigner was not including full info in notification
...
(missing drilldown link in notification)
2016-02-01 18:27:07 +11:00
Arpit Jalan
cf1bd35fc6
FIX: while changing site text, old and new values can be nil
2016-01-18 20:56:14 +05:30
Sam
cba76db53b
FIX: if people link own post, watchers not notified
2015-12-31 10:51:58 +11:00
Arpit Jalan
4c967d11b4
FEATURE: log site text changes
2015-12-18 19:42:06 +05:30
Guo Xiang Tan
8b6b3cf858
FIX: Admin logging should not log permissions if none has been set.
2015-12-06 15:29:13 +08:00
Andy Waite
3e50313fdc
Prepare for separation of RSpec helper files
...
Since rspec-rails 3, the default installation creates two helper files:
* `spec_helper.rb`
* `rails_helper.rb`
`spec_helper.rb` is intended as a way of running specs that do not
require Rails, whereas `rails_helper.rb` loads Rails (as Discourse's
current `spec_helper.rb` does).
For more information:
https://www.relishapp.com/rspec/rspec-rails/docs/upgrade#default-helper-files
In this commit, I've simply replaced all instances of `spec_helper` with
`rails_helper`, and renamed the original `spec_helper.rb`.
This brings the Discourse project closer to the standard usage of RSpec
in a Rails app.
At present, every spec relies on loading Rails, but there are likely
many that don't need to. In a future pull request, I hope to introduce a
separate, minimal `spec_helper.rb` which can be used in tests which
don't rely on Rails.
2015-12-01 20:39:42 +00:00
Sam
d1a5d8ea62
FEATURE: show group mentions and topics in groups page
2015-12-01 16:52:43 +11:00
Sam
ad3dd161e7
FEATURE: first class group mentions built in
...
If you allow a group to be mentioned it can be mentioned with the @ symbol.
Keep in mind as a safety mechanism max_users_notified_per_group_mention is set to 100
2015-11-30 17:08:43 +11:00
Neil Lalonde
84342ecdef
FIX: anonymized user's preferences should have system assigned avatar chosen
2015-11-27 14:37:30 -05:00
Robin Ward
d65ec1af2e
Rename `ninja_edit_window` to `editing_grace_period` :'(
2015-11-24 14:28:42 -05:00
Guo Xiang Tan
d9fe78da20
FIX: Topic#last_posted_at was not being set when changing topic timestamp.
2015-10-20 10:12:52 +08:00
Robin Ward
eacd75bcf8
SECURITY: Unread post notifications should respect whispers
2015-10-19 16:32:10 -04:00
Guo Xiang Tan
f39b9124b6
FEATURE: Log staff actions for Category changes.
2015-09-18 10:53:08 +08:00
Neil Lalonde
354a3f9638
add test for auth_token being cleared by user anonymizer, which it already does
2015-09-10 11:17:48 -04:00
Sam
262f561a87
FEATURE: relax username rules to allow - and . and leading _
...
This relaxes our very strict username rules to allow for some long asked for requests
- leading _ is now allowed
- . is allowed except for trailing char and confusing extensions like .gif .json
- dash (-) is now permitted
2015-09-02 12:13:44 +10:00
Arpit Jalan
10b8e43a92
FIX: send new email activation token if the original token expired
2015-08-24 12:00:00 +05:30
Sam
94f05a40de
FIX: when destroying users we were leaving drafts behind
2015-08-24 16:05:08 +10:00
Guo Xiang Tan
89f4ebfb36
Fix timestamp comparison in tests.
...
Follow up to 58190c92e9
.
2015-08-22 10:12:02 +08:00
Guo Xiang Tan
c7a21b7c23
FEATURE: Allow admin to change timestamp of topic.
2015-08-17 00:00:05 +08:00
Sam
5ee4d3ba8c
FIX: log post deletion even if user is deleted.
2015-08-14 13:57:02 +10:00
Sam
5ab7f7e88d
FIX: double like notification
...
If you got a like -> edit/quote/etc -> like you would get a
double notification
2015-06-19 12:31:36 +10:00
Neil Lalonde
3a67c02c7a
FIX: change topic creator wasn't removing the topic from the previous creator's activity stream
2015-05-29 17:39:36 -04:00
Sam
1e4c7dfbe7
FIX: invalid plan generation when % in query on badge definition UI
2015-05-28 16:06:22 +10:00
Régis Hanol
d4974b7093
FIX: anonymous mode don't work when names are required
2015-05-15 14:20:15 +02:00
Arthur Neves
b8cbe51026
Convert specs to RSpec 2.99.2 syntax with Transpec
...
This conversion is done by Transpec 3.1.0 with the following command:
transpec
* 424 conversions
from: obj.should
to: expect(obj).to
* 325 conversions
from: == expected
to: eq(expected)
* 38 conversions
from: obj.should_not
to: expect(obj).not_to
* 15 conversions
from: =~ /pattern/
to: match(/pattern/)
* 9 conversions
from: it { should ... }
to: it { is_expected.to ... }
* 5 conversions
from: lambda { }.should_not
to: expect { }.not_to
* 4 conversions
from: lambda { }.should
to: expect { }.to
* 2 conversions
from: -> { }.should
to: expect { }.to
* 2 conversions
from: -> { }.should_not
to: expect { }.not_to
* 1 conversion
from: === expected
to: be === expected
* 1 conversion
from: =~ [1, 2]
to: match_array([1, 2])
For more details: https://github.com/yujinakayama/transpec#supported-conversions
2015-04-25 11:18:35 -04:00
Robin Ward
151b559e4c
FIX: If you delete a user, delete their queued posts as well.
2015-04-24 16:04:44 -04:00
Sam
4bfca12b11
FEATURE: anonymous_account_duration_minutes , cycle anon accounts after N minutes from last post
...
fixes it so anon users can not like stuff
2015-04-08 12:30:02 +10:00
Sam
f5d89169e2
FEATURE: initial implemenation of anonymous posting mode
2015-04-07 18:05:31 +10:00
Sam
14741b5dac
FIX: only ONE user on site could have a list of muted users
2015-03-31 10:16:23 +11:00
Sam
92e371f0b3
FEATURE: civilized mute
...
Allow user to mute all notifications generated by specific users
2015-03-24 11:55:22 +11:00
Neil Lalonde
2585962552
fix spec that can fail when comparing timestamps. I only care that it isn't null.
2015-03-11 16:51:29 -04:00
Neil Lalonde
dece5a351a
more fixes for post ownership change and user deletion
2015-03-11 15:54:20 -04:00
Neil Lalonde
608647d02f
FEATURE: Anonymize User. A way to remove a user but keep their topics and posts.
2015-03-10 11:59:08 -04:00
Neil Lalonde
35c58c1b00
FIX: after changing post owner, profile pages still showed previous owner and incorrect topic and post counts
2015-03-03 14:15:11 -05:00
Neil Lalonde
1bf4f34049
FIX: topic and post counts are not updated when ownership of a post is changed
2015-03-02 12:13:21 -05:00
Sam
b760d22460
PERF: avoid expensive order by random for suggested topics
2015-02-25 17:19:12 +11:00
Robin Ward
4e64d16a47
FEATURE: Allow plugins to log staff actions
2015-02-05 15:26:34 -05:00
Robin Ward
b2e2a99898
FIX: Don't raise an error when trying to log nothing
2014-12-15 14:14:12 -05:00
Robin Ward
cb0e7a5724
For performance reasons, use `delete_all` when removing a user's email logs
2014-11-28 14:20:43 -05:00
Régis Hanol
4e735e8aab
FIX: roll up staff action wasn't working
2014-11-27 01:12:56 +01:00
David McClure
efc4109902
update specs to remove deprecation warnings
2014-11-07 06:05:44 -08: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
f834a5fe4e
correct spec
2014-10-09 22:27:34 +11:00
Sam
0e7be81e60
FIX: badge granted titles were not being revoked when badge was revoked
2014-10-08 10:26:18 +11:00
Régis Hanol
98b6b9821a
FEATURE: log topic/post deletions from staff members
2014-10-01 17:40:13 +02:00
Régis Hanol
de76b512c1
fix most deprecations in the specs (still some left)
2014-09-25 17:44:48 +02:00
Neil Lalonde
d6a562658a
FIX: update user preferences was failing if custom_fields is blank string
2014-09-17 13:09:39 -04:00
Sam
7f3797b635
FEATURE: Nice Topic, Good Topic and Great Topic badges
...
Note we will revoke all old badges post badges that went to post #1
and instead get topic badges
2014-09-11 12:36:37 +10: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
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
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
f20c5a02c7
amend test
2014-08-08 10:02:43 +10:00
Sam
5d9eefbfed
FIX: don't notify on link reflections
2014-07-29 15:40:05 +10:00
Régis Hanol
bddffa7f9a
FEATURE: flag dispositions normalization
...
All flags should end up in one of the three dispositions
- Agree
- Disagree
- Defer
In the administration area, the *active* flags section displays 4 buttons
- Agree (hide post + send PM)
- Disagree
- Defer
- Delete
Clicking "Delete" will open a modal that offer to
- Delete Post & Defer Flags
- Delete Post & Agree with Flags
- Delete Spammer (if available)
When the flag has a list associated, the list will now display 1
response and 1 reply and a "show more..." link if there are more in the
conversation. Replying to the conversation will NOT give a disposition.
Moderators must click the buttons that does that.
If someone clicks one buttons, this will add a default moderator message
from that moderator saying what happened.
The *old* flags section now displays the proper dispositions and is
super duper fast (no more N+9999 queries).
FIX: the old list includes deleted topics
FIX: the lists now properly display the topic states (deleted, closed,
archived, hidden, PM)
FIX: flagging a topic that you've already flagged the first post
2014-07-28 19:28:07 +02: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
e32e96dabb
FEATURE: new badges
...
- Pay it forward renamed to first like
- First flag
- First share
2014-07-09 12:17:39 +10:00
Sam
81682b74b7
Feature: Paying it forward badge
2014-07-08 14:26:53 +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
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
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
Sam
56dcd00570
BUGFIX: trust_level_0 group not including trust_level_1
...
BUGFIX: manual trust level change not adding user to groups
BUGFIX: system not in correct trust level groups
2014-06-17 10:52:02 +10:00
Andrew Bezzub
9ffd173873
move bio to UserProfile from User
2014-06-13 14:55:32 -04:00
Andrew Bezzub
7db31adf35
move website from User to UserProfile
2014-06-06 21:54:32 -07:00
Vikhyat Korrapati
8c2ec4c52a
Get rid of update_badges mocks.
2014-05-15 23:13:04 +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
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
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
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
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
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
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
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
Neil Lalonde
2f8866add5
Change admin display-row css so that multiple lines can fit in the control column. Don't hard-code a height on the rows.
2013-11-11 15:03:17 -05: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
Neil Lalonde
4e46d91b8d
Refactor SpamRulesEnforcer so that each spam rule is in its own class
2013-10-25 13:25:02 -04:00
Neil Lalonde
8aab2253d0
Whitelisted ip addresses will not be flagged as spam by flag_sockpuppets
2013-10-23 17:11:35 -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