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:
1Tage - 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