mirror of
https://github.com/OCA/knowledge.git
synced 2025-07-25 18:08:42 -06:00
Polymorphic inherit for ir.attachment
This commit is contained in:
parent
4ddfa79ecd
commit
f2d71fc405
@ -23,8 +23,8 @@
|
||||
from openerp import models, fields
|
||||
|
||||
|
||||
class IrAttachment(models.Model):
|
||||
_inherit = 'ir.attachment'
|
||||
class IrAttachmentMetadata(models.Model):
|
||||
_inherit = 'ir.attachment.metadata'
|
||||
|
||||
sync_date = fields.Datetime()
|
||||
state = fields.Selection([
|
||||
|
@ -3,8 +3,8 @@
|
||||
<data>
|
||||
|
||||
<record id="view_attachment_improved_form" model="ir.ui.view">
|
||||
<field name="model">ir.attachment</field>
|
||||
<field name="inherit_id" ref="base.view_attachment_form" />
|
||||
<field name="model">ir.attachment.metadata</field>
|
||||
<field name="inherit_id" ref="ir_attachment_metadata.view_attachment_improved_form" />
|
||||
<field name="arch" type="xml">
|
||||
<field name="url" position="after">
|
||||
<field name="sync_date"/>
|
||||
@ -17,7 +17,7 @@
|
||||
</record>
|
||||
|
||||
<record id="view_external_attachment_tree" model="ir.ui.view">
|
||||
<field name="model">ir.attachment</field>
|
||||
<field name="model">ir.attachment.metadata</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Attachments" >
|
||||
<field name="name"/>
|
||||
@ -32,7 +32,7 @@
|
||||
</record>
|
||||
|
||||
<record id="view_external_attachment_search" model="ir.ui.view">
|
||||
<field name="model">ir.attachment</field>
|
||||
<field name="model">ir.attachment.metadata</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Attachments">
|
||||
<field name="name" filter_domain="['|', ('name','ilike',self), ('datas_fname','ilike',self)]" string="Attachment"/>
|
||||
@ -68,7 +68,7 @@
|
||||
<record id="action_attachment" model="ir.actions.act_window">
|
||||
<field name="name">Attachments</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">ir.attachment</field>
|
||||
<field name="res_model">ir.attachment.metadata</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_id" eval="False"/>
|
||||
@ -83,6 +83,13 @@
|
||||
<field name="act_window_id" ref="action_attachment"/>
|
||||
</record>
|
||||
|
||||
<record id="ir_attachment_view3" model="ir.actions.act_window.view">
|
||||
<field eval="10" name="sequence"/>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="view_id" ref="view_attachment_improved_form"/>
|
||||
<field name="act_window_id" ref="action_attachment"/>
|
||||
</record>
|
||||
|
||||
<menuitem id="menu_ir_attachment"
|
||||
parent="menu_file_exchange"
|
||||
sequence="20"
|
||||
|
@ -37,7 +37,7 @@ class Task(models.Model):
|
||||
filepath = fields.Char(help='Path to imported file')
|
||||
location_id = fields.Many2one('external.file.location', string='Location',
|
||||
required=True)
|
||||
attachment_ids = fields.One2many('ir.attachment', 'task_id',
|
||||
attachment_ids = fields.One2many('ir.attachment.metadata', 'task_id',
|
||||
string='Attachment')
|
||||
move_path = fields.Char(string='Move path',
|
||||
help='Imported File will be moved to this path')
|
||||
|
@ -28,11 +28,14 @@ import hashlib
|
||||
from base64 import b64decode
|
||||
|
||||
|
||||
class IrAttachment(models.Model):
|
||||
_inherit = 'ir.attachment'
|
||||
class IrAttachmentMetadata(models.Model):
|
||||
_name = 'ir.attachment.metadata'
|
||||
_inherits = {'ir.attachment': 'attachment_id'}
|
||||
|
||||
internal_hash = fields.Char(store=True, compute='_compute_hash')
|
||||
external_hash = fields.Char()
|
||||
attachment_id = fields.Many2one('ir.attachment', required=True,
|
||||
ondelete='cascade')
|
||||
|
||||
@api.depends('datas', 'external_hash')
|
||||
def _compute_hash(self):
|
||||
|
@ -3,14 +3,13 @@
|
||||
<data>
|
||||
|
||||
<record id="view_attachment_improved_form" model="ir.ui.view">
|
||||
<field name="model">ir.attachment</field>
|
||||
<field name="model">ir.attachment.metadata</field>
|
||||
<field name="inherit_id" ref="base.view_attachment_form" />
|
||||
<field name="arch" type="xml">
|
||||
<field name="url" position="after">
|
||||
<field name="internal_hash"/>
|
||||
<field name="external_hash"/>
|
||||
<field name="url" position="after">
|
||||
<field name="internal_hash"/>
|
||||
<field name="external_hash"/>
|
||||
</field>
|
||||
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user