From 8d0b4a741816302a30efa28442563afefea8b9cd Mon Sep 17 00:00:00 2001 From: Panos Christeas Date: Thu, 26 Nov 2009 19:24:00 +0530 Subject: [PATCH] [MERGE] merge from lp:~xrg/openobject-addons/doc2-5.2 bzr revid: hmo@tinyerp.com-20091126135400-z32iycvadbt9so8n --- addons/account/account.py | 77 ++- addons/account/account_analytic_line.py | 4 +- addons/account/account_view.xml | 24 +- addons/account/invoice.py | 9 +- addons/account/project/project_view.xml | 2 +- addons/account/security/ir.model.access.csv | 2 + .../account_analytic_default.py | 2 +- .../account_analytic_plans.py | 4 +- .../account_invoice_layout_view.xml | 2 + .../account_tax_include/invoice_tax_incl.py | 12 +- addons/base_contact/base_contact_view.xml | 6 + .../base_module_record/base_module_record.py | 28 +- .../base_module_record_wizard.xml | 13 + addons/base_module_record/wizard/__init__.py | 1 + .../wizard/base_module_record_data.py | 148 ++++ addons/crm/crm.py | 4 + addons/crm/crm_view.xml | 6 +- addons/document_protocol/__init__.py | 23 + addons/document_protocol/__terp__.py | 38 + addons/document_protocol/document_protocol.py | 63 ++ .../document_protocol/document_protocol.xml | 121 ++++ .../i18n/document_protocol.pot | 164 +++++ .../DAV/BufferingHTTPServer.py | 99 +++ addons/document_webdav/DAV/WebDAVServer.py | 379 ++++++++++ addons/document_webdav/DAV/__init__.py | 20 + addons/document_webdav/DAV/constants.py | 18 + addons/document_webdav/DAV/davcmd.py | 218 ++++++ addons/document_webdav/DAV/davcopy.py | 133 ++++ addons/document_webdav/DAV/davmove.py | 102 +++ addons/document_webdav/DAV/delete.py | 63 ++ addons/document_webdav/DAV/errors.py | 56 ++ addons/document_webdav/DAV/iface.py | 263 +++++++ addons/document_webdav/DAV/propfind.py | 372 ++++++++++ addons/document_webdav/DAV/status.py | 31 + addons/document_webdav/DAV/utils.py | 160 +++++ addons/document_webdav/__init__.py | 29 + addons/document_webdav/__terp__.py | 47 ++ addons/document_webdav/cache.py | 39 ++ addons/document_webdav/dav_fs.py | 653 ++++++++++++++++++ .../document_webdav/i18n/document_webdav.pot | 26 + addons/document_webdav/webdav_server.py | 80 +++ addons/hr/hr_department.py | 2 +- addons/hr_holidays/__terp__.py | 8 +- addons/hr_holidays/hr.py | 46 +- .../report/holidays_summary_report.py | 2 +- .../hr_timesheet_invoice.py | 13 +- .../wizard/hr_timesheet_invoice_create.py | 12 +- .../hr_timesheet_sheet/hr_timesheet_sheet.py | 12 +- addons/idea/idea.py | 57 +- addons/l10n_be/wizard/partner_vat_listing.py | 3 + addons/mrp/mrp_view.xml | 4 + addons/mrp_operations/mrp_operations.py | 3 +- .../wizard/wizard_pos_payment.py | 16 + addons/project/project.py | 1 + addons/project/report/gantt_report.py | 1 - addons/project_gtd/project_gtd_demo.xml | 33 + addons/project_timesheet/project_timesheet.py | 4 +- addons/purchase/purchase.py | 16 +- addons/purchase/purchase_view.xml | 4 +- addons/sale/sale.py | 10 +- addons/stock/product.py | 12 +- addons/stock/stock.py | 28 +- addons/stock/stock_view.xml | 20 +- addons/stock/stock_workflow.xml | 12 +- .../stock/wizard/wizard_invoice_onshipping.py | 1 + 65 files changed, 3727 insertions(+), 134 deletions(-) create mode 100644 addons/base_module_record/wizard/base_module_record_data.py create mode 100644 addons/document_protocol/__init__.py create mode 100644 addons/document_protocol/__terp__.py create mode 100644 addons/document_protocol/document_protocol.py create mode 100644 addons/document_protocol/document_protocol.xml create mode 100644 addons/document_protocol/i18n/document_protocol.pot create mode 100644 addons/document_webdav/DAV/BufferingHTTPServer.py create mode 100644 addons/document_webdav/DAV/WebDAVServer.py create mode 100644 addons/document_webdav/DAV/__init__.py create mode 100644 addons/document_webdav/DAV/constants.py create mode 100644 addons/document_webdav/DAV/davcmd.py create mode 100755 addons/document_webdav/DAV/davcopy.py create mode 100755 addons/document_webdav/DAV/davmove.py create mode 100755 addons/document_webdav/DAV/delete.py create mode 100755 addons/document_webdav/DAV/errors.py create mode 100644 addons/document_webdav/DAV/iface.py create mode 100755 addons/document_webdav/DAV/propfind.py create mode 100644 addons/document_webdav/DAV/status.py create mode 100755 addons/document_webdav/DAV/utils.py create mode 100644 addons/document_webdav/__init__.py create mode 100644 addons/document_webdav/__terp__.py create mode 100644 addons/document_webdav/cache.py create mode 100644 addons/document_webdav/dav_fs.py create mode 100644 addons/document_webdav/i18n/document_webdav.pot create mode 100644 addons/document_webdav/webdav_server.py diff --git a/addons/account/account.py b/addons/account/account.py index a67bb002d35..6f6bdc9d634 100644 --- a/addons/account/account.py +++ b/addons/account/account.py @@ -639,7 +639,7 @@ class account_period(osv.osv): #CHECKME: shouldn't we check the state of the period? ids = self.search(cr, uid, [('date_start','<=',dt),('date_stop','>=',dt)]) if not ids: - raise osv.except_osv(_('Error !'), _('No period defined for this date !\nPlease create a fiscal year.')) + raise osv.except_osv(_('Error !'), _('No period defined for this date: %s !\nPlease create a fiscal year.')%dt) return ids def action_draft(self, cr, uid, ids, *args): @@ -1045,11 +1045,11 @@ class account_move(osv.osv): 'state': 'draft' }, context, check=False) ok = False - if ok: - list_ids = [] - for tmp in move.line_id: - list_ids.append(tmp.id) - self.pool.get('account.move.line').create_analytic_lines(cr, uid, list_ids, context) + if ok: + list_ids = [] + for tmp in move.line_id: + list_ids.append(tmp.id) + self.pool.get('account.move.line').create_analytic_lines(cr, uid, list_ids, context) return ok account_move() @@ -1810,11 +1810,13 @@ class account_account_template(osv.osv): 'parent_id': fields.many2one('account.account.template','Parent Account Template', ondelete='cascade'), 'child_parent_ids':fields.one2many('account.account.template','parent_id','Children'), 'tax_ids': fields.many2many('account.tax.template', 'account_account_template_tax_rel','account_id','tax_id', 'Default Taxes'), + 'nocreate': fields.boolean('Optional create', help="If checked, the new chart of accounts will not contain this by default."), } _defaults = { 'reconcile': lambda *a: False, 'type' : lambda *a :'view', + 'nocreate': lambda *a: False, } def _check_recursion(self, cr, uid, ids): @@ -1846,6 +1848,67 @@ class account_account_template(osv.osv): account_account_template() +class account_add_tmpl_wizard(osv.osv_memory): + """Add one more account from the template. + + With the 'nocreate' option, some accounts may not be created. Use this to add them later.""" + _name = 'account.addtmpl.wizard' + + def _get_def_cparent(self, cr, uid, context): + acc_obj=self.pool.get('account.account') + tmpl_obj=self.pool.get('account.account.template') + #print "Searching for ",context + tids=tmpl_obj.read(cr, uid, [context['tmpl_ids']],['parent_id']) + if not tids or not tids[0]['parent_id']: + return False + ptids = tmpl_obj.read(cr, uid, [tids[0]['parent_id'][0]],['code']) + if not ptids or not ptids[0]['code']: + raise osv.except_osv(_('Error !'), _('Cannot locate parent code for template account!')) + res = acc_obj.search(cr,uid,[('code','=',ptids[0]['code'])]) + if res: + return res[0] + else: + return False + + _columns = { + 'cparent_id':fields.many2one('account.account', 'Parent target', help="Create an account with the selected template under this existing parent.", required=True), + } + _defaults = { + 'cparent_id': _get_def_cparent, + } + + def action_create(self,cr,uid,ids,context=None): + acc_obj=self.pool.get('account.account') + tmpl_obj=self.pool.get('account.account.template') + data= self.read(cr,uid,ids) + company_id = acc_obj.read(cr,uid,[data[0]['cparent_id']],['company_id'])[0]['company_id'][0] + account_template = tmpl_obj.browse(cr,uid,context['tmpl_ids']) + #tax_ids = [] + #for tax in account_template.tax_ids: + # tax_ids.append(tax_template_ref[tax.id]) + vals={ + 'name': account_template.name, + #'sign': account_template.sign, + 'currency_id': account_template.currency_id and account_template.currency_id.id or False, + 'code': account_template.code, + 'type': account_template.type, + 'user_type': account_template.user_type and account_template.user_type.id or False, + 'reconcile': account_template.reconcile, + 'shortcut': account_template.shortcut, + 'note': account_template.note, + 'parent_id': data[0]['cparent_id'], + # 'tax_ids': [(6,0,tax_ids)], todo!! + 'company_id': company_id, + } + # print "Creating:", vals + new_account = acc_obj.create(cr,uid,vals) + return {'type':'state', 'state': 'end' } + + def action_cancel(self,cr,uid,ids,context=None): + return { 'type': 'state', 'state': 'end' } + +account_add_tmpl_wizard() + class account_tax_code_template(osv.osv): _name = 'account.tax.code.template' @@ -2141,7 +2204,7 @@ class wizard_multi_charts_accounts(osv.osv_memory): #deactivate the parent_store functionnality on account_account for rapidity purpose self.pool._init = True - children_acc_template = obj_acc_template.search(cr, uid, [('parent_id','child_of',[obj_acc_root.id])]) + children_acc_template = obj_acc_template.search(cr, uid, [('parent_id','child_of',[obj_acc_root.id]),('nocreate','!=',True)]) children_acc_template.sort() for account_template in obj_acc_template.browse(cr, uid, children_acc_template): tax_ids = [] diff --git a/addons/account/account_analytic_line.py b/addons/account/account_analytic_line.py index 5f13160dfd9..3e3266044b4 100644 --- a/addons/account/account_analytic_line.py +++ b/addons/account/account_analytic_line.py @@ -97,9 +97,11 @@ class account_analytic_line(osv.osv): def view_header_get(self, cr, user, view_id, view_type, context): if context.get('account_id', False): + # account_id in context may also be pointing to an account.account.id cr.execute('select name from account_analytic_account where id=%s', (context['account_id'],)) res = cr.fetchone() - res = _('Entries: ')+ (res[0] or '') + if res: + res = _('Entries: ')+ (res[0] or '') return res return False diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml index cafaa769163..cecbb7fa8b5 100644 --- a/addons/account/account_view.xml +++ b/addons/account/account_view.xml @@ -797,7 +797,7 @@ - account.move.line.select + Entry Lines account.move.line search @@ -1484,8 +1484,28 @@ + + Account Add wizard + account.addtmpl.wizard + form + +
+ + + +