Commit Graph

350 Commits

Author SHA1 Message Date
Neil Lalonde 82c88eec74 Add post_id index to topic_links 2014-06-17 17:30:22 -04:00
Neil Lalonde aa4a1fa39b Revert "Add index on topic_links post_id. Remove a redundant index." Doesn't always work. 2014-06-17 17:11:49 -04:00
Neil Lalonde 5f94c29ada Add index on topic_links post_id. Remove a redundant index. 2014-06-17 17:01:13 -04:00
Sam 62de1fc0fa BUGFIX: use trust_level_0 cause it is less than 15 chars 2014-06-17 18:13:07 +10:00
Andrew Bezzub 9ffd173873 move bio to UserProfile from User 2014-06-13 14:55:32 -04:00
Andrew Bezzub 7db31adf35 move website from User to UserProfile 2014-06-06 21:54:32 -07:00
Neil Lalonde 72abb6e274 Disable external auths by default. Don't change settings for existing sites. 2014-06-04 11:35:18 -04:00
Sam 95221ee9c1 rebake based on version, not date 2014-05-30 14:45:55 +10:00
Sam fa6f22dd39 Move letter avatars out of upload system
FIX: S3 issues around system avatars
FIX: reduced backup file size
2014-05-30 14:45:55 +10:00
Sam fe594f5d1e Merge pull request #2372 from vikhyat/badge-system
Multiple grant badges
2014-05-30 10:18:00 +10:00
Sam 5adc486cef BUGFIX: missing avatars in topic map
Cleanup uneeded column
2014-05-29 14:59:14 +10:00
Sam f6753d3d46 FEATURE: automatically rebake out-of-date posts 2014-05-28 12:30:57 +10:00
Sam 2791852bd8 FEATURE: ability to regenerate system avatars as needed
BUGFIX: made system letter avatar more thinner for less block look
2014-05-28 12:30:57 +10:00
Robin Ward 7c22d738b6 FEATURE: Add a location field to a user's profile 2014-05-27 13:54:04 -04:00
Sam Saffron 70ae998059 BUGFIX, selecting uploaded avatars incorrectly in some cases 2014-05-27 14:45:20 +10:00
Vikhyat Korrapati a79bf11edb Admin badge creation bug fixes. 2014-05-27 09:03:55 +05:30
Sam 504cfcff96 Fix specs for avatars
Implement avatar picker
Correct avatar related jobs
2014-05-27 10:08:03 +10:00
Sam 6c1c8be794 Work in progress, keeping avatars locally
This introduces a new model to store the avatars and 3 uploads per user (gravatar, system and custom)

user can then pick which they want.
2014-05-27 10:08:03 +10:00
Robin Ward 5284fb7cbc New Setting: Don't jump to new posts when replying 2014-05-26 16:39:03 -04:00
Robin Ward 7900c7bd2f Allow multiple subcategories with the same name 2014-05-26 15:33:51 -04:00
Neil Lalonde 77845ec114 FIX: don't enable new google auth setting on an existing site 2014-05-22 11:41:31 -04:00
Neil Lalonde 8f76b76cf3 FIX: new sites would get enable_google_logins true, should be false now 2014-05-21 19:40:59 -04:00
Neil Lalonde 742841ddce Add Google Oauth2 authenticator. The current Google OpenID authentication has been deprecated by Google and will NOT work for any new websites. 2014-05-21 18:35:10 -04:00
Vikhyat Korrapati d208e4d517 Multiple grant badges. 2014-05-21 12:54:55 +05:30
Neil Lalonde 27cbc06563 Add fixed_category_positions site setting to handle whether categories are ordered by specified positions or by activity. 2014-05-16 11:33:52 -04:00
Vikhyat Korrapati b144b75565 Add automatically assigned trust level badges. 2014-05-14 20:47:21 +05:30
Neil Lalonde c4d3aa3d47 Theming: a UI to choose some base colors that are applied to all the site css. CSS compiled outside of asset pipeline. 2014-05-14 10:18:12 -04:00
Wojciech Zawistowski 960d64930c Wiki Post 2014-05-13 08:53:11 -04:00
Neil Lalonde 9f059b1090 User lowercase names for seeded categories. Change colors of meta category badge for new sites. 2014-05-09 12:57:19 -04:00
Sam 34d1668f9f FEATURE: backend for inviting a user to a group 2014-05-09 18:22:35 +10:00
Louis Rose 1574485443 Perform the where(...).first to find_by(...) refactoring.
This refactoring was automated using the command: bundle exec "ruby refactorings/where_dot_first_to_find_by/app.rb"
2014-05-06 14:41:59 +01:00
Régis Hanol c21d3f41d0 BUGFIX: only redirect new users to top page once
Actually, new users will still be redirected to the top page during the first 30 seconds of their first visit.
2014-05-05 19:00:40 +02:00
Sam f6c22cc299 Merge pull request #2297 from ligthyear/custom-fields
Custom fields for Topic, Category, Post and Group
2014-04-30 13:15:50 +10:00
Neil Lalonde f61f29439e Track the ip address where user was registered 2014-04-29 14:37:56 -04:00
Benjamin Kampmann e502122c51 Add Custom Fields on Topics 2014-04-29 19:26:42 +02:00
Benjamin Kampmann 2450088c03 Add CustomFields to Post, Category and Group 2014-04-29 19:26:42 +02:00
Vikhyat Korrapati b4e037dfb2 Allow badges to be marked as "titleable". 2014-04-28 10:30:38 +05:30
Neil Lalonde feaaf55a0c Theming: color scheme editing. Unfinished! Doesn't have any effect on css files yet. 2014-04-24 16:49:12 -04:00
Robin Ward af877781b7 Allow admins to choose if groups are visible or not. 2014-04-22 16:43:46 -04:00
Sam a3b2b4baca FEATURE: custom fields on User 2014-04-22 13:52:13 +10:00
Vikhyat Korrapati b62606e7f1 Remove color_hexcode column from badge_types. 2014-04-17 05:36:29 +05:30
Sam 862a6696c0 Correct annotations
allow longer usernames (up to 60)
2014-04-15 15:53:48 +10:00
riking 9c4dd1cb35 Change comma-delim site settings to pipe-delim 2014-04-08 14:17:55 -07:00
Régis Hanol 11dcd2f6c5 BUGFIX: add default value to top_topics' scores 2014-04-08 17:35:28 +02:00
Robin Ward 7e3ea5d644 Support for crawling topic links 2014-04-07 14:08:34 -04:00
Sam 0372b81d11 FEATURE: allow moderators to globally pin topics 2014-04-07 16:38:51 +10:00
Robin Ward 079123f008 Allow the `content_sha1` column of `topic_embed` to be nullable 2014-04-02 16:18:51 -04:00
Sam c240fb0d83 BUGFIX: facebook does not always provide username
We key on facebook_user_id its the only thing that matters
2014-03-20 15:35:30 +11:00
Neil Lalonde 3ea477b17d FIX: performance of CategoryDetailedSerializer and Category.update_stats on large databases 2014-03-19 10:14:15 -04:00
Neil Lalonde 0b1550f9d4 Add excerpt column to topics table to remove N+1 query in ListableTopicSerializer 2014-03-18 15:24:29 -04:00
Vikhyat Korrapati 9b26c8584e Initial badge system implementation. 2014-03-14 21:49:26 +05:30
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 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
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 3abe84941f FEATURE: Add `new_since` column to `UserStat` so we can reset the "New"
date.
2014-03-03 15:47:00 -05: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 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
Neil Lalonde ec7ef21403 Add a Staff category. Have a topic for assets in the Staff category. Move admin quick start guide to Staff category. Quick start guide is not invisible anymore. 2014-02-27 17:38:20 -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
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
Régis Hanol bc5168c3c7 BUGFIX: rename site_settings in the database too 2014-02-20 17:08:26 +01:00
Jonathan Allard c513725f26 Allow users to toggle interface language in their preferences 2014-02-18 14:53:59 -05:00
Stephan Kaag f12925887c Drop Rails3 support 2014-02-17 19:42:08 +01:00
Neil Lalonde 35dae76bbd Log when and why an email was not sent in email_logs 2014-02-14 13:06:39 -05:00
Sam 4ff6780758 Merge pull request #1935 from eriko/remove_cas
Remove cas
2014-02-13 17:26:20 +11:00
Neil Lalonde 6bbc3ec3e0 Add a way to flag a topic 2014-02-12 12:57:55 -05:00
Erik Ordway f1e8bdaee5 Remove cas auth from core and convert the settings over so they can be used by the plugin 2014-02-11 15:57:08 -08: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
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
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
Robin Ward 2892153712 REMOVE: Get rid of the `hotness` control for good. 2014-01-29 11:54:34 -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
Sam fc3bad8ff4 FEATURE: Seed a meta category, we want everyone to have it 2014-01-22 16:05:46 +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 0289053a70 Add the Lounge category, an exclusive area for trust level 3 users 2014-01-20 16:52:55 -05:00
Neil Lalonde 33c3e027b3 Revert "Add the Lounge category, an exclusive area for trust level 3 users" 2014-01-20 15:43:04 -05:00
Neil Lalonde 2d98720cc8 Add the Lounge category, an exclusive area for trust level 3 users 2014-01-20 15:06:20 -05: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
Régis Hanol 3a6bffa05d FEATURE: better top pages 2014-01-14 01:09:12 +01: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
Neil Lalonde 52580f09af Rename favorite to starred everywhere 2014-01-10 14:54:19 -05:00
Neil Lalonde e7975f25b8 Remove remaining code for two-column categories page 2014-01-07 18:13:49 -05: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
Neil Lalonde a897c2b091 Add default_external_links_in_new_tab site setting 2014-01-02 15:27:37 -05:00
Sam b482b280d6 FEATURE: Basic backend support for muted and watched categories 2014-01-02 12:00:29 +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
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
Régis Hanol 9c8e50351d first stab at calculating the score of a topic for the top tab 2013-12-27 18:10:35 +01:00
Régis Hanol 567d2bd23c add top page 2013-12-24 00:50:36 +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
Neil Lalonde 49c3482464 Show topic and post counts by day/week/month/year on categories page 2013-12-13 15:37:45 -05:00
Régis Hanol 06dd7ffe3c better revision history 2013-12-12 03:41:34 +01:00
Sam 003ac02a67 Disable ddl transactions for realz! 2013-12-11 11:52:55 +11:00
Neil Lalonde 5ed80561ee Add retry to migrate_word_counts 2013-12-10 18:10:52 -05:00
Robin Ward 8fd9776e43 Use COALESCE in case there are no posts in a topic 2013-12-10 17:27:01 -05:00
Robin Ward 6853f37bee Show estimated reading time near summarize button. 2013-12-10 13:47:36 -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
Sam 49b48e1eb6 ensure we have a bigint id 2013-11-22 17:51:36 +11:00
Sam adf355567c move emoji to correct location without a post rebake 2013-11-20 16:54:49 +11:00
Sam d4435ba2ac BUGFIX: lets not rename old migrations 2013-11-19 20:01:35 +11:00
Robin Ward 4ce81e1b01 Rename "Best Of" to "Summary" 2013-11-18 12:48:26 -05:00
Régis Hanol 482b752046 add edit reason when editing a post 2013-11-15 23:28:49 +01:00
Robin Ward 67041d1c6d Support for tracking the count of unique participants in a topic 2013-11-14 14:32:41 -05:00
Neil Lalonde 0c6f794eb0 Used the term suspended instead of banned. 2013-11-07 13:53:49 -05:00
Robin Ward 006e72ff5a Fix migration that does not contain position 2013-11-06 16:18:41 -05:00
Régis Hanol 37fd7ab574 pull hotlinked images 2013-11-05 19:07:29 +01:00
Sam a84997ebc7 rails4 magic sauce 2013-10-30 16:18:18 +11:00
Sam 270fde7dbd correct rake test:prepare so it seeds the db correctly
move category creation into seeds as well, so db can be seeded from structure.sql
2013-10-25 10:31:33 +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
Robin Ward c814fc16a3 Database structure to support sub categories 2013-10-23 15:22:49 -04:00
Robin Ward 6394d924c8 Change migration to prevent down 2013-10-22 17:51:04 -04:00
Robin Ward 348e2e3ef2 Support for per-user API keys 2013-10-22 17:34:39 -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
Erik Ordway fe0dc8161a Update 20131017014509_add_post_count_to_categories.rb
In case the category does not have any posts yet. You get a null value error running the migration if this is the case.
2013-10-21 09:28:35 -07: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
Régis Hanol 265f5c827e another speedup for the BackfillPostUploadReverseIndex migration 2013-10-16 17:09:29 +02: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 e2ae3f0b45 faster migration by avoiding to query the db for local thumbnails 2013-10-15 11:36:27 +02:00
Régis Hanol 4536b5fe04 added a job to clean up orphan uploads 2013-10-15 11:15:48 +02:00
Sam 094b5eccca bug fixes for user_stat extraction, decrease querying 2013-10-07 15:05:00 +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
Sam 441010ac65 optimise view count calculation query 2013-10-02 17:08:53 +10: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 99b6a62fcb New composer message for people dominating a topic 2013-09-17 14:38:39 -04:00
Neil Lalonde 13f17b2a5c Add ability to customize css and header for mobile 2013-09-16 12:28:02 -04:00
Robin Ward 3fcd331d43 Add records that indicate a user's avatar has been checked 2013-09-12 14:58:20 -04:00
Robin Ward fcff4e80d1 New `user_stats` table to keep track of queried information on a user.
This is information that is not usually needed when representing a user
and is in a separate table with a has one relationship to avoid querying
it all the time.
2013-09-11 14:50:26 -04:00
Neil Lalonde e8ef55c446 Rename StaffActionLog to UserHistory 2013-09-10 22:01:20 -04:00
Sam 216ecaaffd add indexes to assit with front page 2013-09-10 14:29:21 +10:00
Régis Hanol 45b838009c proper content-disposition header when downloading attachments 2013-09-06 19:23:56 +02:00
Sam 568a9b1b06 better rename the old values otherwise, trouble 2013-09-06 18:17:46 +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
Régis Hanol 86d2477f97 properly escape backslashes 2013-08-28 23:21:46 +02:00
Régis Hanol 027af77741 FIX: 404 on old thumbnails 2013-08-28 21:29:45 +02: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
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 25e0c3eac1 Log IP addresses with screened emails and urls 2013-08-22 19:04:35 -04:00
Neil Lalonde 3abeb5f793 Staff action logs can be filtered to changes of one site setting 2013-08-20 13:50:51 -04:00
Neil Lalonde 1d030666d8 Log site setting changes and show in admin 2013-08-19 16:58:38 -04: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 86647f0a54 Add ScreenedUrl. Rename BlockedEmail to ScreenedEmail. 2013-08-14 16:08:23 -04:00