Commit graph

246 commits

Author SHA1 Message Date
Neil Lalonde
169125e96d Fix a case where a random topic with null slug will be rendered instead of 404 2013-06-07 14:30:26 -04:00
Robin Ward
5217602ec3 FIX: RSS paths render a 404 for missing topics. 2013-06-07 12:52:12 -04:00
Ian Christian Myers
b61e10f9ad All parameters for #create in PostsController pass through strong_parameters.
We are now explicitly whitelisting all parameters for Post creation. A nice side-effect is that it cleans up the #create action in PostsController. We can now trust that all parameters entering PostCreator are of a safe scalar type.
2013-06-07 01:29:25 -07:00
Chris Hunt
41b0692543 Show 'waiting approval' and don't send email
When 'must approve users' in enabled, we don't want to send an
activation email to users after they sign up. Instead, we will show them
'waiting approval' and not take an action until their account is
approved by an admin.
2013-06-06 18:36:16 -07:00
Neil Lalonde
a151bfc7ec Store when a topic was first set to auto-close and report that amount of time when it closes. And do some refactoring. 2013-06-06 17:04:21 -04:00
Robin Ward
8f32aed944 Only use HTML templates for the digest email. 2013-06-06 15:08:56 -04:00
Neil Lalonde
62041da7e0 Handle /t/only-the-slug urls by trying to find the topic by slug (second try) 2013-06-06 14:41:37 -04:00
Robin Ward
bac03a3369 Merge pull request #975 from jd-erreape/username_refactor
[WIP] Refactored user_name suggestion methods into a module
2013-06-06 08:12:29 -07:00
Juan de Dios Herrero
96d23ddd8d Refactored user_name suggestion methods into a module to reduce the complexity of User model 2013-06-06 16:40:10 +02:00
Ian Christian Myers
0d01c33482 Enabled strong_parameters across all models/controllers.
All models are now using ActiveModel::ForbiddenAttributesProtection, which shifts the responsibility for parameter whitelisting for mass-assignments from the model to the controller. attr_accessible has been disabled and removed as this functionality replaces that.

The require_parameters method in the ApplicationController has been removed in favor of strong_parameters' #require method.

It is important to note that there is still some refactoring required to get all parameters to pass through #require and #permit so that we can guarantee that parameter values are scalar. Currently strong_parameters, in most cases, is only being utilized to require parameters and to whitelist the few places that do mass-assignments.
2013-06-06 00:30:59 -07:00
Sam
255a614142 keep /srv/status exposed 2013-06-06 14:40:10 +10:00
Sam
2ca734c118 Merge pull request #964 from chrishunt/exclusive-club
Add 'invite only' site setting
2013-06-05 16:38:47 -07:00
Robin Ward
0b97ea6345 Better HTML emails, smarter email digests, new email section in admin with digest preview 2013-06-05 17:47:25 -04:00
Chris Hunt
a523fa56ac Don't require authentication for invites 2013-06-05 11:12:37 -07:00
Chris Hunt
acf147ef88 Disable OmniAuth account creation if 'invite only' 2013-06-05 11:11:02 -07:00
Chris Hunt
d432798ff8 Silently fail if user tries to sneak in
When 'invite only' is enabled, there's no way for a user to create an
account unless they try and sneak in by POSTing to /users/. We will
silently fail if this happens.
2013-06-05 11:08:21 -07:00
Ian Christian Myers
41528f5d11 Implemented strong_parameters for Upload/UploadsController.
The topic_id param is now required using strong_parameters' #require method. If the parameter is missing ActionController::ParameterMissing will be raised instead of Discourse::InvalidParameters.
2013-06-05 00:55:55 -07:00
Ian Christian Myers
f50b648844 Implemented strong_parameters for PostAction/PostActionsController.
PostActionsController now uses strong_parameters' #require to require certain parameters. ActionController::ParameterMissing is now thrown when a reqired parameter is missing, rather than Discourse::InvalidParameters.
2013-06-05 00:23:51 -07:00
Ian Christian Myers
3b245031a4 Implemented strong_parameters for Invite/InvitesController.
The email parameter is now required using strong parameters and will throw ActionController::ParameterMissing if it is missing. If the email address is incorrect or invalid, Discourse::InvalidParameters will still be thrown.
2013-06-05 00:04:03 -07:00
Ian Christian Myers
130d837952 Implemented strong_parameters for Category/CategoriesController.
Category now requires parameters to be permitted by strong_parameters using #require or #permit for mass-assignment. Missing required parameters now throw a ActionController::ParameterMissing execption instead of the Discourse::InvalidParameters execption.
2013-06-04 23:45:25 -07:00
Sam
870e59883b secure the links on the topic pages, eliminated deleted topics as well. 2013-06-05 16:10:26 +10:00
Sam
913a607528 need to punch through account creation stuff 2013-06-05 14:01:24 +10:00
Sam
2dfba8d6de we need to be able to do username checks for registration to work 2013-06-05 12:50:42 +10:00
Sam
5e305eaf0a missing skip filter for omniauth 2013-06-05 10:30:51 +10:00
Sam
21b3359ea4 Merge pull request #957 from chrishunt/chrishunt/lock-down-the-base
Add 'login required' site setting
2013-06-04 17:22:08 -07:00
Chris Hunt
978785720a Redirect to root after login if no path provided
If we do not do this, then people that login from /login will just be
redirected back to the login page. We'd rather have them see the root
path.
2013-06-04 16:10:10 -07:00
Chris Hunt
92a4828f72 Redirect all controllers to login if required
We want to skip the filter for sessions controller so that we can login
and we want to skip the filter for static pages because those should be
visible to visitors.
2013-06-04 16:10:10 -07:00
Régis Hanol
e3e55d4dad fix image uploads on s3/imgur 2013-06-05 00:35:42 +02:00
Robin Ward
02b1f78410 FIX: Include preloaded data even if the request type isn't explicitly text/html 2013-06-04 12:56:12 -04:00
Neil Lalonde
2259e97d42 Add a count of blocked users on the dashboard 2013-06-04 11:53: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
Robin Ward
545dbfc07e New Feature: Staff can choose to "Take Action" when flagging to immediately reach hiding
thresholds.
2013-05-31 17:39:32 -04:00
Robin Ward
d23ef1d090 FIX: You could update a topic to have a title that's too short if the TextCleaner
removed extra characters. Additionally, updating the title will not return an error
message to the client app if the operation fails (rather than failing silently.)
2013-05-31 15:24:13 -04:00
Sam
b228a7c185 Merge pull request #923 from eriko/cas_support
remove hardcoded value and replace with SiteSetting.cas_domainname
2013-05-30 21:39:29 -07:00
Neil Lalonde
42714b424f For 403 errors, show the same html page as 404 2013-05-30 16:39:39 -04:00
Neil Lalonde
5d444be72b Support incomplete topic urls like /t/just-a-slug; fix error when using route /t/:topic_id/:post_number 2013-05-30 10:39:15 -04:00
Sam
e93b7a3b20 more progress towards live unread and new counts, unread message implemented, still to implement delete messages 2013-05-30 16:49:57 +10:00
Sam
73834370a5 work in progress, live unread and new counts 2013-05-30 16:49:57 +10:00
Erik Ordway
364a59d344 remove hardcoded value and replace with SiteSetting.cas_domainname 2013-05-29 15:47:49 -07:00
Robin Ward
830b93a16b Reduced complexity of admin flags controller, split up into methods, moved reports into model. 2013-05-29 16:49:34 -04:00
Neil Lalonde
b1bdebd611 url for uncategorized category topic list is always /category/uncategorized 2013-05-29 12:06:33 -04:00
Robin Ward
92dc59fba9 Properly assign draft keys to Categories List view. 2013-05-28 21:16:24 -04:00
Sam
46389754d6 Merge pull request #892 from eriko/cas_support
Cas support
2013-05-28 16:13:29 -07:00
Robin Ward
560fb15d8a Include pinned topics in category list.
- removes an (n+1) query for user data
- supports the preload store for the data to avoid a second request
- fix a bug where uncategorizes was reporting (0, 0, 0) for topics by week, month, year
2013-05-28 15:36:16 -04:00
Robin Ward
e1781240a6 Merge branch 'refactoring' of git://github.com/mattvanhorn/discourse
Conflicts:
	lib/text_sentinel.rb
2013-05-27 10:42:20 -04:00
Sam
661ddbb158 introduce strong_parameters 2013-05-27 11:06:09 +10:00
Sam
d84ae80074 Simplify user action make it more idiomatic 2013-05-27 10:22:37 +10:00
Matt Van Horn
d7817cf314 extract TopicNotifier class from topic 2013-05-24 13:36:33 -07:00
Robin Ward
3037e9adf6 FIX: Clearing flags wasn't making topics visible again. 2013-05-24 16:03:20 -04:00
Robin Ward
bd779834e5 Use search context for filtering search results by current category or user 2013-05-24 14:04:26 -04:00