OSDN Git Service

fix: show's destroy button
[pettanr/pettanr.git] / app / assets / javascripts / views / original_pictures / show.js.coffee
index e5293d3..794bbde 100644 (file)
@@ -78,6 +78,29 @@ class Pettanr.Views.OriginalPicture.ShowModule.Owner extends Pettanr.Views.Show.
   footer_class: () ->\r
     Pettanr.Views.OriginalPicture.ShowModule.OwnerFooter\r
   \r
   footer_class: () ->\r
     Pettanr.Views.OriginalPicture.ShowModule.OwnerFooter\r
   \r
+class Pettanr.Views.OriginalPicture.ShowModule.History extends Backbone.View\r
+  \r
+  initialize: (options) ->\r
+    super(options)\r
+    @item = options.item\r
+    @list = @item.history()\r
+  \r
+  render: () ->\r
+    this.$el.html('')\r
+    h = new Tag.H2({\r
+      content: I18n.t('original_pictures.show.history')\r
+    })\r
+    this.$el.append(h.render().el)\r
+    @list.fetch().done =>\r
+      _.each @list.models, (picture) =>\r
+        view = picture.history_view()\r
+        @listenTo(view, 'http_get', @http_get)\r
+        this.$el.append(view.render().el)\r
+    this\r
+  \r
+  http_get: (url) ->\r
+    @trigger('http_get', url)\r
+  \r
 class Pettanr.Views.OriginalPicture.Show extends Backbone.View\r
   tagName: 'div'\r
   \r
 class Pettanr.Views.OriginalPicture.Show extends Backbone.View\r
   tagName: 'div'\r
   \r
@@ -91,12 +114,14 @@ class Pettanr.Views.OriginalPicture.Show extends Backbone.View
     @artist = new Pettanr.Views.Show.HeaderArtist({item: @item})\r
     @img = new Pettanr.Views.OriginalPicture.Img({item: @item})\r
     @owner = new Pettanr.Views.OriginalPicture.ShowModule.Owner({item: @item})\r
     @artist = new Pettanr.Views.Show.HeaderArtist({item: @item})\r
     @img = new Pettanr.Views.OriginalPicture.Img({item: @item})\r
     @owner = new Pettanr.Views.OriginalPicture.ShowModule.Owner({item: @item})\r
+    @history = new Pettanr.Views.OriginalPicture.ShowModule.History({item: @item})\r
     @listenTo(@header, 'click:icon', @click_show)\r
     @listenTo(@header, 'click:prof', @click_prof)\r
     @listenTo(@artist, 'click:artist', @click_artist)\r
     @listenTo(@owner, 'click:license', @click_license)\r
     @listenTo(@owner, 'click:edit', @click_edit)\r
     @listenTo(@owner, 'click:destroy', @click_destroy)\r
     @listenTo(@header, 'click:icon', @click_show)\r
     @listenTo(@header, 'click:prof', @click_prof)\r
     @listenTo(@artist, 'click:artist', @click_artist)\r
     @listenTo(@owner, 'click:license', @click_license)\r
     @listenTo(@owner, 'click:edit', @click_edit)\r
     @listenTo(@owner, 'click:destroy', @click_destroy)\r
+    @listenTo(@history, 'http_get', @http_get)\r
   \r
   render: () ->\r
     this.$el.html('')\r
   \r
   render: () ->\r
     this.$el.html('')\r
@@ -104,6 +129,7 @@ class Pettanr.Views.OriginalPicture.Show extends Backbone.View
     this.$el.append(@artist.render().el)\r
     this.$el.append(@img.render().el)\r
     this.$el.append(@owner.render().el)\r
     this.$el.append(@artist.render().el)\r
     this.$el.append(@img.render().el)\r
     this.$el.append(@owner.render().el)\r
+    this.$el.append(@history.render().el)\r
     this\r
   \r
   click_show: () ->\r
     this\r
   \r
   click_show: () ->\r
@@ -126,7 +152,12 @@ class Pettanr.Views.OriginalPicture.Show extends Backbone.View
     @trigger('http_get', @item.edit_url())\r
   \r
   click_destroy: () ->\r
     @trigger('http_get', @item.edit_url())\r
   \r
   click_destroy: () ->\r
-    @trigger('http_get', @item.destroy_url())\r
+    redirect = (url) =>\r
+      @trigger('http_get', url)\r
+    Pettanr.Proxy.destroy(@item, {redirect: redirect})\r
+  \r
+  http_get: (url) ->\r
+    @trigger('http_get', url)\r
   \r
   create_dialog: () ->\r
     @dialog = new Editor.PicturePublisher.Dialog({\r
   \r
   create_dialog: () ->\r
     @dialog = new Editor.PicturePublisher.Dialog({\r