OSDN Git Service

fix: fetch fail
[pettanr/pettanr.git] / app / assets / javascripts / models / original_picture.js.coffee
index 06441e3..a49e44f 100644 (file)
@@ -30,23 +30,25 @@ class Pettanr.OriginalPicture extends Peta.Content
     @retrieve(this, {\r
       success: (symbol_item) => \r
         options.success.call(context, symbol_item.symbol_file())\r
+      fail: (response, opt) =>\r
+        options.fail.call(context, response, opt)\r
     })\r
   \r
   filer_caption: (context, options) ->\r
-    history = @history()\r
-    history.fetch({cache: true}).done =>\r
-      caption = if _.isEmpty(history.models)\r
-        'unpublished'\r
-      else\r
-        head = _.first(history.models)\r
-        Pettanr.to_s(head.get('revision'))\r
-      options.success.call(context, caption)\r
-  \r
-  revision: () ->\r
-    new Pettanr.OriginalPicture.Head({original_picture: this})\r
-  \r
-  history: () ->\r
-    new Pettanr.OriginalPicture.History({original_picture: this})\r
+    controller = Manifest.manifest().controllers['original_pictures']\r
+    action = controller.actions['history']\r
+    list = action.find(id: @get('id'))\r
+    list.open(this, {\r
+      success: (pictures) => \r
+        caption = if _.isEmpty(pictures)\r
+          'unpublished'\r
+        else\r
+          head = _.first(pictures)\r
+          Pettanr.to_s(head.get('revision'))\r
+        options.success.call(context, caption)\r
+      fail: (response, opt) =>\r
+        options.fail.call(context, response, opt)\r
+    })\r
   \r
   is_unpublished: () ->\r
     @get('published_at') == null and @get('stopped_at') == null\r
@@ -76,27 +78,3 @@ class Pettanr.OriginalPicture extends Peta.Content
   initialize: (attr = {}, options = {}) ->\r
     super(attr, options)\r
   \r
-class Pettanr.OriginalPicture.History extends Backbone.Collection\r
-  \r
-  initialize: (options) ->\r
-    @original_picture = options.original_picture\r
-    @model = Pettanr.Picture\r
-    @url = @original_picture.default_url() + '/history'\r
-  \r
-class Pettanr.OriginalPicture.Head extends Pettanr.View\r
-  tagName: 'span'\r
-  \r
-  initialize: (options) ->\r
-    @original_picture = options.original_picture\r
-    @pictures = new Pettanr.OriginalPicture.History({id: @original_picture.get('id')})\r
-  \r
-  render: () ->\r
-    @pictures.fetch({cache: true}).done =>\r
-      head = @pictures.models[0]\r
-      value = if head\r
-        head.get('revision')\r
-      else\r
-        'unpublished'\r
-      this.$el.html(value)\r
-    this\r
-  \r