-class Pettanr.Views.OriginalPicture.ShowModule\r
-class Pettanr.Views.OriginalPicture.ShowModule.Header extends Pettanr.Views.Show.Header\r
+class Pettanr.Views.OriginalPicture.Show extends Pettanr.View.Show\r
\r
initialize: (options) ->\r
- super(options)\r
- \r
-class Pettanr.Views.OriginalPicture.ShowModule.LinkedLicenseButton extends Tag.A\r
- \r
- initialize: (options) ->\r
- item = options.item\r
- super({\r
- attr: {href: '/' + item.license_url()}, \r
- content: I18n.t('original_pictures.show.select')\r
- })\r
- \r
-class Pettanr.Views.OriginalPicture.ShowModule.LinkedReplaceButton extends Tag.A\r
- \r
- initialize: (options) ->\r
- item = options.item\r
- super({\r
- attr: {href: '/' + item.edit_url()}, \r
- content: I18n.t('original_pictures.show.replace')\r
- })\r
- \r
-class Pettanr.Views.OriginalPicture.ShowModule.LinkedDropButton extends Tag.A\r
- \r
- initialize: (options) ->\r
- item = options.item\r
- super({\r
- attr: {href: '/' + item.destroy_url()}, \r
- content: I18n.t('link.destroy')\r
- })\r
- \r
-class Pettanr.Views.OriginalPicture.ShowModule.OwnerFooter extends Backbone.View\r
- tagName: 'div'\r
- className: 'show-owner-footer'\r
- \r
- initialize: (options) ->\r
- super(options)\r
- @item = options.item\r
- @license = new Pettanr.Views.OriginalPicture.ShowModule.LinkedLicenseButton({item: @item})\r
- @edit = new Pettanr.Views.OriginalPicture.ShowModule.LinkedReplaceButton({item: @item})\r
- @destroy = new Pettanr.Views.OriginalPicture.ShowModule.LinkedDropButton({item: @item})\r
- @listenTo(@license, 'click', @click_license)\r
- @listenTo(@edit, 'click', @click_edit)\r
- @listenTo(@destroy, 'click', @click_destroy)\r
+ @header = new Pettanr.View.Show.Header(@item, this, @default_header_options())\r
+ @authored_by = @item.authored_by()\r
+ @listenTo(@header, 'click:pick', @click_pick)\r
+ @listenTo(@authored_by, 'click', @click_authored_by)\r
+ @body = new Pettanr.Views.OriginalPicture.Show.Body(@item, options)\r
+ @listenTo(@body, 'http_get', @http_get)\r
+ @history = new Pettanr.Views.OriginalPicture.Show.History(@item, {})\r
+ @listenTo(@history, 'http_get', @http_get)\r
\r
render: () ->\r
- super()\r
- this.$el.append(@license.render().el)\r
- this.$el.append(@edit.render().el)\r
- dh = new Tag.H3({\r
- content: 'expert only'\r
- })\r
- this.$el.append(dh.render().el)\r
- this.$el.append(@destroy.render().el)\r
+ this.$el.html('')\r
+ this.$el.append(@header.render().el)\r
+ this.$el.append(@authored_by.render().el)\r
+ this.$el.append(@body.render().el)\r
+ this.$el.append(@history.render().el)\r
this\r
\r
- click_license: () ->\r
- @trigger('click:license')\r
+ http_get: (url) ->\r
+ @trigger('http_get', url)\r
\r
- click_edit: () ->\r
- @trigger('click:edit')\r
- \r
- click_destroy: () ->\r
- @trigger('click:destroy')\r
+ is_pickable: () ->\r
+ false\r
\r
-class Pettanr.Views.OriginalPicture.ShowModule.Owner extends Pettanr.Views.Show.Owner\r
+class Pettanr.Views.OriginalPicture.Show.Body extends Pettanr.View\r
+ className: 'op-body'\r
\r
- initialize: (options) ->\r
+ constructor: (@item, options) ->\r
super(options)\r
- @listenTo(@footer, 'click:license', @click_license)\r
- \r
- click_license: () ->\r
- @trigger('click:footer:license')\r
- @trigger('click:license')\r
- \r
- footer_class: () ->\r
- Pettanr.Views.OriginalPicture.ShowModule.OwnerFooter\r
\r
-class Pettanr.Views.OriginalPicture.Show extends Backbone.View\r
- tagName: 'div'\r
- \r
- initialize: (options) ->\r
- @item = options.item\r
- @header = new Pettanr.Views.OriginalPicture.ShowModule.Header({\r
- item: @item, \r
- icon_url: @item.show_url(),\r
- prof_url: @item.prof_url()\r
+ initialize: (@options) ->\r
+ @img = @item.real_picture()\r
+ @owner = new Pettanr.View.Show.Footer(@item, this, {\r
+ actions: {\r
+ select: {\r
+ url: @item.license_url(),\r
+ dic_name: 'original_pictures.show.select', \r
+ click: () =>\r
+ @create_dialog()\r
+ @options.click_license.call(@options.context, @dialog)\r
+ }, \r
+ replace: {\r
+ url: @item.edit_url(),\r
+ dic_name: 'original_pictures.show.replace', \r
+ click: () =>\r
+ @trigger('http_get', @item.edit_url())\r
+ }, \r
+ destroy: {\r
+ url: @item.destroy_url(),\r
+ click: () =>\r
+ redirect = (url) =>\r
+ @trigger('http_get', url)\r
+ Pettanr.Proxy.destroy(@item, {redirect: redirect})\r
+ }, \r
+ }, \r
})\r
- @artist = new Pettanr.Views.Show.HeaderArtist({item: @item})\r
- @img = new Pettanr.Views.OriginalPicture.Img({item: @item})\r
- @owner = new Pettanr.Views.OriginalPicture.ShowModule.Owner({item: @item})\r
- @listenTo(@header, 'click:icon', @click_show)\r
- @listenTo(@header, 'click:prof', @click_prof)\r
- @listenTo(@artist, 'click:artist', @click_artist)\r
- @listenTo(@owner, 'click:license', @click_license)\r
- @listenTo(@owner, 'click:edit', @click_edit)\r
- @listenTo(@owner, 'click:destroy', @click_destroy)\r
+ @summary = @item.summary(this, {})\r
+ @listenTo(@summary, 'http_get', @http_get)\r
\r
render: () ->\r
this.$el.html('')\r
- this.$el.append(@header.render().el)\r
- this.$el.append(@artist.render().el)\r
this.$el.append(@img.render().el)\r
+ this.$el.append(@summary.render().el)\r
+ @append_rb()\r
this.$el.append(@owner.render().el)\r
this\r
\r
- click_show: () ->\r
- @trigger('http_get', @item.show_url())\r
- \r
- click_prof: () ->\r
- @trigger('http_get', @item.prof_url())\r
- \r
- click_artist: () ->\r
- @trigger('http_get', @item.artist().show_url())\r
- \r
- click_license: () ->\r
- @create_dialog()\r
- \r
- click_edit: () ->\r
- @trigger('http_get', @item.edit_url())\r
- \r
- click_destroy: () ->\r
- @trigger('http_get', @item.destroy_url())\r
- \r
create_dialog: () ->\r
- dialog = new Editor.PicturePublisher.Dialog({\r
+ @dialog = new Editor.PicturePublisher.Dialog({\r
parent: this\r
})\r
- this.$el.append(dialog.render().el)\r
+ this.$el.append(@dialog.render().el)\r
_this = this\r
- dialog.$el.dialog({\r
+ @dialog.$el.dialog({\r
autoOpen: false,\r
width: 500, \r
height: 500,\r
close: (ui, event) ->\r
- dialog.remove()\r
+ _this.close_dialog()\r
})\r
params = {\r
controller: 'original_picture_license_groups', action: 'new', id: @item.get('id'), \r
}\r
- dialog.start(params, null)\r
- dialog\r
+ @listenTo(@dialog, 'success', @success)\r
+ @dialog.start(params, null)\r
+ @dialog\r
\r
- is_pickable: () ->\r
- false\r
+ success: (resource_picture) ->\r
+ #Pettanr.cache.fix(@item)\r
+ @options.publish.call(@options.context, @dialog)\r
+ @trigger('http_get', resource_picture.show_url())\r
+ Pettanr.cache.refresh(@item)\r
+ \r
+ close_dialog: () ->\r
+ #Pettanr.cache.release(@item)\r
+ @options.close_dialog.call(@options.context, @dialog)\r
+ \r
+class Pettanr.Views.OriginalPicture.Show.History extends Pettanr.View\r
+ className: 'op-history'\r
+ \r
+ constructor: (@item, options) ->\r
+ super(options)\r
+ \r
+ initialize: (options) ->\r
+ super(options)\r
+ controller = Manifest.manifest().controllers['original_pictures']\r
+ action = controller.actions['history']\r
+ @list = action.find(id: @item.get('id'))\r
+ \r
+ render: () ->\r
+ this.$el.html('')\r
+ h = new Tag.H2({\r
+ content: I18n.t('original_pictures.show.history')\r
+ })\r
+ this.$el.append(h.render().el)\r
+ @list.open(this, {\r
+ success: (pictures) => \r
+ _.each pictures, (picture) =>\r
+ history = new Pettanr.Views.Picture.History(picture)\r
+ @listenTo(history, 'http_get', @http_get)\r
+ this.$el.append(history.render().el)\r
+ })\r
+ this\r
+ \r
+ http_get: (url) ->\r
+ @trigger('http_get', url)\r
\r