OSDN Git Service

fix: fetch fail
[pettanr/pettanr.git] / app / assets / javascripts / models / license.js.coffee
index 47ec960..9f734b5 100644 (file)
@@ -1,5 +1,4 @@
 class Pettanr.License extends Peta.SystemResource\r
-  url: '/licenses/'\r
   \r
   @singular: () ->\r
     'License'\r
@@ -11,37 +10,23 @@ class Pettanr.License extends Peta.SystemResource
     id: null\r
   } \r
   \r
-  license_group: () ->\r
-    r = new Pettanr.LicenseGroup({id: @get('license_group_id')})\r
-  \r
-  system_picture: () ->\r
-    new Pettanr.SystemPicture({id: @get('system_picture_id')})\r
-  \r
-  symbol_option: (cb) ->\r
-    i = @system_picture()\r
-    i.fetch({cache: true}).done ->\r
-      cb(i.tmb_opt_img_tag())\r
-  \r
-  caption_with_group: () ->\r
-    new Pettanr.License.Caption({license: this, license_group: @license_group()})\r
-  \r
-  initialize: () ->\r
-    if @id\r
-      @url = @url + @id\r
-  \r
-class Pettanr.License.Collection extends Backbone.Collection\r
-  model: Pettanr.License\r
-  url: '/licenses'\r
-\r
-class Pettanr.License.Caption extends Backbone.View\r
-  tagName: 'span'\r
-  initialize: (options) ->\r
-    @license = options.license\r
-    @license_group = options.license_group\r
-    \r
-  render: () ->\r
-    _this = this\r
-    @license_group.fetch({cache: true}).done ->\r
-      _this.$el.html(_this.license_group.get('caption') + '/' + _this.license.get('caption'))\r
-    this\r
+  @trace_routes: () ->\r
+    {\r
+      symbol: ['system_picture']\r
+    }\r
+  \r
+  caption_with_group: (context, options) ->\r
+    @get_parent('license_group', this, {\r
+      success: (license_group) => \r
+        caption = license_group.escape('caption') + '/' + @escape('caption')\r
+        options.success.call(context, caption)\r
+      fail: (response, opt) =>\r
+        options.fail.call(context, response, opt)\r
+    })\r
+  \r
+  is_own: () ->\r
+    true\r
+  \r
+  initialize: (attr = {}, options = {}) ->\r
+    super(attr, options)\r
   \r