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.

1060 lines
63 KiB

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <odoo>
  3. <template id="assets_frontend" inherit_id="web.assets_frontend" name="Coop">
  4. <xpath expr="." position="inside">
  5. <script type="text/javascript"
  6. src="/easy_my_coop/static/src/js/easy_my_coop.js"></script>
  7. <script type="text/javascript"
  8. src="/easy_my_coop/static/src/js/jquery.inputmask.bundle.js"></script>
  9. </xpath>
  10. </template>
  11. <template id="company_operational_offices"
  12. inherit_id="website.company_description"
  13. name="Company Description">
  14. <address itemscope="itemscope" position="inside">
  15. <div class="fa fa-building-o"
  16. t-field="res_company.company_registry"/>
  17. <br/>
  18. <t t-if="res_company.partner_id.bank_ids">
  19. <div class="fa fa-bank"
  20. t-field="res_company.partner_id.bank_ids[0].sanitized_acc_number"/>
  21. </t>
  22. </address>
  23. </template>
  24. <template id="cooperator_thanks" name="Cooperator contact us">
  25. <t t-call="website.layout">
  26. <div id="wrap">
  27. <div class="oe_structure"/>
  28. <div class="container">
  29. <h1>Thanks!</h1>
  30. <div class="row">
  31. <div class="col-md-8">
  32. <div class="alert alert-success">
  33. Your subscription has been successfully
  34. registered.
  35. <button type="button" class="close"
  36. data-dismiss="alert">&amp;times;
  37. </button>
  38. </div>
  39. <p>
  40. We will get back to you shortly.
  41. </p>
  42. <ul class="list-unstyled">
  43. <li>
  44. <i class="fa fa-phone"></i>
  45. :
  46. <span t-field="res_company.phone"/>
  47. </li>
  48. <li>
  49. <i class="fa fa-envelope"></i>
  50. :
  51. <span t-field="res_company.email"/>
  52. </li>
  53. </ul>
  54. </div>
  55. <div class="col-md-4">
  56. <t t-call="website.company_description"/>
  57. </div>
  58. </div>
  59. </div>
  60. <div class="oe_structure"/>
  61. </div>
  62. </t>
  63. </template>
  64. <template id="becomecooperator" name="Become Cooperator">
  65. <t t-call="website.layout">
  66. <div id="wrap">
  67. <div class="oe_structure"/>
  68. <div class="container oe_easymy_coop">
  69. <h2 class="energie">Become Cooperator</h2>
  70. <br/>
  71. <div class="row">
  72. <div class="col-md-8">
  73. <form action="/subscription/subscribe_share"
  74. method="post" class="form-horizontal mt32"
  75. enctype="multipart/form-data">
  76. <p style="color:red;">
  77. <t t-esc="error_msg"/>
  78. </p>
  79. <input type="hidden" name="csrf_token"
  80. t-att-value="request.csrf_token()"/>
  81. <div t-attf-class="form-group">
  82. <a class='btn btn-primary' t-if="logged"
  83. t-attf-href="/my/account">You want to
  84. modify your personal information ?
  85. </a>
  86. <br/>
  87. </div>
  88. <div t-attf-class="form-group">
  89. <a class='btn btn-primary' t-if="not logged"
  90. t-attf-href="/web/login?redirect=#{ request.httprequest.url }">
  91. You have already an account?
  92. </a>
  93. <br/>
  94. </div>
  95. <div t-attf-class="form-group"
  96. style="display: none;">
  97. <label>
  98. <input type="checkbox"
  99. t-att-checked="logged"
  100. name="logged"/>
  101. Logged
  102. </label>
  103. </div>
  104. <div t-attf-class="form-group"
  105. style="display: none;">
  106. <label>
  107. <input type="checkbox"
  108. t-att-checked="already_cooperator"
  109. name="already_cooperator"/>
  110. Already cooperator?
  111. </label>
  112. </div>
  113. <div name="email_from_container"
  114. t-attf-class="form-group #{error and 'email_from' in error and 'has-error' or ''}">
  115. <label class="col-md-3 col-sm-4 control-label"
  116. for="email">Email
  117. </label>
  118. <div class="col-md-7 col-sm-8 bottom-line"
  119. style="padding-bottom:20px">
  120. <input type="email"
  121. class="form-control mandatory-field"
  122. name="email"
  123. required="True"
  124. t-att-readonly="logged"
  125. t-attf-value="#{email or ''}"
  126. placeholder="didier.bourdon@bees-coop.be"/>
  127. </div>
  128. </div>
  129. <div t-if="not logged"
  130. name="confirm_email_container"
  131. t-attf-class="form-group #{error and 'email_from' in error and 'has-error' or ''}">
  132. <label class="col-md-3 col-sm-4 control-label"
  133. for="confirm_email">Confirm Email
  134. </label>
  135. <div class="col-md-7 col-sm-8 bottom-line"
  136. style="padding-bottom:20px">
  137. <input type="confirm_email"
  138. class="form-control mandatory-field"
  139. name="confirm_email"
  140. t-att-required="logged"
  141. t-att-readonly="logged"
  142. t-attf-value="#{confirm_email or ''}"
  143. placeholder="didier.bourdon@bees-coop.be"/>
  144. </div>
  145. </div>
  146. <div t-attf-class="form-group #{error and 'firstname' in error and 'has-error' or ''}">
  147. <label class="col-md-3 col-sm-4 control-label"
  148. for="firstname">First Name
  149. </label>
  150. <div class="col-md-7 col-sm-8"
  151. style="padding-top:5px">
  152. <input type="text"
  153. class="form-control mandatory-field"
  154. name="firstname"
  155. required="True"
  156. t-att-readonly="logged"
  157. t-attf-value="#{firstname or ''}"
  158. placeholder="Didier"/>
  159. </div>
  160. </div>
  161. <div t-attf-class="form-group #{error and 'lastname' in error and 'has-error' or ''}">
  162. <label class="col-md-3 col-sm-4 control-label"
  163. for="lastname">Last Name
  164. </label>
  165. <div class="col-md-7 col-sm-8">
  166. <input type="text"
  167. class="form-control mandatory-field"
  168. name="lastname"
  169. required="True"
  170. t-att-readonly="logged"
  171. t-attf-value="#{lastname or ''}"
  172. placeholder="Bourdon"/>
  173. </div>
  174. </div>
  175. <div t-attf-class="form-group #{error and 'gender' in error and 'has-error' or ''}">
  176. <label class="col-md-3 col-sm-4 control-label"
  177. for="gender">Gender
  178. </label>
  179. <select name="gender"
  180. class="col-md-7 col-sm-8 form-control"
  181. required="True"
  182. t-att-readonly="logged"
  183. style="width:54%;margin-left:15px">
  184. <option value=""></option>
  185. <t t-foreach="genders or []"
  186. t-as="type">
  187. <option t-att-value="type[0]"
  188. t-att-selected="type[0] == gender">
  189. <t t-esc="type[1]"/>
  190. </option>
  191. </t>
  192. </select>
  193. </div>
  194. <div t-attf-class="form-group #{error and 'birthdate' in error and 'has-error' or ''}">
  195. <label class="col-md-3 col-sm-4 control-label"
  196. for="birthdate">Birthdate
  197. </label>
  198. <div class="col-md-7 col-sm-8">
  199. <input type="text"
  200. data-inputmask="'alias': 'date'"
  201. class="form-control mandatory-field"
  202. name="birthdate" required="True"
  203. t-att-readonly="logged"
  204. t-attf-value="#{birthdate or ''}"
  205. placeholder="05/03/1978"/>
  206. </div>
  207. </div>
  208. <div t-attf-class="form-group #{error and 'iban' in error and 'has-error' or ''}">
  209. <label class="col-md-3 col-sm-4 control-label"
  210. for="iban">Bank Account Number
  211. </label>
  212. <div class="col-md-7 col-sm-8">
  213. <input type="text"
  214. class="form-control mandatory-field"
  215. name="iban"
  216. required="True"
  217. t-att-readonly="logged"
  218. t-attf-value="#{iban or ''}"
  219. placeholder="BE48523080767127"/>
  220. </div>
  221. </div>
  222. <div t-attf-class="form-group #{error and 'lang' in error and 'has-error' or ''}">
  223. <label class="col-md-3 col-sm-4 control-label"
  224. style="width:25%" for="lang">Language
  225. </label>
  226. <select name="lang"
  227. class="col-md-7 col-sm-8 form-control "
  228. t-att-readonly="logged"
  229. style="width:30%;margin-left:15px">
  230. <option value="2">Language...</option>
  231. <t t-foreach="langs or []"
  232. t-as="langue">
  233. <option t-att-value="langue.code"
  234. t-att-selected="langue.code == lang">
  235. <t t-esc="langue.name"/>
  236. </option>
  237. </t>
  238. </select>
  239. <br/>
  240. <div class="bottom-line"
  241. style="margin-left:25%;margin-top:35px;width:59%"></div>
  242. </div>
  243. <div t-attf-class="form-group #{error and 'address' in error and 'has-error' or ''}">
  244. <label class="col-md-3 col-sm-4 control-label"
  245. for="address">Address
  246. </label>
  247. <div class="col-md-7 col-sm-8">
  248. <input type="text"
  249. class="form-control mandatory-field"
  250. name="address"
  251. required="True"
  252. t-att-readonly="logged"
  253. t-attf-value="#{address or ''}"
  254. placeholder="rue Van Hove, 19"/>
  255. </div>
  256. </div>
  257. <div t-attf-class="form-group #{error and 'zip_code' in error and 'has-error' or ''}">
  258. <label class="col-md-3 col-sm-4 control-label"
  259. for="zip_code">City
  260. </label>
  261. <div class="col-md-7 col-sm-8">
  262. <table>
  263. <tr>
  264. <td width="20%">
  265. <input type="text"
  266. class="form-control mandatory-field"
  267. name="zip_code"
  268. required="True"
  269. t-att-readonly="logged"
  270. t-attf-value="#{zip_code or ''}"
  271. placeholder="1030"/>
  272. </td>
  273. <td width="3%"></td>
  274. <td>
  275. <input type="text"
  276. class="form-control mandatory-field"
  277. name="city"
  278. required="True"
  279. t-att-readonly="logged"
  280. t-attf-value="#{city or ''}"
  281. placeholder="Bruxelles"/>
  282. </td>
  283. </tr>
  284. </table>
  285. </div>
  286. </div>
  287. <div t-attf-class="form-group #{error and 'country_id' in error and 'has-error' or ''}">
  288. <label class="col-md-3 col-sm-4 control-label"
  289. style="width:25%" for="country_id">
  290. Country
  291. </label>
  292. <select name="country_id"
  293. class="col-md-7 col-sm-8 form-control "
  294. required="True"
  295. t-att-readonly="logged"
  296. style="width:54%;margin-left:15px">
  297. <option value="">Country...</option>
  298. <t t-foreach="countries or []"
  299. t-as="country">
  300. <option t-att-value="country.id"
  301. t-att-selected="country.id == int(country_id)">
  302. <t t-esc="country.name"/>
  303. </option>
  304. </t>
  305. </select>
  306. </div>
  307. <div t-attf-class="form-group #{error and 'phone' in error and 'has-error' or ''}">
  308. <label class="col-md-3 col-sm-4 control-label"
  309. for="phone">Phone
  310. </label>
  311. <div class="col-md-7 col-sm-8 bottom-line"
  312. style="padding-bottom:20px">
  313. <input type="text" class="form-control"
  314. name="phone"
  315. required="True"
  316. t-att-readonly="logged"
  317. t-attf-value="#{phone or ''}"
  318. placeholder="e.g. (+32).81.81.37.00"/>
  319. </div>
  320. </div>
  321. <div t-attf-class="form-group #{error and 'share_product_id' in error and 'has-error' or ''}">
  322. <label class="col-md-3 col-sm-4 control-label"
  323. style="width:25%"
  324. for="share_product_id">Parts type
  325. </label>
  326. <select id="share_product_id"
  327. name="share_product_id"
  328. class="col-md-7 col-sm-8 form-control "
  329. style="width:54%;margin-left:15px">
  330. <t t-foreach="products or []"
  331. t-as="product">
  332. <option t-att-value="product.id"
  333. t-att-selected="product.id == int(share_product_id)">
  334. <t t-esc="product.short_name"/>
  335. </option>
  336. </t>
  337. </select>
  338. </div>
  339. <div name="share_div" class="form-group">
  340. <table style="width:80%">
  341. <tr>
  342. <td width="30%">
  343. <label style="text-align:right; width:100%;padding-right:30px">
  344. Parts number
  345. </label>
  346. </td>
  347. <td width="15%">
  348. <div class="css_quantity input-group oe_website_spinner">
  349. <span class="input-group-addon"
  350. style="margin-left:0px">
  351. <a t-attf-href="#"
  352. class="mb8 js_add_cart_json">
  353. <i class="fa fa-minus"></i>
  354. </a>
  355. </span>
  356. <input type="text"
  357. class="js_quantity form-control"
  358. data-min="1"
  359. name="ordered_parts"
  360. t-attf-value="#{ordered_parts or 1}"/>
  361. <span class="input-group-addon">
  362. <a t-attf-href="#"
  363. class="mb8 float_left js_add_cart_json">
  364. <i class="fa fa-plus"></i>
  365. </a>
  366. </span>
  367. </div>
  368. </td>
  369. <td width="5%">x</td>
  370. <td id="share_price" width="5%">25
  371. </td>
  372. <td width="7%"
  373. style="text-align:left;margin-right:20px">
  374. <span t-esc="company.currency_id.symbol"/>
  375. </td>
  376. <td width="4%">=</td>
  377. <td width="20%">
  378. <div style="margin-top:12px"
  379. t-attf-class="form-group #{error and 'total_parts' in error and 'has-error' or ''}">
  380. <div>
  381. <input type="text"
  382. class="form-control total"
  383. name="total_parts"
  384. value="25"
  385. t-att-data-max="company.subscription_maximum_amount"
  386. t-att-readonly="'readonly'"
  387. />
  388. </div>
  389. </div>
  390. </td>
  391. </tr>
  392. </table>
  393. </div>
  394. <div t-if="res_company.allow_id_card_upload"
  395. t-attf-class="form-group #{error and 'file' in error and 'has-error' or ''}">
  396. <label class="col-md-3 col-sm-4 control-label"
  397. style="width:25%" for="file">Idendity
  398. card scan
  399. </label>
  400. <div class="col-md-7 col-sm-8">
  401. <input type="file" class="form-control"
  402. name="Resume"
  403. t-attf-value="#{file or ''}"
  404. style="width:50%"/>
  405. </div>
  406. </div>
  407. <div class="bottom-line"
  408. style="margin-left:178px;margin-top:0px;width:61%"></div>
  409. <br/>
  410. <div id="internal_rules_approved"
  411. t-if="display_internal_rules"
  412. t-attf-class="form-group">
  413. <label class="col-md-3 col-sm-4 control-label"
  414. for="internal_rules_approved">
  415. Internal Rules
  416. </label>
  417. <div class="col-md-9 col-sm-8">
  418. <div class="form-check">
  419. <input type="checkbox"
  420. name="internal_rules_approved"
  421. class="form-check-input"
  422. t-att-required="internal_rules_required"
  423. t-att-checked="internal_rules_approved"/>
  424. <div class="form-check-label">
  425. <t t-raw="internal_rules_text"/>
  426. </div>
  427. </div>
  428. </div>
  429. </div>
  430. <div id="data_policy_approved"
  431. t-if="display_data_policy"
  432. t-attf-class="form-group">
  433. <label class="col-md-3 col-sm-4 control-label"
  434. for="data_policy_approved">Privacy
  435. Policy
  436. </label>
  437. <div class="col-md-9 col-sm-8">
  438. <div class="form-check">
  439. <input type="checkbox"
  440. name="data_policy_approved"
  441. class="form-check-input"
  442. t-att-required="data_policy_required"
  443. t-att-checked="data_policy_approved"/>
  444. <div class="form-check-label">
  445. <t t-raw="data_policy_text"/>
  446. </div>
  447. </div>
  448. </div>
  449. </div>
  450. <div id="financial_risk_approved"
  451. t-if="display_financial_risk"
  452. t-attf-class="form-group">
  453. <label class="col-md-3 col-sm-4 control-label"
  454. for="financial_risk_approved">
  455. Financial Risk
  456. </label>
  457. <div class="col-md-9 col-sm-8">
  458. <div class="form-check">
  459. <input type="checkbox"
  460. name="financial_risk_approved"
  461. class="form-check-input"
  462. t-att-required="financial_risk_required"
  463. t-att-checked="financial_risk_approved"/>
  464. <div class="form-check-label">
  465. <t t-raw="financial_risk_text"/>
  466. </div>
  467. </div>
  468. </div>
  469. </div>
  470. <table style="margin-left:195px">
  471. <tr>
  472. <td width="80%">
  473. <!-- TODO: Use a overloaded function with the captcha implementation !-->
  474. <div class="g-recaptcha"
  475. t-if="website.company_id.captcha_type == 'google'"
  476. t-att-data-sitekey="website.recaptcha_key_site"
  477. data-theme="green"/>
  478. <br/>
  479. </td>
  480. <td>
  481. <div class="form-group">
  482. <div class="col-md-offset-3 col-sm-offset-4 col-sm-8 col-md-7">
  483. <button class="btn btn-primary btn-lg">
  484. Send
  485. </button>
  486. </div>
  487. </div>
  488. </td>
  489. </tr>
  490. </table>
  491. <br/>
  492. </form>
  493. </div>
  494. </div>
  495. </div>
  496. <div class="oe_structure"/>
  497. </div>
  498. </t>
  499. </template>
  500. <template id="becomecompanycooperator" name="Become Cooperator">
  501. <t t-call="website.layout">
  502. <div id="wrap">
  503. <div class="oe_structure"/>
  504. <div class="container oe_easymy_coop">
  505. <h2 class="energie">Become Cooperator</h2>
  506. <br/>
  507. <div class="row">
  508. <div class="col-md-8">
  509. <form action="/subscription/subscribe_share"
  510. method="post" class="form-horizontal mt32"
  511. enctype="multipart/form-data">
  512. <p style="color:red;">
  513. <t t-esc="error_msg"/>
  514. </p>
  515. <input type="hidden" name="csrf_token"
  516. t-att-value="request.csrf_token()"/>
  517. <div t-attf-class="form-group"
  518. style="display: none;">
  519. <label>
  520. <input type="checkbox"
  521. t-att-checked="logged"
  522. name="logged"/>
  523. Logged
  524. </label>
  525. <label>
  526. <input type="checkbox"
  527. t-att-value="is_company"
  528. checked="checked"
  529. name="is_company"/>
  530. Is a company?
  531. </label>
  532. </div>
  533. <div t-attf-class="form-group">
  534. <label>
  535. Company Info
  536. </label>
  537. </div>
  538. <div t-attf-class="form-group #{error and 'company_register_number' in error and 'has-error' or ''}">
  539. <label class="col-md-3 col-sm-4 control-label"
  540. for="company_register_number">Company
  541. Register Number
  542. </label>
  543. <div class="col-md-7 col-sm-8">
  544. <input type="text"
  545. class="form-control mandatory-field"
  546. name="company_register_number"
  547. required="True"
  548. t-att-readonly="logged"
  549. t-attf-value="#{company_register_number or ''}"
  550. placeholder="0647980091"/>
  551. </div>
  552. </div>
  553. <div t-attf-class="form-group #{error and 'company_name' in error and 'has-error' or ''}">
  554. <label class="col-md-3 col-sm-4 control-label"
  555. for="company_name">Company name
  556. </label>
  557. <div class="col-md-7 col-sm-8">
  558. <input type="text"
  559. class="form-control mandatory-field"
  560. name="company_name"
  561. required="True"
  562. t-att-readonly="logged"
  563. t-attf-value="#{company_name or ''}"
  564. placeholder="La super coopérative"/>
  565. </div>
  566. </div>
  567. <div t-attf-class="form-group #{error and 'company_type' in error and 'has-error' or ''}">
  568. <label class="col-md-3 col-sm-4 control-label"
  569. for="company_type">Company type
  570. </label>
  571. <select name="company_type"
  572. class="col-md-7 col-sm-8 form-control"
  573. required="True"
  574. t-att-readonly="logged"
  575. style="width:54%;margin-left:15px">
  576. <option value=""></option>
  577. <t t-foreach="company_types or []"
  578. t-as="type">
  579. <option t-att-value="type[0]"
  580. t-att-selected="type[0] == company_type">
  581. <t t-esc="type[1]"/>
  582. </option>
  583. </t>
  584. </select>
  585. </div>
  586. <div t-attf-class="form-group #{error and 'company_email' in error and 'has-error' or ''}">
  587. <label class="col-md-3 col-sm-4 control-label"
  588. for="company_email">Company email
  589. </label>
  590. <div class="col-md-7 col-sm-8">
  591. <input type="text"
  592. class="form-control mandatory-field"
  593. name="company_email"
  594. required="True"
  595. t-attf-value="#{company_email or ''}"
  596. placeholder="administration@beescoop.be"/>
  597. </div>
  598. </div>
  599. <div t-if="not logged"
  600. t-attf-class="form-group #{error and 'email_from' in error and 'has-error' or ''}">
  601. <label class="col-md-3 col-sm-4 control-label"
  602. for="confirm_email">Confirm Email
  603. </label>
  604. <div class="col-md-7 col-sm-8 bottom-line"
  605. style="padding-bottom:20px">
  606. <input type="confirm_email"
  607. class="form-control mandatory-field"
  608. name="confirm_email"
  609. t-att-required="not logged"
  610. t-att-readonly="logged"
  611. t-attf-value="#{confirm_email or ''}"
  612. placeholder="didier.bourdon@bees-coop.be"/>
  613. </div>
  614. </div>
  615. <div t-attf-class="form-group #{error and 'iban' in error and 'has-error' or ''}">
  616. <label class="col-md-3 col-sm-4 control-label"
  617. for="iban">Bank Account Number
  618. </label>
  619. <div class="col-md-7 col-sm-8">
  620. <input type="text"
  621. class="form-control mandatory-field"
  622. name="iban"
  623. required="True"
  624. t-att-readonly="logged"
  625. t-attf-value="#{iban or ''}"
  626. placeholder="BE48523080767127"/>
  627. </div>
  628. </div>
  629. <br/>
  630. <div t-attf-class="form-group">
  631. <label>
  632. Main Address
  633. </label>
  634. </div>
  635. <div t-attf-class="form-group #{error and 'address' in error and 'has-error' or ''}">
  636. <label class="col-md-3 col-sm-4 control-label"
  637. for="address">Address
  638. </label>
  639. <div class="col-md-7 col-sm-8">
  640. <input type="text"
  641. class="form-control mandatory-field"
  642. name="address"
  643. required="True"
  644. t-att-readonly="logged"
  645. t-attf-value="#{address or ''}"
  646. placeholder="rue Van Hove, 19"/>
  647. </div>
  648. </div>
  649. <div t-attf-class="form-group #{error and 'zip_code' in error and 'has-error' or ''}">
  650. <label class="col-md-3 col-sm-4 control-label"
  651. for="zip_code">City
  652. </label>
  653. <div class="col-md-7 col-sm-8">
  654. <table>
  655. <tr>
  656. <td width="20%">
  657. <input type="text"
  658. class="form-control mandatory-field"
  659. name="zip_code"
  660. required="True"
  661. t-att-readonly="logged"
  662. t-attf-value="#{zip_code or ''}"
  663. placeholder="1030"/>
  664. </td>
  665. <td width="3%"></td>
  666. <td>
  667. <input type="text"
  668. class="form-control mandatory-field"
  669. name="city"
  670. required="True"
  671. t-att-readonly="logged"
  672. t-attf-value="#{city or ''}"
  673. placeholder="Bruxelles"/>
  674. </td>
  675. </tr>
  676. </table>
  677. </div>
  678. </div>
  679. <div t-attf-class="form-group #{error and 'country_id' in error and 'has-error' or ''}">
  680. <label class="col-md-3 col-sm-4 control-label"
  681. style="width:25%" for="country_id">
  682. Country
  683. </label>
  684. <select name="country_id"
  685. class="col-md-7 col-sm-8 form-control"
  686. required="True"
  687. t-att-readonly="logged"
  688. style="width:54%;margin-left:15px">
  689. <option value="">Country...</option>
  690. <t t-foreach="countries or []"
  691. t-as="country">
  692. <option t-att-value="country.id"
  693. t-att-selected="country.id == int(country_id)">
  694. <t t-esc="country.name"/>
  695. </option>
  696. </t>
  697. </select>
  698. </div>
  699. <br/>
  700. <div t-attf-class="form-group">
  701. <label>
  702. Contact Person
  703. </label>
  704. </div>
  705. <div t-attf-class="form-group #{error and 'firstname' in error and 'has-error' or ''}">
  706. <label class="col-md-3 col-sm-4 control-label"
  707. for="firstname">First Name
  708. </label>
  709. <div class="col-md-7 col-sm-8"
  710. style="padding-top:5px">
  711. <input type="text"
  712. class="form-control mandatory-field"
  713. name="firstname"
  714. required="True"
  715. t-att-readonly="logged"
  716. t-attf-value="#{firstname or ''}"
  717. placeholder="Didier"/>
  718. </div>
  719. </div>
  720. <div t-attf-class="form-group #{error and 'lastname' in error and 'has-error' or ''}">
  721. <label class="col-md-3 col-sm-4 control-label"
  722. for="lastname">Last Name
  723. </label>
  724. <div class="col-md-7 col-sm-8">
  725. <input type="text"
  726. class="form-control mandatory-field"
  727. name="lastname"
  728. required="True"
  729. t-att-readonly="logged"
  730. t-attf-value="#{lastname or ''}"
  731. placeholder="Bourdon"/>
  732. </div>
  733. </div>
  734. <div t-attf-class="form-group #{error and 'gender' in error and 'has-error' or ''}">
  735. <label class="col-md-3 col-sm-4 control-label"
  736. for="gender">Gender
  737. </label>
  738. <select name="gender"
  739. class="col-md-7 col-sm-8 form-control"
  740. required="True"
  741. t-att-readonly="logged"
  742. style="width:54%;margin-left:15px">
  743. <option value=""></option>
  744. <t t-foreach="genders or []"
  745. t-as="type">
  746. <option t-att-value="type[0]"
  747. t-att-selected="type[0] == gender">
  748. <t t-esc="type[1]"/>
  749. </option>
  750. </t>
  751. </select>
  752. </div>
  753. <div name="email_from_container"
  754. t-attf-class="form-group #{error and 'email_from' in error and 'has-error' or ''}">
  755. <label class="col-md-3 col-sm-4 control-label"
  756. for="email">Email
  757. </label>
  758. <div class="col-md-7 col-sm-8 bottom-line"
  759. style="padding-bottom:20px">
  760. <input type="email"
  761. class="form-control mandatory-field"
  762. name="email"
  763. required="True"
  764. t-att-readonly="logged"
  765. t-attf-value="#{email or ''}"
  766. placeholder="didier.bourdon@bees-coop.be"/>
  767. </div>
  768. </div>
  769. <div t-attf-class="form-group #{error and 'phone' in error and 'has-error' or ''}">
  770. <label class="col-md-3 col-sm-4 control-label"
  771. for="phone">Phone
  772. </label>
  773. <div class="col-md-7 col-sm-8 bottom-line"
  774. style="padding-bottom:20px">
  775. <input type="text" class="form-control"
  776. name="phone"
  777. required="True"
  778. t-att-readonly="logged"
  779. t-attf-value="#{phone or ''}"
  780. placeholder="e.g. (+32).81.81.37.00"/>
  781. </div>
  782. </div>
  783. <div t-attf-class="form-group #{error and 'contact_person_function' in error and 'has-error' or ''}">
  784. <label class="col-md-3 col-sm-4 control-label"
  785. for="contact_person_function">
  786. Function
  787. </label>
  788. <div class="col-md-7 col-sm-8">
  789. <input type="text"
  790. class="form-control mandatory-field"
  791. name="contact_person_function"
  792. required="True"
  793. t-att-readonly="logged"
  794. t-attf-value="#{contact_person_function or ''}"/>
  795. </div>
  796. </div>
  797. <div t-attf-class="form-group #{error and 'birthday' in error and 'has-error' or ''}">
  798. <label class="col-md-3 col-sm-4 control-label"
  799. for="birthdate">Birthdate
  800. </label>
  801. <div class="col-md-7 col-sm-8">
  802. <input type="text"
  803. data-inputmask="'alias': 'date'"
  804. class="form-control mandatory-field"
  805. name="birthdate" required="True"
  806. t-att-readonly="logged"
  807. t-attf-value="#{birthdate or ''}"
  808. placeholder="05/03/1978"/>
  809. </div>
  810. </div>
  811. <div t-attf-class="form-group #{error and 'lang' in error and 'has-error' or ''}">
  812. <label class="col-md-3 col-sm-4 control-label"
  813. style="width:25%" for="lang">Language
  814. </label>
  815. <select name="lang"
  816. class="col-md-7 col-sm-8 form-control"
  817. t-att-readonly="logged"
  818. style="width:30%;margin-left:15px">
  819. <option value="2">Language...</option>
  820. <t t-foreach="langs or []"
  821. t-as="langue">
  822. <option t-att-value="langue.code"
  823. t-att-selected="langue.code == lang">
  824. <t t-esc="langue.name"/>
  825. </option>
  826. </t>
  827. </select>
  828. <br/>
  829. <div class="bottom-line"
  830. style="margin-left:25%;margin-top:35px;width:59%"></div>
  831. </div>
  832. <div t-attf-class="form-group #{error and 'product_id' in error and 'has-error' or ''}">
  833. <label class="col-md-3 col-sm-4 control-label"
  834. style="width:25%"
  835. for="share_product_id">Parts type
  836. </label>
  837. <select id="share_product_id"
  838. name="share_product_id"
  839. class="col-md-7 col-sm-8 form-control "
  840. style="width:54%;margin-left:15px">
  841. <t t-foreach="products or []"
  842. t-as="product">
  843. <option t-att-value="product.id"
  844. t-att-selected="product.id == int(share_product_id)">
  845. <t t-esc="product.short_name"/>
  846. </option>
  847. </t>
  848. </select>
  849. </div>
  850. <div name="share_div" class="form-group">
  851. <table style="width:80%">
  852. <tr>
  853. <td width="30%">
  854. <label style="text-align:right; width:100%;padding-right:30px">
  855. Parts number
  856. </label>
  857. </td>
  858. <td width="15%">
  859. <div class="css_quantity input-group oe_website_spinner">
  860. <span class="input-group-addon"
  861. style="margin-left:0px">
  862. <a t-attf-href="#"
  863. class="mb8 js_add_cart_json">
  864. <i class="fa fa-minus"></i>
  865. </a>
  866. </span>
  867. <input type="text"
  868. class="js_quantity form-control"
  869. data-min="1"
  870. name="ordered_parts"
  871. t-attf-value="#{ordered_parts or 1}"/>
  872. <span class="input-group-addon">
  873. <a t-attf-href="#"
  874. class="mb8 float_left js_add_cart_json">
  875. <i class="fa fa-plus"></i>
  876. </a>
  877. </span>
  878. </div>
  879. </td>
  880. <td width="5%">x</td>
  881. <td id="share_price" width="7%">25
  882. </td>
  883. <td width="3%"></td>
  884. <td width="5%">=</td>
  885. <td width="20%">
  886. <div style="margin-top:12px"
  887. t-attf-class="form-group #{error and 'total_parts' in error and 'has-error' or ''}">
  888. <div>
  889. <input type="text"
  890. class="form-control total"
  891. name="total_parts"
  892. value="25"
  893. data-max="5000"
  894. t-att-readonly="'readonly'"
  895. />
  896. </div>
  897. </div>
  898. </td>
  899. </tr>
  900. </table>
  901. </div>
  902. <div class="bottom-line"
  903. style="margin-left:178px;margin-top:0px;width:61%"></div>
  904. <br/>
  905. <div id="data_policy_approved"
  906. t-if="display_data_policy"
  907. t-attf-class="form-group">
  908. <label class="col-md-3 col-sm-4 control-label"
  909. for="data_policy_approved">Privacy
  910. Policy
  911. </label>
  912. <div class="col-md-9 col-sm-8">
  913. <div class="checkbox">
  914. <label>
  915. <input type="checkbox"
  916. name="data_policy_approved"
  917. t-att-required="data_policy_required"
  918. t-att-checked="data_policy_approved"/>
  919. <t t-raw="data_policy_text"/>
  920. </label>
  921. </div>
  922. </div>
  923. </div>
  924. <div id="internal_rules_approved"
  925. t-if="display_internal_rules"
  926. t-attf-class="form-group">
  927. <label class="col-md-3 col-sm-4 control-label"
  928. for="internal_rules_approved">
  929. Internal Rules
  930. </label>
  931. <div class="col-md-9 col-sm-8">
  932. <div class="checkbox">
  933. <label>
  934. <input type="checkbox"
  935. name="internal_rules_approved"
  936. t-att-required="internal_rules_required"
  937. t-att-checked="internal_rules_approved"/>
  938. <t t-raw="internal_rules_text"/>
  939. </label>
  940. </div>
  941. </div>
  942. </div>
  943. <table style="margin-left:195px">
  944. <tr>
  945. <td width="80%">
  946. <!-- TODO: Use a overloaded function with the captcha implementation !-->
  947. <div class="g-recaptcha"
  948. t-if="website.company_id.captcha_type == 'google'"
  949. t-att-data-sitekey="website.recaptcha_key_site"
  950. data-theme="green"/>
  951. <br/>
  952. </td>
  953. <td>
  954. <div class="form-group">
  955. <div class="col-md-offset-3 col-sm-offset-4 col-sm-8 col-md-7">
  956. <button class="btn btn-primary btn-lg">
  957. Send
  958. </button>
  959. </div>
  960. </div>
  961. </td>
  962. </tr>
  963. </table>
  964. <br/>
  965. </form>
  966. </div>
  967. </div>
  968. </div>
  969. <div class="oe_structure"/>
  970. </div>
  971. </t>
  972. </template>
  973. <record id="menu_becomecooperator" model="website.menu">
  974. <field name="name">Become cooperator</field>
  975. <field name="url">/page/become_cooperator</field>
  976. <field name="parent_id" ref="website.main_menu"/>
  977. <field name="sequence" type="int">65</field>
  978. </record>
  979. <!--<template id="footer_coop_email_contact" inherit_id="website.footer_default" customize_show="True" name="Coop email contact">
  980. <xpath expr="//span[@t-field='res_company.email']" position="replace">
  981. <span t-field="res_company.coop_email_contact"></span>
  982. </xpath>
  983. </template>-->
  984. <template id="company_description_coop_email_contact"
  985. inherit_id="website.company_description"
  986. name="Company Description Email Contact">
  987. <xpath expr="//div[@t-field='res_company.partner_id']"
  988. position="replace">
  989. <div t-field="res_company.partner_id" t-field-options='{
  990. "widget": "contact",
  991. "fields": ["name", "address", "phone", "mobile", "fax"]}'/>
  992. <ul class="list-unstyled">
  993. <li t-ignore="true">
  994. <i class="fa fa-envelope"></i>
  995. <span t-field="res_company.coop_email_contact"></span>
  996. </li>
  997. </ul>
  998. </xpath>
  999. </template>
  1000. </odoo>