OSDN Git Service

141fcb2a3490bc9c36b9d49c08e548396f10bf8c
[pettanr/pettanr.git] / app / assets / javascripts / pettanr / action_filter.js.coffee
1 class Pettanr.ActionFilter\r
2   \r
3   @suply_default: (reader, resource_reader, user, author) ->\r
4     {\r
5       reader: _.union(@default_reader_filters, reader),\r
6       resource_reader: _.union(@default_resource_reader_filters, resource_reader),\r
7       user: _.union(@default_user_filters, user),\r
8       author: _.union(@default_author_filters, author)\r
9     }\r
10   \r
11   @default_reader_filters = ['index', 'show']\r
12   @default_resource_reader_filters = []\r
13   @default_user_filters = ['new', 'create', 'edit', 'update', 'destroy']\r
14   @default_author_filters = ['new', 'create', 'edit', 'update', 'destroy']\r
15   \r
16   @sns_filters: () ->\r
17     default_reader_filters = ['index', 'show']\r
18     default_resource_reader_filters = []\r
19     default_user_filters = ['new', 'create', 'edit', 'update', 'destroy']\r
20     default_author_filters = ['new', 'create', 'edit', 'update', 'destroy']\r
21     {\r
22       folders: @suply_default(\r
23         ['root', 'watch'], \r
24         [], \r
25         [], \r
26         []\r
27       ),\r
28       scrolls: @suply_default(\r
29         ['play', 'by_panel', 'by_author'], \r
30         [], \r
31         [], \r
32         []\r
33       ),\r
34       scroll_panels: @suply_default(\r
35         ['by_panel', 'by_scroll', 'by_author'], \r
36         [], \r
37         [], \r
38         []\r
39       ),\r
40       comics: @suply_default(\r
41         ['play', 'by_story', 'by_author'], \r
42         [], \r
43         [], \r
44         []\r
45       ),\r
46       comic_stories: @suply_default(\r
47         ['by_story', 'by_comic', 'by_author'], \r
48         [], \r
49         [], \r
50         []\r
51       ),\r
52       stories: @suply_default(\r
53         ['play', 'by_comic', 'by_sheet', 'by_author'], \r
54         [], \r
55         [], \r
56         []\r
57       ),\r
58       story_sheets: @suply_default(\r
59         ['by_story', 'by_sheet', 'by_author'], \r
60         [], \r
61         [], \r
62         []\r
63       ),\r
64       sheets: @suply_default(\r
65         ['play', 'by_story', 'by_panel', 'by_author'], \r
66         [], \r
67         [], \r
68         []\r
69       ),\r
70       sheet_panels: @suply_default(\r
71         ['by_panel', 'by_sheet', 'by_author'], \r
72         [], \r
73         [], \r
74         []\r
75       ),\r
76       panels: @suply_default(\r
77         ['by_scroll', 'by_sheet', 'by_author', 'by_speech_balloon_template'], \r
78         [], \r
79         [], \r
80         []\r
81       ),\r
82       panel_pictures: @suply_default(\r
83         ['by_panel', 'by_author'], \r
84         [], \r
85         [], \r
86         []\r
87       ),\r
88       speech_balloons: @suply_default(\r
89         ['by_panel', 'by_author', 'by_speech_balloon_template'], \r
90         [], \r
91         [], \r
92         []\r
93       ),\r
94       speeches: @suply_default(\r
95         ['by_author', 'by_speech_balloon', 'by_speech_balloon_template', 'by_writing_format'], \r
96         [], \r
97         [], \r
98         []\r
99       ),\r
100       balloons: @suply_default(\r
101         [], \r
102         [], \r
103         [], \r
104         []\r
105       ),\r
106       ground_pictures: @suply_default(\r
107         ['by_panel', 'by_author'], \r
108         [], \r
109         [], \r
110         []\r
111       ),\r
112       ground_colors: @suply_default(\r
113         ['by_panel', 'by_author'], \r
114         [], \r
115         [], \r
116         []\r
117       ),\r
118       original_pictures: @suply_default(\r
119         ['history'], \r
120         [], \r
121         [], \r
122         []\r
123       ),\r
124       pictures: @suply_default(\r
125         ['credit', 'search'], \r
126         [], \r
127         [], \r
128         []\r
129       ),\r
130       resource_pictures: @suply_default(\r
131         ['credit', 'by_original_picture', 'by_license_group', 'by_license', 'by_artist'], \r
132         [], \r
133         [], \r
134         []\r
135       ),\r
136       speech_balloon_templates: @suply_default(\r
137         ['by_panel', 'by_system_picture'], \r
138         [], \r
139         [], \r
140         []\r
141       ),\r
142       writing_formats: @suply_default(\r
143         ['by_system_picture'], \r
144         [], \r
145         [], \r
146         []\r
147       ),\r
148       license_groups: @suply_default(\r
149         ['by_resource_picture'], \r
150         [], \r
151         [], \r
152         []\r
153       ),\r
154       licenses: @suply_default(\r
155         ['by_license_group', 'by_system_picture'], \r
156         [], \r
157         [], \r
158         []\r
159       ),\r
160       authors: @suply_default(\r
161         [], \r
162         [], \r
163         [], \r
164         []\r
165       ),\r
166       artists: @suply_default(\r
167         [], \r
168         [], \r
169         [], \r
170         []\r
171       ),\r
172       system_pictures: @suply_default(\r
173         [], \r
174         [], \r
175         [], \r
176         []\r
177       ),\r
178       home: @suply_default(\r
179         [\r
180           'profile', 'configure', 'create_token', 'delete_token', \r
181           'scrolls', 'scroll_panels', 'comics', 'comic_stories', 'stories', 'story_sheets', 'sheets', 'sheet_panels', \r
182           'panels', 'panel_pictures', 'speech_balloons', 'balloons', 'speeches', 'ground_pictures', 'ground_colors'\r
183         ], \r
184         [\r
185           'scrolls', 'scroll_panels', 'comics', 'comic_stories', 'stories', 'story_sheets', 'sheets', 'sheet_panels', \r
186           'panels', 'panel_pictures', 'speech_balloons', 'balloons', 'speeches', 'ground_pictures', 'ground_colors'\r
187         ], \r
188         [], \r
189         []\r
190       ),\r
191     }\r
192   \r
193   @blog_filters: () ->\r
194     default_reader_filters = []\r
195     default_user_filters = ['new', 'create', 'edit', 'update', 'destroy']\r
196     default_author_filters = ['new', 'create', 'edit', 'update', 'destroy']\r
197     {\r
198       'folders': {\r
199         reader: _.union(default_reader_filters, []),\r
200         resource_reader: _.union(default_resource_reader_filters, []),\r
201         user: _.union(default_user_filters, []),\r
202         author: _.union(default_author_filters, [])\r
203       },\r
204       'scrolls': {\r
205         user: _.union(default_user_filters, []),\r
206         author: _.union(default_author_filters, [])\r
207       },\r
208     }\r
209   \r