X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=app%2Fassets%2Fjavascripts%2Fcontrollers%2Fauthors.js.coffee;h=efd89ece97d239081e0720144b0748618976c7d5;hb=28197aecf803b9332afeebb4db14fb7042606f5e;hp=94cf317958e27164c26d726a8911f56c3371cde1;hpb=32af7a076b4244f157cb560d156e86d183a148e3;p=pettanr%2Fpettanr.git diff --git a/app/assets/javascripts/controllers/authors.js.coffee b/app/assets/javascripts/controllers/authors.js.coffee index 94cf3179..efd89ece 100644 --- a/app/assets/javascripts/controllers/authors.js.coffee +++ b/app/assets/javascripts/controllers/authors.js.coffee @@ -1,41 +1,70 @@ class Pettanr.AuthorsController extends Pettanr.AppController index: () -> - @redraw_title(@params) + @trigger('title', @params) @filer_list() - - show_html: () -> - _this = this - @item.fetch({cache: true}).done -> - _this.redraw_title(_this.params, _this.item.get('name')) - view = new Pettanr.Views.Author.Show({ - el: "#pettanr", - item: _this.item, - operators: _this.operators - }) - view.render() + @trigger('done', @params) show: () -> - @set_show() + @set_show(@render_show) + + render_show: (@item) -> switch @params['format'] when 'prof' @show_prof() when 'html' @show_html() + show_html: () -> + @trigger('title', @params, @item.get('name')) + show = new Pettanr.Views.Author.Show({ + item: @item, + operators: @operators + }) + show.render() + @trigger('ready', show) + @trigger('done', @params) + count: () -> new: () -> - @redraw_title(@params) + @trigger('title', @params) @form_new() + @trigger('done', @params) edit: () -> - @redraw_title(@params) + @trigger('title', @params) @form_edit() + @trigger('done', @params) create: () -> + @listenTo(@form, 'success', @post_success) + @listenTo(@form, 'fail', @post_fail) + @form.save() update: () -> + @listenTo(@form, 'success', @post_success) + @listenTo(@form, 'fail', @post_fail) + @form.save() destroy: () -> - + @set_show(@render_destroy) + + render_destroy: () -> + @listenTo(@item, 'destroy:success', @destroy_success) + @listenTo(@item, 'destroy:fail', @destroy_fail) + @item.destroy() + + post_success: (model, response) -> + @trigger('redirect', '/home/configure') + @trigger('success', model, response) + + @is_deny_action_on_picker: (params) -> + switch params['action'] + when 'new' + true + when 'edit' + true + else + false +