Commit Graph

1723 Commits

Author SHA1 Message Date
Sam 1b66ed903f Merge pull request #2091 from Xenograph/fix-sso-override
Added spec for SSO override username/email changes
2014-03-10 13:11:25 +11:00
Douglas Browne a1e70ac57e Added spec for SSO override username/email changes 2014-03-09 21:38:36 -04:00
Sam 3f0964bf60 BUGFIX: spec would blow up when DST kicked in 2014-03-10 10:12:09 +11:00
Régis Hanol 8214536614 BUGFIX: don't show redirect reason if you aren't redirected
Move the redirect to top page logic server-side and make sure the reason
is not shown when top is not in the navigation menu (top_menu).
2014-03-07 18:58:53 +01:00
Robin Ward c3e5ee1d7e FIX: Failing specs 2014-03-07 12:06:20 -05:00
Régis Hanol f618278b42 make sure topic specs aren't DST sensitive 2014-03-07 11:38:24 +01:00
Sam 73ef91cf27 junk code removed 2014-03-07 19:00:36 +11:00
Sam b19400726f BUGFIX/FEATURE: store topic changes in post revisions
History + edit notifications for title and category changes
2014-03-07 19:00:36 +11:00
Régis Hanol 11d91328ab Merge pull request #2056 from vikhyat/pm-likes
Don't suppress like notifications in private messages
2014-03-06 14:53:27 +01:00
Vikhyat Korrapati 944246f4af Add test to ensure creation of like notification in a PM. 2014-03-06 19:07:26 +05:30
Régis Hanol ac99947979 BUGFIX: topic specs were dependent on Time.now
which would fail when DST was around
2014-03-06 12:44:52 +01:00
Régis Hanol bce4130d39 Merge pull request #2036 from ArmedGuy/profile-backgrounds
FEATURE: Profile Backgrounds
2014-03-05 16:00:49 +01:00
Johan Jatko 98c479c3c4 FEATURE: Profile Backgrounds
Shares a modified codebase with avatars called "user_image"
2014-03-05 15:10:44 +01:00
Sam edf86a207b fix build 2014-03-05 14:26:42 +11:00
Sam adb6541635 FEATURE: mailing list mode always available 2014-03-05 14:21:53 +11:00
Sam 69b498da24 Merge pull request #2034 from birarda/custom_username_length
allow for custom username length via site setting
2014-03-05 12:06:23 +11:00
Stephen Birarda 4a2dab9c5e allow for custom min_username_length
change constant in user to be global range and not default
2014-03-04 16:37:05 -08:00
Sam ea553202f0 Merge pull request #2033 from birarda/master
add option to override user attributes from SSO payload
2014-03-05 11:33:32 +11:00
Robin Ward aa3f7f764d You can only reuse email tokens within 24 hours. 2014-03-04 14:03:04 -05:00
Stephen Birarda c3eb2025d8 add option to override user attributes from SSO payload
add an external_username attribute for username from SSO payload

repair the field name in SingleSignOnRecord migration

move setting of external_username for sso to controller

add settings toggle to override username/email from SSO payload

fix changing of external username after override toggle

complete tests and logic for sso override

add some extra context to username override option

add external_email and external_name to single sign on record

add setting for name override from SSO payload

complete override with stored external_email and external_name

add missing checks to tests

remove an unneeded describe block

break up a monster method for single sign on

fixes for sso attribute override after failed tests
2014-03-04 09:52:21 -08:00
Robin Ward 5e6764e9c9 FIX: Remove update, should fix issue with broken specs 2014-03-04 12:47:14 -05:00
Robin Ward a2b0e2b50f BUGFIX: Fix ailing tests 2014-03-03 16:24:20 -05:00
Robin Ward f9cd354a2c FEATURE: Button to reset new 2014-03-03 15:47:01 -05:00
Robin Ward 3abe84941f FEATURE: Add `new_since` column to `UserStat` so we can reset the "New"
date.
2014-03-03 15:47:00 -05:00
Sam 5c3f2feed4 BUGFIX: recovery code in case an unknown job is scheduled 2014-03-04 07:37:12 +11:00
Sam 172e517b31 Merge pull request #2012 from ligthyear/incoming-emails
Advanced New-Topic via Email Feature
2014-03-03 10:58:10 +11:00
Neil Lalonde b40313559b FIX: moderators should not be able to see site setting changes in the staff action logs. Fixes #2027 2014-02-28 16:30:54 -05:00
Benjamin Kampmann 024597e643 Switch to proper exception handling system for better user feedback
- Replace implicit return code-system in Email::Receiver with proper exception system
 - Update tests to check for exceptions instead
 - Test the PollMailbox for expected failures
 - Add proper email-handling of problematic emails
"
2014-02-28 17:02:58 +01:00
Benjamin Kampmann d32cb55837 Add public-inbox to Email-In-Feature
- Adds the advanced option to accept email from non-users per category email-address
 - Adds tests covering the new feature
 - Adds UI to configure this feature in the frontend
2014-02-28 16:53:58 +01:00
Benjamin Kampmann 37cea49459 Add Email-In-Per-Category
- allow the configuration of an inbox-email-address per category
 - post emails to that email into that category instead of global

 - Adds UI for configuration
 - Adds Documentation for configuration
 - Adds Tests for new feature
2014-02-28 16:53:58 +01:00
Benjamin Kampmann 4af2cf3f23 Refactor and clean up New-Topic via Email
With the new email_in admin configuration setting, emails to the email_in_address fetched via POP will now be processed and posted as new topics to the forum.

With the email_in_min_trust you can control the trust level the user needs to have at least to be able to post an email as a new topic.

Also contains tests for the email-in feature and minor clean ups
2014-02-28 16:53:58 +01:00
Sam 1992271bf9 FEATURE: white_listed_spam_host_domains for domains that are not blocked for spam
BUGFIX: bypass host spam detection for current host
2014-02-27 15:43:57 +11:00
Sam ed7c051fcc BUGFIX: no need for mock central here 2014-02-27 12:15:41 +11:00
Sam a4d7942dbd BUGFIX: Don't blow up on junk referers 2014-02-27 12:03:38 +11:00
Sam 9551f4aeea PERF: calculate scores for topics/posts faster
Only look at topics that changed in last day for 15 minuted schedule
Do a full recalc weekly, just in case
2014-02-27 11:45:40 +11:00
Sam 557af84ae2 FIX: broken spec 2014-02-26 10:52:11 +11:00
Sam 50a8d3caae BUGFIX: sso to send welcome emails 2014-02-26 10:28:03 +11:00
Sam 440435f023 FEATURE: SSO to handle return_path automatically 2014-02-26 09:58:30 +11:00
Robin Ward 9ebcdfba1f Merge pull request #2005 from eriko/plugin_store_delete
clean up plugin store when removing data instead of setting the value to...
2014-02-25 11:36:05 -05:00
Sam 6f31d3f0e5 FEATURE: single sign on support
Added support for outsourcing auth to a different website, documentation on meta
2014-02-25 14:31:03 +11:00
Erik Ordway db411860c2 clean up plugin store when removing data instead of setting the value to nil. 2014-02-24 16:11:31 -08:00
Robin Ward 4cd5ccdf1f BUGFIX: Don't return child categories if you can't see the parent
category.
2014-02-24 14:52:41 -05:00
Robin Ward 3151f59bc9 REFACTOR: We don't cache the json for the Site model anymore, so let's
rename and remove the methods leftover from that.
2014-02-24 14:25:37 -05:00
Wojciech Zawistowski d555df28f2 PostsController tests clean up. 2014-02-24 18:14:35 +01:00
Robin Ward 7aaa70770b Remove old onebox fixtures 2014-02-21 16:04:15 -05:00
Robin Ward 1aa27ade17 FEATURE: If you don't select any topics to "Dissmiss Read" it does all
by filter.
2014-02-21 15:18:45 -05:00
Robin Ward a07e9f7e71 FEATURE: Bulk `reset read` status. 2014-02-21 15:18:45 -05:00
Neil Lalonde 5fd390c600 FIX: nuke spammer from flags page 2014-02-21 14:14:30 -05:00
Sam Saffron 451598c511 BUGFIX: regresses correct job execution 2014-02-21 16:05:19 +11:00
Sam Saffron 9a3af8997b BUGFIX: handle partial job failure in multisite
log all failures
2014-02-21 15:31:15 +11:00
Sam Saffron 2ab76f60d1 FEATURE: Discoruse.handle_exception
to report exception via sidekiq helper, adds extra context
2014-02-21 14:30:25 +11:00
Robin Ward d95887c57d CHANGE: We now include the `_escaped_fragment_` support by default, but
only if the crawler check fails. It is a fallback for non-google search
engines that support the Ajax crawling API.
2014-02-20 17:02:26 -05:00
Robin Ward c4b5455c21 REFACTOR: Rename `GooglebotDetection` to `CrawlerDetection` because we
will likely whitelist more crawlers in the future.
2014-02-20 16:07:02 -05:00
Robin Ward b8448b6e39 Merge pull request #1982 from velesin/posts_controller_replies_tests
Adds tests for PostsController#replies.
2014-02-20 13:36:31 -05:00
Neil Lalonde b696c96a19 Look at the age of a user's first post to determine if the user can be nuked, instead of looking at when the user registered. 2014-02-20 12:29:40 -05:00
Wojciech Zawistowski cfbeba84d2 Adds tests for PostsController#replies. 2014-02-20 17:38:13 +01:00
Vikhyat Korrapati e781a758ad Preserve spoiler tags in post excerpts. 2014-02-20 15:01:44 +05:30
Régis Hanol d443ddd43d Merge pull request #1922 from joallard/language-toggle
Allow users to toggle interface language in their preferences
2014-02-19 18:28:00 +01:00
Wojciech Zawistowski 5e8db5ce14 Adds specs for PostsController#by_number. 2014-02-19 17:41:17 +01:00
Sam 2a8734f0d5 Suppress search in topic unless we have more than 10 posts
(configurable in site setting)
2014-02-19 08:59:18 +11:00
Robin Ward 18e98851e3 Use lower case group names in URLs 2014-02-18 16:43:19 -05:00
Sam 43612e9fde Merge pull request #1971 from velesin/posts_controller_refactoring
Refactors PostsController and adds unit tests.
2014-02-19 08:34:40 +11:00
Robin Ward f19b0b5fe0 Include members count on groups page. 2014-02-18 16:17:04 -05:00
Neil Lalonde 997a7c676e If flagging a topic with only one post, flag the post instead 2014-02-18 15:18:31 -05:00
Jonathan Allard 0592420e52 Add a site setting to allow users to toggle I18n.locale
It is false by default.
2014-02-18 14:54:00 -05:00
Jonathan Allard c513725f26 Allow users to toggle interface language in their preferences 2014-02-18 14:53:59 -05:00
Robin Ward 3f3c07f136 FEATURE: Can bulk update the notification level of topics 2014-02-18 13:02:22 -05:00
Neil Lalonde d0ecccb7e4 Translate asterisks in ip addresses to mask format so people can enter things like 127.*.*.* in screened ip addresses form 2014-02-18 13:00:55 -05:00
Wojciech Zawistowski 5b9a4d3581 Refactors PostsController and adds unit tests. 2014-02-18 17:19:38 +01:00
Neil Lalonde 6c23a1903e FIX: show ip address with mask again on /admin/logs/screened_ip_addresses 2014-02-18 10:33:08 -05:00
Sam 884346cbea Merge pull request #1951 from thoughtbot/bb-erb
Use ERB to pull conf files into app
2014-02-18 16:23:55 +11:00
Stephan Kaag f12925887c Drop Rails3 support 2014-02-17 19:42:08 +01:00
Régis Hanol 77e0096142 Merge pull request #1959 from chris-ramon/patch-1
fix typos in posts_controller_spec.
2014-02-17 09:48:04 +01:00
Sam abb2de22ab BUGFIX: search could break when expanding 2014-02-17 14:34:14 +11:00
Sam 2b10fdc97f FEATURE: search auto scopes on topic first 2014-02-17 13:54:51 +11:00
Sam 23af46a66c Merge pull request #1960 from verg/subcategory-search-links
Fix subcategories links from search
2014-02-17 10:33:35 +11:00
verg f723f11443 Fix subcategories links from search 2014-02-16 12:49:20 -05:00
Christian Ramón 566d25ea75 fix typos in posts_controller_spec.
fixing 'suceeds' typo.
2014-02-16 12:17:36 -05:00
Neil Lalonde d298e2e065 Detect Googlebot from user agent and use a different layout that doesn't load javascript 2014-02-15 17:54:34 -05:00
Britt Ballard 60e1a5aa69 Use ERB when importing conf files into app 2014-02-14 16:14:55 -08:00
Régis Hanol 3f3c9ca7cb FEATURE: add filters on email logs 2014-02-15 00:50:08 +01:00
Robin Ward 2f78dc775d FIX: double periods. How did that work?? 2014-02-14 17:57:38 -05:00
Robin Ward 16c6759818 FIX: i18n integrity check was not ignoring comments properly 2014-02-14 14:47:52 -05:00
Neil Lalonde 35dae76bbd Log when and why an email was not sent in email_logs 2014-02-14 13:06:39 -05:00
Régis Hanol b89d328de2 display/preload the logs of the last/current operation 2014-02-13 13:31:14 -08:00
Régis Hanol e7472dc374 readonly mode 2014-02-13 13:31:13 -08:00
Régis Hanol 3be1b5569a backups controller & specs 2014-02-13 13:31:13 -08:00
Régis Hanol 8344f0d8fd remove old import/export code 2014-02-13 13:31:13 -08:00
Neil Lalonde 8711762143 Users who have made no more than one post can delete their own accounts from their user preferences page. 2014-02-13 13:52:06 -05:00
Sam e8aa85d783 FEATURE: unread pms go in front of notification report
also refactor fat controller
2014-02-13 17:27:50 +11:00
Sam 4ff6780758 Merge pull request #1935 from eriko/remove_cas
Remove cas
2014-02-13 17:26:20 +11:00
Sam 81a4b4d97e Merge pull request #1939 from lukemelia/patch-1
Fixed typo in test name
2014-02-13 17:15:49 +11:00
Robin Ward f73a3f252a FIX: Don't allow parent categories to be deleted. Also, remove
duplicated logic and rely on the server response for `can_delete`
status.
2014-02-12 17:24:25 -05:00
Robin Ward a963dd9081 Support `embeddable_host` values that contain a HTTP/HTTPs protocol 2014-02-12 15:56:06 -05:00
Luke Melia e4ff06baad Fixed typo in test name 2014-02-12 15:24:44 -05:00
Robin Ward 669247977b FEATURE: Show the posts count on the groups page. It seems a bit odd
that it uses a new AJAX call, but I wanted to keep the count separate
from the group object itself.
2014-02-12 14:01:36 -05:00
Robin Ward 318e692290 FIX: If there is an exception when parsing one email, don't stop all
work, return an error code and continue.
2014-02-12 12:08:34 -05:00
Sam 9ec52d9425 BUGFIX: mailing list mode broke regular email 2014-02-12 16:51:26 +11:00
Sam 6fbd73d0eb include rb_trace to help debugging any hanging specs 2014-02-12 13:33:24 +11:00
Sam 71a38542a4 FEATURE: automatic orphan recovery
BUGFIX: improve scheduler robustness, in case redis is disconnected during operation

If sidekiq is terminated while task is running, it will be picked up and ran again
New owner on tasks to help debugging
better #stop semantics for tests
2014-02-12 13:33:24 +11:00
Erik Ordway 557d1886bb remove what little CAS testing there was. 2014-02-11 17:53:20 -08:00
Robin Ward b035c050d2 Merge pull request #1920 from nickborromeo/list-controller
Extract queries to keep logic in the Categories Model
2014-02-11 15:48:20 -05:00
Sam fd34932068 use discourse redis, not redis 2014-02-11 16:11:51 +11:00
Sam 4a35d055bc correct spec to account for category definition topics 2014-02-11 10:50:14 +11:00
Robin Ward ca17f8a437 FIX: Wrong text. Thanks @riking 2014-02-10 17:36:13 -05:00
Robin Ward b61df08d1b FEATURE: Admin selector to choose a primary group for a user, display it
and apply a CSS class to their posts.
2014-02-10 17:00:15 -05:00
Nick Borromeo b51bebb200 Extract queries to keep logic in the Categories Model
This creates two methods in the Category model. This moves the model
logic to the model and just calls the Category class methods in
ListController.

This also adds tests for the two methods created in the Category
model. The motivation for this refactor is the code climate score of the
this class and readability of the code.

 Please enter the commit message for your changes. Lines starting
2014-02-08 14:10:48 -08:00
Sam 90ae4c6224 Try to fix random failing spec 2014-02-09 07:55:11 +11:00
Neil Lalonde 5f992ae34c Merge pull request #1913 from davidcelis/default-category-fields
Default values for posts/topics fields on Category
2014-02-07 11:27:57 -05:00
Robin Ward 2490837929 Added some specs for the group controller methods 2014-02-07 11:07:23 -05:00
Régis Hanol cef2d8dc82 BUGFIX: make sure moderators can't view topics they aren't allowed to 2014-02-07 07:08:56 -08:00
Régis Hanol e47f462f54 Merge pull request #1916 from vikhyat/pm-dominating
Don't notify about dominating private messages
2014-02-07 00:28:27 -08:00
Sam 585fae0541 another try fixing this test 2014-02-07 14:38:00 +11:00
Sam 93434be16d SECURITY: reduce moderator rights
You can now hide particular categories from certain moderators
2014-02-07 14:11:52 +11:00
Vikhyat Korrapati 2f38316bfc Don't notify about dominating private messages. 2014-02-07 05:49:45 +05:30
Sam 227873df78 FEATURE: proper mailing list mode
once enable_mailing_list_mode is enabled any user can elect
to get every post via email unless they opt out of category or topic
2014-02-07 11:07:52 +11:00
David Celis e751b8d58f Default values for posts/topics fields on Category
When creating categories (or, at least, subcategories), certain integer
values are set to a default of NULL: topics_week, topics_month,
topics_year, posts_week, posts_month, and posts_year. This causes
consistent exceptions when trying to visit `/categories`, with the
offending line being in
`CategoryDetailedSerializer#count_with_subcategories`. This attempts to
coerce nil into Fixnum.

A fix could be to convert to 0 in the code, but these attributes should
really never be NULL. If there are no posts or topics, they should be 0
to maintain data integrity.

Signed-off-by: David Celis <me@davidcel.is>
2014-02-06 12:04:03 -08:00
Sam e1f293ad66 FEATURE: new scheduler
Removed sidetiq, introduced new scheduler

- add basic UI
- add schedule discover
- add scheduling in initializer
2014-02-06 10:26:16 +11:00
Robin Ward aff16f372b FIX: Show a nicer error when a user tries to access a category they
can't see.
2014-02-05 15:33:52 -05:00
Robin Ward 1dac3cfd64 API endpoint for retrieving the current user 2014-02-05 13:46:24 -05:00
Vikhyat Korrapati 6acc5c19e7 Use LOAD_PLUGINS=1 instead of LOAD_PLUGINS=true for consistency. 2014-02-05 10:50:28 +05:30
Vikhyat Korrapati 7b46cc0962 Don't clear DiscoursePluginRegistry if LOAD_PLUGINS=true. 2014-02-05 08:05:35 +05:30
Robin Ward 659546c4e4 CHANGE: Hide category definition topics unless you are viewing that
category.
2014-02-04 15:55:30 -05:00
Régis Hanol 4fb274fb9d BUGFIX: history link doesn't work on deleted posts 2014-02-04 20:05:50 +01:00
Neil Lalonde 9601684405 Suggested topics includes closed and archived in new and unread, but not in random results 2014-02-04 12:26:49 -05:00
Sam 6c3c9345df use consistent style 2014-02-04 12:57:52 +11:00
Sam 5267e5bea6 BUGFIX: emails sent from "2 replies" as opposed to correct user 2014-02-04 12:56:28 +11:00
Régis Hanol d2974c2a15 BUGFIX: proper handling of top_menu_items 2014-02-03 16:08:00 +01:00
Sam d0a6dd88df FEATURE: exclude muted categories from the latest and new tabs 2014-02-03 16:05:49 +11:00
Sam 6205240a56 minor style fix 2014-02-03 14:50:19 +11:00
Régis Hanol ae401f0dc7 BUGFIX: JSON requests don't exclude categories from filters 2014-01-31 14:36:00 +01:00
Sam 51c06dea03 BUGFIX: hidden posts not absent from context 2014-01-31 16:37:40 +11:00
Robin Ward 6f23870327 Bulk close operation 2014-01-30 12:44:40 -05:00
Robin Ward 7564d9a20c Server side implementation for bulk editing categories 2014-01-30 11:44:29 -05:00
Robin Ward b315a5c28f Delegate bulk operations to a `TopicsBulkAction` object. 2014-01-30 11:44:29 -05:00
Sam ed45a1dce3 FEATURE: new scheduler so we can deprecate sidetiq
This is a work in progress, should have it finished tomorrow.
2014-01-30 16:21:38 +11:00
Neil Lalonde d343e9f360 Add DiscourseLocalOnebox 2014-01-29 14:14:07 -05:00
Robin Ward e453bfa073 Work in progress: Swap out onebox code for onebox gem 2014-01-29 14:14:07 -05:00
Robin Ward 2892153712 REMOVE: Get rid of the `hotness` control for good. 2014-01-29 11:54:34 -05:00
Sam cce5fb3303 BUGFIXES: improved performance of import an export
we no longer generate the entire dump in memory, instead we generate one table at a time
added some basic progress
2014-01-29 16:49:01 +11:00
Neil Lalonde 74f1c553e3 FIX: 1868 Security: Dangerous Send 2014-01-27 13:05:51 -05:00
Neil Lalonde 7cc5da08fe Track how many posts a user reads each day in user_visits 2014-01-27 11:20:19 -05:00
slainer68 748e1e0748 Allow using the API when Login required site setting is on. 2014-01-24 14:02:49 +01:00
Régis Hanol 245bc19379 BUGFIX: PMs could be created with a category
BUGFIX: hide category column when displaying the list of private messages
2014-01-24 12:57:48 +01:00
Régis Hanol bfc9664231 BUGFIX: site_contact_username was case-sensitive 2014-01-23 11:26:31 +01:00
Sam 7e5a17f277 FEATURE: mute/watch/track buttons for private conversations 2014-01-22 17:46:52 +11:00
Neil Lalonde da825451d0 Invite link can't be used to log in after you set a password or sign in with 3rd party 2014-01-21 16:56:41 -05:00
Neil Lalonde 1dbc1c56b4 FIX: inviting a user again after the first invite expires will create a new invite 2014-01-21 16:56:40 -05:00
Robin Ward 963793549c FIX: Remove failing ruby tests. The same thing is tested in JS and
passes due to the ability to create a document fragment.
2014-01-20 15:28:46 -05:00
Sam b85e5dc191 FEATURE: collapse PM notifications 2014-01-20 16:18:43 +11:00
Régis Hanol 8d2e5041bc BUGFIX: proper handling of /none subcategory 2014-01-18 19:27:25 +01:00
Robin Ward 4981525047 REFACTOR: Fixes poor class hierarchy for listing topics
- Upgrades Ember to latest
- Fixes a bunch of bugs with page titles and missing "active" states
2014-01-18 19:26:24 +01:00
Herb Jiang 5fa464e10b force_encoding according to the charset in mail, this solve encoding problem when not using ‘utf-8’ charset. 2014-01-19 02:12:38 +08:00
Robin Ward 8c29ed870e Non-staff users may not delete their posts in archived topics. 2014-01-17 17:42:12 -05:00
Neil Lalonde 1806a7d4b3 Trust Level 3: invited users start at default_invitee_trust_level + 1, unless default_invitee_trust_level is 2 or higher 2014-01-17 11:12:00 -05:00
Neil Lalonde 7c8ea8c166 Trust level 3 users can edit topic titles and change category 2014-01-16 11:59:26 -05:00
Neil Lalonde 89908cdb47 Admins don't see uncategorized on /categories if it has no topics and allow_uncategorized_topics is false 2014-01-15 14:11:36 -05:00
Neil Lalonde 4f6b208e8d Posts by trust level 3 users do not have nofollow on their external links. 2014-01-15 11:40:51 -05:00
Régis Hanol ad8755aa70 BUGFIX: inline spoiler for text, block spoiler for images 2014-01-15 00:53:06 +01:00
Régis Hanol b024bebbe2 BUGFIX: emoji's url were relatives (was breaking the wordpress plugin) 2014-01-14 23:51:36 +01:00
Robin Ward 4f6283ba56 FIX: Accept HTTPS or HTTP urls on redirect 2014-01-14 15:02:05 -05:00
Neil Lalonde e7a05c54e8 FIX: suggested topics sometimes adds new topics from other categories before new topics of the current category 2014-01-13 15:02:15 -05:00
Sam 2b64118df1 Merge pull request #1782 from ligthyear/group-mention
Allow groups to be used as aliases for user mentions
2014-01-12 14:36:45 -08:00
Régis Hanol 70161498b6 BUGFIX: spoiler tag on lightboxed images wasn't working 2014-01-12 19:38:46 +01:00
Neil Lalonde 52580f09af Rename favorite to starred everywhere 2014-01-10 14:54:19 -05:00
Robin Ward ca26d6d0d6 FIX: Uncaught promise on link click; fixes broken build 2014-01-09 16:31:26 -05:00
Neil Lalonde 259295d865 Add post_edit_time_limit site setting to limit the how long a post can be edited and deleted by the author. Default is 1 year. 2014-01-09 11:55:04 -05:00
Sam 74c1555885 BUGFIX: fix broken spec 2014-01-09 15:11:04 +11:00
Sam 1533a1163c use_ssl is just confusing, it means use_https , fix name of setting 2014-01-09 10:51:38 +11:00
Régis Hanol e732aa8a86 BUGFIX: we should not store absolute urls for locally uploaded avatar templates
Highly recommended to run: `RAILS_ENV=production bundle exec rake avatars:regenerate` to fix the avatar templates stored in the database.
2014-01-07 17:45:06 +01:00
Benjamin Kampmann c743a985a4 Allow groups to be used as aliases for user mention
when configured by the admin a group can be found through the @mentions
feature in both the compose/reply and the private message user-selectors
and once selected the mention will be replaced by the list of users in
the group
2014-01-08 02:36:24 +11:00
Sam 660d87a108 BUGFIX: cache did not support non strings
also reduced mocking in tests
2014-01-07 17:36:47 +11:00
Sam 6e2797112d Attempt to fix spec under vagrant 2014-01-07 09:26:30 +11:00
Régis Hanol 8d73b7f94d BUGFIX: hide sensitive site settings 2014-01-06 13:03:53 +01:00
Sam 6befdceabf BUGFIX: UserStat spec was over ambitious with its mocking 2014-01-06 16:50:55 +11:00
Sam b703d8c77a BUGFIX: redis-rails has always been a problem child
implemented an ActiveSupport::Cache::Store for our internal use.
* allows for expire by family
* works correctly in multisite
* namespaced correctly

Removed redis-rails from the project, no longer needed
2014-01-06 16:50:04 +11:00
Sam 7b7d6f3fa7 Merge pull request #1464 from GarantiaData/single_redis_db
Support single redis DB.
2014-01-05 16:30:41 -08:00
Robin Ward 1ffcf39448 Make embedded comments look nicer 2014-01-03 12:52:42 -05:00
Robin Ward f145060315 Don't employ the "too many replies" if the user is staff, or if they created the topic.
See: http://meta.discourse.org/t/what-is-the-point-of-limiting-new-users-to-three-replies-per-topic/11696
2014-01-02 12:57:40 -05:00
Sam 2da5d2311b FEATURE: Added UI for adding and removing watched and muted categories 2014-01-02 17:59:08 +11:00
Sam b482b280d6 FEATURE: Basic backend support for muted and watched categories 2014-01-02 12:00:29 +11:00
Sam 126433cf65 Merge pull request #1744 from verg/prevent_delete_uncategorized
Prevent deleting 'uncategorized' category
2014-01-01 16:09:49 -08:00
Sam 2ad190b9f6 FEATURE: allow for additional plugin defined global settings 2014-01-02 10:46:09 +11:00
Robin Ward 4f8aed295a FEATURE: Embeddable Discourse comments, now with simple-rss instead of feedzirra 2013-12-31 15:01:22 -05:00
Robin Ward 62db063e1e Revert "Support for Embeddable Comments via IFRAME" - it depends on Curl
which not every server has. Have to rethink this.

This reverts commit e3e4c62887.
2013-12-31 12:52:31 -05:00
Robin Ward e3e4c62887 Support for Embeddable Comments via IFRAME 2013-12-31 12:26:24 -05:00
verg 8a830fb8e3 Prevent deleting 'uncategorized' category 2013-12-31 11:22:44 -06:00
Godfrey Chan c6577fb98e Added a reload to fix a test broken on master
I am not sure why this is wokring on Rails 4, but the problem is that `post3`
here is holding on to an old reference of some associations so `PostDestroyer`
is not doing the right thing.
2013-12-30 14:36:51 -08:00
Neil Lalonde 47e1d00f96 Check that common passwords list is greater than 0 2013-12-30 14:26:02 -05:00
Sam 1915f292ad BUGFIX: invalid referer would cause 500 errors 2013-12-30 14:05:44 +11:00
Sam db1d01d1a2 Discourse as a Mailing List improvements
FEATURE: context is not emailed if we previously emailed you the post
FEATURE: site setting to enable_watch_new_topics , false by default.
  When enables users can elect to watch everything by default
FIX: Custom email subjects (x quoted you in [title], x replied to [title])
  was removed, this broke email grouping. TBD, include info in footer somehow
FIX: topic user specs were messy, reduce side effects
2013-12-30 13:02:12 +11:00
Sam 293b7e5857 add spec to demo blanking props 2013-12-30 08:42:55 +11:00
Neil Lalonde 2c19d8a136 Fix password_validator_spec 2013-12-27 11:15:53 -05:00
Neil Lalonde ab12695d63 Block passwords that are in the top 5000 most common passwords. Site setting block_common_passwords can disable this feature. 2013-12-27 11:00:21 -05:00
Régis Hanol 567d2bd23c add top page 2013-12-24 00:50:36 +01:00
Robin Ward 0c45eba037 FIX: Users can edit posts when they've reached the `newuser_max_replies_per_topic` threshold. 2013-12-20 11:30:51 -05:00
Sam f5f09933df Merge branch 'master' of github.com:discourse/discourse 2013-12-20 16:17:52 +11:00
Sam 7b8d2547d0 globals now implemented and documented 2013-12-20 16:17:21 +11:00
Neil Lalonde 854d9c8fc6 Minimum password length is configurable with the min_password_length site setting. FIX: reset password needs to validate password length. 2013-12-19 16:15:47 -05:00
Neil Lalonde 33c6997ded Move password validation into PasswordValidator 2013-12-19 16:15:47 -05:00
Robin Ward 1cac9fa257 New users can only post `newuser_max_replies_per_topic` times per topic. 2013-12-19 13:45:55 -05:00
Neil Lalonde c35af5d755 FIX: When re-opening a topic that auto-closed, make sure it won't auto-close again 2013-12-19 11:25:05 -05:00
Neil Lalonde 1f0a59584b Revert "Re-apply with fixes: Stop using user agent to detect mobile devices. Use a media query and yepnope to load the appropriate css and customizations." 2013-12-18 14:47:22 -05:00
Neil Lalonde 3cc634d37b FIX: category_list_spec should not expect deterministic order 2013-12-17 12:53:29 -05:00
Sam ea307931a7 fix spec, categories without position are now always at the end of the list 2013-12-17 14:36:07 +11:00
Régis Hanol 2ce75a8523 FIX: canonical url should not use the CDN 2013-12-17 00:35:34 +01:00
Neil Lalonde 341adc93a4 Allow categories with null position, which means sort them based on activity. Mix absolutely positioned (position is not null) categories with null position categories. 2013-12-16 15:13:57 -05:00
Robin Ward acf262b631 Support for "no subcategories" 2013-12-16 13:06:35 -05:00
Régis Hanol ccd0f9c371 add onpdiff tests 2013-12-16 18:39:49 +01:00
Régis Hanol 206ef3dc08 add discourse_diff tests 2013-12-16 18:11:46 +01:00
Régis Hanol c6fb60e0a0 FIX: S3 upload when using dots in bucket name 2013-12-16 11:44:59 +01:00
Alexander d93e4fc65d add more info to rss feeds 2013-12-15 01:17:39 -08:00
Neil Lalonde 49c3482464 Show topic and post counts by day/week/month/year on categories page 2013-12-13 15:37:45 -05:00
Robin Ward 06e9cbc6cb FIX: Look up a url without the query string if it couldn't be found with it. 2013-12-13 12:56:20 -05:00
Sam 05a3c8090f Merge pull request #1658 from salbertson/sa-refactor-users-controller-create
Refactor UsersController#create
2013-12-12 22:16:50 -08:00
Régis Hanol 1884bd959f make sure extension-based oneboxes are first to run 2013-12-13 00:56:48 +01:00
Régis Hanol 1457a3792d that fix should have been in the emoji plugin 2013-12-12 16:42:27 +01:00
Régis Hanol be835785f8 FIX: allow new user to post emojis 2013-12-12 15:05:18 +01:00
Régis Hanol 06dd7ffe3c better revision history 2013-12-12 03:41:34 +01:00
Neil Lalonde 5171a23a9c Re-apply with fixes: Stop using user agent to detect mobile devices. Use a media query and yepnope to load the appropriate css and customizations. 2013-12-11 11:19:22 -05:00
Neil Lalonde ed3d3ae1e1 Upgrade font-awesome to version 4 2013-12-11 10:31:09 -05:00
Robin Ward 6853f37bee Show estimated reading time near summarize button. 2013-12-10 13:47:36 -05:00
Neil Lalonde 561961eff6 FIX: can grant titles to regular users. Guardian initializer needs current_user, not the target user. 2013-12-10 12:46:35 -05:00
Neil Lalonde 2596f7dec2 Revert "Stop using user agent to detect mobile devices. Use a media query and yepnope to load the appropriate css and customizations." 2013-12-09 16:28:11 -05:00
Neil Lalonde ca5d4d5e54 Stop using user agent to detect mobile devices. Use a media query and yepnope to load the appropriate css and customizations. 2013-12-09 13:28:42 -05:00
Neil Lalonde 9a24d2651d Allow category to auto-close topics in X hours instead of days. FIX: the system message that says a topic was automatically closed was only counting in days. 2013-12-06 16:39:35 -05:00
Robin Ward 79427732b2 Show Gaps in the post stream when filters are active
Conflicts:
	app/assets/javascripts/discourse/templates/topic.js.handlebars
2013-12-05 16:46:59 -05:00
Scott Albertson 51eff92170 Refactor UsersController#create
* Simplify controller action
* Extract service classes
2013-12-05 10:11:16 -08:00
Neil Lalonde abed146cc7 FIX: Category description topics shouldn't auto-close 2013-12-04 10:31:25 -05:00
Jithu Gopal 9584ecb295 fixing gender sensitive pronouns 2013-12-03 10:19:54 +05:30
Régis Hanol 5150376e12 add wrapper class for lightboxes 2013-12-02 10:06:48 +01:00
Godfrey Chan 1a2114d87d Don't abuse as_json, it's not meant for consumption
The `as_json` API is a hook for JSON encoders to call, not meant for
consumption like this, and the result is not guarenteed to be stable
across Rails versions.

There might be other cases like this that we should revisit later, but
this one in particular is causing a test to fail on Rails master.
2013-11-29 21:58:09 -08:00
Régis Hanol 298b54c0e7 add download link in lightbox 2013-11-29 20:03:39 +01:00
Robin Ward 8c8645f158 FIX: Code and Emoticon formatting in HTML emails. 2013-11-28 17:21:14 -05:00
Neil Lalonde 4ec0543362 FIX: emails with embedded posts should always use absolute URLs 2013-11-28 15:57:21 -05:00
Neil Lalonde 1cc72d564f Add specs for topic create with auto_close_time. Just ignore auto_close_time from users who are not authorized to use it instead of raising an error. 2013-11-28 11:06:04 -05:00
Régis Hanol 52160179f8 add a tombstone for extra safety 2013-11-27 22:05:11 +01:00
Neil Lalonde a9ab98ef9e Auto-close time can be entered in 3 ways, so a topic can close at any time 2013-11-27 09:52:35 -05:00
Régis Hanol 6b6c3d05dd FIX stretched thumbnails 2013-11-25 18:36:13 +01:00
Robin Ward d208be14d2 FIX: Ruby 1.9.3 UTF-8 bug 2013-11-25 11:29:58 -05:00
Régis Hanol 82b78ec6ba schemaless avatar urls 2013-11-22 19:18:45 +01:00
Régis Hanol 3cf5a363f7 do not destroy uploads when destroying a user 2013-11-22 18:29:07 +01:00
Sam 49b48e1eb6 ensure we have a bigint id 2013-11-22 17:51:36 +11:00
Régis Hanol f65cde3cda do not bump posts when rebaking 2013-11-22 01:52:26 +01:00
Neil Lalonde bcfbacec16 Don't show category descriptions as suggested topics 2013-11-21 16:43:22 -05:00
Neil Lalonde 69cc1dd689 FIX: don't suggest a username that's already taken, even if hub finds a match 2013-11-20 14:56:21 -05:00
Robin Ward 5055da76e6 Abort triggers for email body processing 2013-11-20 13:30:01 -05:00
Régis Hanol 31fd5b85bc FIX markdown hotlinked images were not properly pulled 2013-11-20 13:10:08 +01:00
Neil Lalonde 981d8f6aea Signup form: prefill username if Discourse Hub has a match for the email address. Also, fix some bad specs in username_checker_service_spec that were passing... 2013-11-19 14:15:28 -05:00
Neil Lalonde ae58a7db95 Add a warning on dashboard if enforce_global_nicknames is checked, but access key is blank. 2013-11-18 13:45:10 -05:00
Robin Ward 4ce81e1b01 Rename "Best Of" to "Summary" 2013-11-18 12:48:26 -05:00
Robin Ward ad3e276b4b Rename TopicSummary -> TopicMap 2013-11-18 12:08:21 -05:00
Robin Ward 639394e38a FIX: Pinned topics within a category weren't working without a refresh 2013-11-18 10:52:01 -05:00
Régis Hanol 482b752046 add edit reason when editing a post 2013-11-15 23:28:49 +01:00
Neil Lalonde fc180ccd71 Site settings: move category into the opts hash so that it's compatibale with existing plugins 2013-11-15 14:32:33 -05:00
railsaholic 34bba737ff Refactor SessionController#create, reduce complexity.
Don't compromise readablity
2013-11-15 22:09:03 +05:30
Régis Hanol 8a83f1a88f add disk space usage failsafe 2013-11-15 16:48:38 +01:00
Robin Ward e03ae73c5d Merge pull request #1653 from ScotterC/uri-addressable
URI adapter should use Addressable
2013-11-15 07:24:57 -08:00
Régis Hanol 16267e4887 add download_remote_images_to_local site setting 2013-11-15 15:22:18 +01:00
Neil Lalonde 1e37abc310 Add site setting category support 2013-11-14 16:02:13 -05:00
Neil Lalonde 791f5ac94e Load site settings from config/site_settings.yml 2013-11-14 16:02:13 -05:00
Robin Ward 968c0672ef Enable column sorting main topic list 2013-11-14 15:50:36 -05:00
Robin Ward 67041d1c6d Support for tracking the count of unique participants in a topic 2013-11-14 14:32:41 -05:00
Scott Carleton 32e414690a Handle ugly url targets 2013-11-14 13:14:02 -05:00
Robin Ward bda5a72c6a Server side support for custom ordering of topics 2013-11-13 14:17:06 -05:00
Robin Ward 7207cef7aa TopicQuery cleanup in advance of custom sorting:
- Move SQL method constants into a module
- Removed unused count methods
- Moved methods that don't return a TopicList into Topic
- Replaced some confusing method signatures
2013-11-13 12:26:32 -05:00
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
Neil Lalonde 2f8866add5 Change admin display-row css so that multiple lines can fit in the control column. Don't hard-code a height on the rows. 2013-11-11 15:03:17 -05:00
Régis Hanol d65cd0f97e Merge pull request #1637 from railsaholic/refactor_users_upload_avatar_action
Refactor Users#upload_avatar method
2013-11-11 09:59:30 -08:00
railsaholic 58f78e9001 Refactor Users#upload_avatar method
Moved avatar file upload to ```AvatarUploadService``` class and
```AvatarUploadPolicy```

Address review comments + require missing file in spec
2013-11-11 23:21:14 +05:30
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
Sam a9c5d843f7 remove problem spec that does not work properly in rails 4 mode into application controller and correct it 2013-11-11 10:50:48 +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 6e43372e7c Merge pull request #1610 from salbertson/sa-refactor-users-update
Move logic for updating a user to a service class
2013-11-07 12:29:19 -08:00
Neil Lalonde 0c6f794eb0 Used the term suspended instead of banned. 2013-11-07 13:53:49 -05:00
Scott Albertson 72bfa4471f Move logic for updating a user into a service class 2013-11-07 08:39:39 -08:00
Robin Ward 948a545cb1 Category descriptions should not appear in digests 2013-11-06 15:05:06 -05:00
Robin Ward de30af9302 Support for inviting to a forum from a user's invite page. 2013-11-06 12:56:50 -05:00
Régis Hanol 8d47215ea5 Fixed Youtube videos appearing on top of compose panel (props to @hrobertson) 2013-11-06 17:19:02 +01:00
Régis Hanol f8e2ecfa94 keep track of the user who revised a post 2013-11-06 11:43:40 +01:00
Régis Hanol 3992aa971d ninja_edit_window is is seconds, not minutes 2013-11-06 11:08:57 +01: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
Sam 415d4df648 work around bust encodings passed in to method 2013-11-05 13:40:39 +11: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 c86b06e3fa Fix for non-english email polling. 2013-11-04 15:30:24 -05:00
Neil Lalonde ede59a4386 FIX: issue 1538. After upgrading and before a new version check request has been made, dashboard might still say that an update is available. 2013-11-04 12:51:09 -05:00
Robin Ward b474babe26 Merge pull request #1602 from salbertson/sa-refactor-users-update-specs
Refactor specs for UsersController#update
2013-11-04 07:16:18 -08:00
Vipul A M 895d801669 Dont call `SiteSetting.uncategorized_category_id` twice 2013-11-03 15:36:59 +05:30
Régis Hanol b56b11d96a add qunit to autospec 2013-11-01 23:57:50 +01:00
Neil Lalonde e679ba97a3 FIX: categories created by users who are deleted cannot be deleted 2013-11-01 16:56:15 -04:00
Scott Albertson c0cffca1e6 Test title updating 2013-11-01 13:43:31 -07:00
Scott Albertson 3cc17ad4cd Add test coverage for #update 2013-11-01 13:43:31 -07:00
Scott Albertson 58f96bdfb5 Remove duplication in test setup 2013-11-01 13:43:31 -07:00
Scott Albertson 2e7696630b Make #update specs consistent
* Use expect syntax
* Avoid lets
* Stub Guardian method used in the controller
2013-11-01 13:43:31 -07:00
Neil Lalonde 92a0729937 When banning a user, a reason can be provided. The user will see this reason when trying to log in. Also log bans and unbans in the staff action logs. 2013-11-01 10:47:26 -04:00
Neil Lalonde 52b0c1c45f When logging the deletion of a user, don't store its id in the target_user_id column. It will never match a user record. 2013-11-01 10:47:26 -04:00
Robin Ward 744cd93f28 FIX: Non-English category name regression 2013-10-31 16:25:26 -04:00
Neil Lalonde ce5ebc3eb5 On sites with login_required enabled, after signup, don't show the /login page again 2013-10-30 16:37:36 -04:00
Robin Ward 704adc00ca FIX: Broken test. No idea why the name randomly changed! 2013-10-30 16:04:26 -04:00
Robin Ward 3d6d7c8abe SiteSetting to hide regular names from users 2013-10-30 15:45:34 -04:00
Neil Lalonde c8d5db38d6 Emails to banned users will be sent for notifications of PMs from staff users 2013-10-30 15:31:16 -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
Sam 370e961a90 add failing test for AMS upgrade 2013-10-28 15:55:27 +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
Neil Lalonde 4e46d91b8d Refactor SpamRulesEnforcer so that each spam rule is in its own class 2013-10-25 13:25:02 -04: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 cc83b55134 fix incorrect test, that fails if shared test state gets corrupt 2013-10-24 14:55:55 +11:00
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 541620c115 Routes and support for sub-categories 2013-10-23 15:22:49 -04:00
Robin Ward c814fc16a3 Database structure to support sub categories 2013-10-23 15:22:49 -04:00
Robin Ward f73a64982a Raise an error if a `api_username` is supplied and does not match the key 2013-10-23 11:05:49 -04:00
Brian Alexander e2a5415aca fix #1567; nil reference in spam_rules_enforcer.rb 2013-10-22 19:14:31 -06:00
Neil Lalonde c1008f4359 Fixes for postgresql inet columns in Rails 4. They're backed by an IPAddr class now, which breaks sql parameter marker support, and automatically sets the attribute to nil when trying to assign an invalid ip address. 2013-10-22 19:19:32 -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
Régis Hanol 9b2f821012 Merge pull request #1512 from ScotterC/avatar-from-url
Build out a URI Adapter to allow uploading an avatar via a url
2013-10-21 13:17:37 -07: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
Scott Carleton cbef844a57 Build out a URI Adapter to allow uploading an avatar via a url
Currently only really accessible via the API. The UriAdapter creates a
tempfile from a url and gives a ActionDispatch::HTTP::UploadedFile back
to the controller to process as normal.
This will help a lot in being able to transfer avatar urls from another
app without monkey patching a lot of discourse code.
2013-10-21 14:53:03 -04: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
Régis Hanol fcd85b8a72 allow plugins to be symlinked 2013-10-21 19:59:28 +02:00
Sam 451a1620f9 Merge pull request #1545 from railsaholic/lists_controller_refactor
Remove duplication of action defintion
2013-10-20 22:19:40 -07:00
Sam 31b73171dc correct ordering algorithm 2013-10-21 16:14:09 +11:00
Manoj 7dfa99998f Remove duplication of action defintion, add missing spec for topics_by, extract out URL construction logic 2013-10-21 08:34:18 +05:30
Sam 25723de9c8 no need for the undefine 2013-10-21 09:52:28 +11:00
Manoj 868e4ffe6d refactor UsersController to reduce complexity
Refactored: UsersController#create
2013-10-19 15:18:11 +05:30
Robin Ward d7182d0b14 FIX: Only wrap inline html tags in <p> 2013-10-18 15:21:05 -04:00
Sam 5f74cb6bf9 category is not "positionable" 2013-10-18 18:09:30 +11:00
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
Sam 1b81f73325 logged in requests were being treated as anon, causing major havoc 2013-10-17 10:37:18 +11:00
Neil Lalonde cabe8f0d2d Clean up ScreenUrl normalization and matching 2013-10-16 16:39:29 -04:00
Robin Ward 2a8db38c7a FIX: Smoke test failure 2013-10-16 16:01:41 -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
Sam 3d647a4b41 remove rack cache, it has been causing trouble
instead implement an aggressive anonymous cache that is stored in redis
this cache is sitting in the front of the middleware stack enabled only in production
TODO: expire it more intelligently when stuff is created
2013-10-16 16:39:18 +11:00
Robin Ward b62913695c Merge pull request #1528 from JEG2/master
Adding post details in preparation for the API importer code.
2013-10-15 08:19:19 -07:00
Robin Ward 5281b7f80c Upgraded and refactored Sanitizing. Much less crap should get through now!
Conflicts:
	app/assets/javascripts/discourse/components/syntax_highlighting.js
2013-10-15 10:53:11 -04:00
James Edward Gray II 1aa9fc982d Adding post details in preparation for the API importer code. 2013-10-15 09:21:30 -05:00
Régis Hanol 4536b5fe04 added a job to clean up orphan uploads 2013-10-15 11:15:48 +02:00
Régis Hanol d80f4fa3f7 Merge pull request #1523 from dbarbera/avatar_formats_fix
add image authorization on upload_avatar
2013-10-14 05:33:25 -07:00
Sam 7df4e4afb9 security fix, anon should not be treated as though they can create anything 2013-10-13 09:54:48 +11:00
dbarbera 9106596a9a add image authorization on upload_avatar 2013-10-12 14:11:44 +02:00
Régis Hanol 23bf4436f5 FIX: avatar was attached to the user who uploaded it... 2013-10-12 10:55:41 +02:00
Robin Ward af931f0444 Reverting the Sanitizer commit in case we have to do something urgent
before we deploy it early next week. It's in the branch `sanitizer` for
now.

This reverts commit 9e93d8ed52.
2013-10-11 16:44:26 -04:00
Robin Ward 9e93d8ed52 Upgraded and refactored Sanitizing. Much less crap should get through now!
Conflicts:
	app/assets/javascripts/discourse/components/syntax_highlighting.js
2013-10-11 16:25:40 -04:00
Neil Lalonde 3c2c6ab24b Add sockpuppet spammer detection. Automatically flag posts if they are from new users (registered less than 24 hours ago) at the same IP address and one of them started the topic. 2013-10-11 13:34:05 -04:00
Régis Hanol c38ba8acdd add rss links to anonymous homepages 2013-10-11 18:43:29 +02:00
Sam 172a85ae14 prettier twitter links, extracted mini api 2013-10-11 11:46:35 +11:00
Sam b0465c517e (experimental) added framework for filtering all sorts of internals in discourse and consuming by plugins 2013-10-10 18:45:40 +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
Sam 7993845bfa add current_user_provider so people can override current_user bevior cleanly, see
http://meta.discourse.org/t/amending-current-user-logic-in-discourse/10278
2013-10-09 15:11:54 +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 e18b93026a defer view creation on so updates are not performed when people navigate to topics 2013-10-07 15:04:59 +11: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 c8487f6bc7 FIX: Amazon spec 2013-10-04 12:49:39 -04:00
Sam Saffron ad93fc959c security issue, anon and logged in users could see the fact that a user sent another user a pm (but could not see the pm itself or title) 2013-10-03 16:48:03 -07:00
Robin Ward 3562d02905 Adjust smoke test to work with user expansion 2013-10-03 14:17:25 -04:00
Régis Hanol af96ef2994 FIX: deleting a flagged post issue
cf. http://meta.discourse.org/t/deleting-a-flagged-post-issue/10061

The bug was only happening when you were about the delete the first post, which means deleting the entire topic.
2013-10-02 16:59:57 +02:00
Sam f0a122a66c move job files so they live underneath app/ and not in lib/
introduce new setting email_always, that will force emails to send to users regardless of presence on site
2013-10-01 17:04:02 +10: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 40c08eab14 do not break oneboxes' favicon after updating favicons 2013-09-30 19:09:57 +02:00
Robin Ward 37304b7eba FIX: Too many new lines in long quotes 2013-09-27 15:08:56 -04:00
Régis Hanol cd4cda5b4c allow users to specify thumbnail size 2013-09-27 10:57:31 +02:00
Discourse application 0c8f6ba9a4 Support single redis DB. 2013-09-24 15:47:35 +03:00
Neil Lalonde 07d08b81c7 Show mobile view as default for nexus 7 tablet 2013-09-23 17:13:29 -07:00
Robin Ward 60abde2253 FIX: Broken spec 2013-09-19 18:40:46 -07:00
Robin Ward 99b6a62fcb New composer message for people dominating a topic 2013-09-17 14:38:39 -04:00
Robin Ward 16dc0a7001 New user education notification was off by one. Also, remove the "basic" restriction on the
"posting too often" message.
2013-09-17 12:12:03 -04:00
Neil Lalonde 0fafe124db Add enable_mobile_theme site setting. Uncheck it to disable the mobile theme. 2013-09-17 11:25:37 -04: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
Nathan Nontell d95172cb5d Allow TextSentinel#seems_unpretentious? to accept words joined with dashes or forward slashes. (Issue 1133) 2013-09-16 09:45:57 -04:00
Matthieu Guillemot 3ba1f20674 New site settings to enable/disable the possibility of editing user's nickname or email address 2013-09-14 21:34:21 +09:00
Robin Ward b39d39dbb6 FIX: Use `post_count` instead of `topic_reply_count` in education for replies. 2013-09-14 00:32:18 -04:00
Robin Ward c365bd0070 Notify users posting sequential replies that there's a better way to do it. 2013-09-13 13:49:34 -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
Sam 4599e5d732 oops did not have autospec running 2013-09-12 15:55:18 +10: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
Neil Lalonde cc2acafc9a Enable mobile view. Use local storage to remember whether you chose mobile or desktop view. Mobile device detection needs to be replaced with a better solution. 2013-09-10 16:44:17 -04:00
Robin Ward 2319924206 Adds a class that can detect whether a user has uploaded a custom avatar 2013-09-10 15:39:11 -04:00
Neil Lalonde 78c15d5810 Move the unique post key storage code into the Post model 2013-09-09 16:17:31 -04:00
Einar Jonsson 724b3aadcf Extracted nickname registration out of the UsersController and into its
own service.
2013-09-09 09:26:50 +00:00
Robin Ward b87a78f7b2 Merge branch 'master' of github.com:discourse/discourse 2013-09-06 18:01:33 -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
Neil Lalonde 10547848f0 Update importer_spec for system user 2013-09-06 16:51:43 -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
Régis Hanol 45b838009c proper content-disposition header when downloading attachments 2013-09-06 19:23:56 +02:00
Neil Lalonde eae7e75611 FIX: recover post by a non-staff user fails because the post is not unique. Uniqueness check shouldn't happen when recovering a deleted post. 2013-09-06 11:50:15 -04: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 ee6882edfb ATTENTION NEIL, comment out a big pile of importer specs, this is code we never use and running a big slug of tests to ensure it keeps working is pointless.
We need to decide what we do with this. Either we get import/export working and used or strip it out till ready.
No point slowing down the test suite and fixing regressions in code this code
2013-09-06 12:56:08 +10:00
Neil Lalonde 341f8c8877 fix application_helper_spec 2013-09-05 17:01:10 -04:00
Neil Lalonde 9b526364ed Merge branch 'mobile' 2013-09-05 16:29:27 -04:00
Neil Lalonde 45d7765936 Merge branch 'master' into mobile 2013-09-05 15:54:22 -04:00
Emili Parreno 4a0f3b3ac2 fix user_controller_spec when testing too long usernames 2013-09-05 17:36:53 +02:00
Neil Lalonde cde631cbd1 Change default of notify_mods_when_user_blocked to false 2013-09-05 11:27:24 -04:00
Robin Ward 71c1b8b9b9 When deleting a post as staff, ask if you want to delete direct replies too 2013-09-05 11:03:34 -04:00
Robin Ward f157ec1f91 Select +Replies for bulk operations 2013-09-05 11:03:29 -04:00
Emili Parreno 9fdabd3b8a refactor spec_helper 2013-09-05 13:22:15 +02:00
Sam 5b08f73561 give god rights of impersonation to developers, must be edited into the production.rb config file 2013-09-05 10:27:34 +10:00
Neil Lalonde d76486a48b Topic can have null user_id when user was nuked 2013-09-04 15:42:24 -04:00
Neil Lalonde 117fc8db58 Change the way nuked users' posts are handled. Allow null in the user_id column of posts. Show these posts in the posts stream. 2013-09-04 15:42:21 -04:00
Neil Lalonde b47eedba00 Add min_trust_to_create_topic setting to require a certain trust level before users can start new topics 2013-09-03 19:12:22 -04:00
Robin Ward 3cec95a2c3 Better API for parsing out blocks in the parser. 2013-08-29 11:47:44 -04:00
Emili Parreno 1dedfb2251 fix user_name_suggester spec 2013-08-29 16:15:02 +02:00
Régis Hanol e15982a476 FIX: convert error in test 2013-08-28 22:06:09 +02:00
Neil Lalonde f611a5d898 If min entropy setting is greater than min post/body length setting, then use a sensible min entropy value instead 2013-08-28 11:04:28 -04: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 28466eb5b2 group the "suggested topics" by category correctly.
in the past new topics were not prioritizing current category and
new topics in a category were not being inserted before other unread topics
in other categories
2013-08-28 10:52:06 +10:00
Sam c0f610daf6 digest interfaces returning empty objects (except for id) interface needed correction 2013-08-28 10:52:06 +10:00
Neil Lalonde 9efa29e688 Detect whether to use mobile view. Session var mobile_view can override automatic detection. 2013-08-27 14:57:42 -04:00
Sam 83d8bcdc27 revert non queuing of emails 2013-08-27 11:52:28 +10:00
Robin Ward 29385f4898 Merge pull request #1387 from ZogStriP/fix-schemaless-urls-in-emails
FIX: schemaless urls in emails
2013-08-26 15:15:00 -07:00
Régis Hanol 561792a615 FIX: schemaless urls in emails 2013-08-27 00:08:38 +02:00
Robin Ward 1c3c468675 FIX: Single quotes in search terms would raise an error. 2013-08-26 16:25:54 -04:00
Neil Lalonde 3708d47c87 Check daily if there are new users who need to be approved and send a pm to moderators 2013-08-26 16:16:27 -04:00
Robin Ward 2d45c56ba5 Replace Markdown Linebreak Regexp with node parser. 2013-08-26 15:21:23 -04:00
Robin Ward 7c07079ed9 Revert "FIX: Failing spec"
This reverts commit 2df2838f40.
2013-08-26 12:46:28 -04:00
Robin Ward 2df2838f40 FIX: Failing spec 2013-08-26 11:54:05 -04:00
Einar Jonsson 9085cec232 Move json hash from users controller to NicknameUnavailable 2013-08-26 15:00:11 +00:00
Sam d0b4c751b7 fix facebook authenticator 2013-08-26 17:36:20 +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 bb3725cfca correct spec 2013-08-26 14:39:34 +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
Sam 213ce33af2 Fixed all broken specs
Moved middleware config into authenticators
2013-08-26 12:59:17 +10:00
Sam af356e58d4 work in progress, get specs to work. 2013-08-26 12:59:17 +10:00
Sam 075002a6d5 refactoring the plugin interfaces to allow for better extensible 2013-08-26 12:59:17 +10:00
Sam f87ba0d88f Merge pull request #1381 from einarj/test_nickname_hub_registration_failure
Added test case for nickname registration failure
2013-08-25 17:12:52 -07:00
Sam e0c99196a8 Merge pull request #1383 from ZogStriP/add-max-image-height-site-setting
add max_image_height site setting
2013-08-25 17:11:48 -07:00
Régis Hanol 32f717420d add max_image_height site setting 2013-08-26 00:24:24 +02:00
Navin Keswani d87389b38e No more rails 4 deprecation warnings 2013-08-25 23:18:11 +02:00
Einar Jonsson 0d22a77c63 Added test case for nickname registration failure
* Also made a minor readability change by moving the auth.present? check
* from UsersController#create into #create_third_party_auth_records
* which is the method that relies on the check.
2013-08-25 20:18:07 +00:00
Régis Hanol 3b9e62e6b9 improved specs for avatar 2013-08-24 22:45:05 +02:00
Neil Lalonde 1ef9354e21 Remove enum setting spec since I don't think it's testing anything useful and it's causing random failures 2013-08-24 13:48:07 -04: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
Neil Lalonde 663adde90e Users can change their own username at any time if they have no posts 2013-08-23 11:23:00 -04:00
Sam 472f0684c3 Merge pull request #1345 from salbertson/refactor-find_by_username_or_email
Improve test coverage and refactor User.find_by_username_or_email
2013-08-22 17:14:06 -07:00
Neil Lalonde 3b15e2e58e Banned users are not returned as pending review users 2013-08-22 19:23:49 -04:00
Neil Lalonde 25e0c3eac1 Log IP addresses with screened emails and urls 2013-08-22 19:04:35 -04:00
Neil Lalonde 86012ac579 Fix a case when the wrong topic is loaded because the slug starts with a number 2013-08-22 16:23:46 -04:00
Scott Albertson 1dbe1fb1bc Refactor User.find_by_username_or_email
* Improve test coverage
2013-08-22 09:40:07 -07:00
Neil Lalonde 24617dd776 Show empty categories with descriptions to everyone 2013-08-22 11:55:20 -04:00
Robin Ward ff3b163a78 FIX: Another email regexp for quote lines in the format we can recognize including
the site name.
2013-08-21 16:54:51 -04:00
Neil Lalonde 47add6da70 Log when a site customization is deleted 2013-08-21 12:33:24 -04:00
Neil Lalonde a95303fcd8 Log site customization changes. Use a modal to show staff action log details for site customizations. 2013-08-21 12:33:24 -04: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
Neil Lalonde 1d030666d8 Log site setting changes and show in admin 2013-08-19 16:58:38 -04:00
Neil Lalonde 7eaedb84e1 Add notify_mods_when_user_blocked site setting to control whether moderators get a message when someone is automatically blocked 2013-08-19 12:00:48 -04: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
Michael Kirk 4af8a9102e Authenticate with Discourse via OAuth2
See https://github.com/michaelkirk/discourse_oauth2_example for an
example of how you might integrate your existing oauth2 provider's
authentication via a Discourse plugin.
2013-08-17 21:45:20 -07:00
Neil Lalonde baff59d752 Send email to contact_email when a new version of Discourse is found. Disable with the new_version_emails setting. 2013-08-16 17:28:36 -04:00
Neil Lalonde b6285b85d2 Add reject option to pending users page 2013-08-16 11:42:43 -04:00
Neil Lalonde 8a96c4c0f6 Fix uncategorized topics not being shown on categories page 2013-08-15 15:18:04 -04:00
Neil Lalonde 293361dcd3 Screened URLs list in admin 2013-08-15 10:52:26 -04:00
Sam fcbb9919b6 override search term length for topic id spec 2013-08-15 13:19:37 +10: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
Robin Ward b7c50ecdaa FIX: Respect protocol relative URLs in email styling 2013-08-14 11:32:17 -04:00
Régis Hanol c867b67a0b custom avatar support 2013-08-13 22:08:29 +02:00
Neil Lalonde ed060ed5f1 Change trust level logs the previous trust level 2013-08-13 12:04:28 -04:00
Neil Lalonde b8a1e21dbd Delete all posts is allowed for the same amount of time as delete user 2013-08-13 11:11:05 -04:00
Neil Lalonde b36c6d7b78 Users cannot change their own username after 3 days since registering. Site setting username_change_period allows you to change the number of days. 2013-08-12 14:55:09 -04:00
Neil Lalonde 5c8c52482a Add a way to view staff action logs in admin 2013-08-07 16:27:34 -04:00
Neil Lalonde d2fb6ec53f Blocked Emails list in admin 2013-08-07 16:27:34 -04: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 c74da0d262 Admins who haven't been approved can log in when must_approve_users is enabled 2013-08-06 16:51:29 -04:00
Timo Göllner 6b07c689cd fix search spec
search spec failed when using rails4
2013-08-04 15:15:05 +02:00
Neil Lalonde 98b58150bb Dashboard calculations are done with an async job now 2013-08-02 18:32:33 -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
Neil Lalonde 9db0ac16a9 Add site setting delete_removed_posts_after to configure after how many hour posts that were deleted by their authors will be deleted 2013-08-02 13:35:52 -04:00
Neil Lalonde 8cc49d9797 Don't send more pm's after a user has been blocked from making posts. This can happen if a staff member flags posts that are already hidden. 2013-08-02 10:55:19 -04:00
Sam d343d512b9 favorite user action consistency 2013-08-02 11:07:18 +10:00
Sam 3246f066c6 an attempt at getting this working on rails 4 ... not fruitful 2013-08-02 10:31:36 +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
Robin Ward 4f0713b9da Merge pull request #1275 from ZogStriP/enable-thumbnailing-on-s3
Enable thumbnailing on s3
2013-08-01 07:35:35 -07:00
Sam d15083d3ee ensure directory at the correct spot 2013-08-01 16:13:37 +10:00
Sam 160107a712 working plugin interface for custom openid auth, custom css and custom js 2013-08-01 16:02:43 +10: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 16cd3e2a53 Fix to allow admins to change the case of a someone's username 2013-07-30 16:48:45 -04:00