Fixed room remove task (#1695)

This commit is contained in:
Ahmad Farhat 2020-05-28 18:24:03 -04:00 committed by GitHub
parent fe363e742b
commit 8444b2c333
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 12 additions and 3 deletions

View File

@ -5,10 +5,19 @@ require 'bigbluebutton_api'
namespace :room do namespace :room do
desc "Removes all rooms for users that can't create rooms" desc "Removes all rooms for users that can't create rooms"
task :remove, [:include_used] => :environment do |_task, args| task :remove, [:include_used] => :environment do |_task, args|
roles = Role.where(role_permissions: { name: "can_create_rooms", value: "false" }).pluck(:name) roles = Role.where(role_permissions: { name: "can_create_rooms", value: "false" }).pluck(:name, :priority)
users = User.with_role(roles) 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| users.each do |user|
puts "Destroying #{user.uid} rooms" puts "Destroying #{user.uid} rooms - role: #{user.role.name}"
user.rooms.each do |room| user.rooms.each do |room|
if room.sessions.positive? && args[:include_used] != "true" if room.sessions.positive? && args[:include_used] != "true"
puts "Skipping room #{room.uid}" puts "Skipping room #{room.uid}"