TIP: You can type at any time to perform a new search.
Snail Mail
snailmail · odoo/odoo
- Repository
- odoo/odoo · module folder
- Module version
- 0.4
- Category
- Hidden/Tools
- Folder size
- 1.25 MB
- License
- LGPL-3
- Application
- No
- Auto-installable
- Yes
- Website
- None
- Last tracking update
- 2026-08-15 22:44:15
- Authors
- Odoo S.A.
- Maintainers
- Odoo S.A.
- Committers
- Xavier Morel, Raphael Collet, Odoo Translation Bot, Christophe Monniez, Alexandre Kühn, Julien Castiaux, Sébastien Theys, Julien Mougenot, Tiffany Chang (tic), Gorash, Mathieu Duckerts-Antoine, Pierre Paridans, Renaud Thiry, bve-odoo, Dylan Kiss (dyki), Hesham, Mattis Megevand, Sven Fuehr, AMZIL Ayoub, Hesham Saleh, Ricardo Gomes Rodrigues, Thomas Josse (THJO), Krzysztof Magusiak (krma), Junqi, chpa-odoo
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- snailmail_account
- Description
Allows users to send documents by post =====================================================
Code Analysis ⓘ
Views touched (4)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
minimal_layout |
minimal_layout | ir.ui.view | qweb | Inherits web.minimal_layout |
report_layout |
report_layout | ir.ui.view | qweb | Inherits web.report_layout |
snailmail_letter_form |
snailmail.letter.form | snailmail.letter | form | New |
snailmail_letter_list |
snailmail.letter.list | snailmail.letter | list | New |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (8)
New fields (0)
No new fields.
Public methods (2)-
get_paperformat(self) -
retrieve_attachment(self, record)
New fields (3)
-
letter_idsOne2many → snailmail.lettercomodel_name='snailmail.letter'inverse_name='message_id' -
message_typeSelectionondelete={'snailmail': <expr>}selection_add=[('snailmail', 'Snailmail')] -
snailmail_errorBooleancompute='_compute_snailmail_error'search='_search_snailmail_error'string='Snailmail message in error'
-
cancel_letter(self) -
send_letter(self)
New fields (3)
-
failure_typeSelectionselection_add=[('sn_credit', 'Snailmail Credit Error'), ('sn_trial', 'Snailmail Trial Error'), ('sn_price', 'Snailmail No Price Available'), ('sn_fields', 'Snailmail Missing Required Fields'), ('sn_format', 'Snailmail Format Error'), ('sn_error', 'Snailmail Unknown Error')] -
letter_idMany2one → snailmail.letterindex='btree_not_null'ondelete='cascade'string='Snailmail Letter' args: 'snailmail.letter' -
notification_typeSelectionondelete={'snail': 'cascade'}selection_add=[('snail', 'Snailmail')]
No public methods.
New fields (0)
No new fields.
Public methods (1)-
notify_cancel_by_type(self, notification_type)@api.model
New fields (3)
-
snailmail_colorBooleandefault=True -
snailmail_coverBooleandefault=Falsestring='Add a Cover Page' -
snailmail_duplexBooleandefault=Falsestring='Both sides'
No public methods.
New fields (4)
-
snailmail_colorBooleanreadonly=Falserelated='company_id.snailmail_color'string='Print In Color' -
snailmail_coverBooleanreadonly=Falserelated='company_id.snailmail_cover'string='Add a Cover Page' -
snailmail_cover_readonlyBooleancompute='_compute_cover_readonly' -
snailmail_duplexBooleanreadonly=Falserelated='company_id.snailmail_duplex'string='Print Both sides'
No public methods.
New fields (0)
No new fields.
Public methods (1)-
write(self, vals)
New fields (24)
-
attachment_datasBinaryrelated='attachment_id.datas' args: 'Document' -
attachment_fnameCharrelated='attachment_id.name' args: 'Attachment Filename' -
attachment_idMany2one → ir.attachmentindex='btree_not_null'ondelete='cascade'string='Attachment' args: 'ir.attachment' -
cityCharargs: 'City' -
colorBooleandefault=<expr>string='Color' -
company_idMany2one → res.companydefault=<expr>readonly=Truerequired=Truestring='Company' args: 'res.company' -
country_idMany2one → res.countrystring='Country' args: 'res.country' -
coverBooleandefault=<expr>string='Cover Page' -
duplexBooleandefault=<expr>string='Both side' -
error_codeSelectionstring='Error' args: <expr> -
info_msgHtmlargs: 'Information' -
message_idMany2one → mail.messageindex='btree_not_null'string='Snailmail Status Message' args: 'mail.message' -
modelCharrequired=True args: 'Model' -
notification_idsOne2many → mail.notificationargs: 'mail.notification', 'letter_id', 'Notifications' -
partner_idMany2one → res.partnerrequired=Truestring='Recipient' args: 'res.partner' -
referenceCharcompute='_compute_reference'readonly=Truestore=Falsestring='Related Record' -
report_templateMany2one → ir.actions.reportargs: 'ir.actions.report', 'Optional report to print and attach' -
res_idIntegerrequired=True args: 'Document ID' -
stateSelectioncopy=Falsedefault='pending'help="When a letter is created, the status is 'Pending'.\nIf the letter is correctly sent, the status goes in 'Sent',\nIf not, it will got in state 'Error' and the error message will be displayed in the field 'Error Message'."readonly=Truerequired=True args: [('pending', 'In Queue'), ('sent', 'Sent'), ('error', 'Error'), ('canceled', 'Cancelled')], 'Status' -
state_idMany2one → res.country.statestring='State' args: 'res.country.state' -
streetCharargs: 'Street' -
street2Charargs: 'Street2' -
user_idMany2one → res.usersargs: 'res.users', 'Sent by' -
zipCharargs: 'Zip'
-
cancel(self) -
create(self, vals_list)@api.model_create_multi -
snailmail_print(self) -
write(self, vals)
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…