Commit Graph

944 Commits

Author SHA1 Message Date
Robin Ward
b04a52676e FIX: Don't show wrong flag choices after undo 2014-09-02 17:37:54 -04:00
Robin Ward
abd84cd2a1 FIX: Redirect to Top was showing "latest" content because it was in the
preload store.
2014-09-02 12:29:22 -04: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
Robin Ward
9062719480 Merge pull request #2720 from techAPJ/patch-3
FIX: do not redirect topic for JSON request
2014-08-29 13:59:45 -04:00
Robin Ward
926e45d030 SECURITY: User action route was returning too much data 2014-08-29 13:46:50 -04:00
Arpit Jalan
84d0b599a4 FIX: do not redirect topic for JSON request 2014-08-29 23:09:02 +05:30
Robin Ward
85c6eb9b08 SECURITY: Only redirect to our host by path on the login action 2014-08-28 17:45:13 -04:00
Neil Lalonde
14890a6002 FEATURE: add a way to map arbitrary urls to a topic, post, or category. Useful for sites that have migrated to Discourse and want to redirect from their old site to Discourse with 301 redirects. 2014-08-28 15:58:24 -04:00
Robin Ward
8a6c4234fc FIX: Re-enable searching for topic by id when using the split topic
interface.
2014-08-28 15:42:29 -04:00
Robin Ward
69cb5bc425 FIX: Centralize Top rendering, remove old code paths. Fix some bugs. 2014-08-28 14:34:31 -04:00
Robin Ward
c9262a8390 FIX: Resend activation email was busted 2014-08-28 12:07:13 -04:00
Sam
a1244043d3 FIX: when search finds a deep link in a topic it takes you to it 2014-08-28 17:16:39 +10:00
Robin Ward
f10d6ed88a FIX: RSS feeds should use created_at not bumped_at 2014-08-27 12:42:54 -04:00
Robin Ward
c820c65172 Merge pull request #2692 from riking/sorted_badges
Sort the badges on the user profile page
2014-08-25 15:56:27 -04:00
riking
99c11e2184 Sort the badges on the user profile page
Also clean up UserBadgesController so it isn't doing two things in one
method
2014-08-25 12:40:51 -07:00
Robin Ward
ed125975a1 SECURITY: Prefix session key and validate token format. 2014-08-25 15:31:49 -04:00
Sam
bcbe36a834 Merge pull request #2675 from amalagaura/patch-1
Fix min_trust_level for wordpress
2014-08-22 10:25:39 +10:00
Robin Ward
c1aa2458f8 UX: Add drop down for top lists, big refactor of repeated code. 2014-08-21 16:08:47 -04:00
Régis Hanol
8a20d05ba5 FEATURE: backup without uploads 2014-08-20 18:53:58 +02:00
Ankur Sethi
43b5292303 Fix min_trust_level for wordpress
min_trust_level in the wordpress method was being set to 1 always, the order of the ternary operator was reversed.
2014-08-19 20:15:24 -04:00
Régis Hanol
f2b0228164 FIX: unhide post when a moderator undos the flag on which s/he took action 2014-08-19 16:14:17 +02:00
Régis Hanol
5b3a758ba9 FIX: redirect old avatars to proper user_avatar route 2014-08-18 17:45:07 +02:00
Sam
8737ffb272 Merge pull request #2658 from akshaymohite/optimization-fixes
Not initializing variable for looping if unused in loop
2014-08-18 14:42:52 +10:00
Sam
baaa3e0f9f FIX: #2664 it should be validates not validate
Thanks @chancancode
2014-08-18 14:40:54 +10:00
Sam
b82726b029 FIX: incorrect redirection code 2014-08-18 12:35:31 +10:00
Sam
e0a82d3088 FIX: rate limit password reset email 2014-08-18 10:55:30 +10:00
Akshay
6301a43d57 Not initializing variable for looping if unused in loop 2014-08-15 03:24:55 +05:30
Robin Ward
167f393a03 Merge pull request #2655 from techAPJ/patch-3
FEATURE: export user list
2014-08-14 17:19:49 -04:00
Arpit Jalan
d0736a06b6 FEATURE: export user list 2014-08-15 01:46:57 +05:30
Akshay
7ef61144e7 Avoid using to_s when performing String Interpolation 2014-08-14 23:55:27 +05:30
Régis Hanol
6201b82a67 FIX: keep the post_number parameter when redirecting to proper slug 2014-08-13 22:19:41 +02:00
Robin Ward
9a1580244a FIX: Don't show profile pages for inactive users and don't show them in
search results.
2014-08-13 13:30:25 -04:00
Robin Ward
c103398e9a First stab at About page 2014-08-11 16:59:15 -04:00
Robin Ward
21185617b0 Show the reason the topic couldn't be split rather than a generic error. 2014-08-11 14:43:19 -04:00
Régis Hanol
e64d3b8a42 FIX: disagree flag should unhide hidden post 2014-08-11 10:48:00 +02:00
Sam
7d5c0ae28e FIX: broken and uneeded code 2014-08-08 09:07:51 +10:00
Régis Hanol
3ae1ebdfc3 FIX: use PostDestroyer when deleting/recovering a topic 2014-08-07 19:12:35 +02:00
Arpit Jalan
b3926efebc convert space to plus for invite email parameter 2014-08-06 14:02:00 +05:30
Sam
0b01310c84 FIX: system badges where created under id 100 2014-08-06 10:51:39 +10:00
Robin Ward
06c681b0de Merge pull request #2617 from techAPJ/patch-2
FEATURE: dynamically load more invites
2014-08-05 12:54:06 -04:00
Arpit Jalan
4cd8abc905 FEATURE: dynamically load invites 2014-08-05 22:20:23 +05:30
Régis Hanol
ec30086dea FEATURE: agree all the flags 2014-08-04 22:48:04 +02:00
Sam
cb0ecd9ff1 PERF: store topic views in a topic view table
* cut down on storage of the work Topic, 3 times per row (in 2 indexes)
* only store one view per user per topic
* only store one view per ip per topic
2014-08-04 19:07:55 +10:00
Sam
03c8f09be8 PERF: finalize porting to new incoming links structure 2014-08-04 16:43:57 +10:00
Sam
0920c4bea6 PERF: reduce storage requirements for incoming links
Only store incoming links for topics.
2014-08-04 11:06:48 +10:00
Sam
6dbd6f7428 FIX: redirect to preserve json 2014-07-30 15:25:49 +10:00
Sam
5a3466a6c3 FIX: keep correct ordering on admin badges 2014-07-30 08:46:59 +10:00
Robin Ward
ac4a33a656 FIX: Display proper error message when changing a trust level fails 2014-07-29 15:54:20 -04:00
Robin Ward
7cc4a157f6 Merge pull request #2603 from techAPJ/patch-1
FEATURE: allow staff to send multiple invites to same email
2014-07-29 14:58:39 -04:00
Arpit Jalan
f571abfaaf FEATURE: allow staff to send multiple invites to same email 2014-07-30 00:13:11 +05:30
Sam
49d03cf14e FEATURE: support for /t/1234 2014-07-29 16:04:28 +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
1a6aa07611 FEATURE: editable badge groups 2014-07-27 18:22:01 +10:00
Régis Hanol
3d6e2713d1 BUGFIX: login was broken when login was required 2014-07-26 23:16:08 +02:00
Neil Lalonde
5a33e6f00c Move FAQ, Terms of Service, and Privacy Policy into topics in the Staff category. First post of those topics will be rendered on their respective pages. Site settings and content are not used for these documents anymore. Translations of the default text is moved into the standard YML files. 2014-07-25 14:41:20 -04:00
Sam
d47d323f29 FIX: corrupt avatar record causing 404 2014-07-25 15:26:43 +10:00
Sam
40af9ce612 FIX: do not store incoming links on avatars or uploads 2014-07-25 15:10:06 +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
b9a7d945c3 Improve badge grouping UI
Start work on triggers
2014-07-23 11:43:17 +10:00
Sam
c8284170ad FEATURE: badge grouping UI
FIX: not loading more badges on badge show page
2014-07-18 15:46:36 +10:00
Sam
1359a02128 Merge pull request #2532 from riking/sidekiq
Pass more context from Sidekiq jobs to Logster
2014-07-18 10:24:51 +10:00
riking
12cb682548 Start passing more context to Discourse.handle_exception 2014-07-17 14:11:56 -07:00
riking
19b757b058 FEATURE: Hide deleted posts by default for staff 2014-07-17 10:40:15 -07:00
Robin Ward
f06f8abedd Merge pull request #2537 from ligthyear/group-member-management-on-user
Improved Group Member Management on User Administration
2014-07-17 11:00:05 -04:00
Sam
bfb37054e8 Badge Grouping work in progress 2014-07-17 16:11:10 +10:00
Sam
189b1c729a FEATURE: query param for topic state 2014-07-17 09:29:09 +10:00
Sam
9468ebeb2e CHANGE: Mini Profiler only enabled for developers in prd 2014-07-17 08:34:41 +10:00
Robin Ward
fb8dda7f42 FIX: We should use category_id instead of category_name to perform
operations, now that the subcategory names are not unique.
2014-07-16 15:40:35 -04:00
Régis Hanol
7dcf2a2c4f FEATURE: show the user's flagged/deleted posts 2014-07-16 21:04:55 +02:00
Neil Lalonde
939e8505a9 Remove hub username integration 2014-07-16 12:25:24 -04:00
Neil Lalonde
01a68f8cc7 Emails are case insensitive 2014-07-16 10:22:01 -04:00
Sam
e347eea629 FEATURE: show user what badges they have 2014-07-16 17:55:08 +10:00
Robin Ward
f2dd35ab08 Improve the unsubscribe to digest experience. Give a link in case it
fails, provide a different message if you are logged in as a different
user, increase expiry to 2 months from 1 week.
2014-07-15 17:20:59 -04:00
Robin Ward
e20a8e6dea FIX: Allow users to unsubscribe to digests while not logged in if
`login_required` is set to true.
2014-07-15 16:47:26 -04:00
Robin Ward
6d7531f690 Merge pull request #2542 from techAPJ/patch-1
FEATURE: topic support in disposable invites
2014-07-15 15:15:19 -04:00
Robin Ward
4f416bf6ce Check honeypot/challenge value on activation too 2014-07-15 14:07:35 -04:00
riking
915f60b0fc Don't redirect to login when activating account... 2014-07-15 10:50:28 -07:00
Arpit Jalan
8862a881f8 FEATURE: topic support in disposable invites 2014-07-15 23:11:06 +05:30
Sam
2d0def9940 FIX: First Quote badge bust
Feature: track quoted posts
2014-07-15 17:47:24 +10:00
Neil Lalonde
766196af87 FEATURE: add site setting allow_new_registrations which can be used to block all new account registrations 2014-07-14 15:42:22 -04:00
Robin Ward
cce7cf8c85 FEATURE: Require Javascript to activate an account via email link 2014-07-14 12:26:10 -04:00
Robin Ward
c12780eb2b Merge pull request #2538 from techAPJ/patch-1
FEATURE: disposable invite tokens
2014-07-14 12:13:44 -04:00
Arpit Jalan
575b5e3d13 FEATURE: disposable invite tokens 2014-07-14 21:30:46 +05:30
Sam
4a2cc269ab FIX: allow selection of no title 2014-07-14 18:07:07 +10:00
Sam
88469721b9 FEATURE: Allow admins to disable specific badges 2014-07-14 17:40:36 +10:00
Sam
6618358586 FIX: dupe protection is API only now
make optional later on (was introduced for wordpress plugin)
2014-07-14 15:59:58 +10:00
Benjamin Kampmann
ac3f1ba3d6 Improved Group Member Management on User Administration
Allows for a quick and easy group membership management on the
user-administration page. Uses the select2 UI component to
autosuggest other groups, remove existing ones and lock in automatic
groups.
2014-07-13 20:11:38 +02:00
riking
783454ebe1 Fix /p/post/user route not saving referrals
Make user id optional for /p/id/uid
Add /posts/id/raw route for debugging failed post processing
2014-07-11 14:44:07 -07:00
Sam
833c50c460 FEATURE: Read Faq badge 2014-07-11 17:32:29 +10:00
Neil Lalonde
e565ae2528 FEATURE: /guidelines route will always show our FAQ, ignoring the faq_url site setting 2014-07-10 12:58:41 -04:00
Sam
27f85e5451 FIX: allow for subdirectorys for cdn assets 2014-07-10 17:29:38 +10:00
Sam
6019e3f257 FIX: remove hardcoding from middleware stack so we can control it 2014-07-10 17:01:21 +10:00
Sam
5032c96486 FIX: disable x accl redirect for CDN assets
We need to keep headers in tact
2014-07-10 16:32:46 +10:00
Sam
2f8d139ec0 BUGFIX: incorrect ordering in category permissions
FEATURE: UI for categories that we allow badges on
2014-07-10 12:02:16 +10:00
Sam
9ee93aad5b FIX: letter avatars to live in uploads directory, add last modified 2014-07-08 17:20:27 +10:00
Sam
aca0aa8e56 FIX: missing last modified on avatars 2014-07-08 17:16:29 +10:00
Sam
efd6bf1490 FIX: set last modified date on CDN assets 2014-07-08 14:48:20 +10:00
Régis Hanol
59b5ba7c0f BUGFIX: IP lookup wasn't working when using HTTPS
REFACTOR: the ip locator into a ip-lookup component
2014-07-07 22:18:18 +02:00
Neil Lalonde
5bcfb6ee38 FIX: don't show 'About category' topics on the 404 page 2014-07-04 16:18:17 -04:00
Régis Hanol
609d1e05cd FEATURE: optimize the hell out of letter avatars 2014-07-04 13:27:17 +02:00