{"id":20391066,"url":"https://github.com/apiqcms/kms_feedback","last_synced_at":"2025-11-11T20:55:40.038Z","repository":{"id":123210107,"uuid":"74365046","full_name":"apiqcms/kms_feedback","owner":"apiqcms","description":"KMS extension for feedback/callback/contact forms","archived":false,"fork":false,"pushed_at":"2017-04-14T14:21:19.000Z","size":18,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-15T10:14:00.442Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/apiqcms.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"MIT-LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-11-21T13:14:24.000Z","updated_at":"2017-06-10T05:27:00.000Z","dependencies_parsed_at":"2023-05-26T09:45:45.716Z","dependency_job_id":null,"html_url":"https://github.com/apiqcms/kms_feedback","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apiqcms%2Fkms_feedback","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apiqcms%2Fkms_feedback/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apiqcms%2Fkms_feedback/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apiqcms%2Fkms_feedback/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apiqcms","download_url":"https://codeload.github.com/apiqcms/kms_feedback/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241940579,"owners_count":20045883,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-15T03:28:32.057Z","updated_at":"2025-11-11T20:55:39.600Z","avatar_url":"https://github.com/apiqcms.png","language":"Ruby","readme":"## KMS Feedback\n\nThis extension allows submitting contact/callback/feedback forms from frontend side and having it under \"Messages\" section in [KMS](https://github.com/webgradus/kms). When ActionMailer settings setup, it notifies selected users about new messages by email as well.\n\n## Installation\n\n1. Add to Gemfile:\n\n        gem \"kms_feedback\"\n        # or for edge version:\n        gem \"kms_feedback\", github: \"webgradus/kms_feedback\"\n\n2. Run generator:\n\n        rails g kms_feedback:install\n\n3. Copy migrations:\n\n        rails kms_feedback:install:migrations\n\n4. Migrate:\n\n        rails db:migrate\n\n5. Recompile assets:\n\n        rails assets:precompile\n\n6. Restart KMS instance\n\n## Usage\n\nYour form on webpage should look like this:\n\n    \u003cform action=\"/feedbacks\" method=\"post\"\u003e\n        \u003cinput type=\"hidden\" name='authenticity_token' value='{{ request.form_authenticity_token }}'\u003e\n\n        \u003cinput type=\"text\" name=\"feedback[name]\" placeholder=\"Name\"\u003e\n        \u003cinput type=\"tel\" name=\"feedback[phone]\" placeholder=\"Phone\"\u003e\n        \u003cinput type=\"email\" name=\"feedback[email]\" placeholder=\"Email\"\u003e\n        \u003ctextarea name=\"feedback[message]\" placeholder=\"Message\"\u003e\u003c/textarea\u003e\n        \u003cinput type=\"submit\"\u003e\n    \u003c/form\u003e\n\nIMPORTANT!\nNecessary to have form's action and method exactly like above (as well as inputs names).\nAnd don't forget about `authenticity_token`.\n\nForm validation should happen completely on client side (you could use HTML5 attrs or parsley.js or something similar).\nYou can use only some of fields - only `name` and `phone` for example.\n\nTo make AJAX submit you would have something like this JavaScript code:\n\n    \u003cscript\u003e\n      $(document).ready(function(){\n        $('input[type=\"button\"]').click(function(){\n          $.post('/feedbacks', $('form[action=\"/feedbacks\"]').serialize());\n        });\n      });\n    \u003c/script\u003e\n\nand add validation as well.\n\nThis extension also provides adding Recaptcha to forms. For adding validation with Recaptcha:\n\n1. Insert this fragment before closing \u003c/head\u003e in your HTML:\n\n        \u003cscript src='https://www.google.com/recaptcha/api.js'\u003e\u003c/script\u003e\n\n2. Insert this fragment at the bottom of \u003cform\u003e contents (where you need to place reCAPTCHA widget):\n\n        \u003cdiv class=\"g-recaptcha\" data-sitekey=\"RECAPTCHA_PUBLIC_KEY\"\u003e\u003c/div\u003e\n\n3. Enable Recaptcha under \"Settings\" (check dropdown menu on avatar clicking)\n\nAnother way to prevent spam is to enable Invisible Captcha (check out Settings in your KMS admin section). For adding validation with InvisibleCaptcha:\n\n1. Insert this fragment into your feedback form:\n\n        \u003cdiv style=\"display:none;\"\u003e\n         \u003cinput type=\"text\" name=\"feedback[captcha]\" placeholder=\"Don't fill this if you're human\"\u003e\n        \u003c/div\u003e\n\n2. Enable Invisible Captcha under \"Settings\" (check dropdown menu on avatar clicking)\n\nThis project rocks and uses MIT-LICENSE.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapiqcms%2Fkms_feedback","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapiqcms%2Fkms_feedback","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapiqcms%2Fkms_feedback/lists"}