3 constructor: (options) ->
\r
5 _.extend(this, Backbone.Events)
\r
7 local_router: (parsed_callback) ->
\r
8 local_router = new Pettanr.LocalRouter({})
\r
9 @listenTo(local_router, 'go', parsed_callback)
\r
12 http_get: (url, form) ->
\r
13 @local_router(@get).navigate(url, form)
\r
15 get: (params, form) ->
\r
16 return if !@test(params, form)
\r
17 return if !@filter(params, form)
\r
18 controller = Pettanr.AppController.new2(params, form, @gate)
\r
19 @add_get_listener(controller)
\r
20 action_name = params['action']
\r
21 controller[action_name]()
\r
23 add_get_listener: (controller) ->
\r
24 @listenTo(controller, 'ready', @ready)
\r
25 @listenTo(controller, 'title', @title)
\r
26 @listenTo(controller, 'done', @done)
\r
27 @listenTo(controller, 'other', @other)
\r
28 @listenTo(controller, 'deny', @remote_folder_deny)
\r
29 @listenTo(controller, 'lock', @lock)
\r
30 @listenTo(controller, 'unlock', @unlock)
\r
32 test: (params, form) ->
\r
33 return true if !@gate
\r
45 Backbone.history.navigate('/' + @gate.url(), {trigger: false})
\r
46 @trigger('cancel', params, form)
\r
49 filter: (params, form) ->
\r
50 if safe_url = Pettanr.ActionFilter.test(params)
\r
51 @trigger('deny', params, form, safe_url)
\r
57 @trigger('ready', view)
\r
59 title: (params, str) ->
\r
60 @trigger('title', params, str)
\r
63 @trigger('done', params)
\r
66 @local_router(@get).navigate(url)
\r
68 lock: (params, form) ->
\r
69 @trigger('lock', params, form)
\r
71 unlock: (params, form) ->
\r
72 @trigger('unlock', params, form)
\r
74 deny: (params, form, safe_url) ->
\r
75 @trigger('deny', params, form, safe_url)
\r
77 remote_folder_deny: (params, form, safe_url) ->
\r
78 @trigger('deny', params, form, safe_url)
\r
80 http_post: (url, form) ->
\r
81 @local_router(@post).navigate(url, form)
\r
83 post: (params, form) ->
\r
84 controller = Pettanr.AppController.new2(params, form)
\r
85 @listenTo(controller, 'success', @success)
\r
86 @listenTo(controller, 'fail', @fail)
\r
87 @listenTo(controller, 'redirect', @redirect)
\r
88 @listenTo(controller, 'sign_in', @sign_in)
\r
89 @listenTo(controller, 'sign_out', @sign_out)
\r
90 @listenTo(controller, 'lock', @lock)
\r
91 @listenTo(controller, 'unlock', @unlock)
\r
92 action_name = params['action']
\r
93 controller[action_name]()
\r
95 success: (model, response) ->
\r
96 @trigger('success', model, response)
\r
99 @trigger('fail', response)
\r
101 redirect: (new_url) ->
\r
102 @trigger('redirect', new_url)
\r
105 @trigger('sign_in', user)
\r
108 @trigger('sign_out')
\r
110 class Pettanr.PickerProxy extends Pettanr.Proxy
\r
112 constructor: (options) ->
\r
115 get: (params, form) ->
\r
116 if @is_deny(params)
\r
117 alert("editor can't open on pick window")
\r
119 super(params, form)
\r
121 is_deny: (params) ->
\r
122 c = Pettanr.AppController.controller_by_name(params['controller'])
\r
123 return false if !c['is_deny_action_on_picker']
\r
124 c.is_deny_action_on_picker(params)
\r
126 class Pettanr.PublisherProxy extends Pettanr.Proxy
\r
128 add_get_listener: (controller) ->
\r
130 # dialog send success message on select lisence_group select-box
\r
131 @listenTo(controller, 'next', @next)
\r
132 # dialog send success message on opl submit button
\r
135 @trigger('next', opl)
\r