[MERGE] branch merged with lp:~openerp-dev/openobject-addons/trunk-dev-addons3
bzr revid: mtr@mtr-20100609045341-gymjlahakdv006af
This commit is contained in:
@@ -124,6 +124,14 @@ module named account_voucherss
|
||||
'test': [
|
||||
'test/account_customer_invoice.yml',
|
||||
'test/account_supplier_invoice.yml',
|
||||
'test/account_change_currency.yml',
|
||||
'test/chart_of_account.yml',
|
||||
'test/account_period_close.yml',
|
||||
'test/account_fiscalyear_close_state.yml',
|
||||
'test/account_invoice_state.yml',
|
||||
'test/account_use_model.yml',
|
||||
'test/account_validate_account_move.yml',
|
||||
# 'test/account_fiscalyear_close.yml',
|
||||
],
|
||||
'installable': True,
|
||||
'active': False,
|
||||
|
||||
@@ -62,7 +62,7 @@ class account_payment_term(osv.osv):
|
||||
elif line.value == 'balance':
|
||||
amt = round(amount, prec)
|
||||
if amt:
|
||||
next_date = datetime.strptime(date_ref, '%y-%m-%d') + relativedelta(days=line.days)
|
||||
next_date = datetime.strptime(date_ref, '%Y-%m-%d') + relativedelta(days=line.days)
|
||||
if line.days2 < 0:
|
||||
next_date += relativedelta(day=line.days2)
|
||||
if line.days2 > 0:
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
<notebook>
|
||||
<page string="Line">
|
||||
<field name="product_id" on_change="product_id_change(product_id, uos_id, quantity, name, parent.type, parent.partner_id, parent.fiscal_position, price_unit, parent.address_invoice_id, parent.currency_id, {'company_id': parent.company_id})"/>
|
||||
<field name="uos_id"/>
|
||||
<field name="uos_id" widget="selection" on_change="uos_id_change(product_id, uos_id, quantity, name, parent.type, parent.partner_id, parent.fiscal_position, price_unit, parent.address_invoice_id, parent.currency_id, {'company_id': parent.company_id})"/>
|
||||
<field name="quantity"/>
|
||||
<field name="price_unit"/>
|
||||
<field name="discount"/>
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<report auto="False" id="account_intracom" menu="False" model="account.move.line" name="account.intracom" string="IntraCom"/>
|
||||
|
||||
<report id="account_move_line_list" model="account.tax.code" name="account.tax.code.entries" rml="account/report/account_tax_code.rml" string="All Entries"/>
|
||||
|
||||
|
||||
<report
|
||||
auto="False"
|
||||
id="account_vat_declaration"
|
||||
@@ -32,21 +32,21 @@
|
||||
name="account.vat.declaration"
|
||||
rml="account/report/tax_report.rml"
|
||||
string="Taxes Report"/>
|
||||
|
||||
|
||||
<report id="report_account_voucher_new"
|
||||
string="Print Voucher"
|
||||
string="Voucher"
|
||||
model="account.move"
|
||||
name="account.move.voucher"
|
||||
rml="account/report/voucher_print.rml"
|
||||
auto="False"
|
||||
header = "False"
|
||||
menu="True"/>
|
||||
|
||||
|
||||
<menuitem
|
||||
id="menu_tax_report"
|
||||
name="Taxes"
|
||||
parent="account.menu_finance_generic_reporting" sequence="3"/>
|
||||
|
||||
|
||||
<!-- <wizard
|
||||
id="wizard_vat_declaration"
|
||||
menu="False"
|
||||
|
||||
@@ -988,11 +988,11 @@
|
||||
<field name="partner_id" select='1'/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By..." colspan="12" col="10">
|
||||
<filter string="Journal" icon="terp-account" domain="[]" context="{'group_by':'journal_id'}"/>
|
||||
<filter string="Period" icon="terp-account" domain="[]" context="{'group_by':'period_id'}"/>
|
||||
<filter string="Type" icon="terp-account" domain="[]" context="{'group_by':'type', 'set_visible':True}"/>
|
||||
<filter string="States" icon="terp-account" domain="[]" context="{'group_by':'state'}"/>
|
||||
<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'}"/>
|
||||
<filter string="Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'type', 'set_visible':True}"/>
|
||||
<filter string="States" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
@@ -1006,7 +1006,7 @@
|
||||
<field name="view_id" ref="view_move_tree"/>
|
||||
<field name="search_view_id" ref="view_account_move_filter"/>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="action_move_to_review" model="ir.actions.act_window">
|
||||
<field name="name">Journal Entries to Review</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
@@ -1030,7 +1030,7 @@
|
||||
</record>
|
||||
|
||||
<menuitem action="action_move_line_form_encode_by_move" id="menu_encode_entries_by_move" parent="menu_finance_entries"/>
|
||||
|
||||
|
||||
<record id="action_account_moves_sale" model="ir.actions.act_window">
|
||||
<field name="name">Journal Items</field>
|
||||
<field name="res_model">account.move</field>
|
||||
@@ -1042,7 +1042,7 @@
|
||||
</record>
|
||||
|
||||
<menuitem action="action_account_moves_sale" id="menu_eaction_account_moves_sale" parent="menu_finance_receivables"/>
|
||||
|
||||
|
||||
<record id="action_account_moves_purchase" model="ir.actions.act_window">
|
||||
<field name="name">Transaction Journals</field>
|
||||
<field name="res_model">account.move</field>
|
||||
@@ -1097,7 +1097,7 @@
|
||||
</record>
|
||||
<menuitem action="action_move_line_search_view3" id="journal_cash_move_lines" parent="menu_finance_bank_and_cash"/>
|
||||
<menuitem action="action_move_line_search_view4" id="journal_bank_move_lines" parent="menu_finance_bank_and_cash"/>
|
||||
|
||||
|
||||
<!-- <menuitem action="action_move_line_search" id="menu_action_move_line_search" parent="account.next_id_29"/>-->
|
||||
|
||||
<menuitem id="menu_finance_charts" name="Charts" parent="account.menu_finance" sequence="4"/>
|
||||
@@ -1851,7 +1851,6 @@
|
||||
</tree>
|
||||
</field>
|
||||
</group>
|
||||
<xpath expr='//button[@name="action_skip"]' position='replace'/>
|
||||
</data>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -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-06-08 03:40+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-06-09 03:35+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account
|
||||
|
||||
@@ -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-06-08 03:40+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-06-09 03:35+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account
|
||||
|
||||
@@ -1300,7 +1300,7 @@ class account_invoice_line(osv.osv):
|
||||
result['name'] = res.partner_ref
|
||||
|
||||
domain = {}
|
||||
result['uos_id'] = uom or res.uom_id.id or False
|
||||
result['uos_id'] = res.uom_id.id or uom or False
|
||||
if result['uos_id']:
|
||||
res2 = res.uom_id.category_id.id
|
||||
if res2 :
|
||||
@@ -1323,8 +1323,22 @@ class account_invoice_line(osv.osv):
|
||||
if company.currency_id.id != currency.id:
|
||||
new_price = res_final['value']['price_unit'] * currency.rate
|
||||
res_final['value']['price_unit'] = new_price
|
||||
|
||||
if uom:
|
||||
uom = self.pool.get('product.uom').browse(cr, uid, uom, context=context)
|
||||
if res.uom_id.category_id.id == uom.category_id.id:
|
||||
new_price = res_final['value']['price_unit'] * uom.factor_inv
|
||||
res_final['value']['price_unit'] = new_price
|
||||
return res_final
|
||||
|
||||
def uos_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):
|
||||
res = self.product_id_change(cr, uid, ids, product, uom, qty, name, type, partner_id, fposition_id, price_unit, address_invoice_id, currency_id, context)
|
||||
if 'uos_id' in res['value']:
|
||||
del res['value']['uos_id']
|
||||
if not uom:
|
||||
res['value']['price_unit'] = 0.0
|
||||
return res
|
||||
|
||||
def move_line_get(self, cr, uid, invoice_id, context=None):
|
||||
res = []
|
||||
tax_grouped = {}
|
||||
|
||||
@@ -55,51 +55,3 @@ class account_analytic_cost_ledger_journal_report(osv.osv_memory):
|
||||
|
||||
account_analytic_cost_ledger_journal_report()
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
#import time
|
||||
#import wizard
|
||||
#
|
||||
#_form = '''<?xml version="1.0"?>
|
||||
#<form string="Select period">
|
||||
# <separator string="Cost Legder for period" colspan="4"/>
|
||||
# <field name="date1"/>
|
||||
# <field name="date2"/>
|
||||
# <separator string="and Journals" colspan="4"/>
|
||||
# <field name="journal" colspan="4"/>
|
||||
#</form>'''
|
||||
#
|
||||
#_fields = {
|
||||
# 'date1': {'string':'Start of period', 'type':'date', 'required':True, 'default': lambda *a: time.strftime('%Y-01-01')},
|
||||
# 'date2': {'string':'End of period', 'type':'date', 'required':True, 'default': lambda *a: time.strftime('%Y-%m-%d')},
|
||||
# 'journal': {'string':'Journals','type':'many2many', 'relation':'account.analytic.journal'},
|
||||
#}
|
||||
#
|
||||
#
|
||||
#class wizard_report(wizard.interface):
|
||||
# states = {
|
||||
# 'init': {
|
||||
# 'actions': [],
|
||||
# 'result': {
|
||||
# 'type': 'form',
|
||||
# 'arch': _form,
|
||||
# 'fields': _fields,
|
||||
# 'state': [
|
||||
# ('end','Cancel'),
|
||||
# ('report','Print')
|
||||
# ]
|
||||
# }
|
||||
# },
|
||||
# 'report': {
|
||||
# 'actions': [],
|
||||
# 'result': {
|
||||
# 'type': 'print',
|
||||
# 'report': 'account.analytic.account.quantity_cost_ledger',
|
||||
# 'state': 'end'
|
||||
# }
|
||||
# },
|
||||
# }
|
||||
#
|
||||
#wizard_report('account.analytic.account.quantity_cost_ledger.report')
|
||||
#
|
||||
## vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
|
||||
@@ -32,26 +32,26 @@ class project_account_analytic_line(osv.osv_memory):
|
||||
def action_open_window(self, cr, uid, ids, context={}):
|
||||
mod_obj =self.pool.get('ir.model.data')
|
||||
domain = []
|
||||
for data in self.read(cr, uid, ids, context=context):
|
||||
from_date = data['from_date']
|
||||
to_date = data['to_date']
|
||||
if from_date and to_date:
|
||||
domain = [('date','>=',from_date), ('date','<=',to_date)]
|
||||
elif from_date:
|
||||
domain = [('date','>=',from_date)]
|
||||
elif to_date:
|
||||
domain = [('date','<=',to_date)]
|
||||
result = mod_obj._get_id(cr, uid, 'account', 'view_account_analytic_line_filter')
|
||||
id = mod_obj.read(cr, uid, result, ['res_id'], context=context)
|
||||
return {
|
||||
'name': _('Analytic Entries by line'),
|
||||
'view_type': 'form',
|
||||
"view_mode": 'tree,form',
|
||||
'res_model': 'account.analytic.line',
|
||||
'type': 'ir.actions.act_window',
|
||||
'domain': domain,
|
||||
'search_view_id': id['res_id'],
|
||||
}
|
||||
data = self.read(cr, uid, ids, [])[0]
|
||||
from_date = data['from_date']
|
||||
to_date = data['to_date']
|
||||
if from_date and to_date:
|
||||
domain = [('date','>=',from_date), ('date','<=',to_date)]
|
||||
elif from_date:
|
||||
domain = [('date','>=',from_date)]
|
||||
elif to_date:
|
||||
domain = [('date','<=',to_date)]
|
||||
result = mod_obj._get_id(cr, uid, 'account', 'view_account_analytic_line_filter')
|
||||
id = mod_obj.read(cr, uid, result, ['res_id'], context=context)
|
||||
return {
|
||||
'name': _('Analytic Entries by line'),
|
||||
'view_type': 'form',
|
||||
"view_mode": 'tree,form',
|
||||
'res_model': 'account.analytic.line',
|
||||
'type': 'ir.actions.act_window',
|
||||
'domain': domain,
|
||||
'search_view_id': id['res_id'],
|
||||
}
|
||||
|
||||
project_account_analytic_line()
|
||||
|
||||
|
||||
@@ -0,0 +1,84 @@
|
||||
-
|
||||
In order to test change currency wizard I create an invoice with currency "EUR" and change it to "USD" using the wizard
|
||||
-
|
||||
!record {model: account.invoice, id: account_invoice_currency}:
|
||||
account_id: account.a_recv
|
||||
address_contact_id: base.res_partner_address_3000
|
||||
address_invoice_id: base.res_partner_address_3000
|
||||
company_id: base.main_company
|
||||
currency_id: base.EUR
|
||||
invoice_line:
|
||||
- account_id: account.a_sale
|
||||
name: '[PC1] Basic PC'
|
||||
price_unit: 450.0
|
||||
quantity: 1.0
|
||||
product_id: product.product_product_pc1
|
||||
uos_id: product.product_uom_unit
|
||||
journal_id: account.sales_journal
|
||||
partner_id: base.res_partner_desertic_hispafuentes
|
||||
reference_type: none
|
||||
|
||||
-
|
||||
I check that Initially customer invoice is in the draft state
|
||||
-
|
||||
!assert {model: account.invoice, id: account_invoice_currency, string: Customer Invoice is in Draft state}:
|
||||
- state == 'draft'
|
||||
-
|
||||
I change the state of invoice to proforma2 by clicking PRO-FORMA button
|
||||
-
|
||||
!workflow {model: account.invoice, action: invoice_proforma2, ref: account_invoice_currency}
|
||||
-
|
||||
I check that now customer invoice is in the "proforma2" state
|
||||
-
|
||||
!assert {model: account.invoice, id: account_invoice_currency}:
|
||||
- state == 'proforma2'
|
||||
-
|
||||
Now I select USD as new currency
|
||||
-
|
||||
!record {model: account.change.currency, id: account_change_currency_0}:
|
||||
currency_id: base.USD
|
||||
-
|
||||
I clicked on Change Currency button to change the currency
|
||||
-
|
||||
!python {model: account.change.currency}: |
|
||||
try:
|
||||
self.view_init(cr, uid, [ref("account_change_currency_0")], {"lang": 'en_US',
|
||||
"active_model": "account.invoice", "tz": False, "record_id": 4, "active_ids":
|
||||
[ref("account_invoice_currency")], "type": "out_invoice", "active_id": ref("account_invoice_currency"),
|
||||
})
|
||||
self.change_currency(cr, uid, [ref("account_change_currency_0")], {"lang": 'en_US',
|
||||
"active_model": "account.invoice", "tz": False, "record_id": 4, "active_ids":
|
||||
[ref("account_invoice_currency")], "type": "out_invoice", "active_id": ref("account_invoice_currency"),
|
||||
})
|
||||
except:
|
||||
print "You can not change currency for Open Invoice !"
|
||||
-
|
||||
I can't change the currency of invoice when it is not in draft state so i change the state to cancel
|
||||
-
|
||||
!workflow {model: account.invoice, action: invoice_cancel, ref: account_invoice_currency}
|
||||
-
|
||||
I change the state to "Draft"
|
||||
-
|
||||
!python {model: account.invoice}: |
|
||||
self.action_cancel_draft(cr, uid, [ref("account_invoice_currency")], {"lang": 'en_US',
|
||||
"tz": False, "active_model": "ir.ui.menu", "active_ids": [ref("account.menu_action_invoice_tree1")],
|
||||
"type": "out_invoice", "active_id": ref("account.menu_action_invoice_tree1"),
|
||||
})
|
||||
-
|
||||
I change the currency.
|
||||
-
|
||||
!record {model: account.change.currency, id: account_change_currency_0}:
|
||||
currency_id: base.USD
|
||||
-
|
||||
I clicked on Change Currency button to change the currency
|
||||
-
|
||||
!python {model: account.change.currency}: |
|
||||
self.change_currency(cr, uid, [ref("account_change_currency_0")], {"lang": 'en_US',
|
||||
"active_model": "account.invoice", "tz": False, "record_id": 4, "active_ids":
|
||||
[ref("account_invoice_currency")], "type": "out_invoice", "active_id": ref("account_invoice_currency"),
|
||||
})
|
||||
-
|
||||
I check that the currency is changed successfully
|
||||
-
|
||||
!assert {model: account.invoice, id: account_invoice_currency, string: Currency changed from EUR to USD}:
|
||||
- currency_id.id == ref("base.USD")
|
||||
@@ -1,9 +1,7 @@
|
||||
-
|
||||
In order to test account invoice i create a new customer invoice
|
||||
In order to test account invoice I create a new customer invoice
|
||||
-
|
||||
Creating a account.invoice record
|
||||
-
|
||||
!record {model: account.invoice, id: account_invoice_0}:
|
||||
!record {model: account.invoice, id: account_invoice_customer0}:
|
||||
account_id: account.a_recv
|
||||
address_contact_id: base.res_partner_address_zen
|
||||
address_invoice_id: base.res_partner_address_zen
|
||||
@@ -21,36 +19,30 @@
|
||||
partner_id: base.res_partner_3
|
||||
reference_type: none
|
||||
-
|
||||
I check that Initially customer invoice is in the draft state
|
||||
I check that Initially customer invoice is in the "Draft" state
|
||||
-
|
||||
!assert {model: account.invoice, id: account_invoice_0}:
|
||||
!assert {model: account.invoice, id: account_invoice_customer0}:
|
||||
- state == 'draft'
|
||||
-
|
||||
I change the state of invoice to proforma2 by clicking PRO-FORMA button
|
||||
I change the state of invoice to "Proforma2" by clicking PRO-FORMA button
|
||||
-
|
||||
Performing a workflow action invoice_proforma2 on module account.invoice
|
||||
!workflow {model: account.invoice, action: invoice_proforma2, ref: account_invoice_customer0}
|
||||
-
|
||||
!workflow {model: account.invoice, action: invoice_proforma2, ref: account_invoice_0}
|
||||
I check that the invoice state is now "Proforma2"
|
||||
-
|
||||
I check that the invoice state is now proforma2
|
||||
-
|
||||
!assert {model: account.invoice, id: account_invoice_0}:
|
||||
!assert {model: account.invoice, id: account_invoice_customer0}:
|
||||
- state == 'proforma2'
|
||||
-
|
||||
I create invoice by clicking on Create button
|
||||
-
|
||||
Performing a workflow action invoice_open on module account.invoice
|
||||
!workflow {model: account.invoice, action: invoice_open, ref: account_invoice_customer0}
|
||||
-
|
||||
!workflow {model: account.invoice, action: invoice_open, ref: account_invoice_0}
|
||||
I check that the invoice state is "Open"
|
||||
-
|
||||
I check that the invoice state is now open
|
||||
-
|
||||
!assert {model: account.invoice, id: account_invoice_0}:
|
||||
!assert {model: account.invoice, id: account_invoice_customer0}:
|
||||
- state == 'open'
|
||||
-
|
||||
I make a partial payment of 1000 by clicking on Pay Invoice button
|
||||
-
|
||||
Creating a account.invoice.pay record
|
||||
I create a record for partial payment of 1000 EUR.
|
||||
-
|
||||
!record {model: account.invoice.pay, id: account_invoice_pay_first0}:
|
||||
amount: 1000.0
|
||||
@@ -58,25 +50,21 @@
|
||||
journal_id: account.sales_journal
|
||||
name: First payment for [PC3] Medium PC to Distrib PC
|
||||
period_id: account.period_5
|
||||
|
||||
|
||||
-
|
||||
Performing an osv_memory action pay_and_reconcile on module account.invoice.pay
|
||||
I make partial payment by clicking on Partial Payment button
|
||||
-
|
||||
!python {model: account.invoice.pay}: |
|
||||
self.pay_and_reconcile(cr, uid, [ref("account_invoice_pay_first0")], {"lang":
|
||||
'en_US', "active_model": "account.invoice", "tz": False, "record_id": 3, "active_ids":
|
||||
[ref("account_invoice_0")], "type": "out_invoice", "active_id": ref("account_invoice_0"),
|
||||
[ref("account_invoice_customer0")], "type": "out_invoice", "active_id": ref("account_invoice_customer0"),
|
||||
})
|
||||
-
|
||||
I check that the invoice state is still open
|
||||
-
|
||||
!assert {model: account.invoice, id: account_invoice_0}:
|
||||
!assert {model: account.invoice, id: account_invoice_customer0}:
|
||||
- state == 'open'
|
||||
-
|
||||
I make second partial payment of 6000 by clicking on Pay Invoice button
|
||||
-
|
||||
Creating a account.invoice.pay record
|
||||
I make second partial payment of 6000 EUR.
|
||||
-
|
||||
!record {model: account.invoice.pay, id: account_invoice_pay_second0}:
|
||||
amount: 6000.0
|
||||
@@ -84,19 +72,17 @@
|
||||
journal_id: account.sales_journal
|
||||
name: Second payment for [PC3] Medium PC to Distrib PC
|
||||
period_id: account.period_5
|
||||
|
||||
-
|
||||
Performing an osv_memory action pay_and_reconcile on module account.invoice.pay
|
||||
I make partial payment by clicking on Partial Payment button
|
||||
|
||||
-
|
||||
!python {model: account.invoice.pay}: |
|
||||
self.pay_and_reconcile(cr, uid, [ref("account_invoice_pay_second0")], {"lang":
|
||||
'en_US', "active_model": "account.invoice", "tz": False, "record_id": 3, "active_ids":
|
||||
[ref("account_invoice_0")], "type": "out_invoice", "active_id": ref("account_invoice_0"),
|
||||
[ref("account_invoice_customer0")], "type": "out_invoice", "active_id": ref("account_invoice_customer0"),
|
||||
})
|
||||
-
|
||||
I make final partial payment of 2000 by clicking on Pay Invoice button
|
||||
-
|
||||
Creating a account.invoice.pay record
|
||||
I make final partial payment of 2000 EUR
|
||||
-
|
||||
!record {model: account.invoice.pay, id: account_invoice_pay_final0}:
|
||||
amount: 2000.0
|
||||
@@ -105,39 +91,39 @@
|
||||
name: Final payment for [PC3] Medium PC to Distrib PC
|
||||
period_id: account.period_5
|
||||
|
||||
|
||||
-
|
||||
Performing an osv_memory action pay_and_reconcile on module account.invoice.pay
|
||||
I make partial payment by clicking on Partial Payment button
|
||||
|
||||
-
|
||||
!python {model: account.invoice.pay}: |
|
||||
self.pay_and_reconcile(cr, uid, [ref("account_invoice_pay_final0")], {"lang":
|
||||
'en_US', "active_model": "account.invoice", "tz": False, "record_id": 3, "active_ids":
|
||||
[ref("account_invoice_0")], "type": "out_invoice", "active_id": ref("account_invoice_0"),
|
||||
[ref("account_invoice_customer0")], "type": "out_invoice", "active_id": ref("account_invoice_customer0"),
|
||||
})
|
||||
|
||||
-
|
||||
I check that the invoice state is now Done
|
||||
-
|
||||
!assert {model: account.invoice, id: account_invoice_0}:
|
||||
!assert {model: account.invoice, id: account_invoice_customer0}:
|
||||
- state == 'paid'
|
||||
-
|
||||
I check that an payment entry gets created in the account.move.line
|
||||
-
|
||||
!python {model: account.invoice}: |
|
||||
acc_id=self.browse(cr, uid, ref("account_invoice_0"))
|
||||
acc_id=self.browse(cr, uid, ref("account_invoice_customer0"))
|
||||
assert(acc_id.move_id)
|
||||
#-
|
||||
# I refund the invoice
|
||||
#-
|
||||
# Creating a account.invoice.refund record
|
||||
#-
|
||||
# !record {model: account.invoice.refund, id: account_invoice_refund_0}:
|
||||
# description: Refund
|
||||
#
|
||||
#-
|
||||
# Performing an osv_memory action invoice_refund on module account.invoice.refund
|
||||
#-
|
||||
# !python {model: account.invoice.refund}: |
|
||||
# self.invoice_refund(cr, uid, [ref("account_invoice_refund_0")], {"lang": 'en_US', "tz": False, "active_model": "account.invoice", "active_ids": [ref("account.account_invoice_0")], "type": "out_invoice", "active_id": ref("account.account_invoice_0"), })
|
||||
# return self.compute_refund(cr, uid, [ref("account_invoice_refund_0")], "refund" {"lang": 'en_US',"tz": False, "active_model": "account.invoice", "active_ids": [ref("account.account_invoice_0")], "type": "out_invoice", "active_id": ref("account.account_invoice_0"), })
|
||||
-
|
||||
I refund the invoice Using Credit Note
|
||||
-
|
||||
!record {model: account.invoice.refund, id: account_invoice_refund_0}:
|
||||
description: Refund To China Export
|
||||
period: account.period_5
|
||||
-
|
||||
I clicked on refund button
|
||||
-
|
||||
!python {model: account.invoice.refund}: |
|
||||
self.invoice_refund(cr, uid, [ref("account_invoice_refund_0")], {"lang": 'en_US', "tz": False, "active_model": "account.invoice", "active_ids": [ref("account.account_invoice_customer0")], "type": "out_invoice", "active_id": ref("account.account_invoice_customer0"), })
|
||||
-
|
||||
I checked that a new entry with state "Draft" created in account move line
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,91 @@
|
||||
-
|
||||
In order to test Generate Fiscalyear Opening Entries wizard of OpenERP I first create a fiscalyear "Fiscal Year 2011" to which the entries will move
|
||||
-
|
||||
!record {model: account.fiscalyear, id: account_fiscalyear_fiscalyear0}:
|
||||
code: FY2011
|
||||
company_id: base.main_company
|
||||
date_start: '2011-01-01'
|
||||
date_stop: '2011-12-31'
|
||||
name: Fiscal Year 2011
|
||||
-
|
||||
I create a period "Jan2011" for the new fiscalyear
|
||||
-
|
||||
!record {model: account.period, id: account_period_jan11}:
|
||||
company_id: base.main_company
|
||||
date_start: '2011-01-01'
|
||||
date_stop: '2011-12-31'
|
||||
fiscalyear_id: account_fiscalyear_fiscalyear0
|
||||
name: Jan2011
|
||||
special: 1
|
||||
|
||||
-
|
||||
I made modification in journal so it can move entries
|
||||
-
|
||||
!record {model: account.journal, id: account.sales_journal}:
|
||||
centralisation: 1
|
||||
|
||||
-
|
||||
I called the Generate Fiscalyear Opening Entries wizard
|
||||
-
|
||||
!record {model: account.fiscalyear.close, id: account_fiscalyear_close_0}:
|
||||
fy2_id: account_fiscalyear_fiscalyear0
|
||||
fy_id: account.data_fiscalyear
|
||||
journal_id: account.sales_journal
|
||||
period_id: account_period_jan11
|
||||
report_name: End of Fiscal Year Entry
|
||||
sure: 1
|
||||
-
|
||||
I clicked on create Button
|
||||
|
||||
-
|
||||
!python {model: account.fiscalyear.close}: |
|
||||
self.data_save(cr, uid, [ref("account_fiscalyear_close_0")], {"lang": 'en_US',
|
||||
"active_model": "ir.ui.menu", "active_ids": [ref("account.menu_wizard_fy_close")],
|
||||
"tz": False, "active_id": ref("account.menu_wizard_fy_close"), })
|
||||
|
||||
-
|
||||
I check the opening entries By using "Entries by Line wizard"
|
||||
-
|
||||
!record {model: account.move.journal, id: account_move_journal_0}:
|
||||
journal_id: account.sales_journal
|
||||
period_id: account_period_jan11
|
||||
-
|
||||
I clicked on Open Journal Button to check the entries
|
||||
|
||||
-
|
||||
!python {model: account.move.journal}: |
|
||||
self.action_open_window(cr, uid, [ref("account_move_journal_0")], {"lang": 'en_US',
|
||||
"active_model": "ir.ui.menu", "active_ids": [ref("account.menu_action_move_journal_line_form")],
|
||||
"tz": False, "active_id": ref("account.menu_action_move_journal_line_form"),
|
||||
})
|
||||
|
||||
-
|
||||
In order to test Cancel Opening Entries I cancelled the opening entries created for "Fiscal Year 2011"
|
||||
-
|
||||
!record {model: account.open.closed.fiscalyear, id: account_open_closed_fiscalyear_1}:
|
||||
fyear_id: account.data_fiscalyear
|
||||
-
|
||||
I clicked on Open button
|
||||
-
|
||||
!python {model: account.open.closed.fiscalyear}: |
|
||||
self.remove_entries(cr, uid, [ref("account_open_closed_fiscalyear_1")], {"lang":
|
||||
'en_US', "active_model": "ir.ui.menu", "active_ids": [ref("account.menu_wizard_open_closed_fy")],
|
||||
"tz": False, "active_id": ref("account.menu_wizard_open_closed_fy"), })
|
||||
-
|
||||
I check the opening entries By using "Entries by Line wizard"
|
||||
-
|
||||
!record {model: account.move.journal, id: account_move_journal_2}:
|
||||
journal_id: account.sales_journal
|
||||
period_id: account_period_jan11
|
||||
|
||||
-
|
||||
I checked the Opening entries are cancelled successfully
|
||||
-
|
||||
!python {model: account.move.journal}: |
|
||||
self.action_open_window(cr, uid, [ref("account_move_journal_2")], {"lang": 'en_US',
|
||||
"active_model": "ir.ui.menu", "active_ids": [ref("account.menu_action_move_journal_line_form")],
|
||||
"tz": False, "active_id": ref("account.menu_action_move_journal_line_form"),
|
||||
})
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
|
||||
-
|
||||
In order to check the Close a Fiscal Year wizard in OpenERP I first create a Fiscalyear
|
||||
-
|
||||
!record {model: account.fiscalyear, id: account_fiscalyear_fiscalyear0}:
|
||||
code: FY2011
|
||||
company_id: base.main_company
|
||||
date_start: '2011-01-01'
|
||||
date_stop: '2011-12-31'
|
||||
name: Fiscal Year 2011
|
||||
-
|
||||
I create monthly Periods for this fiscalyear
|
||||
-
|
||||
!python {model: account.fiscalyear}: |
|
||||
self.create_period(cr, uid, [ref("account_fiscalyear_fiscalyear0")], {"lang":
|
||||
'en_US', "active_model": "ir.ui.menu", "active_ids": [ref("account.menu_action_account_fiscalyear_form")],
|
||||
"tz": False, "active_id": ref("account.menu_action_account_fiscalyear_form"),
|
||||
})
|
||||
-
|
||||
I check that the fiscalyear state is "Draft"
|
||||
-
|
||||
!assert {model: account.fiscalyear, id: account_fiscalyear_fiscalyear0, string: Fiscal Year is in Draft state}:
|
||||
- state == 'draft'
|
||||
-
|
||||
I run the Close a Fiscalyear wizard to close this fiscalyear
|
||||
-
|
||||
!record {model: account.fiscalyear.close.state, id: account_fiscalyear_close_state_0}:
|
||||
fy_id: account_fiscalyear_fiscalyear0
|
||||
sure: 1
|
||||
-
|
||||
I clicked on Close States Button to close fiscalyear
|
||||
|
||||
-
|
||||
!python {model: account.fiscalyear.close.state}: |
|
||||
self.data_save(cr, uid, [ref("account_fiscalyear_close_state_0")], {"lang": 'en_US',
|
||||
"active_model": "ir.ui.menu", "active_ids": [ref("account.menu_wizard_fy_close_state")],
|
||||
"tz": False, "active_id": ref("account.menu_wizard_fy_close_state"), })
|
||||
-
|
||||
I check that the fiscalyear state is now "Done"
|
||||
-
|
||||
!assert {model: account.fiscalyear, id: account_fiscalyear_fiscalyear0, string: Fiscal Year is in Done state}:
|
||||
- state == 'done'
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
-
|
||||
In order to test Confirm Draft Invoice wizard I create an invoice and confirm it with this wizard
|
||||
-
|
||||
!record {model: account.invoice, id: account_invoice_state}:
|
||||
account_id: account.a_recv
|
||||
address_contact_id: base.res_partner_address_3000
|
||||
address_invoice_id: base.res_partner_address_3000
|
||||
company_id: base.main_company
|
||||
currency_id: base.EUR
|
||||
invoice_line:
|
||||
- account_id: account.a_sale
|
||||
name: '[PC1] Basic PC'
|
||||
price_unit: 450.0
|
||||
quantity: 1.0
|
||||
product_id: product.product_product_pc1
|
||||
uos_id: product.product_uom_unit
|
||||
journal_id: account.bank_journal
|
||||
partner_id: base.res_partner_desertic_hispafuentes
|
||||
reference_type: none
|
||||
-
|
||||
I check that Initially customer invoice state is "Draft"
|
||||
-
|
||||
!assert {model: account.invoice, id: account_invoice_state}:
|
||||
- state == 'draft'
|
||||
-
|
||||
I called the "Confirm Draft Invoices" wizard
|
||||
-
|
||||
!record {model: account.invoice.confirm, id: account_invoice_confirm_0}:
|
||||
{}
|
||||
-
|
||||
I clicked on Confirm Invoices Button
|
||||
-
|
||||
!python {model: account.invoice.confirm}: |
|
||||
self.invoice_confirm(cr, uid, [ref("account_invoice_confirm_0")], {"lang": 'en_US',
|
||||
"tz": False, "active_model": "account.invoice", "active_ids": [ref("account_invoice_state")],
|
||||
"type": "out_invoice", "active_id": ref("account_invoice_state"), })
|
||||
-
|
||||
I check that customer invoice state is "Open"
|
||||
-
|
||||
!assert {model: account.invoice, id: account_invoice_state}:
|
||||
- state == 'open'
|
||||
-
|
||||
I Modified the journal record so it can cancel invoice
|
||||
-
|
||||
!record {model: account.journal, id: account.bank_journal}:
|
||||
update_posted: 1
|
||||
|
||||
|
||||
-
|
||||
In order to check the "Cancel Selected Invoices" wizard in openerp I cancelled this open invoice using this wizard
|
||||
-
|
||||
!record {model: account.invoice.cancel, id: account_invoice_cancel_0}:
|
||||
{}
|
||||
|
||||
-
|
||||
I clicked on Cancel Invoices Button
|
||||
-
|
||||
!python {model: account.invoice.cancel}: |
|
||||
self.invoice_cancel(cr, uid, [ref("account_invoice_cancel_0")], {"lang": 'en_US',
|
||||
"tz": False, "active_model": "account.invoice", "active_ids": [ref("account_invoice_state")],
|
||||
"type": "out_invoice", "active_id": ref("account_invoice_state"), })
|
||||
|
||||
-
|
||||
I check that customer invoice is in the cancel state
|
||||
-
|
||||
!assert {model: account.invoice, id: account_invoice_state}:
|
||||
- state == 'cancel'
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
|
||||
-
|
||||
In order to test close period wizard I create a period then close it and checked it's state
|
||||
-
|
||||
!record {model: account.period, id: account_period_jan0}:
|
||||
company_id: base.main_company
|
||||
date_start: '2010-01-01'
|
||||
date_stop: '2010-01-31'
|
||||
fiscalyear_id: account.data_fiscalyear
|
||||
name: Jan-2010
|
||||
special: 1
|
||||
|
||||
-
|
||||
I check that the period state is "Draft"
|
||||
-
|
||||
!assert {model: account.period, id: account_period_jan0, string: Period is in Draft state}:
|
||||
- state == 'draft'
|
||||
-
|
||||
I use "Close a Period" wizard to close period Jan-2010
|
||||
-
|
||||
!record {model: account.period.close, id: account_period_close_0}:
|
||||
sure: 1
|
||||
-
|
||||
I clicked on Close Period Button to close Period
|
||||
|
||||
-
|
||||
!python {model: account.period.close}: |
|
||||
self.data_save(cr, uid, [ref("account_period_close_0")], {"lang": 'en_US', "active_model":
|
||||
"account.period", "active_ids": [ref("account_period_jan0")], "tz": False, "active_id":
|
||||
ref("account_period_jan0"), })
|
||||
-
|
||||
I check that the period state is "Done"
|
||||
-
|
||||
!assert {model: account.period, id: account_period_jan0, string: Period is in Done state}:
|
||||
- state == 'done'
|
||||
@@ -1,9 +1,7 @@
|
||||
-
|
||||
In order to test account invoice i create a new supplier invoice
|
||||
In order to test account invoice I create a new supplier invoice
|
||||
-
|
||||
Creating a account.invoice record
|
||||
-
|
||||
!record {model: account.invoice, id: account_invoice_1}:
|
||||
!record {model: account.invoice, id: account_invoice_supplier0}:
|
||||
account_id: account.a_pay
|
||||
address_contact_id: base.res_partner_address_3000
|
||||
address_invoice_id: base.res_partner_address_3000
|
||||
@@ -22,25 +20,21 @@
|
||||
reference_type: none
|
||||
type: in_invoice
|
||||
-
|
||||
I check that Initially supplier invoice is in the draft state
|
||||
I check that Initially supplier invoice state is "Draft"
|
||||
-
|
||||
!assert {model: account.invoice, id: account_invoice_1}:
|
||||
!assert {model: account.invoice, id: account_invoice_supplier0}:
|
||||
- state == 'draft'
|
||||
-
|
||||
I change the state of invoice to open by clicking Validate button
|
||||
-
|
||||
Performing a workflow action invoice_open on module account.invoice
|
||||
!workflow {model: account.invoice, action: invoice_open, ref: account_invoice_supplier0}
|
||||
-
|
||||
!workflow {model: account.invoice, action: invoice_open, ref: account_invoice_1}
|
||||
I check that the invoice state is now "Open"
|
||||
-
|
||||
I check that the invoice state is now open
|
||||
-
|
||||
!assert {model: account.invoice, id: account_invoice_1}:
|
||||
!assert {model: account.invoice, id: account_invoice_supplier0}:
|
||||
- state == 'open'
|
||||
-
|
||||
I make a partial payment of 2000 by clicking on Pay Invoice button
|
||||
-
|
||||
Creating a account.invoice.pay record
|
||||
I make a partial payment of 2000 EUR
|
||||
-
|
||||
!record {model: account.invoice.pay, id: account_invoice_pay_firstpaymenttoaxelorforbasicpc0}:
|
||||
amount: 2000.0
|
||||
@@ -48,24 +42,21 @@
|
||||
journal_id: account.sales_journal
|
||||
name: First Payment to Axelor for Basic PC
|
||||
period_id: account.period_5
|
||||
|
||||
-
|
||||
Performing an osv_memory action pay_and_reconcile on module account.invoice.pay
|
||||
I make partial payment by clicking on Partial Payment button
|
||||
-
|
||||
!python {model: account.invoice.pay}: |
|
||||
self.pay_and_reconcile(cr, uid, [ref("account_invoice_pay_firstpaymenttoaxelorforbasicpc0")],
|
||||
{"lang": 'en_US', "active_model": "account.invoice", "tz": False, "record_id":
|
||||
25, "active_ids": [ref("account_invoice_1")], "type": "in_invoice", "active_id":
|
||||
ref("account_invoice_1"), })
|
||||
25, "active_ids": [ref("account_invoice_supplier0")], "type": "in_invoice", "active_id":
|
||||
ref("account_invoice_supplier0"), })
|
||||
-
|
||||
I check that the invoice state is still open
|
||||
I check that the invoice state is still "Open"
|
||||
-
|
||||
!assert {model: account.invoice, id: account_invoice_1}:
|
||||
!assert {model: account.invoice, id: account_invoice_supplier0}:
|
||||
- state == 'open'
|
||||
-
|
||||
I make final partial payment of 1000 by clicking on Pay Invoice button
|
||||
-
|
||||
Creating a account.invoice.pay record
|
||||
I make final partial payment of 1000 EUR
|
||||
-
|
||||
!record {model: account.invoice.pay, id: account_invoice_pay_finalpaymenttoaxelorforbasicpc0}:
|
||||
amount: 1000.0
|
||||
@@ -73,45 +64,23 @@
|
||||
journal_id: account.sales_journal
|
||||
name: Final Payment to Axelor for Basic PC
|
||||
period_id: account.period_5
|
||||
|
||||
|
||||
-
|
||||
Performing an osv_memory action pay_and_reconcile on module account.invoice.pay
|
||||
I make partial payment by clicking on Partial Payment button
|
||||
-
|
||||
!python {model: account.invoice.pay}: |
|
||||
self.pay_and_reconcile(cr, uid, [ref("account_invoice_pay_finalpaymenttoaxelorforbasicpc0")],
|
||||
{"lang": 'en_US', "active_model": "account.invoice", "tz": False, "record_id":
|
||||
25, "active_ids": [ref("account_invoice_1")], "type": "in_invoice", "active_id":
|
||||
ref("account_invoice_1"), })
|
||||
25, "active_ids": [ref("account_invoice_supplier0")], "type": "in_invoice", "active_id":
|
||||
ref("account_invoice_supplier0"), })
|
||||
|
||||
-
|
||||
I check that the invoice state is now Done
|
||||
I check that the invoice state is now "Done"
|
||||
-
|
||||
!assert {model: account.invoice, id: account_invoice_1}:
|
||||
!assert {model: account.invoice, id: account_invoice_supplier0}:
|
||||
- state == 'paid'
|
||||
-
|
||||
I check that an payment entry gets created in the account.move.line
|
||||
I check that an payment entry gets created in the account move line
|
||||
-
|
||||
!python {model: account.invoice}: |
|
||||
acc_id=self.browse(cr, uid, ref("account_invoice_1"))
|
||||
acc_id=self.browse(cr, uid, ref("account_invoice_supplier0"))
|
||||
assert(acc_id.move_id)
|
||||
#-
|
||||
# I refund the invoice
|
||||
#-
|
||||
# Creating a account.invoice.refund record
|
||||
#-
|
||||
# !record {model: account.invoice.refund, id: account_invoice_refund_0}:
|
||||
# date: '2010-06-22'
|
||||
# description: 'Refund By Axelor '
|
||||
#
|
||||
#
|
||||
#-
|
||||
# Performing an osv_memory action invoice_refund on module account.invoice.refund
|
||||
#-
|
||||
# !python {model: account.invoice.refund}: |
|
||||
# self.invoice_refund(cr, uid, [ref("account_invoice_refund_0")], {"lang": 'en_US',
|
||||
# "tz": False, "active_model": "account.invoice", "active_ids": [ref("account_invoice_1")],
|
||||
# "type": "in_invoice", "active_id": ref("account_invoice_1"), })
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
-
|
||||
In order to test account use models wizard in OpenERP I create an account model record
|
||||
-
|
||||
!record {model: account.model, id: account_model_mymodelonyears0}:
|
||||
journal_id: account.expenses_journal
|
||||
lines_id:
|
||||
- account_id: account.a_recv
|
||||
credit: 0.0
|
||||
debit: 0.0
|
||||
name: test1
|
||||
sequence: 0.0
|
||||
date: today
|
||||
quantity: 0.0
|
||||
name: My Model on %(year)s
|
||||
|
||||
-
|
||||
I create an account use model record
|
||||
|
||||
-
|
||||
!record {model: account.use.model, id: account_use_model_0}:
|
||||
{}
|
||||
|
||||
-
|
||||
I create entries.
|
||||
-
|
||||
!python {model: account.use.model}: |
|
||||
self.create_entries(cr, uid, [ref("account_use_model_0")], {"lang": 'en_US', "active_model":
|
||||
"account.model", "active_ids": [ref("account_model_mymodelonyears0")], "tz":
|
||||
False, "active_id": ref("account_model_mymodelonyears0"), })
|
||||
-
|
||||
I create an account use model record
|
||||
-
|
||||
!record {model: account.use.model, id: account_use_model_1}:
|
||||
{}
|
||||
|
||||
-
|
||||
I checked that Moves are created successfully
|
||||
|
||||
-
|
||||
!python {model: account.use.model}: |
|
||||
self.open_moves(cr, uid, [ref("account_use_model_1")], {"lang": 'en_US', "move_ids":
|
||||
[], "tz": False, "active_model": "account.model", "active_ids": [ref("account_model_mymodelonyears0")],
|
||||
"active_id": ref("account_model_mymodelonyears0"), })
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
-
|
||||
In order to test Validate Ledger Postings wizard in OpenERP I created a account move
|
||||
|
||||
-
|
||||
!record {model: account.move, id: account_move_0}:
|
||||
date: '2010-06-07'
|
||||
journal_id: account.bank_journal
|
||||
line_id:
|
||||
- account_id: account.cash
|
||||
amount_currency: 0.0
|
||||
credit: 2000.0
|
||||
date: '2010-06-07'
|
||||
debit: 0.0
|
||||
journal_id: account.bank_journal
|
||||
name: Basic Computer
|
||||
partner_id: base.res_partner_desertic_hispafuentes
|
||||
period_id: account.period_6
|
||||
ref: '2010010'
|
||||
tax_amount: 0.0
|
||||
- journal_id: account.bank_journal
|
||||
period_id: account.period_6
|
||||
ref: '2010010'
|
||||
tax_amount: 0.0
|
||||
account_id: account.a_recv
|
||||
amount_currency: 0.0
|
||||
credit: 0.0
|
||||
date: '2010-06-07'
|
||||
debit: 2000.0
|
||||
name: Basic Computer
|
||||
partner_id: base.res_partner_desertic_hispafuentes
|
||||
quantity: 0.0
|
||||
name: /
|
||||
period_id: account.period_6
|
||||
ref: '2010010'
|
||||
state: draft
|
||||
|
||||
-
|
||||
I check that Initially account move state is "Draft"
|
||||
-
|
||||
!assert {model: account.move, id: account_move_0}:
|
||||
- state == 'draft'
|
||||
-
|
||||
I validate this account move by using Validate Ledger Postings
|
||||
-
|
||||
!record {model: validate.account.move, id: validate_account_move_0}:
|
||||
journal_id: account.bank_journal
|
||||
period_id: account.period_6
|
||||
-
|
||||
I clicked on validate Button
|
||||
-
|
||||
!python {model: validate.account.move}: |
|
||||
self.validate_move(cr, uid, [ref("validate_account_move_0")], {"lang": "en_US",
|
||||
"active_model": "ir.ui.menu", "active_ids": [ref("account.menu_validate_account_moves")],
|
||||
"tz": False, "active_id": ref("account.menu_validate_account_moves"), })
|
||||
|
||||
-
|
||||
I check that the invoice state is now "Posted"
|
||||
-
|
||||
!assert {model: account.move, id: account_move_0}:
|
||||
- state == 'posted'
|
||||
@@ -0,0 +1,75 @@
|
||||
-
|
||||
In order to check the Chart of Accounts wizard I run the wizard with target move set as all
|
||||
|
||||
-
|
||||
!record {model: account.chart, id: account_chart_0}:
|
||||
target_move: all
|
||||
-
|
||||
I clicked on Open chart Button to open the chart
|
||||
-
|
||||
!python {model: account.chart}: |
|
||||
self.account_chart_open_window(cr, uid, [ref("account_chart_0")], {"lang": 'en_US',
|
||||
"active_model": "ir.ui.menu", "active_ids": [ref("account.menu_action_account_tree2")],
|
||||
"tz": False, "active_id": ref("account.menu_action_account_tree2"), })
|
||||
|
||||
-
|
||||
I create chart of account with target move set as posted
|
||||
-
|
||||
!record {model: account.chart, id: account_chart_0}:
|
||||
target_move: posted
|
||||
-
|
||||
I clicked on Open chart Button to open the chart
|
||||
-
|
||||
!python {model: account.chart}: |
|
||||
self.account_chart_open_window(cr, uid, [ref("account_chart_0")], {"lang": 'en_US',
|
||||
"active_model": "ir.ui.menu", "active_ids": [ref("account.menu_action_account_tree2")],
|
||||
"tz": False, "active_id": ref("account.menu_action_account_tree2"), })
|
||||
|
||||
-
|
||||
In order to test Account Move Line Wizard I check the move line entries using this wizard
|
||||
-
|
||||
!record {model: account.move.line.select, id: account_move_line_select_0}:
|
||||
{}
|
||||
-
|
||||
I clicked on Button to open the account move lines
|
||||
-
|
||||
!python {model: account.move.line.select}: |
|
||||
self.open_window(cr, uid, [ref("account_move_line_select_0")], {"lang": 'en_US',
|
||||
"state": "all", "tz": False, "active_model": "account.account", "active_ids":
|
||||
[ref("account.a_recv")], "fiscalyear": 1, "active_id": ref("account.a_recv"),
|
||||
})
|
||||
|
||||
|
||||
-
|
||||
In order to test the Analytic Charts of Account wizard I will generate chart
|
||||
|
||||
-
|
||||
!record {model: account.analytic.chart, id: account_analytic_chart_0}:
|
||||
from_date: '2010-01-01'
|
||||
to_date: '2010-06-30'
|
||||
-
|
||||
I clicked on Open chart Button to open the charts
|
||||
|
||||
-
|
||||
!python {model: account.analytic.chart}: |
|
||||
self.analytic_account_chart_open_window(cr, uid, [ref("account_analytic_chart_0")],
|
||||
{"lang": 'en_US', "active_model": "ir.ui.menu", "active_ids": [ref("account.menu_action_analytic_account_tree2")],
|
||||
"tz": False, "active_id": ref("account.menu_action_analytic_account_tree2"),
|
||||
})
|
||||
|
||||
-
|
||||
In order to test Account Journal Select wizard I open journal entries using this wizard
|
||||
-
|
||||
!record {model: account.journal.select, id: account_journal_select_0}:
|
||||
{}
|
||||
-
|
||||
I clicked on Open Journal Button to open the entries
|
||||
|
||||
-
|
||||
!python {model: account.journal.select}: |
|
||||
self.action_open_window(cr, uid, [ref("account_journal_select_0")], {"lang":
|
||||
'en_US', "active_model": "account.journal.period", "active_ids": [ref("account.a_recv")],
|
||||
"tz": False, "active_id": ref("account.a_recv"), })
|
||||
-
|
||||
I check that the entries open successfully
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
|
||||
<menuitem
|
||||
icon="STOCK_EXECUTE"
|
||||
name="Automatic reconciliation"
|
||||
name="Automatic Reconciliation"
|
||||
action="action_account_automatic_reconcile"
|
||||
id="menu_automatic_reconcile"
|
||||
parent="periodical_processing_reconciliation"/>
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
</record>
|
||||
|
||||
<menuitem
|
||||
name="Print Central Journal"
|
||||
name="Central Journals"
|
||||
parent="account.menu_generic_report"
|
||||
action="action_account_central_journal"
|
||||
id="menu_account_central_journal"
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
</record>
|
||||
|
||||
<menuitem
|
||||
name="Print General Journal"
|
||||
name="General Journals"
|
||||
parent="account.menu_generic_report"
|
||||
action="action_account_general_journal"
|
||||
id="menu_account_general_journal"
|
||||
|
||||
@@ -37,11 +37,11 @@ class account_invoice_confirm(osv.osv_memory):
|
||||
context = {}
|
||||
pool_obj = pooler.get_pool(cr.dbname)
|
||||
data_inv = pool_obj.get('account.invoice').read(cr, uid, context['active_ids'], ['state'], context=context)
|
||||
|
||||
|
||||
for record in data_inv:
|
||||
if record['state'] not in ('draft','proforma','proforma2'):
|
||||
raise osv.except_osv(_('Warning'), _("Selected Invoice(s) cannot be confirmed as they are not in 'Draft' or 'Pro-Forma' state!"))
|
||||
wf_service.trg_validate(uid, 'account.invoice', id, 'invoice_open', cr)
|
||||
wf_service.trg_validate(uid, 'account.invoice', record['id'], 'invoice_open', cr)
|
||||
return {}
|
||||
|
||||
account_invoice_confirm()
|
||||
@@ -61,7 +61,7 @@ class account_invoice_cancel(osv.osv_memory):
|
||||
wf_service = netsvc.LocalService('workflow')
|
||||
pool_obj = pooler.get_pool(cr.dbname)
|
||||
data_inv = pool_obj.get('account.invoice').read(cr, uid, context['active_ids'], ['state'], context=context)
|
||||
|
||||
|
||||
for record in data_inv:
|
||||
if record['state'] in ('cancel','paid'):
|
||||
raise osv.except_osv(_('Warning'), _("Selected Invoice(s) cannot be cancelled as they are already in 'Cancelled' or 'Done' state!"))
|
||||
|
||||
@@ -43,7 +43,7 @@ class account_move_line_select(osv.osv_memory):
|
||||
else:
|
||||
fiscalyear_ids = [context['fiscalyear']]
|
||||
|
||||
fiscalyear_ids = fiscalyear_obj.search(cr, uid, [('state', '=', 'draft')])
|
||||
# fiscalyear_ids = fiscalyear_obj.search(cr, uid, [('state', '=', 'draft')])
|
||||
fiscalyears = fiscalyear_obj.browse(cr, uid, fiscalyear_ids)
|
||||
|
||||
period_ids = []
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
</record>
|
||||
|
||||
<menuitem
|
||||
name="Print Journal"
|
||||
name="Journals"
|
||||
parent="account.menu_generic_report"
|
||||
action="action_account_print_journal"
|
||||
id="menu_account_print_journal"
|
||||
|
||||
@@ -7,15 +7,17 @@
|
||||
<field name="model">account.use.model</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Create Entries From Models">
|
||||
<group colspan="4" >
|
||||
<field name="model"/>
|
||||
</group>
|
||||
<group colspan="4" col="6">
|
||||
<button icon="gtk-cancel" special="cancel" string="Cancel"/>
|
||||
<button icon="gtk-execute" string="Create Entries" name="create_entries" type="object"/>
|
||||
</group>
|
||||
</form>
|
||||
<form string="Create Entries From Models">
|
||||
<group height="240" width="510">
|
||||
<separator string="This wizard will create entries from Models" colspan="4"/>
|
||||
<field name="model"/>
|
||||
<separator colspan="4"/>
|
||||
<group colspan="4" col="2">
|
||||
<button icon="gtk-cancel" special="cancel" string="Cancel"/>
|
||||
<button icon="gtk-execute" string="Create Entries" name="create_entries" type="object"/>
|
||||
</group>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -47,14 +49,13 @@
|
||||
<field name="model">account.use.model</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Use Model">
|
||||
<group colspan="4" col="6">
|
||||
<label string = "Entry Lines Created." colspan="2"/>
|
||||
<newline/>
|
||||
<button icon="gtk-ok" special="cancel" string="Ok"/>
|
||||
<button icon="gtk-execute" string="Open" name="open_moves" type="object" default_focus='1'/>
|
||||
</group>
|
||||
</form>
|
||||
<form string="Use Model">
|
||||
<group height="80" width="260">
|
||||
<separator string = "Entry Lines Created." colspan="4"/>
|
||||
<button icon="gtk-ok" special="cancel" string="Ok"/>
|
||||
<button icon="gtk-execute" string="Open" name="open_moves" type="object" default_focus='1'/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -63,14 +64,13 @@
|
||||
<field name="model">account.use.model</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Use Model">
|
||||
<group colspan="4" col="6">
|
||||
<label string = "Are you sure you want to create entries?" colspan="2"/>
|
||||
<newline/>
|
||||
<button icon="gtk-ok" special="cancel" string="Cancel"/>
|
||||
<button icon="gtk-execute" string="Ok" name="create_entries" type="object" default_focus='1'/>
|
||||
</group>
|
||||
</form>
|
||||
<form string="Use Model">
|
||||
<group height="90" width="310">
|
||||
<separator string = "Are you sure you want to create entries?" colspan="4"/>
|
||||
<button icon="gtk-ok" special="cancel" string="Cancel"/>
|
||||
<button icon="gtk-execute" string="Ok" name="create_entries" type="object" default_focus='1'/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
</record>
|
||||
|
||||
<menuitem
|
||||
name="Print Taxes Report"
|
||||
name="Taxes Report"
|
||||
parent="menu_tax_report"
|
||||
action="action_account_vat_declaration"
|
||||
id="menu_account_vat_declaration"
|
||||
|
||||
@@ -8,13 +8,13 @@ msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2009-09-08 15:31+0000\n"
|
||||
"Last-Translator: Makis Nicolaou <mark.nicolaou@gmail.com>\n"
|
||||
"PO-Revision-Date: 2010-06-09 03:00+0000\n"
|
||||
"Last-Translator: Panayiotis Konstantinidis <Unknown>\n"
|
||||
"Language-Team: Greek <el@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-04-17 04:11+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-06-09 03:35+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
@@ -80,7 +80,7 @@ msgstr "Θεωρητικά Έσοδα"
|
||||
#. module: account_analytic_analysis
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr ""
|
||||
msgstr "Λανθασμένο όνομα μοντέλου στην δήλωση ενέργειας"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: help:account.analytic.account,theorical_margin:0
|
||||
@@ -230,7 +230,7 @@ msgstr "Αναλυτικοί Λογαριασμοί"
|
||||
#. module: account_analytic_analysis
|
||||
#: model:ir.module.module,shortdesc:account_analytic_analysis.module_meta_information
|
||||
msgid "report_account_analytic"
|
||||
msgstr ""
|
||||
msgstr "report_account_analytic"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: field:account.analytic.account,ca_invoiced:0
|
||||
|
||||
@@ -97,6 +97,8 @@ class account_analytic_plan_instance(osv.osv):
|
||||
}
|
||||
|
||||
def search(self, cr, user, args, offset=0, limit=None, order=None, context=None, count=False):
|
||||
if context is None:
|
||||
context = {}
|
||||
if context.get('journal_id', False):
|
||||
journal = self.pool.get('account.journal').browse(cr, user, [context['journal_id']], context=context)[0]
|
||||
analytic_journal = journal.analytic_journal_id and journal.analytic_journal_id.id or False
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
##############################################################################
|
||||
#
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
@@ -14,7 +14,7 @@
|
||||
# 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/>.
|
||||
#
|
||||
##############################################################################
|
||||
{
|
||||
@@ -22,11 +22,11 @@
|
||||
"version" : "1.2",
|
||||
"author" : "Tiny, Veritos",
|
||||
"website" : "http://tinyerp.com - http://veritos.nl",
|
||||
"description" : """This module will support the Anglo-Saxons accounting methodology by
|
||||
changing the accounting logic with stock transactions. The difference between the Anglo-Saxon accounting countries
|
||||
and the Rhine or also called Continental accounting countries is the moment of taking the Cost of Goods Sold versus Cost of Sales.
|
||||
Anglo-Saxons accounting does take the cost when sales invoice is created, Continental accounting will take the cost at he moment the goods are shipped.
|
||||
This module will add this functionality by using a interim account, to store the value of shipped goods and will contra book this interim account
|
||||
"description" : """This module will support the Anglo-Saxons accounting methodology by
|
||||
changing the accounting logic with stock transactions. The difference between the Anglo-Saxon accounting countries
|
||||
and the Rhine or also called Continental accounting countries is the moment of taking the Cost of Goods Sold versus Cost of Sales.
|
||||
Anglo-Saxons accounting does take the cost when sales invoice is created, Continental accounting will take the cost at the moment the goods are shipped.
|
||||
This module will add this functionality by using a interim account, to store the value of shipped goods and will contra book this interim account
|
||||
when the invoice is created to transfer this amount to the debtor or creditor account.
|
||||
Secondly, price differences between actual purchase price and fixed product standard price are booked on a seperate account""",
|
||||
"depends" : ["product", "account", "sale", "purchase", "stock"],
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
# Greek 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 12:50+0000\n"
|
||||
"PO-Revision-Date: 2010-06-09 03:12+0000\n"
|
||||
"Last-Translator: Panayiotis Konstantinidis <Unknown>\n"
|
||||
"Language-Team: Greek <el@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-06-09 03:36+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account_anglo_saxon
|
||||
#: view:product.category:0
|
||||
msgid " Accounting Property"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_anglo_saxon
|
||||
#: model:ir.module.module,description:account_anglo_saxon.module_meta_information
|
||||
msgid ""
|
||||
"This module will support the Anglo-Saxons accounting methodology by \n"
|
||||
" changing the accounting logic with stock transactions. The difference "
|
||||
"between the Anglo-Saxon accounting countries \n"
|
||||
" and the Rhine or also called Continental accounting countries is the "
|
||||
"moment of taking the Cost of Goods Sold versus Cost of Sales. \n"
|
||||
" Anglo-Saxons accounting does take the cost when sales invoice is "
|
||||
"created, Continental accounting will take the cost at he moment the goods "
|
||||
"are shipped.\n"
|
||||
" This module will add this functionality by using a interim account, to "
|
||||
"store the value of shipped goods and will contra book this interim account \n"
|
||||
" when the invoice is created to transfer this amount to the debtor or "
|
||||
"creditor account."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_anglo_saxon
|
||||
#: model:ir.module.module,shortdesc:account_anglo_saxon.module_meta_information
|
||||
msgid "Stock Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_anglo_saxon
|
||||
#: constraint:ir.ui.view:0
|
||||
msgid "Invalid XML for View Architecture!"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_anglo_saxon
|
||||
#: field:product.category,property_account_creditor_price_difference_categ:0
|
||||
#: field:product.template,property_account_creditor_price_difference:0
|
||||
msgid "Price Difference Account"
|
||||
msgstr "Λογαριασμός διαφοράς τιμής"
|
||||
|
||||
#. module: account_anglo_saxon
|
||||
#: help:product.category,property_account_creditor_price_difference_categ:0
|
||||
#: help:product.template,property_account_creditor_price_difference:0
|
||||
msgid ""
|
||||
"This account will be used to value price difference between purchase price "
|
||||
"and cost price."
|
||||
msgstr ""
|
||||
"Αυτός ο λογαριασμός θα χρησιμοποιείται να μετράει τη διαφορά μεταξύ τιμής "
|
||||
"αγοράς και τιμή κόστους."
|
||||
@@ -8,13 +8,13 @@ msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2009-09-08 14:38+0000\n"
|
||||
"Last-Translator: Makis Nicolaou <mark.nicolaou@gmail.com>\n"
|
||||
"PO-Revision-Date: 2010-06-09 03:21+0000\n"
|
||||
"Last-Translator: Panayiotis Konstantinidis <Unknown>\n"
|
||||
"Language-Team: Greek <el@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-04-17 04:09+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-06-09 03:35+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account_balance
|
||||
@@ -59,7 +59,7 @@ msgstr "Όνομα Λογαριασμού"
|
||||
#: rml:account.account.balance.landscape:0
|
||||
#: rml:account.balance.account.balance:0
|
||||
msgid "Debit"
|
||||
msgstr ""
|
||||
msgstr "Χρέωση"
|
||||
|
||||
#. module: account_balance
|
||||
#: wizard_button:account.balance.account.balance.report,init,checkyear:0
|
||||
@@ -143,7 +143,7 @@ msgstr "Με ισοζύγιο που δεν είναι ίσο με 0"
|
||||
#: rml:account.account.balance.landscape:0
|
||||
#: rml:account.balance.account.balance:0
|
||||
msgid "Total :"
|
||||
msgstr ""
|
||||
msgstr "Σύνολο:"
|
||||
|
||||
#. module: account_balance
|
||||
#: rml:account.account.balance.landscape:0
|
||||
@@ -196,7 +196,7 @@ msgstr "Εμφάνιση Λογαριασμών"
|
||||
#: rml:account.account.balance.landscape:0
|
||||
#: rml:account.balance.account.balance:0
|
||||
msgid "Credit"
|
||||
msgstr ""
|
||||
msgstr "Πίστωση"
|
||||
|
||||
#. module: account_balance
|
||||
#: wizard_view:account.balance.account.balance.report,backtoinit:0
|
||||
@@ -206,13 +206,13 @@ msgstr "1. Έχετε επιλέξτε περισσότερα απο 3 έτη σ
|
||||
#. module: account_balance
|
||||
#: model:ir.module.module,shortdesc:account_balance.module_meta_information
|
||||
msgid "Accounting and financial management-Compare Accounts"
|
||||
msgstr ""
|
||||
msgstr "Λογιστική και οικονομική διαχείριση - Σύγκριση λογαριασμών"
|
||||
|
||||
#. module: account_balance
|
||||
#: rml:account.account.balance.landscape:0
|
||||
#: rml:account.balance.account.balance:0
|
||||
msgid "Year :"
|
||||
msgstr ""
|
||||
msgstr "Έτος :"
|
||||
|
||||
#. module: account_balance
|
||||
#: wizard_view:account.balance.account.balance.report,backtoinit:0
|
||||
@@ -223,7 +223,7 @@ msgstr "Μπορείτε να επιλέξετε το πολύ 3 έτη. Παρ
|
||||
#: rml:account.account.balance.landscape:0
|
||||
#: rml:account.balance.account.balance:0
|
||||
msgid "Balance"
|
||||
msgstr ""
|
||||
msgstr "Υπόλοιπο"
|
||||
|
||||
#. module: account_balance
|
||||
#: wizard_view:account.balance.account.balance.report,backtoinit:0
|
||||
|
||||
@@ -62,6 +62,10 @@ Three reports are available:
|
||||
'wizard/account_budget_crossovered_report_view.xml',
|
||||
],
|
||||
'demo_xml': ['crossovered_budget_demo.xml'],
|
||||
'test':[
|
||||
# 'test/account_budget_spread.yml',
|
||||
'test/account_budget.yml',
|
||||
],
|
||||
'installable': True,
|
||||
'active': False,
|
||||
'certificate': '0043819694157',
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
<!-- Reports on crossovered.budget -->
|
||||
<report id="report_crossovered_budget"
|
||||
string="Print Budgets"
|
||||
string="Budgets"
|
||||
model="crossovered.budget"
|
||||
name="crossovered.budget.report"
|
||||
rml="account_budget/report/crossovered_budget_report.rml"
|
||||
@@ -48,7 +48,7 @@
|
||||
model="account.budget.post"
|
||||
name="account.budget"
|
||||
rml="account_budget/report/budget_report.rml"
|
||||
string="Print Budget"/>
|
||||
string="Budget"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -0,0 +1,71 @@
|
||||
-
|
||||
In order to check account budget module in OpenERP I created a budget with few budget position
|
||||
-
|
||||
Creating a crossovered.budget record
|
||||
-
|
||||
!record {model: crossovered.budget, id: crossovered_budget_budget0}:
|
||||
code: B2011
|
||||
date_from: '2011-01-01'
|
||||
date_to: '2011-12-31'
|
||||
name: Budget 2011
|
||||
state: draft
|
||||
-
|
||||
I created two different budget lines
|
||||
-
|
||||
Modifying a crossovered.budget record
|
||||
-
|
||||
!record {model: crossovered.budget, id: crossovered_budget_budget0}:
|
||||
crossovered_budget_line:
|
||||
- analytic_account_id: account.analytic_consultancy
|
||||
date_from: '2011-01-01'
|
||||
date_to: '2011-12-31'
|
||||
general_budget_id: account_budget.account_budget_post_purchase0
|
||||
planned_amount: 10000.0
|
||||
- analytic_account_id: account.analytic_super_product_trainings
|
||||
date_from: '2011-09-01'
|
||||
date_to: '2011-09-30'
|
||||
general_budget_id: account_budget.account_budget_post_sales0
|
||||
planned_amount: 400000.0
|
||||
|
||||
-
|
||||
I check that Initially Budget is in "draft" state
|
||||
-
|
||||
!assert {model: crossovered.budget, id: crossovered_budget_budget0}:
|
||||
- state == 'draft'
|
||||
|
||||
-
|
||||
I pressed the confirm button to confirm the Budget
|
||||
-
|
||||
Performing a workflow action confirm on module crossovered.budget
|
||||
-
|
||||
!workflow {model: crossovered.budget, action: confirm, ref: crossovered_budget_budget0}
|
||||
-
|
||||
I check that budget is in "Confirmed" state
|
||||
-
|
||||
!assert {model: crossovered.budget, id: crossovered_budget_budget0}:
|
||||
- state == 'confirm'
|
||||
|
||||
-
|
||||
I pressed the validate button to validate the Budget
|
||||
-
|
||||
Performing a workflow action validate on module crossovered.budget
|
||||
-
|
||||
!workflow {model: crossovered.budget, action: validate, ref: crossovered_budget_budget0}
|
||||
-
|
||||
I check that budget is in "Validated" state
|
||||
-
|
||||
!assert {model: crossovered.budget, id: crossovered_budget_budget0}:
|
||||
- state == 'validate'
|
||||
|
||||
-
|
||||
I pressed the done button to done the Budget
|
||||
-
|
||||
Performing a workflow action done on module crossovered.budget
|
||||
-
|
||||
!workflow {model: crossovered.budget, action: done, ref: crossovered_budget_budget0}
|
||||
-
|
||||
I check that budget is in "done" state
|
||||
-
|
||||
!assert {model: crossovered.budget, id: crossovered_budget_budget0}:
|
||||
- state == 'done'
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
-
|
||||
In order to test Spread Wizard of account module I spread record with amount=1000
|
||||
-
|
||||
Creating a account.budget.spread record
|
||||
-
|
||||
!record {model: account.budget.spread, id: account_budget_spread_0}:
|
||||
amount: 1000.0
|
||||
fiscalyear: account.data_fiscalyear
|
||||
|
||||
|
||||
-
|
||||
Performing an osv_memory action check_spread on module account.budget.spread
|
||||
-
|
||||
!python {model: account.budget.spread}: |
|
||||
self.check_spread(cr, uid, [ref("account_budget_spread_0")], {"lang": 'en_US',
|
||||
"active_model": "account.budget.post", "active_ids": [ref("account_budget.account_budget_post_sales0")],
|
||||
"tz": False, "active_id": ref("account_budget.account_budget_post_sales0"),
|
||||
})
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
<form string="Select Dates Period">
|
||||
<field name="fiscalyear"/>
|
||||
<field name="amount"/>
|
||||
<separator colspan="4"/>
|
||||
<group colspan="4" col="6">
|
||||
<label string ="" colspan="2"/>
|
||||
<button special="cancel" string="Cancel" icon="gtk-cancel"/>
|
||||
|
||||
@@ -0,0 +1,168 @@
|
||||
# Greek 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-06-09 02:57+0000\n"
|
||||
"Last-Translator: Panayiotis Konstantinidis <Unknown>\n"
|
||||
"Language-Team: Greek <el@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-06-09 03:36+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 ""
|
||||
@@ -0,0 +1,167 @@
|
||||
# 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-11-24 13:11+0000\n"
|
||||
"PO-Revision-Date: 2010-06-08 17:34+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-06-09 03:36+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 ""
|
||||
"Objekti nimi peab algama x_'ga ja ei tohi sisaldada ühtegi erisümbolit !"
|
||||
|
||||
#. module: account_coda
|
||||
#: wizard_field:account.coda_import,extraction,note:0
|
||||
msgid "Log"
|
||||
msgstr "Logi"
|
||||
|
||||
#. 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 "Vigane mudeli nimi toimingu definitsioonis."
|
||||
|
||||
#. module: account_coda
|
||||
#: field:account.coda,note:0
|
||||
msgid "Import log"
|
||||
msgstr "Impordi logi"
|
||||
|
||||
#. 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 "_Sulge"
|
||||
|
||||
#. 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 "Kasutaja"
|
||||
|
||||
#. module: account_coda
|
||||
#: constraint:ir.ui.view:0
|
||||
msgid "Invalid XML for View Architecture!"
|
||||
msgstr "Vigane XML vaate arhitektuurile!"
|
||||
|
||||
#. 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 "Vaikimisi on tasulised konto"
|
||||
|
||||
#. 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 "_Ok"
|
||||
|
||||
#. 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 "Tulemused :"
|
||||
|
||||
#. 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 "Importimise aeg"
|
||||
|
||||
#. module: account_coda
|
||||
#: wizard_view:account.coda_import,init:0
|
||||
msgid "Select your bank journal :"
|
||||
msgstr ""
|
||||
@@ -33,10 +33,12 @@ codawiz_form = """<?xml version="1.0"?>
|
||||
<separator colspan="4" string="Select your bank journal :" />
|
||||
<field name="journal_id" colspan="1" domain="[('type','=','cash')]" />
|
||||
<newline />
|
||||
<field name="def_payable" /> <field name="def_receivable" />
|
||||
<field name="def_payable" />
|
||||
<newline />
|
||||
<field name="def_receivable" />
|
||||
<newline />
|
||||
<field name="awaiting_account" />
|
||||
<separator string="Clic on 'New' to select your file :" colspan="4"/>
|
||||
<separator string="Click on 'New' to select your file :" colspan="4"/>
|
||||
<field name="coda"/>
|
||||
</form>
|
||||
"""
|
||||
@@ -122,7 +124,7 @@ def _coda_parsing(self, cr, uid, data, context):
|
||||
bank_statement['date'] = str2date(line[5:11])
|
||||
bank_statement['journal_id']=data['form']['journal_id']
|
||||
period_id = pool.get('account.period').search(cr,uid,[('date_start','<=',time.strftime('%Y-%m-%d',time.strptime(bank_statement['date'],"%y/%m/%d"))),('date_stop','>=',time.strftime('%Y-%m-%d',time.strptime(bank_statement['date'],"%y/%m/%d")))])
|
||||
bank_statement['period_id'] = period_id[0]
|
||||
# bank_statement['period_id'] = period_id and period_id[0] or False
|
||||
bank_statement['state']='draft'
|
||||
elif line[0] == '1':
|
||||
# old balance data
|
||||
@@ -219,7 +221,7 @@ def _coda_parsing(self, cr, uid, data, context):
|
||||
bk_st_id = pool.get('account.bank.statement').create(cr,uid,{
|
||||
'journal_id': statement['journal_id'],
|
||||
'date':time.strftime('%Y-%m-%d',time.strptime(statement['date'],"%y/%m/%d")),
|
||||
'period_id':statement['period_id'],
|
||||
# 'period_id':statement['period_id'],
|
||||
'balance_start': statement["balance_start"],
|
||||
'balance_end_real': statement["balance_end_real"],
|
||||
'state': 'draft',
|
||||
@@ -254,7 +256,7 @@ def _coda_parsing(self, cr, uid, data, context):
|
||||
std_log += "\nStatement : %s , Date : %s, Starting Balance : %.2f , Ending Balance : %.2f \n"\
|
||||
%(statement['name'], statement['date'], float(statement["balance_start"]), float(statement["balance_end_real"]))
|
||||
bkst_list.append(bk_st_id)
|
||||
|
||||
|
||||
except osv.except_osv, e:
|
||||
cr.rollback()
|
||||
nb_err+=1
|
||||
|
||||
@@ -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-06-08 03:40+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-06-09 03:35+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account_followup
|
||||
|
||||
@@ -8,13 +8,13 @@ msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2009-09-08 13:37+0000\n"
|
||||
"Last-Translator: Makis Nicolaou <mark.nicolaou@gmail.com>\n"
|
||||
"PO-Revision-Date: 2010-06-09 03:16+0000\n"
|
||||
"Last-Translator: Panayiotis Konstantinidis <Unknown>\n"
|
||||
"Language-Team: Greek <el@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-04-17 04:12+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-06-09 03:35+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account_invoice_layout
|
||||
@@ -38,7 +38,7 @@ msgstr ""
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
msgid "Cancelled Invoice"
|
||||
msgstr ""
|
||||
msgstr "Ακυρωμένο τιμολόγιο"
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: selection:account.invoice.line,state:0
|
||||
@@ -59,7 +59,7 @@ msgstr "Εκπτ. (%)"
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
msgid "(Incl. taxes):"
|
||||
msgstr ""
|
||||
msgstr "(με φόρους)"
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: selection:account.invoice.line,state:0
|
||||
@@ -87,7 +87,7 @@ msgstr "Τιμή Μονάδας"
|
||||
#. module: account_invoice_layout
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr ""
|
||||
msgstr "Λανθασμένο όνομα μοντέλου στον ορισμό ενέργειας"
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: model:ir.model,name:account_invoice_layout.model_notify_message
|
||||
@@ -122,7 +122,7 @@ msgstr "Σχετ. Πελάτης:"
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
msgid ")"
|
||||
msgstr ""
|
||||
msgstr ")"
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: field:account.invoice.line,state:0
|
||||
@@ -137,7 +137,7 @@ msgstr "Τιμή"
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
msgid "/ ("
|
||||
msgstr ""
|
||||
msgstr "/ ("
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
@@ -192,7 +192,7 @@ msgstr "Page Break"
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
msgid "Document:"
|
||||
msgstr ""
|
||||
msgstr "Έγγραφο:"
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: wizard_view:wizard.notify_message,init:0
|
||||
@@ -217,7 +217,7 @@ msgstr "Τιμολόγια με Διάταξη"
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
msgid "Description / Taxes"
|
||||
msgstr ""
|
||||
msgstr "Περιγραφή / Φόροι"
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
@@ -227,7 +227,7 @@ msgstr "Ποσό"
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
msgid "Description/Taxes"
|
||||
msgstr ""
|
||||
msgstr "Περιγραφή/Φόροι"
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
@@ -267,7 +267,7 @@ msgstr "Τιμολόγιο Προμηθευτή"
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
msgid "Note :"
|
||||
msgstr ""
|
||||
msgstr "Σημείωση :"
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
@@ -282,7 +282,7 @@ msgstr "account_invoice_layout"
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
msgid "Total (Excl. taxes):"
|
||||
msgstr ""
|
||||
msgstr "Σύνολο (Χωρίς φόρους)"
|
||||
|
||||
#. module: account_invoice_layout
|
||||
#: rml:account.invoice.layout:0
|
||||
|
||||
@@ -46,9 +46,9 @@
|
||||
'payment_sequence.xml',
|
||||
'account_invoice_view.xml',
|
||||
'payment_report.xml',
|
||||
|
||||
],
|
||||
'demo_xml': [],
|
||||
'test': ['test/account_payment.yml'],
|
||||
'installable': True,
|
||||
'active': False,
|
||||
'certificate': '0061703998541',
|
||||
|
||||
@@ -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-06-08 03:40+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-06-09 03:35+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account_payment
|
||||
|
||||
@@ -0,0 +1,145 @@
|
||||
-
|
||||
In order to test account_payment in OpenERP I create a new record Type
|
||||
-
|
||||
-
|
||||
Creating a payment.type record
|
||||
-
|
||||
!record {model: payment.type, id: payment_type_t0}:
|
||||
code: T0
|
||||
name: TestType
|
||||
|
||||
-
|
||||
I created a new Bank Record
|
||||
-
|
||||
Creating a res.partner.bank record
|
||||
-
|
||||
!record {model: res.partner.bank, id: res_partner_bank_0}:
|
||||
acc_number: '0001'
|
||||
partner_id: base.res_partner_9
|
||||
sequence: 0.0
|
||||
state: bank
|
||||
|
||||
-
|
||||
I created a new Payment Mode
|
||||
-
|
||||
Creating a payment.mode record
|
||||
-
|
||||
!record {model: payment.mode, id: payment_mode_m0}:
|
||||
bank_id: res_partner_bank_0
|
||||
journal: account.bank_journal
|
||||
name: TestMode
|
||||
type: payment_type_t0
|
||||
|
||||
-
|
||||
I created a Supplier Invoice
|
||||
-
|
||||
Creating a account.invoice record
|
||||
-
|
||||
!record {model: account.invoice, id: account_invoice_payment}:
|
||||
account_id: account.a_pay
|
||||
address_contact_id: base.res_partner_address_tang
|
||||
address_invoice_id: base.res_partner_address_tang
|
||||
check_total: 300.0
|
||||
company_id: base.main_company
|
||||
currency_id: base.EUR
|
||||
invoice_line:
|
||||
- account_id: account.a_expense
|
||||
name: '[PC1] Basic PC'
|
||||
price_unit: 300.0
|
||||
product_id: product.product_product_pc1
|
||||
quantity: 1.0
|
||||
uos_id: product.product_uom_unit
|
||||
journal_id: account.expenses_journal
|
||||
partner_id: base.res_partner_asus
|
||||
reference_type: none
|
||||
type: in_invoice
|
||||
|
||||
-
|
||||
I make the supplier invoice in Open state
|
||||
-
|
||||
Performing a workflow action invoice_open on module account.invoice
|
||||
-
|
||||
!workflow {model: account.invoice, action: invoice_open, ref: account_invoice_payment}
|
||||
|
||||
-
|
||||
I create a new payment order
|
||||
-
|
||||
Creating a payment.order record
|
||||
-
|
||||
!record {model: payment.order, id: payment_order_0}:
|
||||
date_prefered: due
|
||||
mode: payment_mode_m0
|
||||
reference: 2010/006
|
||||
user_id: base.user_root
|
||||
|
||||
|
||||
-
|
||||
Creating a payment.order.create record
|
||||
-
|
||||
!record {model: payment.order.create, id: payment_order_create_0}:
|
||||
duedate: '2010-06-04'
|
||||
|
||||
-
|
||||
I searched the entries using "Payment Create Order" wizard
|
||||
-
|
||||
Performing an osv_memory action search_entries on module payment.order.create
|
||||
-
|
||||
!python {model: payment.order.create}: |
|
||||
self.search_entries(cr, uid, [ref("payment_order_create_0")], {"lang": "en_US",
|
||||
"active_model": "payment.order", "active_ids": [ref("payment_order_0")],
|
||||
"tz": False, "active_id": ref("payment_order_0"), })
|
||||
-
|
||||
I check that Initially Payment order is in "draft" state
|
||||
-
|
||||
!assert {model: payment.order, id: payment_order_0}:
|
||||
- state == 'draft'
|
||||
-
|
||||
I pressed the confirm payment button to confirm the payment
|
||||
-
|
||||
Performing a workflow action open on module payment.order
|
||||
-
|
||||
!workflow {model: payment.order, action: open, ref: payment_order_0}
|
||||
-
|
||||
I check that Payment order is in "Confirmed" state
|
||||
-
|
||||
!assert {model: payment.order, id: payment_order_0}:
|
||||
- state == 'open'
|
||||
-
|
||||
I paid the payment using "Make Payments" Button
|
||||
-
|
||||
Creating a account.payment.make.payment record
|
||||
-
|
||||
!record {model: account.payment.make.payment, id: account_payment_make_payment_0}:
|
||||
{}
|
||||
|
||||
-
|
||||
Performing an osv_memory action launch_wizard on module account.payment.make.payment
|
||||
-
|
||||
!python {model: account.payment.make.payment}: |
|
||||
self.launch_wizard(cr, uid, [ref("account_payment_make_payment_0")], {"lang":
|
||||
"en_US", "active_model": "payment.order", "active_ids": [ref("payment_order_0")], "tz":
|
||||
False, "active_id": ref("payment_order_0"), })
|
||||
|
||||
-
|
||||
I check that Payment order is in "Done" state
|
||||
-
|
||||
!assert {model: payment.order, id: payment_order_0}:
|
||||
- state == 'done'
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -11,6 +11,6 @@
|
||||
menu="False"
|
||||
model="account.report.report"
|
||||
name="print.indicator.pdf"
|
||||
string="Print Indicators in PDF"/>
|
||||
string="Indicators in PDF"/>
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -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-06-08 03:40+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-06-09 03:35+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account_tax_include
|
||||
|
||||
@@ -2,16 +2,16 @@
|
||||
<openerp>
|
||||
<data>
|
||||
<report id="report_account_voucher"
|
||||
string="Print Voucher"
|
||||
string="Vouchers"
|
||||
model="account.voucher"
|
||||
name="voucher.cash_receipt.drcr"
|
||||
rml="account_voucher/report/report_voucher.rml"
|
||||
auto="False"
|
||||
header = "False"
|
||||
menu="True"/>
|
||||
|
||||
|
||||
<report id="report_account_voucher_amt"
|
||||
string="Print Receipt"
|
||||
string="Receipts"
|
||||
model="account.voucher"
|
||||
name="voucher.cash_amount"
|
||||
rml="account_voucher/report/report_voucher_amount.rml"
|
||||
|
||||
@@ -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-06-08 03:41+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-06-09 03:36+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account_voucher_payment
|
||||
|
||||
@@ -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-06-08 03:41+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-06-09 03:36+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account_voucher_payment
|
||||
|
||||
@@ -0,0 +1,86 @@
|
||||
# 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-05-13 20:11+0000\n"
|
||||
"PO-Revision-Date: 2010-06-08 17:42+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-06-09 03:36+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account_voucher_payment
|
||||
#: constraint:ir.ui.view:0
|
||||
msgid "Invalid XML for View Architecture!"
|
||||
msgstr "Vigane XML vaate arhitektuurile!"
|
||||
|
||||
#. module: account_voucher_payment
|
||||
#: wizard_view:account.voucher.unreconcile,init:0
|
||||
msgid "Unreconciliation transactions"
|
||||
msgstr "Mittesobivad tehingud"
|
||||
|
||||
#. module: account_voucher_payment
|
||||
#: model:ir.module.module,description:account_voucher_payment.module_name_translation
|
||||
msgid ""
|
||||
"This module includes :\n"
|
||||
" * It reconcile the invoice (supplier, customer) while paying through \n"
|
||||
" Accounting Vouchers\n"
|
||||
" "
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher_payment
|
||||
#: wizard_view:account.voucher.unreconcile,init:0
|
||||
msgid ""
|
||||
"If you unreconciliate transactions, you must also verify all the actions "
|
||||
"that are linked to those transactions because they will not be disable"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher_payment
|
||||
#: view:account.voucher:0
|
||||
#: field:account.voucher,voucher_line_ids:0
|
||||
msgid "Voucher Lines"
|
||||
msgstr "Tähiku read"
|
||||
|
||||
#. module: account_voucher_payment
|
||||
#: model:ir.module.module,shortdesc:account_voucher_payment.module_name_translation
|
||||
msgid "Invoice Payment/Receipt by Vouchers."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher_payment
|
||||
#: model:ir.actions.wizard,name:account_voucher_payment.wizard_unreconcile_voucher
|
||||
msgid "Unreconcile entries"
|
||||
msgstr "Kooskõlastamatta kirjed"
|
||||
|
||||
#. module: account_voucher_payment
|
||||
#: field:account.move.line,voucher_invoice:0
|
||||
#: field:account.voucher.line,invoice_id:0
|
||||
msgid "Invoice"
|
||||
msgstr "Arve"
|
||||
|
||||
#. module: account_voucher_payment
|
||||
#: wizard_button:account.voucher.unreconcile,init,end:0
|
||||
msgid "Cancel"
|
||||
msgstr "Katkesta"
|
||||
|
||||
#. module: account_voucher_payment
|
||||
#: field:account.voucher,partner_id:0
|
||||
msgid "Partner"
|
||||
msgstr "Partner"
|
||||
|
||||
#. module: account_voucher_payment
|
||||
#: wizard_button:account.voucher.unreconcile,init,unrec:0
|
||||
msgid "Unreconcile"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_voucher_payment
|
||||
#: wizard_view:account.voucher.unreconcile,init:0
|
||||
msgid "Unreconciliation"
|
||||
msgstr ""
|
||||
@@ -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-06-08 03:41+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-06-09 03:35+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: auction
|
||||
|
||||
@@ -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-06-08 03:41+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-06-09 03:36+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: auction
|
||||
|
||||
@@ -134,7 +134,8 @@
|
||||
<field name="address" mode="form,tree" colspan="4" nolabel="1" select="1" position="replace">
|
||||
<field name="address" mode="form,tree" colspan="4" nolabel="1" select="1">
|
||||
<form string="Address">
|
||||
<group string="Postal Address" colspan="2" col="2">
|
||||
<group colspan="2" col="2">
|
||||
<separator string="Postal Address" colspan="2" col="2"/>
|
||||
<field name="type" />
|
||||
<field name="street"/>
|
||||
<field name="street2"/>
|
||||
@@ -143,7 +144,8 @@
|
||||
<field name="country_id" completion="1"/>
|
||||
<field name="state_id"/>
|
||||
</group>
|
||||
<group string="Communication" colspan="2" col="2">
|
||||
<group colspan="2" col="2">
|
||||
<separator string="Communication" colspan="2" col="2"/>
|
||||
<field name="phone"/>
|
||||
<field name="fax"/>
|
||||
<field name="email" widget="email"/>
|
||||
|
||||
@@ -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-06-08 03:41+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-06-09 03:35+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
"Language: hr\n"
|
||||
|
||||
|
||||
@@ -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-06-08 03:40+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-06-09 03:35+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
"Language: hr\n"
|
||||
|
||||
|
||||
+172
-163
File diff suppressed because it is too large
Load Diff
@@ -7,16 +7,16 @@ 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-22 23:21+0000\n"
|
||||
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
|
||||
"PO-Revision-Date: 2010-06-08 17:43+0000\n"
|
||||
"Last-Translator: lyyser <logard.1961@gmail.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-04-17 04:20+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-06-09 03:36+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: crm_vertical
|
||||
#: model:ir.module.module,description:crm_vertical.module_meta_information
|
||||
msgid "Simplification of the interface for CRM."
|
||||
msgstr ""
|
||||
msgstr "Kasutajaliidese lihtsustus KSH jaoks."
|
||||
|
||||
@@ -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: 2009-09-16 15:43+0000\n"
|
||||
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
|
||||
"PO-Revision-Date: 2010-06-08 17:44+0000\n"
|
||||
"Last-Translator: lyyser <logard.1961@gmail.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-04-17 04:18+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-06-09 03:36+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: document_ics
|
||||
@@ -36,7 +36,7 @@ msgstr "Viga! Sa ei saa luua regrussiivseid kaustu."
|
||||
#. module: document_ics
|
||||
#: field:document.ics.crm.wizard,jobs:0
|
||||
msgid "Jobs Hiring Process"
|
||||
msgstr ""
|
||||
msgstr "Töökohad Töölevõtmise Protsess"
|
||||
|
||||
#. module: document_ics
|
||||
#: view:document.ics.crm.wizard:0
|
||||
@@ -122,7 +122,7 @@ msgstr "Seadista kalendrid sektsioonide jaoks "
|
||||
#. module: document_ics
|
||||
#: help:document.ics.crm.wizard,opportunity:0
|
||||
msgid "Tracks identified business opportunities for your sales pipeline."
|
||||
msgstr ""
|
||||
msgstr "Jälgib tuvastatud ärivõimalusi sinu müükide konveierile."
|
||||
|
||||
#. module: document_ics
|
||||
#: help:document.ics.crm.wizard,fund:0
|
||||
@@ -209,6 +209,8 @@ msgid ""
|
||||
"Manages the supplier and customers claims, including your corrective or "
|
||||
"preventive actions."
|
||||
msgstr ""
|
||||
"Haldab tarnijate ja klientide nõudeid, sealjuures sinu korrigeerivaid ja "
|
||||
"vältivaid tegevusi."
|
||||
|
||||
#. module: document_ics
|
||||
#: selection:document.directory.ics.fields,name:0
|
||||
@@ -241,6 +243,8 @@ msgid ""
|
||||
"Help you to encode the result of a phone call or to planify a list of phone "
|
||||
"calls to process."
|
||||
msgstr ""
|
||||
"Aitab sul arvutada telefonikõne tulemust või planeerida nimekirja "
|
||||
"telefonikõnedest töötlemiseks."
|
||||
|
||||
#. module: document_ics
|
||||
#: selection:document.directory.ics.fields,name:0
|
||||
@@ -315,7 +319,7 @@ msgstr "Tühista"
|
||||
#. module: document_ics
|
||||
#: field:document.ics.crm.wizard,opportunity:0
|
||||
msgid "Business Opportunities"
|
||||
msgstr ""
|
||||
msgstr "Äri võimalused"
|
||||
|
||||
#. module: document_ics
|
||||
#: selection:document.directory.ics.fields,name:0
|
||||
|
||||
+76
-70
@@ -7,13 +7,13 @@ 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: 2010-05-13 08:53+0000\n"
|
||||
"PO-Revision-Date: 2010-06-08 17:51+0000\n"
|
||||
"Last-Translator: lyyser <logard.1961@gmail.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-05-14 04:55+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-06-09 03:35+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: event
|
||||
@@ -60,7 +60,7 @@ msgstr "Sündmuse registreerimine"
|
||||
#. module: event
|
||||
#: model:ir.actions.wizard,name:event.event_reg_invoice
|
||||
msgid "Make Invoice"
|
||||
msgstr ""
|
||||
msgstr "Loo arve"
|
||||
|
||||
#. module: event
|
||||
#: field:report.event.type.registration,draft_state:0
|
||||
@@ -145,7 +145,7 @@ msgstr "Registreerimine"
|
||||
#: field:event.type,name:0
|
||||
#: model:ir.model,name:event.model_event_type
|
||||
msgid "Event type"
|
||||
msgstr ""
|
||||
msgstr "Sündmuse liik"
|
||||
|
||||
#. module: event
|
||||
#: view:event.event:0
|
||||
@@ -153,34 +153,34 @@ msgstr ""
|
||||
#: model:ir.module.module,shortdesc:event.module_meta_information
|
||||
#: field:report.event.registration,name:0
|
||||
msgid "Event"
|
||||
msgstr ""
|
||||
msgstr "Sündmus"
|
||||
|
||||
#. module: event
|
||||
#: selection:event.event,state:0
|
||||
msgid "Confirmed"
|
||||
msgstr ""
|
||||
msgstr "Kinnitatud"
|
||||
|
||||
#. module: event
|
||||
#: wizard_view:event.confirm_registration,split:0
|
||||
msgid "Registration Confirmation"
|
||||
msgstr ""
|
||||
msgstr "Registreerimise kinnitus"
|
||||
|
||||
#. module: event
|
||||
#: view:event.registration:0
|
||||
msgid "Dates"
|
||||
msgstr ""
|
||||
msgstr "Kuupäevad"
|
||||
|
||||
#. module: event
|
||||
#: field:event.event,register_current:0
|
||||
#: model:ir.actions.act_window,name:event.action_registration_confirm
|
||||
#: model:ir.ui.menu,name:event.menu_action_registration_confirm
|
||||
msgid "Confirmed Registrations"
|
||||
msgstr ""
|
||||
msgstr "Kinnitatud registreerimised"
|
||||
|
||||
#. module: event
|
||||
#: field:event.event,mail_auto_registr:0
|
||||
msgid "Mail Auto Register"
|
||||
msgstr ""
|
||||
msgstr "Autoregistreerimise mail"
|
||||
|
||||
#. module: event
|
||||
#: view:event.registration:0
|
||||
@@ -190,12 +190,12 @@ msgstr "Tunnusmärk"
|
||||
#. module: event
|
||||
#: field:event.event,section_id:0
|
||||
msgid "Case section"
|
||||
msgstr ""
|
||||
msgstr "Juhtumi jaotis"
|
||||
|
||||
#. module: event
|
||||
#: field:event.registration,tobe_invoiced:0
|
||||
msgid "To be Invoiced"
|
||||
msgstr ""
|
||||
msgstr "Tehakse arve"
|
||||
|
||||
#. module: event
|
||||
#: model:ir.ui.menu,name:event.menu_event_event
|
||||
@@ -220,7 +220,7 @@ msgstr "Sündmused kategooria järgi"
|
||||
#. module: event
|
||||
#: wizard_view:event.confirm_registration,split:0
|
||||
msgid "The event limit is reached. What do you want to do?"
|
||||
msgstr ""
|
||||
msgstr "Sündmuste limiidipiir on saavutatud. Mida sa soovid teha?"
|
||||
|
||||
#. module: event
|
||||
#: field:report.event.type.registration,confirm_state:0
|
||||
@@ -237,7 +237,7 @@ msgstr "Viited"
|
||||
#: model:ir.ui.menu,name:event.menu_report_event_type_registration
|
||||
#: view:report.event.type.registration:0
|
||||
msgid "Registration By Event Types"
|
||||
msgstr ""
|
||||
msgstr "Registreerimine sündmuse liigijärgi"
|
||||
|
||||
#. module: event
|
||||
#: model:ir.ui.menu,name:event.menu_event_config
|
||||
@@ -262,12 +262,12 @@ msgstr "Viga: TÜ kategooria peab erinema MÜ kategooriast"
|
||||
#. module: event
|
||||
#: view:event.event:0
|
||||
msgid "Parent Category"
|
||||
msgstr ""
|
||||
msgstr "Peaktegooria"
|
||||
|
||||
#. module: event
|
||||
#: view:event.registration:0
|
||||
msgid "Registration Invoiced"
|
||||
msgstr ""
|
||||
msgstr "Registreerimine arveks tehtud"
|
||||
|
||||
#. module: event
|
||||
#: field:report.event.type.registration,nbevent:0
|
||||
@@ -277,7 +277,7 @@ msgstr "Sündmuste arv"
|
||||
#. module: event
|
||||
#: view:event.event:0
|
||||
msgid "Cancel Event"
|
||||
msgstr ""
|
||||
msgstr "Loobu sündmusest"
|
||||
|
||||
#. module: event
|
||||
#: wizard_field:event.reg_make_invoice,init,inv_rej_reason:0
|
||||
@@ -287,12 +287,12 @@ msgstr "Veateated"
|
||||
#. module: event
|
||||
#: view:event.event:0
|
||||
msgid "Mailing"
|
||||
msgstr ""
|
||||
msgstr "Postitan"
|
||||
|
||||
#. module: event
|
||||
#: model:product.template,name:event.event_product_0_product_template
|
||||
msgid "Ticket for Concert"
|
||||
msgstr ""
|
||||
msgstr "Kontserdi pilet"
|
||||
|
||||
#. module: event
|
||||
#: field:event.event,register_prospect:0
|
||||
@@ -304,12 +304,12 @@ msgstr "Kinnitamatta registreerimised"
|
||||
#. module: event
|
||||
#: field:event.registration,partner_invoice_id:0
|
||||
msgid "Partner Invoiced"
|
||||
msgstr ""
|
||||
msgstr "Partnerile arve tehtud"
|
||||
|
||||
#. module: event
|
||||
#: view:event.registration:0
|
||||
msgid "Communication history"
|
||||
msgstr ""
|
||||
msgstr "Kommunikatsiooni alalugu"
|
||||
|
||||
#. module: event
|
||||
#: selection:event.event,state:0
|
||||
@@ -319,18 +319,18 @@ msgstr "Katkestatud"
|
||||
#. module: event
|
||||
#: view:event.event:0
|
||||
msgid "Event Done"
|
||||
msgstr ""
|
||||
msgstr "Sündmus valmis"
|
||||
|
||||
#. module: event
|
||||
#: field:event.registration,badge_name:0
|
||||
msgid "Badge Name"
|
||||
msgstr ""
|
||||
msgstr "Embleemi nimi"
|
||||
|
||||
#. module: event
|
||||
#: model:ir.actions.act_window,name:event.action_event_registration
|
||||
#: model:ir.ui.menu,name:event.menu_report_event_registration
|
||||
msgid "Events On Registrations"
|
||||
msgstr ""
|
||||
msgstr "Registreerimiste sündmused"
|
||||
|
||||
#. module: event
|
||||
#: constraint:product.template:0
|
||||
@@ -342,27 +342,27 @@ msgstr ""
|
||||
#. module: event
|
||||
#: wizard_field:event.reg_make_invoice,init,inv_created:0
|
||||
msgid "Invoice Created"
|
||||
msgstr ""
|
||||
msgstr "Arve loodud"
|
||||
|
||||
#. module: event
|
||||
#: view:event.event:0
|
||||
msgid "Statistics"
|
||||
msgstr ""
|
||||
msgstr "Statistika"
|
||||
|
||||
#. module: event
|
||||
#: selection:event.event,state:0
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
msgstr "Mustand"
|
||||
|
||||
#. module: event
|
||||
#: view:event.event:0
|
||||
msgid "Event description"
|
||||
msgstr ""
|
||||
msgstr "Sündmuse kirjeldus"
|
||||
|
||||
#. module: event
|
||||
#: model:ir.model,name:event.model_report_event_type_registration
|
||||
msgid "Event type on registration"
|
||||
msgstr ""
|
||||
msgstr "Registreerimise sündmuse liik"
|
||||
|
||||
#. module: event
|
||||
#: constraint:ir.model:0
|
||||
@@ -374,7 +374,7 @@ msgstr ""
|
||||
#. module: event
|
||||
#: field:event.registration,event_id:0
|
||||
msgid "Event Related"
|
||||
msgstr ""
|
||||
msgstr "Seotud sündmus"
|
||||
|
||||
#. module: event
|
||||
#: model:crm.case.section,name:event.case_section_event
|
||||
@@ -386,167 +386,169 @@ msgstr "Sündmused"
|
||||
#. module: event
|
||||
#: field:event.registration,nb_register:0
|
||||
msgid "Number of Registration"
|
||||
msgstr ""
|
||||
msgstr "Registreerimiste arv"
|
||||
|
||||
#. module: event
|
||||
#: view:event.event:0
|
||||
#: field:event.event,state:0
|
||||
#: view:event.registration:0
|
||||
msgid "Status"
|
||||
msgstr ""
|
||||
msgstr "Olek"
|
||||
|
||||
#. module: event
|
||||
#: model:ir.actions.act_window,name:event.action_event_categories
|
||||
msgid "Events by section"
|
||||
msgstr ""
|
||||
msgstr "Sündmused sektsioonijärgi"
|
||||
|
||||
#. module: event
|
||||
#: model:ir.ui.menu,name:event.menu_action_registration
|
||||
msgid "All Registrations"
|
||||
msgstr ""
|
||||
msgstr "Kõik registreerimised"
|
||||
|
||||
#. module: event
|
||||
#: help:event.event,mail_auto_registr:0
|
||||
msgid ""
|
||||
"Check this box if you want to use the automatic mailing for new registration"
|
||||
msgstr ""
|
||||
"Märgi see kast, kui sa tahad kasutada automaatset kirja saatmist uuel "
|
||||
"registreerimisel"
|
||||
|
||||
#. module: event
|
||||
#: view:event.event:0
|
||||
msgid "Set To Draft"
|
||||
msgstr ""
|
||||
msgstr "Sea mustandiks"
|
||||
|
||||
#. module: event
|
||||
#: view:event.registration:0
|
||||
#: model:ir.actions.wizard,name:event.event_confirm_registration
|
||||
#: field:report.event.registration,confirm_state:0
|
||||
msgid "Confirm Registration"
|
||||
msgstr ""
|
||||
msgstr "Kinnita registreerimine"
|
||||
|
||||
#. module: event
|
||||
#: view:event.registration:0
|
||||
msgid "History"
|
||||
msgstr ""
|
||||
msgstr "Ajalugu"
|
||||
|
||||
#. module: event
|
||||
#: model:ir.ui.menu,name:event.menu_event_type
|
||||
msgid "Types of Events"
|
||||
msgstr ""
|
||||
msgstr "Sündmuste liigid"
|
||||
|
||||
#. module: event
|
||||
#: field:event.registration,contact_id:0
|
||||
msgid "Partner Contact"
|
||||
msgstr ""
|
||||
msgstr "Partneri kontakt"
|
||||
|
||||
#. module: event
|
||||
#: view:event.event:0
|
||||
msgid "Auto Confirmation Email"
|
||||
msgstr ""
|
||||
msgstr "Automaatne kinnitamise e-kiri"
|
||||
|
||||
#. module: event
|
||||
#: view:event.event:0
|
||||
#: view:event.registration:0
|
||||
msgid "General"
|
||||
msgstr ""
|
||||
msgstr "Üldine"
|
||||
|
||||
#. module: event
|
||||
#: view:event.registration:0
|
||||
msgid "Send Reminder"
|
||||
msgstr ""
|
||||
msgstr "Saada meeldetuletus"
|
||||
|
||||
#. module: event
|
||||
#: selection:event.event,state:0
|
||||
msgid "Done"
|
||||
msgstr ""
|
||||
msgstr "Valmis"
|
||||
|
||||
#. module: event
|
||||
#: field:event.event,date_begin:0
|
||||
#: field:report.event.registration,date_begin:0
|
||||
msgid "Beginning date"
|
||||
msgstr ""
|
||||
msgstr "Alguskuupäev"
|
||||
|
||||
#. module: event
|
||||
#: field:event.registration,invoice_id:0
|
||||
msgid "Invoice"
|
||||
msgstr ""
|
||||
msgstr "Arve"
|
||||
|
||||
#. module: event
|
||||
#: model:ir.model,name:event.model_report_event_registration
|
||||
msgid "Events on registrations"
|
||||
msgstr ""
|
||||
msgstr "Sündmused registreerimisel"
|
||||
|
||||
#. module: event
|
||||
#: wizard_button:event.confirm_registration,split,end:0
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
msgstr "Katkesta"
|
||||
|
||||
#. module: event
|
||||
#: wizard_button:event.reg_make_invoice,init,open:0
|
||||
msgid "Open"
|
||||
msgstr ""
|
||||
msgstr "Ava"
|
||||
|
||||
#. module: event
|
||||
#: field:event.registration,badge_title:0
|
||||
msgid "Badge Title"
|
||||
msgstr ""
|
||||
msgstr "Embleemi pealkiri"
|
||||
|
||||
#. module: event
|
||||
#: model:ir.actions.act_window,name:event.action_new_event_form
|
||||
#: model:ir.ui.menu,name:event.menu_event_new_event
|
||||
msgid "New event"
|
||||
msgstr ""
|
||||
msgstr "Uus sündmus"
|
||||
|
||||
#. module: event
|
||||
#: field:event.registration,unit_price:0
|
||||
msgid "Unit Price"
|
||||
msgstr ""
|
||||
msgstr "Ühiku hind"
|
||||
|
||||
#. module: event
|
||||
#: model:crm.case.section,name:event.event_2_crm_case_section
|
||||
msgid "Conference on ERP Buisness"
|
||||
msgstr ""
|
||||
msgstr "ERP äri konverents"
|
||||
|
||||
#. module: event
|
||||
#: field:event.registration,badge_partner:0
|
||||
msgid "Badge Partner"
|
||||
msgstr ""
|
||||
msgstr "Partneri embleem"
|
||||
|
||||
#. module: event
|
||||
#: model:ir.actions.act_window,name:event.action_event_view_confirm
|
||||
#: model:ir.ui.menu,name:event.menu_event_event_confirm
|
||||
msgid "Confirmed Events"
|
||||
msgstr ""
|
||||
msgstr "Kinnitatud sündmused"
|
||||
|
||||
#. module: event
|
||||
#: field:event.event,register_max:0
|
||||
#: field:report.event.registration,register_max:0
|
||||
msgid "Maximum Registrations"
|
||||
msgstr ""
|
||||
msgstr "Maks. registreerimised"
|
||||
|
||||
#. module: event
|
||||
#: field:event.event,type:0
|
||||
msgid "Type"
|
||||
msgstr ""
|
||||
msgstr "Tüüp"
|
||||
|
||||
#. module: event
|
||||
#: help:event.event,mail_registr:0
|
||||
msgid "This email will be sent when someone subscribes to the event."
|
||||
msgstr ""
|
||||
msgstr "See e-kiri saadetakse, kui keegi ühineb sündmusega."
|
||||
|
||||
#. module: event
|
||||
#: model:product.template,name:event.event_product_2_product_template
|
||||
msgid "Ticket for Conference"
|
||||
msgstr ""
|
||||
msgstr "Pilet konverentsile"
|
||||
|
||||
#. module: event
|
||||
#: field:event.registration,case_id:0
|
||||
msgid "Case"
|
||||
msgstr ""
|
||||
msgstr "Juhtum"
|
||||
|
||||
#. module: event
|
||||
#: view:event.event:0
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
msgstr "Nimi"
|
||||
|
||||
#. module: event
|
||||
#: help:event.event,mail_auto_confirm:0
|
||||
@@ -554,6 +556,8 @@ msgid ""
|
||||
"Check this box if you want ot use the automatic confirmation emailing or the "
|
||||
"reminder"
|
||||
msgstr ""
|
||||
"Märgi see kast, kui sa tahad automaatset kinnitamise või meeldetuletuse "
|
||||
"kirja saatmist."
|
||||
|
||||
#. module: event
|
||||
#: help:event.event,mail_confirm:0
|
||||
@@ -562,55 +566,57 @@ msgid ""
|
||||
"subscribes to a confirmed event. This is also the email sent to remind "
|
||||
"someone about the event."
|
||||
msgstr ""
|
||||
"See e-kiri saadetakse, kui sündmus kinnitatakse või keegi ühineb kinnitatud "
|
||||
"sündmusega. See on ka kiri, mis saaadetakse sündmuse meelde tuletuseks."
|
||||
|
||||
#. module: event
|
||||
#: field:event.event,product_id:0
|
||||
msgid "Product"
|
||||
msgstr ""
|
||||
msgstr "Toode"
|
||||
|
||||
#. module: event
|
||||
#: field:event.registration,invoice_label:0
|
||||
msgid "Label Invoice"
|
||||
msgstr ""
|
||||
msgstr "Märgista arve"
|
||||
|
||||
#. module: event
|
||||
#: view:event.registration:0
|
||||
msgid "Payments"
|
||||
msgstr ""
|
||||
msgstr "Maksed"
|
||||
|
||||
#. module: event
|
||||
#: view:event.type:0
|
||||
#: field:report.event.type.registration,name:0
|
||||
msgid "Event Type"
|
||||
msgstr ""
|
||||
msgstr "Sündmuse tüüp"
|
||||
|
||||
#. module: event
|
||||
#: view:event.event:0
|
||||
#: model:ir.actions.act_window,name:event.action_registration
|
||||
#: model:ir.actions.wizard,name:event.wizard_event_registration
|
||||
msgid "Registrations"
|
||||
msgstr ""
|
||||
msgstr "Registreerimised"
|
||||
|
||||
#. module: event
|
||||
#: model:ir.actions.act_window,name:event.action_event_view_draft
|
||||
#: model:ir.ui.menu,name:event.menu_event_event_draft
|
||||
msgid "Draft Events"
|
||||
msgstr ""
|
||||
msgstr "Sündmuste mustandid"
|
||||
|
||||
#. module: event
|
||||
#: model:ir.ui.menu,name:event.menu_event_main
|
||||
msgid "Events Organisation"
|
||||
msgstr ""
|
||||
msgstr "Sündmuste organiseerimine"
|
||||
|
||||
#. module: event
|
||||
#: view:event.registration:0
|
||||
msgid "Actions"
|
||||
msgstr ""
|
||||
msgstr "Toimingud"
|
||||
|
||||
#. module: event
|
||||
#: model:ir.actions.wizard,name:event.wizard_event_reg_partners
|
||||
msgid "List Register Partners"
|
||||
msgstr ""
|
||||
msgstr "Registreeritud partnerite nimekiri"
|
||||
|
||||
#. module: event
|
||||
#: constraint:product.product:0
|
||||
@@ -620,4 +626,4 @@ msgstr "Viga: Vigane EAN kood"
|
||||
#. module: event
|
||||
#: view:event.event:0
|
||||
msgid "Auto Registration Email"
|
||||
msgstr ""
|
||||
msgstr "Automaatne registreerimise e-kiri"
|
||||
|
||||
@@ -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-06-08 03:41+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-06-09 03:36+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
"Language: hr\n"
|
||||
|
||||
|
||||
@@ -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-06-08 03:41+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-06-09 03:36+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: hr_evaluation
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<report auto="False" id="hr_expenses" model="hr.expense.expense" name="hr.expense" rml="hr_expense/report/expense.rml" string="Print HR expenses"/>
|
||||
<report auto="False" id="hr_expenses" model="hr.expense.expense" name="hr.expense" rml="hr_expense/report/expense.rml" string="HR expenses"/>
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -83,7 +83,10 @@
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="search_view_id" ref="hr_timesheet_line_search"/>
|
||||
</record>
|
||||
|
||||
|
||||
<menuitem id="menu_project_working_hours" parent="base.menu_project_management_time_tracking" action="act_hr_timesheet_line_evry1_all_form"/>
|
||||
<menuitem id="menu_hr_working_hours" parent="hr_attendance.menu_hr_time_tracking" action="act_hr_timesheet_line_evry1_all_form"/>
|
||||
|
||||
<record id="hr_timesheet_employee_extd_form" model="ir.ui.view">
|
||||
<field name="name">hr.timesheet.employee.extd_form</field>
|
||||
<field name="model">hr.employee</field>
|
||||
|
||||
@@ -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-06-08 03:40+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-06-09 03:35+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
"Language: hr\n"
|
||||
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
</record>
|
||||
|
||||
<record id="action_hr_timesheet_my" model="ir.actions.act_window">
|
||||
<field name="name">Print My Timesheet</field>
|
||||
<field name="name">My Timesheet</field>
|
||||
<field name="res_model">hr.analytical.timesheet.employee</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
|
||||
@@ -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-06-08 03:41+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-06-09 03:35+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: hr_timesheet_invoice
|
||||
|
||||
@@ -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-06-08 03:40+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-06-09 03:35+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
"Language: hr\n"
|
||||
|
||||
|
||||
@@ -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-06-08 03:40+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-06-09 03:35+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: l10n_fr
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<data>
|
||||
<report
|
||||
id="report_lunch_order"
|
||||
string="Print Order"
|
||||
string="Lunch Order"
|
||||
model="lunch.order"
|
||||
name="lunch.order"
|
||||
rml="lunch/report/order.rml"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -8,13 +8,13 @@ msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2009-11-26 05:24+0000\n"
|
||||
"PO-Revision-Date: 2010-04-11 22:28+0000\n"
|
||||
"Last-Translator: Juan Eduardo Riva <juaneduardoriva@gmail.com>\n"
|
||||
"PO-Revision-Date: 2010-06-08 14:19+0000\n"
|
||||
"Last-Translator: victor tejada yau <Unknown>\n"
|
||||
"Language-Team: Spanish <es@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-04-17 04:21+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-06-09 03:36+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: olap
|
||||
@@ -57,7 +57,7 @@ msgstr ""
|
||||
#. module: olap
|
||||
#: field:olap.cube.table,schema_id:0
|
||||
msgid "Schema id"
|
||||
msgstr ""
|
||||
msgstr "Schema id"
|
||||
|
||||
#. module: olap
|
||||
#: field:olap.schema,database_id:0
|
||||
@@ -186,7 +186,7 @@ msgstr ""
|
||||
#. module: olap
|
||||
#: field:olap.measure,formatstring:0
|
||||
msgid "Format string"
|
||||
msgstr ""
|
||||
msgstr "Formato de cadena"
|
||||
|
||||
#. module: olap
|
||||
#: wizard_button:olap.query_builder,exec,exec:0
|
||||
@@ -307,17 +307,17 @@ msgstr "Nombre de la aplicación"
|
||||
#. module: olap
|
||||
#: field:olap.cube.table,column_link_id:0
|
||||
msgid "Relational Column"
|
||||
msgstr ""
|
||||
msgstr "columna relacional"
|
||||
|
||||
#. module: olap
|
||||
#: field:olap.level,type:0
|
||||
msgid "Level class"
|
||||
msgstr ""
|
||||
msgstr "Nivel de clase"
|
||||
|
||||
#. module: olap
|
||||
#: field:olap.cube,name:0
|
||||
msgid "Cube name"
|
||||
msgstr ""
|
||||
msgstr "nombre de cubo"
|
||||
|
||||
#. module: olap
|
||||
#: model:ir.actions.act_window,name:olap.action_view_olap_application_table_form
|
||||
|
||||
@@ -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-06-08 03:40+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-06-09 03:35+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
"Language: hr\n"
|
||||
|
||||
|
||||
@@ -47,6 +47,9 @@ work done on tasks, eso. It is able to render planning, order tasks, eso.
|
||||
'demo_xml': [
|
||||
'project_demo.xml'
|
||||
],
|
||||
'test':[
|
||||
'test/test_project.yml'
|
||||
],
|
||||
'installable': True,
|
||||
'active': False,
|
||||
'certificate': '0075116868317',
|
||||
|
||||
@@ -123,7 +123,7 @@ class project(osv.osv):
|
||||
'active': fields.boolean('Active', help="If the active field is set to true, it will allow you to hide the project without removing it."),
|
||||
'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of Projects."),
|
||||
'category_id': fields.many2one('account.analytic.account','Analytic Account', help="Link this project to an analytic account if you need financial management on projects. It enables you to connect projects with budgets, planning, cost and revenue analysis, timesheets on projects, etc."),
|
||||
'priority': fields.integer('Sequence'),
|
||||
'priority': fields.integer('Sequence', help="Gives the sequence order when displaying a list of task"),
|
||||
'warn_manager': fields.boolean('Warn Manager', help="If you check this field, the project manager will receive a request each time a task is completed by his team."),
|
||||
'members': fields.many2many('res.users', 'project_user_rel', 'project_id', 'uid', 'Project Members', help="Project's member. Not used in any computation, just for information purpose."),
|
||||
'tasks': fields.one2many('project.task', 'project_id', "Project tasks"),
|
||||
@@ -150,14 +150,14 @@ class project(osv.osv):
|
||||
if leave['date_start'] > leave['date']:
|
||||
return False
|
||||
return True
|
||||
|
||||
|
||||
def _check_escalation(self, cr, uid, ids):
|
||||
project_obj = self.browse(cr, uid, ids[0])
|
||||
if project_obj.project_escalation_id:
|
||||
if project_obj.project_escalation_id.id == project_obj.id:
|
||||
return False
|
||||
return True
|
||||
|
||||
return True
|
||||
|
||||
_constraints = [
|
||||
(_check_dates, 'Error! project start-date must be lower then project end-date.', ['date_start', 'date']),
|
||||
(_check_escalation, 'Error! You cannot assign escalation to the same project!', ['project_escalation_id'])
|
||||
@@ -343,7 +343,6 @@ class task(osv.osv):
|
||||
'company_id': fields.many2one('res.company', 'Company'),
|
||||
}
|
||||
_defaults = {
|
||||
'user_id': lambda obj, cr, uid, context: uid,
|
||||
'state': lambda *a: 'draft',
|
||||
'priority': lambda *a: '2',
|
||||
'progress': lambda *a: 0,
|
||||
|
||||
@@ -0,0 +1,322 @@
|
||||
-
|
||||
Test project template feature
|
||||
-
|
||||
Create project 'OpenERP Training Programme'
|
||||
-
|
||||
!record {model: project.project, id: project_project_openerptrainingprogramme0}:
|
||||
company_id: base.main_company
|
||||
name: OpenERP Training Programme
|
||||
-
|
||||
Create task 'Technical Training' for this project
|
||||
-
|
||||
!record {model: project.task, id: project_task_technicaltraining0}:
|
||||
date_start: '2010-05-31 11:48:38'
|
||||
name: Technical Training
|
||||
planned_hours: 30.0
|
||||
project_id: project_project_openerptrainingprogramme0
|
||||
remaining_hours: 30.0
|
||||
state: draft
|
||||
-
|
||||
Create task 'Functional Training' for this project
|
||||
-
|
||||
!record {model: project.task, id: project_task_functionaltraining0}:
|
||||
date_start: '2010-05-31 11:49:11'
|
||||
name: Functional Training
|
||||
planned_hours: 30.0
|
||||
project_id: project_project_openerptrainingprogramme0
|
||||
remaining_hours: 30.0
|
||||
state: draft
|
||||
-
|
||||
Set project as project template
|
||||
-
|
||||
!python {model: project.project}: |
|
||||
self.set_template(cr, uid, [ref("project_project_openerptrainingprogramme0")],
|
||||
{"lang": "en_US", "active_model": "ir.ui.menu", "active_ids": [ref("project.menu_open_view_project_all")],
|
||||
"tz": False, "active_id": ref("project.menu_open_view_project_all"), })
|
||||
-
|
||||
Check if project in template state
|
||||
-
|
||||
!assert {model: project.project, id: project_project_openerptrainingprogramme0, severity: error, string: Project is in template state}:
|
||||
- state == "template"
|
||||
-
|
||||
Create new project based on this template
|
||||
-
|
||||
!python {model: project.project}: |
|
||||
new_prj = self.duplicate_template(cr, uid, [ref("project_project_openerptrainingprogramme0")],
|
||||
{"lang": "en_US", "active_model": "ir.ui.menu", "active_ids": [ref("project.menu_open_view_project_all")],
|
||||
"tz": False, "active_id": ref("project.menu_open_view_project_all"), })
|
||||
if not new_prj:
|
||||
raise Exception( "New project based on template not created")
|
||||
new_id = new_prj['res_id']
|
||||
state = self.read(cr, uid, [new_id], ['state'])[0]['state']
|
||||
assert state == 'open', "Project in %s state. Project created from template project must be in open state"%state
|
||||
-
|
||||
Reset project template to normal project
|
||||
-
|
||||
!python {model: project.project}: |
|
||||
self.reset_project(cr, uid, [ref("project_project_openerptrainingprogramme0")], {"lang": "en_US", "active_ids":
|
||||
[ref("project.menu_open_view_project_all")], "tz": False, "active_model":
|
||||
"ir.ui.menu", "project_id": False, "active_id": ref("project.menu_open_view_project_all"),
|
||||
})
|
||||
-
|
||||
Check if project in open state
|
||||
-
|
||||
!assert {model: project.project, id: project_project_openerptrainingprogramme0, severity: error, string: Project is in open state}:
|
||||
- state == "open"
|
||||
|
||||
|
||||
|
||||
|
||||
-
|
||||
Test for different project-states
|
||||
-
|
||||
Keep project pending
|
||||
-
|
||||
!python {model: project.project}: |
|
||||
self.set_pending(cr, uid, [ref("project_project_openerptrainingprogramme0")], {"lang": "en_US", "active_ids":
|
||||
[ref("project.menu_open_view_project_all")], "tz": False, "active_model":
|
||||
"ir.ui.menu", "project_id": False, "active_id": ref("project.menu_open_view_project_all"),
|
||||
})
|
||||
-
|
||||
Check if project in pending state
|
||||
-
|
||||
!assert {model: project.project, id: project_project_openerptrainingprogramme0, severity: error, string: Project is in pending state}:
|
||||
- state == "pending"
|
||||
-
|
||||
Cancel the project
|
||||
-
|
||||
!python {model: project.project}: |
|
||||
self.set_cancel(cr, uid, [ref("project_project_openerptrainingprogramme0")], {"lang": "en_US", "active_ids":
|
||||
[ref("project.menu_open_view_project_all")], "tz": False, "active_model":
|
||||
"ir.ui.menu", "project_id": False, "active_id": ref("project.menu_open_view_project_all"),
|
||||
})
|
||||
-
|
||||
Check if project in cancel state
|
||||
-
|
||||
!assert {model: project.project, id: project_project_openerptrainingprogramme0, severity: error, string: Project is in cancel state}:
|
||||
- state == "cancelled"
|
||||
-
|
||||
Re-open the project
|
||||
-
|
||||
!python {model: project.project}: |
|
||||
self.set_open(cr, uid, [ref("project_project_openerptrainingprogramme0")], {"lang": "en_US", "active_ids": [ref("project.menu_open_view_project_all")],
|
||||
"tz": False, "active_model": "ir.ui.menu", "project_id": False, "active_id":
|
||||
ref("project.menu_open_view_project_all"), })
|
||||
-
|
||||
Check if project in open state
|
||||
-
|
||||
!assert {model: project.project, id: project_project_openerptrainingprogramme0, severity: error, string: Project is in open state}:
|
||||
- state == "open"
|
||||
|
||||
|
||||
|
||||
-
|
||||
Test for task work allocation
|
||||
-
|
||||
Check if task 'Technical Training' in draft state
|
||||
-
|
||||
!assert {model: project.task, id: project_task_technicaltraining0, severity: error, string: Project is in draft state}:
|
||||
- state == "draft"
|
||||
-
|
||||
Open task 'Technical Training'
|
||||
-
|
||||
!python {model: project.task}: |
|
||||
self.do_open(cr, uid, [ref("project_task_technicaltraining0")], {"lang": "en_US", "active_ids": [ref("project.menu_action_view_task")],
|
||||
"tz": False, "active_model": "ir.ui.menu", "search_default_project_id":
|
||||
False, "search_default_user_id": 1, "search_default_current": 1, "project_id":
|
||||
False, "active_id": ref("project.menu_action_view_task"), })
|
||||
-
|
||||
Check if task 'Technical Training' in open state and for other initial values
|
||||
-
|
||||
!assert {model: project.task, id: project_task_technicaltraining0, severity: error, string: Project is in open state}:
|
||||
- state == "open"
|
||||
- planned_hours == 30
|
||||
- remaining_hours == 30
|
||||
- delay_hours == 0.0
|
||||
- total_hours == 30
|
||||
- effective_hours == 0.0
|
||||
-
|
||||
Make a work task entry 'Training on OpenERP modules, models and classes' of 10 hours
|
||||
-
|
||||
!record {model: project.task, id: project_task_technicaltraining0}:
|
||||
work_ids:
|
||||
- date: '2010-05-31 15:04:22'
|
||||
hours: 10.0
|
||||
name: Training on OpenERP modules, models and classes
|
||||
user_id: base.user_root
|
||||
-
|
||||
Check for effective hours and remaining hours, effective_hours must be equal to 10
|
||||
-
|
||||
!assert {model: project.task, id: project_task_technicaltraining0, severity: error, string: After work task of 10 hours effective_hours must be equal to 10}:
|
||||
- remaining_hours == 20
|
||||
- effective_hours == 10.0
|
||||
- total_hours == effective_hours + remaining_hours
|
||||
- delay_hours == total_hours - planned_hours
|
||||
-
|
||||
Make a work task entry 'Training on OpenERP xml views' of 10 hours
|
||||
-
|
||||
!record {model: project.task, id: project_task_technicaltraining0}:
|
||||
work_ids:
|
||||
- date: '2010-06-01 15:04:46'
|
||||
hours: 10.0
|
||||
name: Training on OpenERP xml views
|
||||
user_id: base.user_root
|
||||
-
|
||||
Check for effective hours and remaining hours, effective_hours must be equal to 20
|
||||
-
|
||||
!assert {model: project.task, id: project_task_technicaltraining0, severity: error, string: After one more work task of 10 hours effective_hours must be equal to 20}:
|
||||
- remaining_hours == 10
|
||||
- effective_hours == 20.0
|
||||
- total_hours == effective_hours + remaining_hours
|
||||
- delay_hours == total_hours - planned_hours
|
||||
-
|
||||
Make a work task entry 'Training on workflows' of 10 hours
|
||||
-
|
||||
!record {model: project.task, id: project_task_technicaltraining0}:
|
||||
work_ids:
|
||||
- date: '2010-06-02 15:05:24'
|
||||
hours: 10.0
|
||||
name: Training on workflows
|
||||
user_id: base.user_root
|
||||
-
|
||||
Check for effective hours and remaining hours, effective_hours must be equal to 30
|
||||
-
|
||||
!assert {model: project.task, id: project_task_technicaltraining0, severity: error, string: After one more work task of 10 hours effective_hours must be equal to 30}:
|
||||
- remaining_hours == 0
|
||||
- effective_hours == 30.0
|
||||
- total_hours == effective_hours + remaining_hours
|
||||
- delay_hours == total_hours - planned_hours
|
||||
-
|
||||
Set remaining hours of 10 hours for reevaluating the task
|
||||
-
|
||||
!record {model: config.compute.remaining, id: config_compute_remaining_0}:
|
||||
remaining_hours: 10.0
|
||||
-
|
||||
Reevaluate the task
|
||||
-
|
||||
!python {model: config.compute.remaining}: |
|
||||
self.compute_hours(cr, uid, [ref("config_compute_remaining_0")], {"lang": "en_US",
|
||||
"project_id": False, "tz": False, "active_model": "project.task", "search_default_project_id":
|
||||
False, "search_default_user_id": 1, "search_default_current": 1, "active_ids":
|
||||
[ref("project_task_technicaltraining0")], "active_id": ref("project_task_technicaltraining0"), })
|
||||
|
||||
-
|
||||
Check for effective hours and remaining hours, remaining_hours must be 10 while planned_hours remains 30
|
||||
-
|
||||
!assert {model: project.task, id: project_task_technicaltraining0, severity: error, string: After reevaluating the task with 10 hours remaining_hours must be 10 while planned_hours remains 30}:
|
||||
- planned_hours == 30
|
||||
- remaining_hours == 10.0
|
||||
- effective_hours == 30.0
|
||||
- total_hours == effective_hours + remaining_hours
|
||||
- delay_hours == total_hours - planned_hours
|
||||
-
|
||||
Make a work task entry 'Training on reports and wizards' of 10 hours
|
||||
-
|
||||
!record {model: project.task, id: project_task_technicaltraining0}:
|
||||
work_ids:
|
||||
- date: '2010-05-31 15:08:40'
|
||||
hours: 10.0
|
||||
name: Training on reports and wizards
|
||||
user_id: base.user_root
|
||||
-
|
||||
Check for effective hours and remaining hours
|
||||
-
|
||||
!assert {model: project.task, id: project_task_technicaltraining0, severity: error, string: After one more work task of 10 hours effective_hours must be equal to 40 while planned_hours remains 30}:
|
||||
- planned_hours == 30
|
||||
- remaining_hours == 0
|
||||
- effective_hours == 40.0
|
||||
- total_hours == effective_hours + remaining_hours
|
||||
- delay_hours == total_hours - planned_hours
|
||||
-
|
||||
Close the task
|
||||
-
|
||||
!python {model: project.task}: |
|
||||
self.do_close(cr, uid, [ref("project_task_technicaltraining0")], {"lang": "en_US", "active_ids": [ref("project.menu_action_view_task")],
|
||||
"tz": False, "active_model": "ir.ui.menu", "search_default_project_id":
|
||||
False, "search_default_user_id": 1, "search_default_current": 1, "project_id":
|
||||
False, "active_id": ref("project.menu_action_view_task"), })
|
||||
-
|
||||
Check if task in done state
|
||||
-
|
||||
!assert {model: project.task, id: project_task_technicaltraining0, severity: error, string: Task is in done state}:
|
||||
- state == "done"
|
||||
|
||||
|
||||
-
|
||||
Test for task reactivation
|
||||
-
|
||||
Reactivate task
|
||||
-
|
||||
!record {model: config.compute.remaining, id: config_compute_remaining_1}:
|
||||
remaining_hours: 10.0
|
||||
-
|
||||
Reevaluate the task with 10 hours remaining
|
||||
-
|
||||
!python {model: config.compute.remaining}: |
|
||||
self.compute_hours(cr, uid, [ref("config_compute_remaining_1")], {"lang": "en_US",
|
||||
"project_id": False, "tz": False, "button_reactivate": True, "active_model":
|
||||
"project.task", "search_default_project_id": False, "search_default_user_id":
|
||||
1, "search_default_current": 1, "active_ids": [ref("project_task_technicaltraining0")], "active_id": ref("project_task_technicaltraining0"),
|
||||
})
|
||||
-
|
||||
Check for effective hours and remaining hours, remaining_hours must be 10 while planned_hours remains 30
|
||||
-
|
||||
!assert {model: project.task, id: project_task_technicaltraining0, severity: error, string: After reevaluating the task with 10 hours remaining_hours must be 10 while planned_hours remains 30}:
|
||||
- planned_hours == 30
|
||||
- remaining_hours == 10.0
|
||||
- effective_hours == 40.0
|
||||
- total_hours == effective_hours + remaining_hours
|
||||
- delay_hours == total_hours - planned_hours
|
||||
-
|
||||
Make a work task entry 'Training on yml' of 5 hours
|
||||
-
|
||||
!record {model: project.task, id: project_task_technicaltraining0}:
|
||||
work_ids:
|
||||
- date: '2010-05-31 16:55:27'
|
||||
hours: 5.0
|
||||
name: Training on yml
|
||||
user_id: base.user_root
|
||||
-
|
||||
Check for effective hours and remaining hours
|
||||
-
|
||||
!assert {model: project.task, id: project_task_technicaltraining0, severity: error, string: After work task of 5 hours effective_hours must be equal to 45 and remaining_hours is 5}:
|
||||
- planned_hours == 30
|
||||
- remaining_hours == 5.0
|
||||
- effective_hours == 45.0
|
||||
- total_hours == effective_hours + remaining_hours
|
||||
- delay_hours == total_hours - planned_hours
|
||||
-
|
||||
Close the task
|
||||
-
|
||||
!python {model: project.task}: |
|
||||
self.do_close(cr, uid, [ref("project_task_technicaltraining0")], {"lang": "en_US", "active_ids": [ref("project.menu_action_view_task")],
|
||||
"tz": False, "active_model": "ir.ui.menu", "search_default_project_id":
|
||||
False, "search_default_user_id": 1, "search_default_current": 1, "project_id":
|
||||
False, "active_id": ref("project.menu_action_view_task"), })
|
||||
-
|
||||
Check if task in done state
|
||||
-
|
||||
!assert {model: project.task, id: project_task_technicaltraining0, severity: error}:
|
||||
- state == "done"
|
||||
-
|
||||
Check for effective hours and remaining hours
|
||||
-
|
||||
!assert {model: project.task, id: project_task_technicaltraining0, severity: error, string: After closing the task planned_hours must remain 30 effective_hours must be 45 and remaining hours must be 0}:
|
||||
- planned_hours == 30
|
||||
- remaining_hours == 0.0
|
||||
- effective_hours == 45.0
|
||||
- total_hours == effective_hours + remaining_hours
|
||||
- delay_hours == total_hours - planned_hours
|
||||
-
|
||||
Close project 'OpenERP Training Programme'
|
||||
-
|
||||
!python {model: project.project}: |
|
||||
self.set_done(cr, uid, [ref("project_project_openerptrainingprogramme0")], {"lang": "en_US", "active_ids": [ref("project.menu_open_view_project_all")],
|
||||
"tz": False, "active_model": "ir.ui.menu", "project_id": False, "active_id":
|
||||
ref("project.menu_open_view_project_all"), })
|
||||
-
|
||||
Check if project in close state
|
||||
-
|
||||
!assert {model: project.project, id: project_project_openerptrainingprogramme0, severity: error}:
|
||||
- state == "close"
|
||||
|
||||
@@ -50,6 +50,9 @@ performing those tasks.
|
||||
'wizard/project_gtd_fill_view.xml',
|
||||
],
|
||||
'demo_xml': ['project_gtd_demo.xml'],
|
||||
'test':[
|
||||
'test/gtd_test.yml'
|
||||
],
|
||||
'installable': True,
|
||||
'active': False,
|
||||
'certificate': '0043525236301',
|
||||
|
||||
@@ -0,0 +1,80 @@
|
||||
-
|
||||
Create a task 'Develop time management module' with monthly timebox
|
||||
-
|
||||
!record {model: project.task, id: project_task_developtimemanagementmodule0}:
|
||||
date_end: '2010-06-04 10:00:00'
|
||||
date_start: '2010-06-02 14:42:21'
|
||||
name: Develop time management module
|
||||
planned_hours: 15.0
|
||||
project_id: project.project_project_22
|
||||
remaining_hours: 15.0
|
||||
state: draft
|
||||
timebox_id: project_gtd.timebox_monthly
|
||||
|
||||
|
||||
-
|
||||
Open the task
|
||||
-
|
||||
!python {model: project.task}: |
|
||||
self.do_open(cr, uid, [ref("project_task_developtimemanagementmodule0")], {"lang":
|
||||
"en_US", "project_id": False, "tz": False, "active_model": "ir.ui.menu",
|
||||
"department_id": False, "section_id": False, "search_default_project_id":
|
||||
False, "search_default_user_id": 1, "search_default_current": 1, "active_ids":
|
||||
[ref("project.menu_action_view_task")], "active_id": ref("project.menu_action_view_task"),
|
||||
})
|
||||
|
||||
-
|
||||
Create time box for next week
|
||||
-
|
||||
!record {model: project.gtd.timebox, id: project_gtd_timebox_nextweek0}:
|
||||
name: Next Week
|
||||
sequence: 0.0
|
||||
|
||||
-
|
||||
Create time box for tomorrow
|
||||
-
|
||||
!record {model: project.gtd.timebox, id: project_gtd_timebox_tomorrow1}:
|
||||
name: Tomorrow
|
||||
sequence: 0.0
|
||||
|
||||
-
|
||||
Planify the task from monthly timebox to tomorrow timebox
|
||||
-
|
||||
!record {model: project.timebox.fill.plan, id: project_timebox_fill_plan_0}:
|
||||
task_ids:
|
||||
- project_task_developtimemanagementmodule0
|
||||
timebox_id: project_gtd.timebox_monthly
|
||||
timebox_to_id: project_gtd_timebox_tomorrow1
|
||||
|
||||
|
||||
-
|
||||
Set the task to tomorrow timebox
|
||||
-
|
||||
!python {model: project.timebox.fill.plan}: |
|
||||
self.process(cr, uid, [ref("project_timebox_fill_plan_0")], {"lang": "en_US",
|
||||
"project_id": False, "tz": False, "active_model": "project.gtd.timebox",
|
||||
"department_id": False, "section_id": False, "record_id": 1, "active_ids":
|
||||
[ref("project_gtd.timebox_daily")], "active_id": ref("project_gtd.timebox_daily"),
|
||||
})
|
||||
|
||||
-
|
||||
Check if task set to tomorrow timebox
|
||||
-
|
||||
!assert {model: project.task, id: project_task_developtimemanagementmodule0, string: Task set to tomorrow timebox}:
|
||||
- timebox_id.id == ref("project_gtd_timebox_tomorrow1")
|
||||
|
||||
-
|
||||
Empty Timebox for tomorrow
|
||||
-
|
||||
!python {model: project.timebox.empty}: |
|
||||
self._empty(cr, uid, {"lang": "en_US",
|
||||
"project_id": False, "tz": False, "active_model": "project.gtd.timebox",
|
||||
"department_id": False, "section_id": False, "record_id": 1, "active_ids":
|
||||
[ref("project_gtd_timebox_tomorrow1")], "active_id": ref("project_gtd_timebox_tomorrow1"),
|
||||
})
|
||||
|
||||
-
|
||||
Check task 'Develop time management module' is no more in tomorrow timebox
|
||||
-
|
||||
!assert {model: project.task, id: project_task_developtimemanagementmodule0, string: Task is not in tomorrow timebox}:
|
||||
- timebox_id.id != ref("project_gtd_timebox_tomorrow1")
|
||||
@@ -47,6 +47,10 @@
|
||||
'security/ir.model.access.csv',
|
||||
],
|
||||
'demo_xml': ['project_issue_demo.xml'],
|
||||
'test' : [
|
||||
'test/convert_issue_to_task.yml',
|
||||
'test/test_project_issue_states.yml'
|
||||
],
|
||||
'installable': True,
|
||||
'active': False,
|
||||
}
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
-
|
||||
Create an issue
|
||||
-
|
||||
!record {model: project.issue, id: project_issue_onchangeevent0}:
|
||||
categ_id: project_issue.bug_categ
|
||||
name: on_change event does not pass context to the method
|
||||
project_id: project.project_project_22
|
||||
working_hours_close: 0.0
|
||||
working_hours_open: 0.0
|
||||
|
||||
-
|
||||
Check there is no task attached to issue
|
||||
-
|
||||
!assert {model: project.issue, id: project_issue_onchangeevent0, string: There must not be any task attached to issue}:
|
||||
- task_id.id == False
|
||||
|
||||
-
|
||||
Convert issue to task
|
||||
-
|
||||
!python {model: project.issue}: |
|
||||
self.convert_issue_task(cr, uid, [ref("project_issue_onchangeevent0")],
|
||||
{"lang": "en_US", "project_id": False, "tz": False, "active_model": "ir.ui.menu",
|
||||
"department_id": False, "section_id": False, "search_default_project_id":
|
||||
False, "search_default_my_bugs": 1, "search_default_user_id": 1, "search_default_current_bugs":
|
||||
1, "active_ids": [ref("project_issue.menu_project_issue_track")], "active_id":
|
||||
ref("project_issue.menu_project_issue_track"), })
|
||||
|
||||
-
|
||||
Check there is a task attached to issue
|
||||
-
|
||||
!assert {model: project.issue, id: project_issue_onchangeevent0, string: After creating a task for the issue there must be a task attached to it}:
|
||||
- task_id.id != False
|
||||
@@ -0,0 +1,112 @@
|
||||
-
|
||||
Create an issue
|
||||
-
|
||||
!record {model: project.issue, id: project_issue_stockmovedates0}:
|
||||
categ_id: project_issue.bug_categ
|
||||
name: Stock Move dates
|
||||
project_id: project.project_project_22
|
||||
working_hours_close: 0.0
|
||||
working_hours_open: 0.0
|
||||
-
|
||||
Check if issue in 'draft' state
|
||||
-
|
||||
!assert {model: project.issue, id: project_issue_stockmovedates0, severity: error, string: Issue is in draft state}:
|
||||
- state == 'draft'
|
||||
|
||||
-
|
||||
Open the issue
|
||||
-
|
||||
!python {model: project.issue}: |
|
||||
self.case_open(cr, uid, [ref("project_issue_stockmovedates0")], {"lang":
|
||||
"en_US", "active_ids": [ref("project_issue.menu_project_issue_track")], "tz":
|
||||
False, "active_model": "ir.ui.menu", "search_default_project_id": False, "search_default_my_bugs":
|
||||
1, "search_default_user_id": 1, "search_default_current_bugs": 1, "project_id":
|
||||
False, "active_id": ref("project_issue.menu_project_issue_track"), })
|
||||
-
|
||||
Check if issue in 'open' state
|
||||
-
|
||||
!assert {model: project.issue, id: project_issue_stockmovedates0, severity: error, string: Issue is in open state}:
|
||||
- state == 'open'
|
||||
|
||||
-
|
||||
Keep issue pending
|
||||
-
|
||||
!python {model: project.issue}: |
|
||||
self.case_pending(cr, uid, [ref("project_issue_stockmovedates0")],
|
||||
{"lang": "en_US", "active_ids": [ref("project_issue.menu_project_issue_track")],
|
||||
"tz": False, "active_model": "ir.ui.menu", "search_default_project_id":
|
||||
False, "search_default_my_bugs": 1, "search_default_user_id": 1, "search_default_current_bugs":
|
||||
1, "project_id": False, "active_id": ref("project_issue.menu_project_issue_track"),
|
||||
})
|
||||
-
|
||||
Check if issue in 'pending' state
|
||||
-
|
||||
!assert {model: project.issue, id: project_issue_stockmovedates0, severity: error, string: Issue is in pending state}:
|
||||
- state == 'pending'
|
||||
|
||||
|
||||
-
|
||||
Open the issue
|
||||
-
|
||||
!python {model: project.issue}: |
|
||||
self.case_open(cr, uid, [ref("project_issue_stockmovedates0")], {"lang":
|
||||
"en_US", "active_ids": [ref("project_issue.menu_project_issue_track")], "tz":
|
||||
False, "active_model": "ir.ui.menu", "search_default_project_id": False, "search_default_my_bugs":
|
||||
1, "search_default_user_id": 1, "search_default_current_bugs": 1, "project_id":
|
||||
False, "active_id": ref("project_issue.menu_project_issue_track"), })
|
||||
-
|
||||
Check if issue in 'open' state
|
||||
-
|
||||
!assert {model: project.issue, id: project_issue_stockmovedates0, severity: error, string: Issue is in open state}:
|
||||
- state == 'open'
|
||||
|
||||
|
||||
-
|
||||
Cancel the issue
|
||||
-
|
||||
!python {model: project.issue}: |
|
||||
self.case_cancel(cr, uid, [ref("project_issue_stockmovedates0")],
|
||||
{"lang": "en_US", "active_ids": [ref("project_issue.menu_project_issue_track")],
|
||||
"tz": False, "active_model": "ir.ui.menu", "search_default_project_id":
|
||||
False, "search_default_my_bugs": 1, "search_default_user_id": 1, "search_default_current_bugs":
|
||||
1, "project_id": False, "active_id": ref("project_issue.menu_project_issue_track"),
|
||||
})
|
||||
-
|
||||
Check if issue in 'cancel' state
|
||||
-
|
||||
!assert {model: project.issue, id: project_issue_stockmovedates0, severity: error, string: Issue is in cancel state}:
|
||||
- state == 'cancel'
|
||||
|
||||
|
||||
-
|
||||
Reset the issue
|
||||
-
|
||||
!python {model: project.issue}: |
|
||||
self.case_reset(cr, uid, [ref("project_issue_stockmovedates0")],
|
||||
{"lang": "en_US", "active_ids": [ref("project_issue.menu_project_issue_track")],
|
||||
"tz": False, "active_model": "ir.ui.menu", "search_default_project_id":
|
||||
False, "search_default_my_bugs": 1, "search_default_user_id": 1, "search_default_current_bugs":
|
||||
1, "project_id": False, "active_id": ref("project_issue.menu_project_issue_track"),
|
||||
})
|
||||
-
|
||||
Check if issue in 'draft' state
|
||||
-
|
||||
!assert {model: project.issue, id: project_issue_stockmovedates0, severity: error, string: Issue is in draft state}:
|
||||
- state == 'draft'
|
||||
|
||||
|
||||
-
|
||||
Close the issue
|
||||
-
|
||||
!python {model: project.issue}: |
|
||||
self.case_close(cr, uid, [ref("project_issue_stockmovedates0")],
|
||||
{"lang": "en_US", "active_ids": [ref("project_issue.menu_project_issue_track")],
|
||||
"tz": False, "active_model": "ir.ui.menu", "search_default_project_id":
|
||||
False, "search_default_my_bugs": 1, "search_default_user_id": 1, "search_default_current_bugs":
|
||||
1, "project_id": False, "active_id": ref("project_issue.menu_project_issue_track"),
|
||||
})
|
||||
-
|
||||
Check if issue in 'done' state
|
||||
-
|
||||
!assert {model: project.issue, id: project_issue_stockmovedates0, severity: error, string: Issue is in done state}:
|
||||
- state == 'done'
|
||||
@@ -38,6 +38,11 @@
|
||||
""",
|
||||
"init_xml" : [],
|
||||
"demo_xml" : ["project_long_term_demo.xml"],
|
||||
"test" : [
|
||||
'test/schedule_project_phases.yml',
|
||||
'test/schedule_project_tasks.yml',
|
||||
'test/schedule_phase_tasks.yml'
|
||||
],
|
||||
"update_xml": [
|
||||
"security/ir.model.access.csv",
|
||||
"project_long_term_wizard.xml" ,
|
||||
|
||||
@@ -0,0 +1,101 @@
|
||||
-
|
||||
Create project 'Develop an outlook-openerp synchronization plugin'
|
||||
-
|
||||
!record {model: project.project, id: project_project_project0}:
|
||||
company_id: base.main_company
|
||||
name: Project123
|
||||
members:
|
||||
- project_long_term.res_users_manager0
|
||||
- project_long_term.res_users_user0
|
||||
- project_long_term.res_users_userfinance0
|
||||
- project_long_term.res_users_userdesign0
|
||||
- project_long_term.res_users_userdeveloper0
|
||||
- project_long_term.res_users_usertester0
|
||||
- project_long_term.res_users_useranalyst0
|
||||
-
|
||||
Create phase 'Develop GUI' in Outlook
|
||||
-
|
||||
!record {model: project.phase, id: project_phase_phase0}:
|
||||
date_start: '2010-06-02 00:00:00'
|
||||
duration: 200.0
|
||||
name: phase123
|
||||
product_uom: product.uom_day
|
||||
project_id: project_project_project0
|
||||
state: draft
|
||||
resource_ids:
|
||||
- resource_id: project_long_term.resource_resource_analyst0
|
||||
useability: 80.0
|
||||
- resource_id: project_long_term.resource_resource_programmer0
|
||||
useability: 30.0
|
||||
- resource_id: project_long_term.resource_resource_webdesigner0
|
||||
useability: 30.0
|
||||
|
||||
|
||||
-
|
||||
Create the phase task 'Develop GUI for Server Configuration'
|
||||
-
|
||||
!record {model: project.task, id: project_task_t0}:
|
||||
name: t1
|
||||
occupation_rate: 1.0
|
||||
planned_hours: 20.0
|
||||
remaining_hours: 20.0
|
||||
state: draft
|
||||
phase_id: project_phase_phase0
|
||||
project_id: project_project_project0
|
||||
|
||||
|
||||
-
|
||||
Create the phase task 'Develop GUI for Modules Configuration'
|
||||
-
|
||||
!record {model: project.task, id: project_task_t1}:
|
||||
name: t2
|
||||
occupation_rate: 1.0
|
||||
planned_hours: 25.0
|
||||
remaining_hours: 25.0
|
||||
state: draft
|
||||
phase_id: project_phase_phase0
|
||||
project_id: project_project_project0
|
||||
|
||||
-
|
||||
Create the phase task 'Develop GUI for OpenERP Synchronisation'
|
||||
-
|
||||
!record {model: project.task, id: project_task_t2}:
|
||||
name: t3
|
||||
occupation_rate: 1.0
|
||||
planned_hours: 30.0
|
||||
remaining_hours: 30.0
|
||||
state: draft
|
||||
phase_id: project_phase_phase0
|
||||
project_id: project_project_project0
|
||||
|
||||
|
||||
-
|
||||
Create the phase task 'Develop required Menus'
|
||||
-
|
||||
!record {model: project.task, id: project_task_3}:
|
||||
name: t4
|
||||
occupation_rate: 1.0
|
||||
planned_hours: 25.0
|
||||
remaining_hours: 25.0
|
||||
state: draft
|
||||
phase_id: project_phase_phase0
|
||||
project_id: project_project_project0
|
||||
|
||||
|
||||
-
|
||||
Schedule phase tasks
|
||||
-
|
||||
!python {model: project.schedule.tasks}: |
|
||||
self.compute_date(cr, uid, {"lang": "en_US",
|
||||
"active_model": "project.phase", "active_ids": [ref("project_phase_phase0")],
|
||||
"tz": False, "record_id": 138, "project_id": ref("project_project_project0"), "active_id": ref("project_phase_phase0"),
|
||||
})
|
||||
|
||||
-
|
||||
Check if tasks scheduled, check that either of task's start_date, end_date and user_id is not null
|
||||
-
|
||||
!python {model: project.phase}: |
|
||||
phase=self.browse(cr, uid, [ref("project_phase_phase0")])[0]
|
||||
for task in phase.task_ids:
|
||||
if (not task.user_id) or (not task.date_start) or (not task.date_end):
|
||||
raise AssertionError("Phase Tasks not scheduled")
|
||||
@@ -0,0 +1,143 @@
|
||||
-
|
||||
Create a project 'World Bank's Project'
|
||||
-
|
||||
!record {model: project.project, id: project_project_worldbanksproject0}:
|
||||
company_id: base.main_company
|
||||
name: "World Bank's Project"
|
||||
priority: 4
|
||||
|
||||
-
|
||||
Create a project phase 'Defining Client's Basic Idea of Project'
|
||||
-
|
||||
!record {model: project.phase, id: project_phase_definingclientsbasicideaofproject0}:
|
||||
date_start: '2010-06-02 00:00:00'
|
||||
duration: 15.0
|
||||
name: "Defining Client's Basic Idea of Project"
|
||||
product_uom: product.uom_day
|
||||
project_id: project_project_worldbanksproject0
|
||||
state: draft
|
||||
|
||||
|
||||
-
|
||||
Create project phase 'Establishing Project Feasibility'
|
||||
-
|
||||
!record {model: project.phase, id: project_phase_establishingprojectfeasibility0}:
|
||||
date_start: '2010-06-02 00:00:00'
|
||||
duration: 30.0
|
||||
name: Establishing Project Feasibility
|
||||
product_uom: product.uom_day
|
||||
project_id: project_project_worldbanksproject0
|
||||
state: draft
|
||||
|
||||
-
|
||||
Create project phase 'Preparation of Engineering Designs'
|
||||
-
|
||||
!record {model: project.phase, id: project_phase_preparationofengineeringdesigns0}:
|
||||
date_start: '2010-06-02 00:00:00'
|
||||
duration: 100.0
|
||||
name: Preparation of Engineering Designs
|
||||
product_uom: product.uom_hour
|
||||
project_id: project_project_worldbanksproject0
|
||||
state: draft
|
||||
|
||||
|
||||
-
|
||||
Create project phase 'Procurement of Works and Goods'
|
||||
-
|
||||
!record {model: project.phase, id: project_phase_procurementofworksandgoods0}:
|
||||
date_start: '2010-06-02 00:00:00'
|
||||
duration: 24.0
|
||||
name: Procurement of Works and Goods
|
||||
product_uom: product.uom_hour
|
||||
project_id: project_project_worldbanksproject0
|
||||
state: draft
|
||||
|
||||
|
||||
-
|
||||
Create project phase 'Project Construction'
|
||||
-
|
||||
!record {model: project.phase, id: project_phase_projectconstruction0}:
|
||||
date_start: '2010-06-02 00:00:00'
|
||||
duration: 4320.0
|
||||
name: Project Construction
|
||||
product_uom: product.uom_hour
|
||||
project_id: project_project_worldbanksproject0
|
||||
state: draft
|
||||
|
||||
|
||||
-
|
||||
Create project phase 'Project Completion'
|
||||
-
|
||||
!record {model: project.phase, id: project_phase_projectcompletion0}:
|
||||
date_start: '2010-06-02 00:00:00'
|
||||
duration: 240.0
|
||||
name: Project Completion
|
||||
product_uom: product.uom_hour
|
||||
project_id: project_project_worldbanksproject0
|
||||
state: draft
|
||||
|
||||
-
|
||||
Set previous phase for phase 'Establishing Project Feasibility'
|
||||
-
|
||||
!record {model: project.phase, id: project_phase_establishingprojectfeasibility0}:
|
||||
previous_phase_ids:
|
||||
- project_phase_definingclientsbasicideaofproject0
|
||||
|
||||
|
||||
-
|
||||
Set previous phase for phase 'Preparation of Engineering Designs'
|
||||
-
|
||||
!record {model: project.phase, id: project_phase_preparationofengineeringdesigns0}:
|
||||
previous_phase_ids:
|
||||
- project_phase_establishingprojectfeasibility0
|
||||
|
||||
-
|
||||
Set previous phase for phase 'Procurement of Works and Goods'
|
||||
-
|
||||
!record {model: project.phase, id: project_phase_procurementofworksandgoods0}:
|
||||
previous_phase_ids:
|
||||
- project_phase_preparationofengineeringdesigns0
|
||||
|
||||
-
|
||||
Set previous phase for phase 'Project Construction'
|
||||
-
|
||||
!record {model: project.phase, id: project_phase_projectconstruction0}:
|
||||
previous_phase_ids:
|
||||
- project_phase_procurementofworksandgoods0
|
||||
|
||||
|
||||
-
|
||||
Set previous phase for phase 'Project Completion'
|
||||
-
|
||||
!record {model: project.phase, id: project_phase_projectcompletion0}:
|
||||
previous_phase_ids:
|
||||
- project_phase_projectconstruction0
|
||||
|
||||
|
||||
-
|
||||
Get the project to schedule phases
|
||||
-
|
||||
!record {model: project.compute.phases, id: project_compute_phases_0}:
|
||||
project_id: project_project_worldbanksproject0
|
||||
target_project: one
|
||||
|
||||
|
||||
-
|
||||
Schedule project phases
|
||||
-
|
||||
!python {model: project.compute.phases}: |
|
||||
self.check_selection(cr, uid, [ref("project_compute_phases_0")], {"lang": "en_US",
|
||||
"project_id": False, "tz": False, "active_model": "ir.ui.menu", "department_id":
|
||||
False, "section_id": False, "record_id": 279, "active_ids": [ref("project_long_term.menu_compute_phase")],
|
||||
"active_id": ref("project_long_term.menu_compute_phase"), })
|
||||
|
||||
-
|
||||
Check if phases scheduled, check that either of phase's start_date, end_date and user_id is not null
|
||||
-
|
||||
!python {model: project.project}: |
|
||||
prj=self.browse(cr, uid, [ref("project_project_worldbanksproject0")])[0]
|
||||
for task in prj.tasks:
|
||||
if (not task.user_id) or (not task.date_start) or (not task.date_end):
|
||||
raise AssertionError("Tasks not scheduled")
|
||||
|
||||
|
||||
@@ -0,0 +1,108 @@
|
||||
-
|
||||
Create project 'Develop a thunderbird-openerp synchronization plugin'
|
||||
-
|
||||
!record {model: project.project, id: project_project_project1}:
|
||||
company_id: base.main_company
|
||||
name: Project2
|
||||
members:
|
||||
- project_long_term.res_users_manager0
|
||||
- project_long_term.res_users_user0
|
||||
- project_long_term.res_users_userfinance0
|
||||
- project_long_term.res_users_userdesign0
|
||||
- project_long_term.res_users_userdeveloper0
|
||||
- project_long_term.res_users_usertester0
|
||||
- project_long_term.res_users_useranalyst0
|
||||
|
||||
-
|
||||
Create phase 'Develop GUI' in Thunderbird
|
||||
-
|
||||
!record {model: project.phase, id: project_phase_phase1}:
|
||||
date_start: '2010-06-02 00:00:00'
|
||||
duration: 100.0
|
||||
name: phase22
|
||||
product_uom: product.uom_day
|
||||
project_id: project_project_project1
|
||||
state: draft
|
||||
resource_ids:
|
||||
- resource_id: project_long_term.resource_resource_analyst0
|
||||
useability: 80.0
|
||||
- resource_id: project_long_term.resource_resource_programmer0
|
||||
useability: 30.0
|
||||
- resource_id: project_long_term.resource_resource_webdesigner0
|
||||
useability: 30.0
|
||||
|
||||
|
||||
-
|
||||
Create the phase task 'Develop GUI for Server Configuration'
|
||||
-
|
||||
!record {model: project.task, id: project_task_t00}:
|
||||
name: t1
|
||||
occupation_rate: 1.0
|
||||
planned_hours: 20.0
|
||||
remaining_hours: 20.0
|
||||
state: draft
|
||||
phase_id: project_phase_phase1
|
||||
project_id: project_project_project1
|
||||
|
||||
|
||||
-
|
||||
Create the phase task 'Develop GUI for Modules Configuration'
|
||||
-
|
||||
!record {model: project.task, id: project_task_t11}:
|
||||
name: t2
|
||||
occupation_rate: 1.0
|
||||
planned_hours: 25.0
|
||||
remaining_hours: 25.0
|
||||
state: draft
|
||||
phase_id: project_phase_phase1
|
||||
project_id: project_project_project1
|
||||
|
||||
-
|
||||
Create the phase task 'Develop GUI for OpenERP Synchronisation'
|
||||
-
|
||||
!record {model: project.task, id: project_task_t22}:
|
||||
name: t3
|
||||
occupation_rate: 1.0
|
||||
planned_hours: 30.0
|
||||
remaining_hours: 30.0
|
||||
state: draft
|
||||
phase_id: project_phase_phase1
|
||||
project_id: project_project_project1
|
||||
|
||||
|
||||
-
|
||||
Create the phase task 'Develop required Menus'
|
||||
-
|
||||
!record {model: project.task, id: project_task_t33}:
|
||||
name: t4
|
||||
occupation_rate: 1.0
|
||||
planned_hours: 25.0
|
||||
remaining_hours: 25.0
|
||||
state: draft
|
||||
phase_id: project_phase_phase1
|
||||
project_id: project_project_project1
|
||||
|
||||
-
|
||||
Get the project to schedule the tasks
|
||||
-
|
||||
!record {model: project.compute.tasks, id: project_compute_tasks_0}:
|
||||
project_id: project_project_project1
|
||||
|
||||
|
||||
-
|
||||
Schedule tasks
|
||||
-
|
||||
!python {model: project.compute.tasks}: |
|
||||
self.compute_date(cr, uid, [ref("project_compute_tasks_0")], {"lang": "en_US",
|
||||
"active_model": "ir.ui.menu", "active_ids": [ref("project_long_term.menu_compute_tasks")],
|
||||
"tz": False, "record_id": 138, "project_id": ref("project_project_project1"), "active_id": ref("project_long_term.menu_compute_tasks"),
|
||||
})
|
||||
|
||||
-
|
||||
Check if tasks scheduled, check that either of task's start_date, end_date and user_id is not null
|
||||
-
|
||||
!python {model: project.project}: |
|
||||
prj=self.browse(cr, uid, [ref("project_project_project1")])[0]
|
||||
for task in prj.tasks:
|
||||
if (not task.user_id) or (not task.date_start) or (not task.date_end):
|
||||
raise AssertionError("Project Tasks not scheduled")
|
||||
@@ -8,22 +8,22 @@
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Compute Scheduling of Phases">
|
||||
<group height="170" width="500">
|
||||
<group colspan="4" col="4">
|
||||
<label colspan="4" string="This wizard will schedule phases for all or specified project" />
|
||||
<newline />
|
||||
<field name="target_project" colspan="4"/>
|
||||
</group>
|
||||
<newline />
|
||||
<group colspan="4" col="6" attrs="{'invisible':[('target_project','=','all')]}">
|
||||
<field name="project_id"/>
|
||||
</group>
|
||||
<separator colspan="4"/>
|
||||
<group colspan="4" col="6"> <!-- Improve me -->
|
||||
<button icon="gtk-cancel" special="cancel" string="_Cancel"/>
|
||||
<button icon="gtk-ok" name="check_selection" string="_Compute" type="object"/>
|
||||
</group>
|
||||
</group>
|
||||
<group width="380" height="180">
|
||||
<group colspan="4" col="4">
|
||||
<label colspan="4" string="This wizard will schedule phases for all or specified project" />
|
||||
<newline />
|
||||
<field name="target_project" colspan="4"/>
|
||||
</group>
|
||||
<newline />
|
||||
<group colspan="4" col="6" attrs="{'invisible':[('target_project','=','all')]}">
|
||||
<field name="project_id"/>
|
||||
</group>
|
||||
<separator colspan="4"/>
|
||||
<group colspan="4" col="6"> <!-- Improve me -->
|
||||
<button icon="gtk-cancel" special="cancel" string="_Cancel"/>
|
||||
<button icon="gtk-ok" name="check_selection" string="_Compute" type="object"/>
|
||||
</group>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -112,9 +112,9 @@ class project_compute_tasks(osv.osv_memory):
|
||||
if each_task.priority in priority_dict.keys():
|
||||
priorty = priority_dict[each_task.priority]
|
||||
if each_task.user_id:
|
||||
for resource in resources:
|
||||
if resource.__name__ == each_task.user_id.name: # check me!!
|
||||
task = create_tasks(i, hours, priorty, resource)
|
||||
for resrce in resources:
|
||||
if resrce.__name__ == each_task.user_id.name: # check me!!
|
||||
task = create_tasks(i, hours, priorty, resrce)
|
||||
else:
|
||||
task = create_tasks(i, hours, priorty)
|
||||
i += 1
|
||||
|
||||
@@ -131,9 +131,9 @@ class project_schedule_task(osv.osv_memory):
|
||||
if each_task.priority in priority_dict.keys():
|
||||
priorty = priority_dict[each_task.priority]
|
||||
if each_task.user_id:
|
||||
for resource in resources:
|
||||
if resource.__name__ == each_task.user_id.name:
|
||||
task = create_tasks(i, hours, priorty, resource)
|
||||
for resrce in resources:
|
||||
if resrce.__name__ == each_task.user_id.name:
|
||||
task = create_tasks(i, hours, priorty, resrce)
|
||||
else:
|
||||
task = create_tasks(i, hours, priorty)
|
||||
i += 1
|
||||
|
||||
@@ -53,6 +53,9 @@ At the end of the month, the planning manager can also check if the encoded time
|
||||
#'report_account_analytic.planning.csv',
|
||||
'project_planning_demo.xml',
|
||||
],
|
||||
'test': [
|
||||
'test/planning_states.yml'
|
||||
],
|
||||
'installable': True,
|
||||
'active': False,
|
||||
'certificate': '0034901836973',
|
||||
|
||||
@@ -0,0 +1,86 @@
|
||||
-
|
||||
Create a analytic planning 'Project Planning'
|
||||
-
|
||||
!record {model: report_account_analytic.planning, id: report_account_analytic_planning_projectplanning0}:
|
||||
business_days: 20
|
||||
date_from: '2010-06-01'
|
||||
date_to: '2010-06-30'
|
||||
name: Project Planning
|
||||
state: draft
|
||||
user_id: base.user_demo
|
||||
|
||||
|
||||
-
|
||||
Open the planning
|
||||
-
|
||||
!python {model: report_account_analytic.planning}: |
|
||||
self.action_open(cr, uid, [ref("report_account_analytic_planning_projectplanning0")],
|
||||
{"lang": "en_US", "active_ids": [ref("project_planning.menu_report_account_analytic_planning")],
|
||||
"tz": False, "active_model": "ir.ui.menu", "section_id": False, "active_id":
|
||||
ref("project_planning.menu_report_account_analytic_planning"), "search_default_user_id":
|
||||
1, "project_id": False, "department_id": False, })
|
||||
-
|
||||
Check if planning in open state
|
||||
-
|
||||
!assert {model: report_account_analytic.planning, id: report_account_analytic_planning_projectplanning0, string: Planning in open state}:
|
||||
- state == "open"
|
||||
|
||||
-
|
||||
Cancel the planning
|
||||
-
|
||||
!python {model: report_account_analytic.planning}: |
|
||||
self.action_cancel(cr, uid, [ref("report_account_analytic_planning_projectplanning0")],
|
||||
{"lang": "en_US", "active_ids": [ref("project_planning.menu_report_account_analytic_planning")],
|
||||
"tz": False, "active_model": "ir.ui.menu", "section_id": False, "active_id":
|
||||
ref("project_planning.menu_report_account_analytic_planning"), "search_default_user_id":
|
||||
1, "project_id": False, "department_id": False, })
|
||||
-
|
||||
Check if planning in cancel state
|
||||
-
|
||||
!assert {model: report_account_analytic.planning, id: report_account_analytic_planning_projectplanning0, string: Planning in cancel state}:
|
||||
- state == "cancel"
|
||||
|
||||
-
|
||||
Reopen the planning
|
||||
-
|
||||
!python {model: report_account_analytic.planning}: |
|
||||
self.action_draft(cr, uid, [ref("report_account_analytic_planning_projectplanning0")],
|
||||
{"lang": "en_US", "active_ids": [ref("project_planning.menu_report_account_analytic_planning")],
|
||||
"tz": False, "active_model": "ir.ui.menu", "section_id": False, "active_id":
|
||||
ref("project_planning.menu_report_account_analytic_planning"), "search_default_user_id":
|
||||
1, "project_id": False, "department_id": False, })
|
||||
-
|
||||
Check if planning in draft state
|
||||
-
|
||||
!assert {model: report_account_analytic.planning, id: report_account_analytic_planning_projectplanning0, string: Planning in draft state}:
|
||||
- state == "draft"
|
||||
|
||||
-
|
||||
Open the planning
|
||||
-
|
||||
!python {model: report_account_analytic.planning}: |
|
||||
self.action_open(cr, uid, [ref("report_account_analytic_planning_projectplanning0")],
|
||||
{"lang": "en_US", "active_ids": [ref("project_planning.menu_report_account_analytic_planning")],
|
||||
"tz": False, "active_model": "ir.ui.menu", "section_id": False, "active_id":
|
||||
ref("project_planning.menu_report_account_analytic_planning"), "search_default_user_id":
|
||||
1, "project_id": False, "department_id": False, })
|
||||
-
|
||||
Check if planning in open state
|
||||
-
|
||||
!assert {model: report_account_analytic.planning, id: report_account_analytic_planning_projectplanning0, string: Planning in open state}:
|
||||
- state == "open"
|
||||
|
||||
-
|
||||
Close the planning
|
||||
-
|
||||
!python {model: report_account_analytic.planning}: |
|
||||
self.action_done(cr, uid, [ref("report_account_analytic_planning_projectplanning0")],
|
||||
{"lang": "en_US", "active_ids": [ref("project_planning.menu_report_account_analytic_planning")],
|
||||
"tz": False, "active_model": "ir.ui.menu", "section_id": False, "active_id":
|
||||
ref("project_planning.menu_report_account_analytic_planning"), "search_default_user_id":
|
||||
1, "project_id": False, "department_id": False, })
|
||||
-
|
||||
Check if planning in done state
|
||||
-
|
||||
!assert {model: report_account_analytic.planning, id: report_account_analytic_planning_projectplanning0, string: Planning in done state}:
|
||||
- state == "done"
|
||||
@@ -25,13 +25,16 @@
|
||||
'version': '0.1',
|
||||
'category': 'Generic Modules/Projects & Services',
|
||||
'description': """
|
||||
- If deadline date of project is changed
|
||||
- If deadline date of project is changed
|
||||
then the deadline date for all the tasks will change to the same """,
|
||||
'author': 'Tiny',
|
||||
'depends': ['base', 'project'],
|
||||
'init_xml': [],
|
||||
'update_xml': [],
|
||||
'demo_xml': [],
|
||||
'test' : [
|
||||
'test/deadline_change.yml'
|
||||
],
|
||||
'installable': True,
|
||||
'active': False,
|
||||
'certificate': '0057235475485',
|
||||
|
||||
@@ -19,28 +19,27 @@
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
from datetime import date,timedelta
|
||||
from datetime import date,timedelta,datetime
|
||||
import time
|
||||
from osv import fields, osv
|
||||
from datetime import datetime
|
||||
|
||||
class project_project(osv.osv):
|
||||
_inherit = 'project.project'
|
||||
|
||||
def write(self, cr, uid, ids,vals, *args, **kwargs):
|
||||
if 'date' in vals and vals['date']:
|
||||
data_project = self.browse(cr,uid,ids)
|
||||
project_task = self.pool.get('project.task')
|
||||
for prj in data_project:
|
||||
c= date(*time.strptime(vals['date'],'%Y-%m-%d')[:3])
|
||||
new_end_date = date(*time.strptime(vals['date'],'%Y-%m-%d')[:3])
|
||||
if prj.date:
|
||||
d= date(*time.strptime(prj.date,'%Y-%m-%d')[:3])
|
||||
old_end_date = date(*time.strptime(prj.date,'%Y-%m-%d')[:3])
|
||||
for task in prj.tasks:
|
||||
start_dt = (datetime(*time.strptime(task.date_start,'%Y-%m-%d %H:%M:%S')[:6])+(c-d)).strftime('%Y-%m-%d %H:%M:%S')
|
||||
start_dt = (datetime(*time.strptime(task.date_start,'%Y-%m-%d %H:%M:%S')[:6])+(new_end_date-old_end_date)).strftime('%Y-%m-%d %H:%M:%S')
|
||||
if task.date_deadline:
|
||||
deadline_dt = (datetime(*time.strptime(task.date_deadline,'%Y-%m-%d %H:%M:%S')[:6])+(c-d)).strftime('%Y-%m-%d %H:%M:%S')
|
||||
self.pool.get('project.task').write(cr,uid,task.id,{'date_start':start_dt, 'date_deadline':deadline_dt})
|
||||
deadline_dt = (datetime(*time.strptime(task.date_deadline,'%Y-%m-%d')[:6])+(new_end_date-old_end_date)).strftime('%Y-%m-%d')
|
||||
project_task.write(cr,uid,task.id,{'date_start':start_dt, 'date_deadline':deadline_dt})
|
||||
else:
|
||||
self.pool.get('project.task').write(cr,uid,task.id,{'date_start':start_dt})
|
||||
project_task.write(cr,uid,task.id,{'date_start':start_dt})
|
||||
return super(project_project,self).write(cr, uid, ids, vals, *args, **kwargs)
|
||||
|
||||
project_project()
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
-
|
||||
Create project 'Retro Planning'
|
||||
-
|
||||
!record {model: project.project, id: project_project_retroplanning0}:
|
||||
company_id: base.main_company
|
||||
date: '2010-06-11'
|
||||
name: Retro Planning
|
||||
|
||||
|
||||
-
|
||||
Create task 'Plan all projects'
|
||||
-
|
||||
!record {model: project.task, id: project_task_planallprojects0}:
|
||||
date_deadline: '2010-06-07'
|
||||
date_end: '2010-06-04 14:00:00'
|
||||
date_start: '2010-06-01 17:25:32'
|
||||
name: Plan all projects
|
||||
planned_hours: 24.0
|
||||
project_id: project_project_retroplanning0
|
||||
remaining_hours: 24.0
|
||||
state: draft
|
||||
|
||||
-
|
||||
Check if task deadline_date and start_date changes upon changing its project's end_date
|
||||
-
|
||||
!python {model: project.project}: |
|
||||
from datetime import datetime, date
|
||||
import time
|
||||
data_project = self.browse(cr,uid,[ref("project_project_retroplanning0")])
|
||||
prj = data_project[0]
|
||||
old_end_date=''
|
||||
if prj.date:
|
||||
old_end_date = date(*time.strptime(prj.date,'%Y-%m-%d')[:3])
|
||||
if old_end_date:
|
||||
new_end_date = date(*time.strptime('2010-06-10','%Y-%m-%d')[:3])
|
||||
res={}
|
||||
for task in prj.tasks:
|
||||
start_dt = (datetime(*time.strptime(task.date_start,'%Y-%m-%d %H:%M:%S')[:6])+(new_end_date-old_end_date)).strftime('%Y-%m-%d %H:%M:%S')
|
||||
deadline_dt=''
|
||||
if task.date_deadline:
|
||||
deadline_dt = (datetime(*time.strptime(task.date_deadline,'%Y-%m-%d')[:6])+(new_end_date-old_end_date)).strftime('%Y-%m-%d')
|
||||
res[task.id]=[start_dt,deadline_dt]
|
||||
self.write(cr, uid, [ref("project_project_retroplanning0")], {'date':'2010-06-10'})
|
||||
data_project = self.browse(cr,uid,[ref("project_project_retroplanning0")])
|
||||
prj = data_project[0]
|
||||
for task in prj.tasks:
|
||||
assert task.date_start == res[task.id][0], "task start date differs, expected %s, got %s"%(res[task.id][0], task.date_start)
|
||||
assert task.date_deadline == res[task.id][1], "task deadline date differs, expected %s, got %s"%(res[task.id][1], task.date_deadline)
|
||||
@@ -35,6 +35,9 @@
|
||||
'init_xml': [],
|
||||
'update_xml': ["process/project_timesheet_process.xml", "report/task_report_view.xml"],
|
||||
'demo_xml': [],
|
||||
'test': [
|
||||
'test/worktask_entry_to_timesheetline_entry.yml',
|
||||
],
|
||||
'installable': True,
|
||||
'active': False,
|
||||
'certificate': '0075123647453',
|
||||
|
||||
@@ -0,0 +1,102 @@
|
||||
-
|
||||
Create an user 'HR Manager'
|
||||
-
|
||||
!record {model: res.users, id: res_users_hrmanager0}:
|
||||
company_id: base.main_company
|
||||
context_lang: en_US
|
||||
login: hr
|
||||
name: HR Manager
|
||||
password: hr
|
||||
|
||||
-
|
||||
Create a product with type service used to specifies employees designation
|
||||
-
|
||||
!record {model: product.product, id: product_product_hrmanger0}:
|
||||
categ_id: product.product_category_services
|
||||
cost_method: standard
|
||||
mes_type: fixed
|
||||
name: HR Manger
|
||||
procure_method: make_to_stock
|
||||
standard_price: 1.0
|
||||
supply_method: buy
|
||||
type: service
|
||||
uom_id: product.product_uom_unit
|
||||
uom_po_id: product.product_uom_unit
|
||||
volume: 0.0
|
||||
warranty: 0.0
|
||||
weight: 0.0
|
||||
weight_net: 0.0
|
||||
|
||||
-
|
||||
Create an analytic journal for employees timesheet
|
||||
-
|
||||
!record {model: account.analytic.journal, id: account_analytic_journal_hrtimesheet0}:
|
||||
company_id: base.main_company
|
||||
name: HR Timesheet
|
||||
type: general
|
||||
|
||||
-
|
||||
Create an employee 'HR Manager' for user 'HR Manager'
|
||||
-
|
||||
!record {model: hr.employee, id: hr_employee_hrmanager0}:
|
||||
name: HR Manager
|
||||
user_id: res_users_hrmanager0
|
||||
product_id: product_product_hrmanger0
|
||||
journal_id: account_analytic_journal_hrtimesheet0
|
||||
|
||||
-
|
||||
Create a timesheet sheet for hr manager
|
||||
-
|
||||
!record {model: hr_timesheet_sheet.sheet, id: hr_timesheet_sheet_sheet_sheetforhrmanager0}:
|
||||
date_current: '2010-06-03'
|
||||
date_from: '2010-06-01'
|
||||
date_to: '2010-06-30'
|
||||
name: Sheet for hr manager
|
||||
state: new
|
||||
user_id: res_users_hrmanager0
|
||||
|
||||
-
|
||||
Create a project 'Timesheet Management'
|
||||
-
|
||||
!record {model: project.project, id: project_project_timesheetmanagement0}:
|
||||
company_id: base.main_company
|
||||
name: Timesheet Management
|
||||
|
||||
|
||||
-
|
||||
Create a task 'Get all timesheet records'
|
||||
-
|
||||
!record {model: project.task, id: project_task_getalltimesheetrecords0}:
|
||||
date_start: '2010-06-03 14:54:55'
|
||||
name: Get all timesheet records
|
||||
planned_hours: 20.0
|
||||
project_id: project_project_timesheetmanagement0
|
||||
remaining_hours: 20.0
|
||||
state: draft
|
||||
user_id: res_users_hrmanager0
|
||||
|
||||
-
|
||||
Open the task
|
||||
-
|
||||
!python {model: project.task}: |
|
||||
self.do_open(cr, uid, [ref("project_task_getalltimesheetrecords0")], {"lang":
|
||||
"en_US", "active_ids": [ref("project_project_timesheetmanagement0")], "tz":
|
||||
False, "active_model": "project.project", "department_id": False, "project_id":
|
||||
False, "active_id": ref("project_project_timesheetmanagement0"), })
|
||||
|
||||
-
|
||||
Make a work task entry 'Get work calendar of all employees' of 10 hours done by hr manager
|
||||
-
|
||||
!record {model: project.task, id: project_task_getalltimesheetrecords0}:
|
||||
work_ids:
|
||||
- date: '2010-06-03 15:04:47'
|
||||
hours: 10.0
|
||||
hr_analytic_timesheet_id: 3L
|
||||
name: Get work calendar of all employees
|
||||
user_id: res_users_hrmanager0
|
||||
|
||||
-
|
||||
Check for timesheet_ids in hr manager's timesheet
|
||||
-
|
||||
!assert {model: hr_timesheet_sheet.sheet, id: hr_timesheet_sheet_sheet_sheetforhrmanager0, string: After hr manager's work task, length of timesheet line of current timesheet must be greater then 1}:
|
||||
- len(timesheet_ids) > 0
|
||||
@@ -34,7 +34,7 @@
|
||||
'depends': ['base', 'account', 'stock', 'process', 'mrp_procurement'],
|
||||
'init_xml': [],
|
||||
'update_xml': [
|
||||
|
||||
|
||||
'security/purchase_security.xml',
|
||||
'security/ir.model.access.csv',
|
||||
'purchase_workflow.xml',
|
||||
|
||||
@@ -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-06-08 03:40+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-06-09 03:35+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: purchase
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
name="Incoming Shipments" sequence="9"/>
|
||||
<menuitem action="stock.action_reception_picking_move" id="menu_action_reception_picking_move"
|
||||
name="Incoming Products" parent="menu_procurement_management_inventory" sequence="10"/>
|
||||
<menuitem action="stock.action_picking_tree_out" id="menu_action_picking_treeout" parent="menu_procurement_management_inventory" sequence="11"/>
|
||||
|
||||
<!--Invoice control-->
|
||||
<menuitem id="menu_procurement_management_invoice" name="Invoice Control"
|
||||
|
||||
@@ -0,0 +1,203 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<record model="ir.ui.view" id="view_purchase_order_graph">
|
||||
<field name="name">product.month.graph</field>
|
||||
<field name="model">purchase.report</field>
|
||||
<field name="type">graph</field>
|
||||
<field name="arch" type="xml">
|
||||
<graph string="Purchase Orders Statistics" type="bar">
|
||||
<field name="product_id"/>
|
||||
<field name="quantity" operator="+"/>
|
||||
<field name="price_total" operator="+"/>
|
||||
</graph>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_purchase_order_tree" model="ir.ui.view">
|
||||
<field name="name">purchase.order.tree</field>
|
||||
<field name="model">purchase.report</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Purchase Orders Statistics">
|
||||
<field name="date" invisible="1"/>
|
||||
<field name="date_approve" invisible="1"/>
|
||||
<field name="expected_date" invisible="1"/>
|
||||
<field name="user_id" invisible="1"/>
|
||||
<field name="partner_id" invisible="1"/>
|
||||
<field name="product_id" invisible="1"/>
|
||||
<field name="quantity" invisible="1"/>
|
||||
<field name="day" invisible="1"/>
|
||||
<field name="name" invisible="1"/>
|
||||
<field name="month" invisible="1"/>
|
||||
<field name="warehouse_id" invisible="1"/>
|
||||
<field name="validator" invisible="1"/>
|
||||
<field name="company_id" invisible="1"/>
|
||||
<field name="state" invisible="1"/>
|
||||
<field name="location_id" invisible="1"/>
|
||||
<field name="shipped_qty" sum="# of received"/>
|
||||
<field name="invoiced_qty" sum="# of invoiced"/>
|
||||
<field name="nbr" sum="# of Lines"/>
|
||||
<field name="price_average" avg="Average Price"/>
|
||||
<field name="price_total" sum="Total Price"/>
|
||||
<field name="delay" sum="# Days to close"/>
|
||||
<field name="delay_pass" sum="Total Price"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_purchase_order_search" model="ir.ui.view">
|
||||
<field name="name">report.purchase.order.search</field>
|
||||
<field name="model">purchase.report</field>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Purchase Orders">
|
||||
<group colspan="10" col="12">
|
||||
<filter icon="terp-purchase" string="This Year"
|
||||
domain="[('date','<=', time.strftime('%%Y-%%m-%%d')),('date','>',(datetime.date.today()-datetime.timedelta(days=365)).strftime('%%Y-%%m-%%d'))]"
|
||||
help="Tasks performed in this year"/>
|
||||
<filter icon="terp-purchase" string="This Month"
|
||||
name="month"
|
||||
domain="[('date','<=', time.strftime('%%Y-%%m-%%d')), ('date','>',(datetime.date.today()-datetime.timedelta(days=30)).strftime('%%Y-%%m-%%d'))]"
|
||||
help="Tasks performed in this month"/>
|
||||
<filter icon="gtk-media-rewind"
|
||||
string=" 7 Days "
|
||||
separator="1"
|
||||
domain="[('date','<=', time.strftime('%%Y-%%m-%%d')), ('date','>',(datetime.date.today()-datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d'))]"
|
||||
help="Tasks during last 7 days"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter icon="terp-purchase"
|
||||
string="Quotations"
|
||||
domain="[('state','=','draft')]"/>
|
||||
<filter icon="terp-purchase"
|
||||
string="Waiting Schedule"
|
||||
domain="[('state','=','waiting_date')]"/>
|
||||
<filter icon="terp-purchase"
|
||||
string="Manual in progress"
|
||||
domain="[('state','=','manual')]"/>
|
||||
<filter icon="terp-purchase" string="Done" domain="[('state','=','done')]"/>
|
||||
|
||||
<separator orientation="vertical"/>
|
||||
<field name="partner_id" string="Supplier"/>
|
||||
<field name="product_id"/>
|
||||
<field name="user_id" widget="selection">
|
||||
<filter icon="terp-purchase"
|
||||
string="Purchase Non User"
|
||||
help="Purchase Non User"
|
||||
domain="[('user_id','=',False)]"/>
|
||||
</field>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By..." colspan="10" col="12">
|
||||
<filter string="Responsible" name="Responsible" icon="terp-purchase" context="{'group_by':'user_id'}"/>
|
||||
<filter string="Supplier" name="partner_id" icon="terp-purchase" context="{'group_by':'partner_id'}"/>
|
||||
<filter string="Validated by" icon="terp-purchase" context="{'group_by':'validator'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Product" icon="terp-purchase" context="{'group_by':'product_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="State" icon="terp-purchase" context="{'group_by':'state'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Warehouse" icon="terp-purchase" context="{'group_by':'warehouse_id'}"/>
|
||||
<filter string="Destination" icon="terp-purchase" context="{'group_by':'location_id'}"/>
|
||||
<filter string="Company" icon="terp-purchase" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Day" icon="terp-purchase" context="{'group_by':'day'}"/>
|
||||
<filter string="Month" icon="terp-purchase" context="{'group_by':'month'}"/>
|
||||
<filter string="Year" icon="terp-purchase" context="{'group_by':'name'}"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Extended filters..." colspan="10" col="12" groups="base.group_extended">
|
||||
<field name="date"/>
|
||||
<field name="date_approve"/>
|
||||
<field name="expected_date"/>
|
||||
<newline/>
|
||||
<field name="invoice_method"/>
|
||||
<field name="warehouse_id" widget="selection"/>
|
||||
<field name="validator" widget="selection"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="location_id"/>
|
||||
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_purchase_order_report_all" model="ir.actions.act_window">
|
||||
<field name="name">Purchase Orders</field>
|
||||
<field name="res_model">purchase.report</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,graph</field>
|
||||
<field name="search_view_id" ref="view_purchase_order_search"/>
|
||||
<field name="context">{'search_default_month':1,'search_default_Responsible':1,'group_by_no_leaf':1,'group_by':[]}</field>
|
||||
</record>
|
||||
|
||||
<menuitem id="base.next_id_73" name="Reporting" parent="base.menu_purchase_root" sequence="8"/>
|
||||
<menuitem action="action_purchase_order_report_all" id="menu_action_purchase_order_report_all" parent="base.next_id_73" sequence="3"/>
|
||||
|
||||
<record model="ir.ui.view" id="view_purchase_order_qty_amount_graph">
|
||||
<field name="name">purchase.order.qty.amount.graph</field>
|
||||
<field name="model">purchase.order.qty.amount</field>
|
||||
<field name="type">graph</field>
|
||||
<field name="arch" type="xml">
|
||||
<graph string="Total Qty and Amount by month" type="bar">
|
||||
<field name="month"/>
|
||||
<field name="total_qty" operator="+"/>
|
||||
<field name="total_amount" operator="+"/>
|
||||
</graph>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="view_purchase_order_qty_amount_tree">
|
||||
<field name="name">purchase.order.qty.amount.tree</field>
|
||||
<field name="model">purchase.order.qty.amount</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Total Qty and Amount by month" >
|
||||
<field name="month"/>
|
||||
<field name="total_qty" />
|
||||
<field name="total_amount"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_purchase_order_qty_amount_all" model="ir.actions.act_window">
|
||||
<field name="name">Total Qty and Amount by month</field>
|
||||
<field name="res_model">purchase.order.qty.amount</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">graph,tree</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="view_purchase_order_by_user_graph">
|
||||
<field name="name">purchase.order.by.user.graph</field>
|
||||
<field name="model">purchase.order.by.user</field>
|
||||
<field name="type">graph</field>
|
||||
<field name="arch" type="xml">
|
||||
<graph string="Total Orders by User per month" type="bar">
|
||||
<field name="name" />
|
||||
<field name="month" group="True" />
|
||||
<field name="nbr" operator="+"/>
|
||||
</graph>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="view_purchase_order_by_user_tree">
|
||||
<field name="name">purchase.order.by.user.tree</field>
|
||||
<field name="model">purchase.order.by.user</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Total Orders by User per month" >
|
||||
<field name="name"/>
|
||||
<field name="month"/>
|
||||
<field name="nbr" />
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_purchase_order_by_user_all" model="ir.actions.act_window">
|
||||
<field name="name">Total Orders by User per month</field>
|
||||
<field name="res_model">purchase.order.by.user</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">graph,tree</field>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user