jinda 0.7.7.4 → 1.0.0
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.
- checksums.yaml +4 -4
- data/README.md +46 -29
- data/Rakefile +103 -1
- data/app/assets/config/manifest.js +4 -1
- data/app/assets/javascripts/jinda_bootstrap.js +20 -0
- data/app/assets/stylesheets/_jinda_bootstrap_theme.scss +190 -0
- data/{lib/generators/jinda/templates/app/assets/stylesheets/jinda_jqm.css.scss → app/assets/stylesheets/jinda_bootstrap.css.scss} +12 -10
- data/app/config/routes.rb +38 -28
- data/app/controllers/concerns/jinda_general_concern.rb +86 -87
- data/app/controllers/concerns/jinda_run_concern.rb +184 -184
- data/app/controllers/jinda_controller.rb +23 -22
- data/bin/lint_modified +21 -0
- data/config/routes.rb +41 -22
- data/lib/generators/jinda/config_generator.rb +102 -81
- data/lib/generators/jinda/install_generator.rb +305 -148
- data/lib/generators/jinda/install_generator.rb.bak2 +268 -0
- data/lib/generators/jinda/installer/gems_install.rb +125 -127
- data/lib/generators/jinda/minitest_generator.rb +19 -18
- data/lib/generators/jinda/rspec_generator.rb +15 -14
- data/lib/generators/jinda/templates/DOCKER.md +188 -0
- data/lib/generators/jinda/templates/Dockerfile +15 -5
- data/lib/generators/jinda/templates/README.md +3 -3
- data/lib/generators/jinda/templates/app/assets/config/manifest.js +4 -0
- data/lib/generators/jinda/templates/app/assets/javascripts/application.js +8 -8
- data/lib/generators/jinda/templates/app/channels/application_cable/channel.rb +2 -0
- data/lib/generators/jinda/templates/app/channels/application_cable/connection.rb +2 -0
- data/{test/dummy → lib/generators/jinda/templates}/app/controllers/adminltes_controller.rb +1 -0
- data/lib/generators/jinda/templates/app/controllers/api/v1/notes_controller.rb +80 -78
- data/lib/generators/jinda/templates/app/controllers/jinda_org/admins_controller.rb +4 -2
- data/lib/generators/jinda/templates/app/controllers/jinda_org/application_controller.rb +11 -9
- data/lib/generators/jinda/templates/app/controllers/jinda_org/articles_controller.rb +40 -44
- data/lib/generators/jinda/templates/app/controllers/jinda_org/comments_controller.rb +10 -8
- data/lib/generators/jinda/templates/app/controllers/jinda_org/docs_controller.rb +23 -24
- data/lib/generators/jinda/templates/app/controllers/jinda_org/identities_controller.rb +3 -1
- data/lib/generators/jinda/templates/app/controllers/jinda_org/notes_controller.rb +25 -27
- data/lib/generators/jinda/templates/app/controllers/jinda_org/password_resets_controller.rb +16 -18
- data/lib/generators/jinda/templates/app/controllers/jinda_org/sessions_controller.rb +13 -14
- data/lib/generators/jinda/templates/app/controllers/jinda_org/sitemap_controller.rb +4 -4
- data/lib/generators/jinda/templates/app/controllers/jinda_org/users_controller.rb +14 -14
- data/lib/generators/jinda/templates/app/controllers/mindmap_editor_controller.rb +74 -0
- data/lib/generators/jinda/templates/app/helpers/admins_helper.rb +2 -0
- data/lib/generators/jinda/templates/app/helpers/application_helper.rb +21 -20
- data/lib/generators/jinda/templates/app/helpers/articles_helper.rb +2 -0
- data/lib/generators/jinda/templates/app/helpers/basic_helper.rb +2 -0
- data/lib/generators/jinda/templates/app/helpers/comments_helper.rb +2 -0
- data/lib/generators/jinda/templates/app/helpers/ctrs_helper.rb +2 -0
- data/lib/generators/jinda/templates/app/helpers/devs_helper.rb +2 -0
- data/lib/generators/jinda/templates/app/helpers/mindmap_editor_helper.rb +3 -0
- data/lib/generators/jinda/templates/app/helpers/pictures_helper.rb +2 -0
- data/lib/generators/jinda/templates/app/helpers/sitemap_helper.rb +2 -0
- data/lib/generators/jinda/templates/app/helpers/users_helper.rb +2 -0
- data/lib/generators/jinda/templates/app/jinda/index.mm +276 -298
- data/lib/generators/jinda/templates/app/jinda/template/index.mm +1 -0
- data/lib/generators/jinda/templates/app/mailers/jinda_mailer.rb +5 -3
- data/lib/generators/jinda/templates/app/mailers/note_mailer.rb +6 -4
- data/lib/generators/jinda/templates/app/mailers/user_mailer.rb +5 -5
- data/lib/generators/jinda/templates/app/models/address.rb +10 -8
- data/lib/generators/jinda/templates/app/models/article.rb +8 -6
- data/lib/generators/jinda/templates/app/models/comment.rb +10 -8
- data/lib/generators/jinda/templates/app/models/identity.rb +11 -10
- data/lib/generators/jinda/templates/app/models/jinda/doc.rb +36 -33
- data/lib/generators/jinda/templates/app/models/jinda/jinda_module.rb +15 -0
- data/lib/generators/jinda/templates/app/models/jinda/module.rb +14 -10
- data/lib/generators/jinda/templates/app/models/jinda/notice.rb +15 -11
- data/lib/generators/jinda/templates/app/models/jinda/role.rb +11 -7
- data/lib/generators/jinda/templates/app/models/jinda/runseq.rb +23 -20
- data/lib/generators/jinda/templates/app/models/jinda/service.rb +19 -15
- data/lib/generators/jinda/templates/app/models/jinda/xmain.rb +42 -36
- data/lib/generators/jinda/templates/app/models/note.rb +14 -10
- data/lib/generators/jinda/templates/app/models/param.rb +23 -20
- data/lib/generators/jinda/templates/app/models/person.rb +9 -7
- data/lib/generators/jinda/templates/app/models/user.rb +42 -41
- data/lib/generators/jinda/templates/app/views/articles/show.html.haml +2 -2
- data/lib/generators/jinda/templates/app/views/identities/new.html.haml +13 -0
- data/lib/generators/jinda/templates/app/views/jinda/_static_bootstrap.haml +23 -0
- data/lib/generators/jinda/templates/app/views/jinda/feed.rss.builder +15 -13
- data/lib/generators/jinda/templates/app/views/jinda/index.html.haml +3 -2
- data/lib/generators/jinda/templates/app/views/layouts/application.haml +31 -4
- data/lib/generators/jinda/templates/app/views/layouts/lte/_header.haml +54 -0
- data/{test/dummy → lib/generators/jinda/templates}/app/views/layouts/lte/_sidebar.haml +1 -1
- data/lib/generators/jinda/templates/app/views/mindmap_editor/edit.html.haml +126 -0
- data/lib/generators/jinda/templates/app/views/mindmap_editor/save.html.haml +2 -0
- data/lib/generators/jinda/templates/app/views/sessions/new.html.haml +13 -0
- data/lib/generators/jinda/templates/bin/lint_modified +21 -0
- data/lib/generators/jinda/templates/config/mongoid.yml +3 -3
- data/lib/generators/jinda/templates/config/mongoid.yml-docker +3 -3
- data/lib/generators/jinda/templates/config/mongoid.yml-localhost +3 -3
- data/lib/generators/jinda/templates/docker-compose-mongodb.yml +13 -0
- data/lib/generators/jinda/templates/docker-compose-web.yml +36 -0
- data/lib/generators/jinda/templates/docker-compose.yml +10 -14
- data/lib/generators/jinda/templates/spec/controllers/api/v1_get_index_spec.rb +15 -14
- data/lib/generators/jinda/templates/spec/controllers/api/v1_get_my_spec.rb +9 -4
- data/lib/generators/jinda/templates/spec/controllers/api/v1_post_spec.rb +4 -3
- data/lib/generators/jinda/templates/spec/controllers/sessions_controller_spec.rb +82 -90
- data/lib/generators/jinda/templates/spec/features/userlogins_spec.rb +12 -15
- data/lib/generators/jinda/templates/spec/mailers/note_spec.rb +5 -8
- data/lib/generators/jinda/templates/spec/mailers/previews/note_preview.rb +3 -5
- data/lib/generators/jinda/templates/spec/models/note_spec.rb +36 -35
- data/lib/generators/jinda/templates/spec/models/user_spec.rb +10 -8
- data/lib/generators/jinda/templates/spec/rails_helper.rb +29 -31
- data/lib/generators/jinda/templates/spec/spec_helper.rb +19 -17
- data/lib/generators/jinda/templates/spec/support/authentication_helper.rb +8 -7
- data/lib/generators/jinda/templates/spec/support/databasecleaner.rb +3 -1
- data/lib/generators/jinda/templates/spec/support/factory_bot.rb +7 -5
- data/lib/generators/jinda/templates/spec/support/omniauth_macros.rb +14 -19
- data/lib/generators/jinda/templates/spec/support/request_spec_helper.rb +3 -1
- data/lib/generators/jinda/templates/spec/views/articles/_article.html.erb_spec.rbx +9 -8
- data/lib/generators/jinda/templates/test/application_system_test_case.rb +3 -1
- data/lib/generators/jinda/templates/test/integration/jinda_routes_test.rb +16 -21
- data/lib/generators/jinda/templates/test/test_helper.rb +7 -3
- data/lib/jinda/date_helpers.rb +50 -41
- data/lib/jinda/gem_helpers.rb +10 -8
- data/lib/jinda/gen_class.rb +14 -12
- data/lib/jinda/gen_controller.rb +9 -8
- data/lib/jinda/gen_freemind.rb +33 -32
- data/lib/jinda/gen_helpers.rb +146 -139
- data/lib/jinda/gen_models.rb +125 -131
- data/lib/jinda/gen_modules.rb +21 -16
- data/lib/jinda/gen_runseq.rb +71 -67
- data/lib/jinda/gen_services.rb +74 -80
- data/lib/jinda/gen_xmain.rb +38 -36
- data/lib/jinda/get_app.rb +31 -29
- data/lib/jinda/helpers.rb +4 -4
- data/lib/jinda/init_vars.rb +41 -36
- data/lib/jinda/mindmap_converter.rb +196 -0
- data/lib/jinda/railtie.rb +10 -2
- data/lib/jinda/rake_views.rb +61 -60
- data/lib/jinda/refresh.rb +67 -61
- data/lib/jinda/themes.rb +80 -60
- data/lib/jinda/version.rb +3 -1
- data/lib/jinda.rb +2 -0
- data/lib/tasks/jinda.rake +25 -22
- data/test/INTEGRATION_TEST_README.md +374 -0
- data/test/LOCAL_DEVELOPMENT.md +345 -0
- data/test/README.md +243 -0
- data/test/TEST_INFRASTRUCTURE.md +412 -0
- data/test/TEST_INSTALLATION_SH_FIXES.md +205 -0
- data/test/UNIT_TESTS_README.md +366 -0
- data/test/api_notes_controller_test.rb +231 -0
- data/test/dummy/DOCKER.md +188 -0
- data/test/dummy/Dockerfile +15 -7
- data/test/dummy/Gemfile +38 -29
- data/test/dummy/Gemfile.lock +671 -292
- data/test/dummy/app/assets/config/manifest.js +4 -0
- data/test/dummy/app/channels/application_cable/channel.rb +2 -0
- data/test/dummy/app/channels/application_cable/connection.rb +2 -0
- data/test/dummy/app/controllers/admins_controller.rb +4 -2
- data/test/dummy/app/controllers/api/v1/notes_controller.rb +80 -78
- data/test/dummy/app/controllers/application_controller.rb +11 -9
- data/test/dummy/app/controllers/articles_controller.rb +40 -44
- data/test/dummy/app/controllers/comments_controller.rb +10 -8
- data/test/dummy/app/controllers/ctrs_controller.rb +2 -0
- data/test/dummy/app/controllers/devs_controller.rb +2 -0
- data/test/dummy/app/controllers/docs_controller.rb +23 -24
- data/test/dummy/app/controllers/identities_controller.rb +3 -1
- data/test/dummy/app/controllers/mindmap_editor_controller.rb +74 -0
- data/test/dummy/app/controllers/notes_controller.rb +25 -27
- data/test/dummy/app/controllers/password_resets_controller.rb +16 -18
- data/test/dummy/app/controllers/sessions_controller.rb +13 -14
- data/test/dummy/app/controllers/sitemap_controller.rb +4 -4
- data/test/dummy/app/controllers/users_controller.rb +14 -14
- data/test/dummy/app/helpers/admins_helper.rb +2 -0
- data/test/dummy/app/helpers/application_helper.rb +21 -20
- 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/mindmap_editor_helper.rb +3 -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 +384 -486
- data/test/dummy/app/jinda/template/index.mm +1 -0
- data/test/dummy/app/mailers/application_mailer.rb +2 -2
- data/test/dummy/app/mailers/application_mailer.rb-org +4 -0
- data/test/dummy/app/mailers/jinda_mailer.rb +5 -3
- data/test/dummy/app/mailers/note_mailer.rb +6 -4
- data/test/dummy/app/mailers/user_mailer.rb +5 -5
- data/test/dummy/app/models/address.rb +2 -0
- data/test/dummy/app/models/article.rb +2 -0
- data/test/dummy/app/models/comment.rb +3 -2
- data/test/dummy/app/models/identity.rb +11 -10
- data/test/dummy/app/models/jinda/doc.rb +36 -33
- data/test/dummy/app/models/jinda/jinda_module.rb +15 -0
- data/test/dummy/app/models/jinda/module.rb +14 -10
- data/test/dummy/app/models/jinda/notice.rb +15 -11
- data/test/dummy/app/models/jinda/role.rb +11 -7
- data/test/dummy/app/models/jinda/runseq.rb +23 -20
- data/test/dummy/app/models/jinda/service.rb +19 -15
- data/test/dummy/app/models/jinda/xmain.rb +42 -36
- data/test/dummy/app/models/note.rb +3 -8
- data/test/dummy/app/models/param.rb +23 -20
- data/test/dummy/app/models/person.rb +2 -0
- data/test/dummy/app/models/picture.rb +11 -0
- data/test/dummy/app/models/user.rb +42 -41
- data/test/dummy/app/views/admins/index.haml +21 -0
- data/test/dummy/app/views/api/v1/notes/delete/select_note.html.erb +21 -0
- data/test/dummy/app/views/api/v1/notes/edit/edit_note.html.erb +21 -0
- data/test/dummy/app/views/api/v1/notes/index.haml +21 -0
- data/test/dummy/app/views/api/v1/notes/new/new_note.html.erb +21 -0
- data/test/dummy/app/views/articles/show.html.haml +2 -2
- data/test/dummy/app/views/devs/index.haml +21 -0
- data/test/dummy/app/views/jinda/feed.rss.builder +15 -13
- data/test/dummy/app/views/jinda/index.html.haml +3 -2
- data/test/dummy/app/views/layouts/application.haml +2 -2
- data/test/dummy/app/views/mindmap_editor/edit.html.haml +126 -0
- data/test/dummy/app/views/mindmap_editor/save.html.haml +2 -0
- data/test/dummy/bin/docker-entrypoint +3 -0
- data/test/dummy/bin/lint_modified +21 -0
- data/test/dummy/bin/setup +1 -1
- data/test/dummy/config/application.rb +7 -2
- data/test/dummy/config/boot.rb +2 -1
- data/test/dummy/config/cable.yml +1 -1
- data/test/dummy/config/credentials.yml.enc +1 -1
- data/test/dummy/config/environments/development.rb +7 -1
- data/test/dummy/config/environments/production.rb +30 -26
- data/test/dummy/config/environments/test.rb +12 -8
- data/test/dummy/config/initializers/content_security_policy.rb +2 -2
- data/test/dummy/config/initializers/filter_parameter_logging.rb +3 -3
- data/test/dummy/config/initializers/mindmap_converter.rb +5 -0
- data/test/dummy/config/initializers/mongoid.rb +24 -9
- data/test/dummy/config/initializers/omniauth.rb +5 -0
- data/test/dummy/config/initializers/permissions_policy.rb +11 -9
- data/test/dummy/config/locales/en.yml +11 -13
- data/test/dummy/config/mongoid.yml +172 -53
- data/test/dummy/config/mongoid.yml-docker +3 -3
- data/test/dummy/config/mongoid.yml-localhost +3 -3
- data/test/dummy/config/puma.rb +21 -20
- data/test/dummy/config/routes.rb +7 -1
- data/test/dummy/docker-compose-mongodb.yml +13 -0
- data/test/dummy/docker-compose-web.yml +36 -0
- data/test/dummy/docker-compose.yml +10 -18
- data/test/dummy/log/development.log +5834 -2261
- data/test/dummy/spec/controllers/api/v1_get_index_spec.rb +15 -14
- data/test/dummy/spec/controllers/api/v1_get_my_spec.rb +9 -4
- data/test/dummy/spec/controllers/api/v1_post_spec.rb +4 -3
- data/test/dummy/spec/controllers/sessions_controller_spec.rb +82 -90
- data/test/dummy/spec/factories/pictures.rb +5 -0
- data/test/dummy/spec/features/userlogins_spec.rb +12 -15
- data/test/dummy/spec/mailers/note_spec.rb +5 -8
- data/test/dummy/spec/mailers/previews/note_preview.rb +3 -5
- data/test/dummy/spec/models/note_spec.rb +36 -35
- data/test/dummy/spec/models/picture_spec.rb +5 -0
- data/test/dummy/spec/models/user_spec.rb +10 -8
- data/test/dummy/spec/rails_helper.rb +29 -31
- data/test/dummy/spec/requests/ctrs_spec.rb +7 -0
- data/test/dummy/spec/requests/devs_spec.rb +7 -0
- data/test/dummy/spec/spec_helper.rb +19 -17
- data/test/dummy/spec/support/authentication_helper.rb +8 -7
- data/test/dummy/spec/support/databasecleaner.rb +3 -1
- data/test/dummy/spec/support/factory_bot.rb +7 -5
- data/test/dummy/spec/support/omniauth_macros.rb +14 -19
- data/test/dummy/spec/support/request_spec_helper.rb +3 -1
- data/test/dummy/spec/views/articles/_article.html.erb_spec.rbx +9 -8
- data/test/generated_app_test.rb +261 -0
- data/test/installation_test.rb +368 -0
- data/test/integration_test.rb +398 -0
- data/test/jenkins_stage_test.rb +182 -0
- data/test/note_model_test.rb +224 -0
- data/test/note_validation_integration_test.rb +292 -0
- data/test/run_unit_tests.sh +91 -0
- data/test/test_helper.rb +8 -16
- metadata +188 -60
- data/lib/generators/jinda/templates/app/assets/stylesheets/application.css.scss +0 -15
- data/lib/generators/jinda/templates/app/controllers/jinda_org/password_resets.rb +0 -28
- data/lib/generators/jinda/templates/app/views/layouts/_head.html.erb +0 -10
- data/lib/generators/jinda/templates/app/views/layouts/_meta_tag.html.erb +0 -19
- data/lib/generators/jinda/templates/app/views/layouts/bsb/_footer.haml +0 -7
- data/lib/generators/jinda/templates/app/views/layouts/bsb/_header.haml +0 -147
- data/lib/generators/jinda/templates/app/views/layouts/bsb/_menu.haml +0 -47
- data/lib/generators/jinda/templates/app/views/layouts/bsb/_menu_mm.haml +0 -34
- data/lib/generators/jinda/templates/app/views/layouts/bsb/_sidebar.haml +0 -155
- data/lib/generators/jinda/templates/app/views/layouts/bsb/application.haml-bsb +0 -47
- data/lib/generators/jinda/templates/app/views/layouts/gmail.html.erb +0 -9
- data/lib/generators/jinda/templates/app/views/layouts/jqm/_full.haml +0 -33
- data/lib/generators/jinda/templates/app/views/layouts/jqm/_page.haml +0 -16
- data/lib/generators/jinda/templates/app/views/layouts/jqm/application.haml-jqm +0 -4
- data/lib/generators/jinda/templates/app/views/layouts/mailer.html.erb +0 -13
- data/lib/generators/jinda/templates/app/views/layouts/mailer.html.haml +0 -3
- data/lib/generators/jinda/templates/app/views/layouts/mailer.text.erb +0 -1
- data/lib/generators/jinda/templates/app/views/layouts/mailer.text.haml +0 -1
- data/lib/generators/jinda/templates/app/views/layouts/mobile.html.erb +0 -13
- data/lib/generators/jinda/templates/app/views/layouts/mobilejq.html.erb +0 -31
- data/lib/generators/jinda/templates/app/views/layouts/print.html.erb +0 -22
- data/lib/generators/jinda/templates/app/views/layouts/utf8.html.erb +0 -22
- data/lib/generators/jinda/templates/config/initializers/fix_mongoid_generator.rb-org +0 -14
- data/test/dummy/Guardfile +0 -96
- data/test/dummy/app/controllers/application_controller.rb.bak +0 -2
- data/test/dummy/app/controllers/password_resets.rb +0 -28
- data/test/dummy/app/helpers/application_helper.rb.bak +0 -2
- data/test/dummy/app/views/identities/new-bak.html.haml +0 -32
- data/test/dummy/app/views/layouts/application.haml.bak +0 -4
- data/test/dummy/app/views/layouts/application.html.erb.bak +0 -15
- data/test/dummy/app/views/layouts/lte/_header.haml +0 -111
- data/test/dummy/app/views/layouts/lte/_rightbar.haml +0 -123
- data/test/dummy/app/views/sessions/new-bak.html.haml +0 -22
- data/test/dummy/config/initializers/fix_mongoid_generator.rb-org +0 -14
- data/test/dummy/tmp/development_secret.txt +0 -1
- data/test/integration/navigation_test.rb +0 -7
- data/test/jinda_test.rb +0 -7
- /data/{test/dummy → lib/generators/jinda/templates}/app/assets/stylesheets/application.scss +0 -0
- /data/{test/dummy → lib/generators/jinda/templates}/app/assets/stylesheets/jinda.scss +0 -0
- /data/lib/generators/jinda/templates/app/mailers/{application_mailer.rb → application_mailer.rb-org} +0 -0
- /data/{test/dummy → lib/generators/jinda/templates}/app/views/adminltes/dashboard1.haml +0 -0
- /data/{test/dummy → lib/generators/jinda/templates}/app/views/adminltes/dashboard2.haml +0 -0
- /data/{test/dummy → lib/generators/jinda/templates}/app/views/layouts/lte/_flash.haml +0 -0
- /data/{test/dummy → lib/generators/jinda/templates}/app/views/layouts/lte/_footer.haml +0 -0
- /data/{test/dummy → lib/generators/jinda/templates}/app/views/layouts/lte/_menu.haml +0 -0
- /data/{test/dummy → lib/generators/jinda/templates}/app/views/layouts/lte/_menu_mm.haml +0 -0
- /data/lib/generators/jinda/templates/app/views/layouts/{bsb → lte}/_rightbar.haml +0 -0
|
@@ -1,32 +1,34 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
module JindaRunConcern
|
|
2
4
|
extend ActiveSupport::Concern
|
|
3
5
|
|
|
4
6
|
def run_form
|
|
5
7
|
init_vars(params[:id])
|
|
6
8
|
if authorize?
|
|
7
|
-
if [
|
|
9
|
+
if %w[F X].include? @xmain.status
|
|
8
10
|
redirect_to_root
|
|
9
11
|
else
|
|
10
|
-
service= @xmain.service
|
|
12
|
+
service = @xmain.service
|
|
11
13
|
###############################################################################################
|
|
12
14
|
# Run View Form f created template by jinda rake follow freemind mm file
|
|
13
15
|
###############################################################################################
|
|
14
16
|
if service
|
|
15
|
-
@title= "Transaction ID #{@xmain.xid}: #{@xmain.name} / #{@runseq.name}"
|
|
16
|
-
fhelp= "app/views/#{service.module.code}/#{service.code}/#{@runseq.code}.md"
|
|
17
|
+
@title = "Transaction ID #{@xmain.xid}: #{@xmain.name} / #{@runseq.name}"
|
|
18
|
+
fhelp = "app/views/#{service.module.code}/#{service.code}/#{@runseq.code}.md"
|
|
17
19
|
###############################################################################################
|
|
18
20
|
# Check if help file available for this form
|
|
19
21
|
###############################################################################################
|
|
20
|
-
@help
|
|
21
|
-
f1= "app/views/#{service.module.code}/#{service.code}/#{@runseq.code}.html.erb"
|
|
22
|
-
f2= "app/views/#{service.module.code}/#{service.code}/#{@runseq.code}.html.haml"
|
|
22
|
+
@help = File.read(fhelp) if File.exist?(fhelp)
|
|
23
|
+
f1 = "app/views/#{service.module.code}/#{service.code}/#{@runseq.code}.html.erb"
|
|
24
|
+
f2 = "app/views/#{service.module.code}/#{service.code}/#{@runseq.code}.html.haml"
|
|
23
25
|
if File.file?(f1)
|
|
24
|
-
@ui= File.read(f1)
|
|
26
|
+
@ui = File.read(f1)
|
|
25
27
|
elsif File.file?(f2)
|
|
26
|
-
@ui= File.read(f2)
|
|
28
|
+
@ui = File.read(f2)
|
|
27
29
|
else
|
|
28
30
|
# flash[:notice]= "Error: Can not find the view file for this controller"
|
|
29
|
-
ma_log
|
|
31
|
+
ma_log 'Error: Can not find the view file for this controller'
|
|
30
32
|
redirect_to_root
|
|
31
33
|
end
|
|
32
34
|
end
|
|
@@ -39,27 +41,25 @@ module JindaRunConcern
|
|
|
39
41
|
|
|
40
42
|
def run_if
|
|
41
43
|
init_vars(params[:id])
|
|
42
|
-
condition= eval(@runseq.code).to_s
|
|
43
|
-
match_found= false
|
|
44
|
+
condition = eval(@runseq.code).to_s
|
|
45
|
+
match_found = false
|
|
44
46
|
if condition
|
|
45
|
-
xml= REXML::Document.new(@runseq.xml).root
|
|
46
|
-
next_runseq= nil
|
|
47
|
-
text
|
|
48
|
-
match, name= text.split(':',2)
|
|
49
|
-
label= name2code(name.strip)
|
|
50
|
-
if condition==match
|
|
51
|
-
if label==
|
|
52
|
-
@end_job= true
|
|
47
|
+
xml = REXML::Document.new(@runseq.xml).root
|
|
48
|
+
next_runseq = nil
|
|
49
|
+
text = xml.elements['//node/node'].attributes['TEXT']
|
|
50
|
+
match, name = text.split(':', 2)
|
|
51
|
+
label = name2code(name.strip)
|
|
52
|
+
if condition == match
|
|
53
|
+
if label == 'end'
|
|
54
|
+
@end_job = true
|
|
53
55
|
else
|
|
54
|
-
next_runseq= @xmain.runseqs.where(:code=> label, :action.ne=>'redirect').first
|
|
55
|
-
match_found= true if next_runseq
|
|
56
|
-
@runseq_not_f= false
|
|
56
|
+
next_runseq = @xmain.runseqs.where(:code => label, :action.ne => 'redirect').first
|
|
57
|
+
match_found = true if next_runseq
|
|
58
|
+
@runseq_not_f = false
|
|
57
59
|
end
|
|
58
60
|
end
|
|
59
61
|
end
|
|
60
|
-
unless match_found || @end_job
|
|
61
|
-
next_runseq= @xmain.runseqs.where( rstep:(@xvars['current_step']+1) ).first
|
|
62
|
-
end
|
|
62
|
+
next_runseq = @xmain.runseqs.where(rstep: (@xvars['current_step'] + 1)).first unless match_found || @end_job
|
|
63
63
|
end_action(next_runseq)
|
|
64
64
|
end
|
|
65
65
|
|
|
@@ -67,12 +67,12 @@ module JindaRunConcern
|
|
|
67
67
|
# eg: http://localhost:3000/notes/my
|
|
68
68
|
def run_direct_to
|
|
69
69
|
init_vars(params[:id])
|
|
70
|
-
next_runseq= @xmain.runseqs.where(:id.ne
|
|
71
|
-
if
|
|
72
|
-
|
|
70
|
+
next_runseq = @xmain.runseqs.where(:id.ne => @runseq.id, :code => @runseq.code).first
|
|
71
|
+
if @runseq.code.blank?
|
|
72
|
+
flash[:notice] = 'Error: missing required forward path in Freemind'
|
|
73
|
+
ma_log 'Error: require forward path in Freemind'
|
|
73
74
|
else
|
|
74
|
-
|
|
75
|
-
ma_log "Error: require forward path in Freemind"
|
|
75
|
+
@xvars['p']['return'] = @runseq.code
|
|
76
76
|
end
|
|
77
77
|
end_action(next_runseq)
|
|
78
78
|
end
|
|
@@ -80,199 +80,202 @@ module JindaRunConcern
|
|
|
80
80
|
def run_redirect
|
|
81
81
|
init_vars(params[:id])
|
|
82
82
|
# next_runseq= @xmain.runseqs.first :conditions=>["id != ? AND code = ?",@runseq.id, @runseq.code]
|
|
83
|
-
next_runseq= @xmain.runseqs.where(:id.ne
|
|
84
|
-
@xmain.current_runseq= next_runseq.id
|
|
83
|
+
next_runseq = @xmain.runseqs.where(:id.ne => @runseq.id, :code => @runseq.code).first
|
|
84
|
+
@xmain.current_runseq = next_runseq.id
|
|
85
85
|
end_action(next_runseq)
|
|
86
86
|
end
|
|
87
87
|
|
|
88
|
-
|
|
89
|
-
|
|
88
|
+
# call controller to do the freemind task using Star symbol eg: Update
|
|
89
|
+
# not for run_form
|
|
90
90
|
def run_do
|
|
91
91
|
init_vars(params[:id])
|
|
92
|
-
@runseq.start
|
|
93
|
-
@runseq.status= 'R' # running
|
|
94
|
-
$runseq_id= @runseq.id
|
|
95
|
-
$user_id= current_ma_user.try(:id)
|
|
92
|
+
@runseq.start ||= Time.zone.now
|
|
93
|
+
@runseq.status = 'R' # running
|
|
94
|
+
$runseq_id = @runseq.id
|
|
95
|
+
$user_id = current_ma_user.try(:id)
|
|
96
96
|
# $xmain, $runseq, $user, $xvars, $ip from local
|
|
97
97
|
set_global
|
|
98
|
-
controller
|
|
99
|
-
result
|
|
98
|
+
controller = Kernel.const_get(@xvars['custom_controller']).new
|
|
99
|
+
result = controller.send(@runseq.code)
|
|
100
100
|
# save local var to database
|
|
101
101
|
init_vars_by_runseq($runseq_id)
|
|
102
|
-
@xvars
|
|
103
|
-
@xvars[@runseq.code.to_sym]= result.to_s
|
|
104
|
-
@xvars['current_step']= @runseq.rstep
|
|
105
|
-
@runseq.status= 'F' #finish
|
|
106
|
-
@runseq.stop= Time.now
|
|
102
|
+
@xvars = $xvars
|
|
103
|
+
@xvars[@runseq.code.to_sym] = result.to_s
|
|
104
|
+
@xvars['current_step'] = @runseq.rstep
|
|
105
|
+
@runseq.status = 'F' # finish
|
|
106
|
+
@runseq.stop = Time.zone.now
|
|
107
107
|
@runseq.save
|
|
108
108
|
end_action
|
|
109
|
-
rescue => e
|
|
110
|
-
@xmain.status='E'
|
|
111
|
-
@xvars['error']= e.to_s+e.backtrace.to_s
|
|
112
|
-
@xmain.xvars= $xvars
|
|
109
|
+
rescue StandardError => e
|
|
110
|
+
@xmain.status = 'E'
|
|
111
|
+
@xvars['error'] = e.to_s + e.backtrace.to_s
|
|
112
|
+
@xmain.xvars = $xvars
|
|
113
113
|
@xmain.save
|
|
114
|
-
@runseq.status= 'F' #finish
|
|
115
|
-
@runseq.stop= Time.now
|
|
114
|
+
@runseq.status = 'F' # finish
|
|
115
|
+
@runseq.stop = Time.zone.now
|
|
116
116
|
@runseq.save
|
|
117
|
-
refresh_to
|
|
117
|
+
refresh_to '/', alert: "Sorry opeation error at #{@xmain.id} #{@xvars['error']}"
|
|
118
118
|
end
|
|
119
119
|
|
|
120
120
|
def run_list
|
|
121
121
|
init_vars(params[:id])
|
|
122
|
-
service= @xmain.service
|
|
122
|
+
service = @xmain.service
|
|
123
123
|
# disp= get_option("display")
|
|
124
124
|
# disp = Nil or :"??????"
|
|
125
125
|
# get option from last node: rule, role, display
|
|
126
|
-
disp= get_option(
|
|
126
|
+
disp = get_option('display')
|
|
127
127
|
# change from Nil to false and string to true
|
|
128
|
-
ma_display =
|
|
128
|
+
ma_display = disp && !affirm(disp) ? false : true
|
|
129
129
|
# Todo check if file is available
|
|
130
130
|
# if service and file exist
|
|
131
131
|
# ma_display from disp of 3rd level node as rule, role, display
|
|
132
|
-
if service &&
|
|
133
|
-
f= "app/views/#{service.module.code}/#{service.code}/#{@runseq.code}.html.erb"
|
|
134
|
-
@ui= File.read(f)
|
|
135
|
-
if Jinda::Doc.
|
|
136
|
-
@doc= Jinda::Doc.where(:
|
|
137
|
-
@doc.
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
132
|
+
if service && @runseq.code.present?
|
|
133
|
+
f = "app/views/#{service.module.code}/#{service.code}/#{@runseq.code}.html.erb"
|
|
134
|
+
@ui = File.read(f)
|
|
135
|
+
if Jinda::Doc.exists?(runseq_id: @runseq.id)
|
|
136
|
+
@doc = Jinda::Doc.where(runseq_id: @runseq.id).first
|
|
137
|
+
@doc.update data_text: render_to_string(inline: @ui, layout: 'utf8'),
|
|
138
|
+
xmain: @xmain, runseq: @runseq, user: current_ma_user,
|
|
139
|
+
ip: get_ip, service: service, ma_display: ma_display,
|
|
140
|
+
ma_secured: @xmain.service.ma_secured,
|
|
141
|
+
filename: "#{@runseq.code}.html.erb"
|
|
142
142
|
else
|
|
143
|
-
@doc= Jinda::Doc.create :
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
143
|
+
@doc = Jinda::Doc.create name: @runseq.name,
|
|
144
|
+
content_type: 'output', data_text: render_to_string(inline: @ui, layout: 'utf8'),
|
|
145
|
+
xmain: @xmain, runseq: @runseq, user: current_ma_user,
|
|
146
|
+
ip: get_ip, service: service, ma_display: ma_display,
|
|
147
|
+
ma_secured: @xmain.service.ma_secured,
|
|
148
|
+
filename: "#{@runseq.code}.html.erb"
|
|
149
149
|
end
|
|
150
150
|
# @message = defined?(MSG_NEXT) ? MSG_NEXT : "Next >"
|
|
151
|
-
@message = defined?(MSG_NEXT) ? MSG_NEXT :
|
|
152
|
-
@message =
|
|
153
|
-
ma_log(
|
|
151
|
+
@message = defined?(MSG_NEXT) ? MSG_NEXT : 'Next >>'
|
|
152
|
+
@message = 'Finish' if @runseq.end
|
|
153
|
+
ma_log('Todo defined?(NSG_NEXT : Next >>)')
|
|
154
154
|
eval "@xvars[@runseq.code] = url_for(:controller=>'jinda', :action=>'document', :id=>@doc.id)"
|
|
155
155
|
else
|
|
156
|
-
flash[:notice]=
|
|
157
|
-
ma_log
|
|
156
|
+
flash[:notice] = 'Error: Can not find the view file for this controller'
|
|
157
|
+
ma_log 'Error: Can not find the view file for this controller'
|
|
158
158
|
redirect_to_root
|
|
159
159
|
end
|
|
160
160
|
# Check if ma_display available
|
|
161
161
|
# ma_display= get_option("display")
|
|
162
162
|
# if not ma_display then no display both controller-view and content then end back to root
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
163
|
+
return if ma_display
|
|
164
|
+
|
|
165
|
+
end_action
|
|
166
|
+
|
|
166
167
|
# controller display from @ui
|
|
167
168
|
end
|
|
168
169
|
|
|
169
170
|
def run_folder
|
|
170
171
|
init_vars(params[:id])
|
|
171
|
-
service= @xmain.service
|
|
172
|
+
service = @xmain.service
|
|
172
173
|
# disp= get_option("display")
|
|
173
174
|
# disp = Nil or :"??????"
|
|
174
|
-
disp= get_option(
|
|
175
|
-
ma_display =
|
|
175
|
+
disp = get_option('display')
|
|
176
|
+
ma_display = disp && !affirm(disp) ? false : true
|
|
176
177
|
# Todo check if file is available
|
|
177
178
|
# if service and file exist
|
|
178
|
-
if service &&
|
|
179
|
-
f= "app/views/#{service.module.code}/#{service.code}/#{@runseq.code}.html.erb"
|
|
180
|
-
@ui= File.read(f)
|
|
181
|
-
if Jinda::Doc.
|
|
182
|
-
@doc= Jinda::Doc.where(:
|
|
183
|
-
@doc.
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
179
|
+
if service && @runseq.code.present?
|
|
180
|
+
f = "app/views/#{service.module.code}/#{service.code}/#{@runseq.code}.html.erb"
|
|
181
|
+
@ui = File.read(f)
|
|
182
|
+
if Jinda::Doc.exists?(runseq_id: @runseq.id)
|
|
183
|
+
@doc = Jinda::Doc.where(runseq_id: @runseq.id).first
|
|
184
|
+
@doc.update data_text: render_to_string(inline: @ui, layout: 'utf8'),
|
|
185
|
+
xmain: @xmain, runseq: @runseq, user: current_ma_user,
|
|
186
|
+
ip: get_ip, service: service, ma_display: ma_display,
|
|
187
|
+
ma_secured: @xmain.service.ma_secured,
|
|
188
|
+
filename: "#{@runseq.code}.html.erb"
|
|
188
189
|
else
|
|
189
|
-
@doc= Jinda::Doc.create :
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
190
|
+
@doc = Jinda::Doc.create name: @runseq.name,
|
|
191
|
+
content_type: 'output', data_text: render_to_string(inline: @ui, layout: 'utf8'),
|
|
192
|
+
xmain: @xmain, runseq: @runseq, user: current_ma_user,
|
|
193
|
+
ip: get_ip, service: service, ma_display: ma_display,
|
|
194
|
+
ma_secured: @xmain.service.ma_secured,
|
|
195
|
+
filename: "#{@runseq.code}.html.erb"
|
|
195
196
|
end
|
|
196
197
|
# @message = defined?(MSG_NEXT) ? MSG_NEXT : "Next >"
|
|
197
|
-
@message = defined?(MSG_NEXT) ? MSG_NEXT :
|
|
198
|
-
@message =
|
|
199
|
-
ma_log(
|
|
198
|
+
@message = defined?(MSG_NEXT) ? MSG_NEXT : 'Next >>'
|
|
199
|
+
@message = 'Finish' if @runseq.end
|
|
200
|
+
ma_log('Todo defined?(NSG_NEXT : Next >>)')
|
|
200
201
|
eval "@xvars[@runseq.code] = url_for(:controller=>'jinda', :action=>'document', :id=>@doc.id)"
|
|
201
202
|
else
|
|
202
|
-
flash[:notice]=
|
|
203
|
-
ma_log
|
|
203
|
+
flash[:notice] = 'Error: Can not find the view file for this controller'
|
|
204
|
+
ma_log 'Error: Can not find the view file for this controller'
|
|
204
205
|
redirect_to_root
|
|
205
206
|
end
|
|
206
207
|
# Check if ma_display available
|
|
207
208
|
# ma_display= get_option("display")
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
209
|
+
return if ma_display
|
|
210
|
+
|
|
211
|
+
end_action
|
|
212
|
+
|
|
211
213
|
# controller display from @ui
|
|
212
214
|
end
|
|
213
215
|
|
|
214
216
|
def run_output
|
|
215
217
|
init_vars(params[:id])
|
|
216
|
-
service= @xmain.service
|
|
218
|
+
service = @xmain.service
|
|
217
219
|
# disp= get_option("display")
|
|
218
220
|
# disp = Nil or :"??????"
|
|
219
|
-
disp= get_option(
|
|
220
|
-
ma_display =
|
|
221
|
+
disp = get_option('display')
|
|
222
|
+
ma_display = disp && !affirm(disp) ? false : true
|
|
221
223
|
# Todo check if file is available
|
|
222
224
|
# if service and file exist
|
|
223
|
-
if service &&
|
|
224
|
-
f= "app/views/#{service.module.code}/#{service.code}/#{@runseq.code}.html.erb"
|
|
225
|
-
@ui= File.read(f)
|
|
226
|
-
if Jinda::Doc.
|
|
227
|
-
@doc= Jinda::Doc.where(:
|
|
228
|
-
@doc.
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
225
|
+
if service && @runseq.code.present?
|
|
226
|
+
f = "app/views/#{service.module.code}/#{service.code}/#{@runseq.code}.html.erb"
|
|
227
|
+
@ui = File.read(f)
|
|
228
|
+
if Jinda::Doc.exists?(runseq_id: @runseq.id)
|
|
229
|
+
@doc = Jinda::Doc.where(runseq_id: @runseq.id).first
|
|
230
|
+
@doc.update data_text: render_to_string(inline: @ui, layout: 'utf8'),
|
|
231
|
+
xmain: @xmain, runseq: @runseq, user: current_ma_user,
|
|
232
|
+
ip: get_ip, service: service, ma_display: ma_display,
|
|
233
|
+
ma_secured: @xmain.service.ma_secured,
|
|
234
|
+
filename: "#{@runseq.code}.html.erb"
|
|
233
235
|
else
|
|
234
|
-
@doc= Jinda::Doc.create :
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
236
|
+
@doc = Jinda::Doc.create name: @runseq.name,
|
|
237
|
+
content_type: 'output', data_text: render_to_string(inline: @ui, layout: 'utf8'),
|
|
238
|
+
xmain: @xmain, runseq: @runseq, user: current_ma_user,
|
|
239
|
+
ip: get_ip, service: service, ma_display: ma_display,
|
|
240
|
+
ma_secured: @xmain.service.ma_secured,
|
|
241
|
+
filename: "#{@runseq.code}.html.erb"
|
|
240
242
|
end
|
|
241
243
|
# @message = defined?(MSG_NEXT) ? MSG_NEXT : "Next >"
|
|
242
|
-
@message = defined?(MSG_NEXT) ? MSG_NEXT :
|
|
243
|
-
@message =
|
|
244
|
-
ma_log(
|
|
244
|
+
@message = defined?(MSG_NEXT) ? MSG_NEXT : 'Next >>'
|
|
245
|
+
@message = 'Finish' if @runseq.end
|
|
246
|
+
ma_log('Todo defined?(NSG_NEXT : Next >>)')
|
|
245
247
|
eval "@xvars[@runseq.code] = url_for(:controller=>'jinda', :action=>'document', :id=>@doc.id)"
|
|
246
248
|
else
|
|
247
|
-
flash[:notice]=
|
|
248
|
-
ma_log
|
|
249
|
+
flash[:notice] = 'Error: Can not find the view file for this controller'
|
|
250
|
+
ma_log 'Error: Can not find the view file for this controller'
|
|
249
251
|
redirect_to_root
|
|
250
252
|
end
|
|
251
253
|
# Check if ma_display available
|
|
252
254
|
# ma_display= get_option("display")
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
255
|
+
return if ma_display
|
|
256
|
+
|
|
257
|
+
end_action
|
|
258
|
+
|
|
256
259
|
# controller display from @ui
|
|
257
260
|
end
|
|
258
261
|
|
|
259
262
|
def run_mail
|
|
260
263
|
init_vars(params[:id])
|
|
261
|
-
service= @xmain.service
|
|
262
|
-
f= "app/views/#{service.module.code}/#{service.code}/#{@runseq.code}.html.erb"
|
|
263
|
-
@ui= File.read(f).html_safe
|
|
264
|
-
@doc= Jinda::Doc.create :
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
264
|
+
service = @xmain.service
|
|
265
|
+
f = "app/views/#{service.module.code}/#{service.code}/#{@runseq.code}.html.erb"
|
|
266
|
+
@ui = File.read(f).html_safe
|
|
267
|
+
@doc = Jinda::Doc.create name: @runseq.name,
|
|
268
|
+
content_type: 'mail', data_text: render_to_string(inline: @ui, layout: false),
|
|
269
|
+
xmain: @xmain, runseq: @runseq, user: current_ma_user,
|
|
270
|
+
ip: get_ip, service: service, ma_display: false,
|
|
271
|
+
ma_secured: @xmain.service.ma_secured
|
|
269
272
|
eval "@xvars[:#{@runseq.code}] = url_for(:controller=>'jinda', :action=>'document', :id=>@doc.id)"
|
|
270
|
-
|
|
273
|
+
get_option('from')
|
|
271
274
|
# sender= render_to_string(:inline=>mail_from) if mail_from
|
|
272
|
-
mail_to
|
|
273
|
-
recipients= render_to_string(:
|
|
275
|
+
mail_to = get_option('to')
|
|
276
|
+
recipients = render_to_string(inline: mail_to) if mail_to
|
|
274
277
|
mail_subject = get_option('subject')
|
|
275
|
-
subject= render_to_string(:
|
|
278
|
+
subject = render_to_string(inline: mail_subject) || @runseq.name.to_s
|
|
276
279
|
JindaMailer.gmail(@doc.data_text, recipients, subject).deliver unless DONT_SEND_MAIL
|
|
277
280
|
end_action
|
|
278
281
|
end
|
|
@@ -290,24 +293,24 @@ module JindaRunConcern
|
|
|
290
293
|
if params[:xmain_id]
|
|
291
294
|
init_vars(params[:xmain_id])
|
|
292
295
|
else
|
|
293
|
-
ma_log
|
|
296
|
+
ma_log 'Known Bug : repeated end_form '
|
|
294
297
|
redirect_to_root and return
|
|
295
298
|
end
|
|
296
|
-
eval
|
|
299
|
+
eval '@xvars[@runseq.code] = {} unless @xvars[@runseq.code]'
|
|
297
300
|
# Search for uploaded file name if exist
|
|
298
|
-
params.each
|
|
301
|
+
params.each do |k, v|
|
|
299
302
|
if params[k].respond_to? :original_filename
|
|
300
303
|
get_image(k, params[k])
|
|
301
|
-
# check if params of array in form eg: edit_article
|
|
304
|
+
# check if params of array in form eg: edit_article
|
|
302
305
|
elsif params[k].is_a?(ActionController::Parameters)
|
|
303
|
-
eval
|
|
304
|
-
params[k].each
|
|
306
|
+
eval '@xvars[@runseq.code][k] = {} unless @xvars[@runseq.code][k]'
|
|
307
|
+
params[k].each do |k1, v1|
|
|
305
308
|
# eval "@xvars[@runseq.code][k1] = params.require(k1).permit(k1)"
|
|
306
|
-
eval
|
|
309
|
+
eval '@xvars[@runseq.code][k][k1] = v1'
|
|
307
310
|
next unless v1.respond_to?(:original_filename)
|
|
308
|
-
|
|
311
|
+
|
|
309
312
|
get_image1(k, k1, params[k][k1])
|
|
310
|
-
|
|
313
|
+
end
|
|
311
314
|
else
|
|
312
315
|
# No file attached
|
|
313
316
|
#
|
|
@@ -316,53 +319,50 @@ module JindaRunConcern
|
|
|
316
319
|
# https://stackoverflow.com/questions/34949505/rails-5-unable-to-retrieve-hash-values-from-parameter
|
|
317
320
|
# v = v.to_unsafe_h unless v.class == String
|
|
318
321
|
# v = params.require[k] unless v.class == String
|
|
319
|
-
v
|
|
322
|
+
v.to_s unless v.instance_of?(String)
|
|
320
323
|
# Create @xvars[@runseq.code]
|
|
321
|
-
eval
|
|
324
|
+
eval '@xvars[@runseq.code][k] = v'
|
|
322
325
|
end
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
rescue => e
|
|
326
|
-
@xmain.status='E'
|
|
327
|
-
@xvars['error']= e.to_s+e.backtrace.to_s
|
|
328
|
-
@xmain.xvars= $xvars
|
|
326
|
+
end
|
|
327
|
+
end_action
|
|
328
|
+
rescue StandardError => e
|
|
329
|
+
@xmain.status = 'E'
|
|
330
|
+
@xvars['error'] = e.to_s + e.backtrace.to_s
|
|
331
|
+
@xmain.xvars = $xvars
|
|
329
332
|
@xmain.save
|
|
330
|
-
@runseq.status= 'F' #finish
|
|
331
|
-
@runseq.stop= Time.now
|
|
333
|
+
@runseq.status = 'F' # finish
|
|
334
|
+
@runseq.stop = Time.zone.now
|
|
332
335
|
@runseq.save
|
|
333
|
-
ma_log
|
|
334
|
-
refresh_to
|
|
336
|
+
ma_log 'Error:end_form '
|
|
337
|
+
refresh_to '/', alert: "Sorry opeation error at #{@xmain.id} #{@xvars['error']}"
|
|
335
338
|
end
|
|
336
339
|
|
|
337
340
|
def end_action(next_runseq = nil)
|
|
338
341
|
# not for form
|
|
339
342
|
# @runseq.status='F' unless @runseq_not_f
|
|
340
|
-
@xmain.xvars= @xvars
|
|
341
|
-
@xmain.status= 'R' # running
|
|
343
|
+
@xmain.xvars = @xvars
|
|
344
|
+
@xmain.status = 'R' # running
|
|
342
345
|
@xmain.save!
|
|
343
|
-
@runseq.status='F'
|
|
344
|
-
@runseq.user= current_ma_user
|
|
345
|
-
@runseq.stop= Time.now
|
|
346
|
+
@runseq.status = 'F'
|
|
347
|
+
@runseq.user = current_ma_user
|
|
348
|
+
@runseq.stop = Time.zone.now
|
|
346
349
|
@runseq.save
|
|
347
|
-
next_runseq
|
|
350
|
+
next_runseq ||= @xmain.runseqs.where(rstep: @runseq.rstep + 1).first
|
|
348
351
|
if @end_job || !next_runseq # job finish
|
|
349
|
-
@xmain.xvars= @xvars
|
|
350
|
-
@xmain.status= 'F' unless @xmain.status== 'E' # finish
|
|
351
|
-
@xmain.stop= Time.now
|
|
352
|
+
@xmain.xvars = @xvars
|
|
353
|
+
@xmain.status = 'F' unless @xmain.status == 'E' # finish
|
|
354
|
+
@xmain.stop = Time.zone.now
|
|
352
355
|
@xmain.save
|
|
353
356
|
if @xvars['p']['return']
|
|
354
357
|
redirect_to @xvars['p']['return'] and return
|
|
358
|
+
elsif @user
|
|
359
|
+
redirect_to action: 'index' and return
|
|
355
360
|
else
|
|
356
|
-
|
|
357
|
-
redirect_to :action=>'index' and return
|
|
358
|
-
else
|
|
359
|
-
redirect_to_root and return
|
|
360
|
-
end
|
|
361
|
+
redirect_to_root and return
|
|
361
362
|
end
|
|
362
363
|
else
|
|
363
364
|
@xmain.update_attribute :current_runseq, next_runseq.id
|
|
364
|
-
redirect_to :
|
|
365
|
+
redirect_to action: 'run', id: @xmain.id and return
|
|
365
366
|
end
|
|
366
367
|
end
|
|
367
|
-
|
|
368
|
-
end
|
|
368
|
+
end
|
|
@@ -1,50 +1,51 @@
|
|
|
1
|
-
#
|
|
1
|
+
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
class JindaController < ApplicationController
|
|
4
4
|
include JindaRunConcern
|
|
5
5
|
include JindaGeneralConcern
|
|
6
|
+
|
|
6
7
|
# view menu by user selected what service (module and code) to run (not all services like menu did
|
|
7
|
-
# Its only one service
|
|
8
|
+
# Its only one service
|
|
8
9
|
|
|
9
10
|
def init
|
|
10
|
-
module_code, code = params[:s].split(
|
|
11
|
-
@service= Jinda::Service.where(:
|
|
11
|
+
module_code, code = params[:s].split(':')
|
|
12
|
+
@service = Jinda::Service.where(module_code: module_code, code: code).first
|
|
12
13
|
if @service && authorize_init?
|
|
13
|
-
xmain
|
|
14
|
+
xmain = create_xmain(@service)
|
|
14
15
|
result = create_runseq(xmain)
|
|
15
16
|
unless result
|
|
16
17
|
message = "Node missing action icon: cannot find action for xmain #{xmain.id}, the node required action(icon) in freemind eg: form, list, method"
|
|
17
18
|
ma_log(message)
|
|
18
|
-
flash[:notice]= message
|
|
19
|
-
redirect_to
|
|
19
|
+
flash[:notice] = message
|
|
20
|
+
redirect_to 'pending' and return
|
|
20
21
|
end
|
|
21
22
|
xmain.update_attribute(:xvars, @xvars)
|
|
22
|
-
xmain.runseqs.last.update_attribute(:end,true)
|
|
23
|
-
#Above line cause error update_attribute in heroku shown in logs and it was proposed to fixed in github:'kul1/g241502'
|
|
23
|
+
xmain.runseqs.last.update_attribute(:end, true)
|
|
24
|
+
# Above line cause error update_attribute in heroku shown in logs and it was proposed to fixed in github:'kul1/g241502'
|
|
24
25
|
# Main action run with :id
|
|
25
|
-
redirect_to :
|
|
26
|
-
|
|
26
|
+
redirect_to action: 'run', id: xmain.id
|
|
27
|
+
|
|
27
28
|
else
|
|
28
|
-
refresh_to
|
|
29
|
-
error_run_xmain =
|
|
29
|
+
refresh_to '/', alert: 'Error: cannot process'
|
|
30
|
+
error_run_xmain = 'Error_run_xmain'
|
|
30
31
|
ma_log(error_run_xmain)
|
|
31
32
|
end
|
|
32
33
|
end
|
|
33
34
|
|
|
34
|
-
|
|
35
|
+
# #######################################################################]
|
|
35
36
|
# run if, form, mail, output etc depend on icon in freemind
|
|
36
37
|
# action from @r.action == do, form, if, output
|
|
37
38
|
# Then will call def run_do, run_form, run_if, run_output
|
|
38
|
-
|
|
39
|
-
#
|
|
40
|
-
# run
|
|
41
|
-
# init_vars
|
|
39
|
+
# #######################################################################]
|
|
40
|
+
#
|
|
41
|
+
# run
|
|
42
|
+
# init_vars
|
|
42
43
|
# To get all var from global and runseq, action
|
|
43
44
|
# (@runseq.action)
|
|
44
|
-
#
|
|
45
|
+
#
|
|
45
46
|
# run_do, run_form, run_if, run_output
|
|
46
47
|
# run_do => controller => action eg: update, create, document
|
|
47
|
-
# run_form =>
|
|
48
|
+
# run_form =>
|
|
48
49
|
# run_form.haml => - next step => def end_form
|
|
49
50
|
# - next_step = end_form
|
|
50
51
|
# run_if =>
|
|
@@ -52,13 +53,13 @@ class JindaController < ApplicationController
|
|
|
52
53
|
#
|
|
53
54
|
# end_action
|
|
54
55
|
# => save local var to database :current_runseq
|
|
55
|
-
# :current_runseq => next_runseq
|
|
56
|
+
# :current_runseq => next_runseq
|
|
56
57
|
#
|
|
57
58
|
def run
|
|
58
59
|
init_vars(params[:id])
|
|
59
60
|
if authorize?
|
|
60
61
|
# session[:full_layout]= false
|
|
61
|
-
redirect_to(:
|
|
62
|
+
redirect_to(action: "run_#{@runseq.action}", id: @xmain.id)
|
|
62
63
|
else
|
|
63
64
|
redirect_to_root
|
|
64
65
|
end
|
data/bin/lint_modified
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
require "timeout"
|
|
3
|
+
|
|
4
|
+
modified = `git status --porcelain`.lines.filter_map { |l| l.split.last }.uniq
|
|
5
|
+
files = modified.select { |p| p.end_with?(".rb") }
|
|
6
|
+
|
|
7
|
+
if files.empty?
|
|
8
|
+
puts "No modified Ruby files."
|
|
9
|
+
exit 0
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
files.each do |file|
|
|
13
|
+
puts "RuboCop: #{file}"
|
|
14
|
+
begin
|
|
15
|
+
Timeout.timeout(30) do
|
|
16
|
+
system("rubocop", "--config", File.expand_path("~/.rubocop.yml"), "-A", file)
|
|
17
|
+
end
|
|
18
|
+
rescue Timeout::Error
|
|
19
|
+
puts "Timeout on #{file} (over 30s). Skipping; fix manually."
|
|
20
|
+
end
|
|
21
|
+
end
|