X-Git-Url: http://git.osdn.net/view?p=pettanr%2Fpettanr.git;a=blobdiff_plain;f=app%2Fassets%2Fjavascripts%2Fmodels%2Foriginal_picture.js.coffee;fp=app%2Fassets%2Fjavascripts%2Fmodels%2Foriginal_picture.js.coffee;h=85cc1976d6ab2c60a5be22c95068a742be8cabe5;hp=06441e30507b28baef0f8e084620e1cff5c4e951;hb=87c9866f541c4c7be4c136f2034d2fecbab787a8;hpb=d2a17869f5a5fb9a33ddad29887c8f03a129c407 diff --git a/app/assets/javascripts/models/original_picture.js.coffee b/app/assets/javascripts/models/original_picture.js.coffee index 06441e30..85cc1976 100644 --- a/app/assets/javascripts/models/original_picture.js.coffee +++ b/app/assets/javascripts/models/original_picture.js.coffee @@ -33,20 +33,18 @@ class Pettanr.OriginalPicture extends Peta.Content }) filer_caption: (context, options) -> - history = @history() - history.fetch({cache: true}).done => - caption = if _.isEmpty(history.models) - 'unpublished' - else - head = _.first(history.models) - Pettanr.to_s(head.get('revision')) - options.success.call(context, caption) - - revision: () -> - new Pettanr.OriginalPicture.Head({original_picture: this}) - - history: () -> - new Pettanr.OriginalPicture.History({original_picture: this}) + controller = Manifest.manifest().controllers['original_pictures'] + action = controller.actions['history'] + list = action.find(id: @get('id')) + list.open(this, { + success: (pictures) => + caption = if _.isEmpty(pictures) + 'unpublished' + else + head = _.first(pictures) + Pettanr.to_s(head.get('revision')) + options.success.call(context, caption) + }) is_unpublished: () -> @get('published_at') == null and @get('stopped_at') == null @@ -76,27 +74,3 @@ class Pettanr.OriginalPicture extends Peta.Content initialize: (attr = {}, options = {}) -> super(attr, options) -class Pettanr.OriginalPicture.History extends Backbone.Collection - - initialize: (options) -> - @original_picture = options.original_picture - @model = Pettanr.Picture - @url = @original_picture.default_url() + '/history' - -class Pettanr.OriginalPicture.Head extends Pettanr.View - tagName: 'span' - - initialize: (options) -> - @original_picture = options.original_picture - @pictures = new Pettanr.OriginalPicture.History({id: @original_picture.get('id')}) - - render: () -> - @pictures.fetch({cache: true}).done => - head = @pictures.models[0] - value = if head - head.get('revision') - else - 'unpublished' - this.$el.html(value) - this -