Commit b62506a9a5d01ac8ced8801af9fd1ffbedc23df7

Authored by Macartur Sousa
1 parent f59633f4

Adding ruby-liquid to debian/control

Signed-off-by: Lucas Kanashiro <kanashiro.duarte@gmail.com>
Signed-off-by: Macartur Sousa <macartur.sc@gmail.com>
app/controllers/my_profile/email_templates_controller.rb
@@ -15,16 +15,17 @@ class EmailTemplatesController &lt; ApplicationController @@ -15,16 +15,17 @@ class EmailTemplatesController &lt; ApplicationController
15 15
16 def show_parsed 16 def show_parsed
17 @email_template = owner.email_templates.find(params[:id]) 17 @email_template = owner.email_templates.find(params[:id])
18 - template_params = {:profile => owner, :environment => environment}  
19 render json: {:parsed_body => @email_template.parsed_body(template_params), :parsed_subject => @email_template.parsed_subject(template_params)} 18 render json: {:parsed_body => @email_template.parsed_body(template_params), :parsed_subject => @email_template.parsed_subject(template_params)}
20 end 19 end
21 20
22 def new 21 def new
23 @email_template = owner.email_templates.build(:owner => owner) 22 @email_template = owner.email_templates.build(:owner => owner)
  23 + @template_params_allowed = template_params_allowed template_params.keys
24 end 24 end
25 25
26 def edit 26 def edit
27 @email_template = owner.email_templates.find(params[:id]) 27 @email_template = owner.email_templates.find(params[:id])
  28 + @template_params_allowed = template_params_allowed template_params.keys
28 end 29 end
29 30
30 def create 31 def create
@@ -59,4 +60,17 @@ class EmailTemplatesController &lt; ApplicationController @@ -59,4 +60,17 @@ class EmailTemplatesController &lt; ApplicationController
59 format.json { head :no_content } 60 format.json { head :no_content }
60 end 61 end
61 end 62 end
  63 +
  64 + private
  65 +
  66 + def template_params
  67 + {:profile_name => current_user.name, :environment_name => environment.name }
  68 + end
  69 +
  70 + def template_params_allowed params
  71 + result = ""
  72 + params.each{ |param| result << "{{ #{param} }} " } if params
  73 + result
  74 + end
  75 +
62 end 76 end
app/views/email_templates/_form.html.erb
@@ -16,7 +16,7 @@ @@ -16,7 +16,7 @@
16 <%= _('The following parameters may be used in subject and body:') %> 16 <%= _('The following parameters may be used in subject and body:') %>
17 </div> 17 </div>
18 <div class="values"> 18 <div class="values">
19 - {{profile.name}}, {{profile.identifier}}, {{environment.name}} 19 + <%= @template_params_allowed %>
20 </div> 20 </div>
21 </div> 21 </div>
22 <%= render :file => 'shared/tiny_mce' %> 22 <%= render :file => 'shared/tiny_mce' %>
debian/control
@@ -15,6 +15,7 @@ Build-Depends: cucumber, @@ -15,6 +15,7 @@ Build-Depends: cucumber,
15 ruby-diffy, 15 ruby-diffy,
16 ruby-gettext, 16 ruby-gettext,
17 ruby-launchy-shim, 17 ruby-launchy-shim,
  18 + ruby-liquid (>= 3.0.3),
18 ruby-minitest, 19 ruby-minitest,
19 ruby-minitest-reporters, 20 ruby-minitest-reporters,
20 ruby-mocha, 21 ruby-mocha,
public/stylesheets/profile-editor.scss
@@ -168,6 +168,9 @@ @@ -168,6 +168,9 @@
168 .controller-profile_editor .msie6 a.control-panel-roles { 168 .controller-profile_editor .msie6 a.control-panel-roles {
169 background-image: url(../images/control-panel/role-management.gif) 169 background-image: url(../images/control-panel/role-management.gif)
170 } 170 }
  171 +.controller-profile_editor .control-panel .control-panel-email-templates {
  172 + background-image: url(../images/control-panel/email.png)
  173 +}
171 174
172 .controller-profile_editor #profile-data { 175 .controller-profile_editor #profile-data {
173 display: table; 176 display: table;
test/functional/environment_email_templates_controller_test.rb
@@ -52,8 +52,8 @@ class EnvironmentEmailTemplatesControllerTest &lt; ActionController::TestCase @@ -52,8 +52,8 @@ class EnvironmentEmailTemplatesControllerTest &lt; ActionController::TestCase
52 52
53 test "should get parsed template" do 53 test "should get parsed template" do
54 environment = Environment.default 54 environment = Environment.default
55 - @email_template.subject = '{{environment.name}}'  
56 - @email_template.body = '{{environment.name}}' 55 + @email_template.subject = '{{environment_name}}'
  56 + @email_template.body = '{{environment_name}}'
57 @email_template.save! 57 @email_template.save!
58 get :show_parsed, id: @email_template 58 get :show_parsed, id: @email_template
59 assert_response :success 59 assert_response :success
test/functional/profile_email_templates_controller_test.rb
@@ -4,8 +4,8 @@ class ProfileEmailTemplatesControllerTest &lt; ActionController::TestCase @@ -4,8 +4,8 @@ class ProfileEmailTemplatesControllerTest &lt; ActionController::TestCase
4 4
5 setup do 5 setup do
6 @profile = fast_create(Community) 6 @profile = fast_create(Community)
7 - @email_template = EmailTemplate.create!(:name => 'template', :owner => @profile)  
8 @person = create_user_with_permission('templatemanager', 'manage_email_templates', @profile) 7 @person = create_user_with_permission('templatemanager', 'manage_email_templates', @profile)
  8 + @email_template = EmailTemplate.create!(:name => 'template', :owner => @profile)
9 login_as(@person.user.login) 9 login_as(@person.user.login)
10 end 10 end
11 11
@@ -55,14 +55,14 @@ class ProfileEmailTemplatesControllerTest &lt; ActionController::TestCase @@ -55,14 +55,14 @@ class ProfileEmailTemplatesControllerTest &lt; ActionController::TestCase
55 55
56 test "should get parsed template" do 56 test "should get parsed template" do
57 environment = Environment.default 57 environment = Environment.default
58 - @email_template.subject = '{{profile.name}} - {{profile.identifier}}'  
59 - @email_template.body = '{{profile.name}} - {{profile.identifier}} - {{environment.name}}' 58 + @email_template.subject = '{{profile_name}} - {{environment_name}}'
  59 + @email_template.body = '{{profile_name}} - {{environment_name}}'
60 @email_template.save! 60 @email_template.save!
61 get :show_parsed, id: @email_template, :profile => profile.identifier 61 get :show_parsed, id: @email_template, :profile => profile.identifier
62 assert_response :success 62 assert_response :success
63 json_response = ActiveSupport::JSON.decode(@response.body) 63 json_response = ActiveSupport::JSON.decode(@response.body)
64 - assert_equal "#{profile.name} - #{profile.identifier}", json_response['parsed_subject']  
65 - assert_equal "#{profile.name} - #{profile.identifier} - #{environment.name}", json_response['parsed_body'] 64 + assert_equal "#{@person.name} - #{environment.name}", json_response['parsed_subject']
  65 + assert_equal "#{@person.name} - #{environment.name}", json_response['parsed_body']
66 end 66 end
67 67
68 end 68 end