diff --git a/app/assets/javascripts/user/app/app.js.coffee b/app/assets/javascripts/user/app/app.js.coffee index e84ae8a5..0967c4ee 100644 --- a/app/assets/javascripts/user/app/app.js.coffee +++ b/app/assets/javascripts/user/app/app.js.coffee @@ -15,7 +15,23 @@ # frame = $('').addClass('obtain-token-frame').attr 'src', $obtain_token_url # frame.css width: $('body').outerWidth(), height: $('body').outerHeight() # $('body').append frame - window.location = "#{$obtain_token_url}" + # window.location = "#{$obtain_token_url}" + auth_win = window.open $obtain_token_url, "_blank", "location=no" + auth_win.addEventListener "loadstop", -> + # auth_win.executeScript(code: "localStorage.setItem( 'name', '' );") + watch_loop = setInterval -> + auth_win.executeScript {code: "localStorage.getItem( 'auth_token' )"}, (values)-> + token = values[0] + if token + clearInterval( watch_loop ) + auth_win.executeScript {code: "localStorage.setItem('auth_token', '');"} + auth_win.executeScript {code: "localStorage.getItem( 'user_id' )"}, (user_id_values)-> + user_id = user_id_values[0] + Qstorage.setItem 'user_id', user_id + Qstorage.setItem 'auth_token', token + auth_win.close() + , 200 + Ember.$.ajaxPrefilter (options) -> if options.type.toUpperCase() == 'GET' diff --git a/app/views/layouts/obtain_token.html.slim b/app/views/layouts/obtain_token.html.slim index 842875b0..46ba4bc9 100644 --- a/app/views/layouts/obtain_token.html.slim +++ b/app/views/layouts/obtain_token.html.slim @@ -1,9 +1,8 @@ doctype html html lang="en" head - meta charset="utf-8" meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1" - meta name="viewport" content="width=device-width, initial-scale=1.0" + meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" title= application_title / = stylesheet_link_tag 'obtain_token/application' / = csrf_meta_tags diff --git a/app/views/layouts/user/foundation.html.slim b/app/views/layouts/user/foundation.html.slim index 720f4ce1..a0ce68f7 100644 --- a/app/views/layouts/user/foundation.html.slim +++ b/app/views/layouts/user/foundation.html.slim @@ -16,7 +16,7 @@ html lang="en" var $event_host = '#{Qwaiter.event_host}'; var $asset_path = '##assets_path##'; var Qstorage = window.localStorage; - var Qstorage.setItem('root_url', '##root_url##'); + Qstorage.setItem('root_url', '##root_url##'); var $platform = '##platform##'; var $obtain_token_url = 'http://mozo.bar/user/obtain_token'; diff --git a/app/views/user/obtain_token.html.slim b/app/views/user/obtain_token.html.slim index d4470f64..d385825b 100644 --- a/app/views/user/obtain_token.html.slim +++ b/app/views/user/obtain_token.html.slim @@ -1,27 +1,14 @@ .row h1 data-t='obtain_token.title' = t('user.obtain_token.title') hr - /form - .form-row - .form-label - label.control-label data-t='attributes.user.email' = User.human_attribute_name(:email) - .form-field - input#user-email.email type="email" placeholder=User.human_attribute_name(:email) - .form-row - .form-label - label.control-label data-t='attributes.user.password' Password - .form-field - input#user-password.password type="password" placeholder="Password" - .form-row - .form-label - .form-field - button.btn.btn-primary data-t="obtain_token.obtain" onclick="Quser.authenticate_user(); return false" = t('user.obtain_token.obtain') -- unless current_user.blank? || ENV['QWAITER_MOBILE_EXPORT']=='yes' +- if current_user.present? + p Waiting for authentication to complete..... javascript: Qstorage = window.localStorage; Qstorage.setItem('auth_token', '#{current_user.authentication_token}'); Qstorage.setItem('user_id', '#{current_user.id}'); - window.location = (Qstorage.getItem('root_url') || '/user/index.html') + '?user_id=#{current_user.id}&auth_token=#{current_user.authentication_token}'; + if(window.opener && window.opener != window) window.close(); + // window.location = (Qstorage.getItem('root_url') || '/user/index.html') + '?user_id=#{current_user.id}&auth_token=#{current_user.authentication_token}'; // localStorage.setItem('auth_token', '#{current_user.authentication_token}'); // localStorage.setItem('user_id', '#{current_user.id}'); // window.location = $root_url + '?user_id=#{current_user.id}&auth_token=#{current_user.authentication_token}'; diff --git a/bin/build_mobile_app.rb b/bin/build_mobile_app.rb index 521908ed..6a94a680 100644 --- a/bin/build_mobile_app.rb +++ b/bin/build_mobile_app.rb @@ -13,10 +13,10 @@ include FileUtils Rails.application.routes.default_url_options = {format: 'html'} # append .html extension to asset paths rails_assets_path = Rails.root.join('public', 'assets') -android_root = '/Users/bterkuile/Documents/workspace/Qwaiter/assets' +android_root = '/Users/bterkuile/Documents/workspace/mozo/www' ios_root = '/Users/bterkuile/Documents/iOS/Qwaiter/www' -android_root_url = "file:///Users/bterkuile/Documents/workspace/Qwaiter/assets" +# android_root_url = "file:///Users/bterkuile/Documents/workspace/Qwaiter/assets" android_root_url = 'file:///android_asset' # Cleanup and setup android structure @@ -46,12 +46,14 @@ move rails_assets_path, File.join(android_root, 'assets') for css in Dir.glob(File.join(android_root, "**", "*.css")) contents = File.read(css) - contents.gsub!(/url\("/, %|url("#{android_root_url}|) - contents.gsub!(/url\(\//, %|url(#{android_root_url}/|) + # contents.gsub!(/url\("/, %|url("#{android_root_url}|) + # contents.gsub!(/url\(\//, %|url(#{android_root_url}/|) + contents.gsub!(/url\("\/assets\//, %|url("../|) + contents.gsub!(/url\(\/assets\//, %|url(../|) File.open(css, 'w'){|f| f.puts contents} end - +=begin uc = UserController.new class << uc def authenticate_user! @@ -86,7 +88,8 @@ for action in uc.action_methods #result.sub! /
/, '