forked from External/greenlight
GRN2-xx: Users, Room and Recordings are now no longer permanently deleted (#773)
* Bug fixes for 2.4 * Removed accidental code add * Switched from deleting to tombstoning * Fixed bug with login
This commit is contained in:
@ -195,6 +195,7 @@ class AdminsController < ApplicationController
|
||||
role.priority <= current_user.highest_priority_role.priority
|
||||
return redirect_to admin_roles_path(selected_role: role.id)
|
||||
else
|
||||
role.role_permissions.delete_all
|
||||
role.delete
|
||||
end
|
||||
|
||||
|
@ -140,10 +140,7 @@ class RoomsController < ApplicationController
|
||||
# DELETE /:room_uid
|
||||
def destroy
|
||||
# Don't delete the users home room.
|
||||
if @room.owned_by?(current_user) && @room != current_user.main_room
|
||||
@room.destroy
|
||||
delete_all_recordings(@room.bbb_id)
|
||||
end
|
||||
@room.destroy if @room.owned_by?(current_user) && @room != current_user.main_room
|
||||
|
||||
redirect_to current_user.main_room
|
||||
end
|
||||
|
@ -30,7 +30,6 @@ class SessionsController < ApplicationController
|
||||
def signin
|
||||
check_if_twitter_account
|
||||
|
||||
providers = configured_providers
|
||||
if one_provider
|
||||
provider_path = if Rails.configuration.omniauth_ldap
|
||||
ldap_signin_path
|
||||
@ -147,6 +146,8 @@ class SessionsController < ApplicationController
|
||||
end
|
||||
|
||||
def one_provider
|
||||
providers = configured_providers
|
||||
|
||||
(!allow_user_signup? || !allow_greenlight_accounts?) && providers.count == 1 &&
|
||||
!Rails.configuration.loadbalanced_configuration
|
||||
end
|
||||
|
45
app/models/concerns/deleteable.rb
Normal file
45
app/models/concerns/deleteable.rb
Normal file
@ -0,0 +1,45 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
# BigBlueButton open source conferencing system - http://www.bigbluebutton.org/.
|
||||
#
|
||||
# Copyright (c) 2018 BigBlueButton Inc. and by respective authors (see below).
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify it under the
|
||||
# terms of the GNU Lesser General Public License as published by the Free Software
|
||||
# Foundation; either version 3.0 of the License, or (at your option) any later
|
||||
# version.
|
||||
#
|
||||
# BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public License along
|
||||
# with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
module Deleteable
|
||||
extend ActiveSupport::Concern
|
||||
|
||||
included do
|
||||
# By default don't include deleted
|
||||
default_scope { where(deleted: false) }
|
||||
scope :include_deleted, -> { unscope(where: :deleted) }
|
||||
scope :deleted, -> { include_deleted.where(deleted: true) }
|
||||
end
|
||||
|
||||
def destroy
|
||||
run_callbacks :destroy
|
||||
update_attribute(:deleted, true)
|
||||
end
|
||||
|
||||
def delete
|
||||
destroy
|
||||
end
|
||||
|
||||
def undelete
|
||||
assign_attributes(deleted: false)
|
||||
end
|
||||
|
||||
def undelete!
|
||||
update_attribute(:deleted, false)
|
||||
end
|
||||
end
|
@ -19,6 +19,8 @@
|
||||
require 'bbb_api'
|
||||
|
||||
class Room < ApplicationRecord
|
||||
include Deleteable
|
||||
|
||||
before_create :setup
|
||||
|
||||
validates :name, presence: true
|
||||
|
@ -19,6 +19,8 @@
|
||||
require 'bbb_api'
|
||||
|
||||
class User < ApplicationRecord
|
||||
include Deleteable
|
||||
|
||||
attr_accessor :reset_token
|
||||
after_create :setup_user
|
||||
|
||||
|
@ -18,6 +18,15 @@
|
||||
<div class="row">
|
||||
<div class="col-lg-3 mb-4">
|
||||
<%= render "users/components/menu_buttons" %>
|
||||
|
||||
<% if @user.errors.any? %>
|
||||
<h5 class="mt-8"><%= t("errors.title") %>:</h5>
|
||||
<ul>
|
||||
<% @user.errors.full_messages.each do |err| %>
|
||||
<li class="text-danger"><%= err %>.</li>
|
||||
<% end %>
|
||||
</ul>
|
||||
<% end %>
|
||||
</div>
|
||||
<div class="col-lg-9">
|
||||
<%= render "users/components/setting_view", setting_id: "account", setting_title: t("settings.account.subtitle") %>
|
||||
|
Reference in New Issue
Block a user