Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Merge branch 'master' into ui

Conflicts:
	core/app/assets/stylesheets/refinery/ui.css.scss
  • Loading branch information...
commit 119067482760b9b5214becced7dc0fd7fae5d0a0 2 parents 58cd5d3 + 8285ecc
@parndt parndt authored
Showing with 4,750 additions and 2,788 deletions.
  1. +4 −0 .gitignore
  2. +9 −3 .travis.yml
  3. +6 −4 Gemfile
  4. +70 −71 Gemfile.lock
  5. +2 −4 Guardfile
  6. +1 −1  authentication/app/controllers/refinery/admin/users_controller.rb
  7. +1 −1  authentication/config/locales/bg.yml
  8. +1 −1  authentication/config/locales/{jp.yml → ja.yml}
  9. +4 −6 authentication/config/routes.rb
  10. +0 −4 authentication/lib/authenticated_system.rb
  11. +1 −1  authentication/lib/gemspec.rb
  12. +7 −6 authentication/refinerycms-authentication.gemspec
  13. 0  authentication/spec/requests/{manage_users_spec.rb → refinery/admin/users_spec.rb}
  14. 0  authentication/spec/requests/{lost_password_spec.rb → refinery/passwords_spec.rb}
  15. +68 −0 authentication/spec/requests/refinery/sessions_spec.rb
  16. +0 −34 authentication/spec/requests/sign_in_spec.rb
  17. +0 −38 authentication/spec/requests/sign_up_spec.rb
  18. +0 −17 autotest/autotest.rb
  19. +0 −2  autotest/discover.rb
  20. +1 −1  base/lib/gemspec.rb
  21. +1 −1  base/refinerycms-base.gemspec
  22. +1 −1  bin/refinerycms
  23. +15 −106 core/app/assets/javascripts/refinery/admin.js
  24. +13 −0 core/app/assets/javascripts/refinery/ajaxy_pagination.js.coffee
  25. +64 −0 core/app/assets/javascripts/refinery/interface.js.coffee
  26. +142 −0 core/app/assets/javascripts/refinery/modal_dialogs.js
  27. +19 −13 core/app/assets/javascripts/refinery/refinery.js
  28. +21 −0 core/app/assets/javascripts/refinery/sortable_menu.js.coffee
  29. +8 −0 core/app/assets/javascripts/refinery/submit_continue.js.coffee
  30. +13 −6 core/app/assets/javascripts/wymeditor/jquery.refinery.wymeditor.js
  31. +57 −0 core/app/assets/javascripts/wymeditor/lang/bg.js
  32. +1 −1  core/app/assets/javascripts/wymeditor/lang/{jp.js → ja.js}
  33. +14 −3 core/app/assets/javascripts/wymeditor/lang/ru.js
  34. +1,524 −21 core/app/assets/stylesheets/refinery/refinery.css.scss
  35. +73 −49 core/app/assets/stylesheets/refinery/site_bar.css.scss
  36. +24 −0 core/app/assets/stylesheets/refinery/submenu.css.scss
  37. +16 −61 core/app/assets/stylesheets/refinery/tooltips.css.scss
  38. +103 −0 core/app/assets/stylesheets/refinery/ui.css.scss
  39. +1 −1  core/app/controllers/refinery/admin/dialogs_controller.rb
  40. +1 −1  core/app/controllers/refinery/admin/refinery_core_controller.rb
  41. +2 −2 core/app/controllers/{admin/base_controller.rb → refinery/admin_controller.rb}
  42. +3 −2 core/app/views/refinery/_head.html.erb
  43. +1 −1  core/app/views/refinery/admin/_head.html.erb
  44. +10 −8 core/app/views/refinery/admin/_menu.html.erb
  45. +8 −6 core/config/locales/{jp.yml → ja.yml}
  46. +14 −14 core/config/locales/ru.yml
  47. +2 −3 core/lib/gemspec.rb
  48. +17 −9 core/lib/generators/cms_generator.rb
  49. 0  core/lib/generators/templates/app/decorators/controllers/refinery/.gitkeep
  50. 0  core/lib/generators/templates/app/decorators/models/refinery/.gitkeep
  51. +6 −11 core/lib/refinery/admin/base_controller.rb
  52. +2 −2 core/lib/refinery/application.rb
  53. +19 −24 core/lib/refinery/application_controller.rb
  54. +90 −0 core/lib/refinery/core/engine.rb
  55. +1 −1  core/lib/refinery/helpers/menu_helper.rb
  56. +12 −4 core/lib/refinery/menu_item.rb
  57. +9 −9 core/lib/refinery/plugin.rb
  58. +1 −73 core/lib/refinerycms-core.rb
  59. +1 −1  core/lib/tasks/refinery.rake
  60. +25 −10 core/refinerycms-core.gemspec
  61. +49 −0 core/spec/lib/generators/cms_generator_spec.rb
  62. +0 −26 core/spec/requests/dialogs_spec.rb
  63. +28 −0 core/spec/requests/refinery/admin/dialogs_spec.rb
  64. +89 −0 core/spec/requests/refinery/search_spec.rb
  65. +49 −0 core/spec/requests/refinery/site_bar_spec.rb
  66. +0 −87 core/spec/requests/search_spec.rb
  67. +0 −47 core/spec/requests/site_bar_spec.rb
  68. +1 −1  dashboard/app/controllers/refinery/admin/dashboard_controller.rb
  69. +1 −1  dashboard/config/locales/{jp.yml → ja.yml}
  70. +1 −1  dashboard/lib/gemspec.rb
  71. +5 −3 dashboard/refinerycms-dashboard.gemspec
  72. 0  dashboard/spec/requests/{ → refinery/admin}/dashboard_spec.rb
  73. +11 −0 db/migrate/20110907082019_remove_custom_title_from_refinery_pages.rb
  74. +2 −2 doc/engines.md
  75. +0 −4 generators/readme.md → doc/generators.md
  76. +3 −3 doc/guides/1 - Getting Started/2 - Getting Started with Refinery.textile
  77. +6 −6 ...uides/1 - Getting Started/4 - Attaching Refinery CMS as part of a larger Rails + Devise application.textile
  78. +1 −1  doc/guides/4 - Customising your Design/1 - How to change Page Parts.textile
  79. +44 −0 doc/guides/4 - Customising your Design/3 - How to override Javascripts.textile
  80. +1 −1  doc/guides/7 - Hosting/1 - How to Install Refinery on Heroku.textile
  81. +1 −1  doc/guides/7 - Hosting/2 - How to use Amazon S3 for storage.textile
  82. +6 −0 doc/settings.md
  83. +0 −27 generators/features/engine_generator.feature
  84. +0 −20 generators/features/step_definitions/engine_generator_steps.rb
  85. +0 −7 generators/features/step_definitions/generator_steps.rb
  86. +0 −14 generators/features/support/paths.rb
  87. +0 −33 generators/lib/gemspec.rb
  88. +0 −157 generators/lib/generators/refinery/engine/engine_generator.rb
  89. +0 −63 generators/lib/generators/refinery/engine/templates/features/manage_plural_name.feature
  90. +0 −16 generators/lib/generators/refinery/engine/templates/features/step_definitions/singular_name_steps.rb
  91. +0 −17 generators/lib/generators/refinery/engine/templates/features/support/paths.rb
  92. +0 −19 generators/lib/generators/refinery/engine/templates/spec/requests/manage_plural_name_spec.rb
  93. +0 −5 generators/lib/generators/refinery/engine/templates/spec/support/refinery/factories.rb
  94. +0 −5 generators/lib/refinery/generators.rb
  95. +0 −51 generators/lib/refinerycms-generators.rb
  96. +0 −106 generators/refinerycms-generators.gemspec
  97. +1 −1  images/app/controllers/refinery/admin/images_controller.rb
  98. +5 −17 images/app/models/refinery/image.rb
  99. +1 −1  images/app/views/refinery/admin/images/_form.html.erb
  100. +2 −2 images/config/locales/bg.yml
  101. +1 −1  images/config/locales/cs.yml
  102. +2 −2 images/config/locales/da.yml
  103. +1 −1  images/config/locales/de.yml
  104. +2 −2 images/config/locales/el.yml
  105. +2 −2 images/config/locales/en.yml
  106. +2 −2 images/config/locales/es.yml
  107. +1 −1  images/config/locales/fi.yml
  108. +1 −1  images/config/locales/fr.yml
  109. +2 −2 images/config/locales/it.yml
  110. +2 −2 images/config/locales/{jp.yml → ja.yml}
  111. +1 −1  images/config/locales/ko.yml
  112. +1 −1  images/config/locales/lolcat.yml
  113. +1 −1  images/config/locales/lt.yml
  114. +1 −1  images/config/locales/lv.yml
  115. +1 −1  images/config/locales/nb.yml
  116. +2 −2 images/config/locales/nl.yml
  117. +1 −1  images/config/locales/pl.yml
  118. +2 −2 images/config/locales/pt-BR.yml
  119. +1 −1  images/config/locales/rs.yml
  120. +1 −1  images/config/locales/ru.yml
  121. +1 −1  images/config/locales/sk.yml
  122. +1 −1  images/config/locales/sl.yml
  123. +2 −2 images/config/locales/sv.yml
  124. +2 −2 images/config/locales/vi.yml
  125. +1 −1  images/config/locales/zh-CN.yml
  126. +1 −1  images/config/locales/zh-TW.yml
  127. +2 −2 images/lib/gemspec.rb
  128. +5 −1 images/lib/generators/images_generator.rb
  129. +14 −0 images/lib/generators/templates/config/initializers/refinery_images.rb.erb
  130. +26 −0 images/lib/refinery/images/engine.rb
  131. +33 −0 images/lib/refinery/images/options.rb
  132. +7 −0 images/lib/refinery/images/validators.rb
  133. +17 −0 images/lib/refinery/images/validators/image_size_validator.rb
  134. +5 −26 images/lib/refinerycms-images.rb
  135. +21 −4 images/refinerycms-images.gemspec
  136. +29 −0 images/spec/lib/generators/images_generator_spec.rb
  137. +39 −0 images/spec/lib/refinery/images/options_spec.rb
  138. +37 −6 images/spec/models/refinery/image_spec.rb
  139. +0 −82 images/spec/requests/manage_images_spec.rb
  140. +84 −0 images/spec/requests/refinery/admin/images_spec.rb
  141. +2 −1  lib/gemspec.rb
  142. +9 −0 lib/refinery/generators.rb
  143. 0  {generators/lib/generators/refinery → lib/refinery/generators}/engine/USAGE
  144. 0  {generators/lib/generators/refinery → lib/refinery/generators}/engine/clash_keywords.yml
  145. +153 −0 lib/refinery/generators/engine/engine_generator.rb
  146. +1 −1  ...y → lib/refinery/generators}/engine/templates/app/controllers/refinery/admin/plural_name_controller.rb
  147. 0  ...efinery → lib/refinery/generators}/engine/templates/app/controllers/refinery/plural_name_controller.rb
  148. 0  ...b/generators/refinery → lib/refinery/generators}/engine/templates/app/models/refinery/singular_name.rb
  149. 0  ...ery → lib/refinery/generators}/engine/templates/app/views/refinery/admin/plural_name/_actions.html.erb
  150. 0  ...finery → lib/refinery/generators}/engine/templates/app/views/refinery/admin/plural_name/_form.html.erb
  151. 0  ...→ lib/refinery/generators}/engine/templates/app/views/refinery/admin/plural_name/_plural_name.html.erb
  152. 0  ...ery → lib/refinery/generators}/engine/templates/app/views/refinery/admin/plural_name/_records.html.erb
  153. 0  ...arr; lib/refinery/generators}/engine/templates/app/views/refinery/admin/plural_name/_singular_name.html.erb
  154. 0  ...arr; lib/refinery/generators}/engine/templates/app/views/refinery/admin/plural_name/_sortable_list.html.erb
  155. 0  ...efinery → lib/refinery/generators}/engine/templates/app/views/refinery/admin/plural_name/edit.html.erb
  156. 0  ...finery → lib/refinery/generators}/engine/templates/app/views/refinery/admin/plural_name/index.html.erb
  157. 0  ...refinery → lib/refinery/generators}/engine/templates/app/views/refinery/admin/plural_name/new.html.erb
  158. 0  ...ors/refinery → lib/refinery/generators}/engine/templates/app/views/refinery/plural_name/index.html.erb
  159. 0  ...tors/refinery → lib/refinery/generators}/engine/templates/app/views/refinery/plural_name/show.html.erb
  160. 0  {generators/lib/generators/refinery → lib/refinery/generators}/engine/templates/config/locales/en.yml
  161. +23 −0 lib/refinery/generators/engine/templates/config/locales/es.yml
  162. 0  {generators/lib/generators/refinery → lib/refinery/generators}/engine/templates/config/locales/fr.yml
  163. 0  {generators/lib/generators/refinery → lib/refinery/generators}/engine/templates/config/locales/lolcat.yml
  164. 0  {generators/lib/generators/refinery → lib/refinery/generators}/engine/templates/config/locales/nb.yml
  165. 0  {generators/lib/generators/refinery → lib/refinery/generators}/engine/templates/config/locales/nl.yml
  166. 0  {generators/lib/generators/refinery → lib/refinery/generators}/engine/templates/config/routes.rb
  167. +0 −2  ...s/lib/generators/refinery → lib/refinery/generators}/engine/templates/db/migrate/create_plural_name.rb
  168. 0  {generators/lib/generators/refinery → lib/refinery/generators}/engine/templates/db/seeds/plural_name.rb
  169. 0  .../refinery → lib/refinery/generators}/engine/templates/lib/generators/refinery/plural_name_generator.rb
  170. 0  ...ors/lib/generators/refinery → lib/refinery/generators}/engine/templates/lib/refinerycms-plural_name.rb
  171. 0  ...erators/lib/generators/refinery → lib/refinery/generators}/engine/templates/lib/tasks/plural_name.rake
  172. 0  {generators/lib/generators/refinery → lib/refinery/generators}/engine/templates/readme.md
  173. +1 −1  ...rs/lib/generators/refinery → lib/refinery/generators}/engine/templates/refinerycms-plural_name.gemspec
  174. 0  ...rators/refinery → lib/refinery/generators}/engine/templates/spec/models/refinery/singular_name_spec.rb
  175. +93 −0 lib/refinery/generators/engine/templates/spec/requests/manage_plural_name_spec.rb
  176. +7 −0 lib/refinery/generators/engine/templates/spec/support/refinery/factories.rb
  177. +2 −1  {generators → }/lib/refinery/generators/engine_installer.rb
  178. 0  {generators → }/lib/refinery/generators/migrations.rb
  179. +1 −1  pages/app/controllers/refinery/admin/page_parts_controller.rb
  180. +1 −1  pages/app/controllers/refinery/admin/pages_controller.rb
  181. +3 −17 pages/app/models/refinery/page.rb
  182. +0 −3  pages/config/locales/bg.yml
  183. +0 −3  pages/config/locales/cs.yml
  184. +0 −3  pages/config/locales/da.yml
  185. +0 −3  pages/config/locales/de.yml
  186. +0 −3  pages/config/locales/el.yml
  187. +0 −3  pages/config/locales/en.yml
  188. +0 −3  pages/config/locales/es.yml
  189. +0 −3  pages/config/locales/fi.yml
  190. +0 −3  pages/config/locales/fr.yml
  191. +6 −4 pages/config/locales/it.yml
  192. +1 −4 pages/config/locales/{jp.yml → ja.yml}
  193. +0 −3  pages/config/locales/ko.yml
  194. +0 −3  pages/config/locales/lolcat.yml
  195. +0 −3  pages/config/locales/lt.yml
  196. +0 −3  pages/config/locales/lv.yml
  197. +0 −3  pages/config/locales/nb.yml
  198. +0 −3  pages/config/locales/nl.yml
  199. +0 −3  pages/config/locales/pl.yml
  200. +0 −3  pages/config/locales/pt-BR.yml
  201. +0 −3  pages/config/locales/rs.yml
  202. +2 −4 pages/config/locales/ru.yml
  203. +0 −3  pages/config/locales/sk.yml
  204. +0 −3  pages/config/locales/sl.yml
  205. +0 −3  pages/config/locales/sv.yml
  206. +0 −3  pages/config/locales/vi.yml
  207. +0 −3  pages/config/locales/zh-CN.yml
  208. +0 −3  pages/config/locales/zh-TW.yml
  209. +11 −0 pages/db/migrate/20110907082019_remove_custom_title_from_refinery_pages.rb
  210. +2 −2 pages/lib/gemspec.rb
  211. +5 −1 pages/lib/generators/pages_generator.rb
  212. +7 −0 pages/lib/generators/templates/config/initializers/refinery_pages.rb.erb
  213. +42 −0 pages/lib/refinery/pages/engine.rb
  214. +23 −0 pages/lib/refinery/pages/options.rb
  215. +6 −44 pages/lib/refinerycms-pages.rb
  216. +18 −7 pages/refinerycms-pages.gemspec
  217. +23 −0 pages/spec/lib/refinery/pages/options_spec.rb
  218. +7 −5 pages/spec/models/refinery/page_spec.rb
  219. +0 −136 pages/spec/requests/manage_pages_spec.rb
  220. +0 −194 pages/spec/requests/multiple_locales_spec.rb
  221. +0 −281 pages/spec/requests/page_frontend_spec.rb
  222. +382 −0 pages/spec/requests/refinery/admin/pages_spec.rb
  223. +298 −0 pages/spec/requests/refinery/pages_spec.rb
  224. +0 −64 pages/spec/requests/translate_pages_spec.rb
  225. +3 −2 readme.md
  226. +68 −91 refinerycms.gemspec
  227. +1 −1  resources/app/controllers/refinery/admin/resources_controller.rb
  228. +4 −12 resources/app/models/refinery/resource.rb
  229. +1 −1  resources/app/views/refinery/admin/resources/_form.html.erb
  230. +2 −2 resources/config/locales/bg.yml
  231. +1 −1  resources/config/locales/cs.yml
  232. +2 −2 resources/config/locales/da.yml
  233. +1 −1  resources/config/locales/de.yml
  234. +2 −2 resources/config/locales/el.yml
  235. +2 −2 resources/config/locales/en.yml
  236. +2 −2 resources/config/locales/es.yml
  237. +1 −1  resources/config/locales/fi.yml
  238. +1 −1  resources/config/locales/fr.yml
  239. +2 −2 resources/config/locales/it.yml
  240. +2 −2 resources/config/locales/{jp.yml → ja.yml}
  241. +1 −1  resources/config/locales/ko.yml
  242. +1 −1  resources/config/locales/lolcat.yml
  243. +1 −1  resources/config/locales/lt.yml
  244. +1 −1  resources/config/locales/lv.yml
  245. +1 −1  resources/config/locales/nb.yml
  246. +2 −2 resources/config/locales/nl.yml
  247. +1 −1  resources/config/locales/pl.yml
  248. +2 −2 resources/config/locales/pt-BR.yml
  249. +1 −1  resources/config/locales/rs.yml
  250. +1 −1  resources/config/locales/ru.yml
  251. +1 −1  resources/config/locales/sk.yml
  252. +1 −1  resources/config/locales/sl.yml
  253. +2 −2 resources/config/locales/sv.yml
  254. +2 −2 resources/config/locales/vi.yml
  255. +1 −1  resources/config/locales/zh-CN.yml
  256. +1 −1  resources/config/locales/zh-TW.yml
  257. +2 −2 resources/lib/gemspec.rb
  258. +4 −0 resources/lib/generators/resources_generator.rb
  259. +10 −0 resources/lib/generators/templates/config/initializers/refinery_resources.rb.erb
  260. +2 −2 resources/lib/refinery/resources/dragonfly.rb
  261. +25 −0 resources/lib/refinery/resources/engine.rb
  262. +28 −0 resources/lib/refinery/resources/options.rb
  263. +7 −0 resources/lib/refinery/resources/validators.rb
  264. +17 −0 resources/lib/refinery/resources/validators/file_size_validator.rb
  265. +4 −24 resources/lib/refinerycms-resources.rb
  266. +21 −4 resources/refinerycms-resources.gemspec
  267. +29 −0 resources/spec/lib/generators/resources_generator_spec.rb
  268. +31 −0 resources/spec/lib/refinery/resources/options_spec.rb
  269. +34 −5 resources/spec/models/refinery/resource_spec.rb
  270. +0 −80 resources/spec/requests/manage_resources_spec.rb
  271. +84 −0 resources/spec/requests/refinery/admin/resources_spec.rb
  272. +1 −1  settings/app/controllers/refinery/admin/settings_controller.rb
  273. +7 −10 settings/app/views/refinery/admin/settings/_setting.html.erb
  274. +0 −5 settings/config/locales/bg.yml
  275. +0 −5 settings/config/locales/cs.yml
  276. +0 −5 settings/config/locales/da.yml
  277. +0 −5 settings/config/locales/de.yml
  278. +0 −5 settings/config/locales/el.yml
  279. +0 −5 settings/config/locales/en.yml
  280. +27 −5 settings/config/locales/es.yml
  281. +0 −5 settings/config/locales/fi.yml
  282. +0 −5 settings/config/locales/fr.yml
  283. +0 −5 settings/config/locales/it.yml
  284. +1 −6 settings/config/locales/{jp.yml → ja.yml}
  285. +0 −5 settings/config/locales/ko.yml
  286. +0 −5 settings/config/locales/lolcat.yml
  287. +0 −5 settings/config/locales/lt.yml
  288. +0 −5 settings/config/locales/lv.yml
  289. +0 −5 settings/config/locales/nb.yml
  290. +0 −5 settings/config/locales/nl.yml
  291. +0 −5 settings/config/locales/pl.yml
  292. +0 −5 settings/config/locales/pt-BR.yml
  293. +0 −5 settings/config/locales/rs.yml
  294. +0 −5 settings/config/locales/ru.yml
  295. +0 −5 settings/config/locales/sk.yml
  296. +0 −5 settings/config/locales/sv.yml
  297. +0 −5 settings/config/locales/vi.yml
  298. +0 −5 settings/config/locales/zh-CN.yml
  299. +0 −5 settings/config/locales/zh-TW.yml
  300. +1 −1  settings/lib/gemspec.rb
Sorry, we could not display the entire diff because too many files (311) changed.
View
4 .gitignore
@@ -50,6 +50,7 @@ nbproject
# Rubinius
*.rbc
+*.rbx
# Vim
*.swp
@@ -75,6 +76,9 @@ capybara-*html
.rvmrc
.rvmrc.*
+#Sprockets
+public/assets
+
# REFINERY CMS DEVELOPMENT ====================================================
# Always keep this section at the bottom.
View
12 .travis.yml
@@ -1,8 +1,14 @@
-script: "bundle exec rake db:create db:migrate spec"
+before_script:
+ - "ruby --version"
+ - "sh -e /etc/init.d/xvfb start"
+ - "bundle exec rake db:create db:migrate"
+script: "DISPLAY=:99.0 bundle exec rspec ./**/spec"
notifications:
email:
- parndt@gmail.com
- ugis.ozolss@gmail.com
+ irc:
+ - "irc.freenode.org#refinerycms"
env:
- DB=postgres
- DB=mysql
@@ -10,5 +16,5 @@ rvm:
- 1.8.7
- 1.9.2
- 1.9.3
- - rbx-2.0
- - jruby
+ - rbx
+# - jruby
View
10 Gemfile
@@ -21,19 +21,21 @@ gemspec
# Anything you put in here will be overridden when the app gets updated.
# gem 'refinerycms', '~> 2.0.0'
-gem 'awesome_nested_set', :git => 'git://github.com/collectiveidea/awesome_nested_set.git'
# END REFINERY CMS ============================================================
# REFINERY CMS DEVELOPMENT ====================================================
+gem "rails", "= 3.1.1.rc1"
+
group :development, :test do
gem 'refinerycms-testing', '~> 2.0.0'
gem 'rcov', :platform => :mri_18
gem 'simplecov', :platform => :mri_19
- gem 'capybara-webkit'
+ gem 'capybara-webkit', '~> 0.6.1'
gem 'spork', '0.9.0.rc9', :platforms => :ruby
gem 'guard-spork', :platforms => :ruby
+ gem 'generator_spec'
require 'rbconfig'
@@ -89,8 +91,8 @@ end
# Gems used only for assets and not required
# in production environments by default.
group :assets do
- gem 'sass-rails'
- gem 'coffee-rails'
+ gem 'sass-rails', '~> 3.1.0'
+ gem 'coffee-rails', '~> 3.1.0'
gem 'uglifier'
end
View
141 Gemfile.lock
@@ -1,13 +1,6 @@
GIT
- remote: git://github.com/collectiveidea/awesome_nested_set.git
- revision: 99ddcfa45d038336c53ece0ca122cc89e5e73388
- specs:
- awesome_nested_set (2.0.2)
- activerecord (>= 3.0.0)
-
-GIT
remote: git://github.com/parndt/refinerycms-i18n
- revision: 9393bfcc7d27ef95802cb3920936c608501ac8a7
+ revision: 95c7082260fa821d15de6f0d543fbeea0f141c1f
specs:
refinerycms-i18n (2.0.0)
refinerycms-core (~> 2.0.0)
@@ -38,9 +31,8 @@ PATH
friendly_id_globalize3 (~> 3.2.1)
globalize3 (~> 0.2.0.beta3)
jquery-rails
- rails (~> 3.1.0)
+ rails (>= 3.1.1.rc1)
refinerycms-base (= 2.0.0)
- refinerycms-generators (= 2.0.0)
refinerycms-settings (= 2.0.0)
sass-rails (~> 3.1.0)
truncate_html (~> 0.5)
@@ -48,10 +40,9 @@ PATH
will_paginate (~> 3.0)
refinerycms-dashboard (2.0.0)
refinerycms-core (= 2.0.0)
- refinerycms-generators (2.0.0)
refinerycms-images (2.0.0)
activerecord (~> 3.1.0)
- dragonfly (~> 0.9.0)
+ dragonfly (~> 0.9.8)
rack-cache (>= 0.5.3)
refinerycms-core (= 2.0.0)
refinerycms-pages (2.0.0)
@@ -59,10 +50,10 @@ PATH
awesome_nested_set (~> 2.0)
friendly_id_globalize3 (~> 3.2.1)
refinerycms-core (= 2.0.0)
- seo_meta (>= 1.2.0.rc1)
+ seo_meta (>= 1.2.0.rc2)
refinerycms-resources (2.0.0)
activerecord (~> 3.1.0)
- dragonfly (~> 0.9.0)
+ dragonfly (~> 0.9.8)
rack-cache (>= 0.5.3)
refinerycms-core (= 2.0.0)
refinerycms-settings (2.0.0)
@@ -71,7 +62,7 @@ PATH
refinerycms-testing (2.0.0)
capybara (~> 1.0.0)
database_cleaner
- factory_girl (~> 2.0.3)
+ factory_girl_rails (~> 1.2.0)
fuubar
guard-rspec (~> 0.4.2)
json_pure
@@ -84,12 +75,12 @@ PATH
GEM
remote: http://rubygems.org/
specs:
- actionmailer (3.1.0)
- actionpack (= 3.1.0)
+ actionmailer (3.1.1.rc1)
+ actionpack (= 3.1.1.rc1)
mail (~> 2.3.0)
- actionpack (3.1.0)
- activemodel (= 3.1.0)
- activesupport (= 3.1.0)
+ actionpack (3.1.1.rc1)
+ activemodel (= 3.1.1.rc1)
+ activesupport (= 3.1.1.rc1)
builder (~> 3.0.0)
erubis (~> 2.7.0)
i18n (~> 0.6)
@@ -98,26 +89,27 @@ GEM
rack-mount (~> 0.8.2)
rack-test (~> 0.6.1)
sprockets (~> 2.0.0)
- activemodel (3.1.0)
- activesupport (= 3.1.0)
- bcrypt-ruby (~> 3.0.0)
+ activemodel (3.1.1.rc1)
+ activesupport (= 3.1.1.rc1)
builder (~> 3.0.0)
i18n (~> 0.6)
- activerecord (3.1.0)
- activemodel (= 3.1.0)
- activesupport (= 3.1.0)
+ activerecord (3.1.1.rc1)
+ activemodel (= 3.1.1.rc1)
+ activesupport (= 3.1.1.rc1)
arel (~> 2.2.1)
tzinfo (~> 0.3.29)
- activeresource (3.1.0)
- activemodel (= 3.1.0)
- activesupport (= 3.1.0)
- activesupport (3.1.0)
+ activeresource (3.1.1.rc1)
+ activemodel (= 3.1.1.rc1)
+ activesupport (= 3.1.1.rc1)
+ activesupport (3.1.1.rc1)
multi_json (~> 1.0)
acts_as_indexed (0.7.3)
addressable (2.2.6)
arel (2.2.1)
+ awesome_nested_set (2.0.2)
+ activerecord (>= 3.0.0)
babosa (0.3.5)
- bcrypt-ruby (3.0.0)
+ bcrypt-ruby (3.0.1)
builder (3.0.0)
capybara (1.0.1)
mime-types (>= 1.16)
@@ -130,25 +122,28 @@ GEM
capybara (~> 1.0.0)
childprocess (0.2.2)
ffi (~> 1.0.6)
- coffee-rails (3.1.0)
+ coffee-rails (3.1.1)
coffee-script (>= 2.2.0)
- railties (~> 3.1.0.rc1)
+ railties (~> 3.1.0)
coffee-script (2.2.0)
coffee-script-source
execjs
coffee-script-source (1.1.2)
database_cleaner (0.6.7)
- devise (1.4.4)
+ devise (1.4.6)
bcrypt-ruby (~> 3.0)
orm_adapter (~> 0.0.3)
warden (~> 1.0.3)
diff-lcs (1.1.3)
- dragonfly (0.9.5)
+ dragonfly (0.9.8)
rack
erubis (2.7.0)
- execjs (1.2.4)
+ execjs (1.2.7)
multi_json (~> 1.0)
- factory_girl (2.0.5)
+ factory_girl (2.1.0)
+ factory_girl_rails (1.2.0)
+ factory_girl (~> 2.1.0)
+ railties (>= 3.0.0)
ffi (1.0.9)
friendly_id_globalize3 (3.2.1.5)
babosa (~> 0.3.0)
@@ -156,25 +151,27 @@ GEM
rspec (~> 2.0)
rspec-instafail (~> 0.1.8)
ruby-progressbar (~> 0.0.10)
- globalize3 (0.2.0.beta3)
+ generator_spec (0.8.4)
+ rails (>= 3.0, < 4.0)
+ rspec-rails
+ globalize3 (0.2.0.beta4)
activemodel (>= 3.0.0)
activerecord (>= 3.0.0)
paper_trail (~> 2)
growl (1.0.3)
- guard (0.6.3)
+ guard (0.7.0)
thor (~> 0.14.6)
- guard-rspec (0.4.3)
+ guard-rspec (0.4.5)
guard (>= 0.4.0)
guard-spork (0.2.1)
guard (>= 0.2.2)
spork (>= 0.8.4)
hike (1.2.1)
i18n (0.6.0)
- jquery-rails (1.0.13)
+ jquery-rails (1.0.14)
railties (~> 3.0)
thor (~> 0.14)
- json_pure (1.5.4)
- spruz (~> 0.2.8)
+ json_pure (1.6.1)
launchy (2.0.5)
addressable (~> 2.2.6)
mail (2.3.0)
@@ -186,12 +183,12 @@ GEM
mysql2 (0.3.7)
nokogiri (1.5.0)
orm_adapter (0.0.5)
- paper_trail (2.3.2)
+ paper_trail (2.3.3)
rails (~> 3)
pjax-rails (0.1.4)
jquery-rails
polyglot (0.3.2)
- rack (1.3.2)
+ rack (1.3.3)
rack-cache (1.0.3)
rack (>= 0.4)
rack-mount (0.8.3)
@@ -200,17 +197,17 @@ GEM
rack
rack-test (0.6.1)
rack (>= 1.0)
- rails (3.1.0)
- actionmailer (= 3.1.0)
- actionpack (= 3.1.0)
- activerecord (= 3.1.0)
- activeresource (= 3.1.0)
- activesupport (= 3.1.0)
+ rails (3.1.1.rc1)
+ actionmailer (= 3.1.1.rc1)
+ actionpack (= 3.1.1.rc1)
+ activerecord (= 3.1.1.rc1)
+ activeresource (= 3.1.1.rc1)
+ activesupport (= 3.1.1.rc1)
bundler (~> 1.0)
- railties (= 3.1.0)
- railties (3.1.0)
- actionpack (= 3.1.0)
- activesupport (= 3.1.0)
+ railties (= 3.1.1.rc1)
+ railties (3.1.1.rc1)
+ actionpack (= 3.1.1.rc1)
+ activesupport (= 3.1.1.rc1)
rack-ssl (~> 1.3.2)
rake (>= 0.8.7)
rdoc (~> 3.4)
@@ -238,26 +235,28 @@ GEM
ruby-progressbar (0.0.10)
rubyzip (0.9.4)
sass (3.1.7)
- sass-rails (3.1.0)
+ sass-rails (3.1.2)
actionpack (~> 3.1.0)
railties (~> 3.1.0)
sass (>= 3.1.4)
- selenium-webdriver (2.5.0)
+ sprockets (~> 2.0.0)
+ tilt (~> 1.3.2)
+ selenium-webdriver (2.6.0)
childprocess (>= 0.2.1)
ffi (>= 1.0.7)
json_pure
rubyzip
- seo_meta (1.2.0.rc1)
- refinerycms-generators (~> 2.0)
- simplecov (0.4.2)
- simplecov-html (~> 0.4.4)
- simplecov-html (0.4.5)
+ seo_meta (1.2.0.rc2)
+ rails (>= 3.0.0)
+ simplecov (0.5.3)
+ multi_json (~> 1.0.3)
+ simplecov-html (~> 0.5.3)
+ simplecov-html (0.5.3)
spork (0.9.0.rc9)
sprockets (2.0.0)
hike (~> 1.2)
rack (~> 1.0)
- tilt (!= 1.3.0, ~> 1.1)
- spruz (0.2.13)
+ tilt (~> 1.1, != 1.3.0)
sqlite3 (1.3.4)
thor (0.14.6)
tilt (1.3.3)
@@ -266,12 +265,12 @@ GEM
polyglot (>= 0.3.1)
truncate_html (0.5.1)
tzinfo (0.3.29)
- uglifier (1.0.2)
+ uglifier (1.0.3)
execjs (>= 0.3.0)
multi_json (>= 1.0.2)
warden (1.0.5)
rack (>= 1.0)
- will_paginate (3.0.0)
+ will_paginate (3.0.1)
xpath (0.1.4)
nokogiri (~> 1.3)
@@ -279,14 +278,14 @@ PLATFORMS
ruby
DEPENDENCIES
- awesome_nested_set!
- capybara-webkit
- coffee-rails
+ capybara-webkit (~> 0.6.1)
+ coffee-rails (~> 3.1.0)
+ generator_spec
growl (~> 1.0.3)
guard-spork
jquery-rails
mysql2
- pjax-rails (~> 0.1.4)
+ rails (= 3.1.1.rc1)
rb-fchange (~> 0.0.5)
rb-fsevent (>= 0.3.9)
rb-notifu (~> 0.0.4)
@@ -294,7 +293,7 @@ DEPENDENCIES
refinerycms!
refinerycms-i18n (~> 2.0.0)!
refinerycms-testing (~> 2.0.0)
- sass-rails
+ sass-rails (~> 3.1.0)
simplecov
spork (= 0.9.0.rc9)
sqlite3
View
6 Guardfile
@@ -11,15 +11,13 @@ guard 'rspec', :version => 2, :spec_paths => ['authentication/spec', 'core/spec'
watch(%r{^#{engine}/spec/.+_spec\.rb$})
watch(%r{^#{engine}/app/(.+)\.rb$}) { |m| "#{engine}/spec/#{m[1]}_spec.rb" }
watch(%r{^#{engine}/lib/(.+)\.rb$}) { |m| "#{engine}/spec/lib/#{m[1]}_spec.rb" }
- watch(%r{^#{engine}/app/controllers/(.+)_(controller)\.rb$}) { |m| ["#{engine}/spec/routing/#{m[1]}_routing_spec.rb", "#{engine}/spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "#{engine}/spec/acceptance/#{m[1]}_spec.rb"] }
+ watch(%r{^#{engine}/app/controllers/(.+)_(controller)\.rb$}) { |m| ["#{engine}/spec/routing/#{m[1]}_routing_spec.rb", "#{engine}/spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "#{engine}/spec/requests/#{m[1]}_spec.rb"] }
watch(%r{^#{engine}/spec/support/(.+)\.rb$}) { "#{engine}/spec" }
watch("#{engine}/spec/spec_helper.rb") { "#{engine}/spec" }
watch("#{engine}/config/routes.rb") { "#{engine}/spec/routing" }
watch("#{engine}/app/controllers/application_controller.rb") { "#{engine}/spec/controllers" }
# Capybara request specs
- # TODO: Requests specs do not follow a convention that matches view locations so this "suggested" watch and match
- # doesn't function. Should we refactor the request_specs or babysit this file?
- # watch(%r{^#{engine}/app/views/(.+)/.*\.(erb|haml)$}) { |m| "#{engine}/spec/requests/#{m[1]}_spec.rb" }
+ watch(%r{^#{engine}/app/views/(.+)/.*\.(erb|haml)$}) { |m| "#{engine}/spec/requests/#{m[1]}_spec.rb" }
end
end
View
2  authentication/app/controllers/refinery/admin/users_controller.rb
@@ -1,6 +1,6 @@
module Refinery
module Admin
- class UsersController < ::Admin::BaseController
+ class UsersController < ::Refinery::AdminController
crudify :'refinery/user',
:order => 'username ASC',
View
2  authentication/config/locales/bg.yml
@@ -70,4 +70,4 @@ bg:
password: Парола
password_confirmation: Потвърждение на паролата
email: Е-поща
- remember_me: Запомняне данните за вход
+ remember_me: Запомняне на данните за вход
View
2  authentication/config/locales/jp.yml → authentication/config/locales/ja.yml
@@ -1,4 +1,4 @@
-jp:
+ja:
refinery:
plugins:
refinery_users:
View
10 authentication/config/routes.rb
@@ -3,8 +3,8 @@
# Add Devise necessary routes.
# For Devise routes, see: https://github.com/plataformatec/devise
scope(:module => 'refinery') do
- devise_for :'refinery/users', :class_name => "::Refinery::User", :module => 'refinery', :controllers => {
- :registrations => 'refinery/users'
+ devise_for :refinery_user, :class_name => "::Refinery::User", :path => "refinery/users", :module => 'refinery', :controllers => {
+ :registrations => 'refinery/users',
},
:skip => [:registrations],
:path_names => {
@@ -28,9 +28,7 @@
end
# Override Devise's other routes for convenience methods.
- #get 'refinery/login', :to => "sessions#new", :as => :new_user_session
- #get 'refinery/login', :to => "sessions#new", :as => :refinery_login
- #get 'refinery/logout', :to => "sessions#destroy", :as => :destroy_user_session
- #get 'refinery/logout', :to => "sessions#destroy", :as => :logout
+ get 'refinery/login', :to => "sessions#new", :as => :refinery_login
+ get 'refinery/logout', :to => "sessions#destroy", :as => :refinery_logout
end
View
4 authentication/lib/authenticated_system.rb
@@ -35,10 +35,6 @@ def refinery_user?
refinery_user_signed_in? && current_refinery_user.has_role?(:refinery)
end
- def current_user
- current_refinery_user
- end
-
protected :store_location, :redirect_back_or_default, :refinery_user?
def self.included(base)
View
2  authentication/lib/gemspec.rb
@@ -27,7 +27,7 @@
s.files = [
'#{%w( **/{*,.rspec,.gitignore,.yardopts} ).map { |file| Pathname.glob(gempath.join(file)) }.flatten.reject{|f|
- !f.exist? or f.to_s =~ /\.gem$/ or (f.directory? and f.children.empty?)
+ !f.exist? or f.to_s =~ /(\.(gem|rbc)|spec\/lib\/tmp(\/.*)?)$/ or (f.directory? and f.children.empty?)
}.map{|d| d.relative_path_from(gempath)}.uniq.sort.join("',\n '")}'
]
end
View
13 authentication/refinerycms-authentication.gemspec
@@ -6,7 +6,7 @@ Gem::Specification.new do |s|
s.version = %q{2.0.0}
s.summary = %q{Authentication engine for Refinery CMS}
s.description = %q{The default authentication engine for Refinery CMS}
- s.date = %q{2011-09-03}
+ s.date = %q{2011-09-15}
s.email = %q{info@refinerycms.com}
s.homepage = %q{http://refinerycms.com}
s.rubyforge_project = %q{refinerycms}
@@ -77,7 +77,7 @@ Gem::Specification.new do |s|
'config/locales/fi.yml',
'config/locales/fr.yml',
'config/locales/it.yml',
- 'config/locales/jp.yml',
+ 'config/locales/ja.yml',
'config/locales/ko.yml',
'config/locales/lolcat.yml',
'config/locales/lt.yml',
@@ -119,9 +119,10 @@ Gem::Specification.new do |s|
'spec/models/refinery',
'spec/models/refinery/user_spec.rb',
'spec/requests',
- 'spec/requests/lost_password_spec.rb',
- 'spec/requests/manage_users_spec.rb',
- 'spec/requests/sign_in_spec.rb',
- 'spec/requests/sign_up_spec.rb'
+ 'spec/requests/refinery',
+ 'spec/requests/refinery/admin',
+ 'spec/requests/refinery/admin/users_spec.rb',
+ 'spec/requests/refinery/passwords_spec.rb',
+ 'spec/requests/refinery/sessions_spec.rb'
]
end
View
0  authentication/spec/requests/manage_users_spec.rb → ...cation/spec/requests/refinery/admin/users_spec.rb
File renamed without changes
View
0  authentication/spec/requests/lost_password_spec.rb → ...tication/spec/requests/refinery/passwords_spec.rb
File renamed without changes
View
68 authentication/spec/requests/refinery/sessions_spec.rb
@@ -0,0 +1,68 @@
+require "spec_helper"
+
+module Refinery
+ describe "sign in" do
+ before(:each) do
+ FactoryGirl.create(:refinery_user, :username => "ugisozols",
+ :password => "123456",
+ :password_confirmation => "123456")
+ visit new_refinery_user_session_path
+ end
+
+ it "shows login form" do
+ page.should have_content("Hello! Please sign in.")
+ page.should have_content("I forgot my password")
+ page.should have_selector("a[href='/refinery/users/password/new']")
+ end
+
+ context "when supplied data is valid" do
+ it "logs in user" do
+ fill_in "Login", :with => "ugisozols"
+ fill_in "Password", :with => "123456"
+ click_button "Sign in"
+ page.should have_content("Signed in successfully.")
+ end
+ end
+
+ context "when supplied data is not valid" do
+ it "shows flash error" do
+ fill_in "Login", :with => "Hmmm"
+ fill_in "Password", :with => "Hmmm"
+ click_button "Sign in"
+ page.should have_content("Sorry, your login or password was incorrect.")
+ end
+ end
+ end
+
+ describe 'user sign up' do
+ before(:each) do
+ User.delete_all
+ end
+
+ describe 'when there are no users' do
+ it 'invites us to create a user' do
+ visit root_url
+ page.should have_content("There are no users yet, so we'll set you up first")
+ end
+
+ it 'allows user creation' do
+ # Verify that we can access the sign up page.
+ visit root_url
+ click_link "Continue..."
+ page.should have_content("Fill out your details below so that we can get you started.")
+
+ # Fill in user details.
+ fill_in 'Username', :with => 'rspec'
+ fill_in 'Email', :with => 'rspec@example.com'
+ fill_in 'Password', :with => 'spectacular'
+ fill_in 'Password confirmation', :with => 'spectacular'
+
+ # Sign up and verify!
+ click_button "Sign up"
+ page.should have_content("Welcome to Refinery, rspec.")
+ page.should have_content("Latest Activity")
+ User.count.should == 1
+ end
+ end
+ end
+end
View
34 authentication/spec/requests/sign_in_spec.rb
@@ -1,34 +0,0 @@
-require "spec_helper"
-
-describe "sign in" do
- before(:each) do
- FactoryGirl.create(:refinery_user, :username => "ugisozols",
- :password => "123456",
- :password_confirmation => "123456")
- visit new_refinery_user_session_path
- end
-
- it "shows login form" do
- page.should have_content("Hello! Please sign in.")
- page.should have_content("I forgot my password")
- page.should have_selector("a[href='/refinery/users/password/new']")
- end
-
- context "when supplied data is valid" do
- it "logs in user" do
- fill_in "Login", :with => "ugisozols"
- fill_in "Password", :with => "123456"
- click_button "Sign in"
- page.should have_content("Signed in successfully.")
- end
- end
-
- context "when supplied data is not valid" do
- it "shows flash error" do
- fill_in "Login", :with => "Hmmm"
- fill_in "Password", :with => "Hmmm"
- click_button "Sign in"
- page.should have_content("Sorry, your login or password was incorrect.")
- end
- end
-end
View
38 authentication/spec/requests/sign_up_spec.rb
@@ -1,38 +0,0 @@
-require 'spec_helper'
-
-module Refinery
- module Users
-
- describe 'user sign up' do
- before(:each) do
- User.delete_all
- end
-
- describe 'when there are no users' do
- it 'invites us to create a user' do
- visit root_url
- page.should have_content("There are no users yet, so we'll set you up first")
- end
-
- it 'allows user creation' do
- # Verify that we can access the sign up page.
- visit root_url
- click_link "Continue..."
- page.should have_content("Fill out your details below so that we can get you started.")
-
- # Fill in user details.
- fill_in 'Username', :with => 'rspec'
- fill_in 'Email', :with => 'rspec@example.com'
- fill_in 'Password', :with => 'spectacular'
- fill_in 'Password confirmation', :with => 'spectacular'
-
- # Sign up and verify!
- click_button "Sign up"
- page.should have_content("Welcome to Refinery, rspec.")
- page.should have_content("Latest Activity")
- User.count.should == 1
- end
- end
- end
- end
-end
View
17 autotest/autotest.rb
@@ -1,17 +0,0 @@
-### uncomment any of the following requires applicable for your system
-### and then copy this to .autotest if you are using the ZenTest autotest.
-# require "autotest/restart"
-# require "test_notifier/runner/autotest"
-# require "redgreen/autotest"
-# require "autotest/timestamp"
-
-# adds exceptions from .gitignore file, please modify exceptions there!
-imported_exceptions = IO.readlines('.gitignore').inject([]) do |acc, line|
- acc << line.strip if line.to_s[0] != '#' && line.strip != ''; acc
-end
-
-Autotest.add_hook :initialize do |autotest|
- imported_exceptions.each do |exception|
- autotest.add_exception(exception)
- end
-end
View
2  autotest/discover.rb
@@ -1,2 +0,0 @@
-Autotest.add_discovery { "rails" }
-Autotest.add_discovery { "rspec2" }
View
2  base/lib/gemspec.rb
@@ -23,7 +23,7 @@
s.files = [
'#{%w( **/{*,.rspec,.gitignore,.yardopts} ).map { |file| Pathname.glob(gempath.join(file)) }.flatten.reject{|f|
- !f.exist? or f.to_s =~ /\.gem$/ or (f.directory? and f.children.empty?)
+ !f.exist? or f.to_s =~ /(\.(gem|rbc)|spec\/lib\/tmp(\/.*)?)$/ or (f.directory? and f.children.empty?)
}.map{|d| d.relative_path_from(gempath)}.uniq.sort.join("',\n '")}'
]
end
View
2  base/refinerycms-base.gemspec
@@ -6,7 +6,7 @@ Gem::Specification.new do |s|
s.version = %q{2.0.0}
s.summary = %q{Base engine for Refinery CMS}
s.description = %q{This provides a base for Refinery CMS which handles things like settings on the Refinery namespace.}
- s.date = %q{2011-09-03}
+ s.date = %q{2011-09-15}
s.email = %q{info@refinerycms.com}
s.homepage = %q{http://refinerycms.com}
s.rubyforge_project = %q{refinerycms}
View
2  bin/refinerycms
@@ -271,7 +271,7 @@ module Refinery
find_and_replace('config/database.yml', %r{password:}, '#password:')
else
find_and_replace('config/database.yml', %r{username:.*}, "username: #{@options[:database][:username]}")
- find_and_replace('config/database.yml', %r{password:.*}, "password: #{@options[:database][:password]}")
+ find_and_replace('config/database.yml', %r{password:.*}, "password: \"#{@options[:database][:password]}\"")
end
puts "\n---------"
View
121 core/app/assets/javascripts/refinery/admin.js
@@ -88,95 +88,6 @@ $.fn.applyMinimumHeightFromChildren = function() {
return $(this);
}
-init_ajaxy_pagination = function(){
- if(typeof(window.history.pushState) == 'function' && $('.pagination_container').length > 0){
- var pagination_pages = $('.pagination_container .pagination a');
- pagination_pages.live('click',function(e) {
- navigate_to = this.href.replace(/(\&(amp\;)?)?from_page\=\d+/, '');
- navigate_to += '&from_page=' + $('.current').text();
- navigate_to = navigate_to.replace('?&', '?').replace(/\s+/, '');
-
- var current_state_location = (location.pathname + location.href.split(location.pathname)[1]);
- window.history.pushState({
- path: current_state_location
- }, '', navigate_to);
-
- $(document).paginateTo(navigate_to);
-
- e.preventDefault();
- });
- }
- $('.pagination_container').applyMinimumHeightFromChildren();
- if ($('.pagination_container').find('.pagination').length == 0) {
- $('.pagination_frame').css('top', '0px');
- }
-}
-
-init_interface = function() {
- if (parent && parent.document.location.href != document.location.href) {
- $('body#dialog_container.dialog').addClass('iframed');
- }
- $('input:submit:not(.button)').addClass('button');
-
- $('#recent_activity li a, #recent_inquiries li a').each(function(i, a) {
- $(this).textTruncate({
- width: $(this).width()
- , tooltip: false
- });
- });
-
- // make sure that users can tab to wymeditor fields and add an overlay while loading.
- $('textarea.wymeditor').each(function() {
- textarea = $(this);
- if ((instance = WYMeditor.INSTANCES[$((textarea.next('.wym_box').find('iframe').attr('id')||'').split('_')).last().get(0)]) != null) {
- if ((next = textarea.parent().next()) != null && next.length > 0) {
- next.find('input, textarea').keydown($.proxy(function(e) {
- shiftHeld = e.shiftKey;
- if (shiftHeld && e.keyCode == $.ui.keyCode.TAB) {
- this._iframe.contentWindow.focus();
- e.preventDefault();
- }
- }, instance)).keyup(function(e) {
- shiftHeld = false;
- });
- }
- if ((prev = textarea.parent().prev()) != null && prev.length > 0) {
- prev.find('input, textarea').keydown($.proxy(function(e) {
- if (e.keyCode == $.ui.keyCode.TAB) {
- this._iframe.contentWindow.focus();
- e.preventDefault();
- }
- }, instance));
- }
- }
- });
-
- $('#current_locale li a').click(function(e) {
- $('#current_locale li a span').each(function(span){
- $(this).css('display', $(this).css('display') == 'none' ? '' : 'none');
- });
- $('#other_locales').animate({opacity: 'toggle', height: 'toggle'}, 250);
- $('html,body').animate({
- scrollTop: $('#other_locales').parent().offset().top
- }, 250);
- e.preventDefault();
- });
-
- $('#existing_image img').load(function(){
- $('form.edit_image .form-actions').css({
- 'margin-top': ($('#existing_image').height() - $('form.edit_image').height() + 8)
- });
- });
-
- $('.form-actions .form-actions-left input:submit#submit_button').click(function(e) {
- $("<img src='/assets/refinery/ajax-loader.gif' width='16' height='16' class='save-loader' />").appendTo($(this).parent());
- });
-
- $('a.suppress').live('click', function(e){
- e.preventDefault();
- });
-};
-
init_modal_dialogs = function(){
$('a[href*="dialog=true"]').not('#dialog_container a').each(function(i, anchor) {
$(anchor).data({
@@ -211,22 +122,20 @@ init_modal_dialogs = function(){
});
};
-init_submit_continue = function(){
- $('#submit_continue_button').click(submit_and_continue);
-
- $('form').change(function(e) {
- $(this).attr('data-changes-made', true);
- });
+trigger_reordering = function(e, enable) {
+ e.preventDefault();
+ $('#menu_reorder, #menu_reorder_done').toggle();
+ $('#site_bar, #content').fadeTo(500, enable ? 0.35 : 1);
- if ((continue_editing_button = $('#continue_editing')).length > 0 && continue_editing_button.attr('rel') != 'no-prompt') {
- $('#editor_switch a').click(function(e) {
- if ($('form[data-changes-made]').length > 0) {
- if (!confirm(I18n.t('js.admin.confirm_changes'))) {
- e.preventDefault();
- }
- }
+ if(enable) {
+ $menu.find('.tab a').click(function(ev){
+ ev.preventDefault();
});
+ } else {
+ $menu.find('.tab a').unbind('click');
}
+
+ $menu.sortable(enable ? 'enable' : 'disable');
};
submit_and_continue = function(e, redirect_to) {
@@ -298,7 +207,7 @@ init_tooltips = function(args){
}
tooltip.css({
- 'top': $(this).offset().top - tooltip.outerHeight() - 2
+ 'top': $(this).offset().top - tooltip.outerHeight() - 10
});
nib.css({
@@ -366,8 +275,8 @@ var link_tester = {
, init: function(test_url, test_email) {
if (!this.initialised) {
- this.test_url = test_url;
- this.test_email = test_email;
+ this.test_url = test_url;
+ this.test_email = test_email;
this.initialised = true;
}
},
@@ -390,7 +299,7 @@ var link_tester = {
validate_textbox: function(validation_method, textbox_id, callback) {
var icon = '';
- var loader_img = $("<img id='" + textbox_id.replace('#','') + "_test_loader' src='/assets/refinery/ajax-loader.gif' alt='Testing...' style='display: none;'/>");
+ var loader_img = $("<img id='" + textbox_id.replace('#','') + "_test_loader' src='/assets/refinery/ajax-loader.gif' alt='Testing...' style='display: none;'/>");
var result_span = $("<span id='" + textbox_id.replace('#','') + "_test_result'></span>");
loader_img.insertAfter($(textbox_id));
View
13 core/app/assets/javascripts/refinery/ajaxy_pagination.js.coffee
@@ -0,0 +1,13 @@
+@init_ajaxy_pagination = ->
+ if typeof (window.history.pushState) == "function" and $(".pagination_container").length > 0
+ pagination_pages = $(".pagination_container .pagination a")
+ pagination_pages.live "click", (e) ->
+ navigate_to = @href.replace(/(\&(amp\;)?)?from_page\=\d+/, "")
+ navigate_to += "&from_page=" + $(".current").text()
+ navigate_to = navigate_to.replace("?&", "?").replace(/\s+/, "")
+ current_state_location = (location.pathname + location.href.split(location.pathname)[1])
+ window.history.pushState path: current_state_location, "", navigate_to
+ $(document).paginateTo navigate_to
+ e.preventDefault()
+ $(".pagination_container").applyMinimumHeightFromChildren()
+ $(".pagination_frame").css "top", "0px" if $(".pagination_container").find(".pagination").length == 0
View
64 core/app/assets/javascripts/refinery/interface.js.coffee
@@ -0,0 +1,64 @@
+@init_interface = ->
+ $("body#dialog_container.dialog").addClass "iframed" if parent and parent.document.location.href != document.location.href
+ $("input:submit:not(.button)").addClass "button"
+ unless $.browser.msie
+ $("#page_container, .wym_box").corner "5px bottom"
+ $(".wym_box").corner "5px tr"
+ $(".field > .wym_box").corner "5px tl"
+ $(".wym_iframe iframe").corner "2px"
+ $(".form-actions:not(\".form-actions-dialog\")").corner "5px"
+ $("#recent_activity li a, #recent_inquiries li a").each (i, a) ->
+ $(this).textTruncate
+ width: $(this).width()
+ tooltip: false
+
+ $("textarea.wymeditor").each ->
+ textarea = $(this)
+ if (instance = WYMeditor.INSTANCES[$((textarea.next(".wym_box").find("iframe").attr("id") or "").split("_")).last().get(0)])?
+ if (next = textarea.parent().next())? and next.length > 0
+ next.find("input, textarea").keydown($.proxy((e) ->
+ shiftHeld = e.shiftKey
+ if shiftHeld and e.keyCode == $.ui.keyCode.TAB
+ @_iframe.contentWindow.focus()
+ e.preventDefault()
+ , instance)).keyup (e) ->
+ shiftHeld = false
+ if (prev = textarea.parent().prev())? and prev.length > 0
+ prev.find("input, textarea").keydown $.proxy((e) ->
+ if e.keyCode == $.ui.keyCode.TAB
+ @_iframe.contentWindow.focus()
+ e.preventDefault()
+ , instance)
+
+ if ($menu = $("#menu")).length > 0
+ $menu.jcarousel
+ vertical: false
+ scroll: 1
+ buttonNextHTML: "<img src='/assets/refinery/carousel-right.png' alt='down' height='15' width='10' />"
+ buttonPrevHTML: "<img src='/assets/refinery/carousel-left.png' alt='up' height='15' width='10' />"
+ listTag: $menu.get(0).tagName.toLowerCase()
+ itemTag: $menu.children(":first").get(0).tagName.toLowerCase()
+
+ if $menu.outerWidth() < $("#page_container").outerWidth()
+ $("#page_container:not('.login #page_container')").corner "5px tr"
+ else
+ $("#page_container:not('.login #page_container')").uncorner()
+ $("#current_locale li a").click (e) ->
+ $("#current_locale li a span").each (span) ->
+ $(this).css "display", (if $(this).css("display") == "none" then "" else "none")
+
+ $("#other_locales").animate
+ opacity: "toggle"
+ height: "toggle"
+ , 250
+ $("html,body").animate scrollTop: $("#other_locales").parent().offset().top, 250
+ e.preventDefault()
+
+ $("#existing_image img").load ->
+ $("form.edit_image .form-actions").css "margin-top": ($("#existing_image").height() - $("form.edit_image").height() + 8)
+
+ $(".form-actions .form-actions-left input:submit#submit_button").click (e) ->
+ $("<img src='/assets/refinery/ajax-loader.gif' width='16' height='16' class='save-loader' />").appendTo $(this).parent()
+
+ $("a.suppress").live "click", (e) ->
+ e.preventDefault()
View
142 core/app/assets/javascripts/refinery/modal_dialogs.js
@@ -0,0 +1,142 @@
+init_modal_dialogs = function(){
+ $('a[href*="dialog=true"]').not('#dialog_container a').each(function(i, anchor) {
+ $(anchor).data({
+ 'dialog-width': parseInt($($(anchor).attr('href').match("width=([0-9]*)")).last().get(0), 10)||928
+ , 'dialog-height': parseInt($($(anchor).attr('href').match("height=([0-9]*)")).last().get(0), 10)||473
+ , 'dialog-title': ($(anchor).attr('title') || $(anchor).attr('name') || $(anchor).html() || null)
+ }).attr('href', $(anchor).attr('href').replace(/(\&(amp\;)?)?dialog\=true/, '')
+ .replace(/(\&(amp\;)?)?width\=\d+/, '')
+ .replace(/(\&(amp\;)?)?height\=\d+/, '')
+ .replace(/(\?&(amp\;)?)/, '?')
+ .replace(/\?$/, ''))
+ .click(function(e){
+ $anchor = $(this);
+ iframe_src = (iframe_src = $anchor.attr('href'))
+ + (iframe_src.indexOf('?') > -1 ? '&' : '?')
+ + 'app_dialog=true&dialog=true';
+
+ iframe = $("<iframe id='dialog_iframe' frameborder='0' marginheight='0' marginwidth='0' border='0'></iframe>");
+ if(!$.browser.msie) { iframe.corner('8px'); }
+ iframe.dialog({
+ title: $anchor.data('dialog-title')
+ , modal: true
+ , resizable: false
+ , autoOpen: true
+ , width: $anchor.data('dialog-width')
+ , height: $anchor.data('dialog-height')
+ , open: onOpenDialog
+ , close: onCloseDialog
+ });
+
+ iframe.attr('src', iframe_src);
+ e.preventDefault();
+ });
+ });
+};
+
+init_sortable_menu = function(){
+ var $menu = $('#menu');
+
+ if($menu.length === 0){return;}
+
+ $menu.sortable({
+ axis: 'x',
+ cursor: 'crosshair',
+ connectWith: '.nested',
+ update: function(){
+ $.post('/refinery/update_menu_positions', $menu.sortable('serialize', {
+ key: 'menu[]'
+ , expression: /plugin_([\w]*)$/
+ }));
+ }
+ }).tabs();
+ //Initial status disabled
+ $menu.sortable('disable');
+
+ $menu.find('#menu_reorder').click(function(e){
+ trigger_reordering(e, true);
+ });
+
+ $menu.find('#menu_reorder_done').click(function(e){
+ trigger_reordering(e, false);
+ });
+
+ $menu.find('> a').corner('top 5px');
+};
+
+trigger_reordering = function(e, enable) {
+ e.preventDefault();
+ $('#menu_reorder, #menu_reorder_done').toggle();
+ $('#site_bar, #content').fadeTo(500, enable ? 0.35 : 1);
+
+ if(enable) {
+ $menu.find('.tab a').click(function(ev){
+ ev.preventDefault();
+ });
+ } else {
+ $menu.find('.tab a').unbind('click');
+ }
+
+ $menu.sortable(enable ? 'enable' : 'disable');
+};
+
+init_submit_continue = function(){
+ $('#submit_continue_button').click(submit_and_continue);
+
+ $('form').change(function(e) {
+ $(this).attr('data-changes-made', true);
+ });
+
+ if ((continue_editing_button = $('#continue_editing')).length > 0 && continue_editing_button.attr('rel') != 'no-prompt') {
+ $('#editor_switch a').click(function(e) {
+ if ($('form[data-changes-made]').length > 0) {
+ if (!confirm(I18n.t('js.admin.confirm_changes'))) {
+ e.preventDefault();
+ }
+ }
+ });
+ }
+};
+
+submit_and_continue = function(e, redirect_to) {
+ // ensure wymeditors are up to date.
+ if ($(this).hasClass('wymupdate')) {
+ $.each(WYMeditor.INSTANCES, function(index, wym)
+ {
+ wym.update();
+ });
+ }
+
+ $('#continue_editing').val(true);
+ $('#flash').fadeOut(250);
+
+ $('.fieldWithErrors').removeClass('fieldWithErrors').addClass('field');
+ $('#flash_container .errorExplanation').remove();
+
+ $.post($('#continue_editing').get(0).form.action, $($('#continue_editing').get(0).form).serialize(), function(data) {
+ if (($flash_container = $('#flash_container')).length > 0) {
+ $flash_container.html(data);
+
+ $('#flash').css({'width': 'auto', 'visibility': null}).fadeIn(550);
+
+ $('.errorExplanation').not($('#flash_container .errorExplanation')).remove();
+
+ if ((error_fields = $('#fieldsWithErrors').val()) != null) {
+ $.each(error_fields.split(','), function() {
+ $("#" + this).wrap("<div class='fieldWithErrors' />");
+ });
+ } else if (redirect_to) {
+ window.location = redirect_to;
+ }
+
+ $('.fieldWithErrors:first :input:first').focus();
+
+ $('#continue_editing').val(false);
+
+ init_flash_messages();
+ }
+ });
+
+ e.preventDefault();
+};
+
View
32 core/app/assets/javascripts/refinery/refinery.js
@@ -1,15 +1,21 @@
/*
- = require jquery
- = require jquery_ujs
- = require ../modernizr-min
- = require ./i18n
- = require ../jquery-ui-custom-min
- = require ../jquery/jquery.textTruncate
- = require ../jquery/jquery.html5-placeholder-shim
- = require ../jquery/jquery.timers
- = require ../jquery/jquery.pjax
- = require ../admin
- = require ./core
- = require ./admin
- = require ./submenu
+ *= require jquery
+ *= require jquery_ujs
+ *= require ../modernizr-min
+ *= require ./i18n
+ *= require ../jquery-ui-custom-min
+ *= require ../jquery/jquery.corner
+ *= require ../jquery/jquery.textTruncate
+ *= require ../jquery/jquery.html5-placeholder-shim
+ *= require ../jquery/jquery.timers
+ *= require ../jquery/jquery.jcarousel
+ *= require ../admin
+ *= require ./core
+ *= require ./site_bar
+ *= require ./admin
+ *= require ./submenu
+ *= require ./interface
+ *= require ./sortable_menu
+ *= require ./submit_continue
+ *= require ./ajaxy_pagination
*/
View
21 core/app/assets/javascripts/refinery/sortable_menu.js.coffee
@@ -0,0 +1,21 @@
+@init_sortable_menu = ->
+ $menu = $("#menu")
+ return if $menu.length == 0
+ $menu.sortable(
+ axis: "x"
+ cursor: "crosshair"
+ connectWith: ".nested"
+ update: ->
+ $.post "/refinery/update_menu_positions", $menu.sortable("serialize",
+ key: "menu[]"
+ expression: /plugin_([\w]*)$/
+ )
+ ).tabs()
+ $menu.sortable "disable"
+ $menu.find("#menu_reorder").click (e) ->
+ trigger_reordering e, true
+
+ $menu.find("#menu_reorder_done").click (e) ->
+ trigger_reordering e, false
+
+ $menu.find("> a").corner "top 5px"
View
8 core/app/assets/javascripts/refinery/submit_continue.js.coffee
@@ -0,0 +1,8 @@
+@init_submit_continue = ->
+ $("#submit_continue_button").click submit_and_continue
+ $("form").change (e) ->
+ $(this).attr "data-changes-made", true
+
+ if (continue_editing_button = $("#continue_editing")).length > 0 and continue_editing_button.attr("rel") != "no-prompt"
+ $("#editor_switch a").click (e) ->
+ e.preventDefault() unless confirm(I18n.t("js.admin.confirm_changes")) if $("form[data-changes-made]").length > 0
View
19 core/app/assets/javascripts/wymeditor/jquery.refinery.wymeditor.js
@@ -1182,11 +1182,14 @@ WYMeditor.editor.prototype.switchTo = function(selectionOrNode,sType) {
// we have a node.
var html = $(selectionOrNode).html();
var newNode = this._doc.createElement(sType);
+ var klass = $(selectionOrNode).attr('class');
// copy across the css class names.
- $.each($(selectionOrNode).attr('class').split(" "), function(index, className) {
- $(newNode).addClass(className);
- });
+ if(typeof klass !== 'undefined'){
+ $.each($(selectionOrNode).attr('class').split(" "), function(index, className) {
+ $(newNode).addClass(className);
+ });
+ }
selectionOrNode.parentNode.replaceChild(newNode,selectionOrNode);
@@ -1394,6 +1397,7 @@ WYMeditor.editor.prototype.dialog = function( dialogType ) {
if (!wym._selected_image) {
parent_node._id_before_replaceable = parent_node.id;
parent_node.id = '' + this._current_unique_stamp;
+ $(parent_node).attr("_id_before_replaceable", parent_node._id_before_replaceable);
}
if (dialogType != WYMeditor.DIALOG_PASTE && dialogType != WYMeditor.DIALOG_TABLE) {
@@ -1935,9 +1939,12 @@ WYMeditor.editor.prototype.close_dialog = function(e, cancelled) {
if ((span = $(this._doc.body).find('span#' + this._current_unique_stamp)).length > 0) {
span.parent().html(span.parent().html().replace(new RegExp(["<span(.+?)", span.attr('id'), "(.+?)<\/span>"].join("")), span.html()));
}
- (remove_id = $(this._doc.body).find('#' + this._current_unique_stamp))
- .attr('id', (remove_id.attr('_id_before_replaceable') || ""))
- .replaceWith(remove_id.html());
+ // https://github.com/resolve/refinerycms/issues/888
+ if (node = $(this._doc.body).find('#' + this._current_unique_stamp)) {
+ node.attr("id", (node.attr('_id_before_replaceable') || ""));
+ node.removeAttr("_id_before_replaceable");
+ }
+
if (this._undo_on_cancel == true) {
this._exec("undo");
}
View
57 core/app/assets/javascripts/wymeditor/lang/bg.js
@@ -0,0 +1,57 @@
+WYMeditor.STRINGS['bg'] = {
+ Strong: 'Получер',
+ Bold: 'Получер',
+ Emphasis: 'Курсив',
+ Superscript: 'Горен индекс',
+ Subscript: 'Долен индекс',
+ Ordered_List: 'Подреден списък',
+ Unordered_List: 'Списък',
+ Indent: 'Блок навътре',
+ Outdent: 'Блок навън',
+ Undo: 'Отмяна',
+ Redo: 'Повторение',
+ Link: 'Връзка',
+ Unlink: 'Премахване на връзка',
+ Image: 'Изображение',
+ Table: 'Таблица',
+ HTML: 'HTML',
+ Paragraph: 'Параграф',
+ Heading_1: 'Заглавие 1',
+ Heading_2: 'Заглавие 2',
+ Heading_3: 'Заглавие 3',
+ Heading_4: 'Заглавие 4',
+ Heading_5: 'Заглавие 5',
+ Heading_6: 'Заглавие 6',
+ Preformatted: 'Форматиран предварително',
+ Blockquote: 'Цитат',
+ Table_Header: 'Заглавие на таблицата',
+ URL: 'Уеб адрес',
+ Title: 'Заглавие',
+ Alternative_Text: 'Алтернативен текст',
+ Caption: 'Заглавие',
+ Summary: 'Общо',
+ Number_Of_Rows: 'Брой редове',
+ Number_Of_Cols: 'Брой колони',
+ Insert: 'Вмъкване',
+ Submit: 'Изпращане',
+ Cancel: 'Отказ',
+ Choose: 'Избор',
+ Preview: 'Преглед',
+ Paste_From_Word: 'Вмъкнете Вашия текст по-долу',
+ Tools: 'Инструменти',
+ Containers: 'Контейнери',
+ Classes: 'Класове',
+ Status: 'Статус',
+ Source_Code: 'Изходен код',
+ Text_Align: 'На текст',
+ Image_Align: 'На изображение',
+ Font_Size: 'На шрифт',
+ Left: 'Отляво',
+ Right: 'Отдясно',
+ Center: 'Центрирано',
+ Justify: 'Двустранно',
+ Small: 'Малък',
+ Normal: 'Нормален',
+ Large: 'Голям',
+ Apply_Style: 'Стил'
+};
View
2  core/app/assets/javascripts/wymeditor/lang/jp.js → core/app/assets/javascripts/wymeditor/lang/ja.js
@@ -1,4 +1,4 @@
-WYMeditor.STRINGS['jp'] = {
+WYMeditor.STRINGS['ja'] = {
Strong: '強調',
Bold: '太字',
Emphasis: '斜体字',
View
17 core/app/assets/javascripts/wymeditor/lang/ru.js
@@ -4,7 +4,7 @@ WYMeditor.STRINGS['ru'] = {
Superscript: 'Надстрочный',
Subscript: 'Подстрочный',
Ordered_List: 'Нумерованый список',
- Unordered_List: 'Ненумерованый список',
+ Unordered_List: 'Список',
Indent: 'Увеличить отступ',
Outdent: 'Уменьшить отступ',
Undo: 'Отменить',
@@ -13,7 +13,7 @@ WYMeditor.STRINGS['ru'] = {
Unlink: 'Удалить ссылку',
Image: 'Изображение',
Table: 'Таблица',
- HTML: 'Править HTML',
+ HTML: 'HTML',
Paragraph: 'Параграф',
Heading_1: 'Заголовок 1',
Heading_2: 'Заголовок 2',
@@ -40,6 +40,17 @@ WYMeditor.STRINGS['ru'] = {
Containers: 'Контейнеры',
Classes: 'Классы',
Status: 'Статус',
- Source_Code: 'Исходный код'
+ Source_Code: 'Исходный код',
+ Text_Align: 'Выровнять текст',
+ Image_Align: 'Выровнять изображение',
+ Font_Size: 'Размер шрифта',
+ Left: 'По левому краю',
+ Right: 'По правому краю',
+ Center: 'По центру',
+ Justify: 'По ширине',
+ Small: 'Маленький',
+ Normal: 'Нормальный',
+ Large: 'Большой',
+ Apply_Style: 'Стиль'
};
View
1,545 core/app/assets/stylesheets/refinery/refinery.css.scss
@@ -1,34 +1,1537 @@
-/* base styles for the Refinery backend look and feel */
+/*==================================
+= Mixins
+==================================*/
+@mixin rounded($radius) {
+ border-radius: $radius;
+ -moz-border-radius: $radius;
+ -webkit-border-radius: $radius;
+}
+@mixin top-rounded($radius) {
+ border-radius-top: $radius;
+ -moz-border-radius-topleft: $radius;
+ -moz-border-radius-topright: $radius;
+ -webkit-border-top-left-radius: $radius;
+ -webkit-border-top-right-radius: $radius;
+}
+@mixin bottom-rounded($radius) {
+ border-radius-bottom: $radius;
+ -moz-border-radius-bottomleft: $radius;
+ -moz-border-radius-bottomright: $radius;
+ -webkit-border-bottom-left-radius: $radius;
+ -webkit-border-bottom-right-radius: $radius;
+}
-body {
- font-family: Arial, sans-serif;
+* {
+ color: #41403C;
+ font-family: Arial;
font-size: 13px;
+}
+p {
+ font-size: 14px;
+ line-height: 18px;
+}
+html {
+ min-height: 100%;
+}
+body {
+ min-height: 100%;
+ margin: 0;
+ padding: 0;
+ font-size: 10px;
+ font-family: Verdana;
+ line-height: 1.5em;
+ background: #303030 image_url('refinery/page_bg.png') repeat;
+}
+acronym {
+ cursor: help;
+}
+label[for] {
+ cursor: pointer;
+}
+#page_container, #site_bar_content, header {
+ margin: 0px auto 10px auto;
+ text-align: left;
+ width: 990px;
+}
+#page_container {
+ width: 960px;
+ padding: 30px 15px;
+}
+#site_bar_content {
+ margin-bottom: 0px;
+}
+#content .field, #content .form-actions {
+ width: 100%;
+ position: relative;
+}
+#dialog_container #content .field, .dialog_container .field {
+ width: auto;
+ margin:5px 0;
+}
+input.widest, textarea.widest {
+ width: 99%;
+}
+select.widest {
+ max-width: 99%;
+}
+#records {
+ float: left;
+ width: 67.7%;
+}
+#actions {
+ float: right;
+ width: 30.7%;
+ padding-left: 15px;
+ padding-top: 0px;
+ ul {
+ margin: 0px 0px 18px 0px;
+ padding: 0;
+ list-style: none;
+ &#current_locale {
+ margin-top: 30px;
+ }
+ }
+ li {
+ margin-top: 10px;
+ a {
+ background-color: #dbedff;
+ background-position: 12px;
+ background-repeat: no-repeat;
+ border: 1px solid #65C3F7;
+ display: block;
+ padding: 9px 12px 9px 36px;
+ &:hover {
+ background-color: #cae7fb;
+ }
+ &:active {
+ background-color: #22A7F2;
+ color: white;
+ }
+ img {
+ vertical-align: bottom;
+ border: 0;
+ }
+ }
+ &.selected a {
+ background-color: #22A7F2;
+ color: white;
+ }
+ }
+}
+#sort-status {
+ padding: 5px 5px 5px 0px;
+}
+hr {
+ border: 0;
+ border-top: 1px solid #484743;
+}
+.actions {
+ img {
+ border: none;
+ }
+ a, a:hover {
+ border: none;
+ text-decoration: none;
+ }
+}
+.errorExplanation {
+ background: 7px 10px no-repeat image_url('refinery/icons/cancel.png') #FFB1B1;
+ padding: 0px 5px 5px 30px;
+ font-weight: bold;
+ margin-top: 5px;
+ margin-bottom: 5px;
+ border: 1px solid red;
+ h2 {
+ color: red;
+ text-transform: none;
+ display: none;
+ }
+ p {
+ font-weight: normal;
+ }
+}
+.fieldWithErrors input, .fieldWithErrors textarea {
+ border: 1px solid red !important;
+ background-color: #FFECF0 !important;
+}
+.fieldWithErrors iframe, .fieldWithErrors .wym_box {
+ border-color: red !important;
+}
+#message, .flash {
+ padding: 8px 8px 8px 30px;
+ margin-bottom: 15px;
+ position: relative;
+}
+.flash_notice, .flash_message {
+ border: 1px solid #00A017;
+ color: #00A017;
+ background: 7px 7px no-repeat image_url('refinery/icons/accept.png') #E0F5E0;
+}
+.flash_notice, .flash_notice * {
+ color: #00A017;
+}
+.flash_error, .flash_alert {
+ border: 1px solid #A00027;
+ color: #A00027;
+ background: 7px 7px no-repeat image_url('refinery/icons/cancel.png') #FFB1B1;
+}
+.flash.flash_notice #flash_close, .flash.flash_error #flash_close, .flash.flash_alert #flash_close {
+ text-transform: lowercase;
+}
+.flash.flash_message {
+ background: #E0F5E0;
+ padding: 9px;
+ position: relative;
+ margin-bottom: 32px;
+ h2 {
+ margin-top: 12px;
+ }
+}
+.flash.flash_message.flash_message, .flash_message * {
+ color: #262719;
+ font-size: 14px;
+}
+.flash a, .flash a:hover {
+ color: #e20003;
+ border-bottom-color: #e20003;
+}
+.flash.flash_error a, .flash.flash_error a:hover,
+.flash.flash_alert a, .flash.flash_alert a:hover {
+ display: none;
+}
+noscript .flash.flash_error a, noscript .flash.flash_error a:hover,
+noscript .flash.flash_alert a, noscript .flash.flash_alert a:hover {
+ display: inline;
+ font-weight: bold;
+}
+.flash a#flash_close {
+ position: absolute;
+ right: 9px;
+ top: 7px;
+}
+.flash.flash_message a#flash_close {
+ top: 21px;
+}
+a {
+ color: #41403C;
+ text-decoration: none;
+}
+a:hover {
+ color: #000;
+ border-bottom: 1px solid #727272;
+}
+#content .wym_box a, #content .ui-tabs a {
+ border-bottom: 0px none;
+}
+.index #content, .splash #content {
+ background-color: white;
+ background-repeat: repeat-y;
+}
+#content {
+ padding: 0px;