forked from External/greenlight
* Added the administrator role and functionality that comes with it (#403) * GRN-20: Added roles to the user model * GRN-75: Added a view for admins to see their users * GRN-77: Added Edit/Delete/Promote ability for admins * GRN-71: Added admin account by default * Changed the way locales are shown * Updated the rest of the locales * Changed the way available_locales are defined * Updated locales in Russian * Updated locaales for German * Update user.rb * Update admins.js * GRN-15: Added the ability to change color and image from admin interface (#425) * GRN-20: Added roles to the user model * GRN-75: Added a view for admins to see their users * GRN-77: Added Edit/Delete/Promote ability for admins * GRN-71: Added admin account by default * Changed the way locales are shown * Updated the rest of the locales * Changed the way available_locales are defined * Updated locales in Russian * Updated locaales for German * GRN-15: Added the ability for admins to customize color and image * Update user.rb * Update user.rb * Update routes.rb * Update admins_controller.rb * GRN-87:Added a super admin role and made changes to how to the design works (#430) * GRN-20: Added roles to the user model * GRN-75: Added a view for admins to see their users * GRN-77: Added Edit/Delete/Promote ability for admins * GRN-71: Added admin account by default * Changed the way locales are shown * Updated the rest of the locales * Changed the way available_locales are defined * Updated locales in Russian * Updated locaales for German * GRN-15: Added the ability for admins to customize color and image * Added the super admin and completed the design tab * Update user.rb * Update themes_controller_spec.rb * Update routes.rb * Update admins_controller.rb * Removed duplicated code that broke the build after last merge * GRN-78: Restructured some of the views to make the UI more consistent and responsive (#435) * GRN-20: Added roles to the user model * GRN-75: Added a view for admins to see their users * GRN-77: Added Edit/Delete/Promote ability for admins * GRN-71: Added admin account by default * GRN-15: Added the ability for admins to customize color and image * Added the super admin and completed the design tab * GRN-78: Cleaned up buttons and moved signin to its own page * GRN-78: Moved the Rooms and Recordings link to nav bar * Merge fix * Views restructure fix (#458) * Added cache to gitlab-ci.yml * Restructured seed * GRN2-99 -> GRN2-106: UI cleanup and refactoring (#478) * GRN2-98: Change Fullname to Full name * GRN2-105: Changed View Users to Manage Users * GRN2-101/103: Updated email to match branding * GRN2-100: Updated Email Sent flash to be more descriptive * GRN2-104: Redirect user to sign in page w/ flash after clicking activation link * GRN2-102: Changed the wording in the verification email * GRN2-99: Added email form validation * GRN2-106: Cleaned up Users list front end * Fixes to rake and admin password validator for passing rubocop * GRN2-113: Fixed issues with admin panel (#479) * GRN2-116: Code clean up after restructure of views (#482) * Removed unused references * Rubocop * Added pagination to admin view (#483) * GRN2-114: Added the ability for admins to ban/unban users (#487) * Added the ability for admins to ban and unban users * Update sessions_helper.rb * Merge branch 'master' into admin-panel (#492) * Updated rubocop gem * Updated rubocop and fixed issues (#490) * Rubocop fixes * GRN2-122: Updated sign in flow for admins and switch design tab to site settings (#489) * Switched design tab to site settings * Update _header with spaces instead of tabs * Added more test cases to increase coverage (#494)
144 lines
7.2 KiB
Plaintext
144 lines
7.2 KiB
Plaintext
<%
|
|
# 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/>.
|
|
%>
|
|
|
|
<div class="form-group">
|
|
<div class="row">
|
|
<div class="col-12">
|
|
<div class="table-responsive">
|
|
<table class="table table-hover table-outline table-vcenter text-nowrap card-table">
|
|
<thead>
|
|
<tr>
|
|
<th data-header="name" data-order="<%= @order_column == "name" ? @order_direction : "none" %>">
|
|
<%= t("administrator.users.table.name") %>
|
|
<% if @order_column == "name" && @order_direction == "desc" %>
|
|
↓
|
|
<% elsif @order_column == "name" && @order_direction == "asc" %>
|
|
↑
|
|
<% end %>
|
|
</th>
|
|
<th data-header="email" data-order="<%= @order_column == "email" ? @order_direction : "none" %>">
|
|
<%= t("administrator.users.table.username") %>
|
|
<% if @order_column == "email" && @order_direction == "desc" %>
|
|
↓
|
|
<% elsif @order_column == "email" && @order_direction == "asc" %>
|
|
↑
|
|
<% end %>
|
|
</th>
|
|
<th class="text-left" data-header="provider" data-order="<%= @order_column == "provider" ? @order_direction : "none" %>">
|
|
<%= t("administrator.users.table.authenticator") %>
|
|
<% if @order_column == "provider" && @order_direction == "desc" %>
|
|
↓
|
|
<% elsif @order_column == "provider" && @order_direction == "asc" %>
|
|
↑
|
|
<% end %>
|
|
</th>
|
|
<th class="text-center">
|
|
<%= t("administrator.users.table.role") %>
|
|
</th>
|
|
<th class="text-center">
|
|
</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody id="users-table">
|
|
<tr id="no_users_found" style="display: none;">
|
|
<td colspan="7" class="text-center h4 p-6 font-weight-normal" >
|
|
<%= t("administrator.users.table.not_found") %>
|
|
</td>
|
|
</tr>
|
|
<% if @users %>
|
|
<% @users.each do |user| %>
|
|
<% if user != current_user %>
|
|
<tr data-user-uid="<%= user.uid %>">
|
|
<td>
|
|
<div><%= user.name %></div>
|
|
<div class="small text-muted"><%= [t("administrator.users.table.created"), ": ", user.created_at].join %></div>
|
|
</td>
|
|
<td><%= user.email && user.email != "" ? user.email : user.username%></td>
|
|
<td><%= user.provider %></td>
|
|
<td class="text-center">
|
|
<% if user.has_role? :denied %>
|
|
<div class="user-role btn btn-sm btn-gray-dark">
|
|
<%= t("roles.banned") %>
|
|
</div>
|
|
<% elsif user.has_role? :super_admin %>
|
|
<div class="user-role btn btn-sm btn-red">
|
|
<%= t("roles.super_admin") %>
|
|
</div>
|
|
<% elsif user.has_role? :admin %>
|
|
<div class="user-role btn btn-sm btn-yellow">
|
|
<%= t("roles.administrator") %>
|
|
</div>
|
|
<% else %>
|
|
<div class="user-role btn btn-sm btn-gray">
|
|
<%= t("roles.user") %>
|
|
</div>
|
|
<% end %>
|
|
</td>
|
|
<td>
|
|
<% unless user.has_role? :super_admin %>
|
|
<div class="item-action dropdown">
|
|
<a href="javascript:void(0)" data-toggle="dropdown" class="icon">
|
|
<i class="fas fa-ellipsis-v px-4"></i>
|
|
</a>
|
|
<div class="dropdown-menu dropdown-menu">
|
|
<% if user.has_role? :denied %>
|
|
<%= button_to admin_unban_path(user_uid: user.uid), class: "dropdown-item" do %>
|
|
<i class="dropdown-icon fas fa-lock-open"></i> <%= t("administrator.users.settings.unban") %>
|
|
<% end %>
|
|
<% else %>
|
|
<%= link_to admin_edit_user_path(user_uid: user.uid), class: "dropdown-item" do %>
|
|
<i class="dropdown-icon fas fa-user-edit"></i> <%= t("administrator.users.settings.edit") %>
|
|
<% end %>
|
|
<button class= "delete-user dropdown-item" data-toggle="modal" data-target="#deleteAccountModal">
|
|
<i class="dropdown-icon fas fa-user-minus"></i> <%= t("administrator.users.settings.delete") %>
|
|
</button>
|
|
|
|
<% if user.has_role? :admin %>
|
|
<%= button_to admin_demote_path(user_uid: user.uid), class: "dropdown-item" do %>
|
|
<i class="dropdown-icon fas fa-level-down-alt"></i> <%= t("administrator.users.settings.demote") %>
|
|
<% end %>
|
|
<% elsif user.has_role? :user %>
|
|
<%= button_to admin_promote_path(user_uid: user.uid), class: "dropdown-item" do %>
|
|
<i class="dropdown-icon fas fa-level-up-alt"></i> <%= t("administrator.users.settings.promote") %>
|
|
<% end %>
|
|
<% end %>
|
|
<%= button_to admin_ban_path(user_uid: user.uid), class: "dropdown-item" do %>
|
|
<i class="dropdown-icon fas fa-lock"></i> <%= t("administrator.users.settings.ban") %>
|
|
<% end %>
|
|
<% end %>
|
|
</div>
|
|
</div>
|
|
<% end %>
|
|
</td>
|
|
</tr>
|
|
<% end %>
|
|
<% end %>
|
|
<% else %>
|
|
<tr>
|
|
<td colspan="7" class="text-center h4 p-6 font-weight-normal" >
|
|
<%= t("administrator.users.table.no_users") %>
|
|
</td>
|
|
</tr>
|
|
<% end %>
|
|
</tbody>
|
|
</table>
|
|
<div class="float-right mt-4">
|
|
<%== pagy_bootstrap_nav(@pagy) %>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|