class Pettanr.Views.ResourcePicture.Show extends Pettanr.View.Show initialize: (options) -> @header = new Pettanr.View.Show.Header(@item, this, @default_header_options()) @authored_by = @item.authored_by() @img = @item.real_picture('full') @listenTo(@header, 'click:pick', @click_pick) @listenTo(@authored_by, 'click', @click_authored_by) render: () -> this.$el.html('') this.$el.append(@header.render().el) this.$el.append(@authored_by.render().el) this.$el.append(@img.render().el) @item.get_parent('picture', this, { success: (picture) => @add_credit(picture) }) if @item.is_own() @item.get_parent('original_picture', this, { success: (@original_picture) => @owner = new Pettanr.View.Show.Footer(null, this, { actions: { replace: { item: @original_picture, url: @original_picture.edit_url(), dic_name: 'original_pictures.show.replace', click: () => @trigger('http_get', @original_picture.edit_url()) }, source: { item: @original_picture, url: @original_picture.show_url(), dic_name: 'original_pictures.show.title', click: () => @trigger('http_get', @original_picture.show_url()) }, stop: { item: @item, url: @item.destroy_url(), dic_name: 'original_pictures.index.stop', click: () => redirect = (url) => @trigger('http_get', url) Pettanr.Proxy.destroy(@item, {redirect: redirect}) }, }, }) this.$el.append(@owner.render().el) }) this click_pick: () -> @trigger('pick', @item) is_pickable: () -> true add_pick: (target_model) -> @header.add_pick(target_model)