basic authentication stuff

This commit is contained in:
2014-04-06 15:02:53 +02:00
parent 07830df9dd
commit dd8f0df6d2
16 changed files with 128 additions and 56 deletions
@@ -1,6 +1,18 @@
#FB.init appId: '168928633304849'
#Ember.Application.initializer
#name: 'authentication',
#initialize: (container, application)->
## register the Facebook authenticator so the session can find it
#container.register 'authenticators:facebook', App.FacebookAuthenticator
#Ember.SimpleAuth.setup(container, application)
@App = Ember.Application.create
LOG_TRANSITIONS: true
rootElement: '#ember-app-container'
obtain_token: (message)->
message ||= ''
window.location = "#{$root_url}/obtain_token?message=#{message}"
Ember.$.ajaxPrefilter (options) ->
if options.type.toUpperCase() == 'GET'
@@ -14,6 +14,10 @@ App.ProductOrdersController = Ember.ArrayController.extend
order = @store.createRecord('order', list: list, table: table)
new_product_orders = @store.all('product_order').filterProperty('order', null)
order.get('product_orders').pushObjects(new_product_orders)
#error = @ajaxError (jqXHR)=>
#new_product_orders.invoke 'eraseRecord'
#@redirect_to 'index', message: 'order_could_not_be_processed'
order.save().then (response)=>
new_product_orders.invoke 'eraseRecord'
if @get('controllers.application.list')
@@ -22,10 +26,10 @@ App.ProductOrdersController = Ember.ArrayController.extend
# Get list info from the server
@get('controllers.application').setCurrentList ->
@transitionToRoute 'active_list'
, (jqXHR)=>
, @ajaxError (jqXHR)=>
debugger
new_product_orders.invoke 'eraseRecord'
@redirect_to 'index', message: 'order_could_not_be_processed'
#orders = @store.all('product_order').toArray()
#data = orders.map( (order)->order.serialize() )
#dataObject = {order: {}}
@@ -3,7 +3,7 @@ App.SelectQrcodeController = Ember.Controller.extend
selectQr: (table)->
Qstorage.setItem 'table_id', table._id
@secured ->
$.getJSON(data_host + '/user/table_info.json?'+@authentication_string+'&table_id='+table._id).then (res)=>
$.getJSON($data_host + '/user/table_info.json?'+@authentication_string+'&table_id='+table._id).then (res)=>
if res.current_table_id
if res.other_supplier
@redirect_to 'user_root', message: 'table_is_from_other_supplier'
@@ -24,7 +24,7 @@ App.TableController = Ember.ObjectController.extend
@store.createRecord 'product_order', product: product
joinOccupiedTable: ->
#@secured =>
$.post('/user/join_occupied_table.json', table_id: @get('model.id'))
Ember.$.post('/user/join_occupied_table.json', table_id: @get('model.id'))
@set 'join_request_sent', true # keeps the button deactivated
toggleProductCategory: (product_category)->
product_category.set 'collapsed', not product_category.get('collapsed')
@@ -1,8 +1,17 @@
ControllerExtensions = Ember.Mixin.create
ajaxError: (callback)->
handler = (jqXHR, textStatus, errorThrown)=>
console.log "Error: #{textStatus}: #{errorThrown}"
callback.call(@, jqXHR)
if jqXHR.status == 401
App.__container__.lookup('route:application').unauthorized()
handler
Ember.ArrayController.reopen ControllerExtensions
Ember.Controller.reopen
needs: ['application']
secured: (callback)->
unless Qstorage.getItem('auth_token') && typeof(Qstorage.getItem('auth_token')) == 'string' && Qstorage.getItem('auth_token').length > 0
return @transitionToRoute('obtain_token')
return App.obtain_token()
@authentication_string = 'auth_token='+Qstorage.getItem('auth_token')
@authentication_object = {auth_token: Qstorage.getItem('auth_token')}
callback.call(@) if callback
@@ -52,7 +61,7 @@ Ember.ArrayController.reopen
needs: ['application']
secured: (callback)->
unless Qstorage.getItem('auth_token') && typeof(Qstorage.getItem('auth_token')) == 'string' && Qstorage.getItem('auth_token').length > 0
return @transitionToRoute('obtain_token')
return App.obtain_token()
@authentication_string = 'auth_token='+Qstorage.getItem('auth_token')
@authentication_object = {auth_token: Qstorage.getItem('auth_token')}
callback.call(@) if callback
@@ -6,7 +6,7 @@ App.Router.reopen
App.Router.map ->
@route 'select_qrcode'
@route 'obtain_token'
#@route 'obtain_token'
@route 'active_list'
@route 'table', path: '/tables/:table_id'
@resource 'join_requests'
@@ -1,9 +1,10 @@
App.ApplicationRoute = Ember.Route.extend
setupController: (controller)->
#@controllerFor('product_orders').set 'model', @store.filter('product_order', (po)-> !po.get('order')) # does not work (yet)
debugger
@controllerFor('product_orders').set 'model', @store.filter('product_order', (po)-> !po.get('id'))
controller.secured ->
faye = new Faye.Client(event_host)
faye = new Faye.Client($event_host)
user_id = Qstorage.getItem('user_id')
faye.subscribe "/user/"+user_id, (e)=>
console.log e
@@ -13,8 +14,7 @@ App.ApplicationRoute = Ember.Route.extend
unauthorized: ->
Qstorage.setItem('auth_token', '')
@controllerFor('application').set 'list', null
@transitionTo('obtain_token').then =>
@controllerFor('application').set('notice', t('messages.unauthorized'))
App.obtain_token(t('messages.unauthorized'))
actions:
openModal: (modalName, model)->
@controllerFor(modalName).set('model', model)
@@ -33,12 +33,14 @@ App.ApplicationRoute = Ember.Route.extend
ok: options.ok
listNeedsPayment: ->
@get('controller').secured ->
$.post(data_host + '/user/list_needs_payment.json', @authentication_object).then (res) =>
@set('list.needs_payment', true)
Ember.$.post '/user/list_needs_payment.json'
#Ember.$.post('/user/list_needs_payment.json').then (res) =>
#@set('list.needs_payment', true) # also done by faye
listNeedsHelp: ->
@get('controller').secured ->
$.post(data_host + '/user/needs_help.json', @authentication_object).then (res) =>
@set('list.needs_help', true)
Ember.$.post '/user/needs_help.json'
#Ember.$.post('/user/needs_help.json').then (res) =>
#@set('list.needs_help', true) # also done by faye
scanQr: ->
@transitionTo 'select_qrcode'
events: ->