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 |