refinerycms-core 2.0.8 → 2.0.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. data/app/assets/javascripts/refinery/admin.js.erb +3 -0
  2. data/app/assets/javascripts/wymeditor/functions.js.erb +1 -1
  3. data/app/assets/javascripts/wymeditor/lang/{zh_cn.js → zh-CN.js} +1 -1
  4. data/app/assets/javascripts/wymeditor/prototypes.js.erb +1 -1
  5. data/app/assets/stylesheets/refinery/layout.css.scss +26 -0
  6. data/app/views/refinery/admin/_image_picker.html.erb +1 -1
  7. data/app/views/refinery/admin/_resource_picker.html.erb +19 -21
  8. data/config/locales/es.yml +2 -2
  9. data/config/locales/fr.yml +9 -1
  10. data/lib/generators/refinery/cms/cms_generator.rb +6 -4
  11. data/lib/generators/refinery/core/templates/config/initializers/refinery/core.rb.erb +1 -0
  12. data/lib/generators/refinery/engine/engine_generator.rb +9 -3
  13. data/lib/generators/refinery/engine/templates/Gemfile +1 -0
  14. data/lib/generators/refinery/engine/templates/config/locales/zh-CN.yml +30 -0
  15. data/lib/generators/refinery/form/form_generator.rb +11 -7
  16. data/lib/generators/refinery/form/templates/config/locales/da.yml +60 -63
  17. data/lib/generators/refinery/form/templates/config/locales/de.yml +68 -68
  18. data/lib/generators/refinery/form/templates/config/locales/es.yml +60 -64
  19. data/lib/generators/refinery/form/templates/config/locales/fr.yml +68 -68
  20. data/lib/generators/refinery/form/templates/config/locales/it.yml +60 -62
  21. data/lib/generators/refinery/form/templates/config/locales/lv.yml +67 -67
  22. data/lib/generators/refinery/form/templates/config/locales/nb.yml +68 -71
  23. data/lib/generators/refinery/form/templates/config/locales/nl.yml +65 -64
  24. data/lib/generators/refinery/form/templates/config/locales/pt-BR.yml +68 -68
  25. data/lib/generators/refinery/form/templates/config/locales/ru.yml +70 -73
  26. data/lib/generators/refinery/form/templates/config/locales/sl.yml +61 -63
  27. data/lib/generators/refinery/form/templates/config/locales/zh-CN.yml +77 -3
  28. data/lib/refinery/application_controller.rb +1 -1
  29. data/lib/refinery/cli.rb +1 -1
  30. data/lib/refinery/core/engine.rb +2 -1
  31. data/lib/refinery/crud.rb +1 -1
  32. data/lib/refinery/extension_generation.rb +26 -14
  33. data/lib/refinery/version.rb +1 -1
  34. data/refinerycms-core.gemspec +1 -1
  35. data/spec/lib/generators/refinery/engine/engine_generator_multiple_resources_spec.rb +51 -0
  36. data/spec/lib/generators/refinery/engine/engine_generator_sanity_check_spec.rb +47 -0
  37. data/spec/lib/generators/refinery/engine/engine_generator_spec.rb +0 -12
  38. data/spec/lib/refinery/crud_spec.rb +2 -2
  39. metadata +11 -8
@@ -194,6 +194,9 @@ submit_and_continue = function(e, redirect_to) {
194
194
  $('#continue_editing').val(false);
195
195
 
196
196
  init_flash_messages();
197
+
198
+ //updates the form action with new URL
199
+ $('form').attr('action', $('#new_action').attr('value'));
197
200
  }
198
201
  }, 'html'
199
202
  );
@@ -183,7 +183,7 @@ WYMeditor.editor.prototype.close_dialog = function(e, cancelled) {
183
183
  if ((span = $(this._doc.body).find('span#' + this._current_unique_stamp)).length > 0) {
184
184
  span.parent().html(span.parent().html().replace(new RegExp(["<span(.+?)", span.attr('id'), "(.+?)<\/span>"].join("")), span.html()));
185
185
  }
186
- // https://github.com/resolve/refinerycms/issues/888
186
+ // https://github.com/refinery/refinerycms/issues/888
187
187
  if (node = $(this._doc.body).find('#' + this._current_unique_stamp)) {
188
188
  node.attr("id", (node.attr('_id_before_replaceable') || ""));
189
189
  node.removeAttr("_id_before_replaceable");
@@ -1,4 +1,4 @@
1
- WYMeditor.STRINGS['zh_cn'] = {
1
+ WYMeditor.STRINGS['zh-CN'] = {
2
2
  Strong: '加粗',
3
3
  Emphasis: '斜体',
4
4
  Superscript: '上标',
@@ -691,7 +691,7 @@ WYMeditor.editor.prototype.dialog = function( dialogType ) {
691
691
  end = selection.focusOffset;
692
692
  }
693
693
 
694
- // for https://github.com/resolve/refinerycms/issues/581
694
+ // for https://github.com/refinery/refinerycms/issues/581
695
695
  if (typeof (start_node.insertData) === 'undefined') {
696
696
  var j = start_node.childNodes.length - 1,
697
697
  tmp_start_node = start_node;
@@ -1536,6 +1536,32 @@ a.information:hover {
1536
1536
  .tooltip, .tooltip span {
1537
1537
  @include rounded(6px);
1538
1538
  }
1539
+
1540
+ .label {
1541
+ padding: 1px 3px 2px;
1542
+ font-size: 9.75px;
1543
+ font-weight: bold;
1544
+ color: #ffffff;
1545
+ text-transform: uppercase;
1546
+ white-space: nowrap;
1547
+ background-color: #bfbfbf;
1548
+ -webkit-border-radius: 3px;
1549
+ -moz-border-radius: 3px;
1550
+ border-radius: 3px;
1551
+ }
1552
+ .label.important {
1553
+ background-color: #c43c35;
1554
+ }
1555
+ .label.warning {
1556
+ background-color: #f89406;
1557
+ }
1558
+ .label.success {
1559
+ background-color: #46a546;
1560
+ }
1561
+ .label.notice {
1562
+ background-color: #62cffc;
1563
+ }
1564
+
1539
1565
  /* Internet Explorer to follow: */
1540
1566
  /* IE 7 */
1541
1567
  .ie7 #content .form-actions .form-actions-left a.button {
@@ -21,7 +21,7 @@
21
21
  <% else -%>
22
22
  <img class="current_picked_image" src="" alt="" style='display: none' />
23
23
  <% end -%>
24
- <span class='no_picked_image_selected nothing_selected' <%= "style='display: none;'" if image.present? %>>
24
+ <span class='no_picked_image_selected nothing_selected'<%= " style='display: none;'".html_safe if image.present? %>>
25
25
  <%= t('.none_selected') %>
26
26
  </span>
27
27
  </a>
@@ -1,17 +1,16 @@
1
1
  <%
2
- conditions ||= nil
3
- insert_text = "<span id='no_resource_selected_#{field}' class='nothing_selected' #{"style='display: none;'" if resource.present?}>
2
+ insert_text = %Q{<span id="no_resource_selected_#{field}" class="nothing_selected" #{'style="display: none;"'.html_safe if resource}>
4
3
  #{t('.no_resource_selected')}
5
- </span>".html_safe
4
+ </span>}.html_safe
6
5
  insert_link = refinery.insert_admin_resources_path({
7
6
  :dialog => true,
8
7
  :update_resource => "current_resource_#{field}",
9
8
  :update_text => "current_resource_text_#{field}",
10
9
  :callback => "resource_changed_#{field}",
11
- :field => [f.object_name.gsub(/\]\[|[^-a-zA-Z0-9:.]/, "_").sub(/_$/, ""), field].join('_'),
12
- :current_link => "#{resource.url if resource.present?}",
10
+ :field => [f.object_name.gsub(/\]\[|[^-a-zA-Z0-9:.]/, '_').sub(/_$/, ''), field].join('_'),
11
+ :current_link => "#{resource.url if resource}",
13
12
  :height => 480,
14
- :conditions => conditions
13
+ :conditions => local_assigns[:conditions]
15
14
  })
16
15
  %>
17
16
  <%= f.hidden_field field %>
@@ -20,21 +19,21 @@
20
19
  :name => t('.name'),
21
20
  :id => "current_resource_link_#{field}"
22
21
  %>
23
- <div id='current_resource_container_<%= field %>' style='margin-top: 10px<%= ";display: none" unless resource.present? %>'>
22
+ <div id="current_resource_container_<%= field %>" style="margin-top: 10px;<%= 'display: none' unless resource %>">
24
23
  <%= link_to "#{refinery_icon_tag('page_white_put.png')} ".html_safe +
25
24
  content_tag(
26
25
  :span,
27
- "#{resource.title} (#{resource.file_name})",
26
+ (%Q{#{resource.title} (#{resource.file_name})} if resource).to_s,
28
27
  :id => "current_resource_text_#{field}"
29
28
  ),
30
- resource.url,
29
+ "#{resource.url if resource}",
31
30
  :id => "current_resource_#{field}",
32
- :target => "_blank" if resource.present? %>
31
+ :target => '_blank' %>
33
32
  </div>
34
33
  <br/>
35
- <%= link_to t('.remove_current'), "",
34
+ <%= link_to t('.remove_current'), '',
36
35
  :id => "remove_resource_#{field}",
37
- :style => "#{"display:none;" unless resource.present?}" %>
36
+ :style => "#{'display:none;' unless resource}" %>
38
37
  </div>
39
38
 
40
39
  <% content_for :javascripts do %>
@@ -43,25 +42,24 @@
43
42
  $('#remove_resource_<%= field %>').show();
44
43
  $('#current_resource_container_<%= field %>').show();
45
44
  $('#no_resource_selected_<%= field %>').hide();
46
- $('iframe#dialog_iframe').dialog("close");
47
- $('iframe#dialog_iframe').remove().parents(".ui-dialog").remove();
48
- $('#<%= f.object_name.gsub(/\]\[|[^-a-zA-Z0-9:.]/, "_").sub(/_$/, "") %>_<%= field %>').val(callback_args.id);
49
- $('#current_resource_link_<%= field %>').attr('href', $('#current_resource_link_<%= field %>').attr('href').replace(/current_link=([^&])*&/, "current_link=" + callback_args.href + "&"));
50
- $("#current_resource_<%= field %>").attr('href', callback_args.href);
45
+ $('iframe#dialog_iframe').dialog('close');
46
+ $('iframe#dialog_iframe').remove().parents('.ui-dialog').remove();
47
+ $('#<%= f.object_name.gsub(/\]\[|[^-a-zA-Z0-9:.]/, '_').sub(/_$/, '') %>_<%= field %>').val(callback_args.id);
48
+ $('#current_resource_link_<%= field %>').attr('href', $('#current_resource_link_<%= field %>').attr('href').replace(/current_link=([^&])*&/, 'current_link=' + callback_args.href + '&'));
49
+ $('#current_resource_<%= field %>').attr('href', callback_args.href);
51
50
  $('#current_resource_text_<%= field %>').html(callback_args.html);
52
- }
51
+ };
53
52
 
54
53
  $(document).ready(function(e) {
55
54
  $('#remove_resource_<%= field %>').click(function(e) {
56
- $('#<%= f.object_name %>_<%= field %>').val("");
55
+ $('#<%= f.object_name %>_<%= field %>').val('');
57
56
  $('#current_resource_container_<%= field %>').hide();
58
57
  $('#current_resource_text_<%= field %>').html('');
59
58
  $('#no_resource_selected_<%= field %>').show();
60
- $('#current_resource_link_<%= field %>').attr('href', $('#current_resource_link_<%= field %>').attr('href').replace(/current_link=([^&])*&/, "current_link=&"));
59
+ $('#current_resource_link_<%= field %>').attr('href', $('#current_resource_link_<%= field %>').attr('href').replace(/current_link=([^&])*&/, 'current_link=&'));
61
60
  $(this).hide();
62
61
  e.preventDefault();
63
62
  });
64
63
  });
65
64
  </script>
66
65
  <% end %>
67
-
@@ -27,8 +27,8 @@ es:
27
27
  delete: Borrar
28
28
  close: Cerrar
29
29
  image_picker:
30
- none_selected: No hay ninguna %{what} seleccionada, haz click aquí para añadir una.
31
- remove_current: Eliminar %{what} actual
30
+ none_selected: No hay ninguna imagen seleccionada, haz click aquí para añadir una.
31
+ remove_current: Eliminar imagen actual
32
32
  change: Haz click aquí para escoger una imagen
33
33
  show: Mostrar
34
34
  resource_picker:
@@ -1,5 +1,8 @@
1
1
  fr:
2
2
  refinery:
3
+ js:
4
+ admin:
5
+ confirm_changes: Toute modification sera perdue. Êtes-vous sûr de vouloir de vouloir continuer ?
3
6
  plugins:
4
7
  refinery_core:
5
8
  title: Refinery
@@ -49,8 +52,10 @@ fr:
49
52
  button_text: Chercher
50
53
  results_for: "Résultats de la recherche : '%{query}'"
51
54
  no_results: Aucun résultat ne correspond à votre recherche
55
+ cancel_search: 'Annuler la recherche'
56
+ search_input_notice: "Entrez ici le texte recherché. La longueur minimale est de 3 caractères."
52
57
  delete:
53
- message: Etes-vous sûr de vouloir supprimer '%{title}'?
58
+ message: "Êtes-vous sûr de vouloir supprimer '%{title}'?"
54
59
  error_messages:
55
60
  problems_in_following_fields: Les champs suivants comportent des problèmes
56
61
  help: aide
@@ -65,6 +70,9 @@ fr:
65
70
  enable_javascript_html: Pour obtenir l'ensemble des fonctionnalités de cette page il est nécessaire d'activer JavaScript.
66
71
  here_are: Ici sont les
67
72
  instructions_enable_javascript_html: instructions pour activer JavaScript dans votre navigateur
73
+ time:
74
+ formats:
75
+ short: "%A, %d %B %Y"
68
76
  will_paginate:
69
77
  previous_label: "&laquo;"
70
78
  next_label: "&raquo;"
@@ -1,3 +1,5 @@
1
+ require 'pathname'
2
+
1
3
  module Refinery
2
4
  class CmsGenerator < Rails::Generators::Base
3
5
  source_root Pathname.new(File.expand_path('../templates', __FILE__))
@@ -201,10 +203,10 @@ gem 'pg'
201
203
  generator_args = []
202
204
  generator_args << '--quiet' if self.options[:quiet]
203
205
  Refinery::CoreGenerator.start generator_args
204
- Refinery::AuthenticationGenerator.start generator_args
205
- Refinery::ResourcesGenerator.start generator_args
206
- Refinery::PagesGenerator.start generator_args
207
- Refinery::ImagesGenerator.start generator_args
206
+ Refinery::AuthenticationGenerator.start generator_args if defined?(Refinery::AuthenticationGenerator)
207
+ Refinery::ResourcesGenerator.start generator_args if defined?(Refinery::ResourcesGenerator)
208
+ Refinery::PagesGenerator.start generator_args if defined?(Refinery::PagesGenerator)
209
+ Refinery::ImagesGenerator.start generator_args if defined?(Refinery::ImagesGenerator)
208
210
  Refinery::I18nGenerator.start generator_args if defined?(Refinery::I18nGenerator)
209
211
  end
210
212
 
@@ -1,3 +1,4 @@
1
+ # encoding: utf-8
1
2
  Refinery::Core.configure do |config|
2
3
  # When true will rescue all not found errors and display a friendly error page
3
4
  config.rescue_not_found = Rails.env.production?
@@ -22,17 +22,23 @@ module Refinery
22
22
 
23
23
  evaluate_templates!
24
24
 
25
- merge_locales!
25
+ unless options[:pretend]
26
+ merge_locales!
26
27
 
27
- copy_or_merge_seeds!
28
+ copy_or_merge_seeds!
28
29
 
29
- append_extension_to_gemfile!
30
+ append_extension_to_gemfile!
31
+ end
30
32
 
31
33
  finalize_extension!
32
34
  end
33
35
 
34
36
  protected
35
37
 
38
+ def generator_command
39
+ 'rails generate refinery:engine'
40
+ end
41
+
36
42
  def reject_file_with_skip_frontend?(file)
37
43
  (skip_frontend? && (file.to_s.include?('app') && file.to_s.scan(/admin|models|mailers/).empty?)) ||
38
44
  reject_file_without_skip_frontend?(file)
@@ -3,6 +3,7 @@ source "http://rubygems.org"
3
3
  gemspec
4
4
 
5
5
  gem 'refinerycms', '~> 2.0.3'
6
+ gem 'refinerycms-i18n', '~> 2.0.2'
6
7
 
7
8
  # Database Configuration
8
9
  platforms :jruby do
@@ -0,0 +1,30 @@
1
+ zh-CN:
2
+ refinery:
3
+ plugins:
4
+ <%= plural_name %>:
5
+ title: <%= plural_name.titleize %>
6
+ <%= namespacing.underscore %>:
7
+ admin:
8
+ <%= plural_name %>:
9
+ actions:
10
+ create_new: 建立新的 <%= singular_name.titleize %>
11
+ reorder: 对 <%= singular_name.titleize.pluralize %> 重新排序
12
+ reorder_done: 对 <%= singular_name.titleize.pluralize %> 的重新排序结束
13
+ records:
14
+ title: <%= plural_name.titleize %>
15
+ sorry_no_results: 对不起,未找到结果。 #Sorry! There are no results found.
16
+
17
+ # There are no <%= singular_name.titleize.pluralize %> yet. Click "Add New <%= singular_name.titleize %>" to add your first <%= singular_name.titleize.downcase %>.
18
+ no_items_yet: 目前没有 <%= singular_name.titleize.pluralize %> . 点击 "Add New <%= singular_name.titleize %>" 创建一个<%= singular_name.titleize.downcase %>.
19
+ <%= singular_name %>:
20
+ view_live_html: 查看 <%= singular_name.titleize.downcase %> 的最新内容.<br/><em>(新窗口中打开)</em>
21
+ edit: 编辑 <%= singular_name.titleize.downcase %>
22
+ delete: 永久删除 <%= singular_name.titleize.downcase %>
23
+ <%= plural_name %>:
24
+ show:
25
+ other: 其他 <%= singular_name.titleize.pluralize %>
26
+ activerecord:
27
+ attributes:
28
+ 'refinery/<%= namespacing.underscore %>/<%= singular_name %>':<% attributes.each do |a| %>
29
+ <%= a.name %>: <%= a.name.titleize -%>
30
+ <% end -%>
@@ -11,23 +11,27 @@ module Refinery
11
11
  "Generates an extension which is set up for frontend form submissions like a contact page."
12
12
  end
13
13
 
14
- def generator_command
15
- 'rails generate refinery:form'
16
- end
17
-
18
14
  def generate
19
15
  sanity_check!
20
16
 
21
17
  evaluate_templates!
22
18
 
23
- merge_locales!
19
+ unless options[:pretend]
20
+ merge_locales!
24
21
 
25
- copy_or_merge_seeds!
22
+ copy_or_merge_seeds!
26
23
 
27
- append_extension_to_gemfile!
24
+ append_extension_to_gemfile!
25
+ end
28
26
 
29
27
  finalize_extension!
30
28
  end
31
29
 
30
+ protected
31
+
32
+ def generator_command
33
+ 'rails generate refinery:form'
34
+ end
35
+
32
36
  end
33
37
  end
@@ -1,69 +1,66 @@
1
1
  da:
2
- plugins:
3
- <%= plural_name %>:
4
- title: <%= plural_name.titleize %>
2
+ refinery:
3
+ plugins:
4
+ <%= plural_name %>:
5
+ title: <%= plural_name.titleize %>
6
+ <%= namespacing.underscore %>:
7
+ <%= plural_name %>:
8
+ new:
9
+ header_message: "Der er et mindre problem"
10
+ message: "Følgende skal rettes:"
11
+ send: Send besked
12
+ privacy_policy: "Vi værner om dine personlige oplysninger"
13
+ admin:
14
+ <%= plural_name %>:
15
+ <%= singular_name %>:
16
+ move_<%= singular_name %>_to_closed: Flyt til lukkede henvendelser
17
+ move_<%= singular_name %>_to_open: Flyt til åbne henvendelser
18
+ read_<%= singular_name %>: Læs henvendelse
19
+ remove_<%= singular_name %>: "Er du sikker på du vil slette denne henvendelse fra '%{name}'?"
20
+ title: <%= plural_name.titleize %>
21
+ toggle_status:
22
+ closed: "Henvendelsen '%{<%= singular_name %>}' er lukket"
23
+ reopened: "Henvendelsen '%{<%= singular_name %>}' er genåbnet"
24
+ index:
25
+ no_<%= plural_name %>: Du har endnu ikke modtaget nogen henvendelser.
26
+ show:
27
+ details: Detaljer
28
+ click_to_email: Send en e-mail til adressen
29
+ status: Status
30
+ open: "Åben"
31
+ closed: Lukket
32
+ age: Tid siden modtagelse
33
+ actions: Handlinger
34
+ back_to_all_<%= plural_name %>: Tilbage til alle henvendelser
35
+ <%= singular_name %>: <%= class_name.underscore.titleize %>
36
+ submenu:
37
+ update_notified: Opdatér, hvem der får besked
38
+ edit_confirmation_email: Redigér e-mailbekræftelse
39
+ settings:
40
+ update:
41
+ updated: "'%{setting}' er opdateret."
42
+ notification_recipients_form:
43
+ settings_value_name: Send besked til
44
+ explanation: "Hver gang kontaktformularen benyttes, sender Refinery en e-mail med besked om, at der er modtaget en ny henvendelse"
45
+ hint: "Indtast en e-mail-adresse ovenfor. Skal beskeden sendes til mere end en person, så indtast flere adresser adskilt med kommaer."
46
+ example: "Fx mig@domæne.dk, ven@hotmail.com, kollega@arbejde.dk"
47
+ confirmation_email_form:
48
+ to: Til
49
+ from: Fra
50
+ subject: Emne
51
+ click_to_edit_subject: Klik her for at redigere emnet
52
+ explanation: "Hver gang kontaktformularen benyttes, sender Refinery en e-mail til den person, der udfyldte formularen, for at bekræfte henvendelsen."
53
+ below_edit_email_sent: Nedenfor kan du redigere e-mailen, der sendes ud.
54
+ the_customer_making_<%= singular_name %>: Kunden, der har henvendt sig
55
+ message: Besked
56
+ note: "Bemærk: Anbring teksten %name%, der hvor du vil have kundens navn skal være i e-mailen"
57
+ subject_form:
58
+ subject_value_name: Emne
5
59
  activerecord:
6
60
  models:
7
61
  <%= singular_name %>: <%= class_name.underscore.titleize %>
8
62
  attributes:
9
63
  <%= singular_name %>:
10
- to: Til
11
- from: Fra
12
- click_to_email: Send en e-mail til adressen
13
- phone: Telefon
14
- date: Dato
15
- message: Besked
16
- <%= namespacing.underscore %>:
17
- <%= plural_name %>:
18
- new:
19
- header_message: "Der er et mindre problem"
20
- message: "Følgende skal rettes:"
21
- send: Send besked
22
- privacy_policy: "Vi værner om dine personlige oplysninger"
23
- admin:
24
- <%= plural_name %>:
25
- <%= singular_name %>:
26
- move_<%= singular_name %>_to_closed: Flyt til lukkede henvendelser
27
- move_<%= singular_name %>_to_open: Flyt til åbne henvendelser
28
- read_<%= singular_name %>: Læs henvendelse
29
- remove_<%= singular_name %>: "Er du sikker på du vil slette denne henvendelse fra '%{name}'?"
30
- title: <%= plural_name.titleize %>
31
- toggle_status:
32
- closed: "Henvendelsen '%{<%= singular_name %>}' er lukket"
33
- reopened: "Henvendelsen '%{<%= singular_name %>}' er genåbnet"
34
- index:
35
- search_results_for: "Søgeresultat for '%{query}'"
36
- no_<%= plural_name %>: Du har endnu ikke modtaget nogen henvendelser.
37
- show:
38
- details: Detaljer
39
- click_to_email: Send en e-mail til adressen
40
- status: Status
41
- open: "Åben"
42
- closed: Lukket
43
- age: Tid siden modtagelse
44
- actions: Handlinger
45
- back_to_all_<%= plural_name %>: Tilbage til alle henvendelser
46
- <%= singular_name %>: <%= class_name.underscore.titleize %>
47
- submenu:
48
- update_notified: Opdatér, hvem der får besked
49
- edit_confirmation_email: Redigér e-mailbekræftelse
50
- settings:
51
- update:
52
- updated: "'%{setting}' er opdateret."
53
- notification_recipients_form:
54
- settings_value_name: Send besked til
55
- explanation: "Hver gang kontaktformularen benyttes, sender Refinery en e-mail med besked om, at der er modtaget en ny henvendelse"
56
- hint: "Indtast en e-mail-adresse ovenfor. Skal beskeden sendes til mere end en person, så indtast flere adresser adskilt med kommaer."
57
- example: "Fx mig@domæne.dk, ven@hotmail.com, kollega@arbejde.dk"
58
- confirmation_email_form:
59
- to: Til
60
- from: Fra
61
- subject: Emne
62
- click_to_edit_subject: Klik her for at redigere emnet
63
- explanation: "Hver gang kontaktformularen benyttes, sender Refinery en e-mail til den person, der udfyldte formularen, for at bekræfte henvendelsen."
64
- below_edit_email_sent: Nedenfor kan du redigere e-mailen, der sendes ud.
65
- the_customer_making_<%= singular_name %>: Kunden, der har henvendt sig
66
- message: Besked
67
- note: "Bemærk: Anbring teksten %name%, der hvor du vil have kundens navn skal være i e-mailen"
68
- subject_form:
69
- subject_value_name: Emne
64
+ <% attributes.each do |a| -%>
65
+ <%= a.name %>: <%= a.name.humanize %>
66
+ <% end -%>