[MERGE] sync with trunk

bzr revid: christophe@tinyerp.com-20090311134151-3n6g8bssfag6ln8f
This commit is contained in:
Christophe Simonis 2009-03-11 14:41:51 +01:00
commit 624ea30463
106 changed files with 1939 additions and 1141 deletions

View File

@ -531,6 +531,7 @@ class account_move_line(osv.osv):
def reconcile(self, cr, uid, ids, type='auto', writeoff_acc_id=False, writeoff_period_id=False, writeoff_journal_id=False, context={}):
id_set = ','.join(map(str, ids))
lines = self.browse(cr, uid, ids, context=context)
unrec_lines = filter(lambda x: not x['reconcile_id'], lines)
credit = debit = 0.0
@ -707,7 +708,6 @@ class account_move_line(osv.osv):
return result
def unlink(self, cr, uid, ids, context={}, check=True):
print "CC"
self._update_check(cr, uid, ids, context)
result = False
for line in self.browse(cr, uid, ids, context):

View File

@ -109,10 +109,10 @@
<wizard id="wizard_print_journal" menu="False" model="account.journal.period" name="account.print.journal.report" string="Print Journal" />
<menuitem icon="STOCK_PRINT" action="wizard_print_journal" id="menu_print_journal" parent="account.menu_generic_report" type="wizard" />
<wizard id="wizard_central_journal" menu="False" model="account.journal.period" name="account.central.journal.report" string="Print Central journal" />
<wizard id="wizard_central_journal" menu="False" model="account.journal.period" name="account.central.journal.report" string="Print Central Journal" />
<menuitem icon="STOCK_PRINT" action="wizard_central_journal" id="menu_central_journal" parent="account.menu_generic_report" type="wizard" />
<wizard id="wizard_general_journal" menu="False" model="account.journal.period" name="account.general.journal.report" string="Print General journal" />
<wizard id="wizard_general_journal" menu="False" model="account.journal.period" name="account.general.journal.report" string="Print General Journal" />
<menuitem icon="STOCK_PRINT" action="wizard_general_journal" id="menu_general_journal" parent="account.menu_generic_report" type="wizard" />
</data>

File diff suppressed because it is too large Load Diff

View File

@ -178,6 +178,7 @@ class account_invoice(osv.osv):
move[line.move_id.id] = True
for line in r.line_id:
move[line.move_id.id] = True
invoice_ids = []
if move:
invoice_ids = self.pool.get('account.invoice').search(cr, uid, [('move_id','in',move.keys())], context=context)
@ -289,15 +290,30 @@ class account_invoice(osv.osv):
}
def unlink(self, cr, uid, ids, context=None):
invoices = self.read(cr, uid, ids, ['state'])
unlink_ids = []
for t in invoices:
if t['state'] in ('draft', 'cancel'):
unlink_ids.append(t['id'])
else:
raise osv.except_osv(_('Invalid action !'), _('Cannot delete invoice(s) that are already opened or paid !'))
osv.osv.unlink(self, cr, uid, unlink_ids, context=context)
return True
for inv in self.browse(cr, uid, ids, context):
print inv.name, inv.amount_total
for line in inv.invoice_line:
print line.price_subtotal
# invoices = self.read(cr, uid, ids, ['state'])
# unlink_ids = []
# for t in invoices:
# if t['state'] in ('draft', 'cancel'):
# unlink_ids.append(t['id'])
# else:
# raise osv.except_osv(_('Invalid action !'), _('Cannot delete invoice(s) that are already opened or paid !'))
# osv.osv.unlink(self, cr, uid, unlink_ids, context=context)
# return True
#def unlink(self, cr, uid, ids, context=None):
# invoices = self.read(cr, uid, ids, ['state'])
# unlink_ids = []
# for t in invoices:
# if t['state'] in ('draft', 'cancel'):
# unlink_ids.append(t['id'])
# else:
# raise osv.except_osv(_('Invalid action !'), _('Cannot delete invoice(s) that are already opened or paid !'))
# osv.osv.unlink(self, cr, uid, unlink_ids, context=context)
# return True
# def get_invoice_address(self, cr, uid, ids):
# res = self.pool.get('res.partner').address_get(cr, uid, [part], ['invoice'])
@ -1127,14 +1143,14 @@ class account_invoice_tax(osv.osv):
if inv.type in ('out_invoice','in_invoice'):
val['base_code_id'] = tax['base_code_id']
val['tax_code_id'] = tax['tax_code_id']
val['base_amount'] = cur_obj.compute(cr, uid, inv.currency_id.id, company_currency, val['base'] * tax['base_sign'], context={'date': inv.date_invoice or time.strftime('%Y-%m-%d')})
val['tax_amount'] = cur_obj.compute(cr, uid, inv.currency_id.id, company_currency, val['amount'] * tax['tax_sign'], context={'date': inv.date_invoice or time.strftime('%Y-%m-%d')})
val['base_amount'] = cur_obj.compute(cr, uid, inv.currency_id.id, company_currency, val['base'] * tax['base_sign'], context={'date': inv.date_invoice or time.strftime('%Y-%m-%d')}, round=False)
val['tax_amount'] = cur_obj.compute(cr, uid, inv.currency_id.id, company_currency, val['amount'] * tax['tax_sign'], context={'date': inv.date_invoice or time.strftime('%Y-%m-%d')}, round=False)
val['account_id'] = tax['account_collected_id'] or line.account_id.id
else:
val['base_code_id'] = tax['ref_base_code_id']
val['tax_code_id'] = tax['ref_tax_code_id']
val['base_amount'] = cur_obj.compute(cr, uid, inv.currency_id.id, company_currency, val['base'] * tax['ref_base_sign'], context={'date': inv.date_invoice or time.strftime('%Y-%m-%d')})
val['tax_amount'] = cur_obj.compute(cr, uid, inv.currency_id.id, company_currency, val['amount'] * tax['ref_tax_sign'], context={'date': inv.date_invoice or time.strftime('%Y-%m-%d')})
val['base_amount'] = cur_obj.compute(cr, uid, inv.currency_id.id, company_currency, val['base'] * tax['ref_base_sign'], context={'date': inv.date_invoice or time.strftime('%Y-%m-%d')}, round=False)
val['tax_amount'] = cur_obj.compute(cr, uid, inv.currency_id.id, company_currency, val['amount'] * tax['ref_tax_sign'], context={'date': inv.date_invoice or time.strftime('%Y-%m-%d')}, round=False)
val['account_id'] = tax['account_paid_id'] or line.account_id.id
key = (val['tax_code_id'], val['base_code_id'], val['account_id'])
@ -1148,6 +1164,8 @@ class account_invoice_tax(osv.osv):
for t in tax_grouped.values():
t['amount'] = cur_obj.round(cr, uid, cur, t['amount'])
t['base_amount'] = cur_obj.round(cr, uid, cur, t['base_amount'])
t['tax_amount'] = cur_obj.round(cr, uid, cur, t['tax_amount'])
return tax_grouped
def move_line_get(self, cr, uid, invoice_id):

View File

@ -11,8 +11,8 @@
<page string="Accounting">
<separator string="Sales Properties" colspan="2"/>
<separator string="Purchase Properties" colspan="2"/>
<field name="property_account_income" attrs="{'readonly':[('sale_ok','=',0)]}" />
<field name="property_account_expense" attrs="{'readonly':[('purchase_ok','=',0)]}" />
<field name="property_account_income" domain="[('type','&lt;&gt;','view'),('type','&lt;&gt;','consolidation')]" attrs="{'readonly':[('sale_ok','=',0)]}" />
<field name="property_account_expense" domain="[('type','&lt;&gt;','view'),('type','&lt;&gt;','consolidation')]" attrs="{'readonly':[('purchase_ok','=',0)]}" />
<separator string="Sale Taxes" colspan="2"/>
<separator string="Purchase Taxes" colspan="2"/>
@ -33,8 +33,8 @@
<page string="Accounting">
<separator string="Sales Properties" colspan="2"/>
<separator string="Purchase Properties" colspan="2"/>
<field name="property_account_income"/>
<field name="property_account_expense"/>
<field name="property_account_income" domain="[('type','&lt;&gt;','view'),('type','&lt;&gt;','consolidation')]"/>
<field name="property_account_expense" domain="[('type','&lt;&gt;','view'),('type','&lt;&gt;','consolidation')]"/>
<field name="supplier_taxes_id"/>
<field name="taxes_id"/>
</page>
@ -53,8 +53,8 @@
<form position="inside">
<group col="2" colspan="2">
<separator string="Accounting Properties" colspan="2"/>
<field name="property_account_income_categ"/>
<field name="property_account_expense_categ"/>
<field name="property_account_income_categ" domain="[('type','&lt;&gt;','view'),('type','&lt;&gt;','consolidation')]"/>
<field name="property_account_expense_categ" domain="[('type','&lt;&gt;','view'),('type','&lt;&gt;','consolidation')]"/>
</group>
</form>
</field>

View File

@ -57,7 +57,7 @@ class account_balance(report_sxw.rml_parse):
def get_periods(self, form):
result=''
if form.has_key('periods'):
if form.has_key('periods') and form['periods'][0][2]:
period_ids = ",".join([str(x) for x in form['periods'][0][2] if x])
self.cr.execute("select name from account_period where id in (%s)" % (period_ids))
res=self.cr.fetchall()

View File

@ -126,13 +126,13 @@
<para style="P12">Code</para>
</td>
<td>
<para style="P12a">Débit</para>
<para style="P12a">Debit</para>
</td>
<td>
<para style="P12a">Crédit</para>
<para style="P12a">Credit</para>
</td>
<td>
<para style="P12a">Solde</para>
<para style="P12a">Tax Amount</para>
</td>
</tr>

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:import href="../../custom/corporate_defaults.xsl"/>
<xsl:import href="../../base/report/corporate_defaults.xsl"/>
<xsl:import href="../../base/report/rml_template.xsl"/>
<xsl:variable name="page_format">a4_normal</xsl:variable>

View File

@ -35,6 +35,26 @@ fields = {
}
def _check_data(self, cr, uid, data, *args):
period_id = data['form']['period_id'][0][2]
journal_id=data['form']['journal_id'][0][2]
if type(period_id)==type([]):
ids_final = []
for journal in journal_id:
for period in period_id:
ids_journal_period = pooler.get_pool(cr.dbname).get('account.journal.period').search(cr,uid, [('journal_id','=',journal),('period_id','=',period)])
if ids_journal_period:
ids_final.append(ids_journal_period)
if not ids_final:
raise wizard.except_wizard(_('No Data Available'), _('No records found for your selection!'))
return data['form']
class wizard_print_journal(wizard.interface):
states = {
'init': {
@ -42,7 +62,7 @@ class wizard_print_journal(wizard.interface):
'result': {'type': 'form', 'arch': form, 'fields': fields, 'state': (('end', 'Cancel'), ('print', 'Print'))},
},
'print': {
'actions': [],
'actions': [_check_data],
'result': {'type':'print', 'report':'account.central.journal.wiz', 'state':'end'},
},
}

View File

@ -63,7 +63,8 @@ def _data_save(self, cr, uid, data, context):
period = pool.get('account.period').browse(cr, uid, data['form']['period_id'], context=context)
new_fyear = pool.get('account.fiscalyear').browse(cr, uid, data['form']['fy2_id'], context=context)
old_fyear = pool.get('account.fiscalyear').browse(cr, uid, data['form']['fy_id'], context=context)
new_journal = data['form']['journal_id']
new_journal = pool.get('account.journal').browse(cr, uid, new_journal, context=context)
@ -192,8 +193,12 @@ def _data_save(self, cr, uid, data, context):
offset += limit
ids = pool.get('account.move.line').search(cr, uid, [('journal_id','=',new_journal.id),
('period_id.fiscalyear_id','=',new_fyear.id)])
('period_id.fiscalyear_id','=',old_fyear.id)])
context['fy_closing'] = True
if not ids:
raise wizard.except_wizard(_('UserError'),
_('The old fiscal year does not have any entry to reconcile!'))
pool.get('account.move.line').reconcile(cr, uid, ids, context=context)
new_period = data['form']['period_id']
ids = pool.get('account.journal.period').search(cr, uid, [('journal_id','=',new_journal.id),('period_id','=',new_period)])

View File

@ -34,6 +34,24 @@ fields = {
'period_id': {'string': 'Period', 'type': 'many2many', 'relation': 'account.period', 'required': True},
}
def _check_data(self, cr, uid, data, *args):
period_id = data['form']['period_id'][0][2]
journal_id=data['form']['journal_id'][0][2]
if type(period_id)==type([]):
ids_final = []
for journal in journal_id:
for period in period_id:
ids_journal_period = pooler.get_pool(cr.dbname).get('account.journal.period').search(cr,uid, [('journal_id','=',journal),('period_id','=',period)])
if ids_journal_period:
ids_final.append(ids_journal_period)
if not ids_final:
raise wizard.except_wizard(_('No Data Available'), _('No records found for your selection!'))
return data['form']
class wizard_print_journal(wizard.interface):
states = {
@ -42,7 +60,7 @@ class wizard_print_journal(wizard.interface):
'result': {'type': 'form', 'arch': form, 'fields': fields, 'state': (('end', 'Cancel'), ('print', 'Print'))},
},
'print': {
'actions': [],
'actions': [_check_data],
'result': {'type':'print', 'report':'account.general.journal.wiz', 'state':'end'},
},
}

View File

@ -43,6 +43,25 @@ fields = {
}
def _check_data(self, cr, uid, data, *args):
period_id = data['form']['period_id'][0][2]
journal_id=data['form']['journal_id'][0][2]
if type(period_id)==type([]):
ids_final = []
for journal in journal_id:
for period in period_id:
ids_journal_period = pooler.get_pool(cr.dbname).get('account.journal.period').search(cr,uid, [('journal_id','=',journal),('period_id','=',period)])
if ids_journal_period:
ids_final.append(ids_journal_period)
if not ids_final:
raise wizard.except_wizard(_('No Data Available'), _('No records found for your selection!'))
return data['form']
class wizard_print_journal(wizard.interface):
states = {
'init': {
@ -50,7 +69,7 @@ class wizard_print_journal(wizard.interface):
'result': {'type': 'form', 'arch': form, 'fields': fields, 'state': (('end', 'Cancel'), ('print', 'Print'))},
},
'print': {
'actions': [],
'actions': [_check_data],
'result': {'type':'print', 'report':'account.journal.period.print.wiz', 'state':'end'},
},
}

View File

@ -418,7 +418,7 @@ msgstr ""
#. module: account_payment
#: help:payment.line,communication:0
msgid "Used as the message between ordering customer and current company.Depicts 'What do you want to say to the receipent about this oder?'"
msgid "Used as the message between ordering customer and current company. Depicts 'What do you want to say to the recipient about this order?'"
msgstr ""
#. module: account_payment

View File

@ -418,7 +418,7 @@ msgstr ""
#. module: account_payment
#: help:payment.line,communication:0
msgid "Used as the message between ordering customer and current company.Depicts 'What do you want to say to the receipent about this oder?'"
msgid "Used as the message between ordering customer and current company. Depicts 'What do you want to say to the recipient about this order?'"
msgstr ""
#. module: account_payment

View File

@ -419,7 +419,7 @@ msgstr ""
#. module: account_payment
#: help:payment.line,communication:0
msgid "Used as the message between ordering customer and current company.Depicts 'What do you want to say to the receipent about this oder?'"
msgid "Used as the message between ordering customer and current company. Depicts 'What do you want to say to the recipient about this order?'"
msgstr ""
#. module: account_payment

View File

@ -418,7 +418,7 @@ msgstr ""
#. module: account_payment
#: help:payment.line,communication:0
msgid "Used as the message between ordering customer and current company.Depicts 'What do you want to say to the receipent about this oder?'"
msgid "Used as the message between ordering customer and current company. Depicts 'What do you want to say to the recipient about this order?'"
msgstr ""
#. module: account_payment

View File

@ -419,7 +419,7 @@ msgstr "Codi"
#. module: account_payment
#: help:payment.line,communication:0
msgid "Used as the message between ordering customer and current company.Depicts 'What do you want to say to the receipent about this oder?'"
msgid "Used as the message between ordering customer and current company. Depicts 'What do you want to say to the recipient about this order?'"
msgstr "Utilitzat com el missatge entre client que ordena l'actual companyia. Descriu 'Què vol dir-li al receptor referent a aquesta ordre?'"
#. module: account_payment

View File

@ -418,7 +418,7 @@ msgstr ""
#. module: account_payment
#: help:payment.line,communication:0
msgid "Used as the message between ordering customer and current company.Depicts 'What do you want to say to the receipent about this oder?'"
msgid "Used as the message between ordering customer and current company. Depicts 'What do you want to say to the recipient about this order?'"
msgstr ""
#. module: account_payment

View File

@ -418,7 +418,7 @@ msgstr ""
#. module: account_payment
#: help:payment.line,communication:0
msgid "Used as the message between ordering customer and current company.Depicts 'What do you want to say to the receipent about this oder?'"
msgid "Used as the message between ordering customer and current company. Depicts 'What do you want to say to the recipient about this order?'"
msgstr ""
#. module: account_payment

View File

@ -419,7 +419,7 @@ msgstr "Kurzbezeichnung"
#. module: account_payment
#: help:payment.line,communication:0
msgid "Used as the message between ordering customer and current company.Depicts 'What do you want to say to the receipent about this oder?'"
msgid "Used as the message between ordering customer and current company. Depicts 'What do you want to say to the recipient about this order?'"
msgstr "Verwendungszweck"
#. module: account_payment

View File

@ -418,7 +418,7 @@ msgstr ""
#. module: account_payment
#: help:payment.line,communication:0
msgid "Used as the message between ordering customer and current company.Depicts 'What do you want to say to the receipent about this oder?'"
msgid "Used as the message between ordering customer and current company. Depicts 'What do you want to say to the recipient about this order?'"
msgstr ""
#. module: account_payment

View File

@ -419,7 +419,7 @@ msgstr "Código"
#. module: account_payment
#: help:payment.line,communication:0
msgid "Used as the message between ordering customer and current company.Depicts 'What do you want to say to the receipent about this oder?'"
msgid "Used as the message between ordering customer and current company. Depicts 'What do you want to say to the recipient about this order?'"
msgstr "Utilizado como el mensaje entre cliente que ordena y la actual compañía. Describe '¿Qué quiere decirle al receptor sobre esta orden?'"
#. module: account_payment

View File

@ -418,7 +418,7 @@ msgstr ""
#. module: account_payment
#: help:payment.line,communication:0
msgid "Used as the message between ordering customer and current company.Depicts 'What do you want to say to the receipent about this oder?'"
msgid "Used as the message between ordering customer and current company. Depicts 'What do you want to say to the recipient about this order?'"
msgstr ""
#. module: account_payment

View File

@ -419,7 +419,7 @@ msgstr "Code"
#. module: account_payment
#: help:payment.line,communication:0
msgid "Used as the message between ordering customer and current company.Depicts 'What do you want to say to the receipent about this oder?'"
msgid "Used as the message between ordering customer and current company. Depicts 'What do you want to say to the recipient about this order?'"
msgstr ""
#. module: account_payment

View File

@ -418,7 +418,7 @@ msgstr ""
#. module: account_payment
#: help:payment.line,communication:0
msgid "Used as the message between ordering customer and current company.Depicts 'What do you want to say to the receipent about this oder?'"
msgid "Used as the message between ordering customer and current company. Depicts 'What do you want to say to the recipient about this order?'"
msgstr ""
#. module: account_payment

View File

@ -418,7 +418,7 @@ msgstr ""
#. module: account_payment
#: help:payment.line,communication:0
msgid "Used as the message between ordering customer and current company.Depicts 'What do you want to say to the receipent about this oder?'"
msgid "Used as the message between ordering customer and current company. Depicts 'What do you want to say to the recipient about this order?'"
msgstr ""
#. module: account_payment

View File

@ -419,7 +419,7 @@ msgstr "Codice"
#. module: account_payment
#: help:payment.line,communication:0
msgid "Used as the message between ordering customer and current company.Depicts 'What do you want to say to the receipent about this oder?'"
msgid "Used as the message between ordering customer and current company. Depicts 'What do you want to say to the recipient about this order?'"
msgstr ""
#. module: account_payment

View File

@ -418,7 +418,7 @@ msgstr ""
#. module: account_payment
#: help:payment.line,communication:0
msgid "Used as the message between ordering customer and current company.Depicts 'What do you want to say to the receipent about this oder?'"
msgid "Used as the message between ordering customer and current company. Depicts 'What do you want to say to the recipient about this order?'"
msgstr ""
#. module: account_payment

View File

@ -418,7 +418,7 @@ msgstr ""
#. module: account_payment
#: help:payment.line,communication:0
msgid "Used as the message between ordering customer and current company.Depicts 'What do you want to say to the receipent about this oder?'"
msgid "Used as the message between ordering customer and current company. Depicts 'What do you want to say to the recipient about this order?'"
msgstr ""
#. module: account_payment

View File

@ -419,7 +419,7 @@ msgstr "Code"
#. module: account_payment
#: help:payment.line,communication:0
msgid "Used as the message between ordering customer and current company.Depicts 'What do you want to say to the receipent about this oder?'"
msgid "Used as the message between ordering customer and current company. Depicts 'What do you want to say to the recipient about this order?'"
msgstr "Wordt gebruikt als het bericht tussen de klant en het bedrijf. Zoiets als 'Wat wilt u zeggen tegen de ontvanger van deze order'"
#. module: account_payment

View File

@ -418,7 +418,7 @@ msgstr ""
#. module: account_payment
#: help:payment.line,communication:0
msgid "Used as the message between ordering customer and current company.Depicts 'What do you want to say to the receipent about this oder?'"
msgid "Used as the message between ordering customer and current company. Depicts 'What do you want to say to the recipient about this order?'"
msgstr ""
#. module: account_payment

View File

@ -418,7 +418,7 @@ msgstr ""
#. module: account_payment
#: help:payment.line,communication:0
msgid "Used as the message between ordering customer and current company.Depicts 'What do you want to say to the receipent about this oder?'"
msgid "Used as the message between ordering customer and current company. Depicts 'What do you want to say to the recipient about this order?'"
msgstr ""
#. module: account_payment

View File

@ -419,7 +419,7 @@ msgstr "Código"
#. module: account_payment
#: help:payment.line,communication:0
msgid "Used as the message between ordering customer and current company.Depicts 'What do you want to say to the receipent about this oder?'"
msgid "Used as the message between ordering customer and current company. Depicts 'What do you want to say to the recipient about this order?'"
msgstr ""
#. module: account_payment

View File

@ -418,7 +418,7 @@ msgstr ""
#. module: account_payment
#: help:payment.line,communication:0
msgid "Used as the message between ordering customer and current company.Depicts 'What do you want to say to the receipent about this oder?'"
msgid "Used as the message between ordering customer and current company. Depicts 'What do you want to say to the recipient about this order?'"
msgstr ""
#. module: account_payment

View File

@ -419,7 +419,7 @@ msgstr "Код"
#. module: account_payment
#: help:payment.line,communication:0
msgid "Used as the message between ordering customer and current company.Depicts 'What do you want to say to the receipent about this oder?'"
msgid "Used as the message between ordering customer and current company. Depicts 'What do you want to say to the recipient about this order?'"
msgstr ""
#. module: account_payment

View File

@ -418,7 +418,7 @@ msgstr ""
#. module: account_payment
#: help:payment.line,communication:0
msgid "Used as the message between ordering customer and current company.Depicts 'What do you want to say to the receipent about this oder?'"
msgid "Used as the message between ordering customer and current company. Depicts 'What do you want to say to the recipient about this order?'"
msgstr ""
#. module: account_payment

View File

@ -418,7 +418,7 @@ msgstr ""
#. module: account_payment
#: help:payment.line,communication:0
msgid "Used as the message between ordering customer and current company.Depicts 'What do you want to say to the receipent about this oder?'"
msgid "Used as the message between ordering customer and current company. Depicts 'What do you want to say to the recipient about this order?'"
msgstr ""
#. module: account_payment

View File

@ -418,7 +418,7 @@ msgstr ""
#. module: account_payment
#: help:payment.line,communication:0
msgid "Used as the message between ordering customer and current company.Depicts 'What do you want to say to the receipent about this oder?'"
msgid "Used as the message between ordering customer and current company. Depicts 'What do you want to say to the recipient about this order?'"
msgstr ""
#. module: account_payment

View File

@ -418,7 +418,7 @@ msgstr ""
#. module: account_payment
#: help:payment.line,communication:0
msgid "Used as the message between ordering customer and current company.Depicts 'What do you want to say to the receipent about this oder?'"
msgid "Used as the message between ordering customer and current company. Depicts 'What do you want to say to the recipient about this order?'"
msgstr ""
#. module: account_payment

View File

@ -418,7 +418,7 @@ msgstr ""
#. module: account_payment
#: help:payment.line,communication:0
msgid "Used as the message between ordering customer and current company.Depicts 'What do you want to say to the receipent about this oder?'"
msgid "Used as the message between ordering customer and current company. Depicts 'What do you want to say to the recipient about this order?'"
msgstr ""
#. module: account_payment

View File

@ -418,7 +418,7 @@ msgstr ""
#. module: account_payment
#: help:payment.line,communication:0
msgid "Used as the message between ordering customer and current company.Depicts 'What do you want to say to the receipent about this oder?'"
msgid "Used as the message between ordering customer and current company. Depicts 'What do you want to say to the recipient about this order?'"
msgstr ""
#. module: account_payment

View File

@ -418,7 +418,7 @@ msgstr ""
#. module: account_payment
#: help:payment.line,communication:0
msgid "Used as the message between ordering customer and current company.Depicts 'What do you want to say to the receipent about this oder?'"
msgid "Used as the message between ordering customer and current company. Depicts 'What do you want to say to the recipient about this order?'"
msgstr ""
#. module: account_payment

View File

@ -372,7 +372,7 @@ class payment_line(osv.osv):
_columns = {
'name': fields.char('Your Reference', size=64, required=True),
'communication': fields.char('Communication', size=64, required=True,help="Used as the message between ordering customer and current company.Depicts 'What do you want to say to the receipent about this oder?'"),
'communication': fields.char('Communication', size=64, required=True,help="Used as the message between ordering customer and current company. Depicts 'What do you want to say to the recipient about this order ?'"),
'communication2': fields.char('Communication 2', size=64,help='The successor message of Communication.'),
'move_line_id': fields.many2one('account.move.line','Entry line', domain=[('reconcile_id','=', False), ('account_id.type', '=','payable')],help='This Entry Line will be referred for the information of the ordering customer.'),
'amount_currency': fields.float('Amount in Partner Currency', digits=(16,2),

View File

@ -6,14 +6,15 @@ msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-02-06 15:06:40+0000\n"
"PO-Revision-Date: 2009-02-06 15:06:40+0000\n"
"Last-Translator: <>\n"
"POT-Creation-Date: 2009-01-23 14:23+0000\n"
"PO-Revision-Date: 2009-02-27 11:57+0000\n"
"Last-Translator: Olivier (OpenERP) <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2009-02-27 12:00+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account_report
#: field:account.report.history,name:0
@ -25,23 +26,32 @@ msgstr "Indicateur"
#. module: account_report
#: wizard_field:print.indicators.pdf,init,file:0
msgid "Select a PDF File"
msgstr ""
msgstr "Sélectionnez un fichier PDF"
#. module: account_report
#: selection:account.report.report,type:0
msgid "Fiscal statement"
msgstr "Extrait fiscal"
#. module: account_report
#: view:account.report.report:0
msgid "Operators:"
msgstr "Opérateurs"
#. module: account_report
#: help:account.report.report,disp_graph:0
msgid ""
"If the field is set to True,information will be printed as a Graph; as an "
"array otherwise."
msgstr ""
"Si le champ à la valeur 'Vrai', l'information sera imprimée comme un Graphe, "
"et sinon comme un tableau."
#. module: account_report
#: field:account.report.report,parent_id:0
msgid "Parent"
msgstr "Parent"
#. module: account_report
#: field:account.report.report,disp_graph:0
msgid "Display As Graph"
msgstr ""
#. module: account_report
#: view:account.report.report:0
msgid "Account Debit:"
@ -52,15 +62,10 @@ msgstr ""
msgid "Others"
msgstr "Autres"
#. module: account_report
#: view:account.report.report:0
msgid "balance(['ACCOUNT_CODE',],fiscalyear)"
msgstr ""
#. module: account_report
#: rml:print.indicators:0
msgid "Tabular Summary"
msgstr ""
msgstr "Résumé tabulaire"
#. module: account_report
#: view:account.report.report:0
@ -98,6 +103,12 @@ msgstr "Mauvais"
#: wizard_view:print.indicators.pdf,init:0
msgid "Select the PDF file on which Indicators will be printed."
msgstr ""
"Sélectionnez le fichier PDF sur lequel les indicateurs seront imprimés."
#. module: account_report
#: field:account.report.report,child_ids:0
msgid "Childs"
msgstr "Enfants"
#. module: account_report
#: view:account.report.report:0
@ -117,7 +128,7 @@ msgstr "Très mauvais"
#. module: account_report
#: model:ir.actions.act_window,name:account_report.account_report_history_record_structure
msgid "Indicator history"
msgstr ""
msgstr "Historique de l'Indicateur"
#. module: account_report
#: view:account.report.report:0
@ -137,18 +148,13 @@ msgstr "Extraits fiscaux"
#. module: account_report
#: wizard_button:print.indicators,init,next:0
msgid "Next"
msgstr ""
#. module: account_report
#: model:ir.module.module,shortdesc:account_report.module_meta_information
msgid "Reporting for accounting"
msgstr ""
msgstr "Suivant"
#. module: account_report
#: wizard_button:print.indicators,next,print:0
#: wizard_button:print.indicators.pdf,init,print:0
msgid "Print"
msgstr ""
msgstr "Imprimer"
#. module: account_report
#: field:account.report.report,type:0
@ -158,7 +164,7 @@ msgstr "Type"
#. module: account_report
#: model:ir.actions.report.xml,name:account_report.report_indicator_pdf
msgid "Print Indicators in PDF"
msgstr ""
msgstr "Imprimer les Indicateurs dans le fichier PDF"
#. module: account_report
#: view:account.report.report:0
@ -175,7 +181,7 @@ msgstr "Bon"
#: code:addons/account_report/account.py:0
#, python-format
msgid "Error !"
msgstr ""
msgstr "Erreur !"
#. module: account_report
#: view:account.report.history:0
@ -187,15 +193,20 @@ msgstr ""
msgid "Invalid XML for View Architecture!"
msgstr "XML non valide pour l'architecture de la vue"
#. module: account_report
#: help:account.report.report,badness_limit:0
msgid "This Value sets the limit of badness."
msgstr ""
#. module: account_report
#: wizard_field:print.indicators,init,select_base:0
msgid "Choose Criteria"
msgstr "Choisissez les critères"
#. module: account_report
#: help:account.report.report,disp_tree:0
msgid ""
"When the indicators will be printed, if one indicator is set with this field "
"to True, then it will display one more graph with all its children in tree"
msgstr ""
"Lorsque les indicateurs seront imprimés, si un indicateur a la valeur 'Vrai' "
"pour ce champ, alors, il affichera un ou plusieurs graphes avec tous ses "
"fils dans l'arborescence."
#. module: account_report
#: view:account.report.report:0
@ -211,6 +222,13 @@ msgstr ""
#: wizard_view:print.indicators,init:0
msgid "Select the criteria based on which Indicators will be printed."
msgstr ""
"Sélectionnez les critères sur lesquels seront basés les indicateurs à "
"imprimer."
#. module: account_report
#: help:account.report.report,badness_limit:0
msgid "This Value depicts the limit of badness."
msgstr ""
#. module: account_report
#: view:account.report.report:0
@ -228,6 +246,12 @@ msgstr "Très bien"
msgid "Note"
msgstr "Note"
#. module: account_report
#: model:ir.actions.act_window,name:account_report.action_account_report_tree_view_other
#: model:ir.ui.menu,name:account_report.menu_action_account_report_tree_view_other
msgid "Others reportings"
msgstr "Autres rapports"
#. module: account_report
#: rml:accounting.report:0
#: rml:print.indicators:0
@ -239,11 +263,6 @@ msgstr "Devise"
msgid "Status"
msgstr "Status"
#. module: account_report
#: help:account.report.report,disp_tree:0
msgid "When the indicators are printed, if one indicator is set with this field to True, then it will display one more graphs with all its children in tree"
msgstr ""
#. module: account_report
#: selection:account.report.report,status:0
msgid "Normal"
@ -265,9 +284,9 @@ msgid "Display Tree"
msgstr ""
#. module: account_report
#: selection:print.indicators,init,select_base:0
msgid "Based On Fiscal Years"
msgstr ""
#: field:account.report.report,disp_graph:0
msgid "Display as a Graph"
msgstr "Afficher en Graphe"
#. module: account_report
#: model:ir.model,name:account_report.model_account_report_report
@ -279,10 +298,21 @@ msgstr "Rapport de compte"
msgid "Account Balance:"
msgstr ""
#. module: account_report
#: help:account.report.report,goodness_limit:0
msgid "This Value depicts the limit of goodness."
msgstr ""
#. module: account_report
#: rml:print.indicators:0
msgid "Expression :"
msgstr ""
msgstr "Expression :"
#. module: account_report
#: model:ir.actions.act_window,name:account_report.account_report_history_record
#: model:ir.ui.menu,name:account_report.menu_account_report_history_record
msgid "All Indicators History"
msgstr "Historique de tous les Indicateurs"
#. module: account_report
#: view:account.report.report:0
@ -319,7 +349,7 @@ msgstr ""
#. module: account_report
#: field:account.report.history,period_id:0
msgid "Period"
msgstr ""
msgstr "Période"
#. module: account_report
#: view:account.report.report:0
@ -336,22 +366,25 @@ msgstr "Légende des opérateurs"
#: wizard_button:print.indicators,next,end:0
#: wizard_button:print.indicators.pdf,init,end:0
msgid "Cancel"
msgstr ""
msgstr "Annuler"
#. module: account_report
#: field:account.report.report,child_ids:0
msgid "Children"
#: view:account.report.report:0
msgid "balance(['ACCOUNT_CODE',],fiscalyear)"
msgstr ""
#. module: account_report
#: constraint:ir.model:0
msgid "The Object name must start with x_ and not contain any special character !"
msgstr "Le nom de l'objet doit commencer avec x_ et ne pas contenir de charactères spéciaux !"
msgid ""
"The Object name must start with x_ and not contain any special character !"
msgstr ""
"Le nom de l'objet doit commencer avec x_ et ne pas contenir de charactères "
"spéciaux !"
#. module: account_report
#: help:account.report.report,goodness_limit:0
msgid "This Value sets the limit of goodness."
msgstr ""
#: selection:print.indicators,init,select_base:0
msgid "Based On Fiscal Years"
msgstr "Basé sur les Années Fiscales"
#. module: account_report
#: model:ir.actions.wizard,name:account_report.wizard_print_indicators
@ -359,7 +392,7 @@ msgstr ""
#: wizard_view:print.indicators,init:0
#: wizard_view:print.indicators,next:0
msgid "Print Indicators"
msgstr ""
msgstr "Imprimer les Indicateurs"
#. module: account_report
#: view:account.report.report:0
@ -375,7 +408,7 @@ msgstr "Date d'impression"
#. module: account_report
#: model:ir.actions.wizard,name:account_report.wizard_indicators_with_pdf
msgid "Indicators in PDF"
msgstr ""
msgstr "Indicateurs en PDF"
#. module: account_report
#: rml:accounting.report:0
@ -393,21 +426,17 @@ msgstr "Rapport comptable"
msgid "Goodness Indicator Limit"
msgstr ""
#. module: account_report
#: model:ir.actions.act_window,name:account_report.action_account_report_tree_view_other
#: model:ir.ui.menu,name:account_report.menu_action_account_report_tree_view_other
msgid "Other reports"
msgstr ""
#. module: account_report
#: view:account.report.report:0
msgid "Note: The second arguement 'fiscalyear' and 'period' are optional arguements.If the value is -1,previous fiscalyear or period is considered."
msgid ""
"Note: The second arguement 'fiscalyear' and 'period' are optional "
"arguements.If the value is -1,previous fiscalyear or period is considered."
msgstr ""
#. module: account_report
#: rml:print.indicators:0
msgid ")"
msgstr ""
msgstr ")"
#. module: account_report
#: model:ir.actions.act_window,name:account_report.action_account_report_tree_view_fiscal
@ -418,18 +447,18 @@ msgstr "Rapport des extraits fiscaux"
#. module: account_report
#: selection:print.indicators,init,select_base:0
msgid "Based on Fiscal Periods"
msgstr ""
msgstr "Basé sur les Périodes Fiscales"
#. module: account_report
#: model:ir.actions.report.xml,name:account_report.report_print_indicators
#: rml:print.indicators:0
msgid "Indicators"
msgstr ""
msgstr "Indicateurs"
#. module: account_report
#: wizard_view:print.indicators.pdf,init:0
msgid "Print Indicators with PDF"
msgstr ""
msgstr "Imprimer les Indicateurs dans le fichier PDF"
#. module: account_report
#: model:ir.actions.act_window,name:account_report.action_account_report_tree_view_indicator
@ -447,13 +476,17 @@ msgstr "Nom"
#. module: account_report
#: wizard_field:print.indicators,next,base_selection:0
msgid "Select Criteria"
msgstr ""
msgstr "Sélectionnez les critères"
#. module: account_report
#: code:addons/account_report/account.py:0
#, python-format
msgid "You cannot delete an indicator history record. You may have to delete the concerned Indicator!"
msgid ""
"You cannot delete an indicator history record. You may have to delete the "
"concerned Indicator!"
msgstr ""
"Vous ne pouvez pas supprimer un enregistrement de l'historique d'un "
"indicateur. Vous devez supprimer l'Indicateur concerné."
#. module: account_report
#: view:account.report.report:0
@ -463,7 +496,7 @@ msgstr ""
#. module: account_report
#: field:account.report.history,fiscalyear_id:0
msgid "Fiscal Year"
msgstr ""
msgstr "Année Fiscale"
#. module: account_report
#: model:ir.actions.act_window,name:account_report.action_account_report_tree
@ -476,22 +509,17 @@ msgstr "Personnaliser un rapport"
#. module: account_report
#: rml:print.indicators:0
msgid "Page"
msgstr ""
msgstr "Page"
#. module: account_report
#: selection:account.report.report,type:0
msgid "View"
msgstr ""
msgstr "Vue"
#. module: account_report
#: rml:print.indicators:0
msgid "Indicators -"
msgstr ""
#. module: account_report
#: help:account.report.report,disp_graph:0
msgid "If the field is set to True, information will be printed as a Graph, otherwise as an array."
msgstr ""
msgstr "Indicateurs -"
#. module: account_report
#: view:account.report.report:0
@ -511,18 +539,4 @@ msgstr "Montant"
#. module: account_report
#: rml:print.indicators:0
msgid "1cm 27.7cm 20cm 27.7cm"
msgstr ""
#. module: account_report
#: model:ir.module.module,description:account_report.module_meta_information
msgid "Financial and accounting reporting\n"
" Fiscal statements\n"
" Indicators\n"
" "
msgstr ""
#. module: account_report
#: selection:account.report.report,type:0
msgid "Fiscal Statement"
msgstr ""
msgstr "1cm 27.7cm 20cm 27.7cm"

View File

@ -6,14 +6,15 @@ msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-02-06 15:06:40+0000\n"
"PO-Revision-Date: 2009-02-06 15:06:40+0000\n"
"Last-Translator: <>\n"
"POT-Creation-Date: 2009-01-28 00:58+0000\n"
"PO-Revision-Date: 2009-02-27 12:01+0000\n"
"Last-Translator: Olivier (OpenERP) <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2009-02-27 12:04+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account_reporting
#: field:color.rml,code:0
@ -22,8 +23,11 @@ msgstr "code"
#. module: account_reporting
#: constraint:ir.model:0
msgid "The Object name must start with x_ and not contain any special character !"
msgstr "Le nom de l'objet doit commencer avec x_ et ne pas contenir de charactères spéciaux !"
msgid ""
"The Object name must start with x_ and not contain any special character !"
msgstr ""
"Le nom de l'objet doit commencer avec x_ et ne pas contenir de charactères "
"spéciaux !"
#. module: account_reporting
#: selection:account.report.bs,font_style:0
@ -69,7 +73,7 @@ msgstr ""
#. module: account_reporting
#: help:account.account.balancesheet.report,init,periods:0
msgid "All periods if empty"
msgstr ""
msgstr "Toutes les périodes si vide"
#. module: account_reporting
#: field:account.report.bs,color_font:0
@ -83,7 +87,8 @@ msgstr ""
#. module: account_reporting
#: model:ir.module.module,description:account_reporting.module_meta_information
msgid "Financial and accounting reporting\n"
msgid ""
"Financial and accounting reporting\n"
" Balance Sheet Report"
msgstr ""
@ -151,7 +156,7 @@ msgstr ""
#. module: account_reporting
#: model:ir.model,name:account_reporting.model_color_rml
msgid "Rml Colors"
msgstr ""
msgstr "Couleurs RML"
#. module: account_reporting
#: model:ir.module.module,shortdesc:account_reporting.module_meta_information
@ -181,7 +186,7 @@ msgstr "Times-Bold"
#. module: account_reporting
#: view:account.report.bs:0
msgid "General"
msgstr ""
msgstr "Général"
#. module: account_reporting
#: wizard_field:account.account.balancesheet.report,init,fiscalyear:0
@ -197,7 +202,7 @@ msgstr "Comptes"
#. module: account_reporting
#: wizard_field:account.account.balancesheet.report,init,periods:0
msgid "Periods"
msgstr ""
msgstr "Périodes"
#. module: account_reporting
#: field:account.report.bs,color_back:0
@ -207,7 +212,7 @@ msgstr "Couleur de fond"
#. module: account_reporting
#: field:account.report.bs,child_id:0
msgid "Children"
msgstr ""
msgstr "Fils"
#. module: account_reporting
#: wizard_button:account.account.balancesheet.report,init,end:0
@ -233,4 +238,3 @@ msgstr "Police"
#: wizard_view:account.account.balancesheet.report,init:0
msgid "Customize Report"
msgstr "Personnaliser le Rapport"

View File

@ -6,14 +6,15 @@ msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-02-06 15:06:40+0000\n"
"PO-Revision-Date: 2009-02-06 15:06:40+0000\n"
"Last-Translator: <>\n"
"POT-Creation-Date: 2009-01-23 14:23+0000\n"
"PO-Revision-Date: 2009-02-27 12:02+0000\n"
"Last-Translator: Olivier (OpenERP) <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2009-02-27 12:08+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account_tax_include
#: constraint:ir.ui.view:0
@ -21,14 +22,14 @@ msgid "Invalid XML for View Architecture!"
msgstr "XML non valide pour l'architecture de la vue"
#. module: account_tax_include
#: field:account.invoice,price_type:0
msgid "Price method"
msgstr "Méthode de prix"
#: selection:account.invoice,price_type:0
msgid "Tax excluded"
msgstr "Tax exclue"
#. module: account_tax_include
#: model:ir.module.module,shortdesc:account_tax_include.module_meta_information
msgid "Invoices and prices with taxes included"
msgstr ""
#: field:account.invoice.line,price_subtotal_incl:0
msgid "Subtotal"
msgstr "Sous-Total"
#. module: account_tax_include
#: selection:account.invoice,price_type:0
@ -36,17 +37,6 @@ msgid "Tax included"
msgstr "Tax inclue"
#. module: account_tax_include
#: selection:account.invoice,price_type:0
msgid "Tax excluded"
msgstr "Tax exclue"
#. module: account_tax_include
#: view:account.tax:0
msgid "Compute Code for Taxes included prices"
msgstr ""
#. module: account_tax_include
#: field:account.invoice.line,price_subtotal_incl:0
msgid "Subtotal"
msgstr ""
#: field:account.invoice,price_type:0
msgid "Price method"
msgstr "Méthode de prix"

View File

@ -6,30 +6,31 @@ msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-02-06 15:06:40+0000\n"
"PO-Revision-Date: 2009-02-06 15:06:40+0000\n"
"Last-Translator: <>\n"
"POT-Creation-Date: 2009-01-28 00:58+0000\n"
"PO-Revision-Date: 2009-02-27 12:20+0000\n"
"Last-Translator: Olivier (OpenERP) <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2009-02-27 12:24+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account_voucher
#: field:account.voucher,type:0
#: field:account.voucher.line,type:0
msgid "Type"
msgstr ""
msgstr "Type"
#. module: account_voucher
#: rml:voucher.cash_receipt:0
msgid "State :"
msgstr ""
msgstr "État"
#. module: account_voucher
#: model:ir.model,name:account_voucher.model_account_voucher
msgid "Accounting Voucher"
msgstr ""
msgstr "Souche comptable"
#. module: account_voucher
#: rml:voucher.cash_receipt:0
@ -39,7 +40,7 @@ msgstr ""
#. module: account_voucher
#: model:ir.actions.report.xml,name:account_voucher.report_account_voucher
msgid "Voucher Report"
msgstr ""
msgstr "Rapport sur les Souches"
#. module: account_voucher
#: model:ir.actions.act_window,name:account_voucher.action_payments_bankpay_voucher_list
@ -47,27 +48,27 @@ msgstr ""
#: model:ir.actions.act_window,name:account_voucher.action_payments_voucher_list
#: model:ir.ui.menu,name:account_voucher.menu_action_payments_voucher_list
msgid "Payment Vouchers"
msgstr ""
msgstr "Souches de Paiement"
#. module: account_voucher
#: view:account.voucher:0
msgid "Other Info"
msgstr ""
msgstr "Autres Informations"
#. module: account_voucher
#: view:account.voucher:0
msgid "Create"
msgstr ""
msgstr "Créer"
#. module: account_voucher
#: rml:voucher.cash_receipt:0
msgid "Ref. :"
msgstr ""
msgstr "Réf. :"
#. module: account_voucher
#: model:ir.ui.menu,name:account_voucher.menu_action_receipt_bakreceipt_voucher_list
msgid "Bank Receipts"
msgstr ""
msgstr "Reçus bancaires"
#. module: account_voucher
#: constraint:ir.ui.view:0
@ -77,33 +78,33 @@ msgstr "XML non valide pour l'architecture de la vue"
#. module: account_voucher
#: rml:voucher.cash_receipt:0
msgid "Particulars"
msgstr ""
msgstr "Particuliers"
#. module: account_voucher
#: model:ir.ui.menu,name:account_voucher.menu_action_performa_cash_rec_voucher_form
msgid "Pro-forma Cash Receipt"
msgstr ""
msgstr "Reçu de Caisse Pro-forma"
#. module: account_voucher
#: rml:voucher.cash_receipt:0
msgid "Receiver's Signature"
msgstr ""
msgstr "Signature du Receveur"
#. module: account_voucher
#: model:ir.ui.menu,name:account_voucher.menu_action_view_cash_rec_voucher_form
msgid "New Cash Receipt"
msgstr ""
msgstr "Nouveau Reçu de Caisse"
#. module: account_voucher
#: selection:account.voucher,state:0
#: rml:voucher.cash_receipt:0
msgid "Draft"
msgstr ""
msgstr "Brouillon"
#. module: account_voucher
#: model:ir.ui.menu,name:account_voucher.menu_action_payments_bankpay_voucher_list
msgid "Bank Payments"
msgstr ""
msgstr "Paiements bancaires"
#. module: account_voucher
#: selection:account.voucher,type:0
@ -117,28 +118,31 @@ msgstr ""
#: selection:account.voucher.line,type:0
#: rml:voucher.cash_receipt:0
msgid "Debit"
msgstr ""
msgstr "Débit"
#. module: account_voucher
#: model:ir.actions.act_window,name:account_voucher.action_other_voucher_list
#: model:ir.ui.menu,name:account_voucher.menu_action_other_voucher_list
msgid "Other Vouchers"
msgstr ""
msgstr "Autres Souches"
#. module: account_voucher
#: constraint:ir.model:0
msgid "The Object name must start with x_ and not contain any special character !"
msgstr "Le nom de l'objet doit commencer avec x_ et ne pas contenir de charactères spéciaux !"
msgid ""
"The Object name must start with x_ and not contain any special character !"
msgstr ""
"Le nom de l'objet doit commencer avec x_ et ne pas contenir de charactères "
"spéciaux !"
#. module: account_voucher
#: rml:voucher.cash_receipt:0
msgid "PRO-FORMA"
msgstr ""
msgstr "PRO-FORMA"
#. module: account_voucher
#: model:ir.module.module,shortdesc:account_voucher.module_meta_information
msgid "Accounting - Voucher Management"
msgstr ""
msgstr "Comptabilité - Gestion des Souches"
#. module: account_voucher
#: field:account.voucher,move_ids:0
@ -160,43 +164,43 @@ msgstr ""
#. module: account_voucher
#: model:ir.ui.menu,name:account_voucher.menu_action_cancel_cash_rec_voucher_form
msgid "Cancel Cash Receipt"
msgstr ""
msgstr "Annuler le Reçu de Caisse"
#. module: account_voucher
#: field:account.voucher.line,name:0
msgid "Description"
msgstr ""
msgstr "Description"
#. module: account_voucher
#: field:account.voucher,currency_id:0
msgid "Currency"
msgstr ""
msgstr "Devise"
#. module: account_voucher
#: model:ir.actions.act_window,name:account_voucher.action_receipt_cashreceipt_voucher_list
msgid "Cash Receipt"
msgstr ""
msgstr "Reçu de Caisse"
#. module: account_voucher
#: rml:voucher.cash_receipt:0
msgid "Authorised Signatory"
msgstr ""
msgstr "Signataire Autorisé"
#. module: account_voucher
#: rml:voucher.cash_receipt:0
msgid "-"
msgstr ""
msgstr "-"
#. module: account_voucher
#: view:account.voucher:0
#: model:ir.actions.act_window,name:account_voucher.action_voucher_list
msgid "Vouchers"
msgstr ""
msgstr "Souches"
#. module: account_voucher
#: view:account.voucher:0
msgid "Set to Draft"
msgstr ""
msgstr "Mettre en Brouillon"
#. module: account_voucher
#: selection:account.voucher,type:0
@ -208,17 +212,17 @@ msgstr ""
#. module: account_voucher
#: model:ir.ui.menu,name:account_voucher.menu_action_view_cash_pay_voucher_form
msgid "New Cash Payment"
msgstr ""
msgstr "Nouveau Paiement de Caisse"
#. module: account_voucher
#: field:account.voucher,period_id:0
msgid "Period"
msgstr ""
msgstr "Période"
#. module: account_voucher
#: model:ir.ui.menu,name:account_voucher.menu_action_view_bank_pay_voucher_form
msgid "New Bank Payment"
msgstr ""
msgstr "Nouveau Paiement Bancaire"
#. module: account_voucher
#: view:account.account:0
@ -228,28 +232,28 @@ msgstr ""
#. module: account_voucher
#: field:account.voucher.line,ref:0
msgid "Ref."
msgstr ""
msgstr "Réf."
#. module: account_voucher
#: field:account.voucher,date:0
msgid "Date"
msgstr ""
msgstr "Date"
#. module: account_voucher
#: rml:voucher.cash_receipt:0
msgid ":"
msgstr ""
msgstr ":"
#. module: account_voucher
#: model:ir.model,name:account_voucher.model_account_voucher_line
msgid "Voucher Line"
msgstr ""
msgstr "Ligne de Souche"
#. module: account_voucher
#: selection:account.voucher,state:0
#: rml:voucher.cash_receipt:0
msgid "Posted"
msgstr ""
msgstr "Posté"
#. module: account_voucher
#: rml:voucher.cash_receipt:0
@ -260,7 +264,7 @@ msgstr ""
#: field:account.voucher,account_id:0
#: field:account.voucher.line,account_id:0
msgid "Account"
msgstr ""
msgstr "Compte"
#. module: account_voucher
#: field:account.account,type1:0
@ -270,12 +274,12 @@ msgstr ""
#. module: account_voucher
#: field:account.voucher,name:0
msgid "Name"
msgstr ""
msgstr "Nom"
#. module: account_voucher
#: field:account.voucher,reference_type:0
msgid "Reference Type"
msgstr ""
msgstr "Type de Référence"
#. module: account_voucher
#: view:account.voucher:0
@ -291,13 +295,13 @@ msgstr ""
#. module: account_voucher
#: model:ir.ui.menu,name:account_voucher.menu_action_receipt_cashreceipt_voucher_list
msgid "Cash Receipts"
msgstr ""
msgstr "Reçus de Caisse"
#. module: account_voucher
#: field:account.voucher,amount:0
#: field:account.voucher.line,amount:0
msgid "Amount"
msgstr ""
msgstr "Montant"
#. module: account_voucher
#: field:account.account,diff:0
@ -307,7 +311,7 @@ msgstr ""
#. module: account_voucher
#: field:account.voucher,reference:0
msgid "Voucher Reference"
msgstr ""
msgstr "Référence de la Souche"
#. module: account_voucher
#: model:ir.actions.act_window,name:account_voucher.action_receipt_vou_voucher_list
@ -318,12 +322,12 @@ msgstr ""
#. module: account_voucher
#: selection:account.account,type1:0
msgid "None"
msgstr ""
msgstr "Aucun"
#. module: account_voucher
#: view:account.voucher:0
msgid "Entry"
msgstr ""
msgstr "Entrée"
#. module: account_voucher
#: model:ir.ui.menu,name:account_voucher.menu_action_posted_cash_rec_voucher_form
@ -339,17 +343,17 @@ msgstr ""
#: view:account.voucher:0
#: field:account.voucher,payment_ids:0
msgid "Voucher Lines"
msgstr ""
msgstr "Lignes de Souches"
#. module: account_voucher
#: rml:voucher.cash_receipt:0
msgid "No."
msgstr ""
msgstr ""
#. module: account_voucher
#: field:account.voucher,company_id:0
msgid "Company"
msgstr ""
msgstr "Société"
#. module: account_voucher
#: field:account.voucher,move_id:0
@ -359,40 +363,40 @@ msgstr ""
#. module: account_voucher
#: field:account.voucher,state:0
msgid "State"
msgstr ""
msgstr "État"
#. module: account_voucher
#: selection:account.account,type1:0
#: selection:account.voucher.line,type:0
#: rml:voucher.cash_receipt:0
msgid "Credit"
msgstr ""
msgstr "Crédit"
#. module: account_voucher
#: model:ir.ui.menu,name:account_voucher.menu_action_view_bank_rec_voucher_form
msgid "New Bank Receipt"
msgstr ""
msgstr "Nouveau Reçu Bancaire"
#. module: account_voucher
#: view:account.voucher:0
#: selection:account.voucher,state:0
msgid "Pro-forma"
msgstr ""
msgstr "Pro-forma"
#. module: account_voucher
#: model:ir.ui.menu,name:account_voucher.menu_action_payments_cashpay_voucher_list
msgid "Cash Payments"
msgstr ""
msgstr "Paiements de Caisse"
#. module: account_voucher
#: field:account.voucher,number:0
msgid "Number"
msgstr ""
msgstr "Nombre"
#. module: account_voucher
#: rml:voucher.cash_receipt:0
msgid "Amount (in words) :"
msgstr ""
msgstr "Montant (en mots) :"
#. module: account_voucher
#: selection:account.voucher,type:0
@ -408,12 +412,12 @@ msgstr ""
#. module: account_voucher
#: field:account.voucher.line,account_analytic_id:0
msgid "Analytic Account"
msgstr ""
msgstr "Compte Analytique"
#. module: account_voucher
#: rml:voucher.cash_receipt:0
msgid "Canceled"
msgstr ""
msgstr "Annulé"
#. module: account_voucher
#: field:account.account,open_bal:0
@ -425,47 +429,46 @@ msgstr ""
#: field:account.voucher.line,voucher_id:0
#: model:res.request.link,name:account_voucher.req_link_voucher
msgid "Voucher"
msgstr ""
msgstr "Souche"
#. module: account_voucher
#: selection:account.voucher,type:0
#: model:ir.actions.act_window,name:account_voucher.action_view_bank_pay_voucher_form
#: rml:voucher.cash_receipt:0
msgid "Bank Payment Voucher"
msgstr ""
msgstr "Souche de Paiement Bancaire"
#. module: account_voucher
#: selection:account.voucher,type:0
#: model:ir.actions.act_window,name:account_voucher.action_view_cash_pay_voucher_form
#: rml:voucher.cash_receipt:0
msgid "Cash Payment Voucher"
msgstr ""
msgstr "Souche de Paiement Bancaire"
#. module: account_voucher
#: view:account.voucher:0
#: selection:account.voucher,state:0
msgid "Cancel"
msgstr ""
msgstr "Annulé"
#. module: account_voucher
#: field:account.voucher.line,partner_id:0
msgid "Partner"
msgstr ""
msgstr "Partenaire"
#. module: account_voucher
#: selection:account.voucher,type:0
#: model:ir.actions.act_window,name:account_voucher.action_view_bank_rec_voucher_form
#: rml:voucher.cash_receipt:0
msgid "Bank Receipt Voucher"
msgstr ""
msgstr "Souche de Reçu Bancaire"
#. module: account_voucher
#: model:ir.actions.act_window,name:account_voucher.action_receipt_bakreceipt_voucher_list
msgid "Bank Receipt"
msgstr ""
msgstr "Reçu Bancaire"
#. module: account_voucher
#: field:account.voucher,journal_id:0
msgid "Journal"
msgstr ""
msgstr "Journal"

View File

@ -49,7 +49,7 @@
<field name="state"/>
<button name="open_voucher" string="Pro-forma" states="draft" type="object"/>
<button name="proforma_voucher" string="Create" states="proforma" type="object"/>
<button name="cancel_voucher" string="Cancel" states="draft,proforma,posted" type="object"/>
<button name="cancel_voucher" string="Cancel" states="draft,proforma" type="object"/>
<button name="action_cancel_draft" states="cancel" string="Set to Draft" type="object"/>
</group>
</page>

View File

@ -6,14 +6,15 @@ msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-02-06 15:06:40+0000\n"
"PO-Revision-Date: 2009-02-06 15:06:40+0000\n"
"Last-Translator: <>\n"
"POT-Creation-Date: 2009-01-23 14:23+0000\n"
"PO-Revision-Date: 2009-02-27 12:23+0000\n"
"Last-Translator: Olivier (OpenERP) <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2009-02-27 12:32+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: analytic_journal_billing_rate
#: constraint:ir.ui.view:0
@ -21,42 +22,34 @@ msgid "Invalid XML for View Architecture!"
msgstr "XML non valide pour l'architecture de la vue"
#. module: analytic_journal_billing_rate
#: field:analytic_journal_rate_grid,journal_id:0
msgid "Analytic Journal"
msgstr ""
#: field:analytic_journal_rate_grid,rate_id:0
msgid "Invoicing Rate"
msgstr "Taux de Facturation"
#. module: analytic_journal_billing_rate
#: constraint:ir.model:0
msgid "The Object name must start with x_ and not contain any special character !"
msgstr "Le nom de l'objet doit commencer avec x_ et ne pas contenir de charactères spéciaux !"
msgid ""
"The Object name must start with x_ and not contain any special character !"
msgstr ""
"Le nom de l'objet doit commencer avec x_ et ne pas contenir de charactères "
"spéciaux !"
#. module: analytic_journal_billing_rate
#: view:analytic_journal_rate_grid:0
msgid "Billing Rate per Journal for this Analytic Account"
msgstr ""
#. module: analytic_journal_billing_rate
#: field:analytic_journal_rate_grid,account_id:0
msgid "Analytic Account"
msgstr ""
msgstr "Taux de Facturation par Journal pour ce Compte Analytique"
#. module: analytic_journal_billing_rate
#: model:ir.model,name:analytic_journal_billing_rate.model_analytic_journal_rate_grid
msgid "Relation table between journals and billing rates"
msgstr ""
msgstr "Tableau de Relations entre les journaux et les taux de Facturations"
#. module: analytic_journal_billing_rate
#: field:account.analytic.account,journal_rate_ids:0
msgid "Invoicing Rate per Journal"
msgstr ""
msgstr "Taux de Facturation par Journal"
#. module: analytic_journal_billing_rate
#: model:ir.module.module,shortdesc:analytic_journal_billing_rate.module_meta_information
msgid "Analytic Journal Billing Rate"
msgstr ""
#. module: analytic_journal_billing_rate
#: field:analytic_journal_rate_grid,rate_id:0
msgid "Invoicing Rate"
msgstr ""
#: field:analytic_journal_rate_grid,journal_id:0
msgid "Analytic Journal"
msgstr "Journal Analytique"

View File

@ -6,14 +6,15 @@ msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-02-06 15:06:40+0000\n"
"PO-Revision-Date: 2009-02-06 15:06:40+0000\n"
"Last-Translator: <>\n"
"POT-Creation-Date: 2009-01-23 14:23+0000\n"
"PO-Revision-Date: 2009-02-27 12:45+0000\n"
"Last-Translator: Olivier (OpenERP) <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2009-02-27 12:48+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: analytic_user_function
#: constraint:ir.ui.view:0
@ -21,43 +22,37 @@ msgid "Invalid XML for View Architecture!"
msgstr "XML non valide pour l'architecture de la vue"
#. module: analytic_user_function
#: model:ir.model,name:analytic_user_function.model_analytic_user_funct_grid
msgid "Relation table between users and products on a analytic account"
#: constraint:ir.model:0
msgid ""
"The Object name must start with x_ and not contain any special character !"
msgstr ""
"Le nom de l'objet doit commencer avec x_ et ne pas contenir de charactères "
"spéciaux !"
#. module: analytic_user_function
#: field:analytic_user_funct_grid,product_id:0
msgid "Product"
msgstr ""
#. module: analytic_user_function
#: field:analytic_user_funct_grid,account_id:0
msgid "Analytic Account"
msgstr ""
msgstr "Produit"
#. module: analytic_user_function
#: view:account.analytic.account:0
#: field:account.analytic.account,user_product_ids:0
msgid "Users/Products Rel."
msgstr ""
msgstr "Relation Utilisateurs/Produits"
#. module: analytic_user_function
#: field:analytic_user_funct_grid,user_id:0
msgid "User"
msgstr ""
msgstr "Utilisateur"
#. module: analytic_user_function
#: constraint:ir.model:0
msgid "The Object name must start with x_ and not contain any special character !"
msgstr "Le nom de l'objet doit commencer avec x_ et ne pas contenir de charactères spéciaux !"
#. module: analytic_user_function
#: model:ir.module.module,shortdesc:analytic_user_function.module_meta_information
msgid "Analytic User Function"
#: model:ir.model,name:analytic_user_function.model_analytic_user_funct_grid
msgid "Relation table between users and products on a analytic account"
msgstr ""
"Tableau de relation entre les utilisateurs et les produits sur un compte "
"analytique"
#. module: analytic_user_function
#: view:analytic_user_funct_grid:0
msgid "User's Product for this Analytic Account"
msgstr ""
msgstr "Produit de l'Utilisateur pour ce Compte Analytique"

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:import href="../../custom/corporate_defaults.xsl"/>
<xsl:import href="../../base/report/corporate_defaults.xsl"/>
<xsl:import href="../../base/report/rml_template.xsl"/>

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:import href="../../custom/corporate_defaults.xsl"/>
<xsl:import href="../../base/report/corporate_defaults.xsl"/>
<xsl:import href="../../base/report/rml_template.xsl"/>
<xsl:template match="/">

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:import href="../../custom/corporate_defaults.xsl"/>
<xsl:import href="../../base/report/corporate_defaults.xsl"/>
<xsl:import href="../../base/report/rml_template.xsl"/>
<xsl:template match="/">

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:import href="../../custom/corporate_defaults.xsl"/>
<xsl:import href="../../base/report/corporate_defaults.xsl"/>
<xsl:import href="../../base/report/rml_template.xsl"/>
<xsl:variable name="page_format">a4_normal</xsl:variable>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:import href="../../custom/corporate_defaults.xsl"/>
<xsl:import href="../../base/report/corporate_defaults.xsl"/>
<xsl:import href="../../base/report/rml_template.xsl"/>
<xsl:template match="/">

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:import href="../../custom/corporate_defaults.xsl"/>
<xsl:import href="../../base/report/corporate_defaults.xsl"/>
<xsl:template match="/">
<xsl:apply-templates select="lots"/>
</xsl:template>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:import href="../../custom/corporate_defaults.xsl"/>
<xsl:import href="../../base/report/corporate_defaults.xsl"/>
<xsl:template match="/">
<xsl:apply-templates select="lots"/>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:import href="../../custom/corporate_defaults.xsl"/>
<xsl:import href="../../base/report/corporate_defaults.xsl"/>
<xsl:import href="../../base/report/rml_template.xsl"/>
<xsl:template match="/">

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:import href="../../custom/corporate_defaults.xsl"/>
<xsl:import href="../../base/report/corporate_defaults.xsl"/>
<xsl:template match="/">
<xsl:apply-templates select="lots"/>
</xsl:template>

View File

@ -3,7 +3,7 @@
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:import href="../../custom/corporate_defaults.xsl"/>
<xsl:import href="../../base/report/corporate_defaults.xsl"/>
<xsl:import href="../../base/report/rml_template.xsl"/>
<xsl:variable name="page_format">a4_normal</xsl:variable>

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:import href="../../custom/corporate_defaults.xsl"/>
<xsl:import href="../../base/report/corporate_defaults.xsl"/>
<xsl:template match="/">
<xsl:apply-templates select="report"/>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:import href="../../custom/corporate_defaults.xsl"/>
<xsl:import href="../../base/report/corporate_defaults.xsl"/>
<xsl:import href="../../base/report/rml_template.xsl"/>
<xsl:template match="/">

View File

@ -23,7 +23,6 @@
import netsvc
from osv import fields, osv
class res_partner_contact(osv.osv):
_name = "res.partner.contact"
_description = "res.partner.contact"

View File

@ -47,7 +47,8 @@ class res_partner(osv.osv):
continue #FIXME return False? empty vat numbre is invalid?
vat_country, vat_number = partner.vat[:2].lower(), partner.vat[2:]
if vat_number.find(' ') != -1:
return False
check = getattr(self, 'check_vat_' + vat_country, lambda vn: False)
if not check(vat_number):
return False

View File

@ -58,6 +58,7 @@ class crm_case_section(osv.osv):
'name': fields.char('Case Section',size=64, required=True, translate=True),
'code': fields.char('Section Code',size=8),
'active': fields.boolean('Active'),
'allow_unlink': fields.boolean('Allow Delete', help="Allows to delete non draft cases"),
'sequence': fields.integer('Sequence'),
'user_id': fields.many2one('res.users', 'Responsible User'),
'reply_to': fields.char('Reply-To', size=64, help="The email address put in the 'Reply-To' of all emails sent by Open ERP about cases in this section"),
@ -66,6 +67,7 @@ class crm_case_section(osv.osv):
}
_defaults = {
'active': lambda *a: 1,
'allow_unlink': lambda *a: 1,
}
_sql_constraints = [
('code_uniq', 'unique (code)', 'The code of the section must be unique !')
@ -327,7 +329,7 @@ class crm_case(osv.osv):
_columns = {
'id': fields.integer('ID', readonly=True),
'name': fields.char('Description',size=64, required=True),
'name': fields.char('Description',size=64,required=True),
'priority': fields.selection(AVAILABLE_PRIORITIES, 'Priority'),
'active': fields.boolean('Active'),
'description': fields.text('Your action'),
@ -394,7 +396,7 @@ class crm_case(osv.osv):
def unlink(self, cr, uid, ids, context={}):
for case in self.browse(cr, uid, ids, context):
if case.state <> 'draft':
if (not case.section_id.allow_unlink) and (case.state <> 'draft'):
raise osv.except_osv(_('Warning !'),
_('You can not delete this case. You should better cancel it.'))
return super(crm_case, self).unlink(cr, uid, ids, context)
@ -437,9 +439,9 @@ class crm_case(osv.osv):
else:
base = mx.DateTime.strptime(case.create_date[:19], '%Y-%m-%d %H:%M:%S')
elif action.trg_date_type=='deadline' and case.date_deadline:
base = mx.DateTime.strptime(case.date_deadline, '%Y-%m-%d')
base = mx.DateTime.strptime(case.date_deadline, '%Y-%m-%d %H:%M:%S')
elif action.trg_date_type=='date' and case.date:
base = mx.DateTime.strptime(case.date, '%Y-%m-%d')
base = mx.DateTime.strptime(case.date, '%Y-%m-%d %H:%M:%S')
if base:
fnct = {
'minutes': lambda interval: mx.DateTime.RelativeDateTime(minutes=interval),

View File

@ -35,6 +35,7 @@
<field name="active" select="2"/>
<field name="user_id" select="2"/>
<field name="parent_id" select="2"/>
<field name="allow_unlink" select="2"/>
<field name="reply_to" select="2"/>
<label colspan="2" string="Complete this if you use the mail gateway."/>
</page>

View File

@ -29,10 +29,11 @@
<field name="arch" type="xml">
<form string="Claims">
<group colspan="4" col="6">
<field name="name"/>
<field name="partner_id"/>
<field name="user_id" string="Responsible" select="2"/>
<field name="section_id"/>
<newline/>
<field name="section_id"/>
<field name="date" string="Date of Claim"/>
<field name="categ_id" string="Type of claim" select="1" on_change="onchange_categ_id(categ_id)"/>
<label string="Stage: " align="1.0"/>

View File

@ -41,7 +41,7 @@ import tools
def random_name():
random.seed()
d = [random.choice(string.letters) for x in xrange(10) ]
d = [random.choice(string.ascii_letters) for x in xrange(10) ]
name = "".join(d)
return name

View File

@ -39,11 +39,8 @@ class hr_employee(osv.osv):
_inherit = "hr.employee"
_columns = {
'manager' : fields.boolean('Manager'),
'soc_security' : fields.char('Social security number', size=50, select=True),
'medic_exam' : fields.date('Medical examination date'),
'audiens_num' : fields.char('AUDIENS Number', size=30),
'nationality' : fields.many2one('res.country', 'Nationality'),
'birth_date' : fields.date('Birth Date'),
'place_of_birth' : fields.char('Place of Birth', size=30),
'marital_status' : fields.many2one('hr.employee.marital.status', 'Marital Status'),
'children' : fields.integer('Number of children'),

View File

@ -109,11 +109,8 @@
</page>
<page string="Miscelleanous">
<field name="manager" select="1"/>
<field name="soc_security" select="1"/>
<field name="medic_exam" select="1"/>
<field name="audiens_num"/>
<field name="nationality"/>
<field name="birth_date"/>
<field name="place_of_birth"/>
<field name="marital_status"/>
<field name="children"/>

View File

@ -65,7 +65,7 @@ class hr_expense_expense(osv.osv):
'date_valid': fields.date('Date Valided'),
'user_valid': fields.many2one('res.users', 'Validation User'),
'account_move_id': fields.many2one('account.move', 'Account Move'),
'line_ids': fields.one2many('hr.expense.line', 'expense_id', 'Expense Lines'),
'line_ids': fields.one2many('hr.expense.line', 'expense_id', 'Expense Lines', readonly=True, states={'draft':[('readonly',False)]} ),
'note': fields.text('Note'),
'amount': fields.function(_amount, method=True, string='Total Amount'),
'invoice_id': fields.many2one('account.invoice', 'Invoice'),
@ -125,6 +125,9 @@ class hr_expense_expense(osv.osv):
tax_id = [x.id for x in l.product_id.supplier_taxes_id]
else:
acc = self.pool.get('ir.property').get(cr, uid, 'property_account_expense_categ', 'product.category')
if not acc:
raise osv.except_osv(_('Error !'), _('Please configure Default Expanse account for Product purchase, `property_account_expense_categ`'))
lines.append((0, False, {
'name': l.name,
'account_id': acc,
@ -186,10 +189,10 @@ class hr_expense_line(osv.osv):
'date_value': fields.date('Date', required=True),
'expense_id': fields.many2one('hr.expense.expense', 'Expense', ondelete='cascade', select=True),
'total_amount': fields.function(_amount, method=True, string='Total'),
'unit_amount': fields.float('Unit Price', readonly=True, states={'draft':[('readonly',False)]}),
'unit_quantity': fields.float('Quantities', readonly=True, states={'draft':[('readonly',False)]}),
'product_id': fields.many2one('product.product', 'Product', readonly=True, states={'draft':[('readonly',False)]}),
'uom_id': fields.many2one('product.uom', 'UoM', readonly=True, states={'draft':[('readonly',False)]}),
'unit_amount': fields.float('Unit Price'),
'unit_quantity': fields.float('Quantities' ),
'product_id': fields.many2one('product.product', 'Product' ),
'uom_id': fields.many2one('product.uom', 'UoM' ),
'description': fields.text('Description'),
'analytic_account': fields.many2one('account.analytic.account','Analytic account'),
'ref': fields.char('Reference', size=32),

View File

@ -68,7 +68,7 @@ class hr_holidays(osv.osv):
_columns = {
'name' : fields.char('Description', required=True, readonly=True, size=64, states={'draft':[('readonly',False)]}),
'state': fields.selection([('draft', 'draft'), ('confirm', 'Confirmed'), ('refuse', 'Refused'), ('validate', 'Validate'), ('cancel', 'Cancel')], 'Status', readonly=True),
'state': fields.selection([('draft', 'draft'), ('confirm', 'Waiting Validation'), ('refuse', 'Refused'), ('validated', 'Validate'), ('cancel', 'Cancel')], 'Status', readonly=True),
'date_from' : fields.datetime('Vacation start day', required=True, readonly=True, states={'draft':[('readonly',False)]}),
'date_to' : fields.datetime('Vacation end day',required=True,readonly=True, states={'draft':[('readonly',False)]}),
'holiday_status' : fields.many2one("hr.holidays.status", "Holiday's Status", required=True,readonly=True, states={'draft':[('readonly',False)]}),

View File

@ -228,14 +228,14 @@
<menuitem name="My Draft Holidays Requests" parent="menu_action_my_holiday" id="menu_action_my_holiday_draft" action="action_my_holiday_draft" />
<record model="ir.actions.act_window" id="action_my_holiday_waiting">
<field name="name">My Holidays Request Waiting confirmation</field>
<field name="name">My Awaiting Confirmation Holidays Requests</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">hr.holidays</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('user_id','=',uid), ('state','=','confirm')]</field>
</record>
<menuitem name="My Awaiting Confirmation Holidays Requests" parent="menu_action_my_holiday" id="menu_action_my_holiday_waiting" action="action_my_holiday_waiting" />
<menuitem parent="menu_action_my_holiday" id="menu_action_my_holiday_waiting" action="action_my_holiday_waiting" />
<record model="ir.actions.act_window" id="action_my_holiday_validate">
<field name="name">My Holidays Request Validated</field>

View File

@ -4,15 +4,15 @@
<menuitem id="hr.menu_hr_reporting" name="Reporting" parent="hr.menu_hr_root" sequence="40"/>
<report auto="False" id="report_user_timesheet" menu="False" model="hr.employee" name="hr.analytical.timesheet" string="Employee timesheet" xsl="hr_timesheet/report/user_timesheet.xsl"/>
<wizard id="wizard_hr_timesheet" menu="False" model="hr.employee" name="hr.analytical.timesheet" string="Employee timesheet"/>
<wizard id="wizard_hr_timesheet" menu="False" model="hr.employee" name="hr.analytical.timesheet" string="Employee Timesheet"/>
<menuitem id="next_id_48" name="Timesheet" parent="hr.menu_hr_reporting"/><menuitem action="wizard_hr_timesheet" id="menu_wizard_hr_timesheet" parent="next_id_48" type="wizard"/>
<wizard id="wizard_hr_timesheet_my" menu="False" model="hr.employee" name="hr.analytical.timesheet.my" string="Print my timesheet"/>
<wizard id="wizard_hr_timesheet_my" menu="False" model="hr.employee" name="hr.analytical.timesheet.my" string="Print My Timesheet"/>
<menuitem action="wizard_hr_timesheet_my" id="menu_wizard_hr_timesheet_my" parent="hr_timesheet.next_id_48" type="wizard"/>
<report auto="False" id="report_users_timesheet" menu="False" model="hr.employee" name="hr.analytical.timesheet_users" string="Employees timesheet" xsl="hr_timesheet/report/users_timesheet.xsl"/>
<report auto="False" id="report_users_timesheet" menu="False" model="hr.employee" name="hr.analytical.timesheet_users" string="Employees Timesheet" xsl="hr_timesheet/report/users_timesheet.xsl"/>
<wizard id="wizard_hr_timesheet_users" menu="False" model="hr.employee" name="hr.analytical.timesheet_users" string="Employees timesheet"/>
<wizard id="wizard_hr_timesheet_users" menu="False" model="hr.employee" name="hr.analytical.timesheet_users" string="Employees Timesheet"/>
<menuitem action="wizard_hr_timesheet_users" id="menu_wizard_hr_timesheet_users" parent="hr_timesheet.next_id_48" type="wizard"/>
</data>

View File

@ -1,2 +1,4 @@
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
"access_hr_analytic_timesheet","hr.analytic.timesheet","model_hr_analytic_timesheet","hr.group_hr_user",1,1,1,1
"access_hr_account_analytic_line","account.account.analytic.line","account.model_account_analytic_line","hr.group_hr_user",1,1,1,0
"access_account_analytic_journal","account.account.analytic.journal","account.model_account_analytic_journal","hr.group_hr_user",1,0,0,0
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_hr_analytic_timesheet hr.analytic.timesheet model_hr_analytic_timesheet hr.group_hr_user 1 1 1 1
3 access_hr_account_analytic_line account.account.analytic.line account.model_account_analytic_line hr.group_hr_user 1 1 1 0
4 access_account_analytic_journal account.account.analytic.journal account.model_account_analytic_journal hr.group_hr_user 1 0 0 0

View File

@ -20,7 +20,7 @@
menu="False"
model="account.analytic.line"
name="account.analytic.profit"
string="Timesheet profit"
string="Timesheet Profit"
groups="account.group_account_manager"/>
<menuitem action="account_analytic_profit" id="print_account_analytic_profit" parent="hr.menu_hr_reporting" type="wizard"/>

View File

@ -22,6 +22,7 @@
import wizard
import datetime
import pooler
form='''<?xml version="1.0"?>
<form string="Choose">
@ -34,8 +35,26 @@ form='''<?xml version="1.0"?>
class wizard_report(wizard.interface):
def _date_from(*a):
return datetime.datetime.today().strftime('%Y-%m-1')
def _date_to(*a):
return datetime.datetime.today().strftime('%Y-%m-%d')
def _check(self, cr, uid, data, context):
pool = pooler.get_pool(cr.dbname)
line_obj = pool.get('account.analytic.line')
product_obj = pool.get('product.product')
price_obj = pool.get('product.pricelist')
ids = line_obj.search(cr, uid, [
('date', '>=', data['form']['date_from']),
('date', '<=', data['form']['date_to']),
('journal_id', 'in', data['form']['journal_ids'][0][2]),
('user_id', 'in', data['form']['employee_ids'][0][2]),
])
if not ids:
raise wizard.except_wizard(_('Data Insufficient!'), _('No Records Found for Report!'))
return data['form']
fields={
'date_from':{
@ -70,7 +89,7 @@ class wizard_report(wizard.interface):
'result':{'type':'form', 'arch':form, 'fields':fields, 'state':[('end', 'Cancel'), ('report', 'Print')]}
},
'report':{
'actions':[],
'actions':[_check],
'result':{'type':'print', 'report':'account.analytic.profit', 'state':'end'}
}
}

View File

@ -135,7 +135,7 @@ class invoice_create(wizard.interface):
" AND id IN (%s)"
" AND product_id=%%s"
" AND to_invoice=%%s" % ','.join(['%s']*len(data['ids'])),
(account.id, data['ids'], product_id, factor_id))
tuple([account.id]+ data['ids']+[ product_id, factor_id]))
line_ids = cr.dictfetchall()
note = []
for line in line_ids:

View File

@ -2,3 +2,4 @@
"access_hr_timesheet_sheet_sheet","hr_timesheet_sheet.sheet","model_hr_timesheet_sheet_sheet","hr.group_hr_user",1,1,1,1
"access_hr_timesheet_sheet_sheet_day","hr_timesheet_sheet.sheet.day","model_hr_timesheet_sheet_sheet_day","hr.group_hr_user",1,1,1,1
"access_hr_timesheet_sheet_sheet_account","hr_timesheet_sheet.sheet.account","model_hr_timesheet_sheet_sheet_account","hr.group_hr_user",1,1,1,1
"access_hr_timesheet_invoice_factor","hr_timesheet_invoice.hr_timesheet_invoice.factor","hr_timesheet_invoice.model_hr_timesheet_invoice_factor","hr.group_hr_user",1,0,0,0
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_hr_timesheet_sheet_sheet hr_timesheet_sheet.sheet model_hr_timesheet_sheet_sheet hr.group_hr_user 1 1 1 1
3 access_hr_timesheet_sheet_sheet_day hr_timesheet_sheet.sheet.day model_hr_timesheet_sheet_sheet_day hr.group_hr_user 1 1 1 1
4 access_hr_timesheet_sheet_sheet_account hr_timesheet_sheet.sheet.account model_hr_timesheet_sheet_sheet_account hr.group_hr_user 1 1 1 1
5 access_hr_timesheet_invoice_factor hr_timesheet_invoice.hr_timesheet_invoice.factor hr_timesheet_invoice.model_hr_timesheet_invoice_factor hr.group_hr_user 1 0 0 0

View File

@ -44,8 +44,6 @@ STATE_PRIOR = {
'paid' : 7
}
#~ REQUETE = '''SELECT partner, state FROM (
#~ SELECT members.partner AS partner,
#~ CASE WHEN MAX(members.state) = 0 THEN 'none'
@ -136,7 +134,6 @@ STATE_PRIOR = {
#~ %s
#~ '''
class membership_line(osv.osv):
'''Member line'''
@ -757,5 +754,6 @@ class account_invoice_line(osv.osv):
'account_invoice_line': line.id,
})
return result
account_invoice_line()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -24,6 +24,16 @@
<!-- Demo data for Accounts -->
<record id="account_account_membershipparent" model="account.account">
<field name="name">membership</field>
<field name="code">0</field>
<field name="company_id" ref="base.main_company"/>
<!--<field eval="1" name="sign"/>-->
<field eval="1" name="active"/>
<field name="type">view</field>
<field eval="0" name="reconcile"/>
<field name="user_type" ref="account.account_type_root"/>
</record>
<record id="account_account_membershipaccount0" model="account.account">
<field name="name">membership account</field>
<field name="code">1254</field>
@ -33,6 +43,7 @@
<field name="type">other</field>
<field eval="1" name="reconcile"/>
<field name="user_type" ref="account.account_type_expense"/>
<field name="parent_id" ref="account_account_membershipparent"/>
</record>
<!-- Demo data for Invoices -->

View File

@ -186,6 +186,20 @@
<!-- MEMBERSHIP/MEMBERS/ASSOCIATED MEMBERS -->
<record model="ir.ui.view" id="membership_members_associated_tree">
<field name="name">associate members</field>
<field name="model">res.partner</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Members">
<field name="name"/>
<field name="membership_start"/>
<field name="membership_stop"/>
<field name="membership_state"/>
<field name="associate_member"/>
</tree>
</field>
</record>
<record model="ir.actions.act_window" id="action_membership_members_associated">
<field name="name">Associated members</field>
@ -196,7 +210,7 @@
<record model="ir.actions.act_window.view" id="action_membership_members_associated_view_tree">
<field name="sequence" eval="1"/>
<field name="view_mode">tree</field>
<field name="view_id" ref="membership_members_tree"/>
<field name="view_id" ref="membership_members_associated_tree"/>
<field name="act_window_id" ref="action_membership_members_associated"/>
</record>

View File

@ -61,7 +61,6 @@ def _invoice_membership(self, cr, uid, data, context):
line_value = {
'product_id' : product_id,
}
quantity = 1
line_dict = invoice_line_obj.product_id_change(cr, uid, {}, product_id, product['uom_id'][0], quantity, '', 'out_invoice', partner_id, fpos_id, context=context)
line_value.update(line_dict['value'])

View File

@ -399,8 +399,8 @@ class mrp_production(osv.osv):
'product_id': fields.many2one('product.product', 'Product', required=True, domain=[('type','<>','service')]),
'product_qty': fields.float('Product Qty', required=True),
'product_uom': fields.many2one('product.uom', 'Product UOM', required=True),
'product_uos_qty': fields.float('Product Qty'),
'product_uos': fields.many2one('product.uom', 'Product UOM'),
'product_uos_qty': fields.float('Product UoS Qty'),
'product_uos': fields.many2one('product.uom', 'Product UoS'),
'location_src_id': fields.many2one('stock.location', 'Raw Materials Location', required=True,
help="Location where the system will look for products used in raw materials."),
@ -1082,17 +1082,21 @@ class mrp_procurement(osv.osv):
def action_cancel(self, cr, uid, ids):
todo = []
todo2 = []
for proc in self.browse(cr, uid, ids):
if proc.move_id and proc.move_id.state=='waiting':
todo.append(proc.move_id.id)
if proc.close_move:
todo2.append(proc.move_id.id)
else:
todo.append(proc.move_id.id)
if len(todo2):
self.pool.get('stock.move').action_cancel(cr, uid, todo2)
if len(todo):
self.pool.get('stock.move').write(cr, uid, todo, {'state':'assigned'})
self.write(cr, uid, ids, {'state':'cancel'})
wf_service = netsvc.LocalService("workflow")
for id in ids:
wf_service.trg_trigger(uid, 'mrp.procurement', id, cr)
return True
def action_check_finnished(self, cr, uid, ids):
@ -1173,6 +1177,13 @@ class stock_warehouse_orderpoint(osv.osv):
v = {'product_uom':prod.uom_id.id}
return {'value': v}
return {}
def copy(self, cr, uid, id, default=None,context={}):
if not default:
default = {}
default.update({
'name': self.pool.get('ir.sequence').get(cr, uid, 'mrp.warehouse.orderpoint') or '',
})
return super(stock_warehouse_orderpoint, self).copy(cr, uid, id, default, context)
stock_warehouse_orderpoint()

View File

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<report auto="True" header="False" id="report_bom_structure" model="mrp.bom" name="bom.structure" rml="mrp/report/bom_structure.rml" string="BOM Structure"/>
<report
id="report_mrp_production_report"
string="Production Order"
@ -12,6 +12,6 @@
rml="mrp/report/order.rml"
auto="False"
/>
</data>
</openerp>

View File

@ -1,3 +1,138 @@
<?xml version="1.0"?>
<document filename="test.pdf"><template pageSize="(612.0,792.0)" title="Test" author="Martin Simon" allowSplitting="20"><pageTemplate id="first"><frame id="first" x1="57.0" y1="57.0" width="498" height="678"/></pageTemplate></template><stylesheet><blockTableStyle id="Standard_Outline"><blockAlignment value="LEFT"/><blockValign value="TOP"/></blockTableStyle><blockTableStyle id="Table1"><blockAlignment value="LEFT"/><blockValign value="TOP"/><lineStyle kind="GRID" colorName="black"/><blockBackground colorName="#e6e6e6" start="0,0" stop="0,0"/><blockBackground colorName="#e6e6e6" start="1,0" stop="1,0"/><blockBackground colorName="#e6e6e6" start="2,0" stop="2,0"/><blockBackground colorName="#e6e6e6" start="3,0" stop="3,0"/><blockBackground colorName="#e6e6e6" start="4,0" stop="4,0"/></blockTableStyle><initialize><paraStyle name="all" alignment="justify"/></initialize><paraStyle name="P1" fontName="Times-Roman" alignment="LEFT"/><paraStyle name="P2" fontName="Times-Roman" fontSize="16.0" leading="20" alignment="CENTER"/><paraStyle name="P3" fontName="Times-Roman" alignment="LEFT"/><paraStyle name="P4" fontName="Times-Roman" fontSize="13.0" leading="16" alignment="LEFT"/><paraStyle name="P5" fontName="Times-Roman" fontSize="6.0" leading="8" alignment="LEFT"/><paraStyle name="P6" fontName="Times-Roman" fontSize="12.0" leading="15" alignment="LEFT"/><paraStyle name="Standard" fontName="Times-Roman"/><paraStyle name="Heading" fontName="Helvetica" fontSize="14.0" leading="17" spaceBefore="12.0" spaceAfter="6.0"/><paraStyle name="Text body" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/><paraStyle name="List" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/><paraStyle name="Caption" fontName="Times-Roman" fontSize="12.0" leading="15" spaceBefore="6.0" spaceAfter="6.0"/><paraStyle name="Index" fontName="Times-Roman"/><paraStyle name="Table Contents" fontName="Times-Roman"/><paraStyle name="Table Heading" fontName="Times-Roman" alignment="CENTER"/></stylesheet><images/><story><para style="P2">BOM Structure</para><para style="P1"><font color="white"> </font></para><section><para style="P5"><font face="Times-Roman">[[ repeatIn(objects, 'o') ]]</font></para><blockTable colWidths="157.0,151.0,85.0,50.0,56.0" style="Table1"><tr><td><para style="P3">BOM</para></td><td><para style="P3">Product Name</para></td><td><para style="P3">Quantity</para></td><td><para style="P3">UoM</para></td><td><para style="P3">Code</para></td></tr><tr><td><para style="P6"><font face="Times-Roman">[[ o.name ]]</font></para></td><td><para style="P3">[[ o.product_id.name ]]</para></td><td><para style="P3">[[ o.product_qty ]]</para></td><td><para style="P3">[[ o.product_uom.name ]]</para></td><td><para style="P3">[[ o.code ]]</para></td></tr><tr><td><para style="P3">[[ repeatIn(o.bom_lines, 'l') ]]</para><para style="P3">- [[ l.name ]]</para></td><td><para style="P3">[[ l.product_id.name ]]</para></td><td><para style="P3">[[ l.product_qty ]]</para></td><td><para style="P3">[[ l.product_uom.name ]]</para></td><td><para style="P3">[[ l.code ]]</para></td></tr></blockTable><para style="P1"><font color="white"> </font></para></section></story></document>
<document filename="test.pdf">
<template pageSize="(612.0,792.0)" title="Test" author="Martin Simon" allowSplitting="20">
<pageTemplate id="first">
<frame id="first" x1="57.0" y1="57.0" width="498" height="678"/>
</pageTemplate>
</template>
<stylesheet>
<blockTableStyle id="Standard_Outline">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
</blockTableStyle>
<blockTableStyle id="Table3">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="0,-1" stop="0,-1"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="1,-1" stop="1,-1"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="2,-1" stop="2,-1"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="3,-1" stop="3,-1"/>
</blockTableStyle>
<blockTableStyle id="Table4">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,-1" stop="0,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="1,-1" stop="1,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="2,-1" stop="2,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="3,-1" stop="3,-1"/>
</blockTableStyle>
<blockTableStyle id="Table1">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,-1" stop="0,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="1,-1" stop="1,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="2,-1" stop="2,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="3,-1" stop="3,-1"/>
</blockTableStyle>
<initialize>
<paraStyle name="all" alignment="justify"/>
</initialize>
<paraStyle name="P1" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="P2" fontName="Helvetica" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="Standard" fontName="Times-Roman"/>
<paraStyle name="Heading" fontName="Helvetica" fontSize="14.0" leading="17" spaceBefore="12.0" spaceAfter="6.0"/>
<paraStyle name="Text body" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
<paraStyle name="List" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
<paraStyle name="Caption" fontName="Times-Roman" fontSize="12.0" leading="15" spaceBefore="6.0" spaceAfter="6.0"/>
<paraStyle name="Index" fontName="Times-Roman"/>
<paraStyle name="Table Contents" fontName="Times-Roman" fontSize="6.0" leading="8" alignment="LEFT"/>
<paraStyle name="Table Heading" fontName="Times-Roman" fontSize="6.0" leading="8" alignment="CENTER"/>
<paraStyle name="terp_header" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="LEFT" spaceBefore="12.0" spaceAfter="6.0"/>
<paraStyle name="terp_default_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_Bold_8" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_Bold_9" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_tblheader_General" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="6.0" spaceAfter="6.0"/>
<paraStyle name="terp_tblheader_General_Centre" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="6.0" spaceAfter="6.0"/>
<paraStyle name="terp_default_Centre_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_tblheader_Details" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="6.0" spaceAfter="6.0"/>
<paraStyle name="Footer" fontName="Times-Roman"/>
<paraStyle name="Horizontal Line" fontName="Times-Roman" fontSize="6.0" leading="8" spaceBefore="0.0" spaceAfter="14.0"/>
<paraStyle name="Heading 9" fontName="Helvetica-Bold" fontSize="75%" leading="NaN" spaceBefore="12.0" spaceAfter="6.0"/>
<paraStyle name="terp_tblheader_General_Right" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="6.0" spaceAfter="6.0"/>
<paraStyle name="terp_tblheader_Details_Centre" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="6.0" spaceAfter="6.0"/>
<paraStyle name="terp_tblheader_Details_Right" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="6.0" spaceAfter="6.0"/>
<paraStyle name="terp_default_Right_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_header_Right" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="LEFT" spaceBefore="12.0" spaceAfter="6.0"/>
<paraStyle name="terp_header_Centre" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="CENTER" spaceBefore="12.0" spaceAfter="6.0"/>
<paraStyle name="terp_default_address" fontName="Helvetica" fontSize="10.0" leading="13" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_Centre_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_Right_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_1" fontName="Helvetica" fontSize="2.0" leading="3" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_Right_9_Bold" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_8_Italic" fontName="Helvetica-Oblique" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="Heading 2" fontName="Helvetica-BoldOblique" fontSize="14.0" leading="17" spaceBefore="12.0" spaceAfter="6.0"/>
<paraStyle name="terp_remove_space" fontName="Times-Roman" fontSize="2.0" leading="3" spaceBefore="0.0" spaceAfter="0.0"/>
</stylesheet>
<images/>
<story>
<para style="terp_header_Centre">BOM Structure</para>
<section>
<para style="terp_default_9">[[ repeatIn(objects, 'o') ]]</para>
<blockTable colWidths="166.0,208.0,79.0,55.0" style="Table3">
<tr>
<td>
<para style="terp_tblheader_General">BOM</para>
</td>
<td>
<para style="terp_tblheader_General">Product Name</para>
</td>
<td>
<para style="terp_tblheader_General_Right">Quantity</para>
</td>
<td>
<para style="terp_tblheader_General_Centre">Code</para>
</td>
</tr>
</blockTable>
<blockTable colWidths="166.0,208.0,79.0,55.0" style="Table4">
<tr>
<td>
<para style="terp_default_9">[[ o.name ]]</para>
</td>
<td>
<para style="terp_default_9">[[ o.product_id.name ]]</para>
</td>
<td>
<para style="terp_default_Right_9">[[ o.product_qty ]] [[ o.product_uom.name ]]</para>
</td>
<td>
<para style="terp_default_Centre_9">[[ o.code ]]</para>
</td>
</tr>
</blockTable>
<section>
<para style="terp_default_9">[[ repeatIn(o.bom_lines, 'l') ]]</para>
<blockTable colWidths="166.0,208.0,79.0,55.0" style="Table1">
<tr>
<td>
<para style="P1">- [[ l.name ]]</para>
</td>
<td>
<para style="P1">[[ l.product_id.name ]]</para>
</td>
<td>
<para style="P2">[[ l.product_qty ]] [[ l.product_uom.name ]]</para>
</td>
<td>
<para style="terp_default_Centre_9">[[ l.code ]]</para>
</td>
</tr>
</blockTable>
<para style="terp_remove_space">
<font color="white"> </font>
</para>
</section>
</section>
</story>
</document>

View File

@ -95,6 +95,8 @@ class product_pricelist(osv.osv):
def name_get(self, cr, uid, ids, context={}):
result= []
if not all(ids):
return result
for pl in self.browse(cr, uid, ids, context):
name = pl.name + ' ('+ pl.currency_id.name + ')'
result.append((pl.id,name))

View File

@ -2,7 +2,7 @@
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:import href="../../custom/corporate_defaults.xsl" />
<xsl:import href="../../base/report/corporate_defaults.xsl" />
<xsl:template match="/">
<xsl:call-template name="rml" />
</xsl:template>

View File

@ -31,6 +31,13 @@ class project(osv.osv):
_name = "project.project"
_description = "Project"
def _complete_name(self, cr, uid, ids, name, args, context):
res = {}
for m in self.browse(cr, uid, ids, context=context):
res[m.id] = (m.parent_id and (m.parent_id.name + '/') or '') + m.name
return res
def check_recursion(self, cursor, user, ids, parent=None):
return super(project, self).check_recursion(cursor, user, ids,
parent=parent)
@ -81,6 +88,7 @@ class project(osv.osv):
return super(project, self).unlink(cr, uid, ids, *args, **kwargs)
_columns = {
'name': fields.char("Project Name", size=128, required=True),
'complete_name': fields.function(_complete_name, method=True, string="Project Name", type='char', size=128),
'active': fields.boolean('Active'),
'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'),
@ -115,7 +123,7 @@ class project(osv.osv):
'state': lambda *a: 'open'
}
_order = "priority"
_order = "parent_id,priority,name"
_constraints = [
(check_recursion, 'Error ! You can not create recursive projects.', ['parent_id'])
]
@ -236,7 +244,7 @@ class task(osv.osv):
res[task.id]['delay_hours'] = res[task.id]['total_hours'] - task.planned_hours
return res
def onchange_planned(self, cr, uid, ids, planned, effective):
def onchange_planned(self, cr, uid, ids, planned, effective=0.0):
return {'value':{'remaining_hours': planned-effective}}
def _default_project(self, cr, uid, context={}):
@ -271,7 +279,7 @@ class task(osv.osv):
'history': fields.function(_history_get, method=True, string="Task Details", type="text"),
'notes': fields.text('Notes'),
'planned_hours': fields.float('Planned Hours', readonly=True, states={'draft':[('readonly',False)]}, required=True, help='Estimated time to do the task, usually set by the project manager when the task is in draft state.'),
'planned_hours': fields.float('Planned Hours', required=True, help='Estimated time to do the task, usually set by the project manager when the task is in draft state.'),
'effective_hours': fields.function(_hours_get, method=True, string='Hours Spent', multi='hours', store=True, help="Computed using the sum of the task work done."),
'remaining_hours': fields.float('Remaining Hours', digits=(16,2), help="Total remaining time, can be re-estimated periodically by the assignee of the task."),
'total_hours': fields.function(_hours_get, method=True, string='Total Hours', multi='hours', store=True, help="Computed as: Time Spent + Remaining Time."),
@ -280,7 +288,7 @@ class task(osv.osv):
'user_id': fields.many2one('res.users', 'Assigned to'),
'partner_id': fields.many2one('res.partner', 'Partner'),
'work_ids': fields.one2many('project.task.work', 'task_id', 'Work done', readonly=False, states={'draft':[('readonly',True)]}),
'work_ids': fields.one2many('project.task.work', 'task_id', 'Work done'),
}
_defaults = {
'user_id': lambda obj,cr,uid,context: uid,

View File

@ -33,7 +33,7 @@
<separator colspan="4" string="Project's members"/>
<field colspan="4" name="members" nolabel="1"/>
<group col="9" colspan="8">
<field name="state"/>
<field name="state" select="1"/>
<button name="set_template" string="Set as Template" type="object" states="open" icon="gtk-convert"/>
<button name="set_open" string="Reactivate Project" type="object" states="pending,cancelled,done" icon="gtk-ok"/>
<button name="set_pending" string="Pending" type="object" states="open" icon="gtk-media-pause"/>
@ -73,6 +73,22 @@
</form>
</field>
</record>
<record id="view_project_list" model="ir.ui.view">
<field name="name">project.project.list</field>
<field name="model">project.project</field>
<field name="type">tree</field>
<field name="priority" eval="5"/>
<field name="arch" type="xml">
<tree string="Projects">
<field name="complete_name"/>
<field name="manager"/>
<field name="partner_id"/>
<field name="effective_hours" widget="float_time"/>
<field name="total_hours" widget="float_time"/>
<field name="state"/>
</tree>
</field>
</record>
<record id="view_project" model="ir.ui.view">
<field name="name">project.project.tree</field>
<field name="model">project.project</field>
@ -243,11 +259,11 @@
<field name="arch" type="xml">
<form string="Task edition">
<group colspan="6" col="6">
<field name="name" select="1"/>
<field name="project_id" required="1" select="1"/>
<field name="total_hours" widget="float_time"/>
<field name="user_id" select="1"/>
<field name="date_deadline" select="2"/>
<field name="name" select="1" attrs="{'readonly':[('state','=','done')]}" />
<field name="project_id" required="1" select="1" attrs="{'readonly':[('state','=','done')]}" />
<field name="total_hours" widget="float_time" attrs="{'readonly':[('state','=','done')]}" />
<field name="user_id" select="1" attrs="{'readonly':[('state','=','done')]}" />
<field name="date_deadline" select="2" attrs="{'readonly':[('state','=','done')]}" />
<field name="progress" widget="progressbar"/>
</group>
<notebook colspan="4">
@ -256,6 +272,7 @@
<field
name="planned_hours"
widget="float_time"
attrs="{'readonly':[('state','!=','draft')]}"
on_change="onchange_planned(planned_hours,effective_hours)"/>
<field name="remaining_hours" select="2" widget="float_time" attrs="{'readonly':[('state','!=','draft')]}" colspan="2"/>
<button name="%(action_config_compute_remaining)d" string="Review" type="action" colspan="1" target="new" states="open,pending"/>
@ -265,8 +282,15 @@
<field name="effective_hours" widget="float_time"/>
</group>
<field colspan="4" name="description" nolabel="1" select="2"/>
<field colspan="4" name="work_ids" nolabel="1"/>
<field colspan="4" name="description" nolabel="1" select="2" attrs="{'readonly':[('state','=','done')]}" />
<field colspan="4" name="work_ids" nolabel="1" attrs="{'readonly':[('state','in',['draft','done'])]}">
<tree string="Task Work" editable="top">
<field name="date" />
<field name="user_id" />
<field name="hours" widget="float_time" />
<field name="name" />
</tree>
</field>
<newline/>
<group col="11" colspan="4">
<field name="state" select="1"/>
@ -282,7 +306,7 @@
</page>
<page groups="base.group_extended" string="Delegations">
<field colspan="4" name="history" nolabel="1"/>
<field colspan="4" height="150" name="child_ids" nolabel="1">
<field colspan="4" height="150" name="child_ids" nolabel="1" attrs="{'readonly':[('state','!=','draft')]}">
<tree string="Delegated tasks">
<field name="name"/>
<field name="user_id"/>
@ -294,7 +318,7 @@
</field>
<field colspan="4" name="parent_id"/>
</page>
<page groups="base.group_extended" string="Extra Info">
<page groups="base.group_extended" string="Extra Info" attrs="{'readonly':[('state','in',['draft','done'])]}">
<separator string="Planning" colspan="2"/>
<separator string="Dates" colspan="2"/>
<field name="priority"/>

View File

@ -30,15 +30,9 @@
<field name="name">Contexts</field>
<field name="res_model">project.gtd.context</field>
</record>
<record model="ir.actions.act_window" id="open_gtd_context_tree_my">
<field name="name">My Contexts</field>
<field name="res_model">project.gtd.context</field>
<field name="domain">[('user_id','=',uid)]</field>
</record>
<menuitem name="Time Management" id="menu_open_gtd_time" parent="project.menu_definitions"/>
<menuitem name="Contexts" id="menu_open_gtd_time_contexts" parent="menu_open_gtd_time" action="open_gtd_context_tree"/>
<menuitem name="My Contexts" id="menu_open_gtd_time_my_contexts" parent="menu_open_gtd_time_contexts" action="open_gtd_context_tree_my"/>
<record model="ir.ui.view" id="view_gtd_timebox_tree">
<field name="name">project.gtd.timebox.tree</field>
@ -112,7 +106,10 @@
<field name="date_start"/>
<field name="priority"/>
<field name="date_deadline"/>
<field name="planned_hours" widget="float_time" sum="Est. Hours"/>
<field name="planned_hours" widget="float_time" sum="Planned"
on_change="onchange_planned(planned_hours,effective_hours)"/>
<field name="remaining_hours" invisible="1"/>
<field name="effective_hours" invisible="1"/>
<field name="state"/>
</tree>
</field>
@ -145,12 +142,16 @@
<field name="name">My Timeboxes</field>
<field name="res_model">project.gtd.timebox</field>
<field name="domain">[('user_id','=',uid)]</field>
<field name="view_type">form</field>
<field name="view_type">tree</field>
<field name="view_id" ref="view_gtd_timebox_treelist"/>
<field name="context">{'record_id':False}</field>
</record>
<menuitem name="All My Timeboxes" id="menu_open_time_allinbox" parent="menu_open_time" action="open_gtd_timebox_all"/>
<menuitem
name="All My Timeboxes"
id="menu_open_time_allinbox"
parent="menu_open_time"
action="open_gtd_timebox_all"/>
<record model="ir.ui.view" id="project_task">
<field name="name">project.task.form.timebox</field>

View File

@ -476,7 +476,7 @@ class purchase_order_line(osv.osv):
'date': date_order,
})[pricelist]
qty = 1
qty = qty or 1.0
seller_delay = 0
for s in prod.seller_ids:
seller_delay = s.delay

View File

@ -173,7 +173,7 @@
<notebook>
<page string="Order Line">
<field colspan="4" context="partner_id=parent.partner_id,quantity=product_qty,pricelist=parent.pricelist_id,uom=product_uom,warehouse=parent.warehouse_id" name="product_id" on_change="product_id_change(parent.pricelist_id,product_id,product_qty,product_uom,parent.partner_id, parent.date_order, parent.fiscal_position)"/>
<field name="product_qty"/>
<field context="partner_id=parent.partner_id,quantity=product_qty,pricelist=parent.pricelist_id,uom=product_uom,warehouse=parent.warehouse_id" name="product_qty" on_change="product_id_change(parent.pricelist_id,product_id,product_qty,product_uom,parent.partner_id, parent.date_order, parent.fiscal_position)"/>
<field name="product_uom" on_change="product_uom_change(parent.pricelist_id,product_id,product_qty,product_uom,parent.partner_id, parent.date_order)"/>
<field colspan="4" name="name"/>
<field name="date_planned"/>

View File

@ -20,8 +20,14 @@
#
##############################################################################
import time
import datetime
import mx.DateTime
import pooler
from osv import fields,osv
def _code_get(self, cr, uid, context={}):
acc_type_obj = self.pool.get('account.account.type')
ids = acc_type_obj.search(cr, uid, [])
@ -41,6 +47,7 @@ class report_account_receivable(osv.osv):
'credit':fields.float('Credit', readonly=True),
}
_order = 'name desc'
def init(self, cr):
cr.execute("""
create or replace view report_account_receivable as (
@ -63,7 +70,86 @@ class report_account_receivable(osv.osv):
report_account_receivable()
#a.type in ('receivable','payable')
class temp_range(osv.osv):
_name = 'temp.range'
_description = 'A Temporary table used for Dashboard view'
_columns = {
'name' : fields.char('Range',size=64)
}
temp_range()
class report_aged_receivable(osv.osv):
_name = "report.aged.receivable"
_description = "Aged Receivable Till Today"
_auto = False
def __init__(self, pool, cr):
super(report_aged_receivable, self).__init__(pool, cr)
self.called = False
def fields_view_get(self, cr, user, view_id=None, view_type='form', context=None, toolbar=False):
""" To call the init() method timely
"""
if not self.called:
self.init(cr, user)
self.called = True # To make sure that init doesn't get called multiple times
res = super(report_aged_receivable, self).fields_view_get(cr, user, view_id, view_type, context, toolbar)
return res
def _calc_bal(self, cr, uid, ids, name, args, context):
res = {}
for period in self.read(cr,uid,ids,['name']):
date1,date2 = period['name'].split(' to ')
query = "SELECT SUM(credit-debit) FROM account_move_line AS line, account_account as ac \
WHERE (line.account_id=ac.id) AND ac.type='receivable' \
AND (COALESCE(line.date,date) BETWEEN '%s' AND '%s') \
AND (reconcile_id IS NULL) AND ac.active"%(str(date2),str(date1))
cr.execute(query)
amount = cr.fetchone()
amount = amount[0] or 0.00
res[period['id']] = amount
return res
_columns = {
'name': fields.char('Month Range', size=7, readonly=True),
'balance': fields.function(_calc_bal, method=True, string='Balance', readonly=True),
}
def init(self, cr, uid=1):
""" This view will be used in dashboard
"""
# ranges = _get_ranges(cr) # Gets the ranges for the x axis of the graph (name column values)
pool_obj_fy = pooler.get_pool(cr.dbname).get('account.fiscalyear')
today = mx.DateTime.strptime(time.strftime('%Y-%m-%d'), '%Y-%m-%d') - mx.DateTime.RelativeDateTime(days=1)
today = today.strftime('%Y-%m-%d')
fy_id = pool_obj_fy.find(cr,uid)
LIST_RANGES = []
if fy_id:
fy_start_date = pool_obj_fy.read(cr, uid, fy_id, ['date_start'])['date_start']
fy_start_date = mx.DateTime.strptime(fy_start_date, '%Y-%m-%d')
last_month_date = mx.DateTime.strptime(today, '%Y-%m-%d') - mx.DateTime.RelativeDateTime(months=1)
while (last_month_date > fy_start_date):
LIST_RANGES.append(today + " to " + last_month_date.strftime('%Y-%m-%d'))
today = (last_month_date- 1).strftime('%Y-%m-%d')
last_month_date = mx.DateTime.strptime(today, '%Y-%m-%d') - mx.DateTime.RelativeDateTime(months=1)
LIST_RANGES.append(today +" to " + fy_start_date.strftime('%Y-%m-%d'))
cr.execute('delete from temp_range')
for range in LIST_RANGES:
pooler.get_pool(cr.dbname).get('temp.range').create(cr, uid, {'name':range})
cr.execute("""
create or replace view report_aged_receivable as (
select id,name from temp_range
)""")
report_aged_receivable()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -49,5 +49,37 @@
</record>
<menuitem action="action_account_receivable_graph" id="menu_account_receivable_graph" parent="account.menu_finance_reporting"/>
<!-- Report for Aged Receivable -->
<record id="view_aged_recv_graph" model="ir.ui.view">
<field name="name">report.aged.receivable.graph</field>
<field name="model">report.aged.receivable</field>
<field name="type">graph</field>
<field name="arch" type="xml">
<graph string="Aged Receivable" type="bar">
<field name="name"/>
<field name="balance" operator="+"/>
</graph>
</field>
</record>
<record id="view_aged_recv_tree" model="ir.ui.view">
<field name="name">report.aged.receivable.tree</field>
<field name="model">report.aged.receivable</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Aged Receivable">
<field name="name"/>
<field name="balance"/>
</tree>
</field>
</record>
<record id="action_aged_receivable_graph" model="ir.actions.act_window">
<field name="name">Aged Receivable</field>
<field name="res_model">report.aged.receivable</field>
<field name="view_type">form</field>
<field name="view_mode">graph,tree</field>
</record>
</data>
</openerp>

View File

@ -149,9 +149,28 @@
<field name="domain">[('date_order','&gt;=',time.strftime('%Y-%m-01')),('state','&lt;&gt;','draft'),('state','&lt;&gt;','cancel')]</field>
</record>
<menuitem action="action_order_sale_list" id="menu_report_order_sale_list" parent="report_sale.next_id_81"/>
<record id="view_so_pipeline_graph" model="ir.ui.view">
<field name="name">sale.order.dashboard.graph</field>
<field name="model">sale.order</field>
<field name="type">graph</field>
<field name="arch" type="xml">
<graph string="Sales by State" type="bar">
<field name="state"/>
<field name="amount_total"/>
</graph>
</field>
</record>
<record id="action_so_pipeline" model="ir.actions.act_window">
<field name="name">Sales by State</field>
<field name="res_model">sale.order</field>
<field name="view_type">form</field>
<field name="view_mode">graph,tree</field>
<field name="view_id" ref="view_so_pipeline_graph"/>
<field name="domain">[('state','&lt;&gt;','done')]</field>
</record>
</data>
</openerp>

View File

@ -94,6 +94,7 @@ class report_timesheet_account_date(osv.osv):
'quantity': fields.float('Quantity', readonly=True),
}
_order = 'name desc,account_id desc,user_id desc'
def init(self, cr):
cr.execute("""
create or replace view report_timesheet_account_date as (
@ -152,5 +153,53 @@ class report_timesheet_invoice(osv.osv):
""")
report_timesheet_invoice()
class report_random_timsheet(osv.osv):
_name = "report.random.timesheet"
_description = "Random Timesheet Report"
_auto = False
_columns = {
'analytic_account_id' : fields.many2one('account.analytic.account','Analytic Account', readonly=True),
'name': fields.char('Description', size=64, readonly=True),
'quantity' : fields.float('Quantity', readonly=True),
'date': fields.date('Date', readonly=True),
'user_id' : fields.many2one('res.users', 'User', readonly=True)
}
_order = "date desc"
def __init__(self, pool, cr):
super(report_random_timsheet, self).__init__(pool, cr)
self.called = False
def fields_view_get(self, cr, user, view_id=None, view_type='form', context=None, toolbar=False):
""" To call the init() method timely
"""
if not self.called:
self.init(cr, user)
self.called = True # To make sure that init doesn't get called multiple times
res = super(report_random_timsheet, self).fields_view_get(cr, user, view_id, view_type, context, toolbar)
return res
def init(self, cr, uid=1):
cr.execute("""create or replace view report_random_timesheet as (
select
line.id as id, line.account_id as analytic_account_id, line.name as name,
line.unit_amount as quantity, line.date as date, line.user_id as user_id
from
account_analytic_line line, hr_department dept,hr_department_user_rel dept_user
where
(dept.id = dept_user.department_id AND dept_user.user_id=line.user_id AND line.user_id is not null)
AND (dept.manager_id = """ + str(uid) + """ )
AND (line.date < CURRENT_DATE AND line.date >= (CURRENT_DATE-3))
ORDER BY line.name LIMIT 10
)
""" )
report_random_timsheet()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -278,5 +278,30 @@
<act_window domain="[('manager_id', '=', active_id)]" id="act_res_users_2_report_timesheet_invoice" name="Costs to invoice" res_model="report_timesheet.invoice" src_model="res.users"/>
<!-- Random Timesheet -->
<record model="ir.ui.view" id="view_random_timesheet_tree">
<field name="name">report.random.timesheet.tree</field>
<field name="model">report.random.timesheet</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Random Timesheets">
<field name="analytic_account_id" select="1"/>
<field name="name" select="1"/>
<field name="quantity" select="2" />
<field name="date" select="1"/>
</tree>
</field>
</record>
<record model="ir.actions.act_window" id="action_random_timesheet_board">
<field name="type">ir.actions.act_window</field>
<field name="name">Random Timesheet</field>
<field name="res_model">report.random.timesheet</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="view_id" ref="view_random_timesheet_tree"/>
</record>
</data>
</openerp>

View File

@ -310,7 +310,10 @@ class sale_order(osv.osv):
pricelist = part.property_product_pricelist and part.property_product_pricelist.id or False
payment_term = part.property_payment_term and part.property_payment_term.id or False
fiscal_position = part.property_account_position and part.property_account_position.id or False
return {'value':{'partner_invoice_id': addr['invoice'], 'partner_order_id':addr['contact'], 'partner_shipping_id':addr['delivery'], 'pricelist_id': pricelist, 'payment_term' : payment_term, 'fiscal_position': fiscal_position}}
val = {'partner_invoice_id': addr['invoice'], 'partner_order_id':addr['contact'], 'partner_shipping_id':addr['delivery'], 'payment_term' : payment_term, 'fiscal_position': fiscal_position}
if pricelist:
val['pricelist_id'] = pricelist
return {'value':val}
def shipping_policy_change(self, cr, uid, ids, policy, context={}):
if not policy:

View File

@ -11,8 +11,8 @@
<form position="inside">
<group col="2" colspan="2">
<separator string="Accounting Stock Properties" colspan="2"/>
<field name="property_stock_account_input_categ"/>
<field name="property_stock_account_output_categ"/>
<field name="property_stock_account_input_categ" domain="[('type','&lt;&gt;','view'),('type','&lt;&gt;','consolidation')]"/>
<field name="property_stock_account_output_categ" domain="[('type','&lt;&gt;','view'),('type','&lt;&gt;','consolidation')]"/>
<field name="property_stock_journal"/>
</group>
</form>
@ -34,8 +34,8 @@
<field name="property_stock_production"/>
<field name="property_stock_inventory"/>
<separator string="Accounting Entries" colspan="4"/>
<field name="property_stock_account_input"/>
<field name="property_stock_account_output"/>
<field name="property_stock_account_input" domain="[('type','&lt;&gt;','view'),('type','&lt;&gt;','consolidation')]"/>
<field name="property_stock_account_output" domain="[('type','&lt;&gt;','view'),('type','&lt;&gt;','consolidation')]"/>
</page>
</page>
</field>
@ -50,8 +50,8 @@
<field name="priority">26</field>
<field name="arch" type="xml">
<field name="property_account_expense" position="after">
<field name="property_stock_account_output"/>
<field name="property_stock_account_input"/>
<field name="property_stock_account_output" domain="[('type','&lt;&gt;','view'),('type','&lt;&gt;','consolidation')]"/>
<field name="property_stock_account_input" domain="[('type','&lt;&gt;','view'),('type','&lt;&gt;','consolidation')]"/>
</field>
</field>
</record>

Some files were not shown because too many files have changed in this diff Show More