Page Menu
Home
GRNET
Search
Configure Global Search
Log In
Files
F5492813
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Tue, Sep 29, 5:35 PM
Size
1 KB
Mime Type
text/x-diff
Expires
Thu, Oct 1, 5:35 PM (1 d, 1 h)
Engine
blob
Format
Raw Data
Handle
458430
Attached To
rWEBDNS WebDNS (edet4)
View Options
diff --git a/app/controllers/groups_controller.rb b/app/controllers/groups_controller.rb
index 5c806af..0d0c3eb 100644
--- a/app/controllers/groups_controller.rb
+++ b/app/controllers/groups_controller.rb
@@ -1,48 +1,53 @@
class GroupsController < ApplicationController
before_action :authenticate_user!
before_action :group, only: [:show, :create_member, :destroy_member, :search_member]
before_action :user, only: [:destroy_member]
# GET /groups/1
def show
@domains = @group.domains
end
# POST /groups/1/members/
def create_member
- @user = User.find_by_email!(params[:email])
+ @user = User.find_by_email(params[:email])
+ if !@user
+ redirect_to group_path(@group, anchor: 'tab-members'), alert: "User '#{params[:email]}' not found!"
+ return
+ end
+
membership = @group.memberships.find_or_create_by!(user_id: @user.id)
redirect_to group_path(@group, anchor: 'tab-members'), notice: "#{membership.user.email} is now a member of #{@group.name}"
end
# DELETE /groups/1/member/1
def destroy_member
membership = @group.memberships.find_by!(user_id: user.id)
membership.destroy!
redirect_to @group, notice: "#{membership.user.email} was successfully removed from #{@group.name}"
end
def search_member
results = []
if params[:q].present?
uids = group.users.pluck(:id)
results = User
.where('email like ?', "#{params[:q]}%")
.where.not(id: uids) # Exclude group members
.limit(10)
end
render json: results.map { |r| Hash[:id, r.id, :email, r.email] }
end
private
def user
@user ||= User.find(params[:user_id])
end
end
Event Timeline
Log In to Comment