Zum Inhalt

← Kontakte

Kontakte Aktionen

Arbeitsflüsse mit Kontakte automatisieren.

Aktionen

Kontakt als Privat festlegen

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

  • Name: Kontakt als Privat festlegen
  • Modell: res.partner
  • Folgeaktion: Den Datensatz aktualiseren Im Tab Zu schreibende Daten:

  • Feld: Adresstyp

  • Bewertungstyp: Wert
  • Wert: private

Im Tab Zu schreibende Daten:

  • Gruppenname: Technisch / Zugriff auf private Adressen

Die Aktion mit dem Knopf Kontextuelle Aktion erstellen bestätigen.

Kontakt als Kontakt festlegen

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

  • Name: Kontakt als Kontakt festlegen
  • Modell: res.partner
  • Folgeaktion: Den Datensatz aktualiseren Im Tab Zu schreibende Daten:

  • Feld: Adresstyp

  • Bewertungstyp: Wert
  • Wert: contact

Im Tab Zu schreibende Daten:

  • Gruppenname: Technisch / Zugriff auf private Adressen

Die Aktion mit dem Knopf Kontextuelle Aktion erstellen bestätigen.

Stichwort hinzufügen

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

  • Name: Stichwort hinzufügen
  • Modell: res.partner
  • Typ: Code ausführen
  • Code:
invite_category = env.ref("smartme_portal_mass_invite.portal_mass_invite_partner_category")
records.write({
    "category_id": [Command.link(invite_category.id)],
})

Dieser Eintrag mit Aktion Kontextuelle Aktion erstellen bestätigen.

Stichwort entfernen

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

  • Name: Stichwort entfernen
  • Modell: res.partner
  • Typ: Code ausführen
  • Code:
category1 = env.ref("smartme_portal_mass_invite.portal_mass_invite_partner_category")
category2 = env.ref("__custom__.tag_shopify")

records.write({
    "category_id": [
        Command.unlink(category1.id),
        Command.unlink(category2.id)
    ],
})

Dieser Eintrag mit Aktion Kontextuelle Aktion erstellen bestätigen.

Massen-Einladungen für Portal-Zugriff versenden

Mit dieser Server-Aktion können Sie Massen-Einladungen für den Portal-Zugriff versenden. Erstellen Sie ein Stichwort mit der XML-ID portal_mass_invite.portal_mass_invite_partner_category. Die Aktion berücksichtigt nur Kontakte mit diesem Stichwort.

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

  • Name: Massen-Einladungen für Portal-Zugriff versenden
  • Modell: res.partner
  • Typ: Code ausführen
  • Code:
invite_category = env.ref("portal_mass_invite.portal_mass_invite_partner_category")
partners_to_invite = records.filtered_domain([("category_id", "in", invite_category.id)])

wizard = env["portal.wizard"].create({"partner_ids": partners_to_invite.ids})
users_already_granted = wizard.user_ids.filtered(lambda user: user.is_portal or user.is_internal)
users_to_grant = wizard.user_ids.filtered(lambda user: not user.is_portal and not user.is_internal and user.email_state == "ok")
for user in users_to_grant:
    user.action_grant_access()

(users_to_grant + users_already_granted).partner_id.write({
    "category_id": [Command.unlink(invite_category.id)],
})

nb_granted = len(users_to_grant.partner_id)
nb_already_granted = len(users_already_granted.partner_id)
nb_skipped = len(partners_to_invite) - nb_granted - nb_already_granted
action = {
    "type": "ir.actions.client",
    "tag": "display_notification",
    "params": {
        "message": env._("Granted portal access to %d contacts. %d contacts skipped because they already have portal access. %d contacts skipped because their email is not valid.", nb_granted, nb_already_granted, nb_skipped),
        "type": "success",
        "sticky": True,
        "next": {"type": "ir.actions.act_window_close"},
    },
}

Dieser Eintrag mit Aktion Kontextuelle Aktion erstellen bestätigen.

Geplante Aktionen

Kontakte mit geplanter Aktivität archivieren

Erfassen Sie einen neuen Aktivitätstyp. Mit dieser geplanten Aktion können Sie Kontakte, welche diese Aktivität haben archivieren lassen.

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

  • Name: Kontakte mit geplanter Aktivität archivieren
  • 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:
name = 'Zur Archivierung und Requalifikation'

type_id = env['mail.activity.type'].search( [('name', '=', name)], limit=1)

activity_ids = env['mail.activity'].search( [('activity_type_id', '=', type_id.id), ('date_deadline', '<=', datetime.date.today())] )

partner_ids = env['res.partner'].search( [('id', 'in', activity_ids.mapped('res_id'))] )

# raise UserError(partner_ids)

partner_ids.write({'active': False})
if partner_ids:
  log('Archived partners with planned activity: %s' % ', '.join(partner_ids.mapped('display_name')))

Tip

Die Aktivität auf dem Kontakt wird im Archivierungsvorgang gelöscht.

Automatisierungsregeln

Unternehmen (company_id) bei neuem Kontakt entfernen

Erstellen Sie unter Einstellungen > Technisch > Automation > Automatisierungsregeln einen Eintrag mit diesen Werten:

  • Name: Unternehmen (company_id) bei neuem Kontakt entfernen
  • Modell: Kontakt
  • Auslöser: Bei Erstellung
  • Domain: [("company_id", "!=", False)]
  • Folgeaktion: Datensatz aktualisieren
  • Feld: Unternehmen (company_id)
  • Wert: False

📝 Edit on GitHub