fae-railsz 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (328) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +5 -0
  3. data/Rakefile +37 -0
  4. data/app/assets/fonts/fae/icons.eot +0 -0
  5. data/app/assets/fonts/fae/icons.svg +56 -0
  6. data/app/assets/fonts/fae/icons.ttf +0 -0
  7. data/app/assets/fonts/fae/icons.woff +0 -0
  8. data/app/assets/fonts/fae/lato-bold-webfont.eot +0 -0
  9. data/app/assets/fonts/fae/lato-bold-webfont.svg +4551 -0
  10. data/app/assets/fonts/fae/lato-bold-webfont.ttf +0 -0
  11. data/app/assets/fonts/fae/lato-bold-webfont.woff +0 -0
  12. data/app/assets/fonts/fae/lato-light-webfont.eot +0 -0
  13. data/app/assets/fonts/fae/lato-light-webfont.svg +4241 -0
  14. data/app/assets/fonts/fae/lato-light-webfont.ttf +0 -0
  15. data/app/assets/fonts/fae/lato-light-webfont.woff +0 -0
  16. data/app/assets/fonts/fae/lato-regular-webfont.eot +0 -0
  17. data/app/assets/fonts/fae/lato-regular-webfont.svg +4241 -0
  18. data/app/assets/fonts/fae/lato-regular-webfont.ttf +0 -0
  19. data/app/assets/fonts/fae/lato-regular-webfont.woff +0 -0
  20. data/app/assets/fonts/fae/selection.json +1334 -0
  21. data/app/assets/images/fae/error_bg.jpg +0 -0
  22. data/app/assets/images/fae/error_sad_face.png +0 -0
  23. data/app/assets/images/fae/icons/alert.svg +9 -0
  24. data/app/assets/images/fae/icons/arrow_down.svg +8 -0
  25. data/app/assets/images/fae/icons/arrow_left.svg +9 -0
  26. data/app/assets/images/fae/icons/arrow_right.svg +9 -0
  27. data/app/assets/images/fae/icons/arrow_stacked.svg +8 -0
  28. data/app/assets/images/fae/icons/arrow_up.svg +8 -0
  29. data/app/assets/images/fae/icons/calendar.svg +17 -0
  30. data/app/assets/images/fae/icons/check.svg +7 -0
  31. data/app/assets/images/fae/icons/checkmark.svg +8 -0
  32. data/app/assets/images/fae/icons/chevron_down.svg +7 -0
  33. data/app/assets/images/fae/icons/chevron_left.svg +10 -0
  34. data/app/assets/images/fae/icons/chevron_right.svg +10 -0
  35. data/app/assets/images/fae/icons/chevron_up.svg +7 -0
  36. data/app/assets/images/fae/icons/delete.svg +8 -0
  37. data/app/assets/images/fae/icons/delete_x.svg +8 -0
  38. data/app/assets/images/fae/icons/edit.svg +11 -0
  39. data/app/assets/images/fae/icons/handle.svg +13 -0
  40. data/app/assets/images/fae/icons/home.svg +10 -0
  41. data/app/assets/images/fae/icons/logout.svg +12 -0
  42. data/app/assets/images/fae/icons/magnifying_glass.svg +10 -0
  43. data/app/assets/images/fae/icons/menu.svg +11 -0
  44. data/app/assets/images/fae/icons/offlink.svg +25 -0
  45. data/app/assets/images/fae/icons/plus.svg +8 -0
  46. data/app/assets/images/fae/icons/pulldown.svg +11 -0
  47. data/app/assets/images/fae/icons/search.svg +11 -0
  48. data/app/assets/images/fae/icons/settings.svg +12 -0
  49. data/app/assets/images/fae/icons/sort.svg +11 -0
  50. data/app/assets/images/fae/icons/support.svg +15 -0
  51. data/app/assets/images/fae/icons/trash.svg +10 -0
  52. data/app/assets/images/fae/icons/trumbowyg.svg +1 -0
  53. data/app/assets/images/fae/icons/user.svg +13 -0
  54. data/app/assets/images/fae/icons/users.svg +19 -0
  55. data/app/assets/images/fae/icons/zoom.svg +12 -0
  56. data/app/assets/images/fae/tutorial_model_location.png +0 -0
  57. data/app/assets/images/fae/youtube_helper.jpg +0 -0
  58. data/app/assets/javascripts/fae/_modals.js +60 -0
  59. data/app/assets/javascripts/fae/_tables.js +403 -0
  60. data/app/assets/javascripts/fae/admin.js.erb +11 -0
  61. data/app/assets/javascripts/fae/application.js +63 -0
  62. data/app/assets/javascripts/fae/fae_init.js +8 -0
  63. data/app/assets/javascripts/fae/form/_ajax.js +380 -0
  64. data/app/assets/javascripts/fae/form/_cancel.js +38 -0
  65. data/app/assets/javascripts/fae/form/_filtering.js +276 -0
  66. data/app/assets/javascripts/fae/form/_form.js +60 -0
  67. data/app/assets/javascripts/fae/form/_slugger.js.erb +100 -0
  68. data/app/assets/javascripts/fae/form/_validator.js +459 -0
  69. data/app/assets/javascripts/fae/form/fae_chosen.js +44 -0
  70. data/app/assets/javascripts/fae/form/fileinputer.js +178 -0
  71. data/app/assets/javascripts/fae/form/hinter.js +111 -0
  72. data/app/assets/javascripts/fae/form/inputs/_checkbox.js +27 -0
  73. data/app/assets/javascripts/fae/form/inputs/_color.js +42 -0
  74. data/app/assets/javascripts/fae/form/inputs/_dates.js +78 -0
  75. data/app/assets/javascripts/fae/form/inputs/_select.js +162 -0
  76. data/app/assets/javascripts/fae/form/inputs/_text.js +118 -0
  77. data/app/assets/javascripts/fae/navigation/_global_search.js +184 -0
  78. data/app/assets/javascripts/fae/navigation/_language.js +89 -0
  79. data/app/assets/javascripts/fae/navigation/_navigation.js +206 -0
  80. data/app/assets/javascripts/fae/navigation/_subnav_highlighter.js +81 -0
  81. data/app/assets/javascripts/fae/navigation/sticky.js +186 -0
  82. data/app/assets/javascripts/fae/vendor/chosen.jquery.min.js +2 -0
  83. data/app/assets/javascripts/fae/vendor/frob_core_helpers.js +587 -0
  84. data/app/assets/javascripts/fae/vendor/fryr.js +437 -0
  85. data/app/assets/javascripts/fae/vendor/jqColorPicker.min.js +4 -0
  86. data/app/assets/javascripts/fae/vendor/jquery.daterangepicker.js +1292 -0
  87. data/app/assets/javascripts/fae/vendor/jquery.multi-select.js +534 -0
  88. data/app/assets/javascripts/fae/vendor/jquery.simplemodal.1.4.4.js +719 -0
  89. data/app/assets/javascripts/fae/vendor/jquery.tablesorter.js +1901 -0
  90. data/app/assets/javascripts/fae/vendor/js.cookie.js +139 -0
  91. data/app/assets/javascripts/fae/vendor/moment.min.js +7 -0
  92. data/app/assets/javascripts/fae/vendor/simplemde.min.js +13 -0
  93. data/app/assets/javascripts/fae/vendor/touch_punch.js +11 -0
  94. data/app/assets/javascripts/fae/vendor/trumbowyg.js.erb +4 -0
  95. data/app/assets/javascripts/fae/vendor/trumbowyg/plugins/upload/trumbowyg.upload.js +223 -0
  96. data/app/assets/javascripts/fae/vendor/trumbowyg/trumbowyg.js +1603 -0
  97. data/app/assets/stylesheets/fae/application.css +8 -0
  98. data/app/assets/stylesheets/fae/base.scss +82 -0
  99. data/app/assets/stylesheets/fae/globals/_fonts.scss +43 -0
  100. data/app/assets/stylesheets/fae/globals/_icons.scss +15 -0
  101. data/app/assets/stylesheets/fae/globals/_plugins.scss +51 -0
  102. data/app/assets/stylesheets/fae/globals/_tags.scss +68 -0
  103. data/app/assets/stylesheets/fae/globals/imports/_extends.scss +53 -0
  104. data/app/assets/stylesheets/fae/globals/imports/_mixins.scss +58 -0
  105. data/app/assets/stylesheets/fae/globals/imports/_variables.scss +165 -0
  106. data/app/assets/stylesheets/fae/globals/imports/finescss/_fine.scss +7 -0
  107. data/app/assets/stylesheets/fae/globals/imports/finescss/_fine_functions.scss +88 -0
  108. data/app/assets/stylesheets/fae/globals/imports/finescss/_fine_mixins.scss +280 -0
  109. data/app/assets/stylesheets/fae/globals/imports/finescss/_fine_variables.scss +30 -0
  110. data/app/assets/stylesheets/fae/globals/layout/_base.scss +48 -0
  111. data/app/assets/stylesheets/fae/globals/layout/_breadcrumbs.scss +45 -0
  112. data/app/assets/stylesheets/fae/globals/layout/_content-header.scss +99 -0
  113. data/app/assets/stylesheets/fae/globals/legacy/_pre-1.3.scss +659 -0
  114. data/app/assets/stylesheets/fae/globals/navigation/_base.scss +22 -0
  115. data/app/assets/stylesheets/fae/globals/navigation/_footer.scss +50 -0
  116. data/app/assets/stylesheets/fae/globals/navigation/_header.scss +149 -0
  117. data/app/assets/stylesheets/fae/globals/navigation/_mobilenav.scss +149 -0
  118. data/app/assets/stylesheets/fae/globals/navigation/_search.scss +76 -0
  119. data/app/assets/stylesheets/fae/globals/navigation/_sidenav.scss +142 -0
  120. data/app/assets/stylesheets/fae/globals/navigation/_utility.scss +95 -0
  121. data/app/assets/stylesheets/fae/modules/_alerts.scss +50 -0
  122. data/app/assets/stylesheets/fae/modules/_buttons.scss +62 -0
  123. data/app/assets/stylesheets/fae/modules/_modal.scss +78 -0
  124. data/app/assets/stylesheets/fae/modules/_toggles.scss +48 -0
  125. data/app/assets/stylesheets/fae/modules/forms/_asset-actions.scss +83 -0
  126. data/app/assets/stylesheets/fae/modules/forms/_base.scss +100 -0
  127. data/app/assets/stylesheets/fae/modules/forms/_checkbox.scss +87 -0
  128. data/app/assets/stylesheets/fae/modules/forms/_colorpicker.scss +57 -0
  129. data/app/assets/stylesheets/fae/modules/forms/_date.scss +335 -0
  130. data/app/assets/stylesheets/fae/modules/forms/_hints.scss +40 -0
  131. data/app/assets/stylesheets/fae/modules/forms/_label.scss +57 -0
  132. data/app/assets/stylesheets/fae/modules/forms/_radio.scss +69 -0
  133. data/app/assets/stylesheets/fae/modules/forms/_select.scss +317 -0
  134. data/app/assets/stylesheets/fae/modules/forms/_simple-mde.scss +29 -0
  135. data/app/assets/stylesheets/fae/modules/forms/_text.scss +62 -0
  136. data/app/assets/stylesheets/fae/modules/forms/_textarea.scss +16 -0
  137. data/app/assets/stylesheets/fae/modules/forms/_validation.scss +63 -0
  138. data/app/assets/stylesheets/fae/modules/tables/_actions.scss +41 -0
  139. data/app/assets/stylesheets/fae/modules/tables/_base.scss +63 -0
  140. data/app/assets/stylesheets/fae/modules/tables/_collapsible.scss +76 -0
  141. data/app/assets/stylesheets/fae/modules/tables/_filters.scss +61 -0
  142. data/app/assets/stylesheets/fae/modules/tables/_image.scss +21 -0
  143. data/app/assets/stylesheets/fae/modules/tables/_pagination.scss +34 -0
  144. data/app/assets/stylesheets/fae/modules/tables/_sorting.scss +58 -0
  145. data/app/assets/stylesheets/fae/modules/tables/_sticky.scss +9 -0
  146. data/app/assets/stylesheets/fae/modules/tables/_tooltips.scss +24 -0
  147. data/app/assets/stylesheets/fae/pages/_error.scss +35 -0
  148. data/app/assets/stylesheets/fae/pages/_help.scss +28 -0
  149. data/app/assets/stylesheets/fae/pages/_home.scss +18 -0
  150. data/app/assets/stylesheets/fae/pages/_login.scss +137 -0
  151. data/app/assets/stylesheets/fae/vendor/chosen.css +377 -0
  152. data/app/assets/stylesheets/fae/vendor/daterangepicker.css +227 -0
  153. data/app/assets/stylesheets/fae/vendor/reset.css +48 -0
  154. data/app/assets/stylesheets/fae/vendor/simplemde.min.css +7 -0
  155. data/app/assets/stylesheets/fae/vendor/trumbowyg.css +584 -0
  156. data/app/controllers/concerns/fae/application_controller_concern.rb +1 -0
  157. data/app/controllers/concerns/fae/asset_cloner.rb +46 -0
  158. data/app/controllers/concerns/fae/cloneable.rb +136 -0
  159. data/app/controllers/fae/application_controller.rb +123 -0
  160. data/app/controllers/fae/base_controller.rb +117 -0
  161. data/app/controllers/fae/files_controller.rb +26 -0
  162. data/app/controllers/fae/images_controller.rb +37 -0
  163. data/app/controllers/fae/nested_base_controller.rb +100 -0
  164. data/app/controllers/fae/options_controller.rb +29 -0
  165. data/app/controllers/fae/pages_controller.rb +44 -0
  166. data/app/controllers/fae/setup_controller.rb +54 -0
  167. data/app/controllers/fae/static_pages_controller.rb +54 -0
  168. data/app/controllers/fae/users_controller.rb +71 -0
  169. data/app/controllers/fae/utilities_controller.rb +61 -0
  170. data/app/helpers/fae/application_helper.rb +114 -0
  171. data/app/helpers/fae/fae_helper.rb +6 -0
  172. data/app/helpers/fae/form_helper.rb +240 -0
  173. data/app/helpers/fae/nested_form_helper.rb +39 -0
  174. data/app/helpers/fae/view_helper.rb +175 -0
  175. data/app/inputs/date_range_input.rb +17 -0
  176. data/app/inputs/radio_collection_input.rb +17 -0
  177. data/app/inputs/symbol_input.rb +5 -0
  178. data/app/models/concerns/fae/assets_validatable.rb +12 -0
  179. data/app/models/concerns/fae/authorization_concern.rb +12 -0
  180. data/app/models/concerns/fae/base_model_concern.rb +105 -0
  181. data/app/models/concerns/fae/change_concern.rb +1 -0
  182. data/app/models/concerns/fae/file_concern.rb +1 -0
  183. data/app/models/concerns/fae/image_concern.rb +1 -0
  184. data/app/models/concerns/fae/navigation_concern.rb +10 -0
  185. data/app/models/concerns/fae/option_concern.rb +1 -0
  186. data/app/models/concerns/fae/page_validatable.rb +26 -0
  187. data/app/models/concerns/fae/paper_trailer.rb +8 -0
  188. data/app/models/concerns/fae/role_concern.rb +1 -0
  189. data/app/models/concerns/fae/sortable.rb +51 -0
  190. data/app/models/concerns/fae/static_page_concern.rb +1 -0
  191. data/app/models/concerns/fae/text_area_concern.rb +1 -0
  192. data/app/models/concerns/fae/text_field_concern.rb +1 -0
  193. data/app/models/concerns/fae/trackable.rb +124 -0
  194. data/app/models/concerns/fae/user_concern.rb +7 -0
  195. data/app/models/fae/authorization.rb +8 -0
  196. data/app/models/fae/change.rb +53 -0
  197. data/app/models/fae/file.rb +24 -0
  198. data/app/models/fae/image.rb +33 -0
  199. data/app/models/fae/navigation.rb +132 -0
  200. data/app/models/fae/option.rb +38 -0
  201. data/app/models/fae/role.rb +18 -0
  202. data/app/models/fae/static_page.rb +109 -0
  203. data/app/models/fae/text_area.rb +14 -0
  204. data/app/models/fae/text_field.rb +14 -0
  205. data/app/models/fae/user.rb +67 -0
  206. data/app/uploaders/fae/file_uploader.rb +26 -0
  207. data/app/uploaders/fae/image_uploader.rb +28 -0
  208. data/app/validators/fae/cross_model_uniqueness_validator.rb +14 -0
  209. data/app/views/devise/confirmations/new.html.slim +13 -0
  210. data/app/views/devise/mailer/confirmation_instructions.html.slim +3 -0
  211. data/app/views/devise/mailer/reset_password_instructions.html.slim +5 -0
  212. data/app/views/devise/mailer/unlock_instructions.html.slim +4 -0
  213. data/app/views/devise/passwords/edit.html.slim +10 -0
  214. data/app/views/devise/passwords/new.html.slim +10 -0
  215. data/app/views/devise/registrations/edit.html.slim +22 -0
  216. data/app/views/devise/registrations/new.html.slim +15 -0
  217. data/app/views/devise/sessions/new.html.slim +7 -0
  218. data/app/views/devise/shared/_links.slim +25 -0
  219. data/app/views/devise/unlocks/new.html.slim +13 -0
  220. data/app/views/fae/application/_breadcrumb.html.slim +19 -0
  221. data/app/views/fae/application/_content_form.html.slim +55 -0
  222. data/app/views/fae/application/_credit.slim +6 -0
  223. data/app/views/fae/application/_file_uploader.html.slim +36 -0
  224. data/app/views/fae/application/_flash_messages.slim +2 -0
  225. data/app/views/fae/application/_global_search_results.html.slim +37 -0
  226. data/app/views/fae/application/_header.slim +50 -0
  227. data/app/views/fae/application/_markdown_helper.slim +41 -0
  228. data/app/views/fae/application/_mobilenav.slim +66 -0
  229. data/app/views/fae/application/_sidenav.slim +23 -0
  230. data/app/views/fae/application/_user_log.html.slim +36 -0
  231. data/app/views/fae/images/_image_uploader.html.slim +66 -0
  232. data/app/views/fae/options/_form.html.slim +16 -0
  233. data/app/views/fae/options/edit.html.slim +1 -0
  234. data/app/views/fae/pages/activity_log.html.slim +32 -0
  235. data/app/views/fae/pages/disabled_environment.html.slim +4 -0
  236. data/app/views/fae/pages/error404.html.slim +7 -0
  237. data/app/views/fae/pages/help.html.slim +35 -0
  238. data/app/views/fae/pages/home.html.slim +36 -0
  239. data/app/views/fae/setup/first_user.html.slim +11 -0
  240. data/app/views/fae/shared/_errors.slim +4 -0
  241. data/app/views/fae/shared/_form_header.html.slim +40 -0
  242. data/app/views/fae/shared/_index_header.html.slim +26 -0
  243. data/app/views/fae/shared/_nested_table.html.slim +49 -0
  244. data/app/views/fae/shared/_recent_changes.html.slim +22 -0
  245. data/app/views/fae/shared/_shared_nested_table.html.slim +46 -0
  246. data/app/views/fae/static_pages/index.html.slim +13 -0
  247. data/app/views/fae/users/_form.html.slim +19 -0
  248. data/app/views/fae/users/edit.html.slim +1 -0
  249. data/app/views/fae/users/index.html.slim +23 -0
  250. data/app/views/fae/users/new.html.slim +1 -0
  251. data/app/views/fae/users/settings.html.slim +1 -0
  252. data/app/views/kaminari/fae/_gap.html.slim +8 -0
  253. data/app/views/kaminari/fae/_next_page.html.slim +9 -0
  254. data/app/views/kaminari/fae/_page.html.slim +15 -0
  255. data/app/views/kaminari/fae/_paginator.html.slim +15 -0
  256. data/app/views/kaminari/fae/_prev_page.html.slim +9 -0
  257. data/app/views/layouts/devise.html.slim +29 -0
  258. data/app/views/layouts/fae/application.html.slim +23 -0
  259. data/app/views/layouts/fae/error.html.slim +11 -0
  260. data/config/deploy.rb +73 -0
  261. data/config/deploy/dev.rb +19 -0
  262. data/config/deploy/prod.rb +19 -0
  263. data/config/deploy/stage.rb +19 -0
  264. data/config/initializers/assets.rb +1 -0
  265. data/config/initializers/carrierwave.rb +3 -0
  266. data/config/initializers/devise.rb +258 -0
  267. data/config/initializers/devise_monkeypatch.rb +11 -0
  268. data/config/initializers/fae_judge.rb +3 -0
  269. data/config/initializers/inflections.rb +16 -0
  270. data/config/initializers/kaminari_config.rb +10 -0
  271. data/config/initializers/simple_form.rb +147 -0
  272. data/config/initializers/time_formats.rb +3 -0
  273. data/config/locales/devise.en.yml +59 -0
  274. data/config/locales/devise.zh-CN.yml +59 -0
  275. data/config/locales/fae.en.yml +10 -0
  276. data/config/locales/fae.zh-CN.yml +10 -0
  277. data/config/locales/simple_form.en.yml +26 -0
  278. data/config/locales/simple_form.zh-CN.yml +26 -0
  279. data/config/routes.rb +46 -0
  280. data/db/migrate/20140809222030_add_user_table.rb +49 -0
  281. data/db/migrate/20140822224029_create_fae_roles.rb +10 -0
  282. data/db/migrate/20141008180718_create_fae_images_table.rb +19 -0
  283. data/db/migrate/20141017194616_create_fae_options.rb +16 -0
  284. data/db/migrate/20141021181327_create_fae_files.rb +17 -0
  285. data/db/migrate/20141021183047_create_fae_text_areas.rb +16 -0
  286. data/db/migrate/20141021184311_create_fae_pages.rb +13 -0
  287. data/db/migrate/20141105214814_create_fae_text_fields.rb +15 -0
  288. data/db/migrate/20150930224821_create_fae_changes.rb +17 -0
  289. data/lib/fae-rails.rb +6 -0
  290. data/lib/fae/concerns/models/base.rb +8 -0
  291. data/lib/fae/engine.rb +37 -0
  292. data/lib/fae/options.rb +35 -0
  293. data/lib/fae/validation_helper_collection.rb +76 -0
  294. data/lib/fae/version.rb +3 -0
  295. data/lib/file_size_validator.rb +71 -0
  296. data/lib/generators/fae/base_generator.rb +156 -0
  297. data/lib/generators/fae/controller_generator.rb +13 -0
  298. data/lib/generators/fae/install_generator.rb +61 -0
  299. data/lib/generators/fae/model_generator.rb +11 -0
  300. data/lib/generators/fae/nested_index_scaffold_generator.rb +36 -0
  301. data/lib/generators/fae/nested_scaffold_generator.rb +51 -0
  302. data/lib/generators/fae/page_generator.rb +65 -0
  303. data/lib/generators/fae/scaffold_generator.rb +15 -0
  304. data/lib/generators/fae/templates/assets/fae.js +6 -0
  305. data/lib/generators/fae/templates/assets/fae.scss +2 -0
  306. data/lib/generators/fae/templates/controllers/nested_index_scaffold_controller.rb +81 -0
  307. data/lib/generators/fae/templates/controllers/nested_scaffold_controller.rb +13 -0
  308. data/lib/generators/fae/templates/controllers/scaffold_controller.rb +13 -0
  309. data/lib/generators/fae/templates/controllers/static_pages_controller.rb +10 -0
  310. data/lib/generators/fae/templates/initializers/fae.rb +63 -0
  311. data/lib/generators/fae/templates/initializers/fae_fine.rb +51 -0
  312. data/lib/generators/fae/templates/initializers/judge.rb +6 -0
  313. data/lib/generators/fae/templates/models/concerns/authorization_concern.rb +27 -0
  314. data/lib/generators/fae/templates/models/concerns/navigation_concern.rb +33 -0
  315. data/lib/generators/fae/templates/models/pages_model.rb +14 -0
  316. data/lib/generators/fae/templates/tasks/fae_tasks.rake +19 -0
  317. data/lib/generators/fae/templates/views/_form.html.slim +18 -0
  318. data/lib/generators/fae/templates/views/_form_index_nested.html.slim +13 -0
  319. data/lib/generators/fae/templates/views/_form_nested.html.slim +17 -0
  320. data/lib/generators/fae/templates/views/edit.html.slim +1 -0
  321. data/lib/generators/fae/templates/views/edit_nested.html.slim +3 -0
  322. data/lib/generators/fae/templates/views/index.html.slim +35 -0
  323. data/lib/generators/fae/templates/views/index_nested.html.slim +8 -0
  324. data/lib/generators/fae/templates/views/new.html.slim +1 -0
  325. data/lib/generators/fae/templates/views/new_nested.html.slim +3 -0
  326. data/lib/generators/fae/templates/views/static_page_form.html.slim +15 -0
  327. data/lib/generators/fae/templates/views/table_nested.html.slim +4 -0
  328. metadata +692 -0
@@ -0,0 +1,51 @@
1
+ Fae.setup do |config|
2
+
3
+ ## devise_mailer_sender
4
+ # This email address will get passed to Devise and
5
+ # used as the from address in the password reset emails.
6
+ # config.devise_mailer_sender = 'change-me@example.com'
7
+
8
+ ## dashboard_exclusions
9
+ # The dashboard will show all objects with recent activity.
10
+ # To exclude any objects, add them to this array.
11
+ # config.dashboard_exclusions = %w( Gallery )
12
+
13
+ ## max_image_upload_size
14
+ # This will set a file size limit on image uploads in MBs.
15
+ # The default is 2 MB.
16
+ # config.max_image_upload_size = 2
17
+
18
+ ## max_file_upload_size
19
+ # This will set a file size limit on file uploads in MBs.
20
+ # The default is 5 MB.
21
+ # config.max_file_upload_size = 5
22
+
23
+ ## languages
24
+ # This hash sets the supported languages for the multiple
25
+ # language toggle feature.
26
+ # config.languages = {
27
+ # en: 'English',
28
+ # zh: 'Chinese'
29
+ # }
30
+
31
+ ## recreate_versions
32
+ # Triggers `Fae::Image` to recreate Carrierwave versions after save.
33
+ # Defaults to false
34
+ # config.recreate_versions = false
35
+
36
+ ## track_changes
37
+ # This is the global toggle for the change tracker.
38
+ # Defaults to true
39
+ # config.track_changes = true
40
+
41
+ ## tracker_history_length
42
+ # This defines how many changes per object are kept in the DB
43
+ # via the change tracker.
44
+ # Defaults to 15
45
+ # config.tracker_history_length = 15
46
+
47
+ ## disabled_environments
48
+ # This option will disable Fae complete when the app is running
49
+ # on one of the defined environments
50
+ config.disabled_environments = [ :stage ]
51
+ end
@@ -0,0 +1,6 @@
1
+ # expose uniqueness attributes in Judge in here with the following syntax
2
+ #
3
+ # Judge.configure do
4
+ # expose Model1, :attr
5
+ # expose Model2, :attr1, :attr2
6
+ # end
@@ -0,0 +1,27 @@
1
+ module Fae
2
+ module AuthorizationConcern
3
+ extend ActiveSupport::Concern
4
+ module ClassMethods
5
+
6
+ # Use the access_map to define any controllers that need any special authorization
7
+ # Fae comes with three default roles:
8
+ # - super admin: CRUD all objects, INCLUDING users and root settings
9
+ # - admin: CRUD all objects, INCLUDING users and EXCLUDING root settings
10
+ # - users: CRUD all objects, EXCLUDING users and root settings
11
+
12
+ # each item should have a string key of the plural controller name and
13
+ # an array of role names for the value
14
+ # use "content_blocks/#{page_name}" for content blocks
15
+
16
+ # example:
17
+ # {
18
+ # 'people' => ['super admin', 'admin'],
19
+ # 'content_blocks/about_us' => ['super admin']
20
+ # }
21
+ def access_map
22
+ {}
23
+ end
24
+
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,33 @@
1
+ module Fae
2
+ module NavigationConcern
3
+ extend ActiveSupport::Concern
4
+
5
+ # define the navigation structure in this file
6
+ # example structure:
7
+ #
8
+ # def structure
9
+ # [
10
+ # item('Top Nav Item 1', subitems: [
11
+ # item('Top Nav Dropdown Item 1', class: 'custom-class', path: some_named_route_path),
12
+ # item('Top Nav Dropdown Item 2', subitems: [
13
+ # item('Side Nav Item 1', subitems: [
14
+ # item('Side Nav Nested Item', path: some_named_route_path)
15
+ # ]),
16
+ # item('Side Nav Item 1', path: some_named_route_path)
17
+ # ]),
18
+ # ]),
19
+ # item('Pages', subitems: [
20
+ # item('Home', path: fae.edit_content_block_path('home')),
21
+ # item('About Us', path: fae.edit_content_block_path('about_us'))
22
+ # ])
23
+ # ]
24
+ # end
25
+
26
+ def structure
27
+ [
28
+ # scaffold inject marker
29
+ ]
30
+ end
31
+
32
+ end
33
+ end
@@ -0,0 +1,14 @@
1
+ class <%= class_name %>Page < Fae::StaticPage
2
+
3
+ @slug = '<%= file_name %>'
4
+
5
+ # required to set the has_one associations, Fae::StaticPage will build these associations dynamically
6
+ def self.fae_fields
7
+ {
8
+ <% @attributes.each_with_index do |(attr, type), index| -%>
9
+ <%= attr %>: { type: <%= type %> }<%= index + 1 != @attributes.length ? ",\n" : "\n" -%>
10
+ <% end -%>
11
+ }
12
+ end
13
+
14
+ end
@@ -0,0 +1,19 @@
1
+ namespace :fae do
2
+ desc "Seeds the parent app with Fae's defaults"
3
+ task :seed_db => :environment do
4
+ Fae::Role.delete_all
5
+ Fae::Role.create(name: 'super admin', position: 0)
6
+ Fae::Role.create(name: 'admin', position: 1)
7
+ Fae::Role.create(name: 'user', position: 2)
8
+
9
+ if Fae::Option.first.blank?
10
+ option = Fae::Option.new({
11
+ title: 'My FINE Admin',
12
+ singleton_guard: 0,
13
+ time_zone: 'Pacific Time (US & Canada)',
14
+ live_url: 'http://www.wearefine.com'
15
+ })
16
+ option.save!
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,18 @@
1
+ = simple_form_for(['admin', @item]) do |f|
2
+ == render 'fae/shared/form_header', header: @klass_name
3
+
4
+ main.content
5
+ <% @form_attrs.each do |attr| -%>
6
+ = fae_input f, :<%= attr %>
7
+ <% end -%>
8
+
9
+ <% @association_names.each do |attr| -%>
10
+ = fae_association f, :<%= attr %>
11
+ <% end -%>
12
+ <% @attachments.each do |attachment| %>
13
+ <% if attachment.type == :image -%>
14
+ = fae_image_form f, :<%= attachment.name -%>
15
+ <% elsif attachment.type == :file -%>
16
+ = fae_file_form f, :<%= attachment.name -%>
17
+ <% end -%>
18
+ <% end -%>
@@ -0,0 +1,13 @@
1
+ = simple_form_for(['<%= options.namespace %>', @item], html: {multipart: true, novalidate: true, class: 'js-file-form'}, remote: true, data: {type: "html"}) do |f|
2
+ <% @form_attrs.each do |attr| -%>
3
+ = fae_input f, :<%= attr %>
4
+ <% end -%>
5
+ <% @attachments.each do |attachment| %>
6
+ <% if attachment.type == :image -%>
7
+ = fae_image_form f, :<%= attachment.name -%>
8
+ <% elsif attachment.type == :file -%>
9
+ = fae_file_form f, :<%= attachment.name -%>
10
+ <% end -%>
11
+ <% end -%>
12
+
13
+ = f.submit
@@ -0,0 +1,17 @@
1
+ = simple_form_for(['<%= options.namespace %>', @item], html: {multipart: true, novalidate: true, class: 'js-file-form'}, remote: true, data: {type: "html"}) do |f|
2
+ <% @form_attrs.each do |attr| -%>
3
+ = fae_input f, :<%= attr %>
4
+ <% end -%>
5
+ <% @attachments.each do |attachment| %>
6
+ <% if attachment.type == :image -%>
7
+ = fae_image_form f, :<%= attachment.name -%>
8
+ <% elsif attachment.type == :file -%>
9
+ = fae_file_form f, :<%= attachment.name -%>
10
+ <% end -%>
11
+ <% end -%>
12
+ <% if options.parent_model.present? %>
13
+ = f.hidden_field :<%= options.parent_model.underscore %>_id
14
+ <% end -%>
15
+
16
+ = f.submit
17
+ = button_tag 'Cancel', type: 'button', class: 'js-cancel-nested cancel-nested-button'
@@ -0,0 +1 @@
1
+ == render 'form'
@@ -0,0 +1,3 @@
1
+ .nested-form
2
+ h2 Edit <%= class_name.titleize %>
3
+ == render 'form'
@@ -0,0 +1,35 @@
1
+ <% table_class = @has_position ? 'js-sort-row' : 'js-sort-column' -%>
2
+ <% num_columns = 3 -%>
3
+ == render 'fae/shared/index_header', title: @klass_humanized.pluralize.titleize
4
+
5
+ main.content
6
+ table.<%= table_class %>
7
+ thead
8
+ tr
9
+ <% if @has_position -%>
10
+ th.th-sortable-handle
11
+ <% num_columns += 1 -%>
12
+ <% end -%>
13
+ th <%= @display_field.present? ? @display_field.titleize : 'Name' %>
14
+ th.-action-wide Modified
15
+ <% @toggle_attrs.each do |attr| -%>
16
+ th.-action-wide data-sorter="false" <%= attr.titleize %>
17
+ <% num_columns += 1 -%>
18
+ <% end -%>
19
+ th.-action data-sorter="false"
20
+
21
+ tbody
22
+ - if @items.present?
23
+ - @items.each do |item|
24
+ tr id=fae_sort_id(item)
25
+ <% if @has_position -%>
26
+ td.sortable-handle: i.icon-sort
27
+ <% end -%>
28
+ td = link_to item.fae_display_field, edit_<%= options.namespace %>_<%= class_name.underscore %>_path(item)
29
+ td = fae_date_format item.updated_at
30
+ <% @toggle_attrs.each do |attr| -%>
31
+ td = fae_toggle item, :<%= attr %>
32
+ <% end -%>
33
+ td = fae_delete_button item
34
+ - else
35
+ tr: td colspan="<%= num_columns %>" No items found
@@ -0,0 +1,8 @@
1
+ section.js-index-addedit-form
2
+ == render 'fae/shared/index_header', nested: true
3
+
4
+ == render 'fae/shared/nested_table',
5
+ assoc: :<%= file_name.pluralize %>,
6
+ index: true,
7
+ ordered: <%= @has_position %>,
8
+ cols: [<%= @form_attrs.map {|attr| ":#{attr}"}.join(', ') %>]
@@ -0,0 +1 @@
1
+ == render 'form'
@@ -0,0 +1,3 @@
1
+ .nested-form
2
+ h2 New <%= class_name.titleize %>
3
+ == render 'form'
@@ -0,0 +1,15 @@
1
+ = simple_form_for @item, url: fae.update_content_block_path(slug: @item.slug), method: :put do |f|
2
+ == render 'fae/shared/form_header', header: @item
3
+
4
+ main.content
5
+ = fae_input f, :title
6
+
7
+ <% @attributes.each do |attr, type| -%>
8
+ <% if ["Fae::TextArea", "Fae::TextField"].include? type -%>
9
+ = fae_content_form f, :<%= attr %>
10
+ <% elsif "Fae::Image" == type -%>
11
+ = fae_image_form f, :<%= attr %>
12
+ <% elsif "Fae::File" == type -%>
13
+ = fae_file_form f, :<%= attr %>
14
+ <% end -%>
15
+ <% end -%>
@@ -0,0 +1,4 @@
1
+ == render 'fae/shared/nested_table',
2
+ assoc: :<%= file_name.pluralize %>,
3
+ parent_item: @parent_item,
4
+ cols: [<%= @form_attrs.map {|attr| ":#{attr}"}.join(', ') %>]
metadata ADDED
@@ -0,0 +1,692 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: fae-railsz
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.1.0
5
+ platform: ruby
6
+ authors:
7
+ - htmldrum
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2018-09-26 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '5.0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '5.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: jquery-rails
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 4.3.1
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 4.3.1
41
+ - !ruby/object:Gem::Dependency
42
+ name: sass
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: 3.4.0
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 3.4.0
55
+ - !ruby/object:Gem::Dependency
56
+ name: sass-rails
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: 5.0.7
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: 5.0.7
69
+ - !ruby/object:Gem::Dependency
70
+ name: uglifier
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: acts_as_list
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 0.9.11
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: 0.9.11
97
+ - !ruby/object:Gem::Dependency
98
+ name: browser
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: 2.5.3
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 2.5.3
111
+ - !ruby/object:Gem::Dependency
112
+ name: carrierwave
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: 1.2.2
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: 1.2.2
125
+ - !ruby/object:Gem::Dependency
126
+ name: devise
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: 4.4.3
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: 4.4.3
139
+ - !ruby/object:Gem::Dependency
140
+ name: jquery-ui-rails
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: 6.0.1
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: 6.0.1
153
+ - !ruby/object:Gem::Dependency
154
+ name: mini_magick
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :runtime
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: judge
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: 3.0.0
174
+ type: :runtime
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: 3.0.0
181
+ - !ruby/object:Gem::Dependency
182
+ name: judge-simple_form
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - "~>"
186
+ - !ruby/object:Gem::Version
187
+ version: 1.1.0
188
+ type: :runtime
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - "~>"
193
+ - !ruby/object:Gem::Version
194
+ version: 1.1.0
195
+ - !ruby/object:Gem::Dependency
196
+ name: kaminari
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - "~>"
200
+ - !ruby/object:Gem::Version
201
+ version: 1.1.1
202
+ type: :runtime
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - "~>"
207
+ - !ruby/object:Gem::Version
208
+ version: 1.1.1
209
+ - !ruby/object:Gem::Dependency
210
+ name: remotipart
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - "~>"
214
+ - !ruby/object:Gem::Version
215
+ version: 1.4.0
216
+ type: :runtime
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - "~>"
221
+ - !ruby/object:Gem::Version
222
+ version: 1.4.0
223
+ - !ruby/object:Gem::Dependency
224
+ name: simple_form
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - "~>"
228
+ - !ruby/object:Gem::Version
229
+ version: 4.0.0
230
+ type: :runtime
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - "~>"
235
+ - !ruby/object:Gem::Version
236
+ version: 4.0.0
237
+ - !ruby/object:Gem::Dependency
238
+ name: slim
239
+ requirement: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - ">="
242
+ - !ruby/object:Gem::Version
243
+ version: '0'
244
+ type: :runtime
245
+ prerelease: false
246
+ version_requirements: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - ">="
249
+ - !ruby/object:Gem::Version
250
+ version: '0'
251
+ - !ruby/object:Gem::Dependency
252
+ name: appraisal
253
+ requirement: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - ">="
256
+ - !ruby/object:Gem::Version
257
+ version: '0'
258
+ type: :development
259
+ prerelease: false
260
+ version_requirements: !ruby/object:Gem::Requirement
261
+ requirements:
262
+ - - ">="
263
+ - !ruby/object:Gem::Version
264
+ version: '0'
265
+ - !ruby/object:Gem::Dependency
266
+ name: better_errors
267
+ requirement: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - ">="
270
+ - !ruby/object:Gem::Version
271
+ version: '0'
272
+ type: :development
273
+ prerelease: false
274
+ version_requirements: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - ">="
277
+ - !ruby/object:Gem::Version
278
+ version: '0'
279
+ - !ruby/object:Gem::Dependency
280
+ name: binding_of_caller
281
+ requirement: !ruby/object:Gem::Requirement
282
+ requirements:
283
+ - - ">="
284
+ - !ruby/object:Gem::Version
285
+ version: '0'
286
+ type: :development
287
+ prerelease: false
288
+ version_requirements: !ruby/object:Gem::Requirement
289
+ requirements:
290
+ - - ">="
291
+ - !ruby/object:Gem::Version
292
+ version: '0'
293
+ - !ruby/object:Gem::Dependency
294
+ name: rails-perftest
295
+ requirement: !ruby/object:Gem::Requirement
296
+ requirements:
297
+ - - ">="
298
+ - !ruby/object:Gem::Version
299
+ version: '0'
300
+ type: :development
301
+ prerelease: false
302
+ version_requirements: !ruby/object:Gem::Requirement
303
+ requirements:
304
+ - - ">="
305
+ - !ruby/object:Gem::Version
306
+ version: '0'
307
+ - !ruby/object:Gem::Dependency
308
+ name: ruby-prof
309
+ requirement: !ruby/object:Gem::Requirement
310
+ requirements:
311
+ - - ">="
312
+ - !ruby/object:Gem::Version
313
+ version: '0'
314
+ type: :development
315
+ prerelease: false
316
+ version_requirements: !ruby/object:Gem::Requirement
317
+ requirements:
318
+ - - ">="
319
+ - !ruby/object:Gem::Version
320
+ version: '0'
321
+ - !ruby/object:Gem::Dependency
322
+ name: thin
323
+ requirement: !ruby/object:Gem::Requirement
324
+ requirements:
325
+ - - ">="
326
+ - !ruby/object:Gem::Version
327
+ version: '0'
328
+ type: :development
329
+ prerelease: false
330
+ version_requirements: !ruby/object:Gem::Requirement
331
+ requirements:
332
+ - - ">="
333
+ - !ruby/object:Gem::Version
334
+ version: '0'
335
+ description: CMS for Rails. For Reals.
336
+ email:
337
+ - htmldrum@tutanota.com
338
+ executables: []
339
+ extensions: []
340
+ extra_rdoc_files: []
341
+ files:
342
+ - README.md
343
+ - Rakefile
344
+ - app/assets/fonts/fae/icons.eot
345
+ - app/assets/fonts/fae/icons.svg
346
+ - app/assets/fonts/fae/icons.ttf
347
+ - app/assets/fonts/fae/icons.woff
348
+ - app/assets/fonts/fae/lato-bold-webfont.eot
349
+ - app/assets/fonts/fae/lato-bold-webfont.svg
350
+ - app/assets/fonts/fae/lato-bold-webfont.ttf
351
+ - app/assets/fonts/fae/lato-bold-webfont.woff
352
+ - app/assets/fonts/fae/lato-light-webfont.eot
353
+ - app/assets/fonts/fae/lato-light-webfont.svg
354
+ - app/assets/fonts/fae/lato-light-webfont.ttf
355
+ - app/assets/fonts/fae/lato-light-webfont.woff
356
+ - app/assets/fonts/fae/lato-regular-webfont.eot
357
+ - app/assets/fonts/fae/lato-regular-webfont.svg
358
+ - app/assets/fonts/fae/lato-regular-webfont.ttf
359
+ - app/assets/fonts/fae/lato-regular-webfont.woff
360
+ - app/assets/fonts/fae/selection.json
361
+ - app/assets/images/fae/error_bg.jpg
362
+ - app/assets/images/fae/error_sad_face.png
363
+ - app/assets/images/fae/icons/alert.svg
364
+ - app/assets/images/fae/icons/arrow_down.svg
365
+ - app/assets/images/fae/icons/arrow_left.svg
366
+ - app/assets/images/fae/icons/arrow_right.svg
367
+ - app/assets/images/fae/icons/arrow_stacked.svg
368
+ - app/assets/images/fae/icons/arrow_up.svg
369
+ - app/assets/images/fae/icons/calendar.svg
370
+ - app/assets/images/fae/icons/check.svg
371
+ - app/assets/images/fae/icons/checkmark.svg
372
+ - app/assets/images/fae/icons/chevron_down.svg
373
+ - app/assets/images/fae/icons/chevron_left.svg
374
+ - app/assets/images/fae/icons/chevron_right.svg
375
+ - app/assets/images/fae/icons/chevron_up.svg
376
+ - app/assets/images/fae/icons/delete.svg
377
+ - app/assets/images/fae/icons/delete_x.svg
378
+ - app/assets/images/fae/icons/edit.svg
379
+ - app/assets/images/fae/icons/handle.svg
380
+ - app/assets/images/fae/icons/home.svg
381
+ - app/assets/images/fae/icons/logout.svg
382
+ - app/assets/images/fae/icons/magnifying_glass.svg
383
+ - app/assets/images/fae/icons/menu.svg
384
+ - app/assets/images/fae/icons/offlink.svg
385
+ - app/assets/images/fae/icons/plus.svg
386
+ - app/assets/images/fae/icons/pulldown.svg
387
+ - app/assets/images/fae/icons/search.svg
388
+ - app/assets/images/fae/icons/settings.svg
389
+ - app/assets/images/fae/icons/sort.svg
390
+ - app/assets/images/fae/icons/support.svg
391
+ - app/assets/images/fae/icons/trash.svg
392
+ - app/assets/images/fae/icons/trumbowyg.svg
393
+ - app/assets/images/fae/icons/user.svg
394
+ - app/assets/images/fae/icons/users.svg
395
+ - app/assets/images/fae/icons/zoom.svg
396
+ - app/assets/images/fae/tutorial_model_location.png
397
+ - app/assets/images/fae/youtube_helper.jpg
398
+ - app/assets/javascripts/fae/_modals.js
399
+ - app/assets/javascripts/fae/_tables.js
400
+ - app/assets/javascripts/fae/admin.js.erb
401
+ - app/assets/javascripts/fae/application.js
402
+ - app/assets/javascripts/fae/fae_init.js
403
+ - app/assets/javascripts/fae/form/_ajax.js
404
+ - app/assets/javascripts/fae/form/_cancel.js
405
+ - app/assets/javascripts/fae/form/_filtering.js
406
+ - app/assets/javascripts/fae/form/_form.js
407
+ - app/assets/javascripts/fae/form/_slugger.js.erb
408
+ - app/assets/javascripts/fae/form/_validator.js
409
+ - app/assets/javascripts/fae/form/fae_chosen.js
410
+ - app/assets/javascripts/fae/form/fileinputer.js
411
+ - app/assets/javascripts/fae/form/hinter.js
412
+ - app/assets/javascripts/fae/form/inputs/_checkbox.js
413
+ - app/assets/javascripts/fae/form/inputs/_color.js
414
+ - app/assets/javascripts/fae/form/inputs/_dates.js
415
+ - app/assets/javascripts/fae/form/inputs/_select.js
416
+ - app/assets/javascripts/fae/form/inputs/_text.js
417
+ - app/assets/javascripts/fae/navigation/_global_search.js
418
+ - app/assets/javascripts/fae/navigation/_language.js
419
+ - app/assets/javascripts/fae/navigation/_navigation.js
420
+ - app/assets/javascripts/fae/navigation/_subnav_highlighter.js
421
+ - app/assets/javascripts/fae/navigation/sticky.js
422
+ - app/assets/javascripts/fae/vendor/chosen.jquery.min.js
423
+ - app/assets/javascripts/fae/vendor/frob_core_helpers.js
424
+ - app/assets/javascripts/fae/vendor/fryr.js
425
+ - app/assets/javascripts/fae/vendor/jqColorPicker.min.js
426
+ - app/assets/javascripts/fae/vendor/jquery.daterangepicker.js
427
+ - app/assets/javascripts/fae/vendor/jquery.multi-select.js
428
+ - app/assets/javascripts/fae/vendor/jquery.simplemodal.1.4.4.js
429
+ - app/assets/javascripts/fae/vendor/jquery.tablesorter.js
430
+ - app/assets/javascripts/fae/vendor/js.cookie.js
431
+ - app/assets/javascripts/fae/vendor/moment.min.js
432
+ - app/assets/javascripts/fae/vendor/simplemde.min.js
433
+ - app/assets/javascripts/fae/vendor/touch_punch.js
434
+ - app/assets/javascripts/fae/vendor/trumbowyg.js.erb
435
+ - app/assets/javascripts/fae/vendor/trumbowyg/plugins/upload/trumbowyg.upload.js
436
+ - app/assets/javascripts/fae/vendor/trumbowyg/trumbowyg.js
437
+ - app/assets/stylesheets/fae/application.css
438
+ - app/assets/stylesheets/fae/base.scss
439
+ - app/assets/stylesheets/fae/globals/_fonts.scss
440
+ - app/assets/stylesheets/fae/globals/_icons.scss
441
+ - app/assets/stylesheets/fae/globals/_plugins.scss
442
+ - app/assets/stylesheets/fae/globals/_tags.scss
443
+ - app/assets/stylesheets/fae/globals/imports/_extends.scss
444
+ - app/assets/stylesheets/fae/globals/imports/_mixins.scss
445
+ - app/assets/stylesheets/fae/globals/imports/_variables.scss
446
+ - app/assets/stylesheets/fae/globals/imports/finescss/_fine.scss
447
+ - app/assets/stylesheets/fae/globals/imports/finescss/_fine_functions.scss
448
+ - app/assets/stylesheets/fae/globals/imports/finescss/_fine_mixins.scss
449
+ - app/assets/stylesheets/fae/globals/imports/finescss/_fine_variables.scss
450
+ - app/assets/stylesheets/fae/globals/layout/_base.scss
451
+ - app/assets/stylesheets/fae/globals/layout/_breadcrumbs.scss
452
+ - app/assets/stylesheets/fae/globals/layout/_content-header.scss
453
+ - app/assets/stylesheets/fae/globals/legacy/_pre-1.3.scss
454
+ - app/assets/stylesheets/fae/globals/navigation/_base.scss
455
+ - app/assets/stylesheets/fae/globals/navigation/_footer.scss
456
+ - app/assets/stylesheets/fae/globals/navigation/_header.scss
457
+ - app/assets/stylesheets/fae/globals/navigation/_mobilenav.scss
458
+ - app/assets/stylesheets/fae/globals/navigation/_search.scss
459
+ - app/assets/stylesheets/fae/globals/navigation/_sidenav.scss
460
+ - app/assets/stylesheets/fae/globals/navigation/_utility.scss
461
+ - app/assets/stylesheets/fae/modules/_alerts.scss
462
+ - app/assets/stylesheets/fae/modules/_buttons.scss
463
+ - app/assets/stylesheets/fae/modules/_modal.scss
464
+ - app/assets/stylesheets/fae/modules/_toggles.scss
465
+ - app/assets/stylesheets/fae/modules/forms/_asset-actions.scss
466
+ - app/assets/stylesheets/fae/modules/forms/_base.scss
467
+ - app/assets/stylesheets/fae/modules/forms/_checkbox.scss
468
+ - app/assets/stylesheets/fae/modules/forms/_colorpicker.scss
469
+ - app/assets/stylesheets/fae/modules/forms/_date.scss
470
+ - app/assets/stylesheets/fae/modules/forms/_hints.scss
471
+ - app/assets/stylesheets/fae/modules/forms/_label.scss
472
+ - app/assets/stylesheets/fae/modules/forms/_radio.scss
473
+ - app/assets/stylesheets/fae/modules/forms/_select.scss
474
+ - app/assets/stylesheets/fae/modules/forms/_simple-mde.scss
475
+ - app/assets/stylesheets/fae/modules/forms/_text.scss
476
+ - app/assets/stylesheets/fae/modules/forms/_textarea.scss
477
+ - app/assets/stylesheets/fae/modules/forms/_validation.scss
478
+ - app/assets/stylesheets/fae/modules/tables/_actions.scss
479
+ - app/assets/stylesheets/fae/modules/tables/_base.scss
480
+ - app/assets/stylesheets/fae/modules/tables/_collapsible.scss
481
+ - app/assets/stylesheets/fae/modules/tables/_filters.scss
482
+ - app/assets/stylesheets/fae/modules/tables/_image.scss
483
+ - app/assets/stylesheets/fae/modules/tables/_pagination.scss
484
+ - app/assets/stylesheets/fae/modules/tables/_sorting.scss
485
+ - app/assets/stylesheets/fae/modules/tables/_sticky.scss
486
+ - app/assets/stylesheets/fae/modules/tables/_tooltips.scss
487
+ - app/assets/stylesheets/fae/pages/_error.scss
488
+ - app/assets/stylesheets/fae/pages/_help.scss
489
+ - app/assets/stylesheets/fae/pages/_home.scss
490
+ - app/assets/stylesheets/fae/pages/_login.scss
491
+ - app/assets/stylesheets/fae/vendor/chosen.css
492
+ - app/assets/stylesheets/fae/vendor/daterangepicker.css
493
+ - app/assets/stylesheets/fae/vendor/reset.css
494
+ - app/assets/stylesheets/fae/vendor/simplemde.min.css
495
+ - app/assets/stylesheets/fae/vendor/trumbowyg.css
496
+ - app/controllers/concerns/fae/application_controller_concern.rb
497
+ - app/controllers/concerns/fae/asset_cloner.rb
498
+ - app/controllers/concerns/fae/cloneable.rb
499
+ - app/controllers/fae/application_controller.rb
500
+ - app/controllers/fae/base_controller.rb
501
+ - app/controllers/fae/files_controller.rb
502
+ - app/controllers/fae/images_controller.rb
503
+ - app/controllers/fae/nested_base_controller.rb
504
+ - app/controllers/fae/options_controller.rb
505
+ - app/controllers/fae/pages_controller.rb
506
+ - app/controllers/fae/setup_controller.rb
507
+ - app/controllers/fae/static_pages_controller.rb
508
+ - app/controllers/fae/users_controller.rb
509
+ - app/controllers/fae/utilities_controller.rb
510
+ - app/helpers/fae/application_helper.rb
511
+ - app/helpers/fae/fae_helper.rb
512
+ - app/helpers/fae/form_helper.rb
513
+ - app/helpers/fae/nested_form_helper.rb
514
+ - app/helpers/fae/view_helper.rb
515
+ - app/inputs/date_range_input.rb
516
+ - app/inputs/radio_collection_input.rb
517
+ - app/inputs/symbol_input.rb
518
+ - app/models/concerns/fae/assets_validatable.rb
519
+ - app/models/concerns/fae/authorization_concern.rb
520
+ - app/models/concerns/fae/base_model_concern.rb
521
+ - app/models/concerns/fae/change_concern.rb
522
+ - app/models/concerns/fae/file_concern.rb
523
+ - app/models/concerns/fae/image_concern.rb
524
+ - app/models/concerns/fae/navigation_concern.rb
525
+ - app/models/concerns/fae/option_concern.rb
526
+ - app/models/concerns/fae/page_validatable.rb
527
+ - app/models/concerns/fae/paper_trailer.rb
528
+ - app/models/concerns/fae/role_concern.rb
529
+ - app/models/concerns/fae/sortable.rb
530
+ - app/models/concerns/fae/static_page_concern.rb
531
+ - app/models/concerns/fae/text_area_concern.rb
532
+ - app/models/concerns/fae/text_field_concern.rb
533
+ - app/models/concerns/fae/trackable.rb
534
+ - app/models/concerns/fae/user_concern.rb
535
+ - app/models/fae/authorization.rb
536
+ - app/models/fae/change.rb
537
+ - app/models/fae/file.rb
538
+ - app/models/fae/image.rb
539
+ - app/models/fae/navigation.rb
540
+ - app/models/fae/option.rb
541
+ - app/models/fae/role.rb
542
+ - app/models/fae/static_page.rb
543
+ - app/models/fae/text_area.rb
544
+ - app/models/fae/text_field.rb
545
+ - app/models/fae/user.rb
546
+ - app/uploaders/fae/file_uploader.rb
547
+ - app/uploaders/fae/image_uploader.rb
548
+ - app/validators/fae/cross_model_uniqueness_validator.rb
549
+ - app/views/devise/confirmations/new.html.slim
550
+ - app/views/devise/mailer/confirmation_instructions.html.slim
551
+ - app/views/devise/mailer/reset_password_instructions.html.slim
552
+ - app/views/devise/mailer/unlock_instructions.html.slim
553
+ - app/views/devise/passwords/edit.html.slim
554
+ - app/views/devise/passwords/new.html.slim
555
+ - app/views/devise/registrations/edit.html.slim
556
+ - app/views/devise/registrations/new.html.slim
557
+ - app/views/devise/sessions/new.html.slim
558
+ - app/views/devise/shared/_links.slim
559
+ - app/views/devise/unlocks/new.html.slim
560
+ - app/views/fae/application/_breadcrumb.html.slim
561
+ - app/views/fae/application/_content_form.html.slim
562
+ - app/views/fae/application/_credit.slim
563
+ - app/views/fae/application/_file_uploader.html.slim
564
+ - app/views/fae/application/_flash_messages.slim
565
+ - app/views/fae/application/_global_search_results.html.slim
566
+ - app/views/fae/application/_header.slim
567
+ - app/views/fae/application/_markdown_helper.slim
568
+ - app/views/fae/application/_mobilenav.slim
569
+ - app/views/fae/application/_sidenav.slim
570
+ - app/views/fae/application/_user_log.html.slim
571
+ - app/views/fae/images/_image_uploader.html.slim
572
+ - app/views/fae/options/_form.html.slim
573
+ - app/views/fae/options/edit.html.slim
574
+ - app/views/fae/pages/activity_log.html.slim
575
+ - app/views/fae/pages/disabled_environment.html.slim
576
+ - app/views/fae/pages/error404.html.slim
577
+ - app/views/fae/pages/help.html.slim
578
+ - app/views/fae/pages/home.html.slim
579
+ - app/views/fae/setup/first_user.html.slim
580
+ - app/views/fae/shared/_errors.slim
581
+ - app/views/fae/shared/_form_header.html.slim
582
+ - app/views/fae/shared/_index_header.html.slim
583
+ - app/views/fae/shared/_nested_table.html.slim
584
+ - app/views/fae/shared/_recent_changes.html.slim
585
+ - app/views/fae/shared/_shared_nested_table.html.slim
586
+ - app/views/fae/static_pages/index.html.slim
587
+ - app/views/fae/users/_form.html.slim
588
+ - app/views/fae/users/edit.html.slim
589
+ - app/views/fae/users/index.html.slim
590
+ - app/views/fae/users/new.html.slim
591
+ - app/views/fae/users/settings.html.slim
592
+ - app/views/kaminari/fae/_gap.html.slim
593
+ - app/views/kaminari/fae/_next_page.html.slim
594
+ - app/views/kaminari/fae/_page.html.slim
595
+ - app/views/kaminari/fae/_paginator.html.slim
596
+ - app/views/kaminari/fae/_prev_page.html.slim
597
+ - app/views/layouts/devise.html.slim
598
+ - app/views/layouts/fae/application.html.slim
599
+ - app/views/layouts/fae/error.html.slim
600
+ - config/deploy.rb
601
+ - config/deploy/dev.rb
602
+ - config/deploy/prod.rb
603
+ - config/deploy/stage.rb
604
+ - config/initializers/assets.rb
605
+ - config/initializers/carrierwave.rb
606
+ - config/initializers/devise.rb
607
+ - config/initializers/devise_monkeypatch.rb
608
+ - config/initializers/fae_judge.rb
609
+ - config/initializers/inflections.rb
610
+ - config/initializers/kaminari_config.rb
611
+ - config/initializers/simple_form.rb
612
+ - config/initializers/time_formats.rb
613
+ - config/locales/devise.en.yml
614
+ - config/locales/devise.zh-CN.yml
615
+ - config/locales/fae.en.yml
616
+ - config/locales/fae.zh-CN.yml
617
+ - config/locales/simple_form.en.yml
618
+ - config/locales/simple_form.zh-CN.yml
619
+ - config/routes.rb
620
+ - db/migrate/20140809222030_add_user_table.rb
621
+ - db/migrate/20140822224029_create_fae_roles.rb
622
+ - db/migrate/20141008180718_create_fae_images_table.rb
623
+ - db/migrate/20141017194616_create_fae_options.rb
624
+ - db/migrate/20141021181327_create_fae_files.rb
625
+ - db/migrate/20141021183047_create_fae_text_areas.rb
626
+ - db/migrate/20141021184311_create_fae_pages.rb
627
+ - db/migrate/20141105214814_create_fae_text_fields.rb
628
+ - db/migrate/20150930224821_create_fae_changes.rb
629
+ - lib/fae-rails.rb
630
+ - lib/fae/concerns/models/base.rb
631
+ - lib/fae/engine.rb
632
+ - lib/fae/options.rb
633
+ - lib/fae/validation_helper_collection.rb
634
+ - lib/fae/version.rb
635
+ - lib/file_size_validator.rb
636
+ - lib/generators/fae/base_generator.rb
637
+ - lib/generators/fae/controller_generator.rb
638
+ - lib/generators/fae/install_generator.rb
639
+ - lib/generators/fae/model_generator.rb
640
+ - lib/generators/fae/nested_index_scaffold_generator.rb
641
+ - lib/generators/fae/nested_scaffold_generator.rb
642
+ - lib/generators/fae/page_generator.rb
643
+ - lib/generators/fae/scaffold_generator.rb
644
+ - lib/generators/fae/templates/assets/fae.js
645
+ - lib/generators/fae/templates/assets/fae.scss
646
+ - lib/generators/fae/templates/controllers/nested_index_scaffold_controller.rb
647
+ - lib/generators/fae/templates/controllers/nested_scaffold_controller.rb
648
+ - lib/generators/fae/templates/controllers/scaffold_controller.rb
649
+ - lib/generators/fae/templates/controllers/static_pages_controller.rb
650
+ - lib/generators/fae/templates/initializers/fae.rb
651
+ - lib/generators/fae/templates/initializers/fae_fine.rb
652
+ - lib/generators/fae/templates/initializers/judge.rb
653
+ - lib/generators/fae/templates/models/concerns/authorization_concern.rb
654
+ - lib/generators/fae/templates/models/concerns/navigation_concern.rb
655
+ - lib/generators/fae/templates/models/pages_model.rb
656
+ - lib/generators/fae/templates/tasks/fae_tasks.rake
657
+ - lib/generators/fae/templates/views/_form.html.slim
658
+ - lib/generators/fae/templates/views/_form_index_nested.html.slim
659
+ - lib/generators/fae/templates/views/_form_nested.html.slim
660
+ - lib/generators/fae/templates/views/edit.html.slim
661
+ - lib/generators/fae/templates/views/edit_nested.html.slim
662
+ - lib/generators/fae/templates/views/index.html.slim
663
+ - lib/generators/fae/templates/views/index_nested.html.slim
664
+ - lib/generators/fae/templates/views/new.html.slim
665
+ - lib/generators/fae/templates/views/new_nested.html.slim
666
+ - lib/generators/fae/templates/views/static_page_form.html.slim
667
+ - lib/generators/fae/templates/views/table_nested.html.slim
668
+ homepage: https://github.com/wearefine/fae
669
+ licenses:
670
+ - MIT
671
+ metadata: {}
672
+ post_install_message:
673
+ rdoc_options: []
674
+ require_paths:
675
+ - lib
676
+ required_ruby_version: !ruby/object:Gem::Requirement
677
+ requirements:
678
+ - - ">="
679
+ - !ruby/object:Gem::Version
680
+ version: '0'
681
+ required_rubygems_version: !ruby/object:Gem::Requirement
682
+ requirements:
683
+ - - ">="
684
+ - !ruby/object:Gem::Version
685
+ version: '0'
686
+ requirements: []
687
+ rubyforge_project:
688
+ rubygems_version: 2.7.7
689
+ signing_key:
690
+ specification_version: 4
691
+ summary: CMS for Rails. For Reals.
692
+ test_files: []