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.

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