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 15  
16 16 def show_parsed
17 17 @email_template = owner.email_templates.find(params[:id])
18   - template_params = {:profile => owner, :environment => environment}
19 18 render json: {:parsed_body => @email_template.parsed_body(template_params), :parsed_subject => @email_template.parsed_subject(template_params)}
20 19 end
21 20  
22 21 def new
23 22 @email_template = owner.email_templates.build(:owner => owner)
  23 + @template_params_allowed = template_params_allowed template_params.keys
24 24 end
25 25  
26 26 def edit
27 27 @email_template = owner.email_templates.find(params[:id])
  28 + @template_params_allowed = template_params_allowed template_params.keys
28 29 end
29 30  
30 31 def create
... ... @@ -59,4 +60,17 @@ class EmailTemplatesController &lt; ApplicationController
59 60 format.json { head :no_content }
60 61 end
61 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 76 end
... ...
app/views/email_templates/_form.html.erb
... ... @@ -16,7 +16,7 @@
16 16 <%= _('The following parameters may be used in subject and body:') %>
17 17 </div>
18 18 <div class="values">
19   - {{profile.name}}, {{profile.identifier}}, {{environment.name}}
  19 + <%= @template_params_allowed %>
20 20 </div>
21 21 </div>
22 22 <%= render :file => 'shared/tiny_mce' %>
... ...
debian/control
... ... @@ -15,6 +15,7 @@ Build-Depends: cucumber,
15 15 ruby-diffy,
16 16 ruby-gettext,
17 17 ruby-launchy-shim,
  18 + ruby-liquid (>= 3.0.3),
18 19 ruby-minitest,
19 20 ruby-minitest-reporters,
20 21 ruby-mocha,
... ...
public/stylesheets/profile-editor.scss
... ... @@ -168,6 +168,9 @@
168 168 .controller-profile_editor .msie6 a.control-panel-roles {
169 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 175 .controller-profile_editor #profile-data {
173 176 display: table;
... ...
test/functional/environment_email_templates_controller_test.rb
... ... @@ -52,8 +52,8 @@ class EnvironmentEmailTemplatesControllerTest &lt; ActionController::TestCase
52 52  
53 53 test "should get parsed template" do
54 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 57 @email_template.save!
58 58 get :show_parsed, id: @email_template
59 59 assert_response :success
... ...
test/functional/profile_email_templates_controller_test.rb
... ... @@ -4,8 +4,8 @@ class ProfileEmailTemplatesControllerTest &lt; ActionController::TestCase
4 4  
5 5 setup do
6 6 @profile = fast_create(Community)
7   - @email_template = EmailTemplate.create!(:name => 'template', :owner => @profile)
8 7 @person = create_user_with_permission('templatemanager', 'manage_email_templates', @profile)
  8 + @email_template = EmailTemplate.create!(:name => 'template', :owner => @profile)
9 9 login_as(@person.user.login)
10 10 end
11 11  
... ... @@ -55,14 +55,14 @@ class ProfileEmailTemplatesControllerTest &lt; ActionController::TestCase
55 55  
56 56 test "should get parsed template" do
57 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 60 @email_template.save!
61 61 get :show_parsed, id: @email_template, :profile => profile.identifier
62 62 assert_response :success
63 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 66 end
67 67  
68 68 end
... ...