Commit Graph

173 Commits

Author SHA1 Message Date
Guo Xiang Tan 917d186303 REFACTOR: Reduce number of queries sent to the DB. 2017-07-26 17:20:00 +09:00
Guo Xiang Tan 3a46ea8bad Sanitize SQL arguments to prevent injections. 2017-07-26 17:20:00 +09:00
Guo Xiang Tan 2a17f1ccd7 FIX: Group owners should be able to invite users to their groups.
https://meta.discourse.org/t/group-owner-cannot-send-an-invite-to-a-group/60617/12
2017-07-21 23:48:25 +09:00
Leo McArdle d0b027d88d FEATURE: phase 1 of supporting multiple email addresses 2017-07-20 11:22:27 +09:00
Guo Xiang Tan 9792e03c63 FIX: Group name was being reverted to non-localized version.
https://meta.discourse.org/t/localized-staff-group-names-changed/65360/16
2017-07-14 14:15:33 +09:00
Sam 845170bd6b FEATURE: add support for group visibility level
There are 4 visibility levels

- public (default)
- members only
- staff
- owners

Note, admins and group owners ALWAYS have visibility to groups

Migration treated old "non public" as "members only"
2017-07-03 15:26:57 -04:00
Guo Xiang Tan 5e156fbe85 FIX: `Group.search` should look up `Group#full_name` too.
https://meta.discourse.org/t/mentioning-group-by-full-name-doesnt-work/63437/3
2017-06-29 16:37:59 +09:00
Guo Xiang Tan ac6c1acbed FIX: Groups that do not have any owners should not allow membership requests. 2017-06-05 10:02:37 +09:00
Guo Xiang Tan af3dc4e537 FIX: Publish group's categories to user when adding user to group.
https://meta.discourse.org/t/joining-a-group-doesnt-take-effect-unless-the-browser-is-hard-refreshed/57357/11?u=tgxworld
2017-06-02 17:38:14 +09:00
Régis Hanol 8bc47d0bae fix build (cc @tgxworld) 2017-05-05 13:13:49 +02:00
Guo Xiang Tan 2b21e5ea7e UX: Display translated group name for automatic groups. 2017-05-05 14:34:47 +08:00
Régis Hanol 301dd139ae PERF: faster Group.refresh_automatic_group & Group.ensure_consistency 2017-04-24 23:00:21 +02:00
Sam aec73d4003 correct the spec again 2017-04-20 17:41:35 -04:00
Sam dcf9459b7c staff should track 2017-04-20 17:32:05 -04:00
Sam 7a9eee1b71 FEATURE: default notification level for group messages
also fixes it so staff can amend other user's group notification level
2017-04-20 15:47:35 -04:00
Régis Hanol 0abe433495 Merge pull request #4736 from techAPJ/group-bulk-add
FIX: grant trust level when bulk adding users to group
2017-03-06 12:43:26 +01:00
Guo Xiang Tan 7d82a53dfe FIX: `Group#name` is case insensitive. 2017-03-06 17:24:03 +08:00
Arpit Jalan d5bcc70e9c FIX: grant trust level when bulk adding users to group 2017-03-06 14:39:53 +05:30
Guo Xiang Tan 61111a3f9b FIX: Show groups that user is owner of on groups page. 2017-02-03 16:51:32 +08:00
Guo Xiang Tan 706b4f6b9f FEATURE: Remap group mentions when group name has been changed. 2017-01-18 13:39:34 +08:00
Guo Xiang Tan 59dfb51a35 FIX: Don't change automatic group name if localized name has been taken. 2017-01-18 12:20:23 +08:00
Guo Xiang Tan ed5fa20b0c Revert "FIX: error during signup saying "Password is the same as your current password" due to automatic group membership granting a trust level"
This reverts commit 9c40657ba4.

Calling this whenever a user is initialize is hurting us bad
on performance.
2017-01-16 09:44:10 +08:00
Neil Lalonde 9c40657ba4 FIX: error during signup saying "Password is the same as your current password" due to automatic group membership granting a trust level 2016-12-28 17:36:04 -05:00
Sam c531f4ded5 remove rails-observers
Rails yanked out observers many many years ago, instead the functionality
was yanked out to a gem that is very lightly maintained.

For example: if we want to upgrade to rails 5 there is no published gem

Internally the usage of observers had quite a few problem.

The series of refactors renamed a bunch of classes to give us more clarity
and removed some magic.
2016-12-22 16:46:53 +11:00
Guo Xiang Tan 43ee9f884e FEATURE: Add `Group#full_name`. 2016-12-13 16:16:26 +08:00
Guo Xiang Tan 4a1340b14e Update annotations. 2016-12-12 22:59:40 +08:00
Guo Xiang Tan 05f55dbc10 FEATURE: Group logs. 2016-12-12 17:29:54 +08:00
Guo Xiang Tan 78553151ea Update annotations. 2016-12-12 17:00:30 +08:00
Guo Xiang Tan adb7fcb6b3 FEATURE: Add bio to group page. 2016-12-05 16:58:04 +08:00
Guo Xiang Tan 31acd311e5 FEATURE: Allow group owners to edit group name and avatar flair. 2016-12-05 14:27:46 +08:00
Guo Xiang Tan 559918c6c6 PERF: Add endpoint to check if a group can be mentioned by user. 2016-11-26 02:20:46 +08:00
Arpit Jalan e03c1e4cdf annotate models 2016-10-31 15:02:11 +05:30
Régis Hanol 81e2a0099f FIX: ensure the group 'everyone' is never shown when using a different locale 2016-10-24 10:53:31 +02:00
Sam 9a94d1b212 FIX: everyone is not a visible group 2016-10-24 13:03:22 +11:00
Erick Guan 9ce61b4586 FEATURE: Webhooks. 2016-09-05 18:44:00 +08:00
Neil Lalonde 2251104e32 FEATURE: avatar flair can be font awesome icons 2016-08-26 17:15:37 -04:00
Neil Lalonde d079f69b7b FEATURE: add flair to avatars using new settings in the groups admin UI 2016-08-17 15:13:15 -04:00
Robin Ward cf5b756b1a SECURITY: Cross-Site Scripting in Category and Group Settings 2016-07-28 11:57:59 -04:00
Robin Ward adb3810f67
FIX: Allow longer TLDs 2016-04-08 12:15:21 -04:00
Régis Hanol b00ea5dc92 fix Group.ensure_consistency! 2016-04-04 23:41:49 +02:00
Régis Hanol 79639e2dec FIX: ensure group's users counters are kept in sync 2016-04-04 17:03:18 +02:00
Neil Lalonde fd853e0776 FIX: error when sending a private message to a group in some cases 2016-03-23 16:20:31 -04:00
Régis Hanol 031146a821 FIX: ensure email in address insn't used it both Groups & Categories 2016-03-08 20:52:04 +01:00
Arpit Jalan bfaa4cdb37 FEATURE: compose a new pre-filled private message to a group via URL 2016-03-03 00:19:06 +05:30
Régis Hanol f7432d8ec9 FEATURE: add support for multiple incoming emails for groups & categories 2016-02-24 19:47:58 +01:00
Sam 32c681c96b annotate models 2016-02-23 10:33:53 +11:00
Neil Lalonde 283ff4c7f8 move code for bulk adding users to a group from controller to model 2016-02-18 14:03:08 -05:00
Sam Saffron c2e45c8377 Update annotate and annotate models 2016-01-11 17:30:56 +11:00
Sam 03ea0bfe22 FEATURE: allow users to archive messages
Messages are now in 3 buckets

- Inbox for all new messages
- Sent for all sent messages
- Archive for all messages you are done with

You can select messages from your Inbox or Sent and move them to your Archive,
you can move messages out of your Archive similarly

Similar concept applied to group messages, except that archiving and unarchiving
will apply to all group members
2015-12-23 11:09:30 +11:00
Régis Hanol 3aa5129f54 FEATURE: allow group members to see all messages on group page 2015-12-07 23:19:33 +01:00
Régis Hanol 1cde276656 FEATURE: ability to send emails to a group 2015-12-07 17:01:08 +01:00
Régis Hanol 578f606a1a add 'incoming_email' to groups 2015-12-07 12:39:28 +01:00
Sam 7f60693b46 add missing filter 2015-12-02 16:16:19 +11:00
Sam 9899e8d4a5 FEATURE: First class messages to groups, you can select a group as a target of a message 2015-12-02 15:49:43 +11:00
Sam d1a5d8ea62 FEATURE: show group mentions and topics in groups page 2015-12-01 16:52:43 +11:00
Sam ad3dd161e7 FEATURE: first class group mentions built in
If you allow a group to be mentioned it can be mentioned with the @ symbol.

Keep in mind as a safety mechanism max_users_notified_per_group_mention is set to 100
2015-11-30 17:08:43 +11:00
Arpit Jalan 6354324f2f FIX: validate automatic membership email domains 2015-11-27 12:35:33 +05:30
Sam Saffron 6dd4bc7d57 FEATURE: support group owner, capable of controlling group membership
Group owners are regular users that can add or remove users to a group
The Admin UX allows admins to appoint group owners
The public group UX will display group owners first and unlock UI to
add and remove members

Group owners can only be appointed on non automatic groups
Group owners may not appoint another group owner
2015-11-10 00:56:57 +11:00
Sam 181ab89485 PERF: introduce fragment caches in site serializer 2015-09-28 16:50:24 +10:00
Sam c1ecd6f4ce update annotations 2015-09-18 10:41:10 +10:00
Neil Lalonde 1bd0f5b015 FEATURE: group can grant a trust level when a user is added 2015-09-01 16:52:12 -04:00
Tan Le 9fbc763902 Replace Hash#keys.each with Hash#each_key for some perf boost 2015-04-18 21:53:53 +10:00
Sam 75890aed26 FEATURE: allow admins to choose a group as a primary group
FEATURE: allow admins to set a default title for a group
2015-04-10 12:17:28 +10:00
Robin Ward e207ca36ee Easier helper for filtering secured categories 2015-02-12 11:52:59 -05:00
Sam e8323fa534 FIX: removing a group from a user was not removing primary group 2015-02-09 16:03:09 +11:00
Sam 06edfb85a9 annotations 2015-02-04 16:15:16 +11:00
Régis Hanol 256519dddf FEATURE: automatic group membership based on email address 2015-01-23 18:25:43 +01:00
Jason W. May a2b284a0a4 table & model changes for group managers with permission to edit membership 2015-01-15 11:44:42 -08:00
James Kiesel 84bed4f9ce Remove group name validation case sensitivity 2014-12-17 18:44:30 +13:00
Jason W. May 50de22801f API addition: HTTP PATCH support for /groups/xxx: incremental membership changes 2014-11-20 09:29:56 -08:00
Robin Ward 0b0cee4e07 Merge pull request #2969 from cpradio/pr-add-category-to-group-posts
FEATURE: Add category to Group Post Listing
2014-11-17 16:02:15 -05:00
cpradio cca78f1031 Remove n+1 query on Categories 2014-11-17 15:43:22 -05:00
cpradio bf7be0c130 FIX: Change is_staff to is_admin to match other places where guardian.allowed_category_ids is used
https://meta.discourse.org/t/security-permissions-and-messages-displayed-on-group-url/22169/17
2014-11-16 20:31:16 -05:00
Gerhard Schlager 970aafecb4 FIX: Some default group names could not be translated 2014-09-07 14:48:03 +02:00
Kamil Bielawski bf679f1626 FIX: destroy CategoryGroup when Category or Group is destroyed 2014-08-31 22:10:38 +02:00
Sam 414c6d191f FIX: remove nullable dates post upgrade to Rails 4 2014-08-27 15:19:25 +10:00
Régis Hanol 66aaa9329e FEATURE: vBulletin importer 2014-08-18 13:04:08 +02:00
Sam baaa3e0f9f FIX: #2664 it should be validates not validate
Thanks @chancancode
2014-08-18 14:40:54 +10:00
Neil Lalonde e564614b70 PERF: fix performance of Group.refresh_automatic_group! by removing a nasty IN clause. Thanks for helping, Donald Chea! 2014-08-11 13:34:01 -04:00
Sam c5d3db9148 FIX: there is no trust_level_5 2014-07-10 12:17:13 +10:00
Sam 62de1fc0fa BUGFIX: use trust_level_0 cause it is less than 15 chars 2014-06-17 18:13:07 +10:00
Sam 56dcd00570 BUGFIX: trust_level_0 group not including trust_level_1
BUGFIX: manual trust level change not adding user to groups
BUGFIX: system not in correct trust level groups
2014-06-17 10:52:02 +10:00
Sam b1d5f4440b Annotate models 2014-05-28 12:30:57 +10:00
Sam 084ec87850 FEATURE: admins can invite users to groups via the web UI 2014-05-09 18:22:36 +10: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
Benjamin Kampmann 0cf07d41ae Move Concern from lib into app/models. refs #2279 2014-04-29 19:26:43 +02:00
Benjamin Kampmann 2450088c03 Add CustomFields to Post, Category and Group 2014-04-29 19:26:42 +02:00
Robin Ward e48cf06fc9 REFACTOR: Add urls for admin groups, make it more idiomatic ember 2014-04-23 15:15:46 -04:00
Sam 862a6696c0 Correct annotations
allow longer usernames (up to 60)
2014-04-15 15:53:48 +10:00
Régis Hanol 6373de550f update annotations 2014-04-08 17:35:44 +02:00
Godfrey Chan b68dbe081c Remove deprecated finder method calls 2014-03-27 00:00:23 -07:00
Robin Ward e0dee0f10c Do not include moderator posts in the group area. 2014-03-13 14:06:40 -04: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 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
Robin Ward 3b617b04b0 FEATURE: First stab at groups page with member list 2014-02-07 10:44:51 -05:00
Sam be560d4eb6 Update annotations 2014-02-07 11:07:52 +11:00
riking 0dd317dd74 Change to case-insensitive matching in group @name matching 2014-01-14 10:32:19 -08:00
Kane York 24e30aff87 Fix group matching SQL query
The check there is intended for the :members_mods_and_admins level, which is not automatically checked for normal users. Instead, the :everyone level is the one used, which would always fulfill the "alias_level in :levels" check.

This changes the :everyone level to :members_mods_and_admins, which was originally intended.
2014-01-14 10:31:36 -08:00
Régis Hanol 92cb52e76e BUGFIX: groups page wasn't working 2014-01-14 19:18:04 +01:00