Skip to Content
Odoo Menu
  • Zaloguj się
  • Wypróbuj za darmo
  • Aplikacje
    Finanse
    • Księgowość
    • Fakturowanie
    • Wydatki
    • Arkusz kalkulacyjny (BI)
    • Dokumenty
    • Podpisy
    Sprzedaż
    • CRM
    • Sprzedaż
    • PoS Sklep
    • PoS Restauracja
    • Subskrypcje
    • Wypożyczalnia
    Strony Internetowe
    • Kreator Stron Internetowych
    • eCommerce
    • Blog
    • Forum
    • Czat na Żywo
    • eLearning
    Łańcuch dostaw
    • Magazyn
    • Produkcja
    • PLM
    • Zakupy
    • Konserwacja
    • Jakość
    Zasoby Ludzkie
    • Pracownicy
    • Rekrutacja
    • Urlopy
    • Ocena pracy
    • Polecenia Pracownicze
    • Flota
    Marketing
    • Marketing Społecznościowy
    • E-mail Marketing
    • SMS Marketing
    • Wydarzenia
    • Automatyzacja Marketingu
    • Ankiety
    Usługi
    • Projekt
    • Ewidencja czasu pracy
    • Usługi Terenowe
    • Helpdesk
    • Planowanie
    • Spotkania
    Produktywność
    • Dyskusje
    • Zatwierdzenia
    • IoT
    • VoIP
    • Baza wiedzy
    • WhatsApp
    Aplikacje trzecich stron Studio Odoo Odoo Cloud Platform
  • Branże
    Sprzedaż detaliczna
    • Księgarnia
    • Sklep odzieżowy
    • Sklep meblowy
    • Sklep spożywczy
    • Sklep z narzędziami
    • Sklep z zabawkami
    Żywienie i hotelarstwo
    • Bar i Pub
    • Restauracja
    • Fast Food
    • Pensjonat
    • Dystrybutor napojów
    • Hotel
    Agencja nieruchomości
    • Agencja nieruchomości
    • Biuro architektoniczne
    • Budowa
    • Zarządzanie nieruchomościami
    • Ogrodnictwo
    • Stowarzyszenie właścicieli nieruchomości
    Doradztwo
    • Biuro księgowe
    • Partner Odoo
    • Agencja marketingowa
    • Kancelaria prawna
    • Agencja rekrutacyjna
    • Audyt i certyfikacja
    Produkcja
    • Tekstylia
    • Metal
    • Meble
    • Jedzenie
    • Browar
    • Prezenty firmowe
    Zdrowie & Fitness
    • Klub sportowy
    • Salon optyczny
    • Centrum fitness
    • Praktycy Wellness
    • Apteka
    • Salon fryzjerski
    Transakcje
    • Złota rączka
    • Wsparcie Sprzętu IT
    • Systemy energii słonecznej
    • Szewc
    • Firma sprzątająca
    • Usługi HVAC
    Inne
    • Organizacja non-profit
    • Agencja Środowiskowa
    • Wynajem billboardów
    • Fotografia
    • Leasing rowerów
    • Sprzedawca oprogramowania
    Przeglądaj wszystkie branże
  • Community
    Ucz się
    • Samouczki
    • Dokumentacja
    • Certyfikacje
    • Szkolenie
    • Blog
    • Podcast
    Pomóż w nauce innym
    • Program Edukacyjny
    • Scale Up! Gra biznesowa
    • Odwiedź Odoo
    Skorzystaj z oprogramowania
    • Pobierz
    • Porównaj edycje
    • Wydania
    Współpracuj
    • Github
    • Forum
    • Wydarzenia
    • Tłumaczenia
    • Zostań partnerem
    • Usługi dla partnerów
    • Zarejestruj swoją firmę rachunkową
    Skorzystaj z usług
    • Znajdź partnera
    • Znajdź księgowego
    • Spotkaj się z doradcą
    • Usługi wdrożenia
    • Opinie klientów
    • Wsparcie
    • Aktualizacje
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Zaplanuj demo
  • Cennik
  • Pomoc

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • CRM
  • e-Commerce
  • Księgowość
  • Zapasy
  • PoS
  • Projekt
  • MRP
All apps
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
Wszystkie posty Osoby Odznaki
Tagi (Zobacz wszystko)
odoo accounting v14 pos v15
O tym forum
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
Wszystkie posty Osoby Odznaki
Tagi (Zobacz wszystko)
odoo accounting v14 pos v15
O tym forum
Pomoc

Odoo 10 copy one2many line on client side

Zaprenumeruj

Otrzymaj powiadomienie o aktywności w tym poście

To pytanie dostało ostrzeżenie
webclientlistviewbuttonsodoo10
4302 Widoki
Awatar
Nick Booker

I'm trying to allow a user to duplicate a line on a one2many (sales order line to be precise) on the client side.  The customer expressly doesn't want to have to save the sales order in order to do this.

I've tried to add a copy button to the right hand side of ListView:

    <t t-extend="ListView.row">
<t t-jquery=".o_list_record_delete" t-operation="after">
<td t-if="options.deletable">
<button type="button" aria-hidden="true"
class="o_icon_button o_kf_so_line_copy_button">
<i class="fa fa-copy"/>
</button>
<!-- <a class="o_kf_so_line_copy_button"><i class="fa fa-copy"/></a> -->
</td>
</t>
</t>
<t t-extend="ListView">
<!-- TODO little quirk is that striping doesn't carry into copy column. Fix this at end if time and solution otherwise works. -->
<t t-jquery='t[t-set="columns_count"]' t-operation="after">
<t t-set="columns_count" value="columns_count + (options.deletable ? 1 : 0)"/>
</t>
<t t-jquery=".o_list_record_delete" t-operation="after">
<td t-if="options.deletable" class="o_kf_so_line_copy"/>
</t>
</t>

Note a couple of attempts one using <button> and another using <a>.

Here is my javascript where I try to set up a click handler:

odoo.define('acme_flobbits_management.SOLineCopyWidgets', function (require) {
"use strict";


var core = require('web.core');
var Widget = require('web.Widget');
var utils = require('web.utils');
var ListView = require('web.ListView');
var SOLineCopyDialog = require('acme_flobbits_management.SOLineCopyDialog');
ListView.include({
reload_content: function() {
var self = this;
var reloaded = this._super();
reloaded.then(function() {
var $elements = self.$el.find('.o_kf_so_line_copy_button');
// Finding the elements OK
$elements.click(function(e) {
// But this click handler's getting ignored when it's a "span"
// Declaring as button lets it work, but then Odoo ListView gets its knickers in a twist
// list_view.js 996 will give clues for this and for how to get at the data we need!
e.preventDefault();
e.stopPropagation();
SOLineCopyDialog.createSOLineCopyDialog(self);
});
});
return reloaded;
}
});
});


Using the <button> tag, Odoo throws a wobbly on load because the javascript is looking for any button tags nested inside the td and making its own click handler that requires a 'field' data attribute, but my button doesn't bind to a field so I don't think that makes sense.

Using the <a> tag, Odoo happily lets me do it, but the click is ignored and passed through to the row, so the Sale Order Line form is popped up as if I'd clicked elsewhere on the row instead of running the javascript I've tried to connect to the <a> tag's click event.

Looking in the Firefox debugger, there is indeed no little [ev] marker next to my <a> tag in the inspector.

Q1: Firstly, am I approaching this the right way overall (by extending ListView)?  Or is there some standard way to add a column of buttons to a specific field's one2many table, only in Edit mode, and perform some client-side-only action in response to it while keeping knowledge of the record being copied and allowing the one2many view to be updated after adding what I assume will be a new (0, False, {fields}) thing to Javascript's copy of the field.

Q2: Secondly, if I am approaching this the right way, how do I:

  a) get my click handler to be registered and triggered?

  b) find out in my extended ListView whether a particular attribute of the tree in my view arch XML, e.g. <tree kf_copyable_so_line="1"/>, has been set?


0
Awatar
Odrzuć
Podoba Ci się ta dyskusja? Dołącz do niej!

Stwórz konto dzisiaj, aby cieszyć się ekskluzywnymi funkcjami i wchodzić w interakcje z naszą wspaniałą społecznością!

Zarejestruj się
Powiązane posty Odpowiedzi Widoki Czynność
How to change the position of setup button from by default left to right side inside the column ?
treeview listview buttons
Awatar
0
gru 23
2258
Can one change the form view that is displayed on a NOT editable list?
listview formview odoo10
Awatar
0
lis 19
4392
How to filter list view by related field Rozwiązane
filter listview odoo10
Awatar
Awatar
6
sie 18
11676
Please Help me, I cant any action on 'Validate' button?
buttons js odoo10
Awatar
0
kwi 18
4330
One2many list view Buttons
listview buttons one2many_list
Awatar
0
sty 18
4973
Społeczność
  • Samouczki
  • Dokumentacja
  • Forum
Open Source
  • Pobierz
  • Github
  • Runbot
  • Tłumaczenia
Usługi
  • Hosting Odoo.sh
  • Wsparcie
  • Aktualizacja
  • Indywidualne rozwiązania
  • Edukacja
  • Znajdź księgowego
  • Znajdź partnera
  • Zostań partnerem
O nas
  • Nasza firma
  • Zasoby marki
  • Skontaktuj się z nami
  • Oferty pracy
  • Wydarzenia
  • Podcast
  • Blog
  • Klienci
  • Informacje prawne • Prywatność
  • Bezpieczeństwo Odoo
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

Odoo to pakiet aplikacji biznesowych typu open source, które zaspokoją wszystkie potrzeby Twojej firmy: CRM, eCommerce, księgowość, inwentaryzacja, punkt sprzedaży, zarządzanie projektami itp.

Unikalną wartością Odoo jest to, że jest jednocześnie bardzo łatwe w użyciu i w pełni zintegrowane.

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now