X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=app%2Fassets%2Fjavascripts%2Fcontrollers.js.coffee;h=c97232517c39b4d91696868577702bcbeefe7b30;hb=b16d4899d5e7332f572a40ba1ca32250a7952413;hp=a431b1fef884531fd995fa4ef3e75d2fcdf15f0c;hpb=9ae789b099c612bc4ccde2915e397b3b2f7d2592;p=pettanr%2Fpettanr.git diff --git a/app/assets/javascripts/controllers.js.coffee b/app/assets/javascripts/controllers.js.coffee index a431b1fe..c9723251 100644 --- a/app/assets/javascripts/controllers.js.coffee +++ b/app/assets/javascripts/controllers.js.coffee @@ -1,11 +1,14 @@ class Pettanr.AppController - constructor: (@params, @form, @operators) -> + constructor: (@params, @form, @operators, @gate) -> _.extend(this, Backbone.Events) - @new2: (params, form, operators) -> - c = Pettanr[Pettanr.camelize(params['controller']) + 'Controller'] - new c(params, form, operators) + @new2: (params, form, operators, gate) -> + c = @controller_by_name(params['controller']) + new c(params, form, operators, gate) + + @controller_by_name: (name) -> + Pettanr[Pettanr.camelize(name) + 'Controller'] set_model: () -> @my_controller = Manifest.manifest().controllers[@params['controller']] @@ -106,7 +109,6 @@ class Pettanr.AppController render_edit: () -> @item.boosts 'post' @render_form() - Pettanr.History.lock = {url: @item.edit_url(), form: @form} render_form: () -> @form = Locmare.Form.factory({ @@ -119,25 +121,21 @@ class Pettanr.AppController }) @form.render() @trigger('ready', @form) + @trigger('lock', @params, @form) form_new: () -> - if Pettanr.History.lock - @trigger('lock', @params) - else - @set_new() - @render_form() - Pettanr.History.lock = {url: @item.new_url(), form: @form} + # how cansel on picker edit button? + @set_new() + @render_form() form_edit: () -> - if Pettanr.History.lock - @trigger('lock', @params) - else - @set_edit() + # how cansel on picker edit button? + @set_edit() post_success: (model, response) -> + @trigger('unlock', @params, @form) @trigger('redirect', @form.item.show_url()) @trigger('success', model, response) - Pettanr.History.release() post_fail: (model, response) -> @trigger('fail', response)