Commit Graph

718 Commits

Author SHA1 Message Date
Dan Johnson 9f6b7889a8 views: convert 'ip' (bigint) -> 'ip_address' (inet)
This fixes all known issues when connecting to discourse over IPv6.

This table has no primary key, so the migration is done with update_all,
for each ip address in the views table. Since this table can potentially
grow quite large, this process might take a long time. I don't know any
way around this, though.

This migration uses a SQL command to populate the new field from the old
one, so as not to rely on the View model class, which should keep the
migration from failing if that class is modified in the future.
2013-06-25 19:47:25 -04:00
Dan Johnson 2e478d8537 TopicLinkClick: convert 'ip' (bigint) -> 'ip_address' (inet)
When accessed over IPv6, the ip address of the user is a 128-bit number,
too big for PostgreSQL's bigint data type. Since PostgresSQL has the
built-in inet type, which handles both IPv4 and IPv6 addresses, we
should use that instead. Where this is done elsewhere in the codebase,
the column is called ip_address, so we should follow that convention as
well.

This migration uses a SQL command to populate the new field from the old
one, so as not to rely on the TopicLinkClick model class, which should
keep the migration from failing if that class is modified in the future.
2013-06-25 19:41:19 -04:00
Neil Lalonde b2d300fe0b Add ability to give users a title. Show them under usernames beside posts. Needs love from a designer. 2013-06-25 18:39:20 -04:00
Neil Lalonde a86b35c873 Remove the access_password site setting 2013-06-25 15:05:25 -04:00
Robin Ward 9a19c0d9c4 Fix for multiple paragraph emails with text em-dashes in them (--). 2013-06-25 14:06:05 -04:00
Jesse House 2e12eb2b62 refactor list_controller
- minor refactoring of actions 'category' and 'category_feed'
- fix defect in 'category' where check was for literal
  string 'uncategorized' instead of SiteSetting.uncategorized_name
- major refactoring on defined topic actions
2013-06-25 08:29:00 -07:00
Martin Feckie 674e26e6c3 Updated tests to decrease string repetition
Removed an unused variable
Some minor style changes
2013-06-25 22:15:41 +08:00
Sam 7d1e8239e0 Merge pull request #1070 from house9/top-menu
adds TopMenuItem model which encapsulates top_menu parsing logic
2013-06-25 02:51:57 -07:00
Régis Hanol 52b8e6014b forgot to commit the test 2013-06-24 22:56:03 +02:00
Jesse House 06be760257 adds TopMenuItem model which encapsulates top_menu parsing logic 2013-06-24 10:04:18 -07:00
Sam ea932b74e7 values is a much more consistent name than all_values ... we use {}.values not {}.all_values
also fixes random ordering of tests failure in site settings
2013-06-23 15:07:49 +10:00
Sam 22d6f6784c Merge pull request #1075 from ZogStriP/fix-lightboxing-when-using-s3
FIX: lightbox wasn't working when using s3 upload
2013-06-23 22:11:45 -07:00
Sam 7c726bd235 Merge pull request #1079 from ZogStriP/do-not-lightbox-oneboxed-images
do not lightbox oneboxed images
2013-06-23 22:07:25 -07:00
Régis Hanol 361062d53e do not lightbox oneboxed images 2013-06-24 02:10:21 +02:00
Sam 0b94c3c456 fix all sorts of issues with random spec order
SiteSetting no longer persisted across tests
2013-06-23 13:35:25 +10:00
Sam 251aca3b00 lets not fail in order random 2013-06-23 13:35:25 +10:00
Régis Hanol 08aa23f0ca FIX: lightbox wasn't working when using s3 upload 2013-06-22 13:38:42 +02:00
Robin Ward bb908d5913 Email parsing uses Traditional Markdown Linebreaks by default. Added JS tests for line breaks. 2013-06-21 11:37:26 -04:00
Neil Lalonde bfdbf373f3 Don't show invisible topics in uncategorized on categories page 2013-06-21 11:36:00 -04:00
Sam e53aa45f54 I think this is more correct, admins/mods should always be able to invite 2013-06-21 16:35:27 +10:00
Neil Lalonde f39f44ddbf Categories page should not show invisible topics 2013-06-20 16:07:53 -04:00
Robin Ward 0e984762d5 Oops, forgot to check in the email fixtures :P 2013-06-20 13:07:42 -04:00
Robin Ward 0d10b5c9c4 More email receiving logic 2013-06-20 12:38:37 -04:00
Robin Ward 9f3d5b9f1e Merge pull request #1044 from ZogStriP/clean-orphan-uploaded-files
added a rake task to clean orphan uploaded files
2013-06-20 07:53:50 -07:00
Robin Ward 8e6a903f9b Merge pull request #1046 from house9/admin-user-index-2
extract Admin::UsersController#index to its own query class
2013-06-20 07:52:22 -07:00
Sam 70683c1f09 Merge pull request #1034 from chrishunt/rebake-oneboxes
Optionally rebake oneboxes with posts:rebake task
2013-06-20 01:18:57 -07:00
Sam 08df4c41cc Merge branch 'master' of github.com:discourse/discourse 2013-06-20 17:42:29 +10:00
Sam 4a8a663a67 flagging workflow changes per http://meta.discourse.org/t/we-need-an-archive-flag-notification-button/7450 2013-06-20 17:42:15 +10:00
Robin Ward 8c4aac7f94 Migrate all jasmine specs to Qunit. Removed Jasmine. 2013-06-19 18:18:35 -04:00
Jesse House e0ff74ead0 extract Admin::UsersController#index to its own query class
- move query to its own class
- use postgres ILIKE case insensitive
- removed duplicated list of trust levels
2013-06-19 13:48:45 -07:00
Neil Lalonde e263bb3c0a Anons should be able to see post history 2013-06-19 16:43:16 -04:00
Régis Hanol 4a17d6dca6 added a rake task to clean orphan uploaded files 2013-06-19 21:51:41 +02:00
Robin Ward 5ef6714d48 New site setting: `minimum_topics_similar`, allows you to specify a minimum amount
of topics that need to be in the database before it will suggest similar topics as
a user creates a post.
2013-06-19 13:14:24 -04:00
Robin Ward 82d1465d18 Ugly Hack: Remove improperly parsed headers from Mail::Message 2013-06-19 12:14:01 -04:00
Sam 6491bda4ab fix the positioning for replies
fix stubs
2013-06-19 18:23:01 +10:00
Chris Hunt ef76e18215 Optionally invalidate onebox in PostAnalyzer#cook 2013-06-19 00:19:42 -07:00
Sam 799b402778 fix horribly broken invite code, could lead to inviting the wrong person to a conversation 2013-06-19 10:31:19 +10:00
Robin Ward d5191adfc9 Remove useless jasmine spec 2013-06-18 18:08:37 -04:00
Robin Ward 62e21b8175 Markdown moved to Qunit 2013-06-18 18:05:08 -04:00
Robin Ward f0ebca51cc Moved Formatter, KeyValueStore and Onebox jasmine tests to QUnit. 2013-06-18 17:23:00 -04:00
Robin Ward 8af9952b25 Change all headers to X-Discourse-* instead of Discourse-* 2013-06-18 15:54:02 -04:00
Robin Ward 60fce196c7 More Qunit tests including a CLI runner 2013-06-18 13:44:20 -04:00
Neil Lalonde eea00afb80 tos and privacy urls redirect based on site settings 2013-06-18 10:52:04 -04:00
Sam 6989851cd4 Merge pull request #1038 from ZogStriP/keep-uploads-reverse-index-up-to-date
Keep uploads reverse index up to date
2013-06-18 00:43:31 -07:00
Sam 80c42753e1 fix up find as you type for the invite into PM function
allow mods to remove users from a PM
2013-06-18 17:17:01 +10:00
Robin Ward 8acdc18bc8 First stab at polling support for POP3S / reply by email 2013-06-17 16:49:02 -04:00
Régis Hanol 7bdc616040 keep uploads reverse index up to date 2013-06-17 22:46:48 +02:00
Régis Hanol ae3543872c renamed the `sha` column to the proper `sha1` 2013-06-17 22:16:14 +02:00
Neil Lalonde 281a08a99f Allow people to capitalize a word when ninja-editing a post 2013-06-17 15:57:13 -04:00
Robin Ward 3c7eb3a4e8 FIX: null dates crashed the client app. `last_posted_at` was not updating properly on split topic. 2013-06-17 13:02:50 -04:00
Neil Lalonde 876a570e3a Fix to prevent check for all upper case for non-ascii messages 2013-06-17 12:22:50 -04:00
Robin Ward 797b99db7c Moved a bunch of tests to QUnit. Added basic `Discourse.Site` support to test suite. 2013-06-17 11:38:30 -04:00
Sam dd5cd1df4f Merge pull request #1037 from ZogStriP/imagineering
Imagineering
2013-06-16 22:01:10 -07:00
Sam 0052e78bfe render error when people attempt to save an invalid group name
hide controls when we showing an automatic group
2013-06-17 13:43:06 +10:00
Régis Hanol af45b5a11e proper column naming
silly schemaless database habits are hard to kill
2013-06-17 04:02:17 +02:00
Régis Hanol 510bac4b27 refactored a bit & tested thumbnails creation 2013-06-17 02:49:34 +02:00
Régis Hanol 5de03814fb created `optimized_image` model 2013-06-17 02:49:34 +02:00
Régis Hanol 2c3f757951 moved `has_been_uploaded` and `uploaded_regex` to the `Upload` model 2013-06-17 02:49:34 +02:00
Régis Hanol c11f4456ae cleaned up CookedPostProcessor and improved specs 2013-06-17 02:49:34 +02:00
Régis Hanol 8a98310cf9 make sure we only do the work once 2013-06-17 02:49:34 +02:00
Régis Hanol 6ea91b4416 remove useless upload topic direct association 2013-06-17 02:49:33 +02:00
Sam e603c85fa0 Merge pull request #1032 from Krugloff/patch-1
It maybe worth load pluralizations rules before compile?
2013-06-16 16:58:16 -07:00
Sam 4650ce3556 Merge pull request #1026 from chrishunt/link-twitter-handles
Link Twitter handles and hashtags in Twitter onebox
2013-06-16 16:50:57 -07:00
Sam b545a49d32 Merge pull request #1025 from ZogStriP/reverse-index-take-2
Reverse index take 2
2013-06-16 16:49:57 -07:00
Krugloff c964c5c0d5 Add test for load plurals before precompile 2013-06-16 02:38:28 +04:00
Neil Lalonde f62c421c91 Render category descriptions differently on the categories page 2013-06-14 11:18:44 -04:00
Chris Hunt 4491b1f06f Link hashtags in Twitter onebox 2013-06-13 21:09:37 -07:00
Chris Hunt b84ee29c43 Link Twitter handles in Twitter onebox 2013-06-13 21:00:47 -07:00
Régis Hanol 037f62928b add proper post_uploads reverse index 2013-06-13 23:44:24 +02:00
Robin Ward bd1b4d3130 Include a custom reply address when reply by email is enabled. 2013-06-13 17:00:00 -04:00
Neil Lalonde 4db8204a15 Remove topic links when a post is deleted 2013-06-13 13:41:54 -04:00
Robin Ward 49c09898e2 The EmailBuilder now creates the Reply by Email Key if necessary. 2013-06-13 12:40:06 -04:00
Robin Ward cf9b6beb13 Add specs for all user notifications, including whether they support
reply by email.
2013-06-13 12:40:01 -04:00
Robin Ward e29f4a3496 Work in Progress: Reply By Email:
- Add support classes and settings to enable reply by email
- Split out Email builder to be more OO, add many specs
2013-06-13 12:39:56 -04:00
Robin Ward 66f5a3f6f6 FIX: Emoji sizes in emails should be done by the EmailStyler 2013-06-13 12:15:05 -04:00
Robin Ward cb40ceb9e8 Merge pull request #1019 from ZogStriP/reverse-index-of-user-uploads
added a reverse index of user uploads + rake task
2013-06-13 07:20:55 -07:00
Sam 80f1e9a0d9 Merge pull request #1021 from ZogStriP/less-brittle-specs
less brittle specs to os-specific line endings
2013-06-13 02:27:07 -07:00
Régis Hanol 2e2553c18c less brittle specs to os-specific line endings 2013-06-13 11:09:11 +02:00
Sam f7de9f17d5 refactor validators
add a new setting for min pm body length
use that setting for flags
scale entropy check down for pms
2013-06-13 18:18:43 +10:00
Sam 384d743e7b refactoring of site settings 2013-06-13 12:41:27 +10:00
Sam e6e81efe85 correct information leak in page not found 2013-06-13 10:27:17 +10:00
Régis Hanol 770c1faeb1 added a reverse index of user uploads + rake task 2013-06-13 01:43:50 +02: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
Robin Ward 77b218a142 FIX: Do not suggest similar topics from secure categories you can't see. 2013-06-12 13:45:11 -04:00
Neil Lalonde 28ac110a3c Add eu-west-1 to s3 regions 2013-06-12 12:02:47 -04:00
Sam 54d8c963d0 fix tests and allow SE onebox to onebox Meta cause I need that for an post I am writing 2013-06-12 12:23:24 +10:00
Sam c1f6169b48 hidden and deleted state in user stream 2013-06-12 11:14:08 +10:00
Sam eb91a0c9df Merge pull request #1012 from ZogStriP/extract-imgur-support-to-a-gem
Extract imgur support to a gem
2013-06-11 16:59:53 -07:00
Chris Hunt a362d62b42 Do not return mail password in EmailController 2013-06-11 16:00:13 -07:00
Régis Hanol 8a2d635e62 removed imgur support 2013-06-11 21:51:41 +02:00
Neil Lalonde 82b5f57e40 Make it possible to set a site setting to empty string 2013-06-11 14:31:38 -04:00
Neil Lalonde 811a0df68b Make s3 region site setting a drop down 2013-06-11 14:24:04 -04:00
Neil Lalonde 5ff7e570ac Add support for enum site settings that render as a dropdown; use a dropdown for default_locale 2013-06-11 11:40:14 -04:00
Sam c2cfbce9ce automatically updating times for posts on topic
moved moment.js into localization file (we need to localize it)
added helpers for date formatting use, moment().shortDate() moment().longDate() moment().shortDateNoYear()
2013-06-11 17:25:50 +10:00
Sam fa8a84f20c removed sugar.js, port functionality to moment and underscore.js
bring in latest ace from local so we don't mess up with https
2013-06-11 15:27:26 +10:00
Robin Ward ab5507ac06 Merge pull request #1002 from chrishunt/add-stack-exchange-onebox
Add Stack Exchange onebox
2013-06-10 12:38:03 -07:00
Robin Ward 93bbe190c0 Moved Email components into a module 2013-06-10 15:34:10 -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
Chris Hunt 1fb0b424ed Add Stack Exchange onebox 2013-06-10 09:27:13 -07:00
Robin Ward 68d849419b FIX: Don't email '(user deleted)' posts. Seriously. 2013-06-10 12:02:04 -04:00
Robin Ward ad6705cca7 Update Ember to latest master (RC5) 2013-06-10 10:14:42 -04:00
Jeff Atwood b4a4774165 extend consumer email warning to yahoo & outlook 2013-06-10 00:08:06 -07:00
Chris Hunt 15efecd536 Remove html rendering test for commit onebox
This is a very brittle test. We want to be able to change our markup
without breaking tests.
2013-06-09 21:32:13 -07:00
Sam cbec9efc16 Merge branch 'master' of github.com:discourse/discourse 2013-06-10 09:48:51 +10:00
Chris Hunt d741798d9c Add onebox for GitHub pull requests 2013-06-08 11:01:06 -07:00
Sam 9aa2cc2262 extra spec 2013-06-08 23:56:40 +10:00
Sam 1756f713d6 SECURITY HOLE, upgrade right away if you are using Secure Groups. 2013-06-08 23:52:06 +10:00
Robin Ward b2a6755a48 Merge pull request #984 from Supermathie/moreentropy
More entropy for foreign titles
2013-06-07 14:23:26 -07:00
Michael Brown bb77d2c38b More entropy for foreign titles
* Treat strings with non-ASCII characters as having more entropy
2013-06-07 14:47:07 -04:00
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 1b5ec42173 FIX: Regression where a topic rollback would not properly report errors to the client. 2013-06-07 12:36:37 -04:00
Robin Ward 3ae72259a6 Merge pull request #979 from iancmyers/strong-parameters
All parameters for #create in PostsController pass through strong_parameters
2013-06-07 09:17:29 -07: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
Sam 5fa20ce357 more progress towards full migration to moment.js 2013-06-07 18:27:42 +10:00
Chris Hunt f6ce985121 Send activation email after user approved 2013-06-06 18:37:25 -07:00
Chris Hunt 93fc0e74bc Test correct login behavior when pending approval 2013-06-06 18:36:16 -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
Chris Hunt e7b38fb188 Move duplicated request to helper method 2013-06-06 18:36:16 -07:00
Chris Hunt 4a182f8bba Fix spec doc; sends welcome email for active users 2013-06-06 18:36:16 -07:00
Sam a5a229598d missed a spot 2013-06-07 09:17:34 +10:00
Neil Lalonde 564d242832 Notify moderators when someone is automatically blocked because of spam flags 2013-06-06 18:49:19 -04:00
Sam 11afa0c11b work in progress migrate to moment 2013-06-07 08:49:22 +10: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
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 b062b4a98e Unapproved users should not receive digest emails. Fixes #974 2013-06-06 11:45:18 -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
Robin Ward a3d62fdf69 Temporarily roll back ember rc5. We identified some things we need to fix. 2013-06-06 01:25:43 -04: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 6384518599 Allow images in the daily digest for top scoring posts 2013-06-05 18:55:27 -04: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
Neil Lalonde f030d9b420 Make default_logo_check more smarter 2013-06-05 16:59:19 -04:00
Neil Lalonde 4e8ff74b99 Show dashboard warning when favicon and/or logo urls contain the same filename as the shipped defaults 2013-06-05 16:43:39 -04:00
Neil Lalonde b55182b983 Use PostDestroyer when deleting all of a user's posts; deleting a post removes its flags and resets its flag counts 2013-06-05 16:05:13 -04:00
Robin Ward dfba2b6e0a FIX: Strip links from google indexed bios when the users are new. 2013-06-05 15:28:10 -04:00
Robin Ward 729e4080a6 Merge pull request #958 from ZogStriP/fix-have-onebox-ignore-internal-links
FIX: Have onebox ignore internal links
2013-06-05 12:09:53 -07:00
Robin Ward 112d57e899 Merge pull request #960 from iancmyers/strong-parameters
Began implementing strong_parameters
2013-06-05 12:03:17 -07:00
Régis Hanol 01855b70b4 FIX: Have onebox ignore internal links 2013-06-05 20:53:07 +02: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
Robin Ward a0bd51862e Upgrade Ember to RC5. Disabled a deprecation warning that I believe is in error. 2013-06-05 12:07:18 -04: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 74502172f3 speed up test 2013-06-05 12:48:34 +10:00
Sam 9a57aaaaa9 fix encoding for category excerpt
fix missing secure category topics in categories page
2013-06-05 11:22:47 +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