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,6 +1,8 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
class AdminsController < ApplicationController
|
|
2
4
|
def update_role
|
|
3
|
-
user = User.find_by :
|
|
4
|
-
user.update_attribute :role, $xvars[
|
|
5
|
+
user = User.find_by code: $xvars['select_user']['code']
|
|
6
|
+
user.update_attribute :role, $xvars['edit_role']['role']
|
|
5
7
|
end
|
|
6
8
|
end
|
|
@@ -1,81 +1,83 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Api
|
|
4
|
+
module V1
|
|
5
|
+
class NotesController < ApplicationController
|
|
6
|
+
before_action :load_note, only: %i[show destroy]
|
|
7
|
+
# before_action :xload_current_ma_user, only: [:destroy]
|
|
8
|
+
|
|
9
|
+
def index
|
|
10
|
+
@notes = Note.desc(:created_at).page(params[:page]).per(10)
|
|
11
|
+
render json: @notes
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def my
|
|
15
|
+
@notes = Note.where(user_id: current_ma_user).desc(:created_at).page(params[:page]).per(10)
|
|
16
|
+
render json: @notes
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def show; end
|
|
20
|
+
|
|
21
|
+
def edit
|
|
22
|
+
@note = Note.find(params[:id])
|
|
23
|
+
@page_title = 'Edit Note'
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def create
|
|
27
|
+
@note = Note.new(
|
|
28
|
+
title: params[:title],
|
|
29
|
+
body: params[:body],
|
|
30
|
+
user_id: params[:user]
|
|
31
|
+
)
|
|
32
|
+
|
|
33
|
+
@note.save!
|
|
34
|
+
render json: @note, status: :created
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def update
|
|
38
|
+
# $xvars["select_note"] and $xvars["edit_note"]
|
|
39
|
+
# These are variables.
|
|
40
|
+
# They contain everything that we get their forms select_note and edit_note
|
|
41
|
+
note_id = $xvars['select_note'] ? $xvars['select_note']['id'] : $xvars['p']['note_id']
|
|
42
|
+
@note = Note.find(note_id)
|
|
43
|
+
@note.update(title: $xvars['edit_note']['title'],
|
|
44
|
+
body: $xvars['edit_note']['body'])
|
|
45
|
+
redirect_to @note
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def delete
|
|
49
|
+
# called by freemind
|
|
50
|
+
# Tobe called from other controller:jinda
|
|
51
|
+
@note_id = $xvars['select_note'] ? $xvars['select_note']['id'] : $xvars['p']['note_id']
|
|
52
|
+
@note = Note.find(@note_id)
|
|
53
|
+
@note.destroy
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
def destroy
|
|
57
|
+
# called by rails menu my
|
|
58
|
+
@note.destroy if current_ma_user.role.upcase.split(',').include?('A') || current_ma_user == @note.user
|
|
59
|
+
redirect_to action: 'my'
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def mail
|
|
63
|
+
NoteMailer.gmail(
|
|
64
|
+
$xvars['display_mail']['body'],
|
|
65
|
+
$xvars['select_note']['email'],
|
|
66
|
+
$xvars['display_mail']['title'],
|
|
67
|
+
xload_current_ma_user.email
|
|
68
|
+
)
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
private
|
|
72
|
+
|
|
73
|
+
# Tobe called from other controller:jinda
|
|
74
|
+
def xload_current_ma_user
|
|
75
|
+
@current_ma_user = User.find($xvars['user_id'])
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
def load_note
|
|
79
|
+
@note = Note.find(params[:id])
|
|
80
|
+
end
|
|
58
81
|
end
|
|
59
|
-
redirect_to :action=>'my'
|
|
60
|
-
end
|
|
61
|
-
|
|
62
|
-
def mail
|
|
63
|
-
NoteMailer.gmail(
|
|
64
|
-
$xvars["display_mail"]["body"],
|
|
65
|
-
$xvars["select_note"]["email"],
|
|
66
|
-
$xvars["display_mail"]["title"],
|
|
67
|
-
xload_current_ma_user.email)
|
|
68
82
|
end
|
|
69
|
-
|
|
70
|
-
private
|
|
71
|
-
|
|
72
|
-
# Tobe called from other controller:jinda
|
|
73
|
-
def xload_current_ma_user
|
|
74
|
-
@current_ma_user = User.find($xvars["user_id"])
|
|
75
|
-
end
|
|
76
|
-
|
|
77
|
-
def load_note
|
|
78
|
-
@note = Note.find(params[:id])
|
|
79
|
-
end
|
|
80
|
-
|
|
81
83
|
end
|
|
@@ -1,22 +1,24 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
class ApplicationController < ActionController::Base
|
|
2
4
|
before_action :prepare_meta_tags, if: -> { request.get? }
|
|
3
|
-
# CSRF protection is turned on with the protect_from_forgery method.
|
|
5
|
+
# CSRF protection is turned on with the protect_from_forgery method.
|
|
4
6
|
protect_from_forgery unless: -> { request.format.json? }
|
|
5
|
-
def prepare_meta_tags(options={})
|
|
7
|
+
def prepare_meta_tags(options = {})
|
|
6
8
|
site_name = DEFAULT_TITLE
|
|
7
|
-
title = [controller_name, action_name].join(
|
|
9
|
+
title = [controller_name, action_name].join(' ')
|
|
8
10
|
description = DEFAULT_DESCRIPTION
|
|
9
|
-
image = options[:image] ||
|
|
10
|
-
keywords
|
|
11
|
+
image = options[:image] || '/assets/images/logo.png'
|
|
12
|
+
keywords = DEFAULT_KEYWORDS
|
|
11
13
|
current_url = request.url
|
|
12
14
|
|
|
13
15
|
# Let's prepare a nice set of defaults
|
|
14
16
|
defaults = {
|
|
15
|
-
site:
|
|
16
|
-
title:
|
|
17
|
-
image:
|
|
17
|
+
site: site_name,
|
|
18
|
+
title: title,
|
|
19
|
+
image: image,
|
|
18
20
|
description: description,
|
|
19
|
-
keywords:
|
|
21
|
+
keywords: keywords,
|
|
20
22
|
twitter: {
|
|
21
23
|
site_name: site_name,
|
|
22
24
|
site: site_name,
|
|
@@ -1,87 +1,84 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
class ArticlesController < ApplicationController
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
4
|
+
before_action :load_articles, except: [:destroy]
|
|
5
|
+
before_action :load_my_articles, only: [:my]
|
|
6
|
+
before_action :load_article, only: %i[destroy edit]
|
|
5
7
|
|
|
6
|
-
|
|
8
|
+
def index
|
|
7
9
|
# before_action
|
|
8
|
-
|
|
10
|
+
end
|
|
9
11
|
|
|
10
12
|
def my
|
|
11
13
|
# before_action
|
|
12
14
|
end
|
|
13
15
|
|
|
14
16
|
def show
|
|
15
|
-
@article
|
|
17
|
+
@article = Article.find(article_params)
|
|
16
18
|
@commentable = @article
|
|
17
|
-
@comments
|
|
18
|
-
@user
|
|
19
|
-
@show
|
|
20
|
-
@show
|
|
19
|
+
@comments = @commentable.comments.desc(:created_at).page(params[:page]).per(10)
|
|
20
|
+
@user = User.find(@article.user_id)
|
|
21
|
+
@show = {}
|
|
22
|
+
@show = { article: @article, comments: @comments, user: @user }
|
|
21
23
|
prepare_meta_tags(title: @article.title,
|
|
22
24
|
description: @article.text,
|
|
23
25
|
keywords: @article.keywords)
|
|
24
26
|
end
|
|
25
27
|
|
|
26
28
|
def edit
|
|
27
|
-
@page_title
|
|
29
|
+
@page_title = 'Edit Article'
|
|
28
30
|
end
|
|
29
31
|
|
|
30
32
|
def create
|
|
31
33
|
# Use Jinda $xvars
|
|
32
34
|
@article = Article.new(
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
title: $xvars['form_article']['title'],
|
|
36
|
+
text: $xvars['form_article']['text'],
|
|
37
|
+
keywords: $xvars['form_article']['keywords'],
|
|
38
|
+
body: $xvars['form_article']['body'],
|
|
39
|
+
user_id: $xvars['user_id']
|
|
40
|
+
)
|
|
38
41
|
@article.save!
|
|
39
42
|
end
|
|
40
43
|
|
|
41
44
|
def update
|
|
42
45
|
@article = Article.find(params[:id])
|
|
43
46
|
@article.update(
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
redirect_to :
|
|
47
|
+
title: params['article']['title'],
|
|
48
|
+
text: params['article']['text'],
|
|
49
|
+
keywords: params['article']['keywords'],
|
|
50
|
+
body: params['article']['body']
|
|
51
|
+
)
|
|
52
|
+
redirect_to action: 'show', article_id: @article.id
|
|
50
53
|
end
|
|
51
54
|
|
|
52
55
|
def j_update
|
|
53
56
|
# Use Jinda $xvars
|
|
54
|
-
|
|
55
|
-
@article
|
|
56
|
-
@article.update(title: $xvars[
|
|
57
|
-
text: $xvars[
|
|
58
|
-
keywords: $xvars[
|
|
59
|
-
body: $xvars[
|
|
60
|
-
)
|
|
57
|
+
@article_id = $xvars['select_article'] ? $xvars['select_article']['title'] : $xvars['p']['article_id']
|
|
58
|
+
@article = Article.find_by id: @article_id
|
|
59
|
+
@article.update(title: $xvars['edit_article']['article']['title'],
|
|
60
|
+
text: $xvars['edit_article']['article']['text'],
|
|
61
|
+
keywords: $xvars['edit_article']['article']['keywords'],
|
|
62
|
+
body: $xvars['edit_article']['article']['body'])
|
|
61
63
|
end
|
|
62
64
|
|
|
63
65
|
def destroy
|
|
64
|
-
# Use Rails
|
|
66
|
+
# Use Rails
|
|
65
67
|
# before_action
|
|
66
68
|
|
|
67
|
-
if current_admin? || current_ma_user == @article.user
|
|
68
|
-
@article.destroy
|
|
69
|
-
end
|
|
69
|
+
@article.destroy if current_admin? || current_ma_user == @article.user
|
|
70
70
|
|
|
71
|
-
|
|
72
|
-
|
|
71
|
+
(current_admin? ? 'index' : 'my')
|
|
72
|
+
redirect_to action: (current_admin? ? 'index' : 'my')
|
|
73
73
|
end
|
|
74
74
|
|
|
75
75
|
private
|
|
76
|
-
|
|
77
|
-
def current_admin?
|
|
78
|
-
if current_ma_user.role.upcase.split(',').include?("A")
|
|
79
|
-
return true
|
|
80
|
-
else
|
|
81
|
-
return false
|
|
82
|
-
end
|
|
83
|
-
end
|
|
84
76
|
|
|
77
|
+
def current_admin?
|
|
78
|
+
return true if current_ma_user.role.upcase.split(',').include?('A')
|
|
79
|
+
|
|
80
|
+
false
|
|
81
|
+
end
|
|
85
82
|
|
|
86
83
|
def load_articles
|
|
87
84
|
@articles = Article.desc(:created_at).page(params[:page]).per(10)
|
|
@@ -106,5 +103,4 @@ class ArticlesController < ApplicationController
|
|
|
106
103
|
def load_comments
|
|
107
104
|
@comments = @article.comments.find_all
|
|
108
105
|
end
|
|
109
|
-
|
|
110
106
|
end
|
|
@@ -1,15 +1,17 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
class CommentsController < ApplicationController
|
|
2
4
|
before_action :comment_params, only: [:create]
|
|
3
5
|
before_action :load_commmentable
|
|
4
6
|
|
|
5
7
|
def index
|
|
6
|
-
@comments = @commentable.comments
|
|
8
|
+
@comments = @commentable.comments
|
|
7
9
|
end
|
|
8
10
|
|
|
9
11
|
def create
|
|
10
12
|
@comment = @commentable.comments.new comment_params
|
|
11
13
|
@comment.save!
|
|
12
|
-
redirect_to [@commentable], notice:
|
|
14
|
+
redirect_to [@commentable], notice: 'Comment created'
|
|
13
15
|
end
|
|
14
16
|
|
|
15
17
|
private
|
|
@@ -19,13 +21,13 @@ class CommentsController < ApplicationController
|
|
|
19
21
|
# end
|
|
20
22
|
|
|
21
23
|
def comment_params
|
|
22
|
-
resource
|
|
23
|
-
commentable_id = "#{resource.singularize.to_sym}_id"
|
|
24
|
+
resource = request.path.split('/')[1]
|
|
25
|
+
commentable_id = "#{resource.singularize.to_sym}_id" # :article_id
|
|
24
26
|
params.require(:comment).permit(:body, :user_id, commentable_id.to_sym)
|
|
25
27
|
end
|
|
26
28
|
|
|
27
|
-
def load_commmentable
|
|
28
|
-
resource, id = request.path.split('/')[1,2]
|
|
29
|
-
@commentable = resource.singularize.classify.constantize.find(id)
|
|
30
|
-
end
|
|
29
|
+
def load_commmentable
|
|
30
|
+
resource, id = request.path.split('/')[1, 2]
|
|
31
|
+
@commentable = resource.singularize.classify.constantize.find(id)
|
|
32
|
+
end
|
|
31
33
|
end
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
class DocsController < ApplicationController
|
|
2
4
|
before_action :load_doc, only: [:destroy]
|
|
3
|
-
before_action :load_doc_form, only: [
|
|
4
|
-
|
|
5
|
+
before_action :load_doc_form, only: %i[doc_update edit my]
|
|
6
|
+
|
|
5
7
|
def index
|
|
6
8
|
@documents = Jinda::Doc.desc(:created_at).page(params[:page]).per(10)
|
|
7
|
-
end
|
|
8
|
-
|
|
9
|
-
def edit
|
|
10
9
|
end
|
|
11
10
|
|
|
11
|
+
def edit; end
|
|
12
|
+
|
|
12
13
|
def my
|
|
13
|
-
@page_title
|
|
14
|
+
@page_title = 'My Document'
|
|
14
15
|
end
|
|
15
16
|
|
|
16
17
|
def doc_update
|
|
17
18
|
# Instead of creaete, Doc record was created in form, when upload file
|
|
18
|
-
|
|
19
|
-
if Jinda::Doc.
|
|
20
|
-
@doc = Jinda::Doc.where(:
|
|
21
|
-
@doc.update(description: $xvars[
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
)
|
|
19
|
+
|
|
20
|
+
if Jinda::Doc.exists?(runseq_id: $xvars['doc_form']['runseq_id'])
|
|
21
|
+
@doc = Jinda::Doc.where(runseq_id: $xvars['doc_form']['runseq_id']).first
|
|
22
|
+
@doc.update(description: $xvars['doc_form']['description'],
|
|
23
|
+
category: $xvars['doc_form']['jinda_doc']['category'],
|
|
24
|
+
keywords: $xvars['doc_form']['keywords'],
|
|
25
|
+
user_id: $xvars['user_id'])
|
|
26
26
|
else
|
|
27
27
|
# create here
|
|
28
28
|
# Todo
|
|
@@ -30,19 +30,17 @@ class DocsController < ApplicationController
|
|
|
30
30
|
end
|
|
31
31
|
|
|
32
32
|
def destroy
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
current_ma_user = User.where(:
|
|
33
|
+
# duplicated from jinda_controller
|
|
34
|
+
# Expected to use in jinda_controller
|
|
35
|
+
current_ma_user = User.where(auth_token: cookies[:auth_token]).first if cookies[:auth_token]
|
|
36
36
|
|
|
37
|
-
if Rails.env.test? #Temp solution until fix test of current_ma_user
|
|
38
|
-
current_ma_user = $xvars[
|
|
39
|
-
#current_ma_user = @doc.user
|
|
37
|
+
if Rails.env.test? # Temp solution until fix test of current_ma_user
|
|
38
|
+
current_ma_user = $xvars['current_ma_user']
|
|
39
|
+
# current_ma_user = @doc.user
|
|
40
40
|
end
|
|
41
41
|
|
|
42
|
-
if current_ma_user.role.upcase.split(',').include?(
|
|
43
|
-
|
|
44
|
-
end
|
|
45
|
-
redirect_to :action=>'my'
|
|
42
|
+
@doc.destroy if current_ma_user.role.upcase.split(',').include?('A') || current_ma_user == @doc.user
|
|
43
|
+
redirect_to action: 'my'
|
|
46
44
|
end
|
|
47
45
|
|
|
48
46
|
private
|
|
@@ -50,6 +48,7 @@ class DocsController < ApplicationController
|
|
|
50
48
|
def load_doc_form
|
|
51
49
|
@docs = Jinda::Doc.all.desc(:created_at).page(params[:page]).per(10)
|
|
52
50
|
end
|
|
51
|
+
|
|
53
52
|
def load_doc
|
|
54
53
|
@doc = Jinda::Doc.find(params[:doc_id])
|
|
55
54
|
end
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
class MindmapEditorController < ApplicationController
|
|
4
|
+
before_action :require_admin
|
|
5
|
+
|
|
6
|
+
def edit
|
|
7
|
+
mindmap_path = Rails.root.join('app/jinda/index.mm')
|
|
8
|
+
|
|
9
|
+
if File.exist?(mindmap_path)
|
|
10
|
+
xml_content = File.read(mindmap_path)
|
|
11
|
+
@mind_data = MindmapConverter.xml_to_jsmind(xml_content)
|
|
12
|
+
else
|
|
13
|
+
@mind_data = MindmapConverter.send(:default_mindmap)
|
|
14
|
+
flash.now[:warning] = 'Mindmap file not found. Showing default template.'
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def save
|
|
19
|
+
json_data = params[:mind_data]
|
|
20
|
+
|
|
21
|
+
if json_data.blank?
|
|
22
|
+
render json: { success: false, error: 'No data received' }, status: :bad_request
|
|
23
|
+
return
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
begin
|
|
27
|
+
# Convert JSON to XML
|
|
28
|
+
xml_content = MindmapConverter.jsmind_to_xml(json_data)
|
|
29
|
+
|
|
30
|
+
# Backup current file
|
|
31
|
+
mindmap_path = Rails.root.join('app/jinda/index.mm')
|
|
32
|
+
if File.exist?(mindmap_path)
|
|
33
|
+
backup_path = Rails.root.join("app/jinda/index.mm.backup.#{Time.now.to_i}")
|
|
34
|
+
FileUtils.cp(mindmap_path, backup_path)
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
# Save new file
|
|
38
|
+
File.write(mindmap_path, xml_content)
|
|
39
|
+
|
|
40
|
+
# Run rake jinda:update
|
|
41
|
+
output = `cd #{Rails.root} && rake jinda:update 2>&1`
|
|
42
|
+
|
|
43
|
+
render json: {
|
|
44
|
+
success: true,
|
|
45
|
+
message: 'Mindmap saved and updated successfully',
|
|
46
|
+
output: output
|
|
47
|
+
}
|
|
48
|
+
rescue StandardError => e
|
|
49
|
+
render json: {
|
|
50
|
+
success: false,
|
|
51
|
+
error: e.message,
|
|
52
|
+
backtrace: e.backtrace&.first(5)
|
|
53
|
+
}, status: :internal_server_error
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
private
|
|
58
|
+
|
|
59
|
+
def require_admin
|
|
60
|
+
# In development, allow access if user is logged in
|
|
61
|
+
# In production, require admin role (A)
|
|
62
|
+
if Rails.env.development?
|
|
63
|
+
unless current_ma_user
|
|
64
|
+
flash[:error] = 'Please login first.'
|
|
65
|
+
redirect_to root_path
|
|
66
|
+
end
|
|
67
|
+
else
|
|
68
|
+
unless current_ma_user && current_ma_user.role&.upcase&.split(',')&.include?('A')
|
|
69
|
+
flash[:error] = 'Access denied. Admin role required.'
|
|
70
|
+
redirect_to root_path
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
end
|