Skip to content

Commit

Permalink
Fixed access to 'home' method in zafu.
Browse files Browse the repository at this point in the history
  • Loading branch information
gaspard committed Nov 4, 2013
1 parent d6304e6 commit d54f611
Show file tree
Hide file tree
Showing 7 changed files with 83 additions and 60 deletions.
4 changes: 2 additions & 2 deletions lib/zena/test_controller.rb
Expand Up @@ -5,7 +5,7 @@ class TestController < ApplicationController
include Zena::Use::Fixtures
include Zena::Use::TestHelper
helper_method :get_template_text, :template_url_for_asset, :save_erb_to_url
skip_before_filter :set_visitor
skip_before_filter :set_visitor, :redirect_to_https
prepend_before_filter :set_context

include Zena::Use::HtmlTags::ViewMethods
Expand Down Expand Up @@ -70,7 +70,7 @@ def set_lang

# We skip authlogic
def set_context
login(params[:user])
login(params[:user], request.host)
set_visitor_lang(params[:prefix])
@node = secure!(Node) { Node.find(params[:node_id])}
@text = params[:text]
Expand Down
1 change: 1 addition & 0 deletions lib/zena/use/context.rb
Expand Up @@ -22,6 +22,7 @@ def self.visitor_node_proc
safe_method :visitor_node => visitor_node_proc
safe_method :main => Proc.new {|h, r, s| {:method => '@node', :class => VirtualClass['Node']}}
safe_method :root => Proc.new {|h, r, s| {:method => 'visitor.site.root_node', :class => VirtualClass['Project'], :nil => true}}
safe_method :home => Proc.new {|h, r, s| {:method => 'visitor.site.home_node', :class => VirtualClass['Node'], :nil => true}}
safe_method :site => {:class => Site, :method => 'visitor.site'}

# Group an array of records by key.
Expand Down
6 changes: 3 additions & 3 deletions lib/zena/use/test_helper.rb
Expand Up @@ -7,10 +7,10 @@ module TestHelper
include Zena::Use::Upload::UploadedFile

# Set visitor for unit testing
def login(fixture, site_name = nil)
def login(fixture, host = nil)
user = users(fixture)
if site_name
site = Site.setup_master(Site.find_by_name(site_name))
if host
site = Site.setup_master(Site.find_by_host(host))
else
# Not an alias
site = user.site
Expand Down
2 changes: 1 addition & 1 deletion lib/zena/use/urls.rb
Expand Up @@ -599,7 +599,7 @@ def make_href(remote_target = nil, opts = {})
end

method = "#{method}(#{method_args.join(', ')})"

::RubyLess.translate(self, method)
end

Expand Down
19 changes: 19 additions & 0 deletions test/integration/zafu_compiler/alias_site.yml
@@ -0,0 +1,19 @@
default:
context:
lang: 'en'
site: alias
visitor: 'ant'
node: 'status'
src: "<r:site do='host'/>: <r:home do='title'/>"
tem: "/Node.do_find.*979649407"
res: "alias.host: a wiki with Zena"

link_href_home:
src: "<r:link href='home'/>"
res: "<a href='/oo/blog29.html'>status title</a>"

test_home:
context:
node: wiki
src: "<r:if test='id == home.id'>ok</r:if>"
res: 'ok'
6 changes: 4 additions & 2 deletions test/integration/zafu_compiler_test.rb
Expand Up @@ -5,6 +5,7 @@ class ZafuCompilerTest < Zena::Controller::TestCase
OK = [
'action',
'asset',
'alias_site',
'conditional',
'calendar',
'dates',
Expand Down Expand Up @@ -99,17 +100,18 @@ def yt_do_test(file, test)

context = yt_get('context', file, test)
site = Site.setup_master(sites(context.delete('site') || 'zena'))
# This is used to find fixtures: returns master name (not alias)
$_test_site = site.name
@request.host = site.host

# set context
params = {}
#params[:user_id] = users_id(context.delete('visitor').to_sym)
params['user'] = context.delete 'visitor'
params['user'] = context.delete 'visitor'
params['node_id'] = nodes_id(context.delete('node').to_sym)
params['prefix'] = context.delete('lang')
params['date'] = context['ref_date'] ? context.delete('ref_date').to_s : nil
params['url'] = "#{file}/#{test.to_s.gsub('_', '/')}"
params['url'] = "#{file}/#{test.to_s.gsub('_', '/')}"
params.merge!(context) # merge the rest of the context as query parameters

compiled_files = {}
Expand Down
105 changes: 53 additions & 52 deletions zena.gemspec
Expand Up @@ -9,7 +9,7 @@ Gem::Specification.new do |s|

s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
s.authors = ["Gaspard Bucher"]
s.date = %q{2013-10-30}
s.date = %q{2013-11-04}
s.default_executable = %q{zena}
s.description = %q{zena is a Ruby on Rails CMS (content managment system) with a focus on usability, ease of customization and web 2.0 goodness (application like behaviour).}
s.email = %q{gaspard@teti.ch}
Expand Down Expand Up @@ -1976,6 +1976,7 @@ Gem::Specification.new do |s|
"test/integration/xml_api_test.rb",
"test/integration/zafu_compiler/action.yml",
"test/integration/zafu_compiler/ajax.yml",
"test/integration/zafu_compiler/alias_site.yml",
"test/integration/zafu_compiler/apphelper.yml",
"test/integration/zafu_compiler/asset.yml",
"test/integration/zafu_compiler/basic.yml",
Expand Down Expand Up @@ -2228,84 +2229,84 @@ Gem::Specification.new do |s|
s.specification_version = 3

if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
s.add_runtime_dependency(%q<simple_xlsx_writer>, [">= 0"])
s.add_runtime_dependency(%q<open4>, [">= 0"])
s.add_runtime_dependency(%q<querybuilder>, ["= 1.2.2"])
s.add_runtime_dependency(%q<RedCloth>, ["= 3.0.4"])
s.add_runtime_dependency(%q<ruby-recaptcha>, ["= 1.0.3"])
s.add_runtime_dependency(%q<authlogic>, ["= 2.1.9"])
s.add_runtime_dependency(%q<yamltest>, ["= 0.7.0"])
s.add_runtime_dependency(%q<gem_plugin>, [">= 0"])
s.add_runtime_dependency(%q<safe_yaml>, ["= 0.8.0"])
s.add_runtime_dependency(%q<uuidtools>, ["= 2.0.0"])
s.add_runtime_dependency(%q<rails>, ["= 2.3.18"])
s.add_runtime_dependency(%q<daemons>, [">= 0"])
s.add_runtime_dependency(%q<simple_xlsx_writer>, [">= 0"])
s.add_runtime_dependency(%q<property>, ["= 2.3.4"])
s.add_runtime_dependency(%q<yamltest>, ["= 0.7.0"])
s.add_runtime_dependency(%q<syntax>, ["= 1.0.0"])
s.add_runtime_dependency(%q<shoulda>, ["= 2.10.3"])
s.add_runtime_dependency(%q<tzinfo>, [">= 0"])
s.add_runtime_dependency(%q<hpricot>, [">= 0"])
s.add_runtime_dependency(%q<gettext>, ["= 2.1.0"])
s.add_runtime_dependency(%q<will_paginate>, ["~> 2.3.12"])
s.add_runtime_dependency(%q<httmultiparty>, ["= 0.3.8"])
s.add_runtime_dependency(%q<versions>, ["= 0.3.1"])
s.add_runtime_dependency(%q<authlogic>, ["= 2.1.9"])
s.add_runtime_dependency(%q<property>, ["= 2.3.4"])
s.add_runtime_dependency(%q<differ>, ["= 0.1.2"])
s.add_runtime_dependency(%q<hpricot>, [">= 0"])
s.add_runtime_dependency(%q<json>, ["= 1.5.1"])
s.add_runtime_dependency(%q<rails>, ["= 2.3.18"])
s.add_runtime_dependency(%q<tzinfo>, [">= 0"])
s.add_runtime_dependency(%q<ruby-recaptcha>, ["= 1.0.3"])
s.add_runtime_dependency(%q<shoulda>, ["= 2.10.3"])
s.add_runtime_dependency(%q<fast_gettext>, ["~> 0.4.16"])
s.add_runtime_dependency(%q<querybuilder>, ["= 1.2.2"])
s.add_runtime_dependency(%q<gettext>, ["= 2.1.0"])
s.add_runtime_dependency(%q<will_paginate>, ["~> 2.3.12"])
s.add_runtime_dependency(%q<RedCloth>, ["= 3.0.4"])
s.add_runtime_dependency(%q<rubyless>, ["= 0.8.11"])
s.add_runtime_dependency(%q<uuidtools>, ["= 2.0.0"])
s.add_runtime_dependency(%q<versions>, ["= 0.3.1"])
s.add_runtime_dependency(%q<syntax>, ["= 1.0.0"])
s.add_runtime_dependency(%q<safe_yaml>, ["= 0.8.0"])
else
s.add_dependency(%q<simple_xlsx_writer>, [">= 0"])
s.add_dependency(%q<open4>, [">= 0"])
s.add_dependency(%q<querybuilder>, ["= 1.2.2"])
s.add_dependency(%q<RedCloth>, ["= 3.0.4"])
s.add_dependency(%q<ruby-recaptcha>, ["= 1.0.3"])
s.add_dependency(%q<authlogic>, ["= 2.1.9"])
s.add_dependency(%q<yamltest>, ["= 0.7.0"])
s.add_dependency(%q<gem_plugin>, [">= 0"])
s.add_dependency(%q<safe_yaml>, ["= 0.8.0"])
s.add_dependency(%q<uuidtools>, ["= 2.0.0"])
s.add_dependency(%q<rails>, ["= 2.3.18"])
s.add_dependency(%q<daemons>, [">= 0"])
s.add_dependency(%q<simple_xlsx_writer>, [">= 0"])
s.add_dependency(%q<property>, ["= 2.3.4"])
s.add_dependency(%q<yamltest>, ["= 0.7.0"])
s.add_dependency(%q<syntax>, ["= 1.0.0"])
s.add_dependency(%q<shoulda>, ["= 2.10.3"])
s.add_dependency(%q<tzinfo>, [">= 0"])
s.add_dependency(%q<hpricot>, [">= 0"])
s.add_dependency(%q<gettext>, ["= 2.1.0"])
s.add_dependency(%q<will_paginate>, ["~> 2.3.12"])
s.add_dependency(%q<httmultiparty>, ["= 0.3.8"])
s.add_dependency(%q<versions>, ["= 0.3.1"])
s.add_dependency(%q<authlogic>, ["= 2.1.9"])
s.add_dependency(%q<property>, ["= 2.3.4"])
s.add_dependency(%q<differ>, ["= 0.1.2"])
s.add_dependency(%q<hpricot>, [">= 0"])
s.add_dependency(%q<json>, ["= 1.5.1"])
s.add_dependency(%q<rails>, ["= 2.3.18"])
s.add_dependency(%q<tzinfo>, [">= 0"])
s.add_dependency(%q<ruby-recaptcha>, ["= 1.0.3"])
s.add_dependency(%q<shoulda>, ["= 2.10.3"])
s.add_dependency(%q<fast_gettext>, ["~> 0.4.16"])
s.add_dependency(%q<querybuilder>, ["= 1.2.2"])
s.add_dependency(%q<gettext>, ["= 2.1.0"])
s.add_dependency(%q<will_paginate>, ["~> 2.3.12"])
s.add_dependency(%q<RedCloth>, ["= 3.0.4"])
s.add_dependency(%q<rubyless>, ["= 0.8.11"])
s.add_dependency(%q<uuidtools>, ["= 2.0.0"])
s.add_dependency(%q<versions>, ["= 0.3.1"])
s.add_dependency(%q<syntax>, ["= 1.0.0"])
s.add_dependency(%q<safe_yaml>, ["= 0.8.0"])
end
else
s.add_dependency(%q<simple_xlsx_writer>, [">= 0"])
s.add_dependency(%q<open4>, [">= 0"])
s.add_dependency(%q<querybuilder>, ["= 1.2.2"])
s.add_dependency(%q<RedCloth>, ["= 3.0.4"])
s.add_dependency(%q<ruby-recaptcha>, ["= 1.0.3"])
s.add_dependency(%q<authlogic>, ["= 2.1.9"])
s.add_dependency(%q<yamltest>, ["= 0.7.0"])
s.add_dependency(%q<gem_plugin>, [">= 0"])
s.add_dependency(%q<safe_yaml>, ["= 0.8.0"])
s.add_dependency(%q<uuidtools>, ["= 2.0.0"])
s.add_dependency(%q<rails>, ["= 2.3.18"])
s.add_dependency(%q<daemons>, [">= 0"])
s.add_dependency(%q<simple_xlsx_writer>, [">= 0"])
s.add_dependency(%q<property>, ["= 2.3.4"])
s.add_dependency(%q<yamltest>, ["= 0.7.0"])
s.add_dependency(%q<syntax>, ["= 1.0.0"])
s.add_dependency(%q<shoulda>, ["= 2.10.3"])
s.add_dependency(%q<tzinfo>, [">= 0"])
s.add_dependency(%q<hpricot>, [">= 0"])
s.add_dependency(%q<gettext>, ["= 2.1.0"])
s.add_dependency(%q<will_paginate>, ["~> 2.3.12"])
s.add_dependency(%q<httmultiparty>, ["= 0.3.8"])
s.add_dependency(%q<versions>, ["= 0.3.1"])
s.add_dependency(%q<authlogic>, ["= 2.1.9"])
s.add_dependency(%q<property>, ["= 2.3.4"])
s.add_dependency(%q<differ>, ["= 0.1.2"])
s.add_dependency(%q<hpricot>, [">= 0"])
s.add_dependency(%q<json>, ["= 1.5.1"])
s.add_dependency(%q<rails>, ["= 2.3.18"])
s.add_dependency(%q<tzinfo>, [">= 0"])
s.add_dependency(%q<ruby-recaptcha>, ["= 1.0.3"])
s.add_dependency(%q<shoulda>, ["= 2.10.3"])
s.add_dependency(%q<fast_gettext>, ["~> 0.4.16"])
s.add_dependency(%q<querybuilder>, ["= 1.2.2"])
s.add_dependency(%q<gettext>, ["= 2.1.0"])
s.add_dependency(%q<will_paginate>, ["~> 2.3.12"])
s.add_dependency(%q<RedCloth>, ["= 3.0.4"])
s.add_dependency(%q<rubyless>, ["= 0.8.11"])
s.add_dependency(%q<uuidtools>, ["= 2.0.0"])
s.add_dependency(%q<versions>, ["= 0.3.1"])
s.add_dependency(%q<syntax>, ["= 1.0.0"])
s.add_dependency(%q<safe_yaml>, ["= 0.8.0"])
end
end

0 comments on commit d54f611

Please sign in to comment.