class Pettanr.OriginalPicture extends Peta.Content\r
+ url: '/original_pictures/'\r
+ \r
@singular: () ->\r
'OriginalPicture'\r
\r
artist_id: null\r
} \r
\r
+ picture: () ->\r
+ new Pettanr.Picture({id: @get('picture_id')})\r
+ \r
is_visible: (operators) ->\r
@is_own(operators)\r
\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
+ new Pettanr.Image.SymbolPicture({\r
+ attr: {\r
+ src: @r_url()\r
+ },\r
+ picture: this\r
+ })\r
\r
symbol_option: () ->\r
- @tmb_opt_img_tag()\r
+ @fetch({cache: true}).done =>\r
+ @trigger('ready:symbol', @tmb_opt_img_tag())\r
+ \r
+ filer_caption: () ->\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
+ @trigger('ready:caption', caption)\r
\r
revision: () ->\r
- head = @history()[0]\r
- if head\r
- head.revision()\r
- else\r
- 'unpublished'\r
+ new Pettanr.OriginalPicture.Head({original_picture: this})\r
+ \r
+ history: () ->\r
+ new Pettanr.OriginalPicture.History({original_picture: this})\r
\r
is_unpublished: () ->\r
@get('published_at') == null and @get('stopped_at') == null\r
is_published: () ->\r
@get('published_at') != null\r
\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: () ->\r
if @id\r
@url = @url + @id\r
\r
-class Pettanr.OriginalPicture.Collection extends Backbone.Collection\r
- model: Pettanr.OriginalPicture\r
- url: '/original_pictures'\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
+ \r