jinda_mind 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (383) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/README.md +4 -0
  4. data/Rakefile +3 -0
  5. data/app/assets/config/manifest.js +4 -0
  6. data/app/assets/images/4dcity-old.ico +0 -0
  7. data/app/assets/images/4dcity.ico +0 -0
  8. data/app/assets/images/account.png +0 -0
  9. data/app/assets/images/add.png +0 -0
  10. data/app/assets/images/ajax-loader-circle.gif +0 -0
  11. data/app/assets/images/ajax-loader.gif +0 -0
  12. data/app/assets/images/anchor.png +0 -0
  13. data/app/assets/images/application_double.png +0 -0
  14. data/app/assets/images/application_form_edit.png +0 -0
  15. data/app/assets/images/arrow_left.png +0 -0
  16. data/app/assets/images/arrow_right.png +0 -0
  17. data/app/assets/images/arrow_turn_left.png +0 -0
  18. data/app/assets/images/arrow_turn_right.png +0 -0
  19. data/app/assets/images/calendar.png +0 -0
  20. data/app/assets/images/cancel.png +0 -0
  21. data/app/assets/images/chart_bar.png +0 -0
  22. data/app/assets/images/clock.png +0 -0
  23. data/app/assets/images/cog.png +0 -0
  24. data/app/assets/images/control_fastforward.png +0 -0
  25. data/app/assets/images/control_play.png +0 -0
  26. data/app/assets/images/cross.png +0 -0
  27. data/app/assets/images/delete.png +0 -0
  28. data/app/assets/images/external-link.png +0 -0
  29. data/app/assets/images/facebook-continue-button.png +0 -0
  30. data/app/assets/images/facebooksmall.png +0 -0
  31. data/app/assets/images/favicon.ico +0 -0
  32. data/app/assets/images/freemind(mm).png +0 -0
  33. data/app/assets/images/google-continue-button.png +0 -0
  34. data/app/assets/images/help.png +0 -0
  35. data/app/assets/images/highway-menu.png +0 -0
  36. data/app/assets/images/highway.png +0 -0
  37. data/app/assets/images/house.png +0 -0
  38. data/app/assets/images/icons-18-black.png +0 -0
  39. data/app/assets/images/icons-18-white.png +0 -0
  40. data/app/assets/images/icons-36-black.png +0 -0
  41. data/app/assets/images/icons-36-white.png +0 -0
  42. data/app/assets/images/logo.png +0 -0
  43. data/app/assets/images/logo_jinda.png +0 -0
  44. data/app/assets/images/logout.png +0 -0
  45. data/app/assets/images/new.gif +0 -0
  46. data/app/assets/images/new.png +0 -0
  47. data/app/assets/images/page.png +0 -0
  48. data/app/assets/images/page_attach.png +0 -0
  49. data/app/assets/images/page_green.png +0 -0
  50. data/app/assets/images/page_output.png +0 -0
  51. data/app/assets/images/page_pdf.png +0 -0
  52. data/app/assets/images/pencil.png +0 -0
  53. data/app/assets/images/printer.png +0 -0
  54. data/app/assets/images/refresh.png +0 -0
  55. data/app/assets/images/report.png +0 -0
  56. data/app/assets/images/rssmall.png +0 -0
  57. data/app/assets/images/tick.png +0 -0
  58. data/app/assets/images/twittersmall.png +0 -0
  59. data/app/assets/images/user.png +0 -0
  60. data/app/assets/images/user_admin_gear.png +0 -0
  61. data/app/assets/images/view_code.png +0 -0
  62. data/app/assets/javascripts/application.js-org +24 -0
  63. data/app/assets/javascripts/cable.js +13 -0
  64. data/app/assets/javascripts/disable_enter_key.js +10 -0
  65. data/app/assets/javascripts/iscroll-wrapper.js +32 -0
  66. data/app/assets/javascripts/iscroll.js +1084 -0
  67. data/app/assets/javascripts/jinda.js +14 -0
  68. data/app/assets/javascripts/jinda_jqm.js +24 -0
  69. data/app/assets/javascripts/jquery.mobile-1.2.1.js +9272 -0
  70. data/app/assets/javascripts/jquery.mobile.datebox.js +1778 -0
  71. data/app/assets/javascripts/jquery.mobile.splitview.js +695 -0
  72. data/app/assets/stylesheets/app.scss +90 -0
  73. data/app/assets/stylesheets/articles.scss +94 -0
  74. data/app/assets/stylesheets/fonts/sarabun.eot +0 -0
  75. data/app/assets/stylesheets/fonts/sarabun.ttf +0 -0
  76. data/app/assets/stylesheets/fonts/sarabun.woff +0 -0
  77. data/app/assets/stylesheets/fonts/sarabun_bold.ttf +0 -0
  78. data/app/assets/stylesheets/fonts/sarabun_bolditalic.ttf +0 -0
  79. data/app/assets/stylesheets/fonts/sarabun_italic.ttf +0 -0
  80. data/app/assets/stylesheets/fonts/thsarabunnew-webfont.eot +0 -0
  81. data/app/assets/stylesheets/fonts/thsarabunnew-webfont.ttf +0 -0
  82. data/app/assets/stylesheets/fonts/thsarabunnew-webfont.woff +0 -0
  83. data/app/assets/stylesheets/fonts/thsarabunnew.css +47 -0
  84. data/app/assets/stylesheets/fonts/thsarabunnew_bold-webfont.eot +0 -0
  85. data/app/assets/stylesheets/fonts/thsarabunnew_bold-webfont.ttf +0 -0
  86. data/app/assets/stylesheets/fonts/thsarabunnew_bold-webfont.woff +0 -0
  87. data/app/assets/stylesheets/fonts/thsarabunnew_bolditalic-webfont.eot +0 -0
  88. data/app/assets/stylesheets/fonts/thsarabunnew_bolditalic-webfont.ttf +0 -0
  89. data/app/assets/stylesheets/fonts/thsarabunnew_bolditalic-webfont.woff +0 -0
  90. data/app/assets/stylesheets/fonts/thsarabunnew_italic-webfont.eot +0 -0
  91. data/app/assets/stylesheets/fonts/thsarabunnew_italic-webfont.ttf +0 -0
  92. data/app/assets/stylesheets/fonts/thsarabunnew_italic-webfont.woff +0 -0
  93. data/app/assets/stylesheets/images/ajax-loader.gif +0 -0
  94. data/app/assets/stylesheets/images/button_black.png +0 -0
  95. data/app/assets/stylesheets/images/button_blue.png +0 -0
  96. data/app/assets/stylesheets/images/button_red.png +0 -0
  97. data/app/assets/stylesheets/images/gears.png +0 -0
  98. data/app/assets/stylesheets/images/icons-18-black.png +0 -0
  99. data/app/assets/stylesheets/images/icons-18-white.png +0 -0
  100. data/app/assets/stylesheets/images/icons-36-black.png +0 -0
  101. data/app/assets/stylesheets/images/icons-36-white.png +0 -0
  102. data/app/assets/stylesheets/images/indicator.gif +0 -0
  103. data/app/assets/stylesheets/jinda.scss +185 -0
  104. data/app/assets/stylesheets/jinda_jqm.css.scss +32 -0
  105. data/app/assets/stylesheets/jquery.mobile-1.2.1.css +2339 -0
  106. data/app/assets/stylesheets/jquery.mobile.datebox.css +65 -0
  107. data/app/assets/stylesheets/jquery.mobile.grids.collapsible.css +122 -0
  108. data/app/assets/stylesheets/jquery.mobile.splitview.css +128 -0
  109. data/app/assets/stylesheets/kul-4.2.css +1516 -0
  110. data/app/assets/stylesheets/kul-4.2.min.css +11 -0
  111. data/app/assets/stylesheets/modules.scss +84 -0
  112. data/app/assets/stylesheets/sarabun.css +37 -0
  113. data/app/assets/stylesheets/social.scss +133 -0
  114. data/app/controllers/concerns/jinda_general_concern.rb +179 -0
  115. data/app/controllers/concerns/jinda_run_concern.rb +368 -0
  116. data/app/controllers/jinda_controller.rb +66 -0
  117. data/bin/console +14 -0
  118. data/bin/setup +8 -0
  119. data/config/mongoid.yml +19 -0
  120. data/config/routes.rb +44 -0
  121. data/lib/generators/jinda/USAGE +2 -0
  122. data/lib/generators/jinda/config_generator.rb +102 -0
  123. data/lib/generators/jinda/install_generator.rb +269 -0
  124. data/lib/generators/jinda/installer/gems_install.rb +132 -0
  125. data/lib/generators/jinda/installer/test.rb +6 -0
  126. data/lib/generators/jinda/minitest_generator.rb +30 -0
  127. data/lib/generators/jinda/rspec_generator.rb +30 -0
  128. data/lib/generators/jinda/templates/Dockerfile +26 -0
  129. data/lib/generators/jinda/templates/README.md +173 -0
  130. data/lib/generators/jinda/templates/app/assets/config/manifest.js +4 -0
  131. data/lib/generators/jinda/templates/app/assets/javascripts/application.js +15 -0
  132. data/lib/generators/jinda/templates/app/assets/stylesheets/application.css.scss +15 -0
  133. data/lib/generators/jinda/templates/app/channels/application_cable/channel.rb +4 -0
  134. data/lib/generators/jinda/templates/app/channels/application_cable/connection.rb +4 -0
  135. data/lib/generators/jinda/templates/app/controllers/api/v1/notes_controller.rb +81 -0
  136. data/lib/generators/jinda/templates/app/controllers/jinda_org/admins_controller.rb +6 -0
  137. data/lib/generators/jinda/templates/app/controllers/jinda_org/application_controller.rb +41 -0
  138. data/lib/generators/jinda/templates/app/controllers/jinda_org/articles_controller.rb +110 -0
  139. data/lib/generators/jinda/templates/app/controllers/jinda_org/comments_controller.rb +31 -0
  140. data/lib/generators/jinda/templates/app/controllers/jinda_org/docs_controller.rb +56 -0
  141. data/lib/generators/jinda/templates/app/controllers/jinda_org/identities_controller.rb +5 -0
  142. data/lib/generators/jinda/templates/app/controllers/jinda_org/notes_controller.rb +84 -0
  143. data/lib/generators/jinda/templates/app/controllers/jinda_org/password_resets.rb +28 -0
  144. data/lib/generators/jinda/templates/app/controllers/jinda_org/password_resets_controller.rb +34 -0
  145. data/lib/generators/jinda/templates/app/controllers/jinda_org/sessions_controller.rb +44 -0
  146. data/lib/generators/jinda/templates/app/controllers/jinda_org/sitemap_controller.rb +12 -0
  147. data/lib/generators/jinda/templates/app/controllers/jinda_org/users_controller.rb +35 -0
  148. data/lib/generators/jinda/templates/app/helpers/admins_helper.rb +2 -0
  149. data/lib/generators/jinda/templates/app/helpers/application_helper.rb +33 -0
  150. data/lib/generators/jinda/templates/app/helpers/articles_helper.rb +2 -0
  151. data/lib/generators/jinda/templates/app/helpers/basic_helper.rb +2 -0
  152. data/lib/generators/jinda/templates/app/helpers/comments_helper.rb +2 -0
  153. data/lib/generators/jinda/templates/app/helpers/ctrs_helper.rb +2 -0
  154. data/lib/generators/jinda/templates/app/helpers/devs_helper.rb +2 -0
  155. data/lib/generators/jinda/templates/app/helpers/pictures_helper.rb +2 -0
  156. data/lib/generators/jinda/templates/app/helpers/sitemap_helper.rb +2 -0
  157. data/lib/generators/jinda/templates/app/helpers/users_helper.rb +2 -0
  158. data/lib/generators/jinda/templates/app/jinda/index.mm +486 -0
  159. data/lib/generators/jinda/templates/app/jinda/template/index.mm +366 -0
  160. data/lib/generators/jinda/templates/app/jinda/template/linkview.haml +21 -0
  161. data/lib/generators/jinda/templates/app/jinda/template/view.html.erb +34 -0
  162. data/lib/generators/jinda/templates/app/mailers/application_mailer.rb +4 -0
  163. data/lib/generators/jinda/templates/app/mailers/jinda_mailer.rb +7 -0
  164. data/lib/generators/jinda/templates/app/mailers/note_mailer.rb +10 -0
  165. data/lib/generators/jinda/templates/app/mailers/user_mailer.rb +15 -0
  166. data/lib/generators/jinda/templates/app/models/address.rb +14 -0
  167. data/lib/generators/jinda/templates/app/models/article.rb +14 -0
  168. data/lib/generators/jinda/templates/app/models/comment.rb +14 -0
  169. data/lib/generators/jinda/templates/app/models/identity.rb +18 -0
  170. data/lib/generators/jinda/templates/app/models/jinda/doc.rb +36 -0
  171. data/lib/generators/jinda/templates/app/models/jinda/module.rb +11 -0
  172. data/lib/generators/jinda/templates/app/models/jinda/notice.rb +14 -0
  173. data/lib/generators/jinda/templates/app/models/jinda/role.rb +8 -0
  174. data/lib/generators/jinda/templates/app/models/jinda/runseq.rb +24 -0
  175. data/lib/generators/jinda/templates/app/models/jinda/service.rb +17 -0
  176. data/lib/generators/jinda/templates/app/models/jinda/xmain.rb +38 -0
  177. data/lib/generators/jinda/templates/app/models/note.rb +22 -0
  178. data/lib/generators/jinda/templates/app/models/param.rb +41 -0
  179. data/lib/generators/jinda/templates/app/models/person.rb +14 -0
  180. data/lib/generators/jinda/templates/app/models/user.rb +66 -0
  181. data/lib/generators/jinda/templates/app/views/adminbsbs/content.haml +241 -0
  182. data/lib/generators/jinda/templates/app/views/admins/edit_role/edit_role.html.erb +7 -0
  183. data/lib/generators/jinda/templates/app/views/admins/edit_role/select_user.html.erb +4 -0
  184. data/lib/generators/jinda/templates/app/views/api/v1/note.haml +0 -0
  185. data/lib/generators/jinda/templates/app/views/articles/_report.haml +35 -0
  186. data/lib/generators/jinda/templates/app/views/articles/edit.haml +23 -0
  187. data/lib/generators/jinda/templates/app/views/articles/edit_article/edit_article.html.erb +15 -0
  188. data/lib/generators/jinda/templates/app/views/articles/edit_article/select_article.html.erb +12 -0
  189. data/lib/generators/jinda/templates/app/views/articles/index.haml +5 -0
  190. data/lib/generators/jinda/templates/app/views/articles/my.haml +5 -0
  191. data/lib/generators/jinda/templates/app/views/articles/new_article/form_article.html.erb +16 -0
  192. data/lib/generators/jinda/templates/app/views/articles/show.html.haml +58 -0
  193. data/lib/generators/jinda/templates/app/views/articles/xedit_article/edit_article.html.erb +13 -0
  194. data/lib/generators/jinda/templates/app/views/ctrs/vfolder1/viewfile1.html.erb +23 -0
  195. data/lib/generators/jinda/templates/app/views/ctrs/vfolder1/viewfile2.html.erb +23 -0
  196. data/lib/generators/jinda/templates/app/views/ctrs/vfolder2/viewfile2.html.erb +23 -0
  197. data/lib/generators/jinda/templates/app/views/custom/_adsense.haml +6 -0
  198. data/lib/generators/jinda/templates/app/views/docs/doc_edit/doc_edit.html.erb +21 -0
  199. data/lib/generators/jinda/templates/app/views/docs/doc_edit/doc_select.html.erb +14 -0
  200. data/lib/generators/jinda/templates/app/views/docs/doc_new/doc_form.html.erb +32 -0
  201. data/lib/generators/jinda/templates/app/views/docs/doc_new/doc_form.md +36 -0
  202. data/lib/generators/jinda/templates/app/views/docs/doc_xedit/doc_edit.html.erb +21 -0
  203. data/lib/generators/jinda/templates/app/views/docs/edit/select_note.html.erb +14 -0
  204. data/lib/generators/jinda/templates/app/views/docs/index.haml +21 -0
  205. data/lib/generators/jinda/templates/app/views/docs/my.haml +27 -0
  206. data/lib/generators/jinda/templates/app/views/identities/new.html.haml +32 -0
  207. data/lib/generators/jinda/templates/app/views/jinda/_activity.md +10 -0
  208. data/lib/generators/jinda/templates/app/views/jinda/_menu.haml +27 -0
  209. data/lib/generators/jinda/templates/app/views/jinda/_menu_mm.haml +44 -0
  210. data/lib/generators/jinda/templates/app/views/jinda/_model.md +5 -0
  211. data/lib/generators/jinda/templates/app/views/jinda/_modul.md +9 -0
  212. data/lib/generators/jinda/templates/app/views/jinda/_pending_home.haml +5 -0
  213. data/lib/generators/jinda/templates/app/views/jinda/_pending_page.haml +24 -0
  214. data/lib/generators/jinda/templates/app/views/jinda/_service.md +24 -0
  215. data/lib/generators/jinda/templates/app/views/jinda/_static.haml +13 -0
  216. data/lib/generators/jinda/templates/app/views/jinda/doc-thai.md +37 -0
  217. data/lib/generators/jinda/templates/app/views/jinda/doc.md +36 -0
  218. data/lib/generators/jinda/templates/app/views/jinda/error_logs.haml +22 -0
  219. data/lib/generators/jinda/templates/app/views/jinda/feed.rss.builder +27 -0
  220. data/lib/generators/jinda/templates/app/views/jinda/help.haml +20 -0
  221. data/lib/generators/jinda/templates/app/views/jinda/index.html.haml +53 -0
  222. data/lib/generators/jinda/templates/app/views/jinda/logs.haml +22 -0
  223. data/lib/generators/jinda/templates/app/views/jinda/notice_logs.haml +18 -0
  224. data/lib/generators/jinda/templates/app/views/jinda/pending.haml +1 -0
  225. data/lib/generators/jinda/templates/app/views/jinda/run_form.haml +42 -0
  226. data/lib/generators/jinda/templates/app/views/jinda/run_output.haml +38 -0
  227. data/lib/generators/jinda/templates/app/views/jinda/search.haml +20 -0
  228. data/lib/generators/jinda/templates/app/views/jinda/status.haml +61 -0
  229. data/lib/generators/jinda/templates/app/views/jinda_mailer/gmail.html.erb +9 -0
  230. data/lib/generators/jinda/templates/app/views/layouts/_head.html.erb +10 -0
  231. data/lib/generators/jinda/templates/app/views/layouts/_meta_tag.html.erb +19 -0
  232. data/lib/generators/jinda/templates/app/views/layouts/application.haml +4 -0
  233. data/lib/generators/jinda/templates/app/views/layouts/bsb/_footer.haml +7 -0
  234. data/lib/generators/jinda/templates/app/views/layouts/bsb/_header.haml +147 -0
  235. data/lib/generators/jinda/templates/app/views/layouts/bsb/_menu.haml +47 -0
  236. data/lib/generators/jinda/templates/app/views/layouts/bsb/_menu_mm.haml +34 -0
  237. data/lib/generators/jinda/templates/app/views/layouts/bsb/_rightbar.haml +123 -0
  238. data/lib/generators/jinda/templates/app/views/layouts/bsb/_sidebar.haml +155 -0
  239. data/lib/generators/jinda/templates/app/views/layouts/bsb/application.haml-bsb +47 -0
  240. data/lib/generators/jinda/templates/app/views/layouts/gmail.html.erb +9 -0
  241. data/lib/generators/jinda/templates/app/views/layouts/jqm/_full.haml +33 -0
  242. data/lib/generators/jinda/templates/app/views/layouts/jqm/_page.haml +16 -0
  243. data/lib/generators/jinda/templates/app/views/layouts/jqm/application.haml-jqm +4 -0
  244. data/lib/generators/jinda/templates/app/views/layouts/mailer.html.erb +13 -0
  245. data/lib/generators/jinda/templates/app/views/layouts/mailer.html.haml +3 -0
  246. data/lib/generators/jinda/templates/app/views/layouts/mailer.text.erb +1 -0
  247. data/lib/generators/jinda/templates/app/views/layouts/mailer.text.haml +1 -0
  248. data/lib/generators/jinda/templates/app/views/layouts/mobile.html.erb +13 -0
  249. data/lib/generators/jinda/templates/app/views/layouts/mobilejq.html.erb +31 -0
  250. data/lib/generators/jinda/templates/app/views/layouts/print.html.erb +22 -0
  251. data/lib/generators/jinda/templates/app/views/layouts/utf8.html.erb +22 -0
  252. data/lib/generators/jinda/templates/app/views/note_mailer/gmail.html.haml +7 -0
  253. data/lib/generators/jinda/templates/app/views/note_mailer/gmail.text.haml +8 -0
  254. data/lib/generators/jinda/templates/app/views/notes/delete/select_note.html.erb +14 -0
  255. data/lib/generators/jinda/templates/app/views/notes/edit/edit_note.html.erb +10 -0
  256. data/lib/generators/jinda/templates/app/views/notes/edit/select_note.html.erb +14 -0
  257. data/lib/generators/jinda/templates/app/views/notes/index.haml +71 -0
  258. data/lib/generators/jinda/templates/app/views/notes/mail/display_mail.html.erb +20 -0
  259. data/lib/generators/jinda/templates/app/views/notes/mail/select_note.html.erb +19 -0
  260. data/lib/generators/jinda/templates/app/views/notes/mail/show.html.haml +13 -0
  261. data/lib/generators/jinda/templates/app/views/notes/my.haml +21 -0
  262. data/lib/generators/jinda/templates/app/views/notes/new/new_note.html.erb +13 -0
  263. data/lib/generators/jinda/templates/app/views/notes/show.haml +10 -0
  264. data/lib/generators/jinda/templates/app/views/notes/xedit/edit_note.html.erb +10 -0
  265. data/lib/generators/jinda/templates/app/views/password_resets/edit.html.erb +21 -0
  266. data/lib/generators/jinda/templates/app/views/password_resets/new.html.haml +11 -0
  267. data/lib/generators/jinda/templates/app/views/sessions/new.html.haml +22 -0
  268. data/lib/generators/jinda/templates/app/views/sitemap/index.xml.haml +10 -0
  269. data/lib/generators/jinda/templates/app/views/user_mailer/password_reset.html.haml +3 -0
  270. data/lib/generators/jinda/templates/app/views/user_mailer/password_reset.text.erb +3 -0
  271. data/lib/generators/jinda/templates/app/views/user_mailer/password_reset.text.haml +3 -0
  272. data/lib/generators/jinda/templates/app/views/users/index.haml +13 -0
  273. data/lib/generators/jinda/templates/app/views/users/pwd/enter.html.erb +6 -0
  274. data/lib/generators/jinda/templates/app/views/users/user/enter_user.html.erb +10 -0
  275. data/lib/generators/jinda/templates/config/cloudinary.yml +9 -0
  276. data/lib/generators/jinda/templates/config/initializers/fix_mongoid_generator.rb-org +14 -0
  277. data/lib/generators/jinda/templates/config/mongoid.yml-docker +182 -0
  278. data/lib/generators/jinda/templates/config/mongoid.yml-localhost +182 -0
  279. data/lib/generators/jinda/templates/db/seeds.rb +6 -0
  280. data/lib/generators/jinda/templates/docker-compose.yml +17 -0
  281. data/lib/generators/jinda/templates/dot/dot.env +2 -0
  282. data/lib/generators/jinda/templates/dotrspec +3 -0
  283. data/lib/generators/jinda/templates/entrypoint.sh +13 -0
  284. data/lib/generators/jinda/templates/jinda.yml +10 -0
  285. data/lib/generators/jinda/templates/public/404.html +67 -0
  286. data/lib/generators/jinda/templates/public/422.html +67 -0
  287. data/lib/generators/jinda/templates/public/500.html +66 -0
  288. data/lib/generators/jinda/templates/public/assets/images/logo.png +0 -0
  289. data/lib/generators/jinda/templates/public/favicon.ico +0 -0
  290. data/lib/generators/jinda/templates/public/robots.txt +3 -0
  291. data/lib/generators/jinda/templates/spec/controllers/api/v1_get_index_spec.rb +23 -0
  292. data/lib/generators/jinda/templates/spec/controllers/api/v1_get_my_spec.rb +14 -0
  293. data/lib/generators/jinda/templates/spec/controllers/api/v1_post_spec.rb +19 -0
  294. data/lib/generators/jinda/templates/spec/controllers/sessions_controller_spec.rb +98 -0
  295. data/lib/generators/jinda/templates/spec/features/userlogins_spec.rb +23 -0
  296. data/lib/generators/jinda/templates/spec/mailers/note_spec.rb +24 -0
  297. data/lib/generators/jinda/templates/spec/mailers/previews/note_preview.rb +9 -0
  298. data/lib/generators/jinda/templates/spec/models/note_spec.rb +41 -0
  299. data/lib/generators/jinda/templates/spec/models/user_spec.rb +12 -0
  300. data/lib/generators/jinda/templates/spec/rails_helper.rb +42 -0
  301. data/lib/generators/jinda/templates/spec/spec_helper.rb +80 -0
  302. data/lib/generators/jinda/templates/spec/support/authentication_helper.rb +20 -0
  303. data/lib/generators/jinda/templates/spec/support/databasecleaner.rb +13 -0
  304. data/lib/generators/jinda/templates/spec/support/factory_bot.rb +12 -0
  305. data/lib/generators/jinda/templates/spec/support/omniauth_macros.rb +38 -0
  306. data/lib/generators/jinda/templates/spec/support/request_spec_helper.rb +8 -0
  307. data/lib/generators/jinda/templates/spec/views/articles/_article.html.erb_spec.rbx +14 -0
  308. data/lib/generators/jinda/templates/test/application_system_test_case.rb +5 -0
  309. data/lib/generators/jinda/templates/test/integration/jinda_routes_test.rb +42 -0
  310. data/lib/generators/jinda/templates/test/test_helper.rb +6 -0
  311. data/lib/jinda/date_helpers.rb +109 -0
  312. data/lib/jinda/gem_helpers.rb +11 -0
  313. data/lib/jinda/gen_class.rb +13 -0
  314. data/lib/jinda/gen_freemind.rb +33 -0
  315. data/lib/jinda/gen_helpers.rb +141 -0
  316. data/lib/jinda/gen_models.rb +137 -0
  317. data/lib/jinda/gen_modules.rb +17 -0
  318. data/lib/jinda/gen_runseq.rb +71 -0
  319. data/lib/jinda/gen_services.rb +90 -0
  320. data/lib/jinda/gen_xmain.rb +38 -0
  321. data/lib/jinda/get_app.rb +34 -0
  322. data/lib/jinda/helpers.rb +26 -0
  323. data/lib/jinda/init_vars.rb +36 -0
  324. data/lib/jinda/railtie.rb +18 -0
  325. data/lib/jinda/rake_views.rb +63 -0
  326. data/lib/jinda/refresh.rb +67 -0
  327. data/lib/jinda/themes.rb +175 -0
  328. data/lib/jinda.rb +7 -0
  329. data/lib/jquery.validate.js +1293 -0
  330. data/lib/tasks/jinda.rake +42 -0
  331. data/test/dummy/Rakefile +6 -0
  332. data/test/dummy/app/assets/config/manifest.js +3 -0
  333. data/test/dummy/app/assets/stylesheets/application.css +15 -0
  334. data/test/dummy/app/channels/application_cable/channel.rb +4 -0
  335. data/test/dummy/app/channels/application_cable/connection.rb +4 -0
  336. data/test/dummy/app/controllers/application_controller.rb +2 -0
  337. data/test/dummy/app/helpers/application_helper.rb +2 -0
  338. data/test/dummy/app/javascript/packs/application.js +15 -0
  339. data/test/dummy/app/jobs/application_job.rb +7 -0
  340. data/test/dummy/app/mailers/application_mailer.rb +4 -0
  341. data/test/dummy/app/models/application_record.rb +3 -0
  342. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  343. data/test/dummy/app/views/layouts/mailer.html.erb +13 -0
  344. data/test/dummy/app/views/layouts/mailer.text.erb +1 -0
  345. data/test/dummy/bin/rails +4 -0
  346. data/test/dummy/bin/rake +4 -0
  347. data/test/dummy/bin/setup +33 -0
  348. data/test/dummy/config/application.rb +19 -0
  349. data/test/dummy/config/boot.rb +5 -0
  350. data/test/dummy/config/cable.yml +10 -0
  351. data/test/dummy/config/database.yml +25 -0
  352. data/test/dummy/config/environment.rb +5 -0
  353. data/test/dummy/config/environments/development.rb +62 -0
  354. data/test/dummy/config/environments/production.rb +112 -0
  355. data/test/dummy/config/environments/test.rb +49 -0
  356. data/test/dummy/config/initializers/application_controller_renderer.rb +8 -0
  357. data/test/dummy/config/initializers/assets.rb +12 -0
  358. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  359. data/test/dummy/config/initializers/content_security_policy.rb +28 -0
  360. data/test/dummy/config/initializers/cookies_serializer.rb +5 -0
  361. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  362. data/test/dummy/config/initializers/inflections.rb +16 -0
  363. data/test/dummy/config/initializers/mime_types.rb +4 -0
  364. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  365. data/test/dummy/config/locales/en.yml +33 -0
  366. data/test/dummy/config/puma.rb +38 -0
  367. data/test/dummy/config/routes.rb +3 -0
  368. data/test/dummy/config/spring.rb +6 -0
  369. data/test/dummy/config/storage.yml +34 -0
  370. data/test/dummy/config.ru +5 -0
  371. data/test/dummy/db/development.sqlite3 +0 -0
  372. data/test/dummy/log/development.log +8 -0
  373. data/test/dummy/public/404.html +67 -0
  374. data/test/dummy/public/422.html +67 -0
  375. data/test/dummy/public/500.html +66 -0
  376. data/test/dummy/public/apple-touch-icon-precomposed.png +0 -0
  377. data/test/dummy/public/apple-touch-icon.png +0 -0
  378. data/test/dummy/public/favicon.ico +0 -0
  379. data/test/dummy/tmp/development_secret.txt +1 -0
  380. data/test/integration/navigation_test.rb +7 -0
  381. data/test/jinda_test.rb +7 -0
  382. data/test/test_helper.rb +19 -0
  383. metadata +466 -0
@@ -0,0 +1,23 @@
1
+ <%#
2
+ doc = Doc.new :issue_on=> Date.today, :process_at => Time.now
3
+ %>
4
+ <%#= fields_for doc do |f| %>
5
+ <%#= f.label :rnum, "Reference number" %>
6
+ <%#= f.text_field :rnum %>
7
+ <!--div>
8
+ <%#= f.label :confidential, "Confidentiality" , :class=>"ui-input-text" %>
9
+ <%#= f.select :confidential, [['normal',0],['secret',1],['top secret',2]],{},"data-native-menu"=>"false" %>
10
+ </div-->
11
+ <%#= f.label :issue_on, "Dated" %>
12
+ <%#= f.date_field :issue_on, "blackDays"=>[0,6] %>
13
+ <%#= f.label :summary, "Summary" %>
14
+ <%#= f.text_area :summary, :cols=>50, :rows=>6 %>
15
+ <%#= f.label :dscan, "Attached document" %>
16
+ <%#= f.file_field :dscan %>
17
+ <%# end %>
18
+ <%#= label_tag :hotel, "Ungroup field" %>
19
+ <%#= text_field_tag :hotel %>
20
+ <!--div>
21
+ <%#= label_tag :done1, "Logic field", :class=>"ui-input-text" %>
22
+ <%#= select_tag :done1, options_for_select([['Yes', 'y'], ['No', 'n']],'y'), 'data-role'=>"slider" %>
23
+ </div-->
@@ -0,0 +1,23 @@
1
+ <%#
2
+ doc = Doc.new :issue_on=> Date.today, :process_at => Time.now
3
+ %>
4
+ <%#= fields_for doc do |f| %>
5
+ <%#= f.label :rnum, "Reference number" %>
6
+ <%#= f.text_field :rnum %>
7
+ <!--div>
8
+ <%#= f.label :confidential, "Confidentiality" , :class=>"ui-input-text" %>
9
+ <%#= f.select :confidential, [['normal',0],['secret',1],['top secret',2]],{},"data-native-menu"=>"false" %>
10
+ </div-->
11
+ <%#= f.label :issue_on, "Dated" %>
12
+ <%#= f.date_field :issue_on, "blackDays"=>[0,6] %>
13
+ <%#= f.label :summary, "Summary" %>
14
+ <%#= f.text_area :summary, :cols=>50, :rows=>6 %>
15
+ <%#= f.label :dscan, "Attached document" %>
16
+ <%#= f.file_field :dscan %>
17
+ <%# end %>
18
+ <%#= label_tag :hotel, "Ungroup field" %>
19
+ <%#= text_field_tag :hotel %>
20
+ <!--div>
21
+ <%#= label_tag :done1, "Logic field", :class=>"ui-input-text" %>
22
+ <%#= select_tag :done1, options_for_select([['Yes', 'y'], ['No', 'n']],'y'), 'data-role'=>"slider" %>
23
+ </div-->
@@ -0,0 +1,23 @@
1
+ <%#
2
+ doc = Doc.new :issue_on=> Date.today, :process_at => Time.now
3
+ %>
4
+ <%#= fields_for doc do |f| %>
5
+ <%#= f.label :rnum, "Reference number" %>
6
+ <%#= f.text_field :rnum %>
7
+ <!--div>
8
+ <%#= f.label :confidential, "Confidentiality" , :class=>"ui-input-text" %>
9
+ <%#= f.select :confidential, [['normal',0],['secret',1],['top secret',2]],{},"data-native-menu"=>"false" %>
10
+ </div-->
11
+ <%#= f.label :issue_on, "Dated" %>
12
+ <%#= f.date_field :issue_on, "blackDays"=>[0,6] %>
13
+ <%#= f.label :summary, "Summary" %>
14
+ <%#= f.text_area :summary, :cols=>50, :rows=>6 %>
15
+ <%#= f.label :dscan, "Attached document" %>
16
+ <%#= f.file_field :dscan %>
17
+ <%# end %>
18
+ <%#= label_tag :hotel, "Ungroup field" %>
19
+ <%#= text_field_tag :hotel %>
20
+ <!--div>
21
+ <%#= label_tag :done1, "Logic field", :class=>"ui-input-text" %>
22
+ <%#= select_tag :done1, options_for_select([['Yes', 'y'], ['No', 'n']],'y'), 'data-role'=>"slider" %>
23
+ </div-->
@@ -0,0 +1,6 @@
1
+ %script{:async => "", :src => "//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"}
2
+ :javascript
3
+ (adsbygoogle = window.adsbygoogle || []).push({
4
+ google_ad_client: "ca-pub-5479990040644502",
5
+ enable_page_level_ads: true
6
+ });
@@ -0,0 +1,21 @@
1
+ <%
2
+ doc = Jinda::Doc.new :issue_on=> Date.today, :process_at => Time.now
3
+ %>
4
+ <%= fields_for doc do |f| %>
5
+ <%= f.label :content_type, "Content type" %>
6
+ <%= f.select :content_type, [["pdf file", "pdf"], ["png file", "png"], ["html file", "html"]] %>
7
+ <!--div>
8
+ </div-->
9
+ <%= f.label :issue_on, "Dated" %>
10
+ <%= f.date_field :issue_on, "blackDays"=>[0,6] %>
11
+
12
+ <%= f.label :dscan, "Attached document" %>
13
+ <%= f.file_field :dscan %>
14
+ <%= f.label :filename, "File Name" %>
15
+ <% end %>
16
+ <%= label_tag :x, "x field" %>
17
+ <%= text_field_tag :x %>
18
+ <div>
19
+ <%= label_tag :ma_display, "Display", :class=>"ui-input-text" %>
20
+ <%= select_tag :ma_display, options_for_select([['Yes', 'y'], ['No', 'n']],'y'), 'data-role'=>"slider" %>
21
+ </div>
@@ -0,0 +1,14 @@
1
+
2
+ <%
3
+ if current_ma_user.role.upcase.split(',').include?("A")
4
+ note= Jinda::Doc.all.desc(:created_at)
5
+ else
6
+ note= Jinda::Doc.where(user: current_ma_user).desc(:created_at)
7
+ end
8
+ %>
9
+ <div class="field" data-role="fieldcontain">
10
+ <%= label_tag :filename, 'Select Document' %>
11
+ <br>
12
+ <br>
13
+ <%= select_tag :id, options_from_collection_for_select(note, :id, :filename), "notee-menu"=>"false" %>
14
+ </div>
@@ -0,0 +1,32 @@
1
+ <%
2
+ doc = Jinda::Doc.new :issue_on=> Date.today, :process_at => Time.now
3
+ %>
4
+ <%= fields_for doc do |f| %>
5
+ <div class="form-group">
6
+ <%= f.label :category, "Category" %>
7
+ <%= f.select :category, [["Book", "book"], ["Letter", "letter"], ["Brochure", "brochure"]] %>
8
+ </div>
9
+ <div class="form-group">
10
+ <%= f.label :issue_on, "Dated" %>
11
+ <%= f.date_field :issue_on, "blackDays"=>[0,6] %>
12
+ </div>
13
+ <div class="form-group">
14
+ <%= f.label :dscan, "Attached document" %>
15
+ </div>
16
+ <div class="form-group">
17
+ <%= f.file_field :dscan %>
18
+ </div>
19
+ <% end %>
20
+ <div class="form-group">
21
+ <%= label_tag :description, "Description" %>
22
+ <%= text_field_tag :description %>
23
+ </div>
24
+ <div class="form-group">
25
+ <%= label_tag :ma_display, "Display", :class=>"ui-input-text" %>
26
+ <%= select_tag :ma_display, options_for_select([['Yes', 'y'], ['No', 'n']],'y'), 'data-role'=>"slider" %>
27
+ </div>
28
+ <div class="form-group">
29
+ <%= label_tag :ma_display, "Display", :class=>"ui-input-text" %>
30
+ <%= label_tag :keywords, "Search Keywords" %>
31
+ <%= text_field_tag :keywords %>
32
+ </div>
@@ -0,0 +1,36 @@
1
+ <style>code { font-size: 0.8em;}</style>
2
+
3
+ <%= File.read('README.md') %>
4
+
5
+ ***
6
+
7
+ # Help (UNDER CONSTRUCTION: DUI)
8
+
9
+ <%= render :partial=>'jinda/modul.md', :collection=> Jinda::Module.all.asc(:seq) %>
10
+
11
+ ***
12
+
13
+ # Admin
14
+
15
+ ## Data Structure
16
+
17
+ <%- models= @app.elements["//node[@TEXT='models']"] %>
18
+
19
+ <%= render :partial=>'jinda/model.md', :collection=> models.map {|m| m.attributes["TEXT"] } %>
20
+
21
+ ***
22
+
23
+ # Contents
24
+
25
+ ## markdown
26
+
27
+ This document created and edited with
28
+ <a href="http://daringfireball.net/projects/markdown/syntax" target="_blank">markdown</a>
29
+
30
+ Contents:
31
+
32
+ * Requirement at `README.md`
33
+ * Controller Help at `app/controllers/system.md`
34
+ * Project at `app/views/project/<งาน>.md`
35
+ *
36
+ *
@@ -0,0 +1,21 @@
1
+ <%
2
+ doc = Jinda::Doc.new :issue_on=> Date.today, :process_at => Time.now
3
+ %>
4
+ <%= fields_for doc do |f| %>
5
+ <%= f.label :content_type, "Content type" %>
6
+ <%= f.select :content_type, [["pdf file", "pdf"], ["png file", "png"], ["html file", "html"]] %>
7
+ <!--div>
8
+ </div-->
9
+ <%= f.label :issue_on, "Dated" %>
10
+ <%= f.date_field :issue_on, "blackDays"=>[0,6] %>
11
+
12
+ <%= f.label :dscan, "Attached document" %>
13
+ <%= f.file_field :dscan %>
14
+ <%= f.label :filename, "File Name" %>
15
+ <% end %>
16
+ <%= label_tag :x, "x field" %>
17
+ <%= text_field_tag :x %>
18
+ <div>
19
+ <%= label_tag :ma_display, "Display", :class=>"ui-input-text" %>
20
+ <%= select_tag :ma_display, options_for_select([['Yes', 'y'], ['No', 'n']],'y'), 'data-role'=>"slider" %>
21
+ </div>
@@ -0,0 +1,14 @@
1
+
2
+ <%
3
+ if current_ma_user.role.upcase.split(',').include?("A")
4
+ note= Note.all.desc(:created_at)
5
+ else
6
+ note= Note.where(user: current_ma_user).desc(:created_at)
7
+ end
8
+ %>
9
+ <div class="field" data-role="fieldcontain">
10
+ <%= label_tag :title, 'Select Note' %>
11
+ <br>
12
+ <br>
13
+ <%= select_tag :id, options_from_collection_for_select(note, :id, :title), "notee-menu"=>"false" %>
14
+ </div>
@@ -0,0 +1,21 @@
1
+ - @title= "My Articles"
2
+ %p
3
+ - @page_title = 'All Articlces'
4
+ = paginate @articles
5
+ %table#article-table
6
+ %tr
7
+ %th Title
8
+ %th Description
9
+ %th Created
10
+ %th Updated
11
+ %th Delete
12
+ %th Edit
13
+ - @articles.each do |article|
14
+ %tr
15
+ %td= link_to article.title, :controller=>"articles", :action=>"show", :id=>article.id
16
+ %td= article.text.html_safe
17
+ %td= article.created_at.strftime('%m/%d/%Y')
18
+ %td= article.updated_at.strftime('%m/%d/%Y')
19
+ %td(align='center')= link_to image_tag('delete.png', style:'border:none; float:none;'), "#", :onclick=>"if (confirm('Please Confirm')) {location.hash='/articles/destroy/#{article.id}';}"
20
+ %td(align='center')= link_to image_tag('pencil.png', style:'border:none; float:none;'), {controller: "jinda", action: "init", s: 'articles:xedit_article', article_id: article.id}, data: { confirm: "Please Confirm" }
21
+
@@ -0,0 +1,27 @@
1
+ - @title= "My Documents"
2
+ %p
3
+ - @page_title = 'All Documents'
4
+ = paginate @docs
5
+ %table#document-table
6
+ %tr
7
+ %th File Name
8
+ %th Description
9
+ %th Category
10
+ %th Created
11
+ %th Delete
12
+ %th Edit
13
+ - @docs.each do |doc|
14
+ %tr
15
+ - @temp = doc.dscan
16
+ - if !@temp.blank?
17
+ - @dscan = @temp.scan(/document\/([^*]*)/).last.last
18
+ %td= link_to doc.filename, "#{jinda_document_path}?id=#{@dscan}", target: :_blank
19
+ - else
20
+ %td= doc.filename
21
+ %td= doc.description
22
+ %td= doc.category
23
+ %td= doc.created_at.strftime('%m/%d/%Y')
24
+ %td(align='center')= link_to image_tag('delete.png', style:'border:none; float:none;'), {controller: "docs", action: "destroy", doc_id: doc.id}, data: { confirm: "Please Confirm" }
25
+ %td(align='center')= image_tag('pencil.png', style:'border:none; float:none;')
26
+ - # To do
27
+ - # %td(align='center')= link_to image_tag('pencil.png', style:'border:none; float:none;'), {controller: "jinda", action: "init", s: 'docs:xedit_doc', doc_id: doc.id}, data: { confirm: "Please Confirm" }
@@ -0,0 +1,32 @@
1
+ .container
2
+ .signup-form
3
+ - @title= 'Sign Up'
4
+ = form_tag "/auth/identity/register", {'data-ajax'=>'false'} do
5
+ %h1.h3.mb-3.font-weight-normal{:style => "text-align: center"} Sign Up
6
+ .sign_in
7
+ .label-warning
8
+ = flash[:alert]
9
+ - if @identity && @identity.errors.any?
10
+ .error_messages
11
+ %h3
12
+ = pluralize(@identity.errors.count, "error")
13
+ prohibited this account from being saved:
14
+ %ul
15
+ - @identity.errors.full_messages.each do |msg|
16
+ %li= msg
17
+ .form-group.form-control
18
+ = label_tag :code, 'Username'
19
+ = text_field_tag :code, @identity.try(:code)
20
+ .form-group.form-control
21
+ = label_tag :email
22
+ = text_field_tag :email, @identity.try(:email)
23
+ .form-group.form-control
24
+ = label_tag :password, 'Password'
25
+ = password_field_tag :password
26
+ .form-group.form-control
27
+ = label_tag :password_confirmation, 'Confirm password'
28
+ = password_field_tag :password_confirmation
29
+ %button.btn.btn-success.btn-block.actions{:type => "submit"}
30
+ %i.fas.fa-sign-up-alt
31
+ Sign Up
32
+
@@ -0,0 +1,10 @@
1
+ <%- code, name = activity['TEXT'].split(':',2) %>
2
+ ##### งาน <%= service.name %> ขั้นตอนที่ <%= j %> <%= name %>
3
+ <%- img_file= "#{Rails.root}/app/views/#{service.module}/#{service.code}/#{code}.png" %>
4
+ <%- if File.exist?(img_file)%>
5
+ <%- img = Base64.encode64(File.read(img_file)) %>
6
+ <img src="data:image/png;base64,<%= img %>">
7
+ <%- end %>
8
+ <%- md_file= "#{Rails.root}/app/views/#{service.module}/#{service.code}/#{code}.md" %>
9
+
10
+ <%= File.read md_file if File.exist?(md_file) %>
@@ -0,0 +1,27 @@
1
+ - head = login? ? current_ma_user.code : DEFAULT_HEADER
2
+ %div{"data-context" => "a#default", "data-hash" => "crumbs", "data-id" => "menu", "data-role" => "panel"}
3
+ #main{"data-role" => "page"}
4
+ %div{"data-role" => "header", "data-theme" => "b", "data-backbtn"=>"false"}
5
+ %h1= head
6
+ %div{"data-role" => "content", "data-id" => "menu_mm"}
7
+ %form.ui-filterable
8
+ %ul{"data-role" => "listview", "data-theme" => "g", "data-filter" => "true"}
9
+ %li
10
+ %a{"data-panel" => "main", "data-id" => "home", :href => "/jinda"} Home
11
+ = render :partial => "jinda/menu_mm"
12
+ - if login?
13
+ %li
14
+ %a{:href=>"/jinda/pending", "data-panel" => "main"} Pending Tasks
15
+ %li
16
+ %a{"data-panel" => "main", :href => logout_path, "data-ajax"=>"false"} Sign Out
17
+ - else
18
+ %li
19
+ %a{:href=>new_session_path, "data-panel" => "main"} Sign In
20
+ %li
21
+ %a{:href=>new_identity_path, "data-panel" => "main"} Sign Up
22
+ %li
23
+ = link_to "Refresh", "#", :onclick=>"window.location.replace('/')"
24
+ - if !login?
25
+ .login-box
26
+ = link_to image_tag( 'facebook-continue-button.png'), '/auth/facebook', rel: "external", class: "facebook-connect.social-button"
27
+ = link_to image_tag( 'google-continue-button.png'), '/auth/google_oauth2', rel: "external", class: "google-connect.social-button"
@@ -0,0 +1,44 @@
1
+ - process_services
2
+ - Jinda::Module.all.asc(:seq).each do |m|
3
+ - unless m.role.blank?
4
+ - next unless login?
5
+ - next unless current_ma_user.role
6
+ -# next unless current_ma_user.role.upcase.split(',').include?(m.role.upcase)
7
+ -# ####################### Remove w space in role ###################
8
+ - next unless current_ma_user.role.upcase.split(",").map!(&:strip).include?(m.role.upcase)
9
+
10
+ %li
11
+ -# ########################### Main Display Menu ####################
12
+ = m.name
13
+ -# ##################################################################
14
+ -# Code to display current login user role and required role for menu
15
+ -# ##################################################################
16
+
17
+ -# if defined?(current_ma_user.role) && !current_ma_user.role.blank?
18
+ =# current_ma_user.role
19
+ -# if m.role?
20
+ =# m.role.upcase
21
+
22
+ -# ##################################################################
23
+
24
+ %ul
25
+ - m.services.asc(:seq).each do |s|
26
+ - next unless s.list
27
+ - xml= REXML::Document.new(s.xml).root
28
+ - unless s.rule.blank?
29
+ - next if (!eval(s.rule))
30
+ - unless s.role.blank?
31
+ - next unless login?
32
+ - next unless current_ma_user.role
33
+ - next unless current_ma_user.role.upcase.split(",").map!(&:strip).include?(s.role.upcase)
34
+ - if s.code.downcase=="link"
35
+ - name, url = s.name.split(":", 2)
36
+ - url.strip!
37
+ - else
38
+ - name= s.name; url= "/jinda/init?s=#{s.module_code}:#{s.code}"
39
+ - if s.confirm
40
+ %li
41
+ %a{"data-panel"=>"main", :onclick=>"if (confirm('Please Confirm')) {location.hash='#{url}'};"}= name
42
+ - else
43
+ %li
44
+ %a{"data-panel"=>"main", :href=> url}= name
@@ -0,0 +1,5 @@
1
+
2
+ ### <%= model %>
3
+
4
+ <% model_file= "#{Rails.root}/app/models/#{model}.rb" %>
5
+ <%= code_div File.read(model_file) %>
@@ -0,0 +1,9 @@
1
+
2
+ ### ระบบงาน<%= modul.name %>
3
+
4
+ <%- controller_file= "#{Rails.root}/app/controllers/#{modul.code}_controller.rb" %>
5
+ <%- md_file= "#{Rails.root}/app/controllers/#{modul.code}.md" %>
6
+
7
+ <%= File.read md_file if File.exist?(md_file) %>
8
+
9
+ <%= render :partial=>'jinda/service.md', :collection=> modul.services.asc(:seq) %>
@@ -0,0 +1,5 @@
1
+ #pending{"data-role" => "page"}
2
+ %div{"data-role" => "header" , "data-backbtn"=>"false"}
3
+ %h1 Pending Tasks
4
+ %div{"data-role" => "content"}
5
+ = render :partial => "pending_page", :locals=>{:xmains=>@xmains}
@@ -0,0 +1,24 @@
1
+ - @xmains= xmains
2
+ %table{:id=>"pending-table", :width=>"100%"}
3
+ %tr{:style=>"color:white; background-color:#97BF60;"}
4
+ %th id
5
+ %th task
6
+ %th step
7
+ %th starter
8
+ %th begin
9
+ %th cancel
10
+ - @xmains.each do |xmain|
11
+ - @xmain= xmain
12
+ - next unless xmain.current_runseq
13
+ - @runseq= Jinda::Runseq.find(xmain.current_runseq)
14
+ - next unless @runseq
15
+ - next unless %w(form output pdf).include?(@runseq.action)
16
+ - next if @xmain.runseqs.first==@xmain.current_runseq && @xmain.user!=current_ma_user
17
+ - next unless authorize?
18
+ %tr
19
+ %td= link_to xmain.xid, :controller=>"jinda", :action=>"run", :id=>xmain.id
20
+ %td= link_to xmain.name, :controller=>"jinda", :action=>"run", :id=>xmain.id
21
+ %td= @runseq.name
22
+ %td{:align=>'center'}= xmain.user.try :code
23
+ %td= xmain.start.strftime("%c")
24
+ %td(align='center')= link_to image_tag('delete.png', style:'border:none; float:none;'), "#", :onclick=>"if (confirm('Please Confirm')) {location.hash='/jinda/cancel/#{xmain.id}';}"
@@ -0,0 +1,24 @@
1
+ <%- d= Nokogiri::XML(service.xml) %>
2
+ <%- if service.code=="link" %>
3
+ #### งาน<%= service.name.split(':')[0] %>
4
+ <%- if !(d/'node/node').blank? && (d/'node/node')[0]['TEXT'] %>
5
+ <%= uncomment (d/'node/node')[0]['TEXT'] %>
6
+ <%- end %>
7
+ <%- else %>
8
+ #### งาน<%= service.name %>
9
+ <%- md_file= "#{Rails.root}/app/views/#{service.module.code}/#{service.code}.md" %>
10
+
11
+ <%= File.read md_file if File.exist?(md_file) %>
12
+ <%- j= 1 %>
13
+ <%- (d/'/node/node').each do |activity| %>
14
+ <%- next unless (activity/'icon')[0] %>
15
+ <%- action= freemind2action((activity/'icon')[0]['BUILTIN']) %>
16
+ <%- next unless (action=='form') %>
17
+ <%= render :partial=>'jinda/activity.md', :locals=>{:activity=>activity, :j=>j, :service=>service} %>
18
+ <%- j= j + 1 %>
19
+ <%- end %>
20
+ <%- end %>
21
+
22
+ <!--%= #code_div File.read(model_file) %-->
23
+
24
+ <!--%= # code_div model.camelize.constantize.columns.to_yaml %-->
@@ -0,0 +1,13 @@
1
+ #search{"data-role" => "page"}
2
+ %div{"data-role" => "header", "data-backbtn" => "false"}
3
+ %h1 Search
4
+ %div{"data-role" => "content"}
5
+ - form_tag({:controller=>"jinda", :action=>"search"}, :method => "get" ) do
6
+ = text_field_tag :q, "", :type=>"search", :required=>true, :placeholder=>"key word", :onkeypress=>"$('input').unbind('keypress');"
7
+ = submit_tag "Search", "data-inline"=>"true"
8
+ - form_tag({:controller=>"jinda", :action=>"status"}, :method => "get" ) do
9
+ = text_field_tag :id, nil, :required=>true, :placeholder=>"task number", :onkeypress=>"$('input').unbind('keypress');"
10
+ = submit_tag "Status", "data-inline"=>"true"
11
+ = link_to "Pending Tasks", "#", :onclick=>"location.hash='/jinda/pending'", "data-role"=>"button"
12
+ = link_to "Refresh", "#", :onclick=>"window.location.replace('/')", "data-role"=>"button"
13
+ = link_to "About", "#", :onclick=>"location.hash='#about'", "data-role"=>"button"
@@ -0,0 +1,37 @@
1
+ <style>code { font-size: 0.8em;}</style>
2
+
3
+ <%= File.read('README.md') %>
4
+
5
+ ***
6
+
7
+ # คู่มือการใช้งาน
8
+
9
+ <%= render :partial=>'jinda/modul.md', :collection=> Jinda::Module.all.asc(:seq) %>
10
+
11
+ ***
12
+
13
+ # คู่มือผู้ดูแลระบบ
14
+
15
+ ## โครงสร้างข้อมูล
16
+
17
+ <%- models= @app.elements["//node[@TEXT='models']"] %>
18
+
19
+ <%= render :partial=>'jinda/model.md', :collection=> models.map {|m| m.attributes["TEXT"] } %>
20
+
21
+ ***
22
+
23
+ # ภาคผนวก
24
+
25
+ ## markdown
26
+
27
+ คู่มือนี้จัดทำขึ้นโดยอัตโนมัติจาก mind map และส่วนต่างๆ ของรหัสโปรแกรม
28
+ ผู้เกี่ยวข้องสามารถเขียนวิธีการใช้งานได้อย่างอิสระ โดยใช้คำสั่ง
29
+ <a href="http://daringfireball.net/projects/markdown/syntax" target="_blank">markdown</a>
30
+ ในการเขียนคู่มือประกอบเข้ากับส่วนต่างๆของระบบงาน ดังต่อไปนี้
31
+
32
+ * คำอธิบายระบบในภาพรวม อยู่ในไฟล์ `README.md`
33
+ * คำอธิบายระบบงาน อยู่ในไฟล์ `app/controllers/<ระบบงาน>.md`
34
+ * คำอธิบายงาน อยู่ในไฟล์ `app/views/<ระบบงาน>/<งาน>.md`
35
+ * คำอธิบายงานของ link สร้างเป็นกิ่งลูกต่อจาก link นั้น
36
+ * คำอธิบายขั้นตอน อยู่ในไฟล์ `app/views/<ระบบงาน>/<งาน>/<ขั้นตอน>.md`
37
+ * ตัวอย่างหน้าจอ อยู่ในไฟล์ `app/views/<ระบบงาน>/<งาน>/<ขั้นตอน>.png`
@@ -0,0 +1,36 @@
1
+ <style>code { font-size: 0.8em;}</style>
2
+
3
+ <%= File.read('README.md') %>
4
+
5
+ ***
6
+
7
+ # Help (UNDER CONSTRUCTION: DUI)
8
+
9
+ <%= render :partial=>'jinda/modul.md', :collection=> Jinda::Module.all.asc(:seq) %>
10
+
11
+ ***
12
+
13
+ # Admin
14
+
15
+ ## Data Structure
16
+
17
+ <%- models= @app.elements["//node[@TEXT='models']"] %>
18
+
19
+ <%= render :partial=>'jinda/model.md', :collection=> models.map {|m| m.attributes["TEXT"] } %>
20
+
21
+ ***
22
+
23
+ # Contents
24
+
25
+ ## markdown
26
+
27
+ This document created and edited with
28
+ <a href="http://daringfireball.net/projects/markdown/syntax" target="_blank">markdown</a>
29
+
30
+ Contents:
31
+
32
+ * Requirement at `README.md`
33
+ * Controller Help at `app/controllers/system.md`
34
+ * Project at `app/views/project/<งาน>.md`
35
+ *
36
+ *
@@ -0,0 +1,22 @@
1
+ - @title= "Error Logs"
2
+ = paginate @xmains
3
+ %table{:id=>"pending-table", :width=>"100%"}
4
+ %tr{:style=>"color:white; background-color:#97BF60;"}
5
+ %th id
6
+ %th task
7
+ %th step
8
+ %th starter
9
+ %th begin
10
+ %th message
11
+ - @xmains.each do |xmain|
12
+ - @xmain= xmain
13
+ - next unless xmain.current_runseq
14
+ - @runseq= Jinda::Runseq.find(xmain.current_runseq)
15
+ - next unless @runseq
16
+ %tr
17
+ %td(style='vertical-align:top;')= xmain.xid
18
+ %td(style='vertical-align:top;')= xmain.name
19
+ %td(style='vertical-align:top;')= @runseq.name
20
+ %td(align="center" style='vertical-align:top;')= xmain.user.try :code
21
+ %td(style='vertical-align:top;')= xmain.start.strftime("%c")
22
+ %td(style="vertical-align:top;width:40%")= truncate(xmain.xvars["error"], :length=> 100)
@@ -0,0 +1,27 @@
1
+ xml.instruct! # <?xml version="1.0" encoding="UTF-8"?>
2
+ xml.comment! "a comment" # <!-- a comment -->
3
+ xml.feed "xmlns" => "http://www.w3.org/2005/Atom" do
4
+ xml.title "My Atom Feed"
5
+ # xml.subtitle h(@feed.subtitle), "type" => 'html'
6
+ xml.link url_for( :only_path => false,
7
+ :controller => 'main',
8
+ :action => 'atom' )
9
+ xml.updated Time.now.iso8601
10
+ xml.author do
11
+ xml.name "Jens-Christian Fischer"
12
+ xml.email "jcfischer@gmail.com"
13
+ end
14
+ @waypoints.each do |entry|
15
+ xml.entry do
16
+ xml.code entry.code
17
+ xml.title entry.name
18
+ xml.link "href" => url_for( :only_path => false,
19
+ :controller => 'entries',
20
+ :action => 'show',
21
+ :id => entry )
22
+ xml.id entry.uid
23
+ xml.updated entry.updated_at.iso8601
24
+ xml.summary h(entry.description)
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,20 @@
1
+ %div(style="text-align:center")
2
+ = image_tag "logo_jinda.png"
3
+ %h2 การติดตั้ง
4
+ %ul
5
+ %li
6
+ ติดตั้ง Google Chrome โดยดาวน์โหลดจาก
7
+ = link_to "https://www.google.com/chrome", "https://www.google.com/chrome", :target=>"_blank"
8
+ %li etc.
9
+ %h2 การใช้งาน
10
+ %ul
11
+ %li aaa
12
+ %li
13
+ bbb
14
+ %ul
15
+ %li bb1
16
+ %li bb2
17
+ %h2 ผู้ดูแลระบบ
18
+ %ul
19
+ %li การทำสำรองข้อมูล
20
+ %li การบูรณาการข้อมูลกลาง