Commit Graph

497 Commits

Author SHA1 Message Date
railsaholic
34bba737ff Refactor SessionController#create, reduce complexity.
Don't compromise readablity
2013-11-15 22:09:03 +05:30
Scott Albertson
77b59b54ce Refactor UsersController#invited
* Add test coverage
* Simplify controller action
* Move finder code to Invite class
2013-11-11 13:23:49 -08:00
Sam
d1d661f6e1 add logic that auto closes any topics that missed the queued job (due to redis flush or whatever) 2013-11-11 10:52:44 +11:00
sirMackk
af67284995 User ctrl refactor - breaks up large methods, moves some logic into model
Includes missing methods from backup for travis to pass

fix missing code, failing specs

keep params handling in the controller.
2013-11-09 18:44:13 +05:30
Robin Ward
948a545cb1 Category descriptions should not appear in digests 2013-11-06 15:05:06 -05:00
Robin Ward
25ef66c60b User invites page now has search, displays first invites_shown records 2013-11-05 17:53:26 -05:00
Régis Hanol
37fd7ab574 pull hotlinked images 2013-11-05 19:07:29 +01:00
Neil Lalonde
bd9b85f076 Screened Urls page shows results for each domain instead of each url 2013-11-04 16:24:48 -05:00
Robin Ward
3d6d7c8abe SiteSetting to hide regular names from users 2013-10-30 15:45:34 -04:00
Robin Ward
6063b52d6a Support for choosing a destination category when splitting topics. 2013-10-29 15:30:06 -04:00
Manoj
9650dbb97c Refactor topics controller
Refactor: 1) TopicsController to reduce code climate complexity.
2) Topic model, addressed comments

fix typo
2013-10-28 11:42:07 +05:30
Sam
95e936c299 cleanup API for looking up a user by email or username, add specs, fix invalid auto association in open id provider 2013-10-28 16:29:07 +11:00
Robin Ward
f4d9bf9181 Merge pull request #1573 from railsaholic/use_existing_find_by_username_or_email
Utilize already existing method 'find_by_username_or_email'
2013-10-25 12:57:18 -07:00
Sam
4929c5db71 FIX: when allow_uncategorized_topics was false, PMs can not be created 2013-10-25 09:33:39 +11:00
Manoj
96ae3cdacc Utilize already existing method 'find_by_username_or_email'
check presence of email using include, dont use =~
2013-10-24 19:26:06 +05:30
Sam
666264879c change it so all topics MUST include a category, we store a special uncategorized category to compensate
this cleans up a bunch of internals and removes some settings
2013-10-24 12:08:02 +11:00
Neil Lalonde
8aab2253d0 Whitelisted ip addresses will not be flagged as spam by flag_sockpuppets 2013-10-23 17:11:35 -04:00
Robin Ward
c814fc16a3 Database structure to support sub categories 2013-10-23 15:22:49 -04:00
Robin Ward
348e2e3ef2 Support for per-user API keys 2013-10-22 17:34:39 -04:00
Neil Lalonde
7d582fbee3 Screened ip address can be edited, deleted, and changed to allow or block. 2013-10-22 16:30:46 -04:00
Robin Ward
2308784713 Merge pull request #1543 from railsaholic/small_users_controller_refactoring
refactor UsersController to reduce complexity
2013-10-21 12:21:03 -07:00
Neil Lalonde
648b11a0eb Add screening by IP address. When deleting a user as a spammer, block all signups from the same IP address. 2013-10-21 14:50:18 -04:00
Manoj
868e4ffe6d refactor UsersController to reduce complexity
Refactored: UsersController#create
2013-10-19 15:18:11 +05:30
Sam
1ee49798b2 work in progress wide category list 2013-10-18 11:10:10 +11:00
Sam
7bf96ee690 naive implementation of post_count on categories 2013-10-18 11:10:10 +11:00
Robin Ward
0a4f5af4a8 Merge pull request #1531 from railsaholic/topics_model_refactoring
Refactored Topic#limit_topics_per_day to improve Code Climate Complexity
2013-10-17 06:56:41 -07:00
Neil Lalonde
cabe8f0d2d Clean up ScreenUrl normalization and matching 2013-10-16 16:39:29 -04:00
Robin Ward
f27413219e Support for MDTest 2013-10-16 10:28:42 -04:00
Manoj
7c03076c2a Refactored Topic#limit_topics_per_day to reduce code climate complexity
Extracted  1) #apply_per_day_rate_limit_for, method as generic
RateLimiter , 2) #limit_first_day_topics_per_day as a separate method,
3) Added User#added_a_day_ago?, 4) Fixed private methods indentation.
2013-10-16 14:58:18 +05:30
James Edward Gray II
1aa9fc982d Adding post details in preparation for the API importer code. 2013-10-15 09:21:30 -05:00
Sam
7df4e4afb9 security fix, anon should not be treated as though they can create anything 2013-10-13 09:54:48 +11:00
Sam
ad2ed5fe51 rate limits for topics and posts on first day
max_topics_in_first_day and max_replies_in_first_day
2013-10-10 10:32:03 +11:00
Neil Lalonde
bccb37b6f3 When creating a topic, don't select a category by default when allow_uncategorized_topics is false. Also, added category validation on the server to enforce allow_uncategorized_topics. 2013-10-08 14:41:20 -04:00
Sam
5bf26ec34e large refactor, ship a few columns from the user table into user_stats 2013-10-07 15:04:59 +11:00
Robin Ward
3f0c03a20c FIX: Prevent unauthorized list of private message titles. Also remove some unused code. 2013-09-30 14:35:11 -04:00
Régis Hanol
cd4cda5b4c allow users to specify thumbnail size 2013-09-27 10:57:31 +02:00
Robin Ward
2baf5fda8e Merge pull request #1438 from Elegios/composer_use_category_id
Make the composer and TopicCreator use category id instead of category name
2013-09-17 08:03:48 -07:00
Neil Lalonde
b15e629f46 Strip trailing slashes from ScreeningUrl records 2013-09-17 10:26:05 -04:00
Viktor Palmkvist
37673e3412 Make the composer and TopicCreator use category id instead of category name
Also fixes #1171
Includes backwards compatibility for topic creation
2013-09-17 12:13:19 +02:00
Neil Lalonde
c845071066 Fix an error with mobile custom header 2013-09-16 12:55:44 -04:00
Neil Lalonde
13f17b2a5c Add ability to customize css and header for mobile 2013-09-16 12:28:02 -04:00
Robin Ward
7d9a84b496 New User Education goes through a server side ComposerMessages check. Composer message for users
who don't have avatars.
2013-09-13 12:23:53 -04:00
Robin Ward
fcff4e80d1 New user_stats table to keep track of queried information on a user.
This is information that is not usually needed when representing a user
and is in a separate table with a has one relationship to avoid querying
it all the time.
2013-09-11 14:50:26 -04:00
Neil Lalonde
e8ef55c446 Rename StaffActionLog to UserHistory 2013-09-10 22:01:20 -04:00
Robin Ward
c8ad977c8a Revert "Merge pull request #1215 from Elegios/composer_use_category_id"
This reverts commit 763859d439, reversing
changes made to b62caf80fb.
2013-09-06 18:00:57 -04:00
Robin Ward
763859d439 Merge pull request #1215 from Elegios/composer_use_category_id
Make the composer and TopicCreator use category id instead of category name
2013-09-06 11:55:27 -07:00
Sam
641c51367a fix broken build
hack to allow for PMs with no users for flagging needs
2013-09-06 18:03:30 +10:00
Sam
2ce4468aa5 rename system_username to site_contact_username , system_user is a special user with -1 id that is only used for certain admin tasks
for example system_user will autoclose stuff if needed, it will delete stubs and be the target for flag pms
2013-09-06 17:28:37 +10:00
Sam
41a1b6942d notify moderators now goes to the "community" user, that saves our poor mods from a flood of pms
if any staff respond to a pm they are automatically added to the list of recipients and will start
getting email notifications
2013-09-06 14:07:23 +10:00
Sam
61281a3c81 invite only forums had very wonky logic, invited users were not being activated, invite_only forums were still registering users 2013-08-28 17:18:31 +10:00
Sam
83d8bcdc27 revert non queuing of emails 2013-08-27 11:52:28 +10:00
Sam
322b5c236c queue emails right away if a user is not online, no point waiting. 2013-08-26 14:55:35 +10:00
Sam
818bf1355d PluginStore for plugin specific bits of storage
Amended plugin interfaces so they work with the vk sample
2013-08-26 12:59:17 +10:00
Navin Keswani
d87389b38e No more rails 4 deprecation warnings 2013-08-25 23:18:11 +02:00
Robin Ward
e9663e5338 Merge pull request #1332 from locks/user_email_observer
User email observer (Code Climate improvements)
2013-08-24 08:34:11 -07:00
Ricardo Mendes
37f4022f73 Refactors UserEmailObserver to improve Code Climate score
- Extracts certain logic to private methods and remove unnecessary
comments
- Extracts email enqueueing methods into a separate class
- Fix specs involving UserEmailObserver to call #after_commit instead
of the specific methods
2013-08-24 12:21:39 +01:00
Neil Lalonde
6e79197519 Enum site settings can have translatable names in dropdown. Add setting for how often users get digest emails by default: default_digest_email_frequency. 2013-08-23 17:36:25 -04:00
Scott Albertson
1dbe1fb1bc Refactor User.find_by_username_or_email
* Improve test coverage
2013-08-22 09:40:07 -07:00
Robin Ward
7f69a58439 Replace Markdown parser. 2013-08-21 10:10:57 -04:00
Régis Hanol
3922c9b6b5 FIX: specs for ruby 2.0.0-p247 2013-08-20 21:45:58 +02:00
Sam
31dac4b197 unseen users get no updates 2013-08-20 17:48:04 +10:00
Sam
a9393e4a7a paging for flag list
corrected reload behavior on flag list
refactored post actions ... extracted flag queries
2013-08-19 21:14:26 +10:00
Viktor Palmkvist
f8129c4e43 Make the composer and TopicCreator use category id instead of category name
Also fixes #1171
2013-08-19 11:57:35 +02:00
Sam
c2653b2915 Merge pull request #1309 from stephankaag/sidetiq
Replace Clockwork with Sidetiq
2013-08-14 16:51:04 -07:00
Neil Lalonde
86647f0a54 Add ScreenedUrl. Rename BlockedEmail to ScreenedEmail. 2013-08-14 16:08:23 -04:00
Stephan Kaag
a6b4b5dbf2 Replace Clockwork with Sidetiq 2013-08-14 21:39:40 +02:00
Régis Hanol
c867b67a0b custom avatar support 2013-08-13 22:08:29 +02:00
Robin Ward
fe3a69c271 Private message emails now include the history 2013-08-07 13:03:45 -04:00
Robin Ward
1c3804934e Show the entire history of replies above a post when you expend "in reply to" 2013-08-06 17:43:10 -04:00
Neil Lalonde
1552c4b69e Remove users column from Top Traffic Sources table on dashboard. It's not useful and very expensive to calculate. 2013-08-02 18:32:33 -04:00
Sam
d343d512b9 favorite user action consistency 2013-08-02 11:07:18 +10:00
Sam
5e23a0681d work in progress, will finalize soon 2013-08-02 09:59:25 +10:00
Régis Hanol
faeb4a9ebd enhance upload selector
- Change the icon on the button to a file when attachments are enabled
- Display the list of allowed extensions in the upload selector
- FIX : regexps for validating uploads weren't escaping the dots
2013-08-02 01:30:18 +02:00
Régis Hanol
ed9417fa3b enable thumbnailing on S3
- added url to optimized image model
- refactored s3_store & local_store
2013-07-31 23:26:34 +02:00
Ryan Boland
553a671fdb fix mentions in code blocks 2013-07-30 18:01:42 -04:00
Neil Lalonde
882c1524f7 Strip trailing and leading spaces from category names 2013-07-30 16:48:45 -04:00
Neil Lalonde
8cee3a9fcd Add a way to add email to block list when nuking a user 2013-07-29 15:29:43 -04:00
Neil Lalonde
5f8a130277 Add BlockedEmail, to block signups based on email. Track stats of how many times each email address is blocked, and last time it was blocked. Move email validation out of User model and into EmailValidator. Signup form remembers which email addresses have failed and shows validation error on email field. 2013-07-29 15:29:43 -04:00
Neil Lalonde
a8df9778b5 Rename AdminLog to StaffActionLog 2013-07-29 15:29:43 -04:00
Robin Ward
c28b377494 Don't redirect to arbitrary URLs via link tracker 2013-07-26 12:14:11 -04:00
Stephan Kaag
f99acebdaa Rails 4 updates 2013-07-24 21:09:18 +02:00
Sam
38b8e9b1b4 get rake autospec working in rails 4 2013-07-24 11:49:26 +10:00
Régis Hanol
be9217d4c8 add server-side filesize check on uploads 2013-07-24 00:54:41 +02:00
Sam
060c79ecc0 remove dupes before correcting topic_ids in user action consistency check job 2013-07-23 12:44:20 +10:00
Sam
4b269de724 correct: http://meta.discourse.org/t/cant-save-adding-a-group-permission-to-a-category/8537
can not save category after adding a new custom group
2013-07-23 10:10:36 +10:00
Sam
0acc96c94e work around for http://meta.discourse.org/t/activerecord-statementinvalid-exception-raised-in-models-user-action-rb/7275/4 2013-07-23 09:48:18 +10:00
Stephan Kaag
0e3b8fbb24 Remove some calls to all. They are not required, and Rails4 raises warnings about them. 2013-07-22 20:44:11 +02:00
Robin Ward
ed745c3fdd Merge pull request #1222 from ZogStriP/fix-s3-related-issues
Fix s3 related issues
2013-07-22 07:30:41 -07:00
Robin Ward
80a0943f54 Merge pull request #1228 from ZogStriP/fix-thumbnailing-with-cdn-enabled
FIX: thumbnailing isn't working with CDN enabled
2013-07-22 07:22:59 -07:00
Robin Ward
8b181e0803 Merge pull request #1230 from ZogStriP/add-newuser-max-attachments-setting
add newuser-max-attachments setting
2013-07-22 07:22:23 -07:00
Sam
58e7c3e1f3 push some work out of AR callbacks into PostCreator, add a couple of helpers for post and topic creation in test
fix it so the auto_track false marks topics as new
2013-07-22 15:07:20 +10:00
Sam
31bb08bcdd added an option to bypass auto tracking of topics on post creation 2013-07-22 15:07:20 +10:00
Régis Hanol
2986798ba7 add newuser-max-attachments setting 2013-07-22 02:39:17 +02:00
Régis Hanol
649ab85740 FIX: thumbnailing wasn't working with CDN enabled 2013-07-22 00:37:23 +02:00
Régis Hanol
33977252c9 rollback to previous s3 syntax (ie. subdomains) 2013-07-20 11:30:36 +02:00
Régis Hanol
8406a4230c FIX: click tracking on attachments wasn't working 2013-07-19 01:27:09 +02:00
Sam
81616a46ba db consistency check for mismatching topic_ids in user_actions
fix up post mover so it remaps user actions as well
move specs for post mover into post_mover_spec
2013-07-17 16:40:56 +10:00
Sam
c2be81a76e Merge pull request #1199 from ZogStriP/uploads
adds the `max_attachment_size_kb` setting
2013-07-16 23:03:42 -07:00
Régis Hanol
5c27dd175a make sure we handle both s3 url formats 2013-07-17 00:32:09 +02:00
Régis Hanol
7ae2fe304d renamed s3 to s3_store 2013-07-17 00:27:52 +02:00
Régis Hanol
f40cad0f4b changed s3 urls to using the folder convention 2013-07-17 00:27:52 +02:00
Robin Ward
75282576b9 Merge pull request #1195 from initforthe/post-analyser-backtrace-fix
Post analyser backtrace fix
2013-07-16 07:34:54 -07:00
Sam
352ac9e60c Finalize read only and post only categories, finished off UI work 2013-07-16 15:46:11 +10:00
Sam
ecf17cfebb work in progress, add fidelity to category group permissions (full, create posts, readonly) 2013-07-16 15:46:11 +10:00
Régis Hanol
5ce05ff5cb adds the max_attachment_size_kb setting
so that we can specify a different max upload size for attachments and images.
2013-07-16 02:01:36 +02:00
Tom Russell
f3279a67fc Failing test 2013-07-15 11:22:59 +01:00
Régis Hanol
6f2ce93ab2 FIX: create an upload when FastImage throws an exception
FastImage might throw an exception when it isn't able to recognize a
file as being an image (ie. happens when users changes the extension
manually)

Also improved upload specs a lot
2013-07-13 23:42:19 +02:00
Robin Ward
89152116c6 Only send digests to active users 2013-07-11 18:47:36 -04:00
Robin Ward
7fd8bb75d9 Merge pull request #1177 from ZogStriP/attachments
Attachments
2013-07-11 06:49:20 -07:00
Sam
1aef6de4b0 automatically approve invited users on forum where moderators must approve (keep in mind only moderators can invite)
speed up specs a touch
allow invite controller to accept an email in absence of user (cleans up API)
2013-07-11 11:22:00 +10:00
Régis Hanol
b94d26d798 update back-end specs 2013-07-10 22:59:54 +02:00
Robin Ward
b7327942af Add deleted_by to Trashable tables 2013-07-09 15:46:36 -04:00
Neil Lalonde
806bd98f99 Update category's topic_count immediately when trashing or recovering a topic; this ensures that a category can be deleted without waiting for the category_stats job to run. 2013-07-08 15:23:20 -04:00
Régis Hanol
ac7253a938 refactor CookedPostProcessor & specs 2013-07-08 01:39:08 +02:00
Sam
9afea0ed07 spec for change 2013-07-05 14:23:29 +10:00
Sam
b662cb6c02 If a user read to the end of an auto closing topic, when it is closes just pretend they read the close message. 2013-07-04 11:47:12 +10:00
Neil Lalonde
41729aab14 Stub site setting methods instead of setting them 2013-07-03 16:54:41 -04:00
Robin Ward
05fe33111e FIX: Moving a post should also update its TopicLink records 2013-07-02 16:42:25 -04:00
Robin Ward
023d18cab2 FIX: Admins should be able to post short titles. This is especially important for when syndicating
a blog via the wordpress plugin into Discourse.
2013-06-29 17:57:10 -04:00
Neil Lalonde
a352b70bfc Permit changing my own username's case without an error saying it is already taken 2013-06-28 16:21:46 -04:00
Sam
1ec12fc808 this spec is just refusing to work on jenkins 2013-06-28 16:07:36 +10:00
Sam
ca6325a3fe a pile of complicated and hard to follow specs were replaced by something that makes sense to old people like myself 2013-06-28 15:38:47 +10:00
Sam
3c67cf8acd remove timecop, specs were failing and we can avoid it here anyway 2013-06-28 15:14:44 +10:00
Sam
4512956c68 don't run the wrong sentinel on message, message is validated in the post, in effect some flags were being rejected incorrectly 2013-06-28 12:14:40 +10:00
Neil Lalonde
8e50b49cf1 Try to fix specs that are failing in jenkins 2013-06-27 17:23:06 -04:00
Sam
6145e99baa navigate to message fixed, changed to button
added spec to catch this regression in future
2013-06-27 16:59:07 +10:00
Sam
148d2f2cd4 bug fixes 2013-06-26 16:00:17 +10:00
Sam
65dc04c00e simplify flag reporting and correct it so it properly displays old flags 2013-06-26 15:57:55 +10:00
Sam
3af12ba7d3 Merge pull request #1088 from ComputerDruid/fix-ipv6
Fix ipv6 addresses in the database
2013-06-25 17:25:48 -07:00
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
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
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
0b94c3c456 fix all sorts of issues with random spec order
SiteSetting no longer persisted across tests
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
Neil Lalonde
f39f44ddbf Categories page should not show invisible topics 2013-06-20 16:07:53 -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
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
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
Régis Hanol
4a17d6dca6 added a rake task to clean orphan uploaded files 2013-06-19 21:51:41 +02: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
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
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