Skip to Content

Odoo 19: Firma archivéieren mat Portalbenotzer – Modul partner_archive_users mat Réckfro amplaz Feelermeldung

3. November 2026 | Odoo 19 Community | Eegenentwécklung
3. November 2026 by
Odoo 19: Firma archivéieren mat Portalbenotzer – Modul partner_archive_users mat Réckfro amplaz Feelermeldung

Odoo 19 Modul partner_archive_users: Réckfro beim Archivéiere vun enger Firma mat Portalbenotzer

Eng Clientefirma ass fortgezunn, de Kontrakt ass ofgelaaf, an Dir wëllt si an Odoo archivéieren. Odoo äntwert mat enger Feelermeldung: „Dir kënnt keng Kontakter archivéieren, déi mat engem aktive Benotzer verbonne sinn. Archivéiert fir d'éischt deen zoustännege Benotzer.“ Huet d'Firma méi Portalzougäng, heescht dat: all Benotzer eenzel sichen, eenzel archivéieren, zréck bei d'Firma, nach eng Kéier archivéieren.

Mir hu dofir de klenge Modul Firma archivéieren mat Portalbenotzer (partner_archive_users) fir Odoo 19 geschriwwen. Amplaz vun der Feelermeldung kënnt eng Réckfro, a bei „Jo“ ginn d'Portalbenotzer an d'Firma an engem Schrëtt archivéiert. De Modul steet als fräi Software ënner der AGPL-3-Lizenz op GitHub:

github.com/Alex0176/odoo-partner-archive-users

Mir setzen de Modul bei Biricon IT Services zënter dem 3. November 2026 an eisem Produktivsystem an. Hien ass nei, d'Erfarung domat ass also kuerz. Wien en iwwerhëlt, sollt d'Abschnitter zu Ëmfang a Grenzen liesen.

De Problem am Odoo-Standard

Odoo préift beim Archivéiere vun engem Kontakt, ob e Benotzer dru hänkt, a briecht of, wann jo. D'Préifung mécht Sënn, well all Benotzer e Kontakt brauch. Fir intern Benotzer, also Mataarbechter, ass d'Spär och gewollt. Bei Portalbenotzer vu Clienten ass si awer virun allem Handaarbecht. All Clientefirma mat Portalzougäng, zum Beispill fir Rechnungen an Tickete kucken, brauch beim Archivéiere deeselwechten Oflaf:

  1. Benotzer vun der Firma a vun hiren Ugespréchspartner sichen,
  2. all eenzel archivéieren,
  3. zréck bei d'Firma,
  4. Firma archivéieren.

D'Léisung: eng Réckfro

De Modul erweidert de Wee Aktioun → Archivéieren um Kontakt, am Formulaire wéi an der Lëscht. Hänken un der gewielter Firma oder un hire Ugespréchspartner aktiv Portalbenotzer, geet en Dialog mat der Fro op: „Soll d'Firma wierklech archivéiert ginn? Et sinn nach aktiv Benotzer am System.“ Drënner stinn déi betraffe Benotzer mat Numm, Umeldenumm a Kontakt.

Vergläich: Odoo-Feelermeldung beim Archivéiere vun enger Firma an de Réckfro-Dialog vum Modul

  • Jo, Firma a Benotzer archivéieren: Fir d'éischt ginn d'Benotzer archivéiert, dann d'Firma.
  • Ofbriechen: Et ännert sech näischt.
  • Keng Portalbenotzer do: Odoo verhält sech wéi bis elo, et erschéngt kee Dialog.

Wat archivéiert gëtt a wat net

Den Ëmfang ass bewosst eng gefaasst:

Iwwersiicht: Portalbenotzer a Firma ginn archivéiert, Ugespréchspartner bleiwen aktiv, intern Benotzer ginn ni ugepaakt

  • Nëmmen Portal- an ëffentlech Benotzer (share = True). Intern Benotzer ginn iwwer dëse Wee ni archivéiert. Hänkt e Mataarbechterzougang um Kontakt, bleift d'Feelermeldung vun Odoo bestoen. Sou späert ni een aus Versinn e Mataarbechter, well hien eng Firma archivéiert huet.
  • Ugespréchspartner bleiwen als Kontakter aktiv. Nëmmen hir Portalzougäng ginn archivéiert. Dat entsprécht dem Odoo-Standard, deen beim Archivéiere vun enger Firma d'Ënnerkontakter och net upaakt.
  • Nëmmen de Archivéiere-Wee vun der Uewerfläch. E direkten write({'active': False}), zum Beispill an engem Import oder Skript, leeft onverännert an d'Préifung vun Odoo.

Technesch Ëmsetzung

De Modul huet keng nei Felder un existente Modeller. Hie besteet aus enger Erweiderung vun res.partner.action_archive an engem Assistent (partner.archive.users.wizard), deen als Dialog erschéngt.

BausteeAufgab
action_archive um KontaktSicht aktiv Benotzer mat share = True, déi um Kontakt oder (bei Firmen) un Kontakter vun der Firma hänken. Gëtt et der, gëtt amplaz ze archivéieren den Dialog zréckginn.
AssistentSpäichert Firma a fonnte Benotzer, weist se un a féiert bei „Jo“ d'Archivéierung mam Kontextschlëssel archive_linked_users aus.
Kontext skip_archive_users_wizardSchalt den Dialog aus. Dann gëllt erëm d'Préifung vun Odoo.
ZougrëffDen Assistent däerfen intern Benotzer (base.group_user) uleeën an notzen.
IwwersetzungDäitsch (de.po) a Virlag (.pot) leien derbäi.

D'Benotzer ginn mat erhéigte Rechter gesicht an archivéiert (sudo). Doduerch funktionéiert den Dialog och fir Benotzer ouni Zougrëff op d'Benotzerverwaltung. Déi aner Säit steet ënner Grenzen.

E Fonn: Den Test war gréng, den Dialog trotzdem futti

De Modul hat beim éischten Asaz e Feeler, deen d'automatesch Tester net fonnt hunn. Beim éischte Klick op „Archivéieren“ an der Uewerfläch ass amplaz vum Dialog den Odoo-Feelerbildschierm mat Cannot read properties of undefined (reading 'map') erschéngen.

D'Ursaach: De Web-Client rifft action_archive direkt op a féiert eng zréckginn Aktioun ouni weider Opbereedung aus. Dobäi liest hien zwéngend de Schlëssel views vun der Aktioun. Eis Aktioun hat nëmmen view_mode. Aktioune vu Knäpp mat type="object" ergänzt de Server virdrun (clean_action an call_button), den direkten Opruff vun action_archive net. D'Tester hunn d'Method nëmmen a Python opgeruff, an do ass dat feelend Feld net opgefall.

De Fix ass eng Zeil ("views": [(False, "form")]), derbäi kënnt eng Préifung am Test, déi genee dëse Schlëssel verlaangt. Dobäi gouf näischt archivéiert. D'Lektioun: Wien eng Aktioun aus enger Method zréckgëtt, déi de Client direkt opruff (action_archive, action_unarchive an ähnlech), sollt views ëmmer matginn.

Installatioun

git clone https://github.com/Alex0176/odoo-partner-archive-users.git
ln -s /pfad/odoo-partner-archive-users/partner_archive_users /pfad/addons/
odoo-bin -c odoo.conf -d <datenbank> -i partner_archive_users --stop-after-init

Ofhängegkeeten sinn base an contacts. Nom Installéiere muss den Odoo-Déngscht nei gestart ginn, well de Modul Python-Code enthält. Wien e produktive System bedreift, installéiert de Modul fir d'éischt op enger Kopie vun der Datebank.

Grenzen

  • Berechtegung. Well d'Benotzer mat erhéigte Rechter archivéiert ginn, kann jiddereen, deen e Kontakt archivéiere däerf, iwwer den Dialog och d'Portalzougäng vun dëser Firma archivéieren. Fir intern Benotzer gräift dat net. Wien Portalzougäng méi fäin absécheren wëll, muss de Modul upassen.
  • Keng automatesch Restauratioun. Gëtt d'Firma spéider erëm aktivéiert, bleiwen d'Benotzer archivéiert. Si mussen vun Hand reaktivéiert ginn.
  • Nëmmen Kontakter. De Modul betrëfft Firmen als Kontakter (res.partner). D'Archivéiere vun enger Odoo-Firma (res.company) huet aner Préifungen, zum Beispill wann si nach d'Standardfirma vu Benotzer ass. Dofir ass de Modul net geduecht.
  • Nëmmen Odoo 19.0 Community getest. Fir aner Versioune hu mir en net gepréift.

Heefeg Froen

Firwat ginn Mataarbechter net mat archivéiert?

E interne Benotzer huet Rechter am System a ass meeschtens mat eegenen Daten, Aufgaben a Berechtegungen verknäppt. Hie als Niewewierkung vum Archivéiere vun enger Firma ze spären, ass eis ze riskant. Dofir bleift et bei der Odoo-Feelermeldung.

Kann ech d'Réckfro ofschalten?

Am Code iwwer de Kontext skip_archive_users_wizard. Eng Astellung an der Uewerfläch gëtt et net. Wien de Modul desinstalléiert, kritt erëm d'Standardverhale vun Odoo.

Ënner wéi enger Lizenz steet et?

Ënner der AGPL-3. Feeler a Verbesserunge si als Issue am GitHub-Repository wëllkomm.

Ënnerstëtzung duerch Biricon IT Services

Mir betreie Odoo-Installatioune fir kleng a mëttelgrouss Betriber: vun der Aféierung iwwer Upassungen a Migratiounen bis zum lafenden Betrib. Wann Dir Ofleef wéi d'Archivéiere vu Clientefirmen an Odoo vereinfache, e Portal fir Är Clienten ariichte oder e Modul sécher an Är Produktivinstanz bréngen wëllt, hëllefe mir gär. Weider Eegenentwécklungen: Belegnummeren aus Präfix, Joer an Zieler, Firmenbuch an Adresspréifung fir éisträichesch Clienten a Produkt-Sets am Offert als Abschnitt.

Elo Kontakt opnemmen

Stand: 3. November 2026. Modulversioun 19.0.1.0.0 mam Fix vum selwechten Dag. All Nimm an Umeldenimm an den Abbildunge si fräi gewielt.