jinda_mind 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE.txt +21 -0
- data/README.md +4 -0
- data/Rakefile +3 -0
- data/app/assets/config/manifest.js +4 -0
- data/app/assets/images/4dcity-old.ico +0 -0
- data/app/assets/images/4dcity.ico +0 -0
- data/app/assets/images/account.png +0 -0
- data/app/assets/images/add.png +0 -0
- data/app/assets/images/ajax-loader-circle.gif +0 -0
- data/app/assets/images/ajax-loader.gif +0 -0
- data/app/assets/images/anchor.png +0 -0
- data/app/assets/images/application_double.png +0 -0
- data/app/assets/images/application_form_edit.png +0 -0
- data/app/assets/images/arrow_left.png +0 -0
- data/app/assets/images/arrow_right.png +0 -0
- data/app/assets/images/arrow_turn_left.png +0 -0
- data/app/assets/images/arrow_turn_right.png +0 -0
- data/app/assets/images/calendar.png +0 -0
- data/app/assets/images/cancel.png +0 -0
- data/app/assets/images/chart_bar.png +0 -0
- data/app/assets/images/clock.png +0 -0
- data/app/assets/images/cog.png +0 -0
- data/app/assets/images/control_fastforward.png +0 -0
- data/app/assets/images/control_play.png +0 -0
- data/app/assets/images/cross.png +0 -0
- data/app/assets/images/delete.png +0 -0
- data/app/assets/images/external-link.png +0 -0
- data/app/assets/images/facebook-continue-button.png +0 -0
- data/app/assets/images/facebooksmall.png +0 -0
- data/app/assets/images/favicon.ico +0 -0
- data/app/assets/images/freemind(mm).png +0 -0
- data/app/assets/images/google-continue-button.png +0 -0
- data/app/assets/images/help.png +0 -0
- data/app/assets/images/highway-menu.png +0 -0
- data/app/assets/images/highway.png +0 -0
- data/app/assets/images/house.png +0 -0
- data/app/assets/images/icons-18-black.png +0 -0
- data/app/assets/images/icons-18-white.png +0 -0
- data/app/assets/images/icons-36-black.png +0 -0
- data/app/assets/images/icons-36-white.png +0 -0
- data/app/assets/images/logo.png +0 -0
- data/app/assets/images/logo_jinda.png +0 -0
- data/app/assets/images/logout.png +0 -0
- data/app/assets/images/new.gif +0 -0
- data/app/assets/images/new.png +0 -0
- data/app/assets/images/page.png +0 -0
- data/app/assets/images/page_attach.png +0 -0
- data/app/assets/images/page_green.png +0 -0
- data/app/assets/images/page_output.png +0 -0
- data/app/assets/images/page_pdf.png +0 -0
- data/app/assets/images/pencil.png +0 -0
- data/app/assets/images/printer.png +0 -0
- data/app/assets/images/refresh.png +0 -0
- data/app/assets/images/report.png +0 -0
- data/app/assets/images/rssmall.png +0 -0
- data/app/assets/images/tick.png +0 -0
- data/app/assets/images/twittersmall.png +0 -0
- data/app/assets/images/user.png +0 -0
- data/app/assets/images/user_admin_gear.png +0 -0
- data/app/assets/images/view_code.png +0 -0
- data/app/assets/javascripts/application.js-org +24 -0
- data/app/assets/javascripts/cable.js +13 -0
- data/app/assets/javascripts/disable_enter_key.js +10 -0
- data/app/assets/javascripts/iscroll-wrapper.js +32 -0
- data/app/assets/javascripts/iscroll.js +1084 -0
- data/app/assets/javascripts/jinda.js +14 -0
- data/app/assets/javascripts/jinda_jqm.js +24 -0
- data/app/assets/javascripts/jquery.mobile-1.2.1.js +9272 -0
- data/app/assets/javascripts/jquery.mobile.datebox.js +1778 -0
- data/app/assets/javascripts/jquery.mobile.splitview.js +695 -0
- data/app/assets/stylesheets/app.scss +90 -0
- data/app/assets/stylesheets/articles.scss +94 -0
- data/app/assets/stylesheets/fonts/sarabun.eot +0 -0
- data/app/assets/stylesheets/fonts/sarabun.ttf +0 -0
- data/app/assets/stylesheets/fonts/sarabun.woff +0 -0
- data/app/assets/stylesheets/fonts/sarabun_bold.ttf +0 -0
- data/app/assets/stylesheets/fonts/sarabun_bolditalic.ttf +0 -0
- data/app/assets/stylesheets/fonts/sarabun_italic.ttf +0 -0
- data/app/assets/stylesheets/fonts/thsarabunnew-webfont.eot +0 -0
- data/app/assets/stylesheets/fonts/thsarabunnew-webfont.ttf +0 -0
- data/app/assets/stylesheets/fonts/thsarabunnew-webfont.woff +0 -0
- data/app/assets/stylesheets/fonts/thsarabunnew.css +47 -0
- data/app/assets/stylesheets/fonts/thsarabunnew_bold-webfont.eot +0 -0
- data/app/assets/stylesheets/fonts/thsarabunnew_bold-webfont.ttf +0 -0
- data/app/assets/stylesheets/fonts/thsarabunnew_bold-webfont.woff +0 -0
- data/app/assets/stylesheets/fonts/thsarabunnew_bolditalic-webfont.eot +0 -0
- data/app/assets/stylesheets/fonts/thsarabunnew_bolditalic-webfont.ttf +0 -0
- data/app/assets/stylesheets/fonts/thsarabunnew_bolditalic-webfont.woff +0 -0
- data/app/assets/stylesheets/fonts/thsarabunnew_italic-webfont.eot +0 -0
- data/app/assets/stylesheets/fonts/thsarabunnew_italic-webfont.ttf +0 -0
- data/app/assets/stylesheets/fonts/thsarabunnew_italic-webfont.woff +0 -0
- data/app/assets/stylesheets/images/ajax-loader.gif +0 -0
- data/app/assets/stylesheets/images/button_black.png +0 -0
- data/app/assets/stylesheets/images/button_blue.png +0 -0
- data/app/assets/stylesheets/images/button_red.png +0 -0
- data/app/assets/stylesheets/images/gears.png +0 -0
- data/app/assets/stylesheets/images/icons-18-black.png +0 -0
- data/app/assets/stylesheets/images/icons-18-white.png +0 -0
- data/app/assets/stylesheets/images/icons-36-black.png +0 -0
- data/app/assets/stylesheets/images/icons-36-white.png +0 -0
- data/app/assets/stylesheets/images/indicator.gif +0 -0
- data/app/assets/stylesheets/jinda.scss +185 -0
- data/app/assets/stylesheets/jinda_jqm.css.scss +32 -0
- data/app/assets/stylesheets/jquery.mobile-1.2.1.css +2339 -0
- data/app/assets/stylesheets/jquery.mobile.datebox.css +65 -0
- data/app/assets/stylesheets/jquery.mobile.grids.collapsible.css +122 -0
- data/app/assets/stylesheets/jquery.mobile.splitview.css +128 -0
- data/app/assets/stylesheets/kul-4.2.css +1516 -0
- data/app/assets/stylesheets/kul-4.2.min.css +11 -0
- data/app/assets/stylesheets/modules.scss +84 -0
- data/app/assets/stylesheets/sarabun.css +37 -0
- data/app/assets/stylesheets/social.scss +133 -0
- data/app/controllers/concerns/jinda_general_concern.rb +179 -0
- data/app/controllers/concerns/jinda_run_concern.rb +368 -0
- data/app/controllers/jinda_controller.rb +66 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/config/mongoid.yml +19 -0
- data/config/routes.rb +44 -0
- data/lib/generators/jinda/USAGE +2 -0
- data/lib/generators/jinda/config_generator.rb +102 -0
- data/lib/generators/jinda/install_generator.rb +269 -0
- data/lib/generators/jinda/installer/gems_install.rb +132 -0
- data/lib/generators/jinda/installer/test.rb +6 -0
- data/lib/generators/jinda/minitest_generator.rb +30 -0
- data/lib/generators/jinda/rspec_generator.rb +30 -0
- data/lib/generators/jinda/templates/Dockerfile +26 -0
- data/lib/generators/jinda/templates/README.md +173 -0
- data/lib/generators/jinda/templates/app/assets/config/manifest.js +4 -0
- data/lib/generators/jinda/templates/app/assets/javascripts/application.js +15 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/application.css.scss +15 -0
- data/lib/generators/jinda/templates/app/channels/application_cable/channel.rb +4 -0
- data/lib/generators/jinda/templates/app/channels/application_cable/connection.rb +4 -0
- data/lib/generators/jinda/templates/app/controllers/api/v1/notes_controller.rb +81 -0
- data/lib/generators/jinda/templates/app/controllers/jinda_org/admins_controller.rb +6 -0
- data/lib/generators/jinda/templates/app/controllers/jinda_org/application_controller.rb +41 -0
- data/lib/generators/jinda/templates/app/controllers/jinda_org/articles_controller.rb +110 -0
- data/lib/generators/jinda/templates/app/controllers/jinda_org/comments_controller.rb +31 -0
- data/lib/generators/jinda/templates/app/controllers/jinda_org/docs_controller.rb +56 -0
- data/lib/generators/jinda/templates/app/controllers/jinda_org/identities_controller.rb +5 -0
- data/lib/generators/jinda/templates/app/controllers/jinda_org/notes_controller.rb +84 -0
- data/lib/generators/jinda/templates/app/controllers/jinda_org/password_resets.rb +28 -0
- data/lib/generators/jinda/templates/app/controllers/jinda_org/password_resets_controller.rb +34 -0
- data/lib/generators/jinda/templates/app/controllers/jinda_org/sessions_controller.rb +44 -0
- data/lib/generators/jinda/templates/app/controllers/jinda_org/sitemap_controller.rb +12 -0
- data/lib/generators/jinda/templates/app/controllers/jinda_org/users_controller.rb +35 -0
- data/lib/generators/jinda/templates/app/helpers/admins_helper.rb +2 -0
- data/lib/generators/jinda/templates/app/helpers/application_helper.rb +33 -0
- 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/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 +486 -0
- data/lib/generators/jinda/templates/app/jinda/template/index.mm +366 -0
- data/lib/generators/jinda/templates/app/jinda/template/linkview.haml +21 -0
- data/lib/generators/jinda/templates/app/jinda/template/view.html.erb +34 -0
- data/lib/generators/jinda/templates/app/mailers/application_mailer.rb +4 -0
- data/lib/generators/jinda/templates/app/mailers/jinda_mailer.rb +7 -0
- data/lib/generators/jinda/templates/app/mailers/note_mailer.rb +10 -0
- data/lib/generators/jinda/templates/app/mailers/user_mailer.rb +15 -0
- data/lib/generators/jinda/templates/app/models/address.rb +14 -0
- data/lib/generators/jinda/templates/app/models/article.rb +14 -0
- data/lib/generators/jinda/templates/app/models/comment.rb +14 -0
- data/lib/generators/jinda/templates/app/models/identity.rb +18 -0
- data/lib/generators/jinda/templates/app/models/jinda/doc.rb +36 -0
- data/lib/generators/jinda/templates/app/models/jinda/module.rb +11 -0
- data/lib/generators/jinda/templates/app/models/jinda/notice.rb +14 -0
- data/lib/generators/jinda/templates/app/models/jinda/role.rb +8 -0
- data/lib/generators/jinda/templates/app/models/jinda/runseq.rb +24 -0
- data/lib/generators/jinda/templates/app/models/jinda/service.rb +17 -0
- data/lib/generators/jinda/templates/app/models/jinda/xmain.rb +38 -0
- data/lib/generators/jinda/templates/app/models/note.rb +22 -0
- data/lib/generators/jinda/templates/app/models/param.rb +41 -0
- data/lib/generators/jinda/templates/app/models/person.rb +14 -0
- data/lib/generators/jinda/templates/app/models/user.rb +66 -0
- data/lib/generators/jinda/templates/app/views/adminbsbs/content.haml +241 -0
- data/lib/generators/jinda/templates/app/views/admins/edit_role/edit_role.html.erb +7 -0
- data/lib/generators/jinda/templates/app/views/admins/edit_role/select_user.html.erb +4 -0
- data/lib/generators/jinda/templates/app/views/api/v1/note.haml +0 -0
- data/lib/generators/jinda/templates/app/views/articles/_report.haml +35 -0
- data/lib/generators/jinda/templates/app/views/articles/edit.haml +23 -0
- data/lib/generators/jinda/templates/app/views/articles/edit_article/edit_article.html.erb +15 -0
- data/lib/generators/jinda/templates/app/views/articles/edit_article/select_article.html.erb +12 -0
- data/lib/generators/jinda/templates/app/views/articles/index.haml +5 -0
- data/lib/generators/jinda/templates/app/views/articles/my.haml +5 -0
- data/lib/generators/jinda/templates/app/views/articles/new_article/form_article.html.erb +16 -0
- data/lib/generators/jinda/templates/app/views/articles/show.html.haml +58 -0
- data/lib/generators/jinda/templates/app/views/articles/xedit_article/edit_article.html.erb +13 -0
- data/lib/generators/jinda/templates/app/views/ctrs/vfolder1/viewfile1.html.erb +23 -0
- data/lib/generators/jinda/templates/app/views/ctrs/vfolder1/viewfile2.html.erb +23 -0
- data/lib/generators/jinda/templates/app/views/ctrs/vfolder2/viewfile2.html.erb +23 -0
- data/lib/generators/jinda/templates/app/views/custom/_adsense.haml +6 -0
- data/lib/generators/jinda/templates/app/views/docs/doc_edit/doc_edit.html.erb +21 -0
- data/lib/generators/jinda/templates/app/views/docs/doc_edit/doc_select.html.erb +14 -0
- data/lib/generators/jinda/templates/app/views/docs/doc_new/doc_form.html.erb +32 -0
- data/lib/generators/jinda/templates/app/views/docs/doc_new/doc_form.md +36 -0
- data/lib/generators/jinda/templates/app/views/docs/doc_xedit/doc_edit.html.erb +21 -0
- data/lib/generators/jinda/templates/app/views/docs/edit/select_note.html.erb +14 -0
- data/lib/generators/jinda/templates/app/views/docs/index.haml +21 -0
- data/lib/generators/jinda/templates/app/views/docs/my.haml +27 -0
- data/lib/generators/jinda/templates/app/views/identities/new.html.haml +32 -0
- data/lib/generators/jinda/templates/app/views/jinda/_activity.md +10 -0
- data/lib/generators/jinda/templates/app/views/jinda/_menu.haml +27 -0
- data/lib/generators/jinda/templates/app/views/jinda/_menu_mm.haml +44 -0
- data/lib/generators/jinda/templates/app/views/jinda/_model.md +5 -0
- data/lib/generators/jinda/templates/app/views/jinda/_modul.md +9 -0
- data/lib/generators/jinda/templates/app/views/jinda/_pending_home.haml +5 -0
- data/lib/generators/jinda/templates/app/views/jinda/_pending_page.haml +24 -0
- data/lib/generators/jinda/templates/app/views/jinda/_service.md +24 -0
- data/lib/generators/jinda/templates/app/views/jinda/_static.haml +13 -0
- data/lib/generators/jinda/templates/app/views/jinda/doc-thai.md +37 -0
- data/lib/generators/jinda/templates/app/views/jinda/doc.md +36 -0
- data/lib/generators/jinda/templates/app/views/jinda/error_logs.haml +22 -0
- data/lib/generators/jinda/templates/app/views/jinda/feed.rss.builder +27 -0
- data/lib/generators/jinda/templates/app/views/jinda/help.haml +20 -0
- data/lib/generators/jinda/templates/app/views/jinda/index.html.haml +53 -0
- data/lib/generators/jinda/templates/app/views/jinda/logs.haml +22 -0
- data/lib/generators/jinda/templates/app/views/jinda/notice_logs.haml +18 -0
- data/lib/generators/jinda/templates/app/views/jinda/pending.haml +1 -0
- data/lib/generators/jinda/templates/app/views/jinda/run_form.haml +42 -0
- data/lib/generators/jinda/templates/app/views/jinda/run_output.haml +38 -0
- data/lib/generators/jinda/templates/app/views/jinda/search.haml +20 -0
- data/lib/generators/jinda/templates/app/views/jinda/status.haml +61 -0
- data/lib/generators/jinda/templates/app/views/jinda_mailer/gmail.html.erb +9 -0
- data/lib/generators/jinda/templates/app/views/layouts/_head.html.erb +10 -0
- data/lib/generators/jinda/templates/app/views/layouts/_meta_tag.html.erb +19 -0
- data/lib/generators/jinda/templates/app/views/layouts/application.haml +4 -0
- data/lib/generators/jinda/templates/app/views/layouts/bsb/_footer.haml +7 -0
- data/lib/generators/jinda/templates/app/views/layouts/bsb/_header.haml +147 -0
- data/lib/generators/jinda/templates/app/views/layouts/bsb/_menu.haml +47 -0
- data/lib/generators/jinda/templates/app/views/layouts/bsb/_menu_mm.haml +34 -0
- data/lib/generators/jinda/templates/app/views/layouts/bsb/_rightbar.haml +123 -0
- data/lib/generators/jinda/templates/app/views/layouts/bsb/_sidebar.haml +155 -0
- data/lib/generators/jinda/templates/app/views/layouts/bsb/application.haml-bsb +47 -0
- data/lib/generators/jinda/templates/app/views/layouts/gmail.html.erb +9 -0
- data/lib/generators/jinda/templates/app/views/layouts/jqm/_full.haml +33 -0
- data/lib/generators/jinda/templates/app/views/layouts/jqm/_page.haml +16 -0
- data/lib/generators/jinda/templates/app/views/layouts/jqm/application.haml-jqm +4 -0
- data/lib/generators/jinda/templates/app/views/layouts/mailer.html.erb +13 -0
- data/lib/generators/jinda/templates/app/views/layouts/mailer.html.haml +3 -0
- data/lib/generators/jinda/templates/app/views/layouts/mailer.text.erb +1 -0
- data/lib/generators/jinda/templates/app/views/layouts/mailer.text.haml +1 -0
- data/lib/generators/jinda/templates/app/views/layouts/mobile.html.erb +13 -0
- data/lib/generators/jinda/templates/app/views/layouts/mobilejq.html.erb +31 -0
- data/lib/generators/jinda/templates/app/views/layouts/print.html.erb +22 -0
- data/lib/generators/jinda/templates/app/views/layouts/utf8.html.erb +22 -0
- data/lib/generators/jinda/templates/app/views/note_mailer/gmail.html.haml +7 -0
- data/lib/generators/jinda/templates/app/views/note_mailer/gmail.text.haml +8 -0
- data/lib/generators/jinda/templates/app/views/notes/delete/select_note.html.erb +14 -0
- data/lib/generators/jinda/templates/app/views/notes/edit/edit_note.html.erb +10 -0
- data/lib/generators/jinda/templates/app/views/notes/edit/select_note.html.erb +14 -0
- data/lib/generators/jinda/templates/app/views/notes/index.haml +71 -0
- data/lib/generators/jinda/templates/app/views/notes/mail/display_mail.html.erb +20 -0
- data/lib/generators/jinda/templates/app/views/notes/mail/select_note.html.erb +19 -0
- data/lib/generators/jinda/templates/app/views/notes/mail/show.html.haml +13 -0
- data/lib/generators/jinda/templates/app/views/notes/my.haml +21 -0
- data/lib/generators/jinda/templates/app/views/notes/new/new_note.html.erb +13 -0
- data/lib/generators/jinda/templates/app/views/notes/show.haml +10 -0
- data/lib/generators/jinda/templates/app/views/notes/xedit/edit_note.html.erb +10 -0
- data/lib/generators/jinda/templates/app/views/password_resets/edit.html.erb +21 -0
- data/lib/generators/jinda/templates/app/views/password_resets/new.html.haml +11 -0
- data/lib/generators/jinda/templates/app/views/sessions/new.html.haml +22 -0
- data/lib/generators/jinda/templates/app/views/sitemap/index.xml.haml +10 -0
- data/lib/generators/jinda/templates/app/views/user_mailer/password_reset.html.haml +3 -0
- data/lib/generators/jinda/templates/app/views/user_mailer/password_reset.text.erb +3 -0
- data/lib/generators/jinda/templates/app/views/user_mailer/password_reset.text.haml +3 -0
- data/lib/generators/jinda/templates/app/views/users/index.haml +13 -0
- data/lib/generators/jinda/templates/app/views/users/pwd/enter.html.erb +6 -0
- data/lib/generators/jinda/templates/app/views/users/user/enter_user.html.erb +10 -0
- data/lib/generators/jinda/templates/config/cloudinary.yml +9 -0
- data/lib/generators/jinda/templates/config/initializers/fix_mongoid_generator.rb-org +14 -0
- data/lib/generators/jinda/templates/config/mongoid.yml-docker +182 -0
- data/lib/generators/jinda/templates/config/mongoid.yml-localhost +182 -0
- data/lib/generators/jinda/templates/db/seeds.rb +6 -0
- data/lib/generators/jinda/templates/docker-compose.yml +17 -0
- data/lib/generators/jinda/templates/dot/dot.env +2 -0
- data/lib/generators/jinda/templates/dotrspec +3 -0
- data/lib/generators/jinda/templates/entrypoint.sh +13 -0
- data/lib/generators/jinda/templates/jinda.yml +10 -0
- data/lib/generators/jinda/templates/public/404.html +67 -0
- data/lib/generators/jinda/templates/public/422.html +67 -0
- data/lib/generators/jinda/templates/public/500.html +66 -0
- data/lib/generators/jinda/templates/public/assets/images/logo.png +0 -0
- data/lib/generators/jinda/templates/public/favicon.ico +0 -0
- data/lib/generators/jinda/templates/public/robots.txt +3 -0
- data/lib/generators/jinda/templates/spec/controllers/api/v1_get_index_spec.rb +23 -0
- data/lib/generators/jinda/templates/spec/controllers/api/v1_get_my_spec.rb +14 -0
- data/lib/generators/jinda/templates/spec/controllers/api/v1_post_spec.rb +19 -0
- data/lib/generators/jinda/templates/spec/controllers/sessions_controller_spec.rb +98 -0
- data/lib/generators/jinda/templates/spec/features/userlogins_spec.rb +23 -0
- data/lib/generators/jinda/templates/spec/mailers/note_spec.rb +24 -0
- data/lib/generators/jinda/templates/spec/mailers/previews/note_preview.rb +9 -0
- data/lib/generators/jinda/templates/spec/models/note_spec.rb +41 -0
- data/lib/generators/jinda/templates/spec/models/user_spec.rb +12 -0
- data/lib/generators/jinda/templates/spec/rails_helper.rb +42 -0
- data/lib/generators/jinda/templates/spec/spec_helper.rb +80 -0
- data/lib/generators/jinda/templates/spec/support/authentication_helper.rb +20 -0
- data/lib/generators/jinda/templates/spec/support/databasecleaner.rb +13 -0
- data/lib/generators/jinda/templates/spec/support/factory_bot.rb +12 -0
- data/lib/generators/jinda/templates/spec/support/omniauth_macros.rb +38 -0
- data/lib/generators/jinda/templates/spec/support/request_spec_helper.rb +8 -0
- data/lib/generators/jinda/templates/spec/views/articles/_article.html.erb_spec.rbx +14 -0
- data/lib/generators/jinda/templates/test/application_system_test_case.rb +5 -0
- data/lib/generators/jinda/templates/test/integration/jinda_routes_test.rb +42 -0
- data/lib/generators/jinda/templates/test/test_helper.rb +6 -0
- data/lib/jinda/date_helpers.rb +109 -0
- data/lib/jinda/gem_helpers.rb +11 -0
- data/lib/jinda/gen_class.rb +13 -0
- data/lib/jinda/gen_freemind.rb +33 -0
- data/lib/jinda/gen_helpers.rb +141 -0
- data/lib/jinda/gen_models.rb +137 -0
- data/lib/jinda/gen_modules.rb +17 -0
- data/lib/jinda/gen_runseq.rb +71 -0
- data/lib/jinda/gen_services.rb +90 -0
- data/lib/jinda/gen_xmain.rb +38 -0
- data/lib/jinda/get_app.rb +34 -0
- data/lib/jinda/helpers.rb +26 -0
- data/lib/jinda/init_vars.rb +36 -0
- data/lib/jinda/railtie.rb +18 -0
- data/lib/jinda/rake_views.rb +63 -0
- data/lib/jinda/refresh.rb +67 -0
- data/lib/jinda/themes.rb +175 -0
- data/lib/jinda.rb +7 -0
- data/lib/jquery.validate.js +1293 -0
- data/lib/tasks/jinda.rake +42 -0
- data/test/dummy/Rakefile +6 -0
- data/test/dummy/app/assets/config/manifest.js +3 -0
- data/test/dummy/app/assets/stylesheets/application.css +15 -0
- data/test/dummy/app/channels/application_cable/channel.rb +4 -0
- data/test/dummy/app/channels/application_cable/connection.rb +4 -0
- data/test/dummy/app/controllers/application_controller.rb +2 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/javascript/packs/application.js +15 -0
- data/test/dummy/app/jobs/application_job.rb +7 -0
- data/test/dummy/app/mailers/application_mailer.rb +4 -0
- data/test/dummy/app/models/application_record.rb +3 -0
- data/test/dummy/app/views/layouts/application.html.erb +14 -0
- data/test/dummy/app/views/layouts/mailer.html.erb +13 -0
- data/test/dummy/app/views/layouts/mailer.text.erb +1 -0
- data/test/dummy/bin/rails +4 -0
- data/test/dummy/bin/rake +4 -0
- data/test/dummy/bin/setup +33 -0
- data/test/dummy/config/application.rb +19 -0
- data/test/dummy/config/boot.rb +5 -0
- data/test/dummy/config/cable.yml +10 -0
- data/test/dummy/config/database.yml +25 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +62 -0
- data/test/dummy/config/environments/production.rb +112 -0
- data/test/dummy/config/environments/test.rb +49 -0
- data/test/dummy/config/initializers/application_controller_renderer.rb +8 -0
- data/test/dummy/config/initializers/assets.rb +12 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/content_security_policy.rb +28 -0
- data/test/dummy/config/initializers/cookies_serializer.rb +5 -0
- data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/test/dummy/config/initializers/inflections.rb +16 -0
- data/test/dummy/config/initializers/mime_types.rb +4 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +33 -0
- data/test/dummy/config/puma.rb +38 -0
- data/test/dummy/config/routes.rb +3 -0
- data/test/dummy/config/spring.rb +6 -0
- data/test/dummy/config/storage.yml +34 -0
- data/test/dummy/config.ru +5 -0
- data/test/dummy/db/development.sqlite3 +0 -0
- data/test/dummy/log/development.log +8 -0
- data/test/dummy/public/404.html +67 -0
- data/test/dummy/public/422.html +67 -0
- data/test/dummy/public/500.html +66 -0
- data/test/dummy/public/apple-touch-icon-precomposed.png +0 -0
- data/test/dummy/public/apple-touch-icon.png +0 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/tmp/development_secret.txt +1 -0
- data/test/integration/navigation_test.rb +7 -0
- data/test/jinda_test.rb +7 -0
- data/test/test_helper.rb +19 -0
- metadata +466 -0
@@ -0,0 +1,17 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
class Jinda::Service
|
3
|
+
include Mongoid::Document
|
4
|
+
field :uid, :type => String
|
5
|
+
field :module_code, :type => String
|
6
|
+
field :code, :type => String
|
7
|
+
field :name, :type => String
|
8
|
+
field :xml, :type => String
|
9
|
+
field :role, :type => String
|
10
|
+
field :rule, :type => String
|
11
|
+
field :seq, :type => Integer
|
12
|
+
field :list, :type => Boolean
|
13
|
+
field :ma_secured, :type => Boolean
|
14
|
+
field :confirm, :type => Boolean
|
15
|
+
|
16
|
+
belongs_to :module, :class_name => "Jinda::Module"
|
17
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
class Jinda::Xmain
|
3
|
+
include Mongoid::Document
|
4
|
+
field :xid, :type => String
|
5
|
+
# Jinda begin
|
6
|
+
include Mongoid::Timestamps
|
7
|
+
belongs_to :service, :class_name => "Jinda::Service"
|
8
|
+
field :start, :type => DateTime
|
9
|
+
field :stop, :type => DateTime
|
10
|
+
field :name, :type => String
|
11
|
+
field :ip, :type => String
|
12
|
+
field :status, :type => String
|
13
|
+
belongs_to :user, :class_name => "User"
|
14
|
+
field :xvars, :type => Hash
|
15
|
+
field :current_runseq, :type => String
|
16
|
+
# Jinda end
|
17
|
+
|
18
|
+
has_many :runseqs, :class_name => "Jinda::Runseq"
|
19
|
+
has_many :docs, :class_name => "Jinda::Doc"
|
20
|
+
before_create :assign_xid
|
21
|
+
|
22
|
+
|
23
|
+
# number of xmains on the specified date
|
24
|
+
def self.get(xid)
|
25
|
+
find_by(xid:xid)
|
26
|
+
end
|
27
|
+
def assign_xid
|
28
|
+
self.xid = Param.gen(:xid)
|
29
|
+
end
|
30
|
+
def self.number(d)
|
31
|
+
all(:conditions=>['DATE(created_at) =?', d.to_date]).count
|
32
|
+
end
|
33
|
+
def self.search(q, page, per_page=10)
|
34
|
+
paginate :per_page=>per_page, :page => page, :conditions =>
|
35
|
+
["LOWER(xvars) LIKE ?", "%#{q}%" ],
|
36
|
+
:order=>'created_at DESC'
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
class Note
|
3
|
+
include Mongoid::Document
|
4
|
+
# jinda begin
|
5
|
+
include Mongoid::Timestamps
|
6
|
+
include Mongoid::Attributes::Dynamic
|
7
|
+
field :title, :type => String
|
8
|
+
field :body, :type => String
|
9
|
+
belongs_to :user
|
10
|
+
before_validation :ensure_title_has_a_value
|
11
|
+
validates :title, length: { maximum: (MAX_TITLE_LENGTH = 30), message: "Must be less than 30 characters" }, presence: true
|
12
|
+
validates :body, length: { maximum: (MAX_BODY_LENGTH = 1000), message: "Must be less than 1000 characters"}
|
13
|
+
private
|
14
|
+
def ensure_title_has_a_value
|
15
|
+
if title.blank?
|
16
|
+
self.title = body[0..(MAX_TITLE_LENGTH-1)] unless body.blank?
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
|
21
|
+
# jinda end
|
22
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
class Param
|
3
|
+
include Mongoid::Document
|
4
|
+
validates_uniqueness_of :code
|
5
|
+
# jinda begin
|
6
|
+
include Mongoid::Timestamps
|
7
|
+
field :code, :type => String
|
8
|
+
field :pid, :type => String
|
9
|
+
field :yearly, :type => Boolean
|
10
|
+
field :description, :type => String
|
11
|
+
# jinda end
|
12
|
+
|
13
|
+
def self.get(code)
|
14
|
+
p= where(:code=> code).first
|
15
|
+
p.pid
|
16
|
+
end
|
17
|
+
def self.set(code, pid)
|
18
|
+
p= where(:code=> code).first
|
19
|
+
p.pid = pid.to_s
|
20
|
+
p.save
|
21
|
+
end
|
22
|
+
def self.gen(code)
|
23
|
+
p= where(:code=> code).first
|
24
|
+
unless p
|
25
|
+
p= self.create! :code => code, :pid => '0', :yearly => false, :description => 'auto'
|
26
|
+
end
|
27
|
+
if p.yearly
|
28
|
+
num, year = p.pid.split('/')
|
29
|
+
y_now = (Time.now.year.to_i) -1957
|
30
|
+
if year.to_i==y_now
|
31
|
+
p.pid = "#{num.to_i+1}/#{y_now}"
|
32
|
+
else # new year, restart counter
|
33
|
+
p.pid = "1/#{y_now}"
|
34
|
+
end
|
35
|
+
else
|
36
|
+
p.pid = (p.pid.to_i+1).to_s
|
37
|
+
end
|
38
|
+
p.save
|
39
|
+
return p.pid
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
class Person
|
3
|
+
include Mongoid::Document
|
4
|
+
# jinda begin
|
5
|
+
include Mongoid::Timestamps
|
6
|
+
field :fname, :type => String
|
7
|
+
field :lname, :type => String
|
8
|
+
field :sex, :type => Integer
|
9
|
+
belongs_to :address
|
10
|
+
field :dob, :type => Date
|
11
|
+
field :phone, :type => String
|
12
|
+
field :photo, :type => String
|
13
|
+
# jinda end
|
14
|
+
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
class User
|
2
|
+
include Mongoid::Document
|
3
|
+
# https://docs.mongodb.com/mongoid/master/tutorials/mongoid-indexes/
|
4
|
+
index({ code: 1 }, { unique: true, name: "code_index" })
|
5
|
+
before_create {generate_token(:auth_token)}
|
6
|
+
field :provider, :type => String
|
7
|
+
field :uid, :type => String
|
8
|
+
field :code, :type => String
|
9
|
+
field :email, :type => String
|
10
|
+
field :role, :type => String
|
11
|
+
field :user, :type => String
|
12
|
+
field :auth_token, :type => String
|
13
|
+
field :password_reset_token, :type => String
|
14
|
+
field :password_reset_sent_at,:type => DateTime
|
15
|
+
field :image, :type => String
|
16
|
+
|
17
|
+
belongs_to :identity, :polymorphic => true, :optional => true
|
18
|
+
has_many :xmains, :class_name => "Jinda::Xmain"
|
19
|
+
validates :code,
|
20
|
+
presence: true,
|
21
|
+
uniqueness: true
|
22
|
+
|
23
|
+
## Add to create forgot password
|
24
|
+
def generate_token(column)
|
25
|
+
begin
|
26
|
+
self[column] = SecureRandom.urlsafe_base64
|
27
|
+
end
|
28
|
+
#end while User.exists?(column => self[column])
|
29
|
+
end
|
30
|
+
|
31
|
+
def has_role(role1)
|
32
|
+
return role.upcase.split(',').include?(role1.upcase)
|
33
|
+
end
|
34
|
+
|
35
|
+
def self.from_omniauth(auth)
|
36
|
+
# Rails now no longer support slice
|
37
|
+
# where(auth.slice(:uid, :provider, :email)).first_or_create do |user|
|
38
|
+
where(uid: auth.uid, provider: auth.provider, email: auth.info.email).first_or_create do |user|
|
39
|
+
case auth.provider
|
40
|
+
when 'identity'
|
41
|
+
identity = Identity.find auth.uid
|
42
|
+
user.code = identity.code
|
43
|
+
user.email = identity.email
|
44
|
+
else
|
45
|
+
user.email = auth.info.email
|
46
|
+
user.uid = auth.uid
|
47
|
+
user.provider = auth.provider
|
48
|
+
user.code = auth.info.name
|
49
|
+
user.role = "M"
|
50
|
+
user.image = auth.info.image
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
def ma_secured?
|
56
|
+
role.upcase.split(',').include?(ma_secured_ROLE)
|
57
|
+
end
|
58
|
+
|
59
|
+
def send_password_reset
|
60
|
+
generate_token(:password_reset_token)
|
61
|
+
self.password_reset_sent_at = Time.zone.now
|
62
|
+
save!
|
63
|
+
UserMailer.password_reset(self).deliver
|
64
|
+
end
|
65
|
+
|
66
|
+
end
|
@@ -0,0 +1,241 @@
|
|
1
|
+
%section.content
|
2
|
+
.container-fluid
|
3
|
+
.block-header
|
4
|
+
%h2 DASHBOARD
|
5
|
+
/ Widgets
|
6
|
+
.row.clearfix
|
7
|
+
.col-lg-3.col-md-3.col-sm-6.col-xs-12
|
8
|
+
.info-box.bg-pink.hover-expand-effect
|
9
|
+
.icon
|
10
|
+
%i.material-icons playlist_add_check
|
11
|
+
.content
|
12
|
+
.text NEW TASKS
|
13
|
+
.number.count-to{"data-fresh-interval" => "20", "data-from" => "0", "data-speed" => "15", "data-to" => "125"}
|
14
|
+
.col-lg-3.col-md-3.col-sm-6.col-xs-12
|
15
|
+
.info-box.bg-cyan.hover-expand-effect
|
16
|
+
.icon
|
17
|
+
%i.material-icons help
|
18
|
+
.content
|
19
|
+
.text NEW TICKETS
|
20
|
+
.number.count-to{"data-fresh-interval" => "20", "data-from" => "0", "data-speed" => "1000", "data-to" => "257"}
|
21
|
+
.col-lg-3.col-md-3.col-sm-6.col-xs-12
|
22
|
+
.info-box.bg-light-green.hover-expand-effect
|
23
|
+
.icon
|
24
|
+
%i.material-icons forum
|
25
|
+
.content
|
26
|
+
.text NEW COMMENTS
|
27
|
+
.number.count-to{"data-fresh-interval" => "20", "data-from" => "0", "data-speed" => "1000", "data-to" => "243"}
|
28
|
+
.col-lg-3.col-md-3.col-sm-6.col-xs-12
|
29
|
+
.info-box.bg-orange.hover-expand-effect
|
30
|
+
.icon
|
31
|
+
%i.material-icons person_add
|
32
|
+
.content
|
33
|
+
.text NEW VISITORS
|
34
|
+
.number.count-to{"data-fresh-interval" => "20", "data-from" => "0", "data-speed" => "1000", "data-to" => "1225"}
|
35
|
+
/ #END# Widgets
|
36
|
+
/ CPU Usage
|
37
|
+
.row.clearfix
|
38
|
+
.col-xs-12.col-sm-12.col-md-12.col-lg-12
|
39
|
+
.card
|
40
|
+
.header
|
41
|
+
.row.clearfix
|
42
|
+
.col-xs-12.col-sm-6
|
43
|
+
%h2 CPU USAGE (%)
|
44
|
+
.col-xs-12.col-sm-6.align-right
|
45
|
+
.switch.panel-switch-btn
|
46
|
+
%span.m-r-10.font-12 REAL TIME
|
47
|
+
%label
|
48
|
+
OFF
|
49
|
+
%input#realtime{:checked => "checked", :type => "checkbox"}/
|
50
|
+
= succeed "ON" do
|
51
|
+
%span.lever.switch-col-cyan
|
52
|
+
%ul.header-dropdown.m-r--5
|
53
|
+
%li.dropdown
|
54
|
+
%a.dropdown-toggle{"aria-expanded" => "false", "aria-haspopup" => "true", "data-toggle" => "dropdown", :href => "javascript:void(0);", :role => "button"}
|
55
|
+
%i.material-icons more_vert
|
56
|
+
%ul.dropdown-menu.pull-right
|
57
|
+
%li
|
58
|
+
%a{:href => "javascript:void(0);"} Action
|
59
|
+
%li
|
60
|
+
%a{:href => "javascript:void(0);"} Another action
|
61
|
+
%li
|
62
|
+
%a{:href => "javascript:void(0);"} Something else here
|
63
|
+
.body
|
64
|
+
#real_time_chart.dashboard-flot-chart
|
65
|
+
/ #END# CPU Usage
|
66
|
+
.row.clearfix
|
67
|
+
/ Visitors
|
68
|
+
.col-xs-12.col-sm-12.col-md-4.col-lg-4
|
69
|
+
.card
|
70
|
+
.body.bg-pink
|
71
|
+
.sparkline{"data-fill-color" => "rgba(0, 188, 212, 0)", "data-height" => "92px", "data-highlight-line-color" => "#fff", "data-highlight-spot-color" => "rgb(233, 30, 99)", "data-line-color" => "rgba(255,255,255,0.7)", "data-line-width" => "2", "data-max-spot-color" => "rgb(255,255,255)", "data-min-spot-color" => "rgb(255,255,255)", "data-offset" => "90", "data-spot-color" => "rgb(255,255,255)", "data-spot-radius" => "4", "data-type" => "line", "data-width" => "100%"}
|
72
|
+
12,10,9,6,5,6,10,5,7,5,12,13,7,12,11
|
73
|
+
%ul.dashboard-stat-list
|
74
|
+
%li
|
75
|
+
TODAY
|
76
|
+
%span.pull-right
|
77
|
+
%b 1 200
|
78
|
+
%small USERS
|
79
|
+
%li
|
80
|
+
YESTERDAY
|
81
|
+
%span.pull-right
|
82
|
+
%b 3 872
|
83
|
+
%small USERS
|
84
|
+
%li
|
85
|
+
LAST WEEK
|
86
|
+
%span.pull-right
|
87
|
+
%b 26 582
|
88
|
+
%small USERS
|
89
|
+
/ #END# Visitors
|
90
|
+
/ Latest Social Trends
|
91
|
+
.col-xs-12.col-sm-12.col-md-4.col-lg-4
|
92
|
+
.card
|
93
|
+
.body.bg-cyan
|
94
|
+
.m-b--35.font-bold LATEST SOCIAL TRENDS
|
95
|
+
%ul.dashboard-stat-list
|
96
|
+
%li
|
97
|
+
\#socialtrends
|
98
|
+
%span.pull-right
|
99
|
+
%i.material-icons trending_up
|
100
|
+
%li
|
101
|
+
\#materialdesign
|
102
|
+
%span.pull-right
|
103
|
+
%i.material-icons trending_up
|
104
|
+
%li #adminbsb
|
105
|
+
%li #freeadmintemplate
|
106
|
+
%li #bootstraptemplate
|
107
|
+
%li
|
108
|
+
\#freehtmltemplate
|
109
|
+
%span.pull-right
|
110
|
+
%i.material-icons trending_up
|
111
|
+
/ #END# Latest Social Trends
|
112
|
+
/ Answered Tickets
|
113
|
+
.col-xs-12.col-sm-12.col-md-4.col-lg-4
|
114
|
+
.card
|
115
|
+
.body.bg-teal
|
116
|
+
.font-bold.m-b--35 ANSWERED TICKETS
|
117
|
+
%ul.dashboard-stat-list
|
118
|
+
%li
|
119
|
+
TODAY
|
120
|
+
%span.pull-right
|
121
|
+
%b 12
|
122
|
+
%small TICKETS
|
123
|
+
%li
|
124
|
+
YESTERDAY
|
125
|
+
%span.pull-right
|
126
|
+
%b 15
|
127
|
+
%small TICKETS
|
128
|
+
%li
|
129
|
+
LAST WEEK
|
130
|
+
%span.pull-right
|
131
|
+
%b 90
|
132
|
+
%small TICKETS
|
133
|
+
%li
|
134
|
+
LAST MONTH
|
135
|
+
%span.pull-right
|
136
|
+
%b 342
|
137
|
+
%small TICKETS
|
138
|
+
%li
|
139
|
+
LAST YEAR
|
140
|
+
%span.pull-right
|
141
|
+
%b 4 225
|
142
|
+
%small TICKETS
|
143
|
+
%li
|
144
|
+
ALL
|
145
|
+
%span.pull-right
|
146
|
+
%b 8 752
|
147
|
+
%small TICKETS
|
148
|
+
/ #END# Answered Tickets
|
149
|
+
.row.clearfix
|
150
|
+
/ Task Info
|
151
|
+
.col-xs-12.col-sm-12.col-md-8.col-lg-8
|
152
|
+
.card
|
153
|
+
.header
|
154
|
+
%h2 TASK INFOS
|
155
|
+
%ul.header-dropdown.m-r--5
|
156
|
+
%li.dropdown
|
157
|
+
%a.dropdown-toggle{"aria-expanded" => "false", "aria-haspopup" => "true", "data-toggle" => "dropdown", :href => "javascript:void(0);", :role => "button"}
|
158
|
+
%i.material-icons more_vert
|
159
|
+
%ul.dropdown-menu.pull-right
|
160
|
+
%li
|
161
|
+
%a{:href => "javascript:void(0);"} Action
|
162
|
+
%li
|
163
|
+
%a{:href => "javascript:void(0);"} Another action
|
164
|
+
%li
|
165
|
+
%a{:href => "javascript:void(0);"} Something else here
|
166
|
+
.body
|
167
|
+
.table-responsive
|
168
|
+
%table.table.table-hover.dashboard-task-infos
|
169
|
+
%thead
|
170
|
+
%tr
|
171
|
+
%th #
|
172
|
+
%th Task
|
173
|
+
%th Status
|
174
|
+
%th Manager
|
175
|
+
%th Progress
|
176
|
+
%tbody
|
177
|
+
%tr
|
178
|
+
%td 1
|
179
|
+
%td Task A
|
180
|
+
%td
|
181
|
+
%span.label.bg-green Doing
|
182
|
+
%td John Doe
|
183
|
+
%td
|
184
|
+
.progress
|
185
|
+
.progress-bar.bg-green{"aria-valuemax" => "100", "aria-valuemin" => "0", "aria-valuenow" => "62", :role => "progressbar", :style => "width: 62%"}
|
186
|
+
%tr
|
187
|
+
%td 2
|
188
|
+
%td Task B
|
189
|
+
%td
|
190
|
+
%span.label.bg-blue To Do
|
191
|
+
%td John Doe
|
192
|
+
%td
|
193
|
+
.progress
|
194
|
+
.progress-bar.bg-blue{"aria-valuemax" => "100", "aria-valuemin" => "0", "aria-valuenow" => "40", :role => "progressbar", :style => "width: 40%"}
|
195
|
+
%tr
|
196
|
+
%td 3
|
197
|
+
%td Task C
|
198
|
+
%td
|
199
|
+
%span.label.bg-light-blue On Hold
|
200
|
+
%td John Doe
|
201
|
+
%td
|
202
|
+
.progress
|
203
|
+
.progress-bar.bg-light-blue{"aria-valuemax" => "100", "aria-valuemin" => "0", "aria-valuenow" => "72", :role => "progressbar", :style => "width: 72%"}
|
204
|
+
%tr
|
205
|
+
%td 4
|
206
|
+
%td Task D
|
207
|
+
%td
|
208
|
+
%span.label.bg-orange Wait Approvel
|
209
|
+
%td John Doe
|
210
|
+
%td
|
211
|
+
.progress
|
212
|
+
.progress-bar.bg-orange{"aria-valuemax" => "100", "aria-valuemin" => "0", "aria-valuenow" => "95", :role => "progressbar", :style => "width: 95%"}
|
213
|
+
%tr
|
214
|
+
%td 5
|
215
|
+
%td Task E
|
216
|
+
%td
|
217
|
+
%span.label.bg-red Suspended
|
218
|
+
%td John Doe
|
219
|
+
%td
|
220
|
+
.progress
|
221
|
+
.progress-bar.bg-red{"aria-valuemax" => "100", "aria-valuemin" => "0", "aria-valuenow" => "87", :role => "progressbar", :style => "width: 87%"}
|
222
|
+
/ #END# Task Info
|
223
|
+
/ Browser Usage
|
224
|
+
.col-xs-12.col-sm-12.col-md-4.col-lg-4
|
225
|
+
.card
|
226
|
+
.header
|
227
|
+
%h2 BROWSER USAGE
|
228
|
+
%ul.header-dropdown.m-r--5
|
229
|
+
%li.dropdown
|
230
|
+
%a.dropdown-toggle{"aria-expanded" => "false", "aria-haspopup" => "true", "data-toggle" => "dropdown", :href => "javascript:void(0);", :role => "button"}
|
231
|
+
%i.material-icons more_vert
|
232
|
+
%ul.dropdown-menu.pull-right
|
233
|
+
%li
|
234
|
+
%a{:href => "javascript:void(0);"} Action
|
235
|
+
%li
|
236
|
+
%a{:href => "javascript:void(0);"} Another action
|
237
|
+
%li
|
238
|
+
%a{:href => "javascript:void(0);"} Something else here
|
239
|
+
.body
|
240
|
+
#donut_chart.dashboard-donut-chart
|
241
|
+
/ #END# Browser Usage
|
File without changes
|
@@ -0,0 +1,35 @@
|
|
1
|
+
.box.box-info
|
2
|
+
.box-header.with-border
|
3
|
+
.box-tools.pull-right
|
4
|
+
%button.btn.btn-box-tool{"data-widget" => "collapse", :type => "button"}
|
5
|
+
%i.fa.fa-minus
|
6
|
+
%button.btn.btn-box-tool{"data-widget" => "remove", :type => "button"}
|
7
|
+
%i.fa.fa-times
|
8
|
+
/ /.box-header
|
9
|
+
.box-body
|
10
|
+
.table-responsive
|
11
|
+
%table.table.no-margin
|
12
|
+
%thead
|
13
|
+
%tr
|
14
|
+
- unless current_ma_user.nil?
|
15
|
+
- if current_ma_user.role.include?"A"
|
16
|
+
%th Author
|
17
|
+
%th Title
|
18
|
+
%th Description
|
19
|
+
%th Created
|
20
|
+
%th Updated
|
21
|
+
%th Delete
|
22
|
+
%th Edit
|
23
|
+
- report.each do |article|
|
24
|
+
- user = User.find(article.user_id)
|
25
|
+
%tr
|
26
|
+
-# if current_ma_user.role.include?"A"
|
27
|
+
- unless current_ma_user.nil?
|
28
|
+
- if current_ma_user.role.include?"A"
|
29
|
+
%td= user.code
|
30
|
+
%td= link_to article.title, :controller=>"articles", :action=>"show", :article_id => article.id
|
31
|
+
%td= article.text.html_safe
|
32
|
+
%td= article.created_at.strftime('%m/%d/%Y')
|
33
|
+
%td= article.updated_at.strftime('%m/%d/%Y')
|
34
|
+
%td(align='center')= link_to image_tag('delete.png', style:'border:none; float:none;'), {controller: "articles", action: "destroy", article_id: article.id}, data: { confirm: "Please Confirm" }
|
35
|
+
%td(align='center')= link_to image_tag('pencil.png', style:'border:none; float:none;'), {controller: "jinda", action: "init", s: 'articles:xedit_article', article_id: article.id}, data: { confirm: "Please Confirm" }
|
@@ -0,0 +1,23 @@
|
|
1
|
+
- @title= "Edit"
|
2
|
+
- @page_title = 'Edit'
|
3
|
+
.container
|
4
|
+
%div.row::before
|
5
|
+
%div.col-md-12
|
6
|
+
%h2.display-3.mt-5.pt-5
|
7
|
+
= @article.title
|
8
|
+
%hr
|
9
|
+
= @article.text
|
10
|
+
%h4.display-5
|
11
|
+
= @article.body.html_safe
|
12
|
+
|
13
|
+
.container
|
14
|
+
.card
|
15
|
+
= form_for @article, :html => {:class => "form-horizontal center"} , :article_id => @article.id do |f|
|
16
|
+
.form-group
|
17
|
+
= f.text_field :title, class: "form-control", :required => true
|
18
|
+
.form-group
|
19
|
+
= f.text_field :text, class: "form-control", :required => true
|
20
|
+
.form-group
|
21
|
+
= f.text_area :body, rows: 10, class: "form-control"
|
22
|
+
.form-group
|
23
|
+
= f.submit "Submit", class: "btn btn-default btn-success"
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<%
|
2
|
+
article = Article.find_by :id=> $xvars["select_article"]["title"]
|
3
|
+
%>
|
4
|
+
<div class ="module-table">
|
5
|
+
<%= fields_for article do |f| %>
|
6
|
+
<%= f.label :title, "Title" %>
|
7
|
+
<%= f.text_field :title %>
|
8
|
+
<%= f.label :text, "Text" %>
|
9
|
+
<%= f.text_field :text %>
|
10
|
+
<%= f.label :text, "Keywords" %>
|
11
|
+
<%= f.text_field :keywords %>
|
12
|
+
<%= f.label :body, "Body Content" %>
|
13
|
+
<%= f.text_area :body %>
|
14
|
+
<% end %>
|
15
|
+
</div>
|
@@ -0,0 +1,12 @@
|
|
1
|
+
<%
|
2
|
+
if current_ma_user.role.upcase.split(',').include?("A")
|
3
|
+
article = Article.all.desc(:created_at)
|
4
|
+
else
|
5
|
+
article = Article.where(user: current_ma_user).desc(:created_at)
|
6
|
+
end
|
7
|
+
%>
|
8
|
+
<div class="field" data-role="fieldcontain">
|
9
|
+
<%= label_tag :title, 'Article title' %>
|
10
|
+
<%= select_tag :title, options_from_collection_for_select(article, :id, :title), "data-native-menu"=>"false" %>
|
11
|
+
</div>
|
12
|
+
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<%- @title= 'New Article' %>
|
2
|
+
<%
|
3
|
+
article = @article
|
4
|
+
%>
|
5
|
+
<div class ="module-table">
|
6
|
+
<%= fields_for article do |f| %>
|
7
|
+
<%= f.label :title, "Title" %>
|
8
|
+
<%= f.text_field :title, :required => true %>
|
9
|
+
<%= f.label :text, "Description" %>
|
10
|
+
<%= f.text_field :text, :required => true %>
|
11
|
+
<%= f.label :text, "Keywords" %>
|
12
|
+
<%= f.text_field :keywords %>
|
13
|
+
<%= f.label :body, "Body Content" %>
|
14
|
+
<%= f.text_area :body, :required => true %>
|
15
|
+
<% end %>
|
16
|
+
</div>
|
@@ -0,0 +1,58 @@
|
|
1
|
+
- title @show[:article][:title]
|
2
|
+
- description @show[:article][:text]
|
3
|
+
- keywords @show[:article][:keywords]
|
4
|
+
.container
|
5
|
+
%div.row::before
|
6
|
+
%div.col-md-12
|
7
|
+
.row-description
|
8
|
+
%h2.display-3.mt-5.pt-5
|
9
|
+
= @show[:article][:title]
|
10
|
+
= link_to image_tag('pencil.png', style:'border:none; float:right;', id: 'article_pen'), {controller: "articles", action: "edit", article_id: @article.id}, data: { confirm: "Please Confirm" }
|
11
|
+
%div.font-weight-light
|
12
|
+
by
|
13
|
+
%img.img-circle{:alt => "User Image", src: @show[:user][:image] }/
|
14
|
+
%div.font-weight-light
|
15
|
+
= @show[:user][:code]
|
16
|
+
%div.font-weight-light
|
17
|
+
= @show[:article][:created_at]
|
18
|
+
%hr
|
19
|
+
= @show[:article][:text]
|
20
|
+
%h4.row-body
|
21
|
+
= @show[:article][:body].html_safe
|
22
|
+
%hr
|
23
|
+
- @show[:comments].each do |comment|
|
24
|
+
%div#article-comment.ui-corner-all
|
25
|
+
.col-md-12
|
26
|
+
%div.small-box.bg-white.text-info
|
27
|
+
%div.inner
|
28
|
+
%div.font-weight-light
|
29
|
+
- user_image = get_user_image(comment.user_id)
|
30
|
+
%img.comment-user-image{:alt => "User Image", src: user_image}/
|
31
|
+
|
32
|
+
%div.font-weight-light
|
33
|
+
Author:
|
34
|
+
%b= comment.name if comment.name
|
35
|
+
%div.right-date
|
36
|
+
12/12/2021
|
37
|
+
%div#comment-body
|
38
|
+
%i= comment.body
|
39
|
+
|
40
|
+
- if login?
|
41
|
+
%hr
|
42
|
+
%h4.col-md-12
|
43
|
+
Add a comment:
|
44
|
+
= form_with(model: [@show[:article], Comment.new], local: true) do |f|
|
45
|
+
.form-group
|
46
|
+
= f.hidden_field :article_id, :value => @show[:article][:id]
|
47
|
+
.form-group
|
48
|
+
= f.label :body, "Comment"
|
49
|
+
.form-group
|
50
|
+
= f.text_area :body, rows: 5, class: "form-control"
|
51
|
+
.form-group
|
52
|
+
= f.hidden_field :user_id, :value => current_ma_user.id
|
53
|
+
.form-group
|
54
|
+
= f.hidden_field :name, :value => current_ma_user.code
|
55
|
+
.form-group
|
56
|
+
= f.hidden_field :image, :value => current_ma_user.image
|
57
|
+
.form-group
|
58
|
+
= f.submit "Submit", class: "btn btn-default btn-success"
|
@@ -0,0 +1,13 @@
|
|
1
|
+
<%
|
2
|
+
article = Article.find_by :id=> $xvars["p"]["article_id"]
|
3
|
+
%>
|
4
|
+
<%= fields_for article do |f| %>
|
5
|
+
<%= f.label :title, "Title" %>
|
6
|
+
<%= f.text_field :title %>
|
7
|
+
<%= f.label :text, "Description" %>
|
8
|
+
<%= f.text_field :text %>
|
9
|
+
<%= f.label :text, "Keywords" %>
|
10
|
+
<%= f.text_field :keywords %>
|
11
|
+
<%= f.label :body, "Body Content" %>
|
12
|
+
<%= f.text_area :body %>
|
13
|
+
<% end %>
|