OSDN Git Service

f61a2859478440dea5da01c3cabc9ee4a9dd878b
[pettanr/pettanr.git] / app / assets / javascripts / manifest / work / models.js.coffee.erb
1 #マニフェスト\r
2 @models = {\r
3   scroll: {\r
4     associations: {\r
5       belongs_to: {\r
6         author: {\r
7         }, \r
8       },\r
9       has_many: {\r
10         scroll_panels: {\r
11         }, \r
12         panels: {\r
13           through: 'scroll_panel',\r
14         }, \r
15       },\r
16     },\r
17     attributes: {\r
18       title: {\r
19         type: 'text',\r
20         rules : {\r
21           required: true,\r
22         }\r
23       },\r
24       description: {\r
25         type: 'text',\r
26         rules : {\r
27         }\r
28       },\r
29       visible: {\r
30         type: 'number',\r
31         rules : {\r
32           required: true,\r
33           number: true,\r
34         },\r
35         source: {\r
36           type: 'magic_number',\r
37           args: {\r
38             select_item_name: 'scroll_visible_items',\r
39           },\r
40         },\r
41       },\r
42       author_id: {\r
43         type: 'number',\r
44         rules : {\r
45           required: true,\r
46           number: true,\r
47         },\r
48       },\r
49     },\r
50     lists: {\r
51       public: {\r
52         type: 'public',\r
53       },\r
54       private: {\r
55         type: 'private',\r
56       },\r
57       by_author: {\r
58         type: 'filter',\r
59         args: {\r
60         },\r
61       },\r
62       by_panel: {\r
63         type: 'through_filter',\r
64         args: {\r
65           through: 'scroll_panels',\r
66         },\r
67       },\r
68       play: {\r
69         type: 'play',\r
70         args: {\r
71           filter_item_name: 'scroll',\r
72           filter_model_name: 'scroll_panel',\r
73           filter_key: 'scroll_id',\r
74         },\r
75       },\r
76     },\r
77   },\r
78   scroll_panel: {\r
79     associations: {\r
80       belongs_to: {\r
81         panel: {\r
82         }, \r
83         scroll: {\r
84         }, \r
85       },\r
86       has_many: {\r
87       },\r
88     },\r
89     attributes: {\r
90       scroll_id: {\r
91         type: 'number',\r
92         rules : {\r
93           required: true,\r
94           number: true,\r
95         }\r
96       },\r
97       panel_id: {\r
98         type: 'number',\r
99         rules : {\r
100           required: true,\r
101           number: true,\r
102         }\r
103       },\r
104       t: {\r
105         type: 'number',\r
106         rules : {\r
107           required: true,\r
108           number: true,\r
109           min: 0,\r
110         }\r
111       },\r
112       author_id: {\r
113         type: 'number',\r
114         rules : {\r
115           required: true,\r
116           number: true,\r
117         }\r
118       },\r
119     },\r
120     tree: {\r
121       owner: 'scroll',\r
122     },\r
123     lists: {\r
124       public: {\r
125         type: 'public',\r
126       },\r
127       private: {\r
128         type: 'private',\r
129       },\r
130       by_scroll: {\r
131         type: 'filter',\r
132       },\r
133       by_panel: {\r
134         type: 'filter',\r
135       },\r
136     },\r
137   },\r
138   comic: {\r
139     associations: {\r
140       belongs_to: {\r
141         author: {\r
142         }, \r
143       },\r
144       has_many: {\r
145         stories: {\r
146         }, \r
147       },\r
148     },\r
149     attributes: {\r
150       title: {\r
151         type: 'text',\r
152         rules : {\r
153           required: true,\r
154         }\r
155       },\r
156       description: {\r
157         type: 'text',\r
158         rules : {\r
159         }\r
160       },\r
161       visible: {\r
162         type: 'number',\r
163         rules : {\r
164           required: true,\r
165           number: true,\r
166         },\r
167         source: {\r
168           type: 'magic_number',\r
169           args: {\r
170             select_item_name: 'comic_visible_items',\r
171           },\r
172         },\r
173       },\r
174       author_id: {\r
175         type: 'number',\r
176         rules : {\r
177           required: true,\r
178           number: true,\r
179         }\r
180       },\r
181     },\r
182     lists: {\r
183       public: {\r
184         type: 'public',\r
185       },\r
186       private: {\r
187         type: 'private',\r
188       },\r
189       by_author: {\r
190         type: 'filter',\r
191       },\r
192     },\r
193   },\r
194   story: {\r
195     associations: {\r
196       belongs_to: {\r
197         comic: {\r
198         }, \r
199       },\r
200       has_many: {\r
201         story_sheets: {\r
202         }, \r
203         sheets: {\r
204           through: 'story_sheets',\r
205         }, \r
206       },\r
207     },\r
208     attributes: {\r
209       comic_id: {\r
210         type: 'number',\r
211         rules : {\r
212           number: true,\r
213         }\r
214       },\r
215       title: {\r
216         type: 'text',\r
217         rules : {\r
218         }\r
219       },\r
220       description: {\r
221         type: 'text',\r
222         rules : {\r
223         }\r
224       },\r
225       t: {\r
226         type: 'number',\r
227         rules : {\r
228           required: true,\r
229           number: true,\r
230           min: 0,\r
231         }\r
232       },\r
233       visible: {\r
234         type: 'number',\r
235         rules : {\r
236           required: true,\r
237           number: true,\r
238         },\r
239         source: {\r
240           type: 'magic_number',\r
241           args: {\r
242             select_item_name: 'story_visible_items',\r
243           },\r
244         },\r
245       },\r
246     },\r
247     tree: {\r
248       owner: 'comic',\r
249     },\r
250     lists: {\r
251       public: {\r
252         type: 'public',\r
253       },\r
254       private: {\r
255         type: 'private',\r
256       },\r
257       by_comic: {\r
258         type: 'filter',\r
259       },\r
260       by_sheet: {\r
261         type: 'through_filter',\r
262         args: {\r
263           through: 'story_sheets',\r
264         },\r
265       },\r
266       by_author: {\r
267         type: 'foreign_filter',\r
268       },\r
269       play: {\r
270         type: 'play',\r
271       },\r
272     },\r
273   },\r
274   story_sheet: {\r
275     associations: {\r
276       belongs_to: {\r
277         story: {\r
278         }, \r
279         sheet: {\r
280         }, \r
281       },\r
282       has_many: {\r
283       },\r
284     },\r
285     attributes: {\r
286       story_id: {\r
287         type: 'number',\r
288         rules : {\r
289           number: true,\r
290         }\r
291       },\r
292       sheet_id: {\r
293         type: 'number',\r
294         rules : {\r
295           number: true,\r
296         }\r
297       },\r
298       t: {\r
299         type: 'number',\r
300         rules : {\r
301           required: true,\r
302           number: true,\r
303           min: 0,\r
304         }\r
305       },\r
306       author_id: {\r
307         type: 'number',\r
308         rules : {\r
309           required: true,\r
310           number: true,\r
311         }\r
312       },\r
313     },\r
314     tree: {\r
315       owner: 'story',\r
316     },\r
317     lists: {\r
318       public: {\r
319         type: 'public',\r
320       },\r
321       private: {\r
322         type: 'private',\r
323       },\r
324       by_story: {\r
325         type: 'filter',\r
326       },\r
327       by_sheet: {\r
328         type: 'filter',\r
329       },\r
330     },\r
331   },\r
332   sheet: {\r
333     associations: {\r
334       belongs_to: {\r
335         author: {\r
336         }, \r
337       },\r
338       has_many: {\r
339         story_sheets: {\r
340         }, \r
341         stories: {\r
342           through: 'story_sheets',\r
343         }, \r
344         sheet_panels: {\r
345         }, \r
346         panels: {\r
347           through: 'sheet_panels',\r
348         }, \r
349       },\r
350     },\r
351     attributes: {\r
352       caption: {\r
353         type: 'text',\r
354         rules : {\r
355         }\r
356       },\r
357       width: {\r
358         type: 'number',\r
359         rules : {\r
360           required: true,\r
361           number: true,\r
362         }\r
363       },\r
364       height: {\r
365         type: 'number',\r
366         rules : {\r
367           required: true,\r
368           number: true,\r
369         }\r
370       },\r
371       visible: {\r
372         type: 'number',\r
373         rules : {\r
374           required: true,\r
375           number: true,\r
376         },\r
377         source: {\r
378           type: 'magic_number',\r
379           args: {\r
380             select_item_name: 'sheet_visible_items',\r
381           },\r
382         },\r
383       },\r
384       author_id: {\r
385         type: 'number',\r
386         rules : {\r
387           required: true,\r
388           number: true,\r
389         }\r
390       },\r
391     },\r
392     lists: {\r
393       public: {\r
394         type: 'public',\r
395       },\r
396       private: {\r
397         type: 'private',\r
398       },\r
399       by_story: {\r
400         type: 'through_filter',\r
401         args: {\r
402           through: 'story_sheets',\r
403         },\r
404       },\r
405       by_panel: {\r
406         type: 'through_filter',\r
407         args: {\r
408           through: 'sheet_panels',\r
409         },\r
410       },\r
411       by_author: {\r
412         type: 'filter',\r
413       },\r
414       play: {\r
415         type: 'play',\r
416       },\r
417     },\r
418   },\r
419   sheet_panel: {\r
420     associations: {\r
421       belongs_to: {\r
422         sheet: {\r
423         }, \r
424         panel: {\r
425         }, \r
426       },\r
427       has_many: {\r
428       },\r
429     },\r
430     attributes: {\r
431       sheet_id: {\r
432         type: 'number',\r
433         rules : {\r
434           number: true,\r
435         }\r
436       },\r
437       panel_id: {\r
438         type: 'number',\r
439         rules : {\r
440           number: true,\r
441         }\r
442       },\r
443       x: {\r
444         type: 'number',\r
445         rules : {\r
446           required: true,\r
447           number: true,\r
448         }\r
449       },\r
450       y: {\r
451         type: 'number',\r
452         rules : {\r
453           required: true,\r
454           number: true,\r
455         }\r
456       },\r
457       z: {\r
458         type: 'number',\r
459         rules : {\r
460           required: true,\r
461           number: true,\r
462           min: 1,\r
463         }\r
464       },\r
465       t: {\r
466         type: 'number',\r
467         rules : {\r
468           required: true,\r
469           number: true,\r
470           min: 0,\r
471         }\r
472       },\r
473       author_id: {\r
474         type: 'number',\r
475         rules : {\r
476           number: true,\r
477         }\r
478       },\r
479     },\r
480     tree: {\r
481       owner: 'sheet',\r
482     },\r
483     lists: {\r
484       public: {\r
485         type: 'public',\r
486       },\r
487       private: {\r
488         type: 'private',\r
489       },\r
490       by_sheet: {\r
491         type: 'filter',\r
492       },\r
493       by_panel: {\r
494         type: 'filter',\r
495       },\r
496     },\r
497   },\r
498   panel: {\r
499     associations: {\r
500       belongs_to: {\r
501         author: {\r
502         }, \r
503       },\r
504       has_many: {\r
505         scroll_panels: {\r
506         }, \r
507         scrolls: {\r
508           through: 'scroll_panels',\r
509         }, \r
510         sheet_panels: {\r
511         }, \r
512         sheets: {\r
513           through: 'sheet_panels',\r
514         }, \r
515         panel_pictures: {\r
516         }, \r
517         speech_balloons: {\r
518         }, \r
519         ground_pictures: {\r
520         }, \r
521         ground_colors: {\r
522         }, \r
523       },\r
524     },\r
525     attributes: {\r
526       width: {\r
527         type: 'number',\r
528         rules : {\r
529           required: true,\r
530           number: true,\r
531           min: 1,\r
532         }\r
533       },\r
534       height: {\r
535         type: 'number',\r
536         rules : {\r
537           required: true,\r
538           number: true,\r
539           min: 1,\r
540         }\r
541       },\r
542       border: {\r
543         type: 'number',\r
544         rules : {\r
545           required: true,\r
546           number: true,\r
547           min: 0,\r
548         }\r
549       },\r
550       caption: {\r
551         type: 'text',\r
552         rules : {\r
553         }\r
554       },\r
555       publish: {\r
556         type: 'number',\r
557         rules : {\r
558           required: true,\r
559           number: true,\r
560         },\r
561         source: {\r
562           type: 'magic_number',\r
563           args: {\r
564             select_item_name: 'panel_visible_items',\r
565           },\r
566         },\r
567       },\r
568       author_id: {\r
569         type: 'number',\r
570         rules : {\r
571           required: true,\r
572           number: true,\r
573         }\r
574       },\r
575     },\r
576     lists: {\r
577       public: {\r
578         type: 'public',\r
579       },\r
580       private: {\r
581         type: 'private',\r
582       },\r
583       by_scroll: {\r
584         type: 'through_filter',\r
585         args: {\r
586           through: 'scroll_panels',\r
587         },\r
588       },\r
589       by_sheet: {\r
590         type: 'through_filter',\r
591         args: {\r
592           through: 'sheet_panels',\r
593         },\r
594       },\r
595       by_author: {\r
596         type: 'filter',\r
597       },\r
598       by_speech_balloon_template: {\r
599         type: 'through_filter',\r
600       },\r
601     },\r
602   },\r
603   panel_picture: {\r
604     associations: {\r
605       belongs_to: {\r
606         panel: {\r
607         }, \r
608       },\r
609       has_many: {\r
610       },\r
611     },\r
612     attributes: {\r
613       panel_id: {\r
614         type: 'number',\r
615         rules : {\r
616           number: true,\r
617         }\r
618       },\r
619       picture_id: {\r
620         type: 'number',\r
621         rules : {\r
622           required: true,\r
623           number: true,\r
624         }\r
625       },\r
626       caption: {\r
627         type: 'text',\r
628         rules : {\r
629         }\r
630       },\r
631       x: {\r
632         type: 'number',\r
633         rules : {\r
634           required: true,\r
635           number: true,\r
636         }\r
637       },\r
638       y: {\r
639         type: 'number',\r
640         rules : {\r
641           required: true,\r
642           number: true,\r
643         }\r
644       },\r
645       width: {\r
646         type: 'number',\r
647         rules : {\r
648           required: true,\r
649           number: true,\r
650         }\r
651       },\r
652       height: {\r
653         type: 'number',\r
654         rules : {\r
655           required: true,\r
656           number: true,\r
657         }\r
658       },\r
659       link: {\r
660         type: 'text',\r
661         rules : {\r
662           url: true,\r
663         }\r
664       },\r
665       z: {\r
666         type: 'number',\r
667         rules : {\r
668           required: true,\r
669           number: true,\r
670           min: 1,\r
671         }\r
672       },\r
673       t: {\r
674         type: 'number',\r
675         rules : {\r
676           required: true,\r
677           number: true,\r
678           min: 0,\r
679         }\r
680       },\r
681     },\r
682     tree: {\r
683       owner: 'panel',\r
684       panel: 'panel',\r
685     },\r
686     lists: {\r
687       public: {\r
688         type: 'public',\r
689       },\r
690       private: {\r
691         type: 'private',\r
692       },\r
693       by_panel: {\r
694         type: 'filter',\r
695         args: {\r
696           where_name: 'public_list_where',\r
697         },\r
698       },\r
699       by_author: {\r
700         type: 'foreign_filter',\r
701         args: {\r
702           tree_name: 'owner',\r
703         },\r
704       },\r
705     },\r
706   },\r
707   speech_balloon: {\r
708     extend_column_name: 'classname', \r
709     associations: {\r
710       belongs_to: {\r
711         panel: {\r
712         }, \r
713       },\r
714       has_many: {\r
715       },\r
716       has_one: {\r
717         balloon: {\r
718         }, \r
719         speech: {\r
720         }, \r
721       },\r
722     },\r
723     attributes: {\r
724       panel_id: {\r
725         type: 'number',\r
726         rules : {\r
727           number: true,\r
728         }\r
729       },\r
730       speech_balloon_template_id: {\r
731         type: 'number',\r
732         rules : {\r
733           required: true,\r
734           number: true,\r
735         }\r
736       },\r
737       classname: {\r
738         type: 'text',\r
739         rules : {\r
740           required: true,\r
741         }\r
742       },\r
743       z: {\r
744         type: 'number',\r
745         rules : {\r
746           required: true,\r
747           number: true,\r
748           min: 1,\r
749         }\r
750       },\r
751       t: {\r
752         type: 'number',\r
753         rules : {\r
754           required: true,\r
755           number: true,\r
756           min: 0,\r
757         }\r
758       },\r
759       settings: {\r
760         type: 'text',\r
761         rules : {\r
762         }\r
763       },\r
764       caption: {\r
765         type: 'text',\r
766         rules : {\r
767         }\r
768       },\r
769     },\r
770     tree: {\r
771       owner: 'panel',\r
772       panel: 'panel',\r
773     },\r
774     lists: {\r
775       public: {\r
776         type: 'public',\r
777       },\r
778       private: {\r
779         type: 'private',\r
780       },\r
781       by_panel: {\r
782         type: 'filter',\r
783       },\r
784       by_speech_balloon_template: {\r
785         type: 'filter',\r
786       },\r
787       by_author: {\r
788         type: 'foreign_filter',\r
789       },\r
790     },\r
791   }, \r
792   balloon: {\r
793     associations: {\r
794       belongs_to: {\r
795         speech_balloon: {\r
796         }, \r
797         system_picture: {\r
798         }, \r
799       },\r
800       has_many: {\r
801       },\r
802     },\r
803     attributes: {\r
804       speech_balloon_id: {\r
805         type: 'number',\r
806         rules : {\r
807           number: true,\r
808         }\r
809       },\r
810       system_picture_id: {\r
811         type: 'number',\r
812         rules : {\r
813           required: true,\r
814           number: true,\r
815         }\r
816       },\r
817       x: {\r
818         type: 'number',\r
819         rules : {\r
820           required: true,\r
821           number: true,\r
822         }\r
823       },\r
824       y: {\r
825         type: 'number',\r
826         rules : {\r
827           required: true,\r
828           number: true,\r
829         }\r
830       },\r
831       width: {\r
832         type: 'number',\r
833         rules : {\r
834           required: true,\r
835           number: true,\r
836           min: 1,\r
837         }\r
838       },\r
839       height: {\r
840         type: 'number',\r
841         rules : {\r
842           required: true,\r
843           number: true,\r
844           min: 1,\r
845         }\r
846       },\r
847       r: {\r
848         type: 'number',\r
849         rules : {\r
850           required: true,\r
851           number: true,\r
852         }\r
853       },\r
854       settings: {\r
855         type: 'text',\r
856         rules : {\r
857         }\r
858       },\r
859     },\r
860     tree: {\r
861       owner: 'speech_balloon',\r
862       panel: 'speech_balloon',\r
863     },\r
864     lists: {\r
865       public: {\r
866         type: 'public',\r
867       },\r
868       private: {\r
869         type: 'private',\r
870       },\r
871       by_panel: {\r
872         type: 'filter',\r
873       },\r
874       by_speech_balloon: {\r
875         type: 'filter',\r
876       },\r
877       by_author: {\r
878         type: 'foreign_filter',\r
879       },\r
880     },\r
881   },\r
882   speech: {\r
883     associations: {\r
884       belongs_to: {\r
885         speech_balloon: {\r
886         }, \r
887         writing_format: {\r
888         }, \r
889       },\r
890       has_many: {\r
891       },\r
892     },\r
893     attributes: {\r
894       speech_balloon_id: {\r
895         type: 'number',\r
896         rules : {\r
897           number: true,\r
898         }\r
899       },\r
900       writing_format_id: {\r
901         type: 'number',\r
902         source: {\r
903           type: 'model',\r
904         },\r
905         rules : {\r
906           required: true,\r
907           number: true,\r
908         }\r
909       },\r
910       content: {\r
911         type: 'text',\r
912         rules : {\r
913         }\r
914       },\r
915       font_size: {\r
916         type: 'float',\r
917         rules : {\r
918           required: true,\r
919           number: true,\r
920           min: 0,\r
921         },\r
922         source: {\r
923           type: 'magic_number',\r
924           args: {\r
925             select_item_name: 'speech_font_size_items',\r
926           },\r
927         },\r
928       },\r
929       text_align: {\r
930         type: 'number',\r
931         rules : {\r
932           required: true,\r
933           number: true,\r
934           range: [0, 3],\r
935         },\r
936         source: {\r
937           type: 'magic_number',\r
938           args: {\r
939             select_item_name: 'speech_text_align_items',\r
940           },\r
941         },\r
942       },\r
943       fore_color: {\r
944         type: 'number',\r
945         rules : {\r
946           required: true,\r
947           number: true,\r
948           range: [0, 0xffffff],\r
949         }\r
950       },\r
951       x: {\r
952         type: 'number',\r
953         rules : {\r
954           required: true,\r
955           number: true,\r
956         }\r
957       },\r
958       y: {\r
959         type: 'number',\r
960         rules : {\r
961           required: true,\r
962           number: true,\r
963         }\r
964       },\r
965       width: {\r
966         type: 'number',\r
967         rules : {\r
968           required: true,\r
969           number: true,\r
970           min: 1,\r
971         }\r
972       },\r
973       height: {\r
974         type: 'number',\r
975         rules : {\r
976           required: true,\r
977           number: true,\r
978           min: 1,\r
979         }\r
980       },\r
981       quotes: {\r
982         type: 'text',\r
983         rules : {\r
984         }\r
985       },\r
986       settings: {\r
987         type: 'text',\r
988         rules : {\r
989         }\r
990       },\r
991     },\r
992     tree: {\r
993       owner: 'speech_balloon',\r
994       panel: 'speech_balloon',\r
995     },\r
996     lists: {\r
997       public: {\r
998         type: 'public',\r
999       },\r
1000       by_speech_balloon: {\r
1001         type: 'filter',\r
1002       },\r
1003       by_writing_format: {\r
1004         type: 'filter',\r
1005       },\r
1006     },\r
1007   },\r
1008   ground_picture: {\r
1009     associations: {\r
1010       belongs_to: {\r
1011         panel: {\r
1012         }, \r
1013       },\r
1014       has_many: {\r
1015       },\r
1016     },\r
1017     attributes: {\r
1018       panel_id: {\r
1019         type: 'number',\r
1020         rules : {\r
1021           number: true,\r
1022         }\r
1023       },\r
1024       picture_id: {\r
1025         type: 'number',\r
1026         rules : {\r
1027           required: true,\r
1028           number: true,\r
1029         }\r
1030       },\r
1031       caption: {\r
1032         type: 'text',\r
1033         rules : {\r
1034         }\r
1035       },\r
1036       repeat: {\r
1037         type: 'number',\r
1038         rules : {\r
1039           required: true,\r
1040           number: true,\r
1041           range: [0, 3],\r
1042         },\r
1043         source: {\r
1044           type: 'magic_number',\r
1045           args: {\r
1046             select_item_name: 'ground_picture_repeat_items',\r
1047           },\r
1048         },\r
1049       },\r
1050       x: {\r
1051         type: 'number',\r
1052         rules : {\r
1053           required: true,\r
1054           number: true,\r
1055         }\r
1056       },\r
1057       y: {\r
1058         type: 'number',\r
1059         rules : {\r
1060           required: true,\r
1061           number: true,\r
1062         }\r
1063       },\r
1064       z: {\r
1065         type: 'number',\r
1066         rules : {\r
1067           required: true,\r
1068           number: true,\r
1069           min: 1,\r
1070         }\r
1071       },\r
1072       t: {\r
1073         type: 'number',\r
1074         rules : {\r
1075           required: true,\r
1076           number: true,\r
1077           min: 0,\r
1078         }\r
1079       },\r
1080     },\r
1081     tree: {\r
1082       owner: 'panel',\r
1083       panel: 'panel',\r
1084     },\r
1085     lists: {\r
1086       public: {\r
1087         type: 'public',\r
1088       },\r
1089       private: {\r
1090         type: 'private',\r
1091       },\r
1092       by_panel: {\r
1093         type: 'filter',\r
1094       },\r
1095       by_author: {\r
1096         type: 'foreign_filter',\r
1097       },\r
1098     },\r
1099   },\r
1100   ground_color: {\r
1101     associations: {\r
1102       belongs_to: {\r
1103         panel: {\r
1104         }, \r
1105       },\r
1106       has_many: {\r
1107       },\r
1108     },\r
1109     attributes: {\r
1110       panel_id: {\r
1111         type: 'number',\r
1112         rules : {\r
1113           number: true,\r
1114         }\r
1115       },\r
1116       caption: {\r
1117         type: 'text',\r
1118         rules : {\r
1119         }\r
1120       },\r
1121       code: {\r
1122         type: 'number',\r
1123         rules : {\r
1124           required: true,\r
1125           number: true,\r
1126           range: [0, 0xffffff],\r
1127         }\r
1128       },\r
1129       orientation: {\r
1130         type: 'number',\r
1131         rules : {\r
1132           required: true,\r
1133           number: true,\r
1134           range: [0, 1],\r
1135         },\r
1136         source: {\r
1137           type: 'magic_number',\r
1138           args: {\r
1139             select_item_name: 'ground_color_orientation_items',\r
1140           },\r
1141         },\r
1142       },\r
1143       xy: {\r
1144         type: 'number',\r
1145         rules : {\r
1146           number: true,\r
1147         }\r
1148       },\r
1149       wh: {\r
1150         type: 'number',\r
1151         rules : {\r
1152           number: true,\r
1153         }\r
1154       },\r
1155       z: {\r
1156         type: 'number',\r
1157         rules : {\r
1158           required: true,\r
1159           number: true,\r
1160           min: 1,\r
1161         }\r
1162       },\r
1163       t: {\r
1164         type: 'number',\r
1165         rules : {\r
1166           required: true,\r
1167           number: true,\r
1168           min: 0,\r
1169         }\r
1170       },\r
1171     },\r
1172     tree: {\r
1173       owner: 'panel',\r
1174       panel: 'panel',\r
1175     },\r
1176     lists: {\r
1177       public: {\r
1178         type: 'public',\r
1179       },\r
1180       private: {\r
1181         type: 'private',\r
1182       },\r
1183       by_panel: {\r
1184         type: 'filter',\r
1185       },\r
1186       by_author: {\r
1187         type: 'foreign_filter',\r
1188       },\r
1189     },\r
1190   },\r
1191   original_picture: {\r
1192     associations: {\r
1193       belongs_to: {\r
1194         artist: {\r
1195         }, \r
1196       },\r
1197       has_many: {\r
1198         pictures: {\r
1199         }, \r
1200       },\r
1201       has_one: {\r
1202         resource_picture: {\r
1203         }, \r
1204       },\r
1205     },\r
1206     attributes: {\r
1207       ext: {\r
1208         type: 'text',\r
1209         rules : {\r
1210           required: true,\r
1211         }\r
1212       },\r
1213       width: {\r
1214         type: 'number',\r
1215         rules : {\r
1216           required: true,\r
1217           number: true,\r
1218         }\r
1219       },\r
1220       height: {\r
1221         type: 'number',\r
1222         rules : {\r
1223           required: true,\r
1224           number: true,\r
1225         }\r
1226       },\r
1227       filesize: {\r
1228         type: 'number',\r
1229         rules : {\r
1230           required: true,\r
1231           number: true,\r
1232         }\r
1233       },\r
1234       artist_id: {\r
1235         type: 'number',\r
1236         rules : {\r
1237           required: true,\r
1238           number: true,\r
1239         }\r
1240       },\r
1241       md5: {\r
1242         type: 'text',\r
1243         rules : {\r
1244           required: true,\r
1245           required: true,\r
1246         }\r
1247       },\r
1248       uploaded_at: {\r
1249         type: 'datetime',\r
1250       },\r
1251       published_at: {\r
1252         type: 'datetime',\r
1253       },\r
1254       stopped_at: {\r
1255         type: 'datetime',\r
1256       },\r
1257     },\r
1258     lists: {\r
1259       private: {\r
1260         type: 'private',\r
1261       },\r
1262     },\r
1263   },\r
1264   picture: {\r
1265     associations: {\r
1266       belongs_to: {\r
1267         license: {\r
1268         }, \r
1269         artist: {\r
1270         }, \r
1271       },\r
1272       has_many: {\r
1273       },\r
1274       has_one: {\r
1275       },\r
1276     },\r
1277     attributes: {\r
1278       original_picture_id: {\r
1279         type: 'number',\r
1280         rules : {\r
1281           required: true,\r
1282           number: true,\r
1283         }\r
1284       },\r
1285       revision: {\r
1286         type: 'number',\r
1287         rules : {\r
1288           required: true,\r
1289           number: true,\r
1290         }\r
1291       },\r
1292       ext: {\r
1293         type: 'text',\r
1294         rules : {\r
1295           required: true,\r
1296         }\r
1297       },\r
1298       width: {\r
1299         type: 'number',\r
1300         rules : {\r
1301           required: true,\r
1302           number: true,\r
1303         }\r
1304       },\r
1305       height: {\r
1306         type: 'number',\r
1307         rules : {\r
1308           required: true,\r
1309           number: true,\r
1310         }\r
1311       },\r
1312       filesize: {\r
1313         type: 'number',\r
1314         rules : {\r
1315           required: true,\r
1316           number: true,\r
1317         }\r
1318       },\r
1319       artist_id: {\r
1320         type: 'number',\r
1321         rules : {\r
1322           required: true,\r
1323           number: true,\r
1324         }\r
1325       },\r
1326       license_id: {\r
1327         type: 'number',\r
1328         rules : {\r
1329           required: true,\r
1330           number: true,\r
1331         }\r
1332       },\r
1333       md5: {\r
1334         type: 'text',\r
1335         rules : {\r
1336           required: true,\r
1337         }\r
1338       },\r
1339       artist_name: {\r
1340         type: 'text',\r
1341         rules : {\r
1342           required: true,\r
1343         }\r
1344       },\r
1345       credit: {\r
1346         type: 'text',\r
1347         rules : {\r
1348         }\r
1349       },\r
1350       settings: {\r
1351         type: 'text',\r
1352         rules : {\r
1353         }\r
1354       },\r
1355       classname: {\r
1356         type: 'text',\r
1357         rules : {\r
1358           required: true,\r
1359         }\r
1360       },\r
1361     }\r
1362   },\r
1363   resource_picture: {\r
1364     associations: {\r
1365       belongs_to: {\r
1366         original_picture: {\r
1367         }, \r
1368         license: {\r
1369         }, \r
1370         artist: {\r
1371         }, \r
1372       },\r
1373       has_many: {\r
1374       },\r
1375       has_one: {\r
1376       },\r
1377     },\r
1378     attributes: {\r
1379       original_picture_id: {\r
1380         type: 'number',\r
1381         rules : {\r
1382           required: true,\r
1383           number: true,\r
1384         }\r
1385       },\r
1386       revision: {\r
1387         type: 'number',\r
1388         rules : {\r
1389           required: true,\r
1390           number: true,\r
1391         }\r
1392       },\r
1393       ext: {\r
1394         type: 'text',\r
1395         rules : {\r
1396           required: true,\r
1397         }\r
1398       },\r
1399       width: {\r
1400         type: 'number',\r
1401         rules : {\r
1402           required: true,\r
1403           number: true,\r
1404         }\r
1405       },\r
1406       height: {\r
1407         type: 'number',\r
1408         rules : {\r
1409           required: true,\r
1410           number: true,\r
1411         }\r
1412       },\r
1413       filesize: {\r
1414         type: 'number',\r
1415         rules : {\r
1416           required: true,\r
1417           number: true,\r
1418         }\r
1419       },\r
1420       artist_id: {\r
1421         type: 'number',\r
1422         rules : {\r
1423           required: true,\r
1424           number: true,\r
1425         }\r
1426       },\r
1427       license_id: {\r
1428         type: 'number',\r
1429         rules : {\r
1430           required: true,\r
1431           number: true,\r
1432         }\r
1433       },\r
1434       md5: {\r
1435         type: 'text',\r
1436         rules : {\r
1437           required: true,\r
1438         }\r
1439       },\r
1440       artist_name: {\r
1441         type: 'text',\r
1442         rules : {\r
1443           required: true,\r
1444         }\r
1445       },\r
1446       credit: {\r
1447         type: 'text',\r
1448         rules : {\r
1449         }\r
1450       },\r
1451       settings: {\r
1452         type: 'text',\r
1453         rules : {\r
1454         }\r
1455       },\r
1456       picture_id: {\r
1457         type: 'number',\r
1458         rules : {\r
1459           required: true,\r
1460           number: true,\r
1461         }\r
1462       },\r
1463       classname: {\r
1464         type: 'text',\r
1465         rules : {\r
1466           required: true,\r
1467         }\r
1468       },\r
1469     },\r
1470     lists: {\r
1471       public: {\r
1472         type: 'public',\r
1473       },\r
1474       private: {\r
1475         type: 'private',\r
1476       },\r
1477       by_original_picture: {\r
1478         type: 'filter',\r
1479       },\r
1480       by_license: {\r
1481         type: 'filter',\r
1482       },\r
1483       by_artist: {\r
1484         type: 'filter',\r
1485       },\r
1486     },\r
1487   },\r
1488   speech_balloon_template: {\r
1489     extend_column_name: 'classname', \r
1490     associations: {\r
1491       belongs_to: {\r
1492         system_picture: {\r
1493         }, \r
1494       },\r
1495       has_many: {\r
1496         speech_balloons: {\r
1497         }, \r
1498         panels: {\r
1499           through: 'speech_balloons',\r
1500         }, \r
1501       },\r
1502       has_one: {\r
1503       },\r
1504     },\r
1505     attributes: {\r
1506       name: {\r
1507         type: 'text',\r
1508         rules : {\r
1509           required: true,\r
1510         }\r
1511       },\r
1512       classname: {\r
1513         type: 'text',\r
1514         rules : {\r
1515           required: true,\r
1516         }\r
1517       },\r
1518       caption: {\r
1519         type: 'text',\r
1520         rules : {\r
1521           required: true,\r
1522         }\r
1523       },\r
1524       t: {\r
1525         type: 'number',\r
1526         rules : {\r
1527           required: true,\r
1528           number: true,\r
1529           min: 0,\r
1530         }\r
1531       },\r
1532       system_picture_id: {\r
1533         type: 'number',\r
1534         rules : {\r
1535           required: true,\r
1536           number: true,\r
1537         }\r
1538       },\r
1539       settings: {\r
1540         type: 'text',\r
1541         rules : {\r
1542           required: true,\r
1543         }\r
1544       },\r
1545     },\r
1546     lists: {\r
1547       public: {\r
1548         type: 'public',\r
1549       },\r
1550       select_items: {\r
1551         type: 'system_resource',\r
1552         args: {\r
1553           select_item_name: 'panel_visible_items',\r
1554         },\r
1555       },\r
1556     },\r
1557   },\r
1558   writing_format: {\r
1559     extend_column_name: 'classname', \r
1560     associations: {\r
1561       belongs_to: {\r
1562         system_picture: {\r
1563         }, \r
1564       },\r
1565       has_many: {\r
1566         speeches: {\r
1567         }, \r
1568       },\r
1569       has_one: {\r
1570       },\r
1571     },\r
1572     attributes: {\r
1573       name: {\r
1574         type: 'text',\r
1575         rules : {\r
1576           required: true,\r
1577         }\r
1578       },\r
1579       classname: {\r
1580         type: 'text',\r
1581         rules : {\r
1582           required: true,\r
1583         }\r
1584       },\r
1585       caption: {\r
1586         type: 'text',\r
1587         rules : {\r
1588           required: true,\r
1589         }\r
1590       },\r
1591       system_picture_id: {\r
1592         type: 'number',\r
1593         rules : {\r
1594           required: true,\r
1595           number: true,\r
1596         }\r
1597       },\r
1598       settings: {\r
1599         type: 'text',\r
1600         rules : {\r
1601           required: true,\r
1602         }\r
1603       },\r
1604     },\r
1605     lists: {\r
1606       public: {\r
1607         type: 'public',\r
1608       },\r
1609       select_items: {\r
1610         type: 'system_resource',\r
1611       },\r
1612       by_system_picture: {\r
1613         type: 'filter',\r
1614       },\r
1615     },\r
1616   },\r
1617   license_group: {\r
1618     extend_column_name: 'classname', \r
1619     associations: {\r
1620       belongs_to: {\r
1621       },\r
1622       has_many: {\r
1623         licenses: {\r
1624         }, \r
1625       },\r
1626       has_one: {\r
1627       },\r
1628     },\r
1629     attributes: {\r
1630       name: {\r
1631         type: 'text',\r
1632         rules : {\r
1633           required: true,\r
1634         }\r
1635       },\r
1636       classname: {\r
1637         type: 'text',\r
1638         rules : {\r
1639           required: true,\r
1640         }\r
1641       },\r
1642       caption: {\r
1643         type: 'text',\r
1644         rules : {\r
1645           required: true,\r
1646         }\r
1647       },\r
1648       url: {\r
1649         type: 'text',\r
1650         rules : {\r
1651           required: true,\r
1652         }\r
1653       },\r
1654     },\r
1655     lists: {\r
1656       public: {\r
1657         type: 'public',\r
1658       },\r
1659       select_items: {\r
1660         type: 'system_resource',\r
1661       },\r
1662     },\r
1663   },\r
1664   license: {\r
1665     associations: {\r
1666       belongs_to: {\r
1667         license_group: {\r
1668         }, \r
1669         system_picture: {\r
1670         }, \r
1671       },\r
1672       has_many: {\r
1673         resource_pictures: {\r
1674         }, \r
1675       },\r
1676       has_one: {\r
1677       },\r
1678     },\r
1679     attributes: {\r
1680       license_group_id: {\r
1681         type: 'number',\r
1682         rules : {\r
1683           number: true,\r
1684         }\r
1685       },\r
1686       name: {\r
1687         type: 'text',\r
1688         rules : {\r
1689           required: true,\r
1690         }\r
1691       },\r
1692       caption: {\r
1693         type: 'text',\r
1694         rules : {\r
1695           required: true,\r
1696         }\r
1697       },\r
1698       system_picture_id: {\r
1699         type: 'number',\r
1700         rules : {\r
1701           required: true,\r
1702           number: true,\r
1703         }\r
1704       },\r
1705       url: {\r
1706         type: 'text',\r
1707         rules : {\r
1708           required: true,\r
1709         }\r
1710       },\r
1711       settings: {\r
1712         type: 'text',\r
1713         rules : {\r
1714         }\r
1715       },\r
1716       credit_pictures: {\r
1717         type: 'text',\r
1718         rules : {\r
1719         }\r
1720       },\r
1721     },\r
1722     lists: {\r
1723       public: {\r
1724         type: 'public',\r
1725       },\r
1726       by_license_group: {\r
1727         type: 'filter',\r
1728       },\r
1729       by_system_picture: {\r
1730         type: 'filter',\r
1731       },\r
1732     },\r
1733   },\r
1734   author: {\r
1735     associations: {\r
1736       belongs_to: {\r
1737       },\r
1738       has_many: {\r
1739         scrolls: {\r
1740         }, \r
1741         comics: {\r
1742         }, \r
1743         stories: {\r
1744         }, \r
1745         sheets: {\r
1746         }, \r
1747         panels: {\r
1748         }, \r
1749       },\r
1750       has_one: {\r
1751       },\r
1752     },\r
1753     attributes: {\r
1754       name: {\r
1755         type: 'text',\r
1756         rules : {\r
1757           required: true,\r
1758         }\r
1759       },\r
1760       user_id: {\r
1761         type: 'number',\r
1762         rules : {\r
1763           required: true,\r
1764           number: true,\r
1765         }\r
1766       },\r
1767     },\r
1768     lists: {\r
1769       public: {\r
1770         type: 'public',\r
1771       },\r
1772     },\r
1773   },\r
1774   artist: {\r
1775     associations: {\r
1776       belongs_to: {\r
1777       },\r
1778       has_many: {\r
1779         resource_pictures: {\r
1780         }, \r
1781       },\r
1782       has_one: {\r
1783       },\r
1784     },\r
1785     attributes: {\r
1786       name: {\r
1787         type: 'text',\r
1788         rules : {\r
1789           required: true,\r
1790         }\r
1791       },\r
1792       author_id: {\r
1793         type: 'number',\r
1794         rules : {\r
1795           required: true,\r
1796           number: true,\r
1797         }\r
1798       },\r
1799     },\r
1800     lists: {\r
1801       public: {\r
1802         type: 'public',\r
1803       },\r
1804     },\r
1805   },\r
1806   system_picture: {\r
1807     associations: {\r
1808       belongs_to: {\r
1809       },\r
1810       has_many: {\r
1811         balloons: {\r
1812         }, \r
1813         speech_balloon_templates: {\r
1814         }, \r
1815         licenses: {\r
1816         }, \r
1817       },\r
1818       has_one: {\r
1819       },\r
1820     },\r
1821     attributes: {\r
1822       ext: {\r
1823         type: 'text',\r
1824         rules : {\r
1825           required: true,\r
1826         }\r
1827       },\r
1828       width: {\r
1829         type: 'number',\r
1830         rules : {\r
1831           required: true,\r
1832           number: true,\r
1833         }\r
1834       },\r
1835       height: {\r
1836         type: 'number',\r
1837         rules : {\r
1838           required: true,\r
1839           number: true,\r
1840         }\r
1841       },\r
1842       filesize: {\r
1843         type: 'number',\r
1844         rules : {\r
1845           required: true,\r
1846           number: true,\r
1847         }\r
1848       },\r
1849       md5: {\r
1850         type: 'text',\r
1851         rules : {\r
1852           required: true,\r
1853           required: true,\r
1854         }\r
1855       },\r
1856     },\r
1857     lists: {\r
1858       public: {\r
1859         type: 'public',\r
1860       },\r
1861     },\r
1862   },\r
1863 }\r
1864 \r