[MERGE] merge from trunk addons
bzr revid: mra@mra-laptop-20110104132853-5p0d124psvzni9nu
This commit is contained in:
commit
a124598535
|
@ -489,7 +489,7 @@ msgstr "Date de création"
|
|||
#. module: account
|
||||
#: selection:account.journal,type:0
|
||||
msgid "Purchase Refund"
|
||||
msgstr "Remboursement d'achat"
|
||||
msgstr "Avoir fournisseur"
|
||||
|
||||
#. module: account
|
||||
#: selection:account.journal,type:0
|
||||
|
@ -1632,7 +1632,7 @@ msgstr "Compte fournisseurs débiteurs"
|
|||
#: field:account.tax,account_paid_id:0
|
||||
#: field:account.tax.template,account_paid_id:0
|
||||
msgid "Refund Tax Account"
|
||||
msgstr "Compte de taxe à payer"
|
||||
msgstr "Compte de taxe pour avoirs"
|
||||
|
||||
#. module: account
|
||||
#: view:account.bank.statement:0
|
||||
|
@ -9899,7 +9899,7 @@ msgstr "Rechercher une facture"
|
|||
#: view:account.invoice.report:0
|
||||
#: model:ir.actions.act_window,name:account.action_account_invoice_refund
|
||||
msgid "Refund"
|
||||
msgstr "Rembourser"
|
||||
msgstr "Créer un avoir"
|
||||
|
||||
#. module: account
|
||||
#: field:wizard.multi.charts.accounts,bank_accounts_id:0
|
||||
|
|
|
@ -16,98 +16,98 @@
|
|||
<field name="name">Account Entry</field>
|
||||
<field ref="model_account_move" name="model_id"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
<field name="domain_force">['|','|',('company_id','=',False),('company_id','child_of',[user.company_id.id]),('company_id.child_ids','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
|
||||
<record id="account_move_line_comp_rule" model="ir.rule">
|
||||
<field name="name">Entry lines</field>
|
||||
<field model="ir.model" name="model_id" ref="model_account_move_line"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
<field name="domain_force">['|','|',('company_id','=',False),('company_id','child_of',[user.company_id.id]),('company_id.child_ids','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
|
||||
<record id="journal_period_comp_rule" model="ir.rule">
|
||||
<field name="name">Journal Period</field>
|
||||
<field model="ir.model" name="model_id" ref="model_account_journal_period"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
<field name="domain_force">['|','|',('company_id','=',False),('company_id','child_of',[user.company_id.id]),('company_id.child_ids','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
|
||||
<record id="journal_comp_rule" model="ir.rule">
|
||||
<field name="name">Journal multi-company</field>
|
||||
<field model="ir.model" name="model_id" ref="model_account_journal"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
<field name="domain_force">['|','|',('company_id','=',False),('company_id','child_of',[user.company_id.id]),('company_id.child_ids','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
|
||||
<record id="analytic_journal_comp_rule" model="ir.rule">
|
||||
<field name="name">Analytic journal multi-company</field>
|
||||
<field model="ir.model" name="model_id" ref="model_account_analytic_journal"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
<field name="domain_force">['|','|',('company_id','=',False),('company_id','child_of',[user.company_id.id]),('company_id.child_ids','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
|
||||
<record id="analytic_journal_comp_rule_false" model="ir.rule">
|
||||
<field name="name">Analytic journal multi-company</field>
|
||||
<field model="ir.model" name="model_id" ref="model_account_analytic_journal"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
<field name="domain_force">['|','|',('company_id','=',False),('company_id','child_of',[user.company_id.id]),('company_id.child_ids','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
|
||||
<record id="period_comp_rule" model="ir.rule">
|
||||
<field name="name">Period multi-company</field>
|
||||
<field model="ir.model" name="model_id" ref="model_account_period"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
<field name="domain_force">['|','|',('company_id','=',False),('company_id','child_of',[user.company_id.id]),('company_id.child_ids','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
|
||||
<record id="fiscal_year_comp_rule" model="ir.rule">
|
||||
<field name="name">Fiscal year multi-company</field>
|
||||
<field model="ir.model" name="model_id" ref="model_account_fiscalyear"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
<field name="domain_force">['|','|',('company_id','=',False),('company_id','child_of',[user.company_id.id]),('company_id.child_ids','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
|
||||
<record id="account_comp_rule" model="ir.rule">
|
||||
<field name="name">Account multi-company</field>
|
||||
<field model="ir.model" name="model_id" ref="model_account_account"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
<field name="domain_force">['|','|',('company_id','=',False),('company_id','child_of',[user.company_id.id]),('company_id.child_ids','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
|
||||
<record id="tax_comp_rule" model="ir.rule">
|
||||
<field name="name">Tax multi-company</field>
|
||||
<field model="ir.model" name="model_id" ref="model_account_tax"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','=',user.company_id.id)]</field>
|
||||
<field name="domain_force">['|','|',('company_id','=',False),('company_id','child_of',[user.company_id.id]),('company_id.child_ids','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
|
||||
<record id="tax_code_comp_rule" model="ir.rule">
|
||||
<field name="name">Tax code multi-company</field>
|
||||
<field model="ir.model" name="model_id" ref="model_account_tax_code"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
<field name="domain_force">['|','|',('company_id','=',False),('company_id','child_of',[user.company_id.id]),('company_id.child_ids','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
|
||||
<record id="invoice_comp_rule" model="ir.rule">
|
||||
<field name="name">Invoice multi-company</field>
|
||||
<field model="ir.model" name="model_id" ref="model_account_invoice"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
<field name="domain_force">['|','|',('company_id','=',False),('company_id','child_of',[user.company_id.id]),('company_id.child_ids','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
|
||||
<record id="account_fiscal_position_comp_rule" model="ir.rule">
|
||||
<field name="name">Account fiscal Mapping company rule</field>
|
||||
<field model="ir.model" name="model_id" ref="model_account_fiscal_position"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
<field name="domain_force">['|','|',('company_id','=',False),('company_id','child_of',[user.company_id.id]),('company_id.child_ids','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
|
||||
<record id="account_model_comp_rule" model="ir.rule">
|
||||
<field name="name">Account model company rule</field>
|
||||
<field model="ir.model" name="model_id" ref="model_account_model"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
<field name="domain_force">['|','|',('company_id','=',False),('company_id','child_of',[user.company_id.id]),('company_id.child_ids','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
|
||||
</data></openerp>
|
||||
|
|
|
@ -72,7 +72,7 @@ class account_change_currency(osv.osv_memory):
|
|||
new_price = (line.price_unit / old_rate ) * rate
|
||||
obj_inv_line.write(cr, uid, [line.id], {'price_unit': new_price})
|
||||
obj_inv.write(cr, uid, [invoice.id], {'currency_id': new_currency}, context=context)
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
account_change_currency()
|
||||
|
||||
|
|
|
@ -215,7 +215,7 @@ class account_fiscalyear_close(osv.osv_memory):
|
|||
cr.execute('UPDATE account_fiscalyear ' \
|
||||
'SET end_journal_period_id = %s ' \
|
||||
'WHERE id = %s', (ids[0], old_fyear.id))
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
account_fiscalyear_close()
|
||||
|
||||
|
|
|
@ -57,7 +57,7 @@ class account_fiscalyear_close_state(osv.osv_memory):
|
|||
fy_pool = self.pool.get('account.fiscalyear')
|
||||
fy_code = fy_pool.browse(cr, uid, fy_id, context=context).code
|
||||
fy_pool.log(cr, uid, fy_id, "Fiscal year '%s' is closed, no more modification allowed." % (fy_code))
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
account_fiscalyear_close_state()
|
||||
|
||||
|
|
|
@ -43,7 +43,7 @@ class account_invoice_confirm(osv.osv_memory):
|
|||
if record['state'] not in ('draft','proforma','proforma2'):
|
||||
raise osv.except_osv(_('Warning'), _("Selected Invoice(s) cannot be confirmed as they are not in 'Draft' or 'Pro-Forma' state!"))
|
||||
wf_service.trg_validate(uid, 'account.invoice', record['id'], 'invoice_open', cr)
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
account_invoice_confirm()
|
||||
|
||||
|
@ -67,7 +67,7 @@ class account_invoice_cancel(osv.osv_memory):
|
|||
if record['state'] in ('cancel','paid'):
|
||||
raise osv.except_osv(_('Warning'), _("Selected Invoice(s) cannot be cancelled as they are already in 'Cancelled' or 'Done' state!"))
|
||||
wf_service.trg_validate(uid, 'account.invoice', record['id'], 'invoice_cancel', cr)
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
account_invoice_cancel()
|
||||
|
||||
|
|
|
@ -42,7 +42,7 @@ class account_open_closed_fiscalyear(osv.osv_memory):
|
|||
ids_move = move_obj.search(cr, uid, [('journal_id','=',period_journal.journal_id.id),('period_id','=',period_journal.period_id.id)])
|
||||
if ids_move:
|
||||
cr.execute('delete from account_move where id IN %s', (tuple(ids_move),))
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
account_open_closed_fiscalyear()
|
||||
|
||||
|
|
|
@ -50,7 +50,7 @@ class account_period_close(osv.osv_memory):
|
|||
# Log message for Period
|
||||
for period_id, name in period_pool.name_get(cr, uid, [id]):
|
||||
period_pool.log(cr, uid, period_id, "Period '%s' is closed, no more modification allowed for this period." % (name))
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
account_period_close()
|
||||
|
||||
|
|
|
@ -101,7 +101,7 @@ class account_move_line_reconcile(osv.osv_memory):
|
|||
context.update({'stop_reconcile': True})
|
||||
account_move_line_obj.reconcile(cr, uid, context['active_ids'], 'manual', account_id,
|
||||
period_id, journal_id, context=context)
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
account_move_line_reconcile()
|
||||
|
||||
|
@ -145,7 +145,7 @@ class account_move_line_reconcile_writeoff(osv.osv_memory):
|
|||
if context is None:
|
||||
context = {}
|
||||
account_move_line_obj.reconcile_partial(cr, uid, context['active_ids'], 'manual', context=context)
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
def trans_rec_reconcile(self, cr, uid, ids, context=None):
|
||||
account_move_line_obj = self.pool.get('account.move.line')
|
||||
|
@ -169,7 +169,7 @@ class account_move_line_reconcile_writeoff(osv.osv_memory):
|
|||
context.update({'stop_reconcile': True})
|
||||
account_move_line_obj.reconcile(cr, uid, context['active_ids'], 'manual', account_id,
|
||||
period_id, journal_id, context=context)
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
account_move_line_reconcile_writeoff()
|
||||
|
||||
|
|
|
@ -83,7 +83,7 @@ class account_partner_reconcile_process(osv.osv_memory):
|
|||
res_partner_obj.write(cr, uid, partner_id[0], {'last_reconciliation_date': time.strftime('%Y-%m-%d')}, context)
|
||||
#TODO: we have to find a way to update the context of the current tab (we could open a new tab with the context but it's not really handy)
|
||||
#TODO: remove that comments when the client side dev is done
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
_columns = {
|
||||
'to_reconcile': fields.float('Remaining Partners', readonly=True, help='This is the remaining partners for who you should check if there is something to reconcile or not. This figure already count the current partner as reconciled.'),
|
||||
|
|
|
@ -19,8 +19,6 @@
|
|||
#
|
||||
##############################################################################
|
||||
|
||||
from lxml import etree
|
||||
|
||||
from osv import osv
|
||||
|
||||
class account_balance_report(osv.osv_memory):
|
||||
|
@ -38,4 +36,4 @@ class account_balance_report(osv.osv_memory):
|
|||
|
||||
account_balance_report()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
|
@ -22,8 +22,6 @@
|
|||
import time
|
||||
from datetime import datetime
|
||||
from dateutil.relativedelta import relativedelta
|
||||
from lxml import etree
|
||||
|
||||
from osv import osv, fields
|
||||
from tools.translate import _
|
||||
|
||||
|
|
|
@ -19,8 +19,6 @@
|
|||
#
|
||||
##############################################################################
|
||||
|
||||
from lxml import etree
|
||||
|
||||
from osv import osv, fields
|
||||
from tools.translate import _
|
||||
|
||||
|
@ -86,4 +84,4 @@ class account_bs_report(osv.osv_memory):
|
|||
|
||||
account_bs_report()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
|
@ -19,8 +19,6 @@
|
|||
#
|
||||
##############################################################################
|
||||
|
||||
from lxml import etree
|
||||
|
||||
from osv import osv, fields
|
||||
|
||||
class account_pl_report(osv.osv_memory):
|
||||
|
@ -60,4 +58,4 @@ class account_pl_report(osv.osv_memory):
|
|||
|
||||
account_pl_report()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
|
@ -37,7 +37,7 @@ class account_state_open(osv.osv_memory):
|
|||
raise osv.except_osv(_('Warning'), _('Invoice is already reconciled'))
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
res = wf_service.trg_validate(uid, 'account.invoice', context['active_ids'][0], 'open_test', cr)
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
account_state_open()
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@ class account_unreconcile(osv.osv_memory):
|
|||
context = {}
|
||||
if context.get('active_ids', False):
|
||||
obj_move_line._remove_move_reconcile(cr, uid, context['active_ids'], context=context)
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
account_unreconcile()
|
||||
|
||||
|
@ -46,7 +46,7 @@ class account_unreconcile_reconcile(osv.osv_memory):
|
|||
rec_ids = context['active_ids']
|
||||
if rec_ids:
|
||||
obj_move_reconcile.unlink(cr, uid, rec_ids, context=context)
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
account_unreconcile_reconcile()
|
||||
|
||||
|
|
|
@ -38,7 +38,7 @@ class validate_account_move(osv.osv_memory):
|
|||
if not ids_move:
|
||||
raise osv.except_osv(_('Warning'), _('Specified Journal does not have any account move entries in draft state for this period'))
|
||||
obj_move.button_validate(cr, uid, ids_move, context=context)
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
validate_account_move()
|
||||
|
||||
|
@ -60,7 +60,7 @@ class validate_account_move_lines(osv.osv_memory):
|
|||
if not move_ids:
|
||||
raise osv.except_osv(_('Warning'), _('Selected Entry Lines does not have any account move enties in draft state'))
|
||||
obj_move.button_validate(cr, uid, move_ids, context)
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
validate_account_move_lines()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
|
@ -53,7 +53,7 @@ class analytic_plan_create_model(osv.osv_memory):
|
|||
'target': 'new',
|
||||
}
|
||||
else:
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
analytic_plan_create_model()
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
#
|
||||
##############################################################################
|
||||
|
||||
from osv import fields, osv
|
||||
from osv import osv
|
||||
|
||||
class account_invoice_line(osv.osv):
|
||||
_inherit = "account.invoice.line"
|
||||
|
|
|
@ -6,21 +6,21 @@
|
|||
<field name="name">Budget post multi-company</field>
|
||||
<field name="model_id" ref="model_account_budget_post"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
<field name="domain_force">['|','|',('company_id','=',False),('company_id','child_of',[user.company_id.id]),('company_id.child_ids','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
|
||||
<record id="budget_comp_rule" model="ir.rule">
|
||||
<field name="name">Budget multi-company</field>
|
||||
<field name="model_id" ref="model_crossovered_budget"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
<field name="domain_force">['|','|',('company_id','=',False),('company_id','child_of',[user.company_id.id]),('company_id.child_ids','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
|
||||
<record id="budget_lines_comp_rule" model="ir.rule">
|
||||
<field name="name">Budget lines multi-company</field>
|
||||
<field name="model_id" ref="model_crossovered_budget_lines"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
<field name="domain_force">['|','|',('company_id','=',False),('company_id','child_of',[user.company_id.id]),('company_id.child_ids','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<field name="name">Account Coda model company rule</field>
|
||||
<field model="ir.model" name="model_id" ref="model_account_coda"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
<field name="domain_force">['|','|',('company_id','=',False),('company_id','child_of',[user.company_id.id]),('company_id.child_ids','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
|
||||
</data></openerp>
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<field name="name">Payment Mode company rule</field>
|
||||
<field model="ir.model" name="model_id" ref="model_payment_mode"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
<field name="domain_force">['|','|',('company_id','=',False),('company_id','child_of',[user.company_id.id]),('company_id.child_ids','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
|
|
|
@ -65,7 +65,7 @@ class payment_order_create(osv.osv_memory):
|
|||
data = self.read(cr, uid, ids, [], context=context)[0]
|
||||
line_ids = data['entries']
|
||||
if not line_ids:
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
payment = order_obj.browse(cr, uid, context['active_id'], context=context)
|
||||
t = None
|
||||
|
@ -90,7 +90,7 @@ class payment_order_create(osv.osv_memory):
|
|||
'date': date_to_pay,
|
||||
'currency': line.invoice and line.invoice.currency_id.id or False,
|
||||
}, context=context)
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
def search_entries(self, cr, uid, ids, context=None):
|
||||
line_obj = self.pool.get('account.move.line')
|
||||
|
|
|
@ -37,7 +37,7 @@ class account_payment_make_payment(osv.osv_memory):
|
|||
# obj_act = self.pool.get('ir.actions.act_window')
|
||||
# order = obj_payment_order.browse(cr, uid, context['active_id'], context)
|
||||
obj_payment_order.set_done(cr, uid, [context['active_id']], context)
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
# t = order.mode and order.mode.type.code or 'manual'
|
||||
# if t == 'manual':
|
||||
# obj_payment_order.set_done(cr,uid,context['active_id'],context)
|
||||
|
|
|
@ -65,7 +65,7 @@ class account_payment_populate_statement(osv.osv_memory):
|
|||
data = self.read(cr, uid, ids, [], context=context)[0]
|
||||
line_ids = data['lines']
|
||||
if not line_ids:
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
statement = statement_obj.browse(cr, uid, context['active_id'], context=context)
|
||||
|
||||
|
|
|
@ -17,11 +17,8 @@
|
|||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
import time
|
||||
|
||||
from osv import fields, osv
|
||||
import pooler
|
||||
from tools import config
|
||||
import tools
|
||||
|
||||
class sale_receipt_report(osv.osv):
|
||||
|
|
|
@ -5,13 +5,13 @@
|
|||
<field name="name">Voucher multi-company</field>
|
||||
<field model="ir.model" name="model_id" ref="model_account_voucher"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
<field name="domain_force">['|','|',('company_id','=',False),('company_id','child_of',[user.company_id.id]),('company_id.child_ids','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
<record id="voucher_line_comp_rule" model="ir.rule">
|
||||
<field name="name">Voucher Line multi-company</field>
|
||||
<field model="ir.model" name="model_id" ref="model_account_voucher_line"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
<field name="domain_force">['|','|',('company_id','=',False),('company_id','child_of',[user.company_id.id]),('company_id.child_ids','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -39,11 +39,11 @@ class account_statement_from_invoice_lines(osv.osv_memory):
|
|||
context = {}
|
||||
statement_id = context.get('statement_id', False)
|
||||
if not statement_id:
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
data = self.read(cr, uid, ids, context=context)[0]
|
||||
line_ids = data['line_ids']
|
||||
if not line_ids:
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
line_obj = self.pool.get('account.move.line')
|
||||
statement_obj = self.pool.get('account.bank.statement')
|
||||
|
@ -115,7 +115,7 @@ class account_statement_from_invoice_lines(osv.osv_memory):
|
|||
'voucher_id': voucher_id,
|
||||
'date': time.strftime('%Y-%m-%d'), #time.strftime('%Y-%m-%d'), #line.date_maturity or,
|
||||
}, context=context)
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
account_statement_from_invoice_lines()
|
||||
|
||||
|
|
|
@ -55,7 +55,7 @@ class account_voucher_unreconcile(osv.osv_memory):
|
|||
# wf_service = netsvc.LocalService("workflow")
|
||||
# wf_service.trg_validate(uid, 'account.voucher', context.get('active_id'), 'cancel_voucher', cr)
|
||||
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
account_voucher_unreconcile()
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<field name="name">Analytic multi company rule</field>
|
||||
<field model="ir.model" name="model_id" ref="model_account_analytic_account"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
<field name="domain_force">['|','|',('company_id','=',False),('company_id','child_of',[user.company_id.id]),('company_id.child_ids','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
<record id="group_analytic_accounting" model="res.groups" context="{'noadmin':True}">
|
||||
<field name="name">Useability / Analytic Accounting</field>
|
||||
|
|
|
@ -220,7 +220,7 @@ class auction_lots_send_aie(osv.osv_memory):
|
|||
def send_pdf(self, cr, uid, ids, context=None):
|
||||
threaded_calculation = threading.Thread(target=self._send, args=(cr, uid, ids, context))
|
||||
threaded_calculation.start()
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
auction_lots_send_aie()
|
||||
|
||||
|
|
|
@ -137,7 +137,7 @@ class auction_lots_pay(osv.osv_memory):
|
|||
lots = service.execute(cr.dbname, uid, 'auction.lots', 'read', context['active_ids'], ['obj_num','obj_price'])
|
||||
args = pickle.dumps(lots)
|
||||
self._catalog_send(datas['uname'], datas['password'], datas['dates'], args)
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
auction_lots_pay()
|
||||
|
||||
|
|
|
@ -41,6 +41,6 @@ class auction_lots_able(osv.osv_memory):
|
|||
if context is None:
|
||||
context = {}
|
||||
self.pool.get('auction.lots').write(cr, uid, context.get('active_ids', []), {'ach_emp':True})
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
auction_lots_able()
|
||||
|
|
|
@ -52,7 +52,7 @@ class auction_lots_auction_move(osv.osv_memory):
|
|||
rec_ids = auction_lots_obj.browse(cr, uid, context.get('active_ids', []))
|
||||
for current in self.browse(cr, uid, ids, context=context):
|
||||
if not (current.auction_id and len(context.get('active_ids', []))):
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
for rec in rec_ids:
|
||||
new_id = auction_lot_history_obj.create(cr, uid, {
|
||||
|
@ -70,7 +70,7 @@ class auction_lots_auction_move(osv.osv_memory):
|
|||
'sel_inv_id': None,
|
||||
'obj_num': None,
|
||||
'state': 'draft'})
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
auction_lots_auction_move()
|
||||
|
||||
|
|
|
@ -90,7 +90,7 @@ class wiz_auc_lots_buyer_map(osv.osv_memory):
|
|||
for lots in lots_obj.browse(cr, uid, rec_ids, context=context):
|
||||
if lots.ach_login == current.ach_login:
|
||||
lots_obj.write(cr, uid, [lots.id], {'ach_uid': current.ach_uid.id}, context=context)
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
def fields_view_get(self, cr, uid, view_id=None, view_type='form',
|
||||
context=None, toolbar=False, submenu=False):
|
||||
|
|
|
@ -49,7 +49,7 @@ class auction_lots_cancel(osv.osv):
|
|||
supplier_refund_inv_id = invoice_obj.refund(cr, uid, [lot.ach_inv_id.id])
|
||||
if lot.sel_inv_id:
|
||||
customer_refund_inv_id = invoice_obj.refund(cr, uid, [lot.sel_inv_id.id])
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
_columns = {
|
||||
}
|
||||
|
|
|
@ -38,6 +38,6 @@ class auction_lots_enable(osv.osv_memory):
|
|||
if context is None:
|
||||
context = {}
|
||||
self.pool.get('auction.lots').write(cr, uid, context.get('active_id',False), {'ach_emp':False})
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
auction_lots_enable()
|
||||
|
|
|
@ -178,7 +178,7 @@ class auction_lots_numerotate(osv.osv_memory):
|
|||
for rec_id in rec_ids:
|
||||
lots_obj.write(cr, uid, [rec_id.id], {'obj_num':nbr})
|
||||
nbr+=1
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
auction_lots_numerotate()
|
||||
|
||||
|
|
|
@ -100,7 +100,7 @@ class auction_pay_buy(osv.osv_memory):
|
|||
})
|
||||
for lot in lots:
|
||||
lot_obj.write(cr, uid, [lot.id], {'statement_id':[(4, new_id)]})
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
auction_pay_buy()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
|
@ -52,6 +52,6 @@ class auction_pay_sel(osv.osv_memory):
|
|||
journal_id = datas.get('journal_id', False)
|
||||
if lot.sel_inv_id:
|
||||
p = invoice_obj.pay_and_reconcile(['lot.sel_inv_id.id'], datas['amount'], datas['dest_account_id'], journal_id, account_id, period_id, journal_id, context)
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
auction_pay_sel()
|
||||
|
|
|
@ -29,7 +29,7 @@ class auction_payer(osv.osv_memory):
|
|||
if context is None:
|
||||
context = {}
|
||||
self.pool.get('auction.lots').write(cr, uid, context.get('active_ids', []), {'is_ok':True, 'state':'paid'})
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
auction_payer()
|
||||
|
||||
|
@ -50,7 +50,7 @@ class auction_payer_sel(osv.osv_memory):
|
|||
if context is None:
|
||||
context = {}
|
||||
self.pool.get('auction.lots').write(cr, uid, context.get('active_ids', []), {'paid_vnd':True})
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
auction_payer_sel()
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
|
@ -82,6 +82,6 @@ class auction_transfer_unsold_object(osv.osv):
|
|||
'ach_inv_id':None,
|
||||
'sel_inv_id':None,
|
||||
'state':'draft'})
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
auction_transfer_unsold_object()
|
|
@ -20,7 +20,7 @@
|
|||
##############################################################################
|
||||
|
||||
from osv import fields, osv
|
||||
from osv.osv import osv_pool
|
||||
from osv.osv import osv_pool, object_proxy
|
||||
from tools.translate import _
|
||||
import ir
|
||||
import pooler
|
||||
|
@ -184,7 +184,7 @@ class audittrail_log_line(osv.osv):
|
|||
audittrail_log_line()
|
||||
|
||||
|
||||
class audittrail_objects_proxy(osv_pool):
|
||||
class audittrail_objects_proxy(object_proxy):
|
||||
""" Uses Object proxy for auditing changes on object of subscribed Rules"""
|
||||
|
||||
def get_value_text(self, cr, uid, field_name, values, model, context=None):
|
||||
|
|
|
@ -1150,8 +1150,9 @@ e.g.: Every other month on the last Sunday of the month for 10 occurrences:\
|
|||
('weekly', 'Weeks'),
|
||||
('monthly', 'Months'),
|
||||
('yearly', 'Years'), ], 'Frequency'),
|
||||
|
||||
'interval': fields.integer('Interval', help="Repeat every (Days/Week/Month/Year)"),
|
||||
|
||||
'end_type' : fields.selection([('forever', 'Forever'), ('count', 'Fix amout of times'), ('end_date','End date')], 'Way to end reccurency'),
|
||||
'interval': fields.integer('Repeat every', help="Repeat every (Days/Week/Month/Year)"),
|
||||
'count': fields.integer('Repeat', help="Repeat x times"),
|
||||
'mo': fields.boolean('Mon'),
|
||||
'tu': fields.boolean('Tue'),
|
||||
|
@ -1189,6 +1190,7 @@ e.g.: Every other month on the last Sunday of the month for 10 occurrences:\
|
|||
return res
|
||||
|
||||
_defaults = {
|
||||
'end_type' : 'forever',
|
||||
'state': 'tentative',
|
||||
'class': 'public',
|
||||
'show_as': 'busy',
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<!-- Attendee form view-->
|
||||
<!-- Attendee form view-->
|
||||
|
||||
<record id="base_calendar_attendee_form_view" model="ir.ui.view">
|
||||
<field name="name">calendar.attendee.form</field>
|
||||
|
@ -348,18 +347,21 @@
|
|||
<group col="4" colspan="4" name="rrule">
|
||||
<group col="4" colspan="4">
|
||||
<field name="rrule_type" string="Recurrency period"
|
||||
attrs="{'readonly':[('recurrent_uid','!=',False)]}" />
|
||||
<label string="" colspan="2"/>
|
||||
attrs="{'readonly':[('recurrent_uid','!=',False)]}" />
|
||||
<field name="interval" />
|
||||
|
||||
|
||||
<separator string="End of recurrency" colspan="4"/>
|
||||
<field name="count" attrs="{'readonly': [('end_date','!=',False)]}"/>
|
||||
<field name="end_type" />
|
||||
<label string=" " colspan="2" />
|
||||
<newline />
|
||||
<field name="end_date" attrs="{'readonly': [('count','!=',False)]}"/>
|
||||
<field name="count" attrs="{'invisible' : [('end_type', '!=', 'count')] }"/>
|
||||
<label string=" " colspan="2" />
|
||||
<newline />
|
||||
<field name="end_date" attrs="{'invisible' : [('end_type', '!=', 'end_date')] }"/>
|
||||
<newline />
|
||||
|
||||
<separator string="Repeat interval" colspan="4"/>
|
||||
<field name="interval" /> <label string="" colspan="2"/>
|
||||
|
||||
</group>
|
||||
<group col="8" colspan="4" name="Select weekdays" attrs="{'invisible' :[('rrule_type','not in', ['weekly'])]}">
|
||||
<separator string="Choose day where repeat the meeting" colspan="8"/>
|
||||
|
@ -379,13 +381,13 @@
|
|||
<group col="2" colspan="1">
|
||||
<field name="select1" />
|
||||
</group>
|
||||
<group col="2" colspan="1"
|
||||
attrs="{'invisible' : [('select1','=','day')]}">
|
||||
<group col="2" colspan="1">
|
||||
<field name="day"
|
||||
attrs="{'required' : [('select1','=','date'), ('rrule_type','=','monthly')]}" />
|
||||
attrs="{'required' : [('select1','=','date'), ('rrule_type','=','monthly')],
|
||||
'invisible' : ['|', ('select1','=','day'), ('rrule_type','!=','monthly')]}" />
|
||||
</group>
|
||||
<group col="3" colspan="1"
|
||||
attrs="{'invisible' : [('select1','=','date'), ('rrule_type','=','monthly')]}">
|
||||
attrs="{'invisible' : ['|', ('select1','=','date'), ('rrule_type','!=','monthly')]}">
|
||||
<field name="byday" string="The"
|
||||
attrs="{'required' : [('select1','=','day'), ('rrule_type','=','monthly')]}" />
|
||||
<field name="week_list" nolabel="1"
|
||||
|
|
|
@ -68,7 +68,7 @@ send an Email to Invited Person')
|
|||
model = False
|
||||
context_id = context and context.get('active_id', False) or False
|
||||
if not context or not context.get('model'):
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
else:
|
||||
model = context.get('model')
|
||||
|
||||
|
@ -89,7 +89,7 @@ send an Email to Invited Person')
|
|||
if context_id:
|
||||
ref = {'ref': '%s,%s' % (model, base_calendar.base_calendar_id2real_id(context_id))}
|
||||
else:
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
if type == 'internal':
|
||||
|
||||
if not datas.get('user_ids'):
|
||||
|
@ -144,7 +144,7 @@ send an Email to Invited Person')
|
|||
att_obj._send_mail(cr, uid, attendees, mail_to, \
|
||||
email_from = current_user.user_email or tools.config.get('email_from', False))
|
||||
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
|
||||
def onchange_partner_id(self, cr, uid, ids, partner_id, *args, **argv):
|
||||
|
|
|
@ -150,7 +150,7 @@ class base_calendar_set_exrule(osv.osv_memory):
|
|||
+ enddate + monthstring + yearstring
|
||||
|
||||
model_obj.write(cr, uid, ex_id,{'exrule': exrule_string})
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
_defaults = {
|
||||
'freq': lambda *x: 'None',
|
||||
|
|
|
@ -78,7 +78,7 @@ class calendar_event_edit_all(osv.osv_memory):
|
|||
model = context.get('model', False)
|
||||
model_obj = self.pool.get(model)
|
||||
model_obj.modify_all(cr, uid, [context_id], datas, context=context)
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
_name = "calendar.event.edit.all"
|
||||
_description = "Calendar Edit all event"
|
||||
|
|
|
@ -40,9 +40,7 @@ from random import seed, sample
|
|||
from string import letters, digits
|
||||
from osv import fields,osv
|
||||
import pooler
|
||||
import tools
|
||||
from tools.translate import _
|
||||
from service import security
|
||||
|
||||
magic_md5 = '$1$'
|
||||
|
||||
|
|
|
@ -35,7 +35,7 @@ def _get_graph(self, cr, uid, datas, context=None):
|
|||
module_data = mod_obj.get_relation_graph(cr, uid, module.name, context=context)
|
||||
if module_data['module_file']:
|
||||
mod_obj.write(cr, uid, [module.id], {'file_graph': module_data['module_file']}, context=context)
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
class create_graph(wizard.interface):
|
||||
states = {
|
||||
|
|
|
@ -100,7 +100,7 @@ def _record_objects(self, cr, uid, data, context):
|
|||
for s_id in search_ids:
|
||||
args=(cr.dbname,uid,obj_name,'copy',s_id,{},context)
|
||||
mod.recording_data.append(('query',args, {}, s_id))
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
def _check(self, cr, uid, data, context):
|
||||
pool = pooler.get_pool(cr.dbname)
|
||||
|
|
|
@ -90,7 +90,7 @@ def _record_objects(self, cr, uid, data, context):
|
|||
for s_id in search_ids:
|
||||
args=(cr.dbname,uid,obj_name,'copy',s_id,{},context)
|
||||
mod.recording_data.append(('query',args, {}, s_id))
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
def inter_call(self,cr,uid,data,context):
|
||||
res=base_module_save._create_module(self,cr, uid, data, context)
|
||||
|
|
|
@ -196,7 +196,6 @@ class report_creator(osv.osv):
|
|||
res = super(report_creator, self).read(cr, user, ids, fields, context, load)
|
||||
if (not context) or 'report_id' not in context:
|
||||
return res
|
||||
ctx = context or {}
|
||||
wp = ''
|
||||
for data in res:
|
||||
if not data.get('sql_query'):
|
||||
|
|
|
@ -49,7 +49,7 @@ class report_menu_create(osv.osv_memory):
|
|||
if context_id:
|
||||
data = self.browse(cr, uid, ids, context=context)
|
||||
if not data:
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
data = data[0]
|
||||
|
||||
board = obj_board.browse(cr, uid, context_id, context=context)
|
||||
|
@ -77,7 +77,7 @@ class report_menu_create(osv.osv_memory):
|
|||
'action': 'ir.actions.act_window, ' + str(action_id)
|
||||
}, context=context)
|
||||
obj_board.write(cr, uid, context_id, {'menu_id': menu_id})
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
report_menu_create()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
|
@ -145,7 +145,7 @@ def _set_filter_value(self, cr, uid, data, context):
|
|||
'condition' : form_data['condition']
|
||||
}
|
||||
pooler.get_pool(cr.dbname).get('base_report_creator.report.filter').create(cr,uid,create_dict,context)
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
def _set_form_value(self, cr, uid, data, context):
|
||||
field_id = data['form']['field_id']
|
||||
|
@ -199,7 +199,7 @@ def _set_operator(self, cr, uid, data, context):
|
|||
elif field.ttype in ('boolean', 'selection'):
|
||||
operator.append(('=','Equals'))
|
||||
operator.append(('<>','Not Equals'))
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
class set_filter_fields(wizard.interface):
|
||||
states = {
|
||||
|
|
|
@ -36,8 +36,7 @@ upload the report using the same wizard.
|
|||
'author': 'OpenERP SA',
|
||||
'website': 'http://www.openerp.com',
|
||||
'depends': ['base'],
|
||||
'init_xml': ['security/base_report_security.xml',
|
||||
'wizard/base_report_design_view.xml'],
|
||||
'init_xml': ['wizard/base_report_design_view.xml'],
|
||||
'update_xml': ['base_report_designer_installer.xml'],
|
||||
'demo_xml': [],
|
||||
'installable': True,
|
||||
|
|
|
@ -344,7 +344,6 @@ if __name__ == "__main__":
|
|||
parser.error("incorrect number of arguments")
|
||||
|
||||
import sys
|
||||
import StringIO
|
||||
|
||||
fname = sys.argv[1]
|
||||
f = fname
|
||||
|
|
Binary file not shown.
|
@ -140,28 +140,16 @@ class ServerParameter( unohelper.Base, XJobExecutor ):
|
|||
ErrorDialog("Connection Refuse...","Please enter valid Login/Password")
|
||||
self.win.endExecute()
|
||||
try:
|
||||
|
||||
ids = self.sock.execute(sDatabase,UID,sPassword, 'res.groups' , 'search', [('name','=','OpenOfficeReportDesigner')])
|
||||
ids_module =self.sock.execute(sDatabase, UID, sPassword, 'ir.module.module', 'search', [('name','=','base_report_designer'),('state', '=', 'installed')])
|
||||
dict_groups =self.sock.execute(sDatabase, UID,sPassword, 'res.groups' , 'read',ids,['users'])
|
||||
except :
|
||||
import traceback,sys
|
||||
info = reduce(lambda x, y: x+y, traceback.format_exception(sys.exc_type, sys.exc_value, sys.exc_traceback))
|
||||
self.logobj.log_write('ServerParameter', LOG_ERROR, info)
|
||||
|
||||
if not len(ids) :
|
||||
ErrorDialog("Group Not Found!!! Create a group named \n\n"'"OpenOfficeReportDesigner"'" \n\n ","","Group Name Error")
|
||||
self.logobj.log_write('Group Error',LOG_WARNING, ':Create a group OpenOfficeReportDesigner using database %s' % (sDatabase))
|
||||
self.win.endExecute()
|
||||
if not len(ids_module):
|
||||
ErrorDialog("Please Install base_report_designer module", "", "Module Uninstalled Error")
|
||||
self.logobj.log_write('Module Not Found',LOG_WARNING, ':base_report_designer not install in database %s' % (sDatabase))
|
||||
self.win.endExecute()
|
||||
|
||||
if UID not in dict_groups[0]['users']:
|
||||
ErrorDialog("Connection Refuse...","You have not access these Report Designer")
|
||||
self.logobj.log_write('Connection Refuse',LOG_WARNING, " Not Access Report Designer ")
|
||||
self.win.endExecute()
|
||||
else:
|
||||
desktop=getDesktop()
|
||||
doc = desktop.getCurrentComponent()
|
||||
|
|
|
@ -1,22 +0,0 @@
|
|||
<?xml version="1.0" ?>
|
||||
<openerp>
|
||||
<data noupdate="1">
|
||||
<record id="res_groups_openofficereportdesigner0" model="res.groups">
|
||||
<field eval="[(6,0,[])]" name="menu_access"/>
|
||||
<field eval="[(6,0,[])]" name="rule_groups"/>
|
||||
<field eval="[(6,0,[ref('base.user_root')])]" name="users"/>
|
||||
<field eval=""""OpenOfficeReportDesigner"""" name="name"/>
|
||||
</record>
|
||||
|
||||
<record id="ir_model_access_openofficereportdesigner0" model="ir.model.access">
|
||||
<field name="model_id" ref="base.model_ir_actions_report_xml"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
<field eval=""""OpenOfficeReportDesigner"""" name="name"/>
|
||||
<field eval="1" name="perm_unlink"/>
|
||||
<field eval="1" name="perm_write"/>
|
||||
<field eval="1" name="perm_create"/>
|
||||
<field name="group_id" ref="res_groups_openofficereportdesigner0"/>
|
||||
</record>
|
||||
</data>
|
||||
|
||||
</openerp>
|
|
@ -171,7 +171,7 @@ class res_currency(osv.osv):
|
|||
if isinstance(ids, (int, long)):
|
||||
ids = [ids]
|
||||
reads = self.read(cr, uid, ids, ['name','symbol'], context, load='_classic_write')
|
||||
return [(x['id'], tools.ustr(x['name']) + ' (' + tools.ustr(x['symbol']) + ')') for x in reads]
|
||||
return [(x['id'], tools.ustr(x['name']) + (x['symbol'] and (' (' + tools.ustr(x['symbol']) + ')') or '')) for x in reads]
|
||||
|
||||
res_currency()
|
||||
|
||||
|
|
|
@ -4,5 +4,6 @@
|
|||
"access_board_note_type","board.note.type","model_board_note_type","base.group_user",1,1,1,1
|
||||
"access_board_note","board.note","model_board_note","base.group_user",1,1,1,1
|
||||
"access_board_board_sale_salesman","board.board.sale.salesman","model_board_board","base.group_sale_salesman",1,1,1,1
|
||||
"access_res_log_report","res.log.report","model_res_log_report","base.group_user",1,1,1,1
|
||||
"access_res_log_report_system","res.log.report system","model_res_log_report",base.group_system,1,0,0,0
|
||||
"access_res_log_report_erp_manager","res.log.report erp_manager","model_res_log_report",base.group_erp_manager,1,0,0,0
|
||||
|
|
|
|
@ -78,7 +78,7 @@ class board_menu_create(osv.osv_memory):
|
|||
'action': 'ir.actions.act_window,' + str(action_id)
|
||||
}, context=context)
|
||||
#End Loop
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
_name = "board.menu.create"
|
||||
_description = "Menu Create"
|
||||
|
|
|
@ -125,7 +125,7 @@ class crm_lead(crm_case, osv.osv):
|
|||
'channel_id': fields.many2one('res.partner.canal', 'Channel'),
|
||||
|
||||
'contact_name': fields.char('Contact Name', size=64),
|
||||
'partner_name': fields.char("Customer Name", size=64),
|
||||
'partner_name': fields.char("Customer Name", size=64,help='The name of the future partner that will be created while converting the into opportunity'),
|
||||
'optin': fields.boolean('Opt-In', help="If opt-in is checked, this contact has accepted to receive emails."),
|
||||
'optout': fields.boolean('Opt-Out', help="If opt-out is checked, this contact has refused to receive emails or unsubscribed to a campaign."),
|
||||
'type':fields.selection([
|
||||
|
|
|
@ -57,8 +57,8 @@
|
|||
help="Convert to Opportunity" icon="gtk-go-forward"
|
||||
type="object"/>
|
||||
<newline />
|
||||
<field name="section_id" widget="selection" />
|
||||
<field name="user_id" />
|
||||
<field name="section_id" widget="selection" />
|
||||
<field name="stage_id" domain="[('type','=','lead'),('section_ids', '=', section_id)]" />
|
||||
<group col="2" colspan="1">
|
||||
<button name="stage_previous" string=""
|
||||
|
@ -89,7 +89,7 @@
|
|||
<field name="state_id"/>
|
||||
</group>
|
||||
<group colspan="2" col="3">
|
||||
<separator string="Communication" colspan="4" col="3"/>
|
||||
<separator string="Communication History" colspan="4" col="3"/>
|
||||
<field name="email_from" widget="email"/>
|
||||
<newline/>
|
||||
<field name="phone"/>
|
||||
|
@ -160,7 +160,7 @@
|
|||
<field name="day_close"/>
|
||||
</group>
|
||||
</page>
|
||||
<page string="History" groups="base.group_extended">
|
||||
<page string="Communication & History" groups="base.group_extended">
|
||||
<group colspan="4">
|
||||
<field colspan="4" name="email_cc" widget="char" size="512"/>
|
||||
</group>
|
||||
|
|
|
@ -169,18 +169,21 @@
|
|||
<group col="4" colspan="4" name="rrule">
|
||||
<group col="4" colspan="4">
|
||||
<field name="rrule_type" string="Recurrency period"
|
||||
attrs="{'readonly':[('recurrent_uid','!=',False)]}" />
|
||||
<label string="" colspan="2"/>
|
||||
attrs="{'readonly':[('recurrent_uid','!=',False)]}" />
|
||||
<field name="interval" />
|
||||
|
||||
|
||||
<separator string="End of recurrency" colspan="4"/>
|
||||
<field name="count" attrs="{'readonly': [('end_date','!=',False)]}"/>
|
||||
<field name="end_type" />
|
||||
<label string=" " colspan="2" />
|
||||
<newline />
|
||||
<field name="end_date" attrs="{'readonly': [('count','!=',False)]}"/>
|
||||
<field name="count" attrs="{'invisible' : [('end_type', '!=', 'count')] }"/>
|
||||
<label string=" " colspan="2" />
|
||||
<newline />
|
||||
<field name="end_date" attrs="{'invisible' : [('end_type', '!=', 'end_date')] }"/>
|
||||
<newline />
|
||||
|
||||
<separator string="Repeat interval" colspan="4"/>
|
||||
<field name="interval" /> <label string="" colspan="2"/>
|
||||
|
||||
</group>
|
||||
<group col="8" colspan="4" name="Select weekdays" attrs="{'invisible' :[('rrule_type','not in', ['weekly'])]}">
|
||||
<separator string="Choose day where repeat the meeting" colspan="8"/>
|
||||
|
@ -200,13 +203,13 @@
|
|||
<group col="2" colspan="1">
|
||||
<field name="select1" />
|
||||
</group>
|
||||
<group col="2" colspan="1"
|
||||
attrs="{'invisible' : [('select1','=','day')]}">
|
||||
<group col="2" colspan="1">
|
||||
<field name="day"
|
||||
attrs="{'required' : [('select1','=','date'), ('rrule_type','=','monthly')]}" />
|
||||
attrs="{'required' : [('select1','=','date'), ('rrule_type','=','monthly')],
|
||||
'invisible' : ['|', ('select1','=','day'), ('rrule_type','!=','monthly')]}" />
|
||||
</group>
|
||||
<group col="3" colspan="1"
|
||||
attrs="{'invisible' : [('select1','=','date'), ('rrule_type','=','monthly')]}">
|
||||
attrs="{'invisible' : ['|', ('select1','=','date'), ('rrule_type','!=','monthly')]}">
|
||||
<field name="byday" string="The"
|
||||
attrs="{'required' : [('select1','=','day'), ('rrule_type','=','monthly')]}" />
|
||||
<field name="week_list" nolabel="1"
|
||||
|
|
|
@ -146,7 +146,7 @@
|
|||
</group>
|
||||
</page>
|
||||
|
||||
<page string="History" groups="base.group_extended">
|
||||
<page string="Communication & History" groups="base.group_extended">
|
||||
<group colspan="4">
|
||||
<field colspan="4" name="email_cc" string="Global CC" widget="char" size="512"/>
|
||||
</group>
|
||||
|
|
|
@ -22,8 +22,6 @@
|
|||
<button name="stage_next" string="Next"
|
||||
states="open,pending" type="object"
|
||||
icon="gtk-go-forward" />
|
||||
<field name="section_id"
|
||||
invisible="context.get('invisible_section', True)" />
|
||||
<field name="user_id" />
|
||||
<field name="state" />
|
||||
<button name="case_cancel" string="Cancel"
|
||||
|
|
|
@ -50,7 +50,7 @@ class crm_add_note(osv.osv_memory):
|
|||
act = 'case_' + obj.state
|
||||
getattr(case_pool, act)(cr, uid, [case.id])
|
||||
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
def default_get(self, cr, uid, fields, context=None):
|
||||
"""
|
||||
|
|
|
@ -48,7 +48,7 @@ class crm_lead2opportunity(osv.osv_memory):
|
|||
"""
|
||||
record_id = context and context.get('active_id') or False
|
||||
if not record_id:
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
leads = self.pool.get('crm.lead')
|
||||
models_data = self.pool.get('ir.model.data')
|
||||
|
|
|
@ -73,7 +73,7 @@ class crm_merge_opportunity(osv.osv_memory):
|
|||
|
||||
for this in self.browse(cr, uid, ids, context=context):
|
||||
for opp in this.opportunity_ids:
|
||||
opp_obj.write(cr, uid, opp.id, {
|
||||
opp_obj.write(cr, uid, [opp.id], {
|
||||
'stage_id': opp.stage_id.id or current_opp.stage_id.id or False,
|
||||
'priority': opp.priority or current_opp.priority,
|
||||
'email_from': opp.email_from or current_opp.email_from,
|
||||
|
@ -108,7 +108,7 @@ class crm_merge_opportunity(osv.osv_memory):
|
|||
elif this.state in ['cancel', 'open', 'pending']:
|
||||
act = 'case_' + this.state
|
||||
getattr(opp_obj, act)(cr, uid, [record_id])
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
_columns = {
|
||||
'opportunity_ids' : fields.many2many('crm.lead', 'merge_opportunity_rel', 'merge_id', 'opportunity_id', 'Opportunities', domain=[('type', '=', 'opportunity')]),
|
||||
|
|
|
@ -156,7 +156,7 @@ class crm_send_new_email(osv.osv_memory):
|
|||
act = 'case_' + obj.state
|
||||
getattr(case_pool, act)(cr, uid, [case.id])
|
||||
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
def default_get(self, cr, uid, fields, context=None):
|
||||
"""
|
||||
|
@ -217,7 +217,7 @@ class crm_send_new_email(osv.osv_memory):
|
|||
|
||||
# In the case where the crm.case does not exist in the database
|
||||
if not model:
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
model_pool = self.pool.get(model)
|
||||
res_id = hist.res_id
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
<field name="name">Claims</field>
|
||||
<field name="res_model">crm.claim</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,calendar,form,graph</field>
|
||||
<field name="view_mode">tree,calendar,form</field>
|
||||
<field name="view_id" ref="crm_case_claims_tree_view"/>
|
||||
<field name="context">{'search_default_section_id': section_id, "search_default_current":1,"search_default_user_id":uid, "stage_type":'claim'}</field>
|
||||
<field name="search_view_id" ref="crm_claim.view_crm_case_claims_filter"/>
|
||||
|
@ -40,12 +40,6 @@
|
|||
<field name="act_window_id" ref="crm_case_categ_claim0"/>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window.view" id="action_crm_sec_graph_view_act_job">
|
||||
<field name="sequence" eval="4"/>
|
||||
<field name="view_mode">graph</field>
|
||||
<field name="view_id" ref="crm_case_graph_view_stage_cost"/>
|
||||
<field name="act_window_id" ref="crm_case_categ_claim0"/>
|
||||
</record>
|
||||
|
||||
<menuitem name="Claims" id="menu_crm_case_claims"
|
||||
parent="base.menu_aftersale" action="crm_case_categ_claim0" sequence="1"/>
|
||||
|
|
|
@ -155,7 +155,7 @@
|
|||
<field name="resolution" colspan="2" nolabel="1"/>
|
||||
</group>
|
||||
</page>
|
||||
<page string="History" groups="base.group_extended">
|
||||
<page string="Communication & History" groups="base.group_extended">
|
||||
<group colspan="4">
|
||||
<field colspan="4" name="email_cc" string="Global CC" widget="char"/>
|
||||
</group>
|
||||
|
@ -168,7 +168,7 @@
|
|||
context="{'mail':'reply', 'model': 'crm.claim', 'include_original' : True}"
|
||||
icon="terp-mail-replied" type="action" attrs="{'invisible': [('history', '!=', True)]}" />
|
||||
</tree>
|
||||
<form string="History">
|
||||
<form string="Communication & History">
|
||||
<group col="4" colspan="4">
|
||||
<field name="email_from"/>
|
||||
<field name="date"/>
|
||||
|
@ -226,20 +226,6 @@
|
|||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Claim Graph view -->
|
||||
|
||||
<record model="ir.ui.view" id="crm_case_graph_view_stage_cost">
|
||||
<field name="name">CRM -Graph</field>
|
||||
<field name="model">crm.claim</field>
|
||||
<field name="type">graph</field>
|
||||
<field name="arch" type="xml">
|
||||
<graph string="Cases By Stage and Estimates" type="bar" orientation="vertical">
|
||||
<field name="stage_id"/>
|
||||
<field name="planned_cost" operator="+"/>
|
||||
<field name="planned_revenue" operator="+"/>
|
||||
</graph>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Crm claim Search view -->
|
||||
|
||||
|
|
|
@ -73,6 +73,8 @@ class crm_claim_report(osv.osv):
|
|||
'date_closed': fields.date('Close Date', readonly=True),
|
||||
'date_deadline': fields.date('Deadline', readonly=True),
|
||||
'delay_expected': fields.float('Overpassed Deadline',digits=(16,2),readonly=True, group_operator="avg"),
|
||||
'email': fields.integer('# Emails', size=128, readonly=True),
|
||||
'probability': fields.float('Probability',digits=(16,2),readonly=True, group_operator="avg")
|
||||
}
|
||||
|
||||
def init(self, cr):
|
||||
|
@ -103,13 +105,15 @@ class crm_claim_report(osv.osv):
|
|||
c.type_action as type_action,
|
||||
date_trunc('day',c.create_date) as create_date,
|
||||
avg(extract('epoch' from (c.date_closed-c.create_date)))/(3600*24) as delay_close,
|
||||
(SELECT count(id) FROM mailgate_message WHERE model='crm.claim' AND res_id=c.id AND history=True) AS email,
|
||||
(SELECT avg(probability) FROM crm_case_stage WHERE type='claim' AND id=c.stage_id) AS probability,
|
||||
extract('epoch' from (c.date_deadline - c.date_closed))/(3600*24) as delay_expected
|
||||
from
|
||||
crm_claim c
|
||||
group by to_char(c.date, 'YYYY'), to_char(c.date, 'MM'),to_char(c.date, 'YYYY-MM-DD'),\
|
||||
c.state, c.user_id,c.section_id, c.stage_id,\
|
||||
c.categ_id,c.partner_id,c.company_id,c.create_date,
|
||||
c.priority,c.type_action,c.date_deadline,c.date_closed
|
||||
c.priority,c.type_action,c.date_deadline,c.date_closed,c.id
|
||||
)""")
|
||||
|
||||
crm_claim_report()
|
||||
|
|
|
@ -19,6 +19,8 @@
|
|||
<field name="day" invisible="1"/>
|
||||
<field name="nbr" string="#Claim" sum="#Claim"/>
|
||||
<field name="delay_close" avg="Avg Closing Delay"/>
|
||||
<field name="email"/>
|
||||
<field name="probability" widget="progressbar"/>
|
||||
<field name="delay_expected"/>
|
||||
<field name="state" invisible="1"/>
|
||||
<field name="stage_id" invisible="1"/>
|
||||
|
|
|
@ -140,7 +140,7 @@
|
|||
type="object" icon="gtk-convert" />
|
||||
</group>
|
||||
</page>
|
||||
<page string="History" groups="base.group_extended">
|
||||
<page string="Communication & History" groups="base.group_extended">
|
||||
<group colspan="4">
|
||||
<field colspan="4" name="email_cc" string="Global CC" widget="char"/>
|
||||
</group>
|
||||
|
|
|
@ -92,7 +92,7 @@
|
|||
icon="gtk-convert" />
|
||||
</group>
|
||||
</page>
|
||||
<page string="History" groups="base.group_extended">
|
||||
<page string="Communication & History" groups="base.group_extended">
|
||||
<group colspan="4">
|
||||
<field colspan="4" name="email_cc" string="Global CC" widget="char"/>
|
||||
</group>
|
||||
|
|
|
@ -31,6 +31,7 @@ based on geolocalization.
|
|||
'author': 'OpenERP SA',
|
||||
'depends': ['crm'],
|
||||
'update_xml': [
|
||||
'security/ir.model.access.csv',
|
||||
'res_partner_view.xml',
|
||||
'wizard/crm_forward_to_partner_view.xml',
|
||||
'crm_lead_view.xml',
|
||||
|
|
|
@ -86,7 +86,20 @@
|
|||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Crm Lead Assign report Graph View -->
|
||||
|
||||
<record id="view_report_crm_lead_assign_graph" model="ir.ui.view">
|
||||
<field name="name">crm.lead.assign.graph</field>
|
||||
<field name="model">crm.lead.report.assign</field>
|
||||
<field name="type">graph</field>
|
||||
<field name="arch" type="xml">
|
||||
<graph orientation="horizontal" string="Lead Assign" type="bar">
|
||||
<field name="state"/>
|
||||
<field name="nbr" operator="+"/>
|
||||
<field group="True" name="user_id"/>
|
||||
</graph>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_report_crm_opportunity_assign_tree" model="ir.ui.view">
|
||||
<field name="name">crm.lead.assign.report.tree</field>
|
||||
|
@ -139,6 +152,13 @@
|
|||
<field name="view_id" ref="view_report_crm_opportunity_assign_tree"/>
|
||||
<field name="act_window_id" ref="action_report_crm_opportunity_assign"/>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window.view" id="action_report_crm_lead_assign_graph">
|
||||
<field name="sequence" eval="2"/>
|
||||
<field name="view_mode">graph</field>
|
||||
<field name="view_id" ref="view_report_crm_lead_assign_graph"/>
|
||||
<field name="act_window_id" ref="action_report_crm_opportunity_assign"/>
|
||||
</record>
|
||||
|
||||
<menuitem id="menu_report_crm_opportunities_assign_tree"
|
||||
groups="base.group_extended"
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
|
||||
"access_ crm_lead_report_assign"," crm.lead.report.assign","model_crm_lead_report_assign","base.group_sale_salesman",1,1,1,0
|
||||
"access_ crm_lead_report_assign_all","crm.lead.report.assign.all","model_crm_lead_report_assign","base.group_user",1,0,0,0
|
||||
"access_res_partner_grade","res.partner.grade","model_res_partner_grade","base.group_sale_salesman",1,1,1,0
|
||||
"access_res_partner_grade_manager","res.partner.grade.manager","model_res_partner_grade","base.group_sale_manager",1,1,1,1
|
|
|
@ -198,7 +198,7 @@ class crm_lead_forward_to_partner(osv.osv_memory):
|
|||
to_write.update({'email_cc' : ', '.join(new_cc) })
|
||||
case_pool.write(cr, uid, case.id, to_write, context=context)
|
||||
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
def get_lead_details(self, cr, uid, lead_id, context=None):
|
||||
body = []
|
||||
|
|
|
@ -113,7 +113,7 @@ class make_delivery(osv.osv_memory):
|
|||
'type': 'make_to_stock'
|
||||
})
|
||||
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
make_delivery()
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
|
||||
<record id="ir_rule_readpublicdirectories0" model="ir.rule">
|
||||
<field name="model_id" ref="document.model_document_directory"/>
|
||||
<field name="domain_force">['|','|',('group_ids','in',[g.id for g in user.groups_id]), ('user_id', '=', user.id), '&', ('user_id', '=', False), ('group_ids','=',False), '|', ('company_id','=',False), ('company_id','child_of',[user.company_id.id])]</field>
|
||||
<field name="domain_force">['|','|',('group_ids','in',[g.id for g in user.groups_id]), ('user_id', '=', user.id), '&', ('user_id', '=', False), ('group_ids','=',False), '|','|', ('company_id','=',False), ('company_id','child_of',[user.company_id.id]),('company_id.child_ids','child_of',[user.company_id.id])]</field>
|
||||
<field name="name">Read public directories</field>
|
||||
<field eval="0" name="global"/>
|
||||
<field eval="[(6,0,[ref('base.group_user')])]" name="groups"/>
|
||||
|
@ -28,7 +28,7 @@
|
|||
|
||||
<record id="ir_rule_documentmodifyowndirectories0" model="ir.rule">
|
||||
<field name="model_id" ref="document.model_document_directory"/>
|
||||
<field name="domain_force">[ '|', ('user_id', '=', user.id), '&', ('group_ids','in',[g.id for g in user.groups_id]), ('user_id','=',False), '|', ('company_id','=',False), ('company_id','child_of',[user.company_id.id])]</field>
|
||||
<field name="domain_force">[ '|', ('user_id', '=', user.id), '&', ('group_ids','in',[g.id for g in user.groups_id]), ('user_id','=',False), '|','|', ('company_id','=',False), ('company_id','child_of',[user.company_id.id]),('company_id.child_ids','child_of',[user.company_id.id])]</field>
|
||||
<field name="name">Document modify own directories</field>
|
||||
<field eval="0" name="global"/>
|
||||
<field eval="[(6,0,[ref('base.group_document_user')])]" name="groups"/>
|
||||
|
|
|
@ -25,6 +25,7 @@ import time
|
|||
import netsvc
|
||||
from tools.translate import _
|
||||
import tools
|
||||
import base64
|
||||
|
||||
LOGGER = netsvc.Logger()
|
||||
|
||||
|
@ -62,28 +63,40 @@ class email_template_mailbox(osv.osv):
|
|||
return True
|
||||
|
||||
def send_this_mail(self, cr, uid, ids=None, context=None):
|
||||
#previous method to send email (link with email account can be found at the revision 4172 and below
|
||||
result = True
|
||||
attachment_pool = self.pool.get('ir.attachment')
|
||||
for id in (ids or []):
|
||||
try:
|
||||
account_obj = self.pool.get('email_template.account')
|
||||
values = self.read(cr, uid, id, [], context)
|
||||
payload = {}
|
||||
attach_to_send = None
|
||||
|
||||
if values['attachments_ids']:
|
||||
for attid in values['attachments_ids']:
|
||||
attachment = attachment_pool.browse(cr, uid, attid, context)#,['datas_fname','datas'])
|
||||
payload[attachment.datas_fname] = attachment.datas
|
||||
result = account_obj.send_mail(cr, uid,
|
||||
[values['account_id'][0]],
|
||||
{'To':values.get('email_to') or u'',
|
||||
'CC':values.get('email_cc') or u'',
|
||||
'BCC':values.get('email_bcc') or u'',
|
||||
'Reply-To':values.get('reply_to') or u''},
|
||||
values['subject'] or u'',
|
||||
{'text':values.get('body_text') or u'', 'html':values.get('body_html') or u''},
|
||||
payload=payload,
|
||||
message_id=values['message_id'],
|
||||
context=context)
|
||||
attach_to_send = self.pool.get('ir.attachment').read(cr, uid, values['attachments_ids'], ['datas_fname','datas', 'name'])
|
||||
attach_to_send = map(lambda x: (x['datas_fname'] or x['name'], base64.decodestring(x['datas'])), attach_to_send)
|
||||
|
||||
if values.get('body_html'):
|
||||
body = values.get('body_html')
|
||||
subtype = "html"
|
||||
else :
|
||||
body = values.get('body_text')
|
||||
subtype = "plain"
|
||||
|
||||
result = tools.email_send(
|
||||
values.get('email_from') or u'',
|
||||
[values.get('email_to')],
|
||||
values['subject'] or u'',
|
||||
body or u'',
|
||||
reply_to=values.get('reply_to') or u'',
|
||||
email_bcc=values.get('email_bcc') or u'',
|
||||
email_cc=values.get('email_cc') or u'',
|
||||
subtype=subtype,
|
||||
attach=attach_to_send,
|
||||
openobject_id=values['message_id']
|
||||
)
|
||||
|
||||
|
||||
if result == True:
|
||||
account = account_obj.browse(cr, uid, values['account_id'][0], context=context)
|
||||
if account.auto_delete:
|
||||
|
|
|
@ -30,7 +30,7 @@ class event_confirm(osv.osv_memory):
|
|||
|
||||
def confirm(self, cr, uid, ids, context=None):
|
||||
self.pool.get('event.event').do_confirm(cr, uid, context.get('event_ids', []), context=context)
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
event_confirm()
|
||||
|
||||
|
|
|
@ -63,7 +63,7 @@ class event_confirm_registration(osv.osv_memory):
|
|||
registration_pool = self.pool.get('event.registration')
|
||||
registration_ids = context.get('registration_ids', [])
|
||||
registration_pool.do_open(cr, uid, registration_ids, context=context)
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
event_confirm_registration()
|
||||
|
||||
|
|
|
@ -76,7 +76,7 @@ class event_project(osv.osv_memory):
|
|||
})
|
||||
event_obj.write(cr, uid, [event.id], {'project_id': duplicate_project_id })
|
||||
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
event_project()
|
||||
|
||||
|
|
|
@ -84,9 +84,11 @@ class email_server(osv.osv):
|
|||
def check_model(self, cr, uid, ids, context = None):
|
||||
if context is None:
|
||||
context = {}
|
||||
current_rec = self.read(cr, uid, ids, context)[0]
|
||||
current_rec = self.read(cr, uid, ids, context)
|
||||
if current_rec:
|
||||
model = self.pool.get(current_rec.get('object_id')[1])
|
||||
current_rec = current_rec[0]
|
||||
model_name = self.pool.get('ir.model').browse(cr, uid, current_rec.get('object_id')[0]).model
|
||||
model = self.pool.get(model_name)
|
||||
if hasattr(model, 'message_new'):
|
||||
return True
|
||||
return False
|
||||
|
|
|
@ -160,7 +160,7 @@ class hr_sign_in_out(osv.osv_memory):
|
|||
self.pool.get('hr.employee').attendance_action_change(cr, uid, [emp_id], 'sign_in')
|
||||
except:
|
||||
raise osv.except_osv(_('UserError'), _('A sign-in must be right after a sign-out !'))
|
||||
return {} # To do: Return Success message
|
||||
return {'type': 'ir.actions.act_window_close'} # To do: Return Success message
|
||||
|
||||
def sign_out(self, cr, uid, data, context=None):
|
||||
emp_id = data['emp_id']
|
||||
|
@ -172,7 +172,7 @@ class hr_sign_in_out(osv.osv_memory):
|
|||
self.pool.get('hr.employee').attendance_action_change(cr, uid, [emp_id], 'sign_out')
|
||||
except:
|
||||
raise osv.except_osv(_('UserError'), _('A sign-out must be right after a sign-in !'))
|
||||
return {} # To do: Return Success message
|
||||
return {'type': 'ir.actions.act_window_close'} # To do: Return Success message
|
||||
|
||||
hr_sign_in_out()
|
||||
|
||||
|
|
|
@ -137,7 +137,7 @@
|
|||
<button name="case_reset" string="Reset to New" states="done,cancel" type="object" icon="gtk-convert"/>
|
||||
</group>
|
||||
</page>
|
||||
<page string="Emails" groups="base.group_extended">
|
||||
<page string="Communication & History" groups="base.group_extended">
|
||||
<group colspan="4">
|
||||
<field colspan="4" name="email_cc" string="Global CC" widget="char"/>
|
||||
</group>
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<menuitem icon="terp-project" id="base.menu_main_pm" name="Project" sequence="10"/>
|
||||
<menuitem id="base.menu_project_management_time_tracking" name="Time Tracking"
|
||||
parent="base.menu_main_pm" sequence="3"/>
|
||||
|
||||
<record id="hr_timesheet_line_tree" model="ir.ui.view">
|
||||
<field name="name">hr.analytic.timesheet.tree</field>
|
||||
|
@ -97,8 +94,7 @@
|
|||
<field name="help">Through Working Hours you can register your working hours by project every day.</field>
|
||||
</record>
|
||||
|
||||
<menuitem id="menu_project_working_hours" parent="base.menu_project_management_time_tracking" action="act_hr_timesheet_line_evry1_all_form"/>
|
||||
<menuitem id="menu_hr_working_hours" parent="hr_attendance.menu_hr_time_tracking" action="act_hr_timesheet_line_evry1_all_form"/>
|
||||
<menuitem id="menu_hr_working_hours" parent="hr_attendance.menu_hr_time_tracking" action="act_hr_timesheet_line_evry1_all_form"/>
|
||||
|
||||
<record id="hr_timesheet_employee_extd_form" model="ir.ui.view">
|
||||
<field name="name">hr.timesheet.employee.extd_form</field>
|
||||
|
|
|
@ -93,7 +93,7 @@ class hr_so_project(osv.osv_memory):
|
|||
emp_id = data.emp_id.id
|
||||
emp_obj.attendance_action_change(cr, uid, [emp_id], type='sign_out', dt=data.date)
|
||||
self._write(cr, uid, data, emp_id, context=context)
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
def sign_out_result(self, cr, uid, ids, context=None):
|
||||
emp_obj = self.pool.get('hr.employee')
|
||||
|
@ -101,7 +101,7 @@ class hr_so_project(osv.osv_memory):
|
|||
emp_id = data.emp_id.id
|
||||
emp_obj.attendance_action_change(cr, uid, [emp_id], type='action', dt=data.date)
|
||||
self._write(cr, uid, data, emp_id, context=context)
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
hr_so_project()
|
||||
|
||||
|
@ -157,7 +157,7 @@ class hr_si_project(osv.osv_memory):
|
|||
for data in self.browse(cr, uid, ids, context=context):
|
||||
emp_id = data.emp_id.id
|
||||
emp_obj.attendance_action_change(cr, uid, [emp_id], type = 'sign_in' ,dt=data.date or False)
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
def default_get(self, cr, uid, fields_list, context=None):
|
||||
res = super(hr_si_project, self).default_get(cr, uid, fields_list, context=context)
|
||||
|
|
|
@ -52,7 +52,6 @@ class account_analytic_account(osv.osv):
|
|||
account_to_invoice_map.setdefault(rec['account_id'], []).append(rec['invoice_id'])
|
||||
|
||||
for account in self.browse(cr, uid, ids, context=context):
|
||||
invoiced = {}
|
||||
invoice_ids = filter(None, list(set(account_to_invoice_map.get(account.id, []))))
|
||||
for invoice in obj_invoice.browse(cr, uid, invoice_ids, context=context):
|
||||
res.setdefault(account.id, 0.0)
|
||||
|
|
|
@ -19,13 +19,6 @@
|
|||
<field name="icon">STOCK_JUSTIFY_FILL</field>
|
||||
<field name="action" ref="ir_actions_server_timsheet_sheet"/>
|
||||
</record>
|
||||
<record id="menu_act_project_management_timesheet_sheet_form" model="ir.ui.menu">
|
||||
<field name="name">My Timesheet</field>
|
||||
<field eval="5" name="sequence"/>
|
||||
<field name="parent_id" ref="base.menu_project_management_time_tracking"/>
|
||||
<field name="icon">STOCK_JUSTIFY_FILL</field>
|
||||
<field name="action" ref="ir_actions_server_timsheet_sheet"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -177,13 +177,6 @@
|
|||
<field name="help">Check your timesheets for a specific period. You can also encode time spent on a project (i.e. an analytic account) thus generating costs in the analytic account concerned.</field>
|
||||
</record>
|
||||
|
||||
<!--Time Tracking menu in project Management-->
|
||||
<menuitem icon="terp-project" id="base.menu_main_pm" name="Project" sequence="10"/>
|
||||
<menuitem
|
||||
id="base.menu_project_management_time_tracking"
|
||||
name="Time Tracking"
|
||||
parent="base.menu_main_pm" sequence="5"/>
|
||||
|
||||
<menuitem action="act_hr_timesheet_sheet_form" id="menu_act_hr_timesheet_sheet_form" parent="hr_attendance.menu_hr_time_tracking"
|
||||
sequence="2" groups="base.group_hr_user,base.group_hr_manager"/>
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<field name="name">Timesheet multi-company</field>
|
||||
<field name="model_id" search="[('model','=','hr_timesheet_sheet.sheet')]" model="ir.model"/>
|
||||
<field name="global" eval="True"/>
|
||||
<field name="domain_force">[('company_id','child_of',[user.company_id.id])]</field>
|
||||
<field name="domain_force">['|','|',('company_id','=',False),('company_id','child_of',[user.company_id.id]),('company_id.child_ids','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
|
|
|
@ -28,9 +28,5 @@
|
|||
|
||||
<menuitem action="action_hr_timesheet_current_open" icon="STOCK_NEW" id="menu_act_hr_timesheet_sheet_form_my_current" name="My Timesheet" parent="hr_attendance.menu_hr_time_tracking" sequence="1"/>
|
||||
|
||||
<menuitem action="action_hr_timesheet_current_open"
|
||||
id="menu_act_project_management_timesheet_sheet_form" parent="base.menu_project_management_time_tracking"
|
||||
sequence="5"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -126,7 +126,7 @@ class idea_post_vote(osv.osv_memory):
|
|||
|
||||
idea_pool._vote_save(cr, uid, vote_id, None, score, context)
|
||||
#vote = vote_pool.create(cr, uid, vote)
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
idea_post_vote()
|
||||
|
||||
|
|
|
@ -256,7 +256,7 @@ class bvr_import_wizard(osv.osv_memory):
|
|||
if res:
|
||||
data['form']['file'] = res['file']
|
||||
_import(self, cr, uid, data, context=context)
|
||||
return {}
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
bvr_import_wizard()
|
||||
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue