summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRaphaël Valyi <rvalyi@gmail.com>2010-07-09 11:38:43 -0300
committerRaphaël Valyi <rvalyi@gmail.com>2010-07-09 11:38:43 -0300
commitcd0adfc702940924b09bd38d4356e4728fa06155 (patch)
tree831eaffb3f027fde99d3aef1bdb4fa4ba077025b
parent424cbecb024e73fb19ef7c4af92e918562560f33 (diff)
parent6ad5e679300776a7125d558698ac29d7e43f7d44 (diff)
[merge]
bzr revid: rvalyi@gmail.com-20100709124725-4ptd3k4563ibe662 bzr revid: rvalyi@gmail.com-20100709133938-4m9k8nsvn4gjri24 bzr revid: rvalyi@gmail.com-20100709143843-c63tnhepvgu6ts3x
-rw-r--r--addons/account/account.py61
-rw-r--r--addons/account/account_bank_statement.py2
-rw-r--r--addons/account/account_cash_statement.py79
-rw-r--r--addons/account/account_invoice_view.xml4
-rw-r--r--addons/account/account_menuitem.xml2
-rw-r--r--addons/account/account_view.xml106
-rw-r--r--addons/account/i18n/it.po12
-rw-r--r--addons/account/i18n/ru.po2
-rw-r--r--addons/account/i18n/zh_CN.po44
-rw-r--r--addons/account/installer.py8
-rw-r--r--addons/account/invoice.py21
-rw-r--r--addons/account/report/account_invoice_report_view.xml32
-rw-r--r--addons/account/wizard/account_change_currency.py2
-rw-r--r--addons/account/wizard/account_invoice_refund.py14
-rw-r--r--addons/account/wizard/account_pay_invoice_view.xml58
-rw-r--r--addons/account_analytic_default/i18n/ru.po12
-rw-r--r--addons/account_analytic_plans/i18n/ru.po44
-rw-r--r--addons/account_budget/crossovered_budget_demo.xml652
-rw-r--r--addons/account_budget/i18n/ru.po80
-rw-r--r--addons/account_cancel/account_cancel_view.xml13
-rw-r--r--addons/account_coda/i18n/ru.po168
-rw-r--r--addons/account_followup/account_followup_view.xml2
-rw-r--r--addons/account_voucher/voucher.py19
-rw-r--r--addons/account_voucher/voucher_view.xml18
-rw-r--r--addons/account_voucher/voucher_workflow.xml8
-rwxr-xr-xaddons/account_voucher_payment/account_voucher_payment.py23
-rw-r--r--addons/account_voucher_payment/wizard/account_voucher_unreconcile.py2
-rw-r--r--addons/auction/i18n/ru.po247
-rw-r--r--addons/base_action_rule/base_action_rule.py25
-rw-r--r--addons/base_action_rule/base_action_rule_view.xml2
-rw-r--r--addons/base_calendar/base_calendar.py23
-rw-r--r--addons/base_calendar/base_calendar_view.xml27
-rw-r--r--addons/base_calendar/wizard/base_calendar_invite_attendee.py7
-rw-r--r--addons/base_contact/i18n/ru.po65
-rw-r--r--addons/base_iban/i18n/ru.po2
-rw-r--r--addons/base_setup/base_setup_installer.xml2
-rw-r--r--addons/caldav/calendar.py4
-rw-r--r--addons/crm/__openerp__.py2
-rw-r--r--addons/crm/board_crm_statistical_view.xml72
-rw-r--r--addons/crm/crm.py8
-rw-r--r--addons/crm/crm_action_rule.py21
-rw-r--r--addons/crm/crm_lead.py15
-rw-r--r--addons/crm/crm_lead_data.xml180
-rw-r--r--addons/crm/crm_meeting.py3
-rw-r--r--addons/crm/crm_meeting_menu.xml2
-rw-r--r--addons/crm/crm_meeting_view.xml15
-rw-r--r--addons/crm/crm_opportunity_data.xml39
-rw-r--r--addons/crm/crm_opportunity_demo.xml10
-rw-r--r--addons/crm/crm_phonecall_view.xml26
-rw-r--r--addons/crm/crm_view.xml1
-rw-r--r--addons/crm/i18n/ru.po388
-rw-r--r--addons/crm/test/test_crm_opportunity.yml2
-rw-r--r--addons/crm/wizard/crm_lead_to_partner_view.xml24
-rw-r--r--addons/crm/wizard/crm_phonecall_to_phonecall.py22
-rw-r--r--addons/crm/wizard/crm_phonecall_to_phonecall_view.xml24
-rw-r--r--addons/document/security/ir.model.access.csv1
-rw-r--r--addons/event/__init__.py5
-rw-r--r--addons/event/__openerp__.py1
-rw-r--r--addons/event/event.py6
-rw-r--r--addons/event/event_view.xml14
-rw-r--r--addons/event/report/report_event_registration.py4
-rw-r--r--addons/event/report/report_event_registration_view.xml4
-rw-r--r--addons/event/res_partner.py36
-rw-r--r--addons/event/res_partner_view.xml44
-rw-r--r--addons/event/security/ir.model.access.csv9
-rw-r--r--addons/l10n_ch/demo/vaudtax_data_demo.xml158
-rw-r--r--addons/mail_gateway/mail_gateway.py6
-rw-r--r--addons/membership/i18n/ru.po2
-rw-r--r--addons/mrp_repair/mrp_repair.py2
-rw-r--r--addons/multi_company/i18n/ru.po2
-rw-r--r--addons/product/i18n/ru.po2
-rw-r--r--addons/product_visible_discount/i18n/et.po47
-rw-r--r--addons/project_issue/project_issue.py2
-rw-r--r--addons/project_issue/project_issue_view.xml2
-rw-r--r--addons/project_issue/report/project_issue_report.py14
-rw-r--r--addons/project_long_term/project_long_term.py16
-rw-r--r--addons/project_long_term/project_long_term_view.xml29
-rw-r--r--addons/project_long_term/wizard/project_compute_phases.py3
-rw-r--r--addons/project_mrp/__openerp__.py1
-rw-r--r--addons/project_mrp/mrp.py14
-rw-r--r--addons/project_mrp/project_mrp.py8
-rw-r--r--addons/project_mrp/project_mrp_view.xml31
-rw-r--r--addons/purchase/__openerp__.py7
-rw-r--r--addons/purchase/purchase.py2
-rw-r--r--addons/purchase/purchase_workflow.xml1
-rw-r--r--addons/purchase/report/purchase_report.py8
-rw-r--r--addons/purchase/report/purchase_report_view.xml13
-rw-r--r--addons/purchase/security/ir.model.access.csv6
-rw-r--r--addons/purchase_requisition/purchase_requisition.py14
-rw-r--r--addons/purchase_requisition/purchase_requisition_view.xml17
-rw-r--r--addons/purchase_requisition/test/purchase_requisition.yml24
-rw-r--r--addons/purchase_requisition/test/purchase_requisition_exclusive.yml14
-rw-r--r--addons/sale/i18n/ru.po2
-rw-r--r--addons/sale/report/sale_report.py54
-rw-r--r--addons/sale/report/sale_report_view.xml9
-rw-r--r--addons/wiki/i18n/ru.po2
96 files changed, 2026 insertions, 1356 deletions
diff --git a/addons/account/account.py b/addons/account/account.py
index 3947cf9d813..73e1fdd0b7e 100644
--- a/addons/account/account.py
+++ b/addons/account/account.py
@@ -638,6 +638,7 @@ class account_journal(osv.osv):
'user_id': lambda self,cr,uid,context: uid,
'company_id': lambda self,cr,uid,c: self.pool.get('res.users').browse(cr, uid, uid, c).company_id.id,
}
+
def write(self, cr, uid, ids, vals, context=None):
obj=[]
if 'company_id' in vals:
@@ -719,14 +720,41 @@ class account_journal(osv.osv):
ids = self.search(cr, user, [('name',operator,name)]+ args, limit=limit, context=context)
return self.name_get(cr, user, ids, context=context)
- def onchange_type(self, cr, uid, ids, type):
- res={}
- for line in self.browse(cr, uid, ids):
- if type == 'situation':
- res= {'value':{'centralisation': True}}
- else:
- res= {'value':{'centralisation': False}}
- return res
+ def onchange_type(self, cr, uid, ids, type, currency):
+ data_pool = self.pool.get('ir.model.data')
+ user_pool = self.pool.get('res.users')
+
+ type_map = {
+ 'sale':'account_sp_journal_view',
+ 'sale_refund':'account_sp_refund_journal_view',
+ 'purchase':'account_sp_journal_view',
+ 'purchase_refund':'account_sp_refund_journal_view',
+ 'expense':'account_sp_journal_view',
+ 'cash':'account_journal_bank_view',
+ 'bank':'account_journal_bank_view',
+ 'general':'account_journal_view',
+ 'situation':'account_journal_view'
+ }
+
+ res = {}
+
+ view_id = type_map.get(type, 'general')
+
+ user = user_pool.browse(cr, uid, uid)
+ if type in ('cash', 'bank') and currency and user.company_id.currency_id.id != currency:
+ view_id = 'account_journal_bank_view_multi'
+
+ data_id = data_pool.search(cr, uid, [('model','=','account.journal.view'), ('name','=',view_id)])
+ data = data_pool.browse(cr, uid, data_id[0])
+
+ res.update({
+ 'centralisation':type == 'situation',
+ 'view_id':data.res_id,
+ })
+
+ return {
+ 'value':res
+ }
account_journal()
@@ -2385,6 +2413,7 @@ class wizard_multi_charts_accounts(osv.osv_memory):
obj_acc_template = self.pool.get('account.account.template')
obj_fiscal_position_template = self.pool.get('account.fiscal.position.template')
obj_fiscal_position = self.pool.get('account.fiscal.position')
+ data_pool = self.pool.get('ir.model.data')
# Creating Account
obj_acc_root = obj_multi.chart_template_id.account_root_id
@@ -2495,7 +2524,10 @@ class wizard_multi_charts_accounts(osv.osv_memory):
# Creating Journals
vals_journal={}
- view_id = self.pool.get('account.journal.view').search(cr,uid,[('name','=','Journal View')])[0]
+ data_id = data_pool.search(cr, uid, [('model','=','account.journal.view'), ('name','=','account_journal_view')])
+ data = data_pool.browse(cr, uid, data_id[0])
+ view_id = data.res_id
+
seq_id = obj_sequence.search(cr, uid, [('name','=','Account Journal')])[0]
if obj_multi.seq_journal:
@@ -2532,8 +2564,15 @@ class wizard_multi_charts_accounts(osv.osv_memory):
obj_journal.create(cr,uid,vals_journal)
# Bank Journals
- view_id_cash = self.pool.get('account.journal.view').search(cr, uid, [('name','=','Cash Journal View')])[0]
- view_id_cur = self.pool.get('account.journal.view').search(cr, uid, [('name','=','Multi-Currency Cash Journal View')])[0]
+ data_id = data_pool.search(cr, uid, [('model','=','account.journal.view'), ('name','=','account_journal_bank_view')])
+ data = data_pool.browse(cr, uid, data_id[0])
+ view_id_cash = data.res_id
+ #view_id_cash = self.pool.get('account.journal.view').search(cr, uid, [('name','=','Bank/Cash Journal View')])[0] #TOFIX: why put fix name
+
+ data_id = data_pool.search(cr, uid, [('model','=','account.journal.view'), ('name','=','account_journal_bank_view_multi')])
+ data = data_pool.browse(cr, uid, data_id[0])
+ ref_acc_bank = data.res_id
+ #ref_acc_bank = self.pool.get('account.journal.view').search(cr, uid, [('name','=','Bank/Cash Journal (Multi-Currency) View')])[0] #TOFIX: why put fix name
ref_acc_bank = obj_multi.chart_template_id.bank_account_view_id
current_num = 1
diff --git a/addons/account/account_bank_statement.py b/addons/account/account_bank_statement.py
index 572cb9d04fd..e0d31b9cf18 100644
--- a/addons/account/account_bank_statement.py
+++ b/addons/account/account_bank_statement.py
@@ -159,7 +159,7 @@ class account_bank_statement(osv.osv):
'period_id': _get_period,
}
- def button_confirm(self, cr, uid, ids, context={}):
+ def button_confirm_bank(self, cr, uid, ids, context={}):
done = []
res_currency_obj = self.pool.get('res.currency')
res_users_obj = self.pool.get('res.users')
diff --git a/addons/account/account_cash_statement.py b/addons/account/account_cash_statement.py
index 8380a19b411..896b71e9f25 100644
--- a/addons/account/account_cash_statement.py
+++ b/addons/account/account_cash_statement.py
@@ -67,19 +67,25 @@ class account_cash_statement(osv.osv):
_inherit = 'account.bank.statement'
- def _get_starting_balance(self, cr, uid, ids, name, arg, context=None):
+ def _get_starting_balance(self, cr, uid, ids, context=None):
- """ Find starting balance "
+ """ Find starting balance
@param name: Names of fields.
@param arg: User defined arguments
@return: Dictionary of values.
- """
+ """
res ={}
for statement in self.browse(cr, uid, ids):
amount_total=0.0
+
+ if statement.journal_id.type not in('cash'):
+ continue
+
for line in statement.starting_details_ids:
amount_total+= line.pieces * line.number
- res[statement.id]=amount_total
+ res[statement.id] = {
+ 'balance_start':amount_total
+ }
return res
def _balance_end_cash(self, cr, uid, ids, name, arg, context=None):
@@ -116,7 +122,7 @@ class account_cash_statement(osv.osv):
""" To get default journal for the object"
@param name: Names of fields.
@return: journal
- """
+ """
company_id = self.pool.get('res.users').browse(cr, uid, uid).company_id.id
journal = self.pool.get('account.journal').search(cr, uid, [('type', '=', 'cash'), ('company_id', '=', company_id)])
if journal:
@@ -166,11 +172,10 @@ class account_cash_statement(osv.osv):
company_id = company_pool.search(cr, uid, [])[0]
return company_id
-
+
_columns = {
'company_id':fields.many2one('res.company', 'Company', required=False),
'journal_id': fields.many2one('account.journal', 'Journal', required=True),
- 'balance_start': fields.function(_get_starting_balance, store=True, method=True, string='Opening Balance', type='float',digits=(16,2), help="Opening balance based on cashBox"),
'balance_end_real': fields.float('Closing Balance', digits=(16,2), states={'confirm':[('readonly', True)]}, help="closing balance entered by the cashbox verifier"),
'state': fields.selection(
[('draft', 'Draft'),
@@ -178,7 +183,7 @@ class account_cash_statement(osv.osv):
('open','Open')], 'State', required=True, states={'confirm': [('readonly', True)]}, readonly="1"),
'total_entry_encoding':fields.function(_get_sum_entry_encoding, method=True, store=True, string="Cash Transaction", help="Total cash transactions"),
'closing_date':fields.datetime("Closed On"),
- 'balance_end': fields.function(_end_balance, method=True, store=True, string='Balance', help="Closing balance based on transactions"),
+ 'balance_end': fields.function(_end_balance, method=True, store=True, string='Balance', help="Closing balance based on Opening Balance and Transactions"),
'balance_end_cash': fields.function(_balance_end_cash, method=True, store=True, string='Balance', help="Closing balance based on cashBox"),
'starting_details_ids': fields.one2many('account.cashbox.line', 'starting_id', string='Opening Cashbox'),
'ending_details_ids': fields.one2many('account.cashbox.line', 'ending_id', string='Closing Cashbox'),
@@ -205,8 +210,31 @@ class account_cash_statement(osv.osv):
for i in starting_details_ids:
if i and i[0] and i[1]:
i[0], i[1] = 0, 0
- res = super(account_cash_statement, self).create(cr, uid, vals, context=context)
- return res
+ res_id = super(account_cash_statement, self).create(cr, uid, vals, context=context)
+ res = self._get_starting_balance(cr, uid, [res_id])
+ for rs in res:
+ super(account_cash_statement, self).write(cr, uid, rs, res.get(rs))
+ return res_id
+
+ def write(self, cr, uid, ids, vals, context=None):
+ """
+ Update redord(s) comes in {ids}, with new value comes as {vals}
+ return True on success, False otherwise
+
+ @param cr: cursor to database
+ @param user: id of current user
+ @param ids: list of record ids to be update
+ @param vals: dict of new values to be set
+ @param context: context arguments, like lang, time zone
+
+ @return: True on success, False otherwise
+ """
+
+ super(account_cash_statement, self).write(cr, uid, ids, vals)
+ res = self._get_starting_balance(cr, uid, ids)
+ for rs in res:
+ super(account_cash_statement, self).write(cr, uid, rs, res.get(rs))
+ return True
def onchange_journal_id(self, cr, uid, statement_id, journal_id, context={}):
""" Changes balance start and starting details if journal_id changes"
@@ -285,7 +313,7 @@ class account_cash_statement(osv.osv):
self.write(cr, uid, ids, vals)
return True
- def button_confirm(self, cr, uid, ids, context={}):
+ def button_confirm_cash(self, cr, uid, ids, context={}):
""" Check the starting and ending detail of statement
@return: True
@@ -296,20 +324,24 @@ class account_cash_statement(osv.osv):
account_move_obj = self.pool.get('account.move')
account_move_line_obj = self.pool.get('account.move.line')
account_bank_statement_line_obj = self.pool.get('account.bank.statement.line')
-
+
company_currency_id = res_users_obj.browse(cr, uid, uid, context=context).company_id.currency_id.id
for st in self.browse(cr, uid, ids, context):
+
+ self.write(cr, uid, [st.id], {'balance_end_real':st.balance_end})
+ st.balance_end_real = st.balance_end
+
if not st.state == 'open':
continue
if not self._equal_balance(cr, uid, ids, st, context):
- raise osv.except_osv(_('Error !'), _('Cash balance is not matching with closing balance !'))
-
- if not (abs((st.balance_end or 0.0) - st.balance_end_real) < 0.0001):
- raise osv.except_osv(_('Error !'),
- _('The statement balance is incorrect !\n') +
- _('The expected balance (%.2f) is different than the computed one. (%.2f)') % (st.balance_end_real, st.balance_end))
+ raise osv.except_osv(_('Error !'), _('CashBox Balance is not matching with Calculated Balance !'))
+
+# if not (abs((st.balance_end or 0.0) - st.balance_end_real) < 0.0001):
+# raise osv.except_osv(_('Error !'),
+# _('The statement balance is incorrect !\n') +
+# _('The expected balance (%.2f) is different than the computed one. (%.2f)') % (st.balance_end_real, st.balance_end))
if (not st.journal_id.default_credit_account_id) \
or (not st.journal_id.default_debit_account_id):
raise osv.except_osv(_('Configuration Error !'),
@@ -435,7 +467,7 @@ class account_cash_statement(osv.osv):
if move.reconcile_id and move.reconcile_id.line_ids:
torec += map(lambda x: x.id, move.reconcile_id.line_ids)
- #try:
+
if abs(move.reconcile_amount-move.amount)<0.0001:
writeoff_acc_id = False
@@ -447,13 +479,16 @@ class account_cash_statement(osv.osv):
account_move_line_obj.reconcile(cr, uid, torec, 'statement', writeoff_acc_id=writeoff_acc_id, writeoff_period_id=st.period_id.id, writeoff_journal_id=st.journal_id.id, context=context)
else:
account_move_line_obj.reconcile_partial(cr, uid, torec, 'statement', context)
- #except:
- # raise osv.except_osv(_('Error !'), _('Unable to reconcile entry "%s": %.2f') % (move.name, move.amount))
if st.journal_id.entry_posted:
account_move_obj.write(cr, uid, [move_id], {'state':'posted'})
done.append(st.id)
- self.write(cr, uid, done, {'state':'confirm'}, context=context)
+
+ vals = {
+ 'state':'confirm',
+ 'closing_date':time.strftime("%Y-%m-%d %H:%M:%S")
+ }
+ self.write(cr, uid, done, vals, context=context)
return True
def button_cancel(self, cr, uid, ids, context={}):
diff --git a/addons/account/account_invoice_view.xml b/addons/account/account_invoice_view.xml
index 7394fc54b7e..99d1181fb7b 100644
--- a/addons/account/account_invoice_view.xml
+++ b/addons/account/account_invoice_view.xml
@@ -257,7 +257,7 @@
<field name="number"/>
<field name="type" invisible="1"/>
<field name="currency_id" domain="[('company_id','=', company_id)]" on_change="onchange_currency_id(currency_id, company_id)" width="50"/>
- <button name="%(action_account_change_currency)d" type="action" icon="terp-stock_effects-object-colorize" string="Change Currency"/>
+ <button name="%(action_account_change_currency)d" type="action" icon="terp-stock_effects-object-colorize" string="Change"/>
<newline/>
<field name="partner_id" on_change="onchange_partner_id(type,partner_id,date_invoice,payment_term, partner_bank,company_id)" groups="base.group_user"/>
<field domain="[('partner_id','=',partner_id)]" name="address_invoice_id"/>
@@ -490,7 +490,7 @@
<act_window domain="[('account_analytic_id', '=', active_id)]" id="act_account_analytic_account_2_account_invoice_line" name="Invoice lines" res_model="account.invoice.line" src_model="account.analytic.account"/>
- <act_window domain="[('partner_id', '=', partner_id), ('account_id.type', 'in', ['receivable', 'payable']), ('reconcile_id','=',False)]" id="act_account_invoice_account_move_unreconciled" name="Unreconciled Receivables &amp; Payables" res_model="account.move.line" src_model="account.invoice"/>
+ <act_window domain="[('partner_id', '=', partner_id), ('account_id.type', 'in', ['receivable', 'payable']), ('reconcile_id','=',False)]" id="act_account_invoice_account_move_unreconciled" name="Unreconciled Entries" res_model="account.move.line" src_model="account.invoice"/>
</data>
</openerp>
diff --git a/addons/account/account_menuitem.xml b/addons/account/account_menuitem.xml
index 56d83debe4c..e0ac10abb50 100644
--- a/addons/account/account_menuitem.xml
+++ b/addons/account/account_menuitem.xml
@@ -8,7 +8,7 @@
<menuitem id="menu_finance_bank_and_cash" name="Bank and Cash" parent="menu_finance" sequence="3"/>
<!-- <menuitem id="menu_accounting" name="Accounting" parent="menu_finance" sequence="5"/>-->
<menuitem id="menu_finance_periodical_processing" name="Periodical Processing" parent="menu_finance" sequence="8" groups="group_account_user"/>
- <menuitem id="periodical_processing_journal_entries_validation" name="Journal Entries Validation" parent="menu_finance_periodical_processing"/>
+ <menuitem id="periodical_processing_journal_entries_validation" name="Entries to Review" parent="menu_finance_periodical_processing"/>
<menuitem id="periodical_processing_reconciliation" name="Reconciliation" parent="menu_finance_periodical_processing"/>
<!-- <menuitem id="periodical_processing_recurrent_entries" name="Recurrent Entries" parent="menu_finance_periodical_processing"/>-->
<menuitem id="periodical_processing_invoicing" name="Invoicing" parent="menu_finance_periodical_processing"/>
diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml
index 6ef38dde583..de8bc843faa 100644
--- a/addons/account/account_view.xml
+++ b/addons/account/account_view.xml
@@ -332,7 +332,7 @@
<group colspan="4" col="6">
<field name="name" select="1"/>
<field name="code" select="1"/>
- <field name="type" on_change="onchange_type(type)"/>
+ <field name="type" on_change="onchange_type(type, currency)"/>
</group>
<notebook colspan="4">
<page string="General Information">
@@ -358,14 +358,11 @@
<separator string="Validations" colspan="4"/>
<field name="allow_date" groups="base.group_extended"/>
</group>
-
<group colspan="2" col="2">
<separator string="Other Configuration" colspan="4"/>
<field name="centralisation" groups="base.group_extended"/>
<field name="entry_posted"/>
- <field name="update_posted"/>
</group>
-
<group colspan="2" col="2">
<separator string="Invoicing Data" colspan="4"/>
<field name="invoice_sequence_id" groups="base.group_extended"/>
@@ -430,6 +427,9 @@
<field name="balance_end_real"/>
<field name="balance_end"/>
<field name="state"/>
+ <button type="object" string="Open" name="button_open" states="draft" icon="terp-camera_test"/>
+ <button type="object" string="Confirm" name="button_confirm_bank" states="open" icon="terp-gtk-go-back-rtl"/>
+ <button type="object" string="Cancel" name="button_cancel" states="confirm" icon="terp-gtk-stop"/>
</tree>
</field>
</record>
@@ -468,7 +468,7 @@
<field name="journal_id" on_change="onchange_journal_id(journal_id)" select="1"/>
<field name="period_id"/>
<field name="balance_start"/>
- <field name="balance_end_real"/>
+ <field name="balance_end_real"/>
</group>
<notebook colspan="4">
<page string="Transaction">
@@ -508,7 +508,7 @@
<field name="state"/>
<field name="balance_end"/>
<button name="button_dummy" states="draft" string="Compute" icon="terp-stock_format-scientific"/>
- <button name="button_confirm" states="draft" string="Confirm" type="object" icon="terp-camera_test"/>
+ <button name="button_confirm_bank" states="draft" string="Confirm" type="object" icon="terp-camera_test"/>
<button name="button_cancel" states="confirm" string="Cancel" type="object" icon="terp-gtk-stop"/>
</group>
</form>
@@ -521,6 +521,18 @@
<field name="view_mode">tree,form</field>
<field name="domain">[('journal_id.type', '=', 'bank')]</field>
</record>
+ <record model="ir.actions.act_window.view" id="action_bank_statement_tree_bank">
+ <field name="sequence" eval="1"/>
+ <field name="view_mode">tree</field>
+ <field name="view_id" ref="view_bank_statement_tree"/>
+ <field name="act_window_id" ref="action_bank_statement_tree"/>
+ </record>
+ <record model="ir.actions.act_window.view" id="action_bank_statement_form_bank">
+ <field name="sequence" eval="1"/>
+ <field name="view_mode">form</field>
+ <field name="view_id" ref="view_bank_statement_form"/>
+ <field name="act_window_id" ref="action_bank_statement_tree"/>
+ </record>
<menuitem string="Bank Statements" action="action_bank_statement_tree" id="menu_bank_statement_tree" parent="menu_finance_bank_and_cash" sequence="7"/>
<record id="action_bank_statement_draft_tree" model="ir.actions.act_window">
@@ -1130,10 +1142,6 @@
<field name="partner_id" select='1'/>
</group>
<newline/>
- <group col="10" colspan="4">
- <field name="journal_id" widget="selection" context="{'journal_id':self, 'visible_id':self or 0, 'normal_view':False}"/>
- <field name="period_id" widget="selection" context="{'period_id':self}"/>
- </group>
<group expand="0" string="Group By..." colspan="12" col="10">
<filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'journal_id'}"/>
<filter string="Period" icon="terp-go-month" domain="[]" context="{'group_by':'period_id'}"/>
@@ -1179,15 +1187,21 @@
src_model="account.move"/>
<record id="action_move_to_review" model="ir.actions.act_window">
- <field name="name">Journal Entries to Review</field>
+ <field name="name">Journal Entries</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">account.move</field>
<field name="view_type">form</field>
<field name="view_id" ref="view_move_tree"/>
<field name="search_view_id" ref="view_account_move_filter"/>
- <field name="domain">[('to_check','=',True)]</field>
+ <field name="domain">[('to_check','=',True), ('state','=','draft')]</field>
</record>
- <menuitem action="action_move_to_review" id="menu_action_move_to_review" parent="periodical_processing_journal_entries_validation"/>
+
+ <menuitem
+ action="action_move_to_review"
+ id="menu_action_move_to_review"
+ parent="periodical_processing_journal_entries_validation"
+ />
+
<!-- <menuitem id="next_id_29" name="Search Entries" parent="account.menu_finance_entries" sequence="40"/>-->
<!-- <menuitem action="action_move_line_form" id="menu_action_move_line_form" parent="next_id_29"/>-->
@@ -1209,7 +1223,7 @@
<field name="view_mode">tree,form</field>
<field name="view_id" ref="view_move_line_tree"/>
<field name="search_view_id" ref="view_account_move_line_filter"/>
- <field name="domain">[('journal_id.type', 'in', ['sale', 'sale_refund'])]</field>
+ <field name="domain">[('journal_id.type', 'in', ['sale', 'purchase_refund'])]</field>
</record>
<menuitem action="action_account_moves_sale" id="menu_eaction_account_moves_sale" parent="menu_finance_receivables"/>
@@ -1221,7 +1235,7 @@
<field name="view_mode">tree,form</field>
<field name="view_id" ref="view_move_line_tree"/>
<field name="search_view_id" ref="view_account_move_line_filter"/>
- <field name="domain">[('journal_id.type', 'in', ['purchase', 'purchase_refund'])]</field>
+ <field name="domain">[('journal_id.type', 'in', ['purchase', 'sale_refund'])]</field>
<field name="context">{'journal_id':1}</field>
</record>
@@ -1553,7 +1567,7 @@
<!-- <field name="date" select='1'/>-->
<!-- <field name="account_id" select='1'/>-->
<!-- <field name="partner_id" select='1'>-->
-<!-- <filter help="Next Partner Entries to reconcile" name="next_partner" string="Next Partner to reconcile" context="{'next_partner_only': 1}" icon="terp-partner" domain="[('account_id.reconcile','=',True),('reconcile_id','=',False)]"/>-->
+<!-- <filter help="Next Partner Entries to reconcile" name="next_partner" string="Next Partner to reconcile" context="{'next_partner_only': 1}" icon="terp-partner" domain="[('account_id.reconcile','=',True),('reconcile_id','=',False)]"/>-->
<!-- </field>-->
<!-- <field name="balance" string="Debit/Credit" select='1'/>-->
<!-- </group>-->
@@ -1842,17 +1856,17 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Account Templates">
- <group>
- <filter icon="terp-sale" string="Receivale Accounts" domain="[('type','=','receivable')]"/>
- <filter icon="terp-purchase" string="Payable Accounts" domain="[('type','=','payable')]"/>
- <separator orientation="vertical"/>
- <field name="code"/>
+ <group>
+ <filter icon="terp-sale" string="Receivale Accounts" domain="[('type','=','receivable')]"/>
+ <filter icon="terp-purchase" string="Payable Accounts" domain="[('type','=','payable')]"/>
+ <separator orientation="vertical"/>
+ <field name="code"/>
<field name="parent_id"/>
<field name="type"/>
<field name="user_type"/>
- </group>
- <newline/>
- <group expand="0" string="Group By...">
+ </group>
+ <newline/>
+ <group expand="0" string="Group By...">
<filter string="Internal Type" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'type'}"/>
<filter string="Account Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'user_type'}"/>
</group>
@@ -1878,7 +1892,7 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Chart of Accounts Template">
- <group>
+ <group>
<field name="name"/>
<field name="account_root_id"/>
<field name="bank_account_view_id"/>
@@ -1903,19 +1917,19 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Chart of Account Templates">
- <group>
- <field name="name"/>
- <field name="account_root_id"/>
- <field name="bank_account_view_id"/>
- </group>
- <newline/>
+ <group>
+ <field name="name"/>
+ <field name="account_root_id"/>
+ <field name="bank_account_view_id"/>
+ </group>
+ <newline/>
<group expand="0" string="Group By...">
<filter string="Root Account" icon="terp-folder-orange" domain="[]" context="{'group_by':'account_root_id'}"/>
<filter string="Bank Account" icon="terp-folder-blue" domain="[]" context="{'group_by':'bank_account_view_id'}"/>
<separator orientation="vertical"/>
<filter string="Receivable Account" icon="terp-sale" domain="[]" context="{'group_by':'property_account_receivable'}"/>
<filter string="Payable Account" icon="terp-purchase" domain="[]" context="{'group_by':'property_account_payable'}"/>
- <separator orientation="vertical"/>
+ <separator orientation="vertical"/>
<filter string="Income Account" icon="terp-sale" domain="[]" context="{'group_by':'property_account_income_categ'}"/>
<filter string="Expense Account" icon="terp-purchase" domain="[]" context="{'group_by':'property_account_expense_categ'}"/>
</group>
@@ -2060,20 +2074,20 @@
</field>
</record>
- <record id="view_tax_code_template_search" model="ir.ui.view">
+ <record id="view_tax_code_template_search" model="ir.ui.view">
<field name="name">account.tax.code.template.search</field>
<field name="model">account.tax.code.template</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search tax template">
- <group>
- <field name="name"/>
- <field name="code"/>
- <field name="parent_id"/>
+ <group>
+ <field name="name"/>
+ <field name="code"/>
+ <field name="parent_id"/>
</group>
<newline/>
<group expand="0" string="Group By...">
- <filter string="Parent Code" icon="terp-folder-orange" domain="[]" context="{'group_by':'parent_id'}"/>
+ <filter string="Parent Code" icon="terp-folder-orange" domain="[]" context="{'group_by':'parent_id'}"/>
</group>
</search>
</field>
@@ -2268,7 +2282,7 @@
<field name="user_id" select="1"/>
<field name="state"/>
<button type="object" string="Open" name="button_open" states="draft" icon="terp-camera_test"/>
- <button type="object" string="Confirm" name="button_confirm" states="open" icon="terp-gtk-go-back-rtl"/>
+ <button type="object" string="Confirm" name="button_confirm_cash" states="open" icon="terp-gtk-go-back-rtl"/>
<button type="object" string="Cancel" name="button_cancel" states="confirm" icon="terp-gtk-stop"/>
</tree>
</field>
@@ -2286,7 +2300,7 @@
<field name="journal_id" on_change="onchange_journal_id(journal_id)" domain="[('type','=','cash')]" select="1" />
<field name="user_id" select="1" readonly="1"/>
<field name="period_id" select="1"/>
- <field name="balance_end_real"/>
+<!-- <field name="balance_end_real"/>-->
</group>
<notebook colspan="4">
@@ -2319,7 +2333,7 @@
</form>
</field>
</page>
- <page string="Cash Box">
+ <page string="CashBox">
<group col="2" colspan="2" expand="1">
<field name="starting_details_ids" nolabel="1" colspan="2" attrs="{'readonly':[('state','=','draft')]}">
<tree string = "Opening Balance" editable="bottom">
@@ -2350,7 +2364,7 @@
</group>
</page>
<page string="Accounting Entries" attrs="{'invisible': [('state','!=','confirm')]}">
- <field colspan="4" name="move_line_ids" nolabel="1"/>
+ <field colspan="4" name="move_line_ids" nolabel="1" string="Accounting Entries"/>
</page>
</notebook>
<group col="6" colspan="4">
@@ -2361,18 +2375,18 @@
</group>
<group col="2" colspan="2">
<separator string="Opening Balance" colspan="4"/>
- <field name="balance_start"/>
+ <field name="balance_start" readonly="1" string="Opening Balance"/>
<field name="total_entry_encoding"/>
</group>
<group col="2" colspan="2">
<separator string="Closing Balance" colspan="4"/>
- <field name="balance_end" string="Approx"/>
- <field name="balance_end_cash" string="Cash Balance"/>
+ <field name="balance_end" string="Calculated Balance"/>
+ <field name="balance_end_cash" string="CashBox Balance"/>
</group>
</group>
<group col="8" colspan="4">
<field name="state" colspan="4"/>
- <button name="button_confirm" states="open" string="Close CashBox" icon="terp-check" type="object"/>
+ <button name="button_confirm_cash" states="open" string="Close CashBox" icon="terp-check" type="object"/>
<button name="button_open" states="draft" string="Open CashBox" icon="terp-document-new" type="object"/>
<button name="button_cancel" states="confirm,open" string="Cancel" icon="terp-gtk-stop" type="object" groups="base.group_extended"/>
</group>
diff --git a/addons/account/i18n/it.po b/addons/account/i18n/it.po
index 413cbb3ad35..62a2d826964 100644
--- a/addons/account/i18n/it.po
+++ b/addons/account/i18n/it.po
@@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2010-07-05 10:24+0000\n"
+"PO-Revision-Date: 2010-07-08 08:56+0000\n"
"Last-Translator: eLBati - albatos.com <lorenzo.battistini@albatos.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-07-07 03:39+0000\n"
+"X-Launchpad-Export-Date: 2010-07-09 03:56+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account
@@ -3209,6 +3209,8 @@ msgid ""
"The account moves of the invoice have been reconciled with account moves of "
"the payment(s)."
msgstr ""
+"I movimenti contabili della fattura sono stati riconciliati con movimenti "
+"contabili del/i pagamento/i."
#. module: account
#: rml:account.invoice:0
@@ -3631,7 +3633,7 @@ msgstr ""
#. module: account
#: help:account.invoice,account_id:0
msgid "The partner account used for this invoice."
-msgstr ""
+msgstr "Il conto del partner utilizzato per questa fattura."
#. module: account
#: help:account.tax.code,notprintable:0
@@ -3888,7 +3890,7 @@ msgstr ""
#. module: account
#: help:account.invoice,date_invoice:0
msgid "Keep empty to use the current date"
-msgstr ""
+msgstr "Lasciare vuoto per utilizzare la data corrente"
#. module: account
#: rml:account.overdue:0
@@ -5278,7 +5280,7 @@ msgstr "Non pagati"
#. module: account
#: help:account.invoice,residual:0
msgid "Remaining amount due."
-msgstr ""
+msgstr "Importo rimanente dovuto"
#. module: account
#: wizard_view:account.period.close,init:0
diff --git a/addons/account/i18n/ru.po b/addons/account/i18n/ru.po
index ea4307e5542..e5a7ff528f4 100644
--- a/addons/account/i18n/ru.po
+++ b/addons/account/i18n/ru.po
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-07-08 03:50+0000\n"
+"X-Launchpad-Export-Date: 2010-07-09 03:56+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account
diff --git a/addons/account/i18n/zh_CN.po b/addons/account/i18n/zh_CN.po
index 743c8ff302e..5effa7bf02b 100644
--- a/addons/account/i18n/zh_CN.po
+++ b/addons/account/i18n/zh_CN.po
@@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.6\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2010-07-06 10:39+0000\n"
+"PO-Revision-Date: 2010-07-08 05:22+0000\n"
"Last-Translator: Black Jack <onetimespeed@hotmail.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-07-07 03:39+0000\n"
+"X-Launchpad-Export-Date: 2010-07-09 03:56+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account
@@ -24,7 +24,7 @@ msgstr "内部名称"
#. module: account
#: view:account.tax.code:0
msgid "Account Tax Code"
-msgstr "税代码"
+msgstr "税事务科目"
#. module: account
#: model:ir.actions.act_window,name:account.action_invoice_tree9
@@ -94,7 +94,7 @@ msgstr "未对账"
#: field:account.tax,base_code_id:0
#: field:account.tax.template,base_code_id:0
msgid "Base Code"
-msgstr "基础代码"
+msgstr "基础税事务代码"
#. module: account
#: view:account.account:0
@@ -128,7 +128,7 @@ msgstr "剩余的"
#: field:account.tax.template,base_sign:0
#: field:account.tax.template,ref_base_sign:0
msgid "Base Code Sign"
-msgstr "税基代码符号"
+msgstr "基础税事务符号"
#. module: account
#: model:ir.actions.wizard,name:account.wizard_unreconcile_select
@@ -503,7 +503,7 @@ msgstr "辅助核算分录统计"
#: model:ir.actions.act_window,name:account.action_account_tax_code_template_form
#: model:ir.ui.menu,name:account.menu_action_account_tax_code_template_form
msgid "Tax Code Templates"
-msgstr "税代码模板"
+msgstr "税事务模板"
#. module: account
#: view:account.invoice:0
@@ -546,7 +546,7 @@ msgstr "包含在基础金额里"
#: field:account.tax,ref_base_code_id:0
#: field:account.tax.template,ref_base_code_id:0
msgid "Refund Base Code"
-msgstr "退税基于"
+msgstr "退税事务代码"
#. module: account
#: view:account.invoice.line:0
@@ -701,7 +701,7 @@ msgstr "选择辅助核算的会计期间"
#: field:account.tax.template,ref_tax_sign:0
#: field:account.tax.template,tax_sign:0
msgid "Tax Code Sign"
-msgstr "税的借贷标志(1为借方)"
+msgstr "税事务的符号(1为正数)"
#. module: account
#: help:res.partner,credit:0
@@ -938,7 +938,7 @@ msgstr "结束日期"
#. module: account
#: field:account.invoice.tax,base_amount:0
msgid "Base Code Amount"
-msgstr "基础代码金额"
+msgstr "基础税事务代码的金额"
#. module: account
#: help:account.journal,user_id:0
@@ -1506,7 +1506,7 @@ msgstr "电话:"
#. module: account
#: field:account.invoice.tax,tax_amount:0
msgid "Tax Code Amount"
-msgstr "税代码金额"
+msgstr "税事务金额"
#. module: account
#: selection:account.account.type,sign:0
@@ -1849,7 +1849,7 @@ msgstr "开始日期"
#. module: account
#: model:account.journal,name:account.refund_expenses_journal
msgid "x Expenses Credit Notes Journal"
-msgstr "x 费用信用票据分录集合"
+msgstr "x 费用贷项单分录集合"
#. module: account
#: field:account.analytic.journal,type:0
@@ -2630,7 +2630,7 @@ msgstr "逾期付款信息"
#. module: account
#: model:ir.model,name:account.model_account_tax_code_template
msgid "Tax Code Template"
-msgstr "税代码模板"
+msgstr "税事务模板"
#. module: account
#: rml:account.partner.balance:0
@@ -2969,7 +2969,7 @@ msgstr "汇总"
#: field:account.tax.template,tax_code_id:0
#: model:ir.model,name:account.model_account_tax_code
msgid "Tax Code"
-msgstr "税代码"
+msgstr "税事务"
#. module: account
#: rml:account.analytic.account.journal:0
@@ -3286,7 +3286,7 @@ msgstr "每月30天"
#. module: account
#: field:account.chart.template,tax_code_root_id:0
msgid "Root Tax Code"
-msgstr "税根代码"
+msgstr "税事务的根"
#. module: account
#: constraint:account.invoice:0
@@ -3602,7 +3602,7 @@ msgstr "当前业务伙伴将替代为这默认的付款条款"
#: wizard_field:account.invoice.pay,addendum,comment:0
#: wizard_field:account.invoice.pay,init,name:0
msgid "Entry Name"
-msgstr "分录名称"
+msgstr "名称"
#. module: account
#: help:account.invoice,account_id:0
@@ -3644,7 +3644,7 @@ msgstr "明细"
#: wizard_view:account.invoice.refund,init:0
#: model:ir.actions.wizard,name:account.wizard_invoice_refund
msgid "Credit Note"
-msgstr "贷方票据"
+msgstr "贷项单"
#. module: account
#: model:ir.actions.todo,note:account.config_fiscalyear
@@ -3798,7 +3798,7 @@ msgstr "付款分录"
#. module: account
#: help:account.move.line,tax_code_id:0
msgid "The Account can either be a base tax code or tax code account."
-msgstr "可以选基于的税务代码或税务代码"
+msgstr "可以选基础税事务或税事务科目"
#. module: account
#: help:account.automatic.reconcile,init,account_ids:0
@@ -4170,7 +4170,7 @@ msgid ""
"Allows you to change the sign of the balance amount displayed in the "
"reports, so that you can see positive figures instead of negative ones in "
"expenses accounts."
-msgstr "允许你修改报表显示的余额的符号,所以你能看见费用科目为正数"
+msgstr "允许你修改报表显示的余额的符号,所以你能看见正数来取代负数的费用科目"
#. module: account
#: help:account.config.wizard,code:0
@@ -4329,7 +4329,7 @@ msgstr "已登帐"
#: view:account.tax:0
#: view:account.tax.template:0
msgid "Credit Notes"
-msgstr "贷方备注"
+msgstr "贷项单"
#. module: account
#: field:account.config.wizard,date2:0
@@ -4933,7 +4933,7 @@ msgstr "创建"
#: field:account.tax,ref_tax_code_id:0
#: field:account.tax.template,ref_tax_code_id:0
msgid "Refund Tax Code"
-msgstr "退税代码"
+msgstr "退税事务"
#. module: account
#: field:account.invoice.tax,name:0
@@ -5100,7 +5100,7 @@ msgstr "项信息"
#. module: account
#: view:account.tax.code.template:0
msgid "Account Tax Code Template"
-msgstr "科目税代码模板"
+msgstr "税事务科目模板"
#. module: account
#: view:account.subscription:0
@@ -5352,7 +5352,7 @@ msgid ""
"If the Tax account is tax code account, this field will contain the taxed "
"amount.If the tax account is base tax code, this field "
"will contain the basic amount(without tax)."
-msgstr "如果这税科目是免税科目, 这字段将含税款. 如果这科目是基本税代码这字段将含基础金额(不含税)."
+msgstr "如果这税科目是税事务科目, 这字段将含税款. 如果这科目是基础税事务这字段将含基础金额(不含税)."
#. module: account
#: view:account.bank.statement:0
diff --git a/addons/account/installer.py b/addons/account/installer.py
index 45ea43040a4..aec82032e9a 100644
--- a/addons/account/installer.py
+++ b/addons/account/installer.py
@@ -207,8 +207,8 @@ class account_installer(osv.osv_memory):
new_account = obj_acc.create(cr, uid, vals)
acc_template_ref[account_template.id] = new_account
if account_template.name == 'Bank Current Account':
- view_id_cash = self.pool.get('account.journal.view').search(cr,uid,[('name','=','Cash Journal View')])[0]
- view_id_cur = self.pool.get('account.journal.view').search(cr,uid,[('name','=','Multi-Currency Cash Journal View')])[0]
+ view_id_cash = self.pool.get('account.journal.view').search(cr,uid,[('name','=','Bank/Cash Journal View')])[0] #why fixed name here?
+ view_id_cur = self.pool.get('account.journal.view').search(cr,uid,[('name','=','Bank/Cash Journal (Multi-Currency) View')])[0] #Why Fixed name here?
ref_acc_bank = obj_multi.bank_account_view_id
cash_result = mod_obj._get_id(cr, uid, 'account', 'conf_account_type_cash')
@@ -328,8 +328,8 @@ class account_installer(osv.osv_memory):
obj_journal.create(cr,uid,vals_journal)
# Bank Journals
- view_id_cash = self.pool.get('account.journal.view').search(cr, uid, [('name','=','Cash Journal View')])[0]
- view_id_cur = self.pool.get('account.journal.view').search(cr, uid, [('name','=','Multi-Currency Cash Journal View')])[0]
+ view_id_cash = self.pool.get('account.journal.view').search(cr, uid, [('name','=','Bank/Cash Journal View')])[0] #TOFIX: Why put fixed name ?
+ view_id_cur = self.pool.get('account.journal.view').search(cr, uid, [('name','=','Bank/Cash Journal (Multi-Currency) View')])[0] #TOFIX: why put fixed name?
ref_acc_bank = obj_multi.bank_account_view_id
diff --git a/addons/account/invoice.py b/addons/account/invoice.py
index 62f998fa751..dcc73830c11 100644
--- a/addons/account/invoice.py
+++ b/addons/account/invoice.py
@@ -223,7 +223,7 @@ class account_invoice(osv.osv):
_log_create = True
_columns = {
'name': fields.char('Description', size=64, select=True, readonly=True, states={'draft':[('readonly',False)]}),
- 'origin': fields.char('Source Document', size=64, help="Reference of the document that produced this invoice."),
+ 'origin': fields.char('Source Document', size=64, help="Reference of the document that produced this invoice.", readonly=True, states={'draft':[('readonly',False)]}),
'type': fields.selection([
('out_invoice','Customer Invoice'),
('in_invoice','Supplier Invoice'),
@@ -234,7 +234,7 @@ class account_invoice(osv.osv):
'number': fields.char('Invoice Number', size=32, readonly=True, help="Unique number of the invoice, computed automatically when the invoice is created."),
'reference': fields.char('Invoice Reference', size=64, help="The partner reference of this invoice."),
'reference_type': fields.selection(_get_reference_type, 'Reference Type',
- required=True),
+ required=True, readonly=True, states={'draft':[('readonly',False)]}),
'comment': fields.text('Additional Information', translate=True),
'state': fields.selection([
@@ -250,8 +250,8 @@ class account_invoice(osv.osv):
\n* The \'Open\' state is used when user create invoice,a invoice number is generated.Its in open state till user does not pay invoice. \
\n* The \'Done\' state is set automatically when invoice is paid.\
\n* The \'Cancelled\' state is used when user cancel invoice.'),
- 'date_invoice': fields.date('Date Invoiced', states={'open':[('readonly',True)], 'close':[('readonly',True)]}, help="Keep empty to use the current date"),
- 'date_due': fields.date('Due Date', states={'open':[('readonly',True)], 'close':[('readonly',True)]},
+ 'date_invoice': fields.date('Date Invoiced', states={'paid':[('readonly',True)], 'open':[('readonly',True)], 'close':[('readonly',True)]}, help="Keep empty to use the current date"),
+ 'date_due': fields.date('Due Date', states={'paid':[('readonly',True)], 'open':[('readonly',True)], 'close':[('readonly',True)]},
help="If you use payment terms, the due date will be computed automatically at the generation "\
"of accounting entries. If you keep the payment term and the due date empty, it means direct payment. The payment term may compute several due dates, for example 50% now, 50% in one month."),
'partner_id': fields.many2one('res.partner', 'Partner', change_default=True, readonly=True, required=True, states={'draft':[('readonly',False)]}),
@@ -291,7 +291,7 @@ class account_invoice(osv.osv):
multi='all'),
'currency_id': fields.many2one('res.currency', 'Currency', required=True, readonly=True, states={'draft':[('readonly',False)]}),
'journal_id': fields.many2one('account.journal', 'Journal', required=True, readonly=True, states={'draft':[('readonly',False)]}),
- 'company_id': fields.many2one('res.company', 'Company', required=True, change_default=True),
+ 'company_id': fields.many2one('res.company', 'Company', required=True, change_default=True, readonly=True, states={'draft':[('readonly',False)]}),
'check_total': fields.float('Total', digits_compute=dp.get_precision('Account'), states={'open':[('readonly',True)],'close':[('readonly',True)]}),
'reconciled': fields.function(_reconciled, method=True, string='Paid/Reconciled', type='boolean',
store={
@@ -300,7 +300,7 @@ class account_invoice(osv.osv):
'account.move.reconcile': (_get_invoice_from_reconcile, None, 50),
}, help="The Ledger Postings of the invoice have been reconciled with Ledger Postings of the payment(s)."),
'partner_bank': fields.many2one('res.partner.bank', 'Bank Account',
- help='The bank account to pay to or to be paid from'),
+ help='The bank account to pay to or to be paid from', readonly=True, states={'draft':[('readonly',False)]}),
'move_lines':fields.function(_get_lines , method=True, type='many2many', relation='account.move.line', string='Entry Lines'),
'residual': fields.function(_amount_residual, method=True, digits_compute=dp.get_precision('Account'), string='Residual',
store={
@@ -312,9 +312,9 @@ class account_invoice(osv.osv):
},
help="Remaining amount due."),
'payment_ids': fields.function(_compute_lines, method=True, relation='account.move.line', type="many2many", string='Payments'),
- 'move_name': fields.char('Ledger Posting', size=64),
- 'user_id': fields.many2one('res.users', 'Salesman'),
- 'fiscal_position': fields.many2one('account.fiscal.position', 'Fiscal Position')
+ 'move_name': fields.char('Ledger Posting', size=64, readonly=True, states={'draft':[('readonly',False)]}),
+ 'user_id': fields.many2one('res.users', 'Salesman', readonly=True, states={'draft':[('readonly',False)]}),
+ 'fiscal_position': fields.many2one('account.fiscal.position', 'Fiscal Position', readonly=True, states={'draft':[('readonly',False)]})
}
_defaults = {
'type': _get_type,
@@ -1241,6 +1241,7 @@ class account_invoice_line(osv.osv):
return {'price_unit': price_unit,'invoice_line_tax_id': tax_id}
def product_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, address_invoice_id=False, currency_id=False, context=None):
+ print "2222*", uid, ids, product, uom, qty, name, type, partner_id, fposition_id, price_unit, address_invoice_id, currency_id, context
if context is None:
context = {}
company_id = context.get('company_id',False)
@@ -1574,4 +1575,4 @@ class res_partner(osv.osv):
res_partner()
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: \ No newline at end of file
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/account/report/account_invoice_report_view.xml b/addons/account/report/account_invoice_report_view.xml
index ca89cd10852..d03e977336b 100644
--- a/addons/account/report/account_invoice_report_view.xml
+++ b/addons/account/report/account_invoice_report_view.xml
@@ -28,12 +28,12 @@
<field name="partner_bank" invisible="1"/>
<field name="account_id" invisible="1"/>
<field name="nbr" sum="# of Lines"/>
- <field name="product_qty"/>
+ <field name="product_qty" sum="Qty"/>
<field name="reconciled" sum="# Reconciled"/>
- <field name="price_average" avg="Average Price"/>
+ <field name="price_average" sum="Average Price"/>
<field name="price_total" sum="Total Price"/>
- <field name="residual" sum="Total Residual" invisible="not context.get('residual_visible',False)"/>
- <field name="delay_to_pay" avg="Avg. Delay To Pay" invisible="not context.get('residual_visible',False)"/>
+ <field name="residual" sum="Total Residual" invisible="context.get('residual_invisible',False)"/>
+ <field name="delay_to_pay" sum="Avg. Delay To Pay" invisible="context.get('residual_invisible',False)"/>
</tree>
</field>
</record>
@@ -93,24 +93,24 @@
</group>
<newline/>
<group expand="1" string="Group By...">
- <filter string="Salesman" name='user' icon="terp-personal" context="{'group_by':'user_id','residual_visible':True}"/>
+ <filter string="Salesman" name='user' icon="terp-personal" context="{'group_by':'user_id'}"/>
<filter string="Partner" icon="terp-personal" context="{'group_by':'partner_id','residual_visible':True}"/>
- <filter string="Product" icon="terp-accessories-archiver" context="{'group_by':'product_id','set_visible':True}"/>
+ <filter string="Product" icon="terp-accessories-archiver" context="{'group_by':'product_id','set_visible':True,'residual_invisible':True}"/>
<separator orientation="vertical"/>
- <filter string="State" icon="terp-stock_effects-object-colorize" context="{'group_by':'state','residual_visible':True}"/>
- <filter string="Type" icon="terp-stock_symbol-selection" context="{'group_by':'type','residual_visible':True}"/>
+ <filter string="State" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
+ <filter string="Type" icon="terp-stock_symbol-selection" context="{'group_by':'type'}"/>
<separator orientation="vertical"/>
- <filter string="Journal" icon="terp-folder-orange" context="{'group_by':'journal_id','residual_visible':True}"/>
- <filter string="Account" icon="terp-folder-orange" context="{'group_by':'account_id','residual_visible':True}"/>
+ <filter string="Journal" icon="terp-folder-orange" context="{'group_by':'journal_id'}"/>
+ <filter string="Account" icon="terp-folder-orange" context="{'group_by':'account_id'}"/>
<separator orientation="vertical"/>
- <filter string="Category of Product" icon="terp-stock_symbol-selection" context="{'group_by':'categ_id'}"/>
- <filter string="Force Period" icon="terp-go-month" context="{'group_by':'period_id','residual_visible':True}"/>
+ <filter string="Category of Product" icon="terp-stock_symbol-selection" context="{'group_by':'categ_id','residual_invisible':True}"/>
+ <filter string="Force Period" icon="terp-go-month" context="{'group_by':'period_id'}"/>
<separator orientation="vertical"/>
- <filter string="Company" icon="terp-go-home" context="{'group_by':'company_id','residual_visible':True}" groups="base.group_multi_company"/>
+ <filter string="Company" icon="terp-go-home" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
<separator orientation="vertical"/>
- <filter string="Day" name="day" icon="terp-go-today" context="{'group_by':'day','residual_visible':True}"/>
- <filter string="Month" name="month" icon="terp-go-month" context="{'group_by':'month','residual_visible':True}"/>
- <filter string="Year" name="year" icon="terp-go-year" context="{'group_by':'year','residual_visible':True}"/>
+ <filter string="Day" name="day" icon="terp-go-today" context="{'group_by':'day'}"/>
+ <filter string="Month" name="month" icon="terp-go-month" context="{'group_by':'month'}"/>
+ <filter string="Year" name="year" icon="terp-go-year" context="{'group_by':'year'}"/>
</group>
<newline/>
<group expand="0" string="Extended options..." groups="base.group_extended">
diff --git a/addons/account/wizard/account_change_currency.py b/addons/account/wizard/account_change_currency.py
index d027559cdce..66c6ee55c10 100644
--- a/addons/account/wizard/account_change_currency.py
+++ b/addons/account/wizard/account_change_currency.py
@@ -35,7 +35,7 @@ class account_change_currency(osv.osv_memory):
context = {}
state = obj_inv.browse(cr, uid, context['active_id']).state
if obj_inv.browse(cr, uid, context['active_id']).state != 'draft':
- raise osv.except_osv(_('Error'), _('You can not change currency for Open Invoice !'))
+ raise osv.except_osv(_('Error'), _('You can only change currency for Draft Invoice !'))
pass
def change_currency(self, cr, uid, ids, context=None):
diff --git a/addons/account/wizard/account_invoice_refund.py b/addons/account/wizard/account_invoice_refund.py
index 41baac36f89..6a19dc988df 100644
--- a/addons/account/wizard/account_invoice_refund.py
+++ b/addons/account/wizard/account_invoice_refund.py
@@ -61,7 +61,8 @@ class account_invoice_refund(osv.osv_memory):
date = False
period = False
description = False
- for inv in inv_obj.browse(cr, uid, context['active_ids'], context=context):
+ company = self.pool.get('res.users').browse(cr, uid, uid).company_id
+ for inv in inv_obj.browse(cr, uid, context.get('active_ids'), context=context):
if inv.state in ['draft', 'proforma2', 'cancel']:
raise osv.except_osv(_('Error !'), _('Can not %s draft/proforma/cancel invoice.') % (mode))
if form['period'] :
@@ -77,11 +78,8 @@ class account_invoice_refund(osv.osv_memory):
and name = 'company_id'")
result_query = cr.fetchone()
if result_query:
- cr.execute("""SELECT id
- from account_period where date(%s)
- between date_start AND date_stop \
- and company_id = %s limit 1 """,
- (date, self.pool.get('res.users').browse(cr, uid, uid, context=context).company_id.id,))
+ cr.execute("""select p.id from account_fiscalyear y, account_period p where y.id=p.fiscalyear_id \
+ and date(%s) between p.date_start AND p.date_stop and y.company_id = %s limit 1""", (date, company.id,))
else:
cr.execute("""SELECT id
from account_period where date(%s)
@@ -154,7 +152,7 @@ class account_invoice_refund(osv.osv_memory):
'tax_line': tax_lines,
'period_id': period,
'name': description
- })
+ })
for field in ('address_contact_id', 'address_invoice_id', 'partner_id',
'account_id', 'currency_id', 'payment_term', 'journal_id'):
@@ -192,4 +190,4 @@ class account_invoice_refund(osv.osv_memory):
account_invoice_refund()
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: \ No newline at end of file
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/account/wizard/account_pay_invoice_view.xml b/addons/account/wizard/account_pay_invoice_view.xml
index 0bae948100e..3601daaef06 100644
--- a/addons/account/wizard/account_pay_invoice_view.xml
+++ b/addons/account/wizard/account_pay_invoice_view.xml
@@ -1,65 +1,65 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
- <record id="view_account_invoice_pay" model="ir.ui.view">
+ <record id="view_account_invoice_pay" model="ir.ui.view">
<field name="name">account.invoice.pay.form</field>
<field name="model">account.invoice.pay</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Pay invoice">
- <group colspan="4" >
- <field name="amount"/>
- <newline/>
- <field name="name"/>
- <field name="date"/>
- <field name="journal_id"/>
- <field name="period_id"/>
- </group>
+ <group colspan="4" >
+ <field name="amount"/>
+ <newline/>
+ <field name="name"/>
+ <field name="date"/>
+ <field name="journal_id" widget="selection"/>
+ <field name="period_id" widget="selection"/>
+ </group>
<group colspan="4" col="6">
- <label string ="" colspan="2"/>
- <button icon="gtk-cancel" special="cancel" string="Cancel"/>
- <button icon="gtk-execute" string="Partial Payment" name="pay_and_reconcile" type="object"/>
- <button icon="gtk-execute" string="Full Payment" name="wo_check" type="object"/>
+ <label string ="" colspan="2"/>
+ <button icon="gtk-cancel" special="cancel" string="Cancel"/>
+ <button icon="gtk-execute" string="Partial Payment" name="pay_and_reconcile" type="object"/>
+ <button icon="gtk-execute" string="Full Payment" name="wo_check" type="object"/>
</group>
</form>
</field>
</record>
- <record id="action_account_invoice_pay" model="ir.actions.act_window">
+ <record id="action_account_invoice_pay" model="ir.actions.act_window">
<field name="name">Pay Invoice</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">account.invoice.pay</field>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="view_id" ref="view_account_invoice_pay"/>
- <field name="context">{'record_id' : active_id}</field>
+ <field name="context">{'record_id' : active_id}</field>
<field name="target">new</field>
- </record>
+ </record>
- <record id="view_account_invoice_pay_writeoff" model="ir.ui.view">
+ <record id="view_account_invoice_pay_writeoff" model="ir.ui.view">
<field name="name">account.invoice.pay.writeoff.form</field>
<field name="model">account.invoice.pay.writeoff</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Information addendum">
- <group colspan="4" >
- <separator string="Write-Off Move" colspan="4"/>
- <field name="writeoff_journal_id"/>
- <field name="writeoff_acc_id" domain="[('type','&lt;&gt;','view'),('type','&lt;&gt;','consolidation')]"/>
- <field name="comment"/>
- <separator string="Analytic" colspan="4"/>
- <field name="analytic_id"/>
- </group>
+ <group colspan="4" >
+ <separator string="Write-Off Move" colspan="4"/>
+ <field name="writeoff_journal_id"/>
+ <field name="writeoff_acc_id" domain="[('type','&lt;&gt;','view'),('type','&lt;&gt;','consolidation')]"/>
+ <field name="comment"/>
+ <separator string="Analytic" colspan="4"/>
+ <field name="analytic_id"/>
+ </group>
<group colspan="4" col="6">
- <label string ="" colspan="2"/>
- <button icon="gtk-cancel" special="cancel" string="Cancel"/>
- <button icon="gtk-execute" string="Pay and reconcile" name="pay_and_reconcile_writeoff" type="object"/>
+ <label string ="" colspan="2"/>
+ <button icon="gtk-cancel" special="cancel" string="Cancel"/>
+ <button icon="gtk-execute" string="Pay and reconcile" name="pay_and_reconcile_writeoff" type="object"/>
</group>
</form>
</field>
</record>
- </data>
+ </data>
</openerp>
diff --git a/addons/account_analytic_default/i18n/ru.po b/addons/account_analytic_default/i18n/ru.po
index a66865fc194..05dc6a6d988 100644
--- a/addons/account_analytic_default/i18n/ru.po
+++ b/addons/account_analytic_default/i18n/ru.po
@@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2010-02-25 08:30+0000\n"
-"Last-Translator: Nikolay Chesnokov <chesnokov_n@msn.com>\n"
+"PO-Revision-Date: 2010-07-08 17:05+0000\n"
+"Last-Translator: Pomazan Bogdan <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-06-22 04:12+0000\n"
+"X-Launchpad-Export-Date: 2010-07-09 03:56+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account_analytic_default
@@ -38,8 +38,8 @@ msgstr "Некорректный формат XML для структуры ви
msgid ""
"The Object name must start with x_ and not contain any special character !"
msgstr ""
-"Название объекта должно начинаться с x_ и не должно содержать специальных "
-"символов !"
+"Имя Объекта должно начинаться с x_ и не должно содержать специальных "
+"символов!"
#. module: account_analytic_default
#: view:account.analytic.default:0
@@ -64,7 +64,7 @@ msgstr "Последовательность"
#. module: account_analytic_default
#: field:account.analytic.default,product_id:0
msgid "Product"
-msgstr "Продукция"
+msgstr "Продукт"
#. module: account_analytic_default
#: field:account.analytic.default,analytic_id:0
diff --git a/addons/account_analytic_plans/i18n/ru.po b/addons/account_analytic_plans/i18n/ru.po
index e2b6b150572..aca56357351 100644
--- a/addons/account_analytic_plans/i18n/ru.po
+++ b/addons/account_analytic_plans/i18n/ru.po
@@ -7,19 +7,19 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-09-08 13:57+0000\n"
-"Last-Translator: Dmitry Klimanov <k-dmitry2@narod.ru>\n"
+"PO-Revision-Date: 2010-07-08 16:55+0000\n"
+"Last-Translator: Pomazan Bogdan <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-06-22 04:10+0000\n"
+"X-Launchpad-Export-Date: 2010-07-09 03:56+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,account4_ids:0
msgid "Account4 Id"
-msgstr ""
+msgstr "Счет 4 уровня"
#. module: account_analytic_plans
#: constraint:ir.model:0
@@ -38,7 +38,7 @@ msgstr "Перекрестная аналитика"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,account5_ids:0
msgid "Account5 Id"
-msgstr ""
+msgstr "Счет 5 уровня"
#. module: account_analytic_plans
#: wizard_field:wizard.crossovered.analytic,init,date2:0
@@ -48,7 +48,7 @@ msgstr "Дата окончания"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance.line,rate:0
msgid "Rate (%)"
-msgstr ""
+msgstr "Ставка (%)"
#. module: account_analytic_plans
#: view:account.analytic.plan:0
@@ -87,7 +87,7 @@ msgstr "№ плана"
#. module: account_analytic_plans
#: model:ir.actions.act_window,name:account_analytic_plans.account_analytic_plan_instance_action
msgid "Analytic Distribution's Models"
-msgstr ""
+msgstr "Шаблоны Аналитического Распределения"
#. module: account_analytic_plans
#: rml:account.analytic.account.crossovered.analytic:0
@@ -97,7 +97,7 @@ msgstr "Название счета"
#. module: account_analytic_plans
#: view:account.analytic.plan.instance.line:0
msgid "Analytic Distribution Line"
-msgstr ""
+msgstr "Строка аналитического распределения"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,code:0
@@ -107,7 +107,7 @@ msgstr ""
#. module: account_analytic_plans
#: constraint:ir.actions.act_window:0
msgid "Invalid model name in the action definition."
-msgstr ""
+msgstr "Недопустимое имя модели в определении действия."
#. module: account_analytic_plans
#: field:account.analytic.plan.line,name:0
@@ -117,7 +117,7 @@ msgstr "Название плана"
#. module: account_analytic_plans
#: rml:account.analytic.account.crossovered.analytic:0
msgid "Printing date"
-msgstr ""
+msgstr "Дата печати"
#. module: account_analytic_plans
#: rml:account.analytic.account.crossovered.analytic:0
@@ -137,7 +137,7 @@ msgstr "Выбор информаци"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,account3_ids:0
msgid "Account3 Id"
-msgstr ""
+msgstr "Счет 3 уровня"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,journal_id:0
@@ -158,7 +158,7 @@ msgstr "Ссылка на счет аналитики"
#. module: account_analytic_plans
#: rml:account.analytic.account.crossovered.analytic:0
msgid "Analytic Account :"
-msgstr ""
+msgstr "Счет аналитики:"
#. module: account_analytic_plans
#: view:account.analytic.plan.line:0
@@ -196,7 +196,7 @@ msgstr "Мин. разрешено (%)"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,account1_ids:0
msgid "Account1 Id"
-msgstr ""
+msgstr "Счет 1 уровня"
#. module: account_analytic_plans
#: field:account.analytic.plan.line,max_required:0
@@ -206,12 +206,12 @@ msgstr "Макс. разрешено (%)"
#. module: account_analytic_plans
#: wizard_view:create.model,info:0
msgid "Distribution Model Saved"
-msgstr ""
+msgstr "Распределительный шаблон сохранен"
#. module: account_analytic_plans
#: model:ir.model,name:account_analytic_plans.model_account_analytic_plan_instance
msgid "Analytic Plan Instance"
-msgstr ""
+msgstr "Образец аналитического плана счетов"
#. module: account_analytic_plans
#: constraint:ir.ui.view:0
@@ -221,7 +221,7 @@ msgstr "Неправильный XML для просмотра архитектÑ
#. module: account_analytic_plans
#: model:ir.actions.act_window,name:account_analytic_plans.account_analytic_instance_model_open
msgid "Distribution Models"
-msgstr ""
+msgstr "Шаблоня распределения"
#. module: account_analytic_plans
#: model:ir.module.module,description:account_analytic_plans.module_meta_information
@@ -261,7 +261,7 @@ msgstr ""
#. module: account_analytic_plans
#: model:ir.module.module,shortdesc:account_analytic_plans.module_meta_information
msgid "Multiple-plans management in Analytic Accounting"
-msgstr ""
+msgstr "Управление несколькими планами аналитических счетов"
#. module: account_analytic_plans
#: view:account.analytic.plan.line:0
@@ -282,7 +282,7 @@ msgstr "План модели"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,account2_ids:0
msgid "Account2 Id"
-msgstr ""
+msgstr "Счет 2 уровня"
#. module: account_analytic_plans
#: rml:account.analytic.account.crossovered.analytic:0
@@ -297,7 +297,7 @@ msgstr "Корневой счет для данного плана"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,account6_ids:0
msgid "Account6 Id"
-msgstr ""
+msgstr "счет 6 уровня"
#. module: account_analytic_plans
#: rml:account.analytic.account.crossovered.analytic:0
@@ -328,7 +328,7 @@ msgstr "Корневой счет"
#: wizard_view:create.model,info:0
msgid ""
"This distribution model has been saved. You will be able to reuse it later."
-msgstr ""
+msgstr "Шаблон распределения сохранен. Теперь вы можете его использовать."
#. module: account_analytic_plans
#: field:account.analytic.plan.line,sequence:0
@@ -347,12 +347,12 @@ msgstr "Счет аналитики"
#: field:account.invoice.line,analytics_id:0
#: field:account.move.line,analytics_id:0
msgid "Analytic Distribution"
-msgstr ""
+msgstr "Аналитическое распределение"
#. module: account_analytic_plans
#: model:ir.ui.menu,name:account_analytic_plans.menu_account_analytic_plan_instance_action
msgid "Analytic Distribution's models"
-msgstr ""
+msgstr "Шаблон распределения аналитики"
#. module: account_analytic_plans
#: wizard_button:wizard.crossovered.analytic,init,end:0
diff --git a/addons/account_budget/crossovered_budget_demo.xml b/addons/account_budget/crossovered_budget_demo.xml
index 8e9ba6a9493..7c4c6e3ea15 100644
--- a/addons/account_budget/crossovered_budget_demo.xml
+++ b/addons/account_budget/crossovered_budget_demo.xml
@@ -2,337 +2,337 @@
<openerp>
<!-- Budgetary Positions -->
- <data noupdate="1">
- <record id="account_budget_post_sales0" model="account.budget.post">
- <field eval="&quot;&quot;&quot;Sales&quot;&quot;&quot;" name="name"/>
- <field eval="&quot;&quot;&quot;SAL&quot;&quot;&quot;" name="code"/>
- <field eval="[(6,0,[ref('account.a_sale')])]" name="account_ids"/>
- </record>
- </data>
- <data noupdate="1">
- <record id="account_budget_post_purchase0" model="account.budget.post">
- <field eval="&quot;&quot;&quot;Purchases&quot;&quot;&quot;" name="name"/>
- <field eval="&quot;&quot;&quot;PUR&quot;&quot;&quot;" name="code"/>
- <field eval="[(6,0,[ref('account.a_expense')])]" name="account_ids"/>
- </record>
- </data>
+ <data noupdate="1">
+ <record id="account_budget_post_sales0" model="account.budget.post">
+ <field eval="&quot;&quot;&quot;Sales&quot;&quot;&quot;" name="name"/>
+ <field eval="&quot;&quot;&quot;SAL&quot;&quot;&quot;" name="code"/>
+ <field eval="[(6,0,[ref('account.a_sale')])]" name="account_ids"/>
+ </record>
+ </data>
+ <data noupdate="1">
+ <record id="account_budget_post_purchase0" model="account.budget.post">
+ <field eval="&quot;&quot;&quot;Purchases&quot;&quot;&quot;" name="name"/>
+ <field eval="&quot;&quot;&quot;PUR&quot;&quot;&quot;" name="code"/>
+ <field eval="[(6,0,[ref('account.a_expense')])]" name="account_ids"/>
+ </record>
+ </data>
<!-- Budgetary Dotations -->
- <data noupdate="1">
- <record id="account_budget_post_dot1" model="account.budget.post.dotation">
- <field eval="&quot;&quot;&quot;/&quot;&quot;&quot;" name="name"/>
- <field eval="5000" name="amount"/>
- <field name="post_id" ref="account_budget_post_sales0"/>
- <field name="period_id" ref="account.period_1"/>
- </record>
- <record id="account_budget_post_dot2" model="account.budget.post.dotation">
- <field eval="&quot;&quot;&quot;/&quot;&quot;&quot;" name="name"/>
- <field eval="5000" name="amount"/>
- <field name="post_id" ref="account_budget_post_sales0"/>
- <field name="period_id" ref="account.period_2"/>
- </record>
- <record id="account_budget_post_dot3" model="account.budget.post.dotation">
- <field eval="&quot;&quot;&quot;/&quot;&quot;&quot;" name="name"/>
- <field eval="5000" name="amount"/>
- <field name="post_id" ref="account_budget_post_sales0"/>
- <field name="period_id" ref="account.period_3"/>
- </record>
- <record id="account_budget_post_dot4" model="account.budget.post.dotation">
- <field eval="&quot;&quot;&quot;/&quot;&quot;&quot;" name="name"/>
- <field eval="5000" name="amount"/>
- <field name="post_id" ref="account_budget_post_sales0"/>
- <field name="period_id" ref="account.period_4"/>
- </record>
- <record id="account_budget_post_dot5" model="account.budget.post.dotation">
- <field eval="&quot;&quot;&quot;/&quot;&quot;&quot;" name="name"/>
- <field eval="5000" name="amount"/>
- <field name="post_id" ref="account_budget_post_sales0"/>
- <field name="period_id" ref="account.period_5"/>
- </record>
- <record id="account_budget_post_dot6" model="account.budget.post.dotation">
- <field eval="&quot;&quot;&quot;/&quot;&quot;&quot;" name="name"/>
- <field eval="5000" name="amount"/>
- <field name="post_id" ref="account_budget_post_sales0"/>
- <field name="period_id" ref="account.period_6"/>
- </record>
- <record id="account_budget_post_dot7" model="account.budget.post.dotation">
- <field eval="&quot;&quot;&quot;/&quot;&quot;&quot;" name="name"/>
- <field eval="5000" name="amount"/>
- <field name="post_id" ref="account_budget_post_sales0"/>
- <field name="period_id" ref="account.period_7"/>
- </record>
- <record id="account_budget_post_dot8" model="account.budget.post.dotation">
- <field eval="&quot;&quot;&quot;/&quot;&quot;&quot;" name="name"/>
- <field eval="5000" name="amount"/>
- <field name="post_id" ref="account_budget_post_sales0"/>
- <field name="period_id" ref="account.period_8"/>
- </record>
- <record id="account_budget_post_dot9" model="account.budget.post.dotation">
- <field eval="&quot;&quot;&quot;/&quot;&quot;&quot;" name="name"/>
- <field eval="5000" name="amount"/>
- <field name="post_id" ref="account_budget_post_sales0"/>
- <field name="period_id" ref="account.period_9"/>
- </record>
- <record id="account_budget_post_dot10" model="account.budget.post.dotation">
- <field eval="&quot;&quot;&quot;/&quot;&quot;&quot;" name="name"/>
- <field eval="5000" name="amount"/>
- <field name="post_id" ref="account_budget_post_sales0"/>
- <field name="period_id" ref="account.period_10"/>
- </record>
- <record id="account_budget_post_dot11" model="account.budget.post.dotation">
- <field eval="&quot;&quot;&quot;/&quot;&quot;&quot;" name="name"/>
- <field eval="5000" name="amount"/>
- <field name="post_id" ref="account_budget_post_sales0"/>
- <field name="period_id" ref="account.period_11"/>
- </record>
- <record id="account_budget_post_dot12" model="account.budget.post.dotation">
- <field eval="&quot;&quot;&quot;/&quot;&quot;&quot;" name="name"/>
- <field eval="5000" name="amount"/>
- <field name="post_id" ref="account_budget_post_sales0"/>
- <field name="period_id" ref="account.period_12"/>
- </record>
+ <data noupdate="1">
+ <record id="account_budget_post_dot1" model="account.budget.post.dotation">
+ <field eval="&quot;&quot;&quot;/&quot;&quot;&quot;" name="name"/>
+ <field eval="5000" name="amount"/>
+ <field name="post_id" ref="account_budget_post_sales0"/>
+ <field name="period_id" ref="account.period_1"/>
+ </record>
+ <record id="account_budget_post_dot2" model="account.budget.post.dotation">
+ <field eval="&quot;&quot;&quot;/&quot;&quot;&quot;" name="name"/>
+ <field eval="5000" name="amount"/>
+ <field name="post_id" ref="account_budget_post_sales0"/>
+ <field name="period_id" ref="account.period_2"/>
+ </record>
+ <record id="account_budget_post_dot3" model="account.budget.post.dotation">
+ <field eval="&quot;&quot;&quot;/&quot;&quot;&quot;" name="name"/>
+ <field eval="5000" name="amount"/>
+ <field name="post_id" ref="account_budget_post_sales0"/>
+ <field name="period_id" ref="account.period_3"/>
+ </record>
+ <record id="account_budget_post_dot4" model="account.budget.post.dotation">
+ <field eval="&quot;&quot;&quot;/&quot;&quot;&quot;" name="name"/>
+ <field eval="5000" name="amount"/>
+ <field name="post_id" ref="account_budget_post_sales0"/>
+ <field name="period_id" ref="account.period_4"/>
+ </record>
+ <record id="account_budget_post_dot5" model="account.budget.post.dotation">
+ <field eval="&quot;&quot;&quot;/&quot;&quot;&quot;" name="name"/>
+ <field eval="5000" name="amount"/>
+ <field name="post_id" ref="account_budget_post_sales0"/>
+ <field name="period_id" ref="account.period_5"/>
+ </record>
+ <record id="account_budget_post_dot6" model="account.budget.post.dotation">
+ <field eval="&quot;&quot;&quot;/&quot;&quot;&quot;" name="name"/>
+ <field eval="5000" name="amount"/>
+ <field name="post_id" ref="account_budget_post_sales0"/>
+ <field name="period_id" ref="account.period_6"/>
+ </record>
+ <record id="account_budget_post_dot7" model="account.budget.post.dotation">
+ <field eval="&quot;&quot;&quot;/&quot;&quot;&quot;" name="name"/>
+ <field eval="5000" name="amount"/>
+ <field name="post_id" ref="account_budget_post_sales0"/>
+ <field name="period_id" ref="account.period_7"/>
+ </record>
+ <record id="account_budget_post_dot8" model="account.budget.post.dotation">
+ <field eval="&quot;&quot;&quot;/&quot;&quot;&quot;" name="name"/>
+ <field eval="5000" name="amount"/>
+ <field name="post_id" ref="account_budget_post_sales0"/>
+ <field name="period_id" ref="account.period_8"/>
+ </record>
+ <record id="account_budget_post_dot9" model="account.budget.post.dotation">
+ <field eval="&quot;&quot;&quot;/&quot;&quot;&quot;" name="name"/>
+ <field eval="5000" name="amount"/>
+ <field name="post_id" ref="account_budget_post_sales0"/>
+ <field name="period_id" ref="account.period_9"/>
+ </record>
+ <record id="account_budget_post_dot10" model="account.budget.post.dotation">
+ <field eval="&quot;&quot;&quot;/&quot;&quot;&quot;" name="name"/>
+ <field eval="5000" name="amount"/>
+ <field name="post_id" ref="account_budget_post_sales0"/>
+ <field name="period_id" ref="account.period_10"/>
+ </record>
+ <record id="account_budget_post_dot11" model="account.budget.post.dotation">
+ <field eval="&quot;&quot;&quot;/&quot;&quot;&quot;" name="name"/>
+ <field eval="5000" name="amount"/>
+ <field name="post_id" ref="account_budget_post_sales0"/>
+ <field name="period_id" ref="account.period_11"/>
+ </record>
+ <record id="account_budget_post_dot12" model="account.budget.post.dotation">
+ <field eval="&quot;&quot;&quot;/&quot;&quot;&quot;" name="name"/>
+ <field eval="5000" name="amount"/>
+ <field name="post_id" ref="account_budget_post_sales0"/>
+ <field name="period_id" ref="account.period_12"/>
+ </record>
- <record id="account_budget_post_dot_pur1" model="account.budget.post.dotation">
- <field eval="&quot;&quot;&quot;/&quot;&quot;&quot;" name="name"/>
- <field eval="-2000" name="amount"/>
- <field name="post_id" ref="account_budget_post_purchase0"/>
- <field name="period_id" ref="account.period_1"/>
- </record>
- <record id="account_budget_post_dot_pur2" model="account.budget.post.dotation">
- <field eval="&quot;&quot;&quot;/&quot;&quot;&quot;" name="name"/>
- <field eval="-2000" name="amount"/>
- <field name="post_id" ref="account_budget_post_purchase0"/>
- <field name="period_id" ref="account.period_2"/>
- </record>
- <record id="account_budget_post_dot_pur3" model="account.budget.post.dotation">
- <field eval="&quot;&quot;&quot;/&quot;&quot;&quot;" name="name"/>
- <field eval="-2000" name="amount"/>
- <field name="post_id" ref="account_budget_post_purchase0"/>
- <field name="period_id" ref="account.period_3"/>
- </record>
- <record id="account_budget_post_dot_pur4" model="account.budget.post.dotation">
- <field eval="&quot;&quot;&quot;/&quot;&quot;&quot;" name="name"/>
- <field eval="-2000" name="amount"/>
- <field name="post_id" ref="account_budget_post_purchase0"/>
- <field name="period_id" ref="account.period_4"/>
- </record>
- <record id="account_budget_post_dot_pur5" model="account.budget.post.dotation">
- <field eval="&quot;&quot;&quot;/&quot;&quot;&quot;" name="name"/>
- <field eval="-2000" name="amount"/>
- <field name="post_id" ref="account_budget_post_purchase0"/>
- <field name="period_id" ref="account.period_5"/>
- </record>
- <record id="account_budget_post_dot_pur6" model="account.budget.post.dotation">
- <field eval="&quot;&quot;&quot;/&quot;&quot;&quot;" name="name"/>
- <field eval="-2000" name="amount"/>
- <field name="post_id" ref="account_budget_post_purchase0"/>
- <field name="period_id" ref="account.period_6"/>
- </record>
- <record id="account_budget_post_dot_pur7" model="account.budget.post.dotation">
- <field eval="&quot;&quot;&quot;/&quot;&quot;&quot;" name="name"/>
- <field eval="-2000" name="amount"/>
- <field name="post_id" ref="account_budget_post_purchase0"/>
- <field name="period_id" ref="account.period_7"/>
- </record>
- <record id="account_budget_post_dot_pur8" model="account.budget.post.dotation">
- <field eval="&quot;&quot;&quot;/&quot;&quot;&quot;" name="name"/>
- <field eval="-2000" name="amount"/>
- <field name="post_id" ref="account_budget_post_purchase0"/>
- <field name="period_id" ref="account.period_8"/>
- </record>
- <record id="account_budget_post_dot_pur9" model="account.budget.post.dotation">
- <field eval="&quot;&quot;&quot;/&quot;&quot;&quot;" name="name"/>
- <field eval="-2000" name="amount"/>
- <field name="post_id" ref="account_budget_post_purchase0"/>
- <field name="period_id" ref="account.period_9"/>
- </record>
- <record id="account_budget_post_dot_pur10" model="account.budget.post.dotation">
- <field eval="&quot;&quot;&quot;/&quot;&quot;&quot;" name="name"/>
- <field eval="-2000" name="amount"/>
- <field name="post_id" ref="account_budget_post_purchase0"/>
- <field name="period_id" ref="account.period_10"/>
- </record>
- <record id="account_budget_post_dot_pur11" model="account.budget.post.dotation">
- <field eval="&quot;&quot;&quot;/&quot;&quot;&quot;" name="name"/>
- <field eval="-2000" name="amount"/>
- <field name="post_id" ref="account_budget_post_purchase0"/>
- <field name="period_id" ref="account.period_11"/>
- </record>
- <record id="account_budget_post_dot_pur12" model="account.budget.post.dotation">
- <field eval="&quot;&quot;&quot;/&quot;&quot;&quot;" name="name"/>
- <field eval="-2000" name="amount"/>
- <field name="post_id" ref="account_budget_post_purchase0"/>
- <field name="period_id" ref="account.period_12"/>
- </record>
- </data>
+ <record id="account_budget_post_dot_pur1" model="account.budget.post.dotation">
+ <field eval="&quot;&quot;&quot;/&quot;&quot;&quot;" name="name"/>
+ <field eval="-2000" name="amount"/>
+ <field name="post_id" ref="account_budget_post_purchase0"/>
+ <field name="period_id" ref="account.period_1"/>
+ </record>
+ <record id="account_budget_post_dot_pur2" model="account.budget.post.dotation">
+ <field eval="&quot;&quot;&quot;/&quot;&quot;&quot;" name="name"/>
+ <field eval="-2000" name="amount"/>
+ <field name="post_id" ref="account_budget_post_purchase0"/>
+ <field name="period_id" ref="account.period_2"/>
+ </record>
+ <record id="account_budget_post_dot_pur3" model="account.budget.post.dotation">
+ <field eval="&quot;&quot;&quot;/&quot;&quot;&quot;" name="name"/>
+ <field eval="-2000" name="amount"/>
+ <field name="post_id" ref="account_budget_post_purchase0"/>
+ <field name="period_id" ref="account.period_3"/>
+ </record>
+ <record id="account_budget_post_dot_pur4" model="account.budget.post.dotation">
+ <field eval="&quot;&quot;&quot;/&quot;&quot;&quot;" name="name"/>
+ <field eval="-2000" name="amount"/>
+ <field name="post_id" ref="account_budget_post_purchase0"/>
+ <field name="period_id" ref="account.period_4"/>
+ </record>
+ <record id="account_budget_post_dot_pur5" model="account.budget.post.dotation">
+ <field eval="&quot;&quot;&quot;/&quot;&quot;&quot;" name="name"/>
+ <field eval="-2000" name="amount"/>
+ <field name="post_id" ref="account_budget_post_purchase0"/>
+ <field name="period_id" ref="account.period_5"/>
+ </record>
+ <record id="account_budget_post_dot_pur6" model="account.budget.post.dotation">
+ <field eval="&quot;&quot;&quot;/&quot;&quot;&quot;" name="name"/>
+ <field eval="-2000" name="amount"/>
+ <field name="post_id" ref="account_budget_post_purchase0"/>
+ <field name="period_id" ref="account.period_6"/>
+ </record>
+ <record id="account_budget_post_dot_pur7" model="account.budget.post.dotation">
+ <field eval="&quot;&quot;&quot;/&quot;&quot;&quot;" name="name"/>
+ <field eval="-2000" name="amount"/>
+ <field name="post_id" ref="account_budget_post_purchase0"/>
+ <field name="period_id" ref="account.period_7"/>
+ </record>
+ <record id="account_budget_post_dot_pur8" model="account.budget.post.dotation">
+ <field eval="&quot;&quot;&quot;/&quot;&quot;&quot;" name="name"/>
+ <field eval="-2000" name="amount"/>
+ <field name="post_id" ref="account_budget_post_purchase0"/>
+ <field name="period_id" ref="account.period_8"/>
+ </record>
+ <record id="account_budget_post_dot_pur9" model="account.budget.post.dotation">
+ <field eval="&quot;&quot;&quot;/&quot;&quot;&quot;" name="name"/>
+ <field eval="-2000" name="amount"/>
+ <field name="post_id" ref="account_budget_post_purchase0"/>
+ <field name="period_id" ref="account.period_9"/>
+ </record>
+ <record id="account_budget_post_dot_pur10" model="account.budget.post.dotation">
+ <field eval="&quot;&quot;&quot;/&quot;&quot;&quot;" name="name"/>
+ <field eval="-2000" name="amount"/>
+ <field name="post_id" ref="account_budget_post_purchase0"/>
+ <field name="period_id" ref="account.period_10"/>
+ </record>
+ <record id="account_budget_post_dot_pur11" model="account.budget.post.dotation">
+ <field eval="&quot;&quot;&quot;/&quot;&quot;&quot;" name="name"/>
+ <field eval="-2000" name="amount"/>
+ <field name="post_id" ref="account_budget_post_purchase0"/>
+ <field name="period_id" ref="account.period_11"/>
+ </record>
+ <record id="account_budget_post_dot_pur12" model="account.budget.post.dotation">
+ <field eval="&quot;&quot;&quot;/&quot;&quot;&quot;" name="name"/>
+ <field eval="-2000" name="amount"/>
+ <field name="post_id" ref="account_budget_post_purchase0"/>
+ <field name="period_id" ref="account.period_12"/>
+ </record>
+ </data>
<!-- Budgets -->
- <data noupdate="1">
- <record id="crossovered_budget_budgetoptimistic0" model="crossovered.budget">
- <field eval="&quot;&quot;&quot;+2008&quot;&quot;&quot;" name="code"/>
- <field eval="&quot;&quot;&quot;Budget 2008: Optimistic&quot;&quot;&quot;" name="name"/>
- <field eval="&quot;&quot;&quot;2008-01-01&quot;&quot;&quot;" name="date_from"/>
- <field eval="&quot;&quot;&quot;draft&quot;&quot;&quot;" name="state"/>
- <field eval="&quot;&quot;&quot;2008-12-31&quot;&quot;&quot;" name="date_to"/>
- <field name="creating_user_id" ref="base.user_root"/>
- </record>
- </data>
- <data noupdate="1">
- <record id="crossovered_budget_budgetpessimistic0" model="crossovered.budget">
- <field eval="&quot;&quot;&quot;-2008&quot;&quot;&quot;" name="code"/>
- <field eval="&quot;&quot;&quot;Budget 2008: Pessimistic&quot;&quot;&quot;" name="name"/>
- <field eval="&quot;&quot;&quot;2008-01-01&quot;&quot;&quot;" name="date_from"/>
- <field eval="&quot;&quot;&quot;draft&quot;&quot;&quot;" name="state"/>
- <field eval="&quot;&quot;&quot;2008-12-31&quot;&quot;&quot;" name="date_to"/>
- <field name="creating_user_id" ref="base.user_root"/>
- </record>
- </data>
+ <data noupdate="1">
+ <record id="crossovered_budget_budgetoptimistic0" model="crossovered.budget">
+ <field eval="&quot;&quot;&quot;+2011&quot;&quot;&quot;" name="code"/>
+ <field eval="&quot;&quot;&quot;Budget 2011: Optimistic&quot;&quot;&quot;" name="name"/>
+ <field eval="&quot;&quot;&quot;2011-01-01&quot;&quot;&quot;" name="date_from"/>
+ <field eval="&quot;&quot;&quot;draft&quot;&quot;&quot;" name="state"/>
+ <field eval="&quot;&quot;&quot;2011-12-31&quot;&quot;&quot;" name="date_to"/>
+ <field name="creating_user_id" ref="base.user_root"/>
+ </record>
+ </data>
+ <data noupdate="1">
+ <record id="crossovered_budget_budgetpessimistic0" model="crossovered.budget">
+ <field eval="&quot;&quot;&quot;-2011&quot;&quot;&quot;" name="code"/>
+ <field eval="&quot;&quot;&quot;Budget 2011: Pessimistic&quot;&quot;&quot;" name="name"/>
+ <field eval="&quot;&quot;&quot;2011-01-01&quot;&quot;&quot;" name="date_from"/>
+ <field eval="&quot;&quot;&quot;draft&quot;&quot;&quot;" name="state"/>
+ <field eval="&quot;&quot;&quot;2011-12-31&quot;&quot;&quot;" name="date_to"/>
+ <field name="creating_user_id" ref="base.user_root"/>
+ </record>
+ </data>
<!-- Budget lines -->
- <data noupdate="1">
- <record id="crossovered_budget_lines_0" model="crossovered.budget.lines">
- <field name="analytic_account_id" ref="account.analytic_consultancy"/>
- <field name="general_budget_id" ref="account_budget_post_purchase0"/>
- <field eval="&quot;&quot;&quot;2008-01-01&quot;&quot;&quot;" name="date_from"/>
- <field eval="-500.0" name="planned_amount"/>
- <field name="crossovered_budget_id" ref="crossovered_budget_budgetpessimistic0"/>
- <field eval="&quot;&quot;&quot;2008-12-31&quot;&quot;&quot;" name="date_to"/>
- </record>
- <record id="crossovered_budget_lines_1" model="crossovered.budget.lines">
- <field name="analytic_account_id" ref="account.analytic_consultancy"/>
- <field name="general_budget_id" ref="account_budget_post_purchase0"/>
- <field eval="&quot;&quot;&quot;2008-01-01&quot;&quot;&quot;" name="date_from"/>
- <field eval="-250.0" name="planned_amount"/>
- <field name="crossovered_budget_id" ref="crossovered_budget_budgetoptimistic0"/>
- <field eval="&quot;&quot;&quot;2008-12-31&quot;&quot;&quot;" name="date_to"/>
- </record>
- <record id="crossovered_budget_lines_2" model="crossovered.budget.lines">
- <field name="analytic_account_id" ref="account.analytic_consultancy"/>
- <field name="general_budget_id" ref="account_budget_post_sales0"/>
- <field eval="&quot;&quot;&quot;2008-01-01&quot;&quot;&quot;" name="date_from"/>
- <field eval="500.0" name="planned_amount"/>
- <field name="crossovered_budget_id" ref="crossovered_budget_budgetpessimistic0"/>
- <field eval="&quot;&quot;&quot;2008-12-31&quot;&quot;&quot;" name="date_to"/>
- </record>
- <record id="crossovered_budget_lines_3" model="crossovered.budget.lines">
- <field name="analytic_account_id" ref="account.analytic_consultancy"/>
- <field name="general_budget_id" ref="account_budget_post_sales0"/>
- <field eval="&quot;&quot;&quot;2008-01-07&quot;&quot;&quot;" name="date_from"/>
- <field eval="900.0" name="planned_amount"/>
- <field name="crossovered_budget_id" ref="crossovered_budget_budgetoptimistic0"/>
- <field eval="&quot;&quot;&quot;2008-12-31&quot;&quot;&quot;" name="date_to"/>
- </record>
- <record id="crossovered_budget_lines_4" model="crossovered.budget.lines">
- <field name="analytic_account_id" ref="account.analytic_consultancy"/>
- <field name="general_budget_id" ref="account_budget_post_sales0"/>
- <field eval="&quot;&quot;&quot;2008-01-01&quot;&quot;&quot;" name="date_from"/>
- <field eval="300.0" name="planned_amount"/>
- <field name="crossovered_budget_id" ref="crossovered_budget_budgetoptimistic0"/>
- <field eval="&quot;&quot;&quot;2008-12-06&quot;&quot;&quot;" name="date_to"/>
- </record>
- </data>
- <data noupdate="1">
- <record id="crossovered_budget_lines_5" model="crossovered.budget.lines">
- <field name="analytic_account_id" ref="account.analytic_super_product_trainings"/>
- <field name="general_budget_id" ref="account_budget_post_sales0"/>
- <field eval="&quot;&quot;&quot;2008-09-01&quot;&quot;&quot;" name="date_from"/>
- <field eval="375.0" name="planned_amount"/>
- <field name="crossovered_budget_id" ref="crossovered_budget_budgetpessimistic0"/>
- <field eval="&quot;&quot;&quot;2008-12-03&quot;&quot;&quot;" name="paid_date"/>
- <field eval="&quot;&quot;&quot;2208-12-31&quot;&quot;&quot;" name="date_to"/>
- </record>
- <record id="crossovered_budget_lines_6" model="crossovered.budget.lines">
- <field name="analytic_account_id" ref="account.analytic_super_product_trainings"/>
- <field name="general_budget_id" ref="account_budget_post_purchase0"/>
- <field eval="&quot;&quot;&quot;2008-09-01&quot;&quot;&quot;" name="date_from"/>
- <field eval="-150.0" name="planned_amount"/>
- <field name="crossovered_budget_id" ref="crossovered_budget_budgetpessimistic0"/>
- <field eval="&quot;&quot;&quot;2008-12-31&quot;&quot;&quot;" name="date_to"/>
- </record>
- <record id="crossovered_budget_lines_7" model="crossovered.budget.lines">
- <field name="analytic_account_id" ref="account.analytic_super_product_trainings"/>
- <field name="general_budget_id" ref="account_budget_post_sales0"/>
- <field eval="&quot;&quot;&quot;2008-09-01&quot;&quot;&quot;" name="date_from"/>
- <field eval="375.0" name="planned_amount"/>
- <field name="crossovered_budget_id" ref="crossovered_budget_budgetoptimistic0"/>
- <field eval="&quot;&quot;&quot;2008-12-03&quot;&quot;&quot;" name="paid_date"/>
- <field eval="&quot;&quot;&quot;2008-12-31&quot;&quot;&quot;" name="date_to"/>
- </record>
- </data>
- <data noupdate="1">
- <record id="crossovered_budget_lines_8" model="crossovered.budget.lines">
- <field name="analytic_account_id" ref="account.analytic_seagate_p1"/>
- <field name="general_budget_id" ref="account_budget_post_purchase0"/>
- <field eval="&quot;&quot;&quot;2009-01-01&quot;&quot;&quot;" name="date_from"/>
- <field eval="-7500.0" name="planned_amount"/>
- <field name="crossovered_budget_id" ref="crossovered_budget_budgetpessimistic0"/>
- <field eval="&quot;&quot;&quot;2009-12-31&quot;&quot;&quot;" name="date_to"/>
- </record>
- <record id="crossovered_budget_lines_9" model="crossovered.budget.lines">
- <field name="analytic_account_id" ref="account.analytic_seagate_p1"/>
- <field name="general_budget_id" ref="account_budget_post_purchase0"/>
- <field eval="&quot;&quot;&quot;2008-01-01&quot;&quot;&quot;" name="date_from"/>
- <field eval="-5000.0" name="planned_amount"/>
- <field name="crossovered_budget_id" ref="crossovered_budget_budgetpessimistic0"/>
- <field eval="&quot;&quot;&quot;2008-12-31&quot;&quot;&quot;" name="date_to"/>
- </record>
- <record id="crossovered_budget_lines_10" model="crossovered.budget.lines">
- <field name="analytic_account_id" ref="account.analytic_seagate_p1"/>
- <field name="general_budget_id" ref="account_budget_post_purchase0"/>
- <field eval="&quot;&quot;&quot;2008-01-01&quot;&quot;&quot;" name="date_from"/>
- <field eval="-2000.0" name="planned_amount"/>
- <field name="crossovered_budget_id" ref="crossovered_budget_budgetoptimistic0"/>
- <field eval="&quot;&quot;&quot;2009-12-31&quot;&quot;&quot;" name="date_to"/>
- </record>
- <record id="crossovered_budget_lines_11" model="crossovered.budget.lines">
- <field name="analytic_account_id" ref="account.analytic_seagate_p1"/>
- <field name="general_budget_id" ref="account_budget_post_sales0"/>
- <field eval="&quot;&quot;&quot;2008-01-01&quot;&quot;&quot;" name="date_from"/>
- <field eval="20000.0" name="planned_amount"/>
- <field name="crossovered_budget_id" ref="crossovered_budget_budgetpessimistic0"/>
- <field eval="&quot;&quot;&quot;2010-12-31&quot;&quot;&quot;" name="date_to"/>
- </record>
- <record id="crossovered_budget_lines_12" model="crossovered.budget.lines">
- <field name="analytic_account_id" ref="account.analytic_seagate_p1"/>
- <field name="general_budget_id" ref="account_budget_post_sales0"/>
- <field eval="&quot;&quot;&quot;2008-01-01&quot;&quot;&quot;" name="date_from"/>
- <field eval="20000.0" name="planned_amount"/>
- <field name="crossovered_budget_id" ref="crossovered_budget_budgetoptimistic0"/>
- <field eval="&quot;&quot;&quot;2009-12-31&quot;&quot;&quot;" name="date_to"/>
- </record>
- </data>
- <data noupdate="1">
- <record id="crossovered_budget_lines_13" model="crossovered.budget.lines">
- <field name="analytic_account_id" ref="account.analytic_seagate_p2"/>
- <field name="general_budget_id" ref="account_budget_post_purchase0"/>
- <field eval="&quot;&quot;&quot;2008-01-01&quot;&quot;&quot;" name="date_from"/>
- <field eval="-3000.0" name="planned_amount"/>
- <field name="crossovered_budget_id" ref="crossovered_budget_budgetpessimistic0"/>
- <field eval="&quot;&quot;&quot;2008-12-31&quot;&quot;&quot;" name="date_to"/>
- </record>
- <record id="crossovered_budget_lines_14" model="crossovered.budget.lines">
- <field name="analytic_account_id" ref="account.analytic_seagate_p2"/>
- <field name="general_budget_id" ref="account_budget_post_purchase0"/>
- <field eval="&quot;&quot;&quot;2008-01-01&quot;&quot;&quot;" name="date_from"/>
- <field eval="-1000.0" name="planned_amount"/>
- <field name="crossovered_budget_id" ref="crossovered_budget_budgetoptimistic0"/>
- <field eval="&quot;&quot;&quot;2008-12-31&quot;&quot;&quot;" name="date_to"/>
- </record>
- <record id="crossovered_budget_lines_15" model="crossovered.budget.lines">
- <field name="analytic_account_id" ref="account.analytic_seagate_p2"/>
- <field name="general_budget_id" ref="account_budget_post_sales0"/>
- <field eval="&quot;&quot;&quot;2008-01-01&quot;&quot;&quot;" name="date_from"/>
- <field eval="10000.0" name="planned_amount"/>
- <field name="crossovered_budget_id" ref="crossovered_budget_budgetpessimistic0"/>
- <field eval="&quot;&quot;&quot;2008-12-31&quot;&quot;&quot;" name="date_to"/>
- </record>
- <record id="crossovered_budget_lines_16" model="crossovered.budget.lines">
- <field name="analytic_account_id" ref="account.analytic_seagate_p2"/>
- <field name="general_budget_id" ref="account_budget_post_sales0"/>
- <field eval="&quot;&quot;&quot;2008-01-01&quot;&quot;&quot;" name="date_from"/>
- <field eval="10000.0" name="planned_amount"/>
- <field name="crossovered_budget_id" ref="crossovered_budget_budgetoptimistic0"/>
- <field eval="&quot;&quot;&quot;2008-12-31&quot;&quot;&quot;" name="date_to"/>
- </record>
- </data>
+ <data noupdate="1">
+ <record id="crossovered_budget_lines_0" model="crossovered.budget.lines">
+ <field name="analytic_account_id" ref="account.analytic_consultancy"/>
+ <field name="general_budget_id" ref="account_budget_post_purchase0"/>
+ <field eval="&quot;&quot;&quot;2011-01-01&quot;&quot;&quot;" name="date_from"/>
+ <field eval="-500.0" name="planned_amount"/>
+ <field name="crossovered_budget_id" ref="crossovered_budget_budgetpessimistic0"/>
+ <field eval="&quot;&quot;&quot;2011-12-31&quot;&quot;&quot;" name="date_to"/>
+ </record>
+ <record id="crossovered_budget_lines_1" model="crossovered.budget.lines">
+ <field name="analytic_account_id" ref="account.analytic_consultancy"/>
+ <field name="general_budget_id" ref="account_budget_post_purchase0"/>
+ <field eval="&quot;&quot;&quot;2011-01-01&quot;&quot;&quot;" name="date_from"/>
+ <field eval="-250.0" name="planned_amount"/>
+ <field name="crossovered_budget_id" ref="crossovered_budget_budgetoptimistic0"/>
+ <field eval="&quot;&quot;&quot;2011-12-31&quot;&quot;&quot;" name="date_to"/>
+ </record>
+ <record id="crossovered_budget_lines_2" model="crossovered.budget.lines">
+ <field name="analytic_account_id" ref="account.analytic_consultancy"/>
+ <field name="general_budget_id" ref="account_budget_post_sales0"/>
+ <field eval="&quot;&quot;&quot;2011-01-01&quot;&quot;&quot;" name="date_from"/>
+ <field eval="500.0" name="planned_amount"/>
+ <field name="crossovered_budget_id" ref="crossovered_budget_budgetpessimistic0"/>
+ <field eval="&quot;&quot;&quot;2011-12-31&quot;&quot;&quot;" name="date_to"/>
+ </record>
+ <record id="crossovered_budget_lines_3" model="crossovered.budget.lines">
+ <field name="analytic_account_id" ref="account.analytic_consultancy"/>
+ <field name="general_budget_id" ref="account_budget_post_sales0"/>
+ <field eval="&quot;&quot;&quot;2011-01-07&quot;&quot;&quot;" name="date_from"/>
+ <field eval="900.0" name="planned_amount"/>
+ <field name="crossovered_budget_id" ref="crossovered_budget_budgetoptimistic0"/>
+ <field eval="&quot;&quot;&quot;2011-12-31&quot;&quot;&quot;" name="date_to"/>
+ </record>
+ <record id="crossovered_budget_lines_4" model="crossovered.budget.lines">
+ <field name="analytic_account_id" ref="account.analytic_consultancy"/>
+ <field name="general_budget_id" ref="account_budget_post_sales0"/>
+ <field eval="&quot;&quot;&quot;2011-01-01&quot;&quot;&quot;" name="date_from"/>
+ <field eval="300.0" name="planned_amount"/>
+ <field name="crossovered_budget_id" ref="crossovered_budget_budgetoptimistic0"/>
+ <field eval="&quot;&quot;&quot;2011-12-06&quot;&quot;&quot;" name="date_to"/>
+ </record>
+ </data>
+ <data noupdate="1">
+ <record id="crossovered_budget_lines_5" model="crossovered.budget.lines">
+ <field name="analytic_account_id" ref="account.analytic_super_product_trainings"/>
+ <field name="general_budget_id" ref="account_budget_post_sales0"/>
+ <field eval="&quot;&quot;&quot;2011-09-01&quot;&quot;&quot;" name="date_from"/>
+ <field eval="375.0" name="planned_amount"/>
+ <field name="crossovered_budget_id" ref="crossovered_budget_budgetpessimistic0"/>
+ <field eval="&quot;&quot;&quot;2011-12-03&quot;&quot;&quot;" name="paid_date"/>
+ <field eval="&quot;&quot;&quot;2208-12-31&quot;&quot;&quot;" name="date_to"/>
+ </record>
+ <record id="crossovered_budget_lines_6" model="crossovered.budget.lines">
+ <field name="analytic_account_id" ref="account.analytic_super_product_trainings"/>
+ <field name="general_budget_id" ref="account_budget_post_purchase0"/>
+ <field eval="&quot;&quot;&quot;2011-09-01&quot;&quot;&quot;" name="date_from"/>
+ <field eval="-150.0" name="planned_amount"/>
+ <field name="crossovered_budget_id" ref="crossovered_budget_budgetpessimistic0"/>
+ <field eval="&quot;&quot;&quot;2011-12-31&quot;&quot;&quot;" name="date_to"/>
+ </record>
+ <record id="crossovered_budget_lines_7" model="crossovered.budget.lines">
+ <field name="analytic_account_id" ref="account.analytic_super_product_trainings"/>
+ <field name="general_budget_id" ref="account_budget_post_sales0"/>
+ <field eval="&quot;&quot;&quot;2011-09-01&quot;&quot;&quot;" name="date_from"/>
+ <field eval="375.0" name="planned_amount"/>
+ <field name="crossovered_budget_id" ref="crossovered_budget_budgetoptimistic0"/>
+ <field eval="&quot;&quot;&quot;2011-12-03&quot;&quot;&quot;" name="paid_date"/>
+ <field eval="&quot;&quot;&quot;2011-12-31&quot;&quot;&quot;" name="date_to"/>
+ </record>
+ </data>
+ <data noupdate="1">
+ <record id="crossovered_budget_lines_8" model="crossovered.budget.lines">
+ <field name="analytic_account_id" ref="account.analytic_seagate_p1"/>
+ <field name="general_budget_id" ref="account_budget_post_purchase0"/>
+ <field eval="&quot;&quot;&quot;2009-01-01&quot;&quot;&quot;" name="date_from"/>
+ <field eval="-7500.0" name="planned_amount"/>
+ <field name="crossovered_budget_id" ref="crossovered_budget_budgetpessimistic0"/>
+ <field eval="&quot;&quot;&quot;2009-12-31&quot;&quot;&quot;" name="date_to"/>
+ </record>
+ <record id="crossovered_budget_lines_9" model="crossovered.budget.lines">
+ <field name="analytic_account_id" ref="account.analytic_seagate_p1"/>
+ <field name="general_budget_id" ref="account_budget_post_purchase0"/>
+ <field eval="&quot;&quot;&quot;2011-01-01&quot;&quot;&quot;" name="date_from"/>
+ <field eval="-5000.0" name="planned_amount"/>
+ <field name="crossovered_budget_id" ref="crossovered_budget_budgetpessimistic0"/>
+ <field eval="&quot;&quot;&quot;2011-12-31&quot;&quot;&quot;" name="date_to"/>
+ </record>
+ <record id="crossovered_budget_lines_10" model="crossovered.budget.lines">
+ <field name="analytic_account_id" ref="account.analytic_seagate_p1"/>
+ <field name="general_budget_id" ref="account_budget_post_purchase0"/>
+ <field eval="&quot;&quot;&quot;2011-01-01&quot;&quot;&quot;" name="date_from"/>
+ <field eval="-2000.0" name="planned_amount"/>
+ <field name="crossovered_budget_id" ref="crossovered_budget_budgetoptimistic0"/>
+ <field eval="&quot;&quot;&quot;2009-12-31&quot;&quot;&quot;" name="date_to"/>
+ </record>
+ <record id="crossovered_budget_lines_11" model="crossovered.budget.lines">
+ <field name="analytic_account_id" ref="account.analytic_seagate_p1"/>
+ <field name="general_budget_id" ref="account_budget_post_sales0"/>
+ <field eval="&quot;&quot;&quot;2011-01-01&quot;&quot;&quot;" name="date_from"/>
+ <field eval="20000.0" name="planned_amount"/>
+ <field name="crossovered_budget_id" ref="crossovered_budget_budgetpessimistic0"/>
+ <field eval="&quot;&quot;&quot;2010-12-31&quot;&quot;&quot;" name="date_to"/>
+ </record>
+ <record id="crossovered_budget_lines_12" model="crossovered.budget.lines">
+ <field name="analytic_account_id" ref="account.analytic_seagate_p1"/>
+ <field name="general_budget_id" ref="account_budget_post_sales0"/>
+ <field eval="&quot;&quot;&quot;2011-01-01&quot;&quot;&quot;" name="date_from"/>
+ <field eval="20000.0" name="planned_amount"/>
+ <field name="crossovered_budget_id" ref="crossovered_budget_budgetoptimistic0"/>
+ <field eval="&quot;&quot;&quot;2009-12-31&quot;&quot;&quot;" name="date_to"/>
+ </record>
+ </data>
+ <data noupdate="1">
+ <record id="crossovered_budget_lines_13" model="crossovered.budget.lines">
+ <field name="analytic_account_id" ref="account.analytic_seagate_p2"/>
+ <field name="general_budget_id" ref="account_budget_post_purchase0"/>
+ <field eval="&quot;&quot;&quot;2011-01-01&quot;&quot;&quot;" name="date_from"/>
+ <field eval="-3000.0" name="planned_amount"/>
+ <field name="crossovered_budget_id" ref="crossovered_budget_budgetpessimistic0"/>
+ <field eval="&quot;&quot;&quot;2011-12-31&quot;&quot;&quot;" name="date_to"/>
+ </record>
+ <record id="crossovered_budget_lines_14" model="crossovered.budget.lines">
+ <field name="analytic_account_id" ref="account.analytic_seagate_p2"/>
+ <field name="general_budget_id" ref="account_budget_post_purchase0"/>
+ <field eval="&quot;&quot;&quot;2011-01-01&quot;&quot;&quot;" name="date_from"/>
+ <field eval="-1000.0" name="planned_amount"/>
+ <field name="crossovered_budget_id" ref="crossovered_budget_budgetoptimistic0"/>
+ <field eval="&quot;&quot;&quot;2011-12-31&quot;&quot;&quot;" name="date_to"/>
+ </record>
+ <record id="crossovered_budget_lines_15" model="crossovered.budget.lines">
+ <field name="analytic_account_id" ref="account.analytic_seagate_p2"/>
+ <field name="general_budget_id" ref="account_budget_post_sales0"/>
+ <field eval="&quot;&quot;&quot;2011-01-01&quot;&quot;&quot;" name="date_from"/>
+ <field eval="10000.0" name="planned_amount"/>
+ <field name="crossovered_budget_id" ref="crossovered_budget_budgetpessimistic0"/>
+ <field eval="&quot;&quot;&quot;2011-12-31&quot;&quot;&quot;" name="date_to"/>
+ </record>
+ <record id="crossovered_budget_lines_16" model="crossovered.budget.lines">
+ <field name="analytic_account_id" ref="account.analytic_seagate_p2"/>
+ <field name="general_budget_id" ref="account_budget_post_sales0"/>
+ <field eval="&quot;&quot;&quot;2011-01-01&quot;&quot;&quot;" name="date_from"/>
+ <field eval="10000.0" name="planned_amount"/>
+ <field name="crossovered_budget_id" ref="crossovered_budget_budgetoptimistic0"/>
+ <field eval="&quot;&quot;&quot;2011-12-31&quot;&quot;&quot;" name="date_to"/>
+ </record>
+ </data>
</openerp>
diff --git a/addons/account_budget/i18n/ru.po b/addons/account_budget/i18n/ru.po
index 9dab183e14f..84dcf0711c9 100644
--- a/addons/account_budget/i18n/ru.po
+++ b/addons/account_budget/i18n/ru.po
@@ -7,19 +7,19 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-09-16 15:14+0000\n"
-"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
+"PO-Revision-Date: 2010-07-08 17:00+0000\n"
+"Last-Translator: Pomazan Bogdan <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-06-22 04:18+0000\n"
+"X-Launchpad-Export-Date: 2010-07-09 03:56+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account_budget
#: field:crossovered.budget,creating_user_id:0
msgid "Responsible User"
-msgstr ""
+msgstr "Ответственный пользователь"
#. module: account_budget
#: rml:account.budget:0
@@ -30,28 +30,28 @@ msgstr "% эффективности"
#: model:ir.actions.act_window,name:account_budget.open_budget_post_form
#: model:ir.ui.menu,name:account_budget.menu_budget_post_form
msgid "Budgetary Positions"
-msgstr ""
+msgstr "Бюджетные статьи"
#. module: account_budget
#: constraint:ir.actions.act_window:0
msgid "Invalid model name in the action definition."
-msgstr ""
+msgstr "Недопустимое имя модели в определении действия."
#. module: account_budget
#: rml:account.analytic.account.budget:0
#: rml:crossovered.budget.report:0
msgid "Printed at:"
-msgstr ""
+msgstr "Напечатано:"
#. module: account_budget
#: view:crossovered.budget:0
msgid "Confirm"
-msgstr ""
+msgstr "Подтвердить"
#. module: account_budget
#: field:crossovered.budget,validating_user_id:0
msgid "Validate User"
-msgstr ""
+msgstr "Проверить пользователя"
#. module: account_budget
#: constraint:ir.model:0
@@ -64,7 +64,7 @@ msgstr ""
#. module: account_budget
#: selection:crossovered.budget,state:0
msgid "Confirmed"
-msgstr ""
+msgstr "Подтверждено"
#. module: account_budget
#: field:account.budget.post.dotation,period_id:0
@@ -87,7 +87,7 @@ msgstr "Дата вывода на печать"
#. module: account_budget
#: selection:crossovered.budget,state:0
msgid "Draft"
-msgstr ""
+msgstr "Черновик"
#. module: account_budget
#: rml:account.analytic.account.budget:0
@@ -99,7 +99,7 @@ msgstr "в"
#. module: account_budget
#: view:account.budget.post:0
msgid "Dotations"
-msgstr ""
+msgstr "Дотации"
#. module: account_budget
#: rml:account.budget:0
@@ -121,7 +121,7 @@ msgstr "От"
#. module: account_budget
#: field:crossovered.budget.lines,percentage:0
msgid "Percentage"
-msgstr ""
+msgstr "Проценты"
#. module: account_budget
#: rml:account.budget:0
@@ -131,7 +131,7 @@ msgstr "Результаты"
#. module: account_budget
#: field:crossovered.budget,state:0
msgid "Status"
-msgstr ""
+msgstr "Состояние"
#. module: account_budget
#: model:ir.module.module,description:account_budget.module_meta_information
@@ -173,12 +173,12 @@ msgstr "%"
#: rml:account.analytic.account.budget:0
#: rml:crossovered.budget.report:0
msgid "Description"
-msgstr ""
+msgstr "Описание"
#. module: account_budget
#: rml:account.analytic.account.budget:0
msgid "Analytic Account :"
-msgstr ""
+msgstr "Счет аналитики:"
#. module: account_budget
#: wizard_button:account.budget.report,init,report:0
@@ -205,20 +205,20 @@ msgstr "до"
#: rml:account.budget:0
#: rml:crossovered.budget.report:0
msgid "Total :"
-msgstr ""
+msgstr "Всего :"
#. module: account_budget
#: rml:account.analytic.account.budget:0
#: field:crossovered.budget.lines,planned_amount:0
#: rml:crossovered.budget.report:0
msgid "Planned Amount"
-msgstr ""
+msgstr "Запланированная сумма"
#. module: account_budget
#: rml:account.analytic.account.budget:0
#: rml:crossovered.budget.report:0
msgid "Perc(%)"
-msgstr ""
+msgstr "Проц.(%)"
#. module: account_budget
#: rml:account.budget:0
@@ -234,18 +234,18 @@ msgstr "Анализ бюджета"
#: view:crossovered.budget:0
#: selection:crossovered.budget,state:0
msgid "Done"
-msgstr ""
+msgstr "Выполнено"
#. module: account_budget
#: view:crossovered.budget:0
msgid "Validate"
-msgstr ""
+msgstr "Проверить"
#. module: account_budget
#: wizard_view:wizard.crossovered.budget,init:0
#: wizard_view:wizard.crossovered.budget.summary,init:0
msgid "Select Options"
-msgstr ""
+msgstr "Выбрать опции"
#. module: account_budget
#: rml:account.analytic.account.budget:0
@@ -258,7 +258,7 @@ msgstr ""
#: field:crossovered.budget,date_to:0
#: field:crossovered.budget.lines,date_to:0
msgid "End Date"
-msgstr ""
+msgstr "Дата окончания"
#. module: account_budget
#: constraint:ir.ui.view:0
@@ -318,30 +318,30 @@ msgstr "Сумма"
#. module: account_budget
#: field:crossovered.budget.lines,paid_date:0
msgid "Paid Date"
-msgstr ""
+msgstr "Дата оплаты"
#. module: account_budget
#: model:ir.actions.act_window,name:account_budget.action_account_budget_post_tree
#: model:ir.ui.menu,name:account_budget.menu_action_account_budget_post_tree
#: model:ir.ui.menu,name:account_budget.next_id_31
msgid "Budgets"
-msgstr ""
+msgstr "Бюджеты"
#. module: account_budget
#: selection:crossovered.budget,state:0
msgid "Cancelled"
-msgstr ""
+msgstr "Отменено"
#. module: account_budget
#: view:account.budget.post.dotation:0
#: model:ir.model,name:account_budget.model_account_budget_post_dotation
msgid "Budget Dotation"
-msgstr ""
+msgstr "Бюджетная дотация"
#. module: account_budget
#: view:account.budget.post.dotation:0
msgid "Budget Dotations"
-msgstr ""
+msgstr "Бюджетные дотации"
#. module: account_budget
#: rml:account.budget:0
@@ -353,7 +353,7 @@ msgstr ""
#: field:crossovered.budget.lines,general_budget_id:0
#: model:ir.model,name:account_budget.model_account_budget_post
msgid "Budgetary Position"
-msgstr ""
+msgstr "Бюджетная статья"
#. module: account_budget
#: wizard_field:account.budget.report,init,date1:0
@@ -369,7 +369,7 @@ msgstr "Начало периода"
#: model:ir.actions.wizard,name:account_budget.account_analytic_account_budget_report
#: model:ir.actions.wizard,name:account_budget.wizard_crossovered_budget_menu
msgid "Print Budgets"
-msgstr ""
+msgstr "Печать бюджетов"
#. module: account_budget
#: field:account.budget.post,code:0
@@ -380,12 +380,12 @@ msgstr "Код"
#. module: account_budget
#: field:account.budget.post.dotation,tot_planned:0
msgid "Total Planned Amount"
-msgstr ""
+msgstr "Запланировано всего"
#. module: account_budget
#: wizard_view:wizard.analytic.account.budget.report,init:0
msgid "Select Dates Period"
-msgstr ""
+msgstr "Выберите даты периода"
#. module: account_budget
#: field:account.budget.post,dotation_ids:0
@@ -396,7 +396,7 @@ msgstr ""
#: rml:account.analytic.account.budget:0
#: rml:crossovered.budget.report:0
msgid "Theoretical Amount"
-msgstr ""
+msgstr "Теоретическая сумма"
#. module: account_budget
#: wizard_field:account.budget.spread,init,fiscalyear:0
@@ -406,12 +406,12 @@ msgstr "Учетный год"
#. module: account_budget
#: field:crossovered.budget.lines,analytic_account_id:0
msgid "Analytic Account"
-msgstr ""
+msgstr "Счет аналитического учета"
#. module: account_budget
#: rml:crossovered.budget.report:0
msgid "Budget :"
-msgstr ""
+msgstr "Бюджет:"
#. module: account_budget
#: rml:account.budget:0
@@ -430,7 +430,7 @@ msgstr "Счета"
#. module: account_budget
#: model:ir.actions.report.xml,name:account_budget.account_budget
msgid "Print Budget"
-msgstr ""
+msgstr "Печать бюджета"
#. module: account_budget
#: view:account.analytic.account:0
@@ -460,24 +460,24 @@ msgstr "Отмена"
#. module: account_budget
#: model:ir.module.module,shortdesc:account_budget.module_meta_information
msgid "Budget Management"
-msgstr ""
+msgstr "Управление бюджетом"
#. module: account_budget
#: field:crossovered.budget,date_from:0
#: field:crossovered.budget.lines,date_from:0
msgid "Start Date"
-msgstr ""
+msgstr "Дата начала"
#. module: account_budget
#: rml:account.analytic.account.budget:0
#: rml:crossovered.budget.report:0
msgid "Analysis from"
-msgstr ""
+msgstr "Анализ с"
#. module: account_budget
#: selection:crossovered.budget,state:0
msgid "Validated"
-msgstr ""
+msgstr "Проверено"
#. module: account_budget
#: wizard_view:account.budget.report,init:0
diff --git a/addons/account_cancel/account_cancel_view.xml b/addons/account_cancel/account_cancel_view.xml
index bcb9fb4d34e..5f63b6cf6d7 100644
--- a/addons/account_cancel/account_cancel_view.xml
+++ b/addons/account_cancel/account_cancel_view.xml
@@ -1,16 +1,17 @@
<?xml version="1.0"?>
<openerp>
<data>
- <record id="view_account_journal_form_inherit" model="ir.ui.view">
+ <record id="view_account_journal_form_inherit" model="ir.ui.view">
<field name="name">account.journal.form</field>
<field name="model">account.journal</field>
<field name="type">form</field>
<field name="inherit_id" ref="account.view_account_journal_form"/>
<field name="arch" type="xml">
- <xpath expr="/form/notebook/page[@string='General Information']/group/group/field[@name='centralisation']" position="after">
+ <field name="entry_posted" position="after">
+<!-- <xpath expr="/form/notebook/page[@string='General Information']/group/group/field[@name='centralisation']" position="after">-->
<field name="update_posted"/>
- </xpath>
+ </field>
</field>
- </record>
- </data>
-</openerp> \ No newline at end of file
+ </record>
+ </data>
+</openerp>
diff --git a/addons/account_coda/i18n/ru.po b/addons/account_coda/i18n/ru.po
new file mode 100644
index 00000000000..bc9d28b90ca
--- /dev/null
+++ b/addons/account_coda/i18n/ru.po
@@ -0,0 +1,168 @@
+# Russian translation for openobject-addons
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2009-11-24 13:11+0000\n"
+"PO-Revision-Date: 2010-07-08 17:04+0000\n"
+"Last-Translator: Pomazan Bogdan <Unknown>\n"
+"Language-Team: Russian <ru@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2010-07-09 03:56+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#. module: account_coda
+#: field:account.coda,journal_id:0
+#: wizard_field:account.coda_import,init,journal_id:0
+msgid "Bank Journal"
+msgstr ""
+
+#. module: account_coda
+#: constraint:ir.model:0
+msgid ""
+"The Object name must start with x_ and not contain any special character !"
+msgstr ""
+"Название объекта должно начинаться с x_ и не должно содержать специальных "
+"символов !"
+
+#. module: account_coda
+#: wizard_field:account.coda_import,extraction,note:0
+msgid "Log"
+msgstr "Журнал"
+
+#. module: account_coda
+#: wizard_button:account.coda_import,extraction,open:0
+msgid "_Open Statement"
+msgstr ""
+
+#. module: account_coda
+#: model:ir.module.module,shortdesc:account_coda.module_meta_information
+msgid "Account CODA"
+msgstr ""
+
+#. module: account_coda
+#: field:account.coda,name:0
+msgid "Coda file"
+msgstr ""
+
+#. module: account_coda
+#: wizard_view:account.coda_import,init:0
+msgid "Clic on 'New' to select your file :"
+msgstr ""
+
+#. module: account_coda
+#: model:ir.actions.wizard,name:account_coda.wizard_account_coda_import
+msgid "Import Coda File"
+msgstr ""
+
+#. module: account_coda
+#: constraint:ir.actions.act_window:0
+msgid "Invalid model name in the action definition."
+msgstr "Недопустимое имя модели в определении действия."
+
+#. module: account_coda
+#: field:account.coda,note:0
+msgid "Import log"
+msgstr ""
+
+#. module: account_coda
+#: wizard_field:account.coda_import,init,def_receivable:0
+msgid "Default receivable Account"
+msgstr ""
+
+#. module: account_coda
+#: model:ir.module.module,description:account_coda.module_meta_information
+msgid ""
+"Module provides functionality to import\n"
+" bank statements from .csv file.\n"
+" Import coda file wizard is used to import bank statements."
+msgstr ""
+
+#. module: account_coda
+#: wizard_button:account.coda_import,extraction,end:0
+msgid "_Close"
+msgstr "_Закрыть"
+
+#. module: account_coda
+#: field:account.coda,statement_id:0
+msgid "Generated Bank Statement"
+msgstr ""
+
+#. module: account_coda
+#: view:account.coda:0
+#: model:ir.actions.act_window,name:account_coda.act_account_payment_account_bank_statement
+#: model:ir.actions.act_window,name:account_coda.action_account_coda
+msgid "Coda import"
+msgstr ""
+
+#. module: account_coda
+#: field:account.coda,user_id:0
+msgid "User"
+msgstr "Пользователь"
+
+#. module: account_coda
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr "Неправильный XML для просмотра структуры!"
+
+#. module: account_coda
+#: model:ir.model,name:account_coda.model_account_coda
+msgid "coda for an Account"
+msgstr ""
+
+#. module: account_coda
+#: wizard_field:account.coda_import,init,def_payable:0
+msgid "Default Payable Account"
+msgstr ""
+
+#. module: account_coda
+#: model:ir.ui.menu,name:account_coda.menu_account_coda
+msgid "Coda Statements"
+msgstr ""
+
+#. module: account_coda
+#: model:ir.ui.menu,name:account_coda.menu_account_coda_wizard
+msgid "Import Coda Statements"
+msgstr ""
+
+#. module: account_coda
+#: wizard_button:account.coda_import,init,extraction:0
+msgid "_Ok"
+msgstr "_Далее"
+
+#. module: account_coda
+#: wizard_view:account.coda_import,extraction:0
+#: wizard_view:account.coda_import,init:0
+msgid "Import Coda Statement"
+msgstr ""
+
+#. module: account_coda
+#: field:account.bank.statement,coda_id:0
+msgid "Coda"
+msgstr ""
+
+#. module: account_coda
+#: wizard_view:account.coda_import,extraction:0
+msgid "Results :"
+msgstr ""
+
+#. module: account_coda
+#: wizard_field:account.coda_import,init,coda:0
+msgid "Coda File"
+msgstr ""
+
+#. module: account_coda
+#: field:account.coda,date:0
+msgid "Import Date"
+msgstr ""
+
+#. module: account_coda
+#: wizard_view:account.coda_import,init:0
+msgid "Select your bank journal :"
+msgstr ""
diff --git a/addons/account_followup/account_followup_view.xml b/addons/account_followup/account_followup_view.xml
index 50c1cb5df34..82e3450163a 100644
--- a/addons/account_followup/account_followup_view.xml
+++ b/addons/account_followup/account_followup_view.xml
@@ -153,8 +153,8 @@
<field name="type">form</field>
<field name="arch" type="xml">
<field name="overdue_msg" nolabel="1" colspan ="4" position="after">
- <separator string="Follow-up Message" colspan="4"/>
<field name="follow_up_msg" nolabel="1" colspan ="4"/>
+ <separator string="Follow-up Message" colspan="4"/>
</field>
</field>
</record>
diff --git a/addons/account_voucher/voucher.py b/addons/account_voucher/voucher.py
index 00d12f8063b..13df5a496fc 100644
--- a/addons/account_voucher/voucher.py
+++ b/addons/account_voucher/voucher.py
@@ -212,9 +212,21 @@ class account_voucher(osv.osv):
self.write(cr, uid, ids, {'state':'posted'})
return True
- def action_cancel_draft(self, cr, uid, ids, *args):
+ def action_cancel_draft(self, cr, uid, ids, context={}):
self.write(cr, uid, ids, {'state':'draft'})
return True
+
+ def audit_pass(self, cr, uid, ids, context={}):
+ move_pool = self.pool.get('account.move')
+ result = True
+ audit_pass = []
+ for voucher in self.browse(cr, uid, ids):
+ if voucher.move_id and voucher.move_id.state == 'draft':
+ result = result and move_pool.button_validate(cr, uid, [voucher.move_id.id])
+ audit_pass += [voucher.id]
+
+ self.write(cr, uid, audit_pass, {'state':'audit'})
+ return result
def cancel_voucher(self, cr, uid, ids, context={}):
move_pool = self.pool.get('account.move')
@@ -258,7 +270,6 @@ class account_voucher(osv.osv):
company_currency = inv.company_id.currency_id.id
diff_currency_p = inv.currency_id.id <> company_currency
- ref = inv.reference
journal = journal_pool.browse(cr, uid, inv.journal_id.id)
if journal.sequence_id:
@@ -289,7 +300,7 @@ class account_voucher(osv.osv):
'journal_id': inv.journal_id.id,
'period_id': inv.period_id.id,
'partner_id': False,
- 'ref': ref,
+ 'ref': inv.reference,
'date': inv.date
}
if diff_currency_p:
@@ -318,7 +329,7 @@ class account_voucher(osv.osv):
'journal_id': inv.journal_id.id,
'period_id': inv.period_id.id,
'partner_id': line.partner_id.id or False,
- 'ref': ref,
+ 'ref': line.ref,
'date': inv.date,
'analytic_account_id': False
}
diff --git a/addons/account_voucher/voucher_view.xml b/addons/account_voucher/voucher_view.xml
index 1d9d1e6a8d0..658b8f8429b 100644
--- a/addons/account_voucher/voucher_view.xml
+++ b/addons/account_voucher/voucher_view.xml
@@ -199,12 +199,28 @@
</record>
<act_window
- domain="[('journal_id', '=', active_id)]"
+ domain="[('journal_id','=',active_id)]"
id="act_journal_voucher_open"
name="Voucher Entries"
context="{'journal_id': active_id, 'type':type}"
res_model="account.voucher"
src_model="account.journal"/>
+
+ <record model="ir.actions.act_window" id="action_review_voucher_list">
+ <field name="name">Vouchers Entries</field>
+ <field name="res_model">account.voucher</field>
+ <field name="view_type">form</field>
+ <field name="view_mode">tree,form</field>
+ <field name="view_id" eval="view_voucher_tree"/>
+ <field name="domain">[('state','=','posted')]</field>
+ <field name="context">{'state':'posted'}</field>
+ <field name="search_view_id" ref="view_voucher_filter_new"/>
+ </record>
+ <menuitem
+ id="menu_action_review_voucher_list"
+ action="action_review_voucher_list"
+ parent="account.periodical_processing_journal_entries_validation" sequence="2"/>
+
</data>
</openerp>
diff --git a/addons/account_voucher/voucher_workflow.xml b/addons/account_voucher/voucher_workflow.xml
index 091e84cfd88..f1444761c48 100644
--- a/addons/account_voucher/voucher_workflow.xml
+++ b/addons/account_voucher/voucher_workflow.xml
@@ -18,16 +18,14 @@
<record id="act_proforma" model="workflow.activity">
<field name="wkf_id" ref="wkf"/>
<field name="name">proforma</field>
- <field name="action">write({'state':'proforma'})
- open_voucher()</field>
+ <field name="action">open_voucher()</field>
<field name="kind">function</field>
</record>
<record id="act_done" model="workflow.activity">
<field name="wkf_id" ref="wkf"/>
<field name="name">done</field>
- <field name="action">write({'state':'posted'})
- proforma_voucher()</field>
+ <field name="action">proforma_voucher()</field>
<field name="kind">function</field>
</record>
@@ -48,7 +46,7 @@
<record id="act_audit" model="workflow.activity">
<field name="wkf_id" ref="wkf"/>
<field name="name">audit</field>
- <field name="action">write({'state':'audit'})</field>
+ <field name="action">audit_pass()</field>
<field name="flow_stop">True</field>
<field name="kind">function</field>
</record>
diff --git a/addons/account_voucher_payment/account_voucher_payment.py b/addons/account_voucher_payment/account_voucher_payment.py
index 7bad021ba26..f2c6507181c 100755
--- a/addons/account_voucher_payment/account_voucher_payment.py
+++ b/addons/account_voucher_payment/account_voucher_payment.py
@@ -53,8 +53,7 @@ class account_voucher(osv.osv):
company_currency = inv.company_id.currency_id.id
diff_currency_p = inv.currency_id.id <> company_currency
- ref = inv.reference
-
+
journal = journal_pool.browse(cr, uid, inv.journal_id.id)
if journal.sequence_id:
name = sequence_pool.get_id(cr, uid, journal.sequence_id.id)
@@ -84,7 +83,7 @@ class account_voucher(osv.osv):
'journal_id': inv.journal_id.id,
'period_id': inv.period_id.id,
'partner_id': False,
- 'ref': ref,
+ 'ref': inv.reference,
'date': inv.date
}
if diff_currency_p:
@@ -113,7 +112,7 @@ class account_voucher(osv.osv):
'journal_id': inv.journal_id.id,
'period_id': inv.period_id.id,
'partner_id': line.partner_id.id or False,
- 'ref': ref,
+ 'ref': line.ref,
'date': inv.date,
'analytic_account_id': False
}
@@ -143,14 +142,15 @@ class account_voucher(osv.osv):
})
amount = line.amount
- if line.invoice_id:
- move_line.update({
- 'invoice_id':line.invoice_id.id
- })
- invoice_pool.pay_and_reconcile(cr, uid, [line.invoice_id.id], amount, inv.account_id.id, inv.period_id.id, inv.journal_id.id, False, False, False)
-
move_line_id = move_line_pool.create(cr, uid, move_line)
line_ids += [move_line_id]
+
+ if line.invoice_id:
+ rec_ids = [move_line_id]
+ for move_line in line.invoice_id.move_id.line_id:
+ if line.account_id.id == move_line.account_id.id:
+ rec_ids += [move_line.id]
+ move_line_pool.reconcile_partial(cr, uid, rec_ids)
rec = {
'move_id': move_id,
@@ -197,7 +197,8 @@ class account_voucher_line(osv.osv):
res.update({
'amount': residual,
- 'account_id': invoice.account_id.id
+ 'account_id': invoice.account_id.id,
+ 'ref':invoice.number
})
return {
diff --git a/addons/account_voucher_payment/wizard/account_voucher_unreconcile.py b/addons/account_voucher_payment/wizard/account_voucher_unreconcile.py
index 2bfffb372b7..ef30e1af69f 100644
--- a/addons/account_voucher_payment/wizard/account_voucher_unreconcile.py
+++ b/addons/account_voucher_payment/wizard/account_voucher_unreconcile.py
@@ -49,7 +49,7 @@ class account_voucher_unreconcile(osv.osv_memory):
recs = [line.reconcile_id.id]
for rec in recs:
- obj_reconcile.unlink(cr, uid, rec)
+ reconcile_pool.unlink(cr, uid, rec)
if res.remove:
wf_service = netsvc.LocalService("workflow")
diff --git a/addons/auction/i18n/ru.po b/addons/auction/i18n/ru.po
index 33407209b74..cc184cac539 100644
--- a/addons/auction/i18n/ru.po
+++ b/addons/auction/i18n/ru.po
@@ -1,19 +1,19 @@
# Translation of OpenERP Server.
# This file contains the translation of the following modules:
-# * auction
+# * auction
#
msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-02-03 11:07+0000\n"
-"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
+"PO-Revision-Date: 2010-07-08 17:06+0000\n"
+"Last-Translator: Pomazan Bogdan <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-06-22 04:13+0000\n"
+"X-Launchpad-Export-Date: 2010-07-09 03:56+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: auction
@@ -32,16 +32,19 @@ msgid "Set to draft"
msgstr "Установить в 'Черновик'"
#. module: auction
-#: field:auction.deposit,partner_id:0 view:auction.lots:0
-#: xsl:report.auction.seller.list:0 field:report.deposit.border,seller:0
-#: field:report.seller.auction,seller:0 field:report.seller.auction2,seller:0
+#: field:auction.deposit,partner_id:0
+#: view:auction.lots:0
+#: xsl:report.auction.seller.list:0
+#: field:report.deposit.border,seller:0
+#: field:report.seller.auction,seller:0
+#: field:report.seller.auction2,seller:0
msgid "Seller"
msgstr "Продавец"
#. module: auction
#: constraint:ir.actions.act_window:0
msgid "Invalid model name in the action definition."
-msgstr ""
+msgstr "Недопустимое имя модели в определении действия."
#. module: auction
#: selection:auction.lots.send.aie,date_ask,numerotation:0
@@ -87,18 +90,23 @@ msgid "Deposit Form"
msgstr "Форма депозита"
#. module: auction
-#: rml:auction.bids:0 view:auction.lots:0 field:auction.lots,ach_uid:0
+#: rml:auction.bids:0
+#: view:auction.lots:0
+#: field:auction.lots,ach_uid:0
#: wizard_field:auction.lots.buyer_map,check,ach_uid:0
#: wizard_field:auction.lots.make_invoice_buyer,init,buyer_id:0
-#: wizard_field:auction.pay.buy,init,buyer_id:0 rml:buyer.list:0
+#: wizard_field:auction.pay.buy,init,buyer_id:0
+#: rml:buyer.list:0
#: model:ir.ui.menu,name:auction.auction_report_buyer_menu
-#: rml:report.auction.buyer.result:0 field:report.buyer.auction,buyer:0
+#: rml:report.auction.buyer.result:0
+#: field:report.buyer.auction,buyer:0
#: field:report.buyer.auction2,buyer:0
msgid "Buyer"
msgstr "Покупатель"
#. module: auction
-#: field:report.auction.view,nobjects:0 field:report.buyer.auction,object:0
+#: field:report.auction.view,nobjects:0
+#: field:report.buyer.auction,object:0
msgid "No of objects"
msgstr "Кол-во объектов"
@@ -123,7 +131,8 @@ msgid "Antique/Books, manuscripts, eso."
msgstr "Антиквариат/ книги, манускрипты, и т.д"
#. module: auction
-#: view:auction.deposit:0 model:ir.model,name:auction.model_auction_deposit
+#: view:auction.deposit:0
+#: model:ir.model,name:auction.model_auction_deposit
msgid "Deposit Border"
msgstr "Граница депозита"
@@ -195,7 +204,8 @@ msgid "Objects by Auction"
msgstr ""
#. module: auction
-#: field:auction.lots,lot_num:0 field:report.unclassified.objects,lot_num:0
+#: field:auction.lots,lot_num:0
+#: field:report.unclassified.objects,lot_num:0
msgid "List Number"
msgstr "Номер списка"
@@ -230,7 +240,8 @@ msgid "Contemporary Art"
msgstr "Современное искусство"
#. module: auction
-#: view:auction.lots:0 view:report.unclassified.objects:0
+#: view:auction.lots:0
+#: view:report.unclassified.objects:0
msgid "Ref"
msgstr "Ссылка"
@@ -250,7 +261,8 @@ msgid "Error: Sign in (resp. Sign out) must follow Sign out (resp. Sign in)"
msgstr ""
#. module: auction
-#: view:auction.lots:0 field:report.buyer.auction,total_price:0
+#: view:auction.lots:0
+#: field:report.buyer.auction,total_price:0
msgid "Total Adj."
msgstr "Общий рез-т"
@@ -260,7 +272,8 @@ msgid "Net margin (%)"
msgstr "Чистая маржа (%)"
#. module: auction
-#: selection:auction.lots,state:0 selection:report.object.encoded,state:0
+#: selection:auction.lots,state:0
+#: selection:report.object.encoded,state:0
#: selection:report.seller.auction,state:0
#: selection:report.unclassified.objects,state:0
msgid "Unsold"
@@ -288,7 +301,9 @@ msgid "Seller Costs"
msgstr "Стоимости продавца"
#. module: auction
-#: view:auction.bid:0 view:auction.bid_line:0 view:auction.lots:0
+#: view:auction.bid:0
+#: view:auction.bid_line:0
+#: view:auction.lots:0
#: field:auction.lots,bid_lines:0
#: model:ir.actions.report.xml,name:auction.bid_auction
#: model:ir.ui.menu,name:auction.menu_action_bid_open
@@ -311,7 +326,8 @@ msgid "Contact"
msgstr "Контакт"
#. module: auction
-#: field:report.auction.view,obj_ret:0 field:report.object.encoded,obj_ret:0
+#: field:report.auction.view,obj_ret:0
+#: field:report.object.encoded,obj_ret:0
#: field:report.object.encoded.manager,obj_ret:0
msgid "# obj ret"
msgstr ""
@@ -352,7 +368,8 @@ msgid "Sold Objects"
msgstr "Проданные объекты"
#. module: auction
-#: view:report.buyer.auction2:0 view:report.seller.auction2:0
+#: view:report.buyer.auction2:0
+#: view:report.seller.auction2:0
msgid "Sum net margin"
msgstr "Суммарная чистая маржа"
@@ -362,7 +379,9 @@ msgid "Deposit Border Form"
msgstr "Форма границы депозита"
#. module: auction
-#: field:auction.bid,bid_lines:0 rml:auction.bids:0 rml:bids.lots:0
+#: field:auction.bid,bid_lines:0
+#: rml:auction.bids:0
+#: rml:bids.lots:0
#: model:ir.model,name:auction.model_auction_bid_line
msgid "Bid"
msgstr "Заявка"
@@ -373,8 +392,10 @@ msgid "Langage"
msgstr "Язык"
#. module: auction
-#: field:auction.bid_line,lot_id:0 field:auction.lot.history,lot_id:0
-#: view:auction.lots:0 model:ir.model,name:auction.model_auction_lots
+#: field:auction.bid_line,lot_id:0
+#: field:auction.lot.history,lot_id:0
+#: view:auction.lots:0
+#: model:ir.model,name:auction.model_auction_lots
msgid "Object"
msgstr "Объект"
@@ -407,9 +428,11 @@ msgid "Auction buyer reporting form view"
msgstr "Вид вормы отчета покупателя аукцциона"
#. module: auction
-#: field:auction.dates,state:0 field:auction.lots,state:0
+#: field:auction.dates,state:0
+#: field:auction.lots,state:0
#: field:report.auction.adjudication,state:0
-#: field:report.object.encoded,state:0 field:report.seller.auction,state:0
+#: field:report.object.encoded,state:0
+#: field:report.seller.auction,state:0
#: field:report.unclassified.objects,state:0
msgid "Status"
msgstr "Статус"
@@ -425,7 +448,8 @@ msgid "Antique/Cartoons"
msgstr "Antique/ Эскизы"
#. module: auction
-#: view:auction.lots:0 selection:auction.lots,state:0
+#: view:auction.lots:0
+#: selection:auction.lots,state:0
#: selection:report.seller.auction,state:0
#: selection:report.unclassified.objects,state:0
msgid "Sold"
@@ -510,7 +534,8 @@ msgid "auction.dates"
msgstr ""
#. module: auction
-#: rml:auction.total.rml:0 model:ir.ui.menu,name:auction.auction_buyers_menu
+#: rml:auction.total.rml:0
+#: model:ir.ui.menu,name:auction.auction_buyers_menu
msgid "Buyers"
msgstr "Покупатели"
@@ -732,7 +757,8 @@ msgid "Antique/Toys"
msgstr "Антиквариат/ Игрушки"
#. module: auction
-#: field:auction.deposit,create_uid:0 field:auction.lots,create_uid:0
+#: field:auction.deposit,create_uid:0
+#: field:auction.lots,create_uid:0
msgid "Created by"
msgstr "Создано"
@@ -860,7 +886,8 @@ msgid "Gestion emporte"
msgstr ""
#. module: auction
-#: xsl:report.auction.lots.list.landscape:0 xsl:report.auction.vnd_bordereau:0
+#: xsl:report.auction.lots.list.landscape:0
+#: xsl:report.auction.vnd_bordereau:0
msgid "Cat. N."
msgstr ""
@@ -895,7 +922,8 @@ msgid "API ID"
msgstr "API ID"
#. module: auction
-#: field:auction.bid,name:0 field:auction.bid_line,bid_id:0
+#: field:auction.bid,name:0
+#: field:auction.bid_line,bid_id:0
msgid "Bid ID"
msgstr "ID заявки"
@@ -948,13 +976,16 @@ msgid "Antique/Carpet and textilles"
msgstr "Антиквариат/ ковры и текстиль"
#. module: auction
-#: xsl:report.auction.seller.list:0 field:report.object.encoded.manager,adj:0
+#: xsl:report.auction.seller.list:0
+#: field:report.object.encoded.manager,adj:0
msgid "Adj."
msgstr "Рез-т"
#. module: auction
-#: field:auction.lot.history,name:0 field:report.attendance,name:0
-#: field:report.auction.adjudication,date:0 xsl:report.auction.deposit:0
+#: field:auction.lot.history,name:0
+#: field:report.attendance,name:0
+#: field:report.auction.adjudication,date:0
+#: xsl:report.auction.deposit:0
#: field:report.auction.estimation.adj.category,date:0
msgid "Date"
msgstr "Дата"
@@ -995,12 +1026,14 @@ msgid "Specific Costs"
msgstr ""
#. module: auction
-#: view:report.buyer.auction2:0 view:report.seller.auction2:0
+#: view:report.buyer.auction2:0
+#: view:report.seller.auction2:0
msgid "Sum adj"
msgstr ""
#. module: auction
-#: view:auction.dates:0 view:report.auction.view2:0
+#: view:auction.dates:0
+#: view:report.auction.view2:0
msgid "Auctions"
msgstr "Аукционы"
@@ -1035,7 +1068,8 @@ msgid "Aie Category"
msgstr ""
#. module: auction
-#: xsl:flagey.huissier:0 rml:report.auction.buyer.result:0
+#: xsl:flagey.huissier:0
+#: rml:report.auction.buyer.result:0
#: xsl:report.auction.deposit:0
msgid "Num"
msgstr ""
@@ -1083,7 +1117,8 @@ msgid "Detailed lots"
msgstr "Подробные лоты"
#. module: auction
-#: view:report.object.encoded:0 view:report.object.encoded.manager:0
+#: view:report.object.encoded:0
+#: view:report.object.encoded.manager:0
msgid "Objects statistics"
msgstr "Статистика объектов"
@@ -1098,7 +1133,8 @@ msgid "Send results to Auction-in-europe.com"
msgstr "Отправить результаты на Auction-in-europe.com"
#. module: auction
-#: rml:bids.lots:0 rml:bids.phones.details:0
+#: rml:bids.lots:0
+#: rml:bids.phones.details:0
msgid "Cat.N"
msgstr "№ по кат."
@@ -1142,7 +1178,8 @@ msgid "-"
msgstr "-"
#. module: auction
-#: xsl:report.auction.ach_bordereau:0 xsl:report.auction.vnd_bordereau:0
+#: xsl:report.auction.ach_bordereau:0
+#: xsl:report.auction.vnd_bordereau:0
msgid "Subtotal:"
msgstr "Подитог"
@@ -1158,7 +1195,8 @@ msgid "Invoice Number"
msgstr "Номер счета"
#. module: auction
-#: field:report.buyer.auction,date:0 field:report.buyer.auction2,date:0
+#: field:report.buyer.auction,date:0
+#: field:report.buyer.auction2,date:0
#: field:report.object.encoded,date:0
#: field:report.object.encoded.manager,date:0
#: field:report.seller.auction,date:0
@@ -1181,7 +1219,8 @@ msgid "Name"
msgstr "Название"
#. module: auction
-#: field:auction.deposit,name:0 field:auction.lots,bord_vnd_id:0
+#: field:auction.deposit,name:0
+#: field:auction.lots,bord_vnd_id:0
#: wizard_field:auction.lots.numerotate,init,bord_vnd_id:0
#: field:report.deposit.border,bord:0
#: field:report.unclassified.objects,bord_vnd_id:0
@@ -1209,7 +1248,8 @@ msgid "Login"
msgstr "Учетная запись"
#. module: auction
-#: rml:buyer.list:0 xsl:report.auction.seller.list:0
+#: rml:buyer.list:0
+#: xsl:report.auction.seller.list:0
msgid "To pay"
msgstr "К оплате"
@@ -1229,7 +1269,8 @@ msgid "Seller Form"
msgstr "Форма продавца"
#. module: auction
-#: field:auction.lots,lot_type:0 field:report.unclassified.objects,lot_type:0
+#: field:auction.lots,lot_type:0
+#: field:report.unclassified.objects,lot_type:0
msgid "Object category"
msgstr "Категория объекта"
@@ -1298,7 +1339,8 @@ msgid "Payment's history"
msgstr "Журнал платежей"
#. module: auction
-#: xsl:report.auction.ach_bordereau:0 xsl:report.auction.vnd_bordereau:0
+#: xsl:report.auction.ach_bordereau:0
+#: xsl:report.auction.vnd_bordereau:0
msgid "Document"
msgstr "Документ"
@@ -1370,7 +1412,8 @@ msgid "Cont. Art/Curiosa"
msgstr "Совр. искусство/ Редкости"
#. module: auction
-#: field:auction.bid,auction_id:0 field:auction.lots,auction_id:0
+#: field:auction.bid,auction_id:0
+#: field:auction.lots,auction_id:0
#: wizard_field:auction.lots.auction_move,init,auction_id:0
#: wizard_field:auction.lots.send.aie,date_ask,dates:0
#: wizard_field:auction.lots.send.aie,init,dates:0
@@ -1418,7 +1461,8 @@ msgid "Cont. Art/Jewelry"
msgstr "Совр. искусство/ Ювелирные изделия"
#. module: auction
-#: xsl:report.auction.deposit:0 xsl:report.auction.vnd_bordereau:0
+#: xsl:report.auction.deposit:0
+#: xsl:report.auction.vnd_bordereau:0
msgid "Inventory"
msgstr ""
@@ -1428,7 +1472,8 @@ msgid "Next Auctions"
msgstr "След. аукционы"
#. module: auction
-#: rml:buyer.list:0 xsl:report.auction.seller.list:0
+#: rml:buyer.list:0
+#: xsl:report.auction.seller.list:0
msgid "#"
msgstr "№"
@@ -1558,14 +1603,16 @@ msgid "Buyer Journal"
msgstr "Книга покупателя"
#. module: auction
-#: selection:auction.lots,state:0 xsl:report.auction.ach_bordereau:0
+#: selection:auction.lots,state:0
+#: xsl:report.auction.ach_bordereau:0
#: selection:report.object.encoded,state:0
#: selection:report.unclassified.objects,state:0
msgid "Paid"
msgstr "Оплачено"
#. module: auction
-#: rml:bids.lots:0 rml:bids.phones.details:0
+#: rml:bids.lots:0
+#: rml:bids.phones.details:0
msgid "Phone"
msgstr "Телефон"
@@ -1596,8 +1643,10 @@ msgid "Antique/Sculpture, bronze, eso."
msgstr "Антиквариат/ Скульптура, бронза и т.п."
#. module: auction
-#: rml:buyer.list:0 xsl:report.auction.ach_bordereau:0
-#: xsl:report.auction.seller.list:0 xsl:report.auction.vnd_bordereau:0
+#: rml:buyer.list:0
+#: xsl:report.auction.ach_bordereau:0
+#: xsl:report.auction.seller.list:0
+#: xsl:report.auction.vnd_bordereau:0
msgid "Total:"
msgstr "Итого:"
@@ -1743,7 +1792,8 @@ msgid "Plate Number:"
msgstr ""
#. module: auction
-#: view:auction.deposit:0 field:auction.deposit,lot_id:0
+#: view:auction.deposit:0
+#: field:auction.deposit,lot_id:0
#: model:ir.ui.menu,name:auction.auction_objects_menu
msgid "Objects"
msgstr "Объекты"
@@ -1765,9 +1815,12 @@ msgid "Allow Negative Amount"
msgstr "Разрешить отрицательные суммы"
#. module: auction
-#: rml:auction.bids:0 view:auction.lots:0 rml:auction.total.rml:0
+#: rml:auction.bids:0
+#: view:auction.lots:0
+#: rml:auction.total.rml:0
#: model:ir.ui.menu,name:auction.auction_report_auction_menu
-#: xsl:report.auction.ach_bordereau:0 xsl:report.auction.deposit:0
+#: xsl:report.auction.ach_bordereau:0
+#: xsl:report.auction.deposit:0
msgid "Auction"
msgstr "Аукцион"
@@ -1777,12 +1830,17 @@ msgid "Cont. Art/Shows"
msgstr "Совр. искусство/ Выставки"
#. module: auction
-#: field:auction.dates,name:0 field:auction.lot.history,auction_id:0
+#: field:auction.dates,name:0
+#: field:auction.lot.history,auction_id:0
#: field:report.auction.adjudication,name:0
-#: field:report.auction.view,auction_id:0 field:report.auction.view2,auction:0
-#: field:report.auction.view2,date:0 field:report.buyer.auction,auction:0
-#: field:report.buyer.auction2,auction:0 field:report.seller.auction,auction:0
-#: field:report.seller.auction2,auction:0 field:report.seller.auction2,date:0
+#: field:report.auction.view,auction_id:0
+#: field:report.auction.view2,auction:0
+#: field:report.auction.view2,date:0
+#: field:report.buyer.auction,auction:0
+#: field:report.buyer.auction2,auction:0
+#: field:report.seller.auction,auction:0
+#: field:report.seller.auction2,auction:0
+#: field:report.seller.auction2,date:0
#: field:report.unclassified.objects,auction:0
msgid "Auction date"
msgstr "Дата аукциона"
@@ -1934,7 +1992,8 @@ msgstr "Первый день экпозиции"
#. module: auction
#: wizard_view:auction.lots.auction_move,init:0
-msgid "Warning, this will erase the object adjudication price and its buyer !"
+msgid ""
+"Warning, this will erase the object adjudication price and its buyer !"
msgstr "Внимание, это удалит результат цены объекта и покупателя!"
#. module: auction
@@ -1958,14 +2017,16 @@ msgid "Income Account"
msgstr ""
#. module: auction
-#: field:auction.lots,net_revenue:0 field:report.auction.view2,net_revenue:0
+#: field:auction.lots,net_revenue:0
+#: field:report.auction.view2,net_revenue:0
#: field:report.object.encoded.manager,net_revenue:0
#: field:report.seller.auction2,net_revenue:0
msgid "Net revenue"
msgstr "Чистая выручка"
#. module: auction
-#: xsl:report.auction.deposit:0 xsl:report.auction.lots.list.landscape:0
+#: xsl:report.auction.deposit:0
+#: xsl:report.auction.lots.list.landscape:0
msgid "Limit"
msgstr "Лимит"
@@ -2037,7 +2098,8 @@ msgid "Closed"
msgstr "Закрыто"
#. module: auction
-#: field:auction.lots,obj_comm:0 field:report.unclassified.objects,obj_comm:0
+#: field:auction.lots,obj_comm:0
+#: field:report.unclassified.objects,obj_comm:0
msgid "Commission"
msgstr "Комиссия"
@@ -2057,7 +2119,8 @@ msgid "Employee"
msgstr "Сотрудник"
#. module: auction
-#: xsl:report.auction.ach_bordereau:0 xsl:report.auction.vnd_bordereau:0
+#: xsl:report.auction.ach_bordereau:0
+#: xsl:report.auction.vnd_bordereau:0
msgid "Adj.(EUR)"
msgstr "Рез-т(EUR)"
@@ -2134,7 +2197,8 @@ msgid "Invoiced"
msgstr "Выставлен счет"
#. module: auction
-#: view:auction.lots:0 selection:auction.lots,state:0
+#: view:auction.lots:0
+#: selection:auction.lots,state:0
msgid "Taken away"
msgstr "Забрано"
@@ -2171,7 +2235,8 @@ msgid "Error ! You can not create recursive associated members."
msgstr ""
#. module: auction
-#: selection:auction.dates,state:0 selection:auction.lots,state:0
+#: selection:auction.dates,state:0
+#: selection:auction.lots,state:0
#: selection:report.auction.adjudication,state:0
#: selection:report.object.encoded,state:0
#: selection:report.seller.auction,state:0
@@ -2200,7 +2265,8 @@ msgid "Adj"
msgstr "Рез-т"
#. module: auction
-#: view:auction.dates:0 model:ir.ui.menu,name:auction.auction_date_menu
+#: view:auction.dates:0
+#: model:ir.ui.menu,name:auction.auction_date_menu
msgid "Auction Dates"
msgstr "Даты аукциона"
@@ -2346,11 +2412,16 @@ msgid "Report Sign In/Out"
msgstr ""
#. module: auction
-#: view:auction.deposit:0 field:auction.deposit,info:0 view:auction.lots:0
+#: view:auction.deposit:0
+#: field:auction.deposit,info:0
+#: view:auction.lots:0
#: wizard_field:auction.lots.numerotate,search,obj_desc:0
-#: rml:bids.phones.details:0 xsl:flagey.huissier:0
-#: xsl:report.auction.ach_bordereau:0 xsl:report.auction.deposit:0
-#: xsl:report.auction.lots.list.landscape:0 xsl:report.auction.vnd_bordereau:0
+#: rml:bids.phones.details:0
+#: xsl:flagey.huissier:0
+#: xsl:report.auction.ach_bordereau:0
+#: xsl:report.auction.deposit:0
+#: xsl:report.auction.lots.list.landscape:0
+#: xsl:report.auction.vnd_bordereau:0
msgid "Description"
msgstr "Описание"
@@ -2360,7 +2431,8 @@ msgid "Cont. Art/Arts"
msgstr "Совр. искусство/ Ремесла"
#. module: auction
-#: field:auction.lots,obj_price:0 field:report.auction.view,adj_price:0
+#: field:auction.lots,obj_price:0
+#: field:report.auction.view,adj_price:0
#: field:report.unclassified.objects,obj_price:0
msgid "Adjudication price"
msgstr "Цена результата"
@@ -2422,7 +2494,8 @@ msgid "Pay objects"
msgstr ""
#. module: auction
-#: view:report.object.encoded:0 view:report.object.encoded.manager:0
+#: view:report.object.encoded:0
+#: view:report.object.encoded.manager:0
msgid "# objects"
msgstr "Кол-во объектов"
@@ -2490,12 +2563,12 @@ msgstr "Заказы"
#. module: auction
#: view:board.board:0
msgid "Objects by day"
-msgstr "Объекты по дням"
+msgstr ""
#. module: auction
#: model:ir.ui.menu,name:auction.menu_board_auction_manager
msgid "Auction Manager"
-msgstr "Менеджер аукциона"
+msgstr ""
#. module: auction
#: view:board.board:0
@@ -2505,7 +2578,7 @@ msgstr ""
#. module: auction
#: model:ir.ui.menu,name:auction.menu_board_auction
msgid "Auction Member"
-msgstr "Участник аукциона"
+msgstr ""
#. module: auction
#: model:ir.actions.act_window,name:auction.open_board_auction
@@ -2515,7 +2588,7 @@ msgstr ""
#. module: auction
#: view:board.board:0
msgid "Auction manager "
-msgstr "Менелжер аукциона "
+msgstr ""
#. module: auction
#: model:ir.module.module,shortdesc:auction.module_meta_information
@@ -2525,49 +2598,49 @@ msgstr ""
#. module: auction
#: view:board.board:0
msgid "Estimations/Adjudication"
-msgstr "Оценка / Результат"
+msgstr ""
#. module: auction
#: view:board.board:0
msgid "Total Adjudications"
-msgstr "Итоговые результаты"
+msgstr ""
#. module: auction
#: view:board.board:0
msgid "Latest objects"
-msgstr "Новейшие объекты"
+msgstr ""
#. module: auction
#: view:board.board:0
msgid "Latest deposits"
-msgstr "Новейшие депозиты"
+msgstr ""
#. module: auction
#: view:board.board:0
msgid "Menu"
-msgstr "Меню"
+msgstr ""
#. module: auction
#: view:board.board:0
msgid "My objects By Day"
-msgstr "Мои объекты по дням"
+msgstr ""
#. module: auction
#: view:board.board:0
msgid "My board"
-msgstr "Моя панель"
+msgstr ""
#. module: auction
#: model:ir.actions.act_window,name:auction.open_board_auction_manager
msgid "Auction manager board"
-msgstr "Панель менеджера аукциона"
+msgstr ""
#. module: auction
#: view:board.board:0
msgid "Min/Adj/Max"
-msgstr "Ми/Рез-т/Макс"
+msgstr ""
#. module: auction
#: view:board.board:0
msgid "My Latest Objects"
-msgstr "Мои новейшие объекты"
+msgstr ""
diff --git a/addons/base_action_rule/base_action_rule.py b/addons/base_action_rule/base_action_rule.py
index be1a53046a7..79b883c0236 100644
--- a/addons/base_action_rule/base_action_rule.py
+++ b/addons/base_action_rule/base_action_rule.py
@@ -22,7 +22,8 @@
from datetime import datetime
from osv import fields, osv, orm
from tools.translate import _
-import mx.DateTime
+from datetime import datetime
+from datetime import timedelta
import pooler
import re
import time
@@ -105,7 +106,9 @@ the rule to mark CC(mail to any other person defined in actions)."),
'act_mail_to_email': fields.char('Mail to these Emails', size=128, \
help="Email-id of the persons whom mail is to be sent"),
'act_mail_body': fields.text('Mail body', help="Content of mail"),
- 'regex_name': fields.char('Regular Expression on Model Name', size=128),
+ 'regex_name': fields.char('Regex on Resource Name', size=128, help="Regular expression for mathching name of the resource\
+\ne.g.: urgent.* will search for records having name starting with urgent\
+\nNote: This is case sensitive search."),
'server_action_id': fields.many2one('ir.actions.server', 'Server Action', help="Describes the action name.\neg:on which object which action to be taken on basis of which condition"),
'filter_id':fields.many2one('ir.filters', 'Filter', required=False),
'domain':fields.char('Domain', size=124, required=False, readonly=False),
@@ -352,23 +355,23 @@ the rule to mark CC(mail to any other person defined in actions)."),
base = False
if hasattr(obj, 'create_date') and action.trg_date_type=='create':
- base = mx.DateTime.strptime(obj.create_date[:19], '%Y-%m-%d %H:%M:%S')
+ base = datetime.strptime(obj.create_date[:19], '%Y-%m-%d %H:%M:%S')
elif hasattr(obj, 'create_date') and action.trg_date_type=='action_last':
if hasattr(obj, 'date_action_last') and obj.date_action_last:
- base = mx.DateTime.strptime(obj.date_action_last, '%Y-%m-%d %H:%M:%S')
+ base = datetime.strptime(obj.date_action_last, '%Y-%m-%d %H:%M:%S')
else:
- base = mx.DateTime.strptime(obj.create_date[:19], '%Y-%m-%d %H:%M:%S')
+ base = datetime.strptime(obj.create_date[:19], '%Y-%m-%d %H:%M:%S')
elif hasattr(obj, 'date_deadline') and action.trg_date_type=='deadline' \
and obj.date_deadline:
- base = mx.DateTime.strptime(obj.date_deadline, '%Y-%m-%d %H:%M:%S')
+ base = datetime.strptime(obj.date_deadline, '%Y-%m-%d %H:%M:%S')
elif hasattr(obj, 'date') and action.trg_date_type=='date' and obj.date:
- base = mx.DateTime.strptime(obj.date, '%Y-%m-%d %H:%M:%S')
+ base = datetime.strptime(obj.date, '%Y-%m-%d %H:%M:%S')
if base:
fnct = {
- 'minutes': lambda interval: mx.DateTime.RelativeDateTime(minutes=interval),
- 'day': lambda interval: mx.DateTime.RelativeDateTime(days=interval),
- 'hour': lambda interval: mx.DateTime.RelativeDateTime(hours=interval),
- 'month': lambda interval: mx.DateTime.RelativeDateTime(months=interval),
+ 'minutes': lambda interval: timedelta(minutes=interval),
+ 'day': lambda interval: timedelta(days=interval),
+ 'hour': lambda interval: timedelta(hours=interval),
+ 'month': lambda interval: timedelta(months=interval),
}
d = base + fnct[action.trg_date_range_type](action.trg_date_range)
dt = d.strftime('%Y-%m-%d %H:%M:%S')
diff --git a/addons/base_action_rule/base_action_rule_view.xml b/addons/base_action_rule/base_action_rule_view.xml
index c9164962439..36140e62649 100644
--- a/addons/base_action_rule/base_action_rule_view.xml
+++ b/addons/base_action_rule/base_action_rule_view.xml
@@ -24,7 +24,7 @@
<page string="Conditions">
<group col="2" colspan="2" name="model">
<separator colspan="4" string="Conditions on Model Fields"/>
- <field name="regex_name" string="Regex on Model Name" colspan="2"/>
+ <field name="regex_name" colspan="2"/>
<field name="trg_user_id"/>
</group>
<group col="2" colspan="2" name="partner">
diff --git a/addons/base_calendar/base_calendar.py b/addons/base_calendar/base_calendar.py
index f9f6567747f..85ec16bda8d 100644
--- a/addons/base_calendar/base_calendar.py
+++ b/addons/base_calendar/base_calendar.py
@@ -317,7 +317,7 @@ class calendar_attendee(osv.osv):
obj = self.pool.get('res.lang')
ids = obj.search(cr, uid, [])
res = obj.read(cr, uid, ids, ['code', 'name'], context=context)
- res = [((r['code']).replace('_', '-'), r['name']) for r in res]
+ res = [((r['code']).replace('_', '-').lower(), r['name']) for r in res]
return res
_columns = {
@@ -378,6 +378,10 @@ property or property parameter."),
}
_defaults = {
'state': 'needs-action',
+ 'user_id': lambda self, cr, uid, ctx: uid,
+ 'role': 'req-participant',
+ 'rsvp': True,
+ 'cutype': 'individual',
}
def copy(self, cr, uid, id, default=None, context=None):
@@ -542,13 +546,13 @@ property or property parameter."),
context = {}
for vals in self.browse(cr, uid, ids, context=context):
- user = vals.user_id
- if user:
- mod_obj = self.pool.get(vals.ref._name)
- if vals.ref:
- if vals.ref.user_id.id != user.id:
- defaults = {'user_id': user.id}
- new_event = mod_obj.copy(cr, uid, vals.ref.id, default=defaults, context=context)
+ #user = vals.user_id
+ #if user:
+ # mod_obj = self.pool.get(vals.ref._name)
+ # if vals.ref:
+ # if vals.ref.user_id.id != user.id:
+ # defaults = {'user_id': user.id}
+ # new_event = mod_obj.copy(cr, uid, vals.ref.id, default=defaults, context=context)
self.write(cr, uid, vals.id, {'state': 'accepted'}, context)
return True
@@ -793,6 +797,7 @@ class calendar_alarm(osv.osv):
@param use_new_cursor: False or the dbname
@param context: A standard dictionary for contextual values
"""
+ return True # XXX FIXME REMOVE THIS AFTER FIXING get_recurrent_dates!!
if not context:
context = {}
current_datetime = datetime.now()
@@ -1415,6 +1420,8 @@ true, it will allow you to hide the event alarm information without removing it.
until_date = arg[2]
res = super(calendar_event, self).search(cr, uid, args_without_date, \
offset, limit, order, context, count)
+ #Search Event ID which are invitted
+
return self.get_recurrent_ids(cr, uid, res, start_date, until_date, limit)
diff --git a/addons/base_calendar/base_calendar_view.xml b/addons/base_calendar/base_calendar_view.xml
index 7e2368658df..cb2ca806afa 100644
--- a/addons/base_calendar/base_calendar_view.xml
+++ b/addons/base_calendar/base_calendar_view.xml
@@ -76,13 +76,26 @@
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Invitation details">
- <field name="email" string="Invitation To"/>
- <field name="user_id" string="Internal User" />
- <field name="partner_address_id" string="Contact" />
- <field name="role" />
+ <field name="sent_by_uid" string="Invitation From" />
+ <field name="role" string="My Role"/>
+ <field name="cutype" string="Invitation type"/>
<field name="state" />
- <field name="cutype" invisible="1"/>
- <field name="rsvp" invisible="1"/>
+ <field name="rsvp" string="Required to Join"/>
+ <button name="do_tentative" states="needs-action,declined,accepted"
+ string="Uncertain" type="object"
+ icon="terp-crm" />
+ <button name="do_accept" string="Accept"
+ states="needs-action,tentative,declined"
+ type="object" icon="gtk-apply" />
+ <button name="do_decline" string="Decline"
+ states="needs-action,tentative,accepted"
+ type="object" icon="gtk-cancel" />
+ <button
+ name="%(base_calendar.action_view_calendar_invite_attendee_wizard)d"
+ string="Delegate" type="action"
+ icon="gtk-sort-descending"
+ states="needs-action,tentative,declined,accepted"
+ context="{'model' : 'calendar.attendee', 'attendee_field' : 'child_ids'}" />
</tree>
</field>
</record>
@@ -103,7 +116,7 @@
separator="1" help="Declined Invitations" />
<separator orientation="vertical"/>
<field name="email" select='1'/>
- <field name="sent_by_uid" select="1"/>
+ <field name="user_id" select="1"/>
<separator orientation="vertical"/>
<field name="cutype" string="Invitation type" select="1"/>
<field name="event_date" select="1"/>
diff --git a/addons/base_calendar/wizard/base_calendar_invite_attendee.py b/addons/base_calendar/wizard/base_calendar_invite_attendee.py
index ebbfe6c48d2..15763da202d 100644
--- a/addons/base_calendar/wizard/base_calendar_invite_attendee.py
+++ b/addons/base_calendar/wizard/base_calendar_invite_attendee.py
@@ -75,7 +75,8 @@ send an Email to Invited Person')
obj = self.pool.get(model)
res_obj = obj.browse(cr, uid, context_id)
att_obj = self.pool.get('calendar.attendee')
-
+ user_obj = self.pool.get('res.users')
+ current_user = user_obj.browse(cr, uid, uid, context=context)
for datas in self.read(cr, uid, ids, context=context):
type = datas.get('type')
vals = []
@@ -89,7 +90,7 @@ send an Email to Invited Person')
else:
return {}
if type == 'internal':
- user_obj = self.pool.get('res.users')
+
if not datas.get('user_ids'):
raise osv.except_osv(_('Error!'), ("Please select any User"))
for user_id in datas.get('user_ids'):
@@ -139,7 +140,7 @@ send an Email to Invited Person')
self._columns['type'].selection))
raise osv.except_osv(_('Error!'), ("%s must have an email Address to send mail") %(name[0]))
att_obj._send_mail(cr, uid, attendees, mail_to, \
- email_from= tools.config.get('email_from', False))
+ email_from = current_user.user_email or tools.config.get('email_from', False))
return {}
diff --git a/addons/base_contact/i18n/ru.po b/addons/base_contact/i18n/ru.po
index f63312c6cb9..426fb570629 100644
--- a/addons/base_contact/i18n/ru.po
+++ b/addons/base_contact/i18n/ru.po
@@ -7,24 +7,24 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2010-04-13 07:22+0000\n"
-"Last-Translator: grisha <Unknown>\n"
+"PO-Revision-Date: 2010-07-08 15:37+0000\n"
+"Last-Translator: Pomazan Bogdan <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-06-22 04:01+0000\n"
+"X-Launchpad-Export-Date: 2010-07-09 03:56+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base_contact
#: field:res.partner.job,sequence_contact:0
msgid "Contact Seq."
-msgstr ""
+msgstr "Последовательность контакта"
#. module: base_contact
#: model:ir.model,name:base_contact.model_res_partner_contact
msgid "res.partner.contact"
-msgstr ""
+msgstr "Контакт партнера"
#. module: base_contact
#: constraint:ir.model:0
@@ -37,7 +37,7 @@ msgstr ""
#. module: base_contact
#: field:res.partner.job,function_id:0
msgid "Partner Function"
-msgstr ""
+msgstr "Функции партнера"
#. module: base_contact
#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form
@@ -52,12 +52,12 @@ msgstr "Контакты"
#. module: base_contact
#: field:res.partner.job,sequence_partner:0
msgid "Partner Seq."
-msgstr ""
+msgstr "Последовательность партнеров"
#. module: base_contact
#: selection:res.partner.job,state:0
msgid "Current"
-msgstr ""
+msgstr "Текущий"
#. module: base_contact
#: field:res.partner.contact,first_name:0
@@ -72,32 +72,32 @@ msgstr ""
#. module: base_contact
#: field:res.partner.job,other:0
msgid "Other"
-msgstr ""
+msgstr "Другое"
#. module: base_contact
#: model:process.transition,name:base_contact.process_transition_contacttofunction0
msgid "Contact to function"
-msgstr ""
+msgstr "Функции контакта"
#. module: base_contact
#: constraint:ir.actions.act_window:0
msgid "Invalid model name in the action definition."
-msgstr ""
+msgstr "Недопустимое имя модели в определении действия."
#. module: base_contact
#: model:process.transition,name:base_contact.process_transition_partnertoaddress0
msgid "Partner to address"
-msgstr ""
+msgstr "Адрес партнера"
#. module: base_contact
#: view:res.partner.address:0
msgid "# of Contacts"
-msgstr ""
+msgstr "Кол-во контактных лиц"
#. module: base_contact
#: help:res.partner.job,other:0
msgid "Additional phone field"
-msgstr ""
+msgstr "Дополнительное поле телефона"
#. module: base_contact
#: model:process.node,name:base_contact.process_node_function0
@@ -107,7 +107,7 @@ msgstr "Функция"
#. module: base_contact
#: field:res.partner.job,fax:0
msgid "Fax"
-msgstr ""
+msgstr "Факс"
#. module: base_contact
#: field:res.partner.contact,lang_id:0
@@ -137,7 +137,7 @@ msgstr "Функции контакта"
#. module: base_contact
#: model:ir.module.module,shortdesc:base_contact.module_meta_information
msgid "Base Contact"
-msgstr ""
+msgstr "Основной контакт"
#. module: base_contact
#: help:res.partner.job,sequence_partner:0
@@ -145,6 +145,7 @@ msgid ""
"Order of importance of this job title in the list of job title of the linked "
"partner"
msgstr ""
+"С учетом важности этой работы названия в списке Должность связанного партнера"
#. module: base_contact
#: field:res.partner.contact,email:0
@@ -155,7 +156,7 @@ msgstr "Эл. почта"
#. module: base_contact
#: field:res.partner.job,date_stop:0
msgid "Date Stop"
-msgstr ""
+msgstr "Дата Остановки"
#. module: base_contact
#: view:res.partner:0
@@ -167,7 +168,7 @@ msgstr "Адрес"
#: model:ir.actions.act_window,name:base_contact.action_res_partner_job
#: model:ir.ui.menu,name:base_contact.menu_action_res_partner_job
msgid "Contact's Jobs"
-msgstr ""
+msgstr "Должность контакта"
#. module: base_contact
#: field:res.partner.contact,country_id:0
@@ -185,7 +186,7 @@ msgstr ""
#: field:res.partner.address,job_id:0
#: field:res.partner.contact,job_id:0
msgid "Main Job"
-msgstr ""
+msgstr "Основная должность"
#. module: base_contact
#: view:res.partner:0
@@ -200,7 +201,7 @@ msgstr ""
#. module: base_contact
#: model:process.transition,note:base_contact.process_transition_partnertoaddress0
msgid "Define partners and their addresses."
-msgstr ""
+msgstr "Определить партнеров и их адреса."
#. module: base_contact
#: constraint:ir.ui.view:0
@@ -220,7 +221,7 @@ msgstr ""
#. module: base_contact
#: field:res.partner.job,extension:0
msgid "Extension"
-msgstr ""
+msgstr "Расширение"
#. module: base_contact
#: field:res.partner.contact,mobile:0
@@ -230,12 +231,12 @@ msgstr "Моб. тел."
#. module: base_contact
#: help:res.partner.job,extension:0
msgid "Internal/External extension phone number"
-msgstr ""
+msgstr "Внутренний / внешний расширение телефонного номера"
#. module: base_contact
#: model:process.node,note:base_contact.process_node_contacts0
msgid "People you work with."
-msgstr ""
+msgstr "Люди с которыми вы работает"
#. module: base_contact
#: view:res.partner.contact:0
@@ -246,7 +247,7 @@ msgstr "Доп. информация"
#: view:res.partner.contact:0
#: field:res.partner.contact,job_ids:0
msgid "Functions and Addresses"
-msgstr ""
+msgstr "Функции и Адреса"
#. module: base_contact
#: field:res.partner.contact,active:0
@@ -261,7 +262,7 @@ msgstr "Контакт"
#. module: base_contact
#: model:process.node,note:base_contact.process_node_partners0
msgid "Companies you work with."
-msgstr ""
+msgstr "Организации с которыми вы работаете"
#. module: base_contact
#: field:res.partner.contact,partner_id:0
@@ -276,7 +277,7 @@ msgstr ""
#. module: base_contact
#: model:ir.actions.act_window,name:base_contact.act_res_partner_jobs
msgid "Partner Contacts"
-msgstr ""
+msgstr "Контакты партнера"
#. module: base_contact
#: view:res.partner.contact:0
@@ -297,7 +298,7 @@ msgstr "Адреса"
#. module: base_contact
#: model:process.node,note:base_contact.process_node_addresses0
msgid "Working and private addresses."
-msgstr ""
+msgstr "Рабочие и дополнительные адреса."
#. module: base_contact
#: field:res.partner.contact,name:0
@@ -307,18 +308,18 @@ msgstr "Фамилия"
#. module: base_contact
#: field:res.partner.job,state:0
msgid "State"
-msgstr ""
+msgstr "Состояние"
#. module: base_contact
#: view:res.partner.contact:0
#: view:res.partner.job:0
msgid "General"
-msgstr ""
+msgstr "Основной"
#. module: base_contact
#: selection:res.partner.job,state:0
msgid "Past"
-msgstr ""
+msgstr "Прошлые"
#. module: base_contact
#: view:res.partner.contact:0
@@ -338,12 +339,12 @@ msgstr "Партнер"
#. module: base_contact
#: field:res.partner.job,date_start:0
msgid "Date Start"
-msgstr ""
+msgstr "Дата начала"
#. module: base_contact
#: model:process.transition,note:base_contact.process_transition_functiontoaddress0
msgid "Define functions and address."
-msgstr ""
+msgstr "Определить функции и адреса"
#. module: base_contact
#: field:res.partner.contact,website:0
diff --git a/addons/base_iban/i18n/ru.po b/addons/base_iban/i18n/ru.po
index 7b75130d154..fa5a414fe57 100644
--- a/addons/base_iban/i18n/ru.po
+++ b/addons/base_iban/i18n/ru.po
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-07-08 03:49+0000\n"
+"X-Launchpad-Export-Date: 2010-07-09 03:55+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base_iban
diff --git a/addons/base_setup/base_setup_installer.xml b/addons/base_setup/base_setup_installer.xml
index bb9f8d23bf7..009af3ffd55 100644
--- a/addons/base_setup/base_setup_installer.xml
+++ b/addons/base_setup/base_setup_installer.xml
@@ -28,7 +28,7 @@
<field name="stock" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)"/> <field name="mrp" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)"/>
<field name="account" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)"/> <field name="purchase" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)"/>
<field name="hr" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)"/> <field name="point_of_sale" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)"/>
- <field name="marketing" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)" groups="base.group_extended"/> <field name="misc_tools" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)"/>
+ <field name="marketing" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)"/> <field name="misc_tools" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)"/>
<field name="report_designer" groups="base.group_extended" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)"/>
<separator string="Install Specific Business Modules" colspan="4"/>
<field name="association" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)"/>
diff --git a/addons/caldav/calendar.py b/addons/caldav/calendar.py
index c9f40e418a1..6dc1e23ea66 100644
--- a/addons/caldav/calendar.py
+++ b/addons/caldav/calendar.py
@@ -528,6 +528,7 @@ class Calendar(CalDAV, osv.osv):
})
self.__attribute__ = get_attribute_mapping(cr, uid, child.name.lower(), context=context)
val = self.parse_ics(cr, uid, child, cal_children=cal_children, context=context)
+ val.update({'user_id': uid})
vals.append(val)
obj = self.pool.get(cal_children[child.name.lower()])
if hasattr(obj, 'check_import'):
@@ -1052,7 +1053,8 @@ class Attendee(CalDAV, osv.osv_memory):
if cn_val:
attendee_add.params['CN'] = cn_val
if not attendee['email']:
- raise osv.except_osv(_('Error !'), _('Attendee must have an Email Id'))
+ attendee_add.value = 'MAILTO:'
+ #raise osv.except_osv(_('Error !'), _('Attendee must have an Email Id'))
elif attendee['email']:
attendee_add.value = 'MAILTO:' + attendee['email']
return vevent
diff --git a/addons/crm/__openerp__.py b/addons/crm/__openerp__.py
index 973bb12dc5c..a490a800beb 100644
--- a/addons/crm/__openerp__.py
+++ b/addons/crm/__openerp__.py
@@ -121,7 +121,7 @@ Create dashboard for CRM that includes:
],
'test': [
'test/test_crm_lead.yml',
- 'test/test_crm_meeting.yml',
+ #'test/test_crm_meeting.yml',
'test/test_crm_opportunity.yml',
'test/test_crm_phonecall.yml',
],
diff --git a/addons/crm/board_crm_statistical_view.xml b/addons/crm/board_crm_statistical_view.xml
index 1baf673990d..b23fdeac1cd 100644
--- a/addons/crm/board_crm_statistical_view.xml
+++ b/addons/crm/board_crm_statistical_view.xml
@@ -4,53 +4,69 @@
<!--
Board for statistical view of the sections
-->
- <record model="ir.ui.view" id="view_crm_lead_stage_graph1">
- <field name="name">Leads By Stage - Graph</field>
+
+ <record model="ir.ui.view" id="view_crm_opportunity_categ_graph">
+ <field name="name">Opportunities By Categories - Graph</field>
<field name="model">crm.lead.report</field>
<field name="type">graph</field>
<field name="arch" type="xml">
- <graph string="Leads By Stage" type="pie">
- <field name="stage_id"/>
+ <graph string="Opportunity by Categories" type="bar" orientation="horizontal">
+ <field name="categ_id"/>
<field name="nbr" operator="+"/>
</graph>
</field>
</record>
- <record model="ir.ui.view" id="view_crm_opportunity_categ_graph">
- <field name="name">report.crm.opportunity.categ.graph</field>
+ <record model="ir.ui.view" id="view_crm_opportunity_stage_graph">
+ <field name="name">Opportunities By Stage - Graph</field>
<field name="model">crm.lead.report</field>
<field name="type">graph</field>
<field name="arch" type="xml">
- <graph string="Opportunity by Sales Team and Categories" type="bar" orientation="horizontal">
- <field name="categ_id"/>
+ <graph string="Opportunities By Stage" type="pie">
+ <field name="stage_id"/>
+ <field name="nbr" operator="+"/>
+ </graph>
+ </field>
+ </record>
+
+ <record model="ir.ui.view" id="view_crm_opportunity_user_stage_graph">
+ <field name="name">Opportunities By Stage Per User - Graph</field>
+ <field name="model">crm.lead.report</field>
+ <field name="type">graph</field>
+ <field name="arch" type="xml">
+ <graph string="Opportunities By Stage" type="bar">
+ <field name="stage_id"/>
<field name="nbr" operator="+"/>
+ <field name="user_id" group="True"/>
</graph>
</field>
</record>
- <act_window name="Opportunities By Categories"
- domain="[('state','!=','done'),('state','!=','cancel')]"
- res_model="crm.lead.report"
- view_type="form"
- view_mode="graph,tree,form"
- view_id="view_crm_opportunity_categ_graph"
- id="act_oppor_categ"/>
+ <record model="ir.actions.act_window" id="act_oppor_categ">
+ <field name="res_model">Opportunities By Categories</field>
+ <field name="res_model">crm.lead.report</field>
+ <field name="view_type">form</field>
+ <field name="view_mode">graph,tree,form</field>
+ <field name="view_id" ref="view_crm_opportunity_categ_graph"/>
+ <field name="domain">[('state','!=','done'),('state','!=','cancel')]</field>
+ </record>
- <record model="ir.actions.act_window" id="act_leads_state">
+ <record model="ir.actions.act_window" id="act_opportunity_stage">
<field name="res_model">crm.lead.report</field>
<field name="view_type">form</field>
<field name="view_mode">graph,tree,form</field>
- <field name="view_id" ref="view_crm_lead_stage_graph1"/>
+ <field name="view_id" ref="view_crm_opportunity_stage_graph"/>
<field name="domain">[('state','!=','done'),('state','!=','cancel')]</field>
</record>
- <act_window name="Leads Of The Month By User"
- domain="[('month','=',time.strftime('%%m')),('state','!=','cancel')]"
- res_model="crm.lead.report"
- view_type="form"
- view_mode="graph,tree,form"
- view_id="view_crm_lead_stage_graph1"
- id="act_leads_month_user"/>
+ <record model="ir.actions.act_window" id="act_oppor_stage_user">
+ <field name="res_model">Number of Opportunities by stage</field>
+ <field name="res_model">crm.lead.report</field>
+ <field name="view_type">form</field>
+ <field name="view_mode">graph,tree,form</field>
+ <field name="view_id" ref="view_crm_opportunity_user_stage_graph"/>
+ <field name="domain">[('state','!=','cancel')]</field>
+ </record>
<record model="ir.ui.view" id="board_crm_statistical_form">
<field name="name">CRM - Statistical Dashboard Form</field>
@@ -68,8 +84,8 @@
width="250"/>
<action
- string="Leads By Stage"
- name="%(act_leads_state)d"
+ string="Opportunities By Stage"
+ name="%(act_opportunity_stage)d"
height="200"
colspan="4"/>
@@ -77,8 +93,8 @@
<child2>
<action
- string="Leads Of The Month By User"
- name="%(act_leads_month_user)d"
+ string="Number of Opportunities by Stage and User"
+ name="%(act_oppor_stage_user)d"
colspan="4"/>
</child2>
diff --git a/addons/crm/crm.py b/addons/crm/crm.py
index 5cee0052297..575c2a8a3e3 100644
--- a/addons/crm/crm.py
+++ b/addons/crm/crm.py
@@ -268,12 +268,13 @@ class crm_case(object):
"""
cases = self.browse(cr, uid, ids)
for case in cases:
- data = {'active': True, 'user_id': False}
+ data = {'active': True}
if case.section_id.parent_id:
data['section_id'] = case.section_id.parent_id.id
- if case.section_id.parent_id.user_id:
- data['user_id'] = case.section_id.parent_id.user_id.id
+ if case.section_id.parent_id.change_responsible:
+ if case.section_id.parent_id.user_id:
+ data['user_id'] = case.section_id.parent_id.user_id.id
else:
raise osv.except_osv(_('Error !'), _('You can not escalate, You are already at the top level regarding your sales-team category.'))
self.write(cr, uid, [case.id], data)
@@ -439,6 +440,7 @@ class crm_case_section(osv.osv):
'active': fields.boolean('Active', help="If the active field is set to \
true, it will allow you to hide the sales team without removing it."),
'allow_unlink': fields.boolean('Allow Delete', help="Allows to delete non draft cases"),
+ 'change_responsible': fields.boolean('Change Responsible', help="Set responsible of this Sales team on escalation to this team"),
'user_id': fields.many2one('res.users', 'Responsible User'),
'member_ids':fields.many2many('res.users', 'sale_member_rel', 'section_id', 'member_id', 'Team Members'),
'reply_to': fields.char('Reply-To', size=64, help="The email address put \
diff --git a/addons/crm/crm_action_rule.py b/addons/crm/crm_action_rule.py
index 1f11f2c4c0c..1ca37a426a2 100644
--- a/addons/crm/crm_action_rule.py
+++ b/addons/crm/crm_action_rule.py
@@ -24,7 +24,6 @@ import re
import os
import base64
import tools
-import mx.DateTime
from tools.translate import _
from osv import fields
@@ -80,6 +79,26 @@ this if you want the rule to send an email to the partner."),
if hasattr(obj, 'categ_id'):
ok = ok and (not action.trg_categ_id or action.trg_categ_id.id==obj.categ_id.id)
+ #Cheking for history
+ regex = action.regex_history
+ result_history = True
+ if regex:
+ res = False
+ ptrn = re.compile(str(regex))
+ for history in obj.message_ids:
+ _result = ptrn.search(str(history.name))
+ if _result:
+ res = True
+ break
+ result_history = res
+ ok = ok and (not regex or result_history)
+
+ res_count = True
+ if action.trg_max_history:
+ res_count = False
+ if len(obj.message_ids) >= action.trg_max_history:
+ res_count = True
+ ok = ok and res_count
return ok
def do_action(self, cr, uid, action, model_obj, obj, context={}):
diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py
index 6708f3e8f0e..01c597fcb97 100644
--- a/addons/crm/crm_lead.py
+++ b/addons/crm/crm_lead.py
@@ -31,6 +31,13 @@ import collections
import binascii
import tools
+
+CRM_LEAD_PENDING_STATES = (
+ crm.AVAILABLE_STATES[2][0], # Cancelled
+ crm.AVAILABLE_STATES[3][0], # Done
+ crm.AVAILABLE_STATES[4][0], # Pending
+)
+
class crm_lead(osv.osv, crm_case):
""" CRM Lead Case """
_name = "crm.lead"
@@ -95,6 +102,10 @@ class crm_lead(osv.osv, crm_case):
return res
_columns = {
+ # Overridden from res.partner.address:
+ 'partner_id': fields.many2one('res.partner', 'Partner', ondelete='set null',
+ select=True, help="Optional linked partner, usually after conversion of the lead"),
+
# From crm.case
'name': fields.char('Name', size=64),
'active': fields.boolean('Active', required=False),
@@ -334,8 +345,8 @@ and users"),
# previous state, so we have to loop:
for case in self.browse(cr, uid, ids, context=context):
values = dict(vals)
- if case.state == crm.AVAILABLE_STATES[4][0]: #pending
- values.update(state=crm.AVAILABLE_STATES[1][0]) #open
+ if case.state in CRM_LEAD_PENDING_STATES:
+ values.update(state=crm.AVAILABLE_STATES[1][0]) #re-open
res = self.write(cr, uid, [case.id], values, context=context)
return res
diff --git a/addons/crm/crm_lead_data.xml b/addons/crm/crm_lead_data.xml
index 2b47140e396..41eeb529154 100644
--- a/addons/crm/crm_lead_data.xml
+++ b/addons/crm/crm_lead_data.xml
@@ -1,81 +1,105 @@
<?xml version="1.0"?>
<openerp>
-<data noupdate="1">
-
-
-<!-- CASE STATUS(stage_id) -->
- <record model="crm.case.stage" id="stage_lead1">
- <field name="name">New</field>
- <field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
- </record>
- <record model="crm.case.stage" id="stage_lead2">
- <field name="name">Assigned</field>
- <field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
- </record>
- <record model="crm.case.stage" id="stage_lead3">
- <field name="name">In Process</field>
- <field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
- </record>
- <record model="crm.case.stage" id="stage_lead4">
- <field name="name">Converted</field>
- <field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
- </record>
- <record model="crm.case.stage" id="stage_lead5">
- <field name="name">Recycled</field>
- <field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
- </record>
- <record model="crm.case.stage" id="stage_lead6">
- <field name="name">Dead</field>
- <field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
- </record>
-
-<!-- CASE CATEGORY2(category2_id) -->
- <record model="crm.case.resource.type" id="type_lead1">
- <field name="name">Telesales</field>
- <field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
- </record>
- <record model="crm.case.resource.type" id="type_lead2">
- <field name="name">Mail</field>
- <field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
- </record>
- <record model="crm.case.resource.type" id="type_lead3">
- <field name="name">Email</field>
- <field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
- </record>
- <record model="crm.case.resource.type" id="type_lead4">
- <field name="name">Print</field>
- <field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
- </record>
- <record model="crm.case.resource.type" id="type_lead5">
- <field name="name">Web</field>
- <field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
- </record>
- <record model="crm.case.resource.type" id="type_lead6">
- <field name="name">Radio</field>
- <field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
- </record>
- <record model="crm.case.resource.type" id="type_lead7">
- <field name="name">Television</field>
- <field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
- </record>
- <record model="crm.case.resource.type" id="type_lead8">
- <field name="name">Newsletter</field>
- <field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
- </record>
-
-</data>
+ <data>
+
+
+ <!-- CASE STATUS(stage_id) -->
+ <record model="crm.case.stage" id="stage_lead1">
+ <field name="name">New</field>
+ <field eval="'10'" name="probability"/>
+ <field eval="'1'" name="sequence"/>
+ <field name="section_id" ref="section_sales_department"/>
+ <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
+ </record>
+
+ <record model="crm.case.stage" id="stage_lead2">
+ <field name="name">Qualification</field>
+ <field eval="'20'" name="probability"/>
+ <field eval="'2'" name="sequence"/>
+ <field name="section_id" ref="section_sales_department"/>
+ <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
+ </record>
+
+ <record model="crm.case.stage" id="stage_lead3">
+ <field name="name">Proposition</field>
+ <field eval="'40'" name="probability"/>
+ <field eval="'3'" name="sequence"/>
+ <field name="section_id" ref="section_sales_department"/>
+ <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
+ </record>
+
+ <record model="crm.case.stage" id="stage_lead4">
+ <field name="name">Negotiation</field>
+ <field eval="'60'" name="probability"/>
+ <field eval="'4'" name="sequence"/>
+ <field name="section_id" ref="section_sales_department"/>
+ <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
+ </record>
+
+ <record model="crm.case.stage" id="stage_lead5">
+ <field name="name">Win</field>
+ <field eval="'100'" name="probability"/>
+ <field eval="'5'" name="sequence"/>
+ <field name="section_id" ref="section_sales_department"/>
+ <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
+ </record>
+
+ <record model="crm.case.stage" id="stage_lead6">
+ <field name="name">Lost</field>
+ <field eval="'0'" name="probability"/>
+ <field eval="'6'" name="sequence"/>
+ <field name="section_id" ref="section_sales_department"/>
+ <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
+ </record>
+
+ <!-- CASE CATEGORY2(category2_id) -->
+ <record model="crm.case.resource.type" id="type_lead1">
+ <field name="name">Telesales</field>
+ <field name="section_id" ref="section_sales_department"/>
+ <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
+ </record>
+
+ <record model="crm.case.resource.type" id="type_lead2">
+ <field name="name">Mail</field>
+ <field name="section_id" ref="section_sales_department"/>
+ <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
+ </record>
+
+ <record model="crm.case.resource.type" id="type_lead3">
+ <field name="name">Email</field>
+ <field name="section_id" ref="section_sales_department"/>
+ <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
+ </record>
+
+ <record model="crm.case.resource.type" id="type_lead4">
+ <field name="name">Print</field>
+ <field name="section_id" ref="section_sales_department"/>
+ <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
+ </record>
+
+ <record model="crm.case.resource.type" id="type_lead5">
+ <field name="name">Web</field>
+ <field name="section_id" ref="section_sales_department"/>
+ <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
+ </record>
+
+ <record model="crm.case.resource.type" id="type_lead6">
+ <field name="name">Radio</field>
+ <field name="section_id" ref="section_sales_department"/>
+ <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
+ </record>
+
+ <record model="crm.case.resource.type" id="type_lead7">
+ <field name="name">Television</field>
+ <field name="section_id" ref="section_sales_department"/>
+ <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
+ </record>
+
+ <record model="crm.case.resource.type" id="type_lead8">
+ <field name="name">Newsletter</field>
+ <field name="section_id" ref="section_sales_department"/>
+ <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
+ </record>
+
+ </data>
</openerp>
diff --git a/addons/crm/crm_meeting.py b/addons/crm/crm_meeting.py
index 3ed7cf1f1fe..1bc5948fe73 100644
--- a/addons/crm/crm_meeting.py
+++ b/addons/crm/crm_meeting.py
@@ -80,7 +80,8 @@ class crm_meeting(osv.osv, crm_case):
_defaults = {
'state': lambda *a: 'draft',
- 'active': lambda *a: 1,
+ 'active': lambda *a: 1,
+ 'user_id': lambda self, cr, uid, ctx: uid,
}
def open_meeting(self, cr, uid, ids, context=None):
diff --git a/addons/crm/crm_meeting_menu.xml b/addons/crm/crm_meeting_menu.xml
index bf1a8459655..027ebed0a7a 100644
--- a/addons/crm/crm_meeting_menu.xml
+++ b/addons/crm/crm_meeting_menu.xml
@@ -105,7 +105,7 @@
<field name="view_mode">tree,form</field>
<field name="view_id" ref="base_calendar.base_calendar_attendee_tree_view" />
<field name="domain">[('ref','like','crm.meeting,')]</field>
- <field name="context">{'default_sent_by_uid': uid}</field>
+ <field name="context">{"search_default_user_id":uid}</field>
</record>
<menuitem id="menu_attendee_invitations"
diff --git a/addons/crm/crm_meeting_view.xml b/addons/crm/crm_meeting_view.xml
index e635a1d26bc..6cc8059b1a6 100644
--- a/addons/crm/crm_meeting_view.xml
+++ b/addons/crm/crm_meeting_view.xml
@@ -342,20 +342,7 @@
</field>
</field>
</record>
-
- <!-- Calendar Attendee Tree View -->
-
- <record id="attendee_tree_view_inherit" model="ir.ui.view">
- <field name="name">calendar.attendee.tree.inherit</field>
- <field name="model">calendar.attendee</field>
- <field name="type">tree</field>
- <field name="inherit_id" ref="base_calendar.base_calendar_attendee_tree_view"/>
- <field name="arch" type="xml">
- <field name="role" position="after">
- <field name="categ_id" string="Event Type"/>
- </field>
- </field>
- </record>
+
</data>
</openerp>
diff --git a/addons/crm/crm_opportunity_data.xml b/addons/crm/crm_opportunity_data.xml
index a7cfd2d46ca..fd4d76d5865 100644
--- a/addons/crm/crm_opportunity_data.xml
+++ b/addons/crm/crm_opportunity_data.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
<openerp>
-<data noupdate="1">
+<data>
<record model="crm.case.categ" id="categ_oppor1">
<field name="name">Existing Customer</field>
<field name="section_id" ref="section_sales_department"/>
@@ -42,43 +42,6 @@
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
</record>
-<!-- CASE STATUS(stage_id) -->
- <record model="crm.case.stage" id="stage_oppor1">
- <field name="name">Prospecting</field>
- <field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
- </record>
- <record model="crm.case.stage" id="stage_oppor2">
- <field name="name">Needs Analysis</field>
- <field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
- </record>
- <record model="crm.case.stage" id="stage_oppor3">
- <field name="name">Value Proposition</field>
- <field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
- </record>
- <record model="crm.case.stage" id="stage_oppor4">
- <field name="name">Proposal/Price Quote</field>
- <field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
- </record>
- <record model="crm.case.stage" id="stage_oppor5">
- <field name="name">Negotiation/Review</field>
- <field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
- </record>
- <record model="crm.case.stage" id="stage_oppor6">
- <field name="name">Closed Won</field>
- <field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
- </record>
- <record model="crm.case.stage" id="stage_oppor7">
- <field name="name">Closed Lost</field>
- <field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
- </record>
-
<!-- Case Resource(type_id) -->
<record model="crm.case.resource.type" id="type_oppor1">
<field name="name">Existing Business</field>
diff --git a/addons/crm/crm_opportunity_demo.xml b/addons/crm/crm_opportunity_demo.xml
index 3c06d16dc19..48812b17cf0 100644
--- a/addons/crm/crm_opportunity_demo.xml
+++ b/addons/crm/crm_opportunity_demo.xml
@@ -20,7 +20,7 @@
<field eval="85000.0" name="planned_revenue"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field name="categ_id" ref="crm.categ_oppor1"/>
- <field name="stage_id" ref="crm.stage_oppor3"/>
+ <field name="stage_id" ref="crm.stage_lead3"/>
<field eval="&quot;CONS TRUST (AZ) 529701 - 1000 units&quot;" name="name"/>
</record>
<record id="crm_case_rdroundfundingunits0" model="crm.lead">
@@ -36,7 +36,7 @@
<field eval="50" name="probability"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field name="categ_id" ref="crm.categ_oppor5"/>
- <field name="stage_id" ref="crm.stage_oppor1"/>
+ <field name="stage_id" ref="crm.stage_lead1"/>
<field eval="&quot;3rd Round Funding - 1000 units &quot;" name="name"/>
</record>
<record id="crm_case_mediapoleunits0" model="crm.lead">
@@ -53,7 +53,7 @@
<field eval="70" name="probability"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field name="categ_id" ref="crm.categ_oppor7"/>
- <field name="stage_id" ref="crm.stage_oppor5"/>
+ <field name="stage_id" ref="crm.stage_lead5"/>
<field eval="&quot;Mediapole - 5000 units&quot;" name="name"/>
<field eval="&quot;info@mycompany.net&quot;" name="email_from"/>
</record>
@@ -70,7 +70,7 @@
<field eval="45000.0" name="planned_revenue"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field name="categ_id" ref="crm.categ_oppor5"/>
- <field name="stage_id" ref="crm.stage_oppor4"/>
+ <field name="stage_id" ref="crm.stage_lead4"/>
<field eval="&quot;ABC FUEL CO 829264 - 1000 units &quot;" name="name"/>
<field eval="&quot;info@opensides.be&quot;" name="email_from"/>
</record>
@@ -86,7 +86,7 @@
<field eval="42000.0" name="planned_revenue"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field name="categ_id" ref="crm.categ_oppor2"/>
- <field name="stage_id" ref="crm.stage_oppor6"/>
+ <field name="stage_id" ref="crm.stage_lead6"/>
<field eval="&quot;Dirt Mining Ltd 271742 - 1000 units&quot;" name="name"/>
</record>
</data>
diff --git a/addons/crm/crm_phonecall_view.xml b/addons/crm/crm_phonecall_view.xml
index 479e73fe8fb..c61ec1ff0b5 100644
--- a/addons/crm/crm_phonecall_view.xml
+++ b/addons/crm/crm_phonecall_view.xml
@@ -69,17 +69,14 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Phone Call">
- <group colspan="4" col="7">
- <field name="name" string="Summary"/>
- <field name="date" string="Planned Date"/>
- <field name="user_id"/>
- <button string="Schedule a Meeting"
- name="action_make_meeting"
- icon="gtk-redo"
- type="object" />
+ <group colspan="6" col="7">
+ <field name="name" string="Summary" required="1"/>
+ <field name="partner_phone" required="1"/>
+ <field name="duration" widget="float_time" required="1"/>
+ <button string="Schedule a Meeting" name="action_make_meeting" icon="gtk-redo" type="object"/>
- <field name="partner_phone"/>
- <field name="duration"/>
+ <field name="date" string="Date" required="1"/>
+ <field name="user_id"/>
<field name="section_id" colspan="1" widget="selection" />
<button string="Convert to Opportunity"
name="%(phonecall2opportunity_act)d"
@@ -92,6 +89,7 @@
type="action" />
</group>
+
<group col="3" colspan="2">
<separator colspan="3" string="Contacts" />
<field name="partner_id"
@@ -146,15 +144,15 @@
<form string="Phone Call">
<group colspan="4" col="7">
<field name="name" string="Summary" required="1"/>
- <field name="date" string="Planned Date" required="1"/>
- <field name="user_id"/>
+ <field name="partner_phone"/>
+ <field name="duration" widget="float_time"/>
<button string="Schedule a Meeting"
name="action_make_meeting"
icon="gtk-redo"
type="object" />
- <field name="partner_phone"/>
- <field name="duration"/>
+ <field name="date" string="Date" required="1"/>
+ <field name="user_id"/>
<field name="section_id" colspan="1" widget="selection" />
<button string="Convert to Opportunity"
name="%(phonecall2opportunity_act)d"
diff --git a/addons/crm/crm_view.xml b/addons/crm/crm_view.xml
index a3d9f14273e..74786ad91f6 100644
--- a/addons/crm/crm_view.xml
+++ b/addons/crm/crm_view.xml
@@ -43,6 +43,7 @@
<group col="2" colspan="1">
<separator string="Configuration" colspan="2"/>
<field name="allow_unlink" select="2"/>
+ <field name="change_responsible"/>
</group>
<separator string="Team Members" colspan="4"/>
<field name="member_ids" nolabel="1" colspan="4"/>
diff --git a/addons/crm/i18n/ru.po b/addons/crm/i18n/ru.po
index 9ae7174550e..f93dd7758fe 100644
--- a/addons/crm/i18n/ru.po
+++ b/addons/crm/i18n/ru.po
@@ -7,19 +7,19 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2010-01-05 05:59+0000\n"
-"PO-Revision-Date: 2010-04-14 03:53+0000\n"
-"Last-Translator: grisha <Unknown>\n"
+"PO-Revision-Date: 2010-07-08 16:42+0000\n"
+"Last-Translator: Pomazan Bogdan <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-06-22 04:00+0000\n"
+"X-Launchpad-Export-Date: 2010-07-09 03:56+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: crm
#: field:crm.email.add.cc,name:0
msgid "Send to"
-msgstr ""
+msgstr "Отправить"
#. module: crm
#: help:crm.meeting,exdate:0
@@ -37,7 +37,7 @@ msgstr ""
#. module: crm
#: view:crm.meeting:0
msgid "Title"
-msgstr ""
+msgstr "Заголовок"
#. module: crm
#: model:ir.model,name:crm.model_report_crm_case_section_categ2
@@ -55,7 +55,7 @@ msgstr ""
#: view:crm.opportunity:0
#: view:crm.phonecall:0
msgid " 7 Days "
-msgstr ""
+msgstr " 7 дней "
#. module: crm
#: help:crm.menu.config_wizard,helpdesk:0
@@ -85,7 +85,7 @@ msgstr ""
#. module: crm
#: field:crm.case.stage,name:0
msgid "Stage Name"
-msgstr ""
+msgstr "Название стадии"
#. module: crm
#: view:crm.case:0
@@ -124,7 +124,7 @@ msgstr ""
#. module: crm
#: view:crm.fundraising:0
msgid "Amount"
-msgstr ""
+msgstr "Количество"
#. module: crm
#: model:process.transition,note:crm.process_transition_opportunitymeeting0
@@ -135,7 +135,7 @@ msgstr "Обычное или селекторное совещание по пÐ
#: model:crm.case.stage,name:crm.stage_claim2
#: model:crm.case.stage,name:crm.stage_meet1
msgid "Fixed"
-msgstr ""
+msgstr "Фиксированное"
#. module: crm
#: code:addons/crm/crm.py:0
@@ -150,17 +150,17 @@ msgstr "Внимание!"
#: code:addons/crm/wizard/wizard_crm_new_send_email.py:0
#, python-format
msgid "Please specify user's email address !"
-msgstr ""
+msgstr "Пожалуйста, укажите адрес электронной почты пользователя!"
#. module: crm
#: model:crm.case.categ,name:crm.categ_oppor5
msgid "Campaign"
-msgstr ""
+msgstr "Кампания"
#. module: crm
#: view:crm.opportunity:0
msgid "Search Opportunities"
-msgstr ""
+msgstr "Поиск возможностей"
#. module: crm
#: model:ir.ui.menu,name:crm.menu_crm_case_section_stage_tree
@@ -238,7 +238,7 @@ msgstr ""
#: model:crm.case.categ,name:crm.categ_meet3
#, python-format
msgid "Phone Call"
-msgstr ""
+msgstr "Звонок"
#. module: crm
#: model:ir.model,name:crm.model_report_crm_case_section_stage
@@ -248,7 +248,7 @@ msgstr ""
#. module: crm
#: field:crm.case.rule,act_mail_to_email:0
msgid "Mail to these emails"
-msgstr ""
+msgstr "Отправить этим адресатам"
#. module: crm
#: selection:crm.case.rule,trg_date_type:0
@@ -268,12 +268,12 @@ msgstr ""
#: view:crm.lead:0
#: view:crm.opportunity:0
msgid "Send New Email"
-msgstr ""
+msgstr "Отправить новое ел.-письмо"
#. module: crm
#: view:crm.case.history:0
msgid "My Histories"
-msgstr ""
+msgstr "Мои истории"
#. module: crm
#: field:crm.segmentation,segmentation_line:0
@@ -294,7 +294,7 @@ msgstr ""
#. module: crm
#: view:crm.meeting:0
msgid "Exception Dates"
-msgstr ""
+msgstr "Исключения (даты)"
#. module: crm
#: selection:crm.case.rule,trg_date_type:0
@@ -314,7 +314,7 @@ msgstr ""
#. module: crm
#: model:ir.actions.wizard,name:crm.wizard_crm_cal_subscribe
msgid "Subscribe to a Remote calendar"
-msgstr ""
+msgstr "Подписаться на удаленный календарь"
#. module: crm
#: model:ir.actions.act_window,name:crm.crm_case_categ-act
@@ -326,7 +326,7 @@ msgstr "Категории"
#: code:addons/crm/wizard/wizard_crm_new_send_email.py:0
#, python-format
msgid "Warning!"
-msgstr ""
+msgstr "Внимание!"
#. module: crm
#: view:crm.case:0
@@ -352,12 +352,12 @@ msgstr ""
#: view:crm.fundraising:0
#: view:crm.opportunity:0
msgid "Description Information"
-msgstr ""
+msgstr "Описание"
#. module: crm
#: view:crm.lead:0
msgid "Contact Name"
-msgstr ""
+msgstr "Имя контакта"
#. module: crm
#: selection:crm.lead.opportunity_set,create_partner,action:0
@@ -378,7 +378,7 @@ msgstr "Тип задержки"
#: view:crm.opportunity:0
#: view:crm.phonecall:0
msgid "Contact"
-msgstr ""
+msgstr "Контакт"
#. module: crm
#: view:crm.job:0
@@ -434,7 +434,7 @@ msgstr ""
#. module: crm
#: field:crm.case,history_line:0
msgid "Communication"
-msgstr ""
+msgstr "Общение"
#. module: crm
#: view:crm.case.rule:0
@@ -444,7 +444,7 @@ msgstr ""
#. module: crm
#: model:crm.case.stage,name:crm.stage_lead6
msgid "Dead"
-msgstr ""
+msgstr "Умер[ла]"
#. module: crm
#: view:crm.meeting:0
@@ -460,7 +460,7 @@ msgstr ""
#. module: crm
#: model:crm.case.category2,name:crm.category_meet2
msgid "Home"
-msgstr ""
+msgstr "Главная"
#. module: crm
#: field:crm.case,categ_id:0
@@ -491,7 +491,7 @@ msgstr ""
#. module: crm
#: field:crm.meeting,class:0
msgid "Privacy"
-msgstr ""
+msgstr "Конфиденциальность"
#. module: crm
#: view:crm.case.rule:0
@@ -534,7 +534,7 @@ msgstr ""
#. module: crm
#: model:ir.actions.act_window,name:crm.crm_case_categ0-act_open
msgid "Open Cases"
-msgstr ""
+msgstr "Открытые вопросы"
#. module: crm
#: field:crm.case.log,name:0
@@ -559,12 +559,12 @@ msgstr ""
#: selection:report.crm.case.section.categ2,month:0
#: selection:report.crm.case.section.stage,month:0
msgid "August"
-msgstr ""
+msgstr "Август"
#. module: crm
#: view:crm.meeting:0
msgid "Meetings Tree"
-msgstr ""
+msgstr "Диаграмма встреч"
#. module: crm
#: code:addons/crm/crm.py:0
@@ -581,7 +581,7 @@ msgstr "Эскалировать"
#. module: crm
#: model:ir.ui.menu,name:crm.menu_crm_case_categ_meet
msgid "All Meetings"
-msgstr ""
+msgstr "Все встречи"
#. module: crm
#: model:ir.module.module,shortdesc:crm.module_meta_information
@@ -600,7 +600,7 @@ msgstr ""
#: selection:report.crm.case.section.categ2,month:0
#: selection:report.crm.case.section.stage,month:0
msgid "June"
-msgstr ""
+msgstr "Июнь"
#. module: crm
#: field:crm.segmentation,som_interval_default:0
@@ -628,7 +628,7 @@ msgstr "Разрешить удаление"
#: selection:report.crm.case.section.categ2,month:0
#: selection:report.crm.case.section.stage,month:0
msgid "October"
-msgstr ""
+msgstr "Октябрь"
#. module: crm
#: model:crm.case.stage,name:crm.stage_oppor3
@@ -661,7 +661,7 @@ msgstr ""
#: view:crm.opportunity:0
#: view:crm.phonecall:0
msgid " Today "
-msgstr ""
+msgstr " Сегодня "
#. module: crm
#: wizard_view:crm.job.reschedule_phone_call,init:0
@@ -672,7 +672,7 @@ msgstr ""
#. module: crm
#: view:crm.case.categ:0
msgid "Case Category"
-msgstr ""
+msgstr "Категория вопроса"
#. module: crm
#: help:crm.segmentation,som_interval_default:0
@@ -698,7 +698,7 @@ msgstr ""
#. module: crm
#: view:crm.phonecall:0
msgid "Assigned to"
-msgstr ""
+msgstr "Назначено на"
#. module: crm
#: view:res.partner.events:0
@@ -729,7 +729,7 @@ msgstr ""
#: selection:report.crm.case.section.categ2,month:0
#: selection:report.crm.case.section.stage,month:0
msgid "September"
-msgstr ""
+msgstr "Сентябрь"
#. module: crm
#: view:crm.case:0
@@ -780,12 +780,12 @@ msgstr ""
#. module: crm
#: model:ir.actions.act_window,name:crm.crm_case_category_act_leads_all
msgid "All Leads"
-msgstr ""
+msgstr "Все кандидаты"
#. module: crm
#: view:crm.lead:0
msgid "Leads Form"
-msgstr ""
+msgstr "Форма кандидатов"
#. module: crm
#: view:crm.segmentation:0
@@ -852,12 +852,12 @@ msgstr ""
#: view:crm.lead:0
#: view:crm.opportunity:0
msgid "Emails"
-msgstr ""
+msgstr "Эл.письма"
#. module: crm
#: model:crm.case.category2,name:crm.category_lead7
msgid "Television"
-msgstr ""
+msgstr "Телевидение"
#. module: crm
#: view:crm.segmentation:0
@@ -878,7 +878,7 @@ msgstr ""
#: wizard_button:crm.lead.opportunity_set,create_partner,create:0
#: wizard_button:crm.phonecall.opportunity_set,create_partner,create:0
msgid "Continue"
-msgstr ""
+msgstr "Продолжить"
#. module: crm
#: field:crm.segmentation,som_interval:0
@@ -893,13 +893,13 @@ msgstr "Значение"
#. module: crm
#: help:caldav.crm.export,init,name:0
msgid "Save in .ics format"
-msgstr ""
+msgstr "Сохранить в .ics вормате"
#. module: crm
#: wizard_field:crm.new.send.mail,init,text:0
#: wizard_field:crm.send.mail,init,text:0
msgid "Message"
-msgstr ""
+msgstr "Сообщение"
#. module: crm
#: help:crm.segmentation,exclusif:0
@@ -912,7 +912,7 @@ msgstr ""
#. module: crm
#: field:crm.segmentation,exclusif:0
msgid "Exclusive"
-msgstr ""
+msgstr "Эксклюзивный"
#. module: crm
#: help:crm.case,categ_id:0
@@ -930,12 +930,12 @@ msgstr "Установить состояние в"
#: code:addons/crm/crm.py:0
#, python-format
msgid "Email!"
-msgstr ""
+msgstr "Эл.сообщения!"
#. module: crm
#: model:crm.case.category2,name:crm.category_lead6
msgid "Radio"
-msgstr ""
+msgstr "Радио"
#. module: crm
#: model:ir.model,name:crm.model_crm_opportunity_assign_wizard
@@ -955,7 +955,7 @@ msgstr ""
#. module: crm
#: view:crm.case.history:0
msgid "Search Histories"
-msgstr ""
+msgstr "Поиск истории"
#. module: crm
#: help:crm.case.stage,sequence:0
@@ -994,7 +994,7 @@ msgstr "Закупаемое количество"
#. module: crm
#: view:crm.phonecall:0
msgid "Direction"
-msgstr ""
+msgstr "Направление"
#. module: crm
#: help:crm.case,email_cc:0
@@ -1010,7 +1010,7 @@ msgstr ""
#: selection:report.crm.case.section.categ2,month:0
#: selection:report.crm.case.section.stage,month:0
msgid "March"
-msgstr ""
+msgstr "Март"
#. module: crm
#: view:crm.case.rule:0
@@ -1027,7 +1027,7 @@ msgstr "Правила"
#: wizard_view:crm.job.meeting_set,init:0
#: wizard_view:crm.phonecall.meeting_set,init:0
msgid "Plan Meeting"
-msgstr ""
+msgstr "План встреч"
#. module: crm
#: wizard_field:crm.new.send.mail,init,state:0
@@ -1038,7 +1038,7 @@ msgstr ""
#: code:addons/crm/wizard/wizard_crm_send_email.py:0
#, python-format
msgid "There is no mail to reply!"
-msgstr ""
+msgstr "Нет ел. почты чтобы ответить!"
#. module: crm
#: wizard_button:crm.job.partner_create,init,confirm:0
@@ -1048,7 +1048,7 @@ msgstr ""
#: model:ir.actions.wizard,name:crm.wizard_crm_lead_partner_create
#: model:ir.actions.wizard,name:crm.wizard_crm_phonecall_partner_create
msgid "Create Partner"
-msgstr ""
+msgstr "Создать партнера"
#. module: crm
#: selection:crm.segmentation.line,expr_operator:0
@@ -1068,7 +1068,7 @@ msgstr ""
#. module: crm
#: field:crm.case,partner_mobile:0
msgid "Mobile"
-msgstr ""
+msgstr "Моб. тел."
#. module: crm
#: field:crm.case.rule,name:0
@@ -1084,7 +1084,7 @@ msgstr "Планируемые затраты"
#. module: crm
#: model:ir.model,name:crm.model_crm_case_history
msgid "Case history"
-msgstr ""
+msgstr "История вопроса"
#. module: crm
#: model:crm.case.categ,name:crm.categ_job2
@@ -1094,12 +1094,12 @@ msgstr ""
#. module: crm
#: view:crm.meeting:0
msgid "My Meetings"
-msgstr ""
+msgstr "Мои встречи"
#. module: crm
#: field:crm.case.categ,name:0
msgid "Case Category Name"
-msgstr ""
+msgstr "Имя Категории Вопросов"
#. module: crm
#: model:crm.case.category2,name:crm.category_claim2
@@ -1140,7 +1140,7 @@ msgstr ""
#: view:crm.meeting:0
#, python-format
msgid "Meetings"
-msgstr ""
+msgstr "Встречи"
#. module: crm
#: view:crm.case.rule:0
@@ -1165,12 +1165,12 @@ msgstr "Срок"
#: wizard_button:caldav.crm.import,init,end:0
#: wizard_button:caldav.crm.subscribe,init,end:0
msgid "_Cancel"
-msgstr ""
+msgstr "_Отмена"
#. module: crm
#: field:crm.case,category2_id:0
msgid "Category Name"
-msgstr ""
+msgstr "Название категории"
#. module: crm
#: view:crm.segmentation:0
@@ -1185,7 +1185,7 @@ msgstr ""
#. module: crm
#: model:ir.model,name:crm.model_crm_case_categ
msgid "Category of case"
-msgstr ""
+msgstr "Категория вопроса"
#. module: crm
#: field:crm.email.add.cc,subject:0
@@ -1194,7 +1194,7 @@ msgstr ""
#: view:crm.phonecall:0
#: wizard_field:crm.send.mail,init,subject:0
msgid "Subject"
-msgstr ""
+msgstr "Тема"
#. module: crm
#: field:crm.meeting,attendees:0
@@ -1253,7 +1253,7 @@ msgstr ""
#. module: crm
#: model:crm.case.category2,name:crm.category_lead4
msgid "Print"
-msgstr ""
+msgstr "Печать"
#. module: crm
#: field:crm.case,som:0
@@ -1268,7 +1268,7 @@ msgstr "Мнение"
#: field:report.crm.case.section.categ.categ2,category2_id:0
#: field:report.crm.case.section.categ2,category2_id:0
msgid "Type"
-msgstr ""
+msgstr "Тип"
#. module: crm
#: view:crm.job:0
@@ -1303,7 +1303,7 @@ msgstr "Дата создания"
#: view:crm.phonecall:0
#: model:process.node,name:crm.process_node_meeting0
msgid "Meeting"
-msgstr ""
+msgstr "Встреча"
#. module: crm
#: view:crm.case.rule:0
@@ -1338,7 +1338,7 @@ msgstr ""
#: model:ir.actions.act_window,name:crm.act_res_partner_canal_2_crm_case_opened
#: model:ir.actions.act_window,name:crm.act_res_users_2_crm_case_opened
msgid "Open cases"
-msgstr ""
+msgstr "Открытые вопросы"
#. module: crm
#: field:crm.case,stage_id:0
@@ -1348,7 +1348,7 @@ msgstr ""
#: field:report.crm.case.section.categ2,stage_id:0
#: field:report.crm.case.section.stage,stage_id:0
msgid "Stage"
-msgstr ""
+msgstr "Стадия"
#. module: crm
#: constraint:ir.ui.view:0
@@ -1378,7 +1378,7 @@ msgstr ""
#: model:ir.actions.act_window,name:crm.crm_case_stage_act
#: model:ir.ui.menu,name:crm.menu_crm_case_stage_act
msgid "Stages"
-msgstr ""
+msgstr "Стадии"
#. module: crm
#: wizard_field:crm.case.opportunity.partner_opportunity,init,planned_revenue:0
@@ -1390,7 +1390,7 @@ msgstr ""
#. module: crm
#: view:crm.meeting:0
msgid "Meeting Date"
-msgstr ""
+msgstr "Дата встречи"
#. module: crm
#: view:crm.job:0
@@ -1402,7 +1402,7 @@ msgstr ""
#. module: crm
#: model:ir.actions.act_window,name:crm.crm_case_category_act_meetall3
msgid "Next Meetings"
-msgstr ""
+msgstr "Следующие встречи"
#. module: crm
#: field:crm.segmentation,partner_id:0
@@ -1418,17 +1418,17 @@ msgstr ""
#. module: crm
#: wizard_button:caldav.crm.subscribe,init,open:0
msgid "_Subscribe"
-msgstr ""
+msgstr "_Подписаться"
#. module: crm
#: field:crm.case.rule,trg_priority_from:0
msgid "Minimum Priority"
-msgstr ""
+msgstr "Минимальный приоритет"
#. module: crm
#: model:ir.actions.act_window,name:crm.crm_meeting_generic_wizard_act
msgid "Meeting Generic Wizard"
-msgstr ""
+msgstr "Мастер встреч"
#. module: crm
#: model:crm.case.categ,name:crm.categ_claim2
@@ -1438,7 +1438,7 @@ msgstr ""
#. module: crm
#: wizard_view:caldav.crm.subscribe,display:0
msgid "Message..."
-msgstr ""
+msgstr "Сообщение..."
#. module: crm
#: model:ir.model,name:crm.model_crm_phonecall_assign_wizard
@@ -1454,13 +1454,13 @@ msgstr ""
#: code:addons/crm/crm.py:0
#, python-format
msgid "done"
-msgstr ""
+msgstr "выполнено"
#. module: crm
#: view:crm.meeting:0
#: view:crm.phonecall:0
msgid "Reminder"
-msgstr ""
+msgstr "Напоминание"
#. module: crm
#: help:crm.segmentation,sales_purchase_active:0
@@ -1473,7 +1473,7 @@ msgstr ""
#: code:addons/crm/crm.py:0
#, python-format
msgid "open"
-msgstr ""
+msgstr "открыть"
#. module: crm
#: field:crm.case.rule,act_remind_attach:0
@@ -1484,7 +1484,7 @@ msgstr "Напомнить с вложением"
#: model:crm.case.categ,name:crm.categ_lead6
#: model:crm.case.categ,name:crm.categ_oppor6
msgid "Website"
-msgstr ""
+msgstr "Сайт"
#. module: crm
#: field:crm.case.rule,act_remind_user:0
@@ -1506,13 +1506,13 @@ msgstr ""
#. module: crm
#: view:crm.fundraising:0
msgid "Funds"
-msgstr ""
+msgstr "Фонды"
#. module: crm
#: code:addons/crm/crm.py:0
#, python-format
msgid "draft"
-msgstr ""
+msgstr "черновик"
#. module: crm
#: model:crm.case.stage,name:crm.stage_claim5
@@ -1602,7 +1602,7 @@ msgstr ""
#: field:report.crm.case.section.categ2,state:0
#: field:report.crm.case.section.stage,state:0
msgid "State"
-msgstr ""
+msgstr "Область/штат"
#. module: crm
#: view:crm.case:0
@@ -1678,7 +1678,7 @@ msgstr "Общее описание"
#. module: crm
#: view:crm.meeting:0
msgid "Other Info"
-msgstr ""
+msgstr "Прочая информация"
#. module: crm
#: view:crm.claim:0
@@ -1709,7 +1709,7 @@ msgstr ""
#. module: crm
#: model:crm.case.category2,name:crm.category_lead2
msgid "Mail"
-msgstr ""
+msgstr "Электронная почта"
#. module: crm
#: field:crm.case.rule,act_priority:0
@@ -1767,12 +1767,12 @@ msgstr "Название"
#. module: crm
#: view:crm.opportunity:0
msgid "Sales Stage"
-msgstr ""
+msgstr "Стадия продаж"
#. module: crm
#: field:crm.meeting,alarm_id:0
msgid "Alarm"
-msgstr ""
+msgstr "Сигнал"
#. module: crm
#: field:crm.case.rule,act_mail_to_watchers:0
@@ -1783,7 +1783,7 @@ msgstr ""
#: view:crm.fundraising:0
#: view:crm.meeting:0
msgid "Next Meeting"
-msgstr ""
+msgstr "Следующая встреча"
#. module: crm
#: code:addons/crm/crm.py:0
@@ -1796,7 +1796,7 @@ msgstr ""
#. module: crm
#: help:crm.case.section,allow_unlink:0
msgid "Allows to delete non draft cases"
-msgstr ""
+msgstr "Разрешить удалять вопросы не из черновиков"
#. module: crm
#: model:crm.case.stage,name:crm.stage_oppor7
@@ -1806,7 +1806,7 @@ msgstr ""
#. module: crm
#: field:crm.menu.config_wizard,bugs:0
msgid "Bug Tracking"
-msgstr ""
+msgstr "Учет ошибок"
#. module: crm
#: view:crm.case:0
@@ -1825,7 +1825,7 @@ msgstr "Действия"
#: selection:crm.case.rule,trg_priority_from:0
#: selection:crm.case.rule,trg_priority_to:0
msgid "High"
-msgstr ""
+msgstr "Высокая"
#. module: crm
#: model:process.node,note:crm.process_node_partner0
@@ -1855,12 +1855,12 @@ msgstr ""
#. module: crm
#: model:crm.case.category2,name:crm.category_lead5
msgid "Web"
-msgstr ""
+msgstr "Веб"
#. module: crm
#: view:crm.lead:0
msgid "Campaign Type"
-msgstr ""
+msgstr "Тип кампании"
#. module: crm
#: view:crm.segmentation:0
@@ -1872,7 +1872,7 @@ msgstr "Вычисление мнения"
#: code:addons/crm/wizard/wizard_crm_send_email.py:0
#, python-format
msgid "Error"
-msgstr ""
+msgstr "Ошибка"
#. module: crm
#: model:ir.model,name:crm.model_crm_meeting_generic_wizard
@@ -1882,7 +1882,7 @@ msgstr ""
#. module: crm
#: model:ir.actions.act_window,name:crm.crm_case_history-act
msgid "Histories"
-msgstr ""
+msgstr "Истории"
#. module: crm
#: model:crm.case.category2,name:crm.category_job1
@@ -1900,7 +1900,7 @@ msgstr ""
#. module: crm
#: view:crm.lead:0
msgid "Leads Tree"
-msgstr ""
+msgstr "Дерево кандидатов"
#. module: crm
#: field:crm.meeting,caldav_url:0
@@ -1910,13 +1910,13 @@ msgstr ""
#. module: crm
#: view:crm.meeting:0
msgid "Attendee"
-msgstr ""
+msgstr "Участник"
#. module: crm
#: code:addons/crm/crm.py:0
#, python-format
msgid "Email Fail!"
-msgstr ""
+msgstr "Ошибка ел. сообщения"
#. module: crm
#: model:crm.case.categ,name:crm.categ_phone1
@@ -1929,7 +1929,7 @@ msgstr ""
#. module: crm
#: constraint:crm.case.section:0
msgid "Error ! You cannot create recursive sections."
-msgstr ""
+msgstr "Ошибка! Вы не можете создавать рекурсивные секции."
#. module: crm
#: model:ir.ui.menu,name:crm.menu_crm
@@ -1949,7 +1949,7 @@ msgstr ""
#: view:report.crm.case.section.categ2:0
#: view:report.crm.case.section.stage:0
msgid "This Year"
-msgstr ""
+msgstr "Этот год"
#. module: crm
#: field:crm.case.rule,act_remind_partner:0
@@ -1982,7 +1982,7 @@ msgstr ""
#. module: crm
#: field:crm.menu.config_wizard,document_ics:0
msgid "Shared Calendar"
-msgstr ""
+msgstr "Общий календарь"
#. module: crm
#: field:crm.case.section,reply_to:0
@@ -1992,7 +1992,7 @@ msgstr "Обратный адрес"
#. module: crm
#: model:ir.ui.menu,name:crm.menu_action_report_crm_case_lead_categ
msgid "Cases by Leads and Type"
-msgstr ""
+msgstr "Вопросы по кандидату и типу"
#. module: crm
#: selection:crm.case.rule,trg_date_range_type:0
@@ -2003,7 +2003,7 @@ msgstr "Минуты"
#: field:report.crm.case.section.categ2,amount_revenue:0
#: field:report.crm.case.section.stage,amount_revenue:0
msgid "Est.Revenue"
-msgstr ""
+msgstr "Оценка доходов"
#. module: crm
#: model:crm.case.stage,name:crm.stage_job1
@@ -2013,7 +2013,7 @@ msgstr ""
#. module: crm
#: field:crm.case.rule,trg_priority_to:0
msgid "Maximim Priority"
-msgstr ""
+msgstr "Максимальный приоритет"
#. module: crm
#: selection:crm.meeting,transparent:0
@@ -2042,7 +2042,7 @@ msgstr ""
#: model:crm.case.stage,name:crm.stage_phone2
#: view:crm.phonecall:0
msgid "Held"
-msgstr ""
+msgstr "Приостановлено"
#. module: crm
#: view:crm.case:0
@@ -2058,7 +2058,7 @@ msgstr ""
#. module: crm
#: selection:crm.new.send.mail,init,state:0
msgid "Unchanged"
-msgstr ""
+msgstr "Не изменен"
#. module: crm
#: wizard_view:crm.job.partner_create,init:0
@@ -2072,7 +2072,7 @@ msgstr ""
#. module: crm
#: field:crm.case.rule,trg_state_from:0
msgid "Case State"
-msgstr ""
+msgstr "Состояние вопроса"
#. module: crm
#: code:addons/crm/crm.py:0
@@ -2093,17 +2093,17 @@ msgstr "Приоритет"
#. module: crm
#: view:crm.opportunity:0
msgid "Source"
-msgstr ""
+msgstr "Источник"
#. module: crm
#: field:crm.meeting,location:0
msgid "Location"
-msgstr ""
+msgstr "Расположение"
#. module: crm
#: view:crm.fundraising:0
msgid "Payment Mode"
-msgstr ""
+msgstr "Режим оплаты"
#. module: crm
#: help:crm.case.rule,trg_date_range:0
@@ -2176,7 +2176,7 @@ msgstr ""
#: wizard_field:crm.opportunity.reschedule_phone_call,init,deadline:0
#: view:crm.phonecall:0
msgid "Planned Date"
-msgstr ""
+msgstr "Планируемая Дата"
#. module: crm
#: selection:crm.case.rule,trg_date_range_type:0
@@ -2211,7 +2211,7 @@ msgstr ""
#: selection:report.crm.case.section.categ2,month:0
#: selection:report.crm.case.section.stage,month:0
msgid "July"
-msgstr ""
+msgstr "Июль"
#. module: crm
#: model:crm.case.stage,name:crm.stage_oppor1
@@ -2221,7 +2221,7 @@ msgstr ""
#. module: crm
#: field:crm.case,partner_name2:0
msgid "Employee Email"
-msgstr ""
+msgstr "Эл.почта сотрудника"
#. module: crm
#: model:ir.model,name:crm.model_crm_meeting
@@ -2231,17 +2231,17 @@ msgstr ""
#. module: crm
#: view:crm.job:0
msgid "Job Info"
-msgstr ""
+msgstr "Описание работ"
#. module: crm
#: view:crm.meeting:0
msgid "Cancel Meeting"
-msgstr ""
+msgstr "Отмена встречи"
#. module: crm
#: model:crm.case.section,name:crm.section_support0
msgid "Jobs"
-msgstr ""
+msgstr "Вакансии"
#. module: crm
#: view:crm.case.rule:0
@@ -2290,7 +2290,7 @@ msgstr "Шаблон письма для отправки"
#: field:report.crm.case.section.categ2,month:0
#: field:report.crm.case.section.stage,month:0
msgid "Month"
-msgstr ""
+msgstr "Месяц"
#. module: crm
#: model:crm.case.section,name:crm.section_support2
@@ -2300,13 +2300,13 @@ msgstr ""
#: model:ir.ui.menu,name:crm.menu_crm_case_categ0_act_leads
#: model:process.node,name:crm.process_node_leads0
msgid "Leads"
-msgstr ""
+msgstr "Кандидаты"
#. module: crm
#: wizard_button:crm.new.send.mail,init,send:0
#: wizard_button:crm.send.mail,init,send:0
msgid "Send Email"
-msgstr ""
+msgstr "Отправить эл. письмо"
#. module: crm
#: wizard_view:crm.new.send.mail,init:0
@@ -2316,7 +2316,7 @@ msgstr ""
#. module: crm
#: model:crm.case.category2,name:crm.categ2_fund3
msgid "Credit Card"
-msgstr ""
+msgstr "Кредитная карта"
#. module: crm
#: code:addons/crm/crm.py:0
@@ -2360,7 +2360,7 @@ msgstr ""
#. module: crm
#: view:crm.case.rule:0
msgid "Note"
-msgstr ""
+msgstr "Заметка"
#. module: crm
#: field:report.crm.case.section.categ.categ2,delay_close:0
@@ -2400,7 +2400,7 @@ msgstr ""
#: code:addons/crm/crm.py:0
#, python-format
msgid "cancel"
-msgstr ""
+msgstr "отмена"
#. module: crm
#: model:crm.case.categ,name:crm.categ_meet2
@@ -2414,7 +2414,7 @@ msgstr ""
#: view:crm.lead:0
#: view:crm.opportunity:0
msgid "Events"
-msgstr ""
+msgstr "События"
#. module: crm
#: help:crm.menu.config_wizard,lead:0
@@ -2470,7 +2470,7 @@ msgstr ""
#: model:ir.ui.menu,name:crm.menu_crm_case_phone
#, python-format
msgid "Phone Calls"
-msgstr ""
+msgstr "Телефонные звонки"
#. module: crm
#: help:crm.case,active:0
@@ -2487,17 +2487,17 @@ msgstr ""
#. module: crm
#: view:crm.case.history:0
msgid "Case History"
-msgstr ""
+msgstr "История вопроса"
#. module: crm
#: field:crm.case,partner_phone:0
msgid "Phone"
-msgstr ""
+msgstr "Телефон"
#. module: crm
#: model:crm.case.category2,name:crm.categ2_fund2
msgid "Cheque"
-msgstr ""
+msgstr "Чек"
#. module: crm
#: field:crm.case,active:0
@@ -2531,7 +2531,7 @@ msgstr ""
#. module: crm
#: model:ir.actions.wizard,name:crm.wizard_crm_send_mail
msgid "Send Mail"
-msgstr ""
+msgstr "Отправить письмо"
#. module: crm
#: selection:crm.case.rule,trg_date_range_type:0
@@ -2602,7 +2602,7 @@ msgstr ""
#: wizard_field:crm.new.send.mail,init,to:0
#: wizard_field:crm.send.mail,init,to:0
msgid "To"
-msgstr ""
+msgstr "Кому"
#. module: crm
#: view:crm.case.rule:0
@@ -2612,7 +2612,7 @@ msgstr ""
#. module: crm
#: model:ir.ui.menu,name:crm.menu_presale
msgid "Sales"
-msgstr ""
+msgstr "Продажи"
#. module: crm
#: view:crm.case:0
@@ -2623,18 +2623,18 @@ msgstr "Общий"
#. module: crm
#: model:crm.case.stage,name:crm.stage_lead2
msgid "Assigned"
-msgstr ""
+msgstr "Назначен"
#. module: crm
#: model:crm.case.stage,name:crm.stage_lead5
msgid "Recycled"
-msgstr ""
+msgstr "Повторно используется"
#. module: crm
#: model:crm.case.categ,name:crm.categ_lead8
#: model:crm.case.categ,name:crm.categ_oppor8
msgid "Other"
-msgstr ""
+msgstr "Другое"
#. module: crm
#: view:crm.case:0
@@ -2644,7 +2644,7 @@ msgstr ""
#: selection:crm.new.send.mail,init,state:0
#: view:crm.opportunity:0
msgid "Done"
-msgstr ""
+msgstr "Готово"
#. module: crm
#: field:crm.segmentation,som_interval_max:0
@@ -2654,7 +2654,7 @@ msgstr "Макс. интервал"
#. module: crm
#: model:ir.actions.act_window,name:crm.crm_case_category_act_oppor11
msgid "All Opportunities"
-msgstr ""
+msgstr "Все возможные сделки"
#. module: crm
#: code:addons/crm/crm.py:0
@@ -2725,18 +2725,18 @@ msgstr "Ответственный"
#: model:crm.case.stage,name:crm.stage_claim4
#: model:crm.case.stage,name:crm.stage_meet3
msgid "Invalid"
-msgstr ""
+msgstr "Неверное значение"
#. module: crm
#: wizard_button:crm.job.meeting_set,init,order:0
#: wizard_button:crm.phonecall.meeting_set,init,order:0
msgid "Set Meeting"
-msgstr ""
+msgstr "Выбрать совещание"
#. module: crm
#: field:crm.menu.config_wizard,meeting:0
msgid "Calendar of Meetings"
-msgstr ""
+msgstr "Календарь встреч"
#. module: crm
#: view:crm.case:0
@@ -2750,6 +2750,8 @@ msgid ""
"You can not escalate this case.\n"
"You are already at the top level."
msgstr ""
+"Вы не можете эскалировать этот вопрос.\n"
+"Вы уже на верхнем уровне."
#. module: crm
#: view:crm.lead:0
@@ -2775,7 +2777,7 @@ msgstr ""
#: wizard_view:crm.lead.opportunity_set,create_partner:0
#: wizard_view:crm.lead.partner_create,init:0
msgid "Are you sure you want to create a partner based on this lead ?"
-msgstr ""
+msgstr "Вы уверены, что хотите создать партнера на основе этого кандидата?"
#. module: crm
#: model:crm.case.stage,name:crm.stage_job6
@@ -2798,12 +2800,12 @@ msgstr ""
#: view:report.crm.case.section.categ2:0
#: view:report.crm.case.section.stage:0
msgid "This Month"
-msgstr ""
+msgstr "Этот месяц"
#. module: crm
#: view:crm.job:0
msgid "Availability (weeks)"
-msgstr ""
+msgstr "Доступность (недели)"
#. module: crm
#: view:crm.opportunity:0
@@ -2830,7 +2832,7 @@ msgstr ""
#. module: crm
#: selection:crm.email.add.cc,name:0
msgid "Email Address"
-msgstr ""
+msgstr "Эл. адрес (e-mail):"
#. module: crm
#: help:crm.segmentation,som_interval_max:0
@@ -2847,7 +2849,7 @@ msgstr ""
#. module: crm
#: field:crm.case.rule,server_action_id:0
msgid "Server Action"
-msgstr ""
+msgstr "Действие сервера"
#. module: crm
#: model:ir.actions.act_window,name:crm.crm_case_categ_claim0
@@ -2863,7 +2865,7 @@ msgstr "Ответственный пользователь"
#: code:addons/crm/wizard/wizard_crm_new_send_email.py:0
#, python-format
msgid "Email not sent !"
-msgstr ""
+msgstr "Ел. письмо не отправлено!"
#. module: crm
#: wizard_field:crm.phonecall.partner_create,init,close:0
@@ -2920,17 +2922,17 @@ msgstr ""
#: wizard_field:crm.job.reschedule_phone_call,init,user_id:0
#: wizard_field:crm.opportunity.reschedule_phone_call,init,user_id:0
msgid "Assign To"
-msgstr ""
+msgstr "Назначить на"
#. module: crm
#: field:crm.case,date_action_last:0
msgid "Last Action"
-msgstr ""
+msgstr "Последнее действие"
#. module: crm
#: field:crm.case,duration:0
msgid "Duration"
-msgstr ""
+msgstr "Продолжительность"
#. module: crm
#: model:ir.model,name:crm.model_report_crm_case_section_categ_stage
@@ -2950,7 +2952,7 @@ msgstr ""
#. module: crm
#: model:ir.ui.menu,name:crm.next_id_52
msgid "All Cases"
-msgstr ""
+msgstr "Все вопросы"
#. module: crm
#: code:addons/crm/wizard/crm_lead_wizard.py:0
@@ -2961,7 +2963,7 @@ msgstr ""
#. module: crm
#: view:crm.lead:0
msgid "Lead Source"
-msgstr ""
+msgstr "Источник кандидата"
#. module: crm
#: field:report.crm.case.section.categ.categ2,nbr:0
@@ -2990,7 +2992,7 @@ msgstr "Сегментация"
#. module: crm
#: view:crm.fundraising:0
msgid "Funds Form"
-msgstr ""
+msgstr "Источник финансирования"
#. module: crm
#: view:crm.meeting:0
@@ -3006,12 +3008,12 @@ msgstr ""
#. module: crm
#: field:crm.case,company_id:0
msgid "Company"
-msgstr ""
+msgstr "Организация"
#. module: crm
#: model:crm.case.stage,name:crm.stage_lead3
msgid "In Process"
-msgstr ""
+msgstr "В процессе"
#. module: crm
#: selection:crm.segmentation,state:0
@@ -3046,12 +3048,12 @@ msgstr ""
#: wizard_button:caldav.crm.subscribe,display,end:0
#: view:crm.email.add.cc:0
msgid "Ok"
-msgstr ""
+msgstr "Хорошо"
#. module: crm
#: wizard_field:caldav.crm.export,init,name:0
msgid "File name"
-msgstr ""
+msgstr "Имя файла"
#. module: crm
#: view:crm.lead:0
@@ -3081,7 +3083,7 @@ msgstr ""
#: model:ir.actions.act_window,name:crm.crm_case_categ0_act_job
#: model:ir.ui.menu,name:crm.menu_crm_case_categ0_act_job
msgid "All Jobs Requests"
-msgstr ""
+msgstr "Все запросы на выполнение работ"
#. module: crm
#: selection:crm.case,state:0
@@ -3093,7 +3095,7 @@ msgstr ""
#: selection:report.crm.case.section.categ2,state:0
#: selection:report.crm.case.section.stage,state:0
msgid "Cancelled"
-msgstr ""
+msgstr "Отменено"
#. module: crm
#: view:crm.job:0
@@ -3125,7 +3127,7 @@ msgstr ""
#. module: crm
#: wizard_view:caldav.crm.import,init:0
msgid "Import ICS"
-msgstr ""
+msgstr "Импорт ICS"
#. module: crm
#: view:crm.phonecall:0
@@ -3189,12 +3191,12 @@ msgstr ""
#. module: crm
#: model:crm.case.stage,name:crm.stage_lead1
msgid "New"
-msgstr ""
+msgstr "Создать"
#. module: crm
#: field:crm.case,description:0
msgid "Your action"
-msgstr ""
+msgstr "Ваши действия"
#. module: crm
#: model:crm.case.category2,name:crm.category_lead3
@@ -3223,12 +3225,12 @@ msgstr ""
#. module: crm
#: view:crm.case.rule:0
msgid "E-Mail Reminders (includes the content of the case)"
-msgstr ""
+msgstr "Напоминания по электронной почте (включают содержание вропроса)"
#. module: crm
#: model:ir.ui.menu,name:crm.menu_action_report_crm_case_lead_stage
msgid "Cases by Leads and Stage"
-msgstr ""
+msgstr "Вопросы по кандидату и этапу"
#. module: crm
#: field:crm.meeting,exdate:0
@@ -3248,7 +3250,7 @@ msgstr ""
#. module: crm
#: model:ir.ui.menu,name:crm.next_id_64
msgid "Reporting"
-msgstr ""
+msgstr "Отчетность"
#. module: crm
#: code:addons/crm/crm.py:0
@@ -3279,7 +3281,7 @@ msgstr ""
#. module: crm
#: view:crm.job:0
msgid "Expected Salary"
-msgstr ""
+msgstr "Ожидаемая зарплата"
#. module: crm
#: model:ir.ui.menu,name:crm.menu_crm_configuration
@@ -3289,12 +3291,12 @@ msgstr "Настройки"
#. module: crm
#: model:ir.actions.wizard,name:crm.wizard_crm_new_send_mail
msgid "Send New Mail"
-msgstr ""
+msgstr "Послать новое ел.письмо"
#. module: crm
#: constraint:ir.cron:0
msgid "Invalid arguments"
-msgstr ""
+msgstr "Недопустимые аргументы"
#. module: crm
#: field:crm.meeting,transparent:0
@@ -3304,7 +3306,7 @@ msgstr ""
#. module: crm
#: view:crm.case:0
msgid "My Cases"
-msgstr ""
+msgstr "Мои дела"
#. module: crm
#: model:crm.case.categ,name:crm.categ_lead7
@@ -3326,7 +3328,7 @@ msgstr ""
#. module: crm
#: model:crm.case.stage,name:crm.stage_phone1
msgid "Planned"
-msgstr ""
+msgstr "Запланировано"
#. module: crm
#: model:crm.case.category2,name:crm.category_meet3
@@ -3374,7 +3376,7 @@ msgstr ""
#: selection:report.crm.case.section.categ2,month:0
#: selection:report.crm.case.section.stage,month:0
msgid "December"
-msgstr ""
+msgstr "Декабрь"
#. module: crm
#: view:report.crm.case.section.categ.categ2:0
@@ -3394,7 +3396,7 @@ msgstr "Отправить письмо партнеру"
#. module: crm
#: view:crm.fundraising:0
msgid "Funds Tree"
-msgstr ""
+msgstr "Диаграмма финансирования"
#. module: crm
#: field:crm.case.rule,act_method:0
@@ -3411,12 +3413,12 @@ msgstr ""
#: view:crm.meeting:0
#: model:ir.ui.menu,name:crm.menu_crm_case_category_act_meetings
msgid "Calendar"
-msgstr ""
+msgstr "Календарь"
#. module: crm
#: model:crm.case.categ,name:crm.categ_job1
msgid "Salesman"
-msgstr ""
+msgstr "Менеджер продаж"
#. module: crm
#: model:crm.case.section,name:crm.section_support_help
@@ -3438,7 +3440,7 @@ msgstr ""
#: model:ir.actions.wizard,name:crm.wizard_crm_job_meeting_set
#: model:ir.actions.wizard,name:crm.wizard_crm_phonecall_meeting_set
msgid "Schedule Meeting"
-msgstr ""
+msgstr "Запланировать встречу"
#. module: crm
#: model:crm.case.categ,name:crm.categ_fund4
@@ -3462,7 +3464,7 @@ msgstr "Занести в журнал"
#. module: crm
#: view:crm.meeting:0
msgid "Confirmed"
-msgstr ""
+msgstr "Подтверждено"
#. module: crm
#: selection:crm.segmentation,state:0
@@ -3549,7 +3551,7 @@ msgstr ""
#: field:report.crm.case.section.categ2,user_id:0
#: field:report.crm.case.section.stage,user_id:0
msgid "User"
-msgstr ""
+msgstr "Пользователь"
#. module: crm
#: model:ir.ui.menu,name:crm.menu_action_report_crm_case_lead_categ_categ2
@@ -3564,7 +3566,7 @@ msgstr ""
#: selection:report.crm.case.section.categ2,month:0
#: selection:report.crm.case.section.stage,month:0
msgid "November"
-msgstr ""
+msgstr "Ноябрь"
#. module: crm
#: model:crm.case.category2,name:crm.category_job2
@@ -3585,7 +3587,7 @@ msgstr ""
#: model:ir.actions.wizard,name:crm.wizard_crm_job_reschedule_phone_call
#: model:ir.actions.wizard,name:crm.wizard_crm_opportunity_reschedule_phone_call
msgid "Schedule Phone Call"
-msgstr ""
+msgstr "Запланировать телефонный звонок"
#. module: crm
#: code:addons/crm/crm.py:0
@@ -3600,12 +3602,12 @@ msgstr ""
#: selection:report.crm.case.section.categ2,month:0
#: selection:report.crm.case.section.stage,month:0
msgid "January"
-msgstr ""
+msgstr "Январь"
#. module: crm
#: model:process.process,name:crm.process_process_contractprocess0
msgid "Contract"
-msgstr ""
+msgstr "Договор"
#. module: crm
#: field:crm.case.section,child_ids:0
@@ -3634,7 +3636,7 @@ msgstr ""
#: view:crm.phonecall:0
#: view:crm.phonecall.assign_wizard:0
msgid "Assign"
-msgstr ""
+msgstr "Назначить"
#. module: crm
#: field:crm.case,partner_address_id:0
@@ -3644,7 +3646,7 @@ msgstr "Контакт партнера"
#. module: crm
#: model:crm.case.category2,name:crm.category_meet1
msgid "Office"
-msgstr ""
+msgstr "Офис"
#. module: crm
#: model:ir.model,name:crm.model_crm_fundraising
@@ -3694,12 +3696,12 @@ msgstr "Код секции"
#: wizard_field:crm.job.meeting_set,init,date:0
#: wizard_field:crm.phonecall.meeting_set,init,date:0
msgid "Meeting date"
-msgstr ""
+msgstr "Дата проведения встречи"
#. module: crm
#: selection:crm.meeting,class:0
msgid "CONFIDENTIAL"
-msgstr ""
+msgstr "КОНФИДЕНЦИАЛЬНО"
#. module: crm
#: help:crm.case.rule,act_mail_body:0
@@ -3715,7 +3717,7 @@ msgstr ""
#: model:crm.case.categ,name:crm.categ_lead3
#: model:crm.case.categ,name:crm.categ_oppor3
msgid "Employee"
-msgstr ""
+msgstr "Сотрудник"
#. module: crm
#: field:crm.case,email_from:0
@@ -3746,12 +3748,12 @@ msgstr "Описание"
#: selection:report.crm.case.section.categ2,month:0
#: selection:report.crm.case.section.stage,month:0
msgid "May"
-msgstr ""
+msgstr "Май"
#. module: crm
#: view:crm.job:0
msgid "Internal Notes"
-msgstr ""
+msgstr "Внутренние примечания"
#. module: crm
#: help:crm.case.rule,act_remind_user:0
@@ -3769,7 +3771,7 @@ msgstr ""
#: view:crm.opportunity:0
#: wizard_field:crm.send.mail,init,cc:0
msgid "CC"
-msgstr ""
+msgstr "Копия"
#. module: crm
#: field:crm.segmentation.line,operator:0
@@ -3779,7 +3781,7 @@ msgstr ""
#. module: crm
#: wizard_button:caldav.crm.import,init,open:0
msgid "_Import"
-msgstr ""
+msgstr "_Импортировать"
#. module: crm
#: code:addons/crm/crm.py:0
@@ -3796,7 +3798,7 @@ msgstr ""
#: model:res.request.link,name:crm.req_link_case
#, python-format
msgid "Case"
-msgstr ""
+msgstr "Вопрос"
#. module: crm
#: selection:crm.case,priority:0
@@ -3812,14 +3814,14 @@ msgstr "Самый низкий"
#: selection:report.crm.case.section.categ2,month:0
#: selection:report.crm.case.section.stage,month:0
msgid "February"
-msgstr ""
+msgstr "Февраль"
#. module: crm
#: view:crm.phonecall:0
#: model:ir.actions.act_window,name:crm.crm_case_categ_meet_case
#: model:ir.actions.act_window,name:crm.crm_case_categ_meet_create_partner
msgid "Schedule a Meeting"
-msgstr ""
+msgstr "Запланировать встречу"
#. module: crm
#: view:crm.case.rule:0
@@ -3837,7 +3839,7 @@ msgstr ""
#: wizard_view:crm.new.send.mail,init:0
#: wizard_view:crm.send.mail,init:0
msgid "Mass Mailing"
-msgstr ""
+msgstr "Массовая рассылка"
#. module: crm
#: view:crm.case.rule:0
@@ -3850,17 +3852,17 @@ msgstr ""
#: field:report.crm.case.section.categ2,name:0
#: field:report.crm.case.section.stage,name:0
msgid "Year"
-msgstr ""
+msgstr "Год"
#. module: crm
#: model:crm.case.category2,name:crm.categ2_fund1
msgid "Cash"
-msgstr ""
+msgstr "Наличные"
#. module: crm
#: view:crm.fundraising:0
msgid "Funds by Categories"
-msgstr ""
+msgstr "Фонды по категориям"
#. module: crm
#: model:process.node,note:crm.process_node_leads0
@@ -3873,12 +3875,12 @@ msgstr ""
#: selection:report.crm.case.section.categ2,month:0
#: selection:report.crm.case.section.stage,month:0
msgid "April"
-msgstr ""
+msgstr "Апрель"
#. module: crm
#: model:crm.case.stage,name:crm.stage_meet5
msgid "Future"
-msgstr ""
+msgstr "Будущие"
#. module: crm
#: wizard_field:caldav.crm.export,init,file_path:0
diff --git a/addons/crm/test/test_crm_opportunity.yml b/addons/crm/test/test_crm_opportunity.yml
index e3a4f28cb5e..48a71de1dce 100644
--- a/addons/crm/test/test_crm_opportunity.yml
+++ b/addons/crm/test/test_crm_opportunity.yml
@@ -8,7 +8,7 @@
partner_address_id: base.res_partner_address_1
partner_id: base.res_partner_9
probability: 1.0
- stage_id: crm.stage_oppor1
+ stage_id: crm.stage_lead1
categ_id: crm.categ_oppor2
section_id: crm.section_sales_department
diff --git a/addons/crm/wizard/crm_lead_to_partner_view.xml b/addons/crm/wizard/crm_lead_to_partner_view.xml
index 2f7f8540e7f..8b9c0d1fee9 100644
--- a/addons/crm/wizard/crm_lead_to_partner_view.xml
+++ b/addons/crm/wizard/crm_lead_to_partner_view.xml
@@ -1,25 +1,6 @@
<openerp>
<data>
- <!-- Lead to partner confirmation form -->
-
- <record id="view_crm_lead2partner_create" model="ir.ui.view">
- <field name="name">crm.lead2partner.view.create</field>
- <field name="model">crm.lead2partner</field>
- <field name="type">form</field>
- <field name="arch" type="xml">
- <form string="Create a Partner?">
- <label string="Are you sure you want to create a partner based on this lead ?" colspan="4"/>
- <label string="You may have to verify that this partner does not exist already." colspan="4"/>
- <separator string="" colspan="4" />
- <group col="4" colspan="4">
- <button special="cancel" string="_Cancel" icon="gtk-cancel"/>
- <button name="open_create_partner" string="Create _Partner" type="object" icon="gtk-ok"/>
- </group>
- </form>
- </field>
- </record>
-
<!-- Lead to Partner form view -->
<record id="view_crm_lead2partner" model="ir.ui.view">
@@ -28,6 +9,9 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Create a Partner">
+ <separator string="Create a Partner" colspan="4" />
+ <label string="Are you sure you want to create a partner based on this lead ?" colspan="4"/>
+ <label string="You may have to verify that this partner does not exist already." colspan="4"/>
<field name="action"/>
<group attrs="{'invisible':[('action','!=','exist')]}">
<field name="partner_id" attrs="{'required': [('action', '=', 'exist')]}"/>
@@ -48,7 +32,7 @@
<field name="type">ir.actions.act_window</field>
<field name="res_model">crm.lead2partner</field>
<field name="view_type">form</field>
- <field name="view_id" ref="view_crm_lead2partner_create"/>
+ <field name="view_id" ref="view_crm_lead2partner"/>
<field name="target">new</field>
</record>
diff --git a/addons/crm/wizard/crm_phonecall_to_phonecall.py b/addons/crm/wizard/crm_phonecall_to_phonecall.py
index d22e70303d7..f288fd2d5b7 100644
--- a/addons/crm/wizard/crm_phonecall_to_phonecall.py
+++ b/addons/crm/wizard/crm_phonecall_to_phonecall.py
@@ -73,8 +73,8 @@ class crm_phonecall2phonecall(osv.osv_memory):
values = {
'name': this.name,
'user_id': this.user_id and this.user_id.id,
- 'categ_id': phonecall.categ_id and phonecall.categ_id.id or False,
- 'section_id': phonecall.section_id and phonecall.section_id.id,
+ 'categ_id': this.categ_id.id,
+ 'section_id': this.section_id.id or (phonecall.section_id and phonecall.section_id.id),
'description': phonecall.description or '',
'partner_id': phonecall.partner_id.id,
'partner_address_id': phonecall.partner_address_id.id,
@@ -94,7 +94,7 @@ class crm_phonecall2phonecall(osv.osv_memory):
'views': [(id2, 'form'), (id3, 'tree'), (False, 'calendar'), (False, 'graph')],
'type': 'ir.actions.act_window',
'res_id': phonecall_id,
- 'domain': [('id', 'in', [int(phonecall_id)])],
+ 'domain': [('id', '=', phonecall_id)],
'search_view_id': res['res_id']
}
return res
@@ -102,7 +102,10 @@ class crm_phonecall2phonecall(osv.osv_memory):
_columns = {
'name' : fields.char('Call summary', size=64, required=True, select=1),
'user_id' : fields.many2one('res.users',"Assign To"),
- 'date': fields.datetime('Date'),
+ 'categ_id': fields.many2one('crm.case.categ', 'Category', required=True, \
+ domain="[('section_id','=',section_id),\
+ ('object_id.model', '=', 'crm.phonecall')]"),
+ 'date': fields.datetime('Date', required=True),
'section_id':fields.many2one('crm.case.section','Sales Team'),
}
@@ -119,10 +122,16 @@ class crm_phonecall2phonecall(osv.osv_memory):
"""
res = super(crm_phonecall2phonecall, self).default_get(cr, uid, fields, context=context)
record_id = context and context.get('active_id', False) or False
-
+
if record_id:
phonecall = self.pool.get('crm.phonecall').browse(cr, uid, record_id, context=context)
+ categ_id = False
+ data_obj = self.pool.get('ir.model.data')
+ res_id = data_obj._get_id(cr, uid, 'crm', 'categ_phone2')
+ if res_id:
+ categ_id = data_obj.browse(cr, uid, res_id, context=context).res_id
+
if 'name' in fields:
res.update({'name': phonecall.name})
if 'user_id' in fields:
@@ -131,7 +140,8 @@ class crm_phonecall2phonecall(osv.osv_memory):
res.update({'date': phonecall.date})
if 'section_id' in fields:
res.update({'section_id': phonecall.section_id and phonecall.section_id.id or False})
-
+ if 'categ_id' in fields:
+ res.update({'categ_id': categ_id})
return res
crm_phonecall2phonecall()
diff --git a/addons/crm/wizard/crm_phonecall_to_phonecall_view.xml b/addons/crm/wizard/crm_phonecall_to_phonecall_view.xml
index cdc673d0e65..34a0d2c158e 100644
--- a/addons/crm/wizard/crm_phonecall_to_phonecall_view.xml
+++ b/addons/crm/wizard/crm_phonecall_to_phonecall_view.xml
@@ -10,16 +10,18 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Schedule Other Call">
- <field name="name"/>
- <field name="user_id" />
- <field name="date" string="Planned Date"/>
- <field name="section_id"/>
- <separator string=" " colspan="4"/>
- <group colspan="4" col="3" >
- <label string=" " />
- <button name="action_cancel" string="_Cancel" icon="gtk-cancel" special="cancel" />
- <button name="action_apply" type="object" string="_Schedule" icon="gtk-go-forward" />
- </group>
+ <separator string="Schedule Other Call" colspan="4"/>
+ <field name="name"/>
+ <field name="date" string="Planned Date"/>
+ <field name="user_id" />
+ <field name="section_id"/>
+ <field name="categ_id" widget="selection" domain="[('object_id.model', '=', 'crm.phonecall')]"/>
+ <separator string=" " colspan="4"/>
+ <group colspan="4" col="3" >
+ <label string=" " />
+ <button name="action_cancel" string="_Cancel" icon="gtk-cancel" special="cancel" />
+ <button name="action_apply" type="object" string="_Schedule" icon="gtk-go-forward" />
+ </group>
</form>
</field>
</record>
@@ -36,4 +38,4 @@
</record>
</data>
-</openerp> \ No newline at end of file
+</openerp>
diff --git a/addons/document/security/ir.model.access.csv b/addons/document/security/ir.model.access.csv
index 245bcbffeab..9684932b2a6 100644
--- a/addons/document/security/ir.model.access.csv
+++ b/addons/document/security/ir.model.access.csv
@@ -9,6 +9,7 @@
"access_document_directory_content_type_group_system","document.directory.content.type group system","model_document_directory_content_type","base.group_user",1,0,0,0
"access_document_storage_group_document_manager","document.storage document manager","model_document_storage","group_document_manager",1,1,1,1
"access_document_storage_group_system","document.storage group system","model_document_storage","base.group_user",1,0,0,0
+"access_document_directory_dctx_all","document.directory.dctx all","model_document_directory_dctx",,1,0,0,0
"access_document_directory_dctx_group_document_manager","document.directory.dctx document manager","model_document_directory_dctx","group_document_manager",1,1,1,1
"access_document_directory_dctx_group_system","document.directory.dctx group system","model_document_directory_dctx","base.group_system",1,1,1,1
"access_report_document_user_group_document_manager","report.document.user document manager","model_report_document_user","document.group_document_manager",1,0,0,0
diff --git a/addons/event/__init__.py b/addons/event/__init__.py
index 275c10657ff..ce8b64ed9a9 100644
--- a/addons/event/__init__.py
+++ b/addons/event/__init__.py
@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
##############################################################################
-#
+#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
#
@@ -15,12 +15,13 @@
# 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/>.
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
import event
import wizard
import report
+import res_partner
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/event/__openerp__.py b/addons/event/__openerp__.py
index 7cd7d4ae2c6..634484deecb 100644
--- a/addons/event/__openerp__.py
+++ b/addons/event/__openerp__.py
@@ -53,6 +53,7 @@
'wizard/event_make_invoice_view.xml',
'wizard/partner_event_registration_view.xml',
'board_association_view.xml',
+ 'res_partner_view.xml',
],
'demo_xml': ['event_demo.xml', 'board_association_demo.xml'],
'test': ['test/test_event.yml'],
diff --git a/addons/event/event.py b/addons/event/event.py
index b74f874e6b5..73ff7f6755a 100644
--- a/addons/event/event.py
+++ b/addons/event/event.py
@@ -176,11 +176,13 @@ class event_event(osv.osv):
'note': fields.text('Notes', help="Description or Summary of Event"),
'currency_id': fields.many2one('res.currency', 'Currency', required=True, readonly=True, states={'draft':[('readonly',False)]}),
"unit_price": fields.float('Cost'),
- 'partner_id': fields.many2one('res.partner','Teacher'),
+ 'main_speaker_id': fields.many2one('res.partner','Main Speaker'),
+ 'speaker_ids':fields.many2many('res.partner', 'event_speaker_rel', 'speaker_id', 'partner_id', 'Other Speakers'),
'address_id': fields.many2one('res.partner.address','Location Room'),
- 'teacher_confirmed': fields.boolean('Teacher Confirmed'),
+ 'speaker_confirmed': fields.boolean('Speaker Confirmed'),
'country_id': fields.related('address_id', 'country_id',
type='many2one', relation='res.country', string='Country'),
+ 'language': fields.char('Language',size=64),
}
diff --git a/addons/event/event_view.xml b/addons/event/event_view.xml
index 20047d00f73..97b122d5c6a 100644
--- a/addons/event/event_view.xml
+++ b/addons/event/event_view.xml
@@ -57,18 +57,20 @@
<page string="General">
<field name="unit_price"/>
<field name="currency_id"/>
- <separator string="Teacher Information" colspan="4"/>
- <field name="partner_id"/>
+ <separator string="Speaker Information" colspan="4"/>
+ <field name="main_speaker_id" domain="[('speaker','=',True)]"/>
<field name="address_id"/>
- <field name="teacher_confirmed"/>
+ <field name="speaker_ids" domain="[('speaker','=',True)]" colspan="4"/>
<field name="country_id" />
+ <field name="speaker_confirmed"/>
+ <field name="language"/>
<separator string="Event description" colspan="4"/>
<field name="parent_id" domain="[('parent_id','child_of','Event')]"/>
<field name="active"/>
<field name="register_min"/>
<field name="register_max"/>
<separator string="Notes" colspan="4"/>
- <field name="note" colspan="4" nolabel="1"/>
+ <!--field name="note" colspan="4" nolabel="1"/-->
<field name="state" select="1"/>
<group col="4" colspan="2">
<button string="Confirm Event" name="button_confirm" states="draft" type="object" icon="gtk-apply"/>
@@ -120,9 +122,11 @@
<field name="arch" type="xml">
<tree string="Events" colors="red:register_min>register_current;black:register_min&lt;=register_current">
<field name="name" string="Name"/>
- <field name="user_id"/>
+ <field name="main_speaker_id"/>
+ <field name="language"/>
<field name="type"/>
<field name="date_begin"/>
+ <field name="date_end"/>
<field name="register_min"/>
<field name="register_current"/>
<field name="state"/>
diff --git a/addons/event/report/report_event_registration.py b/addons/event/report/report_event_registration.py
index d9232136c3a..9af9347a76d 100644
--- a/addons/event/report/report_event_registration.py
+++ b/addons/event/report/report_event_registration.py
@@ -43,6 +43,7 @@ class report_event_registration(osv.osv):
'type': fields.many2one('event.type', 'Event Type'),
'state': fields.selection([('draft', 'Draft'), ('confirm', 'Confirmed'), ('done', 'Done'), ('cancel', 'Cancelled')], 'State', readonly=True, required=True),
'user_id':fields.many2one('res.users', 'Responsible', readonly=True),
+ 'speaker_id':fields.many2one('res.partner', 'Speaker', readonly=True),
}
_order = 'date desc'
def init(self, cr):
@@ -57,6 +58,7 @@ class report_event_registration(osv.osv):
c.event_id as event_id,
e.date_begin as date,
e.user_id as user_id,
+ e.main_speaker_id as speaker_id,
to_char(e.date_begin, 'YYYY') as year,
to_char(e.date_begin, 'MM') as month,
to_char(e.date_begin, 'YYYY-MM-DD') as day,
@@ -75,7 +77,7 @@ class report_event_registration(osv.osv):
group by
to_char(e.date_begin, 'YYYY'),
to_char(e.date_begin, 'MM'),
- t.id, e.id, e.date_begin,
+ t.id, e.id, e.date_begin,e.main_speaker_id,
e.register_max, e.type, e.state, c.event_id, e.user_id,
to_char(e.date_begin, 'YYYY-MM-DD')
)""")
diff --git a/addons/event/report/report_event_registration_view.xml b/addons/event/report/report_event_registration_view.xml
index 2931bc28aa8..9e00040fa97 100644
--- a/addons/event/report/report_event_registration_view.xml
+++ b/addons/event/report/report_event_registration_view.xml
@@ -10,6 +10,7 @@
<tree string="Event on Registration">
<field name="date" invisible="1"/>
<field name="user_id" invisible="1"/>
+ <field name="speaker_id" invisible="1"/>
<field name="year" invisible="1"/>
<field name="day" invisible="1"/>
<field name="month" invisible="1"/>
@@ -85,7 +86,8 @@
<separator orientation="vertical"/>
<filter string="state" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
<separator orientation="vertical"/>
- <filter string="Responsible" name="user" icon="terp-personal" context="{'group_by': 'user_id'}"/>
+ <filter string="Speaker" name="user" icon="terp-personal+" context="{'group_by': 'speaker_id'}"/>
+ <!--filter string="Responsible" name="user" icon="terp-personal" context="{'group_by': 'user_id'}"/-->
<separator orientation="vertical" />
<filter string="Day" icon="terp-go-month"
domain="[]" context="{'group_by':'day'}"/>
diff --git a/addons/event/res_partner.py b/addons/event/res_partner.py
new file mode 100644
index 00000000000..23075ba1927
--- /dev/null
+++ b/addons/event/res_partner.py
@@ -0,0 +1,36 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# Copyright (C) 2004-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 osv import fields,osv
+
+class res_partner(osv.osv):
+ _inherit = 'res.partner'
+
+ _columns = {
+ 'speaker': fields.boolean('Speaker'),
+ 'event_ids': fields.one2many('event.event','main_speaker_id',readonly=True),
+ 'event_registration_ids': fields.one2many('event.registration','partner_id',readonly=True),
+ }
+
+res_partner()
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+
diff --git a/addons/event/res_partner_view.xml b/addons/event/res_partner_view.xml
new file mode 100644
index 00000000000..0b6ace47b19
--- /dev/null
+++ b/addons/event/res_partner_view.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+<openerp>
+ <data>
+
+ <!-- Partners inherited form -->
+
+ <record id="view_speaker_partner_info_form" model="ir.ui.view">
+ <field name="name">res.partner.speaker.info.inherit</field>
+ <field name="model">res.partner</field>
+ <field name="type">form</field>
+ <field name="inherit_id" ref="base.view_partner_form"/>
+ <field name="arch" type="xml">
+ <field name="supplier" position="after">
+ <field name="speaker"/>
+ </field>
+ </field>
+ </record>
+ <record id="view_event_partner_info_form" model="ir.ui.view">
+ <field name="name">res.partner.event.info.inherit</field>
+ <field name="model">res.partner</field>
+ <field name="type">form</field>
+ <field name="inherit_id" ref="base.view_partner_form"/>
+ <field name="arch" type="xml">
+ <page string="History" position="inside">
+ <field name="event_ids" colspan="4" nolabel="1">
+ <tree string="Events">
+ <field name="name" string="Event"/>
+ <field name="main_speaker_id"/>
+ </tree>
+ </field>
+ <field name="event_registration_ids" colspan="4" nolabel="1">
+ <tree string="Events Registration">
+ <field name="event_id" />
+ <field name="partner_id"/>
+ <field name="unit_price"/>
+ </tree>
+ </field>
+ </page>
+ </field>
+ </record>
+
+ </data>
+</openerp>
+
diff --git a/addons/event/security/ir.model.access.csv b/addons/event/security/ir.model.access.csv
index c30a8b6aa3d..a59748aa534 100644
--- a/addons/event/security/ir.model.access.csv
+++ b/addons/event/security/ir.model.access.csv
@@ -1,6 +1,11 @@
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
"access_event_type","event.type","model_event_type","event.group_event_subscriber",1,0,0,0
"access_event_type_manager","event.type manager","model_event_type","event.group_event_manager",1,1,1,1
-"access_event_event","event.event","model_event_event","event.group_event_subscriber",1,1,1,1
-"access_event_registration","event.registration","model_event_registration","event.group_event_subscriber",1,1,1,1
+"access_event_event","event.event","model_event_event","event.group_event_subscriber",1,1,1,0
+"access_event_registration","event.registration","model_event_registration","event.group_event_subscriber",1,1,1,0
"access_report_event_registration","report.event.registration","model_report_event_registration","event.group_event_subscriber",1,0,0,0
+"access_event_event_manager","event.event manager","model_event_event","event.group_event_manager",1,1,1,1
+"access_event_registration_manager","event.registration manager","model_event_registration","event.group_event_manager",1,1,1,1
+"access_crm_case_section_manager","crm.case.section manager","crm.model_crm_case_section","event.group_event_manager",1,1,1,1
+"access_product_product","product.product.product manager","product.model_product_product","event.group_event_manager",1,1,1,1
+"access_report_event_registration","report.event.registration","model_report_event_registration","event.group_event_manager",1,1,1,1
diff --git a/addons/l10n_ch/demo/vaudtax_data_demo.xml b/addons/l10n_ch/demo/vaudtax_data_demo.xml
index 1da57c59ff4..cf00001a81b 100644
--- a/addons/l10n_ch/demo/vaudtax_data_demo.xml
+++ b/addons/l10n_ch/demo/vaudtax_data_demo.xml
@@ -1,88 +1,84 @@
<openerp>
<data noupdate="1">
- <record id="bank" model="res.partner">
- <field name="comment">My bank !</field>
- <field name="ref">banq</field>
- <field name="name">Banque</field>
- <field name="category_id" model="res.partner.category" search="[('name','=','Partenaire')]"/>
- </record>
- <record id="res_partner_address_bank1" model="res.partner.address">
- <field name="fax">+41 31 622 13 00</field>
- <field name="name">Marc Dufour</field>
- <field name="zip">1015</field>
- <field name="city">Lausanne</field>
- <field name="partner_id" ref="bank"/>
- <field name="country_id" model="res.country" search="[('code','=','ch')]"/>
- <field name="title">M.</field>
- <field name="email">tinyerp@bank.com</field>
- <field name="phone">+41 24 620 10 12</field>
- <field name="street">PSE-C</field>
- <field name="active">1</field>
- <field name="type">default</field>
- </record>
+ <record id="bank" model="res.partner">
+ <field name="comment">My bank !</field>
+ <field name="ref">banq</field>
+ <field name="name">Banque</field>
+ <field name="category_id" model="res.partner.category" search="[('name','=','Partenaire')]"/>
+ </record>
+ <record id="res_partner_address_bank1" model="res.partner.address">
+ <field name="fax">+41 31 622 13 00</field>
+ <field name="name">Marc Dufour</field>
+ <field name="zip">1015</field>
+ <field name="city">Lausanne</field>
+ <field name="partner_id" ref="bank"/>
+ <field name="country_id" model="res.country" search="[('code','=','ch')]"/>
+ <field name="email">tinyerp@bank.com</field>
+ <field name="phone">+41 24 620 10 12</field>
+ <field name="street">PSE-C</field>
+ <field name="active">1</field>
+ <field name="type">default</field>
+ </record>
- <record id="prolibre" model="res.partner">
- <field name="comment">Very good company!
- They provides a very high quality service.</field>
- <field name="ref">ProL</field>
- <field name="website">http://camptocamp.com</field>
- <field name="name">ProLibre</field>
- <field name="category_id" model="res.partner.category" search="[('name','=','Partenaire')]"/>
- </record>
+ <record id="prolibre" model="res.partner">
+ <field name="comment">Very good company!
+ They provides a very high quality service.</field>
+ <field name="ref">ProL</field>
+ <field name="website">http://camptocamp.com</field>
+ <field name="name">ProLibre</field>
+ <field name="category_id" model="res.partner.category" search="[('name','=','Partenaire')]"/>
+ </record>
- <record id="camptocamp" model="res.partner">
- <field name="comment">Very good company!
- They provides a very high quality service.</field>
- <field name="ref">c2c</field>
- <field name="website">http://camptocamp.com</field>
- <field name="name">camptocamp SA</field>
- <field name="category_id" model="res.partner.category" search="[('name','=','Partenaire')]"/>
- </record>
- <!--
- Resource: res.partner.address
- -->
+ <record id="camptocamp" model="res.partner">
+ <field name="comment">Very good company!
+ They provides a very high quality service.</field>
+ <field name="ref">c2c</field>
+ <field name="website">http://camptocamp.com</field>
+ <field name="name">camptocamp SA</field>
+ <field name="category_id" model="res.partner.category" search="[('name','=','Partenaire')]"/>
+ </record>
+ <!--
+ Resource: res.partner.address
+ -->
- <record id="res_partner_address_1" model="res.partner.address">
- <field name="fax">+41 21 619 10 00</field>
- <field name="name">Luc Maurer</field>
- <field name="zip">1015</field>
- <field name="city">Lausanne</field>
- <field name="partner_id" ref="camptocamp"/>
- <field name="country_id" model="res.country" search="[('code','=','ch')]"/>
- <field name="title">M.</field>
- <field name="email">tinyerp@camptocamp.com</field>
- <field name="phone">+41 21 619 10 12</field>
- <field name="street">PSE-A, EPFL</field>
- <field name="active">1</field>
- <field name="type">default</field>
- </record>
- <record id="res_partner_address_2" model="res.partner.address">
- <field name="name">Gilbert Robert</field>
- <field name="zip">1227</field>
- <field name="city">Carouge</field>
- <field name="partner_id" ref="prolibre"/>
- <field name="country_id" model="res.country" search="[('code','=','ch')]"/>
- <field name="title">M.</field>
- <field name="email">info@prolibre.com</field>
- <field name="phone">+41 22 3015383</field>
- <field name="street">18, rue des Moraines </field>
- <field name="active">1</field>
- <field name="type">default</field>
- </record>
- <record id="res_partner_address_3" model="res.partner.address">
- <field name="fax">+41 21 619 10 00</field>
- <field name="name">Claude Philipona</field>
- <field name="zip">1015</field>
- <field name="city">Lausanne</field>
- <field name="partner_id" ref="camptocamp"/>
- <field name="country_id" model="res.country" search="[('name','=','Switzerland')]"/>
- <field name="title">M.</field>
- <field name="email">tinyerp@camptocamp.com</field>
- <field name="phone">+41 21 619 10 12 </field>
- <field name="street">PSE-A, EPFL</field>
- <field name="active">1</field>
- <field name="type">default</field>
- </record>
-</data>
+ <record id="res_partner_address_1" model="res.partner.address">
+ <field name="fax">+41 21 619 10 00</field>
+ <field name="name">Luc Maurer</field>
+ <field name="zip">1015</field>
+ <field name="city">Lausanne</field>
+ <field name="partner_id" ref="camptocamp"/>
+ <field name="country_id" model="res.country" search="[('code','=','ch')]"/>
+ <field name="email">tinyerp@camptocamp.com</field>
+ <field name="phone">+41 21 619 10 12</field>
+ <field name="street">PSE-A, EPFL</field>
+ <field name="active">1</field>
+ <field name="type">default</field>
+ </record>
+ <record id="res_partner_address_2" model="res.partner.address">
+ <field name="name">Gilbert Robert</field>
+ <field name="zip">1227</field>
+ <field name="city">Carouge</field>
+ <field name="partner_id" ref="prolibre"/>
+ <field name="country_id" model="res.country" search="[('code','=','ch')]"/>
+ <field name="email">info@prolibre.com</field>
+ <field name="phone">+41 22 3015383</field>
+ <field name="street">18, rue des Moraines </field>
+ <field name="active">1</field>
+ <field name="type">default</field>
+ </record>
+ <record id="res_partner_address_3" model="res.partner.address">
+ <field name="fax">+41 21 619 10 00</field>
+ <field name="name">Claude Philipona</field>
+ <field name="zip">1015</field>
+ <field name="city">Lausanne</field>
+ <field name="partner_id" ref="camptocamp"/>
+ <field name="country_id" model="res.country" search="[('name','=','Switzerland')]"/>
+ <field name="email">tinyerp@camptocamp.com</field>
+ <field name="phone">+41 21 619 10 12 </field>
+ <field name="street">PSE-A, EPFL</field>
+ <field name="active">1</field>
+ <field name="type">default</field>
+ </record>
+ </data>
</openerp>
diff --git a/addons/mail_gateway/mail_gateway.py b/addons/mail_gateway/mail_gateway.py
index 2c778241daf..7187de5d1a5 100644
--- a/addons/mail_gateway/mail_gateway.py
+++ b/addons/mail_gateway/mail_gateway.py
@@ -158,9 +158,9 @@ class mailgate_message(osv.osv):
'user_id': fields.many2one('res.users', 'User Responsible', readonly=True),
'message': fields.text('Description'),
'email_from': fields.char('From', size=128, help="Email From"),
- 'email_to': fields.text('To', help="Email Recipients"),
- 'email_cc': fields.text('Cc', help="Carbon Copy Email Recipients"),
- 'email_bcc': fields.text('Bcc', help='Blind Carbon Copy Email Recipients'),
+ 'email_to': fields.char('To', help="Email Recipients", size=256),
+ 'email_cc': fields.char('Cc', help="Carbon Copy Email Recipients", size=256),
+ 'email_bcc': fields.char('Bcc', help='Blind Carbon Copy Email Recipients', size=256),
'message_id': fields.char('Message Id', size=1024, readonly=True, help="Message Id on Email.", select=True),
'references': fields.text('References', readonly=True, help="References emails."),
'description': fields.text('Description'),
diff --git a/addons/membership/i18n/ru.po b/addons/membership/i18n/ru.po
index c1bd706724c..9806d77140a 100644
--- a/addons/membership/i18n/ru.po
+++ b/addons/membership/i18n/ru.po
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-07-08 03:50+0000\n"
+"X-Launchpad-Export-Date: 2010-07-09 03:55+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: membership
diff --git a/addons/mrp_repair/mrp_repair.py b/addons/mrp_repair/mrp_repair.py
index a3eac181231..819acffd4ae 100644
--- a/addons/mrp_repair/mrp_repair.py
+++ b/addons/mrp_repair/mrp_repair.py
@@ -372,7 +372,7 @@ class mrp_repair(osv.osv):
name = operation.name
if operation.product_id.property_account_income:
- account_id = operation.product_id.property_account_income
+ account_id = operation.product_id.property_account_income.id
elif operation.product_id.categ_id.property_account_income_categ:
account_id = operation.product_id.categ_id.property_account_income_categ.id
else:
diff --git a/addons/multi_company/i18n/ru.po b/addons/multi_company/i18n/ru.po
index cb7d582f540..8b9ce974399 100644
--- a/addons/multi_company/i18n/ru.po
+++ b/addons/multi_company/i18n/ru.po
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-07-08 03:50+0000\n"
+"X-Launchpad-Export-Date: 2010-07-09 03:56+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: multi_company
diff --git a/addons/product/i18n/ru.po b/addons/product/i18n/ru.po
index 5d6ae3dee46..6c87d0f6fa1 100644
--- a/addons/product/i18n/ru.po
+++ b/addons/product/i18n/ru.po
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-07-08 03:50+0000\n"
+"X-Launchpad-Export-Date: 2010-07-09 03:56+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: product
diff --git a/addons/product_visible_discount/i18n/et.po b/addons/product_visible_discount/i18n/et.po
new file mode 100644
index 00000000000..70b8597c8c6
--- /dev/null
+++ b/addons/product_visible_discount/i18n/et.po
@@ -0,0 +1,47 @@
+# Estonian translation for openobject-addons
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2009-03-25 12:11+0000\n"
+"PO-Revision-Date: 2010-07-08 08:45+0000\n"
+"Last-Translator: lyyser <logard.1961@gmail.com>\n"
+"Language-Team: Estonian <et@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2010-07-09 03:56+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#. module: product_visible_discount
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr "Vigane XML vaate arhitektuurile!"
+
+#. module: product_visible_discount
+#: model:ir.module.module,description:product_visible_discount.module_name_translation
+msgid ""
+"\n"
+" This module lets you calculate discounts on Sale Order lines and Invoice "
+"lines base on the partner's pricelist.\n"
+" To this end, a new check box named \"Visible Discount\" is added to the "
+"pricelist form.\n"
+" Example:\n"
+" For the product PC1 and the partner \"Asustek\": if listprice=450, "
+"and the price calculated using Asustek's pricelist is 225\n"
+" If the check box is checked, we will have on the sale order line: "
+"Unit price=450, Discount=50,00, Net price=225\n"
+" If the check box is unchecked, we will have on Sale Order and "
+"Invoice lines: Unit price=225, Discount=0,00, Net price=225\n"
+" "
+msgstr ""
+
+#. module: product_visible_discount
+#: model:ir.module.module,shortdesc:product_visible_discount.module_name_translation
+#: field:product.pricelist,visible_discount:0
+msgid "Visible Discount"
+msgstr "Nähtavad soodus"
diff --git a/addons/project_issue/project_issue.py b/addons/project_issue/project_issue.py
index a67ca004f09..802ef47124d 100644
--- a/addons/project_issue/project_issue.py
+++ b/addons/project_issue/project_issue.py
@@ -160,7 +160,7 @@ class project_issue(osv.osv, crm.crm_case):
\nWhen the case is over, the state is set to \'Done\'.\
\nIf the case needs to be reviewed then the state is set to \'Pending\'.'),
'email_from': fields.char('Email', size=128, help="These people will receive email."),
- 'email_cc': fields.text('Watchers Emails', size=252, help="These people\
+ 'email_cc': fields.char('Watchers Emails', size=256, help="These people\
will receive a copy of the future" \
" communication between partner and users by email"),
'date_open': fields.datetime('Opened', readonly=True),
diff --git a/addons/project_issue/project_issue_view.xml b/addons/project_issue/project_issue_view.xml
index 0bdee911cee..cbf24b18f76 100644
--- a/addons/project_issue/project_issue_view.xml
+++ b/addons/project_issue/project_issue_view.xml
@@ -154,9 +154,9 @@
<tree string="Issue Tracker Tree" colors="red:state=='open';blue:state=='pending';grey:state in ('cancel', 'done')">
<field name="id"/>
<field name="create_date"/>
- <field name="project_id" invisible="1"/>
<field name="name"/>
<field name="partner_id"/>
+ <field name="project_id" />
<field name="priority" string="Severity"/>
<field name="stage_id" string="Resolution"/>
<button icon="gtk-go-back" string="" name="stage_previous" type="object"
diff --git a/addons/project_issue/report/project_issue_report.py b/addons/project_issue/report/project_issue_report.py
index 833a792c34d..c79ac3eae64 100644
--- a/addons/project_issue/report/project_issue_report.py
+++ b/addons/project_issue/report/project_issue_report.py
@@ -52,7 +52,7 @@ class project_issue_report(osv.osv):
_columns = {
'name': fields.char('Year', size=64, required=False, readonly=True),
'user_id':fields.many2one('res.users', 'Responsible', readonly=True),
- 'user_id2':fields.many2one('res.users', 'Assigned To', readonly=True),
+ 'user_id2':fields.many2one('res.users', 'Assignee', readonly=True),
'section_id':fields.many2one('crm.case.section', 'Section', readonly=True),
'state': fields.selection(AVAILABLE_STATES, 'State', size=16, readonly=True),
'avg_answers': fields.function(_get_data, string='Avg. Answers', method=True, type="integer"),
@@ -66,17 +66,17 @@ class project_issue_report(osv.osv):
('11', 'November'), ('12', 'December')], 'Month', readonly=True),
'company_id': fields.many2one('res.company', 'Company', readonly=True),
'day': fields.char('Day', size=128, readonly=True),
- 'opening_date': fields.date('Opening Date', readonly=True),
+ 'opening_date': fields.date('Date of Opening', readonly=True),
'creation_date': fields.date('Creation Date', readonly=True),
- 'date_closed': fields.date('Closed Date', readonly=True),
+ 'date_closed': fields.date('Date of Closing', readonly=True),
'categ_id': fields.many2one('crm.case.categ', 'Category', domain="[('section_id','=',section_id),('object_id.model', '=', 'project.issue')]"),
'stage_id': fields.many2one ('crm.case.stage', 'Stage', domain="[('object_id.model', '=', 'project.issue')]"),
'nbr': fields.integer('# of Issues', readonly=True),
- 'working_hours_open': fields.float('# Working Open Hours', readonly=True),
- 'working_hours_close': fields.float('# Working Closing Hours', readonly=True),
- 'delay_open': fields.float('Avg opening Delay', digits=(16,2), readonly=True, group_operator="avg",
+ 'working_hours_open': fields.float('Avg. Working Hours to Open', readonly=True),
+ 'working_hours_close': fields.float('Avg. Working Hours to Close', readonly=True),
+ 'delay_open': fields.float('Avg. Delay to Open', digits=(16,2), readonly=True, group_operator="avg",
help="Number of Days to close the project issue"),
- 'delay_close': fields.float('Avg Closing Delay', digits=(16,2), readonly=True, group_operator="avg",
+ 'delay_close': fields.float('Avg. Delay to Close', digits=(16,2), readonly=True, group_operator="avg",
help="Number of Days to close the project issue"),
'company_id' : fields.many2one('res.company', 'Company'),
'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority'),
diff --git a/addons/project_long_term/project_long_term.py b/addons/project_long_term/project_long_term.py
index a6fbcb22ab7..8eaf9c6b96a 100644
--- a/addons/project_long_term/project_long_term.py
+++ b/addons/project_long_term/project_long_term.py
@@ -86,6 +86,11 @@ class project_phase(osv.osv):
return False
return True
+ def _get_default_uom_id(self, cr, uid):
+ model_data_obj = self.pool.get('ir.model.data')
+ model_data_id = model_data_obj._get_id(cr, uid, 'product', 'uom_hour')
+ return model_data_obj.read(cr, uid, [model_data_id], ['res_id'])[0]['res_id']
+
_columns = {
'name': fields.char("Name", size=64, required=True),
'date_start': fields.datetime('Start Date', help="Starting Date of the phase"),
@@ -137,7 +142,6 @@ class project_phase(osv.osv):
"""
uom_obj = self.pool.get('product.uom')
resource_obj = self.pool.get('resource.resource')
- model_data_obj = self.pool.get('ir.model.data')
cal_obj = self.pool.get('resource.calendar')
calendar_id = phase.project_id.resource_calendar_id and phase.project_id.resource_calendar_id.id or False
resource_id = resource_obj.search(cr, uid, [('user_id', '=', phase.responsible_id.id)])
@@ -147,7 +151,7 @@ class project_phase(osv.osv):
cal_id = res.get('calendar_id', False) and res.get('calendar_id')[0] or False
if cal_id:
calendar_id = cal_id
- default_uom_id = model_data_obj._get_id(cr, uid, 'product', 'uom_hour')
+ default_uom_id = self._get_default_uom_id(cr, uid)
avg_hours = uom_obj._compute_qty(cr, uid, phase.product_uom.id, phase.duration, default_uom_id)
work_times = cal_obj.interval_min_get(cr, uid, calendar_id, date_end, avg_hours or 0.0, resource_id and resource_id[0] or False)
dt_start = work_times[0][0].strftime('%Y-%m-%d %H:%M:%S')
@@ -160,7 +164,6 @@ class project_phase(osv.osv):
Check And Compute date_end of phase if change in date_end > older time.
"""
uom_obj = self.pool.get('product.uom')
- model_data_obj = self.pool.get('ir.model.data')
resource_obj = self.pool.get('resource.resource')
cal_obj = self.pool.get('resource.calendar')
calendar_id = phase.project_id.resource_calendar_id and phase.project_id.resource_calendar_id.id or False
@@ -171,7 +174,7 @@ class project_phase(osv.osv):
cal_id = res.get('calendar_id', False) and res.get('calendar_id')[0] or False
if cal_id:
calendar_id = cal_id
- default_uom_id = model_data_obj._get_id(cr, uid, 'product', 'uom_hour')
+ default_uom_id = self._get_default_uom_id(cr, uid)
avg_hours = uom_obj._compute_qty(cr, uid, phase.product_uom.id, phase.duration, default_uom_id)
work_times = cal_obj.interval_get(cr, uid, calendar_id, date_start, avg_hours or 0.0, resource_id and resource_id[0] or False)
dt_end = work_times[-1][1].strftime('%Y-%m-%d %H:%M:%S')
@@ -181,7 +184,6 @@ class project_phase(osv.osv):
resource_calendar_obj = self.pool.get('resource.calendar')
resource_obj = self.pool.get('resource.resource')
uom_obj = self.pool.get('product.uom')
- model_data_obj = self.pool.get('ir.model.data')
if context is None:
context = {}
if context.get('scheduler',False):
@@ -195,7 +197,7 @@ class project_phase(osv.osv):
cal_id = resource_obj.browse(cr, uid, resource_id[0], context=context).calendar_id.id
if cal_id:
calendar_id = cal_id
- default_uom_id = model_data_obj._get_id(cr, uid, 'product', 'uom_hour')
+ default_uom_id = self._get_default_uom_id(cr, uid)
avg_hours = uom_obj._compute_qty(cr, uid, phase.product_uom.id, phase.duration, default_uom_id)
# Change the date_start and date_end
@@ -246,6 +248,8 @@ class project_resource_allocation(osv.osv):
'resource_id': fields.many2one('resource.resource', 'Resource', required=True),
'phase_id': fields.many2one('project.phase', 'Project Phase', required=True),
'useability': fields.float('Usability', help="Usability of this resource for this project phase in percentage (=50%)"),
+ 'date_start': fields.related('phase_id', 'date_start', type='datetime', string='Start Date'),
+ 'date_end': fields.related('phase_id', 'date_end', type='datetime', string='End Date'),
}
_defaults = {
'useability': 100,
diff --git a/addons/project_long_term/project_long_term_view.xml b/addons/project_long_term/project_long_term_view.xml
index 4170c0064d0..91347f0bbfe 100644
--- a/addons/project_long_term/project_long_term_view.xml
+++ b/addons/project_long_term/project_long_term_view.xml
@@ -31,9 +31,36 @@
<field name="resource_id"/>
<field name="phase_id"/>
<field name="useability"/>
+ <field name="date_start"/>
+ <field name="date_end"/>
</tree>
</field>
</record>
+
+ <record id="view_project_resource_allocation_calendar" model="ir.ui.view">
+ <field name="name">project.resource.allocation.calendar</field>
+ <field name="model">project.resource.allocation</field>
+ <field name="type">calendar</field>
+ <field name="arch" type="xml">
+ <calendar color="resource_id" date_stop="date_end" date_start="date_start" string="Resource Allocations">
+ <field name="resource_id"/>
+ <field name="useability"/>
+ </calendar>
+ </field>
+ </record>
+
+ <record id="view_project_resource_allocation_gantt" model="ir.ui.view">
+ <field name="name">project.resource.allocation.gantt</field>
+ <field name="model">project.resource.allocation</field>
+ <field name="type">gantt</field>
+ <field name="arch" type="xml">
+ <gantt color="resource_id" date_stop="date_end" date_start="date_start" string="Resource Allocations">
+ <level object="resource.resource" link="resource_id" domain="[]">
+ <field name="useability"/>
+ </level>
+ </gantt>
+ </field>
+ </record>
<record id="view_project_resource_allocation_search" model="ir.ui.view">
<field name="name">project.resource.allocation.search</field>
@@ -58,7 +85,7 @@
<field name="name">Resource Allocations</field>
<field name="res_model">project.resource.allocation</field>
<field name="view_type">form</field>
- <field name="view_mode">tree,form</field>
+ <field name="view_mode">tree,form,calendar,gantt</field>
<field name="context">{'search_default_resource': 1} </field>
<!--<field name="search_view_id" ref="view_project_phase_search"/>-->
</record>
diff --git a/addons/project_long_term/wizard/project_compute_phases.py b/addons/project_long_term/wizard/project_compute_phases.py
index 3ee15bc6c5a..f4c5fbae443 100644
--- a/addons/project_long_term/wizard/project_compute_phases.py
+++ b/addons/project_long_term/wizard/project_compute_phases.py
@@ -60,7 +60,6 @@ class project_compute_phases(osv.osv_memory):
phase_obj = self.pool.get('project.phase')
resource_obj = self.pool.get('resource.resource')
uom_obj = self.pool.get('product.uom')
- model_data_obj = self.pool.get('ir.model.data')
phase_resource_obj = False
if context is None:
@@ -82,7 +81,7 @@ class project_compute_phases(osv.osv_memory):
'vacation': tuple(leaves),
'efficiency': time_efficiency
})
- default_uom_id = model_data_obj._get_id(cr, uid, 'product', 'uom_hour')
+ default_uom_id = phase_obj._get_default_uom_id(cr, uid)
avg_hours = uom_obj._compute_qty(cr, uid, phase.product_uom.id, phase.duration, default_uom_id)
duration = str(avg_hours) + 'H'
# Create a new project for each phase
diff --git a/addons/project_mrp/__openerp__.py b/addons/project_mrp/__openerp__.py
index a51a95c5d16..2ac983e67e4 100644
--- a/addons/project_mrp/__openerp__.py
+++ b/addons/project_mrp/__openerp__.py
@@ -51,6 +51,7 @@ automatically created via sale orders.
'init_xml': [],
'update_xml': ['project_mrp_workflow.xml',
#'process/project_mrp_process.xml',
+ 'project_mrp_view.xml'
],
'demo_xml': [],
'test': ['test/project_task_procurement.yml'],
diff --git a/addons/project_mrp/mrp.py b/addons/project_mrp/mrp.py
index dc5d52e241d..b8eff3c8fa8 100644
--- a/addons/project_mrp/mrp.py
+++ b/addons/project_mrp/mrp.py
@@ -26,12 +26,16 @@ import tools
class procurement_order(osv.osv):
_name = "procurement.order"
_inherit = "procurement.order"
+ _columns = {
+ 'task_id': fields.many2one('project.task', 'Task')
+ }
def action_produce_assign_service(self, cr, uid, ids, context=None):
if context is None:
context = {}
for procurement in self.browse(cr, uid, ids):
sline = self.pool.get('sale.order.line')
+ product_obj=self.pool.get('product.product')
content = ''
sale_order = self.pool.get('sale.order')
so_ref = procurement.name.split(':')[0]
@@ -69,6 +73,7 @@ class procurement_order(osv.osv):
self.write(cr, uid, [procurement.id], {'state': 'running'})
name_task = ('','')
+ planned_hours=0.0
if procurement.product_id.type == 'service':
proc_name = procurement.name
if procurement.origin == proc_name:
@@ -77,12 +82,12 @@ class procurement_order(osv.osv):
name_task = (procurement.origin, proc_name or '')
else:
name_task = (procurement.product_id.name or procurement.origin, procurement.name or '')
-
+ planned_hours= procurement.product_id.sale_delay +procurement.product_id. produce_delay
task_id = self.pool.get('project.task').create(cr, uid, {
'name': '%s:%s' % name_task,
'date_deadline': procurement.date_planned,
- 'planned_hours': procurement.product_qty,
- 'remaining_hours': procurement.product_qty,
+ 'planned_hours':planned_hours,
+ 'remaining_hours': planned_hours,
'user_id': procurement.product_id.product_manager.id,
'notes': "b"+(l and l.order_id.note or ''),
'procurement_id': procurement.id,
@@ -93,7 +98,8 @@ class procurement_order(osv.osv):
'company_id': procurement.company_id.id,
'project_id': project_id,
},context=context)
-
+ self.write(cr, uid, [procurement.id],{'task_id':task_id})
+ product_obj.write(cr,uid,[procurement.product_id.id],{'user_id':uid,'project_id':project_id})
return task_id
procurement_order()
diff --git a/addons/project_mrp/project_mrp.py b/addons/project_mrp/project_mrp.py
index 09820d44c71..d946e2c2fd6 100644
--- a/addons/project_mrp/project_mrp.py
+++ b/addons/project_mrp/project_mrp.py
@@ -48,5 +48,13 @@ class project_task(osv.osv):
return True
project_task()
+class product_product(osv.osv):
+ _inherit = "product.product"
+ _columns = {
+ 'user_id': fields.many2one('res.users', 'Responsible', ondelete='set null',help='Project Manager'),
+ 'project_id': fields.many2one('project.project', 'Project', ondelete='set null',)
+ }
+product_product()
+
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/project_mrp/project_mrp_view.xml b/addons/project_mrp/project_mrp_view.xml
new file mode 100644
index 00000000000..5d0c1d71381
--- /dev/null
+++ b/addons/project_mrp/project_mrp_view.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+ <data>
+ <record id="view_procurement_task_form" model="ir.ui.view">
+ <field name="name">procurement.procurement.form.view.inherit</field>
+ <field name="model">procurement.order</field>
+ <field name="type">form</field>
+ <field name="inherit_id" ref="procurement.procurement_form_view"/>
+ <field name="arch" type="xml">
+ <field name="close_move" position="after">
+ <field name="task_id"/>
+ </field>
+ </field>
+ </record>
+
+ <record id="view_product_task_form" model="ir.ui.view">
+ <field name="name">product.form.view.inherit</field>
+ <field name="model">product.product</field>
+ <field name="type">form</field>
+ <field name="inherit_id" ref="product.product_normal_form_view"/>
+ <field name="arch" type="xml">
+ <field name="company_id" position="after">
+ <field name="user_id" attrs="{'readonly':[('type','!=','service')]}"/>
+ <field name="project_id" attrs="{'readonly':[('type','!=','service')]}" />
+ </field>
+ </field>
+ </record>
+
+ </data>
+</openerp>
+ \ No newline at end of file
diff --git a/addons/purchase/__openerp__.py b/addons/purchase/__openerp__.py
index f557997497b..471f5213b12 100644
--- a/addons/purchase/__openerp__.py
+++ b/addons/purchase/__openerp__.py
@@ -36,9 +36,7 @@
'author': 'Tiny',
'website': 'http://www.openerp.com',
'depends': ['base', 'account', 'stock', 'process', 'procurement'],
- 'init_xml': [],
- 'update_xml': [
-
+ 'data': [
'security/purchase_security.xml',
'security/ir.model.access.csv',
'purchase_workflow.xml',
@@ -60,8 +58,9 @@
'test/purchase_from_order.yml',
'test/purchase_from_manual.yml',
# 'test/purchase_from_picking.yml',
+ 'purchase_unit_test.xml'
],
- 'demo_xml': ['purchase_demo.xml','purchase_unit_test.xml'],
+ 'demo': ['purchase_demo.xml'],
'installable': True,
'active': False,
'certificate': '0057234283549',
diff --git a/addons/purchase/purchase.py b/addons/purchase/purchase.py
index 82e01735b00..d70ea13d39b 100644
--- a/addons/purchase/purchase.py
+++ b/addons/purchase/purchase.py
@@ -720,7 +720,7 @@ purchase_order_line()
class procurement_order(osv.osv):
_inherit = 'procurement.order'
_columns = {
- 'purchase_id': fields.many2one('purchase.order', 'Latest Requisition'),
+ 'purchase_id': fields.many2one('purchase.order', 'Purchase Order'),
}
def action_po_assign(self, cr, uid, ids, context={}):
diff --git a/addons/purchase/purchase_workflow.xml b/addons/purchase/purchase_workflow.xml
index d14530e5f48..a194cd16713 100644
--- a/addons/purchase/purchase_workflow.xml
+++ b/addons/purchase/purchase_workflow.xml
@@ -103,7 +103,6 @@
<record id="trans_confirmed_router" model="workflow.transition">
<field name="act_from" ref="act_confirmed"/>
<field name="act_to" ref="act_router"/>
- <field name="signal">purchase_approve</field>
</record>
<record id="trans_router_picking" model="workflow.transition">
<field name="act_from" ref="act_router"/>
diff --git a/addons/purchase/report/purchase_report.py b/addons/purchase/report/purchase_report.py
index 4f5abfe698d..40a61efbc19 100644
--- a/addons/purchase/report/purchase_report.py
+++ b/addons/purchase/report/purchase_report.py
@@ -54,14 +54,14 @@ class purchase_report(osv.osv):
'validator' : fields.many2one('res.users', 'Validated By', readonly=True),
'company_id':fields.many2one('res.company', 'Company', readonly=True),
'user_id':fields.many2one('res.users', 'Responsible', readonly=True),
- 'delay':fields.float('Days to Validate', digits=(16,2), readonly=True, group_operator="avg"),
- 'delay_pass':fields.float('Days to Deliver', digits=(16,2), readonly=True, group_operator="avg"),
+ 'delay':fields.float('Days to Validate', digits=(16,2), readonly=True),
+ 'delay_pass':fields.float('Days to Deliver', digits=(16,2), readonly=True),
'quantity': fields.float('# of Products', readonly=True),
'price_total': fields.float('Total Price', readonly=True),
- 'price_average': fields.float('Unit Price', readonly=True, group_operator="avg"),
+ 'price_average': fields.float('Average Price', readonly=True, group_operator="avg"),
'negociation': fields.float('Purchase-Standard Price', readonly=True, group_operator="avg"),
'price_standard': fields.float('Products Value', readonly=True, group_operator="sum"),
- 'nbr': fields.integer('# of PO Lines', readonly=True),
+ 'nbr': fields.integer('# of Lines', readonly=True),
'month':fields.selection([('01','January'), ('02','February'), ('03','March'), ('04','April'), ('05','May'), ('06','June'),
('07','July'), ('08','August'), ('09','September'), ('10','October'), ('11','November'), ('12','December')],'Month',readonly=True),
diff --git a/addons/purchase/report/purchase_report_view.xml b/addons/purchase/report/purchase_report_view.xml
index 757fc065a60..bd69e4dfce0 100644
--- a/addons/purchase/report/purchase_report_view.xml
+++ b/addons/purchase/report/purchase_report_view.xml
@@ -33,14 +33,14 @@
<field name="company_id" invisible="1"/>
<field name="state" invisible="1"/>
<field name="location_id" invisible="1"/>
- <field name="nbr"/>
+ <field name="nbr" sum="# of Lines"/>
<field name="quantity" sum="# of Products"/>
- <field name="price_average" avg="Average Price"/>
+ <field name="price_average" sum="Average Price"/>
<field name="price_total" sum="Total Price"/>
- <field name="price_standard" sum="Products Costs"/>
+ <field name="price_standard" sum="Products Value"/>
<field name="negociation" widget="progressbar"/>
- <field name="delay"/>
- <field name="delay_pass"/>
+ <field name="delay" sum="Days to Validate"/>
+ <field name="delay_pass" sum="Days to Deliver"/>
</tree>
</field>
</record>
@@ -142,10 +142,11 @@
<record id="action_purchase_order_report_all" model="ir.actions.act_window">
- <field name="name">Purchase Orders</field>
+ <field name="name">Purchase Analysis</field>
<field name="res_model">purchase.report</field>
<field name="view_type">form</field>
<field name="view_mode">tree,graph</field>
+ <field name="view_id" ref="view_purchase_order_tree"></field>
<field name="context">{'search_default_month':1,'search_default_group_partner_id':1,'search_default_group_product_id': 1, 'search_default_orders': 1, 'group_by_no_leaf':1,'group_by':[]}</field>
</record>
diff --git a/addons/purchase/security/ir.model.access.csv b/addons/purchase/security/ir.model.access.csv
index 674b01f66e7..7a3b35725d4 100644
--- a/addons/purchase/security/ir.model.access.csv
+++ b/addons/purchase/security/ir.model.access.csv
@@ -26,3 +26,9 @@
"access_res_partner_address_purchase_user","res.partner.address purchase","base.model_res_partner_address","group_purchase_user",1,0,0,0
"access_account_journal","account.journal","account.model_account_journal","purchase.group_purchase_user",1,1,1,0
"access_account_journal_manager","account.journal","account.model_account_journal","purchase.group_purchase_manager",1,1,1,1
+"access_account_period","account.period","account.model_account_period","purchase.group_purchase_user",1,0,0,0
+"access_account_fiscalyear","account.fiscalyear","account.model_account_fiscalyear","purchase.group_purchase_user",1,0,0,0
+"access_account_move","account.move","account.model_account_move","purchase.group_purchase_user",1,1,1,1
+"access_account_move_line","account.move.line","account.model_account_move_line","purchase.group_purchase_user",1,1,1,1
+"access_account_analytic_line","account.analytic.line","account.model_account_analytic_line","purchase.group_purchase_user",1,1,1,1
+"access_account_move_reconcile","account.move.reconcile","account.model_account_move_reconcile","purchase.group_purchase_user",1,1,1,1
diff --git a/addons/purchase_requisition/purchase_requisition.py b/addons/purchase_requisition/purchase_requisition.py
index 3bdc461917b..532c9918b60 100644
--- a/addons/purchase_requisition/purchase_requisition.py
+++ b/addons/purchase_requisition/purchase_requisition.py
@@ -39,7 +39,7 @@ class purchase_requisition(osv.osv):
'exclusive': fields.selection([('exclusive','Purchase Tender (exclusive)'),('multiple','Multiple Requisitions')],'Requisition Type', required=True, help="Purchase Tender (exclusive):On the confirmation of a purchase order, it cancels the remaining purchase order.Multiple Requisitions:It allows to have multiple purchase orders.On confirmation of a purchase order it does not cancel the remaining orders"""),
'description': fields.text('Description'),
'company_id': fields.many2one('res.company', 'Company', required=True),
- 'purchase_ids' : fields.one2many('purchase.order','requisition_id','Purchase Orders'),
+ 'purchase_ids' : fields.one2many('purchase.order','requisition_id','Purchase Orders',states={'done': [('readonly', True)]}),
'line_ids' : fields.one2many('purchase.requisition.line','requisition_id','Products to Purchase',states={'done': [('readonly', True)]}),
'state': fields.selection([('draft','Draft'),('in_progress','In Progress'),('cancel','Cancelled'),('done','Done')], 'State', required=True)
}
@@ -129,10 +129,14 @@ class purchase_order(osv.osv):
}
def wkf_confirm_order(self, cr, uid, ids, context={}):
res = super(purchase_order, self).wkf_confirm_order(cr, uid, ids, context)
+ proc_obj=self.pool.get('procurement.order')
for po in self.browse(cr, uid, ids, context):
if po.requisition_id and (po.requisition_id.exclusive=='exclusive'):
for order in po.requisition_id.purchase_ids:
if order.id<>po.id:
+ proc_ids = proc_obj.search(cr, uid, [('purchase_id', '=', order.id)])
+ if proc_ids and po.state=='confirmed':
+ proc_obj.wirte(cr,uid,proc_ids,{'purchase_id':po.id})
wf_service = netsvc.LocalService("workflow")
wf_service.trg_validate(uid, 'purchase.order', order.id, 'purchase_cancel', cr)
self.pool.get('purchase.requisition').write(cr, uid, [po.requisition_id.id], {'state':'done','date_end':time.strftime('%Y-%m-%d %H:%M:%S')})
@@ -155,14 +159,17 @@ product_product()
class procurement_order(osv.osv):
_inherit = 'procurement.order'
-
+ _columns = {
+ 'requisition_id' : fields.many2one('purchase.requisition','Latest Requisition')
+ }
def make_po(self, cr, uid, ids, context=None):
sequence_obj = self.pool.get('ir.sequence')
res = super(procurement_order, self).make_po(cr, uid, ids, context=context)
for proc_id, po_id in res.items():
procurement = self.browse(cr, uid, proc_id)
+ requisition_id=False
if procurement.product_id.purchase_requisition:
- self.pool.get('purchase.requisition').create(cr, uid, {
+ requisition_id=self.pool.get('purchase.requisition').create(cr, uid, {
'name': sequence_obj.get(cr, uid, 'purchase.order.requisition'),
'origin': procurement.name,
'date_end': procurement.date_planned,
@@ -174,6 +181,7 @@ class procurement_order(osv.osv):
})],
'purchase_ids': [(6,0,[po_id])]
})
+ self.write(cr,uid,proc_id,{'requisition_id':requisition_id})
return res
procurement_order()
diff --git a/addons/purchase_requisition/purchase_requisition_view.xml b/addons/purchase_requisition/purchase_requisition_view.xml
index 93f4f111da0..b8e488ac0cf 100644
--- a/addons/purchase_requisition/purchase_requisition_view.xml
+++ b/addons/purchase_requisition/purchase_requisition_view.xml
@@ -41,7 +41,6 @@
<field name="origin"/>
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
</group>
-
<notebook colspan="4">
<page string="Products">
<field name="line_ids" colspan="4" nolabel="1">
@@ -83,7 +82,8 @@
<separator colspan="4" string=""/>
<group col="8" colspan="4">
<label colspan="6" string=""/>
- <button name="%(action_purchase_requisition_partner)d" string="Requests for Quotation" type="action" icon="gtk-execute" />
+ <button name="%(action_purchase_requisition_partner)d" string="Requests for Quotation" type="action" icon="gtk-execute"
+ attrs="{'readonly': [('state', '=', 'done')]}" />
</group>
</page>
<page string="Notes">
@@ -168,6 +168,17 @@
</field>
</field>
</record>
-
+
+ <record model="ir.ui.view" id="procurement_normal_form_view_inherit">
+ <field name="name">procurement.form.inherit</field>
+ <field name="type">form</field>
+ <field name="model">procurement.order</field>
+ <field name="inherit_id" ref="procurement.procurement_form_view"/>
+ <field name="arch" type="xml">
+ <xpath expr="/form/notebook/page/field[@name='close_move']" position="after">
+ <field name="requisition_id"/>
+ </xpath>
+ </field>
+ </record>
</data>
</openerp>
diff --git a/addons/purchase_requisition/test/purchase_requisition.yml b/addons/purchase_requisition/test/purchase_requisition.yml
index 0ace2312034..ce5f9635574 100644
--- a/addons/purchase_requisition/test/purchase_requisition.yml
+++ b/addons/purchase_requisition/test/purchase_requisition.yml
@@ -63,7 +63,7 @@
proc_obj = self.pool.get('procurement.order')
proc_obj._procure_confirm(cr,uid)
-
- On the purchase tender, I create a new purchase order for the supplier 'DistriPC' by clicking on
+ On the purchase requisition, I create a new purchase order for the supplier 'DistriPC' by clicking on
the button 'New RfQ'. This opens a window to ask me the supplier and I set DistriPC .
-
!record {model: purchase.requisition.partner, id: purchase_requisition_partner_0}:
@@ -74,23 +74,25 @@
-
!python {model: purchase.requisition.partner}: |
req_obj = self.pool.get('purchase.requisition')
- ids =req_obj.search(cr, uid, [('origin','=','TEST/TENDER/0001')])
+ ids =req_obj.search(cr, uid, [('origin','=','Laptop ACER')])
self.create_order(cr, uid, [ref("purchase_requisition_partner_0")], {"lang":
'en_US', "active_model": "purchase.requisition", "tz": False, "record_id":
1, "active_ids": ids, "active_id": ids[0], })
-
- I check that I have two purchase orders on the purchase tender.
+ I check that I have two purchase orders on the purchase requisition.
-
!python {model: purchase.order}: |
+ from tools.translate import _
order_ids =self.search(cr, uid, [('origin','=','TEST/TENDER/0001')])
ids=len(order_ids)
- assert (ids==2), "Purchase order hasn't Created"
+ assert(ids == 2), _('Purchase Order not Created')
+
-
I set the purchase requisition as 'Not Exclusive'.
-
!python {model: purchase.requisition}: |
- ids =self.search(cr, uid, [('origin','=','TEST/TENDER/0001')])
+ ids =self.search(cr, uid, [('origin','=','Laptop ACER')])
self.write(cr,uid,ids[0],{'exclusive': 'multiple' })
-
I change the quantities so that the purchase order for DistriPC includes 3 pieces and the
@@ -100,7 +102,7 @@
line_obj=self.pool.get('purchase.order.line')
partner_obj=self.pool.get('res.partner')
requistion_obj=self.pool.get('purchase.requisition')
- requistion_ids =requistion_obj.search(cr, uid, [('origin','=','TEST/TENDER/0001')])
+ requistion_ids =requistion_obj.search(cr, uid, [('origin','=','Laptop ACER')])
partner_id1=partner_obj.search(cr,uid,[('name','=','ASUStek')])[0]
partner_id2=partner_obj.search(cr,uid,[('name','=','Distrib PC')])[0]
purchase_id1= self.search(cr, uid, [('partner_id','=',partner_id1),('requisition_id','in',requistion_ids)])
@@ -123,11 +125,13 @@
I check that the delivery order of the customer is in state 'Waiting Goods'.
-
!python {model: stock.picking }: |
+ from tools.translate import _
picking_id = self.search(cr, uid, [('origin','=','TEST/TENDER/0001'),('type','=','delivery')])
if picking_id:
pick=self.browse(cr,uid,picking_id[0])
- assert (pick.state) =='confirmed'," Order is not confirm"
- assert(pick.move_lines[0].state=='wating'),'Order is not wating"'
+ assert (pick.state =='confirmed'),_('Picking is not in confirm state.')
+ assert (pick.move_lines[0].state == 'waiting'), _('Stock Move is not Waiting state.')
+
-
I receive the order of the supplier Asustek from the Incoming Products menu.
-
@@ -176,8 +180,10 @@
I check that the delivery order of the customer is in the state Available.
-
!python {model: stock.picking }: |
+ from tools.translate import _
picking_id = self.search(cr, uid, [('origin','=','TEST/TENDER/0001'),('type','=','out')])
if picking_id:
pick=self.browse(cr,uid,picking_id[0])
- assert (pick.state) =='available'," Order is not available"
+ print pick.state
+ assert(pick.state == 'assigned'), _('Picking is not in available state')
diff --git a/addons/purchase_requisition/test/purchase_requisition_exclusive.yml b/addons/purchase_requisition/test/purchase_requisition_exclusive.yml
index 641fd740de3..84a6bb0d68f 100644
--- a/addons/purchase_requisition/test/purchase_requisition_exclusive.yml
+++ b/addons/purchase_requisition/test/purchase_requisition_exclusive.yml
@@ -60,11 +60,11 @@
5 Laptop ACER, and a purchase order on the default supplier for this product.
-
!python {model: purchase.requisition}: |
- requisition_ids =self.search(cr, uid, [('origin','=','TEST/TENDER/0002')])
+ requisition_ids =self.search(cr, uid, [('origin','=','Laptop ACER1')])
ids=len(requisition_ids)
assert len(requisition_ids), "Purchase requisition hasn't Created"
-
- On the purchase tender, I create a new purchase order for the supplier 'DistriPC' by clicking on
+ On the purchase requisition, I create a new purchase order for the supplier 'DistriPC' by clicking on
the button 'New Request for Quotation'. This opens a window to ask me the supplier and I set DistriPC .
-
I Create purchase.requisition.partner .
@@ -77,15 +77,15 @@
-
!python {model: purchase.requisition.partner}: |
req_obj = self.pool.get('purchase.requisition')
- ids =req_obj.search(cr, uid, [('origin','=','TEST/TENDER/0002')])
+ ids =req_obj.search(cr, uid, [('origin','=','Laptop ACER1')])
self.create_order(cr, uid, [ref("purchase_requisition_partner_0")], {"lang":
'en_US', "active_model": "purchase.requisition", "tz": False, "record_id":
1, "active_ids": ids, "active_id": ids[0], })
-
- I set the purchase tender as 'Exclusive'
+ I set the purchase requisition as 'Exclusive'
-
!python {model: purchase.requisition}: |
- ids =self.search(cr, uid, [('origin','=','TEST/TENDER/0002')])
+ ids =self.search(cr, uid, [('origin','=','Laptop ACER1')])
self.write(cr,uid,ids[0],{'exclusive': 'exclusive' })
-
I confirm and validate the Request for Quotation of ASUStek.
@@ -93,7 +93,7 @@
!python {model: purchase.order}: |
partner_id=self.pool.get('res.partner').search(cr,uid,[('name','=','ASUStek')])[0]
req_obj = self.pool.get('purchase.requisition')
- ids =req_obj.search(cr, uid, [('origin','=','TEST/TENDER/0002')])
+ ids =req_obj.search(cr, uid, [('origin','=','Laptop ACER1')])
purchase_id= self.search(cr, uid, [('partner_id','=',partner_id),('requisition_id','in',ids)])[0]
import netsvc
wf_service = netsvc.LocalService("workflow")
@@ -106,7 +106,7 @@
!python {model: purchase.order}: |
partner_id=self.pool.get('res.partner').search(cr,uid,[('name','=','Distrib PC')])[0]
req_obj = self.pool.get('purchase.requisition')
- ids =req_obj.search(cr, uid, [('origin','=','TEST/TENDER/0002')])
+ ids =req_obj.search(cr, uid, [('origin','=','Laptop ACER1')])
purchase_id= self.search(cr, uid, [('partner_id','=',partner_id),('requisition_id','in',ids)])[0]
state=self.browse(cr,uid,purchase_id).state
assert (state=='cancel') \ No newline at end of file
diff --git a/addons/sale/i18n/ru.po b/addons/sale/i18n/ru.po
index 899e627982c..e64f33b58f8 100644
--- a/addons/sale/i18n/ru.po
+++ b/addons/sale/i18n/ru.po
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-07-08 03:50+0000\n"
+"X-Launchpad-Export-Date: 2010-07-09 03:56+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: sale
diff --git a/addons/sale/report/sale_report.py b/addons/sale/report/sale_report.py
index 8c24b5000ee..0880cdb76d1 100644
--- a/addons/sale/report/sale_report.py
+++ b/addons/sale/report/sale_report.py
@@ -74,7 +74,7 @@ class sale_report(osv.osv):
tools.drop_view_if_exists(cr, 'sale_report')
cr.execute("""
create or replace view sale_report as (
- select el.*,
+ select el.*,
-- (select count(1) from sale_order_line where order_id = s.id) as nbr,
(select 1) as nbr,
s.date_order as date,
@@ -86,28 +86,46 @@ class sale_report(osv.osv):
s.user_id as user_id,
s.shop_id as shop_id,
s.company_id as company_id,
- extract(epoch from (s.date_confirm-s.create_date))/(24*60*60)::decimal(16,2) as delay,
+ extract(epoch from avg(date_trunc('day',s.date_confirm)-date_trunc('day',s.create_date)))/(24*60*60)::decimal(16,2) as delay,
s.state,
s.shipped,
s.shipped::integer as shipped_qty_1,
s.pricelist_id as pricelist_id,
s.project_id as analytic_account_id
- from
- sale_order s,
- (
- select l.id as id,
- l.product_id as product_id,
- u.name as uom_name,
- sum(l.product_uom_qty * u.factor) as product_uom_qty,
- sum(l.product_uom_qty*l.price_unit) as price_total,
- (sum(l.product_uom_qty*l.price_unit)/sum(l.product_uom_qty * u.factor)*count(l.product_id))::decimal(16,2) as price_average,
- pt.categ_id, l.order_id
- from
- sale_order_line l
- left join product_uom u on (u.id=l.product_uom)
- left join product_template pt on (pt.id=l.product_id)
- group by l.id, l.order_id, l.product_id, u.name, pt.categ_id) el
- where s.id = el.order_id
+ from
+ sale_order s,
+ (
+ select l.id as id,
+ l.product_id as product_id,
+ u.name as uom_name,
+ sum(l.product_uom_qty * u.factor) as product_uom_qty,
+ sum(l.product_uom_qty*l.price_unit) as price_total,
+ (sum(l.product_uom_qty*l.price_unit)/sum(l.product_uom_qty * u.factor)*count(l.product_id))::decimal(16,2) as price_average,
+ pt.categ_id, l.order_id
+ from
+ sale_order_line l
+ left join product_uom u on (u.id=l.product_uom)
+ left join product_template pt on (pt.id=l.product_id)
+ group by l.id, l.order_id, l.product_id, u.name, pt.categ_id) el
+ where s.id = el.order_id
+ group by el.id,
+ el.product_id,
+ el.uom_name,
+ el.product_uom_qty,
+ el.price_total,
+ el.price_average,
+ el.categ_id,
+ el.order_id,
+ s.date_order,
+ s.date_confirm,
+ s.partner_id,
+ s.user_id,
+ s.shop_id,
+ s.company_id,
+ s.state,
+ s.shipped,
+ s.pricelist_id,
+ s.project_id
)
""")
sale_report()
diff --git a/addons/sale/report/sale_report_view.xml b/addons/sale/report/sale_report_view.xml
index 6ab414aad8b..a4658bc3a1c 100644
--- a/addons/sale/report/sale_report_view.xml
+++ b/addons/sale/report/sale_report_view.xml
@@ -20,11 +20,11 @@
<field name="categ_id" invisible="1"/>
<field name="nbr" sum="# of Lines"/>
<field name="product_uom_qty" sum="# of Qty"/>
- <field name="shipped_qty_1"/>
- <field name="uom_name" invisible="context.get('set_visible',False)"/>
- <field name="price_average" avg="Average Price"/>
+ <field name="shipped_qty_1" sum="Shipped Qty"/>
+ <field name="uom_name" invisible="not context.get('set_visible',False)"/>
+ <field name="price_average" sum="Average Price"/>
<field name="price_total" sum="Total Price"/>
- <field name="delay" avg="Commitment Delay"/>
+ <field name="delay" sum="Commitment Delay"/>
<field name="state" invisible="1"/>
<field name="analytic_account_id" invisible="1"/>
</tree>
@@ -122,6 +122,7 @@
<field name="view_type">form</field>
<field name="view_mode">tree,graph</field>
<field name="search_view_id" ref="view_order_product_search"/>
+ <field name="view_id" ref="view_order_product_tree"/>
<field name="context">{'search_default_month':1,'search_default_User':1,'group_by_no_leaf':1,'group_by':[]}</field>
</record>
diff --git a/addons/wiki/i18n/ru.po b/addons/wiki/i18n/ru.po
index 10329e8d4b9..ff219776722 100644
--- a/addons/wiki/i18n/ru.po
+++ b/addons/wiki/i18n/ru.po
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-07-08 03:50+0000\n"
+"X-Launchpad-Export-Date: 2010-07-09 03:56+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: wiki