refinerycms-core 2.0.10 → 2.1.0

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 (181) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/refinery/admin.js.erb +126 -234
  3. data/app/assets/javascripts/refinery/ajaxy_pagination.js.coffee +1 -1
  4. data/app/assets/javascripts/refinery/boot_wym.js.erb +4 -8
  5. data/app/assets/javascripts/refinery/core.js +1 -1
  6. data/app/assets/javascripts/refinery/interface.js.coffee.erb +3 -16
  7. data/app/assets/javascripts/refinery/modal_dialogs.js.erb +0 -3
  8. data/app/assets/javascripts/refinery/nestedsortables.js +312 -312
  9. data/app/assets/javascripts/refinery/refinery.js.erb +14 -15
  10. data/app/assets/javascripts/refinery/site_bar.js +3 -9
  11. data/app/assets/javascripts/refinery/sortable_list.js +145 -0
  12. data/app/assets/javascripts/refinery/sortable_menu.js.coffee +3 -4
  13. data/app/assets/javascripts/refinery/submit_continue.js.coffee.erb +1 -2
  14. data/app/assets/javascripts/refinery/tree.js +3 -3
  15. data/app/assets/javascripts/refinery/wymeditor.js +6 -6
  16. data/{public → app/assets/javascripts}/wymeditor/GPL-license.txt +0 -0
  17. data/{public → app/assets/javascripts}/wymeditor/MIT-license.txt +0 -0
  18. data/{public → app/assets/javascripts}/wymeditor/README +0 -0
  19. data/app/assets/javascripts/wymeditor/browsers/mozilla.js.erb +10 -11
  20. data/app/assets/javascripts/wymeditor/browsers/webkit.js.erb +17 -18
  21. data/app/assets/javascripts/wymeditor/classes.js.erb +3 -5
  22. data/app/assets/javascripts/wymeditor/functions.js.erb +5 -1
  23. data/app/assets/javascripts/wymeditor/prototypes.js.erb +0 -3
  24. data/app/assets/javascripts/wymeditor/setup.js.erb +5 -5
  25. data/app/assets/javascripts/wymeditor/skins/refinery/skin.js +1 -4
  26. data/app/assets/javascripts/wymeditor/validators.js.erb +3 -2
  27. data/app/assets/stylesheets/{formatting.css.scss → refinery/formatting.css.scss} +0 -0
  28. data/app/assets/stylesheets/refinery/layout.css.scss +41 -11
  29. data/app/assets/stylesheets/{theme.css.scss → refinery/theme.css.scss} +0 -0
  30. data/app/controllers/refinery/sitemap_controller.rb +1 -5
  31. data/app/helpers/refinery/admin_helper.rb +6 -0
  32. data/app/helpers/refinery/image_helper.rb +2 -1
  33. data/app/helpers/refinery/menu_helper.rb +0 -49
  34. data/app/helpers/refinery/meta_helper.rb +7 -3
  35. data/app/helpers/refinery/site_bar_helper.rb +3 -15
  36. data/app/models/refinery/core/base_model.rb +2 -0
  37. data/{lib → app/presenters}/refinery/base_presenter.rb +1 -2
  38. data/app/views/layouts/application.html.erb +8 -7
  39. data/app/views/refinery/_content_page.html.erb +1 -1
  40. data/app/views/refinery/_google_analytics.html.erb +12 -5
  41. data/app/views/refinery/_head.html.erb +11 -15
  42. data/app/views/refinery/_header.html.erb +1 -4
  43. data/app/views/refinery/_javascripts.html.erb +14 -8
  44. data/app/views/refinery/_site_bar.html.erb +4 -4
  45. data/app/views/refinery/admin/_form_advanced_options_menu.html.erb +12 -0
  46. data/app/views/refinery/admin/_javascripts.html.erb +13 -1
  47. data/app/views/refinery/admin/_locale_picker.html.erb +11 -0
  48. data/app/views/refinery/admin/_make_sortable.html.erb +8 -5
  49. data/app/views/refinery/admin/_search.html.erb +1 -7
  50. data/app/views/refinery/admin/_search_header.html.erb +1 -0
  51. data/app/views/refinery/admin/_wysiwyg.html.erb +16 -0
  52. data/config/initializers/will_paginate_monkeypatch.rb +1 -1
  53. data/config/locales/bg.yml +5 -1
  54. data/config/locales/cs.yml +5 -1
  55. data/config/locales/da.yml +5 -1
  56. data/config/locales/de.yml +7 -3
  57. data/config/locales/el.yml +5 -1
  58. data/config/locales/en.yml +7 -1
  59. data/config/locales/es.yml +5 -1
  60. data/config/locales/fi.yml +5 -1
  61. data/config/locales/fr.yml +5 -1
  62. data/config/locales/hu.yml +82 -0
  63. data/config/locales/it.yml +38 -34
  64. data/config/locales/ja.yml +5 -1
  65. data/config/locales/ko.yml +5 -1
  66. data/config/locales/lt.yml +5 -1
  67. data/config/locales/lv.yml +5 -1
  68. data/config/locales/nb.yml +5 -1
  69. data/config/locales/nl.yml +36 -29
  70. data/config/locales/pl.yml +8 -1
  71. data/config/locales/pt-BR.yml +7 -3
  72. data/config/locales/pt.yml +82 -0
  73. data/config/locales/rs.yml +5 -1
  74. data/config/locales/ru.yml +5 -1
  75. data/config/locales/sk.yml +10 -3
  76. data/config/locales/sl.yml +5 -1
  77. data/config/locales/sv.yml +5 -1
  78. data/config/locales/tr.yml +82 -0
  79. data/config/locales/uk.yml +77 -0
  80. data/config/locales/vi.yml +5 -1
  81. data/config/locales/zh-CN.yml +5 -1
  82. data/config/locales/zh-TW.yml +5 -1
  83. data/config/routes.rb +3 -3
  84. data/lib/generators/refinery/cms/cms_generator.rb +29 -0
  85. data/lib/generators/refinery/cms/templates/.gitignore +1 -0
  86. data/lib/generators/refinery/cms/templates/app/views/sitemap/index.xml.builder +13 -13
  87. data/lib/generators/refinery/core/templates/config/initializers/refinery/core.rb.erb +8 -12
  88. data/lib/generators/refinery/dummy/templates/rails/database.yml +3 -3
  89. data/lib/generators/refinery/engine/engine_generator.rb +8 -12
  90. data/lib/generators/refinery/engine/templates/Gemfile +5 -39
  91. data/lib/generators/refinery/engine/templates/app/controllers/refinery/namespace/admin/plural_name_controller.rb.erb +4 -4
  92. data/lib/generators/refinery/engine/templates/app/models/refinery/namespace/singular_name.rb.erb +2 -3
  93. data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/admin/plural_name/_actions.html.erb +1 -1
  94. data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/admin/plural_name/_form.html.erb +31 -33
  95. data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/admin/plural_name/_records.html.erb +1 -3
  96. data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/admin/plural_name/_singular_name.html.erb +2 -2
  97. data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/admin/plural_name/index.html.erb +1 -1
  98. data/lib/generators/refinery/engine/templates/config/locales/cs.yml +28 -0
  99. data/lib/generators/refinery/engine/templates/config/locales/it.yml +28 -0
  100. data/lib/generators/refinery/engine/templates/config/locales/nl.yml +6 -6
  101. data/lib/generators/refinery/engine/templates/config/locales/tr.yml +28 -0
  102. data/lib/generators/refinery/engine/templates/config/routes.rb.erb +2 -2
  103. data/lib/generators/refinery/engine/templates/db/seeds.rb.erb +1 -1
  104. data/lib/generators/refinery/engine/templates/lib/generators/refinery/extension_plural_name_generator.rb.erb +1 -1
  105. data/lib/generators/refinery/engine/templates/lib/refinery/plural_name/engine.rb.erb +1 -1
  106. data/lib/generators/refinery/engine/templates/spec/{requests → features}/refinery/namespace/admin/plural_name_spec.rb.erb +1 -1
  107. data/lib/generators/refinery/engine/templates/spec/spec_helper.rb +25 -49
  108. data/lib/generators/refinery/form/form_generator.rb +1 -13
  109. data/lib/generators/refinery/form/templates/app/models/refinery/namespace/singular_name.rb.erb +0 -4
  110. data/lib/generators/refinery/form/templates/app/views/refinery/namespace/admin/plural_name/_records.html.erb +2 -2
  111. data/lib/generators/refinery/form/templates/app/views/refinery/namespace/admin/plural_name/spam.html.erb +7 -6
  112. data/lib/generators/refinery/form/templates/config/locales/nl.yml +29 -29
  113. data/lib/generators/refinery/form/templates/config/locales/tr.yml +78 -0
  114. data/lib/generators/refinery/form/templates/config/routes.rb.erb +1 -1
  115. data/lib/generators/refinery/form/templates/db/migrate/1_create_plural_name.rb.erb +2 -6
  116. data/lib/generators/refinery/form/templates/db/seeds.rb.erb +1 -1
  117. data/lib/generators/refinery/form/templates/lib/refinery/plural_name/engine.rb.erb +1 -1
  118. data/lib/generators/refinery/form/templates/refinerycms-plural_name.gemspec +2 -5
  119. data/lib/refinery.rb +191 -0
  120. data/lib/refinery/admin/base_controller.rb +27 -16
  121. data/lib/refinery/application_controller.rb +15 -47
  122. data/lib/refinery/cli.rb +48 -27
  123. data/lib/refinery/core.rb +7 -183
  124. data/lib/refinery/core/configuration.rb +17 -9
  125. data/lib/refinery/core/engine.rb +11 -47
  126. data/lib/refinery/crud.rb +81 -66
  127. data/lib/refinery/engine.rb +52 -55
  128. data/lib/refinery/ext/action_view/helpers/form_builder.rb +2 -0
  129. data/lib/refinery/extension_generation.rb +208 -110
  130. data/lib/refinery/menu.rb +16 -7
  131. data/lib/refinery/menu_item.rb +56 -54
  132. data/lib/refinery/plugin.rb +11 -3
  133. data/lib/refinery/plugins.rb +14 -1
  134. data/lib/refinery/version.rb +3 -3
  135. data/refinerycms-core.gemspec +11 -10
  136. data/spec/controllers/refinery/admin/dummy_controller_spec.rb +57 -0
  137. data/spec/controllers/refinery/admin/refinery_core_controller_spec.rb +3 -4
  138. data/spec/controllers/refinery/sitemap_controller_spec.rb +1 -14
  139. data/spec/{requests → features}/refinery/admin/custom_assets_spec.rb +1 -1
  140. data/spec/{requests → features}/refinery/admin/dialogs_spec.rb +1 -1
  141. data/spec/features/refinery/admin/xhr_paging_spec.rb +55 -0
  142. data/spec/features/refinery/application_layout_spec.rb +19 -0
  143. data/spec/features/refinery/core_spec.rb +14 -0
  144. data/spec/{requests → features}/refinery/site_bar_spec.rb +1 -1
  145. data/spec/helpers/refinery/meta_helper_spec.rb +25 -0
  146. data/spec/lib/generators/refinery/cms/cms_generator_spec.rb +61 -0
  147. data/spec/lib/generators/refinery/engine/engine_generator_multiple_resources_spec.rb +28 -1
  148. data/spec/lib/generators/refinery/engine/engine_generator_sanity_check_spec.rb +7 -7
  149. data/spec/lib/generators/refinery/engine/engine_generator_spec.rb +69 -8
  150. data/spec/lib/generators/refinery/engine/engine_generator_with_i18n_spec.rb +0 -2
  151. data/spec/lib/generators/refinery/form/form_generator_spec.rb +9 -1
  152. data/spec/lib/refinery/application_controller_spec.rb +48 -63
  153. data/spec/lib/refinery/cli_spec.rb +136 -0
  154. data/spec/lib/refinery/core/configuration_spec.rb +17 -0
  155. data/spec/lib/refinery/core_spec.rb +19 -13
  156. data/spec/lib/refinery/crud_spec.rb +0 -4
  157. data/spec/lib/refinery/menu_spec.rb +16 -26
  158. data/spec/support/refinery.rb +6 -1
  159. data/{app → vendor}/assets/javascripts/jquery/GPL-LICENSE.txt +0 -0
  160. data/{app → vendor}/assets/javascripts/jquery/MIT-LICENSE.txt +0 -0
  161. data/vendor/assets/javascripts/jquery/jquery.browser.js +49 -0
  162. data/{app → vendor}/assets/javascripts/jquery/jquery.html5-placeholder-shim.js +0 -0
  163. data/{app → vendor}/assets/javascripts/jquery/jquery.jcarousel.js +0 -0
  164. data/{app → vendor}/assets/javascripts/jquery/jquery.textTruncate.js +0 -0
  165. data/{app → vendor}/assets/javascripts/jquery/jquery.timers.js +0 -0
  166. data/{app → vendor}/assets/javascripts/modernizr-min.js +0 -0
  167. metadata +231 -78
  168. data/app/assets/images/refinery/resolve_digital_footer_logo.png +0 -0
  169. data/app/assets/javascripts/dd_belatedpng.js +0 -13
  170. data/app/assets/javascripts/jquery/jquery.corner.js +0 -345
  171. data/app/assets/stylesheets/application.css.scss +0 -55
  172. data/app/assets/stylesheets/home.css.scss +0 -3
  173. data/app/views/refinery/_ie6check.html.erb +0 -63
  174. data/app/views/refinery/_menu.html.erb +0 -20
  175. data/app/views/refinery/_menu_branch.html.erb +0 -19
  176. data/lib/generators/refinery/engine/templates/Guardfile +0 -27
  177. data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/admin/plural_name/_locale_picker.html.erb +0 -11
  178. data/lib/refinery/catch_all_routes.rb +0 -3
  179. data/lib/tasks/yard.rake +0 -30
  180. data/spec/requests/refinery/admin/controller_restriction_spec.rb +0 -27
  181. data/spec/requests/refinery/search_spec.rb +0 -71
@@ -12,19 +12,7 @@ module Refinery
12
12
  end
13
13
 
14
14
  def generate
15
- sanity_check!
16
-
17
- evaluate_templates!
18
-
19
- unless options[:pretend]
20
- merge_locales!
21
-
22
- copy_or_merge_seeds!
23
-
24
- append_extension_to_gemfile!
25
- end
26
-
27
- finalize_extension!
15
+ default_generate!
28
16
  end
29
17
 
30
18
  protected
@@ -6,10 +6,6 @@ module Refinery
6
6
  <% end -%>
7
7
 
8
8
  attr_accessible <%= names_for_attr_accessible.map { |a| ":#{a}" }.join(', ') %>, :position
9
- <% if string_attributes.any? -%>
10
-
11
- acts_as_indexed :fields => [<%= string_attributes.map { |a| ":#{a.name}" }.join(", ") %>]
12
- <% end -%>
13
9
  <% if (text_fields = attributes.map { |a| a.name if a.type == :text }.compact.uniq).any? && text_fields.detect{ |a| a.to_s == 'message' }.nil? -%>
14
10
 
15
11
  alias_attribute :message, :<%= text_fields.first %>
@@ -1,11 +1,11 @@
1
+ <%%= render 'refinery/admin/search_header', :url => refinery.<%= namespacing.underscore %>_admin_<%= plural_name %>_path %>
1
2
  <%% if searching? %>
2
- <h2><%%= t('shared.admin.search.results_for', :query => params[:search]) %></h2>
3
3
  <%% if @<%= plural_name %>.any? %>
4
4
  <ul>
5
5
  <%%= render :partial => '<%= singular_name %>', :collection => @<%= plural_name %> %>
6
6
  </ul>
7
7
  <%% else %>
8
- <p><%%= t('shared.admin.search.no_results') %></p>
8
+ <p><%%= t('no_results', :scope => 'refinery.admin.search') %></p>
9
9
  <%% end %>
10
10
  <%% else %>
11
11
  <%% if @grouped_<%= plural_name %>.any? -%>
@@ -1,17 +1,18 @@
1
1
  <%%= render 'submenu' %>
2
2
  <div id='records'>
3
3
  <%% if searching? %>
4
- <h2><%%= t('shared.admin.search.results_for', :query => params[:search]) %></h2>
5
- <%% if @<%%= plural_name %>.any? %>
4
+ <%%= link_to t('cancel_search', :scope => 'refinery.admin.search'), refinery.<%= namespacing.underscore %>_admin_<%= plural_name %>_path, :class => "cancel-search" %>
5
+ <h2><%%= t('results_for_html', :scope => 'refinery.admin.search', :query => h(params[:search])).html_safe %></h2>
6
+ <%% if @<%= plural_name %>.any? %>
6
7
  <ul>
7
- <%%= render :partial => '<%= singular_name %>', :collection => @<%%= plural_name %> %>
8
+ <%%= render :partial => '<%= singular_name %>', :collection => @<%= plural_name %> %>
8
9
  </ul>
9
10
  <%% else %>
10
- <p><%%= t('shared.admin.search.no_results') %></p>
11
+ <p><%%= t('no_results', :scope => 'refinery.admin.search') %></p>
11
12
  <%% end %>
12
13
  <%% else %>
13
- <%% if @grouped_<%%= plural_name %>.any? -%>
14
- <%% @grouped_<%%= plural_name %>.each do |container| %>
14
+ <%% if @grouped_<%= plural_name %>.any? -%>
15
+ <%% @grouped_<%= plural_name %>.each do |container| %>
15
16
  <h3><%%= l((<%= singular_name %>_group = container.last).first.created_at) %></h3>
16
17
  <ul>
17
18
  <%%= render :partial => '<%= singular_name %>', :collection => <%= singular_name %>_group %>
@@ -3,76 +3,76 @@ nl:
3
3
  plugins:
4
4
  <%= plural_name %>:
5
5
  title: <%= plural_name.titleize %>
6
+ description: Contactformulier en beheer van <%= plural_name.humanize.downcase %>
6
7
  <%= namespacing.underscore %>:
7
8
  <%= plural_name %>:
8
9
  new:
9
- send: Verstuur uw vraag
10
+ send: Bericht verzenden
10
11
  privacy_policy: Wij respecteren uw privacy
11
12
  admin:
12
13
  <%= plural_name %>:
13
- delete: Verwijder deze vraag voorgoed
14
+ delete: Deze <%= singular_name.humanize.downcase %> definitief verwijderen
14
15
  <%= singular_name %>:
15
- read_<%= singular_name %>: Lees de vraag
16
+ read_<%= singular_name %>: Lees de <%= singular_name.humanize.downcase %>
16
17
  said: zei
17
- mark_as_spam: Markeer als spam
18
- mark_as_ham: Verplaats naar de inbox
18
+ mark_as_spam: Als spam markeren
19
+ mark_as_ham: Naar de inbox verplaatsen
19
20
  submenu:
20
21
  inbox: Inbox
21
22
  spam: Spam
22
- update_notified: Wijzig wie op de hoogte wordt gesteld van vragen
23
- edit_confirmation_email: Bewerk bevestigings email
23
+ update_notified: Wijzigen wie op de hoogte wordt gesteld
24
+ edit_confirmation_email: Bevestigings-e-mail bewerken
24
25
  index:
25
- no_<%= plural_name %>: Je hebt nog geen vragen ontvangen.
26
+ no_<%= plural_name %>: U heeft nog geen <%= plural_name.humanize.downcase %> ontvangen.
26
27
  spam:
27
- no_spam: Jeej! Je hebt geen spam.
28
+ no_spam: Hoera! U heeft geen spam.
28
29
  show:
29
30
  details: Details
30
31
  age: Leeftijd
31
32
  actions: Acties
32
- back_to_all_<%= plural_name %>: Terug naar alle vragen
33
+ back_to_all_<%= plural_name %>: Terug naar alle <%= plural_name.humanize.downcase %>
33
34
  spam: Spam
34
- spam_yes: ja
35
+ spam_yes: 'ja'
35
36
  <%= singular_name %>: <%= class_name.underscore.titleize %>
36
37
  to: Aan
37
38
  from: Van
38
- click_to_email: Klik hier om een e-mail te sturen
39
+ click_to_email: Klik hier om een e-mail te sturen naar dit adres
39
40
  phone: Telefoonnummer
40
41
  date: Datum
41
42
  message: Bericht
42
43
  settings:
43
44
  notification_recipients_form:
44
45
  settings_value_name: Stuur notificaties naar
45
- explanation: "Iedere keer wanneer iemand het vraag formulier invult op uw website, stuurt Refinery een email waarin staat dat er een nieuwe vraag ontvangen is."
46
- hint: "Vul hierboven een email adres in. Wilt u naar meerdere adressen notificaties sturen? Vul dan meerdere email adressen in gescheiden door comma's"
47
- example: "Bijvoorbeeld: ik@domein.com, vrienden@msn.com, collegas@werk.com"
46
+ explanation: "Telkens wanneer iemand het contactformulier invult op uw website, stuurt Refinery een bevestiging naar de verzender."
47
+ hint: "Wilt u naar meerdere adressen notificaties sturen? Vul dan meerdere e-mailadressen in gescheiden door komma's"
48
+ example: "Bijvoorbeeld: jan@werk.nl, els@kantoor.nl"
48
49
  confirmation_email_form:
49
50
  to: Aan
50
51
  from: Van
51
52
  subject: Onderwerp
52
53
  click_to_edit_subject: Klik hier om het onderwerp bewerken
53
- explanation: "Iedere keer wanneer iemand het vraag formulier invult op uw website, stuurt Refinery een email naar die persoon waarin staat dat de vraag ontvangen is."
54
- below_edit_email_sent: Hieronder kun je de email die verzonden wordt bewerken.
55
- the_customer_making_<%= singular_name %>: De persoon die de heeft vraag gesteld
54
+ explanation: "Telkens wanneer iemand het contactformulier invult op uw website, stuurt Refinery een bevestiging naar de verzender."
55
+ below_edit_email_sent: Hieronder kunt u de email die verzonden wordt bewerken.
56
+ the_customer_making_<%= singular_name %>: De persoon die de <%= singular_name.humanize.downcase %> heeft ingezonden
56
57
  message: Bericht
57
- note: "Notitie: plaats de tekst %name% overal in je email waar je de naam van de vragende persoon wilt invoegen"
58
+ note: "N.B.: plaats de tekst %name% overal in de email waar u de naam van de klant persoon wilt invoegen"
58
59
  mailer:
59
60
  notification:
60
61
  greeting: Hallo
61
- you_recieved_new_<%= singular_name %>: Je hebt een nieuwe vraag via de website ontvangen.
62
- <%= singular_name %>_starts: --- begin van de vraag---
63
- <%= singular_name %>_ends: --- einde van de vraag---
62
+ you_recieved_new_<%= singular_name %>: U hebt een nieuwe <%= singular_name.humanize.downcase %> ontvangen via de website.
63
+ <%= singular_name %>_starts: --- begin van de <%= singular_name.humanize.downcase %> ---
64
+ <%= singular_name %>_ends: --- einde van de <%= singular_name.humanize.downcase %> ---
64
65
  from: Van
65
- email: Email
66
+ email: E-mail
66
67
  phone: Telefoon
67
68
  message: Bericht
68
- closing_line: Vriendelijke groeten,
69
- ps_html: P.S. Alle vragen woren opgeslagen in de "vragen" sectie van uw website.All your <%= plural_name.humanize.downcase %> are stored in the "<%= plural_name.titleize %>" section of Refinery.
69
+ closing_line: Met vriendelijke groet,
70
+ ps_html: P.S. Alle <%= plural_name.humanize.downcase %> worden opgeslagen in de sectie <%= plural_name.titleize %> van Refinery.
70
71
  activerecord:
71
72
  models:
72
73
  <%= singular_name %>: <%= class_name.underscore.titleize %>
73
74
  attributes:
74
75
  <%= singular_name %>:
75
- name: Naam
76
- email: 'Email'
77
- phone: Telefoon
78
- message: Bericht
76
+ <% attributes.each do |a| -%>
77
+ <%= a.name %>: <%= a.name.humanize %>
78
+ <% end -%>
@@ -0,0 +1,78 @@
1
+ tr:
2
+ refinery:
3
+ plugins:
4
+ <%= plural_name %>:
5
+ title: <%= plural_name.titleize %>
6
+ description: Iletisim formu ve kayitlarin temini <%= plural_name.humanize.downcase %>
7
+ <%= namespacing.underscore %>:
8
+ <%= plural_name %>:
9
+ new:
10
+ send: Mesaj Gonder
11
+ privacy_policy: Mahremiyetinize onem veriyoruz.
12
+ admin:
13
+ <%= plural_name %>:
14
+ delete: Sonsuza dek <%= singular_name.humanize.downcase %> sil
15
+ <%= singular_name %>:
16
+ read_<%= singular_name %>: Read the <%= singular_name.humanize.downcase %>
17
+ said: dedi
18
+ mark_as_spam: Spam olarak isaretle
19
+ mark_as_ham: Gelen kutusuna tasi
20
+ submenu:
21
+ inbox: Gelen Kutusu
22
+ spam: Istenmeyen E-posta
23
+ update_notified: Uyari alanlari guncelle
24
+ edit_confirmation_email: Dogrulama e-posta'sini duzenle
25
+ index:
26
+ no_<%= plural_name %>: Henuz Herhangi bir <%= plural_name.humanize.downcase %> almadiniz.
27
+ spam:
28
+ no_spam: Oley! Herhangi bir istenmeyen e-posta yok
29
+ show:
30
+ details: Detay
31
+ age: Yas
32
+ actions: Eylemler
33
+ back_to_all_<%= plural_name %>: Geri don tum <%= plural_name.humanize.downcase %>
34
+ spam: Istenmeyen E-posta
35
+ spam_yes: 'evet'
36
+ <%= singular_name %>: <%= class_name.underscore.titleize %>
37
+ to: Kime
38
+ from: Kimden
39
+ click_to_email: Bu adrese e-posta'layin
40
+ phone: Telefon
41
+ date: Tarih
42
+ message: Mesaj
43
+ settings:
44
+ notification_recipients_form:
45
+ settings_value_name: Bildirimleri gonderecegin adres
46
+ explanation: Her kim olursa seninle web sitesi uzerinden iletisime gecen, Refinery yeni bir <%= singular_name.humanize.downcase %> diye e-posta atar.
47
+ hint: Yeni Bir <%= singular_name.humanize.downcase %> teslim edildiginde, Refinery bir e-posta bildirisi yollayacak sana.
48
+ example: "Lutfen e-posta adres(ler)inizi giriniz. Ornek olarak: jack@work.com, jill@office.com gibi"
49
+ confirmation_email_form:
50
+ to: Kime
51
+ from: Kimden
52
+ subject: Baslik
53
+ click_to_edit_subject: Basligi degistirmek icin buraya tiklayiniz
54
+ explanation: Her kim olursa seninle web siten uzerinden iletisime gecen,Refinery yeni bir dogrulama postasi gonderir <%= singular_name.humanize.downcase %> yapan kisiye
55
+ below_edit_email_sent: Asagida gonderilen e-postayi duzenleyebilirsin.
56
+ the_customer_making_<%= singular_name %>: Musteri <%= singular_name.humanize.downcase %> yapiyor
57
+ message: Mesaj
58
+ note: "Not: metini hizala %name% nerede musterinizin e-posta adresi gibi gozukmesini istiyorsan"
59
+ mailer:
60
+ notification:
61
+ greeting: Selamlar
62
+ you_recieved_new_<%= singular_name %>: You just received a new <%= singular_name.humanize.downcase %> on your website.
63
+ <%= singular_name %>_starts: --- <%= singular_name.humanize.downcase %> starts ---
64
+ <%= singular_name %>_ends: --- <%= singular_name.humanize.downcase %> ends ---
65
+ from: Kimden
66
+ email: E-posta
67
+ phone: Telefon
68
+ message: Mesaj
69
+ closing_line: Saygilarimizla
70
+ ps_html: Senin butun <%= plural_name.humanize.downcase %> kayitli oldugu yer "<%= plural_name.titleize %>" burasidir eger ileride kullanmak istersen
71
+ activerecord:
72
+ models:
73
+ <%= singular_name %>: <%= class_name.underscore.titleize %>
74
+ attributes:
75
+ <%= singular_name %>:
76
+ <% attributes.each do |a| -%>
77
+ <%= a.name %>: <%= a.name.humanize %>
78
+ <% end -%>
@@ -10,7 +10,7 @@ Refinery::Core::Engine.routes.draw do
10
10
 
11
11
  # Admin routes
12
12
  namespace :<%= namespacing.underscore %>, :path => '' do
13
- namespace :admin, :path => 'refinery/<%= namespacing.underscore %>' do
13
+ namespace :admin, :path => "#{Refinery::Core.backend_route}/<%= namespacing.underscore %>" do
14
14
  resources :<%= plural_name %>, :path => '' <% if @includes_spam %> do
15
15
  collection do
16
16
  get :spam
@@ -1,6 +1,6 @@
1
1
  class Create<%= class_name.pluralize %> < ActiveRecord::Migration
2
2
 
3
- def self.up
3
+ def up
4
4
  create_table :refinery_<%= table_name %> do |t|
5
5
  <%
6
6
  attributes.each do |attribute|
@@ -22,13 +22,9 @@ class Create<%= class_name.pluralize %> < ActiveRecord::Migration
22
22
  end
23
23
 
24
24
  add_index :refinery_<%= table_name %>, :id
25
-
26
- if (seed = Rails.root.join('db', 'seeds', '<%= plural_name %>.rb')).exist?
27
- load(seed)
28
- end
29
25
  end
30
26
 
31
- def self.down
27
+ def down
32
28
  if defined?(::Refinery::UserPlugin)
33
29
  ::Refinery::UserPlugin.destroy_all({:name => "<%= plural_name %>"})
34
30
  end
@@ -1,4 +1,4 @@
1
- (Refinery.i18n_enabled? ? Refinery::I18n.frontend_locales : [:en]).each do |lang|
1
+ Refinery::I18n.frontend_locales.each do |lang|
2
2
  I18n.locale = lang
3
3
 
4
4
  if defined?(Refinery::User)
@@ -1,7 +1,7 @@
1
1
  module Refinery
2
2
  module <%= namespacing %>
3
3
  class Engine < Rails::Engine
4
- include Refinery::Engine
4
+ extend Refinery::Engine
5
5
  isolate_namespace Refinery::<%= namespacing %>
6
6
 
7
7
  engine_name :refinery_<%= extension_plural_name %>
@@ -11,9 +11,6 @@ Gem::Specification.new do |s|
11
11
  s.files = Dir["{app,config,db,lib}/**/*"] + ["readme.md"]
12
12
 
13
13
  # Runtime dependencies
14
- s.add_dependency 'refinerycms-core', '~> <%= Refinery::Version %>'
15
- s.add_dependency 'refinerycms-settings', '~> 2.0.0'
16
-
17
- # Development dependencies (usually used for testing)
18
- s.add_development_dependency 'refinerycms-testing', '~> <%= Refinery::Version %>'
14
+ s.add_dependency 'refinerycms-core', '~> <%= Refinery::Version %>'
15
+ s.add_dependency 'refinerycms-settings', '~> <%= Refinery::Version %>'
19
16
  end
data/lib/refinery.rb ADDED
@@ -0,0 +1,191 @@
1
+ require 'rails' # from railties
2
+ require 'active_record'
3
+ require 'action_controller'
4
+ require 'rbconfig'
5
+
6
+ module Refinery
7
+ require 'refinery/errors'
8
+
9
+ autoload :Activity, 'refinery/activity'
10
+ autoload :ApplicationController, 'refinery/application_controller'
11
+ autoload :Engine, 'refinery/engine'
12
+ autoload :Menu, 'refinery/menu'
13
+ autoload :MenuItem, 'refinery/menu_item'
14
+ autoload :Plugin, 'refinery/plugin'
15
+ autoload :Plugins, 'refinery/plugins'
16
+ autoload :Version, 'refinery/version'
17
+ autoload :Crud, 'refinery/crud'
18
+ autoload :BasePresenter, 'refinery/base_presenter'
19
+
20
+ require 'refinery/ext/action_view/helpers/form_builder'
21
+ require 'refinery/ext/action_view/helpers/form_helper'
22
+ require 'refinery/ext/action_view/helpers/form_tag_helper'
23
+
24
+ module Admin
25
+ autoload :BaseController, 'refinery/admin/base_controller'
26
+ end
27
+
28
+ autoload :CmsGenerator, 'generators/refinery/cms/cms_generator'
29
+ autoload :DummyGenerator, 'generators/refinery/dummy/dummy_generator'
30
+ autoload :CoreGenerator, 'generators/refinery/core/core_generator'
31
+ autoload :EngineGenerator, 'generators/refinery/engine/engine_generator'
32
+
33
+ class << self
34
+ @@extensions = []
35
+
36
+ # Returns an array of modules representing currently registered Refinery Engines
37
+ #
38
+ # Example:
39
+ # Refinery.extensions => [Refinery::Core, Refinery::Pages]
40
+ def extensions
41
+ @@extensions
42
+ end
43
+
44
+ # Register an extension with Refinery
45
+ #
46
+ # Example:
47
+ # Refinery.register_extension(Refinery::Core)
48
+ def register_extension(const)
49
+ return if extension_registered?(const)
50
+
51
+ validate_extension!(const)
52
+
53
+ @@extensions << const
54
+ end
55
+ alias_method :register_engine, :register_extension
56
+
57
+ # Unregister an extension from Refinery
58
+ #
59
+ # Example:
60
+ # Refinery.unregister_extension(Refinery::Core)
61
+ def unregister_extension(const)
62
+ @@extensions.delete(const)
63
+ end
64
+
65
+ # Returns true if an extension is currently registered with Refinery
66
+ #
67
+ # Example:
68
+ # Refinery.extension_registered?(Refinery::Core)
69
+ def extension_registered?(const)
70
+ @@extensions.include?(const)
71
+ end
72
+
73
+ # Constructs a deprecation warning message and warns with Kernel#warn
74
+ #
75
+ # Example:
76
+ # Refinery.deprecate('foo') => "The use of 'foo' is deprecated"
77
+ #
78
+ # An options parameter can be specified to construct a more detailed deprecation message
79
+ #
80
+ # Options:
81
+ # when - version that this deprecated feature will be removed
82
+ # replacement - a replacement for what is being deprecated
83
+ # caller - who called the deprecated feature
84
+ #
85
+ # Example:
86
+ # Refinery.deprecate('foo', :when => 'tomorrow', :replacement => 'bar') =>
87
+ # "The use of 'foo' is deprecated and will be removed at version 2.0. Please use 'bar' instead."
88
+ def deprecate(what, options = {})
89
+ # Build a warning.
90
+ warning = "\n-- DEPRECATION WARNING --\nThe use of '#{what}' is deprecated"
91
+ warning << " and will be removed at version #{options[:when]}" if options[:when]
92
+ warning << "."
93
+ warning << "\nPlease use #{options[:replacement]} instead." if options[:replacement]
94
+
95
+ # See if we can trace where this happened
96
+ if (invoker = detect_invoker(options[:caller])).present?
97
+ warning << invoker
98
+ end
99
+
100
+ # Give stern talking to.
101
+ warn warning
102
+ end
103
+
104
+ # Returns a Pathname to the root of the Refinery CMS project
105
+ def root
106
+ @root ||= Pathname.new(File.expand_path('../../../', __FILE__))
107
+ end
108
+
109
+ # Returns an array of Pathnames pointing to the root directory of each extension that
110
+ # has been registered with Refinery.
111
+ #
112
+ # Example:
113
+ # Refinery.roots => [#<Pathname:/Users/Reset/Code/refinerycms/core>, #<Pathname:/Users/Reset/Code/refinerycms/pages>]
114
+ #
115
+ # An optional extension_name parameter can be specified to return just the Pathname for
116
+ # the specified extension. This can be represented in Constant, Symbol, or String form.
117
+ #
118
+ # Example:
119
+ # Refinery.roots(Refinery::Core) => #<Pathname:/Users/Reset/Code/refinerycms/core>
120
+ # Refinery.roots(:'refinery/core') => #<Pathname:/Users/Reset/Code/refinerycms/core>
121
+ # Refinery.roots("refinery/core") => #<Pathname:/Users/Reset/Code/refinerycms/core>
122
+ def roots(extension_name = nil)
123
+ return @roots ||= self.extensions.map(&:root) if extension_name.nil?
124
+
125
+ extension_name.to_s.camelize.constantize.root
126
+ end
127
+
128
+ def version
129
+ Refinery::Version.to_s
130
+ end
131
+
132
+ # Returns string version of url helper path. We need this to temporarily support namespaces
133
+ # like Refinery::Image and Refinery::Blog::Post
134
+ #
135
+ # Example:
136
+ # Refinery.route_for_model(Refinery::Image) => "admin_image_path"
137
+ # Refinery.route_for_model(Refinery::Image, {:plural => true}) => "admin_images_path"
138
+ # Refinery.route_for_model(Refinery::Blog::Post) => "blog_admin_post_path"
139
+ # Refinery.route_for_model(Refinery::Blog::Post, {:plural => true}) => "blog_admin_posts_path"
140
+ # Refinery.route_for_model(Refinery::Blog::Post, {:admin => false}) => "blog_post_path"
141
+ def route_for_model(klass, options = {})
142
+ options = {:plural => false, :admin => true}.merge options
143
+
144
+ klass = klass.constantize if klass.respond_to?(:constantize)
145
+ active_name = ActiveModel::Name.new klass, (Refinery if klass.parents.include?(Refinery))
146
+
147
+ if options[:admin]
148
+ # Most of the time this gets rid of 'refinery'
149
+ parts = active_name.underscore.split('/').reject{|name|
150
+ active_name.singular_route_key.exclude?(name)
151
+ }
152
+
153
+ # Get the singular resource_name from the url parts
154
+ resource_name = parts.pop
155
+ resource_name = resource_name.pluralize if options[:plural]
156
+
157
+ [parts.join("_"), "admin", resource_name, "path"].reject(&:blank?).join "_"
158
+ else
159
+ path = options[:plural] ? active_name.route_key : active_name.singular_route_key
160
+
161
+ [path, 'path'].join '_'
162
+ end
163
+ end
164
+
165
+ def include_once(base, extension_module)
166
+ base.send :include, extension_module unless included_extension_module?(base, extension_module)
167
+ end
168
+
169
+ private
170
+ def detect_invoker(the_caller = caller)
171
+ return '' unless the_caller && the_caller.respond_to?(:detect)
172
+ the_caller.detect{|c| /#{Rails.root}/ === c }.inspect.to_s.split(':in').first
173
+ end
174
+
175
+ # plain Module#included? or Module#included_modules doesn't cut it here
176
+ def included_extension_module?(base, extension_module)
177
+ if base.kind_of?(Class)
178
+ direct_superclass = base.superclass
179
+ base.ancestors.take_while {|ancestor| ancestor != direct_superclass}.include?(extension_module)
180
+ else
181
+ base < extension_module # can't do better than that for modules
182
+ end
183
+ end
184
+
185
+ def validate_extension!(const)
186
+ unless const.respond_to?(:root) && const.root.is_a?(Pathname)
187
+ raise InvalidEngineError, "Engine must define a root accessor that returns a pathname to its root"
188
+ end
189
+ end
190
+ end
191
+ end