X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=app%2Fassets%2Fjavascripts%2Fcontrollers%2Fauthors.js.coffee;h=d0a46cdd39bd8e2c9aeff9d0f9bccc3289f91579;hb=f2de6606262cd76e637dbf54581634fab3be205a;hp=5299023f0b54709a6cee66bf25180242574363ca;hpb=eaaa49b6defd70aaef6b9fc6658224bb2d4f522a;p=pettanr%2Fpettanr.git diff --git a/app/assets/javascripts/controllers/authors.js.coffee b/app/assets/javascripts/controllers/authors.js.coffee index 5299023f..d0a46cdd 100644 --- a/app/assets/javascripts/controllers/authors.js.coffee +++ b/app/assets/javascripts/controllers/authors.js.coffee @@ -1,50 +1,68 @@ class Pettanr.AuthorsController extends Pettanr.AppController index: () -> - @trigger('retitle', @params) + @trigger('title', @params) @filer_list() - - show_html: () -> - @item.fetch({cache: true}).done => - @trigger('retitle', @params, @item.get('name')) - show = new Pettanr.Views.Author.Show({ - item: @item, - operators: @operators - }) - show.render() - @trigger('ready', show) + @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, { + }) + show.render() + @trigger('ready', show) + @trigger('done', @params) + count: () -> new: () -> - @trigger('retitle', @params) - @form_new(@create) + @trigger('title', @params) + @form_new() + @trigger('done', @params) edit: () -> - @trigger('retitle', @params) - @form_edit(@update) - - create: (form) -> - form.item.overwrite(@operators) - if form.save() - @trigger('redirect', '/home/configure') - else - @not_created() - - update: (form) -> - form.item.overwrite(@operators) - if form.save() - @trigger('redirect', '/home/configure') - else - @not_updated() + @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: (@item) -> + @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 +