Commit graph

544 commits

Author SHA1 Message Date
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
b82a5dfd56 Move logic to reject slugs that are just numbers into the slug module 2013-05-30 11:54:02 -04:00
Michael Kessler
d2e45cb8fd Don't append the base url to absolute image urls without protocol. 2013-05-30 17:17:07 +02:00
Neil Lalonde
7d5c313456 Don't allow category slugs that are numbers 2013-05-30 11:09:09 -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
Victor Cruz Dueñas
5d2a6e3994 refactored and tested AvatarLookup
less array copying

Avoid N queries
2013-05-30 11:04:05 +02:00
Sam
8874c9ea75 Add message format support that can be used on complex localization strings
Add message about new and unread topics at the bottom of topics
move localization helper into lib
2013-05-30 16:49:57 +10: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
Robin Ward
8182a9d10c Merge pull request #918 from chrishunt/chrishunt/quiet-tests-please
Clean up test output
2013-05-29 12:17:04 -07:00
Robin Ward
3d0587d8ce Refactor: move category slug helper to Category model 2013-05-29 14:18:02 -04: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
e94e9b7621 Set UTF-8 charset for plain text email part 2013-05-29 09:54:36 -07:00
Chris Hunt
46a5066aed Set SeedFu to quiet mode. No talking please. 2013-05-29 09:36:51 -07:00
Sam
46389754d6 Merge pull request #892 from eriko/cas_support
Cas support
2013-05-28 16:13:29 -07:00
Robin Ward
8d47f92c27 Merge pull request #908 from chrishunt/chrishunt/extract-topic-status-update
Extract topic status update
2013-05-28 10:00:49 -07:00
Robin Ward
feb966a1cf Fixed jasmine specs that relied on old Discourse user api. 2013-05-28 12:09:03 -04:00
Chris Hunt
be234a2bc7 Add test to verify autoclose moderator post 2013-05-27 18:02:15 -07:00
Sam
c32399a80b added test condition that fails with latest AM serializer 2013-05-28 10:42:04 +10: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
e1781240a6 Merge branch 'refactoring' of git://github.com/mattvanhorn/discourse
Conflicts:
	lib/text_sentinel.rb
2013-05-27 10:42:20 -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
Sam
bf16b4f381 Merge pull request #903 from chrishunt/chrishunt/extract-post-move
Extract post move
2013-05-26 19:10:50 -07: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
Chris Hunt
13c4266c74 Allow Chinese characters in Topic titles 2013-05-26 13:56:42 -07:00
Chris Hunt
1ba18318ac Add test to verify posts are moved in transaction 2013-05-25 17:44:32 -07:00
Matt Van Horn
d5958f8779 Sliding window rate limiting
Switched the algorithm to use a circular buffer
based on a redis list
2013-05-25 12:37:28 -07:00
Chris Hunt
c1841a6c89 Extract Topic#posters_summary 2013-05-24 15:33:45 -07:00
Matt Van Horn
d7817cf314 extract TopicNotifier class from topic 2013-05-24 13:36:33 -07:00
Robin Ward
1313c0f094 FIX: When using a search context, *prefer* the context's results, don't restrict to only them. 2013-05-24 16:17:09 -04: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
Robin Ward
bd779834e5 Use search context for filtering search results by current category or user 2013-05-24 14:04:26 -04:00
Robin Ward
84bc798afa Merge pull request #891 from GlitchMr/iPhone-casing
Thread title fixer should ignore special cases like iLetter
2013-05-24 07:02:34 -07: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
Erik Ordway
1575ce7b10 add cas support with a few tests 2013-05-23 13:40:50 -07:00
Konrad Borowski
8bc4264c98 Thread title fixer should ignore special cases like iLetter 2013-05-23 21:31:08 +02:00
Robin Ward
8e8d9af2bf Use classes instead of a complicated nested hash for search results 2013-05-23 12:44:47 -04: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
Robin Ward
7a31630837 Search Refactor: Remove some manual SQL, make search data tables more idomatic Rails/AR 2013-05-22 16:31:13 -04:00
Robin Ward
b9a310f4b1 Search Refactor: Let's use a class to keep track of our state rather
than passing params everywhere. Also make the private API private.
2013-05-22 15:22:06 -04: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
Sam
96f8d79e83 Merge pull request #876 from chrishunt/chrishunt/observe-changes-for-topic-users
Trigger UserActionObserver when updating TopicUser
2013-05-21 23:02:27 -07:00
Sam
da6a88634b improve best filter so it properly excludes all admin messages from count as well 2013-05-22 15:14:47 +10:00
Sam
c4d8085fc5 remove moderator status posts from best feed 2013-05-22 15:04:53 +10: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
Jason Kriss
c22435562d fix small typo in search_spec 2013-05-21 05:56:04 -03: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
Sam
80fb20816c get rid of nonsense 404.html
correct 404 handling for invalid pages
2013-05-20 10:29:49 +10:00
Sam
18b00d01d0 Merge pull request #859 from lengarvey/user_refactoring
Light refactoring of the User model
2013-05-19 16:41:20 -07:00
Sam
24c997966e Merge pull request #861 from sanderdatema/post_creator
Set created_at manually through PostCreator
2013-05-19 16:34:45 -07:00
Chris Hunt
fb4e5973db Fix spelling mistake in spec doc 2013-05-18 13:11:34 -07:00
Chris Hunt
c2a4f16f24 Show posts for last page when page out of range 2013-05-18 13:11:01 -07:00
Sander Datema
286a06bd4e Set created_at manually through PostCreator 2013-05-18 21:24:29 +02: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
a80ec535a3 Support for "Select All / Deselect All" while selecting posts to merge / delete. 2013-05-16 16:50:38 -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
Régis Hanol
27dfb7a948 FIX: @username mentions when there are multiple code blocks in a post.
Meta: [All of my internal users show as coming from 127.0.0.1!](http://meta.discourse.org/t/all-of-my-internal-users-show-as-coming-from-127-0-0-1/6607)

This fixes the regular expression used to identify @ inside <code> or <pre> blocks in the `postConversion` hook.
2013-05-16 01:59:07 +02: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
fff46cf5aa Can search by URL or ID 2013-05-13 17:07:58 -04: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
b6bf95e741 speed up startup (avoid loading some gems on startup)
correct group permission leaks
add Discourse.cache for richer caching support
2013-05-13 18:04:03 +10:00
Sam
9b33e826f2 clear flags on reply to notify moderators 2013-05-13 11:48:01 +10:00
Sam
98d9f174ae fix spec 2013-05-13 11:07:22 +10:00
Sam
30501e943c fix search 2013-05-13 11:07:21 +10:00
Robin Ward
cf01c98d81 Experimental: Interface to Move Posts to an Existing Topic 2013-05-10 14:55:51 -04:00
Régis Hanol
297680c28d FIX: pinned topic excerpt is not properly truncated 2013-05-10 12:28:17 +02:00
Sam
942f168ab6 UI still a tad rough, but we have a first pass of secure categories 2013-05-10 16:47:47 +10: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
4f328e3e45 +x on files makes no sense unless they really are executable
rails in the script dir makes no sense, use binstubs or bundler instead
2013-05-09 17:35:15 +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
Robin Ward
6843ba7ed6 Fix regression: default to JSON type on GET requests. 2013-05-07 17:17:21 -04:00
Neil Lalonde
f9a82f3aa0 Add a spec for category list with empty category 2013-05-07 15:52:45 -04:00
Neil Lalonde
8e24a608b0 Show empty categories on categories page to people people who can edit and delete categories 2013-05-07 15:31:56 -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
3eab0be4a8 deleting posts as an admin was bust 2013-05-03 17:56:23 +10: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
Sam
65cd00cf25 moderators now have teeth, more at http://meta.discourse.org/t/moderator-permission-set/6307/5
allow pms to be targetted at groups
2013-05-02 15:15:53 +10:00
Sam
e59ab32210 Merge pull request #800 from goodbrews/imgur-api-v3
Update to Imgur API v3
2013-05-01 21:52:00 -07:00
David Celis
6be26f5316 Update to Imgur API v3
Version 2 of Imgur's API is deprecated. Their documentation for v2 is no
longer online, and applications can only be registered under version 3.
Version 3 of their API has a slightly different endpoint but, more
importantly, uses a Client ID/Secret pair instead of an API Key.

This PR updates Discourse to use the new version of Imgur's API.

Signed-off-by: David Celis <me@davidcel.is>
2013-05-01 21:39:10 -07: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
e4a76812a6 this is a slightly round about way of making our self oneboxes sane
shrunk avatar to 60px, added global whitelisting
2013-05-01 16:38:13 +10:00
Sam
08ce46e7ed :s/POST/REPLY/g 2013-05-01 10:52:31 +10:00
Sam
58dbfa1b91 Merge pull request #796 from ZogStriP/fix-shift-clicks-on-links
FIX: shift+click on links
2013-04-30 16:02:24 -07:00
Régis Hanol
ff309cf024 FIX: shift+click on links
Default browser's behavior when shift+clicking was messed up.

This adds the shift key modifier to the list of click modifiers in both
`click_track` and `discourse`.

Also updated & refactored a bit the `click_track_spec`.
2013-04-30 15:48:58 +02:00
Sam
acc4f73ba0 very subtle, autospec was not using inotify if guard was already running 2013-04-30 22:54:52 +10:00
Sam
b25a5a20bb option to strip links from excerpts 2013-04-30 13:25:55 +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
Régis Hanol
017ee7c2da FIX: [security bug] XHR check bypass 2013-04-30 02:34:19 +02:00
Neil Lalonde
eb151d440b Don't call discourse hub during user destroy if hub integration is disabled 2013-04-29 11:39:05 -04: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
Ryan Boland
9bc8faeaf2 added rottentomatoes.com onebox 2013-04-28 16:24:03 -04:00
Jonathan Roes
057b4768e6 strip whitespace when changing e-mail addresses
Fixes #778.
2013-04-27 23:03:06 -04:00
Neil Lalonde
1375954fbc Add title tags to dashboard stats to show percent change from previous period 2013-04-26 17:14:03 -04:00
Neil Lalonde
c589b4b187 Add a js spec for admin/report model, and find a bug too 2013-04-26 17:14:02 -04: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
a56a926582 seed fu should not run before the suite, just before fork
we have no seeds.rb so do nothing there
2013-04-26 16:18:55 +10:00
Sam
eb085beea8 attempt to fix the UTF-8 warn in the log, turns out this runs really deep, when you hit deliver in test it clones the mail not setting charset properly, leaving as is for today but fixing prod at least 2013-04-26 16:18:54 +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
Régis Hanol
451a818162 do not display clicks count in oneboxes 2013-04-22 20:21:29 +02: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
2843f1cf4b collapse some slow tests 2013-04-22 11:06:10 +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
Régis Hanol
e76f629df8 Text Cleaner now removes all periods from the end of the title 2013-04-18 00:19:42 +02:00
Sam
437142424c speed up tests, fix notification of mentioned users in pms 2013-04-17 17:39:18 +10: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
c6ab9fec9d Unregister forum membership at Discourse Hub when deleting a user 2013-04-15 14:52:07 -04:00
Sam
f314e7a89c make source git pull freindly, no need to copy files around when updating 2013-04-15 15:07:40 +10:00
Sam
ea3c6d2e6f fix jshint 2013-04-15 13:18:26 +10:00
Philipp Weissensteiner
3dcb1905e3 Refactor user controller, create action, mostly.
The gist of the commit are a few improvements in the
create action, where:

* long boolean statemenst have been wrapped in smaller more readable
  methods.
* the 3rd party user info creation has been extracted (still in controller)
* a small helper method for creating a new user from params (to reduce
  visual clutter)
* specs have been added where I came across untested methods/branches

Other changes are more trivial like formatting and whitespace fixes.
Hope this helps. Regards.
2013-04-13 00:53:59 +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
Sam
5551ef9418 ok I should not be coding to a deadline ... grrr 2013-04-12 18:15:19 +10:00
Sam
86b317ea73 oops 2013-04-12 18:14:36 +10:00
Sam
e969eb14e8 added 2 new flag types: notify user and notify moderators
fixed up messed up user navigation
refactored
2013-04-12 17:55:45 +10:00
Neil Lalonde
36dc5874e5 Post image_count doesn't count favicons and thumbnails in oneboxes, so visitors can post links that get oneboxed 2013-04-11 12:36:45 -04:00
Sam
5f30ea7463 Merge pull request #684 from ZogStriP/auto-replace-rules-in-titles
auto replace rules in titles
2013-04-10 21:12:20 -07:00
Régis Hanol
d120a5d139 FIX: setting min_topic_title_length is ignored 2013-04-10 14:54:10 +02:00
Régis Hanol
c5cf8be864 auto replace rules in titles 2013-04-10 11:00:50 +02:00
Sam
33e3ad1603 clean up onebox application so it uses a single code path
use fragments for oneboxes
strip parent <p> if <div> is in it
clean some tests
2013-04-10 17:52:38 +10:00
Michael Scott Shappe
2fb673dd72 Create and use new rspec matcher 'match_html'
This introduces match_html, which converts actual and expected HTML strings into "canonical" HTML using Nokogiri with NOBLANKS and COMPACT, and then does a simple equality comparison.

This eliminates whitespace differences introduced by library changes (e.g. the libxml2 2.9.0 change).

pretty_text_spec.rb has been changed to use match_html where appropriate. and all tests pass under libxml2 2.7.6, 2.8.0 or 2.9.0
2013-04-09 22:30:10 -05:00
Sam
9b487953c4 collapse some db tests
ensure deleted topics do not show up in user stream
2013-04-10 12:50:00 +10:00
Robin Ward
6198c1a35b Missed a jshint thing in the spec 2013-04-09 18:04:25 -04:00
Robin Ward
00f9e628e0 Don't apply markdown to content of [quote] -- it messes up spacing. 2013-04-09 17:32:50 -04:00
Neil Lalonde
467d59ec5a Merge some work: topic counts in category select; fix All count on dashboard 2013-04-08 10:23:29 -04:00