OSDN Git Service

fix: fetch fail
[pettanr/pettanr.git] / app / assets / javascripts / models / original_picture.js.coffee
index fe1ffa9..a49e44f 100644 (file)
@@ -1,5 +1,4 @@
 class Pettanr.OriginalPicture extends Peta.Content\r
-  url: '/original_pictures/'\r
   \r
   @singular: () ->\r
     'OriginalPicture'\r
@@ -12,7 +11,7 @@ class Pettanr.OriginalPicture extends Peta.Content
     artist_id: null\r
   } \r
   \r
-  is_visible: (operators) ->\r
+  is_visible: (operators = Pettanr.cache.operators) ->\r
     @is_own(operators)\r
   \r
   filename: () ->\r
@@ -24,24 +23,32 @@ class Pettanr.OriginalPicture extends Peta.Content
   r_url: () ->\r
     '/original_pictures/' + @filename()\r
   \r
-  opt_img_tag: () ->\r
-    {src: @r_url(), width: @get('width'), height: @get('height')}\r
-  \r
-  tmb_opt_img_tag: () ->\r
-    wh = Pettanr.Imager.thumbnail_size(@get('width'), @get('height'))\r
-    {src: @r_url(), width: wh[0], height: wh[1]}\r
-  \r
-  symbol_option: (cb) ->\r
-    _this = this\r
-    this.fetch().done ->\r
-      cb(_this.tmb_opt_img_tag())\r
-  \r
-  revision: () ->\r
-    head = @history()[0]\r
-    if head\r
-      head.revision()\r
-    else\r
-      'unpublished'\r
+  license_url: () ->\r
+    '/original_picture_license_groups/new/' + @get('id')\r
+  \r
+  symbol_option: (context, options) ->\r
+    @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
+    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
@@ -57,10 +64,17 @@ class Pettanr.OriginalPicture extends Peta.Content
   is_published: () ->\r
     @get('published_at') != null\r
   \r
-  initialize: () ->\r
-    if @id\r
-      @url = @url + @id\r
+  state: () ->\r
+    switch true\r
+      when @is_unpublished()\r
+        'unpublished'\r
+      when @is_unlicensed()\r
+        'unlicensed'\r
+      when @is_stopped()\r
+        'stopped'\r
+      when @is_published()\r
+        'published'\r
+  \r
+  initialize: (attr = {}, options = {}) ->\r
+    super(attr, options)\r
   \r
-class Pettanr.OriginalPicture.Collection extends Backbone.Collection\r
-  model: Pettanr.OriginalPicture\r
-  url: '/original_pictures'\r