• R/O
  • SSH
  • HTTPS

tenarai: 提交


Commit MetaInfo

修訂50 (tree)
時間2008-02-18 22:51:24
作者junkikuchi

Log Message

updated.

Change Summary

差異

--- trunk/Rakefile (revision 49)
+++ trunk/Rakefile (revision 50)
@@ -264,7 +264,7 @@
264264
265265 {
266266 :name => 'session.user.content.view.html.login.login_form',
267- :class => 'Widget::User::LoginForm',
267+ :class => 'Widget::User::Login',
268268 :row => {},
269269 :relation => {'view' => 'view:resource.login'},
270270 },
@@ -285,6 +285,22 @@
285285 },
286286
287287 {
288+ :name => 'session.user.content.view.html.admin.new_user',
289+ :class => 'Widget::User::Form',
290+ :row => {},
291+ :relation => {'view' => 'view:resource.admin'},
292+ :preference => {'preference.form.type' => 'new'}
293+ },
294+
295+ {
296+ :name => 'session.user.content.view.html.admin.edit_user',
297+ :class => 'Widget::User::Form',
298+ :row => {},
299+ :relation => {'view' => 'view:resource.admin'},
300+ :preference => {'preference.form.type' => 'edit'}
301+ },
302+
303+ {
288304 :name => 'session.user.content.view.html.admin.title',
289305 :class => 'Widget::Content::Title',
290306 :row => {},
@@ -330,7 +346,7 @@
330346 },
331347
332348 {
333- :name => 'session.user.content.view.html.admin.newform',
349+ :name => 'session.user.content.view.html.admin.new_content',
334350 :class => 'Widget::Content::Form',
335351 :row => {},
336352 :relation => {'view' => 'view:resource.admin'},
@@ -338,7 +354,7 @@
338354 },
339355
340356 {
341- :name => 'session.user.content.view.html.admin.editform',
357+ :name => 'session.user.content.view.html.admin.edit_content',
342358 :class => 'Widget::Content::Form',
343359 :row => {},
344360 :relation => {'view' => 'view:resource.admin'},
--- trunk/webapp/Widget/User/LoginForm.rb (revision 49)
+++ trunk/webapp/Widget/User/LoginForm.rb (nonexistent)
@@ -1,63 +0,0 @@
1-#
2-# Copyright (C) 2007, 2008 Jun Kikuchi <kikuchi@bonnou.com>
3-#
4-
5-Tenarai::ClassLoader.load_class('Widget::User')
6-
7-class Widget
8- class User
9- class LoginForm < ::Widget
10- extend Tenarai::ClassLoader
11-
12- preference_css 'box'
13- preference_css 'error', 'p'
14- preference_css 'label', 'label'
15- preference_css 'input', 'input[type="text"]', 'input[type="password"]'
16- preference_css 'submit', 'input[type="submit"]'
17-
18- def post(service, query={})
19- resource.login(query['username'], query['password'])
20- end
21-
22- def render_html(xml, builder)
23- xml.tag('div', 'id' => html_id) do |div|
24- div.tag(
25- 'form',
26- 'method' => 'post',
27- 'action' => resource.url
28- ) do |form|
29- form.tag('p') do |p|
30- p.text(@error)
31- end if @error
32-
33- form.tag('div') do |div|
34- _id = html_id('username')
35- div.tag('label', 'for' => _id).text('UserName:')
36- div.tag(
37- 'input',
38- 'id' => _id,
39- 'name' => _id,
40- 'type' => 'text',
41- 'value' => ''
42- )
43- div.tag('br')
44-
45- _id = html_id('password')
46- div.tag('label', 'for' => _id).text('Password:')
47- div.tag(
48- 'input',
49- 'id' => _id,
50- 'name' => _id,
51- 'type' => 'password',
52- 'value' => ''
53- )
54- div.tag('br')
55-
56- div.tag('input', 'type' => 'submit', 'value' => 'login')
57- end
58- end
59- end
60- end
61- end
62- end
63-end
--- trunk/webapp/Widget/User/Form.rb (nonexistent)
+++ trunk/webapp/Widget/User/Form.rb (revision 50)
@@ -0,0 +1,93 @@
1+#
2+# Copyright (C) 2008 Jun Kikuchi <kikuchi@bonnou.com>
3+#
4+
5+Tenarai::ClassLoader.load_class('Widget::User')
6+
7+class Widget
8+ class User
9+ class Form < ::Widget
10+ extend Tenarai::ClassLoader
11+
12+ preference_css 'box'
13+ preference_css 'msg', 'p'
14+ preference_css 'form_label', 'label'
15+ preference_css 'form_title', 'input'
16+ preference_css 'form_content', 'textarea'
17+ preference_css 'form_submit', 'input[type="submit"]'
18+
19+ preference 'preference' do |pref|
20+ pref.group('form') do |form|
21+ form.edit 'type' do |type|
22+ type.value = 'new'
23+ end
24+ end
25+ end
26+
27+ def form_type
28+ if preference.preference.form.type.value == 'edit'
29+ :edit
30+ else
31+ :new
32+ end
33+ end
34+ private :form_type
35+
36+ def post(service, query={})
37+ if form_type == :new
38+ resource.new(query)
39+ else
40+ resource.content.name = query['name']
41+ resource.content.password = query['password']
42+ resource.content.save
43+ end
44+ end
45+
46+ def render_html(xml, builder)
47+ name = if form_type == :new
48+ ''
49+ else
50+ resource.content.name
51+ end
52+
53+ xml.tag('div', 'id' => html_id) do |div|
54+ div.tag('form', 'method' => 'post', 'action' => url) do |form|
55+ form.tag('p') do |p|
56+ p.text(@msg)
57+ end if @msg
58+
59+ form.tag('div') do |div|
60+ div.tag('label') do |label|
61+ label.text('User Name:')
62+ label.tag(
63+ 'input',
64+ 'type' => 'text',
65+ 'name' => html_id('name'),
66+ 'value' => name
67+ )
68+ end
69+ div.tag('br')
70+
71+ div.tag('label') do |label|
72+ label.text('Password:')
73+ label.tag(
74+ 'input',
75+ 'type' => 'password',
76+ 'name' => html_id('password'),
77+ 'value' => ''
78+ )
79+ end
80+ div.tag('br')
81+
82+ div.tag(
83+ 'input',
84+ 'type' => 'submit',
85+ 'name' => html_id('submit')
86+ )
87+ end
88+ end
89+ end
90+ end
91+ end
92+ end
93+end
--- trunk/webapp/Widget/User/Login.rb (nonexistent)
+++ trunk/webapp/Widget/User/Login.rb (revision 50)
@@ -0,0 +1,63 @@
1+#
2+# Copyright (C) 2007, 2008 Jun Kikuchi <kikuchi@bonnou.com>
3+#
4+
5+Tenarai::ClassLoader.load_class('Widget::User')
6+
7+class Widget
8+ class User
9+ class Login < ::Widget
10+ extend Tenarai::ClassLoader
11+
12+ preference_css 'box'
13+ preference_css 'error', 'p'
14+ preference_css 'label', 'label'
15+ preference_css 'input', 'input[type="text"]', 'input[type="password"]'
16+ preference_css 'submit', 'input[type="submit"]'
17+
18+ def post(service, query={})
19+ resource.login(query['username'], query['password'])
20+ end
21+
22+ def render_html(xml, builder)
23+ xml.tag('div', 'id' => html_id) do |div|
24+ div.tag(
25+ 'form',
26+ 'method' => 'post',
27+ 'action' => resource.url
28+ ) do |form|
29+ form.tag('p') do |p|
30+ p.text(@error)
31+ end if @error
32+
33+ form.tag('div') do |div|
34+ _id = html_id('username')
35+ div.tag('label', 'for' => _id).text('UserName:')
36+ div.tag(
37+ 'input',
38+ 'id' => _id,
39+ 'name' => _id,
40+ 'type' => 'text',
41+ 'value' => ''
42+ )
43+ div.tag('br')
44+
45+ _id = html_id('password')
46+ div.tag('label', 'for' => _id).text('Password:')
47+ div.tag(
48+ 'input',
49+ 'id' => _id,
50+ 'name' => _id,
51+ 'type' => 'password',
52+ 'value' => ''
53+ )
54+ div.tag('br')
55+
56+ div.tag('input', 'type' => 'submit', 'value' => 'login')
57+ end
58+ end
59+ end
60+ end
61+ end
62+ end
63+end
Show on old repository browser