-
+
Account Automatic Reconcile
@@ -47,29 +47,29 @@
For an invoice to be considered as paid, the invoice entries must be reconciled with counterparts, usually payments. With the automatic reconciliation functionality, OpenERP make its own search for entries to reconcile in a series of accounts. It tries to find entries for each partner where the amounts correspond.
-
+
Automatic reconcile unreconcileaccount.automatic.reconcileform
-
@@ -86,11 +86,11 @@
new
-
+
-
+
diff --git a/addons/account/wizard/account_central_journal_view.xml b/addons/account/wizard/account_central_journal_view.xml
index 6a9526c415e..9c9d687785c 100644
--- a/addons/account/wizard/account_central_journal_view.xml
+++ b/addons/account/wizard/account_central_journal_view.xml
@@ -2,27 +2,27 @@
-
+ Account central Journalaccount.central.journalform
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -35,12 +35,12 @@
new
-
+
-
-
\ No newline at end of file
+
+
diff --git a/addons/account/wizard/account_fiscalyear_close_state.py b/addons/account/wizard/account_fiscalyear_close_state.py
index 403abbcbe12..4d0479f8014 100644
--- a/addons/account/wizard/account_fiscalyear_close_state.py
+++ b/addons/account/wizard/account_fiscalyear_close_state.py
@@ -58,6 +58,11 @@ cancelled, please check the box !'))
'WHERE fiscalyear_id = %s', ('done', fy_id))
cr.execute('UPDATE account_fiscalyear ' \
'SET state = %s WHERE id = %s', ('done', fy_id))
+
+ # Log message for Fiscalyear
+ fy_pool = self.pool.get('account.fiscalyear')
+ fy_code = fy_pool.browse(cr, uid, fy_id, context=context).code
+ fy_pool.log(cr, uid, fy_id, "Fiscal year '%s' is closed, no more modification allowed." % (fy_code))
return {}
account_fiscalyear_close_state()
diff --git a/addons/account/wizard/account_general_journal_view.xml b/addons/account/wizard/account_general_journal_view.xml
index a3a54843396..711e3a85329 100644
--- a/addons/account/wizard/account_general_journal_view.xml
+++ b/addons/account/wizard/account_general_journal_view.xml
@@ -2,27 +2,27 @@
-
+ Account Genral Journalaccount.general.journalform
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -35,12 +35,12 @@
new
-
+
-
-
\ No newline at end of file
+
+
diff --git a/addons/account/wizard/account_general_ledger_report_view.xml b/addons/account/wizard/account_general_ledger_report_view.xml
index b06c24d501d..67526d51788 100644
--- a/addons/account/wizard/account_general_ledger_report_view.xml
+++ b/addons/account/wizard/account_general_ledger_report_view.xml
@@ -96,7 +96,7 @@
diff --git a/addons/account/wizard/account_invoice_state_view.xml b/addons/account/wizard/account_invoice_state_view.xml
index 8bdfb4ba8e2..1fd466a9dce 100644
--- a/addons/account/wizard/account_invoice_state_view.xml
+++ b/addons/account/wizard/account_invoice_state_view.xml
@@ -25,15 +25,15 @@
new
-
-
-
- Confirm Draft Invoices
- client_action_multi
-
- action
- account.invoice
-
+
+
+
+
+
+
+
+
+
account.invoice.cancel.form
@@ -59,15 +59,15 @@
new
-
-
-
- Cancel Selected Invoices
- client_action_multi
-
- action
- account.invoice
-
+
+
+
+
+
+
+
+
+
diff --git a/addons/account/wizard/account_period_close.py b/addons/account/wizard/account_period_close.py
index f0f050e953c..56a4f2c5e35 100644
--- a/addons/account/wizard/account_period_close.py
+++ b/addons/account/wizard/account_period_close.py
@@ -46,6 +46,11 @@ class account_period_close(osv.osv_memory):
for id in context['active_ids']:
cr.execute('update account_journal_period set state=%s where period_id=%s', (mode, id))
cr.execute('update account_period set state=%s where id=%s', (mode, id))
+
+ # Log message for Period
+ period_pool = self.pool.get('account.period')
+ for period_id, name in period_pool.name_get(cr, uid, [id]):
+ period_pool.log(cr, uid, period_id, "Period '%s' is closed, no more modification allowed for this period." % (name))
return {}
account_period_close()
diff --git a/addons/account/wizard/account_pl_report_view.xml b/addons/account/wizard/account_pl_report_view.xml
index 47ad83a235e..219d41d312f 100644
--- a/addons/account/wizard/account_pl_report_view.xml
+++ b/addons/account/wizard/account_pl_report_view.xml
@@ -76,11 +76,6 @@
new
-
-
diff --git a/addons/account/wizard/account_use_model_view.xml b/addons/account/wizard/account_use_model_view.xml
index 71f026237ac..560030be2f5 100644
--- a/addons/account/wizard/account_use_model_view.xml
+++ b/addons/account/wizard/account_use_model_view.xml
@@ -10,7 +10,8 @@
-
+
+
diff --git a/addons/account_coda/wizard/__init__.py b/addons/account_coda/wizard/__init__.py
index e9214ee1e44..950c9fc8d77 100644
--- a/addons/account_coda/wizard/__init__.py
+++ b/addons/account_coda/wizard/__init__.py
@@ -20,6 +20,7 @@
##############################################################################
import account_coda_import
+import coda_import
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/account_coda/wizard/account_coda_import.py b/addons/account_coda/wizard/account_coda_import.py
index 297534542b1..f62a307c3c5 100644
--- a/addons/account_coda/wizard/account_coda_import.py
+++ b/addons/account_coda/wizard/account_coda_import.py
@@ -208,7 +208,8 @@ class account_coda_import(osv.osv_memory):
line=lines[value]
reconcile_id = False
if line['toreconcile']:
- rec_id = move_line_obj.search(cr, uid, [('name', '=', line['name']), ('reconcile_id', '=', False), ('account_id.reconcile', '=', True)])
+ name = line['name'][:3] + '/' + line['name'][3:7] + '/' + line['name'][7:]
+ rec_id = pool.get('account.move.line').search(cr, uid, [('name','=', name),('reconcile_id','=',False),('account_id.reconcile','=',True)])
if rec_id:
reconcile_id = statement_reconcile_obj.create(cr, uid, {
'line_ids': [(6, 0, rec_id)]
@@ -296,4 +297,4 @@ class account_coda_import(osv.osv_memory):
account_coda_import()
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/account_coda/wizard/coda_import.py b/addons/account_coda/wizard/coda_import.py
new file mode 100644
index 00000000000..39aa7b645cb
--- /dev/null
+++ b/addons/account_coda/wizard/coda_import.py
@@ -0,0 +1,347 @@
+# -*- encoding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# Copyright (C) 2004-2009 Tiny SPRL ().
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see .
+#
+##############################################################################
+
+import pooler
+import time
+import datetime
+import wizard
+import netsvc
+import base64
+from osv import osv
+from tools.translate import _
+
+codawiz_form = """
+
+
+
+
+
+
+
+
+
+
+"""
+
+codawiz_fields = {
+ 'journal_id' : {
+ 'string':'Bank Journal',
+ 'type':'many2one',
+ 'relation':'account.journal',
+ 'required':True,
+
+ },
+ 'coda' : {
+ 'string':'Coda File',
+ 'type':'binary',
+ 'required':True,
+ },
+ 'def_payable' : {
+ 'string' : 'Default Payable Account',
+ 'type' : 'many2one',
+ 'relation': 'account.account',
+ 'required':True,
+ 'domain':[('type','=','payable')],
+ 'help': 'Set here the payable account that will be used, by default, if the partner is not found',
+ },
+ 'def_receivable' : {
+ 'string' : 'Default receivable Account',
+ 'type' : 'many2one',
+ 'relation': 'account.account',
+ 'required':True,
+ 'domain':[('type','=','receivable')],
+ 'help': 'Set here the receivable account that will be used, by default, if the partner is not found',
+ },
+ 'awaiting_account' : {
+ 'string' : 'Default Account for Unrecognized Movement',
+ 'type' : 'many2one',
+ 'relation': 'account.account',
+ 'required':True,
+ 'help': 'Set here the default account that will be used, if the partner is found but does not have the bank account , or if he is domiciled',
+
+ }
+
+}
+
+result_form = """
+
+
+
+
+"""
+
+result_fields = {
+
+ 'note' : {'string':'Log','type':'text'}
+
+}
+
+
+def _coda_parsing(self, cr, uid, data, context):
+ pool = pooler.get_pool(cr.dbname)
+ codafile = data['form']['coda']
+ journal_code = pool.get('account.journal').browse(cr, uid, data['form']['journal_id'], context).code
+ def_pay_acc = data['form']['def_payable']
+ def_rec_acc = data['form']['def_receivable']
+
+ str_log = ""
+ err_log = "Errors:\n------\n"
+ nb_err=0
+ std_log=''
+ str_log1 = "Coda File is Imported : "
+ str_not=''
+ str_not1=''
+
+ bank_statements=[]
+ recordlist = base64.decodestring(codafile).split('\n')
+ recordlist.pop()
+ for line in recordlist:
+ if line[0] == '0':
+ # header data
+ bank_statement = {}
+ bank_statement["bank_statement_line"]={}
+ bank_statement_lines = {}
+ bank_statement['date'] = str2date(line[5:11])
+ bank_statement['journal_id']=data['form']['journal_id']
+ period_id = pool.get('account.period').search(cr,uid,[('date_start','<=',time.strftime('%Y-%m-%d',time.strptime(bank_statement['date'],"%y/%m/%d"))),('date_stop','>=',time.strftime('%Y-%m-%d',time.strptime(bank_statement['date'],"%y/%m/%d")))])
+ bank_statement['period_id'] = period_id[0]
+ bank_statement['state']='draft'
+ elif line[0] == '1':
+ # old balance data
+ bal_start = list2float(line[43:58])
+ if line[42] == '1':
+ bal_start = - bal_start
+ bank_statement["balance_start"]= bal_start
+ bank_statement["acc_number"]=line[5:17]
+ bank_statement["acc_holder"]=line[64:90]
+ bank_statement['name'] = journal_code + ' ' + str(line[2:5])
+
+ elif line[0]=='2':
+ # movement data record 2
+ if line[1]=='1':
+ # movement data record 2.1
+ if bank_statement_lines.has_key(line[2:6]):
+ continue
+ st_line = {}
+ st_line['extra_note'] = ''
+ st_line['statement_id']=0
+ st_line['ref'] = line[2:10]
+ st_line['date'] = time.strftime('%Y-%m-%d',time.strptime(str2date(line[115:121]),"%y/%m/%d")),
+ st_line_amt = list2float(line[32:47])
+ if line[61]=='1':
+ st_line['toreconcile'] = True
+ st_line['name']=line[65:77]
+ else:
+ st_line['toreconcile'] = False
+ st_line['name']=line[62:115]
+
+ st_line['free_comm'] = st_line['name']
+ st_line['val_date']=time.strftime('%Y-%m-%d',time.strptime(str2date(line[47:53]),"%y/%m/%d")),
+ st_line['entry_date']=time.strftime('%Y-%m-%d',time.strptime(str2date(line[115:121]),"%y/%m/%d")),
+ st_line['partner_id']=0
+ if line[31] == '1':
+ st_line_amt = - st_line_amt
+ st_line['account_id'] = def_pay_acc
+ else:
+ st_line['account_id'] = def_rec_acc
+ st_line['amount'] = st_line_amt
+ bank_statement_lines[line[2:6]]=st_line
+ bank_statement["bank_statement_line"]=bank_statement_lines
+ elif line[1] == '2':
+ st_line_name = line[2:6]
+ bank_statement_lines[st_line_name].update({'account_id': data['form']['awaiting_account']})
+
+ elif line[1] == '3':
+ # movement data record 3.1
+ st_line_name = line[2:6]
+ st_line_partner_acc = str(line[10:47]).strip()
+ cntry_number=line[10:47].strip()
+ contry_name=line[47:125].strip()
+ bank_ids = pool.get('res.partner.bank').search(cr,uid,[('acc_number','=',st_line_partner_acc)])
+ bank_statement_lines[st_line_name].update({'cntry_number': cntry_number, 'contry_name': contry_name})
+ if bank_ids:
+ bank = pool.get('res.partner.bank').browse(cr,uid,bank_ids[0],context)
+ if line and bank.partner_id:
+ bank_statement_lines[st_line_name].update({'partner_id': bank.partner_id.id})
+ if bank_statement_lines[st_line_name]['amount'] < 0 :
+ bank_statement_lines[st_line_name].update({'account_id': bank.partner_id.property_account_payable.id})
+ else :
+ bank_statement_lines[st_line_name].update({'account_id': bank.partner_id.property_account_receivable.id})
+ else:
+ nb_err += 1
+ err_log += _('The bank account %s is not defined for the partner %s.\n')%(cntry_number,contry_name)
+ bank_statement_lines[st_line_name].update({'account_id': data['form']['awaiting_account']})
+
+ bank_statement["bank_statement_line"]=bank_statement_lines
+ elif line[0]=='3':
+ if line[1] == '1':
+ st_line_name = line[2:6]
+ bank_statement_lines[st_line_name]['extra_note'] += '\n' + line[40:113]
+ elif line[1] == '2':
+ st_line_name = line[2:6]
+ bank_statement_lines[st_line_name]['extra_note'] += '\n' + line[10:115]
+ elif line[1] == '3':
+ st_line_name = line[2:6]
+ bank_statement_lines[st_line_name]['extra_note'] += '\n' + line[10:100]
+ elif line[0]=='8':
+ # new balance record
+ bal_end = list2float(line[42:57])
+ if line[41] == '1':
+ bal_end = - bal_end
+ bank_statement["balance_end_real"]= bal_end
+
+ elif line[0]=='9':
+ # footer record
+ bank_statements.append(bank_statement)
+ #end for
+ bkst_list=[]
+ for statement in bank_statements:
+ try:
+ bk_st_id = pool.get('account.bank.statement').create(cr,uid,{
+ 'journal_id': statement['journal_id'],
+ 'date':time.strftime('%Y-%m-%d',time.strptime(statement['date'],"%y/%m/%d")),
+ 'period_id':statement['period_id'],
+ 'balance_start': statement["balance_start"],
+ 'balance_end_real': statement["balance_end_real"],
+ 'state': 'draft',
+ 'name': statement['name'],
+ })
+ lines=statement["bank_statement_line"]
+ for value in lines:
+ line=lines[value]
+ reconcile_id = False
+ if line['toreconcile']:
+ name = line['name'][:3] + '/' + line['name'][3:7] + '/' + line['name'][7:]
+ rec_id = pool.get('account.move.line').search(cr, uid, [('name','=', name),('reconcile_id','=',False),('account_id.reconcile','=',True)])
+ if rec_id:
+ reconcile_id = pool.get('account.bank.statement.reconcile').create(cr, uid, {
+ 'line_ids': [(6, 0, rec_id)]
+ }, context=context)
+ mv = pool.get('account.move.line').browse(cr, uid, rec_id[0], context=context)
+ if mv.partner_id:
+ line['partner_id'] = mv.partner_id.id
+ if line['amount'] < 0 :
+ line['account_id'] = mv.partner_id.property_account_payable.id
+ else :
+ line['account_id'] = mv.partner_id.property_account_receivable.id
+ str_not1 = ''
+ if line.has_key('contry_name') and line.has_key('cntry_number'):
+ str_not1="Partner name:%s \n Partner Account Number:%s \n Communication:%s \n Value Date:%s \n Entry Date:%s \n"%(line["contry_name"],line["cntry_number"],line["free_comm"]+line['extra_note'],line["val_date"][0],line["entry_date"][0])
+ id=pool.get('account.bank.statement.line').create(cr,uid,{
+ 'name':line['name'],
+ 'date': line['date'],
+ 'type':line['amount']>0 and 'customer' or 'supplier',
+ 'amount': line['amount'],
+ 'partner_id':line['partner_id'] or 0,
+ 'account_id':line['account_id'],
+ 'statement_id': bk_st_id,
+ 'reconcile_id': reconcile_id,
+ 'note':str_not1,
+ 'ref':line['ref'],
+ })
+
+ str_not= "\n \n Account Number: %s \n Account Holder Name: %s " %(statement["acc_number"],statement["acc_holder"])
+ std_log += "\nStatement : %s , Date : %s, Starting Balance : %.2f , Ending Balance : %.2f \n"\
+ %(statement['name'], statement['date'], float(statement["balance_start"]), float(statement["balance_end_real"]))
+ bkst_list.append(bk_st_id)
+
+ except osv.except_osv, e:
+ cr.rollback()
+ nb_err+=1
+ err_log += '\n Application Error : ' + str(e)
+ raise # REMOVEME
+
+ except Exception, e:
+ cr.rollback()
+ nb_err+=1
+ err_log += '\n System Error : '+str(e)
+ raise # REMOVEME
+ except :
+ cr.rollback()
+ nb_err+=1
+ err_log += '\n Unknown Error'
+ raise
+ err_log += '\n\nNumber of statements : '+ str(len(bkst_list))
+ err_log += '\nNumber of error :'+ str(nb_err) +'\n'
+
+ pool.get('account.coda').create(cr, uid,{
+ 'name':codafile,
+ 'statement_ids': [(6, 0, bkst_list,)],
+ 'note':str_log1+str_not+std_log+err_log,
+ 'journal_id':data['form']['journal_id'],
+ 'date':time.strftime("%Y-%m-%d"),
+ 'user_id':uid,
+ })
+
+ return {'note':str_log1 + std_log + err_log ,'journal_id': data['form']['journal_id'], 'coda': data['form']['coda'],'statment_ids':bkst_list}
+
+
+def str2date(date_str):
+ return time.strftime("%y/%m/%d",time.strptime(date_str,"%d%m%y"))
+
+def str2float(str):
+ try:
+ return float(str)
+ except:
+ return 0.0
+
+def list2float(lst):
+ try:
+ return str2float((lambda s : s[:-3] + '.' + s[-3:])(lst))
+ except:
+ return 0.0
+
+class coda_import(wizard.interface):
+ def _action_open_window(self, cr, uid, data, context):
+ form=data['form']
+ return {
+ 'domain':"[('id','in',%s)]"%(form['statment_ids']),
+ 'name': 'Statement',
+ 'view_type': 'form',
+ 'view_mode': 'tree,form',
+ 'res_model': 'account.bank.statement',
+ 'view_id': False,
+ 'type': 'ir.actions.act_window',
+ }
+ states = {
+ 'init' : {
+ 'actions' : [],
+ 'result' : {'type' : 'form',
+ 'arch' : codawiz_form,
+ 'fields' : codawiz_fields,
+ 'state' : [('end', '_Close'),('extraction', '_Ok') ]}
+ },
+ 'extraction' : {
+ 'actions' : [_coda_parsing],
+ 'result' : {'type' : 'form',
+ 'arch' : result_form,
+ 'fields' : result_fields,
+ 'state' : [('end', '_Close'),('open', '_Open Statement')]}
+ },
+ 'open': {
+ 'actions': [],
+ 'result': {'type': 'action', 'action': _action_open_window, 'state': 'end'}
+
+ },
+
+ }
+coda_import("account.coda_import")
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/account_report/board_account_report_view.xml b/addons/account_report/board_account_report_view.xml
index 6f9206ab6f8..0467db65cf1 100644
--- a/addons/account_report/board_account_report_view.xml
+++ b/addons/account_report/board_account_report_view.xml
@@ -7,7 +7,7 @@
form
-
+
diff --git a/addons/account_voucher/voucher.py b/addons/account_voucher/voucher.py
index 7f74553f6bf..0f1885689c2 100644
--- a/addons/account_voucher/voucher.py
+++ b/addons/account_voucher/voucher.py
@@ -22,6 +22,7 @@
import time
from osv import fields
from osv import osv
+from tools.translate import _
journal2type = {
'cash':'rec_voucher',
@@ -367,7 +368,7 @@ class account_voucher(osv.osv):
'move_ids':[(6, 0,line_ids)]
}
- message = _('Voucher ') + " '" + inv.name + "' "+ _("is confirm")
+ message = _('Voucher ') + " '" + inv.name + "' "+ _("is confirmed")
self.log(cr, uid, inv.id, message)
self.write(cr, uid, [inv.id], rec)
diff --git a/addons/account_voucher/voucher_view.xml b/addons/account_voucher/voucher_view.xml
index 29582fcf192..2677f7be5d6 100644
--- a/addons/account_voucher/voucher_view.xml
+++ b/addons/account_voucher/voucher_view.xml
@@ -139,12 +139,24 @@
+
+ account.voucher.graph
+ account.voucher
+ graph
+
+
+
+
+
+
+
+
Receivable Vouchersaccount.voucherform
- tree,form
+ tree,form,graph[('journal_id.type','=','sale')]{'type':'sale'}
@@ -158,7 +170,7 @@
Payable Vouchersaccount.voucherform
- tree,form
+ tree,form,graph[('journal_id.type','=','purchase')]{'type':'purchase'}
@@ -172,7 +184,7 @@
Journal Vouchersaccount.voucherform
- tree,form
+ tree,form,graph{'type':'general'}
diff --git a/addons/analytic/i18n/et.po b/addons/analytic/i18n/et.po
new file mode 100644
index 00000000000..9b745ea87e3
--- /dev/null
+++ b/addons/analytic/i18n/et.po
@@ -0,0 +1,266 @@
+# Estonian translation for openobject-addons
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR , 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2010-06-18 10:59+0000\n"
+"PO-Revision-Date: 2010-07-22 20:10+0000\n"
+"Last-Translator: lyyser \n"
+"Language-Team: Estonian \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2010-07-23 04:08+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#. module: analytic
+#: field:account.analytic.account,child_ids:0
+msgid "Child Accounts"
+msgstr "Alamkontod"
+
+#. module: analytic
+#: help:account.analytic.line,amount_currency:0
+msgid ""
+"The amount expressed in the related account currency if not equal to the "
+"company one."
+msgstr ""
+
+#. module: analytic
+#: constraint:ir.model:0
+msgid ""
+"The Object name must start with x_ and not contain any special character !"
+msgstr ""
+"Objekti nimi peab algama x_'ga ja ei tohi sisaldada ühtegi erisümbolit !"
+
+#. module: analytic
+#: field:account.analytic.account,name:0
+msgid "Account Name"
+msgstr "Konto nimi"
+
+#. module: analytic
+#: help:account.analytic.line,unit_amount:0
+msgid "Specifies the amount of quantity to count."
+msgstr ""
+
+#. module: analytic
+#: help:account.analytic.line,currency_id:0
+msgid "The related account currency if not equal to the company one."
+msgstr ""
+
+#. module: analytic
+#: model:ir.module.module,description:analytic.module_meta_information
+msgid ""
+"Module for defining analytic accounting object.\n"
+" "
+msgstr ""
+
+#. module: analytic
+#: field:account.analytic.account,state:0
+msgid "State"
+msgstr "Riik/Osariik"
+
+#. module: analytic
+#: field:account.analytic.account,user_id:0
+msgid "Account Manager"
+msgstr "Konto haldur"
+
+#. module: analytic
+#: selection:account.analytic.account,state:0
+msgid "Draft"
+msgstr "Mustand"
+
+#. module: analytic
+#: selection:account.analytic.account,state:0
+msgid "Closed"
+msgstr "Suletud"
+
+#. module: analytic
+#: field:account.analytic.account,debit:0
+msgid "Debit"
+msgstr "Deebet"
+
+#. module: analytic
+#: help:account.analytic.account,state:0
+msgid ""
+"* When an account is created its in 'Draft' state. "
+" \n"
+"* If any associated partner is there, it can be in 'Open' state. "
+" \n"
+"* If any pending balance is there it can be in 'Pending'. "
+" \n"
+"* And finally when all the transactions are over, it can be in 'Close' "
+"state. \n"
+"* The project can be in either if the states 'Template' and 'Running'.\n"
+" If it is template then we can make projects based on the template projects. "
+"If its in 'Running' state it is a normal project. "
+" \n"
+" If it is to be reviewed then the state is 'Pending'.\n"
+" When the project is completed the state is set to 'Done'."
+msgstr ""
+
+#. module: analytic
+#: field:account.analytic.account,type:0
+msgid "Account Type"
+msgstr "Konto tüüp"
+
+#. module: analytic
+#: selection:account.analytic.account,state:0
+msgid "Template"
+msgstr "Mall"
+
+#. module: analytic
+#: selection:account.analytic.account,state:0
+msgid "Pending"
+msgstr "Ootel"
+
+#. module: analytic
+#: model:ir.model,name:analytic.model_account_analytic_line
+msgid "Analytic Line"
+msgstr ""
+
+#. module: analytic
+#: field:account.analytic.account,description:0
+#: field:account.analytic.line,name:0
+msgid "Description"
+msgstr "Kirjeldus"
+
+#. module: analytic
+#: help:account.analytic.line,amount:0
+msgid ""
+"Calculated by multiplying the quantity and the price given in the Product's "
+"cost price."
+msgstr ""
+
+#. module: analytic
+#: field:account.analytic.account,company_id:0
+#: field:account.analytic.line,company_id:0
+msgid "Company"
+msgstr "Ettevõte"
+
+#. module: analytic
+#: field:account.analytic.account,quantity_max:0
+msgid "Maximum Quantity"
+msgstr ""
+
+#. module: analytic
+#: field:account.analytic.line,user_id:0
+msgid "User"
+msgstr "Kasutaja"
+
+#. module: analytic
+#: field:account.analytic.account,parent_id:0
+msgid "Parent Analytic Account"
+msgstr "Ülem analüütiline konto"
+
+#. module: analytic
+#: field:account.analytic.line,date:0
+msgid "Date"
+msgstr "Kuupäev"
+
+#. module: analytic
+#: field:account.analytic.account,currency_id:0
+#: field:account.analytic.line,currency_id:0
+msgid "Account currency"
+msgstr ""
+
+#. module: analytic
+#: selection:account.analytic.account,type:0
+msgid "View"
+msgstr "Vaade"
+
+#. module: analytic
+#: help:account.analytic.account,quantity_max:0
+msgid "Sets the higher limit of quantity of hours."
+msgstr ""
+
+#. module: analytic
+#: field:account.analytic.account,credit:0
+msgid "Credit"
+msgstr "Krediit"
+
+#. module: analytic
+#: field:account.analytic.line,amount:0
+msgid "Amount"
+msgstr "Kogus"
+
+#. module: analytic
+#: field:account.analytic.account,contact_id:0
+msgid "Contact"
+msgstr "Kontakt"
+
+#. module: analytic
+#: selection:account.analytic.account,state:0
+msgid "Cancelled"
+msgstr "Katkestatud"
+
+#. module: analytic
+#: field:account.analytic.account,balance:0
+msgid "Balance"
+msgstr "Balanss"
+
+#. module: analytic
+#: field:account.analytic.account,date_start:0
+msgid "Date Start"
+msgstr "Alguskuupäev"
+
+#. module: analytic
+#: field:account.analytic.account,quantity:0
+#: field:account.analytic.line,unit_amount:0
+msgid "Quantity"
+msgstr "Kvantiteet"
+
+#. module: analytic
+#: field:account.analytic.account,date:0
+msgid "Date End"
+msgstr "Lõppkuupäev"
+
+#. module: analytic
+#: field:account.analytic.account,code:0
+msgid "Account Code"
+msgstr "Konto kood"
+
+#. module: analytic
+#: selection:account.analytic.account,type:0
+msgid "Normal"
+msgstr "Normaalne"
+
+#. module: analytic
+#: field:account.analytic.account,complete_name:0
+msgid "Full Account Name"
+msgstr "Täielik konto nimi"
+
+#. module: analytic
+#: field:account.analytic.line,account_id:0
+#: model:ir.model,name:analytic.model_account_analytic_account
+#: model:ir.module.module,shortdesc:analytic.module_meta_information
+msgid "Analytic Account"
+msgstr "Analüütiline konto"
+
+#. module: analytic
+#: field:account.analytic.account,company_currency_id:0
+msgid "Currency"
+msgstr "Rahaühik"
+
+#. module: analytic
+#: field:account.analytic.line,amount_currency:0
+msgid "Amount currency"
+msgstr ""
+
+#. module: analytic
+#: field:account.analytic.account,partner_id:0
+msgid "Associated Partner"
+msgstr "Seotud partner"
+
+#. module: analytic
+#: selection:account.analytic.account,state:0
+msgid "Open"
+msgstr "Ava"
+
+#. module: analytic
+#: field:account.analytic.account,line_ids:0
+msgid "Analytic Entries"
+msgstr "Analüütilised kirjed"
diff --git a/addons/analytic/i18n/pl.po b/addons/analytic/i18n/pl.po
new file mode 100644
index 00000000000..cd030c52ce4
--- /dev/null
+++ b/addons/analytic/i18n/pl.po
@@ -0,0 +1,270 @@
+# Polish translation for openobject-addons
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR , 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2010-06-18 10:59+0000\n"
+"PO-Revision-Date: 2010-07-26 10:16+0000\n"
+"Last-Translator: Grzegorz Grzelak (Cirrus.pl) \n"
+"Language-Team: Polish \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2010-07-27 03:58+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#. module: analytic
+#: field:account.analytic.account,child_ids:0
+msgid "Child Accounts"
+msgstr "Konta podrzędne"
+
+#. module: analytic
+#: help:account.analytic.line,amount_currency:0
+msgid ""
+"The amount expressed in the related account currency if not equal to the "
+"company one."
+msgstr ""
+"Kwota wyrażona w walucie konta, jeśli waluta jest inna niż waluta firmy."
+
+#. module: analytic
+#: constraint:ir.model:0
+msgid ""
+"The Object name must start with x_ and not contain any special character !"
+msgstr ""
+"Nazwa obiektu musi zaczynać się od x_ oraz nie może zawierać znaków "
+"specjalnych !"
+
+#. module: analytic
+#: field:account.analytic.account,name:0
+msgid "Account Name"
+msgstr "Nazwa konta"
+
+#. module: analytic
+#: help:account.analytic.line,unit_amount:0
+msgid "Specifies the amount of quantity to count."
+msgstr "Określa ilość do obliczeń."
+
+#. module: analytic
+#: help:account.analytic.line,currency_id:0
+msgid "The related account currency if not equal to the company one."
+msgstr "Waluta konta, jeśli waluta jest inna niż firmy."
+
+#. module: analytic
+#: model:ir.module.module,description:analytic.module_meta_information
+msgid ""
+"Module for defining analytic accounting object.\n"
+" "
+msgstr ""
+"Moduł do definiowania obiektów księgowości analitycznej.\n"
+" "
+
+#. module: analytic
+#: field:account.analytic.account,state:0
+msgid "State"
+msgstr "Stan"
+
+#. module: analytic
+#: field:account.analytic.account,user_id:0
+msgid "Account Manager"
+msgstr "Główna(y) księgowa(y)"
+
+#. module: analytic
+#: selection:account.analytic.account,state:0
+msgid "Draft"
+msgstr "Projekt"
+
+#. module: analytic
+#: selection:account.analytic.account,state:0
+msgid "Closed"
+msgstr "Zamknięte"
+
+#. module: analytic
+#: field:account.analytic.account,debit:0
+msgid "Debit"
+msgstr "Winien"
+
+#. module: analytic
+#: help:account.analytic.account,state:0
+msgid ""
+"* When an account is created its in 'Draft' state. "
+" \n"
+"* If any associated partner is there, it can be in 'Open' state. "
+" \n"
+"* If any pending balance is there it can be in 'Pending'. "
+" \n"
+"* And finally when all the transactions are over, it can be in 'Close' "
+"state. \n"
+"* The project can be in either if the states 'Template' and 'Running'.\n"
+" If it is template then we can make projects based on the template projects. "
+"If its in 'Running' state it is a normal project. "
+" \n"
+" If it is to be reviewed then the state is 'Pending'.\n"
+" When the project is completed the state is set to 'Done'."
+msgstr ""
+
+#. module: analytic
+#: field:account.analytic.account,type:0
+msgid "Account Type"
+msgstr "Typ Konta"
+
+#. module: analytic
+#: selection:account.analytic.account,state:0
+msgid "Template"
+msgstr "Szablon"
+
+#. module: analytic
+#: selection:account.analytic.account,state:0
+msgid "Pending"
+msgstr "Oczekujące"
+
+#. module: analytic
+#: model:ir.model,name:analytic.model_account_analytic_line
+msgid "Analytic Line"
+msgstr ""
+
+#. module: analytic
+#: field:account.analytic.account,description:0
+#: field:account.analytic.line,name:0
+msgid "Description"
+msgstr "Opis"
+
+#. module: analytic
+#: help:account.analytic.line,amount:0
+msgid ""
+"Calculated by multiplying the quantity and the price given in the Product's "
+"cost price."
+msgstr ""
+
+#. module: analytic
+#: field:account.analytic.account,company_id:0
+#: field:account.analytic.line,company_id:0
+msgid "Company"
+msgstr "Firma"
+
+#. module: analytic
+#: field:account.analytic.account,quantity_max:0
+msgid "Maximum Quantity"
+msgstr "Ilość maksymalna"
+
+#. module: analytic
+#: field:account.analytic.line,user_id:0
+msgid "User"
+msgstr "Użytkownik"
+
+#. module: analytic
+#: field:account.analytic.account,parent_id:0
+msgid "Parent Analytic Account"
+msgstr "Nadrzędne konto analityczne"
+
+#. module: analytic
+#: field:account.analytic.line,date:0
+msgid "Date"
+msgstr "Data"
+
+#. module: analytic
+#: field:account.analytic.account,currency_id:0
+#: field:account.analytic.line,currency_id:0
+msgid "Account currency"
+msgstr "Waluta konta"
+
+#. module: analytic
+#: selection:account.analytic.account,type:0
+msgid "View"
+msgstr "Widok"
+
+#. module: analytic
+#: help:account.analytic.account,quantity_max:0
+msgid "Sets the higher limit of quantity of hours."
+msgstr ""
+
+#. module: analytic
+#: field:account.analytic.account,credit:0
+msgid "Credit"
+msgstr "Ma"
+
+#. module: analytic
+#: field:account.analytic.line,amount:0
+msgid "Amount"
+msgstr "Kwota"
+
+#. module: analytic
+#: field:account.analytic.account,contact_id:0
+msgid "Contact"
+msgstr "Kontakt"
+
+#. module: analytic
+#: selection:account.analytic.account,state:0
+msgid "Cancelled"
+msgstr "Anulowano"
+
+#. module: analytic
+#: field:account.analytic.account,balance:0
+msgid "Balance"
+msgstr "Saldo"
+
+#. module: analytic
+#: field:account.analytic.account,date_start:0
+msgid "Date Start"
+msgstr "Data rozpoczęcia"
+
+#. module: analytic
+#: field:account.analytic.account,quantity:0
+#: field:account.analytic.line,unit_amount:0
+msgid "Quantity"
+msgstr "Ilość"
+
+#. module: analytic
+#: field:account.analytic.account,date:0
+msgid "Date End"
+msgstr "Data końcowa"
+
+#. module: analytic
+#: field:account.analytic.account,code:0
+msgid "Account Code"
+msgstr "Kod konta"
+
+#. module: analytic
+#: selection:account.analytic.account,type:0
+msgid "Normal"
+msgstr "Normalne"
+
+#. module: analytic
+#: field:account.analytic.account,complete_name:0
+msgid "Full Account Name"
+msgstr "Pełna nazwa konta"
+
+#. module: analytic
+#: field:account.analytic.line,account_id:0
+#: model:ir.model,name:analytic.model_account_analytic_account
+#: model:ir.module.module,shortdesc:analytic.module_meta_information
+msgid "Analytic Account"
+msgstr "Konto analityczne"
+
+#. module: analytic
+#: field:account.analytic.account,company_currency_id:0
+msgid "Currency"
+msgstr "Waluta"
+
+#. module: analytic
+#: field:account.analytic.line,amount_currency:0
+msgid "Amount currency"
+msgstr "Waluta kwoty"
+
+#. module: analytic
+#: field:account.analytic.account,partner_id:0
+msgid "Associated Partner"
+msgstr "Przypisany partner"
+
+#. module: analytic
+#: selection:account.analytic.account,state:0
+msgid "Open"
+msgstr "Otwarte"
+
+#. module: analytic
+#: field:account.analytic.account,line_ids:0
+msgid "Analytic Entries"
+msgstr "Zapisy analityczne"
diff --git a/addons/auction/auction_view.xml b/addons/auction/auction_view.xml
index 41c6cea2f77..dad4d39b776 100644
--- a/addons/auction/auction_view.xml
+++ b/addons/auction/auction_view.xml
@@ -1540,7 +1540,7 @@ Object encoded
report.unclassified.objectstree
-
+
diff --git a/addons/auction/board_auction_view.xml b/addons/auction/board_auction_view.xml
index ca4b30bd688..6693622d55c 100644
--- a/addons/auction/board_auction_view.xml
+++ b/addons/auction/board_auction_view.xml
@@ -58,7 +58,7 @@
menu
-
+
diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py
index 2a469d88baa..9cb5f31d67e 100644
--- a/addons/crm/crm_lead.py
+++ b/addons/crm/crm_lead.py
@@ -198,8 +198,8 @@ class crm_lead(osv.osv, crm_case):
self.write(cr, uid, ids, value)
for (id, name) in self.name_get(cr, uid, ids):
- type = self.browse(cr, uid, id).type
- message = (_('The ') + type.title() or 'Lead') + " '" + name + "' "+ _("has been written as Open.")
+ type = self.browse(cr, uid, id).type or 'Lead'
+ message = (_('The ') + type.title()) + " '" + name + "' "+ _("has been Opened.")
self.log(cr, uid, id, message)
return res
@@ -216,7 +216,7 @@ class crm_lead(osv.osv, crm_case):
for (id, name) in self.name_get(cr, uid, ids):
lead = self.browse(cr, uid, id)
if lead.type == 'lead':
- message = _('The Lead') + " '" + name + "' "+ _("has been written as Closed.")
+ message = _('The Lead') + " '" + name + "' "+ _("has been Closed.")
self.log(cr, uid, id, message)
return res
diff --git a/addons/crm/crm_meeting.py b/addons/crm/crm_meeting.py
index 79a2c992cdf..798f746f9e3 100644
--- a/addons/crm/crm_meeting.py
+++ b/addons/crm/crm_meeting.py
@@ -122,7 +122,21 @@ class crm_meeting(osv.osv, crm_case):
}
return value
-
+
+ def case_open(self, cr, uid, ids, *args):
+ """Confirms meeting
+ @param self: The object pointer
+ @param cr: the current row, from the database cursor,
+ @param uid: the current user’s ID for security checks,
+ @param ids: List of Meeting Ids
+ @param *args: Tuple Value for additional Params
+ """
+ res = super(crm_meeting, self).case_open(cr, uid, ids, args)
+ for (id, name) in self.name_get(cr, uid, ids):
+ message = _('The Meeting') + " '" + name + "' "+ _("has been Confirmed.")
+ self.log(cr, uid, id, message)
+ return res
+
crm_meeting()
class calendar_attendee(osv.osv):
diff --git a/addons/crm/crm_opportunity.py b/addons/crm/crm_opportunity.py
index a1ca912e20f..c058732a3dd 100644
--- a/addons/crm/crm_opportunity.py
+++ b/addons/crm/crm_opportunity.py
@@ -36,8 +36,6 @@ AVAILABLE_STATES = [
class crm_opportunity(osv.osv):
""" Opportunity Cases """
- _name = "crm.lead"
- _description = "Opportunity"
_order = "priority,date_action,id desc"
_inherit = 'crm.lead'
_columns = {
@@ -72,8 +70,10 @@ class crm_opportunity(osv.osv):
self.write(cr, uid, ids, value)
for (id, name) in self.name_get(cr, uid, ids):
- message = _('The Opportunity') + " '" + name + "' "+ _("has been written as Won.")
- self.log(cr, uid, id, message)
+ opp = self.browse(cr, uid, id)
+ if opp.type == 'opportunity':
+ message = _('The Opportunity') + " '" + name + "' "+ _("has been Won.")
+ self.log(cr, uid, id, message)
return res
def case_mark_lost(self, cr, uid, ids, *args):
@@ -95,7 +95,7 @@ class crm_opportunity(osv.osv):
for (id, name) in self.name_get(cr, uid, ids):
opp = self.browse(cr, uid, id)
if opp.type == 'opportunity':
- message = _('The Opportunity') + " '" + name + "' "+ _("has been written as Lost.")
+ message = _('The Opportunity') + " '" + name + "' "+ _("has been Lost.")
self.log(cr, uid, id, message)
return res
diff --git a/addons/crm/i18n/lt.po b/addons/crm/i18n/lt.po
index 6ab7e697a5c..c949dec0238 100644
--- a/addons/crm/i18n/lt.po
+++ b/addons/crm/i18n/lt.po
@@ -1,20 +1,21 @@
# Translation of OpenERP Server.
# This file contains the translation of the following modules:
-# * crm
-#
+# * crm
+# Giedrius Slavinskas , 2010.
msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2010-01-05 05:59+0000\n"
-"PO-Revision-Date: 2009-12-12 12:18+0000\n"
-"Last-Translator: Donatas Stonys TeraxIT \n"
+"PO-Revision-Date: 2010-07-21 10:38+0000\n"
+"Last-Translator: Giedrius Slavinskas \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-06-22 04:00+0000\n"
+"X-Launchpad-Export-Date: 2010-07-22 03:56+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
+"Language: lt\n"
#. module: crm
#: field:crm.email.add.cc,name:0
@@ -70,7 +71,7 @@ msgstr ""
#. module: crm
#: field:crm.case.rule,trg_state_to:0
msgid "Button Pressed"
-msgstr "Mygtukas paspaustas"
+msgstr "Nuspaustas mygtukas"
#. module: crm
#: view:crm.case:0
@@ -90,12 +91,10 @@ msgstr ""
#. module: crm
#: view:crm.case:0
#: view:crm.case.history:0
-#: model:ir.actions.act_window,name:crm.crm_case_categ0-act
#: model:ir.actions.act_window,name:crm.crm_case_section_open_act
-#: model:ir.ui.menu,name:crm.menu_crm_case_categ0-act
#: model:ir.ui.menu,name:crm.next_id_51
msgid "Cases"
-msgstr "Klausimai"
+msgstr "Įvykiai"
#. module: crm
#: help:crm.segmentation,categ_id:0
@@ -103,6 +102,8 @@ msgid ""
"The partner category that will be added to partners that match the "
"segmentation criterions after computation."
msgstr ""
+"Partnerio kategorija, kuri bus pridėta partneriams, kurie atitinka "
+"segmentavimo kriterijus po segmentavimo."
#. module: crm
#: model:ir.ui.menu,name:crm.menu_hr
@@ -139,12 +140,9 @@ msgstr ""
#. module: crm
#: code:addons/crm/crm.py:0
-#: code:addons/crm/wizard/crm_job_wizard.py:0
-#: code:addons/crm/wizard/crm_lead_wizard.py:0
-#: code:addons/crm/wizard/crm_phonecall_wizard.py:0
#, python-format
msgid "Warning !"
-msgstr "Įspėjimas!"
+msgstr "Perspėjimas!"
#. module: crm
#: code:addons/crm/wizard/wizard_crm_new_send_email.py:0
@@ -194,33 +192,19 @@ msgid ""
msgstr ""
#. module: crm
-#: view:crm.case:0
#: field:crm.case,partner_id:0
-#: model:crm.case.categ,name:crm.categ_lead4
-#: model:crm.case.categ,name:crm.categ_oppor4
-#: wizard_field:crm.case.opportunity.partner_opportunity,init,partner_id:0
#: field:crm.case.rule,trg_partner_id:0
-#: selection:crm.email.add.cc,name:0
-#: field:crm.email.add.cc,partner_id:0
-#: wizard_field:crm.lead.opportunity_set,create_partner,partner_id:0
-#: wizard_field:crm.lead.opportunity_set,opportunity,partner_id:0
-#: view:crm.opportunity:0
-#: view:crm.phonecall:0
-#: wizard_field:crm.phonecall.opportunity_set,create_partner,partner_id:0
-#: wizard_field:crm.phonecall.opportunity_set,opportunity,partner_id:0
-#: model:process.node,name:crm.process_node_partner0
msgid "Partner"
msgstr "Partneris"
#. module: crm
#: field:crm.case.categ,section_id:0
-#: field:crm.case.category2,section_id:0
#: view:crm.case.section:0
#: field:crm.case.section,name:0
-#: field:crm.case.stage,section_id:0
+#: wizard_field:crm.case.section.menu,init,section_id:0
#: model:ir.model,name:crm.model_crm_case_section
msgid "Case Section"
-msgstr "Klausimo sekcija"
+msgstr "Įvykio sekcija"
#. module: crm
#: view:crm.job:0
@@ -248,17 +232,17 @@ msgstr ""
#. module: crm
#: field:crm.case.rule,act_mail_to_email:0
msgid "Mail to these emails"
-msgstr "Rašyti šiems adresatams"
+msgstr "Išsiųsti el. paštą adresams"
#. module: crm
#: selection:crm.case.rule,trg_date_type:0
msgid "None"
-msgstr "Niekas"
+msgstr "Nėra"
#. module: crm
#: view:crm.case.rule:0
msgid "Special Keywords to Be Used in The Body"
-msgstr "Specialūs raktažodžiai, skirti naudoti žinutėje"
+msgstr "Specialūs raktažodžiai naudojami tekste"
#. module: crm
#: view:crm.case:0
@@ -271,9 +255,10 @@ msgid "Send New Email"
msgstr ""
#. module: crm
-#: view:crm.case.history:0
+#: model:ir.actions.act_window,name:crm.crm_case_history_my-act
+#: model:ir.ui.menu,name:crm.menu_crm_case_history_my-act
msgid "My Histories"
-msgstr "Mano istorijos"
+msgstr "Mano įvykių istorija"
#. module: crm
#: field:crm.segmentation,segmentation_line:0
@@ -299,7 +284,7 @@ msgstr ""
#. module: crm
#: selection:crm.case.rule,trg_date_type:0
msgid "Last Action Date"
-msgstr "Paskutinio veiksmo data"
+msgstr "Paskutinė veiksmo data"
#. module: crm
#: view:crm.job:0
@@ -330,18 +315,13 @@ msgstr ""
#. module: crm
#: view:crm.case:0
-#: view:crm.claim:0
-#: view:crm.fundraising:0
-#: view:crm.job:0
-#: view:crm.lead:0
-#: view:crm.opportunity:0
msgid "Dates"
msgstr "Datos"
#. module: crm
#: view:crm.segmentation:0
msgid "Segmentation Test"
-msgstr "Segmentacijos testavimas"
+msgstr "Segmentacijos testas"
#. module: crm
#: model:process.transition,name:crm.process_transition_leadpartner0
@@ -368,7 +348,7 @@ msgstr ""
#. module: crm
#: field:crm.case.rule,trg_date_range_type:0
msgid "Delay type"
-msgstr "Delsos tipas"
+msgstr "Uždelsimo tipas"
#. module: crm
#: view:crm.claim:0
@@ -414,7 +394,6 @@ msgid "Exception Rules"
msgstr ""
#. module: crm
-#: field:crm.menu.config_wizard,opportunity:0
#: model:ir.actions.report.xml,name:crm.crm_business_opportunities_report
msgid "Business Opportunities"
msgstr "Verslo galimybės"
@@ -430,11 +409,13 @@ msgid ""
"The rule use a AND operator. The case must match all non empty fields so "
"that the rule execute the action described in the 'Actions' tab."
msgstr ""
+"Taisyklė naudoja IR operatorių. Įvykis turi atitikti visus ne tuščius "
+"laukus, kad taisyklė atliktų veiksmą, apibūdintą 'Veiksmai' kortelėje."
#. module: crm
#: field:crm.case,history_line:0
msgid "Communication"
-msgstr "Komunikacija"
+msgstr "Ryšiai"
#. module: crm
#: view:crm.case.rule:0
@@ -465,12 +446,6 @@ msgstr ""
#. module: crm
#: field:crm.case,categ_id:0
#: field:crm.case.rule,trg_categ_id:0
-#: wizard_field:crm.job.reschedule_phone_call,init,category_id:0
-#: view:crm.opportunity:0
-#: wizard_field:crm.opportunity.reschedule_phone_call,init,category_id:0
-#: field:report.crm.case.section.categ.categ2,categ_id:0
-#: field:report.crm.case.section.categ.stage,categ_id:0
-#: field:report.crm.case.section.stage,categ_id:0
msgid "Category"
msgstr "Kategorija"
@@ -496,28 +471,24 @@ msgstr ""
#. module: crm
#: view:crm.case.rule:0
msgid "%(partner)s = Partner name"
-msgstr "%(partner)s = Partnerio vardas"
+msgstr "%(partner)s = Partnerio pavadinimas"
#. module: crm
#: view:crm.case:0
-#: view:crm.claim:0
-#: view:crm.fundraising:0
-#: view:crm.job:0
-#: view:crm.lead:0
-#: view:crm.opportunity:0
msgid "Action Information"
msgstr "Veiksmo informacija"
#. module: crm
#: view:crm.case.rule:0
msgid "%(case_user_phone)s = Responsible phone"
-msgstr "%(case_user_phone)s = Atsakingo telefonas"
+msgstr "%(case_user_phone)s = Atsakingo asmens telefonas"
#. module: crm
#: constraint:ir.model:0
msgid ""
"The Object name must start with x_ and not contain any special character !"
msgstr ""
+"Objekto pavadinimas turi prasidėti x_ ir neturėti jokių specialių simbolių!"
#. module: crm
#: constraint:ir.actions.act_window:0
@@ -531,15 +502,14 @@ msgstr "Sąlygos"
#. module: crm
#: model:ir.actions.act_window,name:crm.crm_case_categ0-act_open
+#: model:ir.ui.menu,name:crm.menu_crm_case_categ0-act_open
msgid "Open Cases"
-msgstr "Atviri klausimai"
+msgstr "Atviri įvykiai"
#. module: crm
-#: field:crm.case.log,name:0
-#: view:crm.claim:0
-#: view:crm.job:0
+#: field:crm.case,state:0
msgid "Status"
-msgstr "Būklė"
+msgstr "Būsena"
#. module: crm
#: wizard_view:crm.case.opportunity.partner_opportunity,init:0
@@ -569,12 +539,9 @@ msgstr ""
#: view:crm.case:0
#: selection:crm.case.rule,trg_state_from:0
#: selection:crm.case.rule,trg_state_to:0
-#: view:crm.fundraising:0
-#: view:crm.lead:0
-#: view:crm.opportunity:0
#, python-format
msgid "Escalate"
-msgstr "Plėtoti"
+msgstr "Plėtojama"
#. module: crm
#: model:ir.ui.menu,name:crm.menu_crm_case_categ_meet
@@ -584,7 +551,7 @@ msgstr ""
#. module: crm
#: model:ir.module.module,shortdesc:crm.module_meta_information
msgid "Customer & Supplier Relationship Management"
-msgstr "Klientų ir tiekėjų santykių valdymas"
+msgstr "Ryšių su klientais ir tiekėjais valdymas"
#. module: crm
#: view:crm.email.add.cc:0
@@ -603,7 +570,7 @@ msgstr ""
#. module: crm
#: field:crm.segmentation,som_interval_default:0
msgid "Default (0=None)"
-msgstr "Numatytasys (0=Nieko)"
+msgstr "Numatytasis (0=Nieko)"
#. module: crm
#: model:crm.case.stage,name:crm.stage_job7
@@ -636,7 +603,7 @@ msgstr ""
#. module: crm
#: view:crm.case.rule:0
msgid "%(case_id)s = Case ID"
-msgstr "%(case_id)s = Klausimo ID"
+msgstr "%(case_id)s = Įvykio ID"
#. module: crm
#: model:crm.case.category2,name:crm.category_oppor2
@@ -670,7 +637,7 @@ msgstr ""
#. module: crm
#: view:crm.case.categ:0
msgid "Case Category"
-msgstr "Klausimo kategorija"
+msgstr "Įvykio kategorija"
#. module: crm
#: help:crm.segmentation,som_interval_default:0
@@ -678,6 +645,9 @@ msgid ""
"Default state of mind for period preceeding the 'Max Interval' computation. "
"This is the starting state of mind by default if the partner has no event."
msgstr ""
+"Numatytoji nuotaika naudojama dėl periodo apdorojimo ir \"Maksimalus "
+"intervalas\" skaičiavimo. Tai pradinė būsena pagal nutylėjimą, jei partneris "
+"neturi įvykių."
#. module: crm
#: model:crm.case.categ,name:crm.categ_claim3
@@ -686,12 +656,12 @@ msgstr ""
#. module: crm
#: code:addons/crm/crm.py:0
-#: code:addons/crm/wizard/wizard_crm_new_send_email.py:0
-#: code:addons/crm/wizard/wizard_crm_send_email.py:0
#, python-format
msgid ""
"You must define a responsible user for this case in order to use this action!"
msgstr ""
+"Jūs turite nurodyti atsakingą naudotoją šiam įvykiui, norint įgyvendinti šį "
+"veiksmą!"
#. module: crm
#: view:crm.phonecall:0
@@ -701,7 +671,7 @@ msgstr ""
#. module: crm
#: view:res.partner.events:0
msgid "Partner Events"
-msgstr "Partnerio renginiai"
+msgstr "Partnerio įvykiai"
#. module: crm
#: model:crm.case.stage,name:crm.stage_job4
@@ -731,11 +701,6 @@ msgstr ""
#. module: crm
#: view:crm.case:0
-#: view:crm.claim:0
-#: view:crm.fundraising:0
-#: view:crm.job:0
-#: view:crm.lead:0
-#: view:crm.opportunity:0
msgid "Communication history"
msgstr "Komunikavimo istorija"
@@ -773,7 +738,7 @@ msgstr ""
#. module: crm
#: view:crm.segmentation.line:0
msgid "Partner Segmentation Lines"
-msgstr "Partnerio segmentacijos eilutės"
+msgstr "Partnerių segmentavimo eilutės"
#. module: crm
#: model:ir.actions.act_window,name:crm.crm_case_category_act_leads_all
@@ -789,7 +754,7 @@ msgstr ""
#: view:crm.segmentation:0
#: model:ir.model,name:crm.model_crm_segmentation
msgid "Partner Segmentation"
-msgstr "Partnerio segmentacija"
+msgstr "Partnerio segmentavimas"
#. module: crm
#: model:crm.case.stage,name:crm.stage_job5
@@ -823,12 +788,14 @@ msgid ""
"The email address put in the 'Reply-To' of all emails sent by Open ERP about "
"cases in this section"
msgstr ""
+"El. pašto adresu įrašytu į \"Atsakyti (kam)\" siunčiami visi el. laiškai "
+"išsiųsti Open ERP apie įvykius iš šios sekcijos."
#. module: crm
#: view:crm.case.rule:0
#: model:ir.model,name:crm.model_crm_case_rule
msgid "Case Rule"
-msgstr "Klausimo taisyklė"
+msgstr "Įvykio taisyklė"
#. module: crm
#: code:addons/crm/crm_opportunity.py:0
@@ -881,12 +848,12 @@ msgstr ""
#. module: crm
#: field:crm.segmentation,som_interval:0
msgid "Days per Periode"
-msgstr "Dienų per periodą"
+msgstr "Dienų skaičius periode"
#. module: crm
#: field:crm.segmentation.line,expr_value:0
msgid "Value"
-msgstr "Reikšmė"
+msgstr "Vertė"
#. module: crm
#: help:caldav.crm.export,init,name:0
@@ -906,11 +873,14 @@ msgid ""
"criterions. If checked, remove the category from partners that doesn't match "
"segmentation criterions"
msgstr ""
+"Pažymėkite, jeigu kategorija yra limituojama partneriams, kurie atitinka "
+"segmentavimo kriterijus. Jeigu pažymėta, pašalina kategoriją iš partnerių, "
+"kurie neatitinka segmentacijos kriterijų."
#. module: crm
#: field:crm.segmentation,exclusif:0
msgid "Exclusive"
-msgstr "Ypatingas"
+msgstr "Išorinis"
#. module: crm
#: help:crm.case,categ_id:0
@@ -922,7 +892,7 @@ msgstr ""
#. module: crm
#: field:crm.case.rule,act_state:0
msgid "Set state to"
-msgstr "Nustatyti būklę į"
+msgstr "Nustatyti būseną"
#. module: crm
#: code:addons/crm/crm.py:0
@@ -943,12 +913,12 @@ msgstr ""
#. module: crm
#: view:crm.case.rule:0
msgid "Conditions on States"
-msgstr ""
+msgstr "Būsenų sąlygos"
#. module: crm
#: field:crm.case.rule,trg_date_type:0
msgid "Trigger Date"
-msgstr ""
+msgstr "Iškilusios problemos data"
#. module: crm
#: view:crm.case.history:0
@@ -982,12 +952,12 @@ msgstr "Partnerio kategorija"
#. module: crm
#: field:crm.segmentation,sales_purchase_active:0
msgid "Use The Sales Purchase Rules"
-msgstr "Naudoti pardavimų/pirkimų taisykles"
+msgstr "Naudoti pirkimų/pardavimų taisykles"
#. module: crm
#: selection:crm.segmentation.line,expr_name:0
msgid "Purchase Amount"
-msgstr "Pirkimo suma"
+msgstr "Pirkimų suma"
#. module: crm
#: view:crm.phonecall:0
@@ -1082,7 +1052,7 @@ msgstr "Planuojamos išlaidos"
#. module: crm
#: model:ir.model,name:crm.model_crm_case_history
msgid "Case history"
-msgstr "Klausimo istorija"
+msgstr "Įvykio istorija"
#. module: crm
#: model:crm.case.categ,name:crm.categ_job2
@@ -1097,7 +1067,7 @@ msgstr ""
#. module: crm
#: field:crm.case.categ,name:0
msgid "Case Category Name"
-msgstr "Klausimo kategorijos pavadinimas"
+msgstr "Įvykio kategorijos pavadinimas"
#. module: crm
#: model:crm.case.category2,name:crm.category_claim2
@@ -1129,6 +1099,8 @@ msgstr ""
msgid ""
"Check this if you want the rule to send a reminder by email to the partner."
msgstr ""
+"Pažymėkite, jeigu norite taisyklės, kuri siunčia partneriui priminimą el. "
+"paštu."
#. module: crm
#: code:addons/crm/crm_meeting.py:0
@@ -1143,7 +1115,7 @@ msgstr ""
#. module: crm
#: view:crm.case.rule:0
msgid "Conditions on Case Fields"
-msgstr ""
+msgstr "Įvykio laukų sąlygos"
#. module: crm
#: field:crm.case,date_action_next:0
@@ -1151,10 +1123,8 @@ msgid "Next Action"
msgstr "Kitas veiksmas"
#. module: crm
-#: view:crm.case:0
#: field:crm.case,date_deadline:0
#: selection:crm.case.rule,trg_date_type:0
-#: view:crm.opportunity:0
msgid "Deadline"
msgstr "Galutinis terminas"
@@ -1173,7 +1143,7 @@ msgstr ""
#. module: crm
#: view:crm.segmentation:0
msgid "Partner Segmentations"
-msgstr "Partnerio segmentacijos"
+msgstr "Partnerio segmentavimai"
#. module: crm
#: view:crm.meeting:0
@@ -1183,7 +1153,7 @@ msgstr ""
#. module: crm
#: model:ir.model,name:crm.model_crm_case_categ
msgid "Category of case"
-msgstr "Klausimo kategorija"
+msgstr "Kategorija pagal įvykį"
#. module: crm
#: field:crm.email.add.cc,subject:0
@@ -1227,6 +1197,27 @@ msgid ""
"The CRM module has a email gateway for the synchronisation interface\n"
"between mails and Open ERP."
msgstr ""
+"Open ERP CRM\n"
+"sistema leidžia grupei žmonių protingai ir veiksmingai valdyti\n"
+"klientų galimybes, užduotis, klausimus, prašymus, klaidas, nusiskundimus ir "
+"t.t.\n"
+"Ji valdo pagrindines užduotis, tokias kaip bendravimo, identifikavimo,\n"
+"paskyrimo, sprendimo ir pranešimo.\n"
+"\n"
+"Open ERP užtikrina, kad visais atvejais yra sėkmingai susieti naudotojai, "
+"klientai ir\n"
+"tiekėjai. Jis gali automatiškai siųsti priminimus, pateikti užklausas, "
+"iššaukti\n"
+"specialius metodus ir daug kitų veiksmų, pagal Jūsų įmonės taisykles.\n"
+"\n"
+"Geriausia šios sistemos savybė, kad naudotojams nereikia daryti nieko\n"
+"ypatingo. Jie gali tiesiog siųskite laišką su prašymu. Open ERP \n"
+"padėkos už Jūsų pranešimą, automatiškai nusiųs jį\n"
+"atsakingiems asmenims ir užtikrins, kad ateityje analogiški pranešimai "
+"pasieks tinkamą\n"
+"vietą.\n"
+"\n"
+"CRM modulis turi el. pašto vartus ir sąsają tarp pašto ir Open ERP."
#. module: crm
#: model:process.transition,note:crm.process_transition_leadpartner0
@@ -1258,7 +1249,7 @@ msgstr ""
#: field:crm.case.log,som:0
#: selection:crm.segmentation.line,expr_name:0
msgid "State of Mind"
-msgstr "Nusiteikimas"
+msgstr "Kliento reakcinė nuotaika"
#. module: crm
#: view:crm.claim:0
@@ -1276,7 +1267,7 @@ msgstr ""
#. module: crm
#: view:crm.segmentation:0
msgid "Compute Segmentation"
-msgstr "Apskaičiuoti segmentaciją"
+msgstr "Apskaičiuoti segmentą"
#. module: crm
#: view:crm.lead:0
@@ -1289,7 +1280,7 @@ msgstr ""
#: model:ir.ui.menu,name:crm.menu_crm_segmentation-act
#: model:ir.ui.menu,name:crm.next_id_53
msgid "Segmentations"
-msgstr "Segmentacijos"
+msgstr "Segmentacija"
#. module: crm
#: selection:crm.case.rule,trg_date_type:0
@@ -1310,14 +1301,8 @@ msgstr "%(partner_email)s = Partnerio el. paštas"
#. module: crm
#: view:crm.case:0
-#: view:crm.claim:0
-#: view:crm.fundraising:0
-#: view:crm.job:0
-#: view:crm.lead:0
-#: view:crm.opportunity:0
-#: view:crm.phonecall:0
msgid "Reset to Draft"
-msgstr "Grąžinti į juodraštį"
+msgstr "Atstatyti į juodraštį"
#. module: crm
#: model:ir.model,name:crm.model_report_crm_case_section_categ_categ2
@@ -1336,7 +1321,7 @@ msgstr ""
#: model:ir.actions.act_window,name:crm.act_res_partner_canal_2_crm_case_opened
#: model:ir.actions.act_window,name:crm.act_res_users_2_crm_case_opened
msgid "Open cases"
-msgstr "Atviri klausimai"
+msgstr "Atviri įvykiai"
#. module: crm
#: field:crm.case,stage_id:0
@@ -1405,13 +1390,13 @@ msgstr ""
#. module: crm
#: field:crm.segmentation,partner_id:0
msgid "Max Partner ID processed"
-msgstr "Apdorotas maks. partnerio ID"
+msgstr "Maksimalus galimas partnerio ID"
#. module: crm
#: code:addons/crm/crm.py:0
#, python-format
msgid "You can not delete this case. You should better cancel it."
-msgstr "Negalite ištrinti šio klausimo. Geriau jį atšaukite."
+msgstr "Jūs negalite ištrinti šio įvykio. Jūs geriau atšaukite jį."
#. module: crm
#: wizard_button:caldav.crm.subscribe,init,open:0
@@ -1421,7 +1406,7 @@ msgstr ""
#. module: crm
#: field:crm.case.rule,trg_priority_from:0
msgid "Minimum Priority"
-msgstr "Minimalus prioritetas"
+msgstr "Mažiausias svarbumas"
#. module: crm
#: model:ir.actions.act_window,name:crm.crm_meeting_generic_wizard_act
@@ -1452,7 +1437,7 @@ msgstr ""
#: code:addons/crm/crm.py:0
#, python-format
msgid "done"
-msgstr "atlikta"
+msgstr "užbaigtas"
#. module: crm
#: view:crm.meeting:0
@@ -1466,17 +1451,19 @@ msgid ""
"Check if you want to use this tab as part of the segmentation rule. If not "
"checked, the criteria beneath will be ignored"
msgstr ""
+"Pažymėkite, jeigu norite naudoti šią kortelę kaip dalį segmentavimo "
+"taisyklės. Jeigu nepažymėta, žemiau esantys kriterijai bus nepaisomi."
#. module: crm
#: code:addons/crm/crm.py:0
#, python-format
msgid "open"
-msgstr "atidaryti"
+msgstr "atvertas"
#. module: crm
#: field:crm.case.rule,act_remind_attach:0
msgid "Remind with attachment"
-msgstr "Priminti su priedu"
+msgstr "Priminti su prisegamais dokumentais"
#. module: crm
#: model:crm.case.categ,name:crm.categ_lead6
@@ -1487,12 +1474,12 @@ msgstr ""
#. module: crm
#: field:crm.case.rule,act_remind_user:0
msgid "Remind responsible"
-msgstr "Priminti atsakingam"
+msgstr "Priminti atsakingam darbuotojui"
#. module: crm
#: field:crm.segmentation,state:0
msgid "Execution Status"
-msgstr "Atlikimo būklė"
+msgstr "Vykdymo būsena"
#. module: crm
#: help:crm.menu.config_wizard,jobs:0
@@ -1510,7 +1497,7 @@ msgstr ""
#: code:addons/crm/crm.py:0
#, python-format
msgid "draft"
-msgstr "juodraštis"
+msgstr "sukurtas"
#. module: crm
#: model:crm.case.stage,name:crm.stage_claim5
@@ -1522,8 +1509,6 @@ msgstr ""
#: field:crm.case,date:0
#: field:crm.case.log,date:0
#: selection:crm.case.rule,trg_date_type:0
-#: view:crm.claim:0
-#: view:crm.phonecall:0
msgid "Date"
msgstr "Data"
@@ -1570,11 +1555,6 @@ msgstr ""
#. module: crm
#: view:crm.case:0
-#: view:crm.claim:0
-#: view:crm.fundraising:0
-#: view:crm.job:0
-#: view:crm.lead:0
-#: view:crm.opportunity:0
msgid "History"
msgstr "Istorija"
@@ -1605,53 +1585,31 @@ msgstr ""
#. module: crm
#: view:crm.case:0
msgid "Send Reminder"
-msgstr "Siųsti priminimą"
+msgstr "Išsiųsti priminimą"
#. module: crm
#: view:crm.case:0
-#: view:crm.fundraising:0
-#: view:crm.job:0
-#: view:crm.lead:0
-#: view:crm.opportunity:0
msgid "References"
msgstr "Nuorodos"
#. module: crm
#: code:addons/crm/crm.py:0
#: view:crm.case:0
-#: wizard_button:crm.case.opportunity.partner_opportunity,init,end:0
-#: view:crm.claim:0
-#: view:crm.claim.assign_wizard:0
-#: view:crm.fundraising:0
-#: view:crm.helpdesk.assign_wizard:0
-#: wizard_button:crm.job.meeting_set,init,end:0
-#: wizard_button:crm.job.partner_create,init,end:0
-#: wizard_button:crm.job.reschedule_phone_call,init,end:0
-#: view:crm.lead:0
-#: wizard_button:crm.lead.opportunity_set,create_partner,end:0
-#: wizard_button:crm.lead.opportunity_set,opportunity,end:0
-#: wizard_button:crm.lead.partner_create,init,end:0
-#: view:crm.meeting.generic_wizard:0
-#: wizard_button:crm.new.send.mail,init,end:0
-#: view:crm.opportunity:0
-#: view:crm.opportunity.assign_wizard:0
-#: wizard_button:crm.opportunity.reschedule_phone_call,init,end:0
-#: view:crm.phonecall:0
-#: view:crm.phonecall.assign_wizard:0
-#: wizard_button:crm.phonecall.meeting_set,init,end:0
-#: wizard_button:crm.phonecall.opportunity_set,create_partner,end:0
-#: wizard_button:crm.phonecall.opportunity_set,opportunity,end:0
-#: wizard_button:crm.phonecall.partner_create,init,end:0
-#: wizard_button:crm.send.mail,init,end:0
+#: selection:crm.case,state:0
+#: selection:crm.case.rule,act_state:0
+#: selection:crm.case.rule,trg_state_from:0
+#: selection:crm.case.rule,trg_state_to:0
+#: wizard_button:crm.case.section.menu,design_menu,end:0
+#: wizard_button:crm.case.section.menu,init,end:0
#, python-format
msgid "Cancel"
-msgstr "Atšaukti"
+msgstr "Atšaukta"
#. module: crm
#: code:addons/crm/crm.py:0
#, python-format
msgid "No E-Mail ID Found for your Company address!"
-msgstr ""
+msgstr "Jūsų kompanijos adrese nerastas el. pašto ID!"
#. module: crm
#: view:crm.fundraising:0
@@ -1671,7 +1629,7 @@ msgstr ""
#. module: crm
#: view:res.partner.events:0
msgid "General Description"
-msgstr "Bendras aprašymas"
+msgstr "Bendrasis aprašymas"
#. module: crm
#: view:crm.meeting:0
@@ -1712,7 +1670,7 @@ msgstr ""
#. module: crm
#: field:crm.case.rule,act_priority:0
msgid "Set priority to"
-msgstr "Nustatyti svarbą į"
+msgstr "Nustatyti svarbumą"
#. module: crm
#: model:crm.case.stage,name:crm.stage_oppor2
@@ -1727,7 +1685,7 @@ msgstr ""
#. module: crm
#: field:crm.case.rule,act_mail_body:0
msgid "Mail body"
-msgstr "Laiško turinys"
+msgstr "El. laiško tekstas"
#. module: crm
#: help:crm.menu.config_wizard,meeting:0
@@ -1737,7 +1695,7 @@ msgstr ""
#. module: crm
#: selection:crm.segmentation.line,expr_name:0
msgid "Sale Amount"
-msgstr "Pardavimo suma"
+msgstr "Pardavimų suma"
#. module: crm
#: view:crm.case:0
@@ -1755,12 +1713,9 @@ msgid "="
msgstr "="
#. module: crm
-#: view:crm.fundraising:0
-#: view:crm.job:0
-#: field:crm.menu.config_wizard,name:0
#: field:crm.segmentation,name:0
msgid "Name"
-msgstr "Vardas"
+msgstr "Pavadinimas"
#. module: crm
#: view:crm.opportunity:0
@@ -1794,7 +1749,7 @@ msgstr ""
#. module: crm
#: help:crm.case.section,allow_unlink:0
msgid "Allows to delete non draft cases"
-msgstr "Leidžia ištrinti nejuodraštinius klausimus"
+msgstr "Leidžia ištrinti ne juodraštinius įvykius"
#. module: crm
#: model:crm.case.stage,name:crm.stage_oppor7
@@ -1809,11 +1764,6 @@ msgstr ""
#. module: crm
#: view:crm.case:0
#: view:crm.case.rule:0
-#: view:crm.claim:0
-#: view:crm.fundraising:0
-#: view:crm.job:0
-#: view:crm.lead:0
-#: view:crm.opportunity:0
msgid "Actions"
msgstr "Veiksmai"
@@ -1823,7 +1773,7 @@ msgstr "Veiksmai"
#: selection:crm.case.rule,trg_priority_from:0
#: selection:crm.case.rule,trg_priority_to:0
msgid "High"
-msgstr "Aukštas"
+msgstr "Didelis"
#. module: crm
#: model:process.node,note:crm.process_node_partner0
@@ -1848,7 +1798,7 @@ msgstr ""
#. module: crm
#: view:crm.case.rule:0
msgid "Delay After Trigger Date:"
-msgstr "Delsa po starto datos:"
+msgstr "Atidėti po įvykio datos:"
#. module: crm
#: model:crm.case.category2,name:crm.category_lead5
@@ -1863,7 +1813,7 @@ msgstr ""
#. module: crm
#: view:crm.segmentation:0
msgid "State of Mind Computation"
-msgstr "Nusiteikimo įvertinimas"
+msgstr "Nuotaikos įvertinimas"
#. module: crm
#: code:addons/crm/wizard/wizard_crm_new_send_email.py:0
@@ -1932,7 +1882,7 @@ msgstr ""
#. module: crm
#: model:ir.ui.menu,name:crm.menu_crm
msgid "CRM & SRM"
-msgstr "CRM & SRM"
+msgstr "CRM ir SRM"
#. module: crm
#: help:crm.menu.config_wizard,document_ics:0
@@ -1960,7 +1910,7 @@ msgstr "Priminti partneriui"
#: selection:crm.case.rule,trg_priority_from:0
#: selection:crm.case.rule,trg_priority_to:0
msgid "Highest"
-msgstr "Aukščiausias"
+msgstr "Didžiausias"
#. module: crm
#: view:crm.job:0
@@ -1985,7 +1935,7 @@ msgstr ""
#. module: crm
#: field:crm.case.section,reply_to:0
msgid "Reply-To"
-msgstr "Atsakyti-Kam"
+msgstr "Atsakyti (kam)"
#. module: crm
#: model:ir.ui.menu,name:crm.menu_action_report_crm_case_lead_categ
@@ -2011,7 +1961,7 @@ msgstr ""
#. module: crm
#: field:crm.case.rule,trg_priority_to:0
msgid "Maximim Priority"
-msgstr "Maks. prioritetas"
+msgstr "Didžiausias svarbumas"
#. module: crm
#: selection:crm.meeting,transparent:0
@@ -2070,23 +2020,18 @@ msgstr ""
#. module: crm
#: field:crm.case.rule,trg_state_from:0
msgid "Case State"
-msgstr "Klausimo būklė"
+msgstr "Įvykio būsena"
#. module: crm
#: code:addons/crm/crm.py:0
-#: code:addons/crm/wizard/wizard_crm_new_send_email.py:0
-#: code:addons/crm/wizard/wizard_crm_send_email.py:0
#, python-format
msgid "Send"
msgstr "Siųsti"
#. module: crm
#: field:crm.case,priority:0
-#: view:crm.fundraising:0
-#: view:crm.lead:0
-#: view:crm.opportunity:0
msgid "Priority"
-msgstr "Prioritetas"
+msgstr "Svarbumas"
#. module: crm
#: view:crm.opportunity:0
@@ -2121,7 +2066,7 @@ msgstr ""
#. module: crm
#: view:crm.case.section:0
msgid "Case section"
-msgstr "Klausimo sekcija"
+msgstr "Įvykio sekcija"
#. module: crm
#: model:process.node,note:crm.process_node_meeting0
@@ -2130,11 +2075,6 @@ msgstr ""
#. module: crm
#: code:addons/crm/crm.py:0
-#: code:addons/crm/crm_claim.py:0
-#: code:addons/crm/crm_helpdesk.py:0
-#: code:addons/crm/crm_meeting.py:0
-#: code:addons/crm/crm_opportunity.py:0
-#: code:addons/crm/crm_phonecall.py:0
#, python-format
msgid "Error !"
msgstr "Klaida!"
@@ -2142,7 +2082,7 @@ msgstr "Klaida!"
#. module: crm
#: view:crm.case.rule:0
msgid "Fields to Change"
-msgstr "Laukai keitimui"
+msgstr "Laukų nustatymas"
#. module: crm
#: model:crm.case.category2,name:crm.category_lead1
@@ -2152,12 +2092,12 @@ msgstr ""
#. module: crm
#: model:ir.ui.menu,name:crm.menu_crm_case_history-act_main
msgid "Cases Histories"
-msgstr "Klausimų istorijos"
+msgstr "Įvykių istorija"
#. module: crm
#: field:crm.case,create_date:0
msgid "Created"
-msgstr "Sukurta"
+msgstr "Sukurtas"
#. module: crm
#: view:crm.lead:0
@@ -2167,7 +2107,7 @@ msgstr ""
#. module: crm
#: model:ir.model,name:crm.model_crm_segmentation_line
msgid "Segmentation line"
-msgstr "Segmentacijos eilutė"
+msgstr "Segmentavimo eilutė"
#. module: crm
#: wizard_field:crm.job.reschedule_phone_call,init,deadline:0
@@ -2244,7 +2184,7 @@ msgstr ""
#. module: crm
#: view:crm.case.rule:0
msgid "%(case_date)s = Creation date"
-msgstr ""
+msgstr "%(case_date)s = Sukūrimo data"
#. module: crm
#: model:crm.case.stage,name:crm.stage_phone3
@@ -2255,7 +2195,7 @@ msgstr ""
#. module: crm
#: field:crm.case.rule,act_mail_to_user:0
msgid "Mail to responsible"
-msgstr "Rašyti atsakingam"
+msgstr "Siųsti atsakingam asmeniui"
#. module: crm
#: view:crm.job:0
@@ -2280,7 +2220,7 @@ msgstr ""
#. module: crm
#: view:crm.case.rule:0
msgid "Template of Email to Send"
-msgstr "Pašto šablonas siuntimui"
+msgstr "El. pašto šablonas"
#. module: crm
#: field:report.crm.case.section.categ.categ2,month:0
@@ -2332,7 +2272,7 @@ msgstr ""
#. module: crm
#: field:crm.case.history,log_id:0
msgid "Log"
-msgstr "Log'ai"
+msgstr "Įvykių istorija"
#. module: crm
#: help:crm.menu.config_wizard,fund:0
@@ -2358,7 +2298,7 @@ msgstr "Stebėtojų el. paštai"
#. module: crm
#: view:crm.case.rule:0
msgid "Note"
-msgstr "Pastaba"
+msgstr "Užrašai"
#. module: crm
#: field:report.crm.case.section.categ.categ2,delay_close:0
@@ -2374,20 +2314,12 @@ msgstr ""
#: selection:crm.case.rule,trg_priority_from:0
#: selection:crm.case.rule,trg_priority_to:0
msgid "Low"
-msgstr "Žemas"
+msgstr "Mažas"
#. module: crm
#: field:crm.case,date_closed:0
-#: selection:crm.case,state:0
-#: selection:crm.case.rule,act_state:0
-#: selection:crm.case.rule,trg_state_from:0
-#: selection:crm.case.rule,trg_state_to:0
-#: selection:report.crm.case.section.categ.categ2,state:0
-#: selection:report.crm.case.section.categ.stage,state:0
-#: selection:report.crm.case.section.categ2,state:0
-#: selection:report.crm.case.section.stage,state:0
msgid "Closed"
-msgstr "Uždaryta"
+msgstr "Užbaigtas"
#. module: crm
#: view:crm.job:0
@@ -2398,7 +2330,7 @@ msgstr ""
#: code:addons/crm/crm.py:0
#, python-format
msgid "cancel"
-msgstr "atšaukti"
+msgstr "atšauktas"
#. module: crm
#: model:crm.case.categ,name:crm.categ_meet2
@@ -2485,7 +2417,7 @@ msgstr ""
#. module: crm
#: view:crm.case.history:0
msgid "Case History"
-msgstr "Klausimo istorija"
+msgstr "Įvykių istorija"
#. module: crm
#: field:crm.case,partner_phone:0
@@ -2502,7 +2434,7 @@ msgstr ""
#: field:crm.case.rule,active:0
#: field:crm.case.section,active:0
msgid "Active"
-msgstr "Aktyvuota"
+msgstr "Aktyvus"
#. module: crm
#: help:crm.case.rule,act_remind_attach:0
@@ -2510,11 +2442,13 @@ msgid ""
"Check this if you want that all documents attached to the case be attached "
"to the reminder email sent."
msgstr ""
+"Pažymėkite, jei jūs norite, kad visi prie įvykio prisegti dokumentai, būtų "
+"prisegti prie priminimo el. laiško."
#. module: crm
#: selection:crm.segmentation.line,operator:0
msgid "Mandatory Expression"
-msgstr "Privalomoji išraiška"
+msgstr "Privaloma išraiška"
#. module: crm
#: selection:crm.segmentation.line,expr_operator:0
@@ -2565,8 +2499,7 @@ msgid "Are you sure you want to create a partner based on this job request ?"
msgstr ""
#. module: crm
-#: wizard_field:crm.lead.opportunity_set,create_partner,action:0
-#: wizard_field:crm.phonecall.opportunity_set,create_partner,action:0
+#: field:crm.case.log,name:0
msgid "Action"
msgstr "Veiksmas"
@@ -2584,7 +2517,7 @@ msgstr ""
#. module: crm
#: field:crm.segmentation,som_interval_decrease:0
msgid "Decrease (0>1)"
-msgstr "Mažėjimas (0>1)"
+msgstr "Sumažėjimas (0>1)"
#. module: crm
#: model:ir.actions.wizard,name:crm.wizard_case_history_event
@@ -2605,7 +2538,7 @@ msgstr ""
#. module: crm
#: view:crm.case.rule:0
msgid "%(case_user_email)s = Responsible email"
-msgstr "%(case_user_email)s = Atsakingo paštas"
+msgstr "%(case_user_email)s = Atsakingo asmens el. paštas"
#. module: crm
#: model:ir.ui.menu,name:crm.menu_presale
@@ -2614,9 +2547,8 @@ msgstr ""
#. module: crm
#: view:crm.case:0
-#: view:crm.phonecall:0
msgid "General"
-msgstr "Bendra"
+msgstr "Bendras"
#. module: crm
#: model:crm.case.stage,name:crm.stage_lead2
@@ -2647,7 +2579,7 @@ msgstr ""
#. module: crm
#: field:crm.segmentation,som_interval_max:0
msgid "Max Interval"
-msgstr "Maks. intervalas"
+msgstr "Maksimalus intervalas"
#. module: crm
#: model:ir.actions.act_window,name:crm.crm_case_category_act_oppor11
@@ -2661,19 +2593,9 @@ msgstr ""
#: selection:crm.case.rule,act_state:0
#: selection:crm.case.rule,trg_state_from:0
#: selection:crm.case.rule,trg_state_to:0
-#: view:crm.claim:0
-#: view:crm.fundraising:0
-#: view:crm.job:0
-#: view:crm.lead:0
-#: view:crm.opportunity:0
-#: view:crm.phonecall:0
-#: selection:report.crm.case.section.categ.categ2,state:0
-#: selection:report.crm.case.section.categ.stage,state:0
-#: selection:report.crm.case.section.categ2,state:0
-#: selection:report.crm.case.section.stage,state:0
#, python-format
msgid "Open"
-msgstr "Atidaryta"
+msgstr "Atverta"
#. module: crm
#: selection:crm.meeting,class:0
@@ -2706,16 +2628,6 @@ msgstr ""
#. module: crm
#: field:crm.case,user_id:0
#: field:crm.case.rule,trg_user_id:0
-#: view:crm.claim:0
-#: field:crm.claim.assign_wizard,user_id:0
-#: view:crm.fundraising:0
-#: field:crm.helpdesk.assign_wizard,user_id:0
-#: view:crm.job:0
-#: view:crm.meeting:0
-#: field:crm.meeting.generic_wizard,user_id:0
-#: view:crm.opportunity:0
-#: field:crm.opportunity.assign_wizard,user_id:0
-#: field:crm.phonecall.assign_wizard,user_id:0
msgid "Responsible"
msgstr "Atsakingas"
@@ -2748,8 +2660,8 @@ msgid ""
"You can not escalate this case.\n"
"You are already at the top level."
msgstr ""
-"Nebegalima plėtoti šio klausimo.\n"
-"Jis jau aukščiausiame lygyje."
+"Jūs negalite plėtoti šio įvykio.\n"
+"Jūs esate jau aukščiausiame lygmenyje."
#. module: crm
#: view:crm.lead:0
@@ -2764,7 +2676,7 @@ msgstr ""
#. module: crm
#: field:crm.case.rule,trg_max_history:0
msgid "Maximum Communication History"
-msgstr "Maximali komunikavimo istorija"
+msgstr "Maksimali komunikavimo istorija"
#. module: crm
#: view:crm.lead:0
@@ -2838,6 +2750,8 @@ msgid ""
"The computation is made on all events that occured during this interval, the "
"past X periods."
msgstr ""
+"Skaičiavimas atliekamas su visais įvykiais, kurie įvyko per šį intervalą, "
+"praėjus X periodų."
#. module: crm
#: field:crm.case,case_id:0
@@ -2857,7 +2771,7 @@ msgstr ""
#. module: crm
#: field:crm.case.log,user_id:0
msgid "User Responsible"
-msgstr "Atsakingas naudotojas"
+msgstr "Atsakingas darbuotojas"
#. module: crm
#: code:addons/crm/wizard/wizard_crm_new_send_email.py:0
@@ -2873,7 +2787,7 @@ msgstr ""
#. module: crm
#: field:crm.case,email_last:0
msgid "Latest E-Mail"
-msgstr "Naujausi laiškai"
+msgstr "Vėliausiasis el. paštas"
#. module: crm
#: view:crm.case.rule:0
@@ -2893,7 +2807,7 @@ msgstr "ID"
#. module: crm
#: field:crm.case,log_ids:0
msgid "Logs History"
-msgstr "Log'ų istorija"
+msgstr "Įvykių istorija"
#. module: crm
#: wizard_field:crm.lead.opportunity_set,opportunity,name:0
@@ -2914,7 +2828,7 @@ msgstr "Tęsti procesą"
#. module: crm
#: view:crm.case.history:0
msgid "Case Description"
-msgstr "Klausimo aprašymas"
+msgstr "Įvykio aprašymas"
#. module: crm
#: wizard_field:crm.job.reschedule_phone_call,init,user_id:0
@@ -2948,9 +2862,11 @@ msgid "Jobs Hiring Process"
msgstr ""
#. module: crm
+#: model:ir.actions.act_window,name:crm.crm_case_categ0-act
+#: model:ir.ui.menu,name:crm.menu_crm_case_categ0-act
#: model:ir.ui.menu,name:crm.next_id_52
msgid "All Cases"
-msgstr "Visi klausimai"
+msgstr "Visi įvykiai"
#. module: crm
#: code:addons/crm/wizard/crm_lead_wizard.py:0
@@ -3016,12 +2932,12 @@ msgstr ""
#. module: crm
#: selection:crm.segmentation,state:0
msgid "Running"
-msgstr "Einamasis"
+msgstr "Vykdomas"
#. module: crm
#: view:crm.case.rule:0
msgid "%(case_user)s = Responsible name"
-msgstr "%(case_user)s = Atsakingo vardas"
+msgstr "%(case_user)s = Atsakingas asmuo"
#. module: crm
#: wizard_field:crm.job.reschedule_phone_call,init,note:0
@@ -3067,7 +2983,6 @@ msgstr ""
#. module: crm
#: code:addons/crm/crm.py:0
-#: code:addons/crm/wizard/wizard_cal_subscribe.py:0
#, python-format
msgid "Error!"
msgstr "Klaida!"
@@ -3135,12 +3050,12 @@ msgstr ""
#. module: crm
#: field:crm.segmentation.line,expr_operator:0
msgid "Operator"
-msgstr "Operatorius"
+msgstr "Valdiklis"
#. module: crm
#: model:ir.model,name:crm.model_crm_case_log
msgid "Case Communication History"
-msgstr "Klausimų komunikacijos istorija"
+msgstr "Įvykio komunikavimo istorija"
#. module: crm
#: model:ir.ui.menu,name:crm.menu_action_report_crm_case_oppor_categ
@@ -3150,30 +3065,19 @@ msgstr ""
#. module: crm
#: view:crm.case.rule:0
msgid "%(case_subject)s = Case subject"
-msgstr "%(case_subject)s = Klausimo tema"
+msgstr "%(case_subject)s = Įvykio tema"
#. module: crm
#: field:crm.case,section_id:0
#: field:crm.case.log,section_id:0
#: field:crm.case.rule,trg_section_id:0
-#: field:crm.claim.assign_wizard,section_id:0
-#: field:crm.helpdesk.assign_wizard,section_id:0
-#: wizard_field:crm.job.reschedule_phone_call,init,section_id:0
-#: field:crm.meeting.generic_wizard,section_id:0
-#: field:crm.opportunity.assign_wizard,section_id:0
-#: wizard_field:crm.opportunity.reschedule_phone_call,init,section_id:0
-#: field:crm.phonecall.assign_wizard,section_id:0
-#: field:report.crm.case.section.categ.categ2,section_id:0
-#: field:report.crm.case.section.categ.stage,section_id:0
-#: field:report.crm.case.section.categ2,section_id:0
-#: field:report.crm.case.section.stage,section_id:0
msgid "Section"
msgstr "Sekcija"
#. module: crm
#: selection:crm.segmentation.line,operator:0
msgid "Optional Expression"
-msgstr "Būtina išraiška"
+msgstr "Pasirenkama išraiška"
#. module: crm
#: model:crm.case.categ,name:crm.categ_fund1
@@ -3197,10 +3101,7 @@ msgid "Your action"
msgstr "Jūsų veiksmas"
#. module: crm
-#: model:crm.case.category2,name:crm.category_lead3
#: field:crm.case.history,email:0
-#: field:crm.email.add.cc,email:0
-#: view:crm.job:0
msgid "Email"
msgstr "El. paštas"
@@ -3208,7 +3109,7 @@ msgstr "El. paštas"
#: field:crm.case,canal_id:0
#: field:crm.case.log,canal_id:0
msgid "Channel"
-msgstr "Kanalas"
+msgstr "Šaltinis"
#. module: crm
#: help:crm.case.rule,act_mail_to_email:0
@@ -3223,7 +3124,7 @@ msgstr ""
#. module: crm
#: view:crm.case.rule:0
msgid "E-Mail Reminders (includes the content of the case)"
-msgstr "El. pašto priminimai (įtraukia klausimo turinį)"
+msgstr "El. pašto priminimai (įtraukia įvykio turinį)"
#. module: crm
#: model:ir.ui.menu,name:crm.menu_action_report_crm_case_lead_stage
@@ -3257,19 +3158,9 @@ msgstr ""
#: selection:crm.case.rule,act_state:0
#: selection:crm.case.rule,trg_state_from:0
#: selection:crm.case.rule,trg_state_to:0
-#: view:crm.claim:0
-#: view:crm.fundraising:0
-#: view:crm.job:0
-#: view:crm.lead:0
-#: selection:crm.new.send.mail,init,state:0
-#: view:crm.opportunity:0
-#: selection:report.crm.case.section.categ.categ2,state:0
-#: selection:report.crm.case.section.categ.stage,state:0
-#: selection:report.crm.case.section.categ2,state:0
-#: selection:report.crm.case.section.stage,state:0
#, python-format
msgid "Pending"
-msgstr "Laukia"
+msgstr "Laukiama"
#. module: crm
#: model:process.transition,name:crm.process_transition_leadopportunity0
@@ -3351,7 +3242,7 @@ msgstr ""
#. module: crm
#: field:crm.case.rule,act_user_id:0
msgid "Set responsible to"
-msgstr "Nustatyti atsakingą į"
+msgstr "Nustatyti atsakingą asmenį"
#. module: crm
#: view:crm.job:0
@@ -3384,12 +3275,12 @@ msgstr ""
#. module: crm
#: view:crm.case.rule:0
msgid "Condition on Communication History"
-msgstr "Būklės ir komunikavimo istorija"
+msgstr "Komunikavimo istorijos sąlygos"
#. module: crm
#: field:crm.case.rule,act_mail_to_partner:0
msgid "Mail to partner"
-msgstr "Laiškas partneriui"
+msgstr "Išsiųsti el. paštą partneriui"
#. module: crm
#: view:crm.fundraising:0
@@ -3399,7 +3290,7 @@ msgstr ""
#. module: crm
#: field:crm.case.rule,act_method:0
msgid "Call Object Method"
-msgstr "Objekto iškvietimo metodas"
+msgstr "Susisiekimo metodas"
#. module: crm
#: model:ir.actions.act_window,name:crm.crm_case_category_act_fund_all1
@@ -3407,9 +3298,23 @@ msgid "All Funds"
msgstr ""
#. module: crm
-#: field:crm.case.section,calendar:0
-#: view:crm.meeting:0
-#: model:ir.ui.menu,name:crm.menu_crm_case_category_act_meetings
+#: selection:crm.case.section.menu,design_menu,menu10_option:0
+#: selection:crm.case.section.menu,design_menu,menu11_option:0
+#: selection:crm.case.section.menu,design_menu,menu12_option:0
+#: selection:crm.case.section.menu,design_menu,menu13_option:0
+#: selection:crm.case.section.menu,design_menu,menu14_option:0
+#: selection:crm.case.section.menu,design_menu,menu15_option:0
+#: selection:crm.case.section.menu,design_menu,menu16_option:0
+#: selection:crm.case.section.menu,design_menu,menu17_option:0
+#: selection:crm.case.section.menu,design_menu,menu1_option:0
+#: selection:crm.case.section.menu,design_menu,menu2_option:0
+#: selection:crm.case.section.menu,design_menu,menu3_option:0
+#: selection:crm.case.section.menu,design_menu,menu4_option:0
+#: selection:crm.case.section.menu,design_menu,menu5_option:0
+#: selection:crm.case.section.menu,design_menu,menu6_option:0
+#: selection:crm.case.section.menu,design_menu,menu7_option:0
+#: selection:crm.case.section.menu,design_menu,menu8_option:0
+#: selection:crm.case.section.menu,design_menu,menu9_option:0
msgid "Calendar"
msgstr "Kalendorius"
@@ -3431,7 +3336,7 @@ msgstr "Nuoroda 2"
#. module: crm
#: view:crm.segmentation:0
msgid "Sales Purchase"
-msgstr ""
+msgstr "Pardavimai Pirkimai"
#. module: crm
#: view:crm.job:0
@@ -3455,6 +3360,7 @@ msgstr ""
#. module: crm
#: code:addons/crm/crm.py:0
+#: view:crm.case:0
#, python-format
msgid "Historize"
msgstr "Archyvuoti"
@@ -3467,7 +3373,7 @@ msgstr ""
#. module: crm
#: selection:crm.segmentation,state:0
msgid "Not Running"
-msgstr "Ne einamasis"
+msgstr "Nevykdomas"
#. module: crm
#: wizard_field:crm.case.opportunity.partner_opportunity,init,probability:0
@@ -3482,11 +3388,6 @@ msgstr ""
#: selection:crm.case.rule,act_state:0
#: selection:crm.case.rule,trg_state_from:0
#: selection:crm.case.rule,trg_state_to:0
-#: view:crm.meeting:0
-#: selection:report.crm.case.section.categ.categ2,state:0
-#: selection:report.crm.case.section.categ.stage,state:0
-#: selection:report.crm.case.section.categ2,state:0
-#: selection:report.crm.case.section.stage,state:0
#, python-format
msgid "Draft"
msgstr "Juodraštis"
@@ -3494,7 +3395,7 @@ msgstr "Juodraštis"
#. module: crm
#: field:crm.case.rule,trg_date_range:0
msgid "Delay after trigger date"
-msgstr "Delsa po starto datos"
+msgstr "Atidėti po datos"
#. module: crm
#: view:crm.lead:0
@@ -3504,7 +3405,7 @@ msgstr ""
#. module: crm
#: field:crm.case.rule,act_section_id:0
msgid "Set section to"
-msgstr "Nustatyti sekciją į"
+msgstr "Nustatyti sekciją"
#. module: crm
#: selection:crm.case,priority:0
@@ -3512,15 +3413,13 @@ msgstr "Nustatyti sekciją į"
#: selection:crm.case.rule,trg_priority_from:0
#: selection:crm.case.rule,trg_priority_to:0
msgid "Normal"
-msgstr "Normalus"
+msgstr "Vidutinis"
#. module: crm
#: code:addons/crm/crm.py:0
-#: code:addons/crm/wizard/wizard_crm_new_send_email.py:0
-#: code:addons/crm/wizard/wizard_crm_send_email.py:0
#, python-format
msgid "You must put a Partner eMail to use this action!"
-msgstr "You must put a Partner eMail to use this action!"
+msgstr "Jūs turite nurodyti partnerio el. paštą norint naudoti šį veiksmą!"
#. module: crm
#: wizard_view:crm.job.partner_create,init:0
@@ -3574,7 +3473,7 @@ msgstr ""
#. module: crm
#: field:crm.case.section,parent_id:0
msgid "Parent Section"
-msgstr "Pirminė sekcija"
+msgstr "Tėvinė sekcija"
#. module: crm
#: wizard_view:crm.job.reschedule_phone_call,init:0
@@ -3592,7 +3491,7 @@ msgstr ""
#, python-format
msgid ""
"Can not send mail with empty body,you should have description in the body"
-msgstr ""
+msgstr "Negalima siųsti el. pašto be turinio"
#. module: crm
#: selection:report.crm.case.section.categ.categ2,month:0
@@ -3610,7 +3509,7 @@ msgstr ""
#. module: crm
#: field:crm.case.section,child_ids:0
msgid "Child Sections"
-msgstr "Šalutinės sesijos"
+msgstr "Vaikinės sekcijos"
#. module: crm
#: view:crm.case:0
@@ -3639,7 +3538,7 @@ msgstr ""
#. module: crm
#: field:crm.case,partner_address_id:0
msgid "Partner Contact"
-msgstr "Partnerio kontaktas"
+msgstr "Partnerio adresas"
#. module: crm
#: model:crm.case.category2,name:crm.category_meet1
@@ -3658,8 +3557,6 @@ msgstr ""
#. module: crm
#: view:crm.case:0
-#: view:crm.fundraising:0
-#: view:crm.opportunity:0
msgid "Estimates"
msgstr "Įverčiai"
@@ -3671,9 +3568,13 @@ msgstr "Atsakingas naudotojas"
#. module: crm
#: code:addons/crm/crm.py:0
#: view:crm.case:0
+#: selection:crm.case,state:0
+#: selection:crm.case.rule,act_state:0
+#: selection:crm.case.rule,trg_state_from:0
+#: selection:crm.case.rule,trg_state_to:0
#, python-format
msgid "Close"
-msgstr "Uždaryta"
+msgstr "Užverta"
#. module: crm
#: model:ir.model,name:crm.model_crm_helpdesk_assign_wizard
@@ -3683,7 +3584,7 @@ msgstr ""
#. module: crm
#: view:crm.case.rule:0
msgid "Conditions on Case Partner"
-msgstr ""
+msgstr "Partnerio sąlygos"
#. module: crm
#: field:crm.case.section,code:0
@@ -3728,14 +3629,9 @@ msgid "% = The '%' Character"
msgstr ""
#. module: crm
-#: view:crm.case:0
#: field:crm.case,name:0
#: field:crm.case.history,description:0
#: field:crm.case.history,note:0
-#: view:crm.job:0
-#: view:crm.meeting:0
-#: view:crm.opportunity:0
-#: view:crm.phonecall:0
#: field:crm.segmentation,description:0
msgid "Description"
msgstr "Aprašymas"
@@ -3758,6 +3654,8 @@ msgstr ""
msgid ""
"Check this if you want the rule to send a reminder by email to the user."
msgstr ""
+"Pažymėkite, jei jūs norite, kad taisyklė nusiųstu priminimą elektroniniu "
+"paštu naudotojui."
#. module: crm
#: view:crm.case:0
@@ -3784,19 +3682,11 @@ msgstr ""
#. module: crm
#: code:addons/crm/crm.py:0
#: field:crm.case.log,case_id:0
-#: field:crm.claim,inherit_case_id:0
-#: field:crm.fundraising,inherit_case_id:0
-#: field:crm.helpdesk,inherit_case_id:0
-#: field:crm.job,inherit_case_id:0
-#: field:crm.lead,inherit_case_id:0
-#: field:crm.meeting,inherit_case_id:0
-#: field:crm.opportunity,inherit_case_id:0
-#: field:crm.phonecall,inherit_case_id:0
#: model:ir.model,name:crm.model_crm_case
#: model:res.request.link,name:crm.req_link_case
#, python-format
msgid "Case"
-msgstr "Klausimas"
+msgstr "Įvykis"
#. module: crm
#: selection:crm.case,priority:0
@@ -3804,7 +3694,7 @@ msgstr "Klausimas"
#: selection:crm.case.rule,trg_priority_from:0
#: selection:crm.case.rule,trg_priority_to:0
msgid "Lowest"
-msgstr "Žemiausias"
+msgstr "Mažiausias"
#. module: crm
#: selection:report.crm.case.section.categ.categ2,month:0
@@ -3824,7 +3714,7 @@ msgstr ""
#. module: crm
#: view:crm.case.rule:0
msgid "Conditions on Priority Range"
-msgstr ""
+msgstr "Svarbumo sąlygos"
#. module: crm
#: help:crm.segmentation,som_interval_decrease:0
@@ -3832,6 +3722,8 @@ msgid ""
"If the partner has not purchased (or buied) during a period, decrease the "
"state of mind by this factor. It's a multiplication"
msgstr ""
+"Jeigu partneris nepirko (nepardavė) per periodą, nuotaika sumažinama pagal "
+"šį rodiklį. Mažinant atliekama daugyba."
#. module: crm
#: wizard_view:crm.new.send.mail,init:0
@@ -3893,12 +3785,12 @@ msgstr ""
#. module: crm
#: view:crm.case.log:0
msgid "Case logs"
-msgstr "Klausimų log'ai"
+msgstr "Įvykių žurnalas"
#. module: crm
#: view:crm.case.rule:0
msgid "Conditions on Timing"
-msgstr ""
+msgstr "Laiko sąlygos"
#. module: crm
#: model:ir.model,name:crm.model_crm_helpdesk
@@ -3913,7 +3805,6 @@ msgstr ""
#. module: crm
#: field:crm.case.rule,sequence:0
#: field:crm.case.section,sequence:0
-#: field:crm.case.stage,sequence:0
msgid "Sequence"
msgstr "Seka"
@@ -3931,13 +3822,13 @@ msgstr ""
#. module: crm
#: field:crm.segmentation.line,expr_name:0
msgid "Control Variable"
-msgstr "Kontroliuoti kintamąjį"
+msgstr "Kontrolinis kintamasis"
#. module: crm
#: model:ir.actions.act_window,name:crm.crm_case_section_act_tree
#: model:ir.ui.menu,name:crm.menu_crm_case_section_act_tree
msgid "Cases by section"
-msgstr "Klausimai pagal sekciją"
+msgstr "Įvykiai pagal sekciją"
#. module: crm
#: view:crm.job:0
@@ -3954,8 +3845,147 @@ msgstr ""
msgid "Newsletter"
msgstr ""
+#~ msgid "Add Last Mail for Replying"
+#~ msgstr "Pridėti atsakymui paskutinį laišką"
+
+#~ msgid "Extra Info"
+#~ msgstr "Papildoma informacija"
+
+#~ msgid "All Draft "
+#~ msgstr "Visi juodraščiai "
+
+#~ msgid "My Draft "
+#~ msgstr "Mano juodraščiai "
+
+#~ msgid "crm.case.section.open"
+#~ msgstr "crm.case.section.open"
+
+#~ msgid "New Form"
+#~ msgstr "Nauja forma"
+
+#~ msgid "Tree View"
+#~ msgstr "Medžio rodinys"
+
#~ msgid "My "
#~ msgstr "Mano "
#~ msgid "New "
#~ msgstr "Naujas "
+
+#~ msgid "All Late "
+#~ msgstr "Visi vėluojantys "
+
+#~ msgid "My Late "
+#~ msgstr "Mano vėluojantys "
+
+#~ msgid "My Pending "
+#~ msgstr "Mano laukiantys "
+
+#~ msgid "New With Calendar"
+#~ msgstr "Naujas su kalendoriumi"
+
+#~ msgid "List With Calendar"
+#~ msgstr "Sąrašas su kalendoriumi"
+
+#~ msgid "All Unassigned "
+#~ msgstr "Visi nepriskirti "
+
+#~ msgid "Don't Create"
+#~ msgstr "Nesukurti"
+
+#~ msgid "Created Menus"
+#~ msgstr "Sukurti meniu"
+
+#~ msgid "All Canceled "
+#~ msgstr "Visi atšaukti "
+
+#~ msgid "All "
+#~ msgstr "Visi "
+
+#~ msgid "List"
+#~ msgstr "Sąrašas"
+
+#~ msgid "Update The Proposed Menus To Be Created"
+#~ msgstr "Pasirinkite meniu, kuriuos norite sukurti"
+
+#~ msgid "Base Information"
+#~ msgstr "Pagrindinė informacija"
+
+#~ msgid "All Open "
+#~ msgstr "Visi atviri "
+
+#~ msgid "Create menus for a case section"
+#~ msgstr "Sukurti įvykio sekcijos meniu"
+
+#~ msgid "Create menu Entries"
+#~ msgstr "Sukurti meniu įrašams"
+
+#~ msgid "All Unclosed and Unassigned "
+#~ msgstr "Visi neužverti ir nepriskirti "
+
+#~ msgid "My Open "
+#~ msgstr "Mano atviri "
+
+#~ msgid "Select Views (empty for default)"
+#~ msgstr "Pasirinkite rodinius (tuščias pagal nutylėjimą)"
+
+#~ msgid "Mail to watchers (Cc)"
+#~ msgstr "Išsiųsti stebėtojams (Cc)"
+
+#~ msgid "My cases"
+#~ msgstr "Mano įvykiai"
+
+#~ msgid "My Open Cases"
+#~ msgstr "Mano atviri įvykiai"
+
+#~ msgid "My Unclosed "
+#~ msgstr "Mano neužverti "
+
+#~ msgid ""
+#~ "These people will receive a copy of the futur communication between partner "
+#~ "and users by email"
+#~ msgstr ""
+#~ "Šie žmonės gaus el. laiško kopiją būsimos komunikacijos tarp partnerio ir "
+#~ "naudotojų"
+
+#~ msgid "Calendar View"
+#~ msgstr "Kalendoriaus rodinys"
+
+#~ msgid "Parent Menu"
+#~ msgstr "Tėvinis meniu"
+
+#~ msgid "Base Menu Name"
+#~ msgstr "Pagrindinio meniu pavadinimas"
+
+#~ msgid "All Unclosed "
+#~ msgstr "Visi neužverti "
+
+#~ msgid "Complete this if you use the mail gateway."
+#~ msgstr "Užpildykite, jeigu naudosite el. paštą"
+
+#~ msgid "Create Menus For Cases"
+#~ msgstr "Sukurti meniu įvykiams"
+
+#~ msgid "All Pending "
+#~ msgstr "Visi laukiantys "
+
+#~ msgid "Send Partner & Historize"
+#~ msgstr "Išsiųsti partneriui ir archyvuoti"
+
+#~ msgid "All Histories"
+#~ msgstr "Visų įvykių istorija"
+
+#~ msgid "My Canceled "
+#~ msgstr "Mano atšaukti "
+
+#~ msgid "Form View"
+#~ msgstr "Formos rodinys"
+
+#~ msgid "this wizard will create all sub-menus, within the selected menu."
+#~ msgstr "Šis vedlys sukurs visus vaikinius meniu, pažymėto meniu viduje."
+
+#~ msgid ""
+#~ "You may want to create a new parent menu to put all the created menus in."
+#~ msgstr ""
+#~ "Jūs galite norėti sukurti naują tėvinį meniu, kad įdėtumėte visus sukurtus "
+#~ "meniu."
diff --git a/addons/crm/wizard/crm_forward_to_partner.py b/addons/crm/wizard/crm_forward_to_partner.py
index 2bd8aebe9c3..50cfc922104 100644
--- a/addons/crm/wizard/crm_forward_to_partner.py
+++ b/addons/crm/wizard/crm_forward_to_partner.py
@@ -233,7 +233,7 @@ class crm_lead_forward_to_partner(osv.osv_memory):
"Partner: %s" % (lead.partner_id and lead.partner_id.name_get()[0][1]),
"Contact: %s" % (pa.name or ''),
"Title: %s" % (pa.title or ''),
- "Function: %s" % (pa.function and pa.function.name_get()[0][1] or ''),
+ "Function: %s" % (pa.function or ''),
"Street: %s" % (pa.street or ''),
"Street2: %s" % (pa.street2 or ''),
"Zip: %s" % (pa.zip or ''),
@@ -244,6 +244,8 @@ class crm_lead_forward_to_partner(osv.osv_memory):
"Phone: %s" % (pa.phone or ''),
"Fax: %s" % (pa.fax or ''),
"Mobile: %s" % (pa.mobile or ''),
+ "Lead Category: %s" % (lead.categ_id and lead.categ_id.name or ''),
+ "Details: %s" % (lead.description or ''),
]
return "\n".join(body + ['---'])
diff --git a/addons/crm_claim/crm_claim.py b/addons/crm_claim/crm_claim.py
index b453ebfc4aa..76a6073b58c 100644
--- a/addons/crm_claim/crm_claim.py
+++ b/addons/crm_claim/crm_claim.py
@@ -28,7 +28,7 @@ class crm_claim(osv.osv, crm.crm_case):
Crm claim
"""
_name = "crm.claim"
- _description = "Claim Cases"
+ _description = "Claim"
_order = "id desc"
_inherit = ['mailgate.thread']
_columns = {
diff --git a/addons/crm_fundraising/crm_fundraising.py b/addons/crm_fundraising/crm_fundraising.py
index 99b8fc06dae..81e16a47ac3 100644
--- a/addons/crm_fundraising/crm_fundraising.py
+++ b/addons/crm_fundraising/crm_fundraising.py
@@ -26,7 +26,7 @@ class crm_fundraising(osv.osv, crm.crm_case):
""" Fund Raising Cases """
_name = "crm.fundraising"
- _description = "Fund Raising Cases"
+ _description = "Fund Raising"
_order = "id desc"
_inherit = ['mailgate.thread']
_columns = {
diff --git a/addons/crm_helpdesk/crm_helpdesk.py b/addons/crm_helpdesk/crm_helpdesk.py
index 2894a429865..d4a1e9d59fc 100644
--- a/addons/crm_helpdesk/crm_helpdesk.py
+++ b/addons/crm_helpdesk/crm_helpdesk.py
@@ -27,7 +27,7 @@ class crm_helpdesk(osv.osv, crm.crm_case):
""" Helpdesk Cases """
_name = "crm.helpdesk"
- _description = "Helpdesk Cases"
+ _description = "Helpdesk"
_order = "id desc"
_inherit = ['mailgate.thread']
_columns = {
diff --git a/addons/document/board_document_view.xml b/addons/document/board_document_view.xml
index 8b8ef2557e6..4899178de2f 100644
--- a/addons/document/board_document_view.xml
+++ b/addons/document/board_document_view.xml
@@ -56,7 +56,6 @@
id="menu_reports_document"
parent="menu_reporting"
sequence="0"
- icon="terp-graph"
groups="document.group_document_manager"/>
diff --git a/addons/document/i18n/lt.po b/addons/document/i18n/lt.po
index 5aee95c9293..9f8d304124d 100644
--- a/addons/document/i18n/lt.po
+++ b/addons/document/i18n/lt.po
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-07-21 03:43+0000\n"
+"X-Launchpad-Export-Date: 2010-07-22 03:56+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: document
diff --git a/addons/event/board_association_view.xml b/addons/event/board_association_view.xml
index 6a9d56abab2..a6613284850 100644
--- a/addons/event/board_association_view.xml
+++ b/addons/event/board_association_view.xml
@@ -84,7 +84,7 @@
form
-
+
-
+
-
+
-
+ CEO
-
+ CTO
-
+
-
+ Managers(Tech. Heads)
-
+
-
+ Project Managers
-
+
-
+ Sr. Executives(Team Leads)
-
+
-
+ Jr. Executives(Developers)
-
+
-
+ Trainee(Intership)
-
+
@@ -46,9 +46,10 @@
-
+
+
diff --git a/addons/hr/hr_department.py b/addons/hr/hr_department.py
index 0a21e8aecee..f304e994a1f 100644
--- a/addons/hr/hr_department.py
+++ b/addons/hr/hr_department.py
@@ -29,7 +29,7 @@ class hr_department(osv.osv):
context = {}
if not len(ids):
return []
- reads = self.read(cr, uid, ids, ['name','parent_id'], context)
+ reads = self.read(cr, uid, ids, ['name','parent_id'], context=context)
res = []
for record in reads:
name = record['name']
@@ -39,6 +39,8 @@ class hr_department(osv.osv):
return res
def _dept_name_get_fnc(self, cr, uid, ids, prop, unknow_none, context=None):
+ if context is None:
+ context = {}
res = self.name_get(cr, uid, ids, context=context)
return dict(res)
@@ -50,8 +52,8 @@ class hr_department(osv.osv):
'parent_id': fields.many2one('hr.department', 'Parent Department', select=True),
'child_ids': fields.one2many('hr.department', 'parent_id', 'Child Departments'),
'note': fields.text('Note'),
- 'manager_id': fields.many2one('res.users', 'Manager', required=True),
- 'member_ids': fields.many2many('res.users', 'hr_department_user_rel', 'department_id', 'user_id', 'Members'),
+# 'manager_id': fields.many2one('res.users', 'Manager'),
+# 'member_ids': fields.many2many('res.users', 'hr_department_user_rel', 'department_id', 'user_id', 'Members'),
}
_defaults = {
@@ -59,7 +61,9 @@ class hr_department(osv.osv):
}
def _get_members(self,cr, uid, context=None):
- mids = self.search(cr, uid, [('manager_id', '=', uid)])
+ if context is None:
+ context = {}
+ mids = self.search(cr, uid, [('manager_id', '=', uid)], context=context)
result = {uid: 1}
for m in self.browse(cr, uid, mids, context=context):
for user in m.member_ids:
@@ -67,6 +71,8 @@ class hr_department(osv.osv):
return result.keys()
def _check_recursion(self, cr, uid, ids, context=None):
+ if context is None:
+ context = {}
level = 100
while len(ids):
cr.execute('select distinct parent_id from hr_department where id IN %s',(tuple(ids),))
@@ -89,6 +95,7 @@ class ir_action_window(osv.osv):
def read(self, cr, uid, ids, fields=None, context=None, load='_classic_read'):
if context is None:
context = {}
+ obj_dept = self.pool.get('hr.department')
select = ids
if isinstance(ids, (int, long)):
select = [ids]
@@ -96,7 +103,7 @@ class ir_action_window(osv.osv):
for r in res:
mystring = 'department_users_get()'
if mystring in (r.get('domain', '[]') or ''):
- r['domain'] = r['domain'].replace(mystring, str(self.pool.get('hr.department')._get_members(cr, uid)))
+ r['domain'] = r['domain'].replace(mystring, str(obj_dept._get_members(cr, uid)))
if isinstance(ids, (int, long)):
if res:
return res[0]
@@ -111,18 +118,22 @@ class res_users(osv.osv):
_description = 'User'
def _parent_compute(self, cr, uid, ids, name, args, context=None):
+ if context is None:
+ context = {}
result = {}
obj_dept = self.pool.get('hr.department')
for user_id in ids:
- ids_dept = obj_dept.search(cr, uid, [('member_ids', 'in', [user_id])])
+ ids_dept = obj_dept.search(cr, uid, [('member_ids', 'in', [user_id])], context=context)
parent_ids = []
if ids_dept:
- data_dept = obj_dept.read(cr, uid, ids_dept, ['manager_id'])
+ data_dept = obj_dept.read(cr, uid, ids_dept, ['manager_id'], context=context)
parent_ids = map(lambda x: x['manager_id'][0], data_dept)
result[user_id] = parent_ids
return result
def _parent_search(self, cr, uid, obj, name, args, context=None):
+ if context is None:
+ context = {}
parent = []
for arg in args:
if arg[0] == 'parent_id':
@@ -133,20 +144,20 @@ class res_users(osv.osv):
return [('id', 'in', child_ids.get(uid,[]))]
def _child_compute(self, cr, uid, ids, name, args, context=None):
+ if context is None:
+ context = {}
obj_dept = self.pool.get('hr.department')
obj_user = self.pool.get('res.users')
result = {}
- if context is None:
- context = {}
for manager_id in ids:
child_ids = []
- mgnt_dept_ids = obj_dept.search(cr, uid, [('manager_id', '=', manager_id)])
- ids_dept = obj_dept.search(cr, uid, [('id', 'child_of', mgnt_dept_ids)])
+ mgnt_dept_ids = obj_dept.search(cr, uid, [('manager_id', '=', manager_id)], context=context)
+ ids_dept = obj_dept.search(cr, uid, [('id', 'child_of', mgnt_dept_ids)], context=context)
if ids_dept:
- data_dept = obj_dept.read(cr, uid, ids_dept, ['member_ids'])
+ data_dept = obj_dept.read(cr, uid, ids_dept, ['member_ids'], context=context)
childs = map(lambda x: x['member_ids'], data_dept)
childs = tools.flatten(childs)
- childs = obj_user.search(cr, uid, [('id', 'in', childs),('active', '=', True)])
+ childs = obj_user.search(cr, uid, [('id', 'in', childs),('active', '=', True)], context=context)
if manager_id in childs:
childs.remove(manager_id)
child_ids.extend(tools.flatten(childs))
@@ -159,6 +170,8 @@ class res_users(osv.osv):
return result
def _child_search(self, cr, uid, obj, name, args, context=None):
+ if context is None:
+ context = {}
parent = []
for arg in args:
if arg[0] == 'child_ids':
diff --git a/addons/hr/hr_department_demo.xml b/addons/hr/hr_department_demo.xml
index bc1649bbef5..2fb859a804e 100644
--- a/addons/hr/hr_department_demo.xml
+++ b/addons/hr/hr_department_demo.xml
@@ -5,57 +5,105 @@
Management
-
+ Administration
-
+ Technical department
-
+ IT
-
+ Marketing
-
+ Sales
-
+ Sales Europe
-
+ Sales America
-
+
+
+
+
+ CEO
+
+
+
+
+ CTO
+
+
+
+
+ HR Manager
+
+
+
+
+ Project Managers
+
+
+
+
+ Senior Application Analyst
+
+
+
+
+ Junior Application Analyst
+
+
+
+
+ Senior Developers
+
+
+
+
+ Junior Developers
+
+
+
+
+ Trainee
+
+
+
+
diff --git a/addons/hr/hr_department_view.xml b/addons/hr/hr_department_view.xml
index 6e268f06afe..1b96956394f 100644
--- a/addons/hr/hr_department_view.xml
+++ b/addons/hr/hr_department_view.xml
@@ -85,7 +85,7 @@
-
+
diff --git a/addons/hr/hr_view.xml b/addons/hr/hr_view.xml
index a3f24324ea1..55415ed8088 100644
--- a/addons/hr/hr_view.xml
+++ b/addons/hr/hr_view.xml
@@ -62,12 +62,14 @@
-
+
+
+
@@ -88,7 +90,6 @@
-
@@ -341,7 +342,12 @@
-
+
+
+
+
+
+
-
-
-
- My CashBoxes
- account.bank.statement
- form
- tree,form
-
- [('user_id','=',uid)]
-
-
-
- tree
-
-
-
-
-
- form
-
-
-
-
-
-
-
-
-
- My Cashboxes to Close
- account.bank.statement
- form
- tree,form
-
- [('state','=','open'), ('user_id','=',uid)]
-
-
-
-
-
- tree
-
-
-
-
-
- form
-
-
-
-
-
-
-
- account.bank.statement.form
- account.bank.statement
- form
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
- account.bank.statement.tree
- account.bank.statement
- tree
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Open a CashBox
- account.bank.statement
- form
-
- [('state','=','draft'),('user_id','=',uid)]
-
-
-
-
- tree
-
-
-
-
-
- form
-
-
-
-
-
-
-
-
-
- account.bank.statment.select
- account.bank.statement
- search
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- All Cashboxes
- ir.actions.act_window
- account.bank.statement
- form
-
- {'search_default_Today':1}
-
-
-
-
-
- tree
-
-
-
-
-
- form
-
-
-
-
-
-
- All My Cashboxes
- ir.actions.act_window
- account.bank.statement
- form
- [('user_id','=',uid)]
-
-
-
- tree
-
-
-
-
-
-
- form
-
-
-
-
-
-
-
- Cashboxes to Close
- ir.actions.act_window
- account.bank.statement
- form
- tree,form
- [('state','=','draft')]
-
-
-
- tree
-
-
-
-
-
- form
-
-
-
-
-
-
-
+
+
+
+ Cash Register
+ ir.actions.act_window
+ account.bank.statement
+ form
+ form,tree
+
+
+ [('journal_id.type', '=', 'cash')]
+
+
+
+ tree
+
+
+
+
+
+ form
+
+
+
+
+
+ All Register
+ ir.actions.act_window
+ account.bank.statement
+ form
+ form,tree
+
+
+
+
+
+ tree
+
+
+
+
+
+ form
+
+
+
+
+
+
+
+
+
+
-
+
-
-
diff --git a/addons/point_of_sale/wizard/pos_box_entries.py b/addons/point_of_sale/wizard/pos_box_entries.py
index fe57e6642f2..fce971fe2af 100644
--- a/addons/point_of_sale/wizard/pos_box_entries.py
+++ b/addons/point_of_sale/wizard/pos_box_entries.py
@@ -35,14 +35,16 @@ def get_journal(self, cr, uid, context):
"""
obj = self.pool.get('account.journal')
+ statement_obj = self.pool.get('account.bank.statement')
user = self.pool.get('res.users').browse(cr, uid, uid)
ids = obj.search(cr, uid, [('type', '=', 'cash'), ('company_id', '=', user.company_id.id)])
- res = obj.read(cr, uid, ids, ['id', 'name'], context)
- res = [(r['id'], r['name']) for r in res]
- res.insert(0, ('', ''))
+ obj_ids= statement_obj.search(cr, uid, [('state', '!=', 'confirm'), ('user_id', '=', uid), ('journal_id', 'in', ids)])
+ res_obj = obj.read(cr, uid, ids, ['journal_id'], context)
+ res_obj = [(r1['id'])for r1 in res_obj]
+ res = statement_obj.read(cr, uid, obj_ids, ['journal_id'], context)
+ res = [(r['journal_id']) for r in res]
return res
-
class pos_box_entries(osv.osv_memory):
_name = 'pos.box.entries'
_description = 'Pos Box Entries'
@@ -62,15 +64,15 @@ class pos_box_entries(osv.osv_memory):
obj = self.pool.get('product.product')
ids = obj.search(cr, uid, [('income_pdt', '=', True)])
res = obj.read(cr, uid, ids, ['id', 'name'], context)
- res = [(r['id'], r['name']) for r in res]
+ res = [(r['id'],r['name']) for r in res]
res.insert(0, ('', ''))
return res
_columns = {
- 'name': fields.char('Name', size=32, required=True),
- 'journal_id': fields.selection(get_journal, "Journal", required=True),
+ 'name': fields.char('Description', size=32, required=True),
+ 'journal_id': fields.selection(get_journal, "Register", required=True),
'product_id': fields.selection(_get_income_product, "Operation", required=True),
'amount': fields.float('Amount', digits=(16, 2)),
'ref': fields.char('Ref', size=32),
diff --git a/addons/point_of_sale/wizard/pos_box_entries.xml b/addons/point_of_sale/wizard/pos_box_entries.xml
index e0f0a21402f..75dea51e4a2 100644
--- a/addons/point_of_sale/wizard/pos_box_entries.xml
+++ b/addons/point_of_sale/wizard/pos_box_entries.xml
@@ -1,8 +1,8 @@
-
+
-
+
Box Entriespos.box.entries
@@ -14,11 +14,11 @@
-
+
-
@@ -31,8 +31,8 @@
pos.box.entriesformform
- new
+ new
-
+
-
+
diff --git a/addons/point_of_sale/wizard/pos_box_out.py b/addons/point_of_sale/wizard/pos_box_out.py
index ea5768e5099..c4871a2f03a 100644
--- a/addons/point_of_sale/wizard/pos_box_out.py
+++ b/addons/point_of_sale/wizard/pos_box_out.py
@@ -49,8 +49,8 @@ class pos_box_out(osv.osv_memory):
return res
_columns = {
- 'name': fields.char('Name', size=32, required=True),
- 'journal_id': fields.selection(pos_box_entries.get_journal, "Journal", required=True),
+ 'name': fields.char('Description', size=32, required=True),
+ 'journal_id': fields.selection(pos_box_entries.get_journal, "Register", required=True),
'product_id': fields.selection(_get_expense_product, "Operation", required=True),
'amount': fields.float('Amount', digits=(16, 2)),
'ref': fields.char('Ref', size=32),
@@ -62,12 +62,12 @@ class pos_box_out(osv.osv_memory):
def get_out(self, cr, uid, ids, context):
"""
- Create the entries in the CashBox .
- @param self: The object pointer.
- @param cr: A database cursor
- @param uid: ID of the user currently logged in
- @param context: A standard dictionary
- @return :Return of operation of product
+ Create the entries in the CashBox .
+ @param self: The object pointer.
+ @param cr: A database cursor
+ @param uid: ID of the user currently logged in
+ @param context: A standard dictionary
+ @return :Return of operation of product
"""
args = {}
statement_obj = self.pool.get('account.bank.statement')
diff --git a/addons/point_of_sale/wizard/pos_box_out.xml b/addons/point_of_sale/wizard/pos_box_out.xml
index c634b4cf997..9922f211c6e 100644
--- a/addons/point_of_sale/wizard/pos_box_out.xml
+++ b/addons/point_of_sale/wizard/pos_box_out.xml
@@ -1,8 +1,8 @@
-
+
-
+
Box Outpos.box.out
@@ -14,11 +14,11 @@
-
+
-
@@ -31,8 +31,8 @@
pos.box.outformform
- new
+ new
-
+
-
+
diff --git a/addons/point_of_sale/wizard/pos_close_statement.py b/addons/point_of_sale/wizard/pos_close_statement.py
index ca07180974b..22c3e77ad63 100644
--- a/addons/point_of_sale/wizard/pos_close_statement.py
+++ b/addons/point_of_sale/wizard/pos_close_statement.py
@@ -22,7 +22,6 @@
from osv import osv
from tools.translate import _
-
class pos_close_statement(osv.osv_memory):
_name = 'pos.close.statement'
_description = 'Close Statements'
@@ -38,27 +37,55 @@ class pos_close_statement(osv.osv_memory):
"""
company_id = self.pool.get('res.users').browse(cr, uid, uid).company_id.id
list_statement = []
+ mod_obj = self.pool.get('ir.model.data')
statement_obj = self.pool.get('account.bank.statement')
journal_obj = self.pool.get('account.journal')
- journal_lst = journal_obj.search(cr, uid, [('company_id', '=', company_id), ('auto_cash', '=', True), ('check_dtls', '=', False)])
- journal_ids = journal_obj.browse(cr, uid, journal_lst)
+ user_obj="""select DISTINCT journal_id from pos_journal_users where user_id=%d"""%(uid)
+ cr.execute(user_obj)
+ user_journals1= cr.fetchall()
+ lst1=map(lambda x1:x1[0],user_journals1)
+ journal_ids = journal_obj.browse(cr, uid, lst1)
+
for journal in journal_ids:
ids = statement_obj.search(cr, uid, [('state', '!=', 'confirm'), ('user_id', '=', uid), ('journal_id', '=', journal.id)])
- list_statement = ids
- statement_obj.button_confirm(cr, uid, ids, context)
- if not list_statement:
- return {}
+ sql = """ select id from account_journal
+ where auto_cash = 'True'
+ and company_id =%d and id =%d"""%(company_id,journal.id)
+ cr.execute(sql)
+ user_journals= cr.fetchall()
+ lst=map(lambda x1:x1[0],user_journals)
+ journal_ids1 = journal_obj.browse(cr, uid, lst)
+ #list_statement=[]
+
+ for journal1 in journal_ids1:
+ ids = statement_obj.search(cr, uid, [('state', '!=', 'confirm'), ('user_id', '=', uid), ('journal_id', '=', journal.id)])
+ if not ids:
+ raise osv.except_osv(_('Message'), _('Journals are allready closed'))
+ else:
+ list_statement.append(ids[0])
+ if not journal.check_dtls:
+ statement_obj.button_confirm_bank(cr, uid, ids, context)
+ # if not list_statement:
+ # return {}
+ # model_data_ids = mod_obj.search(cr, uid,[('model','=','ir.ui.view'),('name','=','view_bank_statement_tree')], context=context)
+ # resource_id = mod_obj.read(cr, uid, model_data_ids, fields=['res_id'], context=context)[0]['res_id']
+
+ data_obj = self.pool.get('ir.model.data')
+ id2 = data_obj._get_id(cr, uid, 'account', 'view_bank_statement_tree')
+ id3 = data_obj._get_id(cr, uid, 'account', 'view_bank_statement_form2')
+ if id2:
+ id2 = data_obj.browse(cr, uid, id2, context=context).res_id
+ if id3:
+ id3 = data_obj.browse(cr, uid, id3, context=context).res_id
return {
- 'domain': "[('id','in', list_statement)]",
+ 'domain': "[('id','in'," + str(list_statement) + ")]",
'name': 'Close Statements',
'view_type': 'form',
'view_mode': 'tree,form',
'res_model': 'account.bank.statement',
- 'view_id': False,
- 'type': 'ir.actions.act_window'
-}
+ 'views': [(id2, 'tree'),(id3, 'form')],
+ 'type': 'ir.actions.act_window'}
pos_close_statement()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
diff --git a/addons/point_of_sale/wizard/pos_open_statement.py b/addons/point_of_sale/wizard/pos_open_statement.py
index 7fb33ba7f09..8db05d32f53 100644
--- a/addons/point_of_sale/wizard/pos_open_statement.py
+++ b/addons/point_of_sale/wizard/pos_open_statement.py
@@ -23,7 +23,6 @@ from osv import osv
from tools.translate import _
import time
-
class pos_open_statement(osv.osv_memory):
_name = 'pos.open.statement'
_description = 'Open Statements'
@@ -38,67 +37,91 @@ class pos_open_statement(osv.osv_memory):
@return : Blank Directory
"""
list_statement = []
+ mod_obj = self.pool.get('ir.model.data')
company_id = self.pool.get('res.users').browse(cr, uid, uid).company_id.id
statement_obj = self.pool.get('account.bank.statement')
singer_obj = self.pool.get('singer.statement')
sequence_obj = self.pool.get('ir.sequence')
journal_obj = self.pool.get('account.journal')
- journal_lst = journal_obj.search(cr, uid, [('company_id', '=', company_id), ('auto_cash', '=', True)])
- journal_ids = journal_obj.browse(cr, uid, journal_lst)
+ user_obj="""select DISTINCT journal_id from pos_journal_users where user_id=%d"""%(uid)
+ cr.execute(user_obj)
+ user_journals1= cr.fetchall()
+ lst1=map(lambda x1:x1[0],user_journals1)
+ journal_ids = journal_obj.browse(cr, uid, lst1)
+
for journal in journal_ids:
ids = statement_obj.search(cr, uid, [('state', '!=', 'confirm'), ('user_id', '=', uid), ('journal_id', '=', journal.id)])
- if len(ids):
- raise osv.except_osv(_('Message'), _('You can not open a Cashbox for "%s". \n Please close the cashbox related to. ' % (journal.name)))
- sql = """ Select id from account_bank_statement
- where journal_id=%d
- and company_id =%d
- order by id desc limit 1""" % (journal.id, company_id)
+ sql = """ select id from account_journal
+ where auto_cash = 'True'
+ and company_id =%d and id =%d"""%(company_id,journal.id)
cr.execute(sql)
- st_id = cr.fetchone()
- number = ''
- if journal.statement_sequence_id:
- number = sequence_obj.get_id(cr, uid, journal.id)
- else:
- number = sequence_obj.get(cr, uid,
- 'account.bank.statement')
+ user_journals= cr.fetchall()
+ lst=map(lambda x1:x1[0],user_journals)
+ journal_ids1 = journal_obj.browse(cr, uid, lst)
- # statement_id=statement_obj.create(cr,uid,{'journal_id':journal.id,
- # 'company_id':company_id,
- # 'user_id':uid,
- # 'state':'open',
- # 'name':number
- # })
- period = statement_obj._get_period(cr, uid, context) or None
- cr.execute("INSERT INTO account_bank_statement(journal_id,company_id,user_id,state,name, period_id,date) VALUES(%d,%d,%d,'open','%s',%d,'%s')"%(journal.id, company_id, uid, number, period, time.strftime('%Y-%m-%d %H:%M:%S')))
- cr.execute("select id from account_bank_statement where journal_id=%d and company_id=%d and user_id=%d and state='open' and name='%s'"%(journal.id, company_id, uid, number))
- statement_id = cr.fetchone()[0]
- if st_id:
- statemt_id = statement_obj.browse(cr, uid, st_id[0])
- list_statement.append(statemt_id.id)
- if statemt_id and statemt_id.ending_details_ids:
- statement_obj.write(cr, uid, [statement_id], {
- 'balance_start': statemt_id.balance_end,
- 'state': 'open',
- })
- if statemt_id.ending_details_ids:
- for i in statemt_id.ending_details_ids:
- c = singer_obj.create(cr, uid, {
- 'pieces': i.pieces,
- 'number': i.number,
- 'starting_id': statement_id,
- })
- return {
- 'domain': "[('id','in', ["+','.join(map(str,list_statement))+"])]",
- 'name': 'Open Statement',
- 'view_type': 'form',
- 'view_mode': 'tree,form',
- 'res_model': 'account.bank.statement',
- 'view_id': False, # TODO: REFERENCE RIGHT VIEWS
- 'type': 'ir.actions.act_window'
-}
- return {}
+ for journal1 in journal_ids1:
+ ids1 = statement_obj.search(cr, uid, [('state', '!=', 'confirm'), ('user_id', '=', uid), ('journal_id', '=', journal.id)])
+ if len(ids):
+ raise osv.except_osv(_('Message'), _('You can not open a Cashbox for "%s". \n Please close the cashbox related to. ' %(journal.name)))
+ sql = """ Select id from account_bank_statement
+ where journal_id =%d
+ and company_id =%d
+ order by id desc limit 1""" %(journal.id, company_id)
+ cr.execute(sql)
+ st_id = cr.fetchone()
+ number = ''
+ if journal.sequence_id:
+ number = sequence_obj.get_id(cr, uid, journal.id)
+ else:
+ number = sequence_obj.get(cr, uid,
+ 'account.bank.statement')
+ statement_id=statement_obj.create(cr,uid,{'journal_id':journal.id,
+ 'company_id':company_id,
+ 'user_id':uid,
+ 'state':'open',
+ 'name':number
+ })
+ statement_obj.button_open(cr,uid,[statement_id],context)
+ # period = statement_obj._get_period(cr, uid, context) or None
+ # cr.execute("INSERT INTO account_bank_statement(journal_id,company_id,user_id,state,name, period_id,date) VALUES(%d,%d,%d,'open','%s',%d,'%s')"%(journal.id, company_id, uid, number, period, time.strftime('%Y-%m-%d %H:%M:%S')))
+ # cr.commit()
+ # cr.execute("select id from account_bank_statement where journal_id=%d and company_id=%d and user_id=%d and state='open' and name='%s'"%(journal.id, company_id, uid, number))
+ # statement_id = cr.fetchone()[0]
+ # print "statement_id",statement_id
+ # if st_id:
+ # statemt_id = statement_obj.browse(cr, uid, st_id[0])
+ # list_statement.append(statemt_id.id)
+ # if statemt_id and statemt_id.ending_details_ids:
+ # statement_obj.write(cr, uid, [statement_id], {
+ # 'balance_start': statemt_id.balance_end,
+ # 'state': 'open',
+ # })
+ # if statemt_id.ending_details_ids:
+ # for i in statemt_id.ending_details_ids:
+ # c = statement_obj.create(cr, uid, {
+ # 'pieces': i.pieces,
+ # 'number': i.number,
+ # 'starting_id': statement_id,
+ # })
+ data_obj = self.pool.get('ir.model.data')
+ id2 = data_obj._get_id(cr, uid, 'account', 'view_bank_statement_tree')
+ id3 = data_obj._get_id(cr, uid, 'account', 'view_bank_statement_form2')
+ if id2:
+ id2 = data_obj.browse(cr, uid, id2, context=context).res_id
+ if id3:
+ id3 = data_obj.browse(cr, uid, id3, context=context).res_id
+
+ return {
+# 'domain': "[('id','in', ["+','.join(map(str,list_statement))+"])]",
+ 'domain': "[('state','=','open')]",
+ 'name': 'Open Statement',
+ 'view_type': 'form',
+ 'view_mode': 'tree,form',
+ 'res_model': 'account.bank.statement',
+ 'views': [(id2, 'tree'),(id3, 'form')],
+ 'type': 'ir.actions.act_window'
+}
pos_open_statement()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
diff --git a/addons/point_of_sale/wizard/pos_payment.py b/addons/point_of_sale/wizard/pos_payment.py
index cd8a85ea8c2..403e92b11b8 100644
--- a/addons/point_of_sale/wizard/pos_payment.py
+++ b/addons/point_of_sale/wizard/pos_payment.py
@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
##############################################################################
-#
+#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2010 Tiny SPRL ().
#
@@ -15,7 +15,7 @@
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
+# along with this program. If not, see .
#
##############################################################################
@@ -31,31 +31,31 @@ import pos_receipt
class pos_make_payment(osv.osv_memory):
_name = 'pos.make.payment'
_description = 'Point of Sale Payment'
-
+
def default_get(self, cr, uid, fields, context):
- """
+ """
To get default values for the object.
@param self: The object pointer.
@param cr: A database cursor
@param uid: ID of the user currently logged in
- @param fields: List of fields for which we want default values
- @param context: A standard dictionary
- @return: A dictionary which of fields with values.
+ @param fields: List of fields for which we want default values
+ @param context: A standard dictionary
+ @return: A dictionary which of fields with values.
"""
res = super(pos_make_payment, self).default_get(cr, uid, fields, context=context)
-
- active_id = context and context.get('active_id',False)
- if active_id:
+
+ active_id = context and context.get('active_id',False)
+ if active_id:
j_obj = self.pool.get('account.journal')
company_id = self.pool.get('res.users').browse(cr, uid, uid).company_id.id
journal = j_obj.search(cr, uid, [('type', '=', 'cash'), ('company_id', '=', company_id)])
-
+
if journal:
journal = journal[0]
else:
journal = None
wf_service = netsvc.LocalService("workflow")
-
+
order_obj=self.pool.get('pos.order')
order = order_obj.browse(cr, uid, active_id, context)
#get amount to pay
@@ -66,50 +66,50 @@ class pos_make_payment(osv.osv_memory):
elif order.amount_paid > 0.0:
order_obj.write(cr, uid, [active_id], {'state': 'advance'})
invoice_wanted_checked = False
-
+
current_date = time.strftime('%Y-%m-%d')
-
+
if 'journal' in fields:
- res.update({'journal':journal})
+ res.update({'journal':journal})
if 'amount' in fields:
- res.update({'amount':amount})
+ res.update({'amount':amount})
if 'invoice_wanted' in fields:
- res.update({'invoice_wanted':invoice_wanted_checked})
+ res.update({'invoice_wanted':invoice_wanted_checked})
if 'payment_date' in fields:
res.update({'payment_date':current_date})
- if 'payment_name' in fields:
- res.update({'payment_name':'Payment'})
+ if 'payment_name' in fields:
+ res.update({'payment_name':'Payment'})
return res
-
+
def view_init(self, cr, uid, fields_list, context=None):
res = super(pos_make_payment, self).view_init(cr, uid, fields_list, context=context)
- active_id = context and context.get('active_id', False) or False
+ active_id = context and context.get('active_id', False) or False
if active_id:
order = self.pool.get('pos.order').browse(cr, uid, active_id)
if not order.lines:
raise osv.except_osv('Error!','No order lines defined for this sale ')
return True
-
+
def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
- """
+ """
Changes the view dynamically
-
+
@param self: The object pointer.
@param cr: A database cursor
@param uid: ID of the user currently logged in
- @param context: A standard dictionary
-
+ @param context: A standard dictionary
+
@return: New arch of view.
-
+
"""
-
-
+
+
result = super(pos_make_payment, self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar,submenu=False)
active_model = context.get('active_model')
active_id = context.get('active_id', False)
if not active_id or (active_model and active_model != 'pos.order'):
- return result
-
+ return result
+
order = self.pool.get('pos.order').browse(cr, uid, active_id)
if order.amount_total == order.amount_paid:
result['arch'] = """
@@ -120,22 +120,23 @@ class pos_make_payment(osv.osv_memory):
- """
+ """
return result
def check(self, cr, uid, ids, context):
-
+
"""Check the order:
if the order is not paid: continue payment,
if the order is paid print invoice (if wanted) or ticket.
"""
- active_id = context and context.get('active_id',False)
+ active_id = context and context.get('active_id',False)
order_obj = self.pool.get('pos.order')
- jrnl_obj = self.pool.get('account.journal')
+ jrnl_obj = self.pool.get('account.journal')
order = order_obj.browse(cr, uid, active_id, context)
+ order_name = order.name
amount = order.amount_total - order.amount_paid
data = self.read(cr, uid, ids)[0]
-
+
# Todo need to check ...
if amount !=0.0:
invoice_wanted = data['invoice_wanted']
@@ -143,61 +144,140 @@ class pos_make_payment(osv.osv_memory):
if data.get('journal',False):
jrnl_used=jrnl_obj.browse(cr, uid, data['journal'])
order_obj.write(cr, uid, [active_id], {'invoice_wanted': invoice_wanted})
- order_obj.add_payment(cr, uid, active_id, data, context=context)
+ order_obj.add_payment(cr, uid, active_id, data, context=context)
+
+ res_obj = self.pool.get('res.company')
+ inv_ref = self.pool.get('account.invoice')
+ inv_line_ref = self.pool.get('account.invoice.line')
+ product_obj= self.pool.get('product.product')
+ inv_ids = []
+ for order in self.pool.get('pos.order').browse(cr, uid, ids, context):
+# curr_c = order.user_salesman_id.company_id
+ make_obj = self.pool.get('pos.make.payment').browse(cr, uid, uid)
+ if invoice_wanted:
+ if order.invoice_id:
+ inv_ids.append(order.invoice_id.id)
+# continue
+# if not make_obj.partner_id:
+# raise osv.except_osv(_('Error'), _('Please provide a partner for the sale.'))
+ acc= make_obj.partner_id.property_account_receivable.id
+ inv = {
+ 'name': 'Invoice from POS: '+order_name,
+ 'origin': order_name,
+ 'account_id':acc,
+ 'journal_id':order.sale_journal.id or None,
+ 'type': 'out_invoice',
+ 'reference': order.name,
+ 'partner_id': make_obj.partner_id.id,
+ 'comment': order.note or '',
+ }
+ inv.update(inv_ref.onchange_partner_id(cr, uid, [], 'out_invoice', make_obj.partner_id.id)['value'])
+ if not inv.get('account_id', None):
+ inv['account_id'] = acc
+ inv_id = inv_ref.create(cr, uid, inv, context)
+ self.write(cr, uid, [order.id], {'invoice_id': inv_id, 'state': 'invoiced'})
+ inv_ids.append(inv_id)
+ for line in order.lines:
+ inv_line = {
+ 'invoice_id': inv_id,
+ 'product_id': line.product_id.id,
+ 'quantity': line.qty,
+ }
+ inv_name = product_obj.name_get(cr, uid, [line.product_id.id], context=context)[0][1]
+
+ inv_line.update(inv_line_ref.product_id_change(cr, uid, [],
+ line.product_id.id,
+ line.product_id.uom_id.id,
+ line.qty, partner_id = make_obj.partner_id.id, fposition_id=make_obj.partner_id.property_account_position.id)['value'])
+# inv_line['price_unit'] = line.price_unit
+# inv_line['discount'] = line.discount
+# inv_line['account_id'] = acc
+# inv_line['name'] = inv_name
+ inv_line['price_unit'] = amount
+ inv_line['discount'] = line.discount
+ inv_line['account_id'] = acc
+ inv_line['name'] = inv_name
+ inv_line['invoice_line_tax_id'] = ('invoice_line_tax_id' in inv_line)\
+ and [(6, 0, inv_line['invoice_line_tax_id'])] or []
+ inv_line_ref.create(cr, uid, inv_line, context)
+ for i in inv_ids:
+ wf_service = netsvc.LocalService("workflow")
+ wf_service.trg_validate(uid, 'account.invoice', i, 'invoice_open', cr)
+# return inv_ids
# Todo need to check
# if amount<=0.0:
# context.update({'flag':True})
# order_obj.action_paid(cr,uid,[active_id],context)
- if order_obj.test_paid(cr, uid, [active_id]):
- if order.partner_id and order.invoice_wanted:
- return self.create_invoice(cr, uid, ids, context)
- else:
- context.update({'flag': True})
- order_obj.action_paid(cr, uid, [active_id], context)
+
+# def test_paid(self, cr, uid, ids, context=None):
+# """ Test all amount is paid for this order
+# @return: True
+# """
+# for order in self.browse(cr, uid, ids, context):
+# if order.lines and not order.amount_total:
+# return True
+# if (not order.lines) or (not order.statement_ids) or \
+# Decimal(str(order.amount_total))!=Decimal(str(order.amount_paid)):
+# return False
+# return True
+# if order_obj.test_paid(cr, uid, [active_id]):
+ if order_obj.browse(cr, uid, [active_id]):
+ if make_obj.partner_id and make_obj.invoice_wanted:
+ order_obj.write(cr, uid, [active_id],{'state':'paid'})
if context.get('return'):
- order_obj.write(cr, uid, [active_id],{'state':'done'})
+ order_obj.write(cr, uid, [active_id],{'state':'done'})
else:
- order_obj.write(cr, uid, [active_id],{'state':'paid'})
- return self.print_report(cr, uid, ids, context)
+ order_obj.write(cr, uid, [active_id],{'state':'paid'})
+ return self.print_report(cr, uid, ids, context)
+# return self.create_invoice(cr, uid, ids, context)
+ else:
+ context.update({'flag': True})
+ order_obj.action_paid(cr, uid, [active_id], context)
+ if context.get('return'):
+ order_obj.write(cr, uid, [active_id],{'state':'done'})
+ else:
+ order_obj.write(cr, uid, [active_id],{'state':'paid'})
+ return self.print_report(cr, uid, ids, context)
if order.amount_paid > 0.0:
context.update({'flag': True})
# Todo need to check
- order_obj.action_paid(cr, uid, [active_id], context)
+ order_obj.action_paid(cr, uid, [active_id], context)
self.pool.get('pos.order').write(cr, uid, [active_id],{'state':'advance'})
- return self.print_report(cr, uid, ids, context)
- return {}
+ return self.print_report(cr, uid, ids, context)
+# return {}
+ return inv_ids
+
-
def create_invoice(self, cr, uid, ids, context):
-
+
+ """
+ Create a invoice
"""
- Create a invoice
- """
wf_service = netsvc.LocalService("workflow")
- active_ids = [context and context.get('active_id',False)]
+ active_ids = [context and context.get('active_id',False)]
for i in active_ids:
wf_service.trg_validate(uid, 'pos.order', i, 'invoice', cr)
- datas = {'ids' : context.get('active_id', [])}
- return {
+ datas = {'ids' : context.get('active_id', [])}
+ return {
'type' : 'ir.actions.report.xml',
'report_name':'pos.invoice',
- 'datas' : datas,
- }
-
+ 'datas' : datas,
+ }
+
def print_report(self, cr, uid, ids, context=None):
- """
- @summary: To get the date and print the report
+ """
+ @summary: To get the date and print the report
@param self: The object pointer.
@param cr: A database cursor
@param uid: ID of the user currently logged in
- @param context: A standard dictionary
+ @param context: A standard dictionary
@return : retrun report
- """
+ """
if not context:
context={}
- active_id=context.get('active_id',[])
+ active_id=context.get('active_id',[])
datas = {'ids' : [active_id]}
- res = {}
+ res = {}
datas['form'] = res
return {
@@ -207,7 +287,7 @@ class pos_make_payment(osv.osv_memory):
}
_columns = {
- 'journal':fields.selection(pos_box_entries.get_journal, "Journal",required=True),
+ 'journal':fields.selection(pos_box_entries.get_journal, "Cash Register",required=True),
'product_id': fields.many2one('product.product', "Acompte"),
'amount':fields.float('Amount', digits=(16,2) ,required= True),
'payment_name': fields.char('Payment name', size=32, required=True),
@@ -215,8 +295,15 @@ class pos_make_payment(osv.osv_memory):
'is_acc': fields.boolean('Accompte'),
'invoice_wanted': fields.boolean('Invoice'),
'num_sale':fields.char('Num.File', size=32),
+ 'pricelist_id': fields.many2one('product.pricelist', 'Pricelist'),
+ 'partner_id': fields.many2one('res.partner', 'Customer'),
+ 'invoice_id': fields.many2one('account.invoice', 'Invoice'),
+ 'state': fields.selection([('draft', 'Draft'), ('payment', 'Payment'),
+ ('advance','Advance'),
+ ('paid', 'Paid'), ('done', 'Done'), ('invoiced', 'Invoiced'), ('cancel', 'Cancel')],
+ 'State', readonly=True, ),
}
-
+
pos_make_payment()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/point_of_sale/wizard/pos_payment.xml b/addons/point_of_sale/wizard/pos_payment.xml
index 6608f837a63..ad71d177357 100644
--- a/addons/point_of_sale/wizard/pos_payment.xml
+++ b/addons/point_of_sale/wizard/pos_payment.xml
@@ -12,11 +12,11 @@
form
-
-
+
+
-
+
@@ -24,6 +24,11 @@
+
+
+
+
+
@@ -42,4 +47,4 @@
-
\ No newline at end of file
+
diff --git a/addons/point_of_sale/wizard/pos_receipt.py b/addons/point_of_sale/wizard/pos_receipt.py
index daf63fd6674..33252f20606 100644
--- a/addons/point_of_sale/wizard/pos_receipt.py
+++ b/addons/point_of_sale/wizard/pos_receipt.py
@@ -41,10 +41,10 @@ class pos_receipt(osv.osv_memory):
@return: New arch of view with new columns.
"""
order_lst = self. pool.get('pos.order').browse(cr, uid, context['active_id'])
- for order in order_lst:
- if order.state_2 in ('to_verify'):
- raise osv.except_osv(_('Error!', 'Can not print the receipt because of discount and/or payment '))
- True
+# for order in order_lst:
+# if order.state_2 in ('to_verify'):
+# raise osv.except_osv(_('Error!', 'Can not print the receipt because of discount and/or payment '))
+# True
def print_report(self, cr, uid, ids, context=None):
diff --git a/addons/procurement/procurement.py b/addons/procurement/procurement.py
index 840c5f74d67..4aad723b2f9 100644
--- a/addons/procurement/procurement.py
+++ b/addons/procurement/procurement.py
@@ -291,8 +291,7 @@ class procurement_order(osv.osv):
if not procurement.product_id.seller_ids:
cr.execute('update procurement_order set message=%s where id=%s', (_('No supplier defined for this product !'), procurement.id))
return False
- partner_list = sorted([(partner_id.sequence, partner_id) for partner_id in procurement.product_id.seller_ids if partner_id and partner_id.sequence])
- partner = partner_list and partner_list[0] and partner_list[0][1] and partner_list[0][1].name or False
+ partner = procurement.product_id.seller_id #Taken Main Supplier of Product of Procurement.
if user.company_id and user.company_id.partner_id:
if partner.id == user.company_id.partner_id.id:
diff --git a/addons/procurement/procurement_view.xml b/addons/procurement/procurement_view.xml
index fff13e36330..11c1287152c 100644
--- a/addons/procurement/procurement_view.xml
+++ b/addons/procurement/procurement_view.xml
@@ -70,7 +70,7 @@
-
+
@@ -119,6 +119,7 @@
{'search_default_current':1}{'search_default_Current':1}
+ The procurement order will schedule a proposal for automatic procurement for the product concerned. This procurement will start a task, a purchase order form for the supplier or a production depending on the product configuration.
@@ -139,6 +140,7 @@
formtree,form[('state','=','exception')]
+ For each customer order line or raw materials in a manufacturing order, there is a procurement form . In normal system use, procurement orders are automatically generated by Open ERP. But if there are configuration problems, the system can remain blocked by a procurement without generating a corresponding document. It is a procurement exception. Some problems are link to timing and will be correct automatically by the system. If there is no procurement rule, the exception must be corrected manually.
@@ -255,18 +257,18 @@
-
+
+
+
+
+
+
diff --git a/addons/product/i18n/lt.po b/addons/product/i18n/lt.po
index c916cc9659c..be930f1d6d2 100644
--- a/addons/product/i18n/lt.po
+++ b/addons/product/i18n/lt.po
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-07-21 03:43+0000\n"
+"X-Launchpad-Export-Date: 2010-07-22 03:56+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
"Language: lt\n"
diff --git a/addons/product/product.py b/addons/product/product.py
index cbb2ffefd67..8029f8309d3 100644
--- a/addons/product/product.py
+++ b/addons/product/product.py
@@ -59,7 +59,7 @@ class product_uom(osv.osv):
def _factor_inv_write(self, cursor, user, id, name, value, arg, context):
return self.write(cursor, user, id, {'factor': self._compute_factor_inv(value)}, context=context)
-
+
def create(self, cr, uid, data, context={}):
if 'factor_inv' in data:
if data['factor_inv'] <> 1:
@@ -180,7 +180,7 @@ class product_category(osv.osv):
'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of product categories."),
'type': fields.selection([('view','View'), ('normal','Normal')], 'Category Type'),
}
-
+
_defaults = {
'type' : lambda *a : 'normal',
@@ -212,14 +212,18 @@ product_category()
class product_template(osv.osv):
_name = "product.template"
_description = "Product Template"
- def _calc_seller_delay(self, cr, uid, ids, name, arg, context={}):
+ def _calc_seller(self, cr, uid, ids, fields, arg, context={}):
result = {}
for product in self.browse(cr, uid, ids, context):
+ for field in fields:
+ result[product.id] = {field:False}
+ result[product.id]['seller_delay'] = 1
if product.seller_ids:
partner_list = sorted([(partner_id.sequence, partner_id) for partner_id in product.seller_ids if partner_id and partner_id.sequence])
- result[product.id] = partner_list and partner_list[0] and partner_list[0][1] and partner_list[0][1].delay or False
- else:
- result[product.id] = 1
+ main_supplier = partner_list and partner_list[0] and partner_list[0][1] or False
+ result[product.id]['seller_delay'] = main_supplier and main_supplier.delay or 1
+ result[product.id]['seller_qty'] = main_supplier and main_supplier.qty or 0.0
+ result[product.id]['seller_id'] = main_supplier and main_supplier.name.id or False
return result
_columns = {
@@ -230,8 +234,8 @@ class product_template(osv.osv):
'description_sale': fields.text('Sale Description',translate=True),
'type': fields.selection([('product','Stockable Product'),('consu', 'Consumable'),('service','Service')], 'Product Type', required=True, help="Will change the way procurements are processed. Consumables are stockable products with infinite stock, or for use when you have no inventory management in the system."),
'supply_method': fields.selection([('produce','Produce'),('buy','Buy')], 'Supply method', required=True, help="Produce will generate production order or tasks, according to the product type. Purchase will trigger purchase orders when requested."),
- 'sale_delay': fields.float('Customer Lead Time', help="This is the average time between the confirmation of the customer order and the delivery of the finished products. It's the time you promise to your customers."),
- 'produce_delay': fields.float('Manufacturing Lead Time', help="Average time to produce this product. This is only for the production order and, if it is a multi-level bill of material, it's only for the level of this product. Different lead times will be summed for all levels and purchase orders."),
+ 'sale_delay': fields.float('Customer Lead Time', help="This is the average delay in days between the confirmation of the customer order and the delivery of the finished products. It's the time you promise to your customers."),
+ 'produce_delay': fields.float('Manufacturing Lead Time', help="Average delay in days to produce this product. This is only for the production order and, if it is a multi-level bill of material, it's only for the level of this product. Different lead times will be summed for all levels and purchase orders."),
'procure_method': fields.selection([('make_to_stock','Make to Stock'),('make_to_order','Make to Order')], 'Procurement Method', required=True, help="'Make to Stock': When needed, take from the stock or wait until re-supplying. 'Make to Order': When needed, purchase or produce for the procurement request."),
'rental': fields.boolean('Can be Rent'),
'categ_id': fields.many2one('product.category','Category', required=True, change_default=True, domain="[('type','=','normal')]" ,help="Select category for the current product"),
@@ -254,7 +258,9 @@ class product_template(osv.osv):
help='Coefficient to convert UOM to UOS\n'
' uos = uom * coeff'),
'mes_type': fields.selection((('fixed', 'Fixed'), ('variable', 'Variable')), 'Measure Type', required=True),
- 'seller_delay': fields.function(_calc_seller_delay, method=True, type='integer', string='Supplier Lead Time', help="This is the average delay in days between the purchase order confirmation and the reception of goods for this product and for the default supplier. It is used by the scheduler to order requests based on reordering delays."),
+ 'seller_delay': fields.function(_calc_seller, method=True, type='integer', string='Supplier Lead Time', multi="seller_delay", help="This is the average delay in days between the purchase order confirmation and the reception of goods for this product and for the default supplier. It is used by the scheduler to order requests based on reordering delays."),
+ 'seller_qty': fields.function(_calc_seller, method=True, type='float', string='Supplier Quantity', multi="seller_qty", help="This is minimum quantity to purchase from Main Supplier."),
+ 'seller_id': fields.function(_calc_seller, method=True, type='many2one', relation="res.partner", string='Main Supplier', help="Main Supplier who has highest priority in Supplier List.", multi="seller_id"),
'seller_ids': fields.one2many('product.supplierinfo', 'product_id', 'Partners'),
'loc_rack': fields.char('Rack', size=16),
'loc_row': fields.char('Row', size=16),
@@ -616,12 +622,32 @@ product_packaging()
class product_supplierinfo(osv.osv):
_name = "product.supplierinfo"
_description = "Information about a product supplier"
+ def _calc_qty(self, cr, uid, ids, fields, arg, context={}):
+ result = {}
+ product_uom_pool = self.pool.get('product.uom')
+ for supplier_info in self.browse(cr, uid, ids, context):
+ for field in fields:
+ result[supplier_info.id] = {field:False}
+ if supplier_info.product_uom.id:
+ qty = product_uom_pool._compute_qty(cr, uid, supplier_info.product_uom.id, supplier_info.min_qty, to_uom_id=supplier_info.product_id.uom_id.id)
+ else:
+ qty = supplier_info.min_qty
+ result[supplier_info.id]['qty'] = qty
+ return result
+
+ def _get_uom_id(self, cr, uid, *args):
+ cr.execute('select id from product_uom order by id limit 1')
+ res = cr.fetchone()
+ return res and res[0] or False
+
_columns = {
'name' : fields.many2one('res.partner', 'Supplier', required=True, ondelete='cascade', help="Supplier of this product"),
'product_name': fields.char('Supplier Product Name', size=128, help="This supplier's product name will be used when printing a request for quotation. Keep empty to use the internal one."),
'product_code': fields.char('Supplier Product Code', size=64, help="This supplier's product code will be used when printing a request for quotation. Keep empty to use the internal one."),
'sequence' : fields.integer('Sequence', help="Assigns the priority to the list of product supplier."),
- 'qty' : fields.float('Minimal Quantity', required=True, help="The minimal quantity to purchase to this supplier, expressed in the default unit of measure."),
+ 'product_uom': fields.many2one('product.uom', string="UOM", help="Supplier Product UoM."),
+ 'min_qty': fields.float('Minimal Quantity', required=True, help="The minimal quantity to purchase to this supplier, expressed in the default unit of measure."),
+ 'qty': fields.function(_calc_qty, method=True, store=True, type='float', string='Quantity', multi="qty", help="This is a quantity which is converted into Default Uom."),
'product_id' : fields.many2one('product.template', 'Product', required=True, ondelete='cascade', select=True),
'delay' : fields.integer('Delivery Lead Time', required=True, help="Lead time in days between the confirmation of the purchase order and the reception of the products in your warehouse. Used by the scheduler for automatic computation of the purchase order planning."),
'pricelist_ids': fields.one2many('pricelist.partnerinfo', 'suppinfo_id', 'Supplier Pricelist'),
@@ -633,6 +659,55 @@ class product_supplierinfo(osv.osv):
'delay': lambda *a: 1,
'company_id': lambda self,cr,uid,c: self.pool.get('res.company')._company_default_get(cr, uid, 'product.supplierinfo', context=c)
}
+ def _check_uom(self, cr, uid, ids):
+ for supplier_info in self.browse(cr, uid, ids):
+ if supplier_info.product_uom and supplier_info.product_uom.category_id.id <> supplier_info.product_id.uom_id.category_id.id:
+ return False
+ return True
+
+ _constraints = [
+ (_check_uom, 'Error: The default UOM and the Supplier Product UOM must be in the same category.', ['product_uom']),
+ ]
+ def price_get(self, cr, uid, supplier_ids, product_id, product_qty=1, context=None):
+ """
+ Calculate price from supplier pricelist.
+ @param supplier_ids: Ids of res.partner object.
+ @param product_id: Id of product.
+ @param product_qty: specify quantity to purchase.
+ """
+ if not context:
+ context = {}
+ if type(supplier_ids) in (int,long,):
+ supplier_ids = [supplier_ids]
+ res = {}
+ product_pool = self.pool.get('product.product')
+ partner_pool = self.pool.get('res.partner')
+ pricelist_pool = self.pool.get('product.pricelist')
+ currency_pool = self.pool.get('res.currency')
+ currency_id = self.pool.get('res.users').browse(cr, uid, uid).company_id.currency_id.id
+ for supplier in partner_pool.browse(cr, uid, supplier_ids, context=context):
+ # Compute price from standard price of product
+ price = product_pool.price_get(cr, uid, [product_id], 'standard_price')[product_id]
+
+ # Compute price from Purchase pricelist of supplier
+ pricelist_id = supplier.property_product_pricelist_purchase.id
+ if pricelist_id:
+ price = pricelist_pool.price_get(cr, uid, [pricelist_id], product_id, product_qty).setdefault(pricelist_id, 0)
+ price = currency_pool.compute(cr, uid, pricelist_pool.browse(cr, uid, pricelist_id).currency_id.id, currency_id, price)
+
+ # Compute price from supplier pricelist which are in Supplier Information
+ supplier_info_ids = self.search(cr, uid, [('name','=',supplier.id),('product_id','=',product_id)])
+ if supplier_info_ids:
+ cr.execute('SELECT * ' \
+ 'FROM pricelist_partnerinfo ' \
+ 'WHERE suppinfo_id IN %s' \
+ 'AND min_quantity <= %s ' \
+ 'ORDER BY min_quantity DESC LIMIT 1', (tuple(supplier_info_ids),product_qty,))
+ res2 = cr.dictfetchone()
+ if res2:
+ price = res2['price']
+ res[supplier.id] = price
+ return res
_order = 'sequence'
product_supplierinfo()
diff --git a/addons/product/product_demo.xml b/addons/product/product_demo.xml
index a2405f33b52..1dd0bca9d00 100644
--- a/addons/product/product_demo.xml
+++ b/addons/product/product_demo.xml
@@ -356,114 +356,133 @@
10
+ 1510
+ 151
+ 111
+ 111
+ 121
+ 121
+ 121
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 1101
+ 1101
+ 11010
+ 11010
+ 11010
+ 110
diff --git a/addons/product/product_view.xml b/addons/product/product_view.xml
index f8620931b5e..7b95054a4b7 100644
--- a/addons/product/product_view.xml
+++ b/addons/product/product_view.xml
@@ -149,6 +149,8 @@
+
+
@@ -453,8 +455,10 @@
-
+
+
+
diff --git a/addons/product/report/product_pricelist.py b/addons/product/report/product_pricelist.py
index 328d8d5707f..76bf07ad96a 100644
--- a/addons/product/report/product_pricelist.py
+++ b/addons/product/report/product_pricelist.py
@@ -23,7 +23,7 @@ import time
from report import report_sxw
from osv import osv
import pooler
-
+from tools.translate import _
class product_pricelist(report_sxw.rml_parse):
def __init__(self, cr, uid, name, context):
super(product_pricelist, self).__init__(cr, uid, name, context=context)
diff --git a/addons/product/wizard/product_price.py b/addons/product/wizard/product_price.py
index e5d73945c13..efca2fb6cc1 100644
--- a/addons/product/wizard/product_price.py
+++ b/addons/product/wizard/product_price.py
@@ -44,18 +44,14 @@ class product_price_list(osv.osv_memory):
}
def print_report(self, cr, uid, ids, context=None):
-
"""
- To get the date and print the report
- @param self: The object pointer.
- @param cr: A database cursor
- @param uid: ID of the user currently logged in
- @param context: A standard dictionary
- @return : return report
+ To get the date and print the report
+ @return : return report
"""
datas = {'ids': context.get('active_ids', [])}
res = self.read(cr, uid, ids, ['price_list','qty1', 'qty2','qty3','qty4','qty5'], context)
res = res and res[0] or {}
+ price_dict = self.pool.get('product.pricelist').price_get(cr, uid, [res['price_list']], 1, 1.0)
datas['form'] = res
return {
'type': 'ir.actions.report.xml',
diff --git a/addons/product/wizard/product_price_view.xml b/addons/product/wizard/product_price_view.xml
index a253a0e00af..bd5b06e30a1 100644
--- a/addons/product/wizard/product_price_view.xml
+++ b/addons/product/wizard/product_price_view.xml
@@ -5,11 +5,12 @@
- Price List
+ Price per unitproduct.price_listform
-
+
+
@@ -19,15 +20,17 @@
-
+
diff --git a/addons/product_manufacturer/i18n/fr.po b/addons/product_manufacturer/i18n/fr.po
new file mode 100644
index 00000000000..20ab19206f6
--- /dev/null
+++ b/addons/product_manufacturer/i18n/fr.po
@@ -0,0 +1,105 @@
+# French translation for openobject-addons
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR , 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2009-11-25 13:27+0000\n"
+"PO-Revision-Date: 2010-07-22 09:16+0000\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: French \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2010-07-23 04:08+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#. module: product_electronic
+#: model:ir.module.module,description:product_electronic.module_meta_information
+msgid "A module that add manufacturers and attributes on the product form"
+msgstr ""
+
+#. module: product_electronic
+#: field:product.product,manufacturer_pref:0
+msgid "Manufacturer product code"
+msgstr ""
+
+#. module: product_electronic
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr ""
+
+#. module: product_electronic
+#: view:product.electronic.attribute:0
+msgid "Product Template Name"
+msgstr ""
+
+#. module: product_electronic
+#: constraint:ir.model:0
+msgid ""
+"The Object name must start with x_ and not contain any special character !"
+msgstr ""
+
+#. module: product_electronic
+#: model:ir.model,name:product_electronic.model_product_electronic_attribute
+msgid "Product attributes"
+msgstr ""
+
+#. module: product_electronic
+#: view:product.product:0
+msgid "Manufacturing data"
+msgstr ""
+
+#. module: product_electronic
+#: view:product.product:0
+msgid "Product reference"
+msgstr ""
+
+#. module: product_electronic
+#: field:product.electronic.attribute,name:0
+msgid "Attribute"
+msgstr ""
+
+#. module: product_electronic
+#: field:product.electronic.attribute,product_id:0
+msgid "Product"
+msgstr ""
+
+#. module: product_electronic
+#: field:product.electronic.attribute,value:0
+msgid "Value"
+msgstr ""
+
+#. module: product_electronic
+#: view:product.product:0
+msgid "Manufacturing Data"
+msgstr ""
+
+#. module: product_electronic
+#: view:product.product:0
+msgid "Product name"
+msgstr ""
+
+#. module: product_electronic
+#: view:product.product:0
+#: field:product.product,attribute_ids:0
+msgid "Attributes"
+msgstr ""
+
+#. module: product_electronic
+#: model:ir.module.module,shortdesc:product_electronic.module_meta_information
+msgid "Products Attributes & Manufacturers"
+msgstr ""
+
+#. module: product_electronic
+#: field:product.product,manufacturer_pname:0
+msgid "Manufacturer product name"
+msgstr ""
+
+#. module: product_electronic
+#: field:product.product,manufacturer:0
+msgid "Manufacturer"
+msgstr ""
diff --git a/addons/product_visible_discount/i18n/pl.po b/addons/product_visible_discount/i18n/pl.po
new file mode 100644
index 00000000000..d26d4e09b6b
--- /dev/null
+++ b/addons/product_visible_discount/i18n/pl.po
@@ -0,0 +1,59 @@
+# Polish translation for openobject-addons
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR , 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2009-03-25 12:11+0000\n"
+"PO-Revision-Date: 2010-07-26 14:58+0000\n"
+"Last-Translator: Grzegorz Grzelak (Cirrus.pl) \n"
+"Language-Team: Polish \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2010-07-27 03:58+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#. module: product_visible_discount
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr "Niewłaściwy XML dla architektury widoku!"
+
+#. module: product_visible_discount
+#: model:ir.module.module,description:product_visible_discount.module_name_translation
+msgid ""
+"\n"
+" This module lets you calculate discounts on Sale Order lines and Invoice "
+"lines base on the partner's pricelist.\n"
+" To this end, a new check box named \"Visible Discount\" is added to the "
+"pricelist form.\n"
+" Example:\n"
+" For the product PC1 and the partner \"Asustek\": if listprice=450, "
+"and the price calculated using Asustek's pricelist is 225\n"
+" If the check box is checked, we will have on the sale order line: "
+"Unit price=450, Discount=50,00, Net price=225\n"
+" If the check box is unchecked, we will have on Sale Order and "
+"Invoice lines: Unit price=225, Discount=0,00, Net price=225\n"
+" "
+msgstr ""
+"\n"
+" Ten moduł pozwala obliczać upusty przy pozycjach zamówień sprzedaży i "
+"pozycjach faktur bazując na cenniku partnera.\n"
+" Nowa opcja \"Widoczny upust\" jest dodana do formularza cennika.\n"
+" Przykład:\n"
+" Dla produktu PC1 i partnera \"Asustek\": jeśli cena cennikowa=450 i "
+"cena wg cennika dla Asustek jest 225\n"
+" Jeśli opcja jest włączona, to w pozycji zamówienia będzie: Cena "
+"jedn.=450, Upust=50,00, Cena netto=225\n"
+" Jeśli opcja jest wyłączona, to w pozycji zamówienia będzie: Unit "
+"jedn.=225, Upust=0,00, Cena netto=225\n"
+" "
+
+#. module: product_visible_discount
+#: model:ir.module.module,shortdesc:product_visible_discount.module_name_translation
+#: field:product.pricelist,visible_discount:0
+msgid "Visible Discount"
+msgstr "Widoczny upust"
diff --git a/addons/project/board_project_view.xml b/addons/project/board_project_view.xml
index a6c489a528d..db2f09963e8 100644
--- a/addons/project/board_project_view.xml
+++ b/addons/project/board_project_view.xml
@@ -136,7 +136,6 @@
diff --git a/addons/project/project.py b/addons/project/project.py
index fe8c8b0664a..8997dea7056 100644
--- a/addons/project/project.py
+++ b/addons/project/project.py
@@ -163,7 +163,6 @@ where prp.id in %s''',(tuple(ids),))
'warn_header': fields.text('Mail Header', help="Header added at the beginning of the email for the warning message sent to the customer when a task is closed."),
'warn_footer': fields.text('Mail Footer', help="Footer added at the beginning of the email for the warning message sent to the customer when a task is closed."),
'type_ids': fields.many2many('project.task.type', 'project_task_type_rel', 'project_id', 'type_id', 'Tasks Stages'),
- 'project_escalation_id': fields.many2one('project.project','Project Escalation', help='If any issue is escalated from the current Project, it will be listed under the project selected here.'),
}
_order = "sequence"
@@ -182,16 +181,8 @@ where prp.id in %s''',(tuple(ids),))
return False
return True
- def _check_escalation(self, cr, uid, ids):
- project_obj = self.browse(cr, uid, ids[0])
- if project_obj.project_escalation_id:
- if project_obj.project_escalation_id.id == project_obj.id:
- return False
- return True
-
_constraints = [
- (_check_dates, 'Error! project start-date must be lower then project end-date.', ['date_start', 'date']),
- (_check_escalation, 'Error! You cannot assign escalation to the same project!', ['project_escalation_id'])
+ (_check_dates, 'Error! project start-date must be lower then project end-date.', ['date_start', 'date'])
]
def set_template(self, cr, uid, ids, context=None):
diff --git a/addons/project/project_view.xml b/addons/project/project_view.xml
index d629f3e491a..6df0855e561 100644
--- a/addons/project/project_view.xml
+++ b/addons/project/project_view.xml
@@ -40,7 +40,6 @@
-
@@ -166,6 +165,7 @@
{'search_default_Current':1}
+ Consult and define your projects here. A project contains a set of related activities that will be performed by your company. Any project can be put into a hierarchy, as a child of a Parent Project. This allows you to design large project structure very useful for work organization.
@@ -462,7 +462,10 @@
{"search_default_project_id":project_id, "search_default_user_id":uid, 'search_default_current': 1}
+ In OpenERP, a project is made of a set of activities (or tasks) for completion.A list view allows the manager to quickly check for task status and make it evolve, delegate task, etc. A search tool allows a multi-criteria sort of activities.
+Issues like bugs in a system, client complain, materials breakdown are collected here.A list view allows the manager to quickly check for them, assign them, make their status evolved.
+
@@ -648,6 +651,7 @@
{"search_default_project_id":project_id, "search_default_user_id":uid}
+ An in-project messagery system permits an efficient and trackable communication between project members. The messages are kept in the system and can then be used for post-analysis.
diff --git a/addons/project/report/project_report_view.xml b/addons/project/report/project_report_view.xml
index ddd03ebf7b9..442b4ea89c2 100644
--- a/addons/project/report/project_report_view.xml
+++ b/addons/project/report/project_report_view.xml
@@ -144,6 +144,7 @@
tree,graph{'search_default_month':1,'search_default_project':1,'group_by_no_leaf':1,'group_by':[]}
+ Get detailed analysis by task
diff --git a/addons/project_issue/board_project_issue_view.xml b/addons/project_issue/board_project_issue_view.xml
index 8fe05eddebe..343d0e98b35 100644
--- a/addons/project_issue/board_project_issue_view.xml
+++ b/addons/project_issue/board_project_issue_view.xml
@@ -86,6 +86,6 @@
+ action="open_board_project_issue"/>
diff --git a/addons/project_issue/project_issue.py b/addons/project_issue/project_issue.py
index 4b070a6682b..b61c4a03c0b 100644
--- a/addons/project_issue/project_issue.py
+++ b/addons/project_issue/project_issue.py
@@ -181,7 +181,7 @@ class project_issue(osv.osv, crm.crm_case):
method=True, multi='day_open', type="float", store=True),
'day_close': fields.function(_compute_day, string='Days to Close', \
method=True, multi='day_close', type="float", store=True),
- 'assigned_to': fields.related('task_id', 'user_id', type='many2one', relation='res.users', string='Assigned to', help='This is the current user to whom the related task have been assigned', readonly=True),
+ 'assigned_to': fields.many2one('res.users', 'Assigned to', help='This is the current user to whom the related task have been assigned'),
'working_hours_open': fields.function(_compute_day, string='Working Hours to Open the Issue', \
method=True, multi='working_days_open', type="float", store=True),
'working_hours_close': fields.function(_compute_day, string='Working Hours to Close the Issue', \
@@ -406,8 +406,21 @@ project_issue()
class project(osv.osv):
_inherit = "project.project"
_columns = {
- 'resource_calendar_id': fields.many2one('resource.calendar', 'Working Time', help="Timetable working hours to adjust the gantt diagram report"),
+ 'resource_calendar_id' : fields.many2one('resource.calendar', 'Working Time', help="Timetable working hours to adjust the gantt diagram report"),
+ 'project_escalation_id' : fields.many2one('project.project','Project Escalation', help='If any issue is escalated from the current Project, it will be listed under the project selected here.'),
+ 'reply_to' : fields.char('Reply-To Email Address', size=256)
}
+
+ def _check_escalation(self, cr, uid, ids):
+ project_obj = self.browse(cr, uid, ids[0])
+ if project_obj.project_escalation_id:
+ if project_obj.project_escalation_id.id == project_obj.id:
+ return False
+ return True
+
+ _constraints = [
+ (_check_escalation, 'Error! You cannot assign escalation to the same project!', ['project_escalation_id'])
+ ]
project()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/project_issue/project_issue_view.xml b/addons/project_issue/project_issue_view.xml
index 766850038c6..3845cf6bce0 100644
--- a/addons/project_issue/project_issue_view.xml
+++ b/addons/project_issue/project_issue_view.xml
@@ -286,5 +286,23 @@
+ # ------------------------------------------------------
+ # Project
+ # ------------------------------------------------------
+
+
+ project.project.form.inherited
+ project.project
+ form
+
+
+
+
+
+
+
+
+
+
diff --git a/addons/project_long_term/project_long_term_view.xml b/addons/project_long_term/project_long_term_view.xml
index 995054d370c..7d51f79530a 100644
--- a/addons/project_long_term/project_long_term_view.xml
+++ b/addons/project_long_term/project_long_term_view.xml
@@ -257,8 +257,9 @@
project.phaseformgantt,tree,form,calendar
- {'search_default_responsible_id':uid}
+ {'search_default_responsible_id':uid}
+ You can subdivide your larger projects into several phases. For each phase, you can define your resources allocation (humans or engine), describe de differend task and link your phase with previous and next one, add constraints date and scheduling. A gantt view of your project phase is also available from this menu. Gantt view is a graphically draw of the project plan; it includes any task dependencies by visually adjusting task durations and priorities, and by linking tasks to each other.
diff --git a/addons/project_long_term/wizard/project_compute_phases_view.xml b/addons/project_long_term/wizard/project_compute_phases_view.xml
index 8a9ce15e772..3895b0cc4c8 100644
--- a/addons/project_long_term/wizard/project_compute_phases_view.xml
+++ b/addons/project_long_term/wizard/project_compute_phases_view.xml
@@ -37,6 +37,8 @@
{'record_id': active_id}new
+ To schedule phases of all or a specified project. It then open a gantt view.
+ tree,form
{"search_default_user_id":uid}
+ With its commun system for scheduling all resources of a company (people and materials), OpenERP allows you to encode then compute automatically tasks and phases scheduling, track resources allocation and availibility.
+ action="open_board_project_scrum"/>
diff --git a/addons/project_scrum/i18n/gu.po b/addons/project_scrum/i18n/gu.po
new file mode 100644
index 00000000000..16080f143af
--- /dev/null
+++ b/addons/project_scrum/i18n/gu.po
@@ -0,0 +1,1205 @@
+# Gujarati translation for openobject-addons
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR , 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2009-08-28 16:01+0000\n"
+"PO-Revision-Date: 2010-07-21 04:37+0000\n"
+"Last-Translator: mra (Open ERP) \n"
+"Language-Team: Gujarati \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2010-07-22 03:56+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#. module: project_scrum
+#: view:project.scrum.product.backlog:0
+msgid "Scrum Product backlog"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.meeting,name:0
+msgid "Meeting Name"
+msgstr ""
+
+#. module: project_scrum
+#: model:process.transition,note:project_scrum.process_transition_backlogtask0
+msgid "From backlog create task."
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.product.backlog,user_id:0
+msgid "Author"
+msgstr ""
+
+#. module: project_scrum
+#: model:ir.actions.act_window,name:project_scrum.action_view_task4
+#: model:ir.ui.menu,name:project_scrum.menu_action_view_task4
+msgid "My tasks"
+msgstr "મારૂ કાર્ય"
+
+#. module: project_scrum
+#: model:ir.actions.act_window,name:project_scrum.action_sprint_open_tree6
+#: model:ir.ui.menu,name:project_scrum.menu_action_sprint_open_tree6
+msgid "My opened sprints (Product Owner)"
+msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.meeting:0
+msgid "What did you do since the last meeting?"
+msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.meeting:0
+#: view:project.scrum.product.backlog:0
+#: view:project.scrum.sprint:0
+msgid "Group By..."
+msgstr ""
+
+#. module: project_scrum
+#: model:process.node,note:project_scrum.process_node_productbacklog0
+msgid "Create task from backlogs"
+msgstr ""
+
+#. module: project_scrum
+#: constraint:ir.actions.act_window:0
+msgid "Invalid model name in the action definition."
+msgstr ""
+
+#. module: project_scrum
+#: model:ir.module.module,shortdesc:project_scrum.module_meta_information
+msgid "Scrum, Agile Development Method"
+msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.backlog.merge:0
+msgid "Are you sure you want to merge these Backlogs?"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.project,progress_rate:0
+msgid "Progress"
+msgstr ""
+
+#. module: project_scrum
+#: help:project.scrum.task,remaining_hours:0
+msgid ""
+"Total remaining time, can be re-estimated periodically by the assignee of "
+"the task."
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.project,child_id:0
+msgid "Subproject"
+msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.meeting:0
+msgid "What have you accomplished since yesterday ?"
+msgstr ""
+
+#. module: project_scrum
+#: constraint:project.project:0
+msgid "Error! project start-date must be lower then project end-date."
+msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.meeting:0
+msgid "Are your Sprint Backlog estimate accurate ?"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.project,members:0
+msgid "Project Members"
+msgstr ""
+
+#. module: project_scrum
+#: view:scrum.project:0
+msgid "Scrum Projects"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.task,child_ids:0
+msgid "Delegated Tasks"
+msgstr ""
+
+#. module: project_scrum
+#: help:project.scrum.project,warn_header:0
+msgid ""
+"Header added at the beginning of the email for the warning message sent to "
+"the customer when a task is closed."
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.task,priority:0
+msgid "Importance"
+msgstr ""
+
+#. module: project_scrum
+#: model:ir.model,name:project_scrum.model_scrum_task
+msgid "Scrum Task"
+msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.product.backlog:0
+#: view:project.scrum.sprint:0
+msgid "Set to Draft"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.product.backlog,create_date:0
+msgid "Creation Date"
+msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.meeting:0
+msgid "Are there anything blocking you?"
+msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.product.backlog:0
+msgid "Editable"
+msgstr ""
+
+#. module: project_scrum
+#: model:ir.model,name:project_scrum.model_project_scrum_backlog_assign_sprint
+msgid "Assign sprint to backlogs"
+msgstr ""
+
+#. module: project_scrum
+#: model:ir.actions.act_window,name:project_scrum.action_scrum_backlog_to_sprint
+#: view:project.scrum.backlog.assign.sprint:0
+msgid "Assign Sprint"
+msgstr ""
+
+#. module: project_scrum
+#: help:project.scrum.sprint,expected_hours:0
+msgid "Estimated time to do the task."
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.product.backlog,task_hours:0
+msgid "Task Hours"
+msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.sprint:0
+msgid "Dates"
+msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.meeting:0
+msgid "Send to Scrum Master"
+msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.meeting:0
+msgid "Daily"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.sprint,backlog_ids:0
+msgid "Sprint Backlog"
+msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.product.backlog:0
+msgid "Delegate"
+msgstr ""
+
+#. module: project_scrum
+#: view:board.board:0
+msgid "My Board"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.meeting,date:0
+msgid "Meeting Date"
+msgstr ""
+
+#. module: project_scrum
+#: model:ir.model,name:project_scrum.model_project_scrum_backlog_merge
+msgid "Merge Product Backlogs"
+msgstr ""
+
+#. module: project_scrum
+#: model:ir.actions.act_window,name:project_scrum.action_product_backlog_form
+#: model:ir.ui.menu,name:project_scrum.menu_action_product_backlog_form
+#: view:project.scrum.product.backlog:0
+msgid "Product Backlogs"
+msgstr ""
+
+#. module: project_scrum
+#: model:ir.actions.act_window,name:project_scrum.action_scrum_backlog_merge
+#: view:project.scrum.backlog.merge:0
+msgid "Merge Backlogs"
+msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.product.backlog:0
+msgid "Change Stage"
+msgstr ""
+
+#. module: project_scrum
+#: constraint:project.project:0
+msgid "Error! You cannot assign escalation to the same project!"
+msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.sprint:0
+msgid "Owners"
+msgstr ""
+
+#. module: project_scrum
+#: model:ir.model,name:project_scrum.model_project_task
+msgid "Task"
+msgstr ""
+
+#. module: project_scrum
+#: constraint:project.task:0
+msgid "Error! task start-date must be lower then task end-date."
+msgstr ""
+
+#. module: project_scrum
+#: model:ir.actions.act_window,name:project_scrum.dblc_proj
+msgid "View project's backlog"
+msgstr ""
+
+#. module: project_scrum
+#: help:project.scrum.project,members:0
+msgid ""
+"Project's member. Not used in any computation, just for information purpose."
+msgstr ""
+
+#. module: project_scrum
+#: selection:project.scrum.product.backlog,priority:0
+#: selection:project.scrum.task,priority:0
+msgid "Very urgent"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.sprint,retrospective:0
+msgid "Sprint Retrospective"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.sprint,name:0
+msgid "Sprint Name"
+msgstr ""
+
+#. module: project_scrum
+#: help:project.scrum.task,planned_hours:0
+msgid ""
+"Estimated time to do the task, usually set by the project manager when the "
+"task is in draft state."
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.project,notes:0
+#: field:project.scrum.task,notes:0
+msgid "Notes"
+msgstr ""
+
+#. module: project_scrum
+#: model:ir.model,name:project_scrum.model_scrum_product_backlog
+#: field:project.scrum.task,product_backlog_id:0
+msgid "Product Backlog"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.sprint,project_id:0
+#: field:project.scrum.task,project_id:0
+msgid "Project"
+msgstr ""
+
+#. module: project_scrum
+#: help:project.scrum.project,warn_manager:0
+msgid ""
+"If you check this field, the project manager will receive a request each "
+"time a task is completed by his team."
+msgstr ""
+
+#. module: project_scrum
+#: selection:project.scrum.project,state:0
+#: selection:project.scrum.task,state:0
+msgid "Cancelled"
+msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.product.backlog:0
+msgid "Convert to Task"
+msgstr ""
+
+#. module: project_scrum
+#: field:scrum.team,name:0
+msgid "Team Name"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.project,warn_header:0
+msgid "Mail Header"
+msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.sprint:0
+msgid "Expected hours"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.project,sprint_size:0
+msgid "Sprint Days"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.sprint,date_stop:0
+msgid "Ending Date"
+msgstr ""
+
+#. module: project_scrum
+#: help:project.scrum.task,effective_hours:0
+msgid "Computed using the sum of the task work done."
+msgstr ""
+
+#. module: project_scrum
+#: help:project.scrum.project,warn_customer:0
+msgid ""
+"If you check this, the user will have a popup when closing a task that "
+"propose a message to send by email to the customer."
+msgstr ""
+
+#. module: project_scrum
+#: model:ir.actions.act_window,name:project_scrum.action_sprint_task_open
+msgid "View sprint Tasks"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.project,category_id:0
+msgid "Analytic Account"
+msgstr ""
+
+#. module: project_scrum
+#: model:ir.actions.act_window,name:project_scrum.action_view_task
+#: model:ir.ui.menu,name:project_scrum.menu_action_view_task
+msgid "All Tasks"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.task,date_deadline:0
+msgid "Deadline"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.project,partner_id:0
+#: field:project.scrum.task,partner_id:0
+msgid "Partner"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.product.backlog,planned_hours:0
+#: field:project.scrum.sprint,planned_hours:0
+#: field:project.scrum.task,planned_hours:0
+msgid "Planned Hours"
+msgstr ""
+
+#. module: project_scrum
+#: selection:project.scrum.project,state:0
+msgid "Template"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.product.backlog,priority:0
+msgid "Priority"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.project,state:0
+#: view:project.scrum.sprint:0
+msgid "State"
+msgstr ""
+
+#. module: project_scrum
+#: help:project.scrum.project,progress_rate:0
+msgid "Percent of tasks closed according to the total of tasks todo."
+msgstr ""
+
+#. module: project_scrum
+#: help:project.scrum.project,notes:0
+msgid "Internal description of the project."
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.sprint,meetings_id:0
+msgid "Daily Scrum"
+msgstr ""
+
+#. module: project_scrum
+#: help:project.scrum.task,total_hours:0
+msgid "Computed as: Time Spent + Remaining Time."
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.task,type:0
+msgid "Type"
+msgstr ""
+
+#. module: project_scrum
+#: view:scrum.project:0
+msgid "Scrum Data"
+msgstr ""
+
+#. module: project_scrum
+#: selection:project.scrum.product.backlog,priority:0
+#: selection:project.scrum.task,priority:0
+msgid "Medium"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.project,total_hours:0
+msgid "Total Time"
+msgstr ""
+
+#. module: project_scrum
+#: model:ir.ui.menu,name:project_scrum.next_id_67
+msgid "Scrum"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.project,planned_hours:0
+msgid "Planned Time"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.meeting,question_today:0
+msgid "Tasks for today"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.meeting,question_yesterday:0
+msgid "Tasks since yesterday"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.project,date_start:0
+#: field:project.scrum.sprint,date_start:0
+#: field:project.scrum.task,date_start:0
+msgid "Starting Date"
+msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.product.backlog:0
+msgid "Extended Options..."
+msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.sprint:0
+msgid "Planning"
+msgstr ""
+
+#. module: project_scrum
+#: constraint:account.analytic.account:0
+msgid "Error! You can not create recursive analytic accounts."
+msgstr ""
+
+#. module: project_scrum
+#: help:project.scrum.sprint,scrum_master_id:0
+msgid "The person who is maintains the processes for the product"
+msgstr ""
+
+#. module: project_scrum
+#: model:ir.actions.act_window,name:project_scrum.action_scrum_project_tree
+#: model:ir.ui.menu,name:project_scrum.menu_action_scrum_project_tree
+msgid "Projects"
+msgstr ""
+
+#. module: project_scrum
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.task,history:0
+msgid "Task Details"
+msgstr ""
+
+#. module: project_scrum
+#: model:ir.actions.act_window,name:project_scrum.dblc_proj2
+msgid "View project's tasks"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.task,delay_hours:0
+msgid "Delay Hours"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.project,contact_id:0
+msgid "Contact"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.project,tasks:0
+msgid "Scrum Tasks"
+msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.product.backlog:0
+msgid "Tasks"
+msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.sprint:0
+msgid "Retrospective"
+msgstr ""
+
+#. module: project_scrum
+#: wizard_view:project.scrum.product.backlog.task.create,init:0
+#: wizard_button:project.scrum.product.backlog.task.create,init,create:0
+msgid "Create Tasks"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.task,progress:0
+msgid "Progress (%)"
+msgstr ""
+
+#. module: project_scrum
+#: help:project.scrum.task,progress:0
+msgid "Computed as: Time Spent / Total Time."
+msgstr ""
+
+#. module: project_scrum
+#: help:project.scrum.backlog.assign.sprint,convert_to_task:0
+msgid "Create Task for Product Backlog"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.project,scrum:0
+#: field:project.scrum.task,scrum:0
+msgid "Is Scrum"
+msgstr ""
+
+#. module: project_scrum
+#: model:ir.actions.act_window,name:project_scrum.action_product_backlog_form_draft
+#: model:ir.ui.menu,name:project_scrum.menu_action_product_backlog_form_draft
+msgid "Draft Backlogs"
+msgstr ""
+
+#. module: project_scrum
+#: model:ir.actions.act_window,name:project_scrum.action_view_task6
+#: model:ir.ui.menu,name:project_scrum.menu_action_view_task6
+msgid "Opened tasks"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.meeting,question_blocks:0
+msgid "Blocks encountered"
+msgstr ""
+
+#. module: project_scrum
+#: help:project.scrum.backlog.assign.sprint,state_open:0
+msgid "Change the state of product backlogs to open if its in draft state"
+msgstr ""
+
+#. module: project_scrum
+#: help:project.project,product_owner_id:0
+#: help:project.scrum.sprint,product_owner_id:0
+msgid "The person who is responsible for the product"
+msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.meeting:0
+msgid "What do you plan to do till the next meeting?"
+msgstr ""
+
+#. module: project_scrum
+#: help:project.task,product_backlog_id:0
+msgid ""
+"Related product backlog that contains this task. Used in SCRUM methodology"
+msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.meeting:0
+msgid "Optionnal Info"
+msgstr ""
+
+#. module: project_scrum
+#: help:project.scrum.project,total_hours:0
+msgid "Sum of total hours of all tasks related to this project."
+msgstr ""
+
+#. module: project_scrum
+#: model:ir.model,name:project_scrum.model_scrum_sprint
+#: view:project.scrum.meeting:0
+#: view:project.scrum.sprint:0
+msgid "Scrum Sprint"
+msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.sprint:0
+msgid "Review"
+msgstr ""
+
+#. module: project_scrum
+#: model:ir.actions.act_window,name:project_scrum.action_sprint_open_tree7
+#: model:ir.ui.menu,name:project_scrum.menu_action_sprint_open_tree7
+msgid "My opened sprints (Scrum Master)"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.product.backlog,note:0
+msgid "Note"
+msgstr ""
+
+#. module: project_scrum
+#: selection:project.scrum.product.backlog,state:0
+#: selection:project.scrum.sprint,state:0
+#: selection:project.scrum.task,state:0
+msgid "Draft"
+msgstr ""
+
+#. module: project_scrum
+#: selection:project.scrum.product.backlog,priority:0
+#: selection:project.scrum.task,priority:0
+msgid "Low"
+msgstr ""
+
+#. module: project_scrum
+#: model:ir.actions.act_window,name:project_scrum.action_view_task5
+#: model:ir.ui.menu,name:project_scrum.menu_tasks_yours
+msgid "My opened tasks"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.project,manager:0
+msgid "Project Manager"
+msgstr ""
+
+#. module: project_scrum
+#: selection:project.scrum.project,state:0
+#: selection:project.scrum.task,state:0
+msgid "Pending"
+msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.meeting:0
+msgid "Is there anything blocking you ?"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.product.backlog,state:0
+#: field:project.scrum.sprint,state:0
+#: field:project.scrum.task,state:0
+msgid "Status"
+msgstr ""
+
+#. module: project_scrum
+#: model:ir.actions.act_window,name:project_scrum.action_sprint_open_tree
+#: model:ir.ui.menu,name:project_scrum.menu_action_sprint_open_tree
+msgid "Opened Sprints"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.project,effective_hours:0
+msgid "Time Spent"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.project,complete_name:0
+#: field:project.scrum.project,name:0
+msgid "Project Name"
+msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.meeting:0
+msgid "Optional Info"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.project,product_owner_id:0
+#: field:project.scrum.sprint,product_owner_id:0
+msgid "Product Owner"
+msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.product.backlog:0
+msgid "Post Pone"
+msgstr ""
+
+#. module: project_scrum
+#: model:ir.actions.act_window,name:project_scrum.action_meeting_form
+#: model:ir.ui.menu,name:project_scrum.menu_action_meeting_form
+msgid "Scrum Meetings"
+msgstr ""
+
+#. module: project_scrum
+#: help:project.scrum.product.backlog,expected_hours:0
+msgid "Estimated total time to do the Backlog"
+msgstr ""
+
+#. module: project_scrum
+#: help:project.scrum.backlog.merge,project_id:0
+msgid "Select project for the new product backlog"
+msgstr ""
+
+#. module: project_scrum
+#: model:ir.model,name:project_scrum.model_project_scrum_backlog_create_task
+msgid "Create Tasks from Product Backlogs"
+msgstr ""
+
+#. module: project_scrum
+#: help:project.project,sprint_size:0
+msgid "Number of days allocated for sprint"
+msgstr ""
+
+#. module: project_scrum
+#: help:project.scrum.product.backlog,sequence:0
+msgid "Gives the sequence order when displaying a list of product backlog."
+msgstr ""
+
+#. module: project_scrum
+#: model:ir.actions.act_window,name:project_scrum.action_sprint_open_tree5
+#: model:ir.ui.menu,name:project_scrum.menu_action_sprint_open_tree5
+msgid "My Sprints (Scrum Master)"
+msgstr ""
+
+#. module: project_scrum
+#: model:process.node,name:project_scrum.process_node_productbacklog0
+#: view:project.scrum.product.backlog:0
+msgid "Product backlog"
+msgstr ""
+
+#. module: project_scrum
+#: model:ir.actions.act_window,name:project_scrum.action_product_backlog_form
+#: model:ir.ui.menu,name:project_scrum.menu_action_product_backlog_form
+msgid "Backlogs"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.product.backlog,user_id:0
+msgid "User"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.product.backlog,active:0
+#: field:project.scrum.project,active:0
+#: field:project.scrum.task,active:0
+msgid "Active"
+msgstr ""
+
+#. module: project_scrum
+#: help:project.scrum.task,delay_hours:0
+msgid ""
+"Computed as: Total Time - Estimated Time. It gives the difference of the "
+"time estimated by the project manager and the real time to close the task."
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.task,timebox_id:0
+msgid "Timebox"
+msgstr ""
+
+#. module: project_scrum
+#: model:ir.actions.act_window,name:project_scrum.action_sprint_open_tree2
+#: model:ir.ui.menu,name:project_scrum.menu_action_sprint_open_tree2
+msgid "Draft Sprints"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.project,timesheet_id:0
+msgid "Working Time"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.task,work_ids:0
+msgid "Work done"
+msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.backlog.merge:0
+msgid "Merge"
+msgstr ""
+
+#. module: project_scrum
+#: model:ir.actions.act_window,name:project_scrum.action_sprint_backlog_open
+msgid "View sprint backlog"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.task,delegated_user_id:0
+msgid "Delegated To"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.task,date_close:0
+msgid "Date Closed"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.task,user_id:0
+msgid "Assigned to"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.meeting,question_backlog:0
+msgid "Backlog Accurate"
+msgstr ""
+
+#. module: project_scrum
+#: help:project.scrum.project,effective_hours:0
+msgid "Sum of spent hours of all tasks related to this project."
+msgstr ""
+
+#. module: project_scrum
+#: model:ir.model,name:project_scrum.model_project_scrum_sprint
+msgid "Project Scrum Sprint"
+msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.product.backlog:0
+msgid "Feature Description"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.product.backlog,effective_hours:0
+msgid "Spent Hours"
+msgstr ""
+
+#. module: project_scrum
+#: help:project.scrum.product.backlog,effective_hours:0
+msgid "Computed using the sum of the time spent on every related tasks"
+msgstr ""
+
+#. module: project_scrum
+#: model:ir.actions.act_window,name:project_scrum.open_board_project_scrum
+#: model:ir.ui.menu,name:project_scrum.menu_deshboard_scurm
+msgid "Scrum Dashboard"
+msgstr ""
+
+#. module: project_scrum
+#: help:project.scrum.task,project_id:0
+msgid ""
+"If you have [?] in the project name, it means there are no analytic account "
+"linked to this project."
+msgstr ""
+
+#. module: project_scrum
+#: help:project.scrum.project,planned_hours:0
+msgid "Sum of planned hours of all tasks related to this project."
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.project,warn_customer:0
+msgid "Warn Partner"
+msgstr ""
+
+#. module: project_scrum
+#: model:ir.actions.act_window,name:project_scrum.action_sprint_open_tree4
+#: model:ir.ui.menu,name:project_scrum.menu_action_sprint_open_tree4
+msgid "My Sprints (Product Owner)"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.task,name:0
+msgid "Task summary"
+msgstr ""
+
+#. module: project_scrum
+#: help:project.scrum.project,category_id:0
+msgid ""
+"Link this project to an analytic account if you need financial management on "
+"projects. It enables you to connect projects with budgets, planning, cost "
+"and revenue analysis, timesheets on projects, etc."
+msgstr ""
+
+#. module: project_scrum
+#: selection:project.scrum.product.backlog,state:0
+#: selection:project.scrum.project,state:0
+#: selection:project.scrum.sprint,state:0
+#: selection:project.scrum.task,state:0
+msgid "Done"
+msgstr ""
+
+#. module: project_scrum
+#: wizard_button:project.scrum.product.backlog.task.create,init,end:0
+msgid "Cancel"
+msgstr ""
+
+#. module: project_scrum
+#: selection:project.scrum.product.backlog,state:0
+#: selection:project.scrum.sprint,state:0
+msgid "Open"
+msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.product.backlog:0
+#: field:project.scrum.product.backlog,effective_hours:0
+#: view:scrum.project:0
+#: view:project.scrum.sprint:0
+#: field:project.scrum.sprint,effective_hours:0
+msgid "Effective hours"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.project,warn_manager:0
+msgid "Warn Manager"
+msgstr ""
+
+#. module: project_scrum
+#: selection:project.scrum.task,state:0
+msgid "In Progress"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.sprint,review:0
+msgid "Sprint Review"
+msgstr ""
+
+#. module: project_scrum
+#: constraint:ir.model:0
+msgid ""
+"The Object name must start with x_ and not contain any special character !"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.task,remaining_hours:0
+msgid "Remaining Hours"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.task,parent_id:0
+msgid "Parent Task"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.product.backlog,name:0
+msgid "Feature"
+msgstr ""
+
+#. module: project_scrum
+#: selection:project.scrum.product.backlog,priority:0
+#: selection:project.scrum.task,priority:0
+msgid "Very Low"
+msgstr ""
+
+#. module: project_scrum
+#: help:project.scrum.project,timesheet_id:0
+msgid "Timetable working hours to adjust the gantt diagram report"
+msgstr ""
+
+#. module: project_scrum
+#: model:ir.actions.act_window,name:project_scrum.action_sprint_open_tree3
+#: model:ir.ui.menu,name:project_scrum.menu_action_sprint_open_tree3
+msgid "Sprints Done"
+msgstr ""
+
+#. module: project_scrum
+#: model:process.transition,name:project_scrum.process_transition_backlogtask0
+msgid "Backlog Task"
+msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.product.backlog:0
+#: view:scrum.project:0
+#: view:project.scrum.sprint:0
+msgid "Planned hours"
+msgstr ""
+
+#. module: project_scrum
+#: model:ir.actions.act_window,name:project_scrum.action_scrum_project_form
+#: model:ir.ui.menu,name:project_scrum.menu_action_scrum_project_form
+msgid "Edit Projects"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.backlog.assign.sprint,state_open:0
+msgid "Set Open"
+msgstr ""
+
+#. module: project_scrum
+#: model:ir.actions.act_window,name:project_scrum.action_meeting_form
+#: model:ir.model,name:project_scrum.model_scrum_meeting
+#: model:ir.ui.menu,name:project_scrum.menu_action_meeting_form
+#: view:project.scrum.meeting:0
+msgid "Scrum Meeting"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.task,description:0
+msgid "Description"
+msgstr ""
+
+#. module: project_scrum
+#: selection:project.scrum.product.backlog,priority:0
+#: selection:project.scrum.task,priority:0
+msgid "Urgent"
+msgstr ""
+
+#. module: project_scrum
+#: model:ir.actions.report.xml,name:project_scrum.report_scrum_sprint_burndown_chart
+#: view:project.scrum.sprint:0
+msgid "Burndown Chart"
+msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.sprint:0
+msgid "Daily Meetings"
+msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.meeting:0
+msgid "What are you working on today ?"
+msgstr ""
+
+#. module: project_scrum
+#: selection:project.scrum.project,state:0
+msgid "Running"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.product.backlog,progress:0
+#: field:project.scrum.sprint,progress:0
+msgid "Progress (0-100)"
+msgstr ""
+
+#. module: project_scrum
+#: model:ir.model,name:project_scrum.model_scrum_team
+msgid "Scrum Team"
+msgstr ""
+
+#. module: project_scrum
+#: model:ir.model,name:project_scrum.model_scrum_project
+#: field:project.scrum.product.backlog,project_id:0
+msgid "Scrum Project"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.project,parent_id:0
+msgid "Parent project"
+msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.sprint:0
+msgid "Sprint Info"
+msgstr ""
+
+#. module: project_scrum
+#: help:project.scrum.product.backlog,active:0
+msgid ""
+"If Active field is set to true, it will allow you to hide the product "
+"backlog without removing it."
+msgstr ""
+
+#. module: project_scrum
+#: help:project.scrum.product.backlog,task_hours:0
+msgid "Estimated time of the total hours of the tasks"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.sprint,scrum_master_id:0
+msgid "Scrum Master"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.project,scrum:0
+msgid "Is a Scrum Project"
+msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.backlog.merge:0
+msgid ""
+"This wizard merge backlogs and create one new backlog with draft state (Old "
+"backlogs Will be deleted). And it also merge old tasks from backlogs"
+msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.backlog.merge:0
+msgid "Select the project for merged backlogs"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.product.backlog,tasks_id:0
+msgid "Tasks Details"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.task,effective_hours:0
+msgid "Hours Spent"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.task,context_id:0
+msgid "Context"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.task,total_hours:0
+msgid "Total Hours"
+msgstr ""
+
+#. module: project_scrum
+#: field:scrum.team,users_id:0
+msgid "Users"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.product.backlog,sequence:0
+#: field:project.scrum.project,priority:0
+#: field:project.scrum.task,sequence:0
+msgid "Sequence"
+msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.meeting:0
+msgid "Send to Product Owner"
+msgstr ""
+
+#. module: project_scrum
+#: help:project.scrum.project,warn_footer:0
+msgid ""
+"Footer added at the beginning of the email for the warning message sent to "
+"the customer when a task is closed."
+msgstr ""
+
+#. module: project_scrum
+#: model:ir.actions.act_window,name:project_scrum.action_product_backlog_form_open
+#: model:ir.ui.menu,name:project_scrum.menu_action_product_backlog_form_open
+msgid "Opened Backlogs"
+msgstr ""
+
+#. module: project_scrum
+#: model:ir.actions.wizard,name:project_scrum.wizard_scrum_backlog_task
+msgid "Created tasks"
+msgstr ""
+
+#. module: project_scrum
+#: constraint:scrum.project:0
+msgid "Error ! You can not create recursive projects."
+msgstr ""
+
+#. module: project_scrum
+#: wizard_field:project.scrum.product.backlog.task.create,init,user_id:0
+msgid "Assign To"
+msgstr ""
+
+#. module: project_scrum
+#: model:ir.actions.act_window,name:project_scrum.action_sprint_form
+#: model:ir.ui.menu,name:project_scrum.menu_action_sprint_form
+#: field:project.scrum.meeting,sprint_id:0
+#: field:project.scrum.product.backlog,sprint_id:0
+msgid "Sprint"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.project,date_end:0
+msgid "Expected End"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.project,warn_footer:0
+msgid "Mail Footer"
+msgstr ""
diff --git a/addons/purchase/board_purchase_view.xml b/addons/purchase/board_purchase_view.xml
index 10e35e0e04c..1a90dc49e92 100644
--- a/addons/purchase/board_purchase_view.xml
+++ b/addons/purchase/board_purchase_view.xml
@@ -5,7 +5,6 @@
diff --git a/addons/purchase/purchase.py b/addons/purchase/purchase.py
index dfdf85080fe..2ffdd78e284 100644
--- a/addons/purchase/purchase.py
+++ b/addons/purchase/purchase.py
@@ -311,7 +311,7 @@ class purchase_order(osv.osv):
'product_id': ol.product_id.id or False,
'uos_id': ol.product_uom.id or False,
'invoice_line_tax_id': [(6, 0, [x.id for x in ol.taxes_id])],
- 'account_analytic_id': ol.account_analytic_id.id,
+ 'account_analytic_id': ol.account_analytic_id.id or False,
})
def action_cancel_draft(self, cr, uid, ids, *args):
@@ -344,7 +344,7 @@ class purchase_order(osv.osv):
if not a:
raise osv.except_osv(_('Error !'), _('There is no expense account defined for this product: "%s" (id:%d)') % (ol.product_id.name, ol.product_id.id,))
else:
- a = self.pool.get('ir.property').get(cr, uid, 'property_account_expense_categ', 'product.category')
+ a = self.pool.get('ir.property').get(cr, uid, 'property_account_expense_categ', 'product.category').id
fpos = o.fiscal_position or False
a = self.pool.get('account.fiscal.position').map_account(cr, uid, fpos, a)
il.append(self.inv_line_create(cr, uid, a, ol))
@@ -746,23 +746,24 @@ class procurement_order(osv.osv):
po_obj = self.pool.get('purchase.order')
for procurement in self.browse(cr, uid, ids):
res_id = procurement.move_id.id
- partner = procurement.product_id.seller_ids[0].name
+ partner = procurement.product_id.seller_id # Taken Main Supplier of Product of Procurement.
+ seller_qty = procurement.product_id.seller_qty
+ seller_delay = int(procurement.product_id.seller_delay)
partner_id = partner.id
- partner_rec = procurement.product_id.seller_ids[0]
address_id = partner_obj.address_get(cr, uid, [partner_id], ['delivery'])['delivery']
pricelist_id = partner.property_product_pricelist_purchase.id
uom_id = procurement.product_id.uom_po_id.id
qty = uom_obj._compute_qty(cr, uid, procurement.product_uom.id, procurement.product_qty, uom_id)
- if procurement.product_id.seller_ids[0].qty:
- qty = max(qty,partner_rec.qty)
+ if seller_qty:
+ qty = max(qty,seller_qty)
price = pricelist_obj.price_get(cr, uid, [pricelist_id], procurement.product_id.id, qty, False, {'uom': uom_id})[pricelist_id]
newdate = DateTime.strptime(procurement.date_planned, '%Y-%m-%d %H:%M:%S')
newdate = newdate - DateTime.RelativeDateTime(days=company.po_lead)
- newdate = newdate - partner_rec.delay
+ newdate = newdate - seller_delay
#Passing partner_id to context for purchase order line integrity of Line name
context.update({'lang': partner.lang, 'partner_id': partner_id})
diff --git a/addons/resource/resource_view.xml b/addons/resource/resource_view.xml
index e1da3c15d7d..98afe8f5a03 100644
--- a/addons/resource/resource_view.xml
+++ b/addons/resource/resource_view.xml
@@ -78,8 +78,7 @@
-
-
+
@@ -198,6 +197,7 @@
tree,form{"search_default_user_id":uid}
+ There you can find clusters of your resources type involved in a specific project phase as well as their workload.
diff --git a/addons/sale/board_sale_view.xml b/addons/sale/board_sale_view.xml
index 0e25af519b4..b25e7e5b1b2 100644
--- a/addons/sale/board_sale_view.xml
+++ b/addons/sale/board_sale_view.xml
@@ -50,7 +50,7 @@
form
-
+
diff --git a/addons/sale/i18n/lt.po b/addons/sale/i18n/lt.po
index 639d5226657..885dfa8c4e6 100644
--- a/addons/sale/i18n/lt.po
+++ b/addons/sale/i18n/lt.po
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-07-21 03:43+0000\n"
+"X-Launchpad-Export-Date: 2010-07-22 03:56+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: sale
diff --git a/addons/sale/sale.py b/addons/sale/sale.py
index b726b05a19f..9b0f555fc80 100644
--- a/addons/sale/sale.py
+++ b/addons/sale/sale.py
@@ -561,13 +561,12 @@ class sale_order(osv.osv):
wf_service.trg_validate(uid, 'account.invoice', inv, 'invoice_cancel', cr)
sale_order_line_obj.write(cr, uid, [l.id for l in sale.order_line],
{'state': 'cancel'})
+ message = _('Sale order') + " '" + sale.name + _(" is cancelled")
+ self.log(cr, uid, sale.id, message)
self.write(cr, uid, ids, {'state': 'cancel'})
- message = _('Sale order') + " '" + sale.name + "' "+ _("created on")+" '" +sale.create_date + _(" is cancelled")
- self.log(cr, uid, id, message)
return True
def action_wait(self, cr, uid, ids, *args):
- product=[]
product_obj = self.pool.get('product.product')
for o in self.browse(cr, uid, ids):
if (o.order_policy == 'manual'):
@@ -575,11 +574,8 @@ class sale_order(osv.osv):
else:
self.write(cr, uid, [o.id], {'state': 'progress', 'date_confirm': time.strftime('%Y-%m-%d')})
self.pool.get('sale.order.line').button_confirm(cr, uid, [x.id for x in o.order_line])
- for line in o.order_line:
- product.append(line.product_id.default_code)
- params = ', '.join(map(lambda x : str(x),product))
- message = _('Sale order ') + " '" + o.name + "' "+ _("created on")+" '" +o.create_date + "' "+_("for")+" '" +params + "' "+_("is confirmed")
- self.log(cr, uid, id, message)
+ message = _('Quotation') + " '" + o.name + "' "+ _("is converted to Sale order")
+ self.log(cr, uid, o.id, message)
return True
def procurement_lines_get(self, cr, uid, ids, *args):
@@ -951,9 +947,6 @@ class sale_order_line(osv.osv):
def button_confirm(self, cr, uid, ids, context=None):
if context is None:
context = {}
- for (id,name) in self.name_get(cr, uid, ids):
- message = _('Sale order line') + " '" + name + "' "+ _("is confirmed")
- self.log(cr, uid, id, message)
return self.write(cr, uid, ids, {'state': 'confirmed'})
def button_done(self, cr, uid, ids, context=None):
@@ -963,8 +956,6 @@ class sale_order_line(osv.osv):
res = self.write(cr, uid, ids, {'state': 'done'})
for line in self.browse(cr, uid, ids, context=context):
wf_service.trg_write(uid, 'sale.order', line.order_id.id, cr)
- message = _('Sale order line') + " '" + line.name + "' "+_("is done")
- self.log(cr, uid, id, message)
return res
def uos_change(self, cr, uid, ids, product_uos, product_uos_qty=0, product_id=None):
diff --git a/addons/sale_margin/i18n/pl.po b/addons/sale_margin/i18n/pl.po
new file mode 100644
index 00000000000..ba7e650faad
--- /dev/null
+++ b/addons/sale_margin/i18n/pl.po
@@ -0,0 +1,371 @@
+# Polish translation for openobject-addons
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR , 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2009-11-25 14:28+0000\n"
+"PO-Revision-Date: 2010-07-26 15:12+0000\n"
+"Last-Translator: Grzegorz Grzelak (Cirrus.pl) \n"
+"Language-Team: Polish \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2010-07-27 03:58+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#. module: sale_margin
+#: selection:report.account.invoice,type:0
+#: selection:report.account.invoice.category,type:0
+#: selection:report.account.invoice.partner,type:0
+#: selection:report.account.invoice.partner.product,type:0
+#: selection:report.account.invoice.product,type:0
+msgid "Customer Refund"
+msgstr "Korekta dla klienta"
+
+#. module: sale_margin
+#: model:ir.model,name:sale_margin.model_report_account_invoice_product
+msgid "report.account.invoice.product"
+msgstr ""
+
+#. module: sale_margin
+#: constraint:ir.model:0
+msgid ""
+"The Object name must start with x_ and not contain any special character !"
+msgstr ""
+"Nazwa obiektu musi zaczynać się od x_ oraz nie może zawierać znaków "
+"specjalnych !"
+
+#. module: sale_margin
+#: model:ir.ui.menu,name:sale_margin.menu_report_account_all_invoice_by_product
+#: model:ir.ui.menu,name:sale_margin.menu_report_account_invoice_by_product
+msgid "Invoices by Product"
+msgstr "Faktury wg produktów"
+
+#. module: sale_margin
+#: selection:report.account.invoice,type:0
+#: selection:report.account.invoice.category,type:0
+#: selection:report.account.invoice.partner,type:0
+#: selection:report.account.invoice.partner.product,type:0
+#: selection:report.account.invoice.product,type:0
+msgid "Customer Invoice"
+msgstr "Faktura dla klienta"
+
+#. module: sale_margin
+#: wizard_view:stock.invoice_onshipping,init:0
+msgid "Create invoices"
+msgstr "Utwórz faktury"
+
+#. module: sale_margin
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr "Niewłaściwy XML dla architektury widoku!"
+
+#. module: sale_margin
+#: model:ir.model,name:sale_margin.model_report_account_invoice_partner_product
+msgid "report.account.invoice.partner.product"
+msgstr ""
+
+#. module: sale_margin
+#: selection:report.account.invoice,type:0
+#: selection:report.account.invoice.category,type:0
+#: selection:report.account.invoice.partner,type:0
+#: selection:report.account.invoice.partner.product,type:0
+#: selection:report.account.invoice.product,type:0
+msgid "Supplier Invoice"
+msgstr "Faktura Dostawcy"
+
+#. module: sale_margin
+#: field:report.account.invoice,state:0
+#: field:report.account.invoice.category,state:0
+#: field:report.account.invoice.partner,state:0
+#: field:report.account.invoice.partner.product,state:0
+#: field:report.account.invoice.product,state:0
+msgid "State"
+msgstr "Stan"
+
+#. module: sale_margin
+#: view:stock.picking:0
+msgid "Create Invoice"
+msgstr "Utwórz fakturę"
+
+#. module: sale_margin
+#: selection:report.account.invoice,state:0
+#: selection:report.account.invoice.category,state:0
+#: selection:report.account.invoice.partner,state:0
+#: selection:report.account.invoice.partner.product,state:0
+#: selection:report.account.invoice.product,state:0
+msgid "Draft"
+msgstr "Projekt"
+
+#. module: sale_margin
+#: constraint:ir.actions.act_window:0
+msgid "Invalid model name in the action definition."
+msgstr "Nieprawidłowa nazwa modelu w definicji akcji."
+
+#. module: sale_margin
+#: model:ir.ui.menu,name:sale_margin.menu_report_account_all_month_product
+msgid "All Months"
+msgstr "Wszystkie miesiące"
+
+#. module: sale_margin
+#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_partner_product_tree
+#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_partner_product_tree_all
+msgid "report.account.invoice.partner.product.tree"
+msgstr ""
+
+#. module: sale_margin
+#: field:report.account.invoice,type:0
+#: field:report.account.invoice.category,type:0
+#: field:report.account.invoice.partner,type:0
+#: field:report.account.invoice.partner.product,type:0
+#: field:report.account.invoice.product,type:0
+#: wizard_field:stock.invoice_onshipping,init,type:0
+msgid "Type"
+msgstr "Typ"
+
+#. module: sale_margin
+#: wizard_field:stock.invoice_onshipping,init,journal_id:0
+msgid "Destination Journal"
+msgstr "Dziennik docelowy"
+
+#. module: sale_margin
+#: view:stock.picking:0
+msgid "Supplier Invoices"
+msgstr "Faktury od dostawców"
+
+#. module: sale_margin
+#: field:report.account.invoice.partner.product,product_id:0
+#: field:report.account.invoice.product,product_id:0
+msgid "Product"
+msgstr "Produkt"
+
+#. module: sale_margin
+#: view:report.account.invoice.partner:0
+msgid "Invoices by partner"
+msgstr "Faktury wg partnerów"
+
+#. module: sale_margin
+#: view:report.account.invoice.category:0
+msgid "Invoices by category"
+msgstr "Faktury wg kategorii"
+
+#. module: sale_margin
+#: selection:report.account.invoice,state:0
+#: selection:report.account.invoice.category,state:0
+#: selection:report.account.invoice.partner,state:0
+#: selection:report.account.invoice.partner.product,state:0
+#: selection:report.account.invoice.product,state:0
+msgid "Paid"
+msgstr "Zapłacono"
+
+#. module: sale_margin
+#: model:ir.actions.wizard,name:sale_margin.wizard_picking_invoice_create
+#: wizard_button:stock.invoice_onshipping,init,create_invoice:0
+msgid "Create invoice"
+msgstr "Utwórz fakturę"
+
+#. module: sale_margin
+#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_category_tree
+#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_category_tree_all
+msgid "report.account.invoice.category.tree"
+msgstr ""
+
+#. module: sale_margin
+#: model:ir.ui.menu,name:sale_margin.menu_report_account_all_invoice_by_partner_product
+#: model:ir.ui.menu,name:sale_margin.menu_report_account_invoice_by_partner_product
+msgid "Invoices by Partner and Product"
+msgstr "Faktury wg partnerów i produktów"
+
+#. module: sale_margin
+#: model:ir.model,name:sale_margin.model_report_account_invoice_category
+msgid "report.account.invoice.category"
+msgstr ""
+
+#. module: sale_margin
+#: model:ir.ui.menu,name:sale_margin.menu_report_account_this_month_product
+msgid "This Month"
+msgstr "Bieżący miesiąc"
+
+#. module: sale_margin
+#: field:report.account.invoice.category,categ_id:0
+msgid "Categories"
+msgstr "Kategorie"
+
+#. module: sale_margin
+#: field:account.invoice.line,cost_price:0
+#: field:report.account.invoice,cost_price:0
+#: field:report.account.invoice.category,cost_price:0
+#: field:report.account.invoice.partner,cost_price:0
+#: field:report.account.invoice.partner.product,cost_price:0
+#: field:report.account.invoice.product,cost_price:0
+#: field:sale.order.line,purchase_price:0
+msgid "Cost Price"
+msgstr "Cena (koszt)"
+
+#. module: sale_margin
+#: wizard_field:stock.invoice_onshipping,init,group:0
+msgid "Group by partner"
+msgstr "Grupuj wg partnera"
+
+#. module: sale_margin
+#: model:ir.model,name:sale_margin.model_report_account_invoice_partner
+msgid "report.account.invoice.partner"
+msgstr ""
+
+#. module: sale_margin
+#: model:ir.ui.menu,name:sale_margin.menu_report_account_all_invoice_by_partner
+#: model:ir.ui.menu,name:sale_margin.menu_report_account_invoice_by_partner
+msgid "Invoices by Partner"
+msgstr "Faktury wg partnerów"
+
+#. module: sale_margin
+#: model:ir.ui.menu,name:sale_margin.menu_report_account_all_invoice_by_category
+#: model:ir.ui.menu,name:sale_margin.menu_report_account_invoice_by_category
+msgid "Invoices by Category"
+msgstr "Faktury wg kategorii"
+
+#. module: sale_margin
+#: view:report.account.invoice.partner.product:0
+msgid "Invoices by partner and product"
+msgstr "Faktury wg partnerów i produktów"
+
+#. module: sale_margin
+#: field:report.account.invoice,amount:0
+#: field:report.account.invoice.category,amount:0
+#: field:report.account.invoice.partner,amount:0
+#: field:report.account.invoice.partner.product,amount:0
+#: field:report.account.invoice.product,amount:0
+msgid "Amount"
+msgstr "Kwota"
+
+#. module: sale_margin
+#: wizard_field:stock.invoice_onshipping,init,invoice_date:0
+msgid "Invoiced date"
+msgstr "Data fakturowania"
+
+#. module: sale_margin
+#: selection:report.account.invoice,type:0
+#: selection:report.account.invoice.category,type:0
+#: selection:report.account.invoice.partner,type:0
+#: selection:report.account.invoice.partner.product,type:0
+#: selection:report.account.invoice.product,type:0
+msgid "Supplier Refund"
+msgstr "Korekta od dostawcy"
+
+#. module: sale_margin
+#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_partner_tree
+#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_partner_tree_all
+msgid "report.account.invoice.partner.tree"
+msgstr ""
+
+#. module: sale_margin
+#: field:report.account.invoice,margin:0
+#: field:report.account.invoice.category,margin:0
+#: field:report.account.invoice.partner,margin:0
+#: field:report.account.invoice.partner.product,margin:0
+#: field:report.account.invoice.product,margin:0
+#: field:sale.order,margin:0
+#: field:sale.order.line,margin:0
+msgid "Margin"
+msgstr "Marża"
+
+#. module: sale_margin
+#: field:report.account.invoice,quantity:0
+#: field:report.account.invoice.category,quantity:0
+#: field:report.account.invoice.partner,quantity:0
+#: field:report.account.invoice.partner.product,quantity:0
+#: field:report.account.invoice.product,quantity:0
+msgid "Quantity"
+msgstr "Ilość"
+
+#. module: sale_margin
+#: view:report.account.invoice.product:0
+msgid "Invoices by product"
+msgstr "Faktury wg produktów"
+
+#. module: sale_margin
+#: model:ir.module.module,shortdesc:sale_margin.module_meta_information
+msgid "Margins in Sale Orders"
+msgstr "Marże w zamówieniach sprzedaży"
+
+#. module: sale_margin
+#: model:ir.model,name:sale_margin.model_report_account_invoice
+msgid "report.account.invoice"
+msgstr ""
+
+#. module: sale_margin
+#: model:ir.ui.menu,name:sale_margin.menu_report_account_all_invoice_by_invoices
+#: model:ir.ui.menu,name:sale_margin.menu_report_account_invoice_by_invoices
+#: view:report.account.invoice:0
+#: view:stock.picking:0
+#: field:stock.picking,invoice_ids:0
+msgid "Invoices"
+msgstr "Faktury"
+
+#. module: sale_margin
+#: selection:report.account.invoice,state:0
+#: selection:report.account.invoice.category,state:0
+#: selection:report.account.invoice.partner,state:0
+#: selection:report.account.invoice.partner.product,state:0
+#: selection:report.account.invoice.product,state:0
+msgid "Pro-forma"
+msgstr ""
+
+#. module: sale_margin
+#: field:report.account.invoice,name:0
+#: field:report.account.invoice.category,name:0
+#: field:report.account.invoice.partner,name:0
+#: field:report.account.invoice.partner.product,name:0
+#: field:report.account.invoice.product,name:0
+msgid "Month"
+msgstr "Miesiąc"
+
+#. module: sale_margin
+#: selection:report.account.invoice,state:0
+#: selection:report.account.invoice.category,state:0
+#: selection:report.account.invoice.partner,state:0
+#: selection:report.account.invoice.partner.product,state:0
+#: selection:report.account.invoice.product,state:0
+msgid "Canceled"
+msgstr "Anulowano"
+
+#. module: sale_margin
+#: model:ir.ui.menu,name:sale_margin.menu_report_account_invoice_product
+msgid "Invoice"
+msgstr "Faktura"
+
+#. module: sale_margin
+#: wizard_button:stock.invoice_onshipping,init,end:0
+msgid "Cancel"
+msgstr "Anuluj"
+
+#. module: sale_margin
+#: field:report.account.invoice.partner,partner_id:0
+#: field:report.account.invoice.partner.product,partner_id:0
+msgid "Partner"
+msgstr "Partner"
+
+#. module: sale_margin
+#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_tree
+#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_tree_all
+msgid "report.account.invoice.tree"
+msgstr ""
+
+#. module: sale_margin
+#: selection:report.account.invoice,state:0
+#: selection:report.account.invoice.category,state:0
+#: selection:report.account.invoice.partner,state:0
+#: selection:report.account.invoice.partner.product,state:0
+#: selection:report.account.invoice.product,state:0
+msgid "Open"
+msgstr "Otwarte"
+
+#. module: sale_margin
+#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_product_tree
+#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_product_tree_all
+msgid "report.account.invoice.product.tree"
+msgstr ""
diff --git a/addons/sale_mrp/i18n/pl.po b/addons/sale_mrp/i18n/pl.po
new file mode 100644
index 00000000000..d4c0866d194
--- /dev/null
+++ b/addons/sale_mrp/i18n/pl.po
@@ -0,0 +1,81 @@
+# Polish translation for openobject-addons
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR , 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2010-06-28 09:21+0000\n"
+"PO-Revision-Date: 2010-07-26 15:04+0000\n"
+"Last-Translator: Grzegorz Grzelak (Cirrus.pl) \n"
+"Language-Team: Polish \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2010-07-27 03:58+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#. module: sale_mrp
+#: help:mrp.production,sale_ref:0
+msgid "Indicate the Customer Reference from sale order."
+msgstr "Określ odnośnik klienta z zamówienia sprzedaży"
+
+#. module: sale_mrp
+#: help:mrp.production,sale_name:0
+msgid "Indicate the name of sale order."
+msgstr "Określ nazwę zamówienia sprzedaży"
+
+#. module: sale_mrp
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr "Niewłaściwy XML dla architektury widoku!"
+
+#. module: sale_mrp
+#: constraint:ir.model:0
+msgid ""
+"The Object name must start with x_ and not contain any special character !"
+msgstr ""
+"Nazwa obiektu musi zaczynać się od x_ oraz nie może zawierać znaków "
+"specjalnych !"
+
+#. module: sale_mrp
+#: field:mrp.production,sale_name:0
+msgid "Sale Name"
+msgstr "Nazwa sprzedaży"
+
+#. module: sale_mrp
+#: model:ir.model,name:sale_mrp.model_mrp_production
+msgid "Manufacturing Order"
+msgstr "Zamówienie produkcji"
+
+#. module: sale_mrp
+#: model:ir.module.module,description:sale_mrp.module_meta_information
+msgid ""
+"\n"
+" This module provides facility to the user to install mrp and sale "
+"modules\n"
+" at a time. It is basically used when we want to keep track of "
+"production\n"
+" orders generated from sale orders.\n"
+" It adds sale name and sale Reference on production order\n"
+" "
+msgstr ""
+"\n"
+" Ten moduł zwiększający funkcjonalność modułów mrp i sale. \n"
+" Jest on stosowany głównie kiedy chcemy losy zamówień \n"
+" produkcji tworzonych z zamówień sprzedaży.\n"
+" Moduł dodaje nazwę sprzedaży i odnośnik sprzedaży do \n"
+" zamówienia produkcji.\n"
+" "
+
+#. module: sale_mrp
+#: field:mrp.production,sale_ref:0
+msgid "Sale Reference"
+msgstr "Odnośnik sprzedaży"
+
+#. module: sale_mrp
+#: model:ir.module.module,shortdesc:sale_mrp.module_meta_information
+msgid "Sales and MRP Management"
+msgstr "Zarządzanie sprzedażą i MRP"
diff --git a/addons/sale_order_dates/sale_order_dates.py b/addons/sale_order_dates/sale_order_dates.py
index c58e68bdbe7..ad36d7c582d 100644
--- a/addons/sale_order_dates/sale_order_dates.py
+++ b/addons/sale_order_dates/sale_order_dates.py
@@ -21,7 +21,9 @@
from osv import fields, osv
import time
-from mx import DateTime
+from datetime import datetime
+from dateutil.relativedelta import relativedelta
+
class sale_order_dates(osv.osv):
_inherit = 'sale.order'
_name = 'sale.order'
@@ -45,7 +47,7 @@ class sale_order_dates(osv.osv):
for order in self.browse(cr, uid, ids):
dates_list = []
for line in order.order_line:
- dt=DateTime.strptime(order.date_order, '%Y-%m-%d') + DateTime.RelativeDateTime(days=line.delay or 0.0)
+ dt = datetime.strptime(order.date_order, '%Y-%m-%d') + relativedelta(days=line.delay or 0.0)
dt_s = dt.strftime('%Y-%m-%d')
dates_list.append(dt_s)
if dates_list:
diff --git a/addons/stock/board_warehouse_view.xml b/addons/stock/board_warehouse_view.xml
index e733c9496d8..df33d91a2a3 100644
--- a/addons/stock/board_warehouse_view.xml
+++ b/addons/stock/board_warehouse_view.xml
@@ -43,8 +43,8 @@
-
+
-
\ No newline at end of file
+
diff --git a/addons/stock/i18n/lt.po b/addons/stock/i18n/lt.po
index 243fe4b1ef6..6c907fdad24 100644
--- a/addons/stock/i18n/lt.po
+++ b/addons/stock/i18n/lt.po
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-07-21 03:42+0000\n"
+"X-Launchpad-Export-Date: 2010-07-22 03:56+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
"Language: lt\n"
diff --git a/addons/stock/product_view.xml b/addons/stock/product_view.xml
index ee19895b58d..10b7606533f 100644
--- a/addons/stock/product_view.xml
+++ b/addons/stock/product_view.xml
@@ -62,9 +62,8 @@
-
-
-
+
+
diff --git a/addons/stock/report/picking.rml b/addons/stock/report/picking.rml
index 677cdfbcfc0..ebd4e0af226 100644
--- a/addons/stock/report/picking.rml
+++ b/addons/stock/report/picking.rml
@@ -150,10 +150,10 @@
- [[ picking.sale_id and picking.sale_id.partner_shipping_id and 'Shipping Address :' or removeParentNode('para') ]]
- [[ (picking.sale_id and picking.sale_id.partner_shipping_id and picking.sale_id.partner_shipping_id.title) or '' ]] [[ (picking.sale_id and picking.sale_id.partner_shipping_id and picking.sale_id.partner_shipping_id.name) or '' ]]
- [[ (picking.sale_id and picking.sale_id.partner_shipping_id and picking.sale_id.partner_shipping_id.street) or '' ]]
- [[ (picking.sale_id and picking.sale_id.partner_shipping_id and picking.sale_id.partner_shipping_id.zip) or '' ]] [[ (picking.sale_id and picking.sale_id.partner_shipping_id and picking.sale_id.partner_shipping_id.city) or '' ]] [[ (picking.address_id and picking.address_id.state_id and picking.address_id.state_id.name) or '' ]]
+ [[ picking.address_id and 'Shipping Address :' or removeParentNode('para') ]]
+ [[ ( picking.address_id and picking.address_id.title) or '' ]] [[ (picking.address_id and picking.address_id.name) or '' ]]
+ [[ (picking.address_id and picking.address_id.street) or '' ]]
+ [[ (picking.address_id and picking.address_id.zip) or '' ]] [[ (picking.address_id and picking.address_id.city) or '' ]] [[ (picking.address_id and picking.address_id.state_id and picking.address_id.state_id.name) or '' ]] [[ (picking.address_id and picking.address_id.country_id and picking.address_id.country_id.name) or '' ]]
@@ -202,7 +202,7 @@
[[ picking.origin ]]
- [[ (picking.sale_id and picking.sale_id.partner_shipping_id and picking.sale_id.partner_shipping_id and picking.sale_id.partner_shipping_id.title) or '' ]] [[ (picking.sale_id and picking.sale_id.partner_shipping_id and picking.sale_id.partner_shipping_id.name) or '' ]]
+ [[ (picking.address_id and picking.address_id.title) or '' ]] [[ (picking.address_id and and picking.address_id.name) or '' ]]
[[ formatLang(picking.min_date,date_time = True) ]]
@@ -241,7 +241,7 @@
- [[ repeatIn([line for line in picking.move_lines if (line.state == 'assigned' )],'move_lines') ]]
+ [[ repeatIn([line for line in picking.move_lines if (line.state == 'assigned' )],'move_lines') or removeParentNode('section') ]]
@@ -267,10 +267,11 @@
-
- [[ (move_lines.state == 'done' or move_lines.state == 'confirmed') and removeParentNode('para') ]]
+
+ [[ (move_lines.state == 'done' or move_lines.state == 'confirmed') and removeParentNode('s') ]]Non Assigned Products: [[ ( move_lines.state == 'assigned' or move_lines.state == 'done' or move_lines.state == 'confirmed' ) and removeParentNode('para') ]][[ (move_lines.state == 'done' or move_lines.state == 'confirmed') and removeParentNode('para') ]]
+
[[ repeatIn([line for line in picking.move_lines if (line.state != 'assigned' )],'move_lines') ]]
diff --git a/addons/stock/stock.py b/addons/stock/stock.py
index 4e62e10f637..83f828203f6 100644
--- a/addons/stock/stock.py
+++ b/addons/stock/stock.py
@@ -536,16 +536,7 @@ class stock_picking(osv.osv):
if ('name' not in vals) or (vals.get('name')=='/'):
seq_obj_name = 'stock.picking.' + vals['type']
vals['name'] = self.pool.get('ir.sequence').get(cr, user, seq_obj_name)
- type_list = {
- 'out':_('Picking List'),
- 'in':_('Reception'),
- 'internal': _('Internal Picking'),
- 'delivery': _('Delivery Order')
- }
new_id = super(stock_picking, self).create(cr, user, vals, context)
- if not vals.get('auto_picking', False):
- message = type_list.get(vals.get('type', False), _('Picking')) + " '" + (vals['name'] or "n/a") + _(" with origin")+" '" + (vals.get('origin') or "n/a") + "' "+ _("is created.")
- self.log(cr, user, new_id, message)
return new_id
_columns = {
@@ -626,6 +617,9 @@ class stock_picking(osv.osv):
for r in picking.move_lines:
if r.state == 'draft':
todo.append(r.id)
+
+ self.log_picking(cr, uid, ids, context=context)
+
todo = self.action_explode(cr, uid, todo, context)
if len(todo):
self.pool.get('stock.move').action_confirm(cr, uid, todo, context=context)
@@ -710,16 +704,8 @@ class stock_picking(osv.osv):
""" Changes picking state to assigned.
@return: True
"""
- for pick in self.browse(cr, uid, ids, context=context):
- type_list = {
- 'out':'Picking List',
- 'in':'Reception',
- 'internal': 'Internal picking',
- 'delivery': 'Delivery order'
- }
- message = type_list.get(pick.type, _('Document')) + " '" + (pick.name or 'n/a') + "' "+ _("is ready to be processed.")
- self.log(cr, uid, id, message)
self.write(cr, uid, ids, {'state': 'assigned'})
+ self.log_picking(cr, uid, ids, context=context)
return True
def test_finnished(self, cr, uid, ids):
@@ -758,8 +744,7 @@ class stock_picking(osv.osv):
ids2 = [move.id for move in pick.move_lines]
self.pool.get('stock.move').action_cancel(cr, uid, ids2, context)
self.write(cr, uid, ids, {'state': 'cancel', 'invoice_state': 'none'})
- message = _('Picking') + " '" + pick.name + "' "+_("is cancelled")
- self.log(cr, uid, id, message)
+ self.log_picking(cr, uid, ids, context=context)
return True
#
@@ -1190,6 +1175,31 @@ class stock_picking(osv.osv):
return res
+ def log_picking(self, cr, uid, ids, context=None):
+ """ This function will create log messages for picking.
+ @param cr: the database cursor
+ @param uid: the current user's ID for security checks,
+ @param ids: List of Picking Ids
+ @param context: A standard dictionary for contextual values
+ """
+ for pick in self.browse(cr, uid, ids, context=context):
+ type_list = {
+ 'out':'Picking List',
+ 'in':'Reception',
+ 'internal': 'Internal picking',
+ 'delivery': 'Delivery order'
+ }
+ message = type_list.get(pick.type, _('Document')) + " '" + (pick.name or 'n/a') + "' "
+ state_list = {
+ 'confirmed': "is scheduled for the '" + datetime.strptime(pick.min_date, '%Y-%m-%d %H:%M:%S').strftime('%Y-%m-%d') + "'.",
+ 'assigned': 'is ready to process.',
+ 'cancel': 'is Cancelled.',
+ 'done': 'is processed.',
+ }
+ message += state_list[pick.state]
+ self.log(cr, uid, pick.id, message)
+ return True
+
stock_picking()
class stock_production_lot(osv.osv):
@@ -1844,8 +1854,6 @@ class stock_move(osv.osv):
'ref': move.picking_id and move.picking_id.name,
})
- message = _('Move line') + " '" + move.name + "' "+ _("is processed.")
- self.log(cr, uid, move.id, message)
# This can be removed
#tracking_lot = False
#if context:
@@ -1865,9 +1873,7 @@ class stock_move(osv.osv):
for pick_id in picking_ids:
wf_service.trg_write(uid, 'stock.picking', pick_id, cr)
- for (id,name) in picking_obj.name_get(cr, uid, picking_ids):
- message = _('Document') + " '" + name + "' "+ _("is processed.")
- self.log(cr, uid, id, message)
+ picking_obj.log_picking(cr, uid, picking_ids, context=context)
return True
def create_account_move(self, cr, uid, move,account_id, account_variation, amount, context=None):
@@ -1940,8 +1946,11 @@ class stock_move(osv.osv):
new_move = self.copy(cr, uid, move.id, default_val)
#self.write(cr, uid, [new_move], {'move_history_ids':[(4,move.id)]}) #TODO : to track scrap moves
res += [new_move]
- message = _('Product ') + " '" + move.product_id.name + "' "+ _("is scraped with") + " '" + str(move.product_qty) + "' "+ _("quantity.")
+ product_obj = self.pool.get('product.product')
+ for (id, name) in product_obj.name_get(cr, uid, [move.product_id.id]):
+ message = _('Product ') + " '" + name + "' "+ _("is scraped with") + " '" + str(move.product_qty) + "' "+ _("quantity.")
self.log(cr, uid, move.id, message)
+
self.action_done(cr, uid, res)
return res
@@ -2068,8 +2077,12 @@ class stock_move(osv.osv):
}
self.write(cr, uid, [move.id], update_val)
- message = _('Product ') + " '" + move.product_id.name + "' "+ _("is consumed with") + " '" + str(move.product_qty) + "' "+ _("quantity.")
- self.log(cr, uid, move.id, message)
+
+ product_obj = self.pool.get('product.product')
+ for new_move in self.browse(cr, uid, res, context=context):
+ for (id, name) in product_obj.name_get(cr, uid, [new_move.product_id.id]):
+ message = _('Product ') + " '" + name + "' "+ _("is consumed with") + " '" + str(new_move.product_qty) + "' "+ _("quantity.")
+ self.log(cr, uid, new_move.id, message)
self.action_done(cr, uid, res)
return res
diff --git a/addons/stock/stock_view.xml b/addons/stock/stock_view.xml
index 2eb218da275..5668ed673d4 100644
--- a/addons/stock/stock_view.xml
+++ b/addons/stock/stock_view.xml
@@ -896,7 +896,6 @@
-
diff --git a/addons/stock_planning/stock_planning.py b/addons/stock_planning/stock_planning.py
index bdfcc9991a2..e86d0fdd731 100644
--- a/addons/stock_planning/stock_planning.py
+++ b/addons/stock_planning/stock_planning.py
@@ -422,9 +422,11 @@ class stock_sale_forecast(osv.osv):
dept_id = obj.analyzed_dept_id.id and [obj.analyzed_dept_id.id] or []
dept_ids = dept_obj.search(cr,uid,[('parent_id','child_of',dept_id)])
# dept_ids_set = ','.join(map(str,dept_ids))
- cr.execute("SELECT user_id FROM hr_department_user_rel WHERE (department_id IN %s)" ,(tuple(dept_ids),))
+# cr.execute("SELECT user_id FROM hr_department_user_rel WHERE (department_id IN %s)" ,(tuple(dept_ids),))
+ cr.execute("SELECT id FROM hr_employee WHERE (department_id IN %s)" ,(tuple(dept_ids),))
dept_users = [x for x, in cr.fetchall()]
- dept_users_set = ','.join(map(str,dept_users))
+# dept_users_set = ','.join(map(str,dept_users))
+ dept_users_set = map(str,dept_users)
else:
dept_users = False
factor, round_value = self._from_default_uom_factor(cr, uid, obj, obj.product_uom.id, context=context)
diff --git a/addons/thunderbird/i18n/sr.po b/addons/thunderbird/i18n/sr.po
new file mode 100644
index 00000000000..f9881656787
--- /dev/null
+++ b/addons/thunderbird/i18n/sr.po
@@ -0,0 +1,86 @@
+# Serbian translation for openobject-addons
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR , 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2009-11-26 06:05+0000\n"
+"PO-Revision-Date: 2010-07-21 07:40+0000\n"
+"Last-Translator: novta \n"
+"Language-Team: Serbian \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2010-07-22 03:56+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#. module: thunderbird
+#: field:tinythunderbird.partner,copy_to:0
+msgid "Copy To"
+msgstr "Kopiraj u"
+
+#. module: thunderbird
+#: constraint:ir.model:0
+msgid ""
+"The Object name must start with x_ and not contain any special character !"
+msgstr ""
+"Ime objekta mora da počne sa x_ i ne sme da sadrži specijalne karaktere !"
+
+#. module: thunderbird
+#: field:tinythunderbird.partner,description:0
+msgid "Description"
+msgstr "Opis"
+
+#. module: thunderbird
+#: field:tinythunderbird.partner,reference:0
+msgid "Reference"
+msgstr "Referenca"
+
+#. module: thunderbird
+#: model:ir.model,name:thunderbird.model_tinythunderbird_partner
+msgid "Thunderbid mails"
+msgstr "Thunderbird pisma"
+
+#. module: thunderbird
+#: field:tinythunderbird.partner,attachments:0
+msgid "Attached Files"
+msgstr "Prikačeni fajlovi"
+
+#. module: thunderbird
+#: field:tinythunderbird.partner,res_user_id:0
+msgid "User"
+msgstr "Korisnik"
+
+#. module: thunderbird
+#: field:tinythunderbird.partner,receiver:0
+msgid "Receiver"
+msgstr "Primalac"
+
+#. module: thunderbird
+#: field:tinythunderbird.partner,date:0
+msgid "Date"
+msgstr "Datum"
+
+#. module: thunderbird
+#: field:tinythunderbird.partner,title:0
+msgid "Subject"
+msgstr "Tema"
+
+#. module: thunderbird
+#: code:addons/thunderbird/partner/partner.py:0
+#, python-format
+msgid "Archive"
+msgstr "Arhiva"
+
+#. module: thunderbird
+#: model:ir.module.module,shortdesc:thunderbird.module_meta_information
+msgid "Thunderbird Interface"
+msgstr "Thunderbird interfejs"
+
+#. module: thunderbird
+#: field:tinythunderbird.partner,sender:0
+msgid "Sender"
+msgstr "Pošiljalac"
diff --git a/addons/wiki/i18n/lt.po b/addons/wiki/i18n/lt.po
index 5b61237240e..9b791d58c02 100644
--- a/addons/wiki/i18n/lt.po
+++ b/addons/wiki/i18n/lt.po
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-07-21 03:43+0000\n"
+"X-Launchpad-Export-Date: 2010-07-22 03:56+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
"Language: lt\n"
diff --git a/addons/wiki/i18n/pl.po b/addons/wiki/i18n/pl.po
index f626f87107f..4157d7c4f7f 100644
--- a/addons/wiki/i18n/pl.po
+++ b/addons/wiki/i18n/pl.po
@@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-09-08 12:13+0000\n"
-"Last-Translator: Fabien (Open ERP) \n"
+"PO-Revision-Date: 2010-07-26 19:55+0000\n"
+"Last-Translator: Grzegorz Grzelak (Cirrus.pl) \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-06-22 04:17+0000\n"
+"X-Launchpad-Export-Date: 2010-07-27 03:58+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: wiki
@@ -37,12 +37,12 @@ msgstr ""
#. module: wiki
#: field:wiki.wiki,create_uid:0
msgid "Author"
-msgstr ""
+msgstr "Autor"
#. module: wiki
#: model:ir.actions.wizard,name:wiki.wizard_open_page
msgid "Open Page"
-msgstr ""
+msgstr "Otwórz stronę"
#. module: wiki
#: field:wiki.groups.link,action_id:0
@@ -52,66 +52,66 @@ msgstr ""
#. module: wiki
#: field:wiki.groups,child_ids:0
msgid "Child Groups"
-msgstr ""
+msgstr "Grupy podrzędne"
#. module: wiki
#: model:ir.actions.act_window,name:wiki.act_wiki_group_open
#: model:ir.actions.act_window,name:wiki.action_wiki
#: model:ir.ui.menu,name:wiki.menu_action_wiki_wiki
msgid "Wiki Pages"
-msgstr ""
+msgstr "Strony Wiki"
#. module: wiki
#: field:wiki.groups,section:0
msgid "Make Section ?"
-msgstr ""
+msgstr "Utworzyć sekcję ?"
#. module: wiki
#: model:ir.model,name:wiki.model_wiki_wiki_history
#: view:wiki.wiki.history:0
msgid "Wiki History"
-msgstr ""
+msgstr "Historia wiki"
#. module: wiki
#: field:wiki.wiki,minor_edit:0
msgid "Minor edit"
-msgstr ""
+msgstr "Drobna edycja"
#. module: wiki
#: field:wiki.wiki,text_area:0
msgid "Content"
-msgstr ""
+msgstr "Zawartość"
#. module: wiki
#: model:ir.ui.menu,name:wiki.menu_document_configuration
msgid "Wiki Configuration"
-msgstr ""
+msgstr "Konfiguracja wiki"
#. module: wiki
#: constraint:ir.actions.act_window:0
msgid "Invalid model name in the action definition."
-msgstr ""
+msgstr "Nieprawidłowa nazwa modelu w definicji akcji."
#. module: wiki
#: field:wiki.groups,name:0
#: field:wiki.wiki,group_id:0
msgid "Wiki Group"
-msgstr ""
+msgstr "Grupa wiki"
#. module: wiki
#: field:wiki.wiki,name:0
msgid "Title"
-msgstr ""
+msgstr "Tytuł"
#. module: wiki
#: field:wiki.wiki,history_id:0
msgid "History Lines"
-msgstr ""
+msgstr "Pozycje historii"
#. module: wiki
#: field:wiki.groups,template:0
msgid "Wiki Template"
-msgstr ""
+msgstr "Szablon wiki"
#. module: wiki
#: model:ir.module.module,shortdesc:wiki.module_meta_information
@@ -121,17 +121,17 @@ msgstr ""
#. module: wiki
#: view:wiki.groups:0
msgid "Create a Menu"
-msgstr ""
+msgstr "Utwórz menu"
#. module: wiki
#: field:wiki.groups,notes:0
msgid "Description"
-msgstr ""
+msgstr "Opis"
#. module: wiki
#: field:wiki.wiki,section:0
msgid "Section"
-msgstr ""
+msgstr "Sekcja"
#. module: wiki
#: view:wizard.wiki.history.show_diff:0
@@ -146,12 +146,12 @@ msgstr ""
#. module: wiki
#: field:wiki.wiki,write_uid:0
msgid "Last Author"
-msgstr ""
+msgstr "Ostatni autor"
#. module: wiki
#: model:ir.actions.act_window,name:wiki.act_view_diff
msgid "Differences"
-msgstr ""
+msgstr "Różnice"
#. module: wiki
#: help:wiki.wiki,section:0
@@ -161,17 +161,17 @@ msgstr ""
#. module: wiki
#: view:wiki.groups:0
msgid "Page Template"
-msgstr ""
+msgstr "Szablon strony"
#. module: wiki
#: model:ir.ui.menu,name:wiki.menu_document2
msgid "Document Management"
-msgstr ""
+msgstr "Zarządzanie dokumentami"
#. module: wiki
#: field:wiki.wiki.history,create_date:0
msgid "Date"
-msgstr ""
+msgstr "Data"
#. module: wiki
#: wizard_view:wiki.make.index,init:0
@@ -181,13 +181,13 @@ msgstr ""
#. module: wiki
#: view:wiki.groups:0
msgid "Configuration"
-msgstr ""
+msgstr "Konfiguracja"
#. module: wiki
#: field:wiki.groups,home:0
#: field:wiki.groups,page_ids:0
msgid "Pages"
-msgstr ""
+msgstr "Strony"
#. module: wiki
#: constraint:ir.ui.view:0
@@ -197,22 +197,22 @@ msgstr "XML niewłaściwy dla tej architektury wyświetlania!"
#. module: wiki
#: field:wiki.wiki.history,text_area:0
msgid "Text area"
-msgstr ""
+msgstr "Obszar tekstu"
#. module: wiki
#: wizard_field:wiki.create.menu,init,menu_parent_id:0
msgid "Parent Menu"
-msgstr ""
+msgstr "Menu nadrzędne"
#. module: wiki
#: field:wiki.wiki,create_date:0
msgid "Created on"
-msgstr ""
+msgstr "Utworzono"
#. module: wiki
#: view:wiki.groups:0
msgid "Notes"
-msgstr ""
+msgstr "Uwagi"
#. module: wiki
#: wizard_view:wiki.create.menu,init:0
@@ -224,18 +224,18 @@ msgstr ""
#: field:wiki.groups,parent_id:0
#: field:wiki.groups.link,group_id:0
msgid "Parent Group"
-msgstr ""
+msgstr "Grupa nadrzędna"
#. module: wiki
#: field:wiki.wiki,summary:0
#: field:wiki.wiki.history,summary:0
msgid "Summary"
-msgstr ""
+msgstr "Podsumowanie"
#. module: wiki
#: field:wiki.groups,create_date:0
msgid "Created Date"
-msgstr ""
+msgstr "Data utworzenia"
#. module: wiki
#: model:ir.actions.act_window,name:wiki.action_history
@@ -261,17 +261,17 @@ msgstr ""
#. module: wiki
#: wizard_field:wiki.create.menu,init,menu_name:0
msgid "Menu Name"
-msgstr ""
+msgstr "Nazwa menu"
#. module: wiki
#: view:wiki.wiki:0
msgid "Modifications"
-msgstr ""
+msgstr "Modyfikacje"
#. module: wiki
#: model:ir.actions.act_window,name:wiki.act_wiki_wiki_history
msgid "History"
-msgstr ""
+msgstr "Historia"
#. module: wiki
#: model:ir.ui.menu,name:wiki.menu_document
@@ -282,18 +282,18 @@ msgstr ""
#. module: wiki
#: field:wiki.wiki,write_date:0
msgid "Modification Date"
-msgstr ""
+msgstr "Data modyfikacji"
#. module: wiki
#: model:ir.actions.wizard,name:wiki.wizard_make_index
#: wizard_button:wiki.make.index,init,yes:0
msgid "Create Index"
-msgstr ""
+msgstr "Utwórz indeks"
#. module: wiki
#: field:wiki.wiki.history,minor_edit:0
msgid "This is a major edit ?"
-msgstr ""
+msgstr "Czy jest to większa edycja ?"
#. module: wiki
#: model:ir.actions.wizard,name:wiki.wizard_group_menu_create
@@ -301,12 +301,12 @@ msgstr ""
#: wizard_button:wiki.create.menu,init,create_menu:0
#: wizard_view:wiki.make.index,init:0
msgid "Create Menu"
-msgstr ""
+msgstr "Utwórz menu"
#. module: wiki
#: field:wiki.wiki,tags:0
msgid "Tags"
-msgstr ""
+msgstr "Znaczniki"
#. module: wiki
#: model:ir.actions.act_window,name:wiki.action_wiki_groups
@@ -316,7 +316,7 @@ msgstr ""
#: model:ir.ui.menu,name:wiki.menu_action_wiki_groups_browse
#: view:wiki.groups:0
msgid "Wiki Groups"
-msgstr ""
+msgstr "Grupy wiki"
#. module: wiki
#: field:wiki.wiki.history,write_uid:0
@@ -326,20 +326,20 @@ msgstr ""
#. module: wiki
#: field:wiki.wiki,toc:0
msgid "Table of Contents"
-msgstr ""
+msgstr "Spis treści"
#. module: wiki
#: wizard_button:wiki.create.menu,init,end:0
#: wizard_button:wiki.make.index,init,end:0
msgid "Cancel"
-msgstr ""
+msgstr "Anuluj"
#. module: wiki
#: field:wizard.wiki.history.show_diff,diff:0
msgid "Diff"
-msgstr ""
+msgstr "Różnice"
#. module: wiki
#: field:wiki.wiki,review:0
msgid "Need Review"
-msgstr ""
+msgstr "Wymaga przejrzenia"
diff --git a/addons/wiki/i18n/sr.po b/addons/wiki/i18n/sr.po
index ebbf11a1979..d5d7a8f9c71 100644
--- a/addons/wiki/i18n/sr.po
+++ b/addons/wiki/i18n/sr.po
@@ -8,13 +8,13 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-09-08 12:13+0000\n"
-"Last-Translator: Dragan Životić \n"
+"PO-Revision-Date: 2010-07-21 08:12+0000\n"
+"Last-Translator: novta \n"
"Language-Team: Serbian \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-06-22 04:17+0000\n"
+"X-Launchpad-Export-Date: 2010-07-22 03:56+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: wiki
@@ -90,7 +90,7 @@ msgstr "Wiki Konfiguracija"
#. module: wiki
#: constraint:ir.actions.act_window:0
msgid "Invalid model name in the action definition."
-msgstr ""
+msgstr "Pogrešno ime modela u definiciji akcije."
#. module: wiki
#: field:wiki.groups,name:0