From 8444b2c33333c18b5e623f7ac22d83bf3e3b936d Mon Sep 17 00:00:00 2001 From: Ahmad Farhat Date: Thu, 28 May 2020 18:24:03 -0400 Subject: [PATCH] Fixed room remove task (#1695) --- lib/tasks/room.rake | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/lib/tasks/room.rake b/lib/tasks/room.rake index b922b83b..72c2007a 100644 --- a/lib/tasks/room.rake +++ b/lib/tasks/room.rake @@ -5,10 +5,19 @@ require 'bigbluebutton_api' namespace :room do desc "Removes all rooms for users that can't create rooms" task :remove, [:include_used] => :environment do |_task, args| - roles = Role.where(role_permissions: { name: "can_create_rooms", value: "false" }).pluck(:name) - users = User.with_role(roles) + roles = Role.where(role_permissions: { name: "can_create_rooms", value: "false" }).pluck(:name, :priority) + other_roles = Role.where(role_permissions: { name: "can_create_rooms", value: "", enabled: "false" }).pluck(:name, :priority) + + roles_without_rooms = roles + other_roles + roles_arr = [] + + roles_without_rooms.each do |role| + roles_arr << role[0] + end + + users = User.with_role(roles_arr) users.each do |user| - puts "Destroying #{user.uid} rooms" + puts "Destroying #{user.uid} rooms - role: #{user.role.name}" user.rooms.each do |room| if room.sessions.positive? && args[:include_used] != "true" puts "Skipping room #{room.uid}"