Commit Graph

385 Commits

Author SHA1 Message Date
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
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 b545a49d32 Merge pull request #1025 from ZogStriP/reverse-index-take-2
Reverse index take 2
2013-06-16 16:49:57 -07:00
Neil Lalonde f62c421c91 Render category descriptions differently on the categories page 2013-06-14 11:18:44 -04:00
Régis Hanol 037f62928b add proper post_uploads reverse index 2013-06-13 23:44:24 +02: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 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 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 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
Régis Hanol 770c1faeb1 added a reverse index of user uploads + rake task 2013-06-13 01:43:50 +02: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
Régis Hanol 8a2d635e62 removed imgur support 2013-06-11 21:51:41 +02: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
Robin Ward 68d849419b FIX: Don't email '(user deleted)' posts. Seriously. 2013-06-10 12:02:04 -04:00
Jeff Atwood b4a4774165 extend consumer email warning to yahoo & outlook 2013-06-10 00:08: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
Chris Hunt f6ce985121 Send activation email after user approved 2013-06-06 18:37:25 -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
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
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
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
Régis Hanol e3e55d4dad fix image uploads on s3/imgur 2013-06-05 00:35:42 +02:00
Neil Lalonde 2465c9c724 Add min_private_message_title_length site setting so private messages can have short titles 2013-06-04 17:59:23 -04:00
Robin Ward 4392a17b54 Strip out links when displaying a new user's bio 2013-06-04 12:06:25 -04:00
Navin cab3502c15 Replace PostAnalyser module with a class
Encapsulate Post#cooked_document as well
Include specs for PostAnalyzer class
2013-06-01 14:59:27 +02: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
Régis Hanol bf6b846c0b Fix upload specs 2013-05-31 17:51:22 +02:00
Sam d00ba60ad3 file is uploaded but hash is not matching ... why? 2013-05-31 15:04:01 +10:00
Sam 41187a5de1 Merge pull request #931 from ZogStriP/more-file-upload-test-coverage
added more file uploads test for better coverage
2013-05-30 21:36:33 -07:00
Régis Hanol 6cc0f8f2d4 added more file uploads test for better coverage 2013-05-31 03:13:37 +02:00
Juan de Dios Herrero 807f763fb0 Merge remote-tracking branch 'upstream/master' 2013-05-30 21:42:26 +02:00
DI2uNk 24e32092e7 Refactored two class methods into scopes (to achieve a better 'rails way')
Also added some tests to the methods
2013-05-30 21:21:31 +02:00
Neil Lalonde 7d5c313456 Don't allow category slugs that are numbers 2013-05-30 11:09:09 -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
Neil Lalonde 6abd9ddd2d Add warning on admin dashboard if production env is configured to send email through gmail 2013-05-29 14:00:35 -04:00
Chris Hunt be234a2bc7 Add test to verify autoclose moderator post 2013-05-27 18:02:15 -07:00
Robin Ward 197909246c Weigh staff likes higher when calculating scores. New site setting: `staff_like_weight`
can set the factor (default is 3)
2013-05-27 12:46:08 -04:00
Robin Ward a15910ad1e Merge pull request #899 from chrishunt/chrishunt/extract-topic-posters-summary
Extract topic posters summary
2013-05-27 06:30:58 -07:00
Chris Hunt 1ba18318ac Add test to verify posts are moved in transaction 2013-05-25 17:44:32 -07:00
Chris Hunt c1841a6c89 Extract Topic#posters_summary 2013-05-24 15:33:45 -07:00
Robin Ward d1fdc66ca4 FIX: For spam detection, don't count total occurances of links of the same host, but
post count including that host.
2013-05-24 15:20:58 -04:00
Sam 9926b0dbc8 staff styling 2013-05-24 13:32:41 +10:00
Sam ca2dee52db moved comments to the bottom, they are way less intrusive there 2013-05-24 12:48:32 +10:00
Neil Lalonde 4492d06a9f Don't send notifications for moderator action posts 2013-05-23 11:42:52 -04:00
Robin Ward 0bd61df34c Merge pull request #884 from mattvanhorn/refactor_topic
Refactor topic
2013-05-23 07:26:22 -07:00
Matt Van Horn 24c25895f0 remove unnecessary title quality tests from topic 2013-05-22 22:56:27 -07:00
Matt Van Horn 806255b3c4 refactor Topic validation
introduce a couple of custom validators
fix minor discrepancies in tests
copy I18n error message keys to default location
clean up validation invocation
move some responsibilities out of validator into class
2013-05-22 22:31:52 -07:00
Sam fcc7192fd2 User tracking state implementation progress for live unread / new counts 2013-05-23 15:22:06 +10:00
Matt Van Horn 872995db57 refactor guardian class for clarity & correctness
introduce NullUser to avoid type-checking
DRY up code
reduce number of multiple returns
remove some redundant/impossible logic branches
add pending test for possible bug
add test & fix for ability to flag archived posts
add #secure_category? method to topic class
Fix bug that prevented flagging of archived topics
Rename NullUser to AnonymousUser
DRY up can_<action>? methods
Fix some ownership logic, and a test, for Guardian
2013-05-22 01:09:34 -07:00
Chris Hunt d0bc8c95d3 Trigger UserActionObserver when tracking visit 2013-05-21 20:45:03 -07:00
Chris Hunt 685f4960f1 Trigger UserActionObserver when updating TopicUser 2013-05-21 20:43:43 -07:00
Sam b5eff93a9d update message bus to support per client filtering
start work on user_tracking_state
fix can_ban? in guardian
expose protected scopes on topic_query we need
move guardian spec to use build as opposed to creating topics / posts / users
start work on user tracking spec
2013-05-21 16:39:51 +10:00
Sam e91ed83586 the private message stream is different to normal streams, improving the ui a bit and collapsing conversations 2013-05-20 16:44:06 +10:00
Leonard Garvey 3de632f892 Added a spec for staff? and regular? 2013-05-18 18:07:07 +10:00
Neil Lalonde f3282e33a3 Add tabs to category create/edit modal. Categories can have a default auto-close setting that applies to all new topics created in the category. Add rspec-given and write some integration tests. Tests for topic auto-close with category default 2013-05-17 11:05:35 -04:00
Robin Ward d554a59102 Support for a new site setting: `newuser_spam_host_threshold`. If a new user posts a link
to the same host enough tiles, they will not be able to post the same link again.

Additionally, the site will flag all their previous posts with links as spam and they will
be instantly hidden via the auto hide workflow.
2013-05-16 12:19:50 -04:00
Sam 04b8cd5c95 consistency check, need to also ensure delete cleans stuff up, maybe make notifications trashable 2013-05-16 17:50:14 +10:00
Sam eb71e9de24 opening move, don't get rid of green notification till the pm is read
TODO a way to list all unread PMs
2013-05-16 16:37:47 +10:00
Sam e9ebadb414 Nuke message_bus_observer move to service class and classes
Secure all messages triggered by post creation and all user actions so they don't leak
(meaning, if you have a browser open and secure topics are created you will only get them if you are allowed to see them)
2013-05-16 15:03:16 +10:00
Lee Machin dadb7eaa23 fix crash caused by incorrect query in scope
setting all categories to be secured led to a blank screen on all pages

use stabby lambda for consistency in class

make the test a little more concise

- move the local assignments into let blocks for
reusability

- remove calls to `to_a`, which aren't needed

- use 'be_empty' instead of '[]' to be consistent
with the other matchers in the test

add a test for the `secured` scope with multiple
secured categories
2013-05-15 22:26:52 +01:00
Sam ef98b60184 disable observers in tests, enable as needed, tests are 20% faster 2013-05-14 11:59:55 +10:00
Robin Ward be234ce9b9 You can now 'move' the first post of a topic to another topic as a merge. In that
case, the first post is cloned instead of being deleted from the original topic.
2013-05-13 14:07:31 -04:00
Neil Lalonde 9828c87525 Topic Auto-Close: admins and mods can set a topic to automatically close after a number of days 2013-05-13 12:53:52 -04:00
Sam 9b33e826f2 clear flags on reply to notify moderators 2013-05-13 11:48:01 +10:00
Robin Ward cf01c98d81 Experimental: Interface to Move Posts to an Existing Topic 2013-05-10 14:55:51 -04:00
Sam 5280b3a01b more group progress, UI getting there, controller mostly done
changed it so notify moderators goes to the moderators group
allow admins to grant self moderation and revoke self moderation
2013-05-09 17:37:34 +10:00
Sam 0f0fd281a8 group progress, never email banned users 2013-05-09 11:34:58 +10:00
Sam 6b536dcde5 work in progress ... groups 2013-05-08 15:20:38 +10:00
Sam 7571152d1d fix issue adding users to groups 2013-05-08 10:32:29 +10:00
Neil Lalonde f9a82f3aa0 Add a spec for category list with empty category 2013-05-07 15:52:45 -04:00
Sam e9fc272db7 remove acts_as_paranoid, use .trash! , .recover! and .with_deleted as needed
makes upgrading to rails 4 possible
2013-05-07 14:39:01 +10:00
Neil Lalonde 69be7d0ad1 Change the title Visits to Clicks in referral tables on admin dashboard 2013-05-06 11:56:35 -04:00
Sam be1ab8b275 automatic group infrustructure 2013-05-06 14:49:56 +10:00
Régis Hanol 392b9696f4 prevent duplicate actions on a post 2013-05-04 02:52:45 +02:00
Sam 5ec52bd2e9 :s/moderator?/staff/g ... our naming was kind of crazy, renamed moderator? to staff 2013-05-02 17:22:27 +10:00
Neil Lalonde 3c7afeb233 Fix incoming links dashboard data when topic record can't be found 2013-05-01 19:10:31 -04:00
Neil Lalonde 38ed86d0c5 Add reports for IncomingLinks on admin dashboard 2013-05-01 18:12:02 -04:00
Sam 08ce46e7ed :s/POST/REPLY/g 2013-05-01 10:52:31 +10:00
Sam acc4f73ba0 very subtle, autospec was not using inotify if guard was already running 2013-04-30 22:54:52 +10:00
Sam Saffron 94a578e4b2 ignore assets
fix runner so it works on mac
get rid of some test warnings
2013-04-30 12:43:59 +10:00
Neil Lalonde dc07563c0d Add unstarred_at column to topic_users so we can permanently track when topics are starred 2013-04-29 11:39:05 -04:00
Sam 5cfcdc7ef0 backend for secure categories mostly done (todo pm groups) 2013-04-29 16:33:43 +10:00
Sam f9e33ec6b8 store ip address and current user with incoming links
make links long an readable in share dialog
2013-04-26 16:18:55 +10:00
Sam 14f33b80e4 lets not let without a block rspec gets very upset 2013-04-26 16:18:54 +10:00
Sam 37867af1bb track incoming links, amend share link to include user
fix pm styling
2013-04-24 18:05:35 +10:00
Sam cfc62dadff speed up tests
add the ability to find the first notify private message
2013-04-22 17:45:03 +10:00
Sam 8827dd3e42 speed up tests 2013-04-22 13:48:41 +10:00
Sam aea988a447 before:
Finished in 6.38 seconds

after:

Finished in 1.52 seconds
2013-04-22 11:05:54 +10:00
Jeff Atwood b64a4100fa change "visitor" trust level to "new user"
I blame me for this mistake.. visitor means other stuff in practice. New
User is correct meaning.
2013-04-17 16:11:24 -07:00
Neil Lalonde 3b6aeb14c7 Add subtype to topics to classify private messages 2013-04-16 16:56:18 -04:00
Régis Hanol c2e58b61c9 automatically resizes images 2013-04-15 23:32:26 +02:00
Régis Hanol b24c1a1ad9 better consistency around email case sensitivity 2013-04-15 02:20:33 +02:00
Neil Lalonde 651cfba93f Add ability to destroy a user with 0 posts 2013-04-12 16:53:00 -04:00
Sam 1725bf77a7 fix build 2013-04-12 21:09:41 +10:00