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

Steps to create my first addon

Zaprenumeruj

Otrzymaj powiadomienie o aktywności w tym poście

To pytanie dostało ostrzeżenie
2 Odpowiedzi
7527 Widoki
Awatar
German

Hi guys

I want to start my very own first custom addon.

I need a button next to 'Create', 'Import' in Project > Tasks (In Progress stage) that exports all the In-Progress tasks as a txt file.

My model looks like this at the moment:

models.py

from odoo import models, fields, api

class export_tasks(models.Model):
_name = 'export_tasks.PS'
_inherit = "project.task"

export_dropdown = fields.Many2one('Model_name')

views.xml

<odoo>
<data>
<record model="ir.ui.view" id="export_tasks.list">
<field name="export_dropdown">export_tasks list</field>
<field name="model">export_tasks.PS</field>
<field name="arch" type="xml">
<tree>
<field name="name"/>
<field name="value"/>
<field name="value2"/>
</tree>
</field>
</record>
</data>
</odoo>

but I am stuck and getting this error:

Traceback (most recent call last):
  File "/opt/bitnami/apps/odoo/lib/odoo-11.0.post20180818-py3.6.egg/odoo/http.py", line 650, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "/opt/bitnami/apps/odoo/lib/odoo-11.0.post20180818-py3.6.egg/odoo/http.py", line 310, in _handle_exception
    raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
  File "/opt/bitnami/apps/odoo/lib/odoo-11.0.post20180818-py3.6.egg/odoo/tools/pycompat.py", line 87, in reraise
    raise value
  File "/opt/bitnami/apps/odoo/lib/odoo-11.0.post20180818-py3.6.egg/odoo/http.py", line 692, in dispatch
    result = self._call_function(**self.params)
  File "/opt/bitnami/apps/odoo/lib/odoo-11.0.post20180818-py3.6.egg/odoo/http.py", line 342, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "/opt/bitnami/apps/odoo/lib/odoo-11.0.post20180818-py3.6.egg/odoo/service/model.py", line 97, in wrapper
    return f(dbname, *args, **kwargs)
  File "/opt/bitnami/apps/odoo/lib/odoo-11.0.post20180818-py3.6.egg/odoo/http.py", line 335, in checked_call
    result = self.endpoint(*a, **kw)
  File "/opt/bitnami/apps/odoo/lib/odoo-11.0.post20180818-py3.6.egg/odoo/http.py", line 936, in __call__
    return self.method(*args, **kw)
  File "/opt/bitnami/apps/odoo/lib/odoo-11.0.post20180818-py3.6.egg/odoo/http.py", line 515, in response_wrap
    response = f(*args, **kw)
  File "/opt/bitnami/apps/odoo/lib/odoo-11.0.post20180818-py3.6.egg/odoo/addons/web/controllers/main.py", line 938, in call_button
    action = self._call_kw(model, method, args, {})
  File "/opt/bitnami/apps/odoo/lib/odoo-11.0.post20180818-py3.6.egg/odoo/addons/web/controllers/main.py", line 926, in _call_kw
    return call_kw(request.env[model], method, args, kwargs)
  File "/opt/bitnami/apps/odoo/lib/odoo-11.0.post20180818-py3.6.egg/odoo/api.py", line 689, in call_kw
    return call_kw_multi(method, model, args, kwargs)
  File "/opt/bitnami/apps/odoo/lib/odoo-11.0.post20180818-py3.6.egg/odoo/api.py", line 680, in call_kw_multi
    result = method(recs, *args, **kwargs)
  File "<decorator-gen-51>", line 2, in button_immediate_upgrade
  File "/opt/bitnami/apps/odoo/lib/odoo-11.0.post20180818-py3.6.egg/odoo/addons/base/module/module.py", line 71, in check_and_log
    return method(self, *args, **kwargs)
  File "/opt/bitnami/apps/odoo/lib/odoo-11.0.post20180818-py3.6.egg/odoo/addons/base/module/module.py", line 603, in button_immediate_upgrade
    return self._button_immediate_function(type(self).button_upgrade)
  File "/opt/bitnami/apps/odoo/lib/odoo-11.0.post20180818-py3.6.egg/odoo/addons/base/module/module.py", line 542, in _button_immediate_function
    modules.registry.Registry.new(self._cr.dbname, update_module=True)
  File "/opt/bitnami/apps/odoo/lib/odoo-11.0.post20180818-py3.6.egg/odoo/modules/registry.py", line 85, in new
    odoo.modules.load_modules(registry._db, force_demo, status, update_module)
  File "/opt/bitnami/apps/odoo/lib/odoo-11.0.post20180818-py3.6.egg/odoo/modules/loading.py", line 376, in load_modules
    force, status, report, loaded_modules, update_module, models_to_check)
  File "/opt/bitnami/apps/odoo/lib/odoo-11.0.post20180818-py3.6.egg/odoo/modules/loading.py", line 274, in load_marked_modules
    perform_checks=perform_checks, models_to_check=models_to_check
  File "/opt/bitnami/apps/odoo/lib/odoo-11.0.post20180818-py3.6.egg/odoo/modules/loading.py", line 153, in load_module_graph
    registry.init_models(cr, model_names, {'module': package.name})
  File "/opt/bitnami/apps/odoo/lib/odoo-11.0.post20180818-py3.6.egg/odoo/modules/registry.py", line 306, in init_models
    model._auto_init()
  File "/opt/bitnami/apps/odoo/lib/odoo-11.0.post20180818-py3.6.egg/odoo/models.py", line 2179, in _auto_init
    raise_on_invalid_object_name(self._name)
  File "/opt/bitnami/apps/odoo/lib/odoo-11.0.post20180818-py3.6.egg/odoo/models.py", line 97, in raise_on_invalid_object_name
    raise ValueError(msg)
ValueError: The _name attribute export_tasks.PS is not valid.

It is worth mentioning that I am not creating a new addon per se but extending functionality to the Project app. You may be asking oh but you can export by selecting tasks and select Action > Export! Sure, but it takes a few more steps and it kind of breaks for me and it is not a txt file, so that's why I do this myself.

Thanks guys!

0
Awatar
Odrzuć
German
Autor

I dont have enough karma points to comment to answers

Yes, my __init__.py has these two lines:

from . import controllers

from . import models

German
Autor

as well as in the models folder

Sehrish

Odoo Customization Tips: https://learnopenerp.tumblr.com/

Awatar
Yenthe Van Ginneken (Mainframe Monkey)
Najlepsza odpowiedź

Hi German,

You're inheriting the model with _inherit = 'project.task'. The name of the model won't change if you set the _name value though (which you really shouldn't even set, it already has a name when the project module is defined). You've defined the value "export_tasks.PS" in the XML, which should be "project.task".

<record model="ir.ui.view" id="export_tasks.list">
<field name="export_dropdown">export_tasks list</field>
<field name="model">project.task</field>

The XML you've defined looks like you want a create a new tree view, while your question points out something differently. If you want to add fields into an existing tree view you should inherit it and xpath into the view. Something like this:

<record id="your_custom_project_tree_view" model="ir.ui.view">
    <field name="inherit_id" ref="project.view_task_tree2"/>
    <field name="model">project.task</field>
    <field name="arch" type="xml">
        <xpath expr="//field[@name='name']" position="after">
            <field name="value2"/>
        </xpath>
    </field>
</record>

Furthermore you seem to be mixing a few concepts into one. You might want to follow the official tutorial, which explains quite a lot about model and view inheritance, see https://www.odoo.com/documentation/12.0/howtos/backend.html#inheritance

Regards,
Yenthe

2
Awatar
Odrzuć
Awatar
subbarao
Najlepsza odpowiedź

Have you imported your .py file in __init__.py

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ę
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