jinda 0.0.1

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 (260) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/README.md +179 -0
  4. data/Rakefile +1 -0
  5. data/bin/console +14 -0
  6. data/bin/setup +8 -0
  7. data/lib/generators/jinda/USAGE +2 -0
  8. data/lib/generators/jinda/install_generator.rb +192 -0
  9. data/lib/generators/jinda/mongoid_generator.rb +35 -0
  10. data/lib/generators/jinda/templates/app/assets/config/manifest.js +3 -0
  11. data/lib/generators/jinda/templates/app/assets/images/4dcity-old.ico +0 -0
  12. data/lib/generators/jinda/templates/app/assets/images/4dcity.ico +0 -0
  13. data/lib/generators/jinda/templates/app/assets/images/account.png +0 -0
  14. data/lib/generators/jinda/templates/app/assets/images/add.png +0 -0
  15. data/lib/generators/jinda/templates/app/assets/images/ajax-loader-circle.gif +0 -0
  16. data/lib/generators/jinda/templates/app/assets/images/ajax-loader.gif +0 -0
  17. data/lib/generators/jinda/templates/app/assets/images/anchor.png +0 -0
  18. data/lib/generators/jinda/templates/app/assets/images/application_double.png +0 -0
  19. data/lib/generators/jinda/templates/app/assets/images/application_form_edit.png +0 -0
  20. data/lib/generators/jinda/templates/app/assets/images/arrow_left.png +0 -0
  21. data/lib/generators/jinda/templates/app/assets/images/arrow_right.png +0 -0
  22. data/lib/generators/jinda/templates/app/assets/images/arrow_turn_left.png +0 -0
  23. data/lib/generators/jinda/templates/app/assets/images/arrow_turn_right.png +0 -0
  24. data/lib/generators/jinda/templates/app/assets/images/calendar.png +0 -0
  25. data/lib/generators/jinda/templates/app/assets/images/cancel.png +0 -0
  26. data/lib/generators/jinda/templates/app/assets/images/chart_bar.png +0 -0
  27. data/lib/generators/jinda/templates/app/assets/images/clock.png +0 -0
  28. data/lib/generators/jinda/templates/app/assets/images/cog.png +0 -0
  29. data/lib/generators/jinda/templates/app/assets/images/control_fastforward.png +0 -0
  30. data/lib/generators/jinda/templates/app/assets/images/control_play.png +0 -0
  31. data/lib/generators/jinda/templates/app/assets/images/cross.png +0 -0
  32. data/lib/generators/jinda/templates/app/assets/images/delete.png +0 -0
  33. data/lib/generators/jinda/templates/app/assets/images/external-link.png +0 -0
  34. data/lib/generators/jinda/templates/app/assets/images/facebook-button.png +0 -0
  35. data/lib/generators/jinda/templates/app/assets/images/facebook-sign-in-button.png +0 -0
  36. data/lib/generators/jinda/templates/app/assets/images/facebooksmall.png +0 -0
  37. data/lib/generators/jinda/templates/app/assets/images/favicon.ico +0 -0
  38. data/lib/generators/jinda/templates/app/assets/images/freemind(mm).png +0 -0
  39. data/lib/generators/jinda/templates/app/assets/images/help.png +0 -0
  40. data/lib/generators/jinda/templates/app/assets/images/highway-menu.png +0 -0
  41. data/lib/generators/jinda/templates/app/assets/images/highway.png +0 -0
  42. data/lib/generators/jinda/templates/app/assets/images/house.png +0 -0
  43. data/lib/generators/jinda/templates/app/assets/images/icons-18-black.png +0 -0
  44. data/lib/generators/jinda/templates/app/assets/images/icons-18-white.png +0 -0
  45. data/lib/generators/jinda/templates/app/assets/images/icons-36-black.png +0 -0
  46. data/lib/generators/jinda/templates/app/assets/images/icons-36-white.png +0 -0
  47. data/lib/generators/jinda/templates/app/assets/images/logo.png +0 -0
  48. data/lib/generators/jinda/templates/app/assets/images/logo_jinda.png +0 -0
  49. data/lib/generators/jinda/templates/app/assets/images/logout.png +0 -0
  50. data/lib/generators/jinda/templates/app/assets/images/new.gif +0 -0
  51. data/lib/generators/jinda/templates/app/assets/images/new.png +0 -0
  52. data/lib/generators/jinda/templates/app/assets/images/page.png +0 -0
  53. data/lib/generators/jinda/templates/app/assets/images/page_attach.png +0 -0
  54. data/lib/generators/jinda/templates/app/assets/images/page_green.png +0 -0
  55. data/lib/generators/jinda/templates/app/assets/images/page_output.png +0 -0
  56. data/lib/generators/jinda/templates/app/assets/images/page_pdf.png +0 -0
  57. data/lib/generators/jinda/templates/app/assets/images/pencil.png +0 -0
  58. data/lib/generators/jinda/templates/app/assets/images/printer.png +0 -0
  59. data/lib/generators/jinda/templates/app/assets/images/refresh.png +0 -0
  60. data/lib/generators/jinda/templates/app/assets/images/report.png +0 -0
  61. data/lib/generators/jinda/templates/app/assets/images/rssmall.png +0 -0
  62. data/lib/generators/jinda/templates/app/assets/images/tick.png +0 -0
  63. data/lib/generators/jinda/templates/app/assets/images/twittersmall.png +0 -0
  64. data/lib/generators/jinda/templates/app/assets/images/user.png +0 -0
  65. data/lib/generators/jinda/templates/app/assets/images/view_code.png +0 -0
  66. data/lib/generators/jinda/templates/app/assets/javascripts/application.js +26 -0
  67. data/lib/generators/jinda/templates/app/assets/javascripts/cable.js +13 -0
  68. data/lib/generators/jinda/templates/app/assets/javascripts/jqm/application.js-jqm +26 -0
  69. data/lib/generators/jinda/templates/app/assets/javascripts/jqm/disable_enter_key.js +10 -0
  70. data/lib/generators/jinda/templates/app/assets/javascripts/jqm/iscroll-wrapper.js +32 -0
  71. data/lib/generators/jinda/templates/app/assets/javascripts/jqm/iscroll.js +1084 -0
  72. data/lib/generators/jinda/templates/app/assets/javascripts/jqm/jinda.js +14 -0
  73. data/lib/generators/jinda/templates/app/assets/javascripts/jqm/jquery.mobile-1.2.1.js +9272 -0
  74. data/lib/generators/jinda/templates/app/assets/javascripts/jqm/jquery.mobile.datebox.js +1772 -0
  75. data/lib/generators/jinda/templates/app/assets/javascripts/jqm/jquery.mobile.splitview.js +695 -0
  76. data/lib/generators/jinda/templates/app/assets/stylesheets/application.scss +30 -0
  77. data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/sarabun.eot +0 -0
  78. data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/sarabun.ttf +0 -0
  79. data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/sarabun.woff +0 -0
  80. data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/sarabun_bold.ttf +0 -0
  81. data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/sarabun_bolditalic.ttf +0 -0
  82. data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/sarabun_italic.ttf +0 -0
  83. data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/thsarabunnew-webfont.eot +0 -0
  84. data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/thsarabunnew-webfont.ttf +0 -0
  85. data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/thsarabunnew-webfont.woff +0 -0
  86. data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/thsarabunnew.css +47 -0
  87. data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/thsarabunnew_bold-webfont.eot +0 -0
  88. data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/thsarabunnew_bold-webfont.ttf +0 -0
  89. data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/thsarabunnew_bold-webfont.woff +0 -0
  90. data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/thsarabunnew_bolditalic-webfont.eot +0 -0
  91. data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/thsarabunnew_bolditalic-webfont.ttf +0 -0
  92. data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/thsarabunnew_bolditalic-webfont.woff +0 -0
  93. data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/thsarabunnew_italic-webfont.eot +0 -0
  94. data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/thsarabunnew_italic-webfont.ttf +0 -0
  95. data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/thsarabunnew_italic-webfont.woff +0 -0
  96. data/lib/generators/jinda/templates/app/assets/stylesheets/images/ajax-loader.gif +0 -0
  97. data/lib/generators/jinda/templates/app/assets/stylesheets/images/button_black.png +0 -0
  98. data/lib/generators/jinda/templates/app/assets/stylesheets/images/button_blue.png +0 -0
  99. data/lib/generators/jinda/templates/app/assets/stylesheets/images/button_red.png +0 -0
  100. data/lib/generators/jinda/templates/app/assets/stylesheets/images/icons-18-black.png +0 -0
  101. data/lib/generators/jinda/templates/app/assets/stylesheets/images/icons-18-white.png +0 -0
  102. data/lib/generators/jinda/templates/app/assets/stylesheets/images/icons-36-black.png +0 -0
  103. data/lib/generators/jinda/templates/app/assets/stylesheets/images/icons-36-white.png +0 -0
  104. data/lib/generators/jinda/templates/app/assets/stylesheets/images/indicator.gif +0 -0
  105. data/lib/generators/jinda/templates/app/assets/stylesheets/jqm/application.scss-jqm +30 -0
  106. data/lib/generators/jinda/templates/app/assets/stylesheets/jqm/articles.scss +84 -0
  107. data/lib/generators/jinda/templates/app/assets/stylesheets/jqm/jinda.css +138 -0
  108. data/lib/generators/jinda/templates/app/assets/stylesheets/jqm/jquery.mobile-1.2.1.css +2339 -0
  109. data/lib/generators/jinda/templates/app/assets/stylesheets/jqm/jquery.mobile.datebox.css +65 -0
  110. data/lib/generators/jinda/templates/app/assets/stylesheets/jqm/jquery.mobile.grids.collapsible.css +122 -0
  111. data/lib/generators/jinda/templates/app/assets/stylesheets/jqm/jquery.mobile.splitview.css +128 -0
  112. data/lib/generators/jinda/templates/app/assets/stylesheets/jqm/kul-4.2.css +1516 -0
  113. data/lib/generators/jinda/templates/app/assets/stylesheets/jqm/kul-4.2.min.css +11 -0
  114. data/lib/generators/jinda/templates/app/assets/stylesheets/jqm/rouge.css.erb +11 -0
  115. data/lib/generators/jinda/templates/app/assets/stylesheets/jqm/sarabun.css +37 -0
  116. data/lib/generators/jinda/templates/app/channels/application_cable/channel.rb +4 -0
  117. data/lib/generators/jinda/templates/app/channels/application_cable/connection.rb +4 -0
  118. data/lib/generators/jinda/templates/app/controllers/admins_controller.rb +6 -0
  119. data/lib/generators/jinda/templates/app/controllers/application_controller.rb +40 -0
  120. data/lib/generators/jinda/templates/app/controllers/articles_controller.rb +67 -0
  121. data/lib/generators/jinda/templates/app/controllers/comments_controller.rb +17 -0
  122. data/lib/generators/jinda/templates/app/controllers/ctrs_controller.rb +2 -0
  123. data/lib/generators/jinda/templates/app/controllers/devs_controller.rb +2 -0
  124. data/lib/generators/jinda/templates/app/controllers/identities_controller.rb +5 -0
  125. data/lib/generators/jinda/templates/app/controllers/jinda_controller.rb +537 -0
  126. data/lib/generators/jinda/templates/app/controllers/password_resets.rb +28 -0
  127. data/lib/generators/jinda/templates/app/controllers/password_resets_controller.rb +34 -0
  128. data/lib/generators/jinda/templates/app/controllers/sessions_controller.rb +37 -0
  129. data/lib/generators/jinda/templates/app/controllers/sitemap_controller.rb +12 -0
  130. data/lib/generators/jinda/templates/app/controllers/users_controller.rb +34 -0
  131. data/lib/generators/jinda/templates/app/helpers/admins_helper.rb +2 -0
  132. data/lib/generators/jinda/templates/app/helpers/application_helper.rb +33 -0
  133. data/lib/generators/jinda/templates/app/helpers/articles_helper.rb +2 -0
  134. data/lib/generators/jinda/templates/app/helpers/basic_helper.rb +2 -0
  135. data/lib/generators/jinda/templates/app/helpers/comments_helper.rb +2 -0
  136. data/lib/generators/jinda/templates/app/helpers/ctrs_helper.rb +2 -0
  137. data/lib/generators/jinda/templates/app/helpers/devs_helper.rb +2 -0
  138. data/lib/generators/jinda/templates/app/helpers/pictures_helper.rb +2 -0
  139. data/lib/generators/jinda/templates/app/helpers/sitemap_helper.rb +2 -0
  140. data/lib/generators/jinda/templates/app/helpers/users_helper.rb +2 -0
  141. data/lib/generators/jinda/templates/app/jinda/index.mm +189 -0
  142. data/lib/generators/jinda/templates/app/jinda/template/view.html.erb +23 -0
  143. data/lib/generators/jinda/templates/app/jobs/application_job.rb +2 -0
  144. data/lib/generators/jinda/templates/app/mailers/application_mailer.rb +4 -0
  145. data/lib/generators/jinda/templates/app/mailers/jinda_mailer.rb +7 -0
  146. data/lib/generators/jinda/templates/app/mailers/user_mailer.rb +15 -0
  147. data/lib/generators/jinda/templates/app/models/address.rb +14 -0
  148. data/lib/generators/jinda/templates/app/models/article.rb +14 -0
  149. data/lib/generators/jinda/templates/app/models/ckeditor/asset.rb +5 -0
  150. data/lib/generators/jinda/templates/app/models/ckeditor/attachment_file.rb +13 -0
  151. data/lib/generators/jinda/templates/app/models/ckeditor/picture.rb +14 -0
  152. data/lib/generators/jinda/templates/app/models/comment.rb +11 -0
  153. data/lib/generators/jinda/templates/app/models/identity.rb +16 -0
  154. data/lib/generators/jinda/templates/app/models/jinda/doc.rb +31 -0
  155. data/lib/generators/jinda/templates/app/models/jinda/module.rb +11 -0
  156. data/lib/generators/jinda/templates/app/models/jinda/notice.rb +14 -0
  157. data/lib/generators/jinda/templates/app/models/jinda/role.rb +8 -0
  158. data/lib/generators/jinda/templates/app/models/jinda/runseq.rb +24 -0
  159. data/lib/generators/jinda/templates/app/models/jinda/service.rb +17 -0
  160. data/lib/generators/jinda/templates/app/models/jinda/xmain.rb +38 -0
  161. data/lib/generators/jinda/templates/app/models/param.rb +41 -0
  162. data/lib/generators/jinda/templates/app/models/person.rb +14 -0
  163. data/lib/generators/jinda/templates/app/models/user.rb +59 -0
  164. data/lib/generators/jinda/templates/app/views/adminbsbs/content.haml +241 -0
  165. data/lib/generators/jinda/templates/app/views/admins/edit_role/edit_role.html.erb +7 -0
  166. data/lib/generators/jinda/templates/app/views/admins/edit_role/select_user.html.erb +4 -0
  167. data/lib/generators/jinda/templates/app/views/articles/edit.haml +12 -0
  168. data/lib/generators/jinda/templates/app/views/articles/edit_article/edit_article.html.erb +13 -0
  169. data/lib/generators/jinda/templates/app/views/articles/edit_article/select_article.html.erb +12 -0
  170. data/lib/generators/jinda/templates/app/views/articles/index.haml +23 -0
  171. data/lib/generators/jinda/templates/app/views/articles/my.haml +21 -0
  172. data/lib/generators/jinda/templates/app/views/articles/new_article/form_article.html.erb +14 -0
  173. data/lib/generators/jinda/templates/app/views/articles/show.html.haml +24 -0
  174. data/lib/generators/jinda/templates/app/views/articles/xedit_article/edit_article.html.erb +13 -0
  175. data/lib/generators/jinda/templates/app/views/articles/xedit_article/xedit_article.html.erb +11 -0
  176. data/lib/generators/jinda/templates/app/views/ctrs/vfolder1/viewfile1.html.erb +23 -0
  177. data/lib/generators/jinda/templates/app/views/ctrs/vfolder1/viewfile2.html.erb +23 -0
  178. data/lib/generators/jinda/templates/app/views/ctrs/vfolder2/viewfile2.html.erb +23 -0
  179. data/lib/generators/jinda/templates/app/views/custom/_adsense.haml +6 -0
  180. data/lib/generators/jinda/templates/app/views/identities/new.html.erb +30 -0
  181. data/lib/generators/jinda/templates/app/views/jinda/_activity.md +10 -0
  182. data/lib/generators/jinda/templates/app/views/jinda/_menu.haml +24 -0
  183. data/lib/generators/jinda/templates/app/views/jinda/_menu_mm.haml +29 -0
  184. data/lib/generators/jinda/templates/app/views/jinda/_model.md +5 -0
  185. data/lib/generators/jinda/templates/app/views/jinda/_modul.md +9 -0
  186. data/lib/generators/jinda/templates/app/views/jinda/_pending_home.haml +5 -0
  187. data/lib/generators/jinda/templates/app/views/jinda/_pending_page.haml +24 -0
  188. data/lib/generators/jinda/templates/app/views/jinda/_service.md +24 -0
  189. data/lib/generators/jinda/templates/app/views/jinda/_static.haml +23 -0
  190. data/lib/generators/jinda/templates/app/views/jinda/doc-thai.md +37 -0
  191. data/lib/generators/jinda/templates/app/views/jinda/doc.md +36 -0
  192. data/lib/generators/jinda/templates/app/views/jinda/error_logs.haml +22 -0
  193. data/lib/generators/jinda/templates/app/views/jinda/feed.rss.builder +27 -0
  194. data/lib/generators/jinda/templates/app/views/jinda/help.haml +20 -0
  195. data/lib/generators/jinda/templates/app/views/jinda/index.html.haml +39 -0
  196. data/lib/generators/jinda/templates/app/views/jinda/logs.haml +22 -0
  197. data/lib/generators/jinda/templates/app/views/jinda/pending.haml +1 -0
  198. data/lib/generators/jinda/templates/app/views/jinda/run_form.haml +37 -0
  199. data/lib/generators/jinda/templates/app/views/jinda/run_output.haml +38 -0
  200. data/lib/generators/jinda/templates/app/views/jinda/search.haml +20 -0
  201. data/lib/generators/jinda/templates/app/views/jinda/status.haml +61 -0
  202. data/lib/generators/jinda/templates/app/views/jinda_mailer/gmail.html.erb +9 -0
  203. data/lib/generators/jinda/templates/app/views/layouts/_head.html.erb +13 -0
  204. data/lib/generators/jinda/templates/app/views/layouts/_meta_tags.html.erb +5 -0
  205. data/lib/generators/jinda/templates/app/views/layouts/_metatag.html.erb +19 -0
  206. data/lib/generators/jinda/templates/app/views/layouts/application.haml +4 -0
  207. data/lib/generators/jinda/templates/app/views/layouts/bsb/_footer.haml +7 -0
  208. data/lib/generators/jinda/templates/app/views/layouts/bsb/_header.haml +147 -0
  209. data/lib/generators/jinda/templates/app/views/layouts/bsb/_menu.haml +47 -0
  210. data/lib/generators/jinda/templates/app/views/layouts/bsb/_menu_mm.haml +34 -0
  211. data/lib/generators/jinda/templates/app/views/layouts/bsb/_rightbar.haml +123 -0
  212. data/lib/generators/jinda/templates/app/views/layouts/bsb/_sidebar.haml +155 -0
  213. data/lib/generators/jinda/templates/app/views/layouts/bsb/application.haml-bsb +47 -0
  214. data/lib/generators/jinda/templates/app/views/layouts/gmail.html.erb +9 -0
  215. data/lib/generators/jinda/templates/app/views/layouts/jqm/_full.haml +41 -0
  216. data/lib/generators/jinda/templates/app/views/layouts/jqm/_page.haml +16 -0
  217. data/lib/generators/jinda/templates/app/views/layouts/jqm/application.haml-jqm +4 -0
  218. data/lib/generators/jinda/templates/app/views/layouts/mailer.html.erb +13 -0
  219. data/lib/generators/jinda/templates/app/views/layouts/mailer.html.haml +3 -0
  220. data/lib/generators/jinda/templates/app/views/layouts/mailer.text.erb +1 -0
  221. data/lib/generators/jinda/templates/app/views/layouts/mailer.text.haml +1 -0
  222. data/lib/generators/jinda/templates/app/views/layouts/mobile.html.erb +13 -0
  223. data/lib/generators/jinda/templates/app/views/layouts/mobilejq.html.erb +31 -0
  224. data/lib/generators/jinda/templates/app/views/layouts/print.html.erb +22 -0
  225. data/lib/generators/jinda/templates/app/views/layouts/utf8.html.erb +22 -0
  226. data/lib/generators/jinda/templates/app/views/new.html.erb +7 -0
  227. data/lib/generators/jinda/templates/app/views/password_resets/edit.html.erb +21 -0
  228. data/lib/generators/jinda/templates/app/views/password_resets/new.html.erb +7 -0
  229. data/lib/generators/jinda/templates/app/views/sessions/new.html.erb +16 -0
  230. data/lib/generators/jinda/templates/app/views/sitemap/index.xml.haml +10 -0
  231. data/lib/generators/jinda/templates/app/views/user_mailer/password_reset.html.haml +3 -0
  232. data/lib/generators/jinda/templates/app/views/user_mailer/password_reset.text.erb +3 -0
  233. data/lib/generators/jinda/templates/app/views/user_mailer/password_reset.text.haml +3 -0
  234. data/lib/generators/jinda/templates/app/views/users/index.haml +13 -0
  235. data/lib/generators/jinda/templates/app/views/users/pwd/enter.html.erb +6 -0
  236. data/lib/generators/jinda/templates/app/views/users/user/enter_user.html.erb +8 -0
  237. data/lib/generators/jinda/templates/cloudinary.yml +9 -0
  238. data/lib/generators/jinda/templates/jinda.yml +10 -0
  239. data/lib/generators/jinda/templates/public/404.html +67 -0
  240. data/lib/generators/jinda/templates/public/422.html +67 -0
  241. data/lib/generators/jinda/templates/public/500.html +66 -0
  242. data/lib/generators/jinda/templates/public/assets/images/logo.png +0 -0
  243. data/lib/generators/jinda/templates/public/favicon.ico +0 -0
  244. data/lib/generators/jinda/templates/public/robots.txt +3 -0
  245. data/lib/generators/jinda/templates/seeds.rb +6 -0
  246. data/lib/generators/jinda/templates/spec/controllers/admins_controller_spec.rb +5 -0
  247. data/lib/generators/jinda/templates/spec/controllers/devs_controller_spec.rb +5 -0
  248. data/lib/generators/jinda/templates/spec/controllers/users_controller_spec.rb +5 -0
  249. data/lib/generators/jinda/templates/spec/helpers/admins_helper_spec.rb +15 -0
  250. data/lib/generators/jinda/templates/spec/helpers/devs_helper_spec.rb +15 -0
  251. data/lib/generators/jinda/templates/spec/helpers/users_helper_spec.rb +15 -0
  252. data/lib/generators/jinda/templates/spec/spec_helper.rb +38 -0
  253. data/lib/jinda.rb +6 -0
  254. data/lib/jinda/helpers.rb +517 -0
  255. data/lib/jinda/railtie.rb +18 -0
  256. data/lib/jinda/version.rb +3 -0
  257. data/lib/tasks/jinda.rake +202 -0
  258. data/test/jinda_test.rb +7 -0
  259. data/test/test_helper.rb +4 -0
  260. metadata +345 -0
@@ -0,0 +1,7 @@
1
+ class JindaMailer < ActionMailer::Base
2
+ default from: "from@example.com"
3
+ def gmail(ui, to="", subject="", from="")
4
+ @ui = ui
5
+ mail(:to => to, :subject => subject, :from => from)
6
+ end
7
+ end
@@ -0,0 +1,15 @@
1
+ class UserMailer < ApplicationMailer
2
+
3
+ # Subject can be set in your I18n file at config/locales/en.yml
4
+ # with the following lookup:
5
+ #
6
+ # en.user_mailer.password_reset.subject
7
+ #
8
+ def password_reset(user)
9
+
10
+ @greeting = "Hi"
11
+
12
+ @user = user
13
+ mail :to => user.email, :subject => "Password Reset" end
14
+ end
15
+
@@ -0,0 +1,14 @@
1
+ # encoding: utf-8
2
+ class Address
3
+ include Mongoid::Document
4
+ # jinda begin
5
+ include Mongoid::Timestamps
6
+ field :address_street, :type => String
7
+ field :city, :type => String
8
+ field :state, :type => String
9
+ field :zip, :type => String
10
+ field :phone, :type => String
11
+ field :lat, :type => Float
12
+ field :lng, :type => Float
13
+ # jinda end
14
+ end
@@ -0,0 +1,14 @@
1
+ # encoding: utf-8
2
+ class Article
3
+ include Mongoid::Document
4
+ # jinda begin
5
+ include Mongoid::Timestamps
6
+ field :title, :type => String
7
+ field :text, :type => String
8
+ belongs_to :user
9
+ has_many :comments
10
+ validates :title, :text, :user_id, presence: true
11
+ field :body, :type => String
12
+ field :keywords, :type => String
13
+ # jinda end
14
+ end
@@ -0,0 +1,5 @@
1
+ class Ckeditor::Asset
2
+ include Ckeditor::Orm::Mongoid::AssetBase
3
+ include Mongoid::Paperclip
4
+ include Ckeditor::Backend::Paperclip
5
+ end
@@ -0,0 +1,13 @@
1
+ class Ckeditor::AttachmentFile < Ckeditor::Asset
2
+ has_mongoid_attached_file :data,
3
+ url: '/ckeditor_assets/attachments/:id/:filename',
4
+ path: ':rails_root/public/ckeditor_assets/attachments/:id/:filename'
5
+
6
+ validates_attachment_presence :data
7
+ validates_attachment_size :data, less_than: 100.megabytes
8
+ do_not_validate_attachment_file_type :data
9
+
10
+ def url_thumb
11
+ @url_thumb ||= Ckeditor::Utils.filethumb(filename)
12
+ end
13
+ end
@@ -0,0 +1,14 @@
1
+ class Ckeditor::Picture < Ckeditor::Asset
2
+ has_mongoid_attached_file :data,
3
+ url: '/ckeditor_assets/pictures/:id/:style_:basename.:extension',
4
+ path: ':rails_root/public/ckeditor_assets/pictures/:id/:style_:basename.:extension',
5
+ styles: { content: '800>', thumb: '118x100#' }
6
+
7
+ validates_attachment_size :data, less_than: 2.megabytes
8
+ validates_attachment_presence :data
9
+ validates_attachment_content_type :data, content_type: /\Aimage/
10
+
11
+ def url_content
12
+ url(:content)
13
+ end
14
+ end
@@ -0,0 +1,11 @@
1
+ # encoding: utf-8
2
+ class Comment
3
+ include Mongoid::Document
4
+ # jinda begin
5
+ include Mongoid::Timestamps
6
+ field :body, :type => String
7
+ belongs_to :article
8
+ belongs_to :user
9
+ validates :body, :user_id, :article_id, presence: true
10
+ # jinda end
11
+ end
@@ -0,0 +1,16 @@
1
+ class Identity
2
+ include Mongoid::Document
3
+ include OmniAuth::Identity::Models::Mongoid
4
+ self.auth_key 'code'
5
+
6
+ field :code, :type => String
7
+ field :email, :type => String
8
+ field :password_digest, :type => String
9
+ field :auth_token, :type => String
10
+
11
+
12
+ validates_presence_of :code
13
+ validates_uniqueness_of :code
14
+ validates_uniqueness_of :email
15
+ # validates_format_of :email, :with => /^[-a-z0-9_+\.]+\@([-a-z0-9]+\.)+[a-z0-9]{2,4}$/i
16
+ end
@@ -0,0 +1,31 @@
1
+ # -*- encoding : utf-8 -*-
2
+ class Jinda::Doc
3
+ include Mongoid::Document
4
+ include Mongoid::Timestamps
5
+ field :name, :type => String
6
+ field :filename, :type => String
7
+ field :content_type, :type => String
8
+ field :data_text, :type => String
9
+ field :url, :type => String
10
+ field :basename, :type => String
11
+ field :cloudinary, :type => Boolean
12
+ belongs_to :xmain, :class_name => "Jinda::Xmain"
13
+ belongs_to :runseq, :class_name => "Jinda::Runseq"
14
+ belongs_to :user
15
+ belongs_to :service, :class_name => "Jinda::Service"
16
+ field :ip, :type => String
17
+ field :ma_display, :type => Boolean
18
+ field :ma_secured, :type => Boolean
19
+
20
+ def self.search(q, page, per_page=PER_PAGE)
21
+ paginate :per_page=>per_page, :page => page, :conditions =>
22
+ ["content_type=? AND data_text LIKE ? AND (ma_secured=? OR ma_user_id=?)",
23
+ "output", "%#{q}%", false, session[:user_id] ],
24
+ :order=>'ma_xmain_id DESC', :select=>'DISTINCT ma_xmain_id'
25
+ end
26
+ def self.search_ma_secured(q, page, per_page=PER_PAGE)
27
+ paginate :per_page=>per_page, :page => page, :conditions =>
28
+ ["content_type=? AND data_text LIKE ?", "output", "%#{q}%" ],
29
+ :order=>'ma_xmain_id DESC', :select=>'DISTINCT ma_xmain_id'
30
+ end
31
+ end
@@ -0,0 +1,11 @@
1
+ # -*- encoding : utf-8 -*-
2
+ class Jinda::Module
3
+ include Mongoid::Document
4
+ field :uid, :type => String
5
+ field :code, :type => String
6
+ field :name, :type => String
7
+ field :role, :type => String
8
+ field :seq, :type => Integer
9
+
10
+ has_many :services, :class_name => "Jinda::Service"
11
+ end
@@ -0,0 +1,14 @@
1
+ # -*- encoding : utf-8 -*-
2
+ class Jinda::Notice
3
+ include Mongoid::Document
4
+ include Mongoid::Timestamps
5
+ field :message, :type => String
6
+ field :unread, :type => Boolean
7
+ field :ip, :type => String
8
+ belongs_to :user
9
+
10
+ def self.recent(user_id, ip)
11
+ where(unread: true, ip: ip).last
12
+ # where(unread: true, user_id: user_id, ip: ip).last
13
+ end
14
+ end
@@ -0,0 +1,8 @@
1
+ # -*- encoding : utf-8 -*-
2
+ class Jinda::Role
3
+ include Mongoid::Document
4
+ include Mongoid::Timestamps
5
+ field :code, :type => String
6
+ field :name, :type => String
7
+ belongs_to :user
8
+ end
@@ -0,0 +1,24 @@
1
+ # -*- encoding : utf-8 -*-
2
+ class Jinda::Runseq
3
+ include Mongoid::Document
4
+ include Mongoid::Timestamps
5
+ belongs_to :user
6
+ belongs_to :xmain, :class_name => "Jinda::Xmain"
7
+
8
+ field :action, :type => String
9
+ field :status, :type => String
10
+ field :code, :type => String
11
+ field :name, :type => String
12
+ field :role, :type => String
13
+ field :rule, :type => String
14
+ field :rstep, :type => Integer
15
+ field :form_step, :type => Integer
16
+ field :start, :type => DateTime
17
+ field :stop, :type => DateTime
18
+ field :end, :type => Boolean
19
+ field :xml, :type => String
20
+ field :ip, :type => String
21
+
22
+ scope :form_action, ->{where(:action.in=> ['form','output','pdf'])}
23
+
24
+ end
@@ -0,0 +1,17 @@
1
+ # -*- encoding : utf-8 -*-
2
+ class Jinda::Service
3
+ include Mongoid::Document
4
+ field :uid, :type => String
5
+ field :module_code, :type => String
6
+ field :code, :type => String
7
+ field :name, :type => String
8
+ field :xml, :type => String
9
+ field :role, :type => String
10
+ field :rule, :type => String
11
+ field :seq, :type => Integer
12
+ field :list, :type => Boolean
13
+ field :ma_secured, :type => Boolean
14
+ field :confirm, :type => Boolean
15
+
16
+ belongs_to :module, :class_name => "Jinda::Module"
17
+ end
@@ -0,0 +1,38 @@
1
+ # -*- encoding : utf-8 -*-
2
+ class Jinda::Xmain
3
+ include Mongoid::Document
4
+ field :xid, :type => String
5
+ # Jinda begin
6
+ include Mongoid::Timestamps
7
+ belongs_to :service, :class_name => "Jinda::Service"
8
+ field :start, :type => DateTime
9
+ field :stop, :type => DateTime
10
+ field :name, :type => String
11
+ field :ip, :type => String
12
+ field :status, :type => String
13
+ belongs_to :user
14
+ field :xvars, :type => Hash
15
+ field :current_runseq, :type => String
16
+ # Jinda end
17
+
18
+ has_many :runseqs, :class_name => "Jinda::Runseq"
19
+ has_many :docs, :class_name => "Jinda::Doc"
20
+ before_create :assign_xid
21
+
22
+
23
+ # number of xmains on the specified date
24
+ def self.get(xid)
25
+ find_by(xid:xid)
26
+ end
27
+ def assign_xid
28
+ self.xid = Param.gen(:xid)
29
+ end
30
+ def self.number(d)
31
+ all(:conditions=>['DATE(created_at) =?', d.to_date]).count
32
+ end
33
+ def self.search(q, page, per_page=10)
34
+ paginate :per_page=>per_page, :page => page, :conditions =>
35
+ ["LOWER(xvars) LIKE ?", "%#{q}%" ],
36
+ :order=>'created_at DESC'
37
+ end
38
+ end
@@ -0,0 +1,41 @@
1
+ # encoding: utf-8
2
+ class Param
3
+ include Mongoid::Document
4
+ validates_uniqueness_of :code
5
+ # jinda begin
6
+ include Mongoid::Timestamps
7
+ field :code, :type => String
8
+ field :pid, :type => String
9
+ field :yearly, :type => Boolean
10
+ field :description, :type => String
11
+ # jinda end
12
+
13
+ def self.get(code)
14
+ p= where(:code=> code).first
15
+ p.pid
16
+ end
17
+ def self.set(code, pid)
18
+ p= where(:code=> code).first
19
+ p.pid = pid.to_s
20
+ p.save
21
+ end
22
+ def self.gen(code)
23
+ p= where(:code=> code).first
24
+ unless p
25
+ p= self.create! :code => code, :pid => '0', :yearly => false, :description => 'auto'
26
+ end
27
+ if p.yearly
28
+ num, year = p.pid.split('/')
29
+ y_now = (Time.now.year.to_i) -1957
30
+ if year.to_i==y_now
31
+ p.pid = "#{num.to_i+1}/#{y_now}"
32
+ else # new year, restart counter
33
+ p.pid = "1/#{y_now}"
34
+ end
35
+ else
36
+ p.pid = (p.pid.to_i+1).to_s
37
+ end
38
+ p.save
39
+ return p.pid
40
+ end
41
+ end
@@ -0,0 +1,14 @@
1
+ # encoding: utf-8
2
+ class Person
3
+ include Mongoid::Document
4
+ # jinda begin
5
+ include Mongoid::Timestamps
6
+ field :fname, :type => String
7
+ field :lname, :type => String
8
+ field :sex, :type => Integer
9
+ belongs_to :address
10
+ field :dob, :type => Date
11
+ field :phone, :type => String
12
+ field :photo, :type => String
13
+ # jinda end
14
+ end
@@ -0,0 +1,59 @@
1
+ class User
2
+ include Mongoid::Document
3
+ before_create {generate_token(:auth_token)}
4
+ field :provider, :type => String
5
+ field :uid, :type => String
6
+ field :code, :type => String
7
+ field :email, :type => String
8
+ field :role, :type => String
9
+ field :user, :type => String
10
+ field :auth_token, :type => String
11
+ field :password_reset_token, :type => String
12
+ field :password_reset_sent_at,:type => DateTime
13
+
14
+
15
+ belongs_to :identity, :polymorphic => true, :optional => true
16
+ has_many :xmains, :class_name => "Jinda::Xmain"
17
+
18
+ ## Add to create forgot password
19
+ def generate_token(column)
20
+ begin
21
+ self[column] = SecureRandom.urlsafe_base64
22
+ end
23
+ #end while User.exists?(column => self[column])
24
+ end
25
+
26
+ def has_role(role1)
27
+ return role.upcase.split(',').include?(role1.upcase)
28
+ end
29
+
30
+ def self.from_omniauth(auth)
31
+ where(auth.slice(:uid, :provider, :email)).first_or_create do |user|
32
+ case auth.provider
33
+ when 'identity'
34
+ identity = Identity.find auth.uid
35
+ user.code = identity.code
36
+ user.email = identity.email
37
+ else
38
+ user.email = auth.info.email
39
+ user.uid = auth.uid
40
+ user.provider = auth.provider
41
+ user.code = auth.info.name
42
+ user.role = "M"
43
+ end
44
+ end
45
+ end
46
+
47
+ def ma_secured?
48
+ role.upcase.split(',').include?(ma_secured_ROLE)
49
+ end
50
+
51
+ def send_password_reset
52
+ generate_token(:password_reset_token)
53
+ self.password_reset_sent_at = Time.zone.now
54
+ save!
55
+ UserMailer.password_reset(self).deliver
56
+ end
57
+
58
+
59
+ end
@@ -0,0 +1,241 @@
1
+ %section.content
2
+ .container-fluid
3
+ .block-header
4
+ %h2 DASHBOARD
5
+ / Widgets
6
+ .row.clearfix
7
+ .col-lg-3.col-md-3.col-sm-6.col-xs-12
8
+ .info-box.bg-pink.hover-expand-effect
9
+ .icon
10
+ %i.material-icons playlist_add_check
11
+ .content
12
+ .text NEW TASKS
13
+ .number.count-to{"data-fresh-interval" => "20", "data-from" => "0", "data-speed" => "15", "data-to" => "125"}
14
+ .col-lg-3.col-md-3.col-sm-6.col-xs-12
15
+ .info-box.bg-cyan.hover-expand-effect
16
+ .icon
17
+ %i.material-icons help
18
+ .content
19
+ .text NEW TICKETS
20
+ .number.count-to{"data-fresh-interval" => "20", "data-from" => "0", "data-speed" => "1000", "data-to" => "257"}
21
+ .col-lg-3.col-md-3.col-sm-6.col-xs-12
22
+ .info-box.bg-light-green.hover-expand-effect
23
+ .icon
24
+ %i.material-icons forum
25
+ .content
26
+ .text NEW COMMENTS
27
+ .number.count-to{"data-fresh-interval" => "20", "data-from" => "0", "data-speed" => "1000", "data-to" => "243"}
28
+ .col-lg-3.col-md-3.col-sm-6.col-xs-12
29
+ .info-box.bg-orange.hover-expand-effect
30
+ .icon
31
+ %i.material-icons person_add
32
+ .content
33
+ .text NEW VISITORS
34
+ .number.count-to{"data-fresh-interval" => "20", "data-from" => "0", "data-speed" => "1000", "data-to" => "1225"}
35
+ / #END# Widgets
36
+ / CPU Usage
37
+ .row.clearfix
38
+ .col-xs-12.col-sm-12.col-md-12.col-lg-12
39
+ .card
40
+ .header
41
+ .row.clearfix
42
+ .col-xs-12.col-sm-6
43
+ %h2 CPU USAGE (%)
44
+ .col-xs-12.col-sm-6.align-right
45
+ .switch.panel-switch-btn
46
+ %span.m-r-10.font-12 REAL TIME
47
+ %label
48
+ OFF
49
+ %input#realtime{:checked => "checked", :type => "checkbox"}/
50
+ = succeed "ON" do
51
+ %span.lever.switch-col-cyan
52
+ %ul.header-dropdown.m-r--5
53
+ %li.dropdown
54
+ %a.dropdown-toggle{"aria-expanded" => "false", "aria-haspopup" => "true", "data-toggle" => "dropdown", :href => "javascript:void(0);", :role => "button"}
55
+ %i.material-icons more_vert
56
+ %ul.dropdown-menu.pull-right
57
+ %li
58
+ %a{:href => "javascript:void(0);"} Action
59
+ %li
60
+ %a{:href => "javascript:void(0);"} Another action
61
+ %li
62
+ %a{:href => "javascript:void(0);"} Something else here
63
+ .body
64
+ #real_time_chart.dashboard-flot-chart
65
+ / #END# CPU Usage
66
+ .row.clearfix
67
+ / Visitors
68
+ .col-xs-12.col-sm-12.col-md-4.col-lg-4
69
+ .card
70
+ .body.bg-pink
71
+ .sparkline{"data-fill-color" => "rgba(0, 188, 212, 0)", "data-height" => "92px", "data-highlight-line-color" => "#fff", "data-highlight-spot-color" => "rgb(233, 30, 99)", "data-line-color" => "rgba(255,255,255,0.7)", "data-line-width" => "2", "data-max-spot-color" => "rgb(255,255,255)", "data-min-spot-color" => "rgb(255,255,255)", "data-offset" => "90", "data-spot-color" => "rgb(255,255,255)", "data-spot-radius" => "4", "data-type" => "line", "data-width" => "100%"}
72
+ 12,10,9,6,5,6,10,5,7,5,12,13,7,12,11
73
+ %ul.dashboard-stat-list
74
+ %li
75
+ TODAY
76
+ %span.pull-right
77
+ %b 1 200
78
+ %small USERS
79
+ %li
80
+ YESTERDAY
81
+ %span.pull-right
82
+ %b 3 872
83
+ %small USERS
84
+ %li
85
+ LAST WEEK
86
+ %span.pull-right
87
+ %b 26 582
88
+ %small USERS
89
+ / #END# Visitors
90
+ / Latest Social Trends
91
+ .col-xs-12.col-sm-12.col-md-4.col-lg-4
92
+ .card
93
+ .body.bg-cyan
94
+ .m-b--35.font-bold LATEST SOCIAL TRENDS
95
+ %ul.dashboard-stat-list
96
+ %li
97
+ \#socialtrends
98
+ %span.pull-right
99
+ %i.material-icons trending_up
100
+ %li
101
+ \#materialdesign
102
+ %span.pull-right
103
+ %i.material-icons trending_up
104
+ %li #adminbsb
105
+ %li #freeadmintemplate
106
+ %li #bootstraptemplate
107
+ %li
108
+ \#freehtmltemplate
109
+ %span.pull-right
110
+ %i.material-icons trending_up
111
+ / #END# Latest Social Trends
112
+ / Answered Tickets
113
+ .col-xs-12.col-sm-12.col-md-4.col-lg-4
114
+ .card
115
+ .body.bg-teal
116
+ .font-bold.m-b--35 ANSWERED TICKETS
117
+ %ul.dashboard-stat-list
118
+ %li
119
+ TODAY
120
+ %span.pull-right
121
+ %b 12
122
+ %small TICKETS
123
+ %li
124
+ YESTERDAY
125
+ %span.pull-right
126
+ %b 15
127
+ %small TICKETS
128
+ %li
129
+ LAST WEEK
130
+ %span.pull-right
131
+ %b 90
132
+ %small TICKETS
133
+ %li
134
+ LAST MONTH
135
+ %span.pull-right
136
+ %b 342
137
+ %small TICKETS
138
+ %li
139
+ LAST YEAR
140
+ %span.pull-right
141
+ %b 4 225
142
+ %small TICKETS
143
+ %li
144
+ ALL
145
+ %span.pull-right
146
+ %b 8 752
147
+ %small TICKETS
148
+ / #END# Answered Tickets
149
+ .row.clearfix
150
+ / Task Info
151
+ .col-xs-12.col-sm-12.col-md-8.col-lg-8
152
+ .card
153
+ .header
154
+ %h2 TASK INFOS
155
+ %ul.header-dropdown.m-r--5
156
+ %li.dropdown
157
+ %a.dropdown-toggle{"aria-expanded" => "false", "aria-haspopup" => "true", "data-toggle" => "dropdown", :href => "javascript:void(0);", :role => "button"}
158
+ %i.material-icons more_vert
159
+ %ul.dropdown-menu.pull-right
160
+ %li
161
+ %a{:href => "javascript:void(0);"} Action
162
+ %li
163
+ %a{:href => "javascript:void(0);"} Another action
164
+ %li
165
+ %a{:href => "javascript:void(0);"} Something else here
166
+ .body
167
+ .table-responsive
168
+ %table.table.table-hover.dashboard-task-infos
169
+ %thead
170
+ %tr
171
+ %th #
172
+ %th Task
173
+ %th Status
174
+ %th Manager
175
+ %th Progress
176
+ %tbody
177
+ %tr
178
+ %td 1
179
+ %td Task A
180
+ %td
181
+ %span.label.bg-green Doing
182
+ %td John Doe
183
+ %td
184
+ .progress
185
+ .progress-bar.bg-green{"aria-valuemax" => "100", "aria-valuemin" => "0", "aria-valuenow" => "62", :role => "progressbar", :style => "width: 62%"}
186
+ %tr
187
+ %td 2
188
+ %td Task B
189
+ %td
190
+ %span.label.bg-blue To Do
191
+ %td John Doe
192
+ %td
193
+ .progress
194
+ .progress-bar.bg-blue{"aria-valuemax" => "100", "aria-valuemin" => "0", "aria-valuenow" => "40", :role => "progressbar", :style => "width: 40%"}
195
+ %tr
196
+ %td 3
197
+ %td Task C
198
+ %td
199
+ %span.label.bg-light-blue On Hold
200
+ %td John Doe
201
+ %td
202
+ .progress
203
+ .progress-bar.bg-light-blue{"aria-valuemax" => "100", "aria-valuemin" => "0", "aria-valuenow" => "72", :role => "progressbar", :style => "width: 72%"}
204
+ %tr
205
+ %td 4
206
+ %td Task D
207
+ %td
208
+ %span.label.bg-orange Wait Approvel
209
+ %td John Doe
210
+ %td
211
+ .progress
212
+ .progress-bar.bg-orange{"aria-valuemax" => "100", "aria-valuemin" => "0", "aria-valuenow" => "95", :role => "progressbar", :style => "width: 95%"}
213
+ %tr
214
+ %td 5
215
+ %td Task E
216
+ %td
217
+ %span.label.bg-red Suspended
218
+ %td John Doe
219
+ %td
220
+ .progress
221
+ .progress-bar.bg-red{"aria-valuemax" => "100", "aria-valuemin" => "0", "aria-valuenow" => "87", :role => "progressbar", :style => "width: 87%"}
222
+ / #END# Task Info
223
+ / Browser Usage
224
+ .col-xs-12.col-sm-12.col-md-4.col-lg-4
225
+ .card
226
+ .header
227
+ %h2 BROWSER USAGE
228
+ %ul.header-dropdown.m-r--5
229
+ %li.dropdown
230
+ %a.dropdown-toggle{"aria-expanded" => "false", "aria-haspopup" => "true", "data-toggle" => "dropdown", :href => "javascript:void(0);", :role => "button"}
231
+ %i.material-icons more_vert
232
+ %ul.dropdown-menu.pull-right
233
+ %li
234
+ %a{:href => "javascript:void(0);"} Action
235
+ %li
236
+ %a{:href => "javascript:void(0);"} Another action
237
+ %li
238
+ %a{:href => "javascript:void(0);"} Something else here
239
+ .body
240
+ #donut_chart.dashboard-donut-chart
241
+ / #END# Browser Usage