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.

1066 lines
64 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 personnal 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 'house_number' in error and 'has-error' or ''}">
  244. <label class="col-md-3 col-sm-4 control-label"
  245. for="house_number">Address
  246. </label>
  247. <div class="col-md-7 col-sm-8">
  248. <table>
  249. <tr>
  250. <td width="15%">
  251. <input type="text"
  252. class="form-control mandatory-field"
  253. name="house_number"
  254. required="True"
  255. t-att-readonly="logged"
  256. t-attf-value="#{house_number or ''}"
  257. placeholder="19"/>
  258. </td>
  259. <td width="3%"></td>
  260. <td>
  261. <input type="text"
  262. class="form-control mandatory-field"
  263. name="street_name"
  264. required="True"
  265. t-att-readonly="logged"
  266. t-attf-value="#{street_name or ''}"
  267. placeholder="rue Van Hove"/>
  268. </td>
  269. </tr>
  270. </table>
  271. </div>
  272. </div>
  273. <div t-attf-class="form-group #{error and 'zip_code' in error and 'has-error' or ''}">
  274. <label class="col-md-3 col-sm-4 control-label"
  275. for="zip_code">City
  276. </label>
  277. <div class="col-md-7 col-sm-8">
  278. <table>
  279. <tr>
  280. <td width="20%">
  281. <input type="text"
  282. class="form-control mandatory-field"
  283. name="zip_code"
  284. required="True"
  285. t-att-readonly="logged"
  286. t-attf-value="#{zip_code or ''}"
  287. placeholder="1030"/>
  288. </td>
  289. <td width="3%"></td>
  290. <td>
  291. <input type="text"
  292. class="form-control mandatory-field"
  293. name="city"
  294. required="True"
  295. t-att-readonly="logged"
  296. t-attf-value="#{city or ''}"
  297. placeholder="Bruxelles"/>
  298. </td>
  299. </tr>
  300. </table>
  301. </div>
  302. </div>
  303. <div t-attf-class="form-group #{error and 'country_id' in error and 'has-error' or ''}">
  304. <label class="col-md-3 col-sm-4 control-label"
  305. style="width:25%" for="country_id">
  306. Country
  307. </label>
  308. <select name="country_id"
  309. class="col-md-7 col-sm-8 form-control "
  310. t-att-readonly="logged"
  311. style="width:54%;margin-left:15px">
  312. <option value="">Country...</option>
  313. <t t-foreach="countries or []"
  314. t-as="country">
  315. <option t-att-value="country.id"
  316. t-att-selected="country.id == int(country_id)">
  317. <t t-esc="country.name"/>
  318. </option>
  319. </t>
  320. </select>
  321. </div>
  322. <div t-attf-class="form-group #{error and 'phone' in error and 'has-error' or ''}">
  323. <label class="col-md-3 col-sm-4 control-label"
  324. for="phone">Phone
  325. </label>
  326. <div class="col-md-7 col-sm-8 bottom-line"
  327. style="padding-bottom:20px">
  328. <input type="text" class="form-control"
  329. name="phone"
  330. required="True"
  331. t-att-readonly="logged"
  332. t-attf-value="#{phone or ''}"
  333. placeholder="e.g. (+32).81.81.37.00"/>
  334. </div>
  335. </div>
  336. <div t-attf-class="form-group #{error and 'share_product_id' in error and 'has-error' or ''}">
  337. <label class="col-md-3 col-sm-4 control-label"
  338. style="width:25%"
  339. for="share_product_id">Parts type
  340. </label>
  341. <select id="share_product_id"
  342. name="share_product_id"
  343. class="col-md-7 col-sm-8 form-control "
  344. style="width:54%;margin-left:15px">
  345. <t t-foreach="products or []"
  346. t-as="product">
  347. <option t-att-value="product.id"
  348. t-att-selected="product.id == int(share_product_id)">
  349. <t t-esc="product.short_name"/>
  350. </option>
  351. </t>
  352. </select>
  353. </div>
  354. <div name="share_div" class="form-group">
  355. <table style="width:80%">
  356. <tr>
  357. <td width="30%">
  358. <label style="text-align:right; width:100%;padding-right:30px">
  359. Parts number
  360. </label>
  361. </td>
  362. <td width="15%">
  363. <div class="css_quantity input-group oe_website_spinner">
  364. <span class="input-group-addon"
  365. style="margin-left:0px">
  366. <a t-attf-href="#"
  367. class="mb8 js_add_cart_json">
  368. <i class="fa fa-minus"></i>
  369. </a>
  370. </span>
  371. <input type="text"
  372. class="js_quantity form-control"
  373. data-min="1"
  374. name="ordered_parts"
  375. t-attf-value="#{ordered_parts or 1}"/>
  376. <span class="input-group-addon">
  377. <a t-attf-href="#"
  378. class="mb8 float_left js_add_cart_json">
  379. <i class="fa fa-plus"></i>
  380. </a>
  381. </span>
  382. </div>
  383. </td>
  384. <td width="5%">x</td>
  385. <td id="share_price" width="5%">25
  386. </td>
  387. <td width="7%"
  388. style="text-align:left;margin-right:20px">
  389. <span t-esc="company.currency_id.symbol"/>
  390. </td>
  391. <td width="4%">=</td>
  392. <td width="20%">
  393. <div style="margin-top:12px"
  394. t-attf-class="form-group #{error and 'total_parts' in error and 'has-error' or ''}">
  395. <div>
  396. <input type="text"
  397. class="form-control total"
  398. name="total_parts"
  399. value="25"
  400. t-att-data-max="company.subscription_maximum_amount"
  401. t-att-readonly="'readonly'"
  402. />
  403. </div>
  404. </div>
  405. </td>
  406. </tr>
  407. </table>
  408. </div>
  409. <div t-if="res_company.allow_id_card_upload"
  410. t-attf-class="form-group #{error and 'file' in error and 'has-error' or ''}">
  411. <label class="col-md-3 col-sm-4 control-label"
  412. style="width:25%" for="file">Idendity
  413. card scan
  414. </label>
  415. <div class="col-md-7 col-sm-8">
  416. <input type="file" class="form-control"
  417. name="Resume"
  418. t-attf-value="#{file or ''}"
  419. style="width:50%"/>
  420. </div>
  421. </div>
  422. <div class="bottom-line"
  423. style="margin-left:178px;margin-top:0px;width:61%"></div>
  424. <br/>
  425. <div id="data_policy_approved"
  426. t-if="display_data_policy"
  427. t-attf-class="form-group">
  428. <label class="col-md-3 col-sm-4 control-label"
  429. for="data_policy_approved">Privacy
  430. Policy
  431. </label>
  432. <div class="col-md-9 col-sm-8">
  433. <div class="checkbox">
  434. <label>
  435. <input type="checkbox"
  436. name="data_policy_approved"
  437. t-att-required="data_policy_required"
  438. t-att-checked="data_policy_approved"/>
  439. <t t-raw="data_policy_text"/>
  440. </label>
  441. </div>
  442. </div>
  443. </div>
  444. <div id="internal_rules_approved"
  445. t-if="display_internal_rules"
  446. t-attf-class="form-group">
  447. <label class="col-md-3 col-sm-4 control-label"
  448. for="internal_rules_approved">
  449. Internal Rules
  450. </label>
  451. <div class="col-md-9 col-sm-8">
  452. <div class="checkbox">
  453. <label>
  454. <input type="checkbox"
  455. name="internal_rules_approved"
  456. t-att-required="internal_rules_required"
  457. t-att-checked="internal_rules_approved"/>
  458. <t t-raw="internal_rules_text"/>
  459. </label>
  460. </div>
  461. </div>
  462. </div>
  463. <table style="margin-left:195px">
  464. <tr>
  465. <td width="80%">
  466. <!-- TODO: Use a overloaded function with the captcha implementation !-->
  467. <div class="g-recaptcha"
  468. t-if="website.company_id.captcha_type == 'google'"
  469. t-att-data-sitekey="website.recaptcha_key_site"
  470. data-theme="green"/>
  471. <br/>
  472. </td>
  473. <td>
  474. <div class="form-group">
  475. <div class="col-md-offset-3 col-sm-offset-4 col-sm-8 col-md-7">
  476. <button class="btn btn-primary btn-lg">
  477. Send
  478. </button>
  479. </div>
  480. </div>
  481. </td>
  482. </tr>
  483. </table>
  484. <br/>
  485. </form>
  486. </div>
  487. </div>
  488. </div>
  489. <div class="oe_structure"/>
  490. </div>
  491. </t>
  492. </template>
  493. <template id="becomecompanycooperator" name="Become Cooperator">
  494. <t t-call="website.layout">
  495. <div id="wrap">
  496. <div class="oe_structure"/>
  497. <div class="container oe_easymy_coop">
  498. <h2 class="energie">Become Cooperator</h2>
  499. <br/>
  500. <div class="row">
  501. <div class="col-md-8">
  502. <form action="/subscription/subscribe_share"
  503. method="post" class="form-horizontal mt32"
  504. enctype="multipart/form-data">
  505. <p style="color:red;">
  506. <t t-esc="error_msg"/>
  507. </p>
  508. <input type="hidden" name="csrf_token"
  509. t-att-value="request.csrf_token()"/>
  510. <div t-attf-class="form-group"
  511. style="display: none;">
  512. <label>
  513. <input type="checkbox"
  514. t-att-checked="logged"
  515. name="logged"/>
  516. Logged
  517. </label>
  518. <label>
  519. <input type="checkbox"
  520. t-att-value="is_company"
  521. checked="checked"
  522. name="is_company"/>
  523. Is a company?
  524. </label>
  525. </div>
  526. <div t-attf-class="form-group">
  527. <label>
  528. Company Info
  529. </label>
  530. </div>
  531. <div t-attf-class="form-group #{error and 'company_register_number' in error and 'has-error' or ''}">
  532. <label class="col-md-3 col-sm-4 control-label"
  533. for="company_register_number">Company
  534. Register Number
  535. </label>
  536. <div class="col-md-7 col-sm-8">
  537. <input type="text"
  538. class="form-control mandatory-field"
  539. name="company_register_number"
  540. required="True"
  541. t-att-readonly="logged"
  542. t-attf-value="#{company_register_number or ''}"
  543. placeholder="0647980091"/>
  544. </div>
  545. </div>
  546. <div t-attf-class="form-group #{error and 'company_name' in error and 'has-error' or ''}">
  547. <label class="col-md-3 col-sm-4 control-label"
  548. for="company_name">Company name
  549. </label>
  550. <div class="col-md-7 col-sm-8">
  551. <input type="text"
  552. class="form-control mandatory-field"
  553. name="company_name"
  554. required="True"
  555. t-att-readonly="logged"
  556. t-attf-value="#{company_name or ''}"
  557. placeholder="La super coopérative"/>
  558. </div>
  559. </div>
  560. <div t-attf-class="form-group #{error and 'company_type' in error and 'has-error' or ''}">
  561. <label class="col-md-3 col-sm-4 control-label"
  562. for="company_type">Company type
  563. </label>
  564. <select name="company_type"
  565. class="col-md-7 col-sm-8 form-control"
  566. required="True"
  567. t-att-readonly="logged"
  568. style="width:54%;margin-left:15px">
  569. <option value=""></option>
  570. <t t-foreach="company_types or []"
  571. t-as="type">
  572. <option t-att-value="type[0]"
  573. t-att-selected="type[0] == company_type">
  574. <t t-esc="type[1]"/>
  575. </option>
  576. </t>
  577. </select>
  578. </div>
  579. <div t-attf-class="form-group #{error and 'company_email' in error and 'has-error' or ''}">
  580. <label class="col-md-3 col-sm-4 control-label"
  581. for="company_email">Company email
  582. </label>
  583. <div class="col-md-7 col-sm-8">
  584. <input type="text"
  585. class="form-control mandatory-field"
  586. name="company_email"
  587. required="True"
  588. t-attf-value="#{company_email or ''}"
  589. placeholder="administration@beescoop.be"/>
  590. </div>
  591. </div>
  592. <div t-if="not logged"
  593. t-attf-class="form-group #{error and 'email_from' in error and 'has-error' or ''}">
  594. <label class="col-md-3 col-sm-4 control-label"
  595. for="confirm_email">Confirm Email
  596. </label>
  597. <div class="col-md-7 col-sm-8 bottom-line"
  598. style="padding-bottom:20px">
  599. <input type="confirm_email"
  600. class="form-control mandatory-field"
  601. name="confirm_email"
  602. t-att-required="not logged"
  603. t-att-readonly="logged"
  604. t-attf-value="#{confirm_email or ''}"
  605. placeholder="didier.bourdon@bees-coop.be"/>
  606. </div>
  607. </div>
  608. <div t-attf-class="form-group #{error and 'iban' in error and 'has-error' or ''}">
  609. <label class="col-md-3 col-sm-4 control-label"
  610. for="iban">Bank Account Number
  611. </label>
  612. <div class="col-md-7 col-sm-8">
  613. <input type="text"
  614. class="form-control mandatory-field"
  615. name="iban"
  616. required="True"
  617. t-att-readonly="logged"
  618. t-attf-value="#{iban or ''}"
  619. placeholder="BE48523080767127"/>
  620. </div>
  621. </div>
  622. <br/>
  623. <div t-attf-class="form-group">
  624. <label>
  625. Main Address
  626. </label>
  627. </div>
  628. <div t-attf-class="form-group #{error and 'address' in error and 'has-error' or ''}">
  629. <label class="col-md-3 col-sm-4 control-label"
  630. for="address">Address
  631. </label>
  632. <div class="col-md-7 col-sm-8">
  633. <table>
  634. <tr>
  635. <td width="15%">
  636. <input type="text"
  637. class="form-control mandatory-field"
  638. name="house_number"
  639. required="True"
  640. t-att-readonly="logged"
  641. t-attf-value="#{street_number or ''}"
  642. placeholder="19"/>
  643. </td>
  644. <td width="3%"></td>
  645. <td>
  646. <input type="text"
  647. class="form-control mandatory-field"
  648. name="street_name"
  649. required="True"
  650. t-att-readonly="logged"
  651. t-attf-value="#{street_name or ''}"
  652. placeholder="rue Van Hove"/>
  653. </td>
  654. </tr>
  655. </table>
  656. </div>
  657. </div>
  658. <div t-attf-class="form-group #{error and 'zip_code' in error and 'has-error' or ''}">
  659. <label class="col-md-3 col-sm-4 control-label"
  660. for="zip_code">City
  661. </label>
  662. <div class="col-md-7 col-sm-8">
  663. <table>
  664. <tr>
  665. <td width="20%">
  666. <input type="text"
  667. class="form-control mandatory-field"
  668. name="zip_code"
  669. required="True"
  670. t-att-readonly="logged"
  671. t-attf-value="#{zip_code or ''}"
  672. placeholder="1030"/>
  673. </td>
  674. <td width="3%"></td>
  675. <td>
  676. <input type="text"
  677. class="form-control mandatory-field"
  678. name="city"
  679. required="True"
  680. t-att-readonly="logged"
  681. t-attf-value="#{city or ''}"
  682. placeholder="Bruxelles"/>
  683. </td>
  684. </tr>
  685. </table>
  686. </div>
  687. </div>
  688. <div t-attf-class="form-group #{error and 'country_id' in error and 'has-error' or ''}">
  689. <label class="col-md-3 col-sm-4 control-label"
  690. style="width:25%" for="country_id">
  691. Country
  692. </label>
  693. <select name="country_id"
  694. class="col-md-7 col-sm-8 form-control"
  695. t-att-readonly="logged"
  696. style="width:54%;margin-left:15px">
  697. <option value="">Country...</option>
  698. <t t-foreach="countries or []"
  699. t-as="country">
  700. <option t-att-value="country.id"
  701. t-att-selected="country.id == int(country_id)">
  702. <t t-esc="country.name"/>
  703. </option>
  704. </t>
  705. </select>
  706. </div>
  707. <br/>
  708. <div t-attf-class="form-group">
  709. <label>
  710. Contact Person
  711. </label>
  712. </div>
  713. <div t-attf-class="form-group #{error and 'firstname' in error and 'has-error' or ''}">
  714. <label class="col-md-3 col-sm-4 control-label"
  715. for="firstname">First Name
  716. </label>
  717. <div class="col-md-7 col-sm-8"
  718. style="padding-top:5px">
  719. <input type="text"
  720. class="form-control mandatory-field"
  721. name="firstname"
  722. required="True"
  723. t-att-readonly="logged"
  724. t-attf-value="#{firstname or ''}"
  725. placeholder="Didier"/>
  726. </div>
  727. </div>
  728. <div t-attf-class="form-group #{error and 'lastname' in error and 'has-error' or ''}">
  729. <label class="col-md-3 col-sm-4 control-label"
  730. for="lastname">Last Name
  731. </label>
  732. <div class="col-md-7 col-sm-8">
  733. <input type="text"
  734. class="form-control mandatory-field"
  735. name="lastname"
  736. required="True"
  737. t-att-readonly="logged"
  738. t-attf-value="#{lastname or ''}"
  739. placeholder="Bourdon"/>
  740. </div>
  741. </div>
  742. <div t-attf-class="form-group #{error and 'gender' in error and 'has-error' or ''}">
  743. <label class="col-md-3 col-sm-4 control-label"
  744. for="gender">Gender
  745. </label>
  746. <select name="gender"
  747. class="col-md-7 col-sm-8 form-control"
  748. required="True"
  749. t-att-readonly="logged"
  750. style="width:54%;margin-left:15px">
  751. <option value=""></option>
  752. <t t-foreach="genders or []"
  753. t-as="type">
  754. <option t-att-value="type[0]"
  755. t-att-selected="type[0] == gender">
  756. <t t-esc="type[1]"/>
  757. </option>
  758. </t>
  759. </select>
  760. </div>
  761. <div name="email_from_container"
  762. t-attf-class="form-group #{error and 'email_from' in error and 'has-error' or ''}">
  763. <label class="col-md-3 col-sm-4 control-label"
  764. for="email">Email
  765. </label>
  766. <div class="col-md-7 col-sm-8 bottom-line"
  767. style="padding-bottom:20px">
  768. <input type="email"
  769. class="form-control mandatory-field"
  770. name="email"
  771. required="True"
  772. t-att-readonly="logged"
  773. t-attf-value="#{email or ''}"
  774. placeholder="didier.bourdon@bees-coop.be"/>
  775. </div>
  776. </div>
  777. <div t-attf-class="form-group #{error and 'phone' in error and 'has-error' or ''}">
  778. <label class="col-md-3 col-sm-4 control-label"
  779. for="phone">Phone
  780. </label>
  781. <div class="col-md-7 col-sm-8 bottom-line"
  782. style="padding-bottom:20px">
  783. <input type="text" class="form-control"
  784. name="phone"
  785. required="True"
  786. t-att-readonly="logged"
  787. t-attf-value="#{phone or ''}"
  788. placeholder="e.g. (+32).81.81.37.00"/>
  789. </div>
  790. </div>
  791. <div t-attf-class="form-group #{error and 'contact_person_function' in error and 'has-error' or ''}">
  792. <label class="col-md-3 col-sm-4 control-label"
  793. for="contact_person_function">
  794. Function
  795. </label>
  796. <div class="col-md-7 col-sm-8">
  797. <input type="text"
  798. class="form-control mandatory-field"
  799. name="contact_person_function"
  800. required="True"
  801. t-att-readonly="logged"
  802. t-attf-value="#{contact_person_function or ''}"/>
  803. </div>
  804. </div>
  805. <div t-attf-class="form-group #{error and 'birthday' in error and 'has-error' or ''}">
  806. <label class="col-md-3 col-sm-4 control-label"
  807. for="birthdate">Birthdate
  808. </label>
  809. <div class="col-md-7 col-sm-8">
  810. <input type="text"
  811. data-inputmask="'alias': 'date'"
  812. class="form-control mandatory-field"
  813. name="birthdate" required="True"
  814. t-att-readonly="logged"
  815. t-attf-value="#{birthdate or ''}"
  816. placeholder="05/03/1978"/>
  817. </div>
  818. </div>
  819. <div t-attf-class="form-group #{error and 'lang' in error and 'has-error' or ''}">
  820. <label class="col-md-3 col-sm-4 control-label"
  821. style="width:25%" for="lang">Language
  822. </label>
  823. <select name="lang"
  824. class="col-md-7 col-sm-8 form-control"
  825. t-att-readonly="logged"
  826. style="width:30%;margin-left:15px">
  827. <option value="2">Language...</option>
  828. <t t-foreach="langs or []"
  829. t-as="langue">
  830. <option t-att-value="langue.code"
  831. t-att-selected="langue.code == lang">
  832. <t t-esc="langue.name"/>
  833. </option>
  834. </t>
  835. </select>
  836. <br/>
  837. <div class="bottom-line"
  838. style="margin-left:25%;margin-top:35px;width:59%"></div>
  839. </div>
  840. <div t-attf-class="form-group #{error and 'product_id' in error and 'has-error' or ''}">
  841. <label class="col-md-3 col-sm-4 control-label"
  842. style="width:25%"
  843. for="share_product_id">Parts type
  844. </label>
  845. <select id="share_product_id"
  846. name="share_product_id"
  847. class="col-md-7 col-sm-8 form-control "
  848. style="width:54%;margin-left:15px">
  849. <t t-foreach="products or []"
  850. t-as="product">
  851. <option t-att-value="product.id"
  852. t-att-selected="product.id == int(share_product_id)">
  853. <t t-esc="product.short_name"/>
  854. </option>
  855. </t>
  856. </select>
  857. </div>
  858. <div name="share_div" class="form-group">
  859. <table style="width:80%">
  860. <tr>
  861. <td width="30%">
  862. <label style="text-align:right; width:100%;padding-right:30px">
  863. Parts number
  864. </label>
  865. </td>
  866. <td width="15%">
  867. <div class="css_quantity input-group oe_website_spinner">
  868. <span class="input-group-addon"
  869. style="margin-left:0px">
  870. <a t-attf-href="#"
  871. class="mb8 js_add_cart_json">
  872. <i class="fa fa-minus"></i>
  873. </a>
  874. </span>
  875. <input type="text"
  876. class="js_quantity form-control"
  877. data-min="1"
  878. name="ordered_parts"
  879. t-attf-value="#{ordered_parts or 1}"/>
  880. <span class="input-group-addon">
  881. <a t-attf-href="#"
  882. class="mb8 float_left js_add_cart_json">
  883. <i class="fa fa-plus"></i>
  884. </a>
  885. </span>
  886. </div>
  887. </td>
  888. <td width="5%">x</td>
  889. <td id="share_price" width="7%">25
  890. </td>
  891. <td width="3%"></td>
  892. <td width="5%">=</td>
  893. <td width="20%">
  894. <div style="margin-top:12px"
  895. t-attf-class="form-group #{error and 'total_parts' in error and 'has-error' or ''}">
  896. <div>
  897. <input type="text"
  898. class="form-control total"
  899. name="total_parts"
  900. value="25"
  901. data-max="5000"
  902. t-att-readonly="'readonly'"
  903. />
  904. </div>
  905. </div>
  906. </td>
  907. </tr>
  908. </table>
  909. </div>
  910. <div class="bottom-line"
  911. style="margin-left:178px;margin-top:0px;width:61%"></div>
  912. <br/>
  913. <div id="data_policy_approved"
  914. t-if="display_data_policy"
  915. t-attf-class="form-group">
  916. <label class="col-md-3 col-sm-4 control-label"
  917. for="data_policy_approved">Privacy
  918. Policy
  919. </label>
  920. <div class="col-md-9 col-sm-8">
  921. <div class="checkbox">
  922. <label>
  923. <input type="checkbox"
  924. name="data_policy_approved"
  925. t-att-required="data_policy_required"
  926. t-att-checked="data_policy_approved"/>
  927. <t t-raw="data_policy_text"/>
  928. </label>
  929. </div>
  930. </div>
  931. </div>
  932. <div id="internal_rules_approved"
  933. t-if="display_internal_rules"
  934. t-attf-class="form-group">
  935. <label class="col-md-3 col-sm-4 control-label"
  936. for="internal_rules_approved">
  937. Internal Rules
  938. </label>
  939. <div class="col-md-9 col-sm-8">
  940. <div class="checkbox">
  941. <label>
  942. <input type="checkbox"
  943. name="internal_rules_approved"
  944. t-att-required="internal_rules_required"
  945. t-att-checked="internal_rules_approved"/>
  946. <t t-raw="internal_rules_text"/>
  947. </label>
  948. </div>
  949. </div>
  950. </div>
  951. <table style="margin-left:195px">
  952. <tr>
  953. <td width="80%">
  954. <!-- TODO: Use a overloaded function with the captcha implementation !-->
  955. <div class="g-recaptcha"
  956. t-if="website.company_id.captcha_type == 'google'"
  957. t-att-data-sitekey="website.recaptcha_key_site"
  958. data-theme="green"/>
  959. <br/>
  960. </td>
  961. <td>
  962. <div class="form-group">
  963. <div class="col-md-offset-3 col-sm-offset-4 col-sm-8 col-md-7">
  964. <button class="btn btn-primary btn-lg">
  965. Send
  966. </button>
  967. </div>
  968. </div>
  969. </td>
  970. </tr>
  971. </table>
  972. <br/>
  973. </form>
  974. </div>
  975. </div>
  976. </div>
  977. <div class="oe_structure"/>
  978. </div>
  979. </t>
  980. </template>
  981. <record id="menu_becomecooperator" model="website.menu">
  982. <field name="name">Become cooperator</field>
  983. <field name="url">/page/become_cooperator</field>
  984. <field name="parent_id" ref="website.main_menu"/>
  985. <field name="sequence" type="int">65</field>
  986. </record>
  987. <!--<template id="footer_coop_email_contact" inherit_id="website.footer_default" customize_show="True" name="Coop email contact">
  988. <xpath expr="//span[@t-field='res_company.email']" position="replace">
  989. <span t-field="res_company.coop_email_contact"></span>
  990. </xpath>
  991. </template>-->
  992. <template id="company_description_coop_email_contact"
  993. inherit_id="website.company_description"
  994. name="Company Description Email Contact">
  995. <xpath expr="//div[@t-field='res_company.partner_id']"
  996. position="replace">
  997. <div t-field="res_company.partner_id" t-field-options='{
  998. "widget": "contact",
  999. "fields": ["name", "address", "phone", "mobile", "fax"]}'/>
  1000. <ul class="list-unstyled">
  1001. <li t-ignore="true">
  1002. <i class="fa fa-envelope"></i>
  1003. <span t-field="res_company.coop_email_contact"></span>
  1004. </li>
  1005. </ul>
  1006. </xpath>
  1007. </template>
  1008. </odoo>