refinerycms-core 2.0.10 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
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