OSDN Git Service

conflict
[pettanr/pettanr.git] / app / assets / javascripts / pettanr / action_filter.js.coffee
index 47a4da7..70f44ab 100644 (file)
@@ -35,7 +35,7 @@ class Pettanr.ActionFilter
     false\r
   \r
   @guest_url: () ->\r
-    'user_seeeions/new'\r
+    'user_sessions/new'\r
   \r
   @new_author_url: () ->\r
     'authors/new'\r
@@ -43,217 +43,240 @@ class Pettanr.ActionFilter
   @new_artist_url: () ->\r
     'artists/new'\r
   \r
-  @suply_default: (reader, resource_reader, user, author, artist) ->\r
+  @suply_default: (mode, reader, resource_reader, user, author, artist) ->\r
     author_filter = if _.isFunction(author)\r
       author()\r
     else\r
-      _.union(@default_author_filters, author)\r
+      _.union(@default_filters[mode].author, author)\r
     artist_filter = if _.isFunction(artist)\r
       artist()\r
     else\r
-      _.union(@default_artist_filters, artist)\r
+      _.union(@default_filters[mode].artist, artist)\r
     {\r
-      reader: _.union(@default_reader_filters, reader),\r
-      resource_reader: _.union(@default_resource_reader_filters, resource_reader),\r
-      user: _.union(@default_user_filters, user),\r
+      reader: _.union(@default_filters[mode].reader, reader),\r
+      resource_reader: _.union(@default_filters[mode].resource_reader, resource_reader),\r
+      user: _.union(@default_filters[mode].user, user),\r
       author: author_filter,\r
       artist: artist_filter\r
     }\r
   \r
-  @default_reader_filters = ['index', 'show']\r
-  @default_resource_reader_filters = []\r
-  @default_user_filters = ['new', 'create', 'edit', 'update', 'destroy']\r
-  @default_author_filters = ['new', 'create', 'edit', 'update', 'destroy']\r
-  @default_artist_filters = []\r
+  @suply_sns_default: (reader, resource_reader, user, author, artist) ->\r
+    @suply_default('sns', reader, resource_reader, user, author, artist)\r
+  \r
+  @suply_blog_default: (reader, resource_reader, user, author, artist) ->\r
+    @suply_default('blog', reader, resource_reader, user, author, artist)\r
+  \r
+  @default_filters = {\r
+    sns: {\r
+      reader: ['index', 'show']\r
+      resource_reader: []\r
+      user: ['new', 'create', 'edit', 'update', 'destroy']\r
+      author: ['new', 'create', 'edit', 'update', 'destroy']\r
+      artist: []\r
+    },\r
+    blog: {\r
+      reader: []\r
+      resource_reader: []\r
+      user: ['new', 'create', 'edit', 'update', 'destroy']\r
+      author: ['new', 'create', 'edit', 'update', 'destroy']\r
+      artist: []\r
+    }\r
+  }\r
   \r
   @sns_filters: () ->\r
     {\r
-      folders: @suply_default(\r
+      folders: @suply_sns_default(\r
         ['root', 'watch'], \r
         [], \r
         [], \r
         [], \r
         []\r
       ),\r
-      scrolls: @suply_default(\r
+      scrolls: @suply_sns_default(\r
         ['play', 'by_panel', 'by_author'], \r
         [], \r
         [], \r
         [], \r
         []\r
       ),\r
-      scroll_panels: @suply_default(\r
+      scroll_panels: @suply_sns_default(\r
         ['by_panel', 'by_scroll', 'by_author'], \r
         [], \r
         [], \r
         [], \r
         []\r
       ),\r
-      comics: @suply_default(\r
+      comics: @suply_sns_default(\r
         ['play', 'by_story', 'by_author'], \r
         [], \r
         [], \r
         [], \r
         []\r
       ),\r
-      comic_stories: @suply_default(\r
+      comic_stories: @suply_sns_default(\r
         ['by_story', 'by_comic', 'by_author'], \r
         [], \r
         [], \r
         [], \r
         []\r
       ),\r
-      stories: @suply_default(\r
+      stories: @suply_sns_default(\r
         ['play', 'by_comic', 'by_sheet', 'by_author'], \r
         [], \r
         [], \r
         [], \r
         []\r
       ),\r
-      story_sheets: @suply_default(\r
+      story_sheets: @suply_sns_default(\r
         ['by_story', 'by_sheet', 'by_author'], \r
         [], \r
         [], \r
         [], \r
         []\r
       ),\r
-      sheets: @suply_default(\r
+      sheets: @suply_sns_default(\r
         ['play', 'by_story', 'by_panel', 'by_author'], \r
         [], \r
         [], \r
         [], \r
         []\r
       ),\r
-      sheet_panels: @suply_default(\r
+      sheet_panels: @suply_sns_default(\r
         ['by_panel', 'by_sheet', 'by_author'], \r
         [], \r
         [], \r
         [], \r
         []\r
       ),\r
-      panels: @suply_default(\r
+      panels: @suply_sns_default(\r
         ['by_scroll', 'by_sheet', 'by_author', 'by_speech_balloon_template'], \r
         [], \r
         [], \r
         [], \r
         []\r
       ),\r
-      panel_pictures: @suply_default(\r
+      panel_pictures: @suply_sns_default(\r
         ['by_panel', 'by_author'], \r
         [], \r
         [], \r
         [], \r
         []\r
       ),\r
-      speech_balloons: @suply_default(\r
+      speech_balloons: @suply_sns_default(\r
         ['by_panel', 'by_author', 'by_speech_balloon_template'], \r
         [], \r
         [], \r
         [], \r
         []\r
       ),\r
-      speeches: @suply_default(\r
+      speeches: @suply_sns_default(\r
         ['by_author', 'by_speech_balloon', 'by_speech_balloon_template', 'by_writing_format'], \r
         [], \r
         [], \r
         [], \r
         []\r
       ),\r
-      balloons: @suply_default(\r
+      balloons: @suply_sns_default(\r
         [], \r
         [], \r
         [], \r
         [], \r
         []\r
       ),\r
-      ground_pictures: @suply_default(\r
+      ground_pictures: @suply_sns_default(\r
         ['by_panel', 'by_author'], \r
         [], \r
         [], \r
         [], \r
         []\r
       ),\r
-      ground_colors: @suply_default(\r
+      ground_colors: @suply_sns_default(\r
         ['by_panel', 'by_author'], \r
         [], \r
         [], \r
         [], \r
         []\r
       ),\r
-      original_pictures: @suply_default(\r
+      original_pictures: @suply_sns_default(\r
         ['history'], \r
         [], \r
         [], \r
-        [], \r
+        () ->\r
+          []\r
+        , \r
         ['index', 'new', 'create', 'edit', 'update', 'destroy']\r
       ),\r
-      pictures: @suply_default(\r
+      pictures: @suply_sns_default(\r
         ['credit', 'search'], \r
         [], \r
         [], \r
         [], \r
         []\r
       ),\r
-      resource_pictures: @suply_default(\r
+      resource_pictures: @suply_sns_default(\r
         ['credit', 'by_original_picture', 'by_license_group', 'by_license', 'by_artist'], \r
         [], \r
         [], \r
         [], \r
         ['new', 'create', 'edit', 'update', 'destroy']\r
       ),\r
-      speech_balloon_templates: @suply_default(\r
+      speech_balloon_templates: @suply_sns_default(\r
         ['by_panel', 'by_system_picture'], \r
         [], \r
         [], \r
         [], \r
         []\r
       ),\r
-      writing_formats: @suply_default(\r
+      writing_formats: @suply_sns_default(\r
         ['by_system_picture'], \r
         [], \r
         [], \r
         [], \r
         []\r
       ),\r
-      license_groups: @suply_default(\r
+      license_groups: @suply_sns_default(\r
         ['by_resource_picture'], \r
         [], \r
         [], \r
         [], \r
         []\r
       ),\r
-      licenses: @suply_default(\r
+      licenses: @suply_sns_default(\r
         ['by_license_group', 'by_system_picture'], \r
         [], \r
         [], \r
         [], \r
         []\r
       ),\r
-      authors: @suply_default(\r
+      authors: @suply_sns_default(\r
         [], \r
         [], \r
         [], \r
         () ->\r
           ['edit', 'update', 'destroy']\r
         , \r
-        []\r
+        () ->\r
+          []\r
+        , \r
       ),\r
-      artists: @suply_default(\r
-        [], \r
+      artists: @suply_sns_default(\r
         [], \r
         [], \r
         [], \r
         () ->\r
+          []\r
+        , \r
+        () ->\r
           ['edit', 'update', 'destroy']\r
       ),\r
-      system_pictures: @suply_default(\r
+      system_pictures: @suply_sns_default(\r
         [], \r
         [], \r
         [], \r
         [], \r
         []\r
       ),\r
-      home: @suply_default(\r
+      home: @suply_sns_default(\r
         [\r
           'profile', 'configure', 'create_token', 'delete_token', \r
           'scrolls', 'scroll_panels', 'comics', 'comic_stories', 'stories', 'story_sheets', 'sheets', 'sheet_panels', \r
@@ -270,19 +293,211 @@ class Pettanr.ActionFilter
     }\r
   \r
   @blog_filters: () ->\r
-    default_reader_filters = []\r
-    default_user_filters = ['new', 'create', 'edit', 'update', 'destroy']\r
-    default_author_filters = ['new', 'create', 'edit', 'update', 'destroy']\r
     {\r
-      'folders': {\r
-        reader: _.union(default_reader_filters, []),\r
-        resource_reader: _.union(default_resource_reader_filters, []),\r
-        user: _.union(default_user_filters, []),\r
-        author: _.union(default_author_filters, [])\r
-      },\r
-      'scrolls': {\r
-        user: _.union(default_user_filters, []),\r
-        author: _.union(default_author_filters, [])\r
-      },\r
+      folders: @suply_blog_default(\r
+        [], \r
+        [], \r
+        [], \r
+        [], \r
+        []\r
+      ),\r
+      scrolls: @suply_blog_default(\r
+        [], \r
+        [], \r
+        [], \r
+        [], \r
+        []\r
+      ),\r
+      scroll_panels: @suply_blog_default(\r
+        [], \r
+        [], \r
+        [], \r
+        [], \r
+        []\r
+      ),\r
+      comics: @suply_blog_default(\r
+        [], \r
+        [], \r
+        [], \r
+        [], \r
+        []\r
+      ),\r
+      comic_stories: @suply_blog_default(\r
+        [], \r
+        [], \r
+        [], \r
+        [], \r
+        []\r
+      ),\r
+      stories: @suply_blog_default(\r
+        [], \r
+        [], \r
+        [], \r
+        [], \r
+        []\r
+      ),\r
+      story_sheets: @suply_blog_default(\r
+        [], \r
+        [], \r
+        [], \r
+        [], \r
+        []\r
+      ),\r
+      sheets: @suply_blog_default(\r
+        [], \r
+        [], \r
+        [], \r
+        [], \r
+        []\r
+      ),\r
+      sheet_panels: @suply_blog_default(\r
+        [], \r
+        [], \r
+        [], \r
+        [], \r
+        []\r
+      ),\r
+      panels: @suply_blog_default(\r
+        [], \r
+        [], \r
+        [], \r
+        [], \r
+        []\r
+      ),\r
+      panel_pictures: @suply_blog_default(\r
+        [], \r
+        [], \r
+        [], \r
+        [], \r
+        []\r
+      ),\r
+      speech_balloons: @suply_blog_default(\r
+        [], \r
+        [], \r
+        [], \r
+        [], \r
+        []\r
+      ),\r
+      speeches: @suply_blog_default(\r
+        [], \r
+        [], \r
+        [], \r
+        [], \r
+        []\r
+      ),\r
+      balloons: @suply_blog_default(\r
+        [], \r
+        [], \r
+        [], \r
+        [], \r
+        []\r
+      ),\r
+      ground_pictures: @suply_blog_default(\r
+        [], \r
+        [], \r
+        [], \r
+        [], \r
+        []\r
+      ),\r
+      ground_colors: @suply_blog_default(\r
+        [], \r
+        [], \r
+        [], \r
+        [], \r
+        []\r
+      ),\r
+      original_pictures: @suply_blog_default(\r
+        ['history'], \r
+        [], \r
+        [], \r
+        () ->\r
+          []\r
+        , \r
+        ['index', 'new', 'create', 'edit', 'update', 'destroy']\r
+      ),\r
+      pictures: @suply_blog_default(\r
+        [], \r
+        [], \r
+        [], \r
+        [], \r
+        []\r
+      ),\r
+      resource_pictures: @suply_blog_default(\r
+        [], \r
+        [], \r
+        [], \r
+        [], \r
+        ['new', 'create', 'edit', 'update', 'destroy']\r
+      ),\r
+      speech_balloon_templates: @suply_blog_default(\r
+        [], \r
+        [], \r
+        [], \r
+        [], \r
+        []\r
+      ),\r
+      writing_formats: @suply_blog_default(\r
+        [], \r
+        [], \r
+        [], \r
+        [], \r
+        []\r
+      ),\r
+      license_groups: @suply_blog_default(\r
+        [], \r
+        [], \r
+        [], \r
+        [], \r
+        []\r
+      ),\r
+      licenses: @suply_blog_default(\r
+        [], \r
+        [], \r
+        [], \r
+        [], \r
+        []\r
+      ),\r
+      authors: @suply_blog_default(\r
+        [], \r
+        [], \r
+        [], \r
+        () ->\r
+          ['edit', 'update', 'destroy']\r
+        , \r
+        () ->\r
+          []\r
+        , \r
+      ),\r
+      artists: @suply_blog_default(\r
+        [], \r
+        [], \r
+        [], \r
+        () ->\r
+          []\r
+        , \r
+        () ->\r
+          ['edit', 'update', 'destroy']\r
+      ),\r
+      system_pictures: @suply_blog_default(\r
+        [], \r
+        [], \r
+        [], \r
+        [], \r
+        []\r
+      ),\r
+      home: @suply_blog_default(\r
+        [\r
+          'profile', 'configure', 'create_token', 'delete_token', \r
+          'scrolls', 'scroll_panels', 'comics', 'comic_stories', 'stories', 'story_sheets', 'sheets', 'sheet_panels', \r
+          'panels', 'panel_pictures', 'speech_balloons', 'balloons', 'speeches', 'ground_pictures', 'ground_colors'\r
+        ], \r
+        [\r
+          'scrolls', 'scroll_panels', 'comics', 'comic_stories', 'stories', 'story_sheets', 'sheets', 'sheet_panels', \r
+          'panels', 'panel_pictures', 'speech_balloons', 'balloons', 'speeches', 'ground_pictures', 'ground_colors'\r
+        ], \r
+        [], \r
+        [], \r
+        []\r
+      ),\r
     }\r
   \r