修訂 | 73 (tree) |
---|---|
時間 | 2008-04-02 22:17:45 |
作者 | junkikuchi |
updated.
@@ -31,7 +31,7 @@ | ||
31 | 31 | 'title' => 'index', |
32 | 32 | 'body' => '', |
33 | 33 | }, |
34 | - :relation => {'view' => 'view:resource.index'}, | |
34 | + :relation => {'view' => 'view:resource.index.view'}, | |
35 | 35 | }, |
36 | 36 | ], |
37 | 37 |
@@ -46,6 +46,21 @@ | ||
46 | 46 | :class => 'View', |
47 | 47 | :row => {'name' => 'index'}, |
48 | 48 | }, |
49 | + { | |
50 | + :name => 'resource.index.view', | |
51 | + :class => 'View', | |
52 | + :row => {'name' => 'view'}, | |
53 | + }, | |
54 | + { | |
55 | + :name => 'resource.index.new', | |
56 | + :class => 'View', | |
57 | + :row => {'name' => 'new'}, | |
58 | + }, | |
59 | + { | |
60 | + :name => 'resource.index.edit', | |
61 | + :class => 'View', | |
62 | + :row => {'name' => 'edit'}, | |
63 | + }, | |
49 | 64 | ], |
50 | 65 | |
51 | 66 | 'widget' => [ |
@@ -84,6 +99,13 @@ | ||
84 | 99 | :preference => {} |
85 | 100 | }, |
86 | 101 | { |
102 | + :name => 'session.user.content.view.html.menu', | |
103 | + :class => 'Widget::View::List', | |
104 | + :row => {}, | |
105 | + :relation => {'view' => 'view:resource.index'}, | |
106 | + :preference => {} | |
107 | + }, | |
108 | + { | |
87 | 109 | :name => 'session.user.content.view.html.title', |
88 | 110 | :class => 'Widget::Content::Header', |
89 | 111 | :row => {}, |
@@ -90,5 +112,44 @@ | ||
90 | 112 | :relation => {'view' => 'view:resource.index'}, |
91 | 113 | :preference => {} |
92 | 114 | }, |
115 | + { | |
116 | + :name => 'session.user.content.view.html.path', | |
117 | + :class => 'Widget::Content::Path', | |
118 | + :row => {}, | |
119 | + :relation => {'view' => 'view:resource.index'}, | |
120 | + :preference => {} | |
121 | + }, | |
122 | + { | |
123 | + :name => 'session.user.content.view.html.list', | |
124 | + :class => 'Widget::Content::List', | |
125 | + :row => {}, | |
126 | + :relation => {'view' => 'view:resource.index'}, | |
127 | + :preference => {} | |
128 | + }, | |
129 | + { | |
130 | + :name => 'session.user.content.view.html.view', | |
131 | + :class => 'Widget::Content::Wiki', | |
132 | + :row => {}, | |
133 | + :relation => {'view' => 'view:resource.index.view'}, | |
134 | + :preference => {} | |
135 | + }, | |
136 | + { | |
137 | + :name => 'session.user.content.view.html.new', | |
138 | + :class => 'Widget::Content::Form', | |
139 | + :row => {}, | |
140 | + :relation => {'view' => 'view:resource.index.new'}, | |
141 | + :preference => { | |
142 | + 'form.form.type' => 'new' | |
143 | + } | |
144 | + }, | |
145 | + { | |
146 | + :name => 'session.user.content.view.html.edit', | |
147 | + :class => 'Widget::Content::Form', | |
148 | + :row => {}, | |
149 | + :relation => {'view' => 'view:resource.index.edit'}, | |
150 | + :preference => { | |
151 | + 'form.form.type' => 'edit' | |
152 | + } | |
153 | + }, | |
93 | 154 | ], |
94 | 155 | } |
@@ -16,7 +16,7 @@ | ||
16 | 16 | preference_css 'content', 'textarea' |
17 | 17 | preference_css 'submit', 'input[type="submit"]' |
18 | 18 | |
19 | - preference 'preference' do |pref| | |
19 | + preference 'form' do |pref| | |
20 | 20 | pref.group('form') do |form| |
21 | 21 | form.edit 'type' do |type| |
22 | 22 | type.value = 'new' |
@@ -25,7 +25,7 @@ | ||
25 | 25 | end |
26 | 26 | |
27 | 27 | def form_type |
28 | - if preference.preference.form.type.value == 'edit' | |
28 | + if preference.form.form.type.value == 'edit' | |
29 | 29 | :edit |
30 | 30 | else |
31 | 31 | :new |
@@ -0,0 +1,21 @@ | ||
1 | +# | |
2 | +# Copyright (C) 2007, 2008 Jun Kikuchi <kikuchi@bonnou.com> | |
3 | +# | |
4 | + | |
5 | +Tenarai::ClassLoader.load_class('Widget::Content') | |
6 | + | |
7 | +require 'tenarai/wiki' | |
8 | + | |
9 | +class Widget | |
10 | + class Content | |
11 | + class Wiki < ::Widget | |
12 | + extend Tenarai::ClassLoader | |
13 | + | |
14 | + def render_html(xml, builder) | |
15 | + xml.tag('div', 'id' => html_id) do |div| | |
16 | + div << Tenarai::Wiki.new(resource.content.body) | |
17 | + end | |
18 | + end | |
19 | + end | |
20 | + end | |
21 | +end |
@@ -13,9 +13,17 @@ | ||
13 | 13 | def init(id=nil) |
14 | 14 | super |
15 | 15 | |
16 | - unless resource.content.view.include?(@content) | |
17 | - @content = resource.content.view | |
18 | - end unless resource.content.nil? | |
16 | + if @content.nil? | |
17 | + @content = resource.content.view | |
18 | + else | |
19 | + unless resource.content.view.parent.include?(@content) | |
20 | + raise Service::Redirect.new(uri(resource.content.view.id)) | |
21 | + else | |
22 | + if resource.content.view.parent.eql?(@content) | |
23 | + raise Service::Redirect.new(uri(resource.content.view.id)) | |
24 | + end | |
25 | + end | |
26 | + end | |
19 | 27 | |
20 | 28 | @content.widget.load(@service) |
21 | 29 | end |
@@ -12,9 +12,14 @@ | ||
12 | 12 | |
13 | 13 | def init(id=nil) |
14 | 14 | super |
15 | - unless resource.content.content.include?(@content) | |
15 | + | |
16 | + if @content.nil? | |
16 | 17 | @content = resource.content.content |
17 | - end unless resource.content.nil? | |
18 | + else | |
19 | + unless resource.content.content.include?(@content) | |
20 | + raise Service::Redirect.new(uri(resource.content.content.id)) | |
21 | + end | |
22 | + end | |
18 | 23 | end |
19 | 24 | |
20 | 25 | def new(row) |
@@ -11,7 +11,7 @@ | ||
11 | 11 | end |
12 | 12 | end |
13 | 13 | |
14 | - column Tenarai::DB::Date.new('log_date') | |
14 | + column Tenarai::DB::Date.new('date') | |
15 | 15 | column Tenarai::DB::Float.new('lat', :precision => 10, :scale => 6) |
16 | 16 | column Tenarai::DB::Float.new('lng', :precision => 10, :scale => 6) |
17 | 17 | column Tenarai::DB::Reference.new('content') |