Overslaan naar inhoud
Odoo Menu
  • Aanmelden
  • Probeer het gratis
  • Apps
    Financiën
    • Boekhouding
    • Facturatie
    • Onkosten
    • Spreadsheet (BI)
    • Documenten
    • Ondertekenen
    Verkoop
    • CRM
    • Verkoop
    • Kassasysteem winkel
    • Kassasysteem Restaurant
    • Abonnementen
    • Verhuur
    Websites
    • Websitebouwer
    • E-commerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Bevoorradingsketen
    • Voorraad
    • Productie
    • PLM
    • Inkoop
    • Onderhoud
    • Kwaliteit
    Personeelsbeheer
    • Werknemers
    • Werving & Selectie
    • Verlof
    • Evaluaties
    • Aanbevelingen
    • Wagenpark
    Marketing
    • Social media Marketing
    • E-mailmarketing
    • SMS Marketing
    • Evenementen
    • Marketingautomatisering
    • Enquêtes
    Diensten
    • Project
    • Urenstaten
    • Buitendienst
    • Helpdesk
    • Planning
    • Afspraken
    Productiviteit
    • Chat
    • Goedkeuringen
    • IoT
    • VoIP
    • Kennis
    • WhatsApp
    Apps van derden Odoo Studio Odoo Cloud Platform
  • Bedrijfstakken
    Detailhandel
    • Boekhandel
    • kledingwinkel
    • Meubelzaak
    • Supermarkt
    • Bouwmarkt
    • Speelgoedwinkel
    Food & Hospitality
    • Bar en Pub
    • Restaurant
    • Fastfood
    • Gastenverblijf
    • Drankenhandelaar
    • Hotel
    Vastgoed
    • Makelaarskantoor
    • Architectenbureau
    • Bouw
    • Vastgoedbeheer
    • Tuinieren
    • Vereniging van eigenaren
    Consulting
    • Accountantskantoor
    • Odoo Partner
    • Marketingbureau
    • Advocatenkantoor
    • Talentenwerving
    • Audit & Certificering
    Productie
    • Textiel
    • Metaal
    • Meubels
    • Eten
    • Brewery
    • Relatiegeschenken
    Gezondheid & Fitness
    • Sportclub
    • Opticien
    • Fitnesscentrum
    • Wellness-medewerkers
    • Apotheek
    • Kapper
    Trades
    • Klusjesman
    • IT-hardware & support
    • Zonne-energiesystemen
    • Schoenmaker
    • Schoonmaakdiensten
    • HVAC-diensten
    Andere
    • Non-profitorganisatie
    • Milieuagentschap
    • Verhuur van Billboards
    • Fotograaf
    • Fietsleasing
    • Softwareverkoper
    Browse all Industries
  • Community
    Leren
    • Tutorials
    • Documentatie
    • Certificeringen
    • Training
    • Blog
    • Podcast
    Versterk het onderwijs
    • Onderwijs- programma
    • Scale Up! Business Game
    • Bezoek Odoo
    Download de Software
    • Downloaden
    • Vergelijk edities
    • Releases
    Werk samen
    • Github
    • Forum
    • Evenementen
    • Vertalingen
    • Word een Partner
    • Services for Partners
    • Registreer je accountantskantoor
    Diensten
    • Vind een partner
    • Vind een boekhouder
    • Een adviseur ontmoeten
    • Implementatiediensten
    • Klantreferenties
    • Ondersteuning
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Vraag een demo aan
  • Prijzen
  • Help

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • CRM
  • e-Commerce
  • Boekhouding
  • Voorraad
  • PoS
  • Project
  • MRP
All apps
Je moet geregistreerd zijn om te kunnen communiceren met de community.
Alle posts Personen Badges
Labels (Bekijk alle)
odoo accounting v14 pos v15
Over dit forum
Je moet geregistreerd zijn om te kunnen communiceren met de community.
Alle posts Personen Badges
Labels (Bekijk alle)
odoo accounting v14 pos v15
Over dit forum
Help

[v12] Log Internal Note with action button and wizard

Inschrijven

Ontvang een bericht wanneer er activiteit is op deze post

Deze vraag is gerapporteerd
wizardloginheritchatternote
5 Antwoorden
12397 Weergaven
Avatar
Cayprol

Hi, I am trying to add a feature to require "Log Note", the internal note logged in the chatter, upon canceling 'stock.picking' record.  
My code to override the original "action_cancel"  
  

def action_cancel(self):
view = self.env.ref('mail.email_compose_message_wizard_form')
wiz = self.env['mail.compose.message'].create({'is_log': True})
_logger.info("Action Cancel is overrided.")
super(Picking, self).action_cancel()
return {
'name': _('Your Reason to Cancel?'),
'type': 'ir.actions.act_window',
'view_type': 'form',
'view_mode': 'form',
'res_model': 'mail.compose.message',
'views': [(view.id, 'form')],
'view_id': view.id,
'target': 'new',
'res_id': wiz.id,
'context': {},
}
  

It opens up the write wizard, but when I hit button 'Log', wizard closes but no note is logged in chatter.
Should I pass anything else through context?  

I already tried    


'context': {'active_model': self._name,
'active_id':self.id}

And also this in context.
    'context': {'default_model': self._name,
'default_res_id':self.id}
0
Avatar
Annuleer
Avatar
Sudhir Arya (ERP Harbor Consulting Services)
Beste antwoord

Pass message_type field and it's value ("comment" or "notification") in the context when you return an action.

'default_message_type': 'comment',


3
Avatar
Annuleer
Cayprol
Auteur

thx for reply, I just tried but still not working.

I also looked into mail_compose_message.py,

line 125: message_type = fields.Selection(default="comment")

I think without default_, on creation, message_type has already been comment.

Sudhir Arya (ERP Harbor Consulting Services)

Try with notification as well in place of comment.

Cayprol
Auteur

It seems like if I pass default_message_type in context regardless the value, the wizard cannot be opened, and caused odoo-server error:

The requested operation cannot be completed due to security restrictions. Please contact your system administrator.

(Document type: Email composition wizard, Operation: create)

is_log = fields.Boolean('Log an Internal Note', help='Whether the message is an internal note (comment mode only)')

Field is_log says it only works in comment mode, I am so lost.

Avatar
Cayprol
Auteur Beste antwoord

I finally got it figured out.  For future reference,  

To Log note in the chatter.  There is a built-in function available named "message_post".  

There's no need to directly call the built-in wizard, I can create my own wizard and just write an action to use "message_post".  

"message_post" is available by _inherit = ['mail.thread', 'mail.activity.mixin'], which is needed for the xml form view to display chatter section anyway.  

Example:  

# This method overrides action_cancel and calls my own wizard.
def action_cancel(self):
view = self.env.ref('mymodule.xmlid_of_wizard')
wiz = self.env['action.cancel.confirm'].create({})
_logger.info("Action Cancel is overrided.")
super(Picking, self).action_cancel()
return {
'name': _('Your Reason to Cancel?'),
'type': 'ir.actions.act_window',
'view_type': 'form',
'view_mode': 'form',
'res_model': 'action.cancel.confirm',
'views': [(view.id, 'form')],
'view_id': view.id,
'target': 'new',
'res_id': wiz.id,
'context': {'parent_model': self._name,
'parent_id': self.id},
}


# Method in the wizard to Log
def action_confirm(self):
parent = self.env[self._context['parent_model']].browse(self._context['parent_id'])
msg = "Log to write"
parent.message_post(body=msg)
1
Avatar
Annuleer
Geniet je van het gesprek? Blijf niet alleen lezen, doe ook mee!

Maak vandaag nog een account aan om te profiteren van exclusieve functies en deel uit te maken van onze geweldige community!

Aanmelden
Gerelateerde posts Antwoorden Weergaven Activiteit
In odoo17.How to synchronize the information to the fields of the new model when chatter log adds new data?
log chatter
Avatar
0
apr. 24
2251
I want person should receive log data every day on his email ,for any record like project task, log notes every day,How its possible?
log chatter
Avatar
0
dec. 19
3018
How to add a field to a wizard? Opgelost
wizard inherit edit
Avatar
Avatar
1
mrt. 15
11393
My old Log Notes are disappearing on SO and PO as the log gets longer
log purchase_order sales.order note
Avatar
0
apr. 24
1557
14E - Track activities changes on chatter
log chatter activities v14
Avatar
Avatar
Avatar
2
mrt. 24
3245
Community
  • Tutorials
  • Documentatie
  • Forum
Open Source
  • Downloaden
  • Github
  • Runbot
  • Vertalingen
Diensten
  • Odoo.sh Hosting
  • Ondersteuning
  • Upgrade
  • Gepersonaliseerde ontwikkelingen
  • Onderwijs
  • Vind een boekhouder
  • Vind een partner
  • Word een Partner
Over ons
  • Ons bedrijf
  • Merkelementen
  • Neem contact met ons op
  • Vacatures
  • Evenementen
  • Podcast
  • Blog
  • Klanten
  • Juridisch • Privacy
  • Beveiliging
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

Odoo is een suite van open source zakelijke apps die aan al je bedrijfsbehoeften voldoet: CRM, E-commerce, boekhouding, inventaris, kassasysteem, projectbeheer, enz.

Odoo's unieke waardepropositie is om tegelijkertijd zeer gebruiksvriendelijk en volledig geïntegreerd te zijn.

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now