carnival 0.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (346) hide show
  1. checksums.yaml +15 -0
  2. data/MIT-LICENSE +20 -0
  3. data/Rakefile +34 -0
  4. data/app/assets/images/carnival/avatar.png +0 -0
  5. data/app/assets/images/carnival/bg_button.png +0 -0
  6. data/app/assets/images/carnival/cal.png +0 -0
  7. data/app/assets/images/carnival/chosen-sprite.png +0 -0
  8. data/app/assets/images/carnival/chosen-sprite@2x.png +0 -0
  9. data/app/assets/images/carnival/datatables-loading.gif +0 -0
  10. data/app/assets/images/carnival/fonts/opensans-regular-webfont.eot +0 -0
  11. data/app/assets/images/carnival/fonts/opensans-regular-webfont.svg +252 -0
  12. data/app/assets/images/carnival/fonts/opensans-regular-webfont.ttf +0 -0
  13. data/app/assets/images/carnival/fonts/opensans-regular-webfont.woff +0 -0
  14. data/app/assets/images/carnival/fonts/opensans-semibold-webfont.eot +0 -0
  15. data/app/assets/images/carnival/fonts/opensans-semibold-webfont.svg +251 -0
  16. data/app/assets/images/carnival/fonts/opensans-semibold-webfont.ttf +0 -0
  17. data/app/assets/images/carnival/fonts/opensans-semibold-webfont.woff +0 -0
  18. data/app/assets/images/carnival/fonts/up-not.png +0 -0
  19. data/app/assets/images/carnival/header-bg.png +0 -0
  20. data/app/assets/images/carnival/novo.png +0 -0
  21. data/app/assets/images/carnival/overlay.png +0 -0
  22. data/app/assets/images/carnival/search-button.png +0 -0
  23. data/app/assets/images/carnival/search.png +0 -0
  24. data/app/assets/images/carnival/sort_asc.png +0 -0
  25. data/app/assets/images/carnival/sort_asc_disabled.png +0 -0
  26. data/app/assets/images/carnival/sort_both.png +0 -0
  27. data/app/assets/images/carnival/sort_desc.png +0 -0
  28. data/app/assets/images/carnival/sort_desc_disabled.png +0 -0
  29. data/app/assets/images/carnival/sprite.png +0 -0
  30. data/app/assets/images/carnival/sprites-active.png +0 -0
  31. data/app/assets/images/carnival/sprites.png +0 -0
  32. data/app/assets/images/carnival/up-not.png +0 -0
  33. data/app/assets/images/carnival/voltar.png +0 -0
  34. data/app/assets/javascripts/carnival/admin.js +10 -0
  35. data/app/assets/javascripts/carnival/advanced_search.js +40 -0
  36. data/app/assets/javascripts/carnival/data_tables_functions.js +75 -0
  37. data/app/assets/javascripts/carnival/external/chosen.jquery.js +1239 -0
  38. data/app/assets/javascripts/carnival/external/jquery-ui-1.9.1.custom.min.js +6 -0
  39. data/app/assets/javascripts/carnival/external/jquery.colorbox-min.js +7 -0
  40. data/app/assets/javascripts/carnival/external/jquery.dataTables.min.js +156 -0
  41. data/app/assets/javascripts/carnival/external/jquery.maskedinput.js +7 -0
  42. data/app/assets/javascripts/carnival/external/jquery.noty.js +560 -0
  43. data/app/assets/javascripts/carnival/external/jquery.noty.layout.bottom.js +34 -0
  44. data/app/assets/javascripts/carnival/external/jquery.noty.theme.default.js +156 -0
  45. data/app/assets/javascripts/carnival/external/perfect-scrollbar-0.4.6.min.js +4 -0
  46. data/app/assets/javascripts/carnival/external/perfect-scrollbar-0.4.6.with-mousewheel.min.js +4 -0
  47. data/app/assets/javascripts/carnival/vizir_admin.js +137 -0
  48. data/app/assets/stylesheets/carnival/admin.css +13 -0
  49. data/app/assets/stylesheets/carnival/admin_users.css +4 -0
  50. data/app/assets/stylesheets/carnival/chosen.css +435 -0
  51. data/app/assets/stylesheets/carnival/colorbox.css +69 -0
  52. data/app/assets/stylesheets/carnival/datatable.css +131 -0
  53. data/app/assets/stylesheets/carnival/formframe.css +407 -0
  54. data/app/assets/stylesheets/carnival/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  55. data/app/assets/stylesheets/carnival/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  56. data/app/assets/stylesheets/carnival/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  57. data/app/assets/stylesheets/carnival/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  58. data/app/assets/stylesheets/carnival/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  59. data/app/assets/stylesheets/carnival/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  60. data/app/assets/stylesheets/carnival/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  61. data/app/assets/stylesheets/carnival/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  62. data/app/assets/stylesheets/carnival/images/ui-icons_222222_256x240.png +0 -0
  63. data/app/assets/stylesheets/carnival/images/ui-icons_2e83ff_256x240.png +0 -0
  64. data/app/assets/stylesheets/carnival/images/ui-icons_454545_256x240.png +0 -0
  65. data/app/assets/stylesheets/carnival/images/ui-icons_888888_256x240.png +0 -0
  66. data/app/assets/stylesheets/carnival/images/ui-icons_cd0a0a_256x240.png +0 -0
  67. data/app/assets/stylesheets/carnival/jquery-ui-1.8.11.custom.css +573 -0
  68. data/app/assets/stylesheets/carnival/jquery.noty.css +104 -0
  69. data/app/assets/stylesheets/carnival/main.css +2223 -0
  70. data/app/assets/stylesheets/carnival/noty_theme_default.css +185 -0
  71. data/app/assets/stylesheets/carnival/perfect-scrollbar-0.4.6.min.css +5 -0
  72. data/app/assets/stylesheets/carnival/vizir-grid.css +663 -0
  73. data/app/controllers/carnival/admin_user_notifications_controller.rb +19 -0
  74. data/app/controllers/carnival/admin_users_controller.rb +10 -0
  75. data/app/controllers/carnival/base_admin_controller.rb +103 -0
  76. data/app/controllers/carnival/omniauth_callbacks_controller.rb +26 -0
  77. data/app/controllers/carnival/sessions_controller.rb +23 -0
  78. data/app/datatable/carnival/generic_datatable.rb +179 -0
  79. data/app/helpers/carnival/admin_users_helper.rb +4 -0
  80. data/app/helpers/carnival/base_admin_helper.rb +75 -0
  81. data/app/inputs/admin_base_input.rb +8 -0
  82. data/app/inputs/admin_currency_input.rb +12 -0
  83. data/app/inputs/admin_date_input.rb +11 -0
  84. data/app/inputs/admin_enum_input.rb +13 -0
  85. data/app/inputs/admin_relationship_select_input.rb +13 -0
  86. data/app/inputs/admin_text_input.rb +7 -0
  87. data/app/models/carnival/action.rb +51 -0
  88. data/app/models/carnival/admin_user.rb +40 -0
  89. data/app/models/carnival/admin_user_notification.rb +20 -0
  90. data/app/models/carnival/field.rb +102 -0
  91. data/app/models/carnival/form.rb +83 -0
  92. data/app/models/carnival/notification.rb +5 -0
  93. data/app/models/carnival/scope.rb +16 -0
  94. data/app/presenters/carnival/admin_user_notification_presenter.rb +61 -0
  95. data/app/presenters/carnival/admin_user_presenter.rb +53 -0
  96. data/app/presenters/carnival/base_admin_presenter.rb +336 -0
  97. data/app/views/carnival/admin_users/_form.html.haml +21 -0
  98. data/app/views/carnival/admin_users/edit.html.haml +3 -0
  99. data/app/views/carnival/admin_users/new.html.haml +4 -0
  100. data/app/views/carnival/admin_users/show.html.haml +14 -0
  101. data/app/views/carnival/index.html.haml +93 -0
  102. data/app/views/carnival/index.pdf.haml +5 -0
  103. data/app/views/carnival/login.html.haml +20 -0
  104. data/app/views/carnival/shared/_action_default.html.haml +1 -0
  105. data/app/views/carnival/shared/_action_delete.html.haml +1 -0
  106. data/app/views/carnival/shared/_add_button.html.haml +2 -0
  107. data/app/views/carnival/shared/_advanced_search.html.haml +26 -0
  108. data/app/views/carnival/shared/_advanced_search_field.html.haml +10 -0
  109. data/app/views/carnival/shared/_application_popup_partial.html.haml +12 -0
  110. data/app/views/carnival/shared/_batch_operation_checkbox.html.haml +4 -0
  111. data/app/views/carnival/shared/_delete.html.haml +1 -0
  112. data/app/views/carnival/shared/_edit_delete.html.haml +6 -0
  113. data/app/views/carnival/shared/_extra.html.haml +3 -0
  114. data/app/views/carnival/shared/_extra_item.html.haml +21 -0
  115. data/app/views/carnival/shared/_filter_bar.html.haml +3 -0
  116. data/app/views/carnival/shared/_header.pdf.haml +13 -0
  117. data/app/views/carnival/shared/_item_buttons.html.haml +3 -0
  118. data/app/views/carnival/shared/_link_fields.html.haml +6 -0
  119. data/app/views/carnival/shared/_list_cel.html.haml +9 -0
  120. data/app/views/carnival/shared/_list_cel.pdf.haml +9 -0
  121. data/app/views/carnival/shared/_period_filter.html.haml +54 -0
  122. data/app/views/carnival/shared/_report.pdf.haml +21 -0
  123. data/app/views/carnival/shared/_scope.html.haml +75 -0
  124. data/app/views/carnival/shared/_special_scope.html.haml +1 -0
  125. data/app/views/carnival/shared/form/_edit.html.haml +1 -0
  126. data/app/views/carnival/shared/form/_field.html.haml +8 -0
  127. data/app/views/carnival/shared/form/_form.html.haml +13 -0
  128. data/app/views/carnival/shared/form/edit.html.haml +6 -0
  129. data/app/views/carnival/shared/form/new.html.haml +7 -0
  130. data/app/views/carnival/shared/form/show.html.haml +16 -0
  131. data/app/views/carnival/shared/render_popup.js.erb +2 -0
  132. data/app/views/devise/confirmations/new.html.erb +12 -0
  133. data/app/views/devise/mailer/confirmation_instructions.html.erb +5 -0
  134. data/app/views/devise/mailer/reset_password_instructions.html.erb +8 -0
  135. data/app/views/devise/mailer/unlock_instructions.html.erb +7 -0
  136. data/app/views/devise/passwords/edit.html.erb +16 -0
  137. data/app/views/devise/passwords/new.html.erb +12 -0
  138. data/app/views/devise/registrations/edit.html.erb +29 -0
  139. data/app/views/devise/registrations/new.html.erb +18 -0
  140. data/app/views/devise/sessions/new.html.erb +19 -0
  141. data/app/views/devise/shared/_links.erb +25 -0
  142. data/app/views/devise/unlocks/new.html.erb +12 -0
  143. data/app/views/layouts/carnival/_menu.html.haml +30 -0
  144. data/app/views/layouts/carnival/_notifications_list.html.haml +27 -0
  145. data/app/views/layouts/carnival/admin.html.haml +51 -0
  146. data/config/initializers/carnival_initializer.rb +41 -0
  147. data/config/initializers/devise.rb +258 -0
  148. data/config/initializers/simple_form.rb +3 -0
  149. data/config/locales/carnival.en.yml +1 -0
  150. data/config/locales/carnival.pt.yml +228 -0
  151. data/config/locales/devise.en.yml +59 -0
  152. data/config/locales/devise.pt.yml +59 -0
  153. data/config/routes.rb +8 -0
  154. data/db/migrate/20140129211859_devise_create_admin_users.rb +43 -0
  155. data/db/migrate/20140129213216_create_notifications.rb +10 -0
  156. data/db/migrate/20140129223355_create_admin_user_notifications.rb +10 -0
  157. data/db/migrate/20140206144730_add_columns_to_admin_users.rb +7 -0
  158. data/lib/carnival.rb +13 -0
  159. data/lib/carnival/config.rb +10 -0
  160. data/lib/carnival/engine.rb +5 -0
  161. data/lib/carnival/routes.rb +13 -0
  162. data/lib/carnival/version.rb +3 -0
  163. data/lib/generators/carnival/install_generator.rb +18 -0
  164. data/lib/generators/carnival/templates/carnival_initializer.rb +41 -0
  165. data/lib/tasks/carnival_tasks.rake +4 -0
  166. data/test/carnival_test.rb +7 -0
  167. data/test/dummy/README.rdoc +28 -0
  168. data/test/dummy/Rakefile +6 -0
  169. data/test/dummy/app/assets/javascripts/application.js +13 -0
  170. data/test/dummy/app/assets/stylesheets/application.css +13 -0
  171. data/test/dummy/app/controllers/admin/cities_controller.rb +9 -0
  172. data/test/dummy/app/controllers/admin/countries_controller.rb +9 -0
  173. data/test/dummy/app/controllers/admin/people_controller.rb +9 -0
  174. data/test/dummy/app/controllers/admin/states_controller.rb +9 -0
  175. data/test/dummy/app/controllers/admin/testes_controller.rb +9 -0
  176. data/test/dummy/app/controllers/application_controller.rb +5 -0
  177. data/test/dummy/app/helpers/application_helper.rb +2 -0
  178. data/test/dummy/app/models/admin.rb +5 -0
  179. data/test/dummy/app/models/admin/association_common.rb +23 -0
  180. data/test/dummy/app/models/admin/city.rb +11 -0
  181. data/test/dummy/app/models/admin/company.rb +14 -0
  182. data/test/dummy/app/models/admin/country.rb +9 -0
  183. data/test/dummy/app/models/admin/job.rb +10 -0
  184. data/test/dummy/app/models/admin/person.rb +17 -0
  185. data/test/dummy/app/models/admin/professional_experience.rb +14 -0
  186. data/test/dummy/app/models/admin/state.rb +12 -0
  187. data/test/dummy/app/models/job.rb +8 -0
  188. data/test/dummy/app/presenters/admin/city_presenter.rb +42 -0
  189. data/test/dummy/app/presenters/admin/country_presenter.rb +28 -0
  190. data/test/dummy/app/presenters/admin/person_presenter.rb +60 -0
  191. data/test/dummy/app/presenters/admin/state_presenter.rb +35 -0
  192. data/test/dummy/app/views/admin/testes/_form.html.haml +17 -0
  193. data/test/dummy/app/views/admin/testes/edit.html.haml +3 -0
  194. data/test/dummy/app/views/admin/testes/new.html.haml +4 -0
  195. data/test/dummy/app/views/admin/testes/show.html.haml +14 -0
  196. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  197. data/test/dummy/bin/bundle +3 -0
  198. data/test/dummy/bin/rails +4 -0
  199. data/test/dummy/bin/rake +4 -0
  200. data/test/dummy/config.ru +4 -0
  201. data/test/dummy/config/application.rb +22 -0
  202. data/test/dummy/config/boot.rb +5 -0
  203. data/test/dummy/config/database.yml +25 -0
  204. data/test/dummy/config/environment.rb +5 -0
  205. data/test/dummy/config/environments/development.rb +47 -0
  206. data/test/dummy/config/environments/production.rb +80 -0
  207. data/test/dummy/config/environments/test.rb +36 -0
  208. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  209. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  210. data/test/dummy/config/initializers/inflections.rb +16 -0
  211. data/test/dummy/config/initializers/mime_types.rb +5 -0
  212. data/test/dummy/config/initializers/secret_token.rb +12 -0
  213. data/test/dummy/config/initializers/session_store.rb +3 -0
  214. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  215. data/test/dummy/config/locales/en.yml +23 -0
  216. data/test/dummy/config/routes.rb +15 -0
  217. data/test/dummy/db/development.sqlite3 +0 -0
  218. data/test/dummy/db/migrate/20140206211804_create_admin_companies.rb +16 -0
  219. data/test/dummy/db/migrate/20140206211829_create_admin_countries.rb +10 -0
  220. data/test/dummy/db/migrate/20140206211850_create_admin_states.rb +12 -0
  221. data/test/dummy/db/migrate/20140206211923_create_admin_cities.rb +11 -0
  222. data/test/dummy/db/migrate/20140206212128_create_admin_people.rb +19 -0
  223. data/test/dummy/db/migrate/20140309013000_create_jobs.rb +9 -0
  224. data/test/dummy/db/migrate/20140309013019_create_professional_experiences.rb +14 -0
  225. data/test/dummy/db/migrate/20140323020642_devise_create_admin_users.carnival_engine.rb +44 -0
  226. data/test/dummy/db/migrate/20140323020643_create_notifications.carnival_engine.rb +11 -0
  227. data/test/dummy/db/migrate/20140323020644_create_admin_user_notifications.carnival_engine.rb +11 -0
  228. data/test/dummy/db/migrate/20140323020645_add_columns_to_admin_users.carnival_engine.rb +8 -0
  229. data/test/dummy/db/schema.rb +143 -0
  230. data/test/dummy/db/test.sqlite3 +0 -0
  231. data/test/dummy/log/bullet.log +0 -0
  232. data/test/dummy/log/development.log +6933 -0
  233. data/test/dummy/public/404.html +58 -0
  234. data/test/dummy/public/422.html +58 -0
  235. data/test/dummy/public/500.html +57 -0
  236. data/test/dummy/public/favicon.ico +0 -0
  237. data/test/dummy/tmp/cache/assets/development/sprockets/01c1d1cbb942f60130f0aa01d50c98d2 +0 -0
  238. data/test/dummy/tmp/cache/assets/development/sprockets/049c6f2079e2e93f96fd228df8c265ba +0 -0
  239. data/test/dummy/tmp/cache/assets/development/sprockets/0d9971c4a3b5017a7d2122508b66bb12 +0 -0
  240. data/test/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
  241. data/test/dummy/tmp/cache/assets/development/sprockets/147e4215ac96fd8b8d373567ae00ed47 +0 -0
  242. data/test/dummy/tmp/cache/assets/development/sprockets/1634e1287a9914e738e710919b7cd6e4 +0 -0
  243. data/test/dummy/tmp/cache/assets/development/sprockets/16c6027bc506317d8266573d0ae1b510 +0 -0
  244. data/test/dummy/tmp/cache/assets/development/sprockets/16e4094498947b5f36bfbb490b94d025 +0 -0
  245. data/test/dummy/tmp/cache/assets/development/sprockets/197f549b9c46ec6679bddac8e4065948 +0 -0
  246. data/test/dummy/tmp/cache/assets/development/sprockets/2109e2acf993625dc0a3f05e7e0af523 +0 -0
  247. data/test/dummy/tmp/cache/assets/development/sprockets/22e50c67b95bf23b653e7a6768d38749 +0 -0
  248. data/test/dummy/tmp/cache/assets/development/sprockets/2684dad966b304ec2aee0149dc77c657 +0 -0
  249. data/test/dummy/tmp/cache/assets/development/sprockets/2908a36318747c72030e94441a2579c4 +0 -0
  250. data/test/dummy/tmp/cache/assets/development/sprockets/2a4d4d7ea99972ea41453ec4e6bad058 +0 -0
  251. data/test/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
  252. data/test/dummy/tmp/cache/assets/development/sprockets/30c8c2e6ca355103a267133f6b45b0ce +0 -0
  253. data/test/dummy/tmp/cache/assets/development/sprockets/31177aaa32db75be241353c5819450b4 +0 -0
  254. data/test/dummy/tmp/cache/assets/development/sprockets/31a6581dfe5a788b2b450403959a97c5 +0 -0
  255. data/test/dummy/tmp/cache/assets/development/sprockets/32daf8a3bfd9da8ab261f5002f66389f +0 -0
  256. data/test/dummy/tmp/cache/assets/development/sprockets/33dfbc7bdde795abfd1031ceaa315dc8 +0 -0
  257. data/test/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
  258. data/test/dummy/tmp/cache/assets/development/sprockets/3636240cbc1f10d05a7e27f44c330bf9 +0 -0
  259. data/test/dummy/tmp/cache/assets/development/sprockets/39d34c0caaa6f36d684fac1898a7f88f +0 -0
  260. data/test/dummy/tmp/cache/assets/development/sprockets/3ac0f4fad0d3e6d3d13d4ed2189dcabe +0 -0
  261. data/test/dummy/tmp/cache/assets/development/sprockets/3d8100b6e405407290dcf994ef05e0b7 +0 -0
  262. data/test/dummy/tmp/cache/assets/development/sprockets/3fd8a2a00bb4ebd69a3ecac257dbe536 +0 -0
  263. data/test/dummy/tmp/cache/assets/development/sprockets/3fdb709b3417757576eff80c0ec26b75 +0 -0
  264. data/test/dummy/tmp/cache/assets/development/sprockets/4423cb4765f66f187ffcb3be911c3600 +0 -0
  265. data/test/dummy/tmp/cache/assets/development/sprockets/45b86c586ed942b09cec2190b3c45c5a +0 -0
  266. data/test/dummy/tmp/cache/assets/development/sprockets/47ce692a80d5b075614c2489d7e3a142 +0 -0
  267. data/test/dummy/tmp/cache/assets/development/sprockets/4a7a4dcd9fea9bd2e287771c51f96631 +0 -0
  268. data/test/dummy/tmp/cache/assets/development/sprockets/4bd7e9214a07840040d269fdbf523e97 +0 -0
  269. data/test/dummy/tmp/cache/assets/development/sprockets/4c36f4196d9df171251bea6f3b587fe3 +0 -0
  270. data/test/dummy/tmp/cache/assets/development/sprockets/4e4b1f24c5e69f2f305f6d6483a1605c +0 -0
  271. data/test/dummy/tmp/cache/assets/development/sprockets/5090d7ea741c7f63994eb7b62e757f8f +0 -0
  272. data/test/dummy/tmp/cache/assets/development/sprockets/565023fdd3960225e817ec043b2d9474 +0 -0
  273. data/test/dummy/tmp/cache/assets/development/sprockets/5a4d2d875f1d8ab987ab653f896d1c39 +0 -0
  274. data/test/dummy/tmp/cache/assets/development/sprockets/5c8a4c90b3525681a2173b93b9d55293 +0 -0
  275. data/test/dummy/tmp/cache/assets/development/sprockets/5e7998a2046d512312e432aef40d3e22 +0 -0
  276. data/test/dummy/tmp/cache/assets/development/sprockets/5eacf8d05b2a79f57d54ee047a51e223 +0 -0
  277. data/test/dummy/tmp/cache/assets/development/sprockets/662125e0a3b8f685abafe02e03c6f442 +0 -0
  278. data/test/dummy/tmp/cache/assets/development/sprockets/6808736d34ec24fb10203097ff009a4d +0 -0
  279. data/test/dummy/tmp/cache/assets/development/sprockets/6c257cb7126b2e5bda4c42d414e39786 +0 -0
  280. data/test/dummy/tmp/cache/assets/development/sprockets/6ce5945ed85a31ec875a9973b5a3d3bc +0 -0
  281. data/test/dummy/tmp/cache/assets/development/sprockets/6d806eaa317f200bbf2832a0abf1c1cc +0 -0
  282. data/test/dummy/tmp/cache/assets/development/sprockets/6f6ec88ead28d25410be2a6f62ec79b1 +0 -0
  283. data/test/dummy/tmp/cache/assets/development/sprockets/706dcf8ec253808fea35ae06a4b408b1 +0 -0
  284. data/test/dummy/tmp/cache/assets/development/sprockets/7cfe3fa955d677396ed9e22193559a64 +0 -0
  285. data/test/dummy/tmp/cache/assets/development/sprockets/7e154ca951644e8aa1a2c6221f08db4f +0 -0
  286. data/test/dummy/tmp/cache/assets/development/sprockets/822d6436044fe88b0b3fbc6f3458ff88 +0 -0
  287. data/test/dummy/tmp/cache/assets/development/sprockets/84e6a879569ca7546a93558488a6ff70 +0 -0
  288. data/test/dummy/tmp/cache/assets/development/sprockets/8576d7c22dbd8222ab27a6c47f56a65c +0 -0
  289. data/test/dummy/tmp/cache/assets/development/sprockets/88144c375f9e329812d0302be96e0eab +0 -0
  290. data/test/dummy/tmp/cache/assets/development/sprockets/8a4b32386b5d8554473df478badd6ef9 +0 -0
  291. data/test/dummy/tmp/cache/assets/development/sprockets/8bc60f31f479cd0263d897aa45b88750 +0 -0
  292. data/test/dummy/tmp/cache/assets/development/sprockets/8e22d55d0b7b958a3904e7428269df65 +0 -0
  293. data/test/dummy/tmp/cache/assets/development/sprockets/918ab452d9c4634682ff94ffbd89e16f +0 -0
  294. data/test/dummy/tmp/cache/assets/development/sprockets/9455de99a5c68705427bbec9e50865ce +0 -0
  295. data/test/dummy/tmp/cache/assets/development/sprockets/958dd41e5252627471b2b65116401512 +0 -0
  296. data/test/dummy/tmp/cache/assets/development/sprockets/996ac001c901711cabb64b7e1940c54a +0 -0
  297. data/test/dummy/tmp/cache/assets/development/sprockets/9aec27b5fa2afdfa28068452ece0e6f0 +0 -0
  298. data/test/dummy/tmp/cache/assets/development/sprockets/9db7e75f3fa621ef08ade7ffda96e39f +0 -0
  299. data/test/dummy/tmp/cache/assets/development/sprockets/9dc853d92b5d774afadacc451965059c +0 -0
  300. data/test/dummy/tmp/cache/assets/development/sprockets/a125dd8e84a82fc90705bd3710fb93c2 +0 -0
  301. data/test/dummy/tmp/cache/assets/development/sprockets/a1c5386d742fb4d01bea977ed28f4a96 +0 -0
  302. data/test/dummy/tmp/cache/assets/development/sprockets/a30288f737d428b0feb2a78b3aab9c69 +0 -0
  303. data/test/dummy/tmp/cache/assets/development/sprockets/a40d723f9a6ad5b541009b8f05ce6533 +0 -0
  304. data/test/dummy/tmp/cache/assets/development/sprockets/a908448dd851cae431aa2b4bde9b5a98 +0 -0
  305. data/test/dummy/tmp/cache/assets/development/sprockets/aa5708f6fbe7528d49c127a7f89a2511 +0 -0
  306. data/test/dummy/tmp/cache/assets/development/sprockets/aaf9dac7bb02577a8005e39ca9225482 +0 -0
  307. data/test/dummy/tmp/cache/assets/development/sprockets/ad7b50123ad008ac0730bbbdf76a6bfe +0 -0
  308. data/test/dummy/tmp/cache/assets/development/sprockets/b271e3537645a42480b3ba7bca2342f4 +0 -0
  309. data/test/dummy/tmp/cache/assets/development/sprockets/ba891185d4fda83f4c16e6bb8139359b +0 -0
  310. data/test/dummy/tmp/cache/assets/development/sprockets/c72101732682999b6ca050f007fc6467 +0 -0
  311. data/test/dummy/tmp/cache/assets/development/sprockets/c8927e934e7960fc7907b6fc02ea7f08 +0 -0
  312. data/test/dummy/tmp/cache/assets/development/sprockets/c980544b5828a643ecaa8e784897c2c2 +0 -0
  313. data/test/dummy/tmp/cache/assets/development/sprockets/ca0e1997bc6c40f955a42ee777299750 +0 -0
  314. data/test/dummy/tmp/cache/assets/development/sprockets/cc2c3f8b87c5b787305412a3076058db +0 -0
  315. data/test/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
  316. data/test/dummy/tmp/cache/assets/development/sprockets/d16461dfcae4b782f721ebd81e4f8740 +0 -0
  317. data/test/dummy/tmp/cache/assets/development/sprockets/d3b5d5784361e5eb827fbcdb0332258f +0 -0
  318. data/test/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
  319. data/test/dummy/tmp/cache/assets/development/sprockets/d81122f6f2520c8f0785425936756e20 +0 -0
  320. data/test/dummy/tmp/cache/assets/development/sprockets/dbf160a6439a8d0b792ff46cf0a612f6 +0 -0
  321. data/test/dummy/tmp/cache/assets/development/sprockets/dc829340258cc36c0df423725df54649 +0 -0
  322. data/test/dummy/tmp/cache/assets/development/sprockets/dd326f3f4fd1c7fd075b58d6cb623a25 +0 -0
  323. data/test/dummy/tmp/cache/assets/development/sprockets/de060f82711b4b5c465f17b140eb2a61 +0 -0
  324. data/test/dummy/tmp/cache/assets/development/sprockets/e0352d0f97751491adbe6a94832772af +0 -0
  325. data/test/dummy/tmp/cache/assets/development/sprockets/e1d6efce94e71965434d2dde64fd8410 +0 -0
  326. data/test/dummy/tmp/cache/assets/development/sprockets/e4298973f799acdce289752c24bfddf2 +0 -0
  327. data/test/dummy/tmp/cache/assets/development/sprockets/e9c81ca91323dab8977ffd8a459cab06 +0 -0
  328. data/test/dummy/tmp/cache/assets/development/sprockets/eccab0d41d08e156ccd2f36f85949356 +0 -0
  329. data/test/dummy/tmp/cache/assets/development/sprockets/eed84a44f4e3915a39ea98ce25dc2570 +0 -0
  330. data/test/dummy/tmp/cache/assets/development/sprockets/f1e75c209067b23f5c0c7bf2006c43d0 +0 -0
  331. data/test/dummy/tmp/cache/assets/development/sprockets/f31e05a23db2e9dfc9207658cda7b799 +0 -0
  332. data/test/dummy/tmp/cache/assets/development/sprockets/f5c9348795319821f3309d4e03bb9fdb +0 -0
  333. data/test/dummy/tmp/cache/assets/development/sprockets/f631443b06d6b36e666344dbaf0b64f0 +0 -0
  334. data/test/dummy/tmp/cache/assets/development/sprockets/f7ab949c8c6b7ef3f2b743ebd98f9f59 +0 -0
  335. data/test/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
  336. data/test/dummy/tmp/cache/assets/development/sprockets/fc4b3bb94f52c27dfb87395841a7cb62 +0 -0
  337. data/test/dummy/tmp/cache/assets/development/sprockets/fc79e1609ba401a4408c71182ef89b3e +0 -0
  338. data/test/dummy/tmp/cache/assets/development/sprockets/fd1e0a44b82fc47f26c7adec9d918911 +0 -0
  339. data/test/dummy/tmp/cache/assets/development/sprockets/fe9a0ccc2a407c74780c85e66882e888 +0 -0
  340. data/test/dummy/tmp/cache/assets/development/sprockets/ff3b0a569330823bd5599af14ee70cc8 +0 -0
  341. data/test/dummy/tmp/pids/server.pid +1 -0
  342. data/test/fixtures/notifications.yml +11 -0
  343. data/test/integration/navigation_test.rb +10 -0
  344. data/test/models/notification_test.rb +7 -0
  345. data/test/test_helper.rb +15 -0
  346. metadata +739 -0
@@ -0,0 +1,8 @@
1
+ module AdminBaseInput
2
+ def merge_options(default_input_html_options, input_html_options)
3
+ input_html_options[:class].push(default_input_html_options[:class])
4
+ input_html_options[:class] = input_html_options[:class].uniq
5
+ input_html_options[:value] = default_input_html_options[:value]
6
+ return input_html_options
7
+ end
8
+ end
@@ -0,0 +1,12 @@
1
+ class AdminCurrencyInput < SimpleForm::Inputs::Base
2
+
3
+ include ActionView::Helpers::NumberHelper
4
+ include AdminBaseInput
5
+
6
+ def input
7
+ default_input_html_options = {class: 'money',
8
+ value: number_with_precision(@builder.object.send(attribute_name), separator: ",", precision: 2) }
9
+ options = merge_options(default_input_html_options, input_html_options)
10
+ return "#{@builder.text_field(attribute_name, options)}".html_safe
11
+ end
12
+ end
@@ -0,0 +1,11 @@
1
+ class AdminDateInput < SimpleForm::Inputs::Base
2
+
3
+ include AdminBaseInput
4
+
5
+ def input
6
+ default_input_html_options = {class: 'datepicker',
7
+ value: @builder.object.send(attribute_name).nil? ? "" : @builder.object.send(attribute_name).strftime('%d/%m/%Y')}
8
+ options = merge_options(default_input_html_options, input_html_options)
9
+ return "#{@builder.text_field(attribute_name, options)}".html_safe
10
+ end
11
+ end
@@ -0,0 +1,13 @@
1
+ class AdminEnumInput < SimpleForm::Inputs::CollectionSelectInput
2
+ def input
3
+ super
4
+ @builder.collection_select(
5
+ attribute_name, @builder.object.class.const_get(attribute_name.to_s.upcase),
6
+ :first, :last,
7
+ prompt: I18n.t("#{@builder.object.class.to_s.gsub(/^.*::/, '').downcase}.lista_#{attribute_name}.selecione",
8
+ default: I18n.t("messages.select")),
9
+ input_html: {:class=> 'chosen'}
10
+ )
11
+ end
12
+ end
13
+
@@ -0,0 +1,13 @@
1
+ class AdminRelationshipSelectInput < SimpleForm::Inputs::CollectionSelectInput
2
+ def input
3
+ super
4
+ @builder.collection_select(
5
+ "#{attribute_name}_id",
6
+ @builder.object.class.name.constantize.reflect_on_association(attribute_name.to_sym).klass.name.constantize.list_for_select,
7
+ :first, :last,
8
+ prompt: I18n.t("#{@builder.object.class.to_s.gsub(/^.*::/, '').downcase}.lista_#{attribute_name}.selecione",
9
+ default: I18n.t("messages.select")),
10
+ input_html: {:class=> 'chosen'}
11
+ )
12
+ end
13
+ end
@@ -0,0 +1,7 @@
1
+ class AdminTextInput < SimpleForm::Inputs::TextInput
2
+ def input_html_options
3
+ @input_html_options[:rows] = 5
4
+ @input_html_options[:cols] = 75
5
+ super
6
+ end
7
+ end
@@ -0,0 +1,51 @@
1
+ module Carnival
2
+ class Action
3
+ include Rails.application.routes.url_helpers
4
+ PARTIAL_DEFAULT = "/carnival/shared/action_default"
5
+ PARTIAL_DELETE = "/carnival/shared/action_delete"
6
+ PARTIAL_REMOTE = "/carnival/shared/action_remote"
7
+
8
+ def initialize(presenter, name, params={})
9
+ @presenter = presenter
10
+ @name = name
11
+ @params = params
12
+ @partial = default_partial
13
+ @path = params[:path] if params[:path].present?
14
+ end
15
+
16
+ def path(extra_params={})
17
+ if @path.nil?
18
+ params = {controller: @presenter.controller_name, action: @name}
19
+ params = params.merge(extra_params) if extra_params.present?
20
+ params = params.merge(:only_path => true)
21
+ url_for(params)
22
+ else
23
+ @path
24
+ end
25
+ end
26
+
27
+ def partial
28
+ @partial
29
+ end
30
+
31
+ def name
32
+ @name
33
+ end
34
+
35
+ def target
36
+ @params[:target]
37
+ end
38
+
39
+ def default_partial()
40
+ if [:new, :edit, :show].include?(@name)
41
+ PARTIAL_DEFAULT
42
+ elsif @name == :destroy
43
+ PARTIAL_DELETE
44
+ elsif @params[:remote]
45
+ PARTIAL_REMOTE
46
+ else
47
+ PARTIAL_DEFAULT
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,40 @@
1
+ module Carnival
2
+ class AdminUser < ActiveRecord::Base
3
+ # Include default devise modules. Others available are:
4
+ # :confirmable, :lockable, :timeoutable and :omniauthable
5
+ devise :database_authenticatable, :registerable,
6
+ :recoverable, :rememberable, :trackable, :validatable,
7
+ :omniauthable, :omniauth_providers => [:facebook, :google_oauth2]
8
+
9
+ has_many :admin_user_notifications
10
+
11
+ def unread_notifications
12
+ self.admin_user_notifications.where(:read => false).to_a
13
+ end
14
+
15
+ def self.new_with_session(params, session)
16
+ super.tap do |user|
17
+ if data = session["devise.facebook_data"] && session["devise.facebook_data"]["extra"]["raw_info"]
18
+ user.email = data["email"] if user.email.blank?
19
+ end
20
+ end
21
+ end
22
+
23
+ def self.find_for_omni_auth(auth)
24
+ if user = AdminUser.where(email: auth.info.email).first
25
+ user.provider = auth.provider
26
+ user.uid = auth.uid
27
+ user
28
+ else
29
+ where(auth.slice(:provider, :uid)).first_or_create do |user|
30
+ user.provider = auth.provider
31
+ user.uid = auth.uid
32
+ user.name = auth.info.name
33
+ user.email = auth.info.email
34
+ user.avatar = auth.info.image
35
+ user.password = Devise.friendly_token[0,20]
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,20 @@
1
+ module Carnival
2
+ class AdminUserNotification < ActiveRecord::Base
3
+ include ActionView::Helpers::UrlHelper
4
+ belongs_to :admin_user
5
+ belongs_to :notification
6
+
7
+ scope :unread, -> {where('read = ?', false)}
8
+
9
+ def message_link
10
+ link_to(self.notification.message, Rails.application.routes.url_helpers.admin_read_admin_user_notification_path(self))
11
+ end
12
+
13
+ def mark_as_read_and_get_link
14
+ self.read = true
15
+ self.save
16
+ self.notification.link
17
+ end
18
+
19
+ end
20
+ end
@@ -0,0 +1,102 @@
1
+ module Carnival
2
+ class Field
3
+
4
+ attr_accessor :size, :column, :line, :name, :params
5
+
6
+ def initialize(name, params={})
7
+ @params = params
8
+ @name = name
9
+ set_position_by_params
10
+ end
11
+
12
+ def name
13
+ @name.to_s
14
+ end
15
+
16
+ def css_class
17
+ if @params[:css_class]
18
+ return @params[:css_class]
19
+ else
20
+ return ""
21
+ end
22
+ end
23
+
24
+ def date_filter?
25
+ @params[:date_filter]
26
+ end
27
+
28
+ def default_date_filter
29
+ if @params[:date_filter_default]
30
+ @params[:date_filter_default]
31
+ else
32
+ date_filter_periods.first.first
33
+ end
34
+ end
35
+
36
+ def date_filter_periods
37
+ if @params[:date_filter_periods]
38
+ @params[:date_filter_periods]
39
+ else
40
+ {:today => ["#{Date.today}", "#{Date.today}"],
41
+ :yesterday => ["#{Date.today - 1.day}", "#{Date.today - 1.day}"],
42
+ :this_week => ["#{Date.today.beginning_of_week}", "#{Date.today.end_of_week}"],
43
+ :last_week => ["#{(Date.today - 1.week).beginning_of_week}", "#{(Date.today - 1.week).end_of_week}"],
44
+ :this_month => ["#{Date.today.beginning_of_month}", "#{Date.today.end_of_month}"],
45
+ :last_month => ["#{(Date.today - 1.month).beginning_of_month}", "#{(Date.today - 1.month).end_of_month}"],
46
+ :this_year => ["#{Date.today.beginning_of_year}", "#{Date.today.end_of_year}"],
47
+ :last_year => ["#{(Date.today - 1.year).beginning_of_year}", "#{(Date.today - 1.year).end_of_year}"]
48
+ }
49
+ end
50
+ end
51
+ def default_sortable?
52
+ @params[:sortable] && @params[:sortable].class == Hash && @params[:sortable][:default] == true
53
+ end
54
+
55
+ def default_sort_direction
56
+ if default_sortable?
57
+ if @params[:sortable][:direction]
58
+ return @params[:sortable][:direction]
59
+ end
60
+ end
61
+ return :asc
62
+ end
63
+
64
+ def sortable?
65
+ @params[:sortable]
66
+ end
67
+
68
+ def searchable?
69
+ @params[:searchable]
70
+ end
71
+
72
+ def advanced_searchable?
73
+ @params[:advanced_search]
74
+ end
75
+
76
+ def advanced_search_operator
77
+ return @params[:advanced_search][:operator] if advanced_searchable? and @params[:advanced_search][:operator].present?
78
+ :like
79
+ end
80
+
81
+ def valid_for_action?(action)
82
+ @params[:actions].include?(action)
83
+ end
84
+
85
+ def as
86
+ @params[:as]
87
+ end
88
+
89
+ def widget
90
+ @params[:widget].present? ? @params[:widget] : :input
91
+ end
92
+
93
+ private
94
+ def set_position_by_params
95
+ if @params[:position].present?
96
+ @line = @params[:position][:line]
97
+ @column = @params[:position][:column]
98
+ @size = @params[:position][:size]
99
+ end
100
+ end
101
+ end
102
+ end
@@ -0,0 +1,83 @@
1
+ module Carnival
2
+ class Form
3
+
4
+ attr_accessor :action,:params,:fields
5
+
6
+ def initialize(action, params={})
7
+ @params = params
8
+ @action = action
9
+ end
10
+
11
+ def fields=(fields)
12
+ @fields = fields
13
+ end
14
+
15
+ def lines
16
+ ordered_lines
17
+ end
18
+
19
+ private
20
+
21
+ def ordered_lines
22
+ put_line_in_fields
23
+ sort_columns(to_line_array)
24
+ end
25
+
26
+ def to_line_array
27
+ lines = @fields.sort_by { |k, v| v.line }
28
+ final_lines = []
29
+ line_temp = []
30
+ current_line = lines.first[1].line if lines.size > 0
31
+ lines.each do |k,field|
32
+ if current_line != field.line
33
+ #Nova Linha
34
+ final_lines << line_temp if line_temp.size > 0
35
+ line_temp = []
36
+ current_line = field.line
37
+ end
38
+ line_temp << field
39
+ end
40
+ final_lines << line_temp if line_temp.size > 0
41
+ final_lines
42
+ end
43
+
44
+ def sort_columns (lines)
45
+ lines.each do | line|
46
+ line = line.sort_by{|x| x.column}
47
+ check_size line
48
+ end
49
+ lines
50
+ end
51
+
52
+ def check_size (line)
53
+ line_size = 0
54
+ nil_values = 0
55
+ line.each do |column|
56
+ if column.size.present?
57
+ line_size += column.size
58
+ else
59
+ nil_values += 1
60
+ end
61
+ end
62
+ if nil_values > 0
63
+ nil_column_size = 12 - (line_size / nil_values)
64
+ puts nil_column_size
65
+ line.each do |column|
66
+ column.size = nil_column_size if not column.size.present?
67
+ end
68
+ end
69
+ end
70
+
71
+ def put_line_in_fields
72
+ default_line = 999
73
+ @fields.each do |key,field|
74
+ if field.params[:position].blank? or field.params[:position][:line].blank?
75
+ field.line = default_line
76
+ default_line += 1
77
+ end
78
+ end
79
+ end
80
+
81
+ end
82
+
83
+ end
@@ -0,0 +1,5 @@
1
+ module Carnival
2
+ class Notification < ActiveRecord::Base
3
+ has_many :admin_user_notifications
4
+ end
5
+ end
@@ -0,0 +1,16 @@
1
+ module Carnival
2
+ class Scope
3
+ def initialize(name, params={})
4
+ @params = params
5
+ @name = name
6
+ end
7
+
8
+ def default?
9
+ @params[:default].present? && @params[:default] == true
10
+ end
11
+
12
+ def name
13
+ @name
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,61 @@
1
+ # -*- encoding : utf-8 -*-
2
+ module Carnival
3
+ class AdminUserNotificationPresenter < Carnival::BaseAdminPresenter
4
+ def listagem(tipo = nil)
5
+ [:notification__title, :message_link, :created_at]
6
+ end
7
+
8
+ def _listagem_botoes_extras
9
+ [
10
+ {
11
+ :link => 'admin_mark_notification_as_read',
12
+ :nome => "#{I18n.t('notification.mark_as_read')}",
13
+ :remote => true,
14
+ :success => 'markAsReadCallback',
15
+ :error => 'errorCallback',
16
+ :method => 'POST',
17
+ :campo => :mark_as_read_button
18
+ }
19
+ ]
20
+ end
21
+
22
+ def remoto?
23
+ true
24
+ end
25
+
26
+ def listagem_botoes
27
+ {:novo => false, :editar=> false, :apagar => false}
28
+ end
29
+
30
+ def busca_remoto?
31
+ true
32
+ end
33
+
34
+ def ordenacao_remoto
35
+ [:id]
36
+ end
37
+
38
+ def escopo
39
+ [:all, :unread]
40
+ end
41
+
42
+ def filtro_data
43
+ nil
44
+ end
45
+
46
+ def escopo_padrao
47
+ :unread
48
+ end
49
+
50
+ def busca_remoto
51
+ [:title, :message]
52
+ end
53
+
54
+ def advanced_search
55
+ {
56
+ :notification__title => [:field, :like],
57
+ :notification__message => [:field, :like]
58
+ }
59
+ end
60
+ end
61
+ end