You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

527 lines
16KB

  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  6. <meta name="generator" content="Docutils 0.15.1: http://docutils.sourceforge.net/" />
  7. <title>Website Form - ReCaptcha</title>
  8. <style type="text/css">
  9. /*
  10. :Author: David Goodger (goodger@python.org)
  11. :Id: $Id: html4css1.css 7952 2016-07-26 18:15:59Z milde $
  12. :Copyright: This stylesheet has been placed in the public domain.
  13. Default cascading style sheet for the HTML output of Docutils.
  14. See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
  15. customize this style sheet.
  16. */
  17. /* used to remove borders from tables and images */
  18. .borderless, table.borderless td, table.borderless th {
  19. border: 0 }
  20. table.borderless td, table.borderless th {
  21. /* Override padding for "table.docutils td" with "! important".
  22. The right padding separates the table cells. */
  23. padding: 0 0.5em 0 0 ! important }
  24. .first {
  25. /* Override more specific margin styles with "! important". */
  26. margin-top: 0 ! important }
  27. .last, .with-subtitle {
  28. margin-bottom: 0 ! important }
  29. .hidden {
  30. display: none }
  31. .subscript {
  32. vertical-align: sub;
  33. font-size: smaller }
  34. .superscript {
  35. vertical-align: super;
  36. font-size: smaller }
  37. a.toc-backref {
  38. text-decoration: none ;
  39. color: black }
  40. blockquote.epigraph {
  41. margin: 2em 5em ; }
  42. dl.docutils dd {
  43. margin-bottom: 0.5em }
  44. object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
  45. overflow: hidden;
  46. }
  47. /* Uncomment (and remove this text!) to get bold-faced definition list terms
  48. dl.docutils dt {
  49. font-weight: bold }
  50. */
  51. div.abstract {
  52. margin: 2em 5em }
  53. div.abstract p.topic-title {
  54. font-weight: bold ;
  55. text-align: center }
  56. div.admonition, div.attention, div.caution, div.danger, div.error,
  57. div.hint, div.important, div.note, div.tip, div.warning {
  58. margin: 2em ;
  59. border: medium outset ;
  60. padding: 1em }
  61. div.admonition p.admonition-title, div.hint p.admonition-title,
  62. div.important p.admonition-title, div.note p.admonition-title,
  63. div.tip p.admonition-title {
  64. font-weight: bold ;
  65. font-family: sans-serif }
  66. div.attention p.admonition-title, div.caution p.admonition-title,
  67. div.danger p.admonition-title, div.error p.admonition-title,
  68. div.warning p.admonition-title, .code .error {
  69. color: red ;
  70. font-weight: bold ;
  71. font-family: sans-serif }
  72. /* Uncomment (and remove this text!) to get reduced vertical space in
  73. compound paragraphs.
  74. div.compound .compound-first, div.compound .compound-middle {
  75. margin-bottom: 0.5em }
  76. div.compound .compound-last, div.compound .compound-middle {
  77. margin-top: 0.5em }
  78. */
  79. div.dedication {
  80. margin: 2em 5em ;
  81. text-align: center ;
  82. font-style: italic }
  83. div.dedication p.topic-title {
  84. font-weight: bold ;
  85. font-style: normal }
  86. div.figure {
  87. margin-left: 2em ;
  88. margin-right: 2em }
  89. div.footer, div.header {
  90. clear: both;
  91. font-size: smaller }
  92. div.line-block {
  93. display: block ;
  94. margin-top: 1em ;
  95. margin-bottom: 1em }
  96. div.line-block div.line-block {
  97. margin-top: 0 ;
  98. margin-bottom: 0 ;
  99. margin-left: 1.5em }
  100. div.sidebar {
  101. margin: 0 0 0.5em 1em ;
  102. border: medium outset ;
  103. padding: 1em ;
  104. background-color: #ffffee ;
  105. width: 40% ;
  106. float: right ;
  107. clear: right }
  108. div.sidebar p.rubric {
  109. font-family: sans-serif ;
  110. font-size: medium }
  111. div.system-messages {
  112. margin: 5em }
  113. div.system-messages h1 {
  114. color: red }
  115. div.system-message {
  116. border: medium outset ;
  117. padding: 1em }
  118. div.system-message p.system-message-title {
  119. color: red ;
  120. font-weight: bold }
  121. div.topic {
  122. margin: 2em }
  123. h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
  124. h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
  125. margin-top: 0.4em }
  126. h1.title {
  127. text-align: center }
  128. h2.subtitle {
  129. text-align: center }
  130. hr.docutils {
  131. width: 75% }
  132. img.align-left, .figure.align-left, object.align-left, table.align-left {
  133. clear: left ;
  134. float: left ;
  135. margin-right: 1em }
  136. img.align-right, .figure.align-right, object.align-right, table.align-right {
  137. clear: right ;
  138. float: right ;
  139. margin-left: 1em }
  140. img.align-center, .figure.align-center, object.align-center {
  141. display: block;
  142. margin-left: auto;
  143. margin-right: auto;
  144. }
  145. table.align-center {
  146. margin-left: auto;
  147. margin-right: auto;
  148. }
  149. .align-left {
  150. text-align: left }
  151. .align-center {
  152. clear: both ;
  153. text-align: center }
  154. .align-right {
  155. text-align: right }
  156. /* reset inner alignment in figures */
  157. div.align-right {
  158. text-align: inherit }
  159. /* div.align-center * { */
  160. /* text-align: left } */
  161. .align-top {
  162. vertical-align: top }
  163. .align-middle {
  164. vertical-align: middle }
  165. .align-bottom {
  166. vertical-align: bottom }
  167. ol.simple, ul.simple {
  168. margin-bottom: 1em }
  169. ol.arabic {
  170. list-style: decimal }
  171. ol.loweralpha {
  172. list-style: lower-alpha }
  173. ol.upperalpha {
  174. list-style: upper-alpha }
  175. ol.lowerroman {
  176. list-style: lower-roman }
  177. ol.upperroman {
  178. list-style: upper-roman }
  179. p.attribution {
  180. text-align: right ;
  181. margin-left: 50% }
  182. p.caption {
  183. font-style: italic }
  184. p.credits {
  185. font-style: italic ;
  186. font-size: smaller }
  187. p.label {
  188. white-space: nowrap }
  189. p.rubric {
  190. font-weight: bold ;
  191. font-size: larger ;
  192. color: maroon ;
  193. text-align: center }
  194. p.sidebar-title {
  195. font-family: sans-serif ;
  196. font-weight: bold ;
  197. font-size: larger }
  198. p.sidebar-subtitle {
  199. font-family: sans-serif ;
  200. font-weight: bold }
  201. p.topic-title {
  202. font-weight: bold }
  203. pre.address {
  204. margin-bottom: 0 ;
  205. margin-top: 0 ;
  206. font: inherit }
  207. pre.literal-block, pre.doctest-block, pre.math, pre.code {
  208. margin-left: 2em ;
  209. margin-right: 2em }
  210. pre.code .ln { color: grey; } /* line numbers */
  211. pre.code, code { background-color: #eeeeee }
  212. pre.code .comment, code .comment { color: #5C6576 }
  213. pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
  214. pre.code .literal.string, code .literal.string { color: #0C5404 }
  215. pre.code .name.builtin, code .name.builtin { color: #352B84 }
  216. pre.code .deleted, code .deleted { background-color: #DEB0A1}
  217. pre.code .inserted, code .inserted { background-color: #A3D289}
  218. span.classifier {
  219. font-family: sans-serif ;
  220. font-style: oblique }
  221. span.classifier-delimiter {
  222. font-family: sans-serif ;
  223. font-weight: bold }
  224. span.interpreted {
  225. font-family: sans-serif }
  226. span.option {
  227. white-space: nowrap }
  228. span.pre {
  229. white-space: pre }
  230. span.problematic {
  231. color: red }
  232. span.section-subtitle {
  233. /* font-size relative to parent (h1..h6 element) */
  234. font-size: 80% }
  235. table.citation {
  236. border-left: solid 1px gray;
  237. margin-left: 1px }
  238. table.docinfo {
  239. margin: 2em 4em }
  240. table.docutils {
  241. margin-top: 0.5em ;
  242. margin-bottom: 0.5em }
  243. table.footnote {
  244. border-left: solid 1px black;
  245. margin-left: 1px }
  246. table.docutils td, table.docutils th,
  247. table.docinfo td, table.docinfo th {
  248. padding-left: 0.5em ;
  249. padding-right: 0.5em ;
  250. vertical-align: top }
  251. table.docutils th.field-name, table.docinfo th.docinfo-name {
  252. font-weight: bold ;
  253. text-align: left ;
  254. white-space: nowrap ;
  255. padding-left: 0 }
  256. /* "booktabs" style (no vertical lines) */
  257. table.docutils.booktabs {
  258. border: 0px;
  259. border-top: 2px solid;
  260. border-bottom: 2px solid;
  261. border-collapse: collapse;
  262. }
  263. table.docutils.booktabs * {
  264. border: 0px;
  265. }
  266. table.docutils.booktabs th {
  267. border-bottom: thin solid;
  268. text-align: left;
  269. }
  270. h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
  271. h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
  272. font-size: 100% }
  273. ul.auto-toc {
  274. list-style-type: none }
  275. </style>
  276. </head>
  277. <body>
  278. <div class="document" id="website-form-recaptcha">
  279. <h1 class="title">Website Form - ReCaptcha</h1>
  280. <!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  281. !! This file is generated by oca-gen-addon-readme !!
  282. !! changes will be overwritten. !!
  283. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
  284. <p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/website/tree/11.0/website_form_recaptcha"><img alt="OCA/website" src="https://img.shields.io/badge/github-OCA%2Fwebsite-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/website-11-0/website-11-0-website_form_recaptcha"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/186/11.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
  285. <p>Adds a ReCaptcha field widget for website forms (extends the <cite>website_form</cite> module).</p>
  286. <p><strong>Translations</strong></p>
  287. <p>This module will try to use the language of your website.
  288. If it can’t find it for any reason,
  289. it will default to google API
  290. and use the language of the browser or your location.</p>
  291. <p><strong>Table of contents</strong></p>
  292. <div class="contents local topic" id="contents">
  293. <ul class="simple">
  294. <li><a class="reference internal" href="#configuration" id="id4">Configuration</a></li>
  295. <li><a class="reference internal" href="#usage" id="id5">Usage</a></li>
  296. <li><a class="reference internal" href="#known-issues-roadmap" id="id6">Known issues / Roadmap</a></li>
  297. <li><a class="reference internal" href="#changelog" id="id7">Changelog</a><ul>
  298. <li><a class="reference internal" href="#unreleased" id="id8">11.0.1.2.1 (Unreleased)</a></li>
  299. <li><a class="reference internal" href="#id1" id="id9">11.0.1.2.0 (2019-01-10)</a></li>
  300. <li><a class="reference internal" href="#id2" id="id10">11.0.1.1.0 (2019-01-10)</a></li>
  301. <li><a class="reference internal" href="#id3" id="id11">11.0.1.0.0 (2017-10-30)</a></li>
  302. </ul>
  303. </li>
  304. <li><a class="reference internal" href="#bug-tracker" id="id12">Bug Tracker</a></li>
  305. <li><a class="reference internal" href="#credits" id="id13">Credits</a><ul>
  306. <li><a class="reference internal" href="#authors" id="id14">Authors</a></li>
  307. <li><a class="reference internal" href="#contributors" id="id15">Contributors</a></li>
  308. <li><a class="reference internal" href="#maintainers" id="id16">Maintainers</a></li>
  309. </ul>
  310. </li>
  311. </ul>
  312. </div>
  313. <div class="section" id="configuration">
  314. <h1><a class="toc-backref" href="#id4">Configuration</a></h1>
  315. <p>First of all you must obtain
  316. a ReCaptcha key from <a class="reference external" href="http://www.google.com/recaptcha/admin">Google</a></p>
  317. <p><strong>Global setup</strong></p>
  318. <ul class="simple">
  319. <li>Add site key to <cite>recaptcha.key.site</cite> system parameter</li>
  320. <li>Add secret key to <cite>recaptcha.key.secret</cite> system parameter</li>
  321. </ul>
  322. <p><strong>Single website setup</strong></p>
  323. <ul class="simple">
  324. <li>Go to website settings</li>
  325. <li>Set site key and secret key</li>
  326. </ul>
  327. </div>
  328. <div class="section" id="usage">
  329. <h1><a class="toc-backref" href="#id5">Usage</a></h1>
  330. <p>To use this module, you need to:</p>
  331. <ul class="simple">
  332. <li>Already have a form-enabled model (refer to <cite>website_form</cite> docs)</li>
  333. <li>Set <cite>website_form_recaptcha</cite> to <cite>True</cite> on that model (similar to enabling forms)</li>
  334. <li>Add an element with the <cite>o_website_form_recaptcha</cite> class anywhere in the form</li>
  335. </ul>
  336. <p>Look at <cite>website_crm_recaptcha</cite> module for example implementation.</p>
  337. </div>
  338. <div class="section" id="known-issues-roadmap">
  339. <h1><a class="toc-backref" href="#id6">Known issues / Roadmap</a></h1>
  340. <ul class="simple">
  341. <li>Add domain validation</li>
  342. <li>Split recaptcha APIs from <cite>website_form</cite> dependency
  343. (ie: new module <cite>website_recaptcha_base</cite>)</li>
  344. </ul>
  345. </div>
  346. <div class="section" id="changelog">
  347. <h1><a class="toc-backref" href="#id7">Changelog</a></h1>
  348. <div class="section" id="unreleased">
  349. <h2><a class="toc-backref" href="#id8">11.0.1.2.1 (Unreleased)</a></h2>
  350. <ul>
  351. <li><p class="first">Fix handling of request attribute</p>
  352. </li>
  353. <li><p class="first">Add backward compatibility for recent API refactoring</p>
  354. <p>[simahawk]</p>
  355. </li>
  356. </ul>
  357. </div>
  358. <div class="section" id="id1">
  359. <h2><a class="toc-backref" href="#id9">11.0.1.2.0 (2019-01-10)</a></h2>
  360. <ul>
  361. <li><p class="first">Refactor APIs and allow per-website config</p>
  362. <ul class="simple">
  363. <li>API keys can now be configured via website settings
  364. which in turn allow to customize the values per website
  365. in a multi-website instance;</li>
  366. <li>move all internal APIs to the model <cite>website.form.recaptcha</cite>
  367. so that we do not depend anymore on the controller
  368. if we need to integrate it into other pieces of code.</li>
  369. <li>Use readme fragments</li>
  370. </ul>
  371. <p>[simahawk]</p>
  372. </li>
  373. </ul>
  374. </div>
  375. <div class="section" id="id2">
  376. <h2><a class="toc-backref" href="#id10">11.0.1.1.0 (2019-01-10)</a></h2>
  377. <ul>
  378. <li><p class="first">Improve JS and enforce translations</p>
  379. <p>Make JS modular and pass language parameter according to website lang.</p>
  380. <p>[mpanarin]</p>
  381. </li>
  382. <li><p class="first">Fix duplicated calls</p>
  383. <p>When website_crm_phone_validation is installed,
  384. the captcha validation is called twice
  385. so the form always fail as with a ‘timeout-or-duplicate’ error.</p>
  386. </li>
  387. <li><p class="first">Fix JS LINT errors</p>
  388. </li>
  389. <li><p class="first">Improve error handling to show all error messages at the same time</p>
  390. <p>[chienandalu]</p>
  391. </li>
  392. </ul>
  393. </div>
  394. <div class="section" id="id3">
  395. <h2><a class="toc-backref" href="#id11">11.0.1.0.0 (2017-10-30)</a></h2>
  396. <ul>
  397. <li><p class="first">Migrate to v11</p>
  398. <p>[dbo-odoo]</p>
  399. </li>
  400. </ul>
  401. </div>
  402. </div>
  403. <div class="section" id="bug-tracker">
  404. <h1><a class="toc-backref" href="#id12">Bug Tracker</a></h1>
  405. <p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/website/issues">GitHub Issues</a>.
  406. In case of trouble, please check there if your issue has already been reported.
  407. If you spotted it first, help us smashing it by providing a detailed and welcomed
  408. <a class="reference external" href="https://github.com/OCA/website/issues/new?body=module:%20website_form_recaptcha%0Aversion:%2011.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
  409. <p>Do not contact contributors directly about support or help with technical issues.</p>
  410. </div>
  411. <div class="section" id="credits">
  412. <h1><a class="toc-backref" href="#id13">Credits</a></h1>
  413. <div class="section" id="authors">
  414. <h2><a class="toc-backref" href="#id14">Authors</a></h2>
  415. <ul class="simple">
  416. <li>LasLabs</li>
  417. </ul>
  418. </div>
  419. <div class="section" id="contributors">
  420. <h2><a class="toc-backref" href="#id15">Contributors</a></h2>
  421. <ul class="simple">
  422. <li>Dave Lasley &lt;<a class="reference external" href="mailto:dave&#64;laslabs.com">dave&#64;laslabs.com</a>&gt;</li>
  423. <li>Mykhailo Panarin &lt;<a class="reference external" href="mailto:m.panarin&#64;mobilunity.com">m.panarin&#64;mobilunity.com</a>&gt;</li>
  424. <li>Simone Orsi &lt;<a class="reference external" href="mailto:simone.orsi&#64;camptocamp.com">simone.orsi&#64;camptocamp.com</a>&gt;</li>
  425. </ul>
  426. </div>
  427. <div class="section" id="maintainers">
  428. <h2><a class="toc-backref" href="#id16">Maintainers</a></h2>
  429. <p>This module is maintained by the OCA.</p>
  430. <a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a>
  431. <p>OCA, or the Odoo Community Association, is a nonprofit organization whose
  432. mission is to support the collaborative development of Odoo features and
  433. promote its widespread use.</p>
  434. <p>This module is part of the <a class="reference external" href="https://github.com/OCA/website/tree/11.0/website_form_recaptcha">OCA/website</a> project on GitHub.</p>
  435. <p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
  436. </div>
  437. </div>
  438. </div>
  439. </body>
  440. </html>