diff options
| author | Antony Lesuisse <al@openerp.com> | 2014-03-26 14:01:46 +0100 |
|---|---|---|
| committer | Antony Lesuisse <al@openerp.com> | 2014-03-26 14:01:46 +0100 |
| commit | 502d6770152e13c7560ea3adb25dddd4265dc016 (patch) | |
| tree | d932cc192d7a1d915e647848e59d127e9b660d84 /addons/document_webdav/document_webdav.py | |
| parent | 158b6554c8c283a210c66fed06c6ecaf4e1a16f0 (diff) | |
[REM] move document_webdav to openerp-extra
bzr revid: al@openerp.com-20140326130146-up8geys9qzh4jhc8
Diffstat (limited to 'addons/document_webdav/document_webdav.py')
| -rw-r--r-- | addons/document_webdav/document_webdav.py | 127 |
1 files changed, 0 insertions, 127 deletions
diff --git a/addons/document_webdav/document_webdav.py b/addons/document_webdav/document_webdav.py deleted file mode 100644 index 7c93e735c69..00000000000 --- a/addons/document_webdav/document_webdav.py +++ /dev/null @@ -1,127 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# OpenERP, Open Source Management Solution -# Copyright (C) 2010 Tiny SPRL (<http://tiny.be>). -# -# 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 import fields, osv -from openerp.tools import config - -import nodes - -class document_davdir(osv.osv): - _inherit = 'document.directory' - - _columns = { - # Placed here just for a reference - 'dav_prop_ids': fields.one2many('document.webdav.dir.property', 'dir_id', 'DAV properties'), - } - - def get_node_class(self, cr, uid, ids, dbro=None, dynamic=False, context=None): - # Note: in this function, nodes come from document_webdav/nodes.py ! - if dbro is None: - dbro = self.browse(cr, uid, ids, context=context) - - if dynamic: - return nodes.node_res_obj - elif dbro.type == 'directory': - return nodes.node_dir - elif dbro.type == 'ressource': - return nodes.node_res_dir - else: - raise ValueError("Directory node for %s type.", dbro.type) - - def _prepare_context(self, cr, uid, nctx, context=None): - nctx.node_file_class = nodes.node_file - # We can fill some more fields, but avoid any expensive function - # that might be not worth preparing. - nctx.extra_ctx['webdav_path'] = '/'+config.get_misc('webdav','vdir','webdav') - usr_obj = self.pool.get('res.users') - res = usr_obj.read(cr, uid, uid, ['login','lang']) - if res: - nctx.extra_ctx['username'] = res['login'] - nctx.extra_ctx['lang'] = res['lang'] - # TODO group - return - - def _locate_child(self, cr, uid, root_id, uri, nparent, ncontext): - """ try to locate the node in uri, - Return a tuple (node_dir, remaining_path) - """ - return (nodes.node_database(context=ncontext), uri) - -class dav_dir_property(osv.osv): - """ Arbitrary WebDAV properties, attached to document.directories. - - Some DAV properties have to be settable at directories, depending - on the database directory structure. - - Example would be the principal-URL. - - There _can_ be properties without a directory, which means that they - globally apply to all the directories (aka. collections) of the - present database. - """ - _name = 'document.webdav.dir.property' - - _columns = { - 'create_date': fields.datetime('Date Created', readonly=True), - 'create_uid': fields.many2one('res.users', 'Creator', readonly=True), - 'write_date': fields.datetime('Date Modified', readonly=True), - 'write_uid': fields.many2one('res.users', 'Last Modification User', readonly=True), - 'dir_id': fields.many2one('document.directory', 'Directory', required=False, select=1), - 'namespace': fields.char('Namespace', size=127, required=True), - 'name': fields.char('Name', size=64, required=True), - 'value': fields.text('Value'), - 'do_subst': fields.boolean('Substitute', required=True), - } - - _defaults = { - 'do_subst': False, - } - -class dav_file_property(osv.osv): - """ Arbitrary WebDAV properties, attached to ir.attachments. - - A special case is the locks that can be applied on file nodes. - - There _can_ be properties without a file (RFC?), which means that they - globally apply to all the attachments of the present database. - - TODO access permissions, per property. - """ - _name = 'document.webdav.file.property' - - _columns = { - 'create_date': fields.datetime('Date Created', readonly=True), - 'create_uid': fields.many2one('res.users', 'Creator', readonly=True), - 'write_date': fields.datetime('Date Modified', readonly=True), - 'write_uid': fields.many2one('res.users', 'Last Modification User', readonly=True), - 'file_id': fields.many2one('ir.attachment', 'Document', required=False, select=1), - 'namespace': fields.char('Namespace', size=127, required=True), - 'name': fields.char('Name', size=64, required=True), - 'value': fields.text('Value'), - 'do_subst': fields.boolean('Substitute', required=True), - } - - _defaults = { - 'do_subst': False, - } - -#eof -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: |
