Commit b62506a9a5d01ac8ced8801af9fd1ffbedc23df7
1 parent
f59633f4
Exists in
web_steps_improvements
and in
6 other branches
Adding ruby-liquid to debian/control
Signed-off-by: Lucas Kanashiro <kanashiro.duarte@gmail.com> Signed-off-by: Macartur Sousa <macartur.sc@gmail.com>
Showing
6 changed files
with
27 additions
and
9 deletions
Show diff stats
app/controllers/my_profile/email_templates_controller.rb
@@ -15,16 +15,17 @@ class EmailTemplatesController < ApplicationController | @@ -15,16 +15,17 @@ class EmailTemplatesController < 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 < ApplicationController | @@ -59,4 +60,17 @@ class EmailTemplatesController < 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 < ActionController::TestCase | @@ -52,8 +52,8 @@ class EnvironmentEmailTemplatesControllerTest < 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 < ActionController::TestCase | @@ -4,8 +4,8 @@ class ProfileEmailTemplatesControllerTest < 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 < ActionController::TestCase | @@ -55,14 +55,14 @@ class ProfileEmailTemplatesControllerTest < 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 |