OSDN Git Service

fix: publisher
[pettanr/pettanr.git] / app / assets / javascripts / controllers / original_pictures.js.coffee
index 39cbf0b..e63f4bf 100644 (file)
@@ -10,47 +10,76 @@ class Pettanr.OriginalPicturesController extends Pettanr.AppController
     @filer_list()\r
     @trigger('done', @params)\r
   \r
-  show_html: () -> \r
-    @trigger('title', @params)\r
-    @item.fetch({cache: true}).done =>\r
-      show = new Pettanr.Views.OriginalPicture.Show({\r
-        item: @item,\r
-        operators: @operators\r
-      })\r
-      show.render()\r
-      @trigger('ready', show)\r
-      @trigger('done', @params)\r
-  \r
   show: () ->\r
-    @set_show()\r
+    @set_show(@render_show)\r
+  \r
+  render_show: (@item) -> \r
     switch @params['format']\r
       when 'prof'\r
         @show_prof()\r
       when 'html'\r
         @show_html()\r
   \r
+  show_html: () -> \r
+    @trigger('title', @params)\r
+    show = new Pettanr.Views.OriginalPicture.Show({\r
+      item: @item,\r
+    })\r
+    @listenTo(show, 'click:license', @click_license)\r
+    @listenTo(show, 'success', @publish)\r
+    @listenTo(show, 'click:close', @close_dialog)\r
+    show.render()\r
+    @trigger('ready', show)\r
+    @trigger('done', @params)\r
+  \r
   count: () ->\r
   \r
   new: () ->\r
+    @trigger('title', @params)\r
+    @form_new()\r
+    @trigger('done', @params)\r
   \r
   edit: () ->\r
+    @trigger('title', @params)\r
+    @form_edit()\r
+    @trigger('done', @params)\r
+  \r
+  render_form: () ->\r
+    @form = Locmare.Form.factory({\r
+      form_name: 'original_picture', \r
+      use_name: 'multipart', \r
+      item: @item, \r
+      element_form: false, \r
+      submit: 'default'\r
+    })\r
+    @form.render()\r
+    @trigger('ready', @form)\r
+    @trigger('lock', @params, @form)\r
+  \r
+  click_license: (dialog) ->\r
+    @trigger('lock', @params, dialog)\r
+  \r
+  publish: (dialog) ->\r
+    @trigger('unlock', @params, dialog)\r
+  \r
+  close_dialog: (dialog) ->\r
+    @trigger('unlock', @params, dialog)\r
   \r
   create: () ->\r
-    @form.item.overwrite(@operators)\r
     @listenTo(@form, 'success', @post_success)\r
     @listenTo(@form, 'fail', @post_fail)\r
     @form.save()\r
   \r
   update: () ->\r
-    @form.item.overwrite(@operators)\r
     @listenTo(@form, 'success', @post_success)\r
     @listenTo(@form, 'fail', @post_fail)\r
     @form.save()\r
   \r
   destroy: () ->\r
-    @set_show()\r
-    @item.fetch({cache: true}).done =>\r
-      @listenTo(@item, 'destroy:success', @destroy_success)\r
-      @listenTo(@item, 'destroy:fail', @destroy_fail)\r
-      @item.destroy()\r
+    @set_show(@render_destroy)\r
+  \r
+  render_destroy: (@item) ->\r
+    @listenTo(@item, 'destroy:success', @destroy_success)\r
+    @listenTo(@item, 'destroy:fail', @destroy_fail)\r
+    @item.destroy()\r
   \r