diff --git a/app/views/errors/unprocessable.html.erb b/app/views/errors/unprocessable.html.erb
deleted file mode 100644
index cec62f44..00000000
--- a/app/views/errors/unprocessable.html.erb
+++ /dev/null
@@ -1,23 +0,0 @@
-<%
-# 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 .
-%>
-
-
\ No newline at end of file
diff --git a/config/application.rb b/config/application.rb
index b3feffb1..7e6f8915 100644
--- a/config/application.rb
+++ b/config/application.rb
@@ -37,10 +37,6 @@ module Greenlight
config.i18n.available_locales = [:en]
config.i18n.default_locale = :en
- config.i18n.available_locales.each do |locale|
- config.i18n.fallbacks[locale] = [locale, :en]
- end
-
# Check if a loadbalancer is configured.
config.loadbalanced_configuration = ENV["LOADBALANCER_ENDPOINT"].present? && ENV["LOADBALANCER_SECRET"].present?
@@ -134,6 +130,9 @@ module Greenlight
# Default registration method if the user does not specify one
config.registration_method_default = config.registration_methods[:open]
+ # Default limit on number of rooms users can create
+ config.number_of_rooms_default = 15
+
# Default admin password
config.admin_password_default = ENV['ADMIN_PASSWORD'] || 'administrator'
end
diff --git a/config/environments/production.rb b/config/environments/production.rb
index c83f56eb..a34cc596 100644
--- a/config/environments/production.rb
+++ b/config/environments/production.rb
@@ -84,10 +84,6 @@ Rails.application.configure do
# Set this to true and configure the email server for immediate delivery to raise delivery errors.
# config.action_mailer.raise_delivery_errors = false
- # Enable locale fallbacks for I18n (makes lookups for any locale fall back to
- # the I18n.default_locale when a translation cannot be found).
- config.i18n.fallbacks = true
-
# Send deprecation notices to registered listeners.
config.active_support.deprecation = :notify
diff --git a/config/environments/test.rb b/config/environments/test.rb
index 5f68c35b..f4dd5186 100644
--- a/config/environments/test.rb
+++ b/config/environments/test.rb
@@ -49,4 +49,6 @@ Rails.application.configure do
# Use standalone BigBlueButton server.
config.bigbluebutton_endpoint = config.bigbluebutton_endpoint_default
config.bigbluebutton_secret = config.bigbluebutton_secret_default
+
+ config.loadbalanced_configuration = false
end
diff --git a/config/initializers/languages.rb b/config/initializers/languages.rb
index cdf65790..a4b5817f 100644
--- a/config/initializers/languages.rb
+++ b/config/initializers/languages.rb
@@ -10,3 +10,10 @@ locales.each do |loc|
end
Rails.configuration.i18n.available_locales = configured_languages
+
+# Enable locale fallbacks for I18n (makes lookups for any locale fall back to
+# the I18n.default_locale when a translation cannot be found).
+Rails.configuration.i18n.fallbacks = {}
+Rails.configuration.i18n.available_locales.each do |locale|
+ Rails.configuration.i18n.fallbacks[locale] = :en
+end
diff --git a/config/initializers/omniauth.rb b/config/initializers/omniauth.rb
index e3e54a78..b046590a 100644
--- a/config/initializers/omniauth.rb
+++ b/config/initializers/omniauth.rb
@@ -1,5 +1,7 @@
# frozen_string_literal: true
+require 'office365'
+
# List of supported Omniauth providers.
Rails.application.config.providers = []
@@ -10,19 +12,11 @@ Rails.application.config.omniauth_ldap = ENV['LDAP_SERVER'].present? && ENV['LDA
ENV['LDAP_PASSWORD'].present?
Rails.application.config.omniauth_twitter = ENV['TWITTER_ID'].present? && ENV['TWITTER_SECRET'].present?
Rails.application.config.omniauth_google = ENV['GOOGLE_OAUTH2_ID'].present? && ENV['GOOGLE_OAUTH2_SECRET'].present?
-Rails.application.config.omniauth_microsoft_office365 = ENV['OFFICE365_KEY'].present? &&
- ENV['OFFICE365_SECRET'].present?
-
-# If LDAP is enabled, override and disable allow_user_signup.
-Rails.application.config.allow_user_signup = false if Rails.application.config.omniauth_ldap
+Rails.application.config.omniauth_office365 = ENV['OFFICE365_KEY'].present? &&
+ ENV['OFFICE365_SECRET'].present?
SETUP_PROC = lambda do |env|
- provider = env['omniauth.strategy'].options[:name]
- if provider == "google"
- SessionsController.helpers.google_omniauth_hd env, ENV['GOOGLE_OAUTH2_HD']
- else
- SessionsController.helpers.omniauth_options env
- end
+ SessionsController.helpers.omniauth_options env
end
# Setup the Omniauth middleware.
@@ -30,21 +24,11 @@ Rails.application.config.middleware.use OmniAuth::Builder do
if Rails.configuration.omniauth_bn_launcher
provider :bn_launcher, client_id: ENV['CLIENT_ID'],
client_secret: ENV['CLIENT_SECRET'],
- client_options: { site: ENV['BN_LAUNCHER_REDIRECT_URI'] },
+ client_options: { site: ENV['BN_LAUNCHER_URI'] || ENV['BN_LAUNCHER_REDIRECT_URI'] },
setup: SETUP_PROC
- elsif Rails.configuration.omniauth_ldap
- Rails.application.config.providers << :ldap
-
- provider :ldap,
- host: ENV['LDAP_SERVER'],
- port: ENV['LDAP_PORT'] || '389',
- method: ENV['LDAP_METHOD'].blank? ? :plain : ENV['LDAP_METHOD'].to_sym,
- allow_username_or_email_login: true,
- uid: ENV['LDAP_UID'],
- base: ENV['LDAP_BASE'],
- bind_dn: ENV['LDAP_BIND_DN'],
- password: ENV['LDAP_PASSWORD']
else
+ Rails.application.config.providers << :ldap if Rails.configuration.omniauth_ldap
+
if Rails.configuration.omniauth_twitter
Rails.application.config.providers << :twitter
@@ -59,10 +43,11 @@ Rails.application.config.middleware.use OmniAuth::Builder do
name: 'google',
setup: SETUP_PROC
end
- if Rails.configuration.omniauth_microsoft_office365
- Rails.application.config.providers << :microsoft_office365
+ if Rails.configuration.omniauth_office365
+ Rails.application.config.providers << :office365
- provider :microsoft_office365, ENV['OFFICE365_KEY'], ENV['OFFICE365_SECRET']
+ provider :office365, ENV['OFFICE365_KEY'], ENV['OFFICE365_SECRET'],
+ setup: SETUP_PROC
end
end
end
@@ -71,27 +56,3 @@ end
OmniAuth.config.on_failure = proc { |env|
OmniAuth::FailureEndpoint.new(env).redirect_to_failure
}
-
-# Work around beacuse callback_url option causes
-# omniauth.auth to be nil in the authhash when
-# authenticating with LDAP.
-module OmniAuthLDAPExt
- def request_phase
- rel_root = ENV['RELATIVE_URL_ROOT'].present? ? ENV['RELATIVE_URL_ROOT'] : '/b'
-
- @callback_path = nil
- path = options[:callback_path]
- options[:callback_path] = "#{rel_root if Rails.env == 'production'}/auth/ldap/callback"
- form = super
- options[:callback_path] = path
- form
- end
-end
-
-module OmniAuth
- module Strategies
- class LDAP
- prepend OmniAuthLDAPExt
- end
- end
-end
diff --git a/config/locales/ar.yml b/config/locales/ar.yml
index d204e24d..9c46a929 100644
--- a/config/locales/ar.yml
+++ b/config/locales/ar.yml
@@ -93,7 +93,6 @@ ar:
video: شاهد برنامجنا التعليمي حول استخدام Greenlight
upgrade: أرني كيفية الترقية إلى 2.0!
version: لقد أصدرنا إصدارًا جديدًا من Greenlight ، لكن قاعدة البيانات غير متوافقة.
- language_name: العربية
language_default: الافتراضي (لغة المتصفح)
ldap_error: غير قادر على الاتصال بخادم LDAP. يرجى التحقق من تكوين LDAP في ملف env والتأكد من تشغيل خادمك.
login: الدخول
@@ -156,7 +155,7 @@ ar:
password_different_notice: تأكيد كلمة المرور غير متطابق.
provider:
google: Google
- microsoft_office365: Office 365
+ office365: Office 365
twitter: Twitter
recording:
email: " البريد الإلكتروني للتسجيل"
diff --git a/config/locales/de_DE.yml b/config/locales/de_DE.yml
index af9fc63b..f1dd1b55 100644
--- a/config/locales/de_DE.yml
+++ b/config/locales/de_DE.yml
@@ -175,7 +175,6 @@ de_DE:
video: Schauen Sie sich unsere Anleitung zur Verwendung von Greenlight an
upgrade: "Zeigen Sie mir, wie ich auf Version 2.0. update!"
version: "Wir haben eine neue Version von Greenlight veröffentlicht, aber Ihre Datenbank ist damit nicht kompatibel."
- language_name: Deutsch
language_default: Voreinstellung (Browsersprache)
ldap_error: "Verbindung zum LDAP Server konnte nicht hergestellt werden. Bitte überprüfen Sie die LDAP Konfiguration und stellen Sie sicher, dass der LDAP-Server läuft."
login: Einloggen
@@ -190,7 +189,7 @@ de_DE:
info: Ein neuer Nutzer hat sich bei Greenlight angemeldet.
more-info: "Um diesem Nutzer Zugriff auf Greenlight zu geben, müssen Sie seinen Account in den Organisationseinstellungen genehmigen."
admins_link: Organisationsseite besuchen
- subject: Neue Greenlight Nutzerregistierung
+ subject: Neue Greenlight Nutzerregistierung
username: "Der Nutzer hat sich mit dem Namen %{name} und der Email %{email} registiert."
subject: Account genehmigt
username: "Ihr Nutzername ist %{email}."
@@ -206,7 +205,7 @@ de_DE:
signup:
info: Ein Nutzer hat Sie dazu eingeladen sich für die Nutzung von Greenlight zu registieren.
admins_link: Organisationsseite besuchen
- subject: Registierung neuer Greenlight-Nutzer
+ subject: Registierung neuer Greenlight-Nutzer
username: "Der Nutzer hat sich mit dem Namen %{name} und der Email %{email} registriert."
subject: Einladung zur BigBlueButton-Teilnahme
username: "Ihr Nutzername ist %{email}."
@@ -285,7 +284,7 @@ de_DE:
password_different_notice: Passwortbestätigung ist nicht zutreffend.
provider:
google: Google
- microsoft_office365: Office 365
+ office365: Office 365
twitter: Twitter
recaptcha:
errors:
@@ -311,11 +310,11 @@ de_DE:
format:
presentation: Präsentation
registration:
- approval:
+ approval:
fail: "Ihr Account wurde noch nicht freigeschaltet. Falls Sie sich bereits vor mehreren Tagen registriert haben, kontaktieren Sie bitte Ihren Administrator."
signup: Ihr Account wurde erfolgreich erzeugt. Er muss noch durch einen Administrator freigeschaltet werden.
banned:
- fail: "Sie haben keinen Zugriff auf dieses Applikation. Falls Sie denken, dass hier ein Fehler vorliegt, kontaktieren Sie bitte Ihren Administrator."
+ fail: "Sie haben keinen Zugriff auf dieses Applikation. Falls Sie denken, dass hier ein Fehler vorliegt, kontaktieren Sie bitte Ihren Administrator."
invite:
fail: "Ihr Token ist entweder ungültig oder er ist abgelaufen. Falls Sie denken, dass hier ein Fehler vorliegt, kontaktieren Sie bitte Ihren Administrator."
no_invite: "Sie sind nicht zu Teilnahme eingeladen. Bitte kontaktieren Sie Ihren Administrator, um eine Einladung zu erhalten."
diff --git a/config/locales/el.yml b/config/locales/el.yml
index 7a567b0e..0ac909e9 100644
--- a/config/locales/el.yml
+++ b/config/locales/el.yml
@@ -69,7 +69,6 @@ el:
video: Παρακολουθήστε το σεμινάριο μας σχετικά με τη χρήση του Greenlight
upgrade: Δείξε μου πώς να αναβαθμίσω σε 2.0!
version: "Έχουμε κυκλοφορήσει μια νέα έκδοση του Greenlight, αλλά η βάση δεδομένων σας δεν είναι συμβατή."
- language_name: Ελληνικά
ldap_error: Δεν είναι δυνατή η σύνδεση με το διακομιστή LDAP. Ελέγξτε τη διαμόρφωση του LDAP στο αρχείο env και βεβαιωθείτε ότι ο διακομιστής σας εκτελείται.
login: Σύνδεση
modal:
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 0a38ef1f..9082984e 100755
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -21,6 +21,14 @@ en:
attributes:
user:
accepted_terms: "Terms and Conditions"
+ email: Email
+ name: Name
+ password: Password
+ password_confirmation: Password Confirmation
+ errors:
+ models:
+ user:
+ confirmation: doesn't match Password
administrator:
site_settings:
authentication:
@@ -47,6 +55,9 @@ en:
approval: Approve/Decline
invite: Join by Invitation
open: Open Registration
+ rooms:
+ info: Limits the number of rooms that a user can have (including Home Room). This setting does not apply to administrators.
+ title: Number of Rooms per User
subtitle: Customize Greenlight
title: Site Settings
flash:
@@ -68,6 +79,8 @@ en:
edit:
title: Edit User Details
settings:
+ approve: Approve
+ decline: Decline
ban: Ban User
delete: Delete
demote: Demote to User
@@ -106,7 +119,7 @@ en:
message: Invalid BigBlueButton Endpoint and Secret
title: Server Error
internal:
- message: Oh no! Looks like something went wrong on our end.
+ message: Looks like something went wrong on our end.
help: The error has been logged, we'll take a look!
migration_error:
contact_admin: If you are not an administrator, please contact one.
@@ -125,15 +138,18 @@ en:
confirmation: doesn't match %{attribute}
inclusion: is not included in the list
not_found:
- message: Whoops! Looks like we can't find that.
+ message: Sorry! The page you are looking for does not exist.
help: Is it possible its been removed?
+ user_not_found:
+ help: Please contact an administrator.
+ message: Sorry, this user is not registered.
+ user_missing:
+ help: Please verify the URL and try again
+ message: The URL that you have entered is not valid.
title: Errors
unauthorized:
message: You do not have access to this application
help: If you believe this is a mistake, please contact your system administrator.
- unprocessable:
- message: Oops! Request is unprocessable.
- help: Unfortunately this isn't a valid request.
expired_reset_token: Password reset link has expired!
features:
title: Features
@@ -176,7 +192,6 @@ en:
video: Watch our tutorial on using Greenlight
upgrade: Show me how to upgrade to 2.0!
version: We've released a new version of Greenlight, but your database isn't compatible.
- language_name: English
language_default: Default (browser language)
ldap_error: Unable to connect to the LDAP server. Please check your LDAP configuration in the env file and ensure your server is running.
login: Sign in
@@ -191,7 +206,7 @@ en:
info: A new user has signed up to use Greenlight.
more-info: To allow this user to access Greenlight you must approve their account in organization settings.
admins_link: Visit the Organization Page
- subject: New Greenlight User Sign Up
+ subject: New Greenlight User Sign Up
username: The user signed up with the name %{name} and the email %{email}.
subject: Account Approved
username: Your username is %{email}.
@@ -202,12 +217,12 @@ en:
subtitle: Administrator Rights Rescinded
invite:
info: You have been invited to your own personal space by %{name}
- signup: To signup using your email, click the button below and follow the steps.
+ signup_info: To signup using your email, click the button below and follow the steps.
signup_link: Sign Up
signup:
info: A user that was invited has signed up to use Greenlight.
admins_link: Visit the Organization Page
- subject: New Greenlight User Sign Up
+ subject: New Greenlight User Sign Up
username: The user signed up with the name %{name} and the email %{email}.
subject: Invitation to join BigBlueButton
username: Your username is %{email}.
@@ -286,8 +301,9 @@ en:
password_different_notice: Password Confirmation does not match.
provider:
google: Google
- microsoft_office365: Office 365
+ office365: Office 365
twitter: Twitter
+ ldap: LDAP
recaptcha:
errors:
recaptcha_unreachable: Oops, we failed to validate your reCAPTCHA response. Please try again.
@@ -312,11 +328,15 @@ en:
format:
presentation: Presentation
registration:
- approval:
+ approval:
fail: Your account has not been approved yet. If multiples days have passed since you signed up, please contact your administrator.
signup: Your account was successfully created. It has been sent to an administrator for approval.
banned:
fail: You do not have access to this application. If you believe this is a mistake, please contact your administrator.
+ deprecated:
+ new_signin: Select a new login method for you account. All your rooms from your old account will be migrated to the new account
+ twitter_signin: Signing in via Twitter has been deprecated and will be removed in the next release. Click here to move your account to a new authentication method
+ twitter_signup: Sign up via Twitter has been deprecated. Please use a different sign up method
invite:
fail: Your token is either invalid or has expired. If you believe this is a mistake, please contact your administrator.
no_invite: You do not have an invitation to join. Please contact your administrator to receive one.
@@ -343,6 +363,8 @@ en:
owner: Owner
no_sessions: This room has no sessions, yet!
recordings: Room Recordings
+ room_limit: You have reached the maximum number of rooms allowed
+ room_limit_exceeded: You have exceeded the number of rooms allowed. Please delete %{difference} room(s) to access this room.
sessions: Sessions
settings: Room Settings
start: Start
diff --git a/config/locales/es.yml b/config/locales/es.yml
index 7599391a..aaf68999 100644
--- a/config/locales/es.yml
+++ b/config/locales/es.yml
@@ -175,7 +175,6 @@ es:
video: Ve nuestro tutorial de como utilizar Greenlight
upgrade: Muestrame como actualizar a versión 2.0
version: Hemos publicado una nueva version de Greenlight pero tu base de datos no es compatible.
- language_name: Español
language_default: Por omisión (idioma del navegador)
ldap_error: No se puede conectar al servidor LDAP. Compruebe la configuración de LDAP en el archivo "env" y asegúrate de que tu servidor está ejecutándose.
login: Ingresar
@@ -190,7 +189,7 @@ es:
info: Se ha registrado un usuario nuevo.
more-info: Para permitir el acceso de este usuario debes aprobar su cuenta de usuario a través de la configuración de la organización.
admins_link: Ir a la página de la organización
- subject: Registro de usuario nuevo
+ subject: Registro de usuario nuevo
username: "El usuario se ha registrado como %{name} con el email %{email}."
subject: Cuenta de usuario autorizada
username: "Tu nombre de usuario es %{email}"
@@ -206,7 +205,7 @@ es:
signup:
info: Un usuario que fue invitado a registrarse ha completado su registro.
admins_link: Ir a la página de la organización
- subject: Registro de usuario nuevo
+ subject: Registro de usuario nuevo
username: "El usuario se ha registrado como %{name} con el email %{email}."
subject: Invitación a ingresar a BigBlueButton
username: "Tu nombre de usuario es %{email}."
@@ -285,7 +284,7 @@ es:
password_different_notice: La confirmación de password no coincide
provider:
google: Google
- microsoft_office365: Office 365
+ office365: Office 365
twitter: Twitter
recaptcha:
errors:
@@ -311,11 +310,11 @@ es:
format:
presentation: Presentación
registration:
- approval:
+ approval:
fail: "Tú cuenta de usuario todavía no ha sido autorizada. Si han pasado varios días desde tú registro, te sugerimos contactar al administrador."
signup: Tú cuenta de usuario ha sido creada y se le ha enviado una notificación al administrador para su autorización.
banned:
- fail: "No tienes acceso a esta aplicación. Sí tu crees que este es un error, contacta al administrador del sistema."
+ fail: "No tienes acceso a esta aplicación. Sí tu crees que este es un error, contacta al administrador del sistema."
invite:
fail: "Tu código ha expirado o es invalido. Sí tu crees que este es un error, contacta al administrador del sistema."
no_invite: No tienes una invitación para ingresar. Contacta al administrador del sistema para obtener una.
diff --git a/config/locales/es_MX.yml b/config/locales/es_MX.yml
index e330203e..a0b6d105 100644
--- a/config/locales/es_MX.yml
+++ b/config/locales/es_MX.yml
@@ -175,7 +175,6 @@ es_MX:
video: Ve nuestro tutorial de como utilizar Greenlight
upgrade: Muestrame como actualizar a versión 2.0
version: Hemos publicado una nueva version de Greenlight pero tu base de datos no es compatible.
- language_name: Español (México)
language_default: Por omisión (idioma del navegador)
ldap_error: No se puede conectar al servidor LDAP. Compruebe la configuración de LDAP en el archivo "env" y asegúrate de que tu servidor está ejecutándose.
login: Ingresar
@@ -190,7 +189,7 @@ es_MX:
info: Se ha registrado un usuario nuevo.
more-info: Para permitir el acceso de este usuario debes aprobar su cuenta de usuario a través de la configuración de la organización.
admins_link: Ir a la página de la organización
- subject: Registro de usuario nuevo
+ subject: Registro de usuario nuevo
username: "El usuario se ha registrado como %{name}con el email %{email}."
subject: Cuenta de usuario autorizada
username: "Tu nombre de usuario es %{email}."
@@ -206,7 +205,7 @@ es_MX:
signup:
info: Un usuario que fue invitado a registrarse ha completado su registro.
admins_link: Ir a la página de la organización
- subject: Registro de usuario nuevo
+ subject: Registro de usuario nuevo
username: "El usuario se ha registrado como%{name} con el email %{email}. "
subject: Invitación a ingresar a BigBlueButton
username: "Tu nombre de usuario es %{email}."
@@ -285,7 +284,7 @@ es_MX:
password_different_notice: La confirmación de password no coincide
provider:
google: Google
- microsoft_office365: Office 365
+ office365: Office 365
twitter: Twitter
recaptcha:
errors:
@@ -311,11 +310,11 @@ es_MX:
format:
presentation: Presentación
registration:
- approval:
+ approval:
fail: "Tú cuenta de usuario todavía no ha sido autorizada. Si han pasado varios días desde tú registro, te sugerimos contactar al administrador."
signup: Tú cuenta de usuario ha sido creada y se le ha enviado una notificación al administrador para su autorización.
banned:
- fail: "No tienes acceso a esta aplicación. Sí tu crees que este es un error, contacta al administrador del sistema."
+ fail: "No tienes acceso a esta aplicación. Sí tu crees que este es un error, contacta al administrador del sistema."
invite:
fail: "Tu código ha expirado o es invalido. Sí tu crees que este es un error, contacta al administrador del sistema."
no_invite: No tienes una invitación para ingresar. Contacta al administrador del sistema para obtener una.
diff --git a/config/locales/fa_IR.yml b/config/locales/fa_IR.yml
index 201927e5..bd1d21c7 100644
--- a/config/locales/fa_IR.yml
+++ b/config/locales/fa_IR.yml
@@ -175,7 +175,6 @@ fa_IR:
video: ویدئوی آموزشی ما را در مورد استفاده از گرین لایت مشاهده کنید
upgrade: به من نشان بده چگونه به نسخه 2.0 به روز رسانی کنم!
version: ما یک نسخه جدید از گرین لایت را منتشر کرده ایم، اما پایگاه داده شما با آن سازگاری ندارد.
- language_name: انگلیسی
language_default: پیشفرض (زبان مرورگر)
ldap_error: امکان دسترسی به سرور LDAP وجود ندارد. لطفا تنظیمات LDAP خود را در فایل env بررسی کرده و مطمئن شوید سرور در حال اجرا است.
login: ورود
@@ -190,7 +189,7 @@ fa_IR:
info: یک کاربر جدید در گرین لایت ثبت نامه کرده است
more-info: برای داشتن مجوز دسترسی برای این کاربر به گرین لایت، شما می بایست حساب کاربری آن ها را در تنظیمات سازمان تایید کنید.
admins_link: مشاهده صفحه سازمان
- subject: ثبت نام کاربر جدید گرین لایت
+ subject: ثبت نام کاربر جدید گرین لایت
username: "کاربر با نام %{name} و ادرس ایمیل %{email} ثبت نام کرده است."
subject: حساب کاربری تایید شد
username: "نام کاربری شما %{email} است."
@@ -206,7 +205,7 @@ fa_IR:
signup:
info: کاربری که دعوت کرده بودید برای استفاده از گرین لایت ثبت نام کرده است.
admins_link: صفحه سازمان را مشاهده کنید
- subject: ثبت نام کاربر گرین لایت جدید
+ subject: ثبت نام کاربر گرین لایت جدید
username: "کاربر با نام %{name} و ادرس ایمیل %{email} ثبت نام کرده است."
subject: دعوت نامه برای پیوستن به بیگ بلو باتن
username: "نام کاربری شما %{email} است."
@@ -284,7 +283,7 @@ fa_IR:
password_different_notice: تاییدیه رمز عبور با رمز ارائه شده مطابقت ندارد.
provider:
google: گوگل
- microsoft_office365: افیس 365
+ office365: افیس 365
twitter: توییتر
recaptcha:
errors:
@@ -310,11 +309,11 @@ fa_IR:
format:
presentation: ارائه
registration:
- approval:
+ approval:
fail: حساب کاربری شما هنوز تایید نشده است. اگر چند روز از ثبت نام شما گذشته است، لطفا با مدیر خود تماس بگیرید.
signup: حساب کاربری شما با موفقیت ایجاد شد و برای تایید به مدیر ارسال شد.
banned:
- fail: شما دسترسی به این برنامه ندارید. اگر فکر میکنید این اشتباه است، لطفا با مدیر سیستم خود تماس بگیرید
+ fail: شما دسترسی به این برنامه ندارید. اگر فکر میکنید این اشتباه است، لطفا با مدیر سیستم خود تماس بگیرید
invite:
fail: توکن شما به اتمام رسیده یا اشتباه است. اگر فک میکنید این اشتباه است، لطفا با مدیر سیستم خود تماس بگیرید
no_invite: شما دعوت نامه ای برای ورود ندارید، لطفا برای دریافت آن با مدیر تماس بگیرید.
diff --git a/config/locales/fr.yml b/config/locales/fr.yml
index 410c8eb6..251015ae 100644
--- a/config/locales/fr.yml
+++ b/config/locales/fr.yml
@@ -93,7 +93,6 @@ fr:
video: Regardez notre tutoriel sur l'utilisation de Greenlight
upgrade: Montrez-moi comment passer à la version 2.0 !
version: "Nous avons publié une nouvelle version de Greenlight, mais votre base de données n'est pas compatible."
- language_name: Française
language_default: Par défaut (langue du navigateur)
ldap_error: Impossible de se connecter au serveur LDAP. Veuillez vérifier votre configuration LDAP dans le fichier env et vous assurer que votre serveur est en cours d'exécution.
login: Connexion
@@ -156,7 +155,7 @@ fr:
password_different_notice: La confirmation du mot de passe ne correspond pas.
provider:
google: Google
- microsoft_office365: Office 365
+ office365: Office 365
twitter: Twitter
recording:
email: Envoyer l'enregistrement par Email
diff --git a/config/locales/hi_IN.yml b/config/locales/hi_IN.yml
index e2b6ae22..aebe071f 100644
--- a/config/locales/hi_IN.yml
+++ b/config/locales/hi_IN.yml
@@ -93,7 +93,6 @@ hi_IN:
video: ग्रीनलाइट का उपयोग करने पर हमारा ट्यूटोरियल देखें
upgrade: मुझे 2.0 में अपग्रेड करने का तरीका दिखाएं!
version: "हमने ग्रीनलाइट का एक नया संस्करण जारी किया है, लेकिन आपका डेटाबेस संगत नहीं है !"
- language_name: अंग्रेज़ी
language_default: डिफ़ॉल्ट (ब्राउज़र भाषा)
ldap_error: LDAP सर्वर से कनेक्ट करने में असमर्थ। कृपया env फ़ाइल में अपना LDAP कॉन्फ़िगरेशन जांचें और सुनिश्चित करें कि आपका सर्वर चल रहा है।
login: प्रवेश करने देना
@@ -156,7 +155,7 @@ hi_IN:
password_different_notice: पासवर्ड की पुष्टि मेल नहीं खाती।
provider:
google: गूगल
- microsoft_office365: ऑफिस 365
+ office365: ऑफिस 365
twitter: ट्विटर
recording:
email: ईमेल रिकॉर्डिंग
diff --git a/config/locales/hu_HU.yml b/config/locales/hu_HU.yml
index a687312b..83891157 100644
--- a/config/locales/hu_HU.yml
+++ b/config/locales/hu_HU.yml
@@ -175,7 +175,6 @@ hu_HU:
video: Nézd meg az ismertetőnket a Greenlight használatáról
upgrade: "Mutasd, hogyan tudok frissíteni a 2.0-ás verzióra!"
version: "A Greenlight új verziója jelent meg, de az adatbázisod nem kompatibilis."
- language_name: Angol
language_default: Alapértelmezett (a böngésző nyelve)
ldap_error: "Nem sikerült csatlakozni az LDAP szerverhez. Kérjük, ellenőrizd a beállításokat a környezeti, env fájlban, illetve azt, hogy a szerver működik és elérhető."
login: Bejelentkezés
@@ -190,7 +189,7 @@ hu_HU:
info: "Egy új felhasználó regisztrált, hogy használhassa a Greenlight-ot."
more-info: "Ahhoz, hogy ez a felhasználó elérhesse a Greenlight-ot, a szervezheti beállításokban hozzá kell rendelned."
admins_link: A Szervezeti oldal megtekintése
- subject: Új Greenlight felhasználó regisztrált
+ subject: Új Greenlight felhasználó regisztrált
username: "A felhasználó %{name} felhasználónévvel, %{email} e-mail címmel regisztrált."
subject: Jóváhagyott fiók
username: "A felhasználóneved %{email}."
@@ -206,7 +205,7 @@ hu_HU:
signup:
info: "Egy meghívott felhasználó regisztrált, hogy használhassa a Greenlight-ot."
admins_link: A Szervezeti oldal megtekintése
- subject: Új Greenlight felhasználó regisztrált
+ subject: Új Greenlight felhasználó regisztrált
username: "A felhasználó %{name} felhasználónévvel, %{email} e-mail címmel regisztrált."
subject: Meghívás a BigBlueButton használatára
username: "A felhasználóneved %{email}."
@@ -284,7 +283,7 @@ hu_HU:
password_different_notice: A két új jelszó eltér egymástól.
provider:
google: Google
- microsoft_office365: Office 365
+ office365: Office 365
twitter: Twitter
recaptcha:
errors:
@@ -310,11 +309,11 @@ hu_HU:
format:
presentation: Prezentáció
registration:
- approval:
+ approval:
fail: "A fiókodat még nem hagyták jóvá. Ha már többi nap eltelt a regisztrációd óta, lépj kapcsolatba az üzemeltetőkkel."
signup: "A fiókodat sikeresen létrehoztuk, várunk az üzemeltető jóváhagyására."
banned:
- fail: "Nincs hozzáférésed ehhez az alkalmazáshoz. Amennyiben úgy gondolod, hogy ez egy hiba, kérjük, jelezd az üzemeltetőnek."
+ fail: "Nincs hozzáférésed ehhez az alkalmazáshoz. Amennyiben úgy gondolod, hogy ez egy hiba, kérjük, jelezd az üzemeltetőnek."
invite:
fail: "A tokened nem érvényes vagy lejárt. Amennyiben úgy gondolod, hogy ez egy hiba, kérjük, jelezd az üzemeltetőnek."
no_invite: Neked nem küldtünk meghívót. Kérhetsz egyet az üzemeltetőktől.
diff --git a/config/locales/it.yml b/config/locales/it.yml
index b041e2be..0d6953cf 100644
--- a/config/locales/it.yml
+++ b/config/locales/it.yml
@@ -23,26 +23,48 @@ it:
accepted_terms: "Termini e condizioni"
administrator:
site_settings:
+ authentication:
+ disabled: Disabilitato
+ enabled: Abilitato
+ info: Permettere l'accesso solo ad utenti autenticati
+ title: Richiedi autenticazione per ogni stanza
+ user-info: Devi registrarti ad DENTAL LIVE Manager per accedere alla stanza
branding:
change: Cambia immagine
info: Cambia il logo del brand che appare nell'angolo in alto a sinistra
placeholder: Indirizzo immagine...
title: Logo
color:
- info: Cambia il colore primario usato nel sito
+ info: "Cambiando il valore del colore di base, verranno cambiati sia la versione chiara che scura. Le due versioni possono essere modificate individualmente"
title: Colore primario
+ regular: Colore di base
+ lighten: Chiaro
+ Darken: Scuro
+ registration:
+ info: Cambiare il modo in cui gli utenti si registrano al sito web
+ title: Metodo di registrazione
+ methods:
+ approval: Approva/Rifiuta
+ invite: Accesso tramite invito
+ open: Registrazione libera
subtitle: Personalizza Greenlight
title: Impostazioni Sito
flash:
+ approved: L'utente è stato approvato con successo
banned: L'utente è stato bannato.
unbanned: E' stato tolto il blocco utente.
delete: L'utente è stato eliminato con successo
delete_fail: Errore nell'eliminazione utente
demoted: L'utente è stato declassato
+ invite: "L'invito è stato inviato a %{email}"
+ invite_email_verification: ""
promoted: L'utente è stato promosso
+ registration_method_updated: Il metodo di registrazione è stato aggiornato con successo
+ settings: Le impostazioni web sono state modificate con successo
unauthorized: Non sei autorizzato ad effettuare modifiche sull'utente
title: Impostazioni dell'organizzazione
users:
+ invite: Invita utente
edit:
title: Modifica dettagli utente
settings:
@@ -79,6 +101,10 @@ it:
email_sent: "La tua email di %{email_type} è stata inviata! (Controlla nella cartella Spam della tua email se non la ricevi)"
enter_your_name: Inserisci il tuo nome!
errors:
+ bigbluebutton:
+ help: "Per favore, assicurarsi di aver completato tutti i passaggi. Altre informazioni"
+ message: "Impostazioni di collegamento, Endpoint e Secret, errati"
+ title: Errore del server
internal:
message: Diamine! Sembra che qualcosa non funzioni qui da noi.
help: "L'errore è stato salvato, abbiamo inviato un gruppo di scimmie per risolvere il problema."
@@ -149,13 +175,40 @@ it:
video: Guarda il tutorial sull'utilizzo di GreenLight
upgrade: Mostrami come aggiornare alla versione 2.0!
version: "E' stata rilasciata una nuova versione di GreenLight, ma il tuo database non è compatibile."
- language_name: Inglese
language_default: Predefinito (linguaggio del browser)
ldap_error: Impossibile collegarsi al server LDAP. Controlla la configurazione LDAP nel file env e assicurati che il server sia attivo.
login: Entra
login_title: Entra nel tuo account
mailer:
user:
+ approve:
+ info: Il tuo account è stato approvato.
+ signin: "Per accedere alle stanze personali, clicca sul bottone in basso ed effettua il login"
+ signin_link: Entra
+ signup:
+ info: "Un nuovo utente si è registrato "
+ more-info: ""
+ admins_link: ""
+ subject: ""
+ username: ""
+ subject: ""
+ username: ""
+ demoted:
+ info: ""
+ more-info: ""
+ root_link: ""
+ subtitle: ""
+ invite:
+ info: ""
+ signup: To signup using your email, click the button below and follow the steps.
+ signup_link: ""
+ signup:
+ info: ""
+ admins_link: ""
+ subject: ""
+ username: ""
+ subject: ""
+ username: ""
password_reset:
title: 'Reimposta password'
welcome: "Sembra che tu abbia dimenticato la password per %{bigbluebutton}"
@@ -163,6 +216,11 @@ it:
reset_link: Reimposta Password
expire: Questo link scadrà tra 2 ore.
ignore: Se non hai richiesto tu di reimpostare la password puoi ignorare questa email.
+ promoted:
+ admins_link: ""
+ info: ""
+ more-info: ""
+ subtitle: ""
verify_email:
welcome: "Benvenuti nel vostro spazio personale, %{name}!"
success: "Supporta %{bigbluebutton}, puoi creare le tue stanze e ospitare meeting per collaborare con altri utenti."
@@ -189,7 +247,13 @@ it:
confirm: "Sicuro di voler eliminare %{room}?"
delete: "Sono sicuro, elimina la stanza."
keep: "Ripensandoci, penso che la terrò."
- warning: "Non potrai recuperare questa stanza e le relative %{recordings_num} registrazioni salvate."
+ warning: ""
+ recording_warning: ""
+ invite_user:
+ email_placeholder: ""
+ footer: ""
+ send: ""
+ title: ""
login:
or: o
with: "Entra con %{provider}"
@@ -220,7 +284,7 @@ it:
password_different_notice: La conferma della password non coincide.
provider:
google: Google
- microsoft_office365: Office 365
+ office365: Office 365
twitter: Twitter
recaptcha:
errors:
@@ -245,6 +309,15 @@ it:
unlisted: Non in elenco
format:
presentation: Presentazione
+ registration:
+ approval:
+ fail: ""
+ signup: ""
+ banned:
+ fail: ""
+ invite:
+ fail: ""
+ no_invite: ""
rename: Rinomina
reset_password:
subtitle: Reimposta password
@@ -254,6 +327,7 @@ it:
roles:
administrator: Amministratore
banned: Bloccato
+ pending: ""
super_admin: Super Amministratore
user: Utente
room:
@@ -274,7 +348,7 @@ it:
update_settings_error: Si è verificato un errore nell'aggiornamento dei dettagli della stanza
update_settings_success: Impostazioni della stanza aggiornate correttamente
wait:
- message: Il meeting non è ancora cominciato.
+ message: ""
auto: Verrai inserito nella stanza non appena il meeting avrà inizio.
settings:
account:
diff --git a/config/locales/it_IT.yml b/config/locales/it_IT.yml
deleted file mode 100644
index ab370733..00000000
--- a/config/locales/it_IT.yml
+++ /dev/null
@@ -1,322 +0,0 @@
-# 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 .
-
-# Locale.
-
-it_IT:
- activerecord:
- attributes:
- user:
- accepted_terms: "Termini e condizioni"
- administrator:
- site_settings:
- branding:
- change: Cambia immagine
- info: Cambia il logo del brand che appare nell'angolo in alto a sinistra
- placeholder: Indirizzo immagine...
- title: Logo
- color:
- info: Cambia il colore primario usato nel sito
- title: Colore primario
- subtitle: Personalizza Greenlight
- title: Impostazioni Sito
- flash:
- banned: L'utente è stato bannato.
- unbanned: E' stato tolto il blocco utente.
- delete: L'utente è stato eliminato con successo
- delete_fail: Errore nell'eliminazione utente
- demoted: L'utente è stato declassato
- promoted: L'utente è stato promosso
- unauthorized: Non sei autorizzato ad effettuare modifiche sull'utente
- title: Impostazioni dell'organizzazione
- users:
- edit:
- title: Modifica dettagli utente
- settings:
- ban: Blocca utente
- delete: Elimina
- demote: Declassa utente
- edit: Modifica
- promote: Rendi amministratore
- unban: Sblocca utente
- table:
- authenticator: Gestore di autenticazione
- created: Creato
- name: Nome
- not_found: Nessun utente corrisponde alla ricerca
- no_users: Nessun utente trovato
- role: Ruolo
- uid: ID Utente
- username: Nome utente
- title: Gestisci utenti
- add_to_google_calendar: "Aggiungi a Google Calendar"
- bigbluebutton: GrandeBottoneBlu
- bigbluebutton_exception: "Dannazione, c'è stato un errore nell'avvio del meeting!"
- cancel: Annulla
- cookies:
- cookie_info: "I Cookies aiutano a fornire i servizi personalizzati. Usando i nostri servizi, accetti di usare i nostri Cookies."
- cookie_button: Accetto
- copied: Copiato
- copy: Copia
- default_admin: "Stai utilizzando la password di default per l'account. Clicca qui per cambiarla"
- delete: Elimina
- delivery_error: Si è verificato un'errore nella consegna della mail. Contatta un amministratore!
- docs: Documentazione
- email: Email
- email_sent: "La tua email di %{email_type} è stata inviata! (Controlla nella cartella Spam della tua email se non la ricevi)"
- enter_your_name: Inserisci il tuo nome!
- errors:
- internal:
- message: Diamine! Sembra che qualcosa non funzioni qui da noi.
- help: "L'errore è stato salvato, abbiamo inviato un gruppo di scimmie per risolvere il problema."
- migration_error:
- contact_admin: "Non sei un amministratore, dovresti contattarne uno serio."
- continue: Voglio restare con la verisione 1.0.
- notice: >
- Si è verificato un errore nella migrazione del database di GreenLight. Questo può essere perché non hai aggiornato alla versione 2.0.
- upgrade: Mostrami come aggiornare alla versione 2.0!
- version: Abbiamo rilasciato una nuova versione di GreenLight ma il tuo database non sembra essere compatibile.
- messages:
- blank: non può essere vuoto
- too_short: è troppo corto
- invalid: non è valido
- taken: è stato già utilizzato
- accepted: devono essere accettati
- confirmation: "non corrisponde a %{attribute}"
- inclusion: non è nella lista
- not_found:
- message: Maledizione! Non riusciamo a trovarlo.
- help: "Possibile che sia stato rimosso?"
- title: Errori
- unauthorized:
- message: Non hai accesso a questa applicazione
- help: "Se credi che sia un errore, contatta il tuo amministratore."
- unprocessable:
- message: Cavolo! Non possiamo processare la richiesta.
- help: Sfortunatamente non è una richiesta valida.
- expired_reset_token: Il link per il reset della password è scaduto!
- features:
- title: Caratteristiche
- rooms: Stanze personalizzate
- recordings: Gestione delle registrazioni
- designs: Grafiche personalizzate
- authentication: Autenticazione Utente
- footer:
- powered_by: "Questo progetto utilizza %{href}."
- forgot_password:
- subtitle: Password dimenticata
- email: Email
- submit: Invia
- go_back: Indietro
- greenlight: LuceVerde
- header:
- all_recordings: Tutte le Registrazioni
- dropdown:
- account_settings: Organizzazione
- help: "Ti serve aiuto?"
- home: Principale
- settings: Profilo
- signout: Esci
- home_room: Stanza principale
- info_update_success: Le informazioni sono state aggiornate.
- invalid_user: "Accesso fallito: utente non trovato. Sicuro che l'email sia corretta?"
- invalid_credentials: "Accesso fallito: credenziali errate. Sicuro che le credenziali siano corrette?"
- invalid_login_method: "Accesso fallito: account non corretto. Devi effettuare l'accesso con omniauth."
- invite_message: "Per invitare qualcuno a partecipare, inviagli questo link: "
- javascript:
- room:
- mailer:
- subject: 'ti ha mandato un invito per visualizzare una registrazione.'
- body: 'Per visualizzare la registrazione, clicca su questo link: '
- autogenerated: 'Questa email è stata generata automaticamente da BigBlueButton.'
- footer: 'BigBlueButton è un sistema di videoconferenza basato su software libero. Per maggiori informazioni su BigBlueButton, visita https://bigbluebutton.org/.'
- landing:
- about: "%{href} è una semplice interfaccia per il software di video-conferenza open source BigBlueButton. Puoi creare Stanze per ospitare i meeting, o partecipare ad altri meeting utilizzando collegamenti brevi."
- welcome: Benvenuti su BigBlueButton.
- video: Guarda il tutorial sull'utilizzo di GreenLight
- upgrade: Mostrami come aggiornare alla versione 2.0!
- version: "E' stata rilasciata una nuova versione di GreenLight, ma il tuo database non è compatibile."
- language_name: Inglese
- language_default: Predefinito (linguaggio del browser)
- ldap_error: Impossibile collegarsi al server LDAP. Controlla la configurazione LDAP nel file env e assicurati che il server sia attivo.
- login: Entra
- login_title: Entra nel tuo account
- mailer:
- user:
- password_reset:
- title: 'Reimposta password'
- welcome: "Sembra che tu abbia dimenticato la password per %{bigbluebutton}"
- message: 'Se è così, clicca sul link seguente per reimpostare la tua password:'
- reset_link: Reimposta Password
- expire: Questo link scadrà tra 2 ore.
- ignore: Se non hai richiesto tu di reimpostare la password puoi ignorare questa email.
- verify_email:
- welcome: "Benvenuti nel vostro spazio personale, %{name}!"
- success: "Supporta %{bigbluebutton}, puoi creare le tue stanze e ospitare meeting per collaborare con altri utenti."
- username: "Il tuo nome utente è %{email}."
- verify: "Per verificare il tuo account, clicca sul link seguente."
- verify_text: 'Per verificare il tuo account, visita questo indirizzo: %{url}'
- verify_link: Verifica Account
- thanks: "Grazie per aver participato, buona giornata!"
- max_concurrent: E' stato raggiunto il massimo numero di sessioni contemporanee!
- modal:
- create_room:
- auto_join: Aggiungimi automaticamente alla stanza
- create: Crea Stanza
- free_delete: Puoi eliminare la stanza in qualsiasi momento.
- name_placeholder: Inserisci il nome della stanza...
- not_blank: Il nome della stanza non può essere vuoto
- title: Crea una nuova stanza
- delete_account:
- confirm: "Sicuro di voler eliminare questo account?"
- delete: Sono sicuro. Elimina questo account.
- keep: "mmmh no dai, NON eliminarlo."
- warning: Questa è la tua ultima possibilità. Non sarai in grado di recuperare i dati associati.
- delete_room:
- confirm: "Sicuro di voler eliminare %{room}?"
- delete: "Sono sicuro, elimina la stanza."
- keep: "Ripensandoci, penso che la terrò."
- warning: "Non potrai recuperare questa stanza e le relative %{recordings_num} registrazioni salvate."
- login:
- or: o
- with: "Entra con %{provider}"
- forgot_password: "Hai dimenticato la password?"
- rename_recording:
- room_settings:
- title: Impostazioni della stanza
- update: Aggiorna Stanza
- client: Seleziona il tipo di interfaccia
- mute: Silenzia utenti quando entrano nella stanza
- default: Predefinito
- html: HTML5
- flash: Flash
- footer_text: Le impostazioni della stanza possono essere cambiate in qualsiasi momento.
- rename_room:
- name_placeholder: Inserisci il nome della nuova stanza...
- name_update_success: Il nome della stanza è stato cambiato con successo!
- no_user_email_exists: Non esistono utenti con la email specificata. Controlla di averla inserita correttamente.
- omniauth_error: Si è verificato un errore con l'autenticazione omniauth. Prova ancora o contatta un amministratore!
- pagy:
- nav:
- prev: "‹ Precedente"
- next: "Prossimo ›"
- gap: "…"
- password: Password
- password_empty_notice: La password non può essere vuota.
- password_reset_success: La password è stata reimpostata.
- password_different_notice: La conferma della password non coincide.
- provider:
- google: Google
- microsoft_office365: Office 365
- twitter: Twitter
- recaptcha:
- errors:
- recaptcha_unreachable: "Accidenti, la verifica reCAPTCHA è fallita. Riprova."
- verification_failed: "Accidenti, la verifica reCAPTCHA è fallita. Riprova."
- recording:
- all_recordings: Tutte le registrazioni
- email: Registrazioni Email
- no_recordings: "Questa stanza non ha %{inject} registrazioni."
- no_user_recordings: Non ci sono registrazioni al momento.
- no_matched_recordings: Nessuna registrazione corrisponde alla tua ricerca.
- recorded_on: "Registrato il %{date}"
- table:
- name: Nome
- thumbnails: Anteprima
- length: Durata
- users: Utenti
- visibility: Visibilità
- formats: Formati
- visibility:
- public: Pubblica
- unlisted: Non in elenco
- format:
- presentation: Presentazione
- rename: Rinomina
- reset_password:
- subtitle: Reimposta password
- password: Nuova password
- confirm: Conferma nuova password
- update: Aggiorna password
- roles:
- administrator: Amministratore
- banned: Bloccato
- super_admin: Super Amministratore
- user: Utente
- room:
- create_room: Crea una stanza
- create_room_error: Si è verificato un errore nella creazione della stanza
- create_room_success: La stanza è stata creata correttamente
- invited: Hai ricevuto un invito per partecipare
- invite_participants: Invita partecipanti
- join: Partecipa
- last_session: "Ultima sessione: %{session}"
- owner: Proprietario
- no_sessions: Questa stanza non ha ancora una sessione attiva!
- recordings: Registrazioni della stanza
- sessions: Sessioni
- settings: Impostazioni Stanza
- start: Avvia
- unavailable: La stanza non è disponibile finché il proprietario non verifica il suo indirizzo email.
- update_settings_error: Si è verificato un errore nell'aggiornamento dei dettagli della stanza
- update_settings_success: Impostazioni della stanza aggiornate correttamente
- wait:
- message: Il meeting non è ancora cominciato.
- auto: Verrai inserito nella stanza non appena il meeting avrà inizio.
- settings:
- account:
- fullname: Nome completo
- language: Lingua
- provider: Fornitore
- image: Immagine
- image_url: Indirizzo immagine del profilo
- subtitle: Aggiorna le informazioni del tuo account
- title: Informazioni account
- delete:
- button: "Si, voglio eliminare il mio account."
- disclaimer: "Se scegli di eliminare il tuo account, NON sarà possibile recuperarlo. Tutte le informazioni riguardo l'account, incluse impostazioni, stanze e registrazioni, verranno eliminate."
- subtitle: Elimina definitivamente l'account
- title: Elimina account
- password:
- confirmation: Conferma nuova Password
- new: Nuova Password
- old: Vecchia Password
- subtitle: Cambia la password
- title: Password
- title: Profilo
- search: Cerca
- signup:
- password_confirm: Conferma Password
- subtitle: Crea un Account
- title: Iscriviti
- with: "Iscriviti con %{provider}"
- terms:
- accept: "Accetto %{href}"
- accept_existing: Accetto i termini e le condizioni
- title: Termini e Condizioni
- test_install: >
- Questa versione usa un server di test pre-configurato, dovresti rimpiazzarlo con il tuo. Per i dettagli, visita %{href}.
- update: Aggiorna
- verify:
- accept: Verifica
- activated: Account verificato!
- already_verified: L'Account è già stato verificato
- invalid: Link di verifica non valido
- not_verified: Il tuo account non è ancora stato verificato.
- resend: Rimanda email di verifica
- signin: Effettua l'accesso al tuo account.
- title: Verifica la tua email
- verification: Verifica
diff --git a/config/locales/pt.yml b/config/locales/pt.yml
index dfd026ad..d8c1e970 100644
--- a/config/locales/pt.yml
+++ b/config/locales/pt.yml
@@ -93,7 +93,6 @@ pt:
video: Assista ao nosso tutorial sobre como utilizar o Greenlight
upgrade: Mostre-me como atualizar para o 2.0!
version: "Lançamos uma nova versão do Greenlight, entretanto sua base de dados é incompatível."
- language_name: Português
language_default: Padrão (idioma do navegador)
ldap_error: Não é possível conectar-se ao servidor LDAP. Verifique sua configuração LDAP no arquivo ENV e certifique-se de que seu servidor está funcionando.
login: Login
@@ -156,7 +155,7 @@ pt:
password_different_notice: A Confirmação de Senha não corresponde a Senha inserida acima.
provider:
google: Google
- microsoft_office365: Office 365
+ office365: Office 365
twitter: Twitter
recording:
email: Enviar Gravação por E-mail
diff --git a/config/locales/pt_BR.yml b/config/locales/pt_BR.yml
index d291085a..e5e0a32d 100644
--- a/config/locales/pt_BR.yml
+++ b/config/locales/pt_BR.yml
@@ -93,7 +93,6 @@ pt_BR:
video: Assista ao nosso tutorial sobre como utilizar o Greenlight
upgrade: Mostre-me como atualizar para o 2.0!
version: "Lançamos uma nova versão do Greenlight, entretanto sua base de dados é incompatível."
- language_name: Português (Brasil)
language_default: Padrão (idioma do navegador)
ldap_error: Não é possível conectar ao servidor LDAP. Verifique sua configuração LDAP e certifique-se de que seu servidor está funcionando.
login: Entrar
@@ -156,7 +155,7 @@ pt_BR:
password_different_notice: A confirmação de senha não confere.
provider:
google: Google
- microsoft_office365: Office 365
+ office365: Office 365
twitter: Twitter
recording:
email: Enviar link da gravação por e-mail
diff --git a/config/locales/ru_RU.yml b/config/locales/ru_RU.yml
index 3f997eb4..5d8e977e 100644
--- a/config/locales/ru_RU.yml
+++ b/config/locales/ru_RU.yml
@@ -85,7 +85,6 @@ ru_RU:
video: Посмотрите наше руководство по использованию Greenlight
upgrade: Показать мне как обновиться до версии 2.0!
version: "Мы выпустили новую версию Greenlight, но Ваша база данных несовместима с ней."
- language_name: Русский
language_default: По умолчанию (язык браузера)
ldap_error: Невозможно соединиться с сервером LDAP. Пожалуйста проверьте Вашу конфигурацию LDAP в env-файле и убедитесь в работоспособности Вашего LDAP-сервера.
login: Войти
@@ -132,7 +131,7 @@ ru_RU:
password_different_notice: Подтверждение пароля не совпадает.
provider:
google: Google
- microsoft_office365: Office 365
+ office365: Office 365
twitter: Twitter
recording:
email: Отправить ссылку на запись
diff --git a/config/locales/vi_VN.yml b/config/locales/vi_VN.yml
index 70af3324..1efce94f 100644
--- a/config/locales/vi_VN.yml
+++ b/config/locales/vi_VN.yml
@@ -149,7 +149,6 @@ vi_VN:
video: Xem thêm hướng dẫn sử dụng LiveRoom
upgrade: Hãy chỉ cho tôi cách nâng cấp lên 2.0!
version: "Chúng tôi đã phát hành phiên bản mới của Greenlight, nhưng cơ sở dữ liệu của bạn không tương thích."
- language_name: Tiếng Anh
language_default: Mặc định (ngôn ngữ từ trình duyệt)
ldap_error: Không thể kết nối với máy chủ LDAP. Vui lòng kiểm tra cấu hình LDAP của bạn trong tệp env và đảm bảo máy chủ của bạn đang hoạt động.
login: Đăng nhập
@@ -220,7 +219,7 @@ vi_VN:
password_different_notice: Xác nhận mật khẩu không khớp.
provider:
google: Google
- microsoft_office365: Office 365
+ office365: Office 365
twitter: Twitter
recaptcha:
errors:
diff --git a/config/locales/zh_CN.yml b/config/locales/zh_CN.yml
index c30c7d51..4bf233e9 100644
--- a/config/locales/zh_CN.yml
+++ b/config/locales/zh_CN.yml
@@ -175,7 +175,6 @@ zh_CN:
video: 请看使用说明
upgrade: 告诉我怎么升级到 2.0!
version: 我们发布了新版Greenlight,但你的数据库不兼容。
- language_name: 简体中文
language_default: 默认(浏览器语言)
ldap_error: 无法连接到LDAP服务器,请在env文件中检查LDAP配置,还要确保服务已经启动。
login: 登录
@@ -190,7 +189,7 @@ zh_CN:
info: 一个新用户已注册使用Greenlight。
more-info: 若要允许此用户访问greenlight,您必须在“组织设置”中批准其帐户。
admins_link: 访问组织页面
- subject: 新Greenlight用户注册
+ subject: 新Greenlight用户注册
username: "用户注册了名称 %{name} 和电子邮箱 %{email}."
subject: 帐户已批准
username: "您的用户名是 %{email}."
@@ -206,7 +205,7 @@ zh_CN:
signup:
info: 被邀请的用户已注册使用greenlight。
admins_link: 访问组织页面
- subject: 新Greenlight用户注册
+ subject: 新Greenlight用户注册
username: "用户注册了名称%{name} 和电子邮箱 %{email}."
subject: 邀请加入 BigBlueButton
username: "您的用户名是 %{email}."
@@ -284,7 +283,7 @@ zh_CN:
password_different_notice: 两次新密码不一致。
provider:
google: Google
- microsoft_office365: Office 365
+ office365: Office 365
twitter: Twitter
recaptcha:
errors:
@@ -310,11 +309,11 @@ zh_CN:
format:
presentation: 演示
registration:
- approval:
+ approval:
fail: 您的帐户尚未批准。如果您注册后已过多天,请与管理员联系。
signup: 您的帐户已成功创建。它已发送给管理员审批。
banned:
- fail: 您没有访问此应用程序的权限。如果您认为这是一个错误,请联系您的管理员。
+ fail: 您没有访问此应用程序的权限。如果您认为这是一个错误,请联系您的管理员。
invite:
fail: 您的令牌无效或已过期。如果您认为这是一个错误,请联系您的管理员。
no_invite: 您没有被邀请加入。请联系管理员申请邀请。
diff --git a/config/routes.rb b/config/routes.rb
index f2a39a23..a1dc1eaa 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -22,13 +22,13 @@ Rails.application.routes.draw do
# Error routes.
match '/401', to: 'errors#unauthorized', via: :all, as: :unauthorized
match '/404', to: 'errors#not_found', via: :all, as: :not_found
- match '/422', to: 'errors#unprocessable', via: :all
match '/500', to: 'errors#internal_error', via: :all, as: :internal_error
# Signin/Signup routes.
get '/signin', to: 'users#signin', as: :signin
get '/signup', to: 'users#new', as: :signup
post '/signup', to: 'users#create', as: :create_user
+ get '/ldap_signin', to: 'users#ldap_signin', as: :ldap_signin
# Redirect to terms page
match '/terms', to: 'users#terms', via: [:get, :post]
@@ -51,6 +51,7 @@ Rails.application.routes.draw do
post '/invite', to: 'admins#invite', as: :invite_user
post '/registration_method/:method', to: 'admins#registration_method', as: :admin_change_registration
post '/approve/:user_uid', to: 'admins#approve', as: :admin_approve
+ post '/room_limit', to: 'admins#room_limit', as: :admin_room_limit
end
scope '/themes' do
@@ -87,6 +88,7 @@ Rails.application.routes.draw do
# Handles Omniauth authentication.
match '/auth/:provider/callback', to: 'sessions#omniauth', via: [:get, :post], as: :omniauth_session
get '/auth/failure', to: 'sessions#omniauth_fail'
+ post '/auth/ldap', to: 'sessions#ldap', as: :ldap_callback
# Room resources.
resources :rooms, only: [:create, :show, :destroy], param: :room_uid, path: '/'
diff --git a/sample.env b/sample.env
index 74ba1d00..57b6ba2a 100644
--- a/sample.env
+++ b/sample.env
@@ -47,6 +47,7 @@ TWITTER_SECRET=
#
OFFICE365_KEY=
OFFICE365_SECRET=
+OFFICE365_HD=
# LDAP Login Provider (optional)
#
diff --git a/spec/controllers/admins_controller_spec.rb b/spec/controllers/admins_controller_spec.rb
index 4bdc4aa3..3f55a2c0 100644
--- a/spec/controllers/admins_controller_spec.rb
+++ b/spec/controllers/admins_controller_spec.rb
@@ -247,7 +247,9 @@ describe AdminsController, type: :controller do
expect(response).to redirect_to(admins_path)
end
end
+ end
+ describe "Site Settings" do
context "POST #registration_method" do
it "changes the registration method for the given context" do
allow(Rails.configuration).to receive(:enable_email_verification).and_return(true)
@@ -294,5 +296,21 @@ describe AdminsController, type: :controller do
expect(response).to redirect_to(admins_path)
end
end
+
+ context "POST #room_limit" do
+ it "changes the room limit setting" do
+ allow(Rails.configuration).to receive(:loadbalanced_configuration).and_return(true)
+ allow_any_instance_of(User).to receive(:greenlight_account?).and_return(true)
+
+ @request.session[:user_id] = @admin.id
+
+ post :room_limit, params: { limit: 5 }
+
+ feature = Setting.find_by(provider: "provider1").features.find_by(name: "Room Limit")
+
+ expect(feature[:value]).to eq("5")
+ expect(response).to redirect_to(admins_path)
+ end
+ end
end
end
diff --git a/spec/controllers/application_controller_spec.rb b/spec/controllers/application_controller_spec.rb
index 0d5e9550..f8f8a917 100644
--- a/spec/controllers/application_controller_spec.rb
+++ b/spec/controllers/application_controller_spec.rb
@@ -31,6 +31,10 @@ describe ApplicationController do
def error
raise BigBlueButton::BigBlueButtonException
end
+
+ def user_not_found
+ set_user_domain
+ end
end
context "roles" do
@@ -66,5 +70,41 @@ describe ApplicationController do
get :error
expect(response).to render_template("errors/bigbluebutton_error")
end
+
+ it "renders a 404 error if user is not found" do
+ allow(Rails.configuration).to receive(:loadbalanced_configuration).and_return(true)
+ allow(Rails.env).to receive(:test?).and_return(false)
+ allow_any_instance_of(SessionsHelper).to receive(:parse_user_domain).and_return("fake_provider")
+ allow_any_instance_of(BbbApi).to receive(:retrieve_provider_info).and_raise("No user with that id exists")
+
+ routes.draw { get "user_not_found" => "anonymous#user_not_found" }
+
+ get :user_not_found
+ expect(response).to render_template("errors/not_found")
+ end
+
+ it "renders a 404 error if user is not given" do
+ allow(Rails.configuration).to receive(:loadbalanced_configuration).and_return(true)
+ allow(Rails.env).to receive(:test?).and_return(false)
+ allow_any_instance_of(SessionsHelper).to receive(:parse_user_domain).and_return("")
+ allow_any_instance_of(BbbApi).to receive(:retrieve_provider_info).and_raise("Provider not included.")
+
+ routes.draw { get "user_not_found" => "anonymous#user_not_found" }
+
+ get :user_not_found
+ expect(response).to render_template("errors/not_found")
+ end
+
+ it "renders a 500 error if any other error related to bbb api" do
+ allow(Rails.configuration).to receive(:loadbalanced_configuration).and_return(true)
+ allow(Rails.env).to receive(:test?).and_return(false)
+ allow_any_instance_of(SessionsHelper).to receive(:parse_user_domain).and_return("")
+ allow_any_instance_of(BbbApi).to receive(:retrieve_provider_info).and_raise("Other error")
+
+ routes.draw { get "user_not_found" => "anonymous#user_not_found" }
+
+ get :user_not_found
+ expect(response).to render_template("errors/internal_error")
+ end
end
end
diff --git a/spec/controllers/errors_controller_spec.rb b/spec/controllers/errors_controller_spec.rb
index 48616b0a..d346e940 100644
--- a/spec/controllers/errors_controller_spec.rb
+++ b/spec/controllers/errors_controller_spec.rb
@@ -26,13 +26,6 @@ describe ErrorsController, type: :controller do
end
end
- describe "GET #unprocessable" do
- it "returns unprocessable" do
- get :unprocessable
- expect(response).to have_http_status(422)
- end
- end
-
describe "GET #internal_error" do
it "returns internal_error" do
get :internal_error
diff --git a/spec/controllers/rooms_controller_spec.rb b/spec/controllers/rooms_controller_spec.rb
index 1492e84c..b9899079 100644
--- a/spec/controllers/rooms_controller_spec.rb
+++ b/spec/controllers/rooms_controller_spec.rb
@@ -129,7 +129,7 @@ describe RoomsController, type: :controller do
expect(response).to redirect_to(r)
end
- it "it should redirect to root if not logged in" do
+ it "should redirect to root if not logged in" do
expect do
name = Faker::Games::Pokemon.name
post :create, params: { room: { name: name } }
@@ -138,7 +138,7 @@ describe RoomsController, type: :controller do
expect(response).to redirect_to(root_path)
end
- it "it should redirect back to main room with error if it fails" do
+ it "should redirect back to main room with error if it fails" do
@request.session[:user_id] = @owner.id
room_params = { name: "", "client": "html5", "mute_on_join": "1" }
@@ -148,6 +148,19 @@ describe RoomsController, type: :controller do
expect(flash[:alert]).to be_present
expect(response).to redirect_to(@owner.main_room)
end
+
+ it "redirects to main room if room limit is reached" do
+ allow_any_instance_of(Setting).to receive(:get_value).and_return(1)
+
+ @request.session[:user_id] = @owner.id
+
+ room_params = { name: Faker::Games::Pokemon.name, "client": "html5", "mute_on_join": "1" }
+
+ post :create, params: { room: room_params }
+
+ expect(flash[:alert]).to be_present
+ expect(response).to redirect_to(@owner.main_room)
+ end
end
describe "POST #join" do
diff --git a/spec/controllers/sessions_controller_spec.rb b/spec/controllers/sessions_controller_spec.rb
index f85e1ac2..d8f2bbc3 100644
--- a/spec/controllers/sessions_controller_spec.rb
+++ b/spec/controllers/sessions_controller_spec.rb
@@ -156,6 +156,29 @@ describe SessionsController, type: :controller do
expect(@request.session[:user_id]).to eql(user.id)
expect(response).to redirect_to(admins_path)
end
+
+ it "should migrate old rooms from the twitter account to the new user" do
+ twitter_user = User.create(name: "Twitter User", email: "user@twitter.com", image: "example.png",
+ username: "twitteruser", email_verified: true, provider: 'twitter', social_uid: "twitter-user")
+
+ room = Room.new(name: "Test")
+ room.owner = twitter_user
+ room.save!
+
+ post :create, params: {
+ session: {
+ email: @user1.email,
+ password: 'example',
+ },
+ }, session: {
+ old_twitter_user_id: twitter_user.id
+ }
+
+ @user1.reload
+ expect(@user1.rooms.count).to eq(3)
+ expect(@user1.rooms.find { |r| r.name == "Old Home Room" }).to_not be_nil
+ expect(@user1.rooms.find { |r| r.name == "Test" }).to_not be_nil
+ end
end
describe "GET/POST #omniauth" do
@@ -173,6 +196,18 @@ describe SessionsController, type: :controller do
},
)
+ OmniAuth.config.mock_auth[:google] = OmniAuth::AuthHash.new(
+ provider: "google",
+ uid: "google-user",
+ info: {
+ email: "user@google.com",
+ name: "Google User",
+ nickname: "googleuser",
+ image: "touch.png",
+ customer: 'customer1',
+ }
+ )
+
OmniAuth.config.mock_auth[:bn_launcher] = OmniAuth::AuthHash.new(
provider: "bn_launcher",
uid: "bn-launcher-user",
@@ -190,68 +225,108 @@ describe SessionsController, type: :controller do
}
end
- unless Rails.configuration.omniauth_bn_launcher
- it "should create and login user with omniauth twitter" do
+ it "should create and login user with omniauth google" do
+ request.env["omniauth.auth"] = OmniAuth.config.mock_auth[:google]
+ get :omniauth, params: { provider: :google }
+
+ u = User.last
+ expect(u.provider).to eql("google")
+ expect(u.email).to eql("user@google.com")
+ expect(@request.session[:user_id]).to eql(u.id)
+ end
+
+ it "should create and login user with omniauth bn launcher" do
+ request.env["omniauth.auth"] = OmniAuth.config.mock_auth[:bn_launcher]
+ get :omniauth, params: { provider: 'bn_launcher' }
+
+ u = User.last
+ expect(u.provider).to eql("customer1")
+ expect(u.email).to eql("user@google.com")
+ expect(@request.session[:user_id]).to eql(u.id)
+ end
+
+ it "should redirect to root on invalid omniauth login" do
+ request.env["omniauth.auth"] = :invalid_credentials
+ get :omniauth, params: { provider: :google }
+
+ expect(response).to redirect_to(root_path)
+ end
+
+ it "should not create session without omniauth env set for google" do
+ get :omniauth, params: { provider: 'google' }
+
+ expect(response).to redirect_to(root_path)
+ end
+
+ context 'twitter deprecation' do
+ it "should not allow new user sign up with omniauth twitter" do
request.env["omniauth.auth"] = OmniAuth.config.mock_auth[:twitter]
get :omniauth, params: { provider: :twitter }
- u = User.last
- expect(u.provider).to eql("twitter")
- expect(u.email).to eql("user@twitter.com")
- expect(@request.session[:user_id]).to eql(u.id)
+ expect(response).to redirect_to(root_path)
+ expect(flash[:alert]).to eq(I18n.t("registration.deprecated.twitter_signup"))
end
- it "should create and login user with omniauth bn launcher" do
- request.env["omniauth.auth"] = OmniAuth.config.mock_auth[:bn_launcher]
- get :omniauth, params: { provider: 'bn_launcher' }
+ it "should notify twitter users that twitter is deprecated" do
+ allow(Rails.configuration).to receive(:allow_user_signup).and_return(true)
+ twitter_user = User.create(name: "Twitter User", email: "user@twitter.com", image: "example.png",
+ username: "twitteruser", email_verified: true, provider: 'twitter', social_uid: "twitter-user")
- u = User.last
- expect(u.provider).to eql("customer1")
- expect(u.email).to eql("user@google.com")
- expect(@request.session[:user_id]).to eql(u.id)
- end
-
- it "should redirect to root on invalid omniauth login" do
- request.env["omniauth.auth"] = :invalid_credentials
+ request.env["omniauth.auth"] = OmniAuth.config.mock_auth[:twitter]
get :omniauth, params: { provider: :twitter }
- expect(response).to redirect_to(root_path)
+ expect(flash[:alert]).to eq(I18n.t("registration.deprecated.twitter_signin",
+ link: signup_path(old_twitter_user_id: twitter_user.id)))
end
- it "should not create session without omniauth env set for google" do
- get :omniauth, params: { provider: 'google' }
+ it "should migrate rooms from the twitter account to the google account" do
+ twitter_user = User.create(name: "Twitter User", email: "user@twitter.com", image: "example.png",
+ username: "twitteruser", email_verified: true, provider: 'twitter', social_uid: "twitter-user")
- expect(response).to redirect_to(root_path)
+ room = Room.new(name: "Test")
+ room.owner = twitter_user
+ room.save!
+
+ request.env["omniauth.auth"] = OmniAuth.config.mock_auth[:google]
+ get :omniauth, params: { provider: :google }, session: { old_twitter_user_id: twitter_user.id }
+
+ u = User.last
+ expect(u.provider).to eql("google")
+ expect(u.email).to eql("user@google.com")
+ expect(@request.session[:user_id]).to eql(u.id)
+ expect(u.rooms.count).to eq(3)
+ expect(u.rooms.find { |r| r.name == "Old Home Room" }).to_not be_nil
+ expect(u.rooms.find { |r| r.name == "Test" }).to_not be_nil
+ end
+ end
+
+ context 'registration notification emails' do
+ before do
+ allow(Rails.configuration).to receive(:enable_email_verification).and_return(true)
+ @user = create(:user, provider: "greenlight")
+ @admin = create(:user, provider: "greenlight", email: "test@example.com")
+ @admin.add_role :admin
end
- context 'registration notification emails' do
- before do
- allow(Rails.configuration).to receive(:enable_email_verification).and_return(true)
- @user = create(:user, provider: "greenlight")
- @admin = create(:user, provider: "greenlight", email: "test@example.com")
- @admin.add_role :admin
- end
+ it "should notify admin on new user signup with approve/reject registration" do
+ allow_any_instance_of(Registrar).to receive(:approval_registration).and_return(true)
- it "should notify admin on new user signup with approve/reject registration" do
- allow_any_instance_of(Registrar).to receive(:approval_registration).and_return(true)
+ request.env["omniauth.auth"] = OmniAuth.config.mock_auth[:bn_launcher]
- request.env["omniauth.auth"] = OmniAuth.config.mock_auth[:bn_launcher]
+ expect { get :omniauth, params: { provider: 'bn_launcher' } }
+ .to change { ActionMailer::Base.deliveries.count }.by(1)
+ end
- expect { get :omniauth, params: { provider: 'bn_launcher' } }
- .to change { ActionMailer::Base.deliveries.count }.by(1)
- end
+ it "should notify admin on new user signup with invite registration" do
+ allow_any_instance_of(Registrar).to receive(:invite_registration).and_return(true)
- it "should notify admin on new user signup with invite registration" do
- allow_any_instance_of(Registrar).to receive(:invite_registration).and_return(true)
+ invite = Invitation.create(email: "user@google.com", provider: "greenlight")
+ @request.session[:invite_token] = invite.invite_token
- invite = Invitation.create(email: "user@google.com", provider: "greenlight")
- @request.session[:invite_token] = invite.invite_token
+ request.env["omniauth.auth"] = OmniAuth.config.mock_auth[:bn_launcher]
- request.env["omniauth.auth"] = OmniAuth.config.mock_auth[:bn_launcher]
-
- expect { get :omniauth, params: { provider: 'bn_launcher' } }
- .to change { ActionMailer::Base.deliveries.count }.by(1)
- end
+ expect { get :omniauth, params: { provider: 'bn_launcher' } }
+ .to change { ActionMailer::Base.deliveries.count }.by(1)
end
end
@@ -261,4 +336,41 @@ describe SessionsController, type: :controller do
expect(response).to redirect_to(root_path)
end
end
+
+ describe "POST #ldap" do
+ it "should create and login a user with a ldap login" do
+ entry = Net::LDAP::Entry.new("cn=Test User,ou=people,dc=planetexpress,dc=com")
+ entry[:cn] = "Test User"
+ entry[:givenName] = "Test"
+ entry[:sn] = "User"
+ entry[:mail] = "test@example.com"
+ allow_any_instance_of(Net::LDAP).to receive(:bind_as).and_return([entry])
+
+ post :ldap, params: {
+ session: {
+ user: "test",
+ password: 'password',
+ },
+ }
+
+ u = User.last
+ expect(u.provider).to eql("ldap")
+ expect(u.email).to eql("test@example.com")
+ expect(@request.session[:user_id]).to eql(u.id)
+ end
+
+ it "should redirect to signin on invalid credentials" do
+ allow_any_instance_of(Net::LDAP).to receive(:bind_as).and_return(false)
+
+ post :ldap, params: {
+ session: {
+ user: "test",
+ password: 'passwor',
+ },
+ }
+
+ expect(response).to redirect_to(ldap_signin_path)
+ expect(flash[:alert]).to eq(I18n.t("invalid_credentials"))
+ end
+ end
end
diff --git a/spec/controllers/users_controller_spec.rb b/spec/controllers/users_controller_spec.rb
index 5622dcb1..42bc6103 100644
--- a/spec/controllers/users_controller_spec.rb
+++ b/spec/controllers/users_controller_spec.rb
@@ -387,4 +387,12 @@ describe UsersController, type: :controller do
expect(response).to redirect_to(root_path)
end
end
+
+ context 'GET #ldap_signin' do
+ it "should render the ldap signin page" do
+ get :ldap_signin
+
+ expect(response).to render_template(:ldap_signin)
+ end
+ end
end
diff --git a/vendor/assets/images/colourPicker/blank.gif b/vendor/assets/images/colourPicker/blank.gif
deleted file mode 100644
index 75b945d2..00000000
Binary files a/vendor/assets/images/colourPicker/blank.gif and /dev/null differ
diff --git a/vendor/assets/images/colourPicker/colorpicker_background.png b/vendor/assets/images/colourPicker/colorpicker_background.png
deleted file mode 100644
index 8401572f..00000000
Binary files a/vendor/assets/images/colourPicker/colorpicker_background.png and /dev/null differ
diff --git a/vendor/assets/images/colourPicker/colorpicker_hex.png b/vendor/assets/images/colourPicker/colorpicker_hex.png
deleted file mode 100644
index 4e532d7c..00000000
Binary files a/vendor/assets/images/colourPicker/colorpicker_hex.png and /dev/null differ
diff --git a/vendor/assets/images/colourPicker/colorpicker_hsb_b.png b/vendor/assets/images/colourPicker/colorpicker_hsb_b.png
deleted file mode 100644
index dfac595d..00000000
Binary files a/vendor/assets/images/colourPicker/colorpicker_hsb_b.png and /dev/null differ
diff --git a/vendor/assets/images/colourPicker/colorpicker_hsb_h.png b/vendor/assets/images/colourPicker/colorpicker_hsb_h.png
deleted file mode 100644
index 3977ed9f..00000000
Binary files a/vendor/assets/images/colourPicker/colorpicker_hsb_h.png and /dev/null differ
diff --git a/vendor/assets/images/colourPicker/colorpicker_hsb_s.png b/vendor/assets/images/colourPicker/colorpicker_hsb_s.png
deleted file mode 100644
index a2a69973..00000000
Binary files a/vendor/assets/images/colourPicker/colorpicker_hsb_s.png and /dev/null differ
diff --git a/vendor/assets/images/colourPicker/colorpicker_indic.gif b/vendor/assets/images/colourPicker/colorpicker_indic.gif
deleted file mode 100644
index f9fa95e2..00000000
Binary files a/vendor/assets/images/colourPicker/colorpicker_indic.gif and /dev/null differ
diff --git a/vendor/assets/images/colourPicker/colorpicker_overlay.png b/vendor/assets/images/colourPicker/colorpicker_overlay.png
deleted file mode 100644
index 561cdd9c..00000000
Binary files a/vendor/assets/images/colourPicker/colorpicker_overlay.png and /dev/null differ
diff --git a/vendor/assets/images/colourPicker/colorpicker_rgb_b.png b/vendor/assets/images/colourPicker/colorpicker_rgb_b.png
deleted file mode 100644
index dfac595d..00000000
Binary files a/vendor/assets/images/colourPicker/colorpicker_rgb_b.png and /dev/null differ
diff --git a/vendor/assets/images/colourPicker/colorpicker_rgb_g.png b/vendor/assets/images/colourPicker/colorpicker_rgb_g.png
deleted file mode 100644
index 72b32760..00000000
Binary files a/vendor/assets/images/colourPicker/colorpicker_rgb_g.png and /dev/null differ
diff --git a/vendor/assets/images/colourPicker/colorpicker_rgb_r.png b/vendor/assets/images/colourPicker/colorpicker_rgb_r.png
deleted file mode 100644
index 4855fe03..00000000
Binary files a/vendor/assets/images/colourPicker/colorpicker_rgb_r.png and /dev/null differ
diff --git a/vendor/assets/images/colourPicker/colorpicker_select.gif b/vendor/assets/images/colourPicker/colorpicker_select.gif
deleted file mode 100644
index 599f7f13..00000000
Binary files a/vendor/assets/images/colourPicker/colorpicker_select.gif and /dev/null differ
diff --git a/vendor/assets/images/colourPicker/colorpicker_submit.png b/vendor/assets/images/colourPicker/colorpicker_submit.png
deleted file mode 100644
index 05a46f47..00000000
Binary files a/vendor/assets/images/colourPicker/colorpicker_submit.png and /dev/null differ
diff --git a/vendor/assets/images/colourPicker/custom_background.png b/vendor/assets/images/colourPicker/custom_background.png
deleted file mode 100644
index cf55ffdd..00000000
Binary files a/vendor/assets/images/colourPicker/custom_background.png and /dev/null differ
diff --git a/vendor/assets/images/colourPicker/custom_hex.png b/vendor/assets/images/colourPicker/custom_hex.png
deleted file mode 100644
index 888f4444..00000000
Binary files a/vendor/assets/images/colourPicker/custom_hex.png and /dev/null differ
diff --git a/vendor/assets/images/colourPicker/custom_hsb_b.png b/vendor/assets/images/colourPicker/custom_hsb_b.png
deleted file mode 100644
index 2f99dae8..00000000
Binary files a/vendor/assets/images/colourPicker/custom_hsb_b.png and /dev/null differ
diff --git a/vendor/assets/images/colourPicker/custom_hsb_h.png b/vendor/assets/images/colourPicker/custom_hsb_h.png
deleted file mode 100644
index a217e921..00000000
Binary files a/vendor/assets/images/colourPicker/custom_hsb_h.png and /dev/null differ
diff --git a/vendor/assets/images/colourPicker/custom_hsb_s.png b/vendor/assets/images/colourPicker/custom_hsb_s.png
deleted file mode 100644
index 7826b415..00000000
Binary files a/vendor/assets/images/colourPicker/custom_hsb_s.png and /dev/null differ
diff --git a/vendor/assets/images/colourPicker/custom_indic.gif b/vendor/assets/images/colourPicker/custom_indic.gif
deleted file mode 100644
index 222fb94c..00000000
Binary files a/vendor/assets/images/colourPicker/custom_indic.gif and /dev/null differ
diff --git a/vendor/assets/images/colourPicker/custom_rgb_b.png b/vendor/assets/images/colourPicker/custom_rgb_b.png
deleted file mode 100644
index 80764e5d..00000000
Binary files a/vendor/assets/images/colourPicker/custom_rgb_b.png and /dev/null differ
diff --git a/vendor/assets/images/colourPicker/custom_rgb_g.png b/vendor/assets/images/colourPicker/custom_rgb_g.png
deleted file mode 100644
index fc9778be..00000000
Binary files a/vendor/assets/images/colourPicker/custom_rgb_g.png and /dev/null differ
diff --git a/vendor/assets/images/colourPicker/custom_rgb_r.png b/vendor/assets/images/colourPicker/custom_rgb_r.png
deleted file mode 100644
index 91b0cd4c..00000000
Binary files a/vendor/assets/images/colourPicker/custom_rgb_r.png and /dev/null differ
diff --git a/vendor/assets/images/colourPicker/custom_submit.png b/vendor/assets/images/colourPicker/custom_submit.png
deleted file mode 100644
index cd202cd9..00000000
Binary files a/vendor/assets/images/colourPicker/custom_submit.png and /dev/null differ
diff --git a/vendor/assets/images/colourPicker/select.png b/vendor/assets/images/colourPicker/select.png
deleted file mode 100644
index 21213bfd..00000000
Binary files a/vendor/assets/images/colourPicker/select.png and /dev/null differ
diff --git a/vendor/assets/images/colourPicker/select2.png b/vendor/assets/images/colourPicker/select2.png
deleted file mode 100644
index 2cd2cabe..00000000
Binary files a/vendor/assets/images/colourPicker/select2.png and /dev/null differ
diff --git a/vendor/assets/images/colourPicker/slider.png b/vendor/assets/images/colourPicker/slider.png
deleted file mode 100644
index 8b03da96..00000000
Binary files a/vendor/assets/images/colourPicker/slider.png and /dev/null differ
diff --git a/vendor/assets/javascripts/colorpicker.js b/vendor/assets/javascripts/colorpicker.js
deleted file mode 100644
index 45f56ced..00000000
--- a/vendor/assets/javascripts/colorpicker.js
+++ /dev/null
@@ -1,484 +0,0 @@
-/**
- *
- * Color picker
- * Author: Stefan Petre www.eyecon.ro
- *
- * Dual licensed under the MIT and GPL licenses
- *
- */
-(function ($) {
- var ColorPicker = function () {
- var
- ids = {},
- inAction,
- charMin = 65,
- visible,
- tpl = '