allow auth plugins to have a site setting for if they should be full screen vs popup window

This commit is contained in:
Nick Shearer 2018-07-25 18:07:39 -05:00
parent e42038eae2
commit def2c977ce
2 changed files with 14 additions and 2 deletions

View File

@ -47,7 +47,17 @@ const LoginMethod = Ember.Object.extend({
customLogin();
} else {
let authUrl = this.get("customUrl") || Discourse.getURL("/auth/" + name);
if (this.get("fullScreenLogin")) {
// first check if this plugin has a site setting for full screen login before using the static setting
let fullScreenLogin = false;
const fullScreenLoginSetting = this.get("fullScreenLoginSetting");
if (!Ember.isEmpty(fullScreenLoginSetting)) {
fullScreenLogin = this.siteSettings[fullScreenLoginSetting];
} else {
fullScreenLogin = this.get("fullScreenLogin")
}
if (fullScreenLogin) {
document.cookie = "fsl=true";
window.location = authUrl;
} else {

View File

@ -2,7 +2,8 @@ class Plugin::AuthProvider
def self.auth_attributes
[:glyph, :background_color, :pretty_name, :title, :message, :frame_width, :frame_height, :authenticator,
:pretty_name_setting, :title_setting, :enabled_setting, :full_screen_login, :custom_url]
:pretty_name_setting, :title_setting, :enabled_setting, :full_screen_login, :full_screen_login_setting,
:custom_url]
end
attr_accessor(*auth_attributes)
@ -23,6 +24,7 @@ class Plugin::AuthProvider
result['frameWidth'] = frame_width if frame_width
result['frameHeight'] = frame_height if frame_height
result['fullScreenLogin'] = full_screen_login if full_screen_login
result['fullScreenLoginSetting'] = full_screen_login_setting if full_screen_login_setting
result.to_json
end