jinda-5 0.4.5
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 +177 -0
- data/Rakefile +3 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/lib/generators/jinda/USAGE +2 -0
- data/lib/generators/jinda/config_generator.rb +108 -0
- data/lib/generators/jinda/install_generator.rb +206 -0
- data/lib/generators/jinda/minitest_generator.rb +30 -0
- data/lib/generators/jinda/rspec_generator.rb +30 -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/images/4dcity-old.ico +0 -0
- data/lib/generators/jinda/templates/app/assets/images/4dcity.ico +0 -0
- data/lib/generators/jinda/templates/app/assets/images/account.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/add.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/ajax-loader-circle.gif +0 -0
- data/lib/generators/jinda/templates/app/assets/images/ajax-loader.gif +0 -0
- data/lib/generators/jinda/templates/app/assets/images/anchor.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/application_double.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/application_form_edit.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/arrow_left.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/arrow_right.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/arrow_turn_left.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/arrow_turn_right.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/calendar.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/cancel.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/chart_bar.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/clock.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/cog.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/control_fastforward.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/control_play.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/cross.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/delete.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/external-link.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/facebook-continue-button.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/facebooksmall.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/favicon.ico +0 -0
- data/lib/generators/jinda/templates/app/assets/images/freemind(mm).png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/google-continue-button.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/help.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/highway-menu.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/highway.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/house.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/icons-18-black.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/icons-18-white.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/icons-36-black.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/icons-36-white.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/logo.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/logo_jinda.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/logout.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/new.gif +0 -0
- data/lib/generators/jinda/templates/app/assets/images/new.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/page.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/page_attach.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/page_green.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/page_output.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/page_pdf.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/pencil.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/printer.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/refresh.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/report.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/rssmall.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/tick.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/twittersmall.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/user.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/user_admin_gear.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/view_code.png +0 -0
- data/lib/generators/jinda/templates/app/assets/javascripts/application.js +24 -0
- data/lib/generators/jinda/templates/app/assets/javascripts/application.js-jqm +28 -0
- data/lib/generators/jinda/templates/app/assets/javascripts/cable.js +13 -0
- data/lib/generators/jinda/templates/app/assets/javascripts/disable_enter_key.js-org +10 -0
- data/lib/generators/jinda/templates/app/assets/javascripts/iscroll-wrapper.js +32 -0
- data/lib/generators/jinda/templates/app/assets/javascripts/iscroll.js +1084 -0
- data/lib/generators/jinda/templates/app/assets/javascripts/jinda.js +14 -0
- data/lib/generators/jinda/templates/app/assets/javascripts/jquery.mobile-1.2.1.js +9272 -0
- data/lib/generators/jinda/templates/app/assets/javascripts/jquery.mobile.datebox.js +1778 -0
- data/lib/generators/jinda/templates/app/assets/javascripts/jquery.mobile.splitview.js +695 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/app.scss +84 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/application.css.scss +34 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/articles.scss +84 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/sarabun.eot +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/sarabun.ttf +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/sarabun.woff +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/sarabun_bold.ttf +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/sarabun_bolditalic.ttf +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/sarabun_italic.ttf +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/thsarabunnew-webfont.eot +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/thsarabunnew-webfont.ttf +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/thsarabunnew-webfont.woff +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/thsarabunnew.css +47 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/thsarabunnew_bold-webfont.eot +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/thsarabunnew_bold-webfont.ttf +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/thsarabunnew_bold-webfont.woff +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/thsarabunnew_bolditalic-webfont.eot +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/thsarabunnew_bolditalic-webfont.ttf +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/thsarabunnew_bolditalic-webfont.woff +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/thsarabunnew_italic-webfont.eot +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/thsarabunnew_italic-webfont.ttf +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/thsarabunnew_italic-webfont.woff +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/images/ajax-loader.gif +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/images/button_black.png +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/images/button_blue.png +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/images/button_red.png +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/images/icons-18-black.png +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/images/icons-18-white.png +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/images/icons-36-black.png +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/images/icons-36-white.png +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/images/indicator.gif +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/jinda.css +52 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/jquery.mobile-1.2.1.css +2339 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/jquery.mobile.datebox.css +65 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/jquery.mobile.grids.collapsible.css +122 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/jquery.mobile.splitview.css +128 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/kul-4.2.css +1516 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/kul-4.2.min.css +11 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/sarabun.css +37 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/social.scss +133 -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/ctrs_controller.rb-gem-test +2 -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 +42 -0
- data/lib/generators/jinda/templates/app/controllers/jinda_org/articles_controller.rb +81 -0
- data/lib/generators/jinda/templates/app/controllers/jinda_org/comments_controller.rb +17 -0
- data/lib/generators/jinda/templates/app/controllers/jinda_org/devs_controller.rb +2 -0
- data/lib/generators/jinda/templates/app/controllers/jinda_org/identities_controller.rb +5 -0
- data/lib/generators/jinda/templates/app/controllers/jinda_org/jinda_controller.rb +579 -0
- data/lib/generators/jinda/templates/app/controllers/jinda_org/notes_controller.rb +86 -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 +43 -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 +34 -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 +306 -0
- data/lib/generators/jinda/templates/app/jinda/template/linkview.haml +21 -0
- data/lib/generators/jinda/templates/app/jinda/template/view.html.erb +27 -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/ckeditor/asset.rb +5 -0
- data/lib/generators/jinda/templates/app/models/ckeditor/attachment_file.rb +13 -0
- data/lib/generators/jinda/templates/app/models/ckeditor/picture.rb +14 -0
- data/lib/generators/jinda/templates/app/models/comment.rb +11 -0
- data/lib/generators/jinda/templates/app/models/identity.rb +18 -0
- data/lib/generators/jinda/templates/app/models/jinda/doc.rb +22 -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/edit.haml +12 -0
- data/lib/generators/jinda/templates/app/views/articles/edit_article/edit_article.html.erb +13 -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 +23 -0
- data/lib/generators/jinda/templates/app/views/articles/my.haml +20 -0
- data/lib/generators/jinda/templates/app/views/articles/new_article/form_article.html.erb +14 -0
- data/lib/generators/jinda/templates/app/views/articles/show.html.haml +24 -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/identities/new.html.erb +32 -0
- data/lib/generators/jinda/templates/app/views/jinda/_activity.md +10 -0
- data/lib/generators/jinda/templates/app/views/jinda/_menu.haml +26 -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 +43 -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 +13 -0
- data/lib/generators/jinda/templates/app/views/layouts/_meta_tags.html.erb +5 -0
- data/lib/generators/jinda/templates/app/views/layouts/_metatag.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 +41 -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/new.html.erb +7 -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.erb +7 -0
- data/lib/generators/jinda/templates/app/views/sessions/new.html.erb +20 -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 +8 -0
- data/lib/generators/jinda/templates/config/cloudinary.yml +9 -0
- data/lib/generators/jinda/templates/db/seeds.rb +6 -0
- data/lib/generators/jinda/templates/dot/dot.env +2 -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 +96 -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 +44 -0
- data/lib/generators/jinda/templates/spec/spec_helper.rb +77 -0
- data/lib/generators/jinda/templates/spec/support/authentication_helper.rb +20 -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.rb +6 -0
- data/lib/jinda/ template/view.html.erb +25 -0
- data/lib/jinda/app/jinda/template/view.html.erb +27 -0
- data/lib/jinda/gemhelpers.rb +50 -0
- data/lib/jinda/helpers.rb +853 -0
- data/lib/jinda/railtie.rb +18 -0
- data/lib/jinda/version.rb +3 -0
- data/lib/tasks/jinda.rake +33 -0
- metadata +405 -0
@@ -0,0 +1,21 @@
|
|
1
|
+
- @title= "My Articles"
|
2
|
+
%p
|
3
|
+
- @page_title = 'All Articlces'
|
4
|
+
= paginate @articles
|
5
|
+
%table#article-table
|
6
|
+
%tr
|
7
|
+
%th Title
|
8
|
+
%th Description
|
9
|
+
%th Created
|
10
|
+
%th Updated
|
11
|
+
%th Delete
|
12
|
+
%th Edit
|
13
|
+
- @articles.each do |article|
|
14
|
+
%tr
|
15
|
+
%td= link_to article.title, :controller=>"articles", :action=>"show", :id=>article.id
|
16
|
+
%td= article.text.html_safe
|
17
|
+
%td= article.created_at.strftime('%m/%d/%Y')
|
18
|
+
%td= article.updated_at.strftime('%m/%d/%Y')
|
19
|
+
%td(align='center')= link_to image_tag('delete.png', style:'border:none; float:none;'), "#", :onclick=>"if (confirm('Please Confirm')) {location.hash='/articles/destroy/#{article.id}';}"
|
20
|
+
%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" }
|
21
|
+
|
@@ -0,0 +1,27 @@
|
|
1
|
+
<%
|
2
|
+
doc = Jinda::Doc.new :issue_on=> Date.today, :process_at => Time.now
|
3
|
+
%>
|
4
|
+
<%= fields_for doc do |f| %>
|
5
|
+
|
6
|
+
<%= f.select :x, [["SELECTION 1", 1], ["SELECTION 2", 2], ["SELECTION 3", 3]] %>
|
7
|
+
|
8
|
+
|
9
|
+
<%= f.label :x, "Reference number" %>
|
10
|
+
<%= f.text_field :x %>
|
11
|
+
<!--div>
|
12
|
+
<%= f.label :w, "Confidential" , :class=>"ui-input-text" %>
|
13
|
+
<%= f.select :w, [['normal',0],['secret',1],['top secret',2]],{},"data-native-menu"=>"false" %>
|
14
|
+
</div-->
|
15
|
+
<%= f.label :issue_on, "Dated" %>
|
16
|
+
<%= f.date_field :issue_on, "blackDays"=>[0,6] %>
|
17
|
+
<%= f.label :y, "Summary" %>
|
18
|
+
<%= f.text_area :summary, :cols=>50, :rows=>6 %>
|
19
|
+
<%= f.label :dscan, "Attached document" %>
|
20
|
+
<%= f.file_field :dscan %>
|
21
|
+
<% end %>
|
22
|
+
<%= label_tag :z, "Ungroup field" %>
|
23
|
+
<%= text_field_tag :z %>
|
24
|
+
<!--div>
|
25
|
+
<%= label_tag :yes, "Logic field", :class=>"ui-input-text" %>
|
26
|
+
<%= select_tag :yes, options_for_select([['Yes', 'y'], ['No', 'n']],'y'), 'data-role'=>"slider" %>
|
27
|
+
</div-->
|
@@ -0,0 +1,15 @@
|
|
1
|
+
class UserMailer < ApplicationMailer
|
2
|
+
|
3
|
+
# Subject can be set in your I18n file at config/locales/en.yml
|
4
|
+
# with the following lookup:
|
5
|
+
#
|
6
|
+
# en.user_mailer.password_reset.subject
|
7
|
+
#
|
8
|
+
def password_reset(user)
|
9
|
+
|
10
|
+
@greeting = "Hi"
|
11
|
+
|
12
|
+
@user = user
|
13
|
+
mail :to => user.email, :subject => "Password Reset" end
|
14
|
+
end
|
15
|
+
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
class Address
|
3
|
+
include Mongoid::Document
|
4
|
+
# jinda begin
|
5
|
+
include Mongoid::Timestamps
|
6
|
+
field :address_street, :type => String
|
7
|
+
field :city, :type => String
|
8
|
+
field :state, :type => String
|
9
|
+
field :zip, :type => String
|
10
|
+
field :phone, :type => String
|
11
|
+
field :lat, :type => Float
|
12
|
+
field :lng, :type => Float
|
13
|
+
# jinda end
|
14
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
class Article
|
3
|
+
include Mongoid::Document
|
4
|
+
# jinda begin
|
5
|
+
include Mongoid::Timestamps
|
6
|
+
field :title, :type => String
|
7
|
+
field :text, :type => String
|
8
|
+
belongs_to :user, :class_name => "User"
|
9
|
+
has_many :comments
|
10
|
+
validates :title, :text, :user_id, presence: true
|
11
|
+
field :body, :type => String
|
12
|
+
field :keywords, :type => String
|
13
|
+
# jinda end
|
14
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
class Ckeditor::AttachmentFile < Ckeditor::Asset
|
2
|
+
has_mongoid_attached_file :data,
|
3
|
+
url: '/ckeditor_assets/attachments/:id/:filename',
|
4
|
+
path: ':rails_root/public/ckeditor_assets/attachments/:id/:filename'
|
5
|
+
|
6
|
+
validates_attachment_presence :data
|
7
|
+
validates_attachment_size :data, less_than: 100.megabytes
|
8
|
+
do_not_validate_attachment_file_type :data
|
9
|
+
|
10
|
+
def url_thumb
|
11
|
+
@url_thumb ||= Ckeditor::Utils.filethumb(filename)
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
class Ckeditor::Picture < Ckeditor::Asset
|
2
|
+
has_mongoid_attached_file :data,
|
3
|
+
url: '/ckeditor_assets/pictures/:id/:style_:basename.:extension',
|
4
|
+
path: ':rails_root/public/ckeditor_assets/pictures/:id/:style_:basename.:extension',
|
5
|
+
styles: { content: '800>', thumb: '118x100#' }
|
6
|
+
|
7
|
+
validates_attachment_size :data, less_than: 2.megabytes
|
8
|
+
validates_attachment_presence :data
|
9
|
+
validates_attachment_content_type :data, content_type: /\Aimage/
|
10
|
+
|
11
|
+
def url_content
|
12
|
+
url(:content)
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
class Comment
|
3
|
+
include Mongoid::Document
|
4
|
+
# jinda begin
|
5
|
+
include Mongoid::Timestamps
|
6
|
+
field :body, :type => String
|
7
|
+
belongs_to :article
|
8
|
+
belongs_to :user, :class_name => "User"
|
9
|
+
validates :body, :user_id, :article_id, presence: true
|
10
|
+
# jinda end
|
11
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
class Identity
|
2
|
+
include Mongoid::Document
|
3
|
+
include OmniAuth::Identity::Models::Mongoid
|
4
|
+
self.auth_key 'code'
|
5
|
+
|
6
|
+
field :code, :type => String
|
7
|
+
field :email, :type => String
|
8
|
+
field :password_digest, :type => String
|
9
|
+
field :auth_token, :type => String
|
10
|
+
field :image, :type => String
|
11
|
+
|
12
|
+
|
13
|
+
|
14
|
+
validates_presence_of :code
|
15
|
+
validates_uniqueness_of :code
|
16
|
+
validates_uniqueness_of :email
|
17
|
+
# validates_format_of :email, :with => /^[-a-z0-9_+\.]+\@([-a-z0-9]+\.)+[a-z0-9]{2,4}$/i
|
18
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
class Jinda::Doc
|
3
|
+
include Mongoid::Document
|
4
|
+
# jinda begin
|
5
|
+
include Mongoid::Timestamps
|
6
|
+
field :a, :type => String
|
7
|
+
field :b, :type => String
|
8
|
+
field :c, :type => String
|
9
|
+
field :d, :type => String
|
10
|
+
field :x, :type => String
|
11
|
+
field :y, :type => String
|
12
|
+
field :z, :type => String
|
13
|
+
field :s, :type => String
|
14
|
+
field :t, :type => String
|
15
|
+
field :u, :type => String
|
16
|
+
field :w, :type => String
|
17
|
+
field :yes, :type => Boolean
|
18
|
+
field :dscan, :type => String
|
19
|
+
field :process_at, :type => Date
|
20
|
+
field :issue_on, :type => Date
|
21
|
+
# jinda end
|
22
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
class Jinda::Module
|
3
|
+
include Mongoid::Document
|
4
|
+
field :uid, :type => String
|
5
|
+
field :code, :type => String
|
6
|
+
field :name, :type => String
|
7
|
+
field :role, :type => String
|
8
|
+
field :seq, :type => Integer
|
9
|
+
field :icon, :type => String
|
10
|
+
has_many :services, :class_name => "Jinda::Service"
|
11
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
class Jinda::Notice
|
3
|
+
include Mongoid::Document
|
4
|
+
include Mongoid::Timestamps
|
5
|
+
field :message, :type => String
|
6
|
+
field :unread, :type => Boolean
|
7
|
+
field :ip, :type => String
|
8
|
+
belongs_to :user, :class_name => "User"
|
9
|
+
|
10
|
+
def self.recent(user_id, ip)
|
11
|
+
where(unread: true, ip: ip).last
|
12
|
+
# where(unread: true, user_id: user_id, ip: ip).last
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
class Jinda::Runseq
|
3
|
+
include Mongoid::Document
|
4
|
+
include Mongoid::Timestamps
|
5
|
+
belongs_to :user, :class_name => "User"
|
6
|
+
belongs_to :xmain, :class_name => "Jinda::Xmain"
|
7
|
+
|
8
|
+
field :action, :type => String
|
9
|
+
field :status, :type => String
|
10
|
+
field :code, :type => String
|
11
|
+
field :name, :type => String
|
12
|
+
field :role, :type => String
|
13
|
+
field :rule, :type => String
|
14
|
+
field :rstep, :type => Integer
|
15
|
+
field :form_step, :type => Integer
|
16
|
+
field :start, :type => DateTime
|
17
|
+
field :stop, :type => DateTime
|
18
|
+
field :end, :type => Boolean
|
19
|
+
field :xml, :type => String
|
20
|
+
field :ip, :type => String
|
21
|
+
|
22
|
+
scope :form_action, ->{where(:action.in=> ['form','output','pdf'])}
|
23
|
+
|
24
|
+
end
|
@@ -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
|