jinda 0.6.5 → 0.7.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (229) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/app/assets/config/manifest.js +4 -0
  4. data/{lib/generators/jinda/templates/app → app}/assets/images/4dcity-old.ico +0 -0
  5. data/{lib/generators/jinda/templates/app → app}/assets/images/4dcity.ico +0 -0
  6. data/{lib/generators/jinda/templates/app → app}/assets/images/account.png +0 -0
  7. data/{lib/generators/jinda/templates/app → app}/assets/images/add.png +0 -0
  8. data/{lib/generators/jinda/templates/app → app}/assets/images/ajax-loader-circle.gif +0 -0
  9. data/{lib/generators/jinda/templates/app → app}/assets/images/ajax-loader.gif +0 -0
  10. data/{lib/generators/jinda/templates/app → app}/assets/images/anchor.png +0 -0
  11. data/{lib/generators/jinda/templates/app → app}/assets/images/application_double.png +0 -0
  12. data/{lib/generators/jinda/templates/app → app}/assets/images/application_form_edit.png +0 -0
  13. data/{lib/generators/jinda/templates/app → app}/assets/images/arrow_left.png +0 -0
  14. data/{lib/generators/jinda/templates/app → app}/assets/images/arrow_right.png +0 -0
  15. data/{lib/generators/jinda/templates/app → app}/assets/images/arrow_turn_left.png +0 -0
  16. data/{lib/generators/jinda/templates/app → app}/assets/images/arrow_turn_right.png +0 -0
  17. data/{lib/generators/jinda/templates/app → app}/assets/images/calendar.png +0 -0
  18. data/{lib/generators/jinda/templates/app → app}/assets/images/cancel.png +0 -0
  19. data/{lib/generators/jinda/templates/app → app}/assets/images/chart_bar.png +0 -0
  20. data/{lib/generators/jinda/templates/app → app}/assets/images/clock.png +0 -0
  21. data/{lib/generators/jinda/templates/app → app}/assets/images/cog.png +0 -0
  22. data/{lib/generators/jinda/templates/app → app}/assets/images/control_fastforward.png +0 -0
  23. data/{lib/generators/jinda/templates/app → app}/assets/images/control_play.png +0 -0
  24. data/{lib/generators/jinda/templates/app → app}/assets/images/cross.png +0 -0
  25. data/{lib/generators/jinda/templates/app → app}/assets/images/delete.png +0 -0
  26. data/{lib/generators/jinda/templates/app → app}/assets/images/external-link.png +0 -0
  27. data/{lib/generators/jinda/templates/app → app}/assets/images/facebook-continue-button.png +0 -0
  28. data/{lib/generators/jinda/templates/app → app}/assets/images/facebooksmall.png +0 -0
  29. data/{lib/generators/jinda/templates/app → app}/assets/images/favicon.ico +0 -0
  30. data/{lib/generators/jinda/templates/app → app}/assets/images/freemind(mm).png +0 -0
  31. data/{lib/generators/jinda/templates/app → app}/assets/images/google-continue-button.png +0 -0
  32. data/{lib/generators/jinda/templates/app → app}/assets/images/help.png +0 -0
  33. data/{lib/generators/jinda/templates/app → app}/assets/images/highway-menu.png +0 -0
  34. data/{lib/generators/jinda/templates/app → app}/assets/images/highway.png +0 -0
  35. data/{lib/generators/jinda/templates/app → app}/assets/images/house.png +0 -0
  36. data/{lib/generators/jinda/templates/app → app}/assets/images/icons-18-black.png +0 -0
  37. data/{lib/generators/jinda/templates/app → app}/assets/images/icons-18-white.png +0 -0
  38. data/{lib/generators/jinda/templates/app → app}/assets/images/icons-36-black.png +0 -0
  39. data/{lib/generators/jinda/templates/app → app}/assets/images/icons-36-white.png +0 -0
  40. data/{lib/generators/jinda/templates/app → app}/assets/images/logo.png +0 -0
  41. data/{lib/generators/jinda/templates/app → app}/assets/images/logo_jinda.png +0 -0
  42. data/{lib/generators/jinda/templates/app → app}/assets/images/logout.png +0 -0
  43. data/{lib/generators/jinda/templates/app → app}/assets/images/new.gif +0 -0
  44. data/{lib/generators/jinda/templates/app → app}/assets/images/new.png +0 -0
  45. data/{lib/generators/jinda/templates/app → app}/assets/images/page.png +0 -0
  46. data/{lib/generators/jinda/templates/app → app}/assets/images/page_attach.png +0 -0
  47. data/{lib/generators/jinda/templates/app → app}/assets/images/page_green.png +0 -0
  48. data/{lib/generators/jinda/templates/app → app}/assets/images/page_output.png +0 -0
  49. data/{lib/generators/jinda/templates/app → app}/assets/images/page_pdf.png +0 -0
  50. data/{lib/generators/jinda/templates/app → app}/assets/images/pencil.png +0 -0
  51. data/{lib/generators/jinda/templates/app → app}/assets/images/printer.png +0 -0
  52. data/{lib/generators/jinda/templates/app → app}/assets/images/refresh.png +0 -0
  53. data/{lib/generators/jinda/templates/app → app}/assets/images/report.png +0 -0
  54. data/{lib/generators/jinda/templates/app → app}/assets/images/rssmall.png +0 -0
  55. data/{lib/generators/jinda/templates/app → app}/assets/images/tick.png +0 -0
  56. data/{lib/generators/jinda/templates/app → app}/assets/images/twittersmall.png +0 -0
  57. data/{lib/generators/jinda/templates/app → app}/assets/images/user.png +0 -0
  58. data/{lib/generators/jinda/templates/app → app}/assets/images/user_admin_gear.png +0 -0
  59. data/{lib/generators/jinda/templates/app → app}/assets/images/view_code.png +0 -0
  60. data/{lib/generators/jinda/templates/app/assets/javascripts/application.js-jqm → app/assets/javascripts/application.js-org} +8 -11
  61. data/{lib/generators/jinda/templates/app → app}/assets/javascripts/cable.js +0 -0
  62. data/{lib/generators/jinda/templates/app → app}/assets/javascripts/disable_enter_key.js +0 -0
  63. data/{lib/generators/jinda/templates/app → app}/assets/javascripts/iscroll-wrapper.js +0 -0
  64. data/{lib/generators/jinda/templates/app → app}/assets/javascripts/iscroll.js +0 -0
  65. data/{lib/generators/jinda/templates/app → app}/assets/javascripts/jinda.js +0 -0
  66. data/app/assets/javascripts/jinda_jqm.js +24 -0
  67. data/{lib/generators/jinda/templates/app → app}/assets/javascripts/jquery.mobile-1.2.1.js +0 -0
  68. data/{lib/generators/jinda/templates/app → app}/assets/javascripts/jquery.mobile.datebox.js +0 -0
  69. data/{lib/generators/jinda/templates/app → app}/assets/javascripts/jquery.mobile.splitview.js +0 -0
  70. data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/app.scss +0 -0
  71. data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/articles.scss +0 -0
  72. data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/fonts/sarabun.eot +0 -0
  73. data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/fonts/sarabun.ttf +0 -0
  74. data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/fonts/sarabun.woff +0 -0
  75. data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/fonts/sarabun_bold.ttf +0 -0
  76. data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/fonts/sarabun_bolditalic.ttf +0 -0
  77. data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/fonts/sarabun_italic.ttf +0 -0
  78. data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/fonts/thsarabunnew-webfont.eot +0 -0
  79. data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/fonts/thsarabunnew-webfont.ttf +0 -0
  80. data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/fonts/thsarabunnew-webfont.woff +0 -0
  81. data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/fonts/thsarabunnew.css +0 -0
  82. data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/fonts/thsarabunnew_bold-webfont.eot +0 -0
  83. data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/fonts/thsarabunnew_bold-webfont.ttf +0 -0
  84. data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/fonts/thsarabunnew_bold-webfont.woff +0 -0
  85. data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/fonts/thsarabunnew_bolditalic-webfont.eot +0 -0
  86. data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/fonts/thsarabunnew_bolditalic-webfont.ttf +0 -0
  87. data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/fonts/thsarabunnew_bolditalic-webfont.woff +0 -0
  88. data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/fonts/thsarabunnew_italic-webfont.eot +0 -0
  89. data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/fonts/thsarabunnew_italic-webfont.ttf +0 -0
  90. data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/fonts/thsarabunnew_italic-webfont.woff +0 -0
  91. data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/images/ajax-loader.gif +0 -0
  92. data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/images/button_black.png +0 -0
  93. data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/images/button_blue.png +0 -0
  94. data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/images/button_red.png +0 -0
  95. data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/images/icons-18-black.png +0 -0
  96. data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/images/icons-18-white.png +0 -0
  97. data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/images/icons-36-black.png +0 -0
  98. data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/images/icons-36-white.png +0 -0
  99. data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/images/indicator.gif +0 -0
  100. data/{lib/generators/jinda/templates/app/assets/stylesheets/jinda.css → app/assets/stylesheets/jinda.scss} +20 -0
  101. data/app/assets/stylesheets/jinda_jqm.css.scss +32 -0
  102. data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/jquery.mobile-1.2.1.css +0 -0
  103. data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/jquery.mobile.datebox.css +0 -0
  104. data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/jquery.mobile.grids.collapsible.css +0 -0
  105. data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/jquery.mobile.splitview.css +0 -0
  106. data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/kul-4.2.css +0 -0
  107. data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/kul-4.2.min.css +0 -0
  108. data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/modules.scss +0 -0
  109. data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/sarabun.css +0 -0
  110. data/{lib/generators/jinda/templates/app → app}/assets/stylesheets/social.scss +0 -0
  111. data/{lib/generators/jinda/templates/app → app}/controllers/concerns/jinda_general_concern.rb +0 -0
  112. data/{lib/generators/jinda/templates/app → app}/controllers/concerns/jinda_run_concern.rb +0 -0
  113. data/{lib/generators/jinda/templates/app/controllers/jinda_org → app/controllers}/jinda_controller.rb +0 -0
  114. data/app/jinda/index.mm +369 -0
  115. data/app/jinda/template/index.mm +366 -0
  116. data/app/jinda/template/linkview.haml +21 -0
  117. data/app/jinda/template/view.html.erb +26 -0
  118. data/{lib/generators/jinda/templates/app → app}/views/jinda/_activity.md +0 -0
  119. data/{lib/generators/jinda/templates/app → app}/views/jinda/_menu.haml +0 -0
  120. data/{lib/generators/jinda/templates/app → app}/views/jinda/_menu_mm.haml +0 -0
  121. data/{lib/generators/jinda/templates/app → app}/views/jinda/_model.md +0 -0
  122. data/{lib/generators/jinda/templates/app → app}/views/jinda/_modul.md +0 -0
  123. data/{lib/generators/jinda/templates/app → app}/views/jinda/_pending_home.haml +0 -0
  124. data/{lib/generators/jinda/templates/app → app}/views/jinda/_pending_page.haml +0 -0
  125. data/{lib/generators/jinda/templates/app → app}/views/jinda/_service.md +0 -0
  126. data/{lib/generators/jinda/templates/app → app}/views/jinda/_static.haml +0 -0
  127. data/{lib/generators/jinda/templates/app → app}/views/jinda/doc-thai.md +0 -0
  128. data/{lib/generators/jinda/templates/app → app}/views/jinda/doc.md +0 -0
  129. data/{lib/generators/jinda/templates/app → app}/views/jinda/error_logs.haml +0 -0
  130. data/{lib/generators/jinda/templates/app → app}/views/jinda/feed.rss.builder +0 -0
  131. data/{lib/generators/jinda/templates/app → app}/views/jinda/help.haml +0 -0
  132. data/{lib/generators/jinda/templates/app → app}/views/jinda/index.html.haml +1 -1
  133. data/{lib/generators/jinda/templates/app → app}/views/jinda/logs.haml +0 -0
  134. data/{lib/generators/jinda/templates/app → app}/views/jinda/notice_logs.haml +0 -0
  135. data/{lib/generators/jinda/templates/app → app}/views/jinda/pending.haml +0 -0
  136. data/{lib/generators/jinda/templates/app → app}/views/jinda/run_form.haml +0 -0
  137. data/{lib/generators/jinda/templates/app → app}/views/jinda/run_output.haml +0 -0
  138. data/{lib/generators/jinda/templates/app → app}/views/jinda/search.haml +0 -0
  139. data/{lib/generators/jinda/templates/app → app}/views/jinda/status.haml +0 -0
  140. data/config/routes.rb +44 -0
  141. data/lib/generators/jinda/config_generator.rb +8 -0
  142. data/lib/generators/jinda/install_generator.rb +47 -44
  143. data/lib/generators/jinda/templates/Dockerfile +4 -2
  144. data/lib/generators/jinda/templates/app/assets/javascripts/application.js +1 -10
  145. data/lib/generators/jinda/templates/app/assets/stylesheets/application.css.scss +1 -20
  146. data/lib/generators/jinda/templates/app/views/articles/_report.haml +32 -0
  147. data/lib/generators/jinda/templates/app/views/articles/edit.haml +22 -11
  148. data/lib/generators/jinda/templates/app/views/articles/edit_article/edit_article.html.erb +14 -12
  149. data/lib/generators/jinda/templates/app/views/articles/index.haml +3 -21
  150. data/lib/generators/jinda/templates/app/views/articles/my.haml +1 -16
  151. data/lib/generators/jinda/templates/app/views/articles/new_article/form_article.html.erb +1 -1
  152. data/lib/generators/jinda/templates/app/views/articles/show.html.haml +37 -21
  153. data/lib/generators/jinda/templates/app/views/identities/new.html.erb +29 -24
  154. data/lib/generators/jinda/templates/app/views/password_resets/new.html.erb +13 -7
  155. data/lib/generators/jinda/templates/app/views/sessions/new.html.erb +24 -18
  156. data/lib/generators/jinda/templates/docker-compose.yml +3 -2
  157. data/lib/generators/jinda/templates/entrypoint.sh +2 -1
  158. data/lib/jinda.rb +2 -1
  159. data/lib/jinda/date_helpers.rb +109 -0
  160. data/lib/jinda/{gemhelpers.rb → gem_helpers.rb} +0 -1
  161. data/lib/jinda/gen_class.rb +13 -0
  162. data/lib/jinda/gen_controller.rb +10 -0
  163. data/lib/jinda/gen_freemind.rb +33 -0
  164. data/lib/jinda/gen_helpers.rb +141 -0
  165. data/lib/jinda/gen_models.rb +137 -0
  166. data/lib/jinda/gen_runseq.rb +71 -0
  167. data/lib/jinda/gen_services.rb +90 -0
  168. data/lib/jinda/gen_xmain.rb +38 -0
  169. data/lib/jinda/get_app.rb +34 -0
  170. data/lib/jinda/helpers.rb +17 -998
  171. data/lib/jinda/init_vars.rb +36 -0
  172. data/lib/jinda/rake_views.rb +59 -0
  173. data/lib/jinda/refresh.rb +67 -0
  174. data/lib/jinda/themes.rb +163 -0
  175. data/lib/jinda/version.rb +1 -1
  176. data/test/dummy/Rakefile +6 -0
  177. data/test/dummy/app/assets/config/manifest.js +3 -0
  178. data/test/dummy/app/assets/stylesheets/application.css +15 -0
  179. data/test/dummy/app/channels/application_cable/channel.rb +4 -0
  180. data/test/dummy/app/channels/application_cable/connection.rb +4 -0
  181. data/test/dummy/app/controllers/application_controller.rb +2 -0
  182. data/test/dummy/app/helpers/application_helper.rb +2 -0
  183. data/test/dummy/app/javascript/packs/application.js +15 -0
  184. data/test/dummy/app/jobs/application_job.rb +7 -0
  185. data/test/dummy/app/mailers/application_mailer.rb +4 -0
  186. data/test/dummy/app/models/application_record.rb +3 -0
  187. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  188. data/test/dummy/app/views/layouts/mailer.html.erb +13 -0
  189. data/test/dummy/app/views/layouts/mailer.text.erb +1 -0
  190. data/test/dummy/bin/rails +4 -0
  191. data/test/dummy/bin/rake +4 -0
  192. data/test/dummy/bin/setup +33 -0
  193. data/test/dummy/config.ru +5 -0
  194. data/test/dummy/config/application.rb +19 -0
  195. data/test/dummy/config/boot.rb +5 -0
  196. data/test/dummy/config/cable.yml +10 -0
  197. data/test/dummy/config/database.yml +25 -0
  198. data/test/dummy/config/environment.rb +5 -0
  199. data/test/dummy/config/environments/development.rb +62 -0
  200. data/test/dummy/config/environments/production.rb +112 -0
  201. data/test/dummy/config/environments/test.rb +49 -0
  202. data/test/dummy/config/initializers/application_controller_renderer.rb +8 -0
  203. data/test/dummy/config/initializers/assets.rb +12 -0
  204. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  205. data/test/dummy/config/initializers/content_security_policy.rb +28 -0
  206. data/test/dummy/config/initializers/cookies_serializer.rb +5 -0
  207. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  208. data/test/dummy/config/initializers/inflections.rb +16 -0
  209. data/test/dummy/config/initializers/mime_types.rb +4 -0
  210. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  211. data/test/dummy/config/locales/en.yml +33 -0
  212. data/test/dummy/config/puma.rb +38 -0
  213. data/test/dummy/config/routes.rb +3 -0
  214. data/test/dummy/config/spring.rb +6 -0
  215. data/test/dummy/config/storage.yml +34 -0
  216. data/test/dummy/db/development.sqlite3 +0 -0
  217. data/test/dummy/log/development.log +8 -0
  218. data/test/dummy/public/404.html +67 -0
  219. data/test/dummy/public/422.html +67 -0
  220. data/test/dummy/public/500.html +66 -0
  221. data/test/dummy/public/apple-touch-icon-precomposed.png +0 -0
  222. data/test/dummy/public/apple-touch-icon.png +0 -0
  223. data/test/dummy/public/favicon.ico +0 -0
  224. data/test/dummy/tmp/development_secret.txt +1 -0
  225. data/test/integration/navigation_test.rb +7 -0
  226. data/test/jinda_test.rb +7 -0
  227. data/test/test_helper.rb +19 -0
  228. metadata +224 -142
  229. data/lib/generators/jinda/templates/app/controllers/jinda_org/devs_controller.rb +0 -2
@@ -1,32 +1,37 @@
1
1
  <div class="container">
2
- <%- @title= 'Sign Up' %>
3
- <%= form_tag "/auth/identity/register", {'data-ajax'=>'false'} do %>
2
+ <div id="logreg-forms">
3
+ <div class="sign_in">
4
+ <%- @title= 'Sign Up' %>
5
+ <%= form_tag "/auth/identity/register", {'data-ajax'=>'false'} do %>
6
+ <h1 class="h3 mb-3 font-weight-normal" style="text-align: center"> Sign Up</h1>
4
7
  <% if @identity && @identity.errors.any? %>
5
- <div class="error_messages">
6
- <h2><%= pluralize(@identity.errors.count, "error") %> prohibited this account from being saved:</h2>
7
- <ul>
8
- <% @identity.errors.full_messages.each do |msg| %>
9
- <li><%= msg %></li>
10
- <% end %>
11
- </ul>
12
- </div>
8
+ <div class="error_messages">
9
+ <h2><%= pluralize(@identity.errors.count, "error") %> prohibited this account from being saved:</h2>
10
+ <ul>
11
+ <% @identity.errors.full_messages.each do |msg| %>
12
+ <li><%= msg %></li>
13
+ <% end %>
14
+ </ul>
15
+ </div>
13
16
  <% end %>
14
- <div class="field" data-role="fieldcontain">
15
- <%= label_tag :code, 'Username' %>
16
- <%= text_field_tag :code, @identity.try(:code) %>
17
+ <div class="field form-control" data-role="fieldcontain">
18
+ <%= label_tag :code, 'Username' %>
19
+ <%= text_field_tag :code, @identity.try(:code) %>
17
20
  </div>
18
- <div class="field" data-role="fieldcontain">
19
- <%= label_tag :email %>
20
- <%= text_field_tag :email, @identity.try(:email) %>
21
+ <div class="field form-control" data-role="fieldcontain">
22
+ <%= label_tag :email %>
23
+ <%= text_field_tag :email, @identity.try(:email) %>
21
24
  </div>
22
- <div class="field" data-role="fieldcontain">
23
- <%= label_tag :password, 'Password' %>
24
- <%= password_field_tag :password %>
25
+ <div class="field form-control" data-role="fieldcontain">
26
+ <%= label_tag :password, 'Password' %>
27
+ <%= password_field_tag :password %>
25
28
  </div>
26
- <div class="field" data-role="fieldcontain">
27
- <%= label_tag :password_confirmation, 'Confirm password' %>
28
- <%= password_field_tag :password_confirmation %>
29
+ <div class="field form-control" data-role="fieldcontain">
30
+ <%= label_tag :password_confirmation, 'Confirm password' %>
31
+ <%= password_field_tag :password_confirmation %>
29
32
  </div>
30
- <div class="actions"><%= submit_tag "Sign Up" %></div>
31
- <% end %>
33
+ <button class="btn btn-warning btn-block actions" type="submit"><i class="fas fa-sign-up-alt"></i> Sign Up</button>
34
+ <% end %>
35
+ </div>
36
+ </div>
32
37
  </div>
@@ -1,7 +1,13 @@
1
- <%= form_tag password_resets_path, :method => :post do %>
2
- <div class="field">
3
- <%= label_tag :email %>
4
- <%= text_field_tag :email, params[:email] %>
5
- </div>
6
- <div class="actions"><%= submit_tag "Reset Password" %></div>
7
- <% end %>
1
+ <div class="container">
2
+ <div id="logreg-forms">
3
+ <div class="sign_in">
4
+ <%= form_tag password_resets_path, :method => :post do %>
5
+ <div class="field">
6
+ <%= label_tag :email %>
7
+ <%= text_field_tag :email, params[:email] %>
8
+ </div>
9
+ <button class="btn btn-success btn-block actions" type="submit"><i class="fas fa-sign-in-alt"></i> Reset Password</button>
10
+ <% end %>
11
+ </div>
12
+ </div>
13
+ </div>
@@ -1,20 +1,26 @@
1
1
  <div class="container">
2
- <div class="ui.head">
3
- <%= form_tag "/auth/identity/callback", {'data-ajax'=>'false'} do %>
4
- <div class="field" data-role="fieldcontain">
5
- <%= label_tag :auth_key, "User name" %>
6
- <%= text_field_tag :auth_key %>
7
- </div>
8
- <div class="field" data-role="fieldcontain">
9
- <%= label_tag :password, "Password" %>
10
- <%= password_field_tag :password %>
11
- </div>
12
- <div class="field" data-role="fieldcontain" data-icon="info">
13
- <%= label_tag :remember_me %>
14
- <%= check_box_tag :remember_me, 1, params.permit[:remember_me] %>
15
- </div>
16
- <div class="actions"><%= submit_tag "Sign In" %></div>
17
- <%= link_to 'Forgotten password?', new_password_reset_path, data: {icon: 'info', mini: 'true', role: 'button'} %>
18
- <% end %>
19
- </div>
2
+ <div id="logreg-forms">
3
+ <div class="sign_in">
4
+
5
+ <%= form_tag "/auth/identity/callback", {'data-ajax'=>'false'} do %>
6
+ <h1 class="h3 mb-3 font-weight-normal" style="text-align: center"> Sign in</h1>
7
+ <div class="form-control" data-role="fieldcontain">
8
+ <%= label_tag :auth_key, "User name" %>
9
+ <%= text_field_tag :auth_key %>
10
+ </div>
11
+ <div class="form-control" data-role="fieldcontain">
12
+ <%= label_tag :password, "Password" %>
13
+ <%= password_field_tag :password %>
14
+ </div>
15
+ <div class="field" data-role="fieldcontain" data-icon="info">
16
+ <%= label_tag :remember_me %>
17
+ <%= check_box_tag :remember_me, 1, params.permit[:remember_me] %>
18
+ </div>
19
+
20
+ <button class="btn btn-success btn-block actions" type="submit"><i class="fas fa-sign-in-alt"></i> Sign in</button>
21
+ <%= link_to 'Forgotten password?', new_password_reset_path, data: {icon: 'info', mini: 'true', role: 'button'} %>
22
+ <hr>
23
+ <% end %>
24
+ </div>
25
+ </div>
20
26
  </div>
@@ -1,7 +1,8 @@
1
- version: '3'
1
+ version: '3.5'
2
2
  services:
3
3
  web:
4
4
  build: .
5
+ env_file: .env
5
6
  command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'"
6
7
  volumes:
7
8
  - .:/myapp
@@ -13,4 +14,4 @@ services:
13
14
  mongodb:
14
15
  image: mongo
15
16
  ports:
16
- - "27017:27017"
17
+ - "27888:27017"
@@ -5,8 +5,9 @@ cp /myapp/config/mongoid.yml-docker /myapp/config/mongoid.yml
5
5
  # Remove a potentially pre-existing server.pid for Rails.
6
6
  rm -f /myapp/tmp/pids/server.pid
7
7
  # Compile the assets
8
- # bundle exec rake assets:precompile
8
+ bundle exec rake assets:precompile
9
9
  # Add admin user
10
+ # rake db:seed
10
11
  rake jinda:seed
11
12
  # Then exec the container's main process (what's set as CMD in the Dockerfile).
12
13
  exec "$@"
@@ -2,5 +2,6 @@ require 'jinda/version'
2
2
  require 'jinda/railtie'
3
3
 
4
4
  module Jinda
5
- # Your code goes here...
5
+ class Engine < ::Rails::Engine
6
+ end
6
7
  end
@@ -0,0 +1,109 @@
1
+ module ActionView
2
+ module Helpers
3
+ module DateHelper
4
+ def date_field_tag(method, options = {})
5
+ default= options[:default] || Date.today
6
+ data_options= ({"mode"=>"calbox"}).merge(options)
7
+ %Q(<input name='#{method}' id='#{method}' value='#{default.strftime("%F")}' type='date' data-role='datebox' data-options='#{data_options.to_json}'>).html_safe
8
+ end
9
+ end
10
+ class FormBuilder
11
+ def date_select_thai(method)
12
+ self.date_select method, :use_month_names=>THAI_MONTHS, :order=>[:day, :month, :year]
13
+ end
14
+ def date_field(method, options = {})
15
+ default= options[:default] || self.object.send(method) || Date.today
16
+ data_options= ({"mode"=>"calbox"}).merge(options)
17
+ out= %Q(<input name='#{self.object_name}[#{method}]' id='#{self.object_name}_#{method}' value='#{default.strftime("%F")}' type='date' data-role='datebox' data-options='#{data_options.to_json}'>)
18
+ out.html_safe
19
+ end
20
+ def time_field(method, options = {})
21
+ default= self.object.send(method) || Time.now
22
+ data_options= ({"mode"=>"timebox"}).merge(options)
23
+ out=%Q(<input name='#{self.object_name}[#{method}]' id='#{self.object_name}_#{method}' value='#{default}' type='date' data-role='datebox' data-options='#{data_options.to_json}'>)
24
+ out.html_safe
25
+ end
26
+ def date_select_thai(method, default= Time.now, disabled=false)
27
+ date_select method, :default => default, :use_month_names=>THAI_MONTHS, :order=>[:day, :month, :year], :disabled=>disabled
28
+ end
29
+ def datetime_select_thai(method, default= Time.now, disabled=false)
30
+ datetime_select method, :default => default, :use_month_names=>THAI_MONTHS, :order=>[:day, :month, :year], :disabled=>disabled
31
+ end
32
+
33
+ def point(o={})
34
+ o[:zoom]= 11 unless o[:zoom]
35
+ o[:width]= '100%' unless o[:width]
36
+ o[:height]= '300px' unless o[:height]
37
+ o[:lat] = 13.91819 unless o[:lat]
38
+ o[:lng] = 100.48889 unless o[:lng]
39
+
40
+ out = <<-EOT
41
+ <script type='text/javascript'>
42
+ //<![CDATA[
43
+ var latLng;
44
+ var map_#{self.object_name};
45
+ var marker_#{self.object_name};
46
+
47
+ function init_map() {
48
+ var lat = #{o[:lat]};
49
+ var lng = #{o[:lng]};
50
+ //var lat = position.coords.latitude"; // HTML5 pass position in function initialize(position)
51
+ // google.loader.ClientLocation.latitude;
52
+ //var lng = position.coords.longitude;
53
+ // google.loader.ClientLocation.longitude;
54
+ latLng = new google.maps.LatLng(lat, lng);
55
+ map_#{self.object_name} = new google.maps.Map(document.getElementById("map_#{self.object_name}"), {
56
+ zoom: #{o[:zoom]},
57
+ center: latLng,
58
+ mapTypeId: google.maps.MapTypeId.ROADMAP
59
+ });
60
+ marker_#{self.object_name} = new google.maps.Marker({
61
+ position: latLng,
62
+ map: map_#{self.object_name},
63
+ draggable: true,
64
+ });
65
+ google.maps.event.addListener(marker_#{self.object_name}, 'dragend', function(event) {
66
+ $('##{self.object_name}_lat').val(event.latLng.lat());
67
+ $('##{self.object_name}_lng').val(event.latLng.lng());
68
+ });
69
+ google.maps.event.addListener(map_#{self.object_name}, 'click', function(event) {
70
+ $('##{self.object_name}_lat').val(event.latLng.lat());
71
+ $('##{self.object_name}_lng').val(event.latLng.lng());
72
+ move();
73
+ });
74
+ $('##{self.object_name}_lat').val(lat);
75
+ $('##{self.object_name}_lng').val(lng);
76
+ };
77
+
78
+ function move() {
79
+ latLng = new google.maps.LatLng($('##{self.object_name}_lat').val(), $('##{self.object_name}_lng').val());
80
+ map_#{self.object_name}.panTo(latLng);
81
+ marker_#{self.object_name}.setPosition(latLng);
82
+ }
83
+
84
+ //google.maps.event.addDomListener(window, 'load', init_map);
85
+
86
+ //]]>
87
+ </script>
88
+ <div class="field" data-role="fieldcontain">
89
+ Latitude: #{self.text_field :lat, :style=>"width:300px;" }
90
+ Longitude: #{self.text_field :lng, :style=>"width:300px;" }
91
+ </div>
92
+ <p/>
93
+ <div id='map_#{self.object_name}' style='max-width: none !important; width:#{o[:width]}; height:#{o[:height]};' class='map'></div>
94
+ <script>
95
+ $('##{self.object_name}_lat').change(function() {move()});
96
+ $('##{self.object_name}_lng').change(function() {move()});
97
+ //var w= $("input[id*=lat]").parent().width();
98
+ //$("input[id*=lat]").css('width','300px');
99
+ //$("input[id*=lng]").css('width','300px');
100
+ $( document ).one( "pagechange", function(){
101
+ init_map();
102
+ });
103
+ </script>
104
+ EOT
105
+ out.html_safe
106
+ end
107
+ end
108
+ end
109
+ end
@@ -3,7 +3,6 @@ module Jinda
3
3
  module GemHelpers
4
4
  require 'jinda/helpers'
5
5
  include Jinda::Helpers
6
- require 'pry'
7
6
  # Find gem root
8
7
  spec = Gem::Specification.find_by_name("jinda")
9
8
  $gem_root = spec.gem_dir
@@ -0,0 +1,13 @@
1
+
2
+ # Add method to ruby class String
3
+ # ###############################
4
+ class String
5
+ def comment?
6
+ self[0]=='#'
7
+ # self[0]==35 # check if first char is #
8
+ end
9
+ def to_code
10
+ s= self.dup
11
+ s.downcase.strip.gsub(' ','_').gsub(/[^#_\/a-zA-Z0-9]/,'')
12
+ end
13
+ end
@@ -0,0 +1,10 @@
1
+
2
+
3
+ def process_controllers
4
+ process_services
5
+ modules= Jinda::Module.all
6
+ modules.each do |m|
7
+ next if controller_exists?(m.code)
8
+ system("rails generate controller #{m.code}")
9
+ end
10
+ end
@@ -0,0 +1,33 @@
1
+
2
+ def freemind2action(s)
3
+ case s.downcase
4
+ #when 'bookmark' # Excellent
5
+ # 'call'
6
+ when 'bookmark' # Excellent
7
+ 'do'
8
+ when 'attach' # Look here
9
+ 'form'
10
+ when 'edit' # Refine
11
+ 'pdf'
12
+ when 'wizard' # Magic
13
+ 'ws'
14
+ when 'help' # Question
15
+ 'if'
16
+ when 'forward' # Forward
17
+ # 'redirect'
18
+ 'direct_to'
19
+ when 'kaddressbook' #Phone
20
+ 'invoke' # invoke new service along the way
21
+ when 'idea' # output
22
+ 'output'
23
+ when 'list' # List
24
+ 'list'
25
+ when 'folder' # Folder
26
+ 'folder'
27
+ when 'mail'
28
+ 'mail'
29
+ # when 'xmag' # Tobe discussed
30
+ when 'To be discusssed'
31
+ 'search'
32
+ end
33
+ end
@@ -0,0 +1,141 @@
1
+
2
+
3
+ ########################################################################
4
+ # Methods to be overrided by gemhelp #
5
+ # for Rspec Test
6
+ ########################################################################
7
+ def gen_view_file_exist?(dir)
8
+ File.exists?(dir)
9
+ end
10
+
11
+ def gen_view_mkdir(dir,t)
12
+ Dir.mkdir(dir)
13
+ t << "create directory #{dir}"
14
+ end
15
+
16
+ def gen_view_createfile(s,f,t)
17
+ FileUtils.cp s,f
18
+ # FileUtils.cp "app/jinda/template/linkview.haml",f
19
+ t << "create file #{f}"
20
+ end
21
+ ########################################################################
22
+
23
+ def controller_exists?(modul)
24
+ File.exists? "#{Rails.root}/app/controllers/#{modul}_controller.rb"
25
+ end
26
+ def dup_hash(a)
27
+ h = Hash.new(0)
28
+ a.each do |aa|
29
+ h[aa] += 1
30
+ end
31
+ return h
32
+ end
33
+ def login?
34
+ ## To use remember me cookies then remove
35
+ #session[:user_id] != nil
36
+ current_ma_user != nil
37
+ #cookies[:auth_token] != nil
38
+ end
39
+ def own_xmain?
40
+ if $xmain
41
+ return current_ma_user.id==$xvars['user_id']
42
+ else
43
+ # if eval on first step would return true so user can start service
44
+ return true
45
+ end
46
+ end
47
+ # return nil or value of opt: if provided
48
+ def get_option_xml(opt, xml)
49
+ if xml
50
+ url=''
51
+ xml.each_element('node') do |n|
52
+ text= n.attributes['TEXT']
53
+ # check if opt match from beginning of text
54
+ url= text if text =~/^#{opt}/
55
+ end
56
+ return nil if url.blank?
57
+ c, h= url.split(':', 2)
58
+ opt= h ? h.strip : true
59
+ else
60
+ return nil
61
+ end
62
+ end
63
+ def m_icon(node)
64
+ mcons=[]
65
+ node.each_element("icon") do |mn|
66
+ mcons << mn.attributes["BUILTIN"]
67
+ end
68
+ ticon = mcons[0].to_s
69
+ return ticon
70
+ end
71
+
72
+ # Option to unlisted in the menu_mm if icon 'button_cancel'
73
+ def listed(node)
74
+ icons=[]
75
+ node.each_element("icon") do |nn|
76
+ icons << nn.attributes["BUILTIN"]
77
+ end
78
+
79
+ return !icons.include?("button_cancel")
80
+ end
81
+ def ma_secured?(node)
82
+ icons=[]
83
+ node.each_element("icon") do |nn|
84
+ icons << nn.attributes["BUILTIN"]
85
+ end
86
+ return icons.include?("password")
87
+ end
88
+ def ma_menu?
89
+ icons=[]
90
+ node.each_element("icon") do |mn|
91
+ icons << mn.attributes["BUILTIN"]
92
+ end
93
+ return icons.include?("menu")
94
+ end
95
+
96
+ def freemind2action(s)
97
+ case s.downcase
98
+ #when 'bookmark' # Excellent
99
+ # 'call'
100
+ when 'bookmark' # Excellent
101
+ 'do'
102
+ when 'attach' # Look here
103
+ 'form'
104
+ when 'edit' # Refine
105
+ 'pdf'
106
+ when 'wizard' # Magic
107
+ 'ws'
108
+ when 'help' # Question
109
+ 'if'
110
+ when 'forward' # Forward
111
+ # 'redirect'
112
+ 'direct_to'
113
+ when 'kaddressbook' #Phone
114
+ 'invoke' # invoke new service along the way
115
+ when 'idea' # output
116
+ 'output'
117
+ when 'list' # List
118
+ 'list'
119
+ when 'folder' # Folder
120
+ 'folder'
121
+ when 'mail'
122
+ 'mail'
123
+ # when 'xmag' # Tobe discussed
124
+ when 'To be discusssed'
125
+ 'search'
126
+ end
127
+ end
128
+ def affirm(s)
129
+ return s =~ /[y|yes|t|true]/i ? true : false
130
+ end
131
+ def negate(s)
132
+ return s =~ /[n|no|f|false]/i ? true : false
133
+ end
134
+
135
+ # module FormBuilder
136
+ # def date_field(method, options = {})
137
+ # default= self.object.send(method) || Date.today
138
+ # data_options= ({"mode"=>"calbox"}).merge(options)
139
+ # %Q(<input name='#{self.object_name}[#{method}]' id='#{self.object_name}_#{method}' value='#{default.strftime("%F")}' type='date' data-role='datebox' data-options='#{data_options.to_json}'>).html_safe
140
+ # end
141
+ # end