Files
once-campfire/app/controllers/rooms/directs_controller.rb
Kevin McConnell df76a227dc Hello world
First open source release of Campfire 🎉
2025-08-21 09:31:59 +01:00

36 lines
768 B
Ruby

class Rooms::DirectsController < RoomsController
def new
@room = Rooms::Direct.new
end
def create
room = Rooms::Direct.find_or_create_for(selected_users)
broadcast_create_room(room)
redirect_to room_url(room)
end
def edit
end
private
def selected_users
User.where(id: selected_users_ids.including(Current.user.id))
end
def selected_users_ids
params.fetch(:user_ids, [])
end
def broadcast_create_room(room)
room.memberships.each do |membership|
membership.broadcast_prepend_to membership.user, :rooms, target: :direct_rooms, partial: "users/sidebars/rooms/direct"
end
end
# All users in a direct room can administer it
def ensure_can_administer
true
end
end