zena 1.0.0.rc2 → 1.0.0.rc3
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +23 -0
- data/README.rdoc +1 -1
- data/app/controllers/columns_controller.rb +3 -31
- data/app/controllers/comments_controller.rb +8 -3
- data/app/controllers/data_entries_controller.rb +1 -1
- data/app/controllers/documents_controller.rb +2 -2
- data/app/controllers/nodes_controller.rb +29 -12
- data/app/controllers/relations_controller.rb +2 -2
- data/app/controllers/sites_controller.rb +1 -1
- data/app/controllers/user_sessions_controller.rb +6 -3
- data/app/controllers/users_controller.rb +18 -16
- data/app/controllers/versions_controller.rb +20 -18
- data/app/controllers/virtual_classes_controller.rb +103 -17
- data/app/helpers/users_helper.rb +1 -1
- data/app/models/column.rb +19 -50
- data/app/models/comment.rb +2 -1
- data/app/models/node.rb +45 -22
- data/app/models/relation.rb +13 -0
- data/app/models/relation_proxy.rb +3 -2
- data/app/models/role.rb +213 -4
- data/app/models/site.rb +18 -11
- data/app/models/template.rb +37 -35
- data/app/models/version.rb +1 -1
- data/app/models/virtual_class.rb +154 -86
- data/app/views/columns/_li.html.erb +1 -1
- data/app/views/columns/index.html.erb +1 -9
- data/app/views/comments/index.rhtml +10 -8
- data/app/views/documents/_crop.rhtml +5 -6
- data/app/views/documents/crop_form.rjs +3 -2
- data/app/views/groups/index.rhtml +1 -1
- data/app/views/iformats/index.rhtml +1 -1
- data/app/views/nodes/_import_results.rhtml +1 -1
- data/app/views/nodes/_parent.rhtml +1 -2
- data/app/views/nodes/update.rjs +3 -4
- data/app/views/relations/index.erb +1 -1
- data/app/views/sites/index.erb +1 -1
- data/app/views/templates/drive_tabs/_drive.rhtml +0 -2
- data/app/views/templates/edit_tabs/_image.rhtml +1 -1
- data/app/views/templates/edit_tabs/_title.rhtml +0 -6
- data/app/views/users/index.rhtml +1 -1
- data/app/views/users/preferences.html.erb +2 -2
- data/app/views/versions/backup.rjs +1 -1
- data/app/views/versions/custom_tab.rhtml +9 -4
- data/app/views/versions/destroy.rjs +2 -2
- data/app/views/versions/update.rjs +2 -9
- data/app/views/virtual_classes/_form.erb +3 -2
- data/app/views/virtual_classes/import_prepare.html.erb +13 -0
- data/app/views/virtual_classes/index.erb +28 -8
- data/app/views/zafu/default/Node-+adminLayout.zafu +1 -13
- data/app/views/zafu/default/Node-+login.zafu +1 -0
- data/app/views/zafu/default/Node-+notFound.zafu +1 -1
- data/app/views/zafu/default/Node-+popupLayout.zafu +1 -2
- data/app/views/zafu/default/Node-+search.zafu +1 -1
- data/app/views/zafu/default/Node-admin.zafu +205 -0
- data/app/views/zafu/default/Node.zafu +11 -11
- data/bricks/captcha/lib/bricks/captcha.rb +3 -2
- data/bricks/mongrel/zena/init.rb +2 -1
- data/bricks/pdf/README +5 -5
- data/bricks/pdf/lib/bricks/pdf/engine/prince.rb +2 -2
- data/bricks/pdf/lib/bricks/pdf/engine/xhtml2pdf.rb +2 -2
- data/bricks/pdf/lib/bricks/pdf/install.rb +5 -5
- data/bricks/pdf/lib/bricks/pdf.rb +11 -11
- data/bricks/pdf/test/engines/test_prince.rb +4 -4
- data/bricks/pdf/test/engines/test_xhtml2pdf.rb +4 -4
- data/bricks/pdf/test/shoulda_macros/shoulda_pdf.rb +2 -2
- data/bricks/pdf/zena/init.rb +2 -2
- data/bricks/pdf/zena/tasks.rb +2 -2
- data/bricks/sphinx/lib/bricks/sphinx.rb +6 -2
- data/bricks/sphinx/zena/{sphinx.yml → sphinx.yml.erb} +2 -2
- data/bricks/sphinx/zena/tasks.rb +28 -2
- data/bricks/tags/lib/bricks/tags.rb +16 -1
- data/bricks/tags/zena/test/unit/tags_test.rb +15 -0
- data/bricks/tags/zena/test/zafu/tags.yml +5 -1
- data/bricks/worker/lib/bricks/worker.rb +39 -0
- data/bricks/worker/zena/deploy.rb +0 -2
- data/bricks/worker/zena/init.rb +1 -0
- data/bricks/worker/zena/test/sites/zena/delayed_jobs.yml +16 -0
- data/bricks/worker/zena/test/zafu/worker.yml +8 -0
- data/bricks/zena/zena/migrate/01_base.rb +36 -60
- data/bricks/zena/zena/migrate/02_zerox1_schema.rb +388 -0
- data/bricks/zena/zena/migrate/03_zerox1_data.rb +380 -0
- data/bricks/zena/zena/migrate/20110315161158_add_reverse_scope_to_roles.rb +9 -0
- data/config/database_example.yml +1 -1
- data/config/environment.rb +1 -1
- data/config/gems.yml +17 -14
- data/db/init/base/skins/default/Node-+index.zafu +8 -1
- data/db/init/base/skins/default/Node-+login.zafu +1 -0
- data/db/init/base/skins/default/Node-+popupLayout.zafu +1 -2
- data/db/init/base/skins/default/Node-+search.zafu +2 -2
- data/db/init/base/skins/default/Node.zafu +9 -9
- data/db/init/base/skins/default/{favicon.png → img/favicon.png} +0 -0
- data/db/init/base/skins/default/{style.css → img/style.css} +0 -0
- data/db/init/base/skins/default/img/translations.yml +11 -0
- data/db/init/base/skins/default/notes.zafu +7 -9
- data/doc/zafu_changes.yml +12 -0
- data/lib/bricks/loader.rb +38 -15
- data/lib/tasks/zena.rake +74 -24
- data/lib/zena/acts/enrollable.rb +4 -1
- data/lib/zena/acts/secure.rb +2 -48
- data/lib/zena/acts/serializable.rb +13 -1
- data/lib/zena/app.rb +9 -0
- data/lib/zena/code_syntax.rb +154 -151
- data/lib/zena/console.rb +141 -0
- data/lib/zena/controller/test_case.rb +1 -1
- data/lib/zena/db_helper/abstract_db.rb +17 -5
- data/lib/zena/db_helper/mysql.rb +14 -12
- data/lib/zena/db_helper/postgresql.rb +1 -2
- data/lib/zena/db_helper/sqlite3.rb +6 -6
- data/lib/zena/deploy/awstats.conf.rhtml +1 -1
- data/lib/zena/deploy/httpd.rhtml +6 -1
- data/lib/zena/deploy/vhost.rhtml +9 -1
- data/lib/zena/deploy.rb +12 -7
- data/lib/zena/foxy_parser.rb +3 -1
- data/lib/zena/info.rb +1 -1
- data/lib/zena/parser/zafu_tags.rb +1 -0
- data/lib/zena/parser/zazen_rules.rb +1 -1
- data/lib/zena/remote/node.rb +15 -3
- data/lib/zena/remote/serializable_array.rb +19 -0
- data/lib/zena/remote.rb +1 -0
- data/lib/zena/routes.rb +7 -2
- data/lib/zena/site_worker.rb +11 -1
- data/lib/zena/unit/test_case.rb +68 -0
- data/lib/zena/use/action.rb +6 -2
- data/lib/zena/use/ajax.rb +127 -53
- data/lib/zena/use/ancestry.rb +11 -8
- data/lib/zena/use/calendar.rb +265 -129
- data/lib/zena/use/conditional.rb +1 -1
- data/lib/zena/use/context.rb +5 -5
- data/lib/zena/use/dates.rb +172 -60
- data/lib/zena/use/display.rb +70 -39
- data/lib/zena/use/error_rendering.rb +1 -3
- data/lib/zena/use/field_index.rb +4 -1
- data/lib/zena/use/forms.rb +94 -72
- data/lib/zena/use/fulltext.rb +16 -24
- data/lib/zena/use/html_tags.rb +20 -12
- data/lib/zena/use/i18n.rb +37 -37
- data/lib/zena/use/image_builder.rb +8 -1
- data/lib/zena/use/ml_index.rb +16 -16
- data/lib/zena/use/prop_eval.rb +10 -5
- data/lib/zena/use/query_builder.rb +55 -23
- data/lib/zena/use/query_node.rb +51 -25
- data/lib/zena/use/refactor.rb +2 -28
- data/lib/zena/use/relations.rb +1 -1
- data/lib/zena/use/rendering.rb +29 -0
- data/lib/zena/use/scope_index.rb +75 -14
- data/lib/zena/use/search.rb +5 -10
- data/lib/zena/use/test_helper.rb +2 -2
- data/lib/zena/use/urls.rb +125 -104
- data/lib/zena/use/workflow.rb +2 -1
- data/lib/zena/use/zafu_attributes.rb +2 -2
- data/lib/zena/use/zafu_safe_definitions.rb +20 -0
- data/lib/zena/use/zafu_templates.rb +20 -6
- data/lib/zena/use/zazen.rb +31 -20
- data/lib/zena/view/test_case.rb +5 -0
- data/lib/zena/zafu_compiler.rb +24 -2
- data/lib/zena.rb +12 -6
- data/locale/de/LC_MESSAGES/zena.mo +0 -0
- data/locale/de/zena.po +1345 -1164
- data/locale/en/LC_MESSAGES/zena.mo +0 -0
- data/locale/en/zena.po +1275 -1129
- data/locale/fr/LC_MESSAGES/zena.mo +0 -0
- data/locale/fr/zena.mo +0 -0
- data/locale/fr/zena.po +1617 -1441
- data/locale/log.txt +9 -0
- data/locale/zena.pot +957 -748
- data/public/javascripts/prototype.js +1 -1
- data/public/javascripts/zena.js +99 -44
- data/public/stylesheets/admin.css +6 -4
- data/public/stylesheets/backend.css +71 -0
- data/public/stylesheets/calendar.css +24 -25
- data/public/stylesheets/code.css +11 -6
- data/public/stylesheets/comment.css +2 -1
- data/public/stylesheets/popup.css +7 -8
- data/test/custom_queries/complex.host.yml +15 -1
- data/test/fixtures/files/Node-test.zafu +29 -28
- data/test/fixtures/files/translations_de.yml +12 -1
- data/test/fixtures/files/translations_fr.yml +12 -1
- data/test/functional/comments_controller_test.rb +9 -0
- data/test/functional/iformats_controller_test.rb +1 -1
- data/test/functional/nodes_controller_test.rb +124 -35
- data/test/functional/users_controller_test.rb +132 -3
- data/test/functional/virtual_classes_controller_test.rb +75 -4
- data/test/integration/navigation_test.rb +51 -9
- data/test/integration/query_node/basic.yml +19 -7
- data/test/integration/query_node/complex.yml +1 -1
- data/test/integration/query_node/dates.yml +27 -1
- data/test/integration/query_node/filters.yml +1 -1
- data/test/integration/query_node/relations.yml +13 -4
- data/test/integration/query_node_test.rb +4 -0
- data/test/integration/xml_api_test.rb +6 -1
- data/test/integration/zafu_compiler/action.yml +3 -3
- data/test/integration/zafu_compiler/ajax.yml +103 -22
- data/test/integration/zafu_compiler/basic.yml +0 -52
- data/test/integration/zafu_compiler/calendar.yml +44 -20
- data/test/integration/zafu_compiler/comments.yml +53 -0
- data/test/integration/zafu_compiler/complex.yml +11 -11
- data/test/integration/zafu_compiler/complex_ok.yml +16 -3
- data/test/integration/zafu_compiler/conditional.yml +15 -5
- data/test/integration/zafu_compiler/context.yml +9 -0
- data/test/integration/zafu_compiler/dates.yml +43 -15
- data/test/integration/zafu_compiler/display.yml +60 -6
- data/test/integration/zafu_compiler/errors.yml +6 -2
- data/test/integration/zafu_compiler/forms.yml +45 -6
- data/test/integration/zafu_compiler/i18n.yml +8 -1
- data/test/integration/zafu_compiler/meta.yml +38 -0
- data/test/integration/zafu_compiler/query.yml +43 -4
- data/test/integration/zafu_compiler/relations.yml +26 -33
- data/test/integration/zafu_compiler/rubyless.yml +10 -0
- data/test/integration/zafu_compiler/safe_definitions.yml +21 -1
- data/test/integration/zafu_compiler/urls.yml +75 -5
- data/test/integration/zafu_compiler/version.yml +2 -2
- data/test/integration/zafu_compiler/zafu_attributes.yml +5 -1
- data/test/integration/zafu_compiler/zazen.yml +14 -6
- data/test/integration/zafu_compiler_test.rb +5 -1
- data/test/sites/complex/columns.yml +5 -0
- data/test/sites/complex/roles.yml +4 -0
- data/test/sites/zena/nodes.yml +13 -2
- data/test/sites/zena/roles.yml +13 -5
- data/test/sites/zena/versions.yml +27 -9
- data/test/unit/column_test.rb +51 -5
- data/test/unit/iformat_test.rb +2 -2
- data/test/unit/node_test.rb +29 -17
- data/test/unit/note_test.rb +1 -1
- data/test/unit/relation_proxy_test.rb +4 -5
- data/test/unit/relation_test.rb +16 -0
- data/test/unit/remote_test.rb +2 -2
- data/test/unit/role_test.rb +292 -4
- data/test/unit/site_test.rb +12 -0
- data/test/unit/template_test.rb +1 -1
- data/test/unit/text_document_test.rb +1 -1
- data/test/unit/virtual_class_test.rb +200 -83
- data/test/unit/zena/acts/enrollable_test.rb +26 -31
- data/test/unit/zena/use/calendar_test.rb +90 -37
- data/test/unit/zena/use/field_index_test.rb +28 -0
- data/test/unit/zena/use/html_tags_test.rb +7 -3
- data/test/unit/zena/use/ml_index_test.rb +2 -16
- data/test/unit/zena/use/nested_attributes_alias_view_test.rb +2 -2
- data/test/unit/zena/use/prop_eval_test.rb +50 -8
- data/test/unit/zena/use/query_node_test.rb +11 -0
- data/test/unit/zena/use/rendering_test.rb +72 -0
- data/test/unit/zena/use/scope_index_test.rb +37 -2
- data/test/unit/zena/use/urls_test.rb +10 -0
- data/test/unit/zena/use/zazen_test.rb +3 -3
- data/vendor/plugins/gettext_i18n_rails/Gemfile +11 -0
- data/vendor/plugins/gettext_i18n_rails/Gemfile.lock +92 -0
- data/vendor/plugins/gettext_i18n_rails/Rakefile +12 -17
- data/vendor/plugins/gettext_i18n_rails/Readme.md +215 -0
- data/vendor/plugins/gettext_i18n_rails/VERSION +1 -1
- data/vendor/plugins/gettext_i18n_rails/gettext_i18n_rails.gemspec +38 -34
- data/vendor/plugins/gettext_i18n_rails/lib/gettext_i18n_rails/active_record.rb +1 -1
- data/vendor/plugins/gettext_i18n_rails/lib/gettext_i18n_rails/backend.rb +30 -14
- data/vendor/plugins/gettext_i18n_rails/lib/gettext_i18n_rails/haml_parser.rb +1 -1
- data/vendor/plugins/gettext_i18n_rails/lib/gettext_i18n_rails/html_safe_translations.rb +29 -0
- data/vendor/plugins/gettext_i18n_rails/lib/gettext_i18n_rails/i18n_hacks.rb +29 -1
- data/vendor/plugins/gettext_i18n_rails/lib/gettext_i18n_rails/model_attributes_finder.rb +7 -1
- data/vendor/plugins/gettext_i18n_rails/lib/gettext_i18n_rails/railtie.rb +10 -0
- data/vendor/plugins/gettext_i18n_rails/lib/gettext_i18n_rails/ruby_gettext_extractor.rb +6 -2
- data/vendor/plugins/gettext_i18n_rails/lib/gettext_i18n_rails/string_interpolate_fix.rb +20 -0
- data/vendor/plugins/gettext_i18n_rails/lib/gettext_i18n_rails/tasks.rb +120 -0
- data/vendor/plugins/gettext_i18n_rails/lib/gettext_i18n_rails.rb +10 -3
- data/vendor/plugins/gettext_i18n_rails/lib/tasks/gettext_rails_i18n.rake +1 -74
- data/vendor/plugins/gettext_i18n_rails/spec/gettext_i18n_rails/active_record_spec.rb +51 -20
- data/vendor/plugins/gettext_i18n_rails/spec/gettext_i18n_rails/backend_spec.rb +12 -7
- data/vendor/plugins/gettext_i18n_rails/spec/gettext_i18n_rails/string_interpolate_fix_spec.rb +32 -0
- data/vendor/plugins/gettext_i18n_rails/spec/gettext_i18n_rails_spec.rb +38 -1
- data/vendor/plugins/gettext_i18n_rails/spec/rails2/Gemfile +11 -0
- data/vendor/plugins/gettext_i18n_rails/spec/spec_helper.rb +1 -8
- data/zena.gemspec +2241 -2217
- metadata +123 -83
- data/.gitignore +0 -36
- data/app/views/nodes/_dates.rhtml +0 -13
- data/db/init/base/skins/default/Node-+adminLayout.zafu +0 -46
- data/db/init/base/skins/default/Node-tree.zafu +0 -19
- data/vendor/plugins/gettext_i18n_rails/README.markdown +0 -143
@@ -5,8 +5,7 @@
|
|
5
5
|
<div class='hidden'><input type='hidden' name='drive' value='parent'/></div>
|
6
6
|
<% if @node[:parent_id] %><li><label><%= _('parent') %></label><%= select_id('node', 'parent_id') %></li><% end -%>
|
7
7
|
<li><label><%= _('class') %></label><%= select('node', 'klass', @node.class.change_to_classes_for_form) %></li>
|
8
|
-
|
9
|
-
<% if @node.kind_of?(Page) -%>
|
8
|
+
<% if @node.vkind_of?('Page') -%>
|
10
9
|
<li><label><%= _('custom base url') %></label><%= check_box('node', 'custom_base') %></li>
|
11
10
|
<% end -%>
|
12
11
|
<li class='submit'><%= submit_tag _('change') %></li>
|
data/app/views/nodes/update.rjs
CHANGED
@@ -16,14 +16,13 @@ elsif upd = params[:drive]
|
|
16
16
|
page.replace_html "#{upd}_errors", :inline => @errors ? render_errors : error_messages_for(:node, :object => @node)
|
17
17
|
else
|
18
18
|
page.replace upd, :partial => upd
|
19
|
-
page.replace '
|
19
|
+
page.replace 'flash_messages', :inline => flash_messages(:page => page)
|
20
20
|
page.visual_effect :highlight, upd
|
21
|
-
page.visual_effect :fade, 'notice', :duration => 3
|
22
21
|
end
|
23
22
|
else
|
24
23
|
flash['error'] = "unknown 'drive' parameter #{upd.inspect}"
|
25
|
-
page.replace '
|
24
|
+
page.replace 'flash_messages', :inline => flash_messages(:page => page)
|
26
25
|
end
|
27
26
|
else
|
28
27
|
update_page_content(page, @node)
|
29
|
-
end
|
28
|
+
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<h2 class='title'><%= _('
|
1
|
+
<h2 class='title'><%= _('relations') %></h2>
|
2
2
|
<table id='relation_list' class='admin' cellspacing="0">
|
3
3
|
<tr><th class='nav' colspan='9'><%= will_paginate @relations %></th></tr>
|
4
4
|
<%= render :partial=>'relations/li', :collection=>@relations %>
|
data/app/views/sites/index.erb
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
<label for="crop_x"><%= _("image") %></label>
|
7
7
|
<div id="crop" class='toggle_div'>
|
8
8
|
<div class='img_left'><%= link_to_remote(img_tag(@node,:mode=>'pv'), :url => crop_form_document_path(@node[:zip]), :method => :get) %></div>
|
9
|
-
<ul class='
|
9
|
+
<ul class='crop_options'>
|
10
10
|
<li><%= link_to_remote(_("crop/resize"), :url => crop_form_document_path(@node[:zip]), :method => :get) %></li>
|
11
11
|
<li><%= _('original') %> <%= @node.width %>px / <%= @node.height %>px</li>
|
12
12
|
<li><%= _('size') %> <%= fsize(@node.size) %></li>
|
@@ -7,12 +7,6 @@
|
|
7
7
|
<label for='v_lang'><%= _("language") %></label>
|
8
8
|
<%= select 'node', 'v_lang', current_site.lang_list.map {|l| [_(l), l]} %>
|
9
9
|
|
10
|
-
<% if @node.kind_of?(Note) -%>
|
11
|
-
<label for='log_at'><%= _("log date") %></label>
|
12
|
-
<%= date_box(@node, 'log_at')%>
|
13
|
-
<label for='event_at'><%= _("event date") %></label>
|
14
|
-
<%= date_box(@node, 'event_at')%>
|
15
|
-
<% end -%>
|
16
10
|
<label><%= _('publication date') %></label>
|
17
11
|
<%= date_box(@node, 'v_publish_from') %>
|
18
12
|
<label for="summary"><%= _("summary") %></label>
|
data/app/views/users/index.rhtml
CHANGED
@@ -4,7 +4,7 @@ else
|
|
4
4
|
page << "try {"
|
5
5
|
page.replace_html 'original_caution', :inline=>""
|
6
6
|
page << "} catch(err) {}"
|
7
|
-
page.replace 'messages', :inline => flash_messages
|
7
|
+
page.replace 'messages', :inline => flash_messages(:page => page)
|
8
8
|
page['node_v_id'].value = @node.v_id
|
9
9
|
if flash[:notice]
|
10
10
|
flash[:notice] = nil
|
@@ -1,5 +1,10 @@
|
|
1
|
-
<% @node.schema.columns.each do |
|
2
|
-
<% next if %w{title text summary}.include?(
|
3
|
-
<label for='<%=
|
4
|
-
|
1
|
+
<% @node.schema.columns.each do |col_name, col| -%>
|
2
|
+
<% next if %w{title text summary}.include?(col_name) || !@node.safe_method_type([col_name]) -%>
|
3
|
+
<label for='<%= col_name %>'><%= _(col_name) %></label>
|
4
|
+
<% case col.ptype
|
5
|
+
when :datetime %>
|
6
|
+
<%= date_box(@node, col_name, :size=>15) %>
|
7
|
+
<% else %>
|
8
|
+
<%= text_area 'node', col_name, :cols => nil, :rows => 1, :value => @node.prop[col_name], :class => 'full_width' %>
|
9
|
+
<% end %>
|
5
10
|
<% end -%>
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# only called when the last version is destroyed in 'drive' popup
|
2
|
-
page.replace
|
3
|
-
page.replace
|
2
|
+
page.replace 'flash_messages', :inline => flash_messages(:page => page)
|
3
|
+
page.replace 'versions', :partial => 'list'
|
4
4
|
page.delay(0.3) do
|
5
5
|
page << " if (parent != window) {
|
6
6
|
parent.Zena.version_preview('#{zen_path(@node.parent)}');
|
@@ -1,9 +1,2 @@
|
|
1
|
-
page.replace "
|
2
|
-
|
3
|
-
flash[:notice] = nil
|
4
|
-
page.visual_effect :fade, 'notice', :duration => 5.0
|
5
|
-
elsif flash[:error]
|
6
|
-
flash[:error] = nil
|
7
|
-
page.visual_effect :fade, 'error', :duration => 5.0
|
8
|
-
end
|
9
|
-
page.replace "versions", :partial => 'list'
|
1
|
+
page.replace "versions", :partial => 'list'
|
2
|
+
page.replace 'flash_messages', :inline => flash_messages(:page => page)
|
@@ -26,16 +26,17 @@
|
|
26
26
|
</tr>
|
27
27
|
<tr>
|
28
28
|
<td class='label'><%= _('kpath') %></td>
|
29
|
-
<td><b><%= @virtual_class.kpath %></b
|
29
|
+
<td><b><%= @virtual_class.kpath %></b></td>
|
30
30
|
</tr>
|
31
31
|
<tr><td class='label'><%= _('superclass')%></td><td><%= select('virtual_class', 'superclass', Node.classes_for_form(:without => ((@virtual_class.new_record? || @virtual_class.kind_of?(Role)) ? nil : @virtual_class.to_s)), :selected => @virtual_class.superclass.to_s ) %></td></tr>
|
32
32
|
|
33
33
|
<% if @virtual_class.kind_of?(VirtualClass) -%>
|
34
34
|
<% Zena::Use::Fulltext::FULLTEXT_FIELDS.reverse_each do |fld| -%>
|
35
35
|
<tr><td class='label'><%= _(fld)%></td><td><%= text_area('virtual_class', fld, :rows => 2, :cols => 30) %></td></tr>
|
36
|
-
<% end -%>
|
36
|
+
<% end -%>
|
37
37
|
<tr><td class='label'><%= _('idx_class')%></td><td><%= select('virtual_class', 'idx_class', Zena::Use::ScopeIndex.models_for_form) %></td></tr>
|
38
38
|
<tr><td class='label'><%= _('idx_scope')%></td><td><%= text_area('virtual_class', 'idx_scope', :rows => 2, :cols => 30) %></td></tr>
|
39
|
+
<tr><td class='label'><%= _('idx_reverse_scope')%></td><td><%= text_area('virtual_class', 'idx_reverse_scope', :rows => 2, :cols => 30) %></td></tr>
|
39
40
|
<tr><td class='label'><%= _('prop eval')%></td><td><%= text_area('virtual_class', 'prop_eval', :rows => 2, :cols => 30) %></td></tr>
|
40
41
|
|
41
42
|
<tr><td class='label'><%= _('create group')%></td><td><%= select('virtual_class', 'create_group_id', visitor.all_groups.map{|g| [g.name, g.id]} ) %></td></tr>
|
@@ -0,0 +1,13 @@
|
|
1
|
+
<h2 class='title'><%= _('classes import') %></h2>
|
2
|
+
|
3
|
+
<div class='zazen role_diff'><%= @diff %></div>
|
4
|
+
|
5
|
+
<div class='admin_group'><h3><%= _('import definitions') %></h3>
|
6
|
+
|
7
|
+
<%= form_tag({ :controller => 'virtual_classes', :action => 'import'}) %>
|
8
|
+
<p><%= hidden_field_tag(:roles, @yaml) %></p>
|
9
|
+
<p class="btn_validate">
|
10
|
+
<%= link_to(_('cancel'), :action => 'index')%>
|
11
|
+
<input type="submit" value='<%= _('apply') %>'/></p>
|
12
|
+
</form>
|
13
|
+
</div>
|
@@ -1,4 +1,6 @@
|
|
1
|
-
<h2 class='title'><%= _('
|
1
|
+
<h2 class='title'><%= _('classes') %></h2>
|
2
|
+
|
3
|
+
<%= flash_messages %>
|
2
4
|
|
3
5
|
<table id='virtual_class_list' class='admin' cellspacing="0">
|
4
6
|
<tr><th class='nav' colspan='4'><%= will_paginate @virtual_classes %></th></tr>
|
@@ -6,10 +8,28 @@
|
|
6
8
|
<%= render :partial=>'virtual_classes/add' %>
|
7
9
|
</table>
|
8
10
|
|
9
|
-
<div class='admin_group'
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
<p
|
14
|
-
|
15
|
-
|
11
|
+
<div class='admin_group'>
|
12
|
+
<% if @roles_backup -%>
|
13
|
+
<h3><%= _('import') %></h3>
|
14
|
+
<%= form_tag({ :controller => 'virtual_classes', :action => 'import'}) %>
|
15
|
+
<p>
|
16
|
+
<%= hidden_field_tag(:roles, @roles_backup) %>
|
17
|
+
<%#= hidden_field_tag(:delete_roles, '1') %>
|
18
|
+
</p>
|
19
|
+
<p class="btn_validate">
|
20
|
+
<%= link_to(_('back'), :action => 'index')%>
|
21
|
+
<input type="submit" value='<%= _('revert') %>'/>
|
22
|
+
</p>
|
23
|
+
</form>
|
24
|
+
<% else -%>
|
25
|
+
<h3><%= link_to(_('export'), :action => 'export') %></h3>
|
26
|
+
<h3><%= _('import') %></h3>
|
27
|
+
<%= form_tag({ :controller => 'virtual_classes', :action => 'import_prepare'}, {:multipart => true} ) %>
|
28
|
+
<p><input style='line-height:1.5em;' name="attachment" class='file' type="file" /></p>
|
29
|
+
<p class="btn_validate">
|
30
|
+
<%= link_to(_('cancel'), :action => 'index')%>
|
31
|
+
<input type="submit" value='<%= _('diff') %>'/>
|
32
|
+
</p>
|
33
|
+
</form>
|
34
|
+
<% end -%>
|
35
|
+
</div>
|
@@ -1,16 +1,4 @@
|
|
1
|
-
<r:include template='$default/Node'>
|
2
|
-
<r:with part='stylesheets'>
|
3
|
-
<r:stylesheets/>
|
4
|
-
<r:stylesheets list='default,admin'/>
|
5
|
-
<link href="style.css" rel="Stylesheet" type="text/css"/>
|
6
|
-
</r:with>
|
7
|
-
|
8
|
-
<r:with part='context'>
|
9
|
-
<ol class='admin_links' do='admin_links'>
|
10
|
-
<li do='each' do='show'><a href='#'>do this</a></li>
|
11
|
-
</ol>
|
12
|
-
</r:with>
|
13
|
-
<r:with part='title'/>
|
1
|
+
<r:include template='$default/Node-admin'>
|
14
2
|
<r:with part='content' do='content_for_layout'>
|
15
3
|
<r:include template='Node' part='title'/>
|
16
4
|
<div id='related' do='visitor'>
|
@@ -20,6 +20,7 @@ td { padding:5px; }
|
|
20
20
|
<body do='void' name='body'>
|
21
21
|
<div id='login_form'>
|
22
22
|
<p class='welcome' do='link'><r:t>Login for</r:t> <b do='title'/></p>
|
23
|
+
<r:flash_messages/>
|
23
24
|
<form action="/session" method="post"> <table>
|
24
25
|
<tr>
|
25
26
|
<td><label for='user_login' do='trans'>User name:</label></td>
|
@@ -0,0 +1,205 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
3
|
+
<r:if test='visitor.is_anon?' do='not_found'/>
|
4
|
+
<html xmlns='http://www.w3.org/1999/xhtml' lang='#{v.lang}' xml:lang='en' do='load' dictionary='translations' missing='ignore'>
|
5
|
+
<head do='void' name='head'>
|
6
|
+
<title do='title_for_layout' do='show' attr='title' name='page_title'>page title</title>
|
7
|
+
<!-- link href='favicon.png' rel='shortcut icon' type='image/png' / -->
|
8
|
+
<meta http-equiv='Content-type' content='text/html; charset=utf-8' />
|
9
|
+
<r:void name='stylesheets'>
|
10
|
+
<r:stylesheets/>
|
11
|
+
<r:stylesheets list='backend,admin,comment'/>
|
12
|
+
</r:void>
|
13
|
+
|
14
|
+
<r:javascripts/>
|
15
|
+
<r:uses_datebox/>
|
16
|
+
</head>
|
17
|
+
<body>
|
18
|
+
<h1 id='logo' do='link' href='root' mode='admin' do='t'>admin_interface</h1>
|
19
|
+
<div id='container'>
|
20
|
+
<div id='navigation'>
|
21
|
+
<ul id='menu' do='admin_links'>
|
22
|
+
<li do='each' do='show'>x</li>
|
23
|
+
</ul>
|
24
|
+
</div>
|
25
|
+
|
26
|
+
<div id='content'>
|
27
|
+
<h1 id='title'><r:title/> <span class='klass'>(<r:klass/>)</span></h1>
|
28
|
+
<div id='preview'>
|
29
|
+
<h2 class='preview' do='link' do='t'>view_live</h2>
|
30
|
+
<r:Image?>
|
31
|
+
<table class='med_prev'><tr><td do='link' update='crop' crop='true'>
|
32
|
+
<r:img mode='med'/>
|
33
|
+
<span class='crop'>
|
34
|
+
<img src='/images/cut_red.png' title='#{t("crop")}'/>
|
35
|
+
</span>
|
36
|
+
</td></tr></table>
|
37
|
+
<r:else do='zazen' attr='text' live='true' code='#{content_lang}'/>
|
38
|
+
</r:Image?>
|
39
|
+
</div>
|
40
|
+
|
41
|
+
<div id='actions'>
|
42
|
+
<r:if test='can_edit?'>
|
43
|
+
<label do='t("edit #{klass}")'/>
|
44
|
+
<r:Image?>
|
45
|
+
<div id='crop' do='block' do='if' test='params[:crop]'>
|
46
|
+
<p do='else'>
|
47
|
+
<r:void actions='edit'/>
|
48
|
+
<r:link update='crop' crop='true'>
|
49
|
+
<img src='/images/cut_red.png'/> <r:t>crop</r:t>
|
50
|
+
</r:link>
|
51
|
+
</p>
|
52
|
+
<p do='link' id='crop_x' update='crop'><r:t>btn_x</r:t> <r:t>cancel</r:t></p>
|
53
|
+
<!-- JS trigger must run effect before crop editor -->
|
54
|
+
<r:js>$$('#crop>div').each(function(o) { new Effect.Appear(o, {duration:0.5}) });</r:js>
|
55
|
+
<div class='mask' style='display:none;'> </div>
|
56
|
+
<!--div class='wrap' style='display:none;' onclick='$("crop_x").onclick();'>
|
57
|
+
<div class='win' onclick='Event.stop(event);return false;' -->
|
58
|
+
|
59
|
+
<div class='wrap' style='display:none;'>
|
60
|
+
<div class='win'>
|
61
|
+
<p class='btn'>
|
62
|
+
<p class='backup'><input name='node[v_backup]' type='checkbox' value='true' checked='checked'/><r:t>backup</r:t></p>
|
63
|
+
<input type='submit' value='#{t("crop")}'/>
|
64
|
+
<p do='link' update='crop' do='t'>btn_x</p>
|
65
|
+
</p>
|
66
|
+
<div class='crop_ed' do='crop'/>
|
67
|
+
</div>
|
68
|
+
</div>
|
69
|
+
</div>
|
70
|
+
<r:else>
|
71
|
+
<p do='void' actions='edit'/>
|
72
|
+
</r:else>
|
73
|
+
</r:Image?>
|
74
|
+
</r:if>
|
75
|
+
<r:if test='can_publish?'>
|
76
|
+
<label do='t("publish #{klass}")'/>
|
77
|
+
<p do='void' actions='publish'/>
|
78
|
+
</r:if>
|
79
|
+
<r:if test='can_drive?'>
|
80
|
+
<label do='t("move/manage versions")'/>
|
81
|
+
<p do='void' actions='drive'/>
|
82
|
+
</r:if>
|
83
|
+
</div> <!-- actions -->
|
84
|
+
|
85
|
+
<div id='form' do='form'>
|
86
|
+
<r:if test='can_edit?' do='default' label='t'>
|
87
|
+
<r:input type='submit'/>
|
88
|
+
<input type='hidden' name='redir' value='#{path(this, :mode => "admin")}'/>
|
89
|
+
<div do='vclass' do='roles'>
|
90
|
+
<fieldset do='each'>
|
91
|
+
<legend do='name'/>
|
92
|
+
<ul class='columns' do='columns'>
|
93
|
+
<li do='each' do='textarea'/>
|
94
|
+
</ul>
|
95
|
+
</fieldset>
|
96
|
+
</div>
|
97
|
+
<r:input type='submit'/>
|
98
|
+
</r:if>
|
99
|
+
</div> <!-- form -->
|
100
|
+
|
101
|
+
<div id='browser'>
|
102
|
+
<div class='wrap'>
|
103
|
+
<div id='query'>
|
104
|
+
<div class='search' do='filter' live='true'>
|
105
|
+
<r:input param='qb'/>
|
106
|
+
</div>
|
107
|
+
<div id='qb_list' do='block' do='query' default='nodes in site limit 30 paginate p' select='#{params[:qb] || "nodes in site"} limit 30 paginate p' set_ref='this' set_epar='"qb"'>
|
108
|
+
<div class='pages'><r:t>page</r:t>: <r:link page='list' page_count='6' update='qb_list' encode_params='#{epar}'/> (<r:count/> <r:t>rec.</r:t>)</div>
|
109
|
+
<ul>
|
110
|
+
<r:include template='$default/Node-admin' part='elem'/>
|
111
|
+
</ul>
|
112
|
+
<r:elsif test='query_errors'>
|
113
|
+
<div class='pages error' do='query_errors'/>
|
114
|
+
</r:elsif>
|
115
|
+
<r:else>
|
116
|
+
<div class='pages' do='t'>not_found</div>
|
117
|
+
<ul></ul>
|
118
|
+
</r:else>
|
119
|
+
</div>
|
120
|
+
</div> <!-- #query -->
|
121
|
+
<div id='parents'>
|
122
|
+
<div class='search' do='filter' live='true'>
|
123
|
+
<r:input param='f1'/>
|
124
|
+
<r:select param='k1' root_class='Node' attr='kpath'/>
|
125
|
+
</div>
|
126
|
+
<div id='par_list' do='block' do='children where kpath like "#{params[:k1]}%" and title like "%#{params[:f1]}%" from parent from parent limit 30 paginate p' set_ref='parent' set_epar='"k1,f1,qb"'>
|
127
|
+
<div class='pages'><r:t>page</r:t>: <r:link page='list' page_count='6' update='par_list' encode_params='#{epar}'/> (<r:count/> <r:t>rec.</r:t>)</div>
|
128
|
+
<ul>
|
129
|
+
<li do='each' alt_class='stripe' on_if='id == ref.id' name='elem'>
|
130
|
+
<r:Image?>
|
131
|
+
<r:img mode='tipop'/>
|
132
|
+
<r:else>
|
133
|
+
<img src='#{vclass.icon || "/images/brick.png"}'/>
|
134
|
+
</r:else>
|
135
|
+
</r:Image?>
|
136
|
+
<r:link mode='admin' encode_params='#{epar}'>
|
137
|
+
<span class='id' do='id'/>
|
138
|
+
<r:Document?>
|
139
|
+
<r:show text='#{title.limit(14)}.#{ext}'/>
|
140
|
+
<r:else do='title.limit(23)'/>
|
141
|
+
</r:Document?>
|
142
|
+
</r:link>
|
143
|
+
</li>
|
144
|
+
</ul>
|
145
|
+
<r:else do='parent'>
|
146
|
+
<!-- no grand-parent -->
|
147
|
+
<div class='pages'><r:if test='!parent_id'><r:t>root_node</r:t><r:else do='t'>not_found</r:else></r:if></div>
|
148
|
+
<ul>
|
149
|
+
<r:include template='$default/Node-admin' part='elem' method='void'/>
|
150
|
+
</ul>
|
151
|
+
<r:else><!-- no parent -->
|
152
|
+
<div class='pages' do='t'>no_parent</div>
|
153
|
+
<ul>
|
154
|
+
</ul>
|
155
|
+
</r:else>
|
156
|
+
</r:else>
|
157
|
+
</div>
|
158
|
+
</div> <!-- #parents -->
|
159
|
+
<div id='siblings'>
|
160
|
+
<div class='search' do='filter' live='true'>
|
161
|
+
<r:input param='f2'/>
|
162
|
+
<r:select param='k2' root_class='Node' attr='kpath'/>
|
163
|
+
</div>
|
164
|
+
<div id='sib_list' do='block' do='children where kpath like "#{params[:k2]}%" and title like "%#{params[:f2]}%" from parent limit 30 paginate p' set_ref='this' set_epar='"k2,f2,qb"'>
|
165
|
+
<div class='pages'><r:t>page</r:t>: <r:link page='list' page_count='6' update='sib_list' encode_params='#{epar}'/> (<r:count/> <r:t>rec.</r:t>)</div>
|
166
|
+
<ul>
|
167
|
+
<r:include template='$default/Node-admin' part='elem'/>
|
168
|
+
</ul>
|
169
|
+
<r:else>
|
170
|
+
<!-- no parent, just show self -->
|
171
|
+
<div class='pages'><r:if test='!parent_id'><r:t>root_node</r:t><r:else do='t'>not_found</r:else></r:if></div>
|
172
|
+
<ul>
|
173
|
+
<r:include template='$default/Node-admin' part='elem' method='void'/>
|
174
|
+
</ul>
|
175
|
+
</r:else>
|
176
|
+
</div>
|
177
|
+
</div> <!-- #siblings -->
|
178
|
+
<div id='children'>
|
179
|
+
<div class='search' do='filter' live='true'>
|
180
|
+
<r:input param='f3'/>
|
181
|
+
<r:select param='k3' root_class='Node' attr='kpath'/>
|
182
|
+
</div>
|
183
|
+
<div id='ch_list' do='block' do='children where kpath like "#{params[:k3]}%" and title like "%#{params[:f3]}%" limit 30 paginate p' set_epar='"k3,f3,qb"'>
|
184
|
+
<div class='pages'><r:t>page</r:t>: <r:link page='list' page_count='6' update='ch_list' encode_params='#{epar}'/> (<r:count/> <r:t>rec.</r:t>)</div>
|
185
|
+
<ul>
|
186
|
+
<r:each set_ref='main' do='include' template='$default/Node-admin' part='elem' method='void'/>
|
187
|
+
<li class='add' do='add' do='t'>add_object</li>
|
188
|
+
<li class='add_doc' do='add_document' do='t'>upload_document</li>
|
189
|
+
<li do='form'><r:select name='klass' root_class='Node'/> <r:input name='title'/> <r:input type='submit'/></li>
|
190
|
+
</ul>
|
191
|
+
</div>
|
192
|
+
</div> <!-- #children -->
|
193
|
+
|
194
|
+
<r:js>
|
195
|
+
// TODO: scroll only in browser DIV
|
196
|
+
// $$('#browser .on').each(function(o) {
|
197
|
+
// o.scrollIntoView(true);
|
198
|
+
// });
|
199
|
+
</r:js>
|
200
|
+
</div> <!-- .wrap -->
|
201
|
+
</div> <!-- #browser -->
|
202
|
+
</div> <!-- content -->
|
203
|
+
</div>
|
204
|
+
</body>
|
205
|
+
</html>
|
@@ -1,13 +1,13 @@
|
|
1
1
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
2
2
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
3
|
-
<html xmlns="http://www.w3.org/1999/xhtml" do='void' lang="#{
|
3
|
+
<html xmlns="http://www.w3.org/1999/xhtml" do='void' lang="#{v.lang}" xml:lang='en'>
|
4
4
|
<head do='void' name='head'>
|
5
5
|
<title do='title_for_layout' do='show' attr='title' name='page_title'>page title</title>
|
6
6
|
<link href='favicon_tiny.png' rel='shortcut icon' type='image/png' />
|
7
7
|
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
|
8
8
|
<r:void name='stylesheets'>
|
9
9
|
<r:stylesheets media='all'/>
|
10
|
-
<r:stylesheets
|
10
|
+
<r:stylesheets list='default'/>
|
11
11
|
</r:void>
|
12
12
|
|
13
13
|
<r:javascripts/>
|
@@ -18,10 +18,10 @@
|
|
18
18
|
<div id='top' do='root' do='link'/>
|
19
19
|
<div id='header'>
|
20
20
|
<div id='login' do='login_link'/>
|
21
|
-
<div id='visitor' do='
|
21
|
+
<div id='visitor'><r:visitor_link/> <r:if test='can_edit?' do='link' mode='admin' do='t'>btn_edit</r:if></div>
|
22
22
|
<div id='search' do='search_box' type='search'/>
|
23
23
|
<ol id='menu' do='root' do='pages'>
|
24
|
-
<li do='each'
|
24
|
+
<li do='each' on_if='is_ancestor?(main)' do='link'/>
|
25
25
|
</ol>
|
26
26
|
</div>
|
27
27
|
<div id='container'>
|
@@ -34,8 +34,8 @@
|
|
34
34
|
<li class='inline_form' do='form'>
|
35
35
|
<ol>
|
36
36
|
<li><r:select name='klass' root_class='Page'/></li>
|
37
|
-
<li><input type='text' name='title' value=''/></li>
|
38
|
-
<li class='validate'><input type="submit" value='#{trans("validate")'/></li>
|
37
|
+
<li><r:input type='text' name='title' value=''/></li>
|
38
|
+
<li class='validate'><r:input type="submit" value='#{trans("validate")'/></li>
|
39
39
|
</ol>
|
40
40
|
</li>
|
41
41
|
</ol>
|
@@ -49,7 +49,7 @@
|
|
49
49
|
<div id='related'>
|
50
50
|
<r:documents name='documents'><h3 do='trans'>documents</h3>
|
51
51
|
<ol>
|
52
|
-
<li do='each' do='if'
|
52
|
+
<li do='each' do='if' eval='can_write?'>
|
53
53
|
<r:link><r:img mode='tiny'/> <r:show attr='title'/>.<r:show attr='ext'/></r:link>
|
54
54
|
<r:else>
|
55
55
|
<r:link format='data'><r:img mode='tiny'/> <r:show attr='title'/>.<r:show attr='ext'/></r:link>
|
@@ -64,8 +64,8 @@
|
|
64
64
|
<li do='add' before='self'/>
|
65
65
|
<li class='inline_form' do='form'>
|
66
66
|
<p class='node_klass'> <r:select name='klass' root_class='Page'/></p>
|
67
|
-
<p class='node_title'><input type='text' name='title' value=''/></p>
|
68
|
-
<p class='btn_validate'><input type="submit" value='#{trans("validate")}'/></p>
|
67
|
+
<p class='node_title'><r:input type='text' name='title' value=''/></p>
|
68
|
+
<p class='btn_validate'><r:input type="submit" value='#{trans("validate")}'/></p>
|
69
69
|
</li>
|
70
70
|
</ol>
|
71
71
|
</r:pages>
|
@@ -75,8 +75,8 @@
|
|
75
75
|
<li do='add' before='self'/>
|
76
76
|
<li class='inline_form' do='form'>
|
77
77
|
<p class='node_klass'> <r:select name='klass' root_class='Node'/></p>
|
78
|
-
<p class='node_title'><input type='text' name='title' value=''/></p>
|
79
|
-
<p class='btn_validate'><input type="submit" value='#{trans("validate")}'/></p>
|
78
|
+
<p class='node_title'><r:input type='text' name='title' value=''/></p>
|
79
|
+
<p class='btn_validate'><r:input type="submit" value='#{trans("validate")}'/></p>
|
80
80
|
</li>
|
81
81
|
</ol>
|
82
82
|
</r:nodes>
|
@@ -8,8 +8,9 @@ module Bricks
|
|
8
8
|
include ReCaptcha::AppHelper
|
9
9
|
|
10
10
|
private
|
11
|
-
def
|
12
|
-
|
11
|
+
def should_save(obj, params)
|
12
|
+
!visitor.is_anon? ||
|
13
|
+
validate_recap(params, obj.errors, :rcc_pub => current_site.prop['recaptcha_pub'], :rcc_priv => current_site.prop['recaptcha_priv'])
|
13
14
|
end
|
14
15
|
end
|
15
16
|
|
data/bricks/mongrel/zena/init.rb
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
# This fixes a bug between Rails 2.3.8 and Mongrel
|
2
2
|
# Error calling Dispatcher.dispatch #<NoMethodError: undefined method `[]' for nil:NilClass>
|
3
3
|
#
|
4
|
-
|
4
|
+
|
5
|
+
if Rails.version =~ /2\.3\.\d+/ && Gem.available?('mongrel', Gem::Requirement.new('~>1.1.5')) && self.class.const_defined?(:Mongrel)
|
5
6
|
|
6
7
|
# Pulled right from latest rack. Old looked like this in 1.1.0 version.
|
7
8
|
#
|
data/bricks/pdf/README
CHANGED
@@ -18,16 +18,16 @@ There is one method "render" that takes a hash as argument.
|
|
18
18
|
|
19
19
|
== Examples
|
20
20
|
|
21
|
-
Bricks::
|
21
|
+
Bricks::Pdf.engine = 'prince'
|
22
22
|
|
23
|
-
Bricks::
|
23
|
+
Bricks::Pdf.render :input => "myfile.html"
|
24
24
|
=> STDOUT
|
25
25
|
|
26
|
-
Bricks::
|
26
|
+
Bricks::Pdf.render :input => "myfile.html", :output => "out.pdf"
|
27
27
|
=> out.pdf (file)
|
28
28
|
|
29
|
-
Bricks::
|
29
|
+
Bricks::Pdf.render :data => "This is text to render."
|
30
30
|
=> STDOUT (strings)
|
31
31
|
|
32
|
-
Bricks::
|
32
|
+
Bricks::Pdf.render :data => "This is text to render.", :output => "out.pdf"
|
33
33
|
=> out.pdf (file)
|