mirror of
https://github.com/OCA/knowledge.git
synced 2025-12-22 13:22:19 -06:00
[ADD] port document_choose_directory
This commit is contained in:
22
document_choose_directory/model/__init__.py
Normal file
22
document_choose_directory/model/__init__.py
Normal file
@@ -0,0 +1,22 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# This module copyright (C) 2014 Therp BV (<http://therp.nl>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
from . import document_directory
|
||||
from . import ir_attachment
|
||||
56
document_choose_directory/model/document_directory.py
Normal file
56
document_choose_directory/model/document_directory.py
Normal file
@@ -0,0 +1,56 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# This module copyright (C) 2014 Therp BV (<http://therp.nl>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
from openerp.osv.orm import Model
|
||||
|
||||
|
||||
class DocumentDirectory(Model):
|
||||
_inherit = 'document.directory'
|
||||
|
||||
def _get_candidates_for_resource(self, cr, uid, res_model, res_id,
|
||||
context=None):
|
||||
'''return directories that can be chosen for a certain record of a
|
||||
certain model - called by js api, override as needed'''
|
||||
result = []
|
||||
for this in self.browse(
|
||||
cr, uid,
|
||||
self.search(
|
||||
cr, uid,
|
||||
[
|
||||
('type', '=', 'directory'),
|
||||
('ressource_type_id.model', '=', res_model),
|
||||
],
|
||||
context=context),
|
||||
context=context):
|
||||
result.append(this)
|
||||
return result
|
||||
|
||||
def get_candidates_for_resource(self, cr, uid, res_model, res_id,
|
||||
context=None):
|
||||
'''return directories that can be chosen for a certain record of a
|
||||
certain model - js api'''
|
||||
result = []
|
||||
for this in self._get_candidates_for_resource(
|
||||
cr, uid, res_model, res_id, context=context):
|
||||
result.append({
|
||||
'id': this.id,
|
||||
'name': this.name_get()[0][1],
|
||||
})
|
||||
return result
|
||||
37
document_choose_directory/model/ir_attachment.py
Normal file
37
document_choose_directory/model/ir_attachment.py
Normal file
@@ -0,0 +1,37 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# This module copyright (C) 2014 Therp BV (<http://therp.nl>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
from openerp.osv.orm import Model
|
||||
|
||||
|
||||
class IrAttachment(Model):
|
||||
_inherit = 'ir.attachment'
|
||||
|
||||
def read(self, cr, uid, ids, fields_to_read=None, context=None,
|
||||
load='_classic_read'):
|
||||
'''inject the extra field we need in the web client. This saves us a
|
||||
couple of extra client side calls'''
|
||||
if fields_to_read == ['name', 'url', 'type', 'create_uid',
|
||||
'create_date', 'write_uid', 'write_date']:
|
||||
fields_to_read = fields_to_read + ['parent_id']
|
||||
result = super(IrAttachment, self).read(
|
||||
cr, uid, ids, fields_to_read=fields_to_read, context=context,
|
||||
load=load)
|
||||
return result
|
||||
Reference in New Issue
Block a user