jinda 0.7.7.2 → 0.7.7.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/config/routes.rb +44 -0
- data/lib/generators/jinda/templates/README.md +3 -1
- data/lib/generators/jinda/templates/app/assets/stylesheets/application.css.scss +2 -2
- data/lib/generators/jinda/templates/app/assets/stylesheets/jinda_jqm.css.scss +32 -0
- data/lib/jinda/version.rb +1 -1
- data/test/dummy/Dockerfile +28 -0
- data/test/dummy/Gemfile +102 -0
- data/test/dummy/Gemfile.lock +514 -0
- data/test/dummy/Guardfile +96 -0
- data/test/dummy/{db/development.sqlite3 → README.md} +0 -0
- data/test/dummy/Rakefile +1 -1
- data/test/dummy/app/assets/config/manifest.js +2 -1
- data/test/dummy/app/assets/config/manifest.js-rails +2 -0
- data/test/dummy/app/{javascript/packs → assets/javascripts}/application.js +4 -4
- data/test/dummy/app/assets/stylesheets/application.scss +23 -0
- data/test/dummy/app/assets/stylesheets/jinda.scss +253 -0
- data/test/dummy/app/controllers/adminltes_controller.rb +2 -0
- data/test/dummy/app/controllers/admins_controller.rb +6 -0
- data/test/dummy/app/controllers/api/v1/notes_controller.rb +81 -0
- data/test/dummy/app/controllers/application_controller.rb +39 -0
- data/test/dummy/app/controllers/application_controller.rb.bak +2 -0
- data/test/dummy/app/controllers/articles_controller.rb +110 -0
- data/test/dummy/app/controllers/comments_controller.rb +31 -0
- data/test/dummy/app/controllers/docs_controller.rb +56 -0
- data/test/dummy/app/controllers/identities_controller.rb +5 -0
- data/test/dummy/app/controllers/notes_controller.rb +84 -0
- data/test/dummy/app/controllers/password_resets.rb +28 -0
- data/test/dummy/app/controllers/password_resets_controller.rb +34 -0
- data/test/dummy/app/controllers/sessions_controller.rb +44 -0
- data/test/dummy/app/controllers/sitemap_controller.rb +12 -0
- data/test/dummy/app/controllers/users_controller.rb +35 -0
- data/test/dummy/app/helpers/admins_helper.rb +2 -0
- data/test/dummy/app/helpers/application_helper.rb +31 -0
- data/test/dummy/app/helpers/application_helper.rb.bak +2 -0
- data/test/dummy/app/helpers/articles_helper.rb +2 -0
- data/test/dummy/app/helpers/basic_helper.rb +2 -0
- data/test/dummy/app/helpers/comments_helper.rb +2 -0
- data/test/dummy/app/helpers/ctrs_helper.rb +2 -0
- data/test/dummy/app/helpers/devs_helper.rb +2 -0
- data/test/dummy/app/helpers/pictures_helper.rb +2 -0
- data/test/dummy/app/helpers/sitemap_helper.rb +2 -0
- data/test/dummy/app/helpers/users_helper.rb +2 -0
- data/test/dummy/app/jinda/index.mm +486 -0
- data/test/dummy/app/jinda/template/index.mm +366 -0
- data/test/dummy/app/jinda/template/linkview.haml +21 -0
- data/test/dummy/app/jinda/template/view.html.erb +34 -0
- data/test/dummy/app/mailers/jinda_mailer.rb +7 -0
- data/test/dummy/app/mailers/note_mailer.rb +10 -0
- data/test/dummy/app/mailers/user_mailer.rb +15 -0
- data/test/dummy/app/models/address.rb +14 -0
- data/test/dummy/app/models/article.rb +14 -0
- data/test/dummy/app/models/comment.rb +14 -0
- data/test/dummy/app/models/identity.rb +18 -0
- data/test/dummy/app/models/jinda/doc.rb +36 -0
- data/test/dummy/app/models/jinda/module.rb +11 -0
- data/test/dummy/app/models/jinda/notice.rb +14 -0
- data/test/dummy/app/models/jinda/role.rb +8 -0
- data/test/dummy/app/models/jinda/runseq.rb +24 -0
- data/test/dummy/app/models/jinda/service.rb +17 -0
- data/test/dummy/app/models/jinda/xmain.rb +38 -0
- data/test/dummy/app/models/note.rb +22 -0
- data/test/dummy/app/models/param.rb +41 -0
- data/test/dummy/app/models/person.rb +14 -0
- data/test/dummy/app/models/user.rb +66 -0
- data/test/dummy/app/views/adminbsbs/content.haml +241 -0
- data/test/dummy/app/views/adminltes/dashboard1.haml +461 -0
- data/test/dummy/app/views/adminltes/dashboard2.haml +656 -0
- data/test/dummy/app/views/admins/edit_role/edit_role.html.erb +7 -0
- data/test/dummy/app/views/admins/edit_role/select_user.html.erb +4 -0
- data/test/dummy/app/views/api/v1/note.haml +0 -0
- data/test/dummy/app/views/articles/_report.haml +35 -0
- data/test/dummy/app/views/articles/edit.haml +23 -0
- data/test/dummy/app/views/articles/edit_article/edit_article.html.erb +15 -0
- data/test/dummy/app/views/articles/edit_article/select_article.html.erb +12 -0
- data/test/dummy/app/views/articles/index.haml +5 -0
- data/test/dummy/app/views/articles/my.haml +5 -0
- data/test/dummy/app/views/articles/new_article/form_article.html.erb +16 -0
- data/test/dummy/app/views/articles/show.html.haml +58 -0
- data/test/dummy/app/views/articles/xedit_article/edit_article.html.erb +13 -0
- data/test/dummy/app/views/ctrs/vfolder1/viewfile1.html.erb +23 -0
- data/test/dummy/app/views/ctrs/vfolder1/viewfile2.html.erb +23 -0
- data/test/dummy/app/views/ctrs/vfolder2/viewfile2.html.erb +23 -0
- data/test/dummy/app/views/custom/_adsense.haml +6 -0
- data/test/dummy/app/views/docs/doc_edit/doc_edit.html.erb +21 -0
- data/test/dummy/app/views/docs/doc_edit/doc_select.html.erb +14 -0
- data/test/dummy/app/views/docs/doc_new/doc_form.html.erb +32 -0
- data/test/dummy/app/views/docs/doc_new/doc_form.md +36 -0
- data/test/dummy/app/views/docs/doc_xedit/doc_edit.html.erb +21 -0
- data/test/dummy/app/views/docs/edit/select_note.html.erb +14 -0
- data/test/dummy/app/views/docs/index.haml +21 -0
- data/test/dummy/app/views/docs/my.haml +27 -0
- data/test/dummy/app/views/identities/new-bak.html.haml +32 -0
- data/test/dummy/app/views/identities/new.html.haml +45 -0
- data/test/dummy/app/views/jinda/_activity.md +10 -0
- data/test/dummy/app/views/jinda/_menu.haml +27 -0
- data/test/dummy/app/views/jinda/_menu_mm.haml +44 -0
- data/test/dummy/app/views/jinda/_model.md +5 -0
- data/test/dummy/app/views/jinda/_modul.md +9 -0
- data/test/dummy/app/views/jinda/_pending_home.haml +5 -0
- data/test/dummy/app/views/jinda/_pending_page.haml +24 -0
- data/test/dummy/app/views/jinda/_service.md +24 -0
- data/test/dummy/app/views/jinda/_static.haml +13 -0
- data/test/dummy/app/views/jinda/doc-thai.md +37 -0
- data/test/dummy/app/views/jinda/doc.md +36 -0
- data/test/dummy/app/views/jinda/error_logs.haml +22 -0
- data/test/dummy/app/views/jinda/feed.rss.builder +27 -0
- data/test/dummy/app/views/jinda/help.haml +20 -0
- data/test/dummy/app/views/jinda/index.html.haml +53 -0
- data/test/dummy/app/views/jinda/logs.haml +22 -0
- data/test/dummy/app/views/jinda/notice_logs.haml +18 -0
- data/test/dummy/app/views/jinda/pending.haml +1 -0
- data/test/dummy/app/views/jinda/run_form.haml +42 -0
- data/test/dummy/app/views/jinda/run_output.haml +38 -0
- data/test/dummy/app/views/jinda/search.haml +20 -0
- data/test/dummy/app/views/jinda/status.haml +61 -0
- data/test/dummy/app/views/jinda_mailer/gmail.html.erb +9 -0
- data/test/dummy/app/views/layouts/_head.html.erb +10 -0
- data/test/dummy/app/views/layouts/_meta_tag.html.erb +19 -0
- data/test/dummy/app/views/layouts/application.haml +51 -0
- data/test/dummy/app/views/layouts/application.haml.bak +4 -0
- data/test/dummy/app/views/layouts/{application.html.erb → application.html.erb.bak} +2 -1
- data/test/dummy/app/views/layouts/bsb/_footer.haml +7 -0
- data/test/dummy/app/views/layouts/bsb/_header.haml +147 -0
- data/test/dummy/app/views/layouts/bsb/_menu.haml +47 -0
- data/test/dummy/app/views/layouts/bsb/_menu_mm.haml +34 -0
- data/test/dummy/app/views/layouts/bsb/_rightbar.haml +123 -0
- data/test/dummy/app/views/layouts/bsb/_sidebar.haml +155 -0
- data/test/dummy/app/views/layouts/bsb/application.haml-bsb +47 -0
- data/test/dummy/app/views/layouts/gmail.html.erb +9 -0
- data/test/dummy/app/views/layouts/jqm/_full.haml +33 -0
- data/test/dummy/app/views/layouts/jqm/_page.haml +16 -0
- data/test/dummy/app/views/layouts/jqm/application.haml-jqm +4 -0
- data/test/dummy/app/views/layouts/lte/_flash.haml +9 -0
- data/test/dummy/app/views/layouts/lte/_footer.haml +7 -0
- data/test/dummy/app/views/layouts/lte/_header.haml +111 -0
- data/test/dummy/app/views/layouts/lte/_menu.haml +42 -0
- data/test/dummy/app/views/layouts/lte/_menu_mm.haml +36 -0
- data/test/dummy/app/views/layouts/lte/_rightbar.haml +123 -0
- data/test/dummy/app/views/layouts/lte/_sidebar.haml +154 -0
- data/test/dummy/app/views/layouts/mailer.html.haml +3 -0
- data/test/dummy/app/views/layouts/mailer.text.haml +1 -0
- data/test/dummy/app/views/layouts/mobile.html.erb +13 -0
- data/test/dummy/app/views/layouts/mobilejq.html.erb +31 -0
- data/test/dummy/app/views/layouts/print.html.erb +22 -0
- data/test/dummy/app/views/layouts/utf8.html.erb +22 -0
- data/test/dummy/app/views/note_mailer/gmail.html.haml +7 -0
- data/test/dummy/app/views/note_mailer/gmail.text.haml +8 -0
- data/test/dummy/app/views/notes/delete/select_note.html.erb +14 -0
- data/test/dummy/app/views/notes/edit/edit_note.html.erb +10 -0
- data/test/dummy/app/views/notes/edit/select_note.html.erb +14 -0
- data/test/dummy/app/views/notes/index.haml +71 -0
- data/test/dummy/app/views/notes/mail/display_mail.html.erb +20 -0
- data/test/dummy/app/views/notes/mail/select_note.html.erb +19 -0
- data/test/dummy/app/views/notes/mail/show.html.haml +13 -0
- data/test/dummy/app/views/notes/my.haml +21 -0
- data/test/dummy/app/views/notes/new/new_note.html.erb +13 -0
- data/test/dummy/app/views/notes/show.haml +10 -0
- data/test/dummy/app/views/notes/xedit/edit_note.html.erb +10 -0
- data/test/dummy/app/views/password_resets/edit.html.erb +21 -0
- data/test/dummy/app/views/password_resets/new.html.haml +11 -0
- data/test/dummy/app/views/sessions/new-bak.html.haml +22 -0
- data/test/dummy/app/views/sessions/new.html.haml +35 -0
- data/test/dummy/app/views/sitemap/index.xml.haml +10 -0
- data/test/dummy/app/views/user_mailer/password_reset.html.haml +3 -0
- data/test/dummy/app/views/user_mailer/password_reset.text.erb +3 -0
- data/test/dummy/app/views/user_mailer/password_reset.text.haml +3 -0
- data/test/dummy/app/views/users/index.haml +13 -0
- data/test/dummy/app/views/users/pwd/enter.html.erb +6 -0
- data/test/dummy/app/views/users/user/enter_user.html.erb +10 -0
- data/test/dummy/bin/rails +3 -3
- data/test/dummy/bin/rake +2 -2
- data/test/dummy/bin/setup +9 -17
- data/test/dummy/config/application.rb +51 -9
- data/test/dummy/config/boot.rb +3 -4
- data/test/dummy/config/cloudinary.yml +9 -0
- data/test/dummy/config/credentials.yml.enc +1 -0
- data/test/dummy/config/environment.rb +7 -1
- data/test/dummy/config/environments/development.rb +20 -20
- data/test/dummy/config/environments/production.rb +16 -40
- data/test/dummy/config/environments/test.rb +19 -11
- data/test/dummy/config/initializers/assets.rb +1 -1
- data/test/dummy/config/initializers/content_security_policy.rb +21 -24
- data/test/dummy/config/initializers/filter_parameter_logging.rb +6 -2
- data/test/dummy/config/initializers/fix_mongoid_generator.rb-org +14 -0
- data/test/dummy/config/initializers/inflections.rb +4 -4
- data/test/dummy/config/initializers/jinda.rb +14 -0
- data/test/dummy/config/initializers/mongoid.rb +10 -0
- data/test/dummy/config/initializers/omniauth.rb +17 -0
- data/test/dummy/config/initializers/permissions_policy.rb +11 -0
- data/test/dummy/config/locales/en.yml +3 -3
- data/test/dummy/config/mongoid.yml +182 -0
- data/test/dummy/config/mongoid.yml-docker +182 -0
- data/test/dummy/config/mongoid.yml-localhost +182 -0
- data/test/dummy/config/puma.rb +7 -2
- data/test/dummy/config/routes.rb +5 -1
- data/test/dummy/config.ru +2 -1
- data/test/dummy/db/seeds.rb +6 -0
- data/test/dummy/docker-compose.yml +21 -0
- data/test/dummy/dot/dot.env +2 -0
- data/test/dummy/entrypoint.sh +13 -0
- data/test/dummy/log/development.log +2329 -6
- data/test/dummy/public/robots.txt +1 -0
- data/test/dummy/spec/controllers/api/v1_get_index_spec.rb +23 -0
- data/test/dummy/spec/controllers/api/v1_get_my_spec.rb +14 -0
- data/test/dummy/spec/controllers/api/v1_post_spec.rb +19 -0
- data/test/dummy/spec/controllers/sessions_controller_spec.rb +98 -0
- data/test/dummy/spec/features/userlogins_spec.rb +23 -0
- data/test/dummy/spec/mailers/note_spec.rb +24 -0
- data/test/dummy/spec/mailers/previews/note_preview.rb +9 -0
- data/test/dummy/spec/models/note_spec.rb +41 -0
- data/test/dummy/spec/models/user_spec.rb +12 -0
- data/test/dummy/spec/rails_helper.rb +42 -0
- data/test/dummy/spec/spec_helper.rb +80 -0
- data/test/dummy/spec/support/authentication_helper.rb +20 -0
- data/test/dummy/spec/support/databasecleaner.rb +13 -0
- data/test/dummy/spec/support/factory_bot.rb +12 -0
- data/test/dummy/spec/support/omniauth_macros.rb +38 -0
- data/test/dummy/spec/support/request_spec_helper.rb +8 -0
- data/test/dummy/spec/views/articles/_article.html.erb_spec.rbx +14 -0
- data/test/dummy/tmp/development_secret.txt +1 -1
- metadata +197 -16
- data/test/dummy/app/assets/stylesheets/application.css +0 -15
- data/test/dummy/app/models/application_record.rb +0 -3
- data/test/dummy/config/database.yml +0 -25
- data/test/dummy/config/initializers/application_controller_renderer.rb +0 -8
- data/test/dummy/config/initializers/backtrace_silencers.rb +0 -7
- data/test/dummy/config/initializers/cookies_serializer.rb +0 -5
- data/test/dummy/config/initializers/mime_types.rb +0 -4
- data/test/dummy/config/initializers/wrap_parameters.rb +0 -14
- data/test/dummy/config/spring.rb +0 -6
- data/test/dummy/config/storage.yml +0 -34
@@ -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 การบูรณาการข้อมูลกลาง
|
@@ -0,0 +1,53 @@
|
|
1
|
+
.content-header
|
2
|
+
%div(style="text-align:center")
|
3
|
+
= image_tag "logo_jinda.png"
|
4
|
+
%ol.breadcrumb
|
5
|
+
%li.fa.fa-dashboard
|
6
|
+
Dashboard
|
7
|
+
.content
|
8
|
+
%div.row::before
|
9
|
+
%div.col-lg-4.col-md-4.col-xs-12
|
10
|
+
%div.small-box.bg-aqua
|
11
|
+
%div.inner
|
12
|
+
%b Current gems version found:
|
13
|
+
%ul
|
14
|
+
%li Ruby Version #{RUBY_VERSION }
|
15
|
+
%li Rails Version #{Rails.version }
|
16
|
+
%li gem jinda #{Gem.loaded_specs['jinda'].version}
|
17
|
+
%div.col-lg-4.col-md-4.col-xs-12
|
18
|
+
%div.small-box.bg-green
|
19
|
+
%div.inner
|
20
|
+
%b Recently tested with:
|
21
|
+
%ul
|
22
|
+
%li Rubygems 2.7.1
|
23
|
+
%li Rails 6.1.0
|
24
|
+
%div.col-lg-4.col-md-4.col-xs-12
|
25
|
+
%div.small-box.bg-yellow
|
26
|
+
%div.inner
|
27
|
+
%b Create New Rails:
|
28
|
+
%ul
|
29
|
+
%li rails new YOURAPP --skip-test-unit --skip-bundle --skip-active-record --skip-javascript --skip-turbolinks
|
30
|
+
%li (rails new YOURAPP -BOTJ)
|
31
|
+
%div.col-lg-6.col-md-12.col-xs-12
|
32
|
+
%div.small-box.bg-red
|
33
|
+
%div.inner
|
34
|
+
%b Installation
|
35
|
+
%ul
|
36
|
+
%li add gem 'jinda' # to Gemfile then $ bundle
|
37
|
+
%li rails generate jinda:install, then bundle
|
38
|
+
%li rails generate jinda:config
|
39
|
+
%li rails jinda:seed, will create initial user:password admin:secret
|
40
|
+
%li when update app/jinda/index.mm, run rake jinda:update
|
41
|
+
%div.col-lg-6.col-md-12.col-xs-12
|
42
|
+
%div.small-box.bg-blue
|
43
|
+
%div.inner
|
44
|
+
%b Option: Themes available: Jinda_adminbsb, Jinda_adminlte
|
45
|
+
%ul
|
46
|
+
%li To install gem 'jinda_adminlte'
|
47
|
+
%li Install
|
48
|
+
%li gem 'jinda_adminlte'
|
49
|
+
%li Then
|
50
|
+
%li $ bundle
|
51
|
+
%li $ rails generate jinda_adminlte:install
|
52
|
+
|
53
|
+
|
@@ -0,0 +1,22 @@
|
|
1
|
+
- @title= "Jinda 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 status
|
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= link_to xmain.xid, "/jinda/status?xid=#{xmain.xid}"
|
18
|
+
%td= xmain.name
|
19
|
+
%td= @runseq.name
|
20
|
+
%td(align="center")= xmain.user.try :code
|
21
|
+
%td= xmain.start.strftime("%c")
|
22
|
+
%td(align="center")= status_icon(xmain.status)
|
@@ -0,0 +1,18 @@
|
|
1
|
+
- @title= "Notice Error Logs"
|
2
|
+
= paginate @notices
|
3
|
+
%table{:id=>"pending-table", :width=>"100%"}
|
4
|
+
%tr{:style=>"color:white; background-color:#97BF60;"}
|
5
|
+
%th created
|
6
|
+
%th user
|
7
|
+
%th message
|
8
|
+
- @notices.each do |notice|
|
9
|
+
- @notice= notice
|
10
|
+
- current_notice = @notice.id
|
11
|
+
- #current_notice_user = @notice.user
|
12
|
+
- notice_user = (User.find @notice.user ? notice.user : 0)
|
13
|
+
- (notice_user_name = notice_user.code) if notice_user
|
14
|
+
|
15
|
+
%tr
|
16
|
+
%td(style='vertical-align:top;')= notice.created_at
|
17
|
+
%td(style='vertical-align:top;')= notice_user_name
|
18
|
+
%td(style='vertical-align:top;')= notice.message
|
@@ -0,0 +1 @@
|
|
1
|
+
= render :partial=>"pending_page", :locals=>{:xmains=>@xmains}
|
@@ -0,0 +1,42 @@
|
|
1
|
+
.container
|
2
|
+
.head
|
3
|
+
= step(@runseq.form_step, @xvars['total_form_steps'])
|
4
|
+
%p
|
5
|
+
- user = current_ma_user || User.new
|
6
|
+
- form_class = 'formtastic'
|
7
|
+
- next_step = 'end_form'
|
8
|
+
- if @help
|
9
|
+
%div(data-role="collapsible" data-theme="e" data-content-theme="c" data-mini="true")
|
10
|
+
%h3 Help
|
11
|
+
%p= markdown(@help)
|
12
|
+
= form_tag({ :action => next_step } , {:multipart => true, :onSubmit=>'return validate()', :class=>form_class, "data-ajax"=>"#{ajax?(@ui)}"}) do
|
13
|
+
= hidden_field_tag 'xmain_id', @xmain.id
|
14
|
+
= hidden_field_tag 'ajax', ajax?(@ui)
|
15
|
+
= hidden_field_tag 'runseq_id', @runseq.id
|
16
|
+
= hidden_field_tag 'step', @xvars[:current_step]
|
17
|
+
%div(data-role="fieldcontain")
|
18
|
+
= render :inline=> @ui
|
19
|
+
%p
|
20
|
+
= submit_tag NEXT
|
21
|
+
%p
|
22
|
+
:javascript
|
23
|
+
$(function() {
|
24
|
+
$('.required').append('<span style="color:red"> *</span>');
|
25
|
+
$('.refresh').append(" <img src='/images/refresh.png'/>");
|
26
|
+
$("input").keypress(function (evt) {
|
27
|
+
//Deterime where our character code is coming from within the event
|
28
|
+
var charCode = evt.charCode || evt.keyCode;
|
29
|
+
if (charCode == 13) { //Enter key's keycode
|
30
|
+
alert("Please click the button");
|
31
|
+
return false;
|
32
|
+
}
|
33
|
+
});
|
34
|
+
});
|
35
|
+
$( document ).one( "pagechange", function(){
|
36
|
+
$('input[type="file"]').textinput({theme: 'c'});
|
37
|
+
});
|
38
|
+
|
39
|
+
function validate() {
|
40
|
+
// alert("Validate");
|
41
|
+
}
|
42
|
+
|
@@ -0,0 +1,38 @@
|
|
1
|
+
.head
|
2
|
+
- @title= @xmain.name
|
3
|
+
= step(@runseq.form_step, @xvars['total_form_steps'])
|
4
|
+
#title(style='text-align:right;')= "click '#{@runseq.name}' to print"
|
5
|
+
%p
|
6
|
+
=javascript_include_tag "disable_enter_key"
|
7
|
+
= form_tag({ :action => 'end_output' } , {:multipart => true, :onKeyPress=>'return disableEnterKey(event)', :class=>'formtastic'}) do
|
8
|
+
= hidden_field_tag 'xmain_id', @xmain.id
|
9
|
+
= hidden_field_tag 'runseq_id', @runseq.id
|
10
|
+
= hidden_field_tag 'step', @xvars[:current_step]
|
11
|
+
#output_link
|
12
|
+
= link_to @runseq.name, url_for(:controller=>'jinda', :action=>'document', :id=>@doc.id), :target=>'_blank'
|
13
|
+
%p
|
14
|
+
.label
|
15
|
+
= image_tag "cog.png"
|
16
|
+
= t "documents"
|
17
|
+
%table{:width=>"100%"}
|
18
|
+
%tr{:style=>"color:white; background-color:#6A6A6A;"}
|
19
|
+
%th= t "id"
|
20
|
+
%th= t "document"
|
21
|
+
%th= t "file name"
|
22
|
+
%th= t "user"
|
23
|
+
%th= "date"
|
24
|
+
- @xmain.docs.each do |doc|
|
25
|
+
- next unless doc.ma_display
|
26
|
+
%tr
|
27
|
+
%td= doc.id
|
28
|
+
%td
|
29
|
+
- if doc.content_type=='output'
|
30
|
+
= image_tag 'page_output.png'
|
31
|
+
- else
|
32
|
+
= image_tag 'page_attach.png'
|
33
|
+
= link_to_blank align_text(doc.name), :controller=>"jinda", :action=>:document, :id=>doc.id
|
34
|
+
%td= doc.filename
|
35
|
+
%td= doc.user.code
|
36
|
+
%td= doc.updated_at
|
37
|
+
= submit_tag @message
|
38
|
+
%p
|
@@ -0,0 +1,20 @@
|
|
1
|
+
/%h3= "Search #{@q}"
|
2
|
+
= will_paginate @docs, :class=>'flickr_pagination', :params=>{:q=>@q}
|
3
|
+
/= will_paginate @xmains, :class=>'flickr_pagination', :params=>{:q=>@q}
|
4
|
+
|
5
|
+
%table{:width=>"100%"}
|
6
|
+
%tr{:style=>"color:white; background-color:#6A6A6A; text-shadow:none;"}
|
7
|
+
%th id
|
8
|
+
%th task
|
9
|
+
%th starter
|
10
|
+
%th begin
|
11
|
+
%th end
|
12
|
+
%th status
|
13
|
+
- @xmains.each do |xmain|
|
14
|
+
%tr
|
15
|
+
%td= link_to xmain.id, :action=>"status", :id=>xmain.id
|
16
|
+
%td= link_to xmain.name, :action=>"status", :id=>xmain.id
|
17
|
+
%td{:align=>'center'}= xmain.ma_user.full_name
|
18
|
+
%td= date_thai xmain.start, :date_only=>true
|
19
|
+
%td= xmain.stop ? date_thai(xmain.stop, :date_only=>true) : ' '
|
20
|
+
%td(align='center')= status_icon xmain
|
@@ -0,0 +1,61 @@
|
|
1
|
+
%table{:width=>"100%"}
|
2
|
+
%tr{:style=>"color:white; background-color:#6A6A6A;"}
|
3
|
+
%th Status
|
4
|
+
%th Step
|
5
|
+
%th Starter
|
6
|
+
%th Begin
|
7
|
+
%th End
|
8
|
+
- @xmain.runseqs.form_action.each do |r|
|
9
|
+
%tr
|
10
|
+
- if @xmain.status=='X'
|
11
|
+
%td{:align=>'center'}= image_tag 'cancel.png'
|
12
|
+
- else
|
13
|
+
%td{:align=>'center'}= status_icon(r.status)
|
14
|
+
%td= r.name
|
15
|
+
%td{:align=>'center'}
|
16
|
+
- if r.role.blank? && @xvars[:action]
|
17
|
+
- u = @xvars[:action][:assign].blank? ? ' ' : User.find(@xvars[:action][:assign]).full_name
|
18
|
+
= u
|
19
|
+
- if @xvars[:action][:final]=='n'
|
20
|
+
%td{:align=>'center'} -
|
21
|
+
%td{:align=>'center'} -
|
22
|
+
- else
|
23
|
+
- if r.start
|
24
|
+
%td= r.start.strftime('%c')
|
25
|
+
- else
|
26
|
+
%td{:align=>'center'} -
|
27
|
+
- if r.stop
|
28
|
+
%td= r.stop.strftime('%c')
|
29
|
+
- else
|
30
|
+
%td{:align=>'center'} -
|
31
|
+
- else
|
32
|
+
= role_name r.role
|
33
|
+
- if r.start
|
34
|
+
%td= r.start.strftime('%c')
|
35
|
+
- else
|
36
|
+
%td{:align=>'center'} -
|
37
|
+
- if r.stop
|
38
|
+
%td= r.stop.strftime('%c')
|
39
|
+
- else
|
40
|
+
%td{:align=>'center'} -
|
41
|
+
.label
|
42
|
+
= image_tag "cog.png"
|
43
|
+
Document
|
44
|
+
%table{:width=>"100%"}
|
45
|
+
%tr{:style=>"color:white; background-color:#6A6A6A;"}
|
46
|
+
%th Document
|
47
|
+
%th Name
|
48
|
+
%th User
|
49
|
+
%th Date
|
50
|
+
- @xmain.docs.each do |doc|
|
51
|
+
- next unless doc.display
|
52
|
+
%tr
|
53
|
+
%td
|
54
|
+
- if doc.content_type=='output'
|
55
|
+
= image_tag 'page_output.png'
|
56
|
+
- else
|
57
|
+
= image_tag 'page_attach.png'
|
58
|
+
= link_to align_text(doc.name), "/engine/document/#{doc.id}", :target=>'_blank'
|
59
|
+
%td= doc.filename
|
60
|
+
%td= doc.user.try(:full_name)
|
61
|
+
%td= doc.created_at.strftime('%c')
|
@@ -0,0 +1,10 @@
|
|
1
|
+
<head>
|
2
|
+
<%= favicon_link_tag %>
|
3
|
+
<meta name="description" content="Jinda" />
|
4
|
+
<%= stylesheet_link_tag "application", media: "all", "data-turbolinks-track":"reload" %>
|
5
|
+
<%= javascript_include_tag "application", "data-turbolinks-track": "reload" %>
|
6
|
+
<%= stylesheet_link_tag "jinda", "sarabun" %>
|
7
|
+
<script src = "https://ajax.aspnetcdn.com/ajax/jquery.validate/1.12.0/jquery.validate.js" ></script>
|
8
|
+
<%= csrf_meta_tags %>
|
9
|
+
<%= display_meta_tags %>
|
10
|
+
</head>
|
@@ -0,0 +1,19 @@
|
|
1
|
+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
2
|
+
<meta name="robots" content="follow, all" />
|
3
|
+
<meta name="language" content="en, th" />
|
4
|
+
<meta name="viewport" content="width=device-width, minimum-scale=1, maximum-scale=1, initial-scale=1">
|
5
|
+
<title>
|
6
|
+
<% if content_for?(:title) %>
|
7
|
+
<%= content_for(:title) %>
|
8
|
+
<% else %>
|
9
|
+
Jinda | Tools for | Ruby on Rails
|
10
|
+
<% end %>
|
11
|
+
</title>
|
12
|
+
|
13
|
+
<% if content_for :meta_description %>
|
14
|
+
<meta name="description" content="<%= content_for :meta_description %>" />
|
15
|
+
<% else %>
|
16
|
+
<meta name="description" content="Jinda Tools to create visual programming using mindmap" />
|
17
|
+
<% end %>
|
18
|
+
|
19
|
+
<meta name="keywords" content="Jinda, Rails, ruby" />
|
@@ -0,0 +1,51 @@
|
|
1
|
+
%html
|
2
|
+
%head
|
3
|
+
%meta{:content => "text/html; charset=UTF-8", "http-equiv" => "Content-Type"}/
|
4
|
+
= csrf_meta_tags
|
5
|
+
/%link{:href => "https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic", :rel => "stylesheet"}/
|
6
|
+
%title Jinda AdminLTE 2 | Starter
|
7
|
+
= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload'
|
8
|
+
= javascript_include_tag "application", 'data-turbolinks-track': 'reload'
|
9
|
+
/
|
10
|
+
BODY TAG OPTIONS:
|
11
|
+
\=================
|
12
|
+
Apply one or more of the following classes to get the
|
13
|
+
desired effect
|
14
|
+
|---------------------------------------------------------|
|
15
|
+
| SKINS | skin-blue |
|
16
|
+
| | skin-black |
|
17
|
+
| | skin-purple |
|
18
|
+
| | skin-yellow |
|
19
|
+
| | skin-red |
|
20
|
+
| | skin-green |
|
21
|
+
|---------------------------------------------------------|
|
22
|
+
|LAYOUT OPTIONS | fixed |
|
23
|
+
| | layout-boxed |
|
24
|
+
| | layout-top-nav |
|
25
|
+
| | sidebar-collapse |
|
26
|
+
| | sidebar-mini |
|
27
|
+
|---------------------------------------------------------|
|
28
|
+
|
29
|
+
%body.hold-transition.skin-yellow.sidebar-mini
|
30
|
+
.wrapper
|
31
|
+
= render "layouts/lte/header"
|
32
|
+
= render "layouts/lte/sidebar"
|
33
|
+
.content-wrapper
|
34
|
+
%h3.box-title
|
35
|
+
= @page_title
|
36
|
+
= render 'layouts/lte/flash'
|
37
|
+
.label-warning
|
38
|
+
#flashes
|
39
|
+
- if flash[:notice]
|
40
|
+
%p#flash_notice.messages.notice= flash[:notice]
|
41
|
+
= javascript_tag "$('#flash_notice').effect('highlight',{},1000);"
|
42
|
+
- if flash[:error] || flash[:errors]
|
43
|
+
%p#flash_errors.messages.errors= flash[:error] || flash[:errors]
|
44
|
+
= javascript_tag "$('#flash_errors').effect('highlight',{},1000);"
|
45
|
+
- flash[:error] = flash[:errors] = flash[:notice] = nil
|
46
|
+
= yield
|
47
|
+
= render 'layouts/lte/footer'
|
48
|
+
.control-sidebar-bg
|
49
|
+
/ REQUIRED JS SCRIPTS
|
50
|
+
/ jQuery 3
|
51
|
+
|
@@ -2,10 +2,11 @@
|
|
2
2
|
<html>
|
3
3
|
<head>
|
4
4
|
<title>Dummy</title>
|
5
|
+
<meta name="viewport" content="width=device-width,initial-scale=1">
|
5
6
|
<%= csrf_meta_tags %>
|
6
7
|
<%= csp_meta_tag %>
|
7
8
|
|
8
|
-
<%= stylesheet_link_tag
|
9
|
+
<%= stylesheet_link_tag "application" %>
|
9
10
|
</head>
|
10
11
|
|
11
12
|
<body>
|