class Pettanr.OriginalPicture extends Peta.Content\r
- url: '/original_pictures/'\r
\r
@singular: () ->\r
'OriginalPicture'\r
artist_id: null\r
} \r
\r
- picture: () ->\r
- new Pettanr.Picture({id: @get('picture_id')})\r
- \r
- is_visible: (operators) ->\r
+ is_visible: (operators = Pettanr.cache.operators) ->\r
@is_own(operators)\r
\r
filename: () ->\r
r_url: () ->\r
'/original_pictures/' + @filename()\r
\r
- opt_img_tag: () ->\r
- {src: @r_url(), width: @get('width'), height: @get('height')}\r
+ license_url: () ->\r
+ '/original_picture_license_groups/new/' + @get('id')\r
\r
- tmb_opt_img_tag: () ->\r
- new Pettanr.Image.SymbolPicture({\r
- attr: {\r
- src: @r_url()\r
- },\r
- picture: this\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
- symbol_option: () ->\r
- @fetch({cache: true}).done =>\r
- @symbol_picture = @tmb_opt_img_tag()\r
- @trigger('ready:symbol')\r
- \r
- filer_caption: () ->\r
- history = @history()\r
- history.fetch({cache: true}).done =>\r
- @caption_text = if _.isEmpty(history.models)\r
- 'unpublished'\r
- else\r
- head = _.first(history.models)\r
- Pettanr.to_s(head.get('revision'))\r
- @trigger('ready:caption')\r
- \r
- revision: () ->\r
- new Pettanr.OriginalPicture.Head({original_picture: this})\r
- \r
- history: () ->\r
- new Pettanr.OriginalPicture.History({original_picture: this})\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
when @is_published()\r
'published'\r
\r
- initialize: () ->\r
- if @id\r
- @url = @url + @id\r
- \r
-class Pettanr.OriginalPicture.History extends Backbone.Collection\r
- url: '/original_pictures/'\r
- \r
- initialize: (options) ->\r
- @original_picture = options.original_picture\r
- @model = Pettanr.Picture\r
- @url = @url + @original_picture.get('id') + '/history'\r
- \r
-class Pettanr.OriginalPicture.Head extends Backbone.View\r
- tagName: 'span'\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
+ initialize: (attr = {}, options = {}) ->\r
+ super(attr, options)\r
\r