class Pettanr.AppController\r
\r
- constructor: (@params, @operators) ->\r
+ constructor: (@params, @form, @operators) ->\r
_.extend(this, Backbone.Events)\r
\r
- @new2: (params, operators) ->\r
+ @new2: (params, form, operators) ->\r
c = Pettanr[Pettanr.camelize(params['controller']) + 'Controller']\r
- new c(params, operators)\r
- \r
- @fire: (params, operators, refresh_function) ->\r
- controller = Pettanr.AppController.new2(params, operators)\r
- @listener_function(controller, refresh_function)\r
- action_name = params['action']\r
- controller[action_name]()\r
+ new c(params, form, operators)\r
\r
set_model: () ->\r
@my_controller = Manifest.manifest().controllers[@params['controller']]\r
@listenTo(profiler, 'navigate', @navigate)\r
profiler.render()\r
@trigger('ready', profiler)\r
- @trigger('retitle', @params)\r
+ @trigger('title', @params)\r
\r
set_new: () ->\r
@set_model()\r
# Backbone.Model has defaults property\r
#@item.supply_default()\r
\r
- set_edit: (save_func) ->\r
+ set_edit: () ->\r
@set_model()\r
@item = new @my_model_class({id: @params['id']})\r
@item.fetch({cache: true}).done =>\r
@item.boosts 'post'\r
- @render_form(save_func)\r
+ @render_form()\r
\r
render_form: () ->\r
@form = Locmare.Form.factory({\r
operators: @operators,\r
action: '/' + @item.table_name() + '/' + Pettanr.to_s(@item.get('id'))\r
})\r
- @listenTo(@form, 'post', @create)\r
- @listenTo(@form, 'put', @update)\r
@form.render()\r
@trigger('ready', @form)\r
\r
form_edit: () ->\r
@set_edit()\r
\r
+ post_success: (model, response) ->\r
+ @trigger('redirect', @form.item.show_url())\r
+ @trigger('success', model, response)\r
+ \r
+ post_fail: (model, response) ->\r
+ @trigger('fail', response)\r
+ \r
+ destroy_success: (model, response) ->\r
+ @trigger('redirect', '/home/' + model.path_name())\r
+ @trigger('success', model, response)\r
+ \r
+ destroy_fail: (model, response) ->\r
+ @trigger('fail', response)\r
+ \r
navigate: (url) ->\r
@trigger('navigate', url)\r
\r