uzuuzu-core 0.0.4 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- data/.redcar/tags +145 -0
- data/Gemfile +10 -6
- data/Gemfile.lock +14 -10
- data/VERSION +1 -1
- data/lib/uzuuzu-core.rb +5 -1
- data/lib/uzuuzu/controller/admin.rb +11 -0
- data/lib/uzuuzu/controller/contents.rb +11 -0
- data/lib/uzuuzu/controller/crud.rb +235 -0
- data/lib/uzuuzu/controller/css.rb +11 -0
- data/lib/uzuuzu/controller/error.rb +11 -0
- data/lib/uzuuzu/controller/index.rb +25 -0
- data/lib/uzuuzu/controller/initialize.rb +52 -0
- data/lib/uzuuzu/controller/javascript.rb +11 -0
- data/lib/uzuuzu/controller/oauth.rb +10 -0
- data/lib/uzuuzu/controller/openid.rb +40 -0
- data/lib/uzuuzu/controller/page.rb +14 -0
- data/lib/uzuuzu/controller/plugin.rb +11 -0
- data/lib/uzuuzu/controller/user.rb +22 -0
- data/lib/uzuuzu/controller/view/admin/index.xhtml +0 -0
- data/lib/uzuuzu/controller/view/crud/destroy.rhtml +28 -0
- data/lib/uzuuzu/controller/view/crud/edit.rhtml +52 -0
- data/lib/uzuuzu/controller/view/crud/index.rhtml +45 -0
- data/lib/uzuuzu/controller/view/crud/new.rhtml +48 -0
- data/lib/uzuuzu/controller/view/crud/show.rhtml +47 -0
- data/lib/uzuuzu/controller/view/error/404.tenjin +0 -0
- data/lib/uzuuzu/controller/view/initialize/step1.xhtml +30 -0
- data/lib/uzuuzu/controller/view/initialize/step2.xhtml +1 -0
- data/lib/uzuuzu/controller/view/initialize/step3.xhtml +0 -0
- data/lib/uzuuzu/controller/view/openid/index.xhtml +14 -0
- data/lib/uzuuzu/controller/view/page.xhtml +17 -0
- data/lib/uzuuzu/controller/view/user/entry.xhtml +13 -0
- data/lib/uzuuzu/fixture/layout.yaml +110 -0
- data/lib/uzuuzu/helper/controller.rb +135 -0
- data/lib/uzuuzu/helper/fixture.rb +9 -0
- data/lib/uzuuzu/helper/localize.rb +15 -0
- data/lib/uzuuzu/helper/renderer.rb +158 -0
- data/lib/uzuuzu/helper/route.rb +62 -0
- data/lib/uzuuzu/helper/uzuuzu_page.rb +61 -0
- data/lib/uzuuzu/helper/xhtml.rb +44 -0
- data/lib/uzuuzu/model/.DS_Store +0 -0
- data/lib/uzuuzu/model/remote_user.rb +70 -0
- data/lib/uzuuzu/uzuuzu-core.rb +10 -1
- data/lib/uzuuzu/wrapper/application.rb +282 -0
- data/lib/uzuuzu/wrapper/controller.rb +28 -80
- data/lib/uzuuzu/wrapper/datastore.rb +17 -0
- data/lib/uzuuzu/wrapper/environments.rb +129 -0
- data/lib/uzuuzu/wrapper/helper.rb +13 -0
- data/lib/uzuuzu/wrapper/lang/en.yaml +19 -0
- data/lib/uzuuzu/wrapper/lang/ja.yaml +19 -0
- data/lib/uzuuzu/wrapper/logger.rb +95 -21
- data/lib/uzuuzu/wrapper/object.rb +9 -0
- data/lib/uzuuzu/wrapper/request.rb +26 -0
- data/lib/uzuuzu/wrapper/response.rb +16 -0
- data/lib/uzuuzu/wrapper/uzuuzu.rb +26 -146
- data/uzuuzu-core.gemspec +71 -14
- metadata +104 -15
@@ -0,0 +1,25 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
module UzuUzu
|
4
|
+
module Controller
|
5
|
+
class Index
|
6
|
+
|
7
|
+
def index
|
8
|
+
#respond(UzuUzu::PageController.render_full(UzuUzu::PageController.r(:top_page)))
|
9
|
+
end
|
10
|
+
|
11
|
+
def test
|
12
|
+
redirect self.url_for(:spinup)
|
13
|
+
end
|
14
|
+
|
15
|
+
def sitemap
|
16
|
+
'sitemap'
|
17
|
+
end
|
18
|
+
|
19
|
+
def spinup
|
20
|
+
'spinup'
|
21
|
+
end
|
22
|
+
|
23
|
+
end # Index
|
24
|
+
end # Controller
|
25
|
+
end # UzuUzu
|
@@ -0,0 +1,52 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
module UzuUzu
|
4
|
+
module Controller
|
5
|
+
class Initialize
|
6
|
+
def index
|
7
|
+
UzuUzu.repository do
|
8
|
+
@info = Info.uniq
|
9
|
+
if @info.nil?
|
10
|
+
@info = Info.new
|
11
|
+
@info.step = 1
|
12
|
+
@info.save!
|
13
|
+
end
|
14
|
+
end
|
15
|
+
if request.post? and @info.step < 4
|
16
|
+
self.send("step#{@info.step}", [])
|
17
|
+
end
|
18
|
+
case(@info.step)
|
19
|
+
when 1
|
20
|
+
respond(render_file(__DIR__('view/initialize/step1.xhtml')))
|
21
|
+
when 2
|
22
|
+
respond(render_file(__DIR__('view/initialize/step2.xhtml')))
|
23
|
+
when 3
|
24
|
+
respond(render_file(__DIR__('view/initialize/step3.xhtml')))
|
25
|
+
when 4
|
26
|
+
redirect UzuUzu::IndexController.r
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
private
|
31
|
+
|
32
|
+
def setp1
|
33
|
+
unless session[:openid_identity].nil?
|
34
|
+
UzuUzu.repository do
|
35
|
+
@user = UzuUzu::User.new
|
36
|
+
@user.user_id = session[:openid_identity]
|
37
|
+
@info.step = 2
|
38
|
+
@info.admin = @user
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
def step2
|
44
|
+
|
45
|
+
end
|
46
|
+
|
47
|
+
def step3
|
48
|
+
|
49
|
+
end
|
50
|
+
end # Initialize
|
51
|
+
end # Controller
|
52
|
+
end # UzuUzu
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
require 'openid/store/memcache'
|
3
|
+
|
4
|
+
module UzuUzu
|
5
|
+
module Controller
|
6
|
+
class Openid
|
7
|
+
def index
|
8
|
+
if session[:openid_identity]
|
9
|
+
referer = session[:referer]
|
10
|
+
session.delete(:referer)
|
11
|
+
login_remote_user
|
12
|
+
redirect referer || IndexController.r
|
13
|
+
end
|
14
|
+
session[:referer] = request.referrer
|
15
|
+
respond(render_file __DIR__('view/openid/index.xhtml'))
|
16
|
+
end
|
17
|
+
|
18
|
+
def logout
|
19
|
+
session.delete(:openid_identity)
|
20
|
+
end
|
21
|
+
|
22
|
+
private
|
23
|
+
|
24
|
+
#logined
|
25
|
+
def login_remote_user
|
26
|
+
remote_user = User.first(:user_id => session[:openid_identity])
|
27
|
+
if remote_user.nil?
|
28
|
+
#remote_user = User.new(:user_id => session[:openid_identity])
|
29
|
+
#remote_user.save!
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
# use memcache
|
34
|
+
def openid_consumer
|
35
|
+
memcache = OpenID::Store::Memcache.new(UzuUzu.memcache)
|
36
|
+
OpenID::Consumer.new(session, memcache)
|
37
|
+
end
|
38
|
+
end # Openid
|
39
|
+
end # Controller
|
40
|
+
end # UzuUzu
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
module UzuUzu
|
4
|
+
module Controller
|
5
|
+
class User
|
6
|
+
def entry(id)
|
7
|
+
saved = false
|
8
|
+
UzuUzu.transaction do |tr|
|
9
|
+
@user = User.first(:id => id)
|
10
|
+
if request.post?
|
11
|
+
@user.name = request.params['username']
|
12
|
+
tr.commit do
|
13
|
+
saved = @user.save
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
view_value = render_file(__DIR__("view/user/entry.xhtml"))
|
18
|
+
respond(view_value)
|
19
|
+
end
|
20
|
+
end # User
|
21
|
+
end # Controller
|
22
|
+
end # UzuUzu
|
File without changes
|
@@ -0,0 +1,28 @@
|
|
1
|
+
<?xml version="1.0" ?>
|
2
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
|
3
|
+
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
4
|
+
<html xmlns="http://www.w3.org/1999/xhtml">
|
5
|
+
<head>
|
6
|
+
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
7
|
+
<meta http-equiv="Content-Style-Type" content="text/css" />
|
8
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
9
|
+
<meta http-equiv="expires" content="-1" />
|
10
|
+
<%= css 'jquery.mobile' %>
|
11
|
+
<%= js_for 'jquery', 'jquery.mobile' %>
|
12
|
+
</head>
|
13
|
+
<body >
|
14
|
+
<div data-role="page" id="confirm">
|
15
|
+
<div data-role="header">
|
16
|
+
<h1><%= h @model_name.camel_case %> Confirm</h1>
|
17
|
+
</div>
|
18
|
+
<div data-role="content">
|
19
|
+
<h1>Delete?</h1>
|
20
|
+
<a href="<%= r(:destroy, @model_name, @resource.id) %>" data-ajax="false"
|
21
|
+
data-role="button" data-icon="delete">Delete</a>
|
22
|
+
<a href="#"
|
23
|
+
data-role="button" data-icon="back" data-rel="back"
|
24
|
+
data-transition="pop">Cansel</a>
|
25
|
+
</div>
|
26
|
+
</div>
|
27
|
+
</body>
|
28
|
+
</html>
|
@@ -0,0 +1,52 @@
|
|
1
|
+
<?xml version="1.0" ?>
|
2
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
|
3
|
+
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
4
|
+
<html xmlns="http://www.w3.org/1999/xhtml">
|
5
|
+
<head>
|
6
|
+
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
7
|
+
<meta http-equiv="Content-Style-Type" content="text/css" />
|
8
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
9
|
+
<meta http-equiv="expires" content="-1" />
|
10
|
+
<%= css 'jquery.mobile' %>
|
11
|
+
<%= js_for 'jquery', 'jquery.mobile' %>
|
12
|
+
</head>
|
13
|
+
<body >
|
14
|
+
<div data-role="page" id="top">
|
15
|
+
<div data-role="header">
|
16
|
+
<a href="<%= r(@model_name) %>" data-role="button" data-icon="back"
|
17
|
+
data-ajax="false" data-direction="reverse">List</a>
|
18
|
+
<h1><%= h @model_name.camel_case %> Edit</h1>
|
19
|
+
</div>
|
20
|
+
<div data-role="content">
|
21
|
+
<form action="<%= r(:edit, @model_name, @resource.id) %>"
|
22
|
+
method="post" id="form" name="form" data-ajax="false">
|
23
|
+
<% @resource.class.properties.each do |property| %>
|
24
|
+
<p style="color: #FF0000;">
|
25
|
+
<%= @resource.errors[property.name].join(',') %>
|
26
|
+
</p>
|
27
|
+
<p>
|
28
|
+
<label for="<%= property.name %>">
|
29
|
+
<%= property.name %>
|
30
|
+
</label>
|
31
|
+
<% if property.kind_of?(DataMapper::Property::Text) %>
|
32
|
+
<textarea name="<%= property.name}" id="<%= property.name %>"><%= h @resource[property.name] %></textarea>
|
33
|
+
<% else %>
|
34
|
+
<input type="text" name="<%= property.name %>"
|
35
|
+
id="<%= property.name}" value="<%= h @resource[property.name] %>">
|
36
|
+
</input>
|
37
|
+
<% end %>
|
38
|
+
</p>
|
39
|
+
<% end unless @resource.nil? %>
|
40
|
+
</form>
|
41
|
+
</div>
|
42
|
+
<div id="footer" data-role="footer" class="ui-bar" data-position="fixed" data-id="persist">
|
43
|
+
<a href="#"
|
44
|
+
data-role="button" data-icon="forward" data-ajax="false"
|
45
|
+
onclick="$('#form').submit(); return false;">Update</a>
|
46
|
+
<a href="<%= r(:destroy, @model_name, @resource.id, 'confirm') %>"
|
47
|
+
data-rel="dialog" data-transition="pop"
|
48
|
+
data-role="button" data-icon="delete">Destroy</a>
|
49
|
+
</div>
|
50
|
+
</div>
|
51
|
+
</body>
|
52
|
+
</html>
|
@@ -0,0 +1,45 @@
|
|
1
|
+
<?xml version="1.0" ?>
|
2
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
|
3
|
+
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
4
|
+
<html xmlns="http://www.w3.org/1999/xhtml">
|
5
|
+
<head>
|
6
|
+
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
7
|
+
<meta http-equiv="Content-Style-Type" content="text/css" />
|
8
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
9
|
+
<meta http-equiv="expires" content="-1" />
|
10
|
+
<%= css 'jquery.mobile' %>
|
11
|
+
<%= js_for 'jquery', 'jquery.mobile' %>
|
12
|
+
</head>
|
13
|
+
<body>
|
14
|
+
<div data-role="page" id="top">
|
15
|
+
<div data-role="header">
|
16
|
+
<h1><%= h @model_name.camel_case %></h1>
|
17
|
+
<a href="<%= r(:new, @model_name) %>" class="ui-btn-right"
|
18
|
+
data-role="button" data-icon="plus" data-ajax="false">Add</a>
|
19
|
+
</div>
|
20
|
+
<div data-role="content">
|
21
|
+
<ul data-role="listview" id="list" class="ui-li-has-thumb">
|
22
|
+
<% @list.each do |resource| %>
|
23
|
+
<li>
|
24
|
+
<a href="<%= r(:edit, @model_name, resource.id) %>" data-ajax="false">
|
25
|
+
<% resource.class.properties.each_with_index do |property, i| %>
|
26
|
+
<% unless i == 0 %>
|
27
|
+
<span>,</span><% end %>
|
28
|
+
<span><%= h property.name %>:<%= h resource[property.name].to_s[0..9] %>
|
29
|
+
<% if resource[property.name].to_s.size > 10 %>...<% end %></span>
|
30
|
+
<% end %>
|
31
|
+
</a>
|
32
|
+
</li>
|
33
|
+
<% end unless @list.nil? %>
|
34
|
+
</ul>
|
35
|
+
</div>
|
36
|
+
<div data-role="footer" data-position="fixed">
|
37
|
+
<form id="search" method="post" action="<%= r(@model_name) %>" data-ajax="false">
|
38
|
+
<input type="search" id="query" name="query" value="<%= @query %>"/>
|
39
|
+
<a href="#" data-role="button" data-icon="search"
|
40
|
+
onclick="$('#search').submit(); return false;">Search</a>
|
41
|
+
</form>
|
42
|
+
</div>
|
43
|
+
</div>
|
44
|
+
</body>
|
45
|
+
</html>
|
@@ -0,0 +1,48 @@
|
|
1
|
+
<?xml version="1.0" ?>
|
2
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
|
3
|
+
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
4
|
+
<html xmlns="http://www.w3.org/1999/xhtml">
|
5
|
+
<head>
|
6
|
+
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
7
|
+
<meta http-equiv="Content-Style-Type" content="text/css" />
|
8
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
9
|
+
<meta http-equiv="expires" content="-1" />
|
10
|
+
<%= css 'jquery.mobile' %>
|
11
|
+
<%= js_for 'jquery', 'jquery.mobile' %>
|
12
|
+
</head>
|
13
|
+
<body >
|
14
|
+
<div data-role="page" id="top">
|
15
|
+
<div data-role="header">
|
16
|
+
<a href="<%= r(@model_name) %>" data-role="button" data-icon="back"
|
17
|
+
data-ajax="false" data-direction="reverse">List</a>
|
18
|
+
<h1><%= h @model_name.camel_case %> New</h1>
|
19
|
+
</div>
|
20
|
+
<div data-role="content">
|
21
|
+
<form action="<%= r(:new, @model_name) %>" method="post" id="form" name="form" data-ajax="false">
|
22
|
+
<% @resource.class.properties.each do |property| %>
|
23
|
+
<p style="color: #FF0000;">
|
24
|
+
<%= @resource.errors[property.name].join(',') %>
|
25
|
+
</p>
|
26
|
+
<p>
|
27
|
+
<label for="<%= property.name %>">
|
28
|
+
<%= property.name %>
|
29
|
+
</label>
|
30
|
+
<% if property.kind_of?(DataMapper::Property::Text) %>
|
31
|
+
<textarea name="<%= property.name %>" id="<%= property.name %>"><%= h @resource[property.name] %></textarea>
|
32
|
+
<% else %>
|
33
|
+
<input type="text" name="<%= property.name %>"
|
34
|
+
id="<%= property.name %>" value="<%= h @resource[property.name] %>">
|
35
|
+
</input>
|
36
|
+
<% end %>
|
37
|
+
</p>
|
38
|
+
<% end %>
|
39
|
+
</form>
|
40
|
+
</div>
|
41
|
+
<div id="footer" data-role="footer" class="ui-bar" data-position="fixed" data-id="persist">
|
42
|
+
<a href="#"
|
43
|
+
data-role="button" data-icon="plus"
|
44
|
+
onclick="$('#form').submit(); return false;">Insert</a>
|
45
|
+
</div>
|
46
|
+
</div>
|
47
|
+
</body>
|
48
|
+
</html>
|
@@ -0,0 +1,47 @@
|
|
1
|
+
<?xml version="1.0" ?>
|
2
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
|
3
|
+
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
4
|
+
<html xmlns="http://www.w3.org/1999/xhtml">
|
5
|
+
<head>
|
6
|
+
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
7
|
+
<meta http-equiv="Content-Style-Type" content="text/css" />
|
8
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
9
|
+
<meta http-equiv="expires" content="0" />
|
10
|
+
<%= css 'jquery.mobile' %>
|
11
|
+
<%= js_for 'jquery', 'jquery.mobile' %>
|
12
|
+
</head>
|
13
|
+
<body >
|
14
|
+
<div data-role="page" id="top">
|
15
|
+
<div data-role="header">
|
16
|
+
<a href="<%= r(@model_name) %>" data-role="button" data-icon="back"
|
17
|
+
data-ajax="false" data-direction="reverse">List</a>
|
18
|
+
<h1><%= h @model_name.camel_case %> Show</h1>
|
19
|
+
</div>
|
20
|
+
<div data-role="content">
|
21
|
+
<form action="<%= r(:show, @model_name, @resource.id) %>" method="post" id="form" name="form" data-ajax="false">
|
22
|
+
<% @resource.class.properties.each do |property| %>
|
23
|
+
<p style="color: #FF0000;">
|
24
|
+
<%= @resource.errors[property.name].join(',') %>
|
25
|
+
</p>
|
26
|
+
<p>
|
27
|
+
<label for="<%= property.name %>">
|
28
|
+
<%= property.name %>
|
29
|
+
</label>
|
30
|
+
<% if property.kind_of?(DataMapper::Property::Text) %>
|
31
|
+
<textarea name="<%= property.name %>" id="<%= property.name %>" disabled="true"><%= h @resource[property.name] %></textarea>
|
32
|
+
<% else %>
|
33
|
+
<input type="text" name="<%= property.name %>"
|
34
|
+
id="<%= property.name %>" value="<%= h @resource[property.name] %>" disabled="true">
|
35
|
+
</input>
|
36
|
+
<% end %>
|
37
|
+
</p>
|
38
|
+
<% end unless @resource.nil? %>
|
39
|
+
</form>
|
40
|
+
</div>
|
41
|
+
<div id="footer" data-role="footer" class="ui-bar" data-position="fixed" data-id="persist">
|
42
|
+
<a href="/crud/edit/<%= @model_name %>/<%= @resource.id %>" data-ajax="false"
|
43
|
+
data-role="button" data-icon="refresh">Edit</a>
|
44
|
+
</div>
|
45
|
+
</div>
|
46
|
+
</body>
|
47
|
+
</html>
|