bzr revid: nch@tinyerp.com-20081120063954-rcd2jrs8on9fiz0w
This commit is contained in:
Naresh Choksy 2008-11-20 12:09:54 +05:30
commit 379e9a98ff
142 changed files with 965 additions and 603 deletions

View File

@ -154,6 +154,13 @@ class account_account(osv.osv):
args[pos] = ('id','in',ids1)
pos+=1
if context and context.has_key('consolidate_childs'): #add concolidated childs of accounts
ids = super(account_account,self).search(cr, uid, args, offset, limit,
order, context=context, count=count)
for consolidate_child in self.browse(cr, uid, context['account_id']).child_consol_ids:
ids.append(consolidate_child.id)
return ids
return super(account_account,self).search(cr, uid, args, offset, limit,
order, context=context, count=count)

View File

@ -58,6 +58,7 @@
<field name="price_unit" select="1"/>
<field name="discount"/>
<field colspan="4" name="name" select="1"/>
<field colspan="4" name="origin" select="1"/>
<field domain="[('company_id', '=', parent.company_id), ('journal_id', '=', parent.journal_id), ('type', '&lt;&gt;', 'view')]" name="account_id" on_change="onchange_account_id(parent.partner_id,account_id)"/>
<field domain="[('type','&lt;&gt;','view'), ('company_id', '=', parent.company_id)]" name="account_analytic_id"/>
<newline/>

View File

@ -676,7 +676,83 @@ class account_move_line(osv.osv):
if update_check:
if ('account_id' in vals) or ('journal_id' in vals) or ('period_id' in vals) or ('move_id' in vals) or ('debit' in vals) or ('credit' in vals) or ('date' in vals):
self._update_check(cr, uid, ids, context)
obj_line=self.browse(cr, uid, ids[0])
lines={}
obj_analytic_line=self.pool.get('account.analytic.line')
analytic=True
journal_flag=False
del_line=False
if ('journal_id' in vals):
journal=self.pool.get('account.journal').browse(cr,uid,vals['journal_id'])
journal_flag=True
if not journal.analytic_journal_id:
del_line=True
if ('analytic_account_id' in vals) and (not vals['analytic_account_id']):
del_line=True
if del_line:
for obj in obj_line.analytic_lines:
obj_analytic_line.unlink(cr,uid,obj.id)
analytic=False
if obj_line.analytic_lines:
mode='write'
else:
mode='create'
if obj_line.analytic_lines and analytic:
if ('analytic_account_id' in vals):
lines['account_id'] = vals['analytic_account_id']
if ('account_id' in vals):
lines['general_account_id'] = vals['account_id']
if ('name' in vals):
lines['name'] = vals['name']
if ('date' in vals):
lines['date'] = vals['date']
if ('ref' in vals and vals['ref']):
lines['ref'] = vals['ref']
if ('quantity' in vals and vals['quantity']):
lines['unit_amount'] = vals['quantity']
if ('credit' in vals and vals['credit']):
lines['amount'] = vals['credit']
if ('debit' in vals and vals['debit']):
lines['amount'] = vals['debit']
if journal_flag:
lines['journal_id']=journal.analytic_journal_id.id
if lines:
if mode=='write':
obj_analytic_line.write(cr,uid,obj_line.analytic_lines[0].id,lines,context)
result = super(osv.osv, self).write(cr, uid, ids, vals, context)
if mode=='create' and analytic and obj_line.analytic_account_id:
if obj_line.journal_id.analytic_journal_id:
vals_lines={
'name': obj_line.name,
'date': obj_line.date,
'account_id': obj_line.analytic_account_id.id,
'unit_amount':obj_line.quantity,
'amount': obj_line.debit or obj_line.credit,
'general_account_id': obj_line.account_id.id,
'journal_id': obj_line.journal_id.analytic_journal_id.id,
'ref': obj_line.ref,
'move_id':obj_line.id
}
obj_analytic_line.create(cr,uid,vals_lines)
if check:
done = []
for line in self.browse(cr, uid, ids):
@ -786,20 +862,20 @@ class account_move_line(osv.osv):
if not ok:
raise osv.except_osv(_('Bad account !'), _('You can not use this general account in this journal !'))
result = super(osv.osv, self).create(cr, uid, vals, context)
# result = super(osv.osv, self).create(cr, uid, vals, context)
if 'analytic_account_id' in vals and vals['analytic_account_id']:
if journal.analytic_journal_id:
vals['analytic_lines'] = [(0,0, {
'name': vals['name'],
'date': vals['date'],
'account_id': vals['analytic_account_id'],
'unit_amount': vals['quantity'],
'unit_amount':'quantity' in vals and vals['quantity'] or 1.0,
'amount': vals['debit'] or vals['credit'],
'general_account_id': vals['account_id'],
'journal_id': journal.analytic_journal_id.id,
'ref': vals['ref'],
})]
result = super(osv.osv, self).create(cr, uid, vals, context)
# CREATE Taxes
if 'account_tax_id' in vals and vals['account_tax_id']:
tax_id=tax_obj.browse(cr,uid,vals['account_tax_id'])

View File

@ -172,7 +172,6 @@
<field name="name">Chart of Accounts</field>
<field name="res_model">account.account</field>
<field name="view_type">tree</field>
<field name="view_mode">form</field>
<field name="view_id" ref="view_account_tree"/>
<field name="domain">[('parent_id','=',False)]</field>
</record>
@ -717,10 +716,10 @@
<page string="Analytic Lines">
<field colspan="4" name="analytic_lines" nolabel="1"/>
</page>
<page string="Move Lines">
<!--<page string="Move Lines">
<field colspan="4" name="reconcile_implicit"/>
<field colspan="4" name="parent_move_lines" nolabel="0"/>
</page>
</page>-->
</notebook>
</form>
</field>

File diff suppressed because it is too large Load Diff

View File

@ -861,6 +861,7 @@ class account_invoice_line(osv.osv):
_description = "Invoice line"
_columns = {
'name': fields.char('Description', size=256, required=True),
'origin': fields.char('Origin', size=256, help="Reference of the document that produced this invoice."),
'invoice_id': fields.many2one('account.invoice', 'Invoice Ref', ondelete='cascade', select=True),
'uos_id': fields.many2one('product.uom', 'Unit of Measure', ondelete='set null'),
'product_id': fields.many2one('product.product', 'Product', ondelete='set null'),

View File

@ -36,27 +36,27 @@ from osv import osv
class general_ledger(rml_parse.rml_parse):
_name = 'report.account.general.ledger'
def preprocess(self, objects, data, ids):
##
self.borne_date = self.get_min_date(data['form'])
##
new_ids = []
if (data['model'] == 'account.account'):
new_ids = ids
else:
new_ids.append(data['form']['Account_list'])
objects = self.pool.get('account.account').browse(self.cr, self.uid, new_ids)
super(general_ledger, self).preprocess(objects, data, new_ids)
def __init__(self, cr, uid, name, context):
super(general_ledger, self).__init__(cr, uid, name, context)
self.date_borne = {}
@ -64,7 +64,7 @@ class general_ledger(rml_parse.rml_parse):
self.child_ids = ""
self.tot_currency = 0.0
self.period_sql = ""
self.sold_accounts = {}
self.sold_accounts = {}
self.localcontext.update( {
'time': time,
'lines': self.lines,
@ -73,7 +73,7 @@ class general_ledger(rml_parse.rml_parse):
'sum_solde_account': self._sum_solde_account,
'sum_debit': self._sum_debit,
'sum_credit': self._sum_credit,
'sum_solde': self._sum_solde,
'sum_solde': self._sum_solde,
'get_children_accounts': self.get_children_accounts,
'sum_currency_amount_account': self._sum_currency_amount_account
})
@ -82,7 +82,7 @@ class general_ledger(rml_parse.rml_parse):
result = {}
#for id in ids:
# result.setdefault(id, False)
for account_line in self.pool.get('account.move.line').browse(cr, uid, ids, context):
# For avoid long text in the field we will limit it to 5 lines
#
@ -92,7 +92,7 @@ class general_ledger(rml_parse.rml_parse):
num_id_move = str(account_line.move_id.id)
num_id_line = str(account_line.id)
account_id = str(account_line.account_id.id)
# search the basic account
# search the basic account
# We have the account ID we will search all account move line from now until this time
# We are in the case of we are on the top of the account move Line
cr.execute('SELECT distinct(ac.code) as code_rest,ac.name as name_rest from account_account AS ac, account_move_line mv\
@ -115,10 +115,8 @@ class general_ledger(rml_parse.rml_parse):
return result
def get_children_accounts(self, account, form):
self.child_ids = self.pool.get('account.account').search(self.cr, self.uid,
[('parent_id', 'child_of', self.ids)])
res = []
ctx = self.context.copy()
## We will make the test for period or date
@ -130,20 +128,21 @@ class general_ledger(rml_parse.rml_parse):
else:
ctx['date_from'] = form['date_from']
ctx['date_to'] = form['date_to']
#
#
#
self.query = self.pool.get('account.move.line')._query_get(self.cr, self.uid, context=ctx)
for child_id in self.pool.get('account.account').search(self.cr, self.uid,
[('parent_id', 'child_of', [account.id])]):
if account and account.child_consol_ids: # add ids of consolidated childs also of selected account
ctx['consolidate_childs'] = True
ctx['account_id'] = account.id
ids_acc = self.pool.get('account.account').search(self.cr, self.uid,[('parent_id', 'child_of', [account.id])],context=ctx)
for child_id in ids_acc:
child_account = self.pool.get('account.account').browse(self.cr, self.uid, child_id)
sold_account = self._sum_solde_account(child_account,form)
self.sold_accounts[child_account.id] = sold_account
if form['display_account'] == 'bal_mouvement':
if child_account.type != 'view' \
and len(self.pool.get('account.move.line').search(self.cr, self.uid,
@ -158,52 +157,51 @@ class general_ledger(rml_parse.rml_parse):
context=ctx)) <> 0 :
if ( sold_account <> 0.0):
res.append(child_account)
else:
else:
if child_account.type != 'view' \
and len(self.pool.get('account.move.line').search(self.cr, self.uid,
[('account_id','>=',child_account.id)],
context=ctx)) <> 0 :
res.append(child_account)
##
## We will now compute solde initiaux
if not len(res):
return[account]
else:
for move in res:
SOLDEINIT = "SELECT sum(l.debit) AS sum_debit, sum(l.credit) AS sum_credit FROM account_move_line l WHERE l.account_id = " + str(move.id) + " AND l.date <= '" + self.borne_date['max_date'] + "'" + " AND l.date >= '" + self.borne_date['min_date'] + "'"
self.cr.execute(SOLDEINIT)
resultat = self.cr.dictfetchall()
resultat = self.cr.dictfetchall()
if resultat[0] :
if resultat[0]['sum_debit'] == None:
sum_debit = 0
else:
sum_debit = resultat[0]['sum_debit']
if resultat[0]['sum_credit'] == None:
sum_credit = 0
else:
sum_credit = resultat[0]['sum_credit']
move.init_credit = sum_credit
move.init_debit = sum_debit
else:
move.init_credit = 0
move.init_debit = 0
##
return res
def get_min_date(self,form):
## Get max born from account_fiscal year
#
sql = """ select min(fy.date_start) as start_date,max(fy.date_stop) as stop_date from account_fiscalyear
@ -218,9 +216,9 @@ class general_ledger(rml_parse.rml_parse):
periods = form['periods'][0][2]
if not periods:
sql = """
Select min(p.date_start) as start_date,max(p.date_stop) as stop_date from account_period as p where p.fiscalyear_id = """ + str(form['fiscalyear']) + """
Select min(p.date_start) as start_date,max(p.date_stop) as stop_date from account_period as p where p.fiscalyear_id = """ + str(form['fiscalyear']) + """
"""
else:
else:
periods_id = ','.join(map(str, periods))
sql = """
Select min(p.date_start) as start_date,max(p.date_stop) as stop_date from account_period as p where p.id in ( """ + periods_id + """)
@ -236,9 +234,9 @@ class general_ledger(rml_parse.rml_parse):
periods = form['periods'][0][2]
if not periods:
sql = """
Select min(p.date_start) as start_date,max(p.date_stop) as stop_date from account_period as p where p.fiscalyear_id = """ + str(form['fiscalyear']) + """
Select min(p.date_start) as start_date,max(p.date_stop) as stop_date from account_period as p where p.fiscalyear_id = """ + str(form['fiscalyear']) + """
"""
else:
else:
periods_id = ','.join(map(str, periods))
sql = """
Select min(p.date_start) as start_date,max(p.date_stop) as stop_date from account_period as p where p.id in ( """ + periods_id + """)
@ -270,8 +268,8 @@ class general_ledger(rml_parse.rml_parse):
}
return self.date_borne
def lines(self, account, form):
inv_types = {
'out_invoice': 'CI: ',
@ -280,27 +278,27 @@ class general_ledger(rml_parse.rml_parse):
'in_refund': 'SR: ',
}
### We will now compute solde initaux
if form['sortbydate'] == 'sort_date':
sorttag = 'l.date'
else:
sorttag = 'j.code'
sql = """
SELECT l.id, l.date, j.code,c.code AS currency_code,l.amount_currency,l.ref, l.name , l.debit, l.credit, l.period_id
SELECT l.id, l.date, j.code,c.code AS currency_code,l.amount_currency,l.ref, l.name , l.debit, l.credit, l.period_id
FROM account_move_line as l
LEFT JOIN res_currency c on (l.currency_id=c.id)
LEFT JOIN res_currency c on (l.currency_id=c.id)
JOIN account_journal j on (l.journal_id=j.id)
AND account_id = %d
AND %s
WHERE l.date<='%s'
AND l.date>='%s'
ORDER by %s"""%(account.id,self.query,self.date_borne['max_date'],self.date_borne['min_date'],sorttag)
AND %s
WHERE l.date<='%s'
AND l.date>='%s'
ORDER by %s"""%(account.id,self.query,self.date_borne['max_date'],self.date_borne['min_date'],sorttag)
self.cr.execute(sql)
res = self.cr.dictfetchall()
res = self.cr.dictfetchall()
sum = 0.0
account_move_line_obj = pooler.get_pool(self.cr.dbname).get('account.move.line')
for l in res:
@ -324,7 +322,7 @@ class general_ledger(rml_parse.rml_parse):
if (l['credit'] > 0):
if l['amount_currency'] != None:
l['amount_currency'] = abs(l['amount_currency']) * -1
#
if l['amount_currency'] != None:
self.tot_currency = self.tot_currency + l['amount_currency']
@ -356,7 +354,7 @@ class general_ledger(rml_parse.rml_parse):
sum_credit += account.init_credit
#
##
return sum_credit
def _sum_solde_account(self, account, form):
@ -366,7 +364,7 @@ class general_ledger(rml_parse.rml_parse):
sum_solde = self.cr.fetchone()[0] or 0.0
if form['soldeinit']:
sum_solde += account.init_debit - account.init_credit
return sum_solde
@ -402,7 +400,7 @@ class general_ledger(rml_parse.rml_parse):
# "WHERE l.account_id in ("+','.join(map(str, child_ids))+") AND "+query+period_sql)
sum_solde = self.cr.fetchone()[0] or 0.0
return sum_solde
def _set_get_account_currency_code(self, account_id):
self.cr.execute("SELECT c.code as code "\
"FROM res_currency c,account_account as ac "\
@ -412,20 +410,20 @@ class general_ledger(rml_parse.rml_parse):
self.account_currency = result[0]
else:
self.account_currency = False
def _sum_currency_amount_account(self, account, form):
self._set_get_account_currency_code(account.id)
self.cr.execute("SELECT sum(aml.amount_currency) FROM account_move_line as aml,res_currency as rc WHERE aml.currency_id = rc.id AND aml.account_id= %d "%account.id)
total = self.cr.fetchone()
if self.account_currency:
return_field = str(total[0]) + self.account_currency
return return_field
else:
currency_total = self.tot_currency = 0.0
return currency_total
report_sxw.report_sxw('report.account.general.ledger', 'account.account', 'addons/account/report/general_ledger.rml', parser=general_ledger, header=False)

View File

@ -199,8 +199,11 @@ class general_ledger_landscape(rml_parse.rml_parse):
#
self.query = self.pool.get('account.move.line')._query_get(self.cr, self.uid, context=ctx)
for child_id in self.pool.get('account.account').search(self.cr, self.uid,[('parent_id', 'child_of', [account.id])]):
if account and account.child_consol_ids: # add ids of consolidated childs also of selected account
ctx['consolidate_childs'] = True
ctx['account_id'] = account.id
ids_acc = self.pool.get('account.account').search(self.cr, self.uid,[('parent_id', 'child_of', [account.id])], context=ctx)
for child_id in ids_acc:
child_account = self.pool.get('account.account').browse(self.cr, self.uid, child_id)
sold_account = self._sum_solde_account(child_account,form)
self.sold_accounts[child_account.id] = sold_account
@ -294,9 +297,9 @@ class general_ledger_landscape(rml_parse.rml_parse):
else :
l['partner'] = ''
sum = l['debit'] - l ['credit']
c = time.strptime(l['date'],"%Y-%m-%d")
l['date'] = time.strftime("%d-%m-%Y",c)
l['progress'] = sum

View File

@ -1,7 +1,7 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2008 Tiny SPRL (<http://tiny.be>). All Rights Reserved
# $Id$
#
@ -27,6 +27,7 @@ class wizard_move_line_select(wizard.interface):
def _open_window(self, cr, uid, data, context):
mod_obj = pooler.get_pool(cr.dbname).get('ir.model.data')
act_obj = pooler.get_pool(cr.dbname).get('ir.actions.act_window')
account_obj = pooler.get_pool(cr.dbname).get('account.account')
fiscalyear_obj = pooler.get_pool(cr.dbname).get('account.fiscalyear')
if not context.get('fiscalyear', False):
@ -48,6 +49,10 @@ class wizard_move_line_select(wizard.interface):
'fiscalyear': context.get('fiscalyear', False),
'account_id': data['id']
}
if data['id']:
acc_data = account_obj.browse(cr, uid, data['id']).child_consol_ids
if acc_data:
result['context'].update({'consolidate_childs': True})
result['domain']=result['domain'][0:-1]+','+domain+result['domain'][-1]
return result

View File

@ -1,4 +1,4 @@
# Translation of OpenERP Server.
# Translation of OpenERP Server.
# This file containt the translation of the following modules:
# * account_analytic_analysis
#
@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-09-05 16:28+0000\n"
"PO-Revision-Date: 2008-10-09 12:57+0000\n"
"Last-Translator: Olivier Laurent <Unknown>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@ -18,11 +18,9 @@ msgstr ""
#. module: account_analytic_analysis
#: constraint:ir.model:0
msgid ""
"The Object name must start with x_ and not contain any special character !"
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 !"
"Le nom de l'objet doit commencer avec x_ et ne pas contenir de charactères spéciaux !"
#. module: account_analytic_analysis
#: field:account.analytic.account,remaining_ca:0

View File

@ -1,4 +1,4 @@
# Translation of OpenERP Server.
# Translation of OpenERP Server.
# This file containt the translation of the following modules:
# * account_analytic_default
#
@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-09-05 16:25+0000\n"
"PO-Revision-Date: 2008-10-09 13:01+0000\n"
"Last-Translator: Olivier Laurent <Unknown>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@ -1,7 +1,7 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2008 Tiny SPRL (<http://tiny.be>). All Rights Reserved
# $Id$
#
@ -20,7 +20,7 @@
#
##############################################################################
{
"name" : "Multiple-plans management in analytic accounting",
"name" : "Multiple-plans management in Analytic Accounting",
"version" : "1.0",
"depends" : ["account", "account_analytic_default"],
"author" : "Tiny",

View File

@ -135,12 +135,14 @@ class account_analytic_plan_instance(osv.osv):
def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False):
wiz_id = self.pool.get('ir.actions.wizard').search(cr, uid, [("wiz_name","=","create.model")])
res = super(account_analytic_plan_instance,self).fields_view_get(cr, uid, view_id, view_type, context, toolbar)
if (res['type']=='form'):
plan_id = False
if context.get('journal_id',False):
plan_id = self.pool.get('account.journal').browse(cr, uid, int(context['journal_id']), context).plan_id
elif context.get('plan_id',False):
plan_id = self.pool.get('account.analytic.plan').browse(cr, uid, int(context['plan_id']), context).plan_id
plan_id = self.pool.get('account.analytic.plan').browse(cr, uid, int(context['plan_id']), context)
if plan_id:
i=1
res['arch'] = """<form string="%s">
@ -325,8 +327,6 @@ class account_invoice(osv.osv):
_name = "account.invoice"
_inherit="account.invoice"
def line_get_convert(self, cr, uid, x, part, date, context={}):
res=super(account_invoice,self).line_get_convert(cr, uid, x, part, date, context)
res['analytics_id']=x.get('analytics_id',False)

View File

@ -115,7 +115,7 @@
<act_window name="Distribution Models"
domain="[('plan_id', '=', active_id),('plan_id','&lt;&gt;',False)]"
context="{'plan_id': active_id}"
res_model="account.analytic.instance"
res_model="account.analytic.plan.instance"
src_model="account.analytic.plan"
id="account_analytic_instance_model_open"/>

View File

@ -1,4 +1,4 @@
# Translation of OpenERP Server.
# Translation of OpenERP Server.
# This file containt the translation of the following modules:
# * account_analytic_plans
#
@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-09-05 16:29+0000\n"
"PO-Revision-Date: 2008-10-09 13:24+0000\n"
"Last-Translator: Olivier Laurent <Unknown>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@ -1,4 +1,4 @@
# Translation of OpenERP Server.
# Translation of OpenERP Server.
# This file containt the translation of the following modules:
# * account_balance
#
@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-09-05 16:29+0000\n"
"PO-Revision-Date: 2008-10-09 14:13+0000\n"
"Last-Translator: Olivier Laurent <Unknown>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@ -12,7 +12,7 @@
<!--
Budgets
-->
<record id="view_budget_post_tree" model="ir.ui.view">
<field name="name">account.budget.post.tree</field>
<field name="model">account.budget.post</field>
@ -80,7 +80,7 @@
<field name="crossovered_budget_line" widget="one2many_list" colspan="4" nolabel="1" mode="graph,tree">
<graph type="bar" string="Lines">
<field name="analytic_account_id" />
<field name="general_budget_id" operator="+" />
<!--<field name="general_budget_id" operator="+" />-->
<field name="planned_amount" operator="+"/>
<field group="True" name="general_budget_id"/>
</graph>
@ -270,7 +270,7 @@
</form>
<graph type="bar" string="Lines">
<field name="general_budget_id" />
<field name="analytic_account_id" operator="+"/>
<!--<field name="analytic_account_id" operator="+"/>-->
<field name="planned_amount" operator="+"/>
<field group="True" name="analytic_account_id"/>
</graph>

View File

@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-09-05 16:26+0000\n"
"PO-Revision-Date: 2008-10-14 10:30+0000\n"
"Last-Translator: Olivier Laurent <Unknown>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@ -1,4 +1,4 @@
# Translation of OpenERP Server.
# Translation of OpenERP Server.
# This file containt the translation of the following modules:
# * account_date_check
#
@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-09-05 16:23+0000\n"
"PO-Revision-Date: 2008-10-10 06:24+0000\n"
"Last-Translator: Olivier Laurent <Unknown>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@ -1,4 +1,4 @@
# Translation of OpenERP Server.
# Translation of OpenERP Server.
# This file containt the translation of the following modules:
# * account_followup
#
@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-09-05 16:26+0000\n"
"PO-Revision-Date: 2008-10-10 06:38+0000\n"
"Last-Translator: Olivier Laurent <Unknown>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@ -1,4 +1,4 @@
# Translation of OpenERP Server.
# Translation of OpenERP Server.
# This file containt the translation of the following modules:
# * account_invoice_layout
#
@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-09-05 16:12+0000\n"
"PO-Revision-Date: 2008-10-10 06:56+0000\n"
"Last-Translator: Olivier Laurent <Unknown>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@ -1,4 +1,4 @@
# Translation of OpenERP Server.
# Translation of OpenERP Server.
# This file containt the translation of the following modules:
# * account_payment
#
@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-09-05 16:29+0000\n"
"PO-Revision-Date: 2008-10-10 08:14+0000\n"
"Last-Translator: Olivier Laurent <Unknown>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@ -74,7 +74,7 @@ class account_report(osv.osv):
del context['fiscalyear']
acc = self.pool.get('account.account')
acc_id = acc.search(cr, uid, [('code','in',code)])
return reduce(lambda y,x=0: x.credit+y, acc.browse(cr, uid, acc_id, context),0)
return reduce(lambda y,x=0: x.credit+y, acc.browse(cr, uid, acc_id, context),0.0)
def _calc_debit(code,year=0):
context['fiscalyear']=_calc_context(year,obj_fy)
@ -82,7 +82,7 @@ class account_report(osv.osv):
del context['fiscalyear']
acc = self.pool.get('account.account')
acc_id = acc.search(cr, uid, [('code','in',code)])
return reduce(lambda y,x=0: x.debit+y, acc.browse(cr, uid, acc_id, context),0)
return reduce(lambda y,x=0: x.debit+y, acc.browse(cr, uid, acc_id, context),0.0)
def _calc_balance(code,year=0):
context['fiscalyear']=_calc_context(year,obj_fy)
@ -90,12 +90,12 @@ class account_report(osv.osv):
del context['fiscalyear']
acc = self.pool.get('account.account')
acc_id = acc.search(cr, uid, [('code','in',code)])
return reduce(lambda y,x=0: x.balance+y, acc.browse(cr, uid, acc_id, context),0)
return reduce(lambda y,x=0: x.balance+y, acc.browse(cr, uid, acc_id, context),0.0)
def _calc_report(*code):
acc = self.pool.get('account.report.report')
acc_id = acc.search(cr, uid, [('code','in',code)])
return reduce(lambda y,x=0: x.amount+y, acc.browse(cr, uid, acc_id, context),0)
return reduce(lambda y,x=0: x.amount+y, acc.browse(cr, uid, acc_id, context),0.0)
def _calc_tax_code(code,period=0):
context['period_id']=_calc_context(period,obj_period)
@ -104,7 +104,7 @@ class account_report(osv.osv):
context['period_id']=context['period_id'][0]
acc = self.pool.get('account.tax.code')
acc_id = acc.search(cr, uid, [('code','in',code)])
return reduce(lambda y,x=0: x.sum_period+y, acc.browse(cr, uid, acc_id, context),0)
return reduce(lambda y,x=0: x.sum_period+y, acc.browse(cr, uid, acc_id, context),0.0)
result = {}
for rep in self.browse(cr, uid, ids, context):
objdict = {

View File

@ -5,5 +5,12 @@
<report auto="False" id="report_print_indicators" model="account.report.history" name="print.indicators" rml="account_report/report/print_indicator.rml" string="Indicators"/>
<report
auto="False"
id="report_indicator_pdf"
menu="False"
model="account.report.report"
name="print.indicator.pdf"
string="Print Indicators in PDF"/>
</data>
</openerp>

View File

@ -3,5 +3,8 @@
<data>
<wizard id="wizard_print_indicators" name="print.indicators" string="Print Indicators"/>
<menuitem action="wizard_print_indicators" type="wizard" parent="account_report.menu_action_account_report_tree_view" id="menu_wizard_print_indicators"/>
<wizard id="wizard_indicators_with_pdf" model="account.report.report" name="print.indicators.pdf" string="Indicators in PDF" keyword="client_action_multi" />
<!--<menuitem action="wizard_indicators_with_pdf" type="wizard" parent="account_report.menu_action_account_report_tree_view" id="menu_wizard_print_indicators_with_pdf"/>-->
</data>
</openerp>

View File

@ -1,4 +1,4 @@
# Translation of OpenERP Server.
# Translation of OpenERP Server.
# This file containt the translation of the following modules:
# * account_report
#
@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-09-05 13:23+0000\n"
"PO-Revision-Date: 2008-10-10 08:15+0000\n"
"Last-Translator: Olivier Laurent <Unknown>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@ -96,6 +96,7 @@ class accounting_report_indicator(report_sxw.rml_parse):
self.treecount=0
self.list=[]
self.header_name=self.header_val=[]
self.main_dict={}
def repeatIn(self, lst, name, nodes_parent=False,td=False,width=[],value=[],type=[]):
self._node.data = ''
@ -202,39 +203,62 @@ class accounting_report_indicator(report_sxw.rml_parse):
theme.default_font_size = 12
tb = text_box.T(loc=(0,700),line_style=line_style.darkblue,text=str(obj_history.code))
base_x=100
base_y=700
if obj_history.child_ids:
tb.add_arrow((100, 700))
can.line(line_style.black,base_x-30,base_y,base_x-30,base_y-(50*(len(obj_history.child_ids)-1)))
tb.draw()
self.child_dist=0
def draw_tree(obj_his,base_x,base_y,level=0):
self.child_dist=0
for i in range(len(obj_his.child_ids)):
can.line(line_style.black,base_x-30,base_y,base_x-30,base_y-(50*(i+len(obj_his.child_ids[i].child_ids))))
if i<>0:
a = arrow.T(head_style = 1)
if self.child_dist:
diff=self.child_dist
else:
diff=self.child_dist+i
a.draw([(base_x-(30),base_y-(50*diff)), (base_x,base_y-(50*diff))])
if obj_his.child_ids[i].child_ids:
tb12 = text_box.T(loc=(base_x,base_y-(50*(self.child_dist))), text=str(obj_his.child_ids[i].code))
tb12.add_arrow((base_x+(100*(level+1)),base_y-(50*(self.child_dist))))
tb12.draw()
draw_tree(obj_his.child_ids[i],base_x+(100*(level+1)),base_y-(50*(self.child_dist)),level+1)
level=0
self.level=0
self.child_dist=0
def draw_tree(obj_history,base_x,base_y,level=0,i=0):
self.line_y=base_y
if obj_history.child_ids:
if self.child_dist:
diff=i*self.child_dist
self.child_dist=0
else:
tb12 = text_box.T(loc=(base_x,base_y-(50*(i+self.child_dist))), text=str(obj_his.child_ids[i].code))
tb12.draw()
self.child_dist=len(obj_his.child_ids[i].child_ids)
#
draw_tree(obj_history,base_x,base_y,0)
diff=i
if self.level>0 and (base_y-(50*diff)) >= self.level:
base_y=self.level-(50*i)
else:
base_y=base_y-(50*diff)
tb = text_box.T(loc=(base_x,base_y),line_style=line_style.darkblue,text="/hC"+str(obj_history.code)+":\n"+str(obj_history.amount))
tb.add_arrow((base_x+100,base_y))
tb.draw()
if level!=0:
a = arrow.T(head_style = 1)
a.draw([(base_x-30,base_y), (base_x,base_y)])
level+=1
if i>0:
can.line(line_style.black,base_x-30,base_y,base_x-30,self.line_y)
i=0
for child in obj_history.child_ids:
draw_tree(child,base_x+(100),base_y,level,i)
i+=1
child_dist=len(obj_history.child_ids)
self.child_dist=max(self.child_dist,child_dist)
else:
if self.level>0 and (base_y-(50*i)) >= self.level:
base_y=self.level-(50)
else:
base_y=base_y-(50*(i))
tb12 = text_box.T(loc=(base_x,base_y), text="/hC"+str(obj_history.code)+":\n"+str(obj_history.amount))
tb12.draw()
if i>0:
can.line(line_style.black,base_x-30,base_y,base_x-30,self.line_y)
a = arrow.T(head_style = 1)
a.draw([(base_x-30,base_y), (base_x,base_y)])
self.level=base_y
self.line_y=900
draw_tree(obj_history,0,900,0)
can.close()
os.system('cp '+'tree_image'+str(self.treecount)+'.png ' +path+str(self.treecount)+'.png')

View File

@ -1,7 +1,7 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2008 Tiny SPRL (<http://tiny.be>). All Rights Reserved
# $Id$
#
@ -21,5 +21,6 @@
##############################################################################
import wizard_print_indicators
import wizard_print_indicators_with_pdf
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -0,0 +1,109 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2008 Tiny SPRL (<http://tiny.be>). All Rights Reserved
# $Id$
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
import wizard
import pooler
import time
import datetime
import sys
from mx.DateTime import *
import tools
from report.render import render
from report.interface import report_int
import os
import base64
import StringIO
form = '''<?xml version="1.0"?>
<form string="Print Indicators with PDF">
<label string="Select the PDF file on which Indicators will be printed."/>
<newline/>
<field name="file" colspan="4"/>
</form>'''
fields = {
'file': {'string':'Select a PDF File', 'type':'binary','required':True,'filters':['*.pdf']},
}
class external_pdf(render):
def __init__(self, pdf):
render.__init__(self)
self.pdf = pdf
self.output_type='pdf'
def _render(self):
return self.pdf
class report_custom(report_int):
def create(self, cr, uid, ids, data, context={}):
pool = pooler.get_pool(cr.dbname)
obj_indicator = pool.get('account.report.report')
code_ids = obj_indicator.browse(cr,uid,data['id'])
self.list={}
def find_child(obj):
self.list[obj.code]=str(obj.amount)
if obj.child_ids:
for child in obj.child_ids:
find_child(child)
return True
find_child(code_ids)
file_contents=base64.decodestring(data['form']['file'])
fp = StringIO.StringIO(file_contents)
infile = open(tools.config['addons_path']+"/test.pdf", 'wb')
infile.write(fp.read())
infile.close()
obj_user=pool.get('res.users').browse(cr,uid,uid)
self.list['printing_user']=obj_user.name
self.list['company_name']=obj_user.company_id.name
self.list['company_vat']=obj_user.company_id.partner_id.vat
self.list['printing_time']=time.strftime('%H:%M:%S')
self.list['printing_date']=time.strftime('%D')
tools.pdf_utils.fill_pdf(tools.config['addons_path']+"/test.pdf",'/tmp/output.pdf',self.list)
self.obj = external_pdf(file('/tmp/output.pdf').read())
self.obj.render()
return (self.obj.pdf, 'pdf')
report_custom('report.print.indicator.pdf')
class wizard_print_indicators_with_pdf(wizard.interface):
states = {
'init': {
'actions': [],
'result': {'type': 'form', 'arch':form, 'fields':fields, 'state':[('end','Cancel'),('print','Print')]}
},
'print': {
'actions':[],
'result' :{'type':'print','report':'print.indicator.pdf', 'state':'end'}
}
}
wizard_print_indicators_with_pdf('print.indicators.pdf')
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -1,4 +1,4 @@
# Translation of OpenERP Server.
# Translation of OpenERP Server.
# This file containt the translation of the following modules:
# * account_reporting
#
@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-09-05 16:32+0000\n"
"PO-Revision-Date: 2008-10-09 14:29+0000\n"
"Last-Translator: Olivier Laurent <Unknown>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-09-05 16:27+0000\n"
"PO-Revision-Date: 2008-10-09 20:00+0000\n"
"Last-Translator: Fabien Pinckaers <Unknown>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-10-28 11:52:53+0000\n"
"PO-Revision-Date: 2008-10-28 11:52:53+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"

View File

@ -1,7 +1,7 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2008 Tiny SPRL (<http://tiny.be>). All Rights Reserved
# $Id$
#
@ -22,12 +22,13 @@
{
"name" : "Auction module",
"version" : "1.0",
"category" : "Generic Modules/Auction",
"depends" : ["base","account","l10n_be","hr_attendance"],
"update_xml" : [
# FIXME: review security rules...
"security/ir.model.access.csv",
"auction_view.xml",
"auction_report.xml",
"auction_view.xml",
"auction_report.xml",
"auction_wizard.xml",
],
"demo_xml" : [

View File

@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-09-05 16:25+0000\n"
"PO-Revision-Date: 2008-10-14 15:04+0000\n"
"Last-Translator: Olivier Laurent <Unknown>\n"
"Language-Team: \n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@ -1,7 +1,7 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2008 Tiny SPRL (<http://tiny.be>). All Rights Reserved
# $Id$
#
@ -24,16 +24,16 @@
"version" : "1.0",
"author" : "Tiny",
"website" : "http://tinyerp.com",
"category" : "Generic Modules/Base Contact",
"category" : "Generic Modules/Base",
"description": """
This module allows you to manage entirely your contacts.
This module allows you to manage entirely your contacts.
It lets you define
It lets you define
*contacts unrelated to a partner,
*contacts working at several adresses (possibly for different partners),
*contacts working at several adresses (possibly for different partners),
*contacts with possibly different functions for each of its job's addresses
It also add new menuitems located in
It also add new menuitems located in
Partners \ Contacts
Partners \ Functions

View File

@ -1,4 +1,4 @@
# Translation of OpenERP Server.
# Translation of OpenERP Server.
# This file containt the translation of the following modules:
# * base_contact
#
@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-09-05 13:33+0000\n"
"PO-Revision-Date: 2008-10-08 14:13+0000\n"
"Last-Translator: Olivier Laurent <Unknown>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@ -1,4 +1,4 @@
# Translation of OpenERP Server.
# Translation of OpenERP Server.
# This file containt the translation of the following modules:
# * base_iban
#
@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-09-10 15:05:34+0000\n"
"PO-Revision-Date: 2008-09-10 15:05:34+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"

View File

@ -1,4 +1,4 @@
# Translation of OpenERP Server.
# Translation of OpenERP Server.
# This file containt the translation of the following modules:
# * base_module_publish
#
@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-09-10 15:05:35+0000\n"
"PO-Revision-Date: 2008-09-10 15:05:35+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"

View File

@ -187,9 +187,6 @@ class base_module_record(osv.osv):
record.appendChild(field)
return record_list, noupdate
def get_copy_data(self, cr, uid,model,id,result):
res = []
obj=self.pool.get(model)
@ -238,7 +235,7 @@ class base_module_record(osv.osv):
def _generate_object_xml(self, cr, uid, rec, recv, doc, result=None):
record_list = []
noupdate = False
if rec[4]=='write' :
if rec[4]=='write':
for id in rec[5]:
id,update = self._get_id(cr, uid, rec[3], id)
noupdate = noupdate or update
@ -282,6 +279,30 @@ class base_module_record(osv.osv):
if not rec_id:
continue
data = doc.createElement("data")
self.ids = {}
doc = minidom.Document()
terp = doc.createElement("openerp")
doc.appendChild(terp)
for rec in self.recording_data:
if rec[0]=='workflow':
rec_id,noupdate = self._get_id(cr, uid, rec[1][3], rec[1][5])
if not rec_id:
continue
data = doc.createElement("data")
terp.appendChild(data)
wkf = doc.createElement('workflow')
data.appendChild(wkf)
wkf.setAttribute("model", rec[1][3])
wkf.setAttribute("action", rec[1][4])
if noupdate:
data.setAttribute("noupdate", "1")
wkf.setAttribute("ref", rec_id)
if rec[0]=='query':
res_list,noupdate = self._generate_object_xml(cr, uid, rec[1], rec[2], doc, rec[3])
data = doc.createElement("data")
if noupdate:
data.setAttribute("noupdate", "1")
if res_list:
terp.appendChild(data)
wkf = doc.createElement('workflow')
data.appendChild(wkf)
@ -304,6 +325,5 @@ class base_module_record(osv.osv):
res = doc.toprettyxml(indent="\t")
return doc.toprettyxml(indent="\t").encode('utf8')
base_module_record()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-09-05 13:34+0000\n"
"PO-Revision-Date: 2008-10-14 13:08+0000\n"
"Last-Translator: Olivier Laurent <Unknown>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-09-05 16:30+0000\n"
"PO-Revision-Date: 2008-10-13 17:15+0000\n"
"Last-Translator: Olivier Laurent <Unknown>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-09-05 16:24+0000\n"
"PO-Revision-Date: 2008-10-13 17:20+0000\n"
"Last-Translator: Olivier Laurent <Unknown>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-11-02 20:23:25+0000\n"
"PO-Revision-Date: 2008-11-02 20:23:25+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"

View File

@ -1,4 +1,4 @@
# Translation of OpenERP Server.
# Translation of OpenERP Server.
# This file containt the translation of the following modules:
# * base_vat
#
@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-09-05 13:34+0000\n"
"PO-Revision-Date: 2008-09-10 15:05:35+0000\n"
"Last-Translator: Olivier Laurent <Unknown>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-11-02 20:23:25+0000\n"
"PO-Revision-Date: 2008-11-02 20:23:25+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"

View File

@ -1,4 +1,4 @@
# Translation of OpenERP Server.
# Translation of OpenERP Server.
# This file containt the translation of the following modules:
# * board_account
#
@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-09-10 15:05:35+0000\n"
"PO-Revision-Date: 2008-09-10 15:05:35+0000\n"
"Last-Translator: Olivier Laurent <Unknown>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@ -1,4 +1,4 @@
# Translation of OpenERP Server.
# Translation of OpenERP Server.
# This file containt the translation of the following modules:
# * board_association
#
@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-09-10 15:05:35+0000\n"
"PO-Revision-Date: 2008-09-10 15:05:35+0000\n"
"Last-Translator: Olivier Laurent <Unknown>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@ -1,7 +1,7 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2008 Tiny SPRL (<http://tiny.be>). All Rights Reserved
# $Id$
#
@ -23,7 +23,7 @@
"name":"Board for Auction",
"version":"1.0",
"author":"Tiny",
"category":"Board",
"category":"Board/Auction",
"depends":[
"board",
"auction",

View File

@ -1,4 +1,4 @@
# Translation of OpenERP Server.
# Translation of OpenERP Server.
# This file containt the translation of the following modules:
# * board_auction
#
@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-09-05 13:23+0000\n"
"PO-Revision-Date: 2008-10-13 08:03+0000\n"
"Last-Translator: Olivier Laurent <Unknown>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@ -1,7 +1,7 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2008 Tiny SPRL (<http://tiny.be>). All Rights Reserved
# $Id$
#
@ -23,7 +23,7 @@
"name":"Dashboard for CRM Configuration",
"version":"1.0",
"author":"Tiny",
"category":"Board",
"category":"Board/CRM",
"depends":["board","crm_configuration"],
"demo_xml":["board_crm_demo.xml"],
"update_xml":["board_crm_statistical_view.xml",

View File

@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-11-02 20:23:25+0000\n"
"PO-Revision-Date: 2008-11-02 20:23:25+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"

View File

@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-10-28 11:31:29+0000\n"
"PO-Revision-Date: 2008-10-28 11:31:29+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"

View File

@ -1,7 +1,7 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2008 Tiny SPRL (<http://tiny.be>). All Rights Reserved
# $Id$
#
@ -23,7 +23,7 @@
"name":"Board for manufacturing",
"version":"1.0",
"author":"Tiny",
"category":"Board",
"category":"Board/Manufacturing",
"depends":[
"board",
"mrp",

View File

@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-11-02 20:23:25+0000\n"
"PO-Revision-Date: 2008-11-02 20:23:25+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"

View File

@ -1,4 +1,4 @@
# Translation of OpenERP Server.
# Translation of OpenERP Server.
# This file containt the translation of the following modules:
# * board_project
#
@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-09-05 16:28+0000\n"
"PO-Revision-Date: 2008-10-13 08:15+0000\n"
"Last-Translator: Olivier Laurent <Unknown>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-09-05 13:28+0000\n"
"PO-Revision-Date: 2008-10-13 08:53+0000\n"
"Last-Translator: Olivier Laurent <Unknown>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-11-02 20:23:25+0000\n"
"PO-Revision-Date: 2008-11-02 20:23:25+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"

View File

@ -95,13 +95,13 @@ class email_parser(object):
def msg_new(self, msg):
message = self.msg_body_get(msg)
data = {
'name': self._decode_header(msg['Subject'][:64]),
'name': self._decode_header(msg['Subject']),
'section_id': self.section_id,
'email_from': self._decode_header(msg['From'])[:128],
'email_cc': self._decode_header(msg['Cc'] or '')[:252],
'email_from': self._decode_header(msg['From']),
'email_cc': self._decode_header(msg['Cc'] or ''),
'canal_id': self.canal_id,
'user_id': False,
'history_line': [(0, 0, {'description': message['body'], 'email': msg['From'][:84] })],
'history_line': [(0, 0, {'description': message['body'], 'email': msg['From'] })],
}
try:
data.update(self.partner_get(self._decode_header(msg['From'])))
@ -114,9 +114,9 @@ class email_parser(object):
for attach in attachments or []:
data_attach = {
'name': str(attach)[:64],
'name': str(attach),
'datas':binascii.b2a_base64(str(attachments[attach])),
'datas_fname': str(attach)[:64],
'datas_fname': str(attach),
'description': 'Mail attachment',
'res_model': 'crm.case',
'res_id': id
@ -181,7 +181,7 @@ class email_parser(object):
body['body'] = body_data
data = {
'history_line': [(0, 0, {'description': body['body'], 'email': msg['From'][:84]})],
'history_line': [(0, 0, {'description': body['body'], 'email': msg['From']})],
}
act = 'case_close'
@ -285,7 +285,7 @@ class email_parser(object):
if self.email_default:
a = self._decode_header(msg['Subject'])
del msg['Subject']
msg['Subject'] = '[TinyERP-CaseError] ' + a
msg['Subject'] = '[OpenERP-CaseError] ' + a
self.msg_send(msg, self.email_default.split(','))
return emails

View File

@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-11-02 20:23:25+0000\n"
"PO-Revision-Date: 2008-11-02 20:23:25+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"

View File

@ -1,7 +1,7 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2008 Tiny SPRL (<http://tiny.be>). All Rights Reserved
# $Id$
#
@ -25,19 +25,19 @@
"depends" : ["base", "crm"],
"author" : "Tiny",
"description": """
This module allow users to perform segmentation within partners.
This module allow users to perform segmentation within partners.
It use the profiles criteria from the earlier segmentation module and improve it thanks to the new concept of questionnaire. You can now regroup questions into a questionnaire and directly use it on a partner.
It also has been merged with the earlier CRM & SRM segmentation tool because they were overlapping.
It also has been merged with the earlier CRM & SRM segmentation tool because they were overlapping.
The menu items related are in "CRM & SRM\Configuration\Segmentations\"
* Note: this module is not compatible with the module segmentation, since it's the same which has been renamed.
""",
"website" : "http://tinyerp.com/",
"category" : "Generic Modules/Project & Services",
"category" : "Generic Modules/CRM & SRM",
"init_xml" : [],
"demo_xml" : ["crm_profiling_demo.xml"],
"update_xml" : [

View File

@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-09-05 16:30+0000\n"
"PO-Revision-Date: 2008-10-13 10:18+0000\n"
"Last-Translator: Olivier Laurent <Unknown>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@ -125,7 +125,8 @@
<field name="inherit_id" ref="sale.view_order_form"/>
<field name="arch" type="xml">
<separator string="Notes" position="before">
<field name="carrier_id" context="{'order_id':active_id}"/>
<field name="id" invisible="True"/>
<field name="carrier_id" context="{'order_id':id}"/>
</separator>
</field>
</record>
@ -136,7 +137,7 @@
<field name="model">stock.picking</field>
<field name="inherit_id" ref="stock.view_picking_out_form"/>
<field name="arch" type="xml">
<field name="address_id" position="after">
<field name="address_id" position="after">
<field name="carrier_id"/>
<field name="weight"/>
</field>

View File

@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-11-02 20:23:25+0000\n"
"PO-Revision-Date: 2008-11-02 20:23:25+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"

View File

@ -30,6 +30,7 @@ class sale_order(osv.osv):
_description = "Sale Order"
_columns = {
'id': fields.integer('ID', readonly=True,invisible=True),
'carrier_id':fields.many2one("delivery.carrier","Delivery method", help="Complete this field if you plan to invoice the shipping based on packings made."),
}

View File

@ -1,7 +1,7 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2008 Tiny SPRL (<http://tiny.be>). All Rights Reserved
# $Id$
#
@ -96,7 +96,6 @@ class node_class(object):
where.append( ('res_id','=',False) )
if nodename:
where.append( (fobj._rec_name,'=',nodename) )
print where+[ ('parent_id','=',self.object and self.object.id or False) ]
ids = fobj.search(self.cr, self.uid, where+[ ('parent_id','=',self.object and self.object.id or False) ], context=self.context)
if self.object and self.root and (self.object.type=='ressource'):
ids += fobj.search(self.cr, self.uid, where+[ ('parent_id','=',False) ], context=self.context)
@ -249,26 +248,6 @@ class document_directory(osv.osv):
user=self.pool.get('res.users').browse(cr,uid,uid)
return "ftp://%s:%s@localhost:8021/%s/%s"%(user.login,user.password,cr.dbname,'/'.join(path))
return False
def _check_duplication(self, cr, uid,vals):
if 'name' in vals:
where=" name='%s'"% (vals['name'])
if not 'parent_id' in vals or not vals['parent_id']:
where+=' and parent_id is null'
else:
where+=' and parent_id=%d'%(vals['parent_id'])
if not 'ressource_parent_type_id' in vals or not vals['ressource_parent_type_id']:
where+= ' and ressource_parent_type_id is null'
else:
where+=" and ressource_parent_type_id='%s'"%(vals['ressource_parent_type_id'])
# if not 'ressource_id' in vals or not vals['ressource_id']:
# where+= ' and ressource_id is null'
# else:
# where+=" and ressource_id=%d"%(vals['ressource_id'])
cr.execute("select id from document_directory where" + where)
res = cr.fetchall()
if len(res):
return False
return True
def _check_recursion(self, cr, uid, ids):
level = 100
while len(ids):
@ -350,7 +329,7 @@ class document_directory(osv.osv):
# need to make constraints to checking duplicate
#if not self._check_duplication(cr,uid,vals):
# raise except_orm('ValidateError', 'Directory name must be unique!')
return super(document_directory,self).write(cr,uid,ids,vals,context=context)
return result
def copy(self, cr, uid, id, default=None, context=None):
if not default:
@ -359,6 +338,34 @@ class document_directory(osv.osv):
default.update({'name': name+ " (copy)"})
return super(document_directory,self).copy(cr,uid,id,default,context)
def _check_duplication(self, cr, uid,vals,ids=[],op='create'):
name=vals.get('name',False)
parent_id=vals.get('parent_id',False)
ressource_parent_type_id=vals.get('ressource_parent_type_id',False)
ressource_id=vals.get('ressource_id',0)
if op=='write':
for directory in self.browse(cr,uid,ids):
if not name:
name=directory.name
if not parent_id:
parent_id=directory.parent_id and directory.parent_id.id or False
if not ressource_parent_type_id:
ressource_parent_type_id=directory.ressource_parent_type_id and directory.ressource_parent_type_id.id or False
if not ressource_id:
ressource_id=directory.ressource_id and directory.ressource_id.id or 0
res=self.search(cr,uid,[('id','<>',directory.id),('name','=',name),('parent_id','=',parent_id),('ressource_parent_type_id','=',ressource_parent_type_id),('ressource_id','=',ressource_id)])
if len(res):
return False
if op=='create':
res=self.search(cr,uid,[('name','=',name),('parent_id','=',parent_id),('ressource_parent_type_id','=',ressource_parent_type_id),('ressource_id','=',ressource_id)])
if len(res):
return False
return True
def write(self, cr, uid, ids, vals, context=None):
if not self._check_duplication(cr,uid,vals,ids,op='write'):
raise except_orm('ValidateError', 'Directory name must be unique!')
return super(document_directory,self).write(cr,uid,ids,vals,context=context)
def create(self, cr, uid, vals, context=None):
if not self._check_duplication(cr,uid,vals):
raise except_orm('ValidateError', 'Directory name must be unique!')
@ -471,7 +478,7 @@ def random_name():
def create_directory(path):
dir_name = random_name()
path = os.path.join(path,dir_name)
os.mkdir(path)
os.makedirs(path)
return dir_name
class document_file(osv.osv):
@ -484,7 +491,7 @@ class document_file(osv.osv):
result[id] = d
elif m=='fs':
try:
path = os.path.join(os.getcwd(),'filestore')
path = os.path.join(os.getcwd(), 'filestore', cr.dbname)
value = file(os.path.join(path,r), 'rb').read()
result[id] = base64.encodestring(value)
except:
@ -500,9 +507,9 @@ class document_file(osv.osv):
if not value:
return True
if (not context) or context.get('store_method','fs')=='fs':
path = os.path.join(os.getcwd(), "filestore")
path = os.path.join(os.getcwd(), "filestore", cr.dbname)
if not os.path.isdir(path):
os.mkdir(path)
os.makedirs(path)
flag = None
# This can be improved
for dirs in os.listdir(path):
@ -549,16 +556,37 @@ class document_file(osv.osv):
_sql_constraints = [
('filename_uniq', 'unique (name,parent_id,res_id,res_model)', 'The file name must be unique !')
]
def _check_duplication(self, cr, uid,vals):
if 'name' in vals:
res=self.search(cr,uid,[('name','=',vals['name']),('parent_id','=','parent_id' in vals and vals['parent_id'] or False),('res_id','=','res_id' in vals and vals['res_id'] or False),('res_model','=','res_model' in vals and vals['res_model']) or False])
def _check_duplication(self, cr, uid,vals,ids=[],op='create'):
name=vals.get('name',False)
parent_id=vals.get('parent_id',False)
res_model=vals.get('res_model',False)
res_id=vals.get('res_id',0)
if op=='write':
for file in self.browse(cr,uid,ids):
if not name:
name=file.name
if not parent_id:
parent_id=file.parent_id and file.parent_id.id or False
if not res_model:
res_model=file.res_model and file.res_model or False
if not res_id:
res_id=file.res_id and file.res_id or 0
res=self.search(cr,uid,[('id','<>',file.id),('name','=',name),('parent_id','=',parent_id),('res_model','=',res_model),('res_id','=',res_id)])
if len(res):
return False
if op=='create':
res=self.search(cr,uid,[('name','=',name),('parent_id','=',parent_id),('res_id','=',res_id),('res_model','=',res_model)])
if len(res):
return False
return True
def copy(self, cr, uid, id, default=None, context=None):
if not default:
default ={}
name = self.read(cr, uid, [id])[0]['name']
default.update({'name': name+ " (copy)"})
return super(document_file,self).copy(cr,uid,id,default,context)
def write(self, cr, uid, ids, vals, context=None):
if not self._check_duplication(cr,uid,vals):
if not self._check_duplication(cr,uid,vals,ids,'write'):
raise except_orm('ValidateError', 'File name must be unique!')
result = super(document_file,self).write(cr,uid,ids,vals,context=context)
cr.commit()
@ -577,6 +605,10 @@ class document_file(osv.osv):
def create(self, cr, uid, vals, context={}):
vals['title']=vals['name']
if not vals.get('res_id', False) and context.get('default_res_id',False):
vals['res_id']=context.get('default_res_id',False)
if not vals.get('res_model', False) and context.get('default_res_model',False):
vals['res_model']=context.get('default_res_model',False)
if vals.get('res_id', False) and vals.get('res_model',False):
obj_model=self.pool.get(vals['res_model'])
result = obj_model.read(cr, uid, [vals['res_id']], context=context)
@ -585,18 +617,22 @@ class document_file(osv.osv):
vals['title'] = (obj['name'] or '')[:60]
if obj_model._name=='res.partner':
vals['partner_id']=obj['id']
elif 'address_id' in obj:
address=self.pool.get('res.partner.address').read(cr,uid,[obj['address_id']],context=context)
elif obj.get('address_id',False):
if isinstance(obj['address_id'],tuple) or isinstance(obj['address_id'],list):
address_id=obj['address_id'][0]
else:
address_id=obj['address_id']
address=self.pool.get('res.partner.address').read(cr,uid,[address_id],context=context)
if len(address):
vals['partner_id']=address[0]['partner_id'] or False
elif 'partner_id' in obj:
vals['partner_id']=address[0]['partner_id'][0] or False
elif obj.get('partner_id',False):
if isinstance(obj['partner_id'],tuple) or isinstance(obj['partner_id'],list):
vals['partner_id']=obj['partner_id'][0]
else:
vals['partner_id']=obj['partner_id']
datas=None
if 'datas' not in vals:
if vals.get('datas',False) and vals.get('link',False) :
import urllib
datas=base64.encodestring(urllib.urlopen(vals['link']).read())
else:
@ -620,7 +656,7 @@ class document_file(osv.osv):
for f in self.browse(cr, uid, ids, context):
if f.store_method=='fs':
try:
path = os.path.join(os.getcwd(),'filestore',f.store_fname)
path = os.path.join(os.getcwd(), cr.dbname, 'filestore',f.store_fname)
os.unlink(path)
except:
pass
@ -631,7 +667,12 @@ class document_configuration_wizard(osv.osv_memory):
_name='document.configuration.wizard'
_rec_name = 'Auto Directory configuration'
_columns = {
}
'host': fields.char('Server Address', size=64, help="Put here the server address or IP. " \
"Keep localhost if you don't know what to write.", required=True)
}
_defaults = {
'host': lambda *args: 'localhost'
}
def action_cancel(self,cr,uid,ids,conect=None):
return {
'view_type': 'form',
@ -642,6 +683,7 @@ class document_configuration_wizard(osv.osv_memory):
}
def action_config(self, cr, uid, ids, context=None):
conf = self.browse(cr, uid, ids[0], context)
obj=self.pool.get('document.directory')
objid=self.pool.get('ir.model.data')
@ -694,7 +736,7 @@ class document_configuration_wizard(osv.osv_memory):
'include_name': 1,
'directory_id': id,
})
if self.pool.get('account.analytic.account'):
id = objid._get_id(cr, uid, 'document', 'dir_project')
id = objid.browse(cr, uid, id, context=context).res_id
@ -706,6 +748,10 @@ class document_configuration_wizard(osv.osv_memory):
'ressource_tree': 1
})
aid = objid._get_id(cr, uid, 'document', 'action_document_browse')
aid = objid.browse(cr, uid, aid, context=context).res_id
self.pool.get('ir.actions.url').write(cr, uid, [aid], {'url': 'ftp://'+(conf.host or 'localhost')+':8021/'})
return {
'view_type': 'form',
"view_mode": 'form',

View File

@ -251,6 +251,7 @@
<form string="Auto Configure">
<separator string="Document Management System." colspan="4"/>
<label string="This wizard will automatically configure the document management system according to modules installed on your system." align="0.0" colspan="4"/>
<field name="host" colspan="4"/>
<separator string="" colspan="4"/>
<label string="" colspan="2"/>
<group col="4" colspan="2">

View File

@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-10-28 10:07:49+0000\n"
"PO-Revision-Date: 2008-11-02 17:56+0100\n"
"Last-Translator: Christophe Chauvet <christophe.chauvet@syleam.fr>\n"
"Language-Team: \n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@ -1,7 +1,7 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2008 Tiny SPRL (<http://tiny.be>). All Rights Reserved
# $Id$
#
@ -237,7 +237,8 @@ class event_registration(osv.osv):
_defaults = {
'nb_register': lambda *a: 1,
'tobe_invoiced' : lambda *a: True,
'name': lambda *a: 'Registration'
'name': lambda *a: 'Registration',
'state': lambda *b: 'draft'
}
def onchange_badge_name(self, cr, uid, ids, badge_name):

View File

@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-09-05 13:31+0000\n"
"PO-Revision-Date: 2008-10-13 11:02+0000\n"
"Last-Translator: Olivier Laurent <Unknown>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@ -1,7 +1,7 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2008 Tiny SPRL (<http://tiny.be>). All Rights Reserved
# $Id$
#
@ -24,7 +24,7 @@
"version" : "1.0",
"author" : "Tiny",
"website" : "http://tinyerp.com",
"category" : "Generic Modules",
"category" : "Generic Modules/Others",
"description": """The module adds google map field in partner address
so that we can directly open google map from the
url widget.""",

View File

@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-09-05 13:23+0000\n"
"PO-Revision-Date: 2008-10-11 07:06+0000\n"
"Last-Translator: Christophe Chauvet <Unknown>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-11-02 20:23:25+0000\n"
"PO-Revision-Date: 2008-11-02 20:23:25+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"

View File

@ -39,7 +39,7 @@ si_so_fields = {
si_form = '''<?xml version="1.0" ?>
<form string="Sign in status">
<seperator string="This is the status of your sign in request. Check it out maybe you were already signed in." colspan="4" />
<separator string="This is the status of your sign in request. Check it out maybe you were already signed in." colspan="4" />
<field name="success" readonly="True" />
</form>'''
@ -49,7 +49,7 @@ si_fields = {
so_form = '''<?xml version="1.0" ?>
<form string="Sign in status">
<seperator string="This is the status of your sign out request. Check it out maybe you were already signed out." colspan="4" />
<separator string="This is the status of your sign out request. Check it out maybe you were already signed out." colspan="4" />
<field name="success" readonly="True" />
</for>'''

View File

@ -1,7 +1,7 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2008 Tiny SPRL (<http://tiny.be>). All Rights Reserved
# $Id$
#

View File

@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-10-28 09:40:44+0000\n"
"PO-Revision-Date: 2008-10-28 09:40:44+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"

View File

@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-09-05 16:25+0000\n"
"PO-Revision-Date: 2008-10-13 11:14+0000\n"
"Last-Translator: Olivier Laurent <Unknown>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-09-05 16:25+0000\n"
"PO-Revision-Date: 2008-10-13 11:30+0000\n"
"Last-Translator: Olivier Laurent <Unknown>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@ -3,11 +3,10 @@
<data>
<!-- Holidays -->
<record model="ir.ui.view" id="edit_holiday_inherit_new">
<field name="name">hr.holidays.form.inherit</field>
<record model="ir.ui.view" id="edit_holiday_new">
<field name="name">hr.holidays.form</field>
<field name="model">hr.holidays</field>
<field name="type">form</field>
<field name="inherit_id" eval="False"/>
<field name="arch" type="xml">
<form string="Employee holidays">
<field colspan="4" name="name" select="1"/>
@ -36,12 +35,13 @@
<record model="ir.ui.view" id="view_holiday">
<field name="name">hr.holidays.tree</field>
<field name="model">hr.holidays</field>
<field name="inherit_id" eval="False"/>
<field name="model">hr.holidays</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Employee holidays">
<field name="name"/>
<field name="employee_id"/>
<field name="number_of_days" string="Number of Days"/>
<field name="date_from"/>
<field name="date_to"/>
<field name="holiday_status"/>
@ -50,24 +50,10 @@
</field>
</record>
<record model="ir.ui.view" id="view_holiday_2">
<field name="name">hr.holidays.tree</field>
<field name="model">hr.holidays</field>
<field name="inherit_id" ref="view_holiday"/>
<field name="type">tree</field>
<field name="arch" type="xml">
<field name="name" position="after">
<field name="employee_id"/>
<field name="number_of_days" string="Number of Days"/>
</field>
</field>
</record>
<!-- holidays status -->
<record model="ir.ui.view" id="edit_holiday_status_form">
<field name="name">hr.holidays.status.form</field>
<field name="model">hr.holidays.status</field>
<field name="inherit_id" eval="False"/>
<field name="model">hr.holidays.status</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Define holiday status">
@ -81,8 +67,7 @@
</record>
<record model="ir.ui.view" id="view_holiday_status_tree">
<field name="name">hr.holidays.status.tree</field>
<field name="model">hr.holidays.status</field>
<field name="inherit_id" eval="False"/>
<field name="model">hr.holidays.status</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Holiday status">
@ -157,7 +142,7 @@
<record model="ir.actions.act_window" id="open_ask_holidays">
<field name="res_model">hr.holidays</field>
<field name="view_type">form</field>
<field name="view_id" ref="edit_holiday_inherit_new" />
<field name="view_id" ref="edit_holiday_new" />
</record>
<menuitem

View File

@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-09-05 16:30+0000\n"
"PO-Revision-Date: 2008-10-13 11:55+0000\n"
"Last-Translator: Olivier Laurent <Unknown>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-09-05 16:28+0000\n"
"PO-Revision-Date: 2008-10-13 15:49+0000\n"
"Last-Translator: Olivier Laurent <Unknown>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-09-05 16:22+0000\n"
"PO-Revision-Date: 2008-10-13 12:01+0000\n"
"Last-Translator: Olivier Laurent <Unknown>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-09-05 16:09+0000\n"
"PO-Revision-Date: 2008-10-13 12:02+0000\n"
"Last-Translator: Olivier Laurent <Unknown>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-09-05 16:25+0000\n"
"PO-Revision-Date: 2008-10-13 12:10+0000\n"
"Last-Translator: Olivier Laurent <Unknown>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-09-05 16:29+0000\n"
"PO-Revision-Date: 2008-10-13 16:48+0000\n"
"Last-Translator: Olivier Laurent <Unknown>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-09-05 16:24+0000\n"
"PO-Revision-Date: 2008-10-13 12:11+0000\n"
"Last-Translator: Olivier Laurent <Unknown>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-09-05 16:31+0000\n"
"PO-Revision-Date: 2008-10-14 13:30+0000\n"
"Last-Translator: Olivier Laurent <Unknown>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-09-05 13:45+0000\n"
"PO-Revision-Date: 2008-10-14 13:30+0000\n"
"Last-Translator: Olivier Laurent <Unknown>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@ -1,7 +1,7 @@
"expression","note","parent_id","sequence","badness_limit","goodness_limit","type","code","name"
0,,,,0,1,"indicator","BILAN","Bilan"
"report('BIMMO','BSTOCK','BREAL','BDISPO')",,"BILAN",,0,1,"fiscal","Actif","Actif"
"balance(][2'])",,"Actif",,0,1,"indicator","BIMMO","Valeurs immobilisées"
"balance(['2'])",,"Actif",,0,1,"indicator","BIMMO","Valeurs immobilisées"
"balance(['3']",,"Actif",2,0,1,"indicator","BSTOCK","Stocks"
"balance(['4'])",,"Actif",3,0,1,"indicator","BREAL","Réalisable"
"balance(['5'])",,"Actif",4,0,1,"fiscal","BDISPO","Disponible"

1 expression note parent_id sequence badness_limit goodness_limit type code name
2 0 0 1 indicator BILAN Bilan
3 report('BIMMO','BSTOCK','BREAL','BDISPO') BILAN 0 1 fiscal Actif Actif
4 balance(][2']) balance(['2']) Actif 0 1 indicator BIMMO Valeurs immobilisées
5 balance(['3'] Actif 2 0 1 indicator BSTOCK Stocks
6 balance(['4']) Actif 3 0 1 indicator BREAL Réalisable
7 balance(['5']) Actif 4 0 1 fiscal BDISPO Disponible

View File

@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-09-05 13:32+0000\n"
"PO-Revision-Date: 2008-10-13 12:39+0000\n"
"Last-Translator: Olivier Laurent <Unknown>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-11-02 20:23:25+0000\n"
"PO-Revision-Date: 2008-11-02 20:23:25+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
@ -48,7 +48,7 @@ msgstr "Auteur"
#. module: mrp
#: help:mrp.bom,product_rounding:0
msgid "Rounding applied on the product quantity. For integer only values, put 1.0"
msgstr ""
msgstr "Arrondi appliqué sur la quantité de produit. Pour les valeurs entières, mettre 1.0"
#. module: mrp
#: field:mrp.workcenter,costs_cycle:0
@ -58,7 +58,7 @@ msgstr "Coût par cycle"
#. module: mrp
#: help:res.company,manufacturing_lead:0
msgid "Security days for each manufacturing operation."
msgstr ""
msgstr "Jours de sécurité pour chaque opération de production."
#. module: mrp
#: wizard_view:mrp.procurement.compute.all,init:0
@ -79,7 +79,7 @@ msgstr "Nomenclature"
#. module: mrp
#: wizard_field:product.product.procurement,init,uom_id:0
msgid "Unit of Measure"
msgstr ""
msgstr "Unité de Mesure"
#. module: mrp
#: field:mrp.bom.revision,indice:0
@ -90,6 +90,7 @@ msgstr "Révision"
#: help:mrp.bom,type:0
msgid "Use a phantom bill of material in raw materials lines that have to be automatically computed in on eproduction order and not one per level.If you put \"Phantom/Set\" at the root level of a bill of material it is considered as a set or pack: the products are replaced by the components between the sale order to the picking without going through the production order.The normal BoM will generate one production order per BoM level."
msgstr ""
""
#. module: mrp
#: field:mrp.workcenter,costs_journal_id:0
@ -116,7 +117,7 @@ msgstr "Indices Numériques"
#: model:ir.actions.act_window,name:mrp.mrp_procurement_action5
#: model:ir.ui.menu,name:mrp.menu_mrp_procurement_action5
msgid "Exceptions Procurements"
msgstr ""
msgstr "Approvisionements en Exceptions"
#. module: mrp
#: field:mrp.procurement,product_uos_qty:0
@ -141,7 +142,7 @@ msgstr ""
#. module: mrp
#: help:mrp.production,location_dest_id:0
msgid "Location where the system will stock the finnished products."
msgstr ""
msgstr "Emplacement où le système stockera les produits finis."
#. module: mrp
#: wizard_button:mrp.procurement.compute.all,init,compute:0
@ -165,6 +166,8 @@ msgstr ""
msgid "Reference of the document that created this procurement.\n"
"This is automatically completed by Open ERP."
msgstr ""
"Référence du document qui a créé cet approvisionnement.\n"
"Est automatiquement complété par Open ERP."
#. module: mrp
#: view:mrp.routing.workcenter:0
@ -184,7 +187,7 @@ msgstr "Produits Finis"
#. module: mrp
#: wizard_view:product.product.procurement,done:0
msgid "Your procurement request has been sent !"
msgstr ""
msgstr "Votre demande d'approvisionement a été envoyée !"
#. module: mrp
#: rml:bom.structure:0
@ -211,7 +214,7 @@ msgstr ""
#. module: mrp
#: help:mrp.property,composition:0
msgid "Not used in computations, for information purpose only."
msgstr ""
msgstr "Pas utilisé dans les calculs, pour information seulement."
#. module: mrp
#: field:mrp.workcenter,time_start:0
@ -221,7 +224,7 @@ msgstr "Délai avant production"
#. module: mrp
#: model:process.node,name:mrp.process_node_productionorder0
msgid "Production order"
msgstr ""
msgstr "Ordre de Production"
#. module: mrp
#: model:process.transition,name:mrp.process_transition_stockableorderproduction0
@ -327,7 +330,7 @@ msgstr "Référence"
#. module: mrp
#: field:mrp.bom,date_stop:0
msgid "Valid Until"
msgstr ""
msgstr "Valide jusqu'au"
#. module: mrp
#: model:ir.actions.act_window,name:mrp.mrp_procurement_action11
@ -338,7 +341,7 @@ msgstr "Approvisionnement en Exception Temporaire"
#. module: mrp
#: field:mrp.bom,date_start:0
msgid "Valid From"
msgstr ""
msgstr "Valide du"
#. module: mrp
#: selection:mrp.bom,type:0
@ -348,7 +351,7 @@ msgstr "UdM Standard"
#. module: mrp
#: rml:mrp.production.order:0
msgid "Analytic Check"
msgstr ""
msgstr "Vérification Analytique"
#. module: mrp
#: model:ir.model,name:mrp.model_mrp_property_group
@ -377,7 +380,7 @@ msgstr ""
#. module: mrp
#: model:process.node,name:mrp.process_node_minimumstockrule0
msgid "Minimum stock rule"
msgstr ""
msgstr "Règle de stock minimum"
#. module: mrp
#: view:mrp.routing:0
@ -387,7 +390,7 @@ msgstr "Opérations par postes"
#. module: mrp
#: model:process.transition,note:mrp.process_transition_procurementservice0
msgid "In procurement order, if product type is service"
msgstr ""
msgstr "Dans l'ordre d'approvisionnement, si le produit est de type Service"
#. module: mrp
#: help:mrp.routing.workcenter,cycle_nbr:0
@ -442,7 +445,7 @@ msgstr ""
#. module: mrp
#: field:mrp.production,sale_ref:0
msgid "Sale Ref"
msgstr ""
msgstr "Réf. Vente"
#. module: mrp
#: selection:mrp.production,state:0
@ -457,7 +460,7 @@ msgstr ""
#. module: mrp
#: wizard_field:product.product.procurement,init,product_id:0
msgid "product"
msgstr ""
msgstr "produit"
#. module: mrp
#: model:ir.model,name:mrp.model_mrp_production_workcenter_line
@ -483,7 +486,7 @@ msgstr "Utilisation des postes de charge"
#. module: mrp
#: help:mrp.bom,product_efficiency:0
msgid "Efficiency on the production. A factor of 0.9 means a loss of 10% in the production."
msgstr ""
msgstr "Efficacité de la production. Un facteur de 0.9 veut dire une perte de 10% dans la production."
#. module: mrp
#: model:ir.model,name:mrp.model_mrp_routing
@ -532,7 +535,7 @@ msgstr "Nouvel Approvisionnement"
#. module: mrp
#: rml:mrp.production.order:0
msgid "Production Order N° :"
msgstr ""
msgstr "Ordre de Production N° :"
#. module: mrp
#: view:res.company:0
@ -548,6 +551,8 @@ msgstr "Recréer le coli"
#: help:mrp.workcenter,capacity_per_cycle:0
msgid "Number of operation this workcenter can do in parallel. If this workcenter represent a team of 5 workers, the capacity per cycle is 5."
msgstr ""
"Nombre d'opération que ce centre de production peut effectuer en parallèle. Si "
"ce centre de production représente une équipe de 5 ouvriers, la capacité par cycle est de 5."
#. module: mrp
#: selection:mrp.workcenter,type:0
@ -586,7 +591,7 @@ msgstr "Qté de Produit"
#. module: mrp
#: field:res.company,security_lead:0
msgid "Security Days"
msgstr ""
msgstr "Jours de Sécurité"
#. module: mrp
#: rml:bom.structure:0
@ -623,7 +628,7 @@ msgstr ""
#. module: mrp
#: rml:mrp.production.order:0
msgid "Printing date"
msgstr ""
msgstr "Date d'Impression"
#. module: mrp
#: field:stock.warehouse.orderpoint,qty_multiple:0
@ -658,7 +663,7 @@ msgstr ""
#. module: mrp
#: field:mrp.routing.workcenter,hour_nbr:0
msgid "Number of Hours"
msgstr ""
msgstr "Nombre d'Heures"
#. module: mrp
#: field:stock.warehouse.orderpoint,product_max_qty:0
@ -668,7 +673,7 @@ msgstr "Quantité Max"
#. module: mrp
#: field:mrp.routing.workcenter,cycle_nbr:0
msgid "Number of Cycle"
msgstr ""
msgstr "Nombre de Cycle"
#. module: mrp
#: field:mrp.bom,revision_type:0
@ -897,7 +902,7 @@ msgstr ""
#. module: mrp
#: rml:mrp.production.order:0
msgid "........."
msgstr ""
msgstr "........."
#. module: mrp
#: view:mrp.production:0
@ -917,7 +922,7 @@ msgstr ""
#. module: mrp
#: field:mrp.bom,method:0
msgid "Method"
msgstr ""
msgstr "Méthode"
#. module: mrp
#: help:mrp.routing,location_id:0
@ -1199,7 +1204,7 @@ msgstr ""
#. module: mrp
#: rml:mrp.production.order:0
msgid "Qty"
msgstr ""
msgstr "Qté"
#. module: mrp
#: selection:mrp.procurement,procure_method:0
@ -1264,7 +1269,7 @@ msgstr "Annuler"
#. module: mrp
#: wizard_button:product.product.procurement,done,end:0
msgid "Close"
msgstr ""
msgstr "Terminé"
#. module: mrp
#: model:process.node,name:mrp.process_node_stockableproduct0
@ -1568,7 +1573,7 @@ msgstr "Révisions"
#. module: mrp
#: model:ir.actions.wizard,name:mrp.product_procurement_wizard
msgid "Create Procurement"
msgstr ""
msgstr "Créer un Approvisionement"
#. module: mrp
#: field:mrp.procurement,product_uos:0
@ -1598,7 +1603,7 @@ msgstr "UdM du Produit"
#. module: mrp
#: model:process.node,note:mrp.process_node_serviceproduct0
msgid "If Product type is service"
msgstr ""
msgstr "Si Produit est de type Service"
#. module: mrp
#: model:ir.model,name:mrp.model_mrp_workcenter
@ -1684,12 +1689,12 @@ msgstr "min"
#. module: mrp
#: model:process.node,note:mrp.process_node_minimumstockrule0
msgid "Create minimum stock rules"
msgstr ""
msgstr "Créer les règles de stock minimum"
#. module: mrp
#: rml:mrp.production.order:0
msgid "1cm 27.7cm 20cm 27.7cm"
msgstr ""
msgstr "1cm 27.7cm 20cm 27.7cm"
#. module: mrp
#: model:ir.actions.act_window,name:mrp.mrp_bom_form_action2
@ -1721,12 +1726,12 @@ msgstr ""
#. module: mrp
#: rml:mrp.production.order:0
msgid "Partner Ref"
msgstr ""
msgstr "Réf. Partenaire"
#. module: mrp
#: model:process.transition.action,name:mrp.process_transition_action_procurementpurchaseorder0
msgid "Purchase"
msgstr ""
msgstr "Achat"
#. module: mrp
#: model:process.transition,note:mrp.process_transition_stockableorderrequest0

View File

@ -499,30 +499,9 @@ class mrp_production(osv.osv):
(parent_id, child_id) VALUES (%d,%d)',
(res.id, move.id))
move_ids.append(res.id)
if production.move_created_ids:
#TODO There we should handle the residus move creation
vals= {'state':'confirmed'}
new_moves = [x.id for x in production.move_created_ids]
self.pool.get('stock.move').write(cr, uid, new_moves, vals)
else:
#XXX Why is it there ? Aren't we suppose to already have a created_move ?
source = production.product_id.product_tmpl_id.property_stock_production.id
vals = {
'name':'PROD:'+production.name,
'date_planned': production.date_planned,
'product_id': production.product_id.id,
'product_qty': production.product_qty,
'product_uom': production.product_uom.id,
'product_uos_qty': production.product_uos and production.product_uos_qty or False,
'product_uos': production.product_uos and production.product_uos.id or False,
'location_id': source,
'location_dest_id': production.location_dest_id.id,
'move_dest_id': production.move_prod_id.id,
'state': 'confirmed'
}
new_moves = [self.pool.get('stock.move').create(cr, uid, vals)]
self.write(cr, uid, [production.id],
{'move_created_ids': [(6, 'WTF', new_moves)]})
vals= {'state':'confirmed'}
new_moves = [x.id for x in production.move_created_ids]
self.pool.get('stock.move').write(cr, uid, new_moves, vals)
if not production.date_finnished:
self.write(cr, uid, [production.id],
{'date_finnished': time.strftime('%Y-%m-%d %H:%M:%S')})
@ -590,6 +569,7 @@ class mrp_production(osv.osv):
def action_confirm(self, cr, uid, ids):
picking_id=False
proc_ids = []
for production in self.browse(cr, uid, ids):
if not production.product_lines:
self.action_compute(cr, uid, [production.id])
@ -611,7 +591,6 @@ class mrp_production(osv.osv):
'address_id': address_id,
'auto_picking': self._get_auto_picking(cr, uid, production),
})
toconfirm = True
source = production.product_id.product_tmpl_id.property_stock_production.id
data = {
@ -678,9 +657,9 @@ class mrp_production(osv.osv):
})
wf_service = netsvc.LocalService("workflow")
wf_service.trg_validate(uid, 'mrp.procurement', proc_id, 'button_confirm', cr)
if toconfirm:
wf_service = netsvc.LocalService("workflow")
wf_service.trg_validate(uid, 'stock.picking', picking_id, 'button_confirm', cr)
proc_ids.append(proc_id)
wf_service = netsvc.LocalService("workflow")
wf_service.trg_validate(uid, 'stock.picking', picking_id, 'button_confirm', cr)
self.write(cr, uid, [production.id], {'picking_id':picking_id, 'move_lines': [(6,0,moves)], 'state':'confirmed'})
return picking_id
@ -991,7 +970,7 @@ class mrp_procurement(osv.osv):
'location_src_id': procurement.location_id.id,
'location_dest_id': procurement.location_id.id,
'bom_id': procurement.bom_id and procurement.bom_id.id or False,
'date_planned': newdate,
'date_planned': newdate.strftime('%Y-%m-%d %H:%M:%S'),
'move_prod_id': res_id,
})
self.write(cr, uid, [procurement.id], {'state':'running'})

View File

@ -423,15 +423,15 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Production orders">
<group colspan="4" col="6">
<group colspan="4" col="7">
<field name="name" select="1"/>
<field name="date_planned" select="1"/>
<field name="priority" groups="base.group_extended"/>
<newline/>
<field name="product_id" on_change="product_id_change(product_id)" select="1"/>
<field name="product_qty"/>
<button type="action" name="%(wizard_change_production_qty)d" string="Change Qty"/>
<field name="product_uom"/>
<button type="action" name="%(mrp.wizard_change_production_qty)d" string="Change Qty" states="ready,in_production"/>
<newline/>
<label string="" colspan="2"/>
<field name="product_uos_qty" groups="product.group_uos"/>
@ -797,8 +797,28 @@
<act_window domain="[('warehouse_id', '=', active_id)]" id="act_stock_warehouse_2_stock_warehouse_orderpoint" name="Minimum Stock Rules" res_model="stock.warehouse.orderpoint" src_model="stock.warehouse"/>
<!-- add product_uom to context to be the default value when adding new orderpoints -->
<act_window context="{'product_uom': locals().has_key('uom_id') and uom_id}" domain="[('product_id', '=', active_id)]" id="act_product_product_2_stock_warehouse_orderpoint" name="Minimum Stock Rules" res_model="stock.warehouse.orderpoint" src_model="product.product"/>
<act_window
context="{'product_uom': locals().has_key('uom_id') and uom_id}"
domain="[('product_id', '=', active_id)]"
id="act_product_product_2_stock_warehouse_orderpoint"
name="Minimum Stock Rules"
res_model="stock.warehouse.orderpoint"
src_model="product.product"/>
<act_window domain="[('product_id', '=', active_id),('bom_id','=',False)]" id="act_product_product_2_mrp_bom" name="Bill of Material" res_model="mrp.bom" src_model="product.product"/>
<act_window
id="action_product_bom_structure"
name="Product BoM Structure"
domain="[('product_id', '=', active_id),('bom_id','=',False)]"
view_type="tree"
view_id="mrp_bom_tree_view"
res_model="mrp.bom"
src_model="product.product"/>
<act_window
domain="[('product_id', '=', active_id),('bom_id','=',False)]"
id="act_product_product_2_mrp_bom"
name="Bill of Materials"
res_model="mrp.bom"
src_model="product.product"/>
</data>
</openerp>

View File

@ -69,7 +69,8 @@
<record id="prod_trans_picking_ready" model="workflow.transition">
<field name="act_from" ref="prod_act_picking"/>
<field name="act_to" ref="prod_act_ready"/>
<field name="signal">subflow.done</field>
<field name="signal"></field>
<field name="condition">picking_id and picking_id.state=='done'</field>
</record>
<record id="prod_trans_ready_in_production" model="workflow.transition">
<field name="act_from" ref="prod_act_ready"/>

View File

@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-09-05 16:29+0000\n"
"PO-Revision-Date: 2008-10-13 13:44+0000\n"
"Last-Translator: Olivier Laurent <Unknown>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-09-05 13:32+0000\n"
"PO-Revision-Date: 2008-10-13 14:37+0000\n"
"Last-Translator: Olivier Laurent <Unknown>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-11-02 20:23:25+0000\n"
"PO-Revision-Date: 2008-11-02 20:23:25+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"

View File

@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-11-02 20:23:25+0000\n"
"PO-Revision-Date: 2008-11-02 20:23:25+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"

View File

@ -104,7 +104,7 @@
<field name="uom_id" ref="product_uom_unit"/>
<field name="uom_po_id" ref="product_uom_unit"/>
<field name="procure_method">make_to_order</field>
<field name="sale_delay">3.0</field>
<field name="sale_delay">18.0</field>
<field name="name">Basic+ PC (assembly on order)</field>
<field name="categ_id" ref="product_category_pc"/>
</record>

View File

@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-11-02 20:23:25+0000\n"
"PO-Revision-Date: 2008-11-02 20:23:25+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"

View File

@ -9,7 +9,7 @@ msgstr ""
"POT-Creation-Date: 2008-09-05 13:21+0000\n"
"PO-Revision-Date: 2008-10-13 14:51+0000\n"
"Last-Translator: Olivier Laurent <Unknown>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language-Team: OpenERP Language Team <support@openerp.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

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