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

How to put an onchange event on a calendar view?

Zaprenumeruj

Otrzymaj powiadomienie o aktywności w tym poście

To pytanie dostało ostrzeżenie
developmentv7
2 Odpowiedzi
13858 Widoki
Awatar
Bonnet Denis

In my personal add-on I've made some calendar,form and tree view. the onchange events work for form and tree view but I don't find how to handle a change of date or duration.

My calendar view:

    <record model="ir.ui.view" id="task_work_calendar">
        <field name="name">project.task.work.form</field>
        <field name="model">project.task.work</field>
        <field name="type">form</field>
        <field name="priority" eval="1"/>
        <field name="arch" type="xml">
            <calendar string="Planning des Taches" date_start="date" date_delay="hours" color="user_id" mode="week">
                <field name="id" invisible='1'/>
                <field name="name" on_change="onchange_name(name,id)" />
                <field name="date" on_change="onchange_date(date,id)" invisible='1'/>
                <field name="hours" on_change="onchange_hours(hours,id)" invisible='1'/>
                <field name="user_id" on_change="onchange_user_id(user_id,id)" modifiers="{'required': true}"/>
            </calendar>
        </field>
    </record>

Cordialement.

5
Awatar
Odrzuć
Bonnet Denis
Autor

I've checked how work a calendar view. Bad news: it's only javascript and I can't use onchange event on calendar's fields(I can write it but it's not use => no Error in the log file). Someone can help me or have a trick to make this??? Thanks

Serpent Consulting Services Pvt. Ltd.

Please remove this field <field name="type">form</field> and try it because in openerp v7 the type field is not medatory and in calendar tag define version="7.0"

Bonnet Denis
Autor

Thanks, I will try this week.

Awatar
Shaun Dawson
Najlepsza odpowiedź

Yeah, on_change does not seem to be supported for calendar fields, which makes sense I suppose.

The way that I accomplished this in my module was to override the Model class 'write' method:

def write(self, cr, uid, ids, vals, context=None):
    print "in write, vals: ", vals
    #fiddle with vals to change what gets written to the DB
    return super(class_name, self).write(cr, uid, ids, vals, context=context)
1
Awatar
Odrzuć
Awatar
Jeudy Nicolas
Najlepsza odpowiedź

Hello,

I use a small hack on each model definition to track changes when writing them.

first, define which field you want to watch:

  • first parameter: field name you want to watch
  • second one: function you want to launch if it change

Here is an example for project.project model:

_watch_attrs = {'stage_id': 'on_change_stage_id', 'project_id': 'on_change_project_id'}

then add this new write function to handle this

def write(self, cr, uid, ids, vals, context=None):

    ## On Change attributes checks
    objs = self.browse(cr, uid, ids)
    for attr, on_change_label in self._watch_attrs.iteritems():
        if attr in vals:
            if any(obj[attr] != vals[attr] for obj in objs):
                vals = getattr(self, on_change_label)(cr, uid, ids, vals, context=context)

    return super(my_inheritedclass, self).write(cr, uid, ids, vals, context)

you now just have to défine what you want in the function that is executed when watching changes:

def on_change_project_id(self, cr, uid, ids, vals, context):
    task_obj = self.pool.get('project.task')
    tasks = self.browse(cr,uid,ids,context=context)[0].tasks_id
    if vals.get('project_id',False):
        new_project = vals.get('project_id',False)
        for task in tasks:
            #DO SOMETHING like chatter post message or action ..

    return vals

So if ou drag an drop event on calendar, you car watch date_start or date_end and execute one specific method. It is very usefull to track stage_id changes when clicking on status widget.

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ść
What's the context? Rozwiązane
development v7
Awatar
Awatar
Awatar
Awatar
9
mar 24
121004
How to hook to events of objects?
development v7
Awatar
Awatar
1
cze 20
13082
Editing process in openerp Rozwiązane
development v7
Awatar
Awatar
Awatar
2
mar 16
11246
Is there a change in how new modules are created in v7?
development v7
Awatar
1
mar 15
4573
How to make OpenERP take my python code modifications into account?
development v7
Awatar
Awatar
2
mar 15
11054
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