alle nicht odoo nutzer sind als Kontakt archiviert
All checks were successful
odoo-restore-open_workshop-install / run-odoo-backup-in-docker (push) Successful in 4m40s
All checks were successful
odoo-restore-open_workshop-install / run-odoo-backup-in-docker (push) Successful in 4m40s
This commit is contained in:
parent
da4cd0ba5c
commit
a19be91685
|
|
@ -311,6 +311,31 @@ class ResPartner(models.Model):
|
||||||
_logger.info(f"[OWS Migration] ✅ Maschinenfreigaben erstellt: {count_created}")
|
_logger.info(f"[OWS Migration] ✅ Maschinenfreigaben erstellt: {count_created}")
|
||||||
self.env.cr.commit()
|
self.env.cr.commit()
|
||||||
|
|
||||||
|
@api.model
|
||||||
|
def archive_partners_without_users(self):
|
||||||
|
"""
|
||||||
|
Archiviert alle Partner (res.partner), die keine Benutzer (res.users) sind.
|
||||||
|
"""
|
||||||
|
Partner = self.env['res.partner']
|
||||||
|
User = self.env['res.users']
|
||||||
|
|
||||||
|
# IDs aller Partner, die ein Benutzerkonto haben
|
||||||
|
user_partner_ids = User.search([]).mapped('partner_id').ids
|
||||||
|
|
||||||
|
# Alle Partner ohne Benutzerkonto
|
||||||
|
partners_to_archive = Partner.search([
|
||||||
|
('id', 'not in', user_partner_ids),
|
||||||
|
('active', '=', True),
|
||||||
|
])
|
||||||
|
|
||||||
|
count = len(partners_to_archive)
|
||||||
|
partners_to_archive.write({'active': False})
|
||||||
|
for p in partners_to_archive:
|
||||||
|
_logger.debug(f"[OWS] Archiviert Partner: {p.name} (ID {p.id})")
|
||||||
|
_logger.info(f"[OWS] Archiviert {count} Partner ohne Benutzerkonto.")
|
||||||
|
self.env.cr.commit()
|
||||||
|
|
||||||
|
|
||||||
class OwsUser(models.Model):
|
class OwsUser(models.Model):
|
||||||
_name = 'ows.user'
|
_name = 'ows.user'
|
||||||
_description = 'OWS: Benutzerdaten'
|
_description = 'OWS: Benutzerdaten'
|
||||||
|
|
|
||||||
|
|
@ -36,6 +36,13 @@ def run_migration(cr, registry):
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
_logger.error(f"[OWS] Fehler bei Testsystem-Anpassung der Mitarbeiter: {e}")
|
_logger.error(f"[OWS] Fehler bei Testsystem-Anpassung der Mitarbeiter: {e}")
|
||||||
|
|
||||||
|
# Archivierung aller Kontakte die keinen User Account haben
|
||||||
|
try:
|
||||||
|
env['res.partner'].archive_partners_without_users()
|
||||||
|
_logger.info("[OWS] Testsystem-Anpassung der Kontakte abgeschlossen.")
|
||||||
|
except Exception as e:
|
||||||
|
_logger.error(f"[OWS] Fehler bei Testsystem-Anpassung der Kontakte: {e}")
|
||||||
|
|
||||||
|
|
||||||
#import_machine_products.run_import(cr, registry)
|
#import_machine_products.run_import(cr, registry)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user