constructor-core 0.7.0 → 0.7.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (351) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +14 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +13 -0
  5. data/.yardopts +9 -0
  6. data/Gemfile +31 -0
  7. data/Guardfile +15 -0
  8. data/LICENSE.md +7 -0
  9. data/README.md +35 -0
  10. data/Rakefile +19 -0
  11. data/bin/rails +8 -0
  12. data/config.ru +4 -0
  13. data/config/routes.rb +3 -17
  14. data/constructor-cms.gemspec +26 -0
  15. data/{app → core/app}/assets/images/constructor_core/glyphicons-halflings-white.png +0 -0
  16. data/{app → core/app}/assets/images/constructor_core/glyphicons-halflings.png +0 -0
  17. data/{app → core/app}/assets/images/constructor_core/minus.gif +0 -0
  18. data/{app → core/app}/assets/images/constructor_core/plus.gif +0 -0
  19. data/{app → core/app}/assets/images/constructor_core/rss.png +0 -0
  20. data/{app → core/app}/assets/images/constructor_core/treeview-black-line.gif +0 -0
  21. data/{app → core/app}/assets/images/constructor_core/treeview-black.gif +0 -0
  22. data/{app → core/app}/assets/images/constructor_core/treeview-default-line.gif +0 -0
  23. data/{app → core/app}/assets/images/constructor_core/treeview-default.gif +0 -0
  24. data/{app → core/app}/assets/images/constructor_core/treeview-famfamfam-line.gif +0 -0
  25. data/{app → core/app}/assets/images/constructor_core/treeview-famfamfam.gif +0 -0
  26. data/{app → core/app}/assets/images/constructor_core/treeview-gray-line.gif +0 -0
  27. data/{app → core/app}/assets/images/constructor_core/treeview-gray.gif +0 -0
  28. data/{app → core/app}/assets/images/constructor_core/treeview-red-line.gif +0 -0
  29. data/{app → core/app}/assets/images/constructor_core/treeview-red.gif +0 -0
  30. data/{app → core/app}/assets/images/constructor_core/twitter.png +0 -0
  31. data/{app → core/app}/assets/images/constructor_core/widgets.png +0 -0
  32. data/{app → core/app}/assets/javascripts/constructor_core/application.js.coffee +0 -0
  33. data/{app → core/app}/assets/javascripts/constructor_core/bootstrap.js +0 -0
  34. data/{app → core/app}/assets/javascripts/constructor_core/jquery.cookie.js +0 -0
  35. data/{app → core/app}/assets/javascripts/constructor_core/jquery_bundle.js.coffee +0 -0
  36. data/{app → core/app}/assets/javascripts/constructor_core/keys_snippet.js +0 -0
  37. data/{app → core/app}/assets/javascripts/constructor_core/retina.js +0 -0
  38. data/{app → core/app}/assets/javascripts/constructor_core/urlify.js +0 -0
  39. data/{app → core/app}/assets/stylesheets/constructor_core/application.css.scss +0 -0
  40. data/{app → core/app}/assets/stylesheets/constructor_core/main.css.scss +0 -0
  41. data/{app → core/app}/controllers/constructor_core/application_controller.rb +0 -0
  42. data/{app → core/app}/controllers/constructor_core/sessions_controller.rb +0 -0
  43. data/{app → core/app}/controllers/constructor_core/users_controller.rb +0 -0
  44. data/{app → core/app}/helpers/constructor_core/application_helper.rb +0 -0
  45. data/{app → core/app}/models/constructor_core/user.rb +0 -0
  46. data/{app → core/app}/views/constructor_core/devise/confirmations/new.html.haml +0 -0
  47. data/{app → core/app}/views/constructor_core/devise/mailer/confirmation_instructions.html.haml +0 -0
  48. data/{app → core/app}/views/constructor_core/devise/mailer/reset_password_instructions.html.haml +0 -0
  49. data/{app → core/app}/views/constructor_core/devise/mailer/unlock_instructions.html.haml +0 -0
  50. data/{app → core/app}/views/constructor_core/devise/passwords/edit.html.haml +0 -0
  51. data/{app → core/app}/views/constructor_core/devise/passwords/new.html.haml +0 -0
  52. data/{app → core/app}/views/constructor_core/devise/registrations/edit.html.haml +0 -0
  53. data/{app → core/app}/views/constructor_core/devise/registrations/new.html.haml +0 -0
  54. data/{app → core/app}/views/constructor_core/devise/shared/_links.html.haml +0 -0
  55. data/{app → core/app}/views/constructor_core/devise/unlocks/new.html.haml +0 -0
  56. data/{app → core/app}/views/constructor_core/sessions/new.html.haml +0 -0
  57. data/{app → core/app}/views/constructor_core/users/profile.haml +0 -0
  58. data/{app → core/app}/views/layouts/constructor_core/application.haml +0 -0
  59. data/{config → core/config}/environments/production.rb +0 -0
  60. data/{config → core/config}/initializers/devise.rb +0 -0
  61. data/{config → core/config}/locales/devise.en.yml +0 -0
  62. data/{config → core/config}/locales/devise.fr.yml +0 -0
  63. data/{config → core/config}/locales/devise.ru.yml +0 -0
  64. data/{config → core/config}/locales/en.yml +0 -0
  65. data/{config → core/config}/locales/fr.yml +0 -0
  66. data/{config → core/config}/locales/ru.yml +0 -0
  67. data/core/config/routes.rb +18 -0
  68. data/{constructor-core.gemspec → core/constructor-core.gemspec} +0 -0
  69. data/{db → core/db}/migrate/1_devise_users.rb +0 -0
  70. data/{db → core/db}/migrate/2_add_default_user.rb +0 -0
  71. data/{lib → core/lib}/constructor-core.rb +0 -0
  72. data/{lib → core/lib}/constructor_core/engine.rb +0 -0
  73. data/{lib → core/lib}/constructor_core/version.rb +1 -1
  74. data/{vendor → core/vendor}/assets/javascripts/.gitkeep +0 -0
  75. data/{vendor → core/vendor}/assets/javascripts/ckeditor/ckeditor.js +0 -0
  76. data/{vendor → core/vendor}/assets/javascripts/ckeditor/config.js +0 -0
  77. data/{vendor → core/vendor}/assets/javascripts/ckeditor/lang/en.js +0 -0
  78. data/{vendor → core/vendor}/assets/javascripts/ckeditor/lang/ru.js +0 -0
  79. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +0 -0
  80. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/_translationstatus.txt +0 -0
  81. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ar.js +0 -0
  82. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/bg.js +0 -0
  83. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ca.js +0 -0
  84. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/cs.js +0 -0
  85. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/cy.js +0 -0
  86. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/da.js +0 -0
  87. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/de.js +0 -0
  88. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/el.js +0 -0
  89. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/en.js +0 -0
  90. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/eo.js +0 -0
  91. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/es.js +0 -0
  92. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/et.js +0 -0
  93. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/fa.js +0 -0
  94. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/fi.js +0 -0
  95. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/fr.js +0 -0
  96. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/gu.js +0 -0
  97. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/he.js +0 -0
  98. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/hi.js +0 -0
  99. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/hr.js +0 -0
  100. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/hu.js +0 -0
  101. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/it.js +0 -0
  102. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ja.js +0 -0
  103. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/km.js +0 -0
  104. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ku.js +0 -0
  105. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/lt.js +0 -0
  106. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/lv.js +0 -0
  107. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/mk.js +0 -0
  108. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/mn.js +0 -0
  109. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/nb.js +0 -0
  110. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/nl.js +0 -0
  111. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/no.js +0 -0
  112. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/pl.js +0 -0
  113. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/pt-br.js +0 -0
  114. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/pt.js +0 -0
  115. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ro.js +0 -0
  116. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ru.js +0 -0
  117. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sk.js +0 -0
  118. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sl.js +0 -0
  119. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sv.js +0 -0
  120. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/th.js +0 -0
  121. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/tr.js +0 -0
  122. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ug.js +0 -0
  123. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/uk.js +0 -0
  124. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/vi.js +0 -0
  125. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/zh-cn.js +0 -0
  126. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/about/dialogs/about.js +0 -0
  127. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
  128. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/clipboard/dialogs/paste.js +0 -0
  129. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/colordialog/dialogs/colordialog.js +0 -0
  130. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/dialog/dialogDefinition.js +0 -0
  131. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/div/dialogs/div.js +0 -0
  132. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/fakeobjects/images/spacer.gif +0 -0
  133. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/find/dialogs/find.js +0 -0
  134. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/icons.png +0 -0
  135. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/iframe/dialogs/iframe.js +0 -0
  136. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/iframe/images/placeholder.png +0 -0
  137. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/image/dialogs/image.js +0 -0
  138. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/image/images/noimage.png +0 -0
  139. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/link/dialogs/anchor.js +0 -0
  140. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/link/dialogs/link.js +0 -0
  141. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/link/images/anchor.png +0 -0
  142. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/liststyle/dialogs/liststyle.js +0 -0
  143. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/magicline/images/icon.png +0 -0
  144. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/pastefromword/filter/default.js +0 -0
  145. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/preview/preview.html +0 -0
  146. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/scayt/LICENSE.md +0 -0
  147. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/scayt/README.md +0 -0
  148. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/scayt/dialogs/options.js +0 -0
  149. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/scayt/dialogs/toolbar.css +0 -0
  150. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/showblocks/images/block_address.png +0 -0
  151. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/showblocks/images/block_blockquote.png +0 -0
  152. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/showblocks/images/block_div.png +0 -0
  153. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/showblocks/images/block_h1.png +0 -0
  154. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/showblocks/images/block_h2.png +0 -0
  155. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/showblocks/images/block_h3.png +0 -0
  156. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/showblocks/images/block_h4.png +0 -0
  157. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/showblocks/images/block_h5.png +0 -0
  158. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/showblocks/images/block_h6.png +0 -0
  159. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/showblocks/images/block_p.png +0 -0
  160. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/showblocks/images/block_pre.png +0 -0
  161. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/_translationstatus.txt +0 -0
  162. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ca.js +0 -0
  163. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/cs.js +0 -0
  164. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/cy.js +0 -0
  165. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/de.js +0 -0
  166. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/el.js +0 -0
  167. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/en.js +0 -0
  168. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/eo.js +0 -0
  169. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/et.js +0 -0
  170. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/fa.js +0 -0
  171. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/fi.js +0 -0
  172. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/fr.js +0 -0
  173. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/he.js +0 -0
  174. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/hr.js +0 -0
  175. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/it.js +0 -0
  176. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ku.js +0 -0
  177. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/lv.js +0 -0
  178. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/nb.js +0 -0
  179. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/nl.js +0 -0
  180. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/no.js +0 -0
  181. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/pl.js +0 -0
  182. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/pt-br.js +0 -0
  183. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/sk.js +0 -0
  184. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/sv.js +0 -0
  185. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/th.js +0 -0
  186. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/tr.js +0 -0
  187. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ug.js +0 -0
  188. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/zh-cn.js +0 -0
  189. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/specialchar/dialogs/specialchar.js +0 -0
  190. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/table/dialogs/table.js +0 -0
  191. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/tabletools/dialogs/tableCell.js +0 -0
  192. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/templates/dialogs/templates.css +0 -0
  193. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/templates/dialogs/templates.js +0 -0
  194. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/templates/templates/default.js +0 -0
  195. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/templates/templates/images/template1.gif +0 -0
  196. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/templates/templates/images/template2.gif +0 -0
  197. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/templates/templates/images/template3.gif +0 -0
  198. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/wsc/LICENSE.md +0 -0
  199. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/wsc/README.md +0 -0
  200. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/wsc/dialogs/ciframe.html +0 -0
  201. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +0 -0
  202. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/wsc/dialogs/wsc.css +0 -0
  203. data/{vendor → core/vendor}/assets/javascripts/ckeditor/plugins/wsc/dialogs/wsc.js +0 -0
  204. data/{vendor → core/vendor}/assets/javascripts/ckeditor/styles.js +0 -0
  205. data/{vendor → core/vendor}/assets/stylesheets/.gitkeep +0 -0
  206. data/{vendor → core/vendor}/assets/stylesheets/ckeditor/contents.css +0 -0
  207. data/{vendor → core/vendor}/assets/stylesheets/ckeditor/skins/moono/dialog.css +0 -0
  208. data/{vendor → core/vendor}/assets/stylesheets/ckeditor/skins/moono/dialog_ie.css +0 -0
  209. data/{vendor → core/vendor}/assets/stylesheets/ckeditor/skins/moono/dialog_ie7.css +0 -0
  210. data/{vendor → core/vendor}/assets/stylesheets/ckeditor/skins/moono/dialog_ie8.css +0 -0
  211. data/{vendor → core/vendor}/assets/stylesheets/ckeditor/skins/moono/dialog_opera.css +0 -0
  212. data/{vendor → core/vendor}/assets/stylesheets/ckeditor/skins/moono/editor.css +0 -0
  213. data/{vendor → core/vendor}/assets/stylesheets/ckeditor/skins/moono/editor_gecko.css +0 -0
  214. data/{vendor → core/vendor}/assets/stylesheets/ckeditor/skins/moono/editor_ie.css +0 -0
  215. data/{vendor → core/vendor}/assets/stylesheets/ckeditor/skins/moono/editor_ie7.css +0 -0
  216. data/{vendor → core/vendor}/assets/stylesheets/ckeditor/skins/moono/editor_ie8.css +0 -0
  217. data/{vendor → core/vendor}/assets/stylesheets/ckeditor/skins/moono/icons.png +0 -0
  218. data/{vendor → core/vendor}/assets/stylesheets/ckeditor/skins/moono/images/arrow.png +0 -0
  219. data/{vendor → core/vendor}/assets/stylesheets/ckeditor/skins/moono/images/close.png +0 -0
  220. data/{vendor → core/vendor}/assets/stylesheets/ckeditor/skins/moono/images/mini.png +0 -0
  221. data/{vendor → core/vendor}/assets/stylesheets/ckeditor/skins/moono/readme.md +0 -0
  222. data/lib/constructor-cms.rb +3 -0
  223. data/lib/constructor-cms/engine.rb +6 -0
  224. data/pages/app/assets/images/constructor_pages/arrow_down.png +0 -0
  225. data/pages/app/assets/images/constructor_pages/arrow_up.png +0 -0
  226. data/pages/app/assets/images/constructor_pages/information.png +0 -0
  227. data/pages/app/assets/images/constructor_pages/page_white_edit.png +0 -0
  228. data/pages/app/assets/images/constructor_pages/photos.png +0 -0
  229. data/pages/app/assets/javascripts/constructor_pages/ajax_pages.js +61 -0
  230. data/pages/app/assets/javascripts/constructor_pages/jquery.history.js +1 -0
  231. data/pages/app/controllers/constructor_pages/application_controller.rb +20 -0
  232. data/pages/app/controllers/constructor_pages/fields_controller.rb +70 -0
  233. data/pages/app/controllers/constructor_pages/pages_controller.rb +155 -0
  234. data/pages/app/controllers/constructor_pages/templates_controller.rb +62 -0
  235. data/pages/app/helpers/constructor_pages/code_name_uniq.rb +7 -0
  236. data/pages/app/helpers/constructor_pages/fields_helper.rb +18 -0
  237. data/pages/app/helpers/constructor_pages/pages_helper.rb +22 -0
  238. data/pages/app/helpers/constructor_pages/templates_helper.rb +13 -0
  239. data/pages/app/helpers/constructor_pages/treeview_helper.rb +33 -0
  240. data/pages/app/models/constructor_pages/field.rb +59 -0
  241. data/pages/app/models/constructor_pages/page.rb +173 -0
  242. data/pages/app/models/constructor_pages/template.rb +38 -0
  243. data/pages/app/models/constructor_pages/types/boolean_type.rb +11 -0
  244. data/pages/app/models/constructor_pages/types/date_type.rb +11 -0
  245. data/pages/app/models/constructor_pages/types/float_type.rb +11 -0
  246. data/pages/app/models/constructor_pages/types/html_type.rb +11 -0
  247. data/pages/app/models/constructor_pages/types/image_type.rb +19 -0
  248. data/pages/app/models/constructor_pages/types/integer_type.rb +11 -0
  249. data/pages/app/models/constructor_pages/types/string_type.rb +11 -0
  250. data/pages/app/models/constructor_pages/types/text_type.rb +11 -0
  251. data/pages/app/views/constructor_pages/fields/_form.haml +29 -0
  252. data/pages/app/views/constructor_pages/fields/edit.haml +6 -0
  253. data/pages/app/views/constructor_pages/fields/new.haml +6 -0
  254. data/pages/app/views/constructor_pages/fields/types/_boolean.haml +1 -0
  255. data/pages/app/views/constructor_pages/fields/types/_date.haml +1 -0
  256. data/pages/app/views/constructor_pages/fields/types/_float.haml +1 -0
  257. data/pages/app/views/constructor_pages/fields/types/_html.haml +1 -0
  258. data/pages/app/views/constructor_pages/fields/types/_image.haml +7 -0
  259. data/pages/app/views/constructor_pages/fields/types/_integer.haml +1 -0
  260. data/pages/app/views/constructor_pages/fields/types/_string.haml +1 -0
  261. data/pages/app/views/constructor_pages/fields/types/_text.haml +1 -0
  262. data/pages/app/views/constructor_pages/pages/_breadcrumbs.haml +7 -0
  263. data/pages/app/views/constructor_pages/pages/_form.haml +98 -0
  264. data/pages/app/views/constructor_pages/pages/_menu.haml +8 -0
  265. data/pages/app/views/constructor_pages/pages/_submenu.haml +6 -0
  266. data/pages/app/views/constructor_pages/pages/edit.haml +6 -0
  267. data/pages/app/views/constructor_pages/pages/index.haml +42 -0
  268. data/pages/app/views/constructor_pages/pages/new.haml +6 -0
  269. data/pages/app/views/constructor_pages/pages/show.haml +5 -0
  270. data/pages/app/views/constructor_pages/partials/_arrow_buttons.haml +6 -0
  271. data/pages/app/views/constructor_pages/templates/_form.haml +53 -0
  272. data/pages/app/views/constructor_pages/templates/edit.haml +6 -0
  273. data/pages/app/views/constructor_pages/templates/index.haml +24 -0
  274. data/pages/app/views/constructor_pages/templates/new.haml +6 -0
  275. data/pages/config/initializers/dragonfly.rb +9 -0
  276. data/pages/config/locales/en.yml +65 -0
  277. data/pages/config/locales/fr.yml +65 -0
  278. data/pages/config/locales/ru.yml +100 -0
  279. data/pages/config/routes.rb +26 -0
  280. data/pages/constructor-pages.gemspec +31 -0
  281. data/pages/db/migrate/10_create_html_types.rb +15 -0
  282. data/pages/db/migrate/11_create_image_types.rb +16 -0
  283. data/pages/db/migrate/12_add_default_template.rb +13 -0
  284. data/pages/db/migrate/1_create_pages.rb +27 -0
  285. data/pages/db/migrate/2_create_templates.rb +18 -0
  286. data/pages/db/migrate/3_create_fields.rb +17 -0
  287. data/pages/db/migrate/4_create_string_types.rb +15 -0
  288. data/pages/db/migrate/5_create_float_types.rb +15 -0
  289. data/pages/db/migrate/6_create_boolean_types.rb +15 -0
  290. data/pages/db/migrate/7_create_integer_types.rb +15 -0
  291. data/pages/db/migrate/8_create_text_types.rb +15 -0
  292. data/pages/db/migrate/9_create_date_types.rb +15 -0
  293. data/pages/lib/constructor-pages.rb +6 -0
  294. data/pages/lib/constructor_pages/engine.rb +6 -0
  295. data/pages/public/hello.txt +1 -0
  296. data/pages/spec/features/constructor_pages/fields_spec.rb +217 -0
  297. data/pages/spec/features/constructor_pages/pages_spec.rb +313 -0
  298. data/pages/spec/features/constructor_pages/templates_spec.rb +267 -0
  299. data/pages/spec/helpers/constructor_pages/.keep +0 -0
  300. data/pages/spec/models/constructor_pages/field_spec.rb +135 -0
  301. data/pages/spec/models/constructor_pages/page_spec.rb +420 -0
  302. data/pages/spec/models/constructor_pages/template_spec.rb +34 -0
  303. data/pages/spec/models/constructor_pages/types/boolean_type_spec.rb +21 -0
  304. data/pages/spec/models/constructor_pages/types/date_type_spec.rb +21 -0
  305. data/pages/spec/models/constructor_pages/types/float_type_spec.rb +21 -0
  306. data/pages/spec/models/constructor_pages/types/html_type_spec.rb +63 -0
  307. data/pages/spec/models/constructor_pages/types/integer_type_spec.rb +24 -0
  308. data/pages/spec/models/constructor_pages/types/string_type_spec.rb +21 -0
  309. data/pages/spec/models/constructor_pages/types/text_type_spec.rb +63 -0
  310. data/pages/spec/routing/constructor_pages/.keep +0 -0
  311. data/spec/dummy/README.rdoc +28 -0
  312. data/spec/dummy/Rakefile +6 -0
  313. data/spec/dummy/app/assets/javascripts/application.js +15 -0
  314. data/spec/dummy/app/assets/stylesheets/application.css +13 -0
  315. data/spec/dummy/app/controllers/application_controller.rb +3 -0
  316. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  317. data/spec/dummy/app/mailers/.gitkeep +0 -0
  318. data/spec/dummy/app/models/.gitkeep +0 -0
  319. data/spec/dummy/app/views/html_templates/page.haml +1 -0
  320. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  321. data/spec/dummy/bin/bundle +3 -0
  322. data/spec/dummy/bin/rails +4 -0
  323. data/spec/dummy/bin/rake +4 -0
  324. data/spec/dummy/config.ru +4 -0
  325. data/spec/dummy/config/application.rb +23 -0
  326. data/spec/dummy/config/boot.rb +5 -0
  327. data/spec/dummy/config/database.yml +25 -0
  328. data/spec/dummy/config/environment.rb +5 -0
  329. data/spec/dummy/config/environments/development.rb +29 -0
  330. data/spec/dummy/config/environments/production.rb +80 -0
  331. data/spec/dummy/config/environments/test.rb +36 -0
  332. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  333. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  334. data/spec/dummy/config/initializers/inflections.rb +16 -0
  335. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  336. data/spec/dummy/config/initializers/secret_token.rb +12 -0
  337. data/spec/dummy/config/initializers/session_store.rb +3 -0
  338. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  339. data/spec/dummy/config/locales/en.yml +5 -0
  340. data/spec/dummy/config/routes.rb +3 -0
  341. data/spec/dummy/lib/assets/.gitkeep +0 -0
  342. data/spec/dummy/lib/tasks/.gitkeep +0 -0
  343. data/spec/dummy/log/.gitkeep +0 -0
  344. data/spec/dummy/public/404.html +58 -0
  345. data/spec/dummy/public/422.html +58 -0
  346. data/spec/dummy/public/500.html +57 -0
  347. data/spec/dummy/public/favicon.ico +0 -0
  348. data/spec/dummy/public/robots.txt +5 -0
  349. data/spec/spec_helper.rb +46 -0
  350. data/tasks/constructor-cms_tasks.rake +15 -0
  351. metadata +396 -211
@@ -0,0 +1,11 @@
1
+ # encoding: utf-8
2
+
3
+ module ConstructorPages
4
+ module Types
5
+ # Date time. Render as three select lists (day, month, year).
6
+ class DateType < ActiveRecord::Base
7
+ belongs_to :field
8
+ belongs_to :page
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ # encoding: utf-8
2
+
3
+ module ConstructorPages
4
+ module Types
5
+ # Float type. Render small text field.
6
+ class FloatType < ActiveRecord::Base
7
+ belongs_to :field
8
+ belongs_to :page
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ # encoding: utf-8
2
+
3
+ module ConstructorPages
4
+ module Types
5
+ # HTML type. Render ckeditor wysiwyg.
6
+ class HtmlType < ActiveRecord::Base
7
+ belongs_to :field
8
+ belongs_to :page
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,19 @@
1
+ # encoding: utf-8
2
+
3
+ module ConstructorPages
4
+ module Types
5
+ # Image type. Render select file field.
6
+ class ImageType < ActiveRecord::Base
7
+ belongs_to :field
8
+ belongs_to :page
9
+
10
+ image_accessor :value
11
+
12
+ validates :value, :presence => true
13
+ # Max size is 5 MB
14
+ validates_size_of :value, :maximum => 5.megabytes, :message => :incorrect_size
15
+ # Accept only jpeg, png, gif
16
+ validates_property :mime_type, :of => :value, :in => %w(image/jpeg image/png image/gif), :message => :incorrect_format
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,11 @@
1
+ # encoding: utf-8
2
+
3
+ module ConstructorPages
4
+ module Types
5
+ # Integer type. Render small text field.
6
+ class IntegerType < ActiveRecord::Base
7
+ belongs_to :field
8
+ belongs_to :page
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ # encoding: utf-8
2
+
3
+ module ConstructorPages
4
+ module Types
5
+ # String type. Render large text field.
6
+ class StringType < ActiveRecord::Base
7
+ belongs_to :field
8
+ belongs_to :page
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ # encoding: utf-8
2
+
3
+ module ConstructorPages
4
+ module Types
5
+ # Text type. Render textarea.
6
+ class TextType < ActiveRecord::Base
7
+ belongs_to :field
8
+ belongs_to :page
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,29 @@
1
+ = form_for @field do |f|
2
+ - if @field.errors.any?
3
+ .alert.alert-error.fade.in.span12
4
+ = link_to '×', '#', class: 'close', 'data-dismiss' => 'alert'
5
+ - @field.errors.full_messages.each do |m|
6
+ = m
7
+
8
+ .form-horizontal
9
+ .control-group
10
+ = f.label :name, class: 'control-label'
11
+ .controls= f.text_field :name, class: 'span4'
12
+
13
+ .control-group
14
+ = f.label :code_name, class: 'control-label'
15
+ .controls= f.text_field :code_name, class: 'span4'
16
+ = f.hidden_field :template_id, value: @field.template.id, class: 'span4'
17
+
18
+ - unless @field.type_value == 'image'
19
+ .control-group
20
+ = f.label :type_value, class: 'control-label'
21
+ .controls
22
+ = f.select :type_value, options_for_select(types_value, selected: @field.type_value), class: 'span4'
23
+
24
+ .row-fluid
25
+ .span12
26
+ .form-actions
27
+ = f.submit class: 'btn btn-primary'
28
+ = link_to t(:cancel), edit_template_url(@field.template), class: 'btn'
29
+ = link_to t(:delete_field), @field, method: :delete, data: {confirm: t(:are_you_sure?)}, class: 'btn btn-danger pull-right' unless @field.new_record?
@@ -0,0 +1,6 @@
1
+ - content_for :page_title do
2
+ =t :edit_field
3
+
4
+ %section.span12
5
+ = render 'form'
6
+
@@ -0,0 +1,6 @@
1
+ - content_for :page_title do
2
+ =t :new_field
3
+
4
+ %section.span12
5
+ = render 'form'
6
+
@@ -0,0 +1 @@
1
+ = check_box_tag "fields[#{field.code_name}]", nil, page.get_field_value(field.code_name)
@@ -0,0 +1 @@
1
+ = text_field_tag "fields[#{field.code_name}]", page.get_field_value(field.code_name), type: :date
@@ -0,0 +1 @@
1
+ = text_field_tag "fields[#{field.code_name}]", page.get_field_value(field.code_name), class: 'span2'
@@ -0,0 +1 @@
1
+ = text_area_tag "fields[#{field.code_name}]", page.get_field_value(field.code_name), rows: 10, class: 'span9 ckeditor'
@@ -0,0 +1,7 @@
1
+ - image = page.get_field_value(field.code_name)
2
+
3
+ - if image
4
+ = image_tag image.value.thumb('200x200').url
5
+
6
+ %br/
7
+ = file_field_tag "fields[#{field.code_name}]", class: 'span6'
@@ -0,0 +1 @@
1
+ = text_field_tag "fields[#{field.code_name}]", page.get_field_value(field.code_name), class: 'span2'
@@ -0,0 +1 @@
1
+ = text_field_tag "fields[#{field.code_name}]", page.get_field_value(field.code_name), class: 'span6'
@@ -0,0 +1 @@
1
+ = text_area_tag "fields[#{field.code_name}]", page.get_field_value(field.code_name), rows: 10, class: 'span6'
@@ -0,0 +1,7 @@
1
+ - unless page.ancestors.empty?
2
+ %ul.breadcrumb
3
+ - page.ancestors.each do |i|
4
+ - if i.in_nav
5
+ %li
6
+ = link_to i.name, i.full_url, title: i.name, class: 'b-page-json'
7
+ %span{class: 'divider'} /
@@ -0,0 +1,98 @@
1
+ = form_for @page, html: {multipart: @multipart} do |f|
2
+ - if @page.errors.any?
3
+ .row-fluid
4
+ .alert.alert-error.fade.in.span12
5
+ = link_to '×', '#', class: 'close', 'data-dismiss' => 'alert'
6
+ - @page.errors.full_messages.each do |m|
7
+ = m
8
+
9
+ .form-horizontal
10
+ .control-group
11
+ = f.label :active, class: 'control-label'
12
+ .controls= f.check_box :active, class: 'span6'
13
+
14
+ .control-group
15
+ = f.label :name, class: 'control-label'
16
+ .controls= f.text_field :name, class: 'span4'
17
+
18
+ .control-group.auto_url
19
+ = f.label :auto_url, class: 'control-label'
20
+ .controls
21
+ = f.check_box :auto_url, class: 'span9'
22
+
23
+ .control-group.url
24
+ = f.label :url, class: 'control-label'
25
+ .controls
26
+ .full_url
27
+ %span.path>= @page.parent.full_url unless @page.parent.nil?
28
+ \/
29
+ %span.address>= @page.url
30
+ = f.text_field :url, class: 'span3'
31
+ %i.address_icon.icon-pencil
32
+
33
+ - unless @page.new_record?
34
+ - @page.template.fields.each do |field|
35
+ .control-group
36
+ = label_tag "fields[#{field.code_name}]", field.name, class: 'control-label'
37
+ .controls
38
+ = render :partial => "constructor_pages/fields/types/#{field.type_value}", locals: {field: field, page: @page}
39
+
40
+ .accordion
41
+ .accordion-group
42
+ .accordion-heading.text-center
43
+ = link_to t(:settings), '#collapse', class: 'accordion-toggle', 'data-toggle' => 'collapse'
44
+ .accordion-body.in.collapse#collapse
45
+ .accordion-inner
46
+ .control-group
47
+ = f.label :parent_id, class: 'control-label'
48
+ .controls
49
+ = f.select :parent_id, options_for_select(for_select(@roots), selected: @page.parent_id), disabled: @page.self_and_descendants.map(&:id), include_blank: t(:no)
50
+
51
+ .control-group
52
+ = f.label :template_id, :class => 'control-label'
53
+ .controls
54
+ = f.select :template_id, options_for_select(templates, selected: @template_id)
55
+ .control-group
56
+ = f.label :link, class: 'control-label'
57
+ .controls
58
+ = f.text_field :link, class: 'span9'
59
+ .control-group
60
+ %label.control-label=t :display_in
61
+ .controls
62
+ %label.checkbox.inline.span2{for: 'in_menu'}
63
+ = f.check_box :in_menu
64
+ =t :menu
65
+
66
+ %label.checkbox.inline.span2{for: 'in_map'}
67
+ = f.check_box :in_map
68
+ =t :sitemap
69
+
70
+ %label.checkbox.inline.span2{for: 'in_nav'}
71
+ = f.check_box :in_nav
72
+ =t :breadcrumbs
73
+
74
+ .accordion
75
+ .accordion-group
76
+ .accordion-heading.text-center
77
+ = link_to t(:seo), '#collapse-three', class: 'accordion-toggle', 'data-toggle' => 'collapse'
78
+ .accordion-body.in.collapse#collapse-three
79
+ .accordion-inner
80
+ .control-group
81
+ = f.label :title, class: 'control-label'
82
+ .controls
83
+ = f.text_field :title, class: 'span9'
84
+ .control-group
85
+ = f.label :keywords, class: 'control-label'
86
+ .controls
87
+ = f.text_field :keywords, class: 'span9'
88
+ .control-group
89
+ = f.label :description, class: 'control-label'
90
+ .controls
91
+ = f.text_area :description, class: 'span9', rows: 8
92
+
93
+ .row-fluid
94
+ .span12
95
+ .form-actions
96
+ = f.submit class: 'btn btn-primary'
97
+ = link_to t(:cancel), pages_url, class: 'btn'
98
+ = link_to t(:delete_page), @page, method: :delete, data: {confirm: t(:are_you_sure?)}, class: 'btn btn-danger pull-right' unless @page.new_record?
@@ -0,0 +1,8 @@
1
+ - @roots.each do |page|
2
+ - if page.in_menu
3
+ - if @request == page.url || page.descendants.map{|child| child.url}.include?(@request)
4
+ %li.active= link_to page.title, page.full_url
5
+ - else
6
+ %li= link_to page.title, page.full_url
7
+
8
+
@@ -0,0 +1,6 @@
1
+ - @children_of_current_root.each do |page|
2
+ - if page.full_url == @request
3
+ %li.active
4
+ = link_to page.title, page.full_url
5
+ - else
6
+ %li= link_to page.title, page.full_url
@@ -0,0 +1,6 @@
1
+ - content_for :page_title do
2
+ =t :edit_page
3
+
4
+ %section.span12
5
+ = render 'form'
6
+
@@ -0,0 +1,42 @@
1
+ - content_for :page_title do
2
+ =t :structure
3
+
4
+ - content_for :actions do
5
+ - if @template_exists
6
+ .span4.clearfix.text-right
7
+ = link_to pages.new_page_path, class: 'btn btn-large btn-link' do
8
+ %i.icon-plus
9
+ =t :new_page
10
+
11
+ %section.b-tree.span12
12
+ %ul
13
+ = render_tree @roots do |page|
14
+ - if page.published?
15
+ = link_to page.name, page.full_url, class: 'btn btn-link'
16
+ - else
17
+ %button.btn.disabled= page.name
18
+
19
+ .b-tree__buttons
20
+ = render partial: 'constructor_pages/partials/arrow_buttons', locals: {item: page}
21
+
22
+ = link_to edit_page_path(page), class: 'btn btn-primary btn-mini' do
23
+ %i.icon-pencil
24
+ =t :edit
25
+ = page.template.name.downcase
26
+
27
+ - unless page.template.nil?
28
+ - if page.template.child_id.nil?
29
+ - if !page.template.leaf?
30
+ = link_to new_child_page_path(page), class: 'btn btn-success btn-mini' do
31
+ %i.icon-chevron-down
32
+ =t :add
33
+ = page.template.descendants.first.name.downcase
34
+ - else
35
+ = link_to new_child_page_path(page), class: 'btn btn-success btn-mini' do
36
+ %i.icon-chevron-down
37
+ =t :add
38
+ = ConstructorPages::Template.find(page.template.child_id).name.downcase
39
+
40
+ = link_to page_path(page), method: :delete, class: 'btn btn-danger btn-mini pull-right', data: {confirm: t(:are_you_sure?)} do
41
+ %i.icon-remove
42
+ =t :delete
@@ -0,0 +1,6 @@
1
+ - content_for :page_title do
2
+ =t :new_page
3
+
4
+ %section.span12
5
+ = render 'form'
6
+
@@ -0,0 +1,5 @@
1
+ .b_breadcrumbs= render :partial => "breadcrumbs"
2
+
3
+ .b-main__h1= @page.name
4
+
5
+ = @page.content.html_safe
@@ -0,0 +1,6 @@
1
+ .btn-group
2
+ - {down: :right, up: :left}.each_pair do |a, b|
3
+ - sibling = item.send(b.to_s+'_sibling')
4
+ - if sibling and item.move_possible?(sibling)
5
+ = link_to "/admin/#{item.class.to_s.demodulize.downcase.pluralize}/move/#{a}/#{item.id}", class: 'btn btn-mini' do
6
+ %i{class: "icon-arrow-#{a}"}
@@ -0,0 +1,53 @@
1
+ = form_for @template do |f|
2
+ - if @template.errors.any?
3
+ .row-fluid
4
+ .alert.alert-error.fade.in.span12
5
+ = link_to '×', '#', class: 'close', 'data-dismiss' => 'alert'
6
+ - @template.errors.full_messages.each do |m|
7
+ = m
8
+
9
+ .form-horizontal
10
+ .control-group
11
+ = f.label :name, class: 'control-label'
12
+ .controls= f.text_field :name, class: 'span4'
13
+
14
+ .control-group
15
+ = f.label :code_name, class: 'control-label'
16
+ .controls= f.text_field :code_name, class: 'span4'
17
+
18
+ .control-group
19
+ = f.label :parent_id, class: 'control-label'
20
+ .controls
21
+ = f.select :parent_id, options_for_select(for_select(@roots), selected: @template.parent_id), disabled: @template.self_and_descendants.map(&:id), include_blank: t(:no)
22
+
23
+ .control-group
24
+ = f.label :child_id, class: 'control-label'
25
+ .controls
26
+ = f.select :child_id, options_for_select(for_select(@roots), selected: @template.child_id), include_blank: t(:no)
27
+
28
+ - unless @template.new_record?
29
+ .control-group
30
+ .controls
31
+ = link_to new_field_path(@template.id), class: 'btn btn-mini btn-link' do
32
+ %i.icon-plus
33
+ =t :new_field
34
+
35
+ - @template.fields.each do |field|
36
+ .control-group
37
+ = label_tag '', field.name, class: 'control-label'
38
+ .controls
39
+ = link_to field_move_down_path(field), class: "btn btn-mini #{'disabled' if field.last?}" do
40
+ %i.icon-arrow-down
41
+ = link_to field_move_up_path(field), class: "btn btn-mini #{'disabled' if field.first?}" do
42
+ %i.icon-arrow-up
43
+ = link_to edit_field_path(field, field.template), class: 'btn btn-mini btn-primary' do
44
+ %i.icon-pencil
45
+ = link_to field_path(field), method: :delete, data: {confirm: t(:are_you_sure?)}, class: 'btn btn-mini btn-danger' do
46
+ %i.icon-remove
47
+
48
+ .row-fluid
49
+ .span12
50
+ .form-actions
51
+ = f.submit class: 'btn btn-primary'
52
+ = link_to t(:cancel), templates_url, class: 'btn'
53
+ = link_to t(:delete_template), @template, method: :delete, data: {confirm: t(:are_you_sure?)}, class: 'btn btn-danger pull-right' unless @template.new_record?
@@ -0,0 +1,6 @@
1
+ - content_for :page_title do
2
+ =t :edit_template
3
+
4
+ %section.span12
5
+ = render 'form'
6
+
@@ -0,0 +1,24 @@
1
+ - content_for :page_title do
2
+ =t :templates
3
+
4
+ - content_for :actions do
5
+ .span4.clearfix.text-right
6
+ = link_to new_template_path, class: 'btn btn-link btn-large' do
7
+ %i.icon-plus
8
+ =t :new_template
9
+
10
+ %section.b-tree.span12
11
+ = render_tree(@roots) do |template|
12
+ %button.btn.btn-link.disabled= template.name
13
+
14
+ .b-tree__buttons
15
+ = render partial: 'constructor_pages/partials/arrow_buttons', locals: {item: template}
16
+
17
+ = link_to edit_template_path(template), class: 'btn btn-primary btn-mini' do
18
+ %i.icon-pencil
19
+ =t :edit
20
+ = t(:template).downcase
21
+
22
+ = link_to template_path(template), method: :delete, class: 'btn btn-danger btn-mini pull-right', data: {confirm: t(:are_you_sure?)} do
23
+ %i.icon-remove
24
+ =t :delete