summaryrefslogtreecommitdiff
path: root/addons/document_webdav/document_webdav.py
diff options
context:
space:
mode:
Diffstat (limited to 'addons/document_webdav/document_webdav.py')
-rw-r--r--addons/document_webdav/document_webdav.py127
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: