mindapp 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (195) hide show
  1. data/.gitignore +17 -0
  2. data/Gemfile +4 -0
  3. data/LICENSE.txt +22 -0
  4. data/README.md +29 -0
  5. data/Rakefile +1 -0
  6. data/lib/generators/mindapp/USAGE +8 -0
  7. data/lib/generators/mindapp/install_generator.rb +134 -0
  8. data/lib/generators/mindapp/templates/app/assets/images/account.png +0 -0
  9. data/lib/generators/mindapp/templates/app/assets/images/add.png +0 -0
  10. data/lib/generators/mindapp/templates/app/assets/images/ajax-loader-circle.gif +0 -0
  11. data/lib/generators/mindapp/templates/app/assets/images/ajax-loader.gif +0 -0
  12. data/lib/generators/mindapp/templates/app/assets/images/anchor.png +0 -0
  13. data/lib/generators/mindapp/templates/app/assets/images/application_double.png +0 -0
  14. data/lib/generators/mindapp/templates/app/assets/images/application_form_edit.png +0 -0
  15. data/lib/generators/mindapp/templates/app/assets/images/arrow_left.png +0 -0
  16. data/lib/generators/mindapp/templates/app/assets/images/arrow_right.png +0 -0
  17. data/lib/generators/mindapp/templates/app/assets/images/arrow_turn_left.png +0 -0
  18. data/lib/generators/mindapp/templates/app/assets/images/arrow_turn_right.png +0 -0
  19. data/lib/generators/mindapp/templates/app/assets/images/calendar.png +0 -0
  20. data/lib/generators/mindapp/templates/app/assets/images/cancel.png +0 -0
  21. data/lib/generators/mindapp/templates/app/assets/images/chart_bar.png +0 -0
  22. data/lib/generators/mindapp/templates/app/assets/images/clock.png +0 -0
  23. data/lib/generators/mindapp/templates/app/assets/images/cog.png +0 -0
  24. data/lib/generators/mindapp/templates/app/assets/images/control_fastforward.png +0 -0
  25. data/lib/generators/mindapp/templates/app/assets/images/control_play.png +0 -0
  26. data/lib/generators/mindapp/templates/app/assets/images/cross.png +0 -0
  27. data/lib/generators/mindapp/templates/app/assets/images/delete.png +0 -0
  28. data/lib/generators/mindapp/templates/app/assets/images/external-link.png +0 -0
  29. data/lib/generators/mindapp/templates/app/assets/images/help.png +0 -0
  30. data/lib/generators/mindapp/templates/app/assets/images/house.png +0 -0
  31. data/lib/generators/mindapp/templates/app/assets/images/logo_mindapp.png +0 -0
  32. data/lib/generators/mindapp/templates/app/assets/images/logout.png +0 -0
  33. data/lib/generators/mindapp/templates/app/assets/images/new.gif +0 -0
  34. data/lib/generators/mindapp/templates/app/assets/images/new.png +0 -0
  35. data/lib/generators/mindapp/templates/app/assets/images/page.png +0 -0
  36. data/lib/generators/mindapp/templates/app/assets/images/page_attach.png +0 -0
  37. data/lib/generators/mindapp/templates/app/assets/images/page_green.png +0 -0
  38. data/lib/generators/mindapp/templates/app/assets/images/page_output.png +0 -0
  39. data/lib/generators/mindapp/templates/app/assets/images/page_pdf.png +0 -0
  40. data/lib/generators/mindapp/templates/app/assets/images/pencil.png +0 -0
  41. data/lib/generators/mindapp/templates/app/assets/images/printer.png +0 -0
  42. data/lib/generators/mindapp/templates/app/assets/images/refresh.png +0 -0
  43. data/lib/generators/mindapp/templates/app/assets/images/report.png +0 -0
  44. data/lib/generators/mindapp/templates/app/assets/images/rssmall.png +0 -0
  45. data/lib/generators/mindapp/templates/app/assets/images/tick.png +0 -0
  46. data/lib/generators/mindapp/templates/app/assets/images/user.png +0 -0
  47. data/lib/generators/mindapp/templates/app/assets/images/view_code.png +0 -0
  48. data/lib/generators/mindapp/templates/app/assets/javascripts/application.js +19 -0
  49. data/lib/generators/mindapp/templates/app/assets/javascripts/disable_enter_key.js +10 -0
  50. data/lib/generators/mindapp/templates/app/assets/javascripts/iscroll-wrapper.js +32 -0
  51. data/lib/generators/mindapp/templates/app/assets/javascripts/iscroll.js +1084 -0
  52. data/lib/generators/mindapp/templates/app/assets/javascripts/jquery-1.7.1.js +9266 -0
  53. data/lib/generators/mindapp/templates/app/assets/javascripts/jquery.mobile.datebox.js +1772 -0
  54. data/lib/generators/mindapp/templates/app/assets/javascripts/jquery.mobile.js +7007 -0
  55. data/lib/generators/mindapp/templates/app/assets/javascripts/jquery.mobile.splitview.js +624 -0
  56. data/lib/generators/mindapp/templates/app/assets/javascripts/mindapp.js +14 -0
  57. data/lib/generators/mindapp/templates/app/assets/stylesheets/application.css.scss +18 -0
  58. data/lib/generators/mindapp/templates/app/assets/stylesheets/fonts/sarabun.eot +0 -0
  59. data/lib/generators/mindapp/templates/app/assets/stylesheets/fonts/sarabun.ttf +0 -0
  60. data/lib/generators/mindapp/templates/app/assets/stylesheets/fonts/sarabun.woff +0 -0
  61. data/lib/generators/mindapp/templates/app/assets/stylesheets/fonts/sarabun_bold.ttf +0 -0
  62. data/lib/generators/mindapp/templates/app/assets/stylesheets/fonts/sarabun_bolditalic.ttf +0 -0
  63. data/lib/generators/mindapp/templates/app/assets/stylesheets/fonts/sarabun_italic.ttf +0 -0
  64. data/lib/generators/mindapp/templates/app/assets/stylesheets/fonts/thsarabunnew-webfont.eot +0 -0
  65. data/lib/generators/mindapp/templates/app/assets/stylesheets/fonts/thsarabunnew-webfont.ttf +0 -0
  66. data/lib/generators/mindapp/templates/app/assets/stylesheets/fonts/thsarabunnew-webfont.woff +0 -0
  67. data/lib/generators/mindapp/templates/app/assets/stylesheets/fonts/thsarabunnew.css +47 -0
  68. data/lib/generators/mindapp/templates/app/assets/stylesheets/fonts/thsarabunnew_bold-webfont.eot +0 -0
  69. data/lib/generators/mindapp/templates/app/assets/stylesheets/fonts/thsarabunnew_bold-webfont.ttf +0 -0
  70. data/lib/generators/mindapp/templates/app/assets/stylesheets/fonts/thsarabunnew_bold-webfont.woff +0 -0
  71. data/lib/generators/mindapp/templates/app/assets/stylesheets/fonts/thsarabunnew_bolditalic-webfont.eot +0 -0
  72. data/lib/generators/mindapp/templates/app/assets/stylesheets/fonts/thsarabunnew_bolditalic-webfont.ttf +0 -0
  73. data/lib/generators/mindapp/templates/app/assets/stylesheets/fonts/thsarabunnew_bolditalic-webfont.woff +0 -0
  74. data/lib/generators/mindapp/templates/app/assets/stylesheets/fonts/thsarabunnew_italic-webfont.eot +0 -0
  75. data/lib/generators/mindapp/templates/app/assets/stylesheets/fonts/thsarabunnew_italic-webfont.ttf +0 -0
  76. data/lib/generators/mindapp/templates/app/assets/stylesheets/fonts/thsarabunnew_italic-webfont.woff +0 -0
  77. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/ajax-loader.png +0 -0
  78. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/bg.png +0 -0
  79. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/button_black.png +0 -0
  80. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/button_blue.png +0 -0
  81. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/button_red.png +0 -0
  82. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/cancel.png +0 -0
  83. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/close.png +0 -0
  84. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/del2.png +0 -0
  85. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/deli4.png +0 -0
  86. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/down-left.png +0 -0
  87. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/down-right.png +0 -0
  88. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/fbook.png +0 -0
  89. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/ff.png +0 -0
  90. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/icon-search-black.png +0 -0
  91. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/icons-18-black.png +0 -0
  92. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/icons-18-white.png +0 -0
  93. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/icons-36-black.png +0 -0
  94. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/icons-36-white.png +0 -0
  95. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/overlay.png +0 -0
  96. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/rss3.png +0 -0
  97. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/rss4.png +0 -0
  98. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/search_bg.png +0 -0
  99. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/stumble2.png +0 -0
  100. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/stumble4.png +0 -0
  101. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/tab-left.png +0 -0
  102. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/tab-right.png +0 -0
  103. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/tech3.png +0 -0
  104. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/tech4.png +0 -0
  105. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/twitter3.png +0 -0
  106. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/twitter4.png +0 -0
  107. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/ui-anim_basic_16x16.gif +0 -0
  108. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  109. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/ui-bg_flat_55_fbec88_40x100.png +0 -0
  110. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  111. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  112. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  113. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/ui-bg_glass_75_d0e5f5_1x400.png +0 -0
  114. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  115. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  116. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/ui-bg_glass_85_dfeffc_1x400.png +0 -0
  117. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  118. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png +0 -0
  119. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  120. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/ui-bg_inset-hard_100_f5f8f9_1x100.png +0 -0
  121. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/ui-bg_inset-hard_100_fcfdfd_1x100.png +0 -0
  122. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/ui-icons_217bc0_256x240.png +0 -0
  123. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/ui-icons_222222_256x240.png +0 -0
  124. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/ui-icons_2e83ff_256x240.png +0 -0
  125. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/ui-icons_454545_256x240.png +0 -0
  126. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/ui-icons_469bdd_256x240.png +0 -0
  127. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/ui-icons_6da8d5_256x240.png +0 -0
  128. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/ui-icons_888888_256x240.png +0 -0
  129. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/ui-icons_cd0a0a_256x240.png +0 -0
  130. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/ui-icons_d8e7f3_256x240.png +0 -0
  131. data/lib/generators/mindapp/templates/app/assets/stylesheets/images/ui-icons_f9bd01_256x240.png +0 -0
  132. data/lib/generators/mindapp/templates/app/assets/stylesheets/indicator.gif +0 -0
  133. data/lib/generators/mindapp/templates/app/assets/stylesheets/jquery.mobile.css +1855 -0
  134. data/lib/generators/mindapp/templates/app/assets/stylesheets/jquery.mobile.datebox.css +65 -0
  135. data/lib/generators/mindapp/templates/app/assets/stylesheets/jquery.mobile.grids.collapsible.css +122 -0
  136. data/lib/generators/mindapp/templates/app/assets/stylesheets/jquery.mobile.splitview.css +130 -0
  137. data/lib/generators/mindapp/templates/app/assets/stylesheets/mindapp.css +134 -0
  138. data/lib/generators/mindapp/templates/app/assets/stylesheets/sarabun.css +37 -0
  139. data/lib/generators/mindapp/templates/app/controllers/identities_controller.rb +5 -0
  140. data/lib/generators/mindapp/templates/app/controllers/mindapp_controller.rb +464 -0
  141. data/lib/generators/mindapp/templates/app/controllers/sessions_controller.rb +28 -0
  142. data/lib/generators/mindapp/templates/app/mailers/.gitkeep +0 -0
  143. data/lib/generators/mindapp/templates/app/mailers/mindapp_mailer.rb +7 -0
  144. data/lib/generators/mindapp/templates/app/mindapp/index.mm +85 -0
  145. data/lib/generators/mindapp/templates/app/mindapp/template/view.html.erb +21 -0
  146. data/lib/generators/mindapp/templates/app/models/.gitkeep +0 -0
  147. data/lib/generators/mindapp/templates/app/models/identity.rb +14 -0
  148. data/lib/generators/mindapp/templates/app/models/mindapp/doc.rb +30 -0
  149. data/lib/generators/mindapp/templates/app/models/mindapp/module.rb +10 -0
  150. data/lib/generators/mindapp/templates/app/models/mindapp/notice.rb +11 -0
  151. data/lib/generators/mindapp/templates/app/models/mindapp/role.rb +7 -0
  152. data/lib/generators/mindapp/templates/app/models/mindapp/runseq.rb +24 -0
  153. data/lib/generators/mindapp/templates/app/models/mindapp/service.rb +16 -0
  154. data/lib/generators/mindapp/templates/app/models/mindapp/xmain.rb +38 -0
  155. data/lib/generators/mindapp/templates/app/models/param.rb +41 -0
  156. data/lib/generators/mindapp/templates/app/models/user.rb +30 -0
  157. data/lib/generators/mindapp/templates/app/views/identities/new.html.erb +30 -0
  158. data/lib/generators/mindapp/templates/app/views/layouts/_full.haml +39 -0
  159. data/lib/generators/mindapp/templates/app/views/layouts/_head.html.erb +14 -0
  160. data/lib/generators/mindapp/templates/app/views/layouts/_page.haml +16 -0
  161. data/lib/generators/mindapp/templates/app/views/layouts/_top.html.erb +10 -0
  162. data/lib/generators/mindapp/templates/app/views/layouts/application.haml +4 -0
  163. data/lib/generators/mindapp/templates/app/views/layouts/gmail.html.erb +9 -0
  164. data/lib/generators/mindapp/templates/app/views/layouts/mobile.html.erb +13 -0
  165. data/lib/generators/mindapp/templates/app/views/layouts/mobilejq.html.erb +31 -0
  166. data/lib/generators/mindapp/templates/app/views/layouts/print.html.erb +22 -0
  167. data/lib/generators/mindapp/templates/app/views/layouts/utf8.html.erb +21 -0
  168. data/lib/generators/mindapp/templates/app/views/mindapp/_activity.md +10 -0
  169. data/lib/generators/mindapp/templates/app/views/mindapp/_menu.haml +22 -0
  170. data/lib/generators/mindapp/templates/app/views/mindapp/_menu_mm.haml +30 -0
  171. data/lib/generators/mindapp/templates/app/views/mindapp/_model.md +5 -0
  172. data/lib/generators/mindapp/templates/app/views/mindapp/_modul.md +9 -0
  173. data/lib/generators/mindapp/templates/app/views/mindapp/_pending_home.haml +5 -0
  174. data/lib/generators/mindapp/templates/app/views/mindapp/_pending_page.haml +26 -0
  175. data/lib/generators/mindapp/templates/app/views/mindapp/_service.md +24 -0
  176. data/lib/generators/mindapp/templates/app/views/mindapp/_static.haml +23 -0
  177. data/lib/generators/mindapp/templates/app/views/mindapp/doc.md +37 -0
  178. data/lib/generators/mindapp/templates/app/views/mindapp/feed.rss.builder +27 -0
  179. data/lib/generators/mindapp/templates/app/views/mindapp/help.haml +20 -0
  180. data/lib/generators/mindapp/templates/app/views/mindapp/index.html.haml +34 -0
  181. data/lib/generators/mindapp/templates/app/views/mindapp/pending.haml +1 -0
  182. data/lib/generators/mindapp/templates/app/views/mindapp/run_form.haml +37 -0
  183. data/lib/generators/mindapp/templates/app/views/mindapp/search.haml +20 -0
  184. data/lib/generators/mindapp/templates/app/views/mindapp/status.haml +61 -0
  185. data/lib/generators/mindapp/templates/app/views/mindapp_mailer/gmail.html.erb +9 -0
  186. data/lib/generators/mindapp/templates/app/views/sessions/new.html.erb +11 -0
  187. data/lib/generators/mindapp/templates/mindapp.yml +10 -0
  188. data/lib/generators/mindapp/templates/seeds.rb +6 -0
  189. data/lib/mindapp.rb +6 -0
  190. data/lib/mindapp/helpers.rb +475 -0
  191. data/lib/mindapp/railtie.rb +18 -0
  192. data/lib/mindapp/version.rb +3 -0
  193. data/lib/tasks/mindapp.rake +191 -0
  194. data/mindapp.gemspec +19 -0
  195. metadata +239 -0
@@ -0,0 +1,28 @@
1
+ # encoding: utf-8
2
+ class SessionsController < ApplicationController
3
+ def new
4
+ @title= 'เข้าใช้ระบบ'
5
+ end
6
+
7
+ # to refresh the page, must know BEFOREHAND that the action needs refresh
8
+ # then use attribute 'data-ajax'=>'false'
9
+ # see app/views/sessions/new.html.erb for sample
10
+ def create
11
+ user = User.from_omniauth(env["omniauth.auth"])
12
+ session[:user_id] = user.id
13
+ redirect_to '/mindapp/pending'
14
+ rescue
15
+ redirect_to root_path, :alert=> "Authentication failed, please try again."
16
+ end
17
+
18
+ def destroy
19
+ session[:user_id] = nil
20
+ # redirect_to '/mindapp/help'
21
+ refresh_to root_path
22
+ end
23
+
24
+ def failure
25
+ gma_log "Authentication failed, please try again."
26
+ redirect_to root_path, :alert=> "Authentication failed, please try again."
27
+ end
28
+ end
@@ -0,0 +1,7 @@
1
+ class MindappMailer < 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,85 @@
1
+ <map version="0.9.0">
2
+ <!-- To view this file, download free mind mapping software FreeMind from http://freemind.sourceforge.net -->
3
+ <node CREATED="1273819432637" ID="ID_1098419600" MODIFIED="1334737006485" TEXT="Mindapp">
4
+ <node CREATED="1273819462973" ID="ID_282419531" MODIFIED="1334737064016" POSITION="right" TEXT="services">
5
+ <node CREATED="1275756501221" FOLDED="true" ID="ID_1720745721" MODIFIED="1355422528220" TEXT="account:user">
6
+ <node CREATED="1278491598711" ID="ID_1662699954" MODIFIED="1278491602025" TEXT="role:m"/>
7
+ <node CREATED="1279700865182" ID="ID_1266797279" MODIFIED="1330477813686" TEXT="link:info: /account"/>
8
+ <node CREATED="1319015338880" ID="ID_189841353" MODIFIED="1330477824203" TEXT="link:pending tasks: /mindapp/pending"/>
9
+ <node CREATED="1275905802131" ID="ID_154000410" MODIFIED="1355422418892" TEXT="user:edit">
10
+ <node CREATED="1275756515843" ID="ID_1108188320" MODIFIED="1330477833918" TEXT="enter_user:edit">
11
+ <icon BUILTIN="attach"/>
12
+ <node CREATED="1282816887988" ID="ID_1767357871" MODIFIED="1282817769412" TEXT="rule:login? &amp;&amp; own_xmain?"/>
13
+ </node>
14
+ <node CREATED="1275756530989" ID="ID_1221806432" MODIFIED="1282822205361" TEXT="update_user">
15
+ <icon BUILTIN="bookmark"/>
16
+ </node>
17
+ <node CREATED="1276062721100" ID="ID_982357600" MODIFIED="1276062727685" TEXT="rule: login?"/>
18
+ </node>
19
+ <node CREATED="1275756504750" ID="ID_1382277695" MODIFIED="1355422424108" TEXT="pwd:change password">
20
+ <node CREATED="1275756515843" ID="ID_1559014937" MODIFIED="1330477842311" TEXT="enter: edit">
21
+ <icon BUILTIN="attach"/>
22
+ <node CREATED="1282816887988" ID="ID_2948144" MODIFIED="1282817769412" TEXT="rule:login? &amp;&amp; own_xmain?"/>
23
+ </node>
24
+ <node CREATED="1275756530989" ID="ID_1566171053" MODIFIED="1275756553762" TEXT="change_password">
25
+ <icon BUILTIN="bookmark"/>
26
+ </node>
27
+ <node CREATED="1276062721100" ID="ID_1806588076" MODIFIED="1276062727685" TEXT="rule: login?"/>
28
+ </node>
29
+ <node CREATED="1279700865182" ID="ID_630918549" MODIFIED="1330477858086" TEXT="link:document: /main/doc"/>
30
+ </node>
31
+ <node CREATED="1275752678377" FOLDED="true" ID="ID_1348489452" MODIFIED="1355422529272" TEXT="admin:admin">
32
+ <node CREATED="1275752688167" ID="ID_229996461" MODIFIED="1275752690948" TEXT="role:a"/>
33
+ <node CREATED="1282722836614" ID="ID_1213363124" MODIFIED="1330477902602" TEXT="edit_role:edit user role">
34
+ <node CREATED="1282722862918" ID="ID_1190117882" MODIFIED="1330477922159" TEXT="select_user:select user">
35
+ <icon BUILTIN="attach"/>
36
+ <node CREATED="1282722901932" ID="ID_1859523490" MODIFIED="1282722903469" TEXT="role:a"/>
37
+ </node>
38
+ <node CREATED="1282722868801" ID="ID_1325872490" MODIFIED="1330477926538" TEXT="edit_role:edit role">
39
+ <icon BUILTIN="attach"/>
40
+ <node CREATED="1282722901932" ID="ID_1992100954" MODIFIED="1282722903469" TEXT="role:a"/>
41
+ </node>
42
+ <node CREATED="1282722907306" ID="ID_1709875397" MODIFIED="1282722922669" TEXT="update_role">
43
+ <icon BUILTIN="bookmark"/>
44
+ </node>
45
+ </node>
46
+ <node CREATED="1273913393454" ID="ID_1088166839" MODIFIED="1355422465435" TEXT="link: pending tasks: /mindapp/pending"/>
47
+ <node CREATED="1275790679363" ID="ID_829325467" MODIFIED="1355422470135" TEXT="link: logs: /mindapp/logs"/>
48
+ </node>
49
+ <node CREATED="1273706796854" FOLDED="true" ID="ID_1003882979" MODIFIED="1355422530348" TEXT="dev: developer">
50
+ <node CREATED="1275373154914" ID="ID_340725299" MODIFIED="1275373158632" TEXT="role:d"/>
51
+ <node CREATED="1275788317299" ID="ID_716276608" MODIFIED="1355422502461" TEXT="link: run_call errors: /mindapp/run_call_errors"/>
52
+ </node>
53
+ </node>
54
+ <node CREATED="1273819465949" ID="ID_855471610" MODIFIED="1355422517520" POSITION="right" TEXT="roles">
55
+ <node CREATED="1273819847470" ID="ID_1681080231" MODIFIED="1330477307826" TEXT="m: member"/>
56
+ <node CREATED="1273819855875" ID="ID_1429503284" MODIFIED="1330477311102" TEXT="a: admin"/>
57
+ <node CREATED="1273819859775" ID="ID_568365839" MODIFIED="1330477315009" TEXT="d: developer"/>
58
+ </node>
59
+ <node CREATED="1273819456867" ID="ID_1677010054" MODIFIED="1334737066801" POSITION="left" TEXT="models">
60
+ <node CREATED="1292122118499" FOLDED="true" ID="ID_1957754752" MODIFIED="1355422535015" TEXT="person">
61
+ <node CREATED="1292122135809" ID="ID_1617970069" MODIFIED="1332878659106" TEXT="fname"/>
62
+ <node CREATED="1292122150362" ID="ID_1200135538" MODIFIED="1332878662388" TEXT="lname"/>
63
+ <node CREATED="1332876694150" ID="ID_1770958985" MODIFIED="1332876730552" TEXT="sex: integer">
64
+ <node CREATED="1332878665790" ID="ID_793089342" MODIFIED="1332878668499" TEXT="1: male"/>
65
+ <node CREATED="1332878669085" ID="ID_1796007763" MODIFIED="1332878673144" TEXT="2: female"/>
66
+ </node>
67
+ <node CREATED="1292123322429" ID="ID_1509464300" MODIFIED="1332878620176" TEXT="belongs_to :address">
68
+ <icon BUILTIN="edit"/>
69
+ </node>
70
+ <node CREATED="1292122156430" ID="ID_604231613" MODIFIED="1292122161324" TEXT="dob: date"/>
71
+ <node CREATED="1286576968143" ID="ID_936807610" MODIFIED="1332878681362" TEXT="phone"/>
72
+ <node CREATED="1290823140269" ID="ID_1957301629" MODIFIED="1332878684453" TEXT="photo"/>
73
+ </node>
74
+ <node CREATED="1292122236285" FOLDED="true" ID="ID_959987887" MODIFIED="1355422532784" TEXT="address">
75
+ <node CREATED="1292122254622" ID="ID_430517150" MODIFIED="1355422372241" TEXT="address_street"/>
76
+ <node CREATED="1355422373525" ID="ID_1797865138" MODIFIED="1355422378352" TEXT="city"/>
77
+ <node CREATED="1355422378959" ID="ID_1964490487" MODIFIED="1355422380765" TEXT="state"/>
78
+ <node CREATED="1355422381231" ID="ID_1226075540" MODIFIED="1355422382748" TEXT="zip"/>
79
+ <node CREATED="1332876680122" ID="ID_65427990" MODIFIED="1332876682148" TEXT="phone"/>
80
+ <node CREATED="1292243471343" ID="ID_1859608350" MODIFIED="1310195256623" TEXT="lat: float"/>
81
+ <node CREATED="1292243477436" ID="ID_48497260" MODIFIED="1310195262534" TEXT="lng: float"/>
82
+ </node>
83
+ </node>
84
+ </node>
85
+ </map>
@@ -0,0 +1,21 @@
1
+ <%#
2
+ doc = Doc.new :issue_on=> Date.today, :process_at => Time.now
3
+ %>
4
+ <%#= fields_for doc do |f| %>
5
+ <%#= f.label :rnum, "เลขที่ทะเบียนรับ" %>
6
+ <%#= f.text_field :rnum %>
7
+ <%#= f.label :confidential, "ชั้นความลับ" %>
8
+ <%#= f.select :confidential, [['ปรกติ',0],['ลับ',1],['ลับมาก',2],['ลับที่สุด',3]],{},"data-native-menu"=>"false" %>
9
+ <%#= f.label :issue_on, "ลงวันที่" %>
10
+ <%#= f.date_field :issue_on, "blackDays"=>[0,6] %>
11
+ <%#= f.label :summary, "สรุป" %>
12
+ <%#= f.text_area :summary, :cols=>50, :rows=>6 %>
13
+ <%#= f.label :dscan, "เอกสารสแกน" %>
14
+ <%#= f.file_field :dscan %>
15
+ <%# end %>
16
+ <%#= label_tag :hotel, "รหัสโรงแรม" %>
17
+ <%#= text_field_tag :hotel %>
18
+ <!--div>
19
+ <%#= label_tag :done1, "สิ้นสุดการบันทึกข้อมูล" %>
20
+ <%#= select_tag :done1, options_for_select([['ใช่', 'y'], ['ยังมีอีก', 'n']],'y'), 'data-role'=>"slider" %>
21
+ </div-->
@@ -0,0 +1,14 @@
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
+
10
+ validates_presence_of :code
11
+ validates_uniqueness_of :code
12
+ validates_uniqueness_of :email
13
+ validates_format_of :email, :with => /^[-a-z0-9_+\.]+\@([-a-z0-9]+\.)+[a-z0-9]{2,4}$/i
14
+ end
@@ -0,0 +1,30 @@
1
+ class Mindapp::Doc
2
+ include Mongoid::Document
3
+ include Mongoid::Timestamps
4
+ field :name, :type => String
5
+ field :filename, :type => String
6
+ field :content_type, :type => String
7
+ field :data_text, :type => String
8
+ field :url, :type => String
9
+ field :basename, :type => String
10
+ field :cloudinary, :type => Boolean
11
+ belongs_to :xmain, :class_name => "Mindapp::Xmain"
12
+ belongs_to :runseq, :class_name => "Mindapp::Runseq"
13
+ belongs_to :user
14
+ belongs_to :service, :class_name => "Mindapp::Service"
15
+ field :ip, :type => String
16
+ field :display, :type => Boolean
17
+ field :secured, :type => Boolean
18
+
19
+ def self.search(q, page, per_page=PER_PAGE)
20
+ paginate :per_page=>per_page, :page => page, :conditions =>
21
+ ["content_type=? AND data_text LIKE ? AND (secured=? OR gma_user_id=?)",
22
+ "output", "%#{q}%", false, session[:user_id] ],
23
+ :order=>'gma_xmain_id DESC', :select=>'DISTINCT gma_xmain_id'
24
+ end
25
+ def self.search_secured(q, page, per_page=PER_PAGE)
26
+ paginate :per_page=>per_page, :page => page, :conditions =>
27
+ ["content_type=? AND data_text LIKE ?", "output", "%#{q}%" ],
28
+ :order=>'gma_xmain_id DESC', :select=>'DISTINCT gma_xmain_id'
29
+ end
30
+ end
@@ -0,0 +1,10 @@
1
+ class Mindapp::Module
2
+ include Mongoid::Document
3
+ field :uid, :type => String
4
+ field :code, :type => String
5
+ field :name, :type => String
6
+ field :role, :type => String
7
+ field :seq, :type => Integer
8
+
9
+ has_many :services, :class_name => "Mindapp::Service"
10
+ end
@@ -0,0 +1,11 @@
1
+ class Mindapp::Notice
2
+ include Mongoid::Document
3
+ include Mongoid::Timestamps
4
+ field :message, :type => String
5
+ field :unread, :type => Boolean
6
+ belongs_to :user
7
+
8
+ def self.recent(user_id)
9
+ where(unread: true, user_id: user_id).last
10
+ end
11
+ end
@@ -0,0 +1,7 @@
1
+ class Mindapp::Role
2
+ include Mongoid::Document
3
+ include Mongoid::Timestamps
4
+ field :code, :type => String
5
+ field :name, :type => String
6
+ belongs_to :user
7
+ end
@@ -0,0 +1,24 @@
1
+ # -*- encoding : utf-8 -*-
2
+ class Mindapp::Runseq
3
+ include Mongoid::Document
4
+ include Mongoid::Timestamps
5
+ belongs_to :user
6
+ belongs_to :xmain, :class_name => "Mindapp::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,16 @@
1
+ class Mindapp::Service
2
+ include Mongoid::Document
3
+ field :uid, :type => String
4
+ field :module_code, :type => String
5
+ field :code, :type => String
6
+ field :name, :type => String
7
+ field :xml, :type => String
8
+ field :role, :type => String
9
+ field :rule, :type => String
10
+ field :seq, :type => Integer
11
+ field :list, :type => Boolean
12
+ field :secured, :type => Boolean
13
+ field :confirm, :type => Boolean
14
+
15
+ belongs_to :module, :class_name => "Mindapp::Module"
16
+ end
@@ -0,0 +1,38 @@
1
+ # -*- encoding : utf-8 -*-
2
+ class Mindapp::Xmain
3
+ include Mongoid::Document
4
+ field :xid, :type => String
5
+ # Mindapp begin
6
+ include Mongoid::Timestamps
7
+ belongs_to :service, :class_name => "Mindapp::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
+ # Mindapp end
17
+
18
+ has_many :runseqs, :class_name => "Mindapp::Runseq"
19
+ has_many :docs, :class_name => "Mindapp::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
+ # Mindapp 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
+ # Mindapp 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,30 @@
1
+ class User
2
+ include Mongoid::Document
3
+ field :provider, :type => String
4
+ field :uid, :type => String
5
+ field :code, :type => String
6
+ field :email, :type => String
7
+ field :role, :type => String
8
+ belongs_to :identity
9
+ has_many :xmains, :class_name => "Mindapp::Xmain"
10
+
11
+ def has_role(role1)
12
+ return role.upcase.split(',').include?(role1.upcase)
13
+ end
14
+ def self.from_omniauth(auth)
15
+ where(:provider=> auth["provider"], :uid=> auth["uid"]).first || create_with_omniauth(auth)
16
+ end
17
+ def self.create_with_omniauth(auth)
18
+ identity = Identity.find auth.uid
19
+ create! do |user|
20
+ user.provider = auth.provider
21
+ user.uid = auth.uid
22
+ user.code = identity.code
23
+ user.email = identity.email
24
+ user.role = "M"
25
+ end
26
+ end
27
+ def secured?
28
+ role.upcase.split(',').include?(SECURED_ROLE)
29
+ end
30
+ end
@@ -0,0 +1,30 @@
1
+ <%- @title= 'Sign Up' %>
2
+ <%= form_tag "/auth/identity/register", {'data-ajax'=>'false'} do %>
3
+ <% if @identity && @identity.errors.any? %>
4
+ <div class="error_messages">
5
+ <h2><%= pluralize(@identity.errors.count, "error") %> prohibited this account from being saved:</h2>
6
+ <ul>
7
+ <% @identity.errors.full_messages.each do |msg| %>
8
+ <li><%= msg %></li>
9
+ <% end %>
10
+ </ul>
11
+ </div>
12
+ <% end %>
13
+ <div class="field" data-role="fieldcontain">
14
+ <%= label_tag :code, 'Username' %>
15
+ <%= text_field_tag :code, @identity.try(:code) %>
16
+ </div>
17
+ <div class="field" data-role="fieldcontain">
18
+ <%= label_tag :email %>
19
+ <%= text_field_tag :email, @identity.try(:email) %>
20
+ </div>
21
+ <div class="field" data-role="fieldcontain">
22
+ <%= label_tag :password, 'Password' %>
23
+ <%= password_field_tag :password %>
24
+ </div>
25
+ <div class="field" data-role="fieldcontain">
26
+ <%= label_tag :password_confirmation, 'Confirm password' %>
27
+ <%= password_field_tag :password_confirmation %>
28
+ </div>
29
+ <div class="actions"><%= submit_tag "Sign Up" %></div>
30
+ <% end %>
@@ -0,0 +1,39 @@
1
+ !!! 5
2
+ %html
3
+ %head
4
+ %meta(name="viewport" content="width=device-width, minimum-scale=1, maximum-scale=1")
5
+ = stylesheet_link_tag "application"
6
+ = javascript_include_tag "application"
7
+ - if GMAP
8
+ = javascript_include_tag "http://maps.google.com/maps/api/js?sensor=false"
9
+ %body
10
+ = render :partial => "mindapp/menu"
11
+ %div{"data-id" => "main", "data-role" => "panel", "data-backbtn"=>"false"}
12
+ - if @cache
13
+ - cache = {}
14
+ - else
15
+ - cache = {"data-cache"=>"never"}
16
+ - if @backbtn
17
+ - backbtn= {"data-backbtn"=>"true"}
18
+ - else
19
+ - backbtn= {"data-backbtn"=>"false"}
20
+ %div{{"data-role" => "page"}.merge(cache) }
21
+ %div{{"data-role" => "header"}.merge(backbtn)}
22
+ %h1= @title || DEFAULT_TITLE
23
+ %div{"data-role" => "content"}
24
+ = yield
25
+
26
+ = render :partial => "mindapp/static"
27
+
28
+ :javascript
29
+ $('div').live('pagehide', function(e,ui) {
30
+ var page = $(e.target);
31
+ if(page.attr('data-cache') == 'never') {
32
+ page.remove();
33
+ };
34
+ });
35
+ $( document ).on( "pagechange", function(){
36
+ $.get("/mindapp/ajax_notice", function(r) {$(r).appendTo('head').remove()});
37
+ });
38
+
39
+ /= raw handle_gma_notice