amrita2 2.0.1 → 2.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README +5 -5
- data/Rakefile +85 -0
- data/lib/amrita2/gettext.rb +9 -4
- data/lib/amrita2/template.rb +20 -9
- data/lib/amrita2/testsupport.rb +25 -0
- data/lib/amrita2/version.rb +1 -1
- data/sample/depot/README +160 -0
- data/sample/depot/Rakefile +10 -0
- data/sample/depot/app/views/admin/_form.html.a2 +23 -0
- data/sample/depot/app/views/admin/_form.html.erb +14 -0
- data/sample/depot/app/views/admin/edit.html.a2 +22 -0
- data/sample/depot/app/views/admin/edit.html.erb +10 -0
- data/sample/depot/app/views/admin/list.html.a2 +34 -0
- data/sample/depot/app/views/admin/list.html.erb +37 -0
- data/sample/depot/app/views/admin/new.html.a2 +21 -0
- data/sample/depot/app/views/admin/new.html.erb +9 -0
- data/sample/depot/app/views/admin/show.html.a2 +12 -0
- data/sample/depot/app/views/admin/show.html.erb +13 -0
- data/sample/depot/app/views/info/who_bought.rhtml +14 -0
- data/sample/depot/app/views/info/who_bought.rxml +8 -0
- data/sample/depot/app/views/layouts/admin.a2html +32 -0
- data/sample/depot/app/views/layouts/admin.rhtml +40 -0
- data/sample/depot/app/views/layouts/store.a2html +37 -0
- data/sample/depot/app/views/layouts/store.rhtml +43 -0
- data/sample/depot/app/views/login/add_user.rhtml +33 -0
- data/sample/depot/app/views/login/index.rhtml +9 -0
- data/sample/depot/app/views/login/list_users.rhtml +20 -0
- data/sample/depot/app/views/login/login.rhtml +26 -0
- data/sample/depot/app/views/store/_cart.html.a2 +18 -0
- data/sample/depot/app/views/store/_cart.html.erb +17 -0
- data/sample/depot/app/views/store/_cart_item.html.a2 +16 -0
- data/sample/depot/app/views/store/_cart_item.html.erb +14 -0
- data/sample/depot/app/views/store/add_to_cart.rjs +11 -0
- data/sample/depot/app/views/store/checkout.html.a2 +45 -0
- data/sample/depot/app/views/store/checkout.html.a2.using_macro +32 -0
- data/sample/depot/app/views/store/checkout.html.a2.without_label +37 -0
- data/sample/depot/app/views/store/checkout.html.erb +41 -0
- data/sample/depot/app/views/store/index.html.a2 +19 -0
- data/sample/depot/app/views/store/index.html.erb +22 -0
- data/sample/depot/config/database.yml +24 -0
- data/sample/depot/db/create_database.sql +14 -0
- data/sample/depot/doc/README_FOR_APP +35 -0
- data/sample/depot/lib/tasks/db_schema_version.rake +6 -0
- data/sample/depot/log/development.log +116 -0
- data/sample/depot/log/test.log +347 -0
- data/sample/depot/public/404.html +13 -0
- data/sample/depot/public/500.html +13 -0
- data/sample/depot/public/dispatch.cgi +10 -0
- data/sample/depot/public/dispatch.fcgi +24 -0
- data/sample/depot/public/favicon.ico +0 -0
- data/sample/depot/public/images/auto.jpg +0 -0
- data/sample/depot/public/images/logo.png +0 -0
- data/sample/depot/public/images/rails.png +0 -0
- data/sample/depot/public/images/svn.jpg +0 -0
- data/sample/depot/public/images/utc.jpg +0 -0
- data/sample/depot/public/index.html +282 -0
- data/sample/depot/public/javascripts/application.js +2 -0
- data/sample/depot/public/javascripts/controls.js +832 -0
- data/sample/depot/public/javascripts/dragdrop.js +942 -0
- data/sample/depot/public/javascripts/effects.js +954 -0
- data/sample/depot/public/javascripts/prototype.js +2347 -0
- data/sample/depot/public/robots.txt +1 -0
- data/sample/depot/public/stylesheets/depot.css +227 -0
- data/sample/depot/public/stylesheets/scaffold.css +74 -0
- data/sample/depot/script/about +3 -0
- data/sample/depot/script/breakpointer +3 -0
- data/sample/depot/script/console +3 -0
- data/sample/depot/script/destroy +3 -0
- data/sample/depot/script/generate +3 -0
- data/sample/depot/script/performance/benchmarker +3 -0
- data/sample/depot/script/performance/profiler +3 -0
- data/sample/depot/script/plugin +3 -0
- data/sample/depot/script/process/inspector +3 -0
- data/sample/depot/script/process/reaper +3 -0
- data/sample/depot/script/process/spawner +3 -0
- data/sample/depot/script/runner +3 -0
- data/sample/depot/script/server +3 -0
- data/sample/depot/test/fixtures/line_items.yml +16 -0
- data/sample/depot/test/fixtures/orders.yml +4 -0
- data/sample/depot/test/fixtures/performance/products.yml +8 -0
- data/sample/depot/test/fixtures/products.yml +16 -0
- data/sample/depot/test/fixtures/users.yml +7 -0
- data/sample/depot/vendor/plugins/will_paginate/LICENSE +18 -0
- data/sample/depot/vendor/plugins/will_paginate/README +171 -0
- data/sample/depot/vendor/plugins/will_paginate/Rakefile +27 -0
- data/sample/depot/vendor/plugins/will_paginate/test/console +9 -0
- data/sample/depot/vendor/plugins/will_paginate/test/fixtures/companies.yml +24 -0
- data/sample/depot/vendor/plugins/will_paginate/test/fixtures/developers_projects.yml +13 -0
- data/sample/depot/vendor/plugins/will_paginate/test/fixtures/projects.yml +7 -0
- data/sample/depot/vendor/plugins/will_paginate/test/fixtures/replies.yml +34 -0
- data/sample/depot/vendor/plugins/will_paginate/test/fixtures/schema.sql +44 -0
- data/sample/depot/vendor/plugins/will_paginate/test/fixtures/topics.yml +30 -0
- data/sample/depot/vendor/plugins/will_paginate/test/fixtures/users.yml +35 -0
- data/sample/login_engine/README +182 -0
- data/sample/login_engine/Rakefile +27 -0
- data/sample/login_engine/app/views/layouts/user.a2html +20 -0
- data/sample/login_engine/app/views/layouts/user.rhtml +16 -0
- data/sample/login_engine/app/views/user/_edit.a2html +16 -0
- data/sample/login_engine/app/views/user/_edit.rhtml +11 -0
- data/sample/login_engine/app/views/user/_password.a2html +18 -0
- data/sample/login_engine/app/views/user/_password.rhtml +9 -0
- data/sample/login_engine/app/views/user/change_password.a2html +17 -0
- data/sample/login_engine/app/views/user/change_password.rhtml +17 -0
- data/sample/login_engine/app/views/user/edit.a2html +22 -0
- data/sample/login_engine/app/views/user/edit.rhtml +23 -0
- data/sample/login_engine/app/views/user/forgot_password.rhtml +18 -0
- data/sample/login_engine/app/views/user/home.a2html +12 -0
- data/sample/login_engine/app/views/user/home.rhtml +7 -0
- data/sample/login_engine/app/views/user/login.a2html +16 -0
- data/sample/login_engine/app/views/user/login.rhtml +17 -0
- data/sample/login_engine/app/views/user/logout.rhtml +8 -0
- data/sample/login_engine/app/views/user/signup.a2html +14 -0
- data/sample/login_engine/app/views/user/signup.rhtml +17 -0
- data/sample/login_engine/app/views/user_notify/change_password.rhtml +10 -0
- data/sample/login_engine/app/views/user_notify/delete.rhtml +5 -0
- data/sample/login_engine/app/views/user_notify/forgot_password.rhtml +11 -0
- data/sample/login_engine/app/views/user_notify/pending_delete.rhtml +9 -0
- data/sample/login_engine/app/views/user_notify/signup.rhtml +12 -0
- data/sample/login_engine/config/database.yml +18 -0
- data/sample/login_engine/db/create_database.sql +14 -0
- data/sample/login_engine/db/dev.sqlite3 +0 -0
- data/sample/login_engine/db/test.sqlite3 +0 -0
- data/sample/login_engine/doc/README_FOR_APP +2 -0
- data/sample/login_engine/locale/ja/LC_MESSAGES/login_engine.mo +0 -0
- data/sample/login_engine/log/development.log +330 -0
- data/sample/login_engine/log/test.log +19026 -0
- data/sample/login_engine/po/ja/login_engine.po +248 -0
- data/sample/login_engine/po/login_engine.pot +245 -0
- data/sample/login_engine/public/404.html +30 -0
- data/sample/login_engine/public/500.html +30 -0
- data/sample/login_engine/public/dispatch.cgi +10 -0
- data/sample/login_engine/public/dispatch.fcgi +24 -0
- data/sample/login_engine/public/favicon.ico +0 -0
- data/sample/login_engine/public/images/rails.png +0 -0
- data/sample/login_engine/public/index.html +277 -0
- data/sample/login_engine/public/javascripts/application.js +2 -0
- data/sample/login_engine/public/javascripts/controls.js +833 -0
- data/sample/login_engine/public/javascripts/dragdrop.js +942 -0
- data/sample/login_engine/public/javascripts/effects.js +1088 -0
- data/sample/login_engine/public/javascripts/prototype.js +2385 -0
- data/sample/login_engine/public/robots.txt +1 -0
- data/sample/login_engine/public/stylesheets/login_engine.css +81 -0
- data/sample/login_engine/script/about +3 -0
- data/sample/login_engine/script/breakpointer +3 -0
- data/sample/login_engine/script/console +3 -0
- data/sample/login_engine/script/destroy +3 -0
- data/sample/login_engine/script/generate +3 -0
- data/sample/login_engine/script/performance/benchmarker +3 -0
- data/sample/login_engine/script/performance/profiler +3 -0
- data/sample/login_engine/script/plugin +3 -0
- data/sample/login_engine/script/process/inspector +3 -0
- data/sample/login_engine/script/process/reaper +3 -0
- data/sample/login_engine/script/process/spawner +3 -0
- data/sample/login_engine/script/runner +3 -0
- data/sample/login_engine/script/server +3 -0
- data/sample/login_engine/test/fixtures/users.yml +41 -0
- data/specs/erb_cdata.rb +11 -0
- data/specs/filters.rb +5 -4
- data/specs/gettext/static_text.rb +30 -13
- data/specs/impl/preprocess.rb +58 -54
- metadata +375 -120
- data/sample/hello/test1.rb +0 -23
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
|
|
2
|
+
%= error_messages_for 'product'
|
|
3
|
+
|
|
4
|
+
<< :form <
|
|
5
|
+
<<p<
|
|
6
|
+
<label for="product_title">Title</label><br/>
|
|
7
|
+
<<:title>>
|
|
8
|
+
|
|
9
|
+
<<p<
|
|
10
|
+
<label for="product_description">Description</label><br/>
|
|
11
|
+
<<:description>>
|
|
12
|
+
|
|
13
|
+
<<p<
|
|
14
|
+
<label for="product_image_url">Image url</label><br/>
|
|
15
|
+
<<:image_url>>
|
|
16
|
+
|
|
17
|
+
<<p<
|
|
18
|
+
<label for="product_price">Price</label><br/>
|
|
19
|
+
<<:price>>
|
|
20
|
+
|
|
21
|
+
<<:submit>>
|
|
22
|
+
|
|
23
|
+
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<%= error_messages_for 'product' %>
|
|
2
|
+
|
|
3
|
+
<p><label for="product_title">Title</label><br/>
|
|
4
|
+
<%= f.text_field 'title' %></p>
|
|
5
|
+
|
|
6
|
+
<p><label for="product_description">Description</label><br/>
|
|
7
|
+
<%= f.text_area 'description' %></p>
|
|
8
|
+
|
|
9
|
+
<p><label for="product_image_url">Image url</label><br/>
|
|
10
|
+
<%= f.text_field 'image_url' %></p>
|
|
11
|
+
|
|
12
|
+
<p><label for="product_price">Price</label><br/>
|
|
13
|
+
<%= f.text_field 'price' %></p>
|
|
14
|
+
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
|
|
2
|
+
<h1>Editing product</h1>
|
|
3
|
+
|
|
4
|
+
<%
|
|
5
|
+
form = amrita_define_form(
|
|
6
|
+
:product,
|
|
7
|
+
@product,
|
|
8
|
+
:url=>{:action=>:update, :id=>@product}
|
|
9
|
+
) do |f|
|
|
10
|
+
f.text_field :title
|
|
11
|
+
f.text_area :description
|
|
12
|
+
f.text_field :image_url
|
|
13
|
+
f.text_field :price
|
|
14
|
+
f.add_field_element :submit, submit_tag("Update")
|
|
15
|
+
end
|
|
16
|
+
%>
|
|
17
|
+
|
|
18
|
+
<< :form | AcceptData[:hook] <
|
|
19
|
+
%= render :partial => 'form', :object=>$_
|
|
20
|
+
|
|
21
|
+
<%= link_to 'Show', :action => 'show', :id => @product %> |
|
|
22
|
+
<%= link_to 'Back', :action => 'list' %>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
|
|
2
|
+
<h1>Editing product</h1>
|
|
3
|
+
|
|
4
|
+
<% form_for :product, @product, :url => { :action => 'update', :id => @product } do |f| %>
|
|
5
|
+
<%= render :partial => 'form.html.erb', :locals=>{ :f=>f } %>
|
|
6
|
+
<%= submit_tag 'Update' %>
|
|
7
|
+
<% end %>
|
|
8
|
+
|
|
9
|
+
<%= link_to 'Show', :action => 'show', :id => @product %> |
|
|
10
|
+
<%= link_to 'Back', :action => 'list' %>
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
! Excerpted from "Agile Web Development with Rails, 2nd Ed."
|
|
3
|
+
! We make no guarantees that this code is fit for any purpose.
|
|
4
|
+
! Visit http://www.pragmaticprogrammer.com/titles/rails2 for more book information.
|
|
5
|
+
-->
|
|
6
|
+
<<div id="product-list"<
|
|
7
|
+
<h1>Product Listing</h1>
|
|
8
|
+
|
|
9
|
+
<<table cellpadding="5" cellspacing="0"<
|
|
10
|
+
<<:products
|
|
11
|
+
{
|
|
12
|
+
:tr_class => cycle('list-line-odd', 'list-line-even'),
|
|
13
|
+
:product_id => $_.id
|
|
14
|
+
} <
|
|
15
|
+
<<tr valign="top" :| Attr[:class => :tr_class] <
|
|
16
|
+
<<td<
|
|
17
|
+
<<img class="list-image" :| Attr[:src=>:image_url]>>
|
|
18
|
+
|
|
19
|
+
<<td width="60%"<
|
|
20
|
+
<<span class="list-title":title>> <br/>
|
|
21
|
+
<<:description | :truncate >>
|
|
22
|
+
|
|
23
|
+
<<td class="list-actions"<
|
|
24
|
+
%= link_to 'Show', :action => 'show', :id => $_.product_id
|
|
25
|
+
<br/>
|
|
26
|
+
%= link_to 'Edit', :action => 'edit', :id => $_.product_id
|
|
27
|
+
<br/>
|
|
28
|
+
%= link_to 'Destroy', { :action => 'destroy', :id => $_.product_id }, :confirm => "Are you sure?", :method => :post
|
|
29
|
+
|
|
30
|
+
%= will_paginate(@products)
|
|
31
|
+
|
|
32
|
+
<br />
|
|
33
|
+
|
|
34
|
+
%= link_to 'New product', :action => 'new'
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
! Excerpted from "Agile Web Development with Rails, 2nd Ed."
|
|
3
|
+
! We make no guarantees that this code is fit for any purpose.
|
|
4
|
+
! Visit http://www.pragmaticprogrammer.com/titles/rails2 for more book information.
|
|
5
|
+
-->
|
|
6
|
+
<div id="product-list">
|
|
7
|
+
<h1>Product Listing</h1>
|
|
8
|
+
|
|
9
|
+
<table cellpadding="5" cellspacing="0">
|
|
10
|
+
<% for product in @products %>
|
|
11
|
+
<tr valign="top" class="<%= cycle('list-line-odd', 'list-line-even') %>">
|
|
12
|
+
|
|
13
|
+
<td>
|
|
14
|
+
<img class="list-image" src="<%= product.image_url %>"/>
|
|
15
|
+
</td>
|
|
16
|
+
|
|
17
|
+
<td width="60%">
|
|
18
|
+
<span class="list-title"><%= h(product.title) %></span><br />
|
|
19
|
+
<%= h(truncate(product.description, 80)) %>
|
|
20
|
+
</td>
|
|
21
|
+
|
|
22
|
+
<td class="list-actions">
|
|
23
|
+
<%= link_to 'Show', :action => 'show', :id => product %><br/>
|
|
24
|
+
<%= link_to 'Edit', :action => 'edit', :id => product %><br/>
|
|
25
|
+
<%= link_to 'Destroy', { :action => 'destroy', :id => product },
|
|
26
|
+
:confirm => "Are you sure?",
|
|
27
|
+
:method => :post %>
|
|
28
|
+
</td>
|
|
29
|
+
</tr>
|
|
30
|
+
<% end %>
|
|
31
|
+
</table>
|
|
32
|
+
</div>
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
<br />
|
|
36
|
+
|
|
37
|
+
<%= link_to 'New product', :action => 'new' %>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
|
|
2
|
+
<h1>New product</h1>
|
|
3
|
+
|
|
4
|
+
<%
|
|
5
|
+
form = amrita_define_form(
|
|
6
|
+
:product,
|
|
7
|
+
@product,
|
|
8
|
+
:url=>{:action=>:create }
|
|
9
|
+
) do |f|
|
|
10
|
+
f.text_field :title
|
|
11
|
+
f.text_area :description
|
|
12
|
+
f.text_field :image_url
|
|
13
|
+
f.text_field :price
|
|
14
|
+
f.add_field_element :submit, submit_tag("Create")
|
|
15
|
+
end
|
|
16
|
+
%>
|
|
17
|
+
|
|
18
|
+
<< :form | AcceptData[:hook] <
|
|
19
|
+
%= render :partial => 'form', :object=>$_
|
|
20
|
+
|
|
21
|
+
%= link_to 'Back', :action => 'list'
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
! Excerpted from "Agile Web Development with Rails, 2nd Ed."
|
|
3
|
+
! We make no guarantees that this code is fit for any purpose.
|
|
4
|
+
! Visit http://www.pragmaticprogrammer.com/titles/rails2 for more book information.
|
|
5
|
+
-->
|
|
6
|
+
<<p : [Product.content_columns] <
|
|
7
|
+
<b><<:human_name>>:</b>
|
|
8
|
+
%= h @product.send($_.name)
|
|
9
|
+
|
|
10
|
+
%= link_to 'Edit', :action => 'edit', :id => @product
|
|
11
|
+
|
|
|
12
|
+
%= link_to 'Back', :action => 'list'
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
! Excerpted from "Agile Web Development with Rails, 2nd Ed."
|
|
3
|
+
! We make no guarantees that this code is fit for any purpose.
|
|
4
|
+
! Visit http://www.pragmaticprogrammer.com/titles/rails2 for more book information.
|
|
5
|
+
-->
|
|
6
|
+
<% for column in Product.content_columns %>
|
|
7
|
+
<p>
|
|
8
|
+
<b><%= column.human_name %>:</b> <%=h @product.send(column.name) %>
|
|
9
|
+
</p>
|
|
10
|
+
<% end %>
|
|
11
|
+
|
|
12
|
+
<%= link_to 'Edit', :action => 'edit', :id => @product %> |
|
|
13
|
+
<%= link_to 'Back', :action => 'list' %>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
! Excerpted from "Agile Web Development with Rails, 2nd Ed."
|
|
3
|
+
! We make no guarantees that this code is fit for any purpose.
|
|
4
|
+
! Visit http://www.pragmaticprogrammer.com/titles/rails2 for more book information.
|
|
5
|
+
-->
|
|
6
|
+
<h3>People Who Bought <%= @product.title %></h3>
|
|
7
|
+
|
|
8
|
+
<ul>
|
|
9
|
+
<% for order in @orders -%>
|
|
10
|
+
<li>
|
|
11
|
+
<%= mail_to order.email, order.name %>
|
|
12
|
+
</li>
|
|
13
|
+
<% end -%>
|
|
14
|
+
</ul>
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
<%(BeforeCompile) opt[:process_xhtml]=true %>
|
|
2
|
+
|
|
3
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
5
|
+
<!--
|
|
6
|
+
! Excerpted from "Agile Web Development with Rails, 2nd Ed."
|
|
7
|
+
! We make no guarantees that this code is fit for any purpose.
|
|
8
|
+
! Visit http://www.pragmaticprogrammer.com/titles/rails2 for more book information.
|
|
9
|
+
-->
|
|
10
|
+
<<html<
|
|
11
|
+
<<head<
|
|
12
|
+
<title>Administer the Bookstore</title>
|
|
13
|
+
%= stylesheet_link_tag "scaffold", "depot", :media => "all"
|
|
14
|
+
<<body#admin<
|
|
15
|
+
<<div#banner<
|
|
16
|
+
%= image_tag("logo.png")
|
|
17
|
+
%= @page_title || "Pragmatic Bookshelf"
|
|
18
|
+
|
|
19
|
+
<<div#columns<
|
|
20
|
+
<<div#side<
|
|
21
|
+
<<p<
|
|
22
|
+
%= link_to "Products", :controller => 'admin', :action => 'list'
|
|
23
|
+
<<p<
|
|
24
|
+
%= link_to "List users", :controller => 'login', :action => 'list_users'
|
|
25
|
+
<br/>
|
|
26
|
+
%= link_to "Add user", :controller => 'login', :action => 'add_user'
|
|
27
|
+
<<p<
|
|
28
|
+
%= link_to "Logout", :controller => 'login', :action => 'logout'
|
|
29
|
+
<<div#main<
|
|
30
|
+
<<div#notice ?[flash[:notice]] <
|
|
31
|
+
%= flash[:notice]
|
|
32
|
+
<< :content_for_layout | NoSanitize >>
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
3
|
+
<!--
|
|
4
|
+
! Excerpted from "Agile Web Development with Rails, 2nd Ed."
|
|
5
|
+
! We make no guarantees that this code is fit for any purpose.
|
|
6
|
+
! Visit http://www.pragmaticprogrammer.com/titles/rails2 for more book information.
|
|
7
|
+
-->
|
|
8
|
+
<html>
|
|
9
|
+
<head>
|
|
10
|
+
<title>Administer the Bookstore</title>
|
|
11
|
+
<%= stylesheet_link_tag "scaffold", "depot", :media => "all" %>
|
|
12
|
+
</head>
|
|
13
|
+
<body id="admin">
|
|
14
|
+
<div id="banner">
|
|
15
|
+
<%= image_tag("logo.png") %>
|
|
16
|
+
<%= @page_title || "Pragmatic Bookshelf" %>
|
|
17
|
+
</div>
|
|
18
|
+
<div id="columns">
|
|
19
|
+
<div id="side">
|
|
20
|
+
<p>
|
|
21
|
+
<%= link_to "Products", :controller => 'admin', :action => 'list' %>
|
|
22
|
+
</p>
|
|
23
|
+
<p>
|
|
24
|
+
<%= link_to "List users", :controller => 'login', :action => 'list_users' %>
|
|
25
|
+
<br/>
|
|
26
|
+
<%= link_to "Add user", :controller => 'login', :action => 'add_user' %>
|
|
27
|
+
</p>
|
|
28
|
+
<p>
|
|
29
|
+
<%= link_to "Logout", :controller => 'login', :action => 'logout' %>
|
|
30
|
+
</p>
|
|
31
|
+
</div>
|
|
32
|
+
<div id="main">
|
|
33
|
+
<% if flash[:notice] -%>
|
|
34
|
+
<div id="notice"><%= flash[:notice] %></div>
|
|
35
|
+
<% end -%>
|
|
36
|
+
<%= yield :layout %>
|
|
37
|
+
</div>
|
|
38
|
+
</div>
|
|
39
|
+
</body>
|
|
40
|
+
</html>
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
<%(BeforeCompile) opt[:process_xhtml]=true %>
|
|
2
|
+
|
|
3
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
5
|
+
<!--
|
|
6
|
+
! Excerpted from "Agile Web Development with Rails, 2nd Ed."
|
|
7
|
+
! We make no guarantees that this code is fit for any purpose.
|
|
8
|
+
! Visit http://www.pragmaticprogrammer.com/titles/rails2 for more book information.
|
|
9
|
+
-->
|
|
10
|
+
<<html<
|
|
11
|
+
<<head<
|
|
12
|
+
<title>Pragprog Books Online Store</title>
|
|
13
|
+
|
|
14
|
+
%= stylesheet_link_tag "depot", :media => "all"
|
|
15
|
+
%= javascript_include_tag :defaults
|
|
16
|
+
|
|
17
|
+
<<body#store<
|
|
18
|
+
<<div#banner<
|
|
19
|
+
%= image_tag("logo.png")
|
|
20
|
+
%= @page_title || "Pragmatic Bookshelf"
|
|
21
|
+
|
|
22
|
+
<<div#columns<
|
|
23
|
+
<<div#side<
|
|
24
|
+
% style = @cart.items.empty? ? "display: none" : false
|
|
25
|
+
<<div#cart : | Attr[:style] <
|
|
26
|
+
%= render(:partial => "cart", :object => @cart)
|
|
27
|
+
|
|
28
|
+
<a href="http://www....">Home</a><br />
|
|
29
|
+
<a href="http://www..../faq">Questions</a><br />
|
|
30
|
+
<a href="http://www..../news">News</a><br />
|
|
31
|
+
<a href="http://www..../contact">Contact</a><br />
|
|
32
|
+
|
|
33
|
+
<<div#main<
|
|
34
|
+
<<div#notice ?[flash[:notice]]<
|
|
35
|
+
%= flash[:notice]
|
|
36
|
+
|
|
37
|
+
<< :content_for_layout | NoSanitize >>
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
3
|
+
<!--
|
|
4
|
+
! Excerpted from "Agile Web Development with Rails, 2nd Ed."
|
|
5
|
+
! We make no guarantees that this code is fit for any purpose.
|
|
6
|
+
! Visit http://www.pragmaticprogrammer.com/titles/rails2 for more book information.
|
|
7
|
+
-->
|
|
8
|
+
<html>
|
|
9
|
+
<head>
|
|
10
|
+
<title>Pragprog Books Online Store</title>
|
|
11
|
+
|
|
12
|
+
<%= stylesheet_link_tag "depot", :media => "all" %>
|
|
13
|
+
|
|
14
|
+
<%= javascript_include_tag :defaults %>
|
|
15
|
+
</head>
|
|
16
|
+
|
|
17
|
+
<body id="store">
|
|
18
|
+
<div id="banner">
|
|
19
|
+
<%= image_tag("logo.png") %>
|
|
20
|
+
<%= @page_title || "Pragmatic Bookshelf" %>
|
|
21
|
+
</div>
|
|
22
|
+
<div id="columns">
|
|
23
|
+
<div id="side">
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
<% hidden_div_if(@cart.items.empty?, :id => "cart") do %>
|
|
27
|
+
<%= render(:partial => "cart.html.erb", :object => @cart) %>
|
|
28
|
+
<% end %>
|
|
29
|
+
|
|
30
|
+
<a href="http://www....">Home</a><br />
|
|
31
|
+
<a href="http://www..../faq">Questions</a><br />
|
|
32
|
+
<a href="http://www..../news">News</a><br />
|
|
33
|
+
<a href="http://www..../contact">Contact</a><br />
|
|
34
|
+
</div>
|
|
35
|
+
<div id="main">
|
|
36
|
+
<% if flash[:notice] -%>
|
|
37
|
+
<div id="notice"><%= flash[:notice] %></div>
|
|
38
|
+
<% end -%>
|
|
39
|
+
<%= yield :layout %>
|
|
40
|
+
</div>
|
|
41
|
+
</div>
|
|
42
|
+
</body>
|
|
43
|
+
</html>
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
! Excerpted from "Agile Web Development with Rails, 2nd Ed."
|
|
3
|
+
! We make no guarantees that this code is fit for any purpose.
|
|
4
|
+
! Visit http://www.pragmaticprogrammer.com/titles/rails2 for more book information.
|
|
5
|
+
-->
|
|
6
|
+
<div class="depot-form">
|
|
7
|
+
|
|
8
|
+
<%= error_messages_for 'user' %>
|
|
9
|
+
|
|
10
|
+
<fieldset>
|
|
11
|
+
<legend>Enter User Details</legend>
|
|
12
|
+
|
|
13
|
+
<% form_for :user do |form| %>
|
|
14
|
+
<p>
|
|
15
|
+
<label for="user_name">Name:</label>
|
|
16
|
+
<%= form.text_field :name, :size => 40 %>
|
|
17
|
+
</p>
|
|
18
|
+
|
|
19
|
+
<p>
|
|
20
|
+
<label for="user_password">Password:</label>
|
|
21
|
+
<%= form.password_field :password, :size => 40 %>
|
|
22
|
+
</p>
|
|
23
|
+
|
|
24
|
+
<p>
|
|
25
|
+
<label for="user_password_confirmation">Confirm:</label>
|
|
26
|
+
<%= form.password_field :password_confirmation, :size => 40 %>
|
|
27
|
+
</p>
|
|
28
|
+
|
|
29
|
+
<%= submit_tag "Add User", :class => "submit" %>
|
|
30
|
+
|
|
31
|
+
<% end %>
|
|
32
|
+
</fieldset>
|
|
33
|
+
</div>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
! Excerpted from "Agile Web Development with Rails, 2nd Ed."
|
|
3
|
+
! We make no guarantees that this code is fit for any purpose.
|
|
4
|
+
! Visit http://www.pragmaticprogrammer.com/titles/rails2 for more book information.
|
|
5
|
+
-->
|
|
6
|
+
<h1>Welcome</h1>
|
|
7
|
+
|
|
8
|
+
It's <%= Time.now %>.
|
|
9
|
+
We have <%= pluralize(@total_orders, "order") %>.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
! Excerpted from "Agile Web Development with Rails, 2nd Ed."
|
|
3
|
+
! We make no guarantees that this code is fit for any purpose.
|
|
4
|
+
! Visit http://www.pragmaticprogrammer.com/titles/rails2 for more book information.
|
|
5
|
+
-->
|
|
6
|
+
<h1>Administrators</h1>
|
|
7
|
+
<ul>
|
|
8
|
+
<% for user in @all_users %>
|
|
9
|
+
<li><%= link_to "[X]", { # link_to options
|
|
10
|
+
:controller => 'login',
|
|
11
|
+
:action => 'delete_user',
|
|
12
|
+
:id => user},
|
|
13
|
+
{ # html options
|
|
14
|
+
:method => :post,
|
|
15
|
+
:confirm => "Really delete #{user.name}?"
|
|
16
|
+
} %>
|
|
17
|
+
<%= h(user.name) %>
|
|
18
|
+
</li>
|
|
19
|
+
<% end %>
|
|
20
|
+
</ul>
|