refinerycms-core 2.0.8 → 2.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 -%>