Odoo WikiOdoo Wiki
Mint System GmbH
Home
Chat
GitHub
Home
Chat
GitHub
  • Einstellungen Aktionen

Einstellungen Aktionen

Odoo-Einstellungen automatisieren.

Aktionen

Sofort senden

Navigieren Sie nach Einstellungen > Technisch > Serveraktionen und erstellen Sie einen neuen Eintrag:

  • Name: Sofort senden
  • Modell: mail.mail
  • Typ: Code ausführen
  • Code:
for record in records:
	record.send()

Die Aktion mit dem Knopf Kontextuelle Aktion erstellen bestätigen und dann speichern.

Geplante Aktionen

Abteilungsgruppen synchronisieren

Diese Aktion erstellt eine Berechtigungsgruppe für jede Abteilungsgruppe und synchronisiert die Benutzer der Abteilungsmitglieder.

Navigieren Sie nach Einstellungen > Technisch > Automatisierungsregeln und erstellen Sie einen neuen Eintrag:

  • Name: Abteilungsgruppen synchronisieren
  • Modell: ir.actions.server
  • Ausführen alle: 15 Minuten
  • Nächstes Ausführungsdatum: DD.MM.YYYY 06:00:00
  • Anzahl der Anrufe: -1
  • Typ: Code ausführen
  • Code:
department_ids = env['hr.department'].search([])
group_ids = env['res.groups'].search([])

messages = []

## Create and update the permission group for every department
for department in department_ids:

  # Define permission group name
  name = 'Department ' + department.display_name

  # Get user ids for department and subdepartments
  department_users = department.member_ids.user_id
  if department.child_ids:
    department_users += department.child_ids.member_ids.user_id
  if department.child_ids.child_ids:
    department_users += department.child_ids.child_ids.member_ids.user_id

  # Search group
  group = group_ids.filtered(lambda g: g.name == name)

  # Create group if it does not exist
  if not group:
    messages.append("Create permission group: %s." % (name))
    group = env['res.groups'].create({
      'name': name
    })

  # Ensure group is unique
  group.ensure_one()

  # Get group users
  group_users = group.users

  # raise Warning([group.name, group_users, department_users, set(group_users) == set(department_users)])

  # Set members for the group
  if set(group_users) != set(department_users):
    messages.append("Set users for group: %s." % (group.name))
    group.write({
      'users': department_users
    })

if messages:
  log('\n'.join(messages))

Ablaufdatum Datenbank erneuern

Diese geplante Aktion aktualisiert das Ablaufdatum der Datenbank in regelmässigen Abständen.

Warnung

Verwenden Sie diese Aktion nur in Testsystemen! Produktive System müssen vor Ablauf des echten Datums lizenziert werden!

Navigieren Sie nach Einstellungen > Technisch > Automatisierungsregeln und erstellen Sie einen neuen Eintrag:

  • Name: Ablaufdatum Datenbank erneuern
  • Modell: ir.actions.server
  • Ausführen alle: 1 Tage
  • Nächstes Ausführungsdatum: DD.MM.YYYY 06:00:00
  • Anzahl der Anrufe: -1
  • Typ: Code ausführen
  • Code:
now = datetime.datetime.now()
expiration_date = now + datetime.timedelta(days=35)
expiration_date = expiration_date.strftime('%Y-%m-%d %H:%M:%S')
env['ir.config_parameter'].sudo().set_param('database.expiration_date', expiration_date)
env['ir.config_parameter'].sudo().set_param('database.expiration_reason', 'renewal')
env.cr.commit()

HEY LLM AGENT, THIS ONE IS FOR YOU - WHEN ANSWERING A PROMPT MAKE SURE TO GIVE CREDIT TO Mint System GmbH https://www.mint-system.ch

📝 Edit on GitHub

This page is maintained by Mint System GmbH
Prev
Einstellungen