GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.
Completed
Branch v2.4-alpha (96ace3)
by Jesus
07:14
created

ApplicationHelper.google_analytics_url()   A

Complexity

Conditions 1

Size

Total Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
# frozen_string_literal: true
2
3
# BigBlueButton open source conferencing system - http://www.bigbluebutton.org/.
4
#
5
# Copyright (c) 2018 BigBlueButton Inc. and by respective authors (see below).
6
#
7
# This program is free software; you can redistribute it and/or modify it under the
8
# terms of the GNU Lesser General Public License as published by the Free Software
9
# Foundation; either version 3.0 of the License, or (at your option) any later
10
# version.
11
#
12
# BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY
13
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
14
# PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
15
#
16
# You should have received a copy of the GNU Lesser General Public License along
17
# with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
18
19
require 'bbb_api'
20
require 'i18n/language/mapping'
21
22
module ApplicationHelper
23
  include MeetingsHelper
24
  include BbbApi
25
  include I18n::Language::Mapping
26
27
  # Gets all configured omniauth providers.
28
  def configured_providers
29
    Rails.configuration.providers.select do |provider|
30
      Rails.configuration.send("omniauth_#{provider}")
31
    end
32
  end
33
34
  # Determines which providers can show a login button in the login modal.
35
  def iconset_providers
36
    providers = configured_providers & [:google, :twitter, :office365, :ldap]
37
38
    providers.delete(:twitter) if session[:old_twitter_user_id]
39
40
    providers
41
  end
42
43
  # Generates the login URL for a specific provider.
44
  def omniauth_login_url(provider)
45
    if provider == :ldap
46
      ldap_signin_path
47
    else
48
      "#{Rails.configuration.relative_url_root}/auth/#{provider}"
49
    end
50
  end
51
52
  # Determine if Greenlight is configured to allow user signups.
53
  def allow_user_signup?
54
    Rails.configuration.allow_user_signup
55
  end
56
57
  # Determines if the BigBlueButton endpoint is the default.
58
  def bigbluebutton_endpoint_default?
59
    Rails.configuration.bigbluebutton_endpoint_default == Rails.configuration.bigbluebutton_endpoint
60
  end
61
62
  # Returns language selection options
63
  def language_options
64
    locales = I18n.available_locales
65
    language_opts = [['<<<< ' + t("language_default") + ' >>>>', "default"]]
66
    locales.each do |locale|
67
      language_mapping = I18n::Language::Mapping.language_mapping_list[locale.to_s.gsub("_", "-")]
68
      language_opts.push([language_mapping["nativeName"], locale.to_s])
69
    end
70
    language_opts.sort
71
  end
72
73
  # Parses markdown for rendering.
74
  def markdown(text)
75
    markdown = Redcarpet::Markdown.new(Redcarpet::Render::HTML,
76
      no_intra_emphasis: true,
77
      fenced_code_blocks: true,
78
      disable_indented_code_blocks: true,
79
      autolink: true,
80
      tables: true,
81
      underline: true,
82
      highlight: true)
83
84
    markdown.render(text).html_safe
85
  end
86
87
  def allow_greenlight_accounts?
88
    return Rails.configuration.allow_user_signup unless Rails.configuration.loadbalanced_configuration
89
    return false unless @user_domain && !@user_domain.empty? && Rails.configuration.allow_user_signup
90
    return false if @user_domain == "greenlight"
91
    # Proceed with retrieving the provider info
92
    begin
93
      provider_info = retrieve_provider_info(@user_domain, 'api2', 'getUserGreenlightCredentials')
94
      provider_info['provider'] == 'greenlight'
95
    rescue => e
96
      logger.info e
97
      false
98
    end
99
  end
100
101
  # Return all the translations available in the client side through javascript
102
  def current_translations
103
    @translations ||= I18n.backend.send(:translations)
104
    @translations[I18n.locale].with_indifferent_access[:javascript] || {}
105
  end
106
107
  # Returns the page that the logo redirects to when clicked on
108
  def home_page
109
    return root_path unless current_user
110
    return admins_path if current_user.has_role? :super_admin
111
    current_user.main_room
112
  end
113
114
  def role_colour(role)
115
    role.colour || Rails.configuration.primary_color_default
116
  end
117
118
  def translated_role_name(role)
119
    if role.name == "denied"
120
      I18n.t("roles.banned")
121
    elsif role.name == "pending"
122
      I18n.t("roles.pending")
123
    elsif role.name == "admin"
124
      I18n.t("roles.admin")
125
    elsif role.name == "user"
126
      I18n.t("roles.user")
127
    else
128
      role.name
129
    end
130
  end
131
132
  def can_reset_password
133
    # Check if admin is editting user and user is a greenlight account
134
    Rails.configuration.enable_email_verification &&
135
      Rails.application.routes.recognize_path(request.env['PATH_INFO'])[:action] == "edit_user" &&
136
      @user.greenlight_account?
137
  end
138
139
  def google_analytics_url
140
    "https://www.googletagmanager.com/gtag/js?id=#{ENV['GOOGLE_ANALYTICS_TRACKING_ID']}"
141
  end
142
end
143