OSDN Git Service

fix remote folder's redirect
authoryasushiito <yas@pen-chan.jp>
Thu, 12 Feb 2015 23:11:33 +0000 (08:11 +0900)
committeryasushiito <yas@pen-chan.jp>
Thu, 12 Feb 2015 23:11:33 +0000 (08:11 +0900)
13 files changed:
app/assets/javascripts/controllers.js.coffee
app/assets/javascripts/controllers/artists.js.coffee
app/assets/javascripts/controllers/authors.js.coffee
app/assets/javascripts/controllers/comics.js.coffee
app/assets/javascripts/controllers/folders.js.coffee
app/assets/javascripts/controllers/scrolls.js.coffee
app/assets/javascripts/controllers/stories.js.coffee
app/assets/javascripts/locmare/form.js.coffee
app/assets/javascripts/models/artist.js.coffee
app/assets/javascripts/models/author.js.coffee
app/assets/javascripts/models/comic.js.coffee
app/assets/javascripts/views/layout.js.coffee
app/assets/javascripts/views/layouts/sns.js.coffee

index 0cc84d0..13ab3cc 100644 (file)
@@ -87,27 +87,26 @@ class Pettanr.AppController
       @item.boosts 'post'\r
       @render_form(save_func)\r
   \r
-  render_form: (save_func) ->\r
+  render_form: () ->\r
     @form = Locmare.Form.factory({\r
       form_name: @item.item_name(), \r
       item: @item, \r
       mounted: true, \r
       submit: 'default', \r
       operators: @operators,\r
-      action: '/' + @item.table_name() + '/' + Pettanr.to_s(@item.get('id')),\r
-      save_func: save_func\r
+      action: '/' + @item.table_name() + '/' + Pettanr.to_s(@item.get('id'))\r
     })\r
     @listenTo(@form, 'post', @create)\r
     @listenTo(@form, 'put', @update)\r
     @form.render()\r
     @trigger('ready', @form)\r
   \r
-  form_new: (save_func) ->\r
+  form_new: () ->\r
     @set_new()\r
-    @render_form(save_func)\r
+    @render_form()\r
   \r
-  form_edit: (save_func) ->\r
-    @set_edit(save_func)\r
+  form_edit: () ->\r
+    @set_edit()\r
   \r
   navigate: (url) ->\r
     @trigger('navigate', url)\r
index e597b41..3a79207 100644 (file)
@@ -26,15 +26,25 @@ class Pettanr.ArtistsController extends Pettanr.AppController
   \r
   new: () ->\r
     @trigger('retitle', @params)\r
-    @form_new()\r
+    @form_new(@create)\r
   \r
   edit: () ->\r
     @trigger('retitle', @params)\r
-    @form_edit()\r
-  \r
-  create: () ->\r
-  \r
-  update: () ->\r
+    @form_edit(@update)\r
+  \r
+  create: (form) ->\r
+    form.item.overwrite(@operators)\r
+    if form.save()\r
+      @trigger('redirect', '/home/configure')\r
+    else\r
+      @not_created()\r
+  \r
+  update: (form) ->\r
+    form.item.overwrite(@operators)\r
+    if form.save()\r
+      @trigger('redirect', '/home/configure')\r
+    else\r
+      @not_updated()\r
   \r
   destroy: () ->\r
     \r
index 629b6cb..5299023 100644 (file)
@@ -26,15 +26,25 @@ class Pettanr.AuthorsController extends Pettanr.AppController
   \r
   new: () ->\r
     @trigger('retitle', @params)\r
-    @form_new()\r
+    @form_new(@create)\r
   \r
   edit: () ->\r
     @trigger('retitle', @params)\r
-    @form_edit()\r
-  \r
-  create: () ->\r
-  \r
-  update: () ->\r
+    @form_edit(@update)\r
+  \r
+  create: (form) ->\r
+    form.item.overwrite(@operators)\r
+    if form.save()\r
+      @trigger('redirect', '/home/configure')\r
+    else\r
+      @not_created()\r
+  \r
+  update: (form) ->\r
+    form.item.overwrite(@operators)\r
+    if form.save()\r
+      @trigger('redirect', '/home/configure')\r
+    else\r
+      @not_updated()\r
   \r
   destroy: () ->\r
     \r
index 8dc41d0..0a429b1 100644 (file)
@@ -34,15 +34,25 @@ class Pettanr.ComicsController extends Pettanr.AppController
   \r
   new: () ->\r
     @trigger('retitle', @params)\r
-    @form_new()\r
+    @form_new(@create)\r
   \r
   edit: () ->\r
     @trigger('retitle', @params)\r
-    @form_edit()\r
-  \r
-  create: () ->\r
-  \r
-  update: () ->\r
+    @form_edit(@update)\r
+  \r
+  create: (form) ->\r
+    form.item.overwrite(@operators)\r
+    if form.save()\r
+      @trigger('redirect', form.item.show_url())\r
+    else\r
+      @not_created()\r
+  \r
+  update: (form) ->\r
+    form.item.overwrite(@operators)\r
+    if form.save()\r
+      @trigger('redirect', form.item.show_url())\r
+    else\r
+      @not_updated()\r
   \r
   destroy: () ->\r
     \r
index 2440390..266a1c0 100644 (file)
@@ -38,6 +38,7 @@ class Pettanr.FoldersController extends Pettanr.AppController
           vp = new Pettanr.ViewPicker({operators: @operators})\r
           @listenTo(vp, 'ready', @refresh)\r
           @listenTo(vp, 'retitle', @retitle)\r
+          @listenTo(vp, 'redirect', @redirect_to)\r
           vp.navigate(@item.remote_url())\r
         else\r
           @children_html()\r
@@ -59,3 +60,6 @@ class Pettanr.FoldersController extends Pettanr.AppController
   retitle: (params, str = null) ->\r
     @trigger('retitle', @params, str = null)\r
   \r
+  redirect_to: (url) ->\r
+    @trigger('redirect', url)\r
+  \r
index 24bc888..cf85332 100644 (file)
@@ -46,29 +46,23 @@ class Pettanr.ScrollsController extends Pettanr.AppController
   \r
   new: () ->\r
     @trigger('retitle', @params)\r
-    @form_new(@create)\r
+    @form_new()\r
   \r
   edit: () ->\r
     @trigger('retitle', @params)\r
-    @form_edit(@update)\r
+    @form_edit()\r
   \r
   create: (form) ->\r
     form.item.overwrite(@operators)\r
     if form.save()\r
-      vp = new Pettanr.ViewPicker({operators: @operators})\r
-      @listenTo(vp, 'ready', @redirected)\r
-      @listenTo(vp, 'retitle', @retitle)\r
-      vp.navigate(form.item.show_url())\r
+      @trigger('redirect', form.item.show_url())\r
     else\r
       @not_created()\r
   \r
   update: (form) ->\r
     form.item.overwrite(@operators)\r
     if form.save()\r
-      vp = new Pettanr.ViewPicker({operators: @operators})\r
-      @listenTo(vp, 'ready', @redirected)\r
-      @listenTo(vp, 'retitle', @retitle)\r
-      vp.navigate(form.item.show_url())\r
+      @trigger('redirect', form.item.show_url())\r
     else\r
       @not_updated()\r
   \r
index 207acc3..1a82128 100644 (file)
@@ -38,15 +38,25 @@ class Pettanr.StoriesController extends Pettanr.AppController
   \r
   new: () ->\r
     @trigger('retitle', @params)\r
-    @form_new()\r
+    @form_new(@create)\r
   \r
   edit: () ->\r
     @trigger('retitle', @params)\r
-    @form_edit()\r
-  \r
-  create: () ->\r
-  \r
-  update: () ->\r
+    @form_edit(@update)\r
+  \r
+  create: (form) ->\r
+    form.item.overwrite(@operators)\r
+    if form.save()\r
+      @trigger('redirect', form.item.show_url())\r
+    else\r
+      @not_created()\r
+  \r
+  update: (form) ->\r
+    form.item.overwrite(@operators)\r
+    if form.save()\r
+      @trigger('redirect', form.item.show_url())\r
+    else\r
+      @not_updated()\r
   \r
   destroy: () ->\r
     \r
index 02caa55..e459f2b 100644 (file)
@@ -54,7 +54,6 @@ class Locmare.Form extends Locmare.FormBase
     super(options)\r
     @submit = options.submit\r
     @action = options.action\r
-    @save_func = options.save_func\r
     @child_forms = {}\r
     @item.boosts 'post'\r
     @init_fields()\r
@@ -139,6 +138,7 @@ class Locmare.Form extends Locmare.FormBase
   post: () ->\r
     _.each @fields, (field) =>\r
       @item.set(field.field_name, field.val())\r
+    @item.unset('id')  # isNew use flag that id attr set\r
     @trigger('post', this)\r
     return false\r
   \r
index 921168f..4c8c80f 100644 (file)
@@ -12,6 +12,8 @@ class Pettanr.Artist extends Peta.Owner
     name: 'no name'\r
   } \r
   \r
+  overwrite: (options) ->\r
+  \r
   icon_with_caption_view: (half = true, column_name = 'name', length = 12) ->\r
     new Pettanr.Views.Common.IconWithCaption({item: this, half: half, column_name: column_name, length: length})\r
   \r
index 4c8745e..3695a6f 100644 (file)
@@ -12,6 +12,8 @@ class Pettanr.Author extends Peta.Owner
     name: 'no name'\r
   } \r
   \r
+  overwrite: (options) ->\r
+  \r
   icon_with_caption_view: (half = true, column_name = 'name', length = 12) ->\r
     new Pettanr.Views.Common.IconWithCaption({item: this, half: half, column_name: column_name, length: length})\r
   \r
index 3699848..9867e34 100644 (file)
@@ -25,6 +25,11 @@ class Pettanr.Comic extends Peta.Binder
       else\r
         @get('visible') > 0\r
   \r
+  overwrite: (options) ->\r
+    operators = options.operators\r
+    return false if not operators.author\r
+    @set('author_id', operators.author.id)\r
+  \r
   symbol_filename: () ->\r
   \r
   initialize: () ->\r
index acca855..0a2e35f 100644 (file)
@@ -21,6 +21,9 @@ class Pettanr.ViewPicker extends Backbone.View
   refresh: (view) ->\r
     @trigger('ready', view)\r
   \r
+  redirect_to: (url) ->\r
+    @trigger('redirect', url)\r
+  \r
 class Pettanr.Views.Layout\r
 class Pettanr.Views.Layout.ControllerManager\r
   \r
@@ -155,6 +158,7 @@ class Pettanr.Views.Layout.Sns extends Pettanr.Views.Layout.Base
     @listenTo(@header, 'sign_out:success', @sign_out_success)\r
     @listenTo(@header, 'sign_out:fail', @sign_out_fail)\r
     @listenTo(@body, 'navigate', @body_navigate)\r
+    @listenTo(@body, 'retitle', @retitle)\r
     @listenTo(@body, 'sign_in', @sign_in)\r
     @listenTo(@body, 'sign_out', @sign_out)\r
   \r
index f30e9f4..ba47f7a 100644 (file)
@@ -104,6 +104,9 @@ class Pettanr.Views.Layout.Sns.Body extends Backbone.View
     @local_router.navigate(url, true)\r
     @trigger('navigate', url)\r
   \r
+  redirect_to: (url) ->\r
+    @navigate(url)\r
+  \r
   operators: () ->\r
     @parent.operators\r
   \r