3 constructor: (options) ->
\r
4 @operators = options.operators
\r
6 _.extend(this, Backbone.Events)
\r
8 local_router: (parsed_callback) ->
\r
9 local_router = new Pettanr.LocalRouter({operators: @operators})
\r
10 @listenTo(local_router, 'go', parsed_callback)
\r
11 @listenTo(local_router, 'deny', @deny)
\r
12 @listenTo(local_router, 'cancel', @cancel)
\r
15 http_get: (url, form) ->
\r
16 @local_router(@get).navigate(url, form)
\r
18 get: (params, form) ->
\r
19 return if !@test(params, form)
\r
20 controller = Pettanr.AppController.new2(params, form, @operators, @gate)
\r
21 @listenTo(controller, 'ready', @ready)
\r
22 @listenTo(controller, 'title', @title)
\r
23 @listenTo(controller, 'done', @done)
\r
24 @listenTo(controller, 'lock', @lock)
\r
25 @listenTo(controller, 'unlock', @unlock)
\r
26 action_name = params['action']
\r
27 controller[action_name]()
\r
29 test: (params, form) ->
\r
30 return true if !@gate
\r
42 Backbone.history.navigate('/' + @gate.url(), {trigger: false})
\r
46 @trigger('ready', view)
\r
48 title: (params, str) ->
\r
49 @trigger('title', params, str)
\r
52 @trigger('done', params)
\r
54 lock: (params, form) ->
\r
55 @trigger('lock', params, form)
\r
57 unlock: (params, form) ->
\r
58 @trigger('unlock', params, form)
\r
60 deny: (params, form, safe_url) ->
\r
61 @trigger('deny', params, form, safe_url)
\r
66 http_post: (url, form) ->
\r
67 @local_router(@post).navigate(url, form)
\r
69 post: (params, form) ->
\r
70 controller = Pettanr.AppController.new2(params, form, @operators)
\r
71 @listenTo(controller, 'success', @success)
\r
72 @listenTo(controller, 'fail', @fail)
\r
73 @listenTo(controller, 'redirect', @redirect)
\r
74 @listenTo(controller, 'sign_in', @sign_in)
\r
75 @listenTo(controller, 'sign_out', @sign_out)
\r
76 @listenTo(controller, 'lock', @lock)
\r
77 @listenTo(controller, 'unlock', @unlock)
\r
78 action_name = params['action']
\r
79 controller[action_name]()
\r
81 success: (model, response) ->
\r
82 @trigger('success', model, response)
\r
85 @trigger('fail', response)
\r
87 redirect: (new_url) ->
\r
88 @trigger('redirect', new_url)
\r
91 @trigger('sign_in', user)
\r
94 @trigger('sign_out')
\r