diff --git a/app/assets/stylesheets/application.scss b/app/assets/stylesheets/application.scss index 09534506..60b489b9 100644 --- a/app/assets/stylesheets/application.scss +++ b/app/assets/stylesheets/application.scss @@ -45,12 +45,16 @@ a { height: $header-height; } -.page { +.wrapper { position: relative; height: auto; min-height: calc(100% - #{$header-height} - #{$footer-height}); } +.flex-center { + transform: translateY(25%); +} + .footer { height: $footer-height; width: 100%; diff --git a/app/models/room.rb b/app/models/room.rb index 2b7a7fc4..bc439f8a 100644 --- a/app/models/room.rb +++ b/app/models/room.rb @@ -163,7 +163,7 @@ class Room < ApplicationRecord # Generates a random room uid that uses the users name. def random_room_uid - [owner.firstname, uid_chunk, uid_chunk].join('-').downcase + [owner.name_chunk, uid_chunk, uid_chunk].join('-').downcase end # Rereives the loadbalanced BigBlueButton credentials for a user. diff --git a/app/models/user.rb b/app/models/user.rb index c672182f..88f253a3 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -7,10 +7,10 @@ class User < ApplicationRecord has_many :rooms belongs_to :main_room, class_name: 'Room', foreign_key: :room_id, required: false - validates :name, length: { maximum: 32 }, presence: true + validates :name, length: { maximum: 256 }, presence: true validates :provider, presence: true validates :image, format: { with: /\.(png|jpg)\Z/i }, allow_blank: true - validates :email, length: { maximum: 60 }, allow_blank: true, + validates :email, length: { maximum: 256 }, allow_blank: true, uniqueness: { case_sensitive: false }, format: { with: /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i } @@ -73,8 +73,8 @@ class User < ApplicationRecord sorted + no_session end - def firstname - name.split(' ').first + def name_chunk + name[0...3].downcase end def greenlight_account? @@ -86,7 +86,7 @@ class User < ApplicationRecord # Initializes a room for the user and assign a BigBlueButton user id. def initialize_main_room self.uid = "gl-#{(0...12).map { (65 + rand(26)).chr }.join.downcase}" - self.main_room = Room.create!(owner: self, name: firstname + "'s Room") + self.main_room = Room.create!(owner: self, name: I18n.t("home_room")) save end end diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index 07792839..0c22ad8c 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -18,9 +18,9 @@ - <%= render "shared/header" %> + <%= render "shared/header" %> -
+
<% if bigbluebutton_endpoint_default? %> <%= render "shared/error_banner" do %> diff --git a/app/views/main/index.html.erb b/app/views/main/index.html.erb index d6900b29..93a752a9 100644 --- a/app/views/main/index.html.erb +++ b/app/views/main/index.html.erb @@ -6,7 +6,7 @@ <% end %> <% end %> -
+

<%= t("landing.welcome").html_safe %>

diff --git a/app/views/shared/_room_event.html.erb b/app/views/shared/_room_event.html.erb index 3108c266..5f03cf2c 100644 --- a/app/views/shared/_room_event.html.erb +++ b/app/views/shared/_room_event.html.erb @@ -15,7 +15,7 @@ <% else %> <% end %> -
<%= @room.owner.name %> (<%= t("room.invited") %>)
+
<%= @room.owner.name %> (<%= t("room.owner") %>)
diff --git a/config/locales/en.yml b/config/locales/en.yml index 21a963c1..edd5cedf 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -39,16 +39,17 @@ en: create_room: Create Room dropdown: help: Need help? - home: Home room + home: Home Room settings: Settings signout: Sign out + home_room: Home Room info_update_success: Information successfully updated. invalid_credentials: Login failed due to invalid credentials. Are you sure you entered them correctly? invite_message: "To invite someone to the meeting, send them this link:" landing: about: Greenlight is a simple front-end for your %{href} open-source web conferencing server. You can create your own rooms to host sessions, or join others using a short and convenient link. welcome: Welcome to Greenlight. - video: Checkout our tutorial on using Greenlight + 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. ldap_error: Unable to connect to the LDAP server. Please check your LDAP configuration in the env file and ensure your server is running. diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index c8257dda..a204bbab 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -9,12 +9,12 @@ describe User, type: :model do context 'validations' do it { should validate_presence_of(:name) } - it { should validate_length_of(:name).is_at_most(32) } + it { should validate_length_of(:name).is_at_most(256) } it { should validate_presence_of(:provider) } it { should validate_uniqueness_of(:email).case_insensitive } - it { should validate_length_of(:email).is_at_most(60) } + it { should validate_length_of(:email).is_at_most(256) } it { should allow_value("", nil).for(:email) } it { should allow_value("valid@email.com").for(:email) } it { should_not allow_value("invalid_email").for(:email) } @@ -85,10 +85,10 @@ describe User, type: :model do end end - context '#first_name' do - it 'properly finds the users first name' do + context '#name_chunk' do + it 'properly finds the first three characters of the users name' do user = create(:user, name: "Example User") - expect(user.firstname).to eq("Example") + expect(user.name_chunk).to eq("exa") end end end