jinda 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
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