jinda-5 0.4.5
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 +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,86 @@
|
|
|
1
|
+
class NotesController < ApplicationController
|
|
2
|
+
before_action :load_note, only: [:show, :destroy]
|
|
3
|
+
# before_action :xload_current_ma_user, only: [:destroy]
|
|
4
|
+
|
|
5
|
+
def index
|
|
6
|
+
@notes = Note.desc(:created_at).page(params[:page]).per(10)
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
def my
|
|
10
|
+
@notes = Note.where(user_id: current_ma_user).desc(:created_at).page(params[:page]).per(10)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def show
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def edit
|
|
17
|
+
@note = Note.find(params[:id])
|
|
18
|
+
@page_title = 'Edit Note'
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def create
|
|
22
|
+
@note = Note.new(
|
|
23
|
+
title: $xvars["new_note"]["title"],
|
|
24
|
+
body: $xvars["new_note"]["body"],
|
|
25
|
+
user_id: $xvars["user_id"])
|
|
26
|
+
@note.save!
|
|
27
|
+
# if @note.save!
|
|
28
|
+
# format.html { redirect_to @note, notice: 'Sample was successfully created.' }
|
|
29
|
+
# format.json { render :show, status: :created, location: @note }
|
|
30
|
+
# else
|
|
31
|
+
# format.html { render :new }
|
|
32
|
+
# format.json { render json: @note.errors, status: :unprocessable_entity }
|
|
33
|
+
# end
|
|
34
|
+
redirect_to @note
|
|
35
|
+
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
def update
|
|
40
|
+
# $xvars["select_note"] and $xvars["edit_note"]
|
|
41
|
+
# These are variables.
|
|
42
|
+
# They contain everything that we get their forms select_note and edit_note
|
|
43
|
+
note_id = $xvars["select_note"] ? $xvars["select_note"]["id"] : $xvars["p"]["note_id"]
|
|
44
|
+
@note = Note.find(note_id)
|
|
45
|
+
@note.update(title: $xvars["edit_note"]["title"],
|
|
46
|
+
body: $xvars["edit_note"]["body"])
|
|
47
|
+
redirect_to @note
|
|
48
|
+
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def delete
|
|
52
|
+
# called by freemind
|
|
53
|
+
# Tobe called from other controller:jinda
|
|
54
|
+
@note_id = $xvars["select_note"] ? $xvars["select_note"]["id"] : $xvars["p"]["note_id"]
|
|
55
|
+
@note = Note.find(@note_id)
|
|
56
|
+
@note.destroy
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
def destroy
|
|
60
|
+
# called by rails menu my
|
|
61
|
+
if current_ma_user.role.upcase.split(',').include?("A") || current_ma_user == @note.user
|
|
62
|
+
@note.destroy
|
|
63
|
+
end
|
|
64
|
+
redirect_to :action=>'my'
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
def mail
|
|
68
|
+
NoteMailer.gmail(
|
|
69
|
+
$xvars["display_mail"]["body"],
|
|
70
|
+
$xvars["select_note"]["email"],
|
|
71
|
+
$xvars["display_mail"]["title"],
|
|
72
|
+
xload_current_ma_user.email)
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
private
|
|
76
|
+
|
|
77
|
+
# Tobe called from other controller:jinda
|
|
78
|
+
def xload_current_ma_user
|
|
79
|
+
@current_ma_user = User.find($xvars["user_id"])
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
def load_note
|
|
83
|
+
@note = Note.find(params[:id])
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
class PasswordResetsController < ApplicationController
|
|
2
|
+
|
|
3
|
+
def create
|
|
4
|
+
##user = User.find_by_email(params[:email])
|
|
5
|
+
user = User.where(:email => params[:email]).first
|
|
6
|
+
|
|
7
|
+
user.send_password_reset if user
|
|
8
|
+
redirect_to root_url, :notice => "Email sent with password reset instructions."
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def edit
|
|
12
|
+
##@user = User.find_by_password_reset_token!(params[:id])
|
|
13
|
+
@user = User.where(:password_reset_token => params[:id]).first
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def update
|
|
17
|
+
##@user = User.find_by_password_reset_token!(params[:id])
|
|
18
|
+
@user = User.where(:password_reset_token => params[:id]).first
|
|
19
|
+
if @user.password_reset_sent_at < 2.hours.ago
|
|
20
|
+
redirect_to new_password_reset_path, :alert => "Password reset has expired."
|
|
21
|
+
elsif @user.update_attributes(params[:user])
|
|
22
|
+
redirect_to root_url, :notice => "Password has been reset!"
|
|
23
|
+
else
|
|
24
|
+
render :edit
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
class PasswordResetsController < ApplicationController
|
|
2
|
+
|
|
3
|
+
def index
|
|
4
|
+
end
|
|
5
|
+
|
|
6
|
+
def create
|
|
7
|
+
#user = User.find_by_email(params[:email])
|
|
8
|
+
user = User.where(:email => params[:email]).first
|
|
9
|
+
|
|
10
|
+
user.send_password_reset if user
|
|
11
|
+
redirect_to root_url, :ma_notice => "Email sent with password reset instructions."
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def edit
|
|
15
|
+
## Deprecated syntax in rail 5
|
|
16
|
+
##@user = User.find_by_password_reset_token!(params[:id])
|
|
17
|
+
@user = User.where(:password_reset_token => params[:id]).first
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def update
|
|
21
|
+
##@user = User.find_by_password_reset_token!(params[:id])
|
|
22
|
+
@user = User.where(:password_reset_token => params[:id]).first
|
|
23
|
+
if @user.password_reset_sent_at < 2.hours.ago
|
|
24
|
+
redirect_to new_password_reset_path, :alert => "Password ↵
|
|
25
|
+
reset has expired."
|
|
26
|
+
elsif @user.update_attributes(params[:user])
|
|
27
|
+
redirect_to root_url, :notice => "Password has been reset."
|
|
28
|
+
else
|
|
29
|
+
render :edit
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
end
|
|
34
|
+
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
class SessionsController < ApplicationController
|
|
3
|
+
def new
|
|
4
|
+
@title= 'Sign In'
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
def failure
|
|
8
|
+
redirect_to login_path, alert: "Authentication failed, please try again."
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# to refresh the page, must know BEFOREHAND that the action needs refresh
|
|
12
|
+
# then use attribute 'data-ajax'=>'false'
|
|
13
|
+
# see app/views/sessions/new.html.erb for sample
|
|
14
|
+
def create
|
|
15
|
+
auth = request.env["omniauth.auth"]
|
|
16
|
+
user = User.from_omniauth(auth)
|
|
17
|
+
session[:user_id] = user.id
|
|
18
|
+
if params.permit[:remember_me]
|
|
19
|
+
cookies.permanent[:auth_token] = user.auth_token
|
|
20
|
+
else
|
|
21
|
+
cookies[:auth_token] = user.auth_token
|
|
22
|
+
end
|
|
23
|
+
# refresh_to root_path, :ma_notice => "Logged in" # Called by jinda_conroller
|
|
24
|
+
# redirect_to root_path
|
|
25
|
+
redirect_to articles_my_path
|
|
26
|
+
|
|
27
|
+
rescue
|
|
28
|
+
redirect_to root_path, :alert=> "Authentication failed, please try again."
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def destroy
|
|
32
|
+
session[:user_id] = nil
|
|
33
|
+
cookies.delete(:auth_token)
|
|
34
|
+
refresh_to root_path, :ma_notice => "Logged Out" # called by jinda_controller, not pass tested
|
|
35
|
+
# redirect_to root_path # Ok with test
|
|
36
|
+
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def failure
|
|
40
|
+
ma_log "Authentication failed, please try again."
|
|
41
|
+
redirect_to root_path, :alert=> "Authentication failed, please try again."
|
|
42
|
+
end
|
|
43
|
+
end
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
class SitemapController < ApplicationController
|
|
2
|
+
# From https://makandracards.com/makandra/689-know-your-haml-comments
|
|
3
|
+
SitemapController < ApplicationController
|
|
4
|
+
layout nil
|
|
5
|
+
def index
|
|
6
|
+
headers['Content-Type'] = 'application/xml'
|
|
7
|
+
respond_to do |format|
|
|
8
|
+
format.xml {@articles = Article.all}
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
end
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
|
2
|
+
class UsersController < ApplicationController
|
|
3
|
+
def index
|
|
4
|
+
@today = Date.today
|
|
5
|
+
@xmains = current_ma_user.xmains.in(status:['R','I']).asc(:created_at)
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
# jinda methods
|
|
9
|
+
def update_user
|
|
10
|
+
# can't use session, current_ma_user inside jinda methods
|
|
11
|
+
$user.update_attribute :email, $xvars["enter_user"]["user"]["email"]
|
|
12
|
+
end
|
|
13
|
+
def change_password
|
|
14
|
+
# check if old password correct
|
|
15
|
+
identity = Identity.find_by :code=> $user.code
|
|
16
|
+
if identity.authenticate($xvars["enter"]["epass"])
|
|
17
|
+
identity.password = $xvars["enter"]["npass"]
|
|
18
|
+
identity.password_confirmation = $xvars["enter"]["npass_confirm"]
|
|
19
|
+
identity.save
|
|
20
|
+
ma_log "Password changed"
|
|
21
|
+
else
|
|
22
|
+
ma_log "Unauthorized access"
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def send_password_reset
|
|
27
|
+
generate_token(:password_reset_token)
|
|
28
|
+
self.password_reset_sent_at = Time.zone.now
|
|
29
|
+
save!
|
|
30
|
+
UserMailer.password_reset(self).deliver
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
end
|
|
34
|
+
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
module ApplicationHelper
|
|
2
|
+
|
|
3
|
+
def title(blog_title)
|
|
4
|
+
content_for(:title) { blog_title }
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
def meta_description(blog_text)
|
|
8
|
+
content_for(:meta_description) { blog_text }
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
require 'redcarpet'
|
|
12
|
+
require 'rouge'
|
|
13
|
+
require 'rouge/plugins/redcarpet'
|
|
14
|
+
|
|
15
|
+
class CodeRayify < Redcarpet::Render::HTML
|
|
16
|
+
def block_code(code, language)
|
|
17
|
+
CodeRay.scan(code, language).div
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def markdown(text)
|
|
22
|
+
coderayified = CodeRayify.new(:filter_html => true,
|
|
23
|
+
:hard_wrap => true)
|
|
24
|
+
options = {
|
|
25
|
+
:fenced_code_blocks => true,
|
|
26
|
+
:no_intra_emphasis => true,
|
|
27
|
+
:autolink => true,
|
|
28
|
+
:lax_html_blocks => true,
|
|
29
|
+
}
|
|
30
|
+
markdown_to_html = Redcarpet::Markdown.new(coderayified, options)
|
|
31
|
+
markdown_to_html.render(text).html_safe
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,306 @@
|
|
|
1
|
+
<map version="1.0.1">
|
|
2
|
+
<!-- To view this file, download free mind mapping software FreeMind from http://freemind.sourceforge.net -->
|
|
3
|
+
<node CREATED="1273819432637" ID="ID_1098419600" MODIFIED="1334737006485" TEXT="Jinda">
|
|
4
|
+
<node CREATED="1273819462973" ID="ID_282419531" MODIFIED="1583088810861" POSITION="right" TEXT="services">
|
|
5
|
+
<node CREATED="1275756501221" FOLDED="true" ID="ID_1720745721" MODIFIED="1583097151076" TEXT="users:User">
|
|
6
|
+
<node CREATED="1278491598711" ID="ID_1662699954" MODIFIED="1494393920347" TEXT="role:m"/>
|
|
7
|
+
<node CREATED="1279700865182" ID="ID_1266797279" MODIFIED="1357798847781" TEXT="link:info: /users"/>
|
|
8
|
+
<node CREATED="1319015338880" ID="ID_189841353" MODIFIED="1528215866339" TEXT="link:pending tasks: /jinda/pending"/>
|
|
9
|
+
<node CREATED="1275905802131" ID="ID_154000410" MODIFIED="1355422418892" TEXT="user:edit">
|
|
10
|
+
<node CREATED="1275756515843" ID="ID_1108188320" MODIFIED="1330477833918" TEXT="enter_user:edit">
|
|
11
|
+
<icon BUILTIN="attach"/>
|
|
12
|
+
<node CREATED="1282816887988" ID="ID_1767357871" MODIFIED="1282817769412" TEXT="rule:login? && own_xmain?"/>
|
|
13
|
+
</node>
|
|
14
|
+
<node CREATED="1275756530989" ID="ID_1221806432" MODIFIED="1282822205361" TEXT="update_user">
|
|
15
|
+
<icon BUILTIN="bookmark"/>
|
|
16
|
+
</node>
|
|
17
|
+
</node>
|
|
18
|
+
<node CREATED="1275756504750" ID="ID_1382277695" MODIFIED="1355422424108" TEXT="pwd:change password">
|
|
19
|
+
<node CREATED="1275756515843" ID="ID_1559014937" MODIFIED="1330477842311" TEXT="enter: edit">
|
|
20
|
+
<icon BUILTIN="attach"/>
|
|
21
|
+
<node CREATED="1282816887988" ID="ID_2948144" MODIFIED="1282817769412" TEXT="rule:login? && own_xmain?"/>
|
|
22
|
+
</node>
|
|
23
|
+
<node CREATED="1275756530989" ID="ID_1566171053" MODIFIED="1275756553762" TEXT="change_password">
|
|
24
|
+
<icon BUILTIN="bookmark"/>
|
|
25
|
+
</node>
|
|
26
|
+
</node>
|
|
27
|
+
</node>
|
|
28
|
+
<node CREATED="1275752678377" FOLDED="true" ID="ID_1348489452" MODIFIED="1583097147577" TEXT="admins:Admin">
|
|
29
|
+
<node CREATED="1275752688167" ID="ID_229996461" MODIFIED="1275752690948" TEXT="role:a"/>
|
|
30
|
+
<node CREATED="1282722836614" ID="ID_1213363124" MODIFIED="1330477902602" TEXT="edit_role:edit user role">
|
|
31
|
+
<node CREATED="1282722862918" ID="ID_1190117882" MODIFIED="1330477922159" TEXT="select_user:select user">
|
|
32
|
+
<icon BUILTIN="attach"/>
|
|
33
|
+
<node CREATED="1282722901932" ID="ID_1859523490" MODIFIED="1282722903469" TEXT="role:a"/>
|
|
34
|
+
</node>
|
|
35
|
+
<node CREATED="1282722868801" ID="ID_1325872490" MODIFIED="1330477926538" TEXT="edit_role:edit role">
|
|
36
|
+
<icon BUILTIN="attach"/>
|
|
37
|
+
<node CREATED="1282722901932" ID="ID_1992100954" MODIFIED="1282722903469" TEXT="role:a"/>
|
|
38
|
+
</node>
|
|
39
|
+
<node CREATED="1282722907306" ID="ID_1709875397" MODIFIED="1282722922669" TEXT="update_role">
|
|
40
|
+
<icon BUILTIN="bookmark"/>
|
|
41
|
+
</node>
|
|
42
|
+
</node>
|
|
43
|
+
<node CREATED="1273913393454" ID="ID_1088166839" MODIFIED="1511159690490" TEXT="link: pending tasks: /jinda/pending"/>
|
|
44
|
+
<node CREATED="1275790679363" ID="ID_829325467" MODIFIED="1511159696044" TEXT="link: logs: /jinda/logs"/>
|
|
45
|
+
<node CREATED="1507573166973" ID="ID_351025910" MODIFIED="1511159700908" TEXT="link: docs: /jinda/doc"/>
|
|
46
|
+
</node>
|
|
47
|
+
<node CREATED="1273706796854" FOLDED="true" ID="ID_1003882979" MODIFIED="1583097155227" TEXT="devs: Developer">
|
|
48
|
+
<node CREATED="1275373154914" ID="ID_340725299" MODIFIED="1275373158632" TEXT="role:d"/>
|
|
49
|
+
<node CREATED="1275788317299" ID="ID_716276608" MODIFIED="1511159716471" TEXT="link: error_logs: /jinda/error_logs"/>
|
|
50
|
+
</node>
|
|
51
|
+
<node CREATED="1493393619430" FOLDED="true" ID="ID_554831343" MODIFIED="1583091831967" TEXT="notes: Notes">
|
|
52
|
+
<node CREATED="1493489768542" ID="ID_737469676" MODIFIED="1581383331288" TEXT="link:My Notes: /notes/my">
|
|
53
|
+
<node CREATED="1493490295677" ID="ID_514416082" MODIFIED="1493490302239" TEXT="role:m"/>
|
|
54
|
+
</node>
|
|
55
|
+
<node CREATED="1493419257021" ID="ID_553734932" MODIFIED="1581180635669" TEXT="new: New Note">
|
|
56
|
+
<node CREATED="1493419299004" ID="ID_723334321" MODIFIED="1581351169990" TEXT="new_note: New ">
|
|
57
|
+
<icon BUILTIN="attach"/>
|
|
58
|
+
<node CREATED="1493479075294" ID="ID_1009521360" MODIFIED="1493479079687" TEXT="role:m"/>
|
|
59
|
+
</node>
|
|
60
|
+
<node CREATED="1493419491125" ID="ID_1125779183" MODIFIED="1581180747700" TEXT="create: Create">
|
|
61
|
+
<icon BUILTIN="bookmark"/>
|
|
62
|
+
</node>
|
|
63
|
+
</node>
|
|
64
|
+
<node CREATED="1493419562726" ID="ID_1241171950" MODIFIED="1581180788218" TEXT="edit: Edit">
|
|
65
|
+
<node CREATED="1493419577933" ID="ID_1790163920" MODIFIED="1581350888992" TEXT="select_note: Select">
|
|
66
|
+
<icon BUILTIN="attach"/>
|
|
67
|
+
<node CREATED="1493479602815" ID="ID_1289003986" MODIFIED="1493479606921" TEXT="role:m"/>
|
|
68
|
+
</node>
|
|
69
|
+
<node CREATED="1493419612720" ID="ID_938262436" MODIFIED="1581350996674" TEXT="edit_note: Edit">
|
|
70
|
+
<icon BUILTIN="attach"/>
|
|
71
|
+
<node CREATED="1493479557266" ID="ID_211108947" MODIFIED="1493479561055" TEXT="role:m"/>
|
|
72
|
+
</node>
|
|
73
|
+
<node CREATED="1493419735921" ID="ID_1581002301" MODIFIED="1581180869775" TEXT="update: Update">
|
|
74
|
+
<icon BUILTIN="bookmark"/>
|
|
75
|
+
</node>
|
|
76
|
+
</node>
|
|
77
|
+
<node CREATED="1495246388313" ID="ID_320521408" MODIFIED="1581340759604" STYLE="fork" TEXT="delete:Delete">
|
|
78
|
+
<edge COLOR="#808080" STYLE="bezier" WIDTH="thin"/>
|
|
79
|
+
<node CREATED="1493419577933" ID="ID_1631275659" MODIFIED="1581350942681" TEXT="select_note: Select">
|
|
80
|
+
<icon BUILTIN="attach"/>
|
|
81
|
+
<node CREATED="1493479602815" ID="ID_851238107" MODIFIED="1493479606921" TEXT="role:m"/>
|
|
82
|
+
</node>
|
|
83
|
+
<node CREATED="1495246466176" ID="ID_1347765598" MODIFIED="1581799929028" TEXT="delete: Delete">
|
|
84
|
+
<icon BUILTIN="bookmark"/>
|
|
85
|
+
</node>
|
|
86
|
+
</node>
|
|
87
|
+
<node CREATED="1581531446494" ID="ID_1325232876" MODIFIED="1581715693485" TEXT="mail: Mail">
|
|
88
|
+
<node CREATED="1493419577933" FOLDED="true" ID="ID_1817148049" MODIFIED="1581531563343" TEXT="select_note: Select">
|
|
89
|
+
<icon BUILTIN="attach"/>
|
|
90
|
+
<node CREATED="1493479602815" ID="ID_1650154281" MODIFIED="1493479606921" TEXT="role:m"/>
|
|
91
|
+
</node>
|
|
92
|
+
<node CREATED="1581531468872" ID="ID_379926448" MODIFIED="1581564690354" TEXT="display_mail: Dsiplay Mail">
|
|
93
|
+
<icon BUILTIN="attach"/>
|
|
94
|
+
</node>
|
|
95
|
+
<node CREATED="1581564346466" ID="ID_1981382192" MODIFIED="1581564388041" TEXT="mail: Mail">
|
|
96
|
+
<icon BUILTIN="bookmark"/>
|
|
97
|
+
</node>
|
|
98
|
+
</node>
|
|
99
|
+
<node CREATED="1495246388313" FOLDED="true" ID="ID_807216843" MODIFIED="1581715858604" TEXT="xedit: Future use">
|
|
100
|
+
<node CREATED="1493419612720" ID="ID_6864095" MODIFIED="1581350996674" TEXT="edit_note: Edit">
|
|
101
|
+
<icon BUILTIN="attach"/>
|
|
102
|
+
<node CREATED="1493479557266" ID="ID_297597260" MODIFIED="1493479561055" TEXT="role:m"/>
|
|
103
|
+
</node>
|
|
104
|
+
<node CREATED="1581400438157" ID="ID_1206027492" MODIFIED="1581400464170" TEXT="update: Update">
|
|
105
|
+
<icon BUILTIN="bookmark"/>
|
|
106
|
+
</node>
|
|
107
|
+
</node>
|
|
108
|
+
</node>
|
|
109
|
+
<node CREATED="1493393619430" FOLDED="true" ID="ID_328863650" MODIFIED="1583093622195" TEXT="articles: Article">
|
|
110
|
+
<node CREATED="1493419096527" ID="ID_1521905276" MODIFIED="1493478060121" TEXT="link: All Articles: /articles"/>
|
|
111
|
+
<node CREATED="1493489768542" ID="ID_1376361427" MODIFIED="1493768994418" TEXT="link: My article: /articles/my">
|
|
112
|
+
<node CREATED="1493490295677" ID="ID_628476988" MODIFIED="1493490302239" TEXT="role:m"/>
|
|
113
|
+
</node>
|
|
114
|
+
<node CREATED="1493419257021" ID="ID_1355420049" MODIFIED="1493489729876" TEXT="new_article: New Article">
|
|
115
|
+
<node CREATED="1493419299004" ID="ID_1468250197" MODIFIED="1493419428686" TEXT="form_article: New Article">
|
|
116
|
+
<icon BUILTIN="attach"/>
|
|
117
|
+
<node CREATED="1493479075294" ID="ID_1145618514" MODIFIED="1493479079687" TEXT="role:m"/>
|
|
118
|
+
</node>
|
|
119
|
+
<node CREATED="1493419491125" ID="ID_1687683396" MODIFIED="1493483244848" TEXT="create: Create Article">
|
|
120
|
+
<icon BUILTIN="bookmark"/>
|
|
121
|
+
</node>
|
|
122
|
+
</node>
|
|
123
|
+
<node CREATED="1493419562726" ID="ID_922854639" MODIFIED="1493490306480" TEXT="edit_article: Edit Article">
|
|
124
|
+
<node CREATED="1493419577933" ID="ID_938626803" MODIFIED="1538329139586" TEXT="select_article: Select Article">
|
|
125
|
+
<icon BUILTIN="attach"/>
|
|
126
|
+
<node CREATED="1493479602815" ID="ID_753056881" MODIFIED="1493479606921" TEXT="role:m"/>
|
|
127
|
+
</node>
|
|
128
|
+
<node CREATED="1493419612720" ID="ID_661682947" MODIFIED="1493524438941" TEXT="edit_article: Edit Article">
|
|
129
|
+
<icon BUILTIN="attach"/>
|
|
130
|
+
<node CREATED="1493479557266" ID="ID_1681993437" MODIFIED="1493479561055" TEXT="role:m"/>
|
|
131
|
+
</node>
|
|
132
|
+
<node CREATED="1493419735921" ID="ID_1575963748" MODIFIED="1493489477505" TEXT="update: Update Article">
|
|
133
|
+
<icon BUILTIN="bookmark"/>
|
|
134
|
+
</node>
|
|
135
|
+
</node>
|
|
136
|
+
<node CREATED="1495246388313" ID="ID_1861034169" MODIFIED="1495262793752" TEXT="xedit_article: xEdit Article">
|
|
137
|
+
<node CREATED="1495246432533" ID="ID_91386173" MODIFIED="1495267233398" TEXT="edit_article: Edit Article">
|
|
138
|
+
<icon BUILTIN="attach"/>
|
|
139
|
+
<node CREATED="1495246517185" ID="ID_1224073606" MODIFIED="1495246522964" TEXT="role:m"/>
|
|
140
|
+
</node>
|
|
141
|
+
<node CREATED="1495246466176" ID="ID_1635586443" MODIFIED="1495266959360" TEXT="update: Update Article">
|
|
142
|
+
<icon BUILTIN="bookmark"/>
|
|
143
|
+
</node>
|
|
144
|
+
</node>
|
|
145
|
+
</node>
|
|
146
|
+
<node CREATED="1493664700564" FOLDED="true" ID="ID_704959130" MODIFIED="1583091848193" TEXT="comments: Comment">
|
|
147
|
+
<node CREATED="1493665155709" ID="ID_1973520751" MODIFIED="1493665186791" TEXT="new_comment: New Comment">
|
|
148
|
+
<node CREATED="1493665192413" ID="ID_345629058" MODIFIED="1493665226422" TEXT="create">
|
|
149
|
+
<icon BUILTIN="bookmark"/>
|
|
150
|
+
<node CREATED="1493665231940" ID="ID_1645532530" MODIFIED="1493665237018" TEXT="role:m"/>
|
|
151
|
+
</node>
|
|
152
|
+
</node>
|
|
153
|
+
<node CREATED="1494393494180" ID="ID_1101205873" MODIFIED="1495275996686" TEXT="role:m"/>
|
|
154
|
+
</node>
|
|
155
|
+
<node CREATED="1489875563330" FOLDED="true" ID="ID_1495015891" MODIFIED="1507248509212" TEXT="ctrs: ctrs& Menu">
|
|
156
|
+
<node CREATED="1489875583646" ID="ID_1796125628" MODIFIED="1494393464288" TEXT="role:a"/>
|
|
157
|
+
<node CREATED="1275905802131" ID="ID_1960607342" MODIFIED="1489938927874" TEXT="vfolder1:Sub Menu 1">
|
|
158
|
+
<node CREATED="1275756515843" ID="ID_328242903" MODIFIED="1489939229748" TEXT="viewfile1: Title 1">
|
|
159
|
+
<icon BUILTIN="attach"/>
|
|
160
|
+
<node CREATED="1282816887988" ID="ID_1479413309" MODIFIED="1282817769412" TEXT="rule:login? && own_xmain?"/>
|
|
161
|
+
</node>
|
|
162
|
+
<node CREATED="1275756515843" ID="ID_1316819449" MODIFIED="1490683859703" TEXT="viewfile2: Title 2">
|
|
163
|
+
<icon BUILTIN="attach"/>
|
|
164
|
+
<node CREATED="1282816887988" ID="ID_1510989172" MODIFIED="1282817769412" TEXT="rule:login? && own_xmain?"/>
|
|
165
|
+
</node>
|
|
166
|
+
<node CREATED="1275756530989" ID="ID_171099141" MODIFIED="1489939276491" TEXT="update_viewfile1">
|
|
167
|
+
<icon BUILTIN="bookmark"/>
|
|
168
|
+
</node>
|
|
169
|
+
</node>
|
|
170
|
+
<node CREATED="1275756504750" ID="ID_914236141" MODIFIED="1489939000929" TEXT="vfolder2:Title 2">
|
|
171
|
+
<node CREATED="1275756515843" ID="ID_1222970183" MODIFIED="1489939293714" TEXT="viewfile2: Title 2">
|
|
172
|
+
<icon BUILTIN="attach"/>
|
|
173
|
+
<node CREATED="1282816887988" ID="ID_1312913420" MODIFIED="1282817769412" TEXT="rule:login? && own_xmain?"/>
|
|
174
|
+
</node>
|
|
175
|
+
</node>
|
|
176
|
+
</node>
|
|
177
|
+
<node CREATED="1494172726642" ID="ID_925257043" MODIFIED="1494172755433" TEXT="sitemap: Sitemap">
|
|
178
|
+
<node CREATED="1494172758253" ID="ID_961056168" MODIFIED="1494172797972" TEXT="sitemap: Sitemap"/>
|
|
179
|
+
<node CREATED="1494393494180" ID="ID_242460166" MODIFIED="1494393504971" TEXT="role:a"/>
|
|
180
|
+
</node>
|
|
181
|
+
<node CREATED="1493393619430" FOLDED="true" ID="ID_35210833" MODIFIED="1583097140716" TEXT="api/v1/notes: Notes API ">
|
|
182
|
+
<node CREATED="1493489768542" ID="ID_1053900670" MODIFIED="1582131857208" TEXT="link:My Notes: /api/v1/notes/my">
|
|
183
|
+
<node CREATED="1493490295677" ID="ID_1597553308" MODIFIED="1493490302239" TEXT="role:m"/>
|
|
184
|
+
</node>
|
|
185
|
+
<node CREATED="1493419257021" ID="ID_1182560700" MODIFIED="1581180635669" TEXT="new: New Note">
|
|
186
|
+
<node CREATED="1493419299004" ID="ID_840380967" MODIFIED="1581351169990" TEXT="new_note: New ">
|
|
187
|
+
<icon BUILTIN="attach"/>
|
|
188
|
+
<node CREATED="1493479075294" ID="ID_10690659" MODIFIED="1493479079687" TEXT="role:m"/>
|
|
189
|
+
</node>
|
|
190
|
+
<node CREATED="1493419491125" ID="ID_924027059" MODIFIED="1581180747700" TEXT="create: Create">
|
|
191
|
+
<icon BUILTIN="bookmark"/>
|
|
192
|
+
</node>
|
|
193
|
+
</node>
|
|
194
|
+
<node CREATED="1493419562726" ID="ID_963001770" MODIFIED="1581180788218" TEXT="edit: Edit">
|
|
195
|
+
<node CREATED="1493419577933" ID="ID_1640736660" MODIFIED="1581350888992" TEXT="select_note: Select">
|
|
196
|
+
<icon BUILTIN="attach"/>
|
|
197
|
+
<node CREATED="1493479602815" ID="ID_1623444138" MODIFIED="1493479606921" TEXT="role:m"/>
|
|
198
|
+
</node>
|
|
199
|
+
<node CREATED="1493419612720" ID="ID_1362613316" MODIFIED="1581350996674" TEXT="edit_note: Edit">
|
|
200
|
+
<icon BUILTIN="attach"/>
|
|
201
|
+
<node CREATED="1493479557266" ID="ID_1838104057" MODIFIED="1493479561055" TEXT="role:m"/>
|
|
202
|
+
</node>
|
|
203
|
+
<node CREATED="1493419735921" ID="ID_1445882396" MODIFIED="1581180869775" TEXT="update: Update">
|
|
204
|
+
<icon BUILTIN="bookmark"/>
|
|
205
|
+
</node>
|
|
206
|
+
</node>
|
|
207
|
+
<node CREATED="1495246388313" ID="ID_918406528" MODIFIED="1581340759604" STYLE="fork" TEXT="delete:Delete">
|
|
208
|
+
<edge COLOR="#808080" STYLE="bezier" WIDTH="thin"/>
|
|
209
|
+
<node CREATED="1493419577933" ID="ID_809771470" MODIFIED="1581350942681" TEXT="select_note: Select">
|
|
210
|
+
<icon BUILTIN="attach"/>
|
|
211
|
+
<node CREATED="1493479602815" ID="ID_1160875526" MODIFIED="1493479606921" TEXT="role:m"/>
|
|
212
|
+
</node>
|
|
213
|
+
<node CREATED="1495246466176" ID="ID_506410154" MODIFIED="1581799929028" TEXT="delete: Delete">
|
|
214
|
+
<icon BUILTIN="bookmark"/>
|
|
215
|
+
</node>
|
|
216
|
+
</node>
|
|
217
|
+
</node>
|
|
218
|
+
</node>
|
|
219
|
+
<node CREATED="1273819465949" FOLDED="true" ID="ID_855471610" MODIFIED="1583097143651" POSITION="right" TEXT="roles">
|
|
220
|
+
<node CREATED="1273819847470" ID="ID_1681080231" MODIFIED="1330477307826" TEXT="m: member"/>
|
|
221
|
+
<node CREATED="1273819855875" ID="ID_1429503284" MODIFIED="1330477311102" TEXT="a: admin"/>
|
|
222
|
+
<node CREATED="1273819859775" ID="ID_568365839" MODIFIED="1330477315009" TEXT="d: developer"/>
|
|
223
|
+
</node>
|
|
224
|
+
<node CREATED="1273819456867" ID="ID_1677010054" MODIFIED="1493418874718" POSITION="left" TEXT="models">
|
|
225
|
+
<node CREATED="1292122118499" FOLDED="true" ID="ID_1957754752" MODIFIED="1493705885123" TEXT="person">
|
|
226
|
+
<node CREATED="1292122135809" ID="ID_1617970069" MODIFIED="1332878659106" TEXT="fname"/>
|
|
227
|
+
<node CREATED="1292122150362" ID="ID_1200135538" MODIFIED="1332878662388" TEXT="lname"/>
|
|
228
|
+
<node CREATED="1332876694150" ID="ID_1770958985" MODIFIED="1332876730552" TEXT="sex: integer">
|
|
229
|
+
<node CREATED="1332878665790" ID="ID_793089342" MODIFIED="1332878668499" TEXT="1: male"/>
|
|
230
|
+
<node CREATED="1332878669085" ID="ID_1796007763" MODIFIED="1332878673144" TEXT="2: female"/>
|
|
231
|
+
</node>
|
|
232
|
+
<node CREATED="1292123322429" ID="ID_1509464300" MODIFIED="1332878620176" TEXT="belongs_to :address">
|
|
233
|
+
<icon BUILTIN="edit"/>
|
|
234
|
+
</node>
|
|
235
|
+
<node CREATED="1292122156430" ID="ID_604231613" MODIFIED="1292122161324" TEXT="dob: date"/>
|
|
236
|
+
<node CREATED="1286576968143" ID="ID_936807610" MODIFIED="1332878681362" TEXT="phone"/>
|
|
237
|
+
<node CREATED="1290823140269" ID="ID_1957301629" MODIFIED="1332878684453" TEXT="photo"/>
|
|
238
|
+
</node>
|
|
239
|
+
<node CREATED="1292122236285" FOLDED="true" ID="ID_959987887" MODIFIED="1493768919147" TEXT="address">
|
|
240
|
+
<node CREATED="1292122254622" ID="ID_430517150" MODIFIED="1355422372241" TEXT="address_street"/>
|
|
241
|
+
<node CREATED="1355422373525" ID="ID_1797865138" MODIFIED="1355422378352" TEXT="city"/>
|
|
242
|
+
<node CREATED="1355422378959" ID="ID_1964490487" MODIFIED="1355422380765" TEXT="state"/>
|
|
243
|
+
<node CREATED="1355422381231" ID="ID_1226075540" MODIFIED="1355422382748" TEXT="zip"/>
|
|
244
|
+
<node CREATED="1332876680122" ID="ID_65427990" MODIFIED="1332876682148" TEXT="phone"/>
|
|
245
|
+
<node CREATED="1292243471343" ID="ID_1859608350" MODIFIED="1310195256623" TEXT="lat: float"/>
|
|
246
|
+
<node CREATED="1292243477436" ID="ID_48497260" MODIFIED="1310195262534" TEXT="lng: float"/>
|
|
247
|
+
</node>
|
|
248
|
+
<node CREATED="1493418879485" FOLDED="true" ID="ID_1995497233" MODIFIED="1583097163789" TEXT="article">
|
|
249
|
+
<node CREATED="1493418891110" ID="ID_364756011" MODIFIED="1493418905253" TEXT="title"/>
|
|
250
|
+
<node CREATED="1493418906868" ID="ID_1676483995" MODIFIED="1493418911919" TEXT="text"/>
|
|
251
|
+
<node CREATED="1493487131376" ID="ID_1334057464" MODIFIED="1538328284823" TEXT="belongs_to :user, :class_name => "User"">
|
|
252
|
+
<icon BUILTIN="edit"/>
|
|
253
|
+
</node>
|
|
254
|
+
<node CREATED="1493705838166" ID="ID_408271104" MODIFIED="1493705877062" TEXT="has_many :comments">
|
|
255
|
+
<icon BUILTIN="edit"/>
|
|
256
|
+
</node>
|
|
257
|
+
<node CREATED="1493718773517" ID="ID_944554146" MODIFIED="1493718808965" TEXT="validates :title, :text, :user_id, presence: true">
|
|
258
|
+
<icon BUILTIN="edit"/>
|
|
259
|
+
</node>
|
|
260
|
+
<node CREATED="1494181636998" ID="ID_229502630" MODIFIED="1494181660419" TEXT="body"/>
|
|
261
|
+
<node CREATED="1497913676275" ID="ID_404103076" MODIFIED="1497913685065" TEXT="keywords"/>
|
|
262
|
+
</node>
|
|
263
|
+
<node CREATED="1493418915637" FOLDED="true" ID="ID_429078131" MODIFIED="1583097162517" TEXT="comment">
|
|
264
|
+
<node CREATED="1493418939760" ID="ID_1251093062" MODIFIED="1493418943423" TEXT="body"/>
|
|
265
|
+
<node CREATED="1493418945686" ID="ID_911071644" MODIFIED="1493418986711" TEXT="belongs_to :article">
|
|
266
|
+
<icon BUILTIN="edit"/>
|
|
267
|
+
</node>
|
|
268
|
+
<node CREATED="1493643129947" ID="ID_588013696" MODIFIED="1493643146424" TEXT="belongs_to :user">
|
|
269
|
+
<icon BUILTIN="edit"/>
|
|
270
|
+
</node>
|
|
271
|
+
<node CREATED="1493718512191" ID="ID_173203253" MODIFIED="1493718583874" TEXT="validates :body, :user_id, :article_id, presence: true">
|
|
272
|
+
<icon BUILTIN="edit"/>
|
|
273
|
+
</node>
|
|
274
|
+
</node>
|
|
275
|
+
<node CREATED="1494040082403" FOLDED="true" ID="ID_864577403" MODIFIED="1583097161145" TEXT="picture">
|
|
276
|
+
<node CREATED="1494040091583" ID="ID_679208099" MODIFIED="1494040119098" TEXT="picture"/>
|
|
277
|
+
<node CREATED="1494040120208" ID="ID_1266154874" MODIFIED="1494040125130" TEXT="description"/>
|
|
278
|
+
<node CREATED="1493487131376" ID="ID_1422817360" MODIFIED="1493487186856" TEXT="belongs_to :user">
|
|
279
|
+
<icon BUILTIN="edit"/>
|
|
280
|
+
</node>
|
|
281
|
+
</node>
|
|
282
|
+
<node CREATED="1581177067029" FOLDED="true" ID="ID_1450593753" MODIFIED="1583089083450" TEXT="note">
|
|
283
|
+
<node CREATED="1581243923100" ID="ID_537548385" MODIFIED="1581243965554" TEXT="include Mongoid::Attributes::Dynamic">
|
|
284
|
+
<icon BUILTIN="edit"/>
|
|
285
|
+
</node>
|
|
286
|
+
<node CREATED="1581177848957" ID="ID_1611227370" MODIFIED="1581177857470" TEXT="title"/>
|
|
287
|
+
<node CREATED="1581177867775" ID="ID_88547965" MODIFIED="1581177883555" TEXT="body"/>
|
|
288
|
+
<node CREATED="1493643129947" ID="ID_1655403736" MODIFIED="1493643146424" TEXT="belongs_to :user">
|
|
289
|
+
<icon BUILTIN="edit"/>
|
|
290
|
+
</node>
|
|
291
|
+
<node CREATED="1581984419312" ID="ID_1934899110" MODIFIED="1581985586488" TEXT="before_validation :ensure_title_has_a_value ">
|
|
292
|
+
<icon BUILTIN="edit"/>
|
|
293
|
+
</node>
|
|
294
|
+
<node CREATED="1581495182445" ID="ID_1430552418" MODIFIED="1581985664674" TEXT="validates :title, length: { maximum: (MAX_TITLE_LENGTH = 30), message: "Must be less than 30 characters" }, presence: true">
|
|
295
|
+
<icon BUILTIN="edit"/>
|
|
296
|
+
</node>
|
|
297
|
+
<node CREATED="1581495221779" ID="ID_1231500988" MODIFIED="1581985709585" TEXT="validates :body, length: { maximum: (MAX_BODY_LENGTH = 1000), message: "Must be less than 1000 characters"} ">
|
|
298
|
+
<icon BUILTIN="edit"/>
|
|
299
|
+
</node>
|
|
300
|
+
<node CREATED="1581986280028" ID="ID_1069060625" MODIFIED="1581987310544" TEXT="private
 def ensure_title_has_a_value
 if title.blank?
 self.title = body[0..(MAX_TITLE_LENGTH-1)] unless body.blank?
 end
 end
 
">
|
|
301
|
+
<icon BUILTIN="edit"/>
|
|
302
|
+
</node>
|
|
303
|
+
</node>
|
|
304
|
+
</node>
|
|
305
|
+
</node>
|
|
306
|
+
</map>
|