[MERGE]: merging from same branch

bzr revid: mga@tinyerp.com-20100503042754-76m9ylbnhp7g6nse
This commit is contained in:
Mantavya Gajjar 2010-05-03 09:57:54 +05:30
commit 1b44fda293
22 changed files with 737 additions and 353 deletions

View File

@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2010-04-27 19:28+0000\n"
"PO-Revision-Date: 2010-05-02 10:11+0000\n"
"Last-Translator: Grzegorz Grzelak (Cirrus.pl) <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-04-28 03:44+0000\n"
"X-Launchpad-Export-Date: 2010-05-03 04:03+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account
@ -2212,7 +2212,7 @@ msgstr "(pozostaw puste, aby stosować bieżący okres)"
#: model:ir.actions.act_window,name:account.action_invoice_tree8
#: model:ir.ui.menu,name:account.menu_action_invoice_tree8
msgid "Draft Supplier Invoices"
msgstr "Projekt faktury dla klienta"
msgstr "Projekty faktur od dostawcy"
#. module: account
#: wizard_field:account.invoice.refund,init,period:0
@ -2952,7 +2952,7 @@ msgstr ""
#: model:ir.actions.act_window,name:account.action_invoice_tree12
#: model:ir.ui.menu,name:account.menu_action_invoice_tree12
msgid "Draft Supplier Refunds"
msgstr "Projekt korekty od dostawcy"
msgstr "Projekty korekt od dostawcy"
#. module: account
#: model:process.node,name:account.process_node_accountingstatemententries0
@ -3039,7 +3039,7 @@ msgstr "Kurs dla op. wychodzacych"
#: model:ir.actions.act_window,name:account.action_invoice_tree10
#: model:ir.ui.menu,name:account.menu_action_invoice_tree10
msgid "Draft Customer Refunds"
msgstr "Projekt korekty dla klienta"
msgstr "Projekty korekt dla klienta"
#. module: account
#: field:account.journal.column,readonly:0
@ -5481,7 +5481,7 @@ msgstr "Zapisy subskrypcji"
#: model:ir.actions.act_window,name:account.action_invoice_tree6
#: model:ir.ui.menu,name:account.menu_action_invoice_tree6
msgid "PRO-FORMA Customer Invoices"
msgstr "Faktura PRO-FORMA dla klienta"
msgstr "Fakturay PRO-FORMA dla klienta"
#. module: account
#: field:account.subscription,period_total:0

View File

@ -539,6 +539,16 @@ class account_invoice(osv.osv):
wf_service.trg_create(uid, 'account.invoice', inv_id, cr)
return True
def finalize_invoice_move_lines(self, cr, uid, invoice_browse, move_lines):
"""finalize_invoice_move_lines(cr, uid, invoice, move_lines) -> move_lines
Hook method to be overridden in additional modules to verify and possibly alter the
move lines to be created by an invoice, for special cases.
:param invoice_browse: browsable record of the invoice that is generating the move lines
:param move_lines: list of dictionaries with the account.move.lines (as for create())
:return: the (possibly updated) final move_lines to create for this invoice
"""
return move_lines
# Workflow stuff
#################
@ -816,6 +826,9 @@ class account_invoice(osv.osv):
if journal.centralisation:
raise osv.except_osv(_('UserError'),
_('Cannot create invoice move on centralised journal'))
line = self.finalize_invoice_move_lines(cr, uid, inv, line)
move = {'ref': inv.number, 'line_id': line, 'journal_id': journal_id, 'date': date}
period_id=inv.period_id and inv.period_id.id or False
if not period_id:

View File

@ -7,27 +7,27 @@ 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 16:37+0000\n"
"Last-Translator: paola <pcaffaro@tiscali.it>\n"
"PO-Revision-Date: 2010-04-29 11:06+0000\n"
"Last-Translator: Lorenzo Lucio Ancora <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-04-17 04:11+0000\n"
"X-Launchpad-Export-Date: 2010-04-30 03:51+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,account4_ids:0
msgid "Account4 Id"
msgstr ""
msgstr "Identificativo di Account4"
#. module: account_analytic_plans
#: constraint:ir.model:0
msgid ""
"The Object name must start with x_ and not contain any special character !"
msgstr ""
"Il nome dell'oggetto deve iniziare per x_ e non deve contenere caratteri "
"speciali!"
"Il nome dell'oggetto deve iniziare con x_ e non può contenere caratteri "
"speciali !"
#. module: account_analytic_plans
#: model:ir.actions.report.xml,name:account_analytic_plans.account_analytic_account_crossovered_analytic
@ -38,7 +38,7 @@ msgstr ""
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,account5_ids:0
msgid "Account5 Id"
msgstr ""
msgstr "Identificativo di Account5"
#. module: account_analytic_plans
#: wizard_field:wizard.crossovered.analytic,init,date2:0
@ -77,7 +77,7 @@ msgstr "Stampa"
#. module: account_analytic_plans
#: rml:account.analytic.account.crossovered.analytic:0
msgid "To Date"
msgstr ""
msgstr "Alla data"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance.line,plan_id:0
@ -102,22 +102,22 @@ msgstr ""
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,code:0
msgid "Distribution Code"
msgstr ""
msgstr "Codice di distribuzione"
#. module: account_analytic_plans
#: constraint:ir.actions.act_window:0
msgid "Invalid model name in the action definition."
msgstr ""
msgstr "Nome del modello non valido nella definizione dell'azione."
#. module: account_analytic_plans
#: field:account.analytic.plan.line,name:0
msgid "Plan Name"
msgstr ""
msgstr "Nome del piano"
#. module: account_analytic_plans
#: rml:account.analytic.account.crossovered.analytic:0
msgid "Printing date"
msgstr ""
msgstr "Data di stampa"
#. module: account_analytic_plans
#: rml:account.analytic.account.crossovered.analytic:0
@ -127,28 +127,28 @@ msgstr "Percentuale"
#. module: account_analytic_plans
#: wizard_field:wizard.crossovered.analytic,init,empty_line:0
msgid "Dont show empty lines"
msgstr ""
msgstr "Non mostrare le righe vuote"
#. module: account_analytic_plans
#: wizard_view:wizard.crossovered.analytic,init:0
msgid "Select Information"
msgstr ""
msgstr "Scegli l'informazione"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,account3_ids:0
msgid "Account3 Id"
msgstr ""
msgstr "Identificativo di Account3"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,journal_id:0
#: wizard_field:wizard.crossovered.analytic,init,journal_ids:0
msgid "Analytic Journal"
msgstr ""
msgstr "Registro Analitico"
#. module: account_analytic_plans
#: rml:account.analytic.account.crossovered.analytic:0
msgid "100.00%"
msgstr ""
msgstr "Cento per cento"
#. module: account_analytic_plans
#: wizard_field:wizard.crossovered.analytic,init,ref:0
@ -158,12 +158,12 @@ msgstr ""
#. module: account_analytic_plans
#: rml:account.analytic.account.crossovered.analytic:0
msgid "Analytic Account :"
msgstr ""
msgstr "Account analitico:"
#. module: account_analytic_plans
#: view:account.analytic.plan.line:0
msgid "Analytic Plan Line"
msgstr ""
msgstr "Linea del piano analitico"
#. module: account_analytic_plans
#: rml:account.analytic.account.crossovered.analytic:0
@ -173,12 +173,12 @@ msgstr ""
#. module: account_analytic_plans
#: model:ir.actions.wizard,name:account_analytic_plans.create_model
msgid "Create Model"
msgstr ""
msgstr "Crea un modello"
#. module: account_analytic_plans
#: field:account.analytic.plan,default_instance_id:0
msgid "Default Entries"
msgstr ""
msgstr "Valori di default"
#. module: account_analytic_plans
#: view:account.analytic.plan:0
@ -191,27 +191,27 @@ msgstr ""
#. module: account_analytic_plans
#: field:account.analytic.plan.line,min_required:0
msgid "Minimum Allowed (%)"
msgstr ""
msgstr "Minimo consentito (%)"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,account1_ids:0
msgid "Account1 Id"
msgstr ""
msgstr "Identificativo di Account1"
#. module: account_analytic_plans
#: field:account.analytic.plan.line,max_required:0
msgid "Maximum Allowed (%)"
msgstr ""
msgstr "Massimo consentito (%)"
#. module: account_analytic_plans
#: wizard_view:create.model,info:0
msgid "Distribution Model Saved"
msgstr ""
msgstr "Modello di distribuzione salvato"
#. module: account_analytic_plans
#: model:ir.model,name:account_analytic_plans.model_account_analytic_plan_instance
msgid "Analytic Plan Instance"
msgstr ""
msgstr "Istanza del piano analitico"
#. module: account_analytic_plans
#: constraint:ir.ui.view:0
@ -221,7 +221,7 @@ msgstr "XML non valido per Visualizzazione Architettura!"
#. module: account_analytic_plans
#: model:ir.actions.act_window,name:account_analytic_plans.account_analytic_instance_model_open
msgid "Distribution Models"
msgstr ""
msgstr "Modelli di distribuzione"
#. module: account_analytic_plans
#: model:ir.module.module,description:account_analytic_plans.module_meta_information
@ -267,7 +267,7 @@ msgstr ""
#: view:account.analytic.plan.line:0
#: model:ir.model,name:account_analytic_plans.model_account_analytic_plan_line
msgid "Analytic Plan Lines"
msgstr ""
msgstr "Linee del piano analitico"
#. module: account_analytic_plans
#: rml:account.analytic.account.crossovered.analytic:0
@ -277,68 +277,70 @@ msgstr ""
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,plan_id:0
msgid "Model's Plan"
msgstr ""
msgstr "Piano dei modelli"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,account2_ids:0
msgid "Account2 Id"
msgstr ""
msgstr "Identificativo di Account2"
#. module: account_analytic_plans
#: rml:account.analytic.account.crossovered.analytic:0
msgid "Amount"
msgstr ""
msgstr "Quantità"
#. module: account_analytic_plans
#: help:account.analytic.plan.line,root_analytic_id:0
msgid "Root account of this plan."
msgstr ""
msgstr "Account radice per questo piano"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,account6_ids:0
msgid "Account6 Id"
msgstr ""
msgstr "Identificativo di Account6"
#. module: account_analytic_plans
#: rml:account.analytic.account.crossovered.analytic:0
msgid "Quantity"
msgstr ""
msgstr "Quantità"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,account_ids:0
msgid "Account Id"
msgstr ""
msgstr "Identificativo dell'Account"
#. module: account_analytic_plans
#: rml:account.analytic.account.crossovered.analytic:0
msgid "Code"
msgstr ""
msgstr "Codice"
#. module: account_analytic_plans
#: wizard_button:create.model,info,end:0
msgid "OK"
msgstr ""
msgstr "OK"
#. module: account_analytic_plans
#: field:account.analytic.plan.line,root_analytic_id:0
msgid "Root Account"
msgstr ""
msgstr "Account radice"
#. module: account_analytic_plans
#: wizard_view:create.model,info:0
msgid ""
"This distribution model has been saved. You will be able to reuse it later."
msgstr ""
"Questo modello di distribuzione è stato salvato. Lo potrai usare di nuovo in "
"seguito."
#. module: account_analytic_plans
#: field:account.analytic.plan.line,sequence:0
msgid "Sequence"
msgstr ""
msgstr "Sequenza"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance.line,analytic_account_id:0
msgid "Analytic Account"
msgstr ""
msgstr "Account analitico"
#. module: account_analytic_plans
#: field:account.analytic.default,analytics_id:0
@ -347,22 +349,22 @@ msgstr ""
#: field:account.invoice.line,analytics_id:0
#: field:account.move.line,analytics_id:0
msgid "Analytic Distribution"
msgstr ""
msgstr "Distribuzione analitica"
#. module: account_analytic_plans
#: model:ir.ui.menu,name:account_analytic_plans.menu_account_analytic_plan_instance_action
msgid "Analytic Distribution's models"
msgstr ""
msgstr "Modelli della distribuzione analitica"
#. module: account_analytic_plans
#: wizard_button:wizard.crossovered.analytic,init,end:0
msgid "Cancel"
msgstr ""
msgstr "Annulla"
#. module: account_analytic_plans
#: wizard_field:wizard.crossovered.analytic,init,date1:0
msgid "Start Date"
msgstr ""
msgstr "Data di inizio"
#. module: account_analytic_plans
#: rml:account.analytic.account.crossovered.analytic:0
@ -372,4 +374,4 @@ msgstr ""
#. module: account_analytic_plans
#: rml:account.analytic.account.crossovered.analytic:0
msgid "From Date"
msgstr ""
msgstr "Dalla data"

View File

@ -0,0 +1,53 @@
# Occitan (post 1500) translation for openobject-addons
# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2010-04-29 14:21+0000\n"
"Last-Translator: Cédric VALMARY (Tot en òc) <cvalmary@yahoo.fr>\n"
"Language-Team: Occitan (post 1500) <oc@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-04-30 03:51+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account_tax_include
#: constraint:ir.ui.view:0
msgid "Invalid XML for View Architecture!"
msgstr "XML invalid per l'arquitectura de la vista"
#. module: account_tax_include
#: field:account.invoice,price_type:0
msgid "Price method"
msgstr "Metòde de prètz"
#. module: account_tax_include
#: model:ir.module.module,shortdesc:account_tax_include.module_meta_information
msgid "Invoices and prices with taxes included"
msgstr "Facturas e prèses amb taxas inclusas"
#. module: account_tax_include
#: selection:account.invoice,price_type:0
msgid "Tax included"
msgstr "Taxa inclusa"
#. module: account_tax_include
#: selection:account.invoice,price_type:0
msgid "Tax excluded"
msgstr "Fòra taxa"
#. module: account_tax_include
#: view:account.tax:0
msgid "Compute Code for Taxes included prices"
msgstr "Còde de calcul pels prèses amb taxas compresas"
#. module: account_tax_include
#: field:account.invoice.line,price_subtotal_incl:0
msgid "Subtotal"
msgstr "Sostotal"

View File

@ -0,0 +1,67 @@
# Occitan (post 1500) translation for openobject-addons
# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2010-04-29 14:21+0000\n"
"Last-Translator: Cédric VALMARY (Tot en òc) <cvalmary@yahoo.fr>\n"
"Language-Team: Occitan (post 1500) <oc@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-04-30 03:51+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: analytic_user_function
#: constraint:ir.ui.view:0
msgid "Invalid XML for View Architecture!"
msgstr "XML invalid per l'arquitectura de la vista"
#. module: analytic_user_function
#: model:ir.model,name:analytic_user_function.model_analytic_user_funct_grid
msgid "Relation table between users and products on a analytic account"
msgstr ""
#. module: analytic_user_function
#: field:analytic_user_funct_grid,product_id:0
msgid "Product"
msgstr "Produch"
#. module: analytic_user_function
#: field:analytic_user_funct_grid,account_id:0
msgid "Analytic Account"
msgstr "Compte Analitic"
#. module: analytic_user_function
#: view:account.analytic.account:0
#: field:account.analytic.account,user_product_ids:0
msgid "Users/Products Rel."
msgstr "Relacion Utilizaires/Produches"
#. module: analytic_user_function
#: field:analytic_user_funct_grid,user_id:0
msgid "User"
msgstr "Utilizaire"
#. module: analytic_user_function
#: constraint:ir.model:0
msgid ""
"The Object name must start with x_ and not contain any special character !"
msgstr ""
"Lo nom de l'objècte deu començar amb x_ e conténer pas de caractèrs "
"especials !"
#. module: analytic_user_function
#: model:ir.module.module,shortdesc:analytic_user_function.module_meta_information
msgid "Analytic User Function"
msgstr ""
#. module: analytic_user_function
#: view:analytic_user_funct_grid:0
msgid "User's Product for this Analytic Account"
msgstr "Produch de l'Utilizaire per aqueste Compte Analitic"

View File

@ -36,6 +36,8 @@ class recording_objects_proxy(osv_pool):
_old_args = args[5].copy()
elif len(args) >= 5 and isinstance(args[4], dict):
_old_args = args[4].copy()
elif len(args) > 5 and args[3] != 'write' and isinstance(args[5], dict):
_old_args = args[5].copy()
else:
_old_args = None
res = super(recording_objects_proxy, self).execute(*args, **argv)
@ -45,11 +47,17 @@ class recording_objects_proxy(osv_pool):
if mod and mod.recording:
if args[3] not in ('default_get','read','fields_view_get','fields_get','search','search_count','name_search','name_get','get','request_get', 'get_sc', 'unlink'):
if _old_args is not None:
if args[3] == 'create':
args[4].update(_old_args)
elif args[3] == 'write':
args[5].update(_old_args)
mod.recording_data.append(('query', args, argv,res))
if args[3] != 'write' and args[3] != 'create' and len(args) > 5 and isinstance(args[5], dict):
args=list(args)
args[5]=_old_args
args=tuple(args)
mod.recording_data.append(('osv_memory_action', args, argv ,None))
else:
if args[3] == 'create':
args[4].update(_old_args)
elif args[3] == 'write':
args[5].update(_old_args)
mod.recording_data.append(('query', args, argv,res))
return res
def exec_workflow(self, *args, **argv):
@ -61,7 +69,7 @@ class recording_objects_proxy(osv_pool):
return res
recording_objects_proxy()
class xElement(minidom.Element):
"""dom.Element with compact print
The Element in minidom has a problem: if printed, adds whitespace
@ -113,6 +121,15 @@ class eval(yaml.YAMLObject):
def __repr__(self):
return 'eval(%s)' % (str(self.expr,))
class function(yaml.YAMLObject):
yaml_tag = u'!python'
def __init__(self, model, action=None,attrs={}):
self.model = model
self.action = action
self.attrs=attrs
def __repr__(self):
return '!python {model: %s}: |' % (str(self.model), )
class base_module_record(osv.osv):
_name = "ir.module.record"
_columns = {
@ -143,7 +160,8 @@ class base_module_record(osv.osv):
if type(id)==type(()):
id=id[0]
if (model,id) in self.ids:
return self.ids[(model,id)], False
res_id = self.ids[(model,id)]
return res_id, False
dt = self.pool.get('ir.model.data')
dtids = dt.search(cr, uid, [('model','=',model), ('res_id','=',id)])
if not dtids:
@ -153,13 +171,14 @@ class base_module_record(osv.osv):
return obj.module+'.'+obj.name, obj.noupdate
def _create_record(self, cr, uid, doc, model, data, record_id, noupdate=False):
data_pool = self.pool.get('ir.model.data')
model_pool = self.pool.get(model)
record = doc.createElement('record')
record.setAttribute("id", record_id)
record.setAttribute("model", model)
record_list = [record]
lids = data_pool.search(cr, uid, [('model','=',model)])
res = data_pool.read(cr, uid, lids[:1], ['module'])
if res:
@ -212,17 +231,7 @@ class base_module_record(osv.osv):
newid = self._create_id(cr, uid, fields[key]['relation'], valitem[2])
valitem[1]=newid
self.ids[(fields[key]['relation'], valitem[1])] = newid
# if valitem[0] in (0,1):
# if key in model_pool._columns:
# fname = model_pool._columns[key]._fields_id
# else:
# fname = model_pool._inherit_fields[key][2]._fields_id
# valitem[2][fname] = record_id
# newid,update = self._get_id(cr, uid, fields[key]['relation'], valitem[1])
# if not newid:
# newid = self._create_id(cr, uid, fields[key]['relation'], valitem[2])
# self.ids[(fields[key]['relation'], valitem[1])] = newid
#
childrecord, update = self._create_record(cr, uid, doc, fields[key]['relation'],valitem[2], newid)
noupdate = noupdate or update
record_list += childrecord
@ -254,26 +263,31 @@ class base_module_record(osv.osv):
model_pool = self.pool.get(model)
data_pool = self.pool.get('ir.model.data')
lids = data_pool.search(cr, uid, [('model','=',model)])
res = data_pool.read(cr, uid, lids[:1], ['module'])
attrs={}
if res:
self.depends[res[0]['module']]=True
fields = model_pool.fields_get(cr, uid)
defaults={}
defaults[model] = model_pool.default_get(cr, uid, data)
try:
defaults[model] = model_pool.default_get(cr, uid, data)
except:
defaults[model]={}
for key,val in data.items():
if ((key in defaults[model]) and (val == defaults[model][key])) and not(fields[key].get('required',False)):
continue
if not (val or (fields[key]['type']=='function')):
if fields[key]['type'] in ('integer','float'):
if not val:
val=0.0
attrs[key] = val
elif not (val or (fields[key]['type']=='function')):
continue
elif fields[key]['type'] in ('boolean',):
if not val:
continue
attrs[key] = val
elif fields[key]['type'] in ('integer','float'):
attrs[key] = val
elif fields[key]['type'] in ('many2one',):
if type(val) in (type(''), type(u'')):
id = val
@ -420,9 +434,9 @@ class base_module_record(osv.osv):
def _generate_object_yaml(self, cr, uid, rec, result=None):
if self.mode=="create":
id = self._create_id(cr, uid, rec[2],rec[4])
self.ids[(rec[2], result)] = id
record = self._create_yaml_record(cr, uid, rec[2], rec[4], id)
yml_id = self._create_id(cr, uid, rec[2],rec[4])
self.ids[(rec[2], result)] = yml_id
record = self._create_yaml_record(cr, uid, rec[2], rec[4], yml_id)
return record
if self.mode=="workflow":
id,update = self._get_id(cr, uid, rec[2], rec[4])
@ -445,6 +459,32 @@ class base_module_record(osv.osv):
self.ids[(rec[2], result)] = id
return record
def _generate_function_yaml(self, cr, uid, args):
db, uid, model, action, ids, context = args
temp_context = context.copy()
active_id = temp_context['active_id']
active_model = temp_context['active_model']
active_id, update = self._get_id(cr, uid, active_model, active_id)
if not active_id:
active_id = 1
rec_id, noupdate = self._get_id(cr, uid, model, ids[0])
temp_context['active_id'] = "ref('%s')"%unicode(active_id)
temp_context['active_ids'][0] = "ref('%s')"%str(active_id)
function={}
function['model'] = model
function['action'] = action
attrs = "self.%s(cr, uid, [ref('%s')], {" %(action, rec_id, )
for k, v in temp_context.iteritems():
if isinstance(v, str):
f= "'"+k+"': "+"'%s'"%v + ", "
else:
v=str(v).replace('"', '')
f= "'"+k+"': "+"%s"%v + ", "
attrs = attrs + f
attrs=str(attrs)+'})'
function['attrs'] = attrs
return function
def _generate_assert_xml(self, rec, doc):
pass
@ -496,15 +536,27 @@ class base_module_record(osv.osv):
self.mode="copy"
elif rec[0] == 'workflow':
self.mode="workflow"
elif rec[0] == 'osv_memory_action':
self.mode='osv_memory_action'
else:
continue
if self.mode == "workflow":
record= self._generate_object_yaml(cr, uid, rec[1],rec[0])
yaml_file+="!comment Performing a workflow action %s on module %s"%(record['action'], record['model']) + '''\n'''
object=yaml.load(unicode('''\n !workflow %s \n'''%record,'iso-8859-1'))
attrs=attrs.replace("''", '"')
yaml_file += str(object) + '''\n\n'''
elif self.mode == 'osv_memory_action':
osv_action= self._generate_function_yaml(cr, uid, rec[1])
yaml_file+="!comment Performing an osv_memory action %s on module %s"%(osv_action['action'], osv_action['model']) + '''\n'''
osv_action=yaml.load(unicode('''\n !python %s \n'''%osv_action,'iso-8859-1'))
yaml_file += str(osv_action) + '''\n'''
attrs=yaml.dump(osv_action.attrs, default_flow_style=False)
attrs=attrs.replace("''", '"')
attrs=attrs.replace("'", '')
yaml_file += attrs + '''\n\n'''
else:
record= self._generate_object_yaml(cr, uid, rec[1],rec[3])
record= self._generate_object_yaml(cr, uid, rec[1], rec[3])
if self.mode == "create" or self.mode == "copy":
yaml_file+="!comment Creating a %s record"%(record['model']) + '''\n'''
else:
@ -517,9 +569,7 @@ class base_module_record(osv.osv):
yaml_result=''''''
for line in yaml_file.split('\n'):
line=line.replace("''","'")
if line.find('!record') == 0:
line = "- \n" + " " + line
elif line.find('!workflow') == 0:
if (line.find('!record') == 0) or (line.find('!workflow') == 0) or (line.find('!python') == 0):
line = "- \n" + " " + line
elif line.find('!comment') == 0:
line=line.replace('!comment','- \n ')

View File

@ -516,7 +516,7 @@ class crm_case(osv.osv):
@param self: The object pointer
@param cr: the current row, from the database cursor,
@param uid: the current users ID for security checks,
@param ids: List of Case ids
@param cases: a browse record list
@param keyword: Case action keyword e.g.: If case is closed "Close" keyword is used
@param history: Value True/False, If True it makes entry in case History otherwise in Case Log
@param email: Email address if any
@ -525,6 +525,10 @@ class crm_case(osv.osv):
if not context:
context = {}
# The mailgate sends the ids of the cases and not the object list
if all(isinstance(case_id, (int, long)) for case_id in cases) and context.get('model'):
cases = self.pool.get(context['model']).browse(cr, uid, cases, context=context)
model_obj = self.pool.get('ir.model')
obj = self.pool.get('crm.case.log')
for case in cases:

View File

@ -7,13 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2010-01-05 05:59+0000\n"
"PO-Revision-Date: 2010-03-30 21:03+0000\n"
"Last-Translator: Luis Gerardo Cruz Garcia <lgcruz@morfosys.com>\n"
"PO-Revision-Date: 2010-04-29 10:04+0000\n"
"Last-Translator: Jordi Esteve - http://www.zikzakmedia.com "
"<jesteve@zikzakmedia.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-04-17 04:02+0000\n"
"X-Launchpad-Export-Date: 2010-04-30 03:51+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: crm
@ -79,7 +80,7 @@ msgstr "Botón oprimido"
#. module: crm
#: view:crm.case:0
msgid "Planned costs"
msgstr "Costos planeados"
msgstr "Costos previstos"
#. module: crm
#: wizard_field:crm.job.partner_create,init,close:0
@ -89,7 +90,7 @@ msgstr "Requerimiento de trabajo a finalizar"
#. module: crm
#: field:crm.case.stage,name:0
msgid "Stage Name"
msgstr "Nombre de etapa"
msgstr "Nombre de fase"
#. module: crm
#: view:crm.case:0
@ -174,7 +175,7 @@ msgstr "Busqueda de oportunidades"
#: model:ir.ui.menu,name:crm.menu_crm_case_section_stage_tree
#: view:report.crm.case.section.stage:0
msgid "Cases by Section and Stage"
msgstr "Casos por sección y estados"
msgstr "Casos por sección y fase"
#. module: crm
#: wizard_field:crm.job.meeting_set,init,duration:0
@ -222,7 +223,7 @@ msgstr ""
#: wizard_field:crm.phonecall.opportunity_set,opportunity,partner_id:0
#: model:process.node,name:crm.process_node_partner0
msgid "Partner"
msgstr "Compañero"
msgstr "Empresa"
#. module: crm
#: field:crm.case.categ,section_id:0
@ -256,7 +257,7 @@ msgstr "Llamada de telefono"
#. module: crm
#: model:ir.model,name:crm.model_report_crm_case_section_stage
msgid "Cases by section and stage"
msgstr "Casos por secciòn y estado"
msgstr "Casos por sección y fase"
#. module: crm
#: field:crm.case.rule,act_mail_to_email:0
@ -297,7 +298,7 @@ msgstr "Criterios"
#: model:ir.actions.act_window,name:crm.crm_case_section_act
#: model:ir.ui.menu,name:crm.menu_crm_case_section_act
msgid "Sections"
msgstr "Secciónes"
msgstr "Secciones"
#. module: crm
#: help:crm.menu.config_wizard,opportunity:0
@ -421,6 +422,8 @@ msgid ""
"customer. With each commercial opportunity, you can indicate the canall "
"which is this opportunity source."
msgstr ""
"Los canales representan las diferentes maneras que existen de comunicación "
"con el cliente. A cada oportunidad se le puede indicar de que canal provino."
#. module: crm
#: view:crm.meeting:0
@ -477,7 +480,7 @@ msgstr "Cliente existente"
#. module: crm
#: model:crm.case.category2,name:crm.category_meet2
msgid "Home"
msgstr ""
msgstr "Particular"
#. module: crm
#: field:crm.case,categ_id:0
@ -578,7 +581,7 @@ msgstr "Crear oportunidad"
#: selection:report.crm.case.section.categ2,month:0
#: selection:report.crm.case.section.stage,month:0
msgid "August"
msgstr ""
msgstr "Agosto"
#. module: crm
#: view:crm.meeting:0
@ -611,7 +614,7 @@ msgstr "Gestión de relaciones con clientes & proveedores"
#: view:crm.email.add.cc:0
#: model:ir.actions.act_window,name:crm.action_view_crm_email_add_cc_wizard
msgid "Add CC"
msgstr "Agregar CC"
msgstr "Añadir CC"
#. module: crm
#: selection:report.crm.case.section.categ.categ2,month:0
@ -634,7 +637,7 @@ msgstr "Rechazado por la compañía"
#. module: crm
#: field:crm.case,planned_revenue:0
msgid "Planned Revenue"
msgstr "Retorno planeado"
msgstr "Ingresos previstos"
#. module: crm
#: field:crm.case.section,allow_unlink:0
@ -904,7 +907,7 @@ msgstr "Buscar llamadas"
#: wizard_button:crm.lead.opportunity_set,create_partner,create:0
#: wizard_button:crm.phonecall.opportunity_set,create_partner,create:0
msgid "Continue"
msgstr "Continue"
msgstr "Siguiente"
#. module: crm
#: field:crm.segmentation,som_interval:0
@ -959,7 +962,7 @@ msgstr "Establecer grado a"
#: code:addons/crm/crm.py:0
#, python-format
msgid "Email!"
msgstr ""
msgstr "Correo electrónico!"
#. module: crm
#: model:crm.case.category2,name:crm.category_lead6
@ -969,7 +972,7 @@ msgstr "Radio"
#. module: crm
#: model:ir.model,name:crm.model_crm_opportunity_assign_wizard
msgid "crm.opportunity.assign_wizard"
msgstr ""
msgstr "crm.opportunity.assign_wizard"
#. module: crm
#: view:crm.case.rule:0
@ -990,7 +993,7 @@ msgstr "Buscar en Historial"
#: help:crm.case.stage,sequence:0
msgid "Gives the sequence order when displaying a list of case stages."
msgstr ""
"Da el orden de secuencia cuando se muestra un lista de etápas de caso."
"Indica el orden de secuencia cuando se muestra un lista de fases de casos."
#. module: crm
#: model:crm.case.section,name:crm.section_support3
@ -1024,7 +1027,7 @@ msgstr "Importe de compra"
#. module: crm
#: view:crm.phonecall:0
msgid "Direction"
msgstr ""
msgstr "Dirección"
#. module: crm
#: help:crm.case,email_cc:0
@ -1059,7 +1062,7 @@ msgstr "Reglas"
#: wizard_view:crm.job.meeting_set,init:0
#: wizard_view:crm.phonecall.meeting_set,init:0
msgid "Plan Meeting"
msgstr ""
msgstr "Planear reunión"
#. module: crm
#: wizard_field:crm.new.send.mail,init,state:0
@ -1090,7 +1093,7 @@ msgstr "<"
#. module: crm
#: view:crm.case.rule:0
msgid "%(case_description)s = Case description"
msgstr ""
msgstr "%(case_description)s = Descripción del caso"
#. module: crm
#: view:crm.fundraising:0
@ -1111,7 +1114,7 @@ msgstr "Nombre de regla"
#. module: crm
#: field:crm.case,planned_cost:0
msgid "Planned Costs"
msgstr "Costos planeados"
msgstr "Costos previstos"
#. module: crm
#: model:ir.model,name:crm.model_crm_case_history
@ -1293,7 +1296,7 @@ msgstr "El prospecto se convierte a partner"
#. module: crm
#: view:crm.case.rule:0
msgid "Regex on Case Name"
msgstr ""
msgstr "Expresión regular del nombre del caso"
#. module: crm
#: view:crm.claim:0
@ -1303,7 +1306,7 @@ msgstr "Reclamaciones Pendientes"
#. module: crm
#: model:ir.ui.menu,name:crm.menu_action_report_crm_case_oppor_categ_stage
msgid "Cases by Opportunities, Category and Stage"
msgstr "Casos por oportunidades, categoría y etapa"
msgstr "Casos por oportunidades, categoría y fase"
#. module: crm
#: model:crm.case.category2,name:crm.category_lead4
@ -1416,8 +1419,8 @@ msgid ""
"If the active field is set to true, it will allow you to hide the case "
"section without removing it."
msgstr ""
"Si el campo activo esta en verdadero, te permitira esconder la sección del "
"caso sin removerla"
"Si el campo activo está marcado, podrá ocultar la sección del caso sin "
"eliminarla."
#. module: crm
#: model:crm.case.categ,name:crm.categ_fund2
@ -1435,31 +1438,31 @@ msgstr "Estas seguro que deseas crear una empresa basado en esta llamada?"
#: model:ir.actions.act_window,name:crm.crm_case_stage_act
#: model:ir.ui.menu,name:crm.menu_crm_case_stage_act
msgid "Stages"
msgstr "Etapas"
msgstr "Fases"
#. module: crm
#: wizard_field:crm.case.opportunity.partner_opportunity,init,planned_revenue:0
#: wizard_field:crm.lead.opportunity_set,opportunity,planned_revenue:0
#: wizard_field:crm.phonecall.opportunity_set,opportunity,planned_revenue:0
msgid "Expected Revenue"
msgstr ""
msgstr "Ingreso estimado"
#. module: crm
#: view:crm.meeting:0
msgid "Meeting Date"
msgstr ""
msgstr "Fecha de reunión"
#. module: crm
#: view:crm.job:0
#: view:crm.lead:0
#: view:crm.phonecall:0
msgid "Convert to Partner"
msgstr ""
msgstr "Convertir a empresa"
#. module: crm
#: model:ir.actions.act_window,name:crm.crm_case_category_act_meetall3
msgid "Next Meetings"
msgstr ""
msgstr "Próximas reuniones"
#. module: crm
#: field:crm.segmentation,partner_id:0
@ -1475,7 +1478,7 @@ msgstr "No puede eliminar este caso. Sería mejor que lo cancelara."
#. module: crm
#: wizard_button:caldav.crm.subscribe,init,open:0
msgid "_Subscribe"
msgstr ""
msgstr "_Suscribir"
#. module: crm
#: field:crm.case.rule,trg_priority_from:0
@ -1485,22 +1488,22 @@ msgstr "Prioridad mínima"
#. module: crm
#: model:ir.actions.act_window,name:crm.crm_meeting_generic_wizard_act
msgid "Meeting Generic Wizard"
msgstr ""
msgstr "Asistente genérico de reuniones"
#. module: crm
#: model:crm.case.categ,name:crm.categ_claim2
msgid "Value Claims"
msgstr ""
msgstr "Valor reclamaciones"
#. module: crm
#: wizard_view:caldav.crm.subscribe,display:0
msgid "Message..."
msgstr ""
msgstr "Mensaje..."
#. module: crm
#: model:ir.model,name:crm.model_crm_phonecall_assign_wizard
msgid "crm.phonecall.assign_wizard"
msgstr ""
msgstr "crm.phonecall.assign_wizard"
#. module: crm
#: view:report.crm.case.section.categ2:0
@ -2179,7 +2182,7 @@ msgstr ""
#: view:crm.job:0
#: view:crm.lead:0
msgid "Stage: "
msgstr ""
msgstr "Fase: "
#. module: crm
#: view:crm.case.section:0
@ -2806,7 +2809,7 @@ msgstr ""
#. module: crm
#: view:crm.case:0
msgid "Cases By Stage and Estimates"
msgstr ""
msgstr "Casos por fases y estimaciones"
#. module: crm
#: code:addons/crm/crm.py:0
@ -3004,7 +3007,7 @@ msgstr ""
#. module: crm
#: model:ir.model,name:crm.model_report_crm_case_section_categ_stage
msgid "Cases by section, Category and stage"
msgstr ""
msgstr "Casos por sección, categoría y fase"
#. module: crm
#: view:crm.job:0
@ -3297,7 +3300,7 @@ msgstr "Recordatorios por Email (incluye el contenido del caso)"
#. module: crm
#: model:ir.ui.menu,name:crm.menu_action_report_crm_case_lead_stage
msgid "Cases by Leads and Stage"
msgstr ""
msgstr "Casos por iniciativas y fase"
#. module: crm
#: field:crm.meeting,exdate:0
@ -3410,7 +3413,7 @@ msgstr ""
#. module: crm
#: view:crm.opportunity:0
msgid "Sales Stage: "
msgstr ""
msgstr "Fase de ventas: "
#. module: crm
#: view:crm.claim:0
@ -3692,7 +3695,7 @@ msgstr "Secciones hijas"
#. module: crm
#: view:crm.case:0
msgid "Planned revenue"
msgstr "Retorno planeado"
msgstr "Ingresos previstos"
#. module: crm
#: model:crm.case.categ,name:crm.categ_fund3
@ -3731,7 +3734,7 @@ msgstr ""
#. module: crm
#: model:ir.model,name:crm.model_crm_case_stage
msgid "Stage of case"
msgstr ""
msgstr "Fase del caso"
#. module: crm
#: view:crm.case:0

View File

@ -189,7 +189,7 @@ class email_parser(object):
try:
id = self.rpc(self.model, 'create', data)
self.rpc(self.model, 'history', [id], 'Receive', True, msg['From'], message['body'])
self.rpc(self.model, 'history', [id], 'Receive', True, msg['From'], message['body'], False, False, {'model' : self.model})
#self.rpc(self.model, 'case_open', [id])
except Exception, e:
if getattr(e, 'faultCode', '') and 'AccessError' in e.faultCode:
@ -284,10 +284,10 @@ class email_parser(object):
act = 'case_' + actions['state']
for k1, k2 in [('cost', 'planned_cost'), ('revenue', 'planned_revenue'), ('probability', 'probability')]:
try:
data[k2] = float(actions[k1])
except:
pass
try:
data[k2] = float(actions[k1])
except:
pass
if 'priority' in actions:
if actions['priority'] in ('1', '2', '3', '4', '5'):

View File

@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2008-11-01 16:12+0000\n"
"Last-Translator: Sergei Kostigoff <sergei.kostigoff@gmail.com>\n"
"PO-Revision-Date: 2010-05-01 15:57+0000\n"
"Last-Translator: g0nz1k12 <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-04-17 04:17+0000\n"
"X-Launchpad-Export-Date: 2010-05-02 03:57+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: crm_profiling
@ -116,7 +116,7 @@ msgstr ""
#. module: crm_profiling
#: field:crm.segmentation,profiling_active:0
msgid "Use The Profiling Rules"
msgstr ""
msgstr "Используйте Правила Профилирования"
#. module: crm_profiling
#: view:crm_profiling.question:0
@ -147,7 +147,7 @@ msgstr "Вопросы"
#. module: crm_profiling
#: field:crm.segmentation,parent_id:0
msgid "Parent Profile"
msgstr ""
msgstr "Родительский Профиль"
#. module: crm_profiling
#: wizard_button:open_questionnaire,init,end:0

View File

@ -7,71 +7,71 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2009-11-09 13:37+0000\n"
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
"PO-Revision-Date: 2010-04-30 21:12+0000\n"
"Last-Translator: Cristian Salamea (GnuThink) <ovnicraft@gmail.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-04-17 04:15+0000\n"
"X-Launchpad-Export-Date: 2010-05-01 03:55+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: hr_holidays
#: model:ir.ui.menu,name:hr_holidays.menu_open_ask_holidays_new
msgid "New Holidays Request"
msgstr ""
msgstr "Nueva petición de vacaciones"
#. module: hr_holidays
#: model:ir.ui.menu,name:hr_holidays.menu_action_all_holiday
msgid "All Holidays Requests"
msgstr ""
msgstr "Todas las peticiones de vacaciones"
#. module: hr_holidays
#: constraint:ir.actions.act_window:0
msgid "Invalid model name in the action definition."
msgstr ""
msgstr "Nombre de modelo no válido en la definición de la acción"
#. module: hr_holidays
#: field:hr.holidays.per.user,remaining_leaves:0
msgid "Remaining Leaves"
msgstr ""
msgstr "Vacaciones disponibles"
#. module: hr_holidays
#: model:ir.actions.act_window,name:hr_holidays.action_holiday_waiting
msgid "Requests Awaiting for Validation"
msgstr ""
msgstr "Peticiones esperando validación"
#. module: hr_holidays
#: selection:hr.holidays.status,color_name:0
msgid "Light Blue"
msgstr ""
msgstr "Azul claro"
#. module: hr_holidays
#: selection:hr.holidays.status,color_name:0
msgid "Brown"
msgstr ""
msgstr "Café"
#. module: hr_holidays
#: xsl:holidays.summary:0
msgid "of the"
msgstr ""
msgstr "del"
#. module: hr_holidays
#: xsl:holidays.summary:0
msgid "Off-Days' Summary"
msgstr ""
msgstr "Resumen días de ausencia"
#. module: hr_holidays
#: view:hr.holidays:0
#: view:hr.holidays.per.user:0
#: model:process.transition,name:hr_holidays.process_transition_employeeholidays0
msgid "Employee Holidays"
msgstr ""
msgstr "Vacaciones de empleado"
#. module: hr_holidays
#: view:hr.holidays:0
msgid "Set to Draft"
msgstr ""
msgstr "Cambiar a borrador"
#. module: hr_holidays
#: view:hr.holidays.per.user:0
@ -79,27 +79,27 @@ msgstr ""
#: model:ir.model,name:hr_holidays.model_hr_holidays
#: model:process.node,name:hr_holidays.process_node_holidays0
msgid "Holidays"
msgstr ""
msgstr "Vacaciones"
#. module: hr_holidays
#: xsl:holidays.summary:0
msgid "to"
msgstr ""
msgstr "hasta"
#. module: hr_holidays
#: selection:hr.holidays.status,color_name:0
msgid "Light Cyan"
msgstr ""
msgstr "Cian Claro"
#. module: hr_holidays
#: selection:hr.holidays.status,color_name:0
msgid "Light Green"
msgstr ""
msgstr "Verde claro"
#. module: hr_holidays
#: model:process.transition,name:hr_holidays.process_transition_employeedeclaration0
msgid "Employee Declaration"
msgstr ""
msgstr "Declaración de empleado"
#. module: hr_holidays
#: view:hr.holidays:0
@ -111,7 +111,7 @@ msgstr "Validar"
#. module: hr_holidays
#: model:process.transition,name:hr_holidays.process_transition_refusedrequest0
msgid "Refused Request"
msgstr ""
msgstr "Petición rechazada"
#. module: hr_holidays
#: model:process.node,name:hr_holidays.process_node_approved0
@ -121,113 +121,113 @@ msgstr "Aprobado"
#. module: hr_holidays
#: selection:hr.holidays.summary.employee,init,holiday_type:0
msgid "Both"
msgstr ""
msgstr "Ambas"
#. module: hr_holidays
#: view:hr.holidays:0
msgid "Refuse"
msgstr ""
msgstr "Rechazar"
#. module: hr_holidays
#: wizard_button:hr.holidays.summary,notify,end:0
#: wizard_button:hr.holidays.summary.employee,notify,end:0
msgid "Ok"
msgstr ""
msgstr "Ok"
#. module: hr_holidays
#: model:ir.ui.menu,name:hr_holidays.menu_action_my_holiday
msgid "My Holidays Requests"
msgstr ""
msgstr "Mis peticiones de vacaciones"
#. module: hr_holidays
#: field:hr.holidays,notes:0
#: field:hr.holidays.per.user,notes:0
msgid "Notes"
msgstr ""
msgstr "Notas"
#. module: hr_holidays
#: field:hr.holidays,holiday_status:0
#: field:hr.holidays.log,holiday_status:0
#: field:hr.holidays.per.user,holiday_status:0
msgid "Holiday's Status"
msgstr ""
msgstr "Estado de vacaciones"
#. module: hr_holidays
#: model:process.transition,note:hr_holidays.process_transition_refusedrequest0
msgid "Request is refused."
msgstr ""
msgstr "Petición es rechazada."
#. module: hr_holidays
#: model:ir.ui.menu,name:hr_holidays.menu_open_ask_holidays
msgid "Holidays Management"
msgstr ""
msgstr "Gestión de vacaciones"
#. module: hr_holidays
#: xsl:holidays.summary:0
msgid "Analyze from"
msgstr ""
msgstr "Análisis desde"
#. module: hr_holidays
#: model:ir.actions.report.xml,name:hr_holidays.report_holidays_summary
msgid "Summary Of Holidays"
msgstr ""
msgstr "Resumen de las vacaciones"
#. module: hr_holidays
#: model:process.node,note:hr_holidays.process_node_calendar0
msgid "The holiday is set in the calendar"
msgstr ""
msgstr "Las vacaciones son fijadas en el calendario"
#. module: hr_holidays
#: view:hr.holidays.status:0
msgid "Holiday status"
msgstr ""
msgstr "Estado Vacaciones"
#. module: hr_holidays
#: model:ir.model,name:hr_holidays.model_hr_holidays_status
msgid "Holidays Status"
msgstr ""
msgstr "Estado de Vacaciones"
#. module: hr_holidays
#: field:hr.holidays,date_to:0
msgid "Vacation end day"
msgstr ""
msgstr "Fecha Fin Vacaciones"
#. module: hr_holidays
#: view:hr.holidays.per.user:0
msgid "Holidays Allowed"
msgstr ""
msgstr "Vacaciones permitidas"
#. module: hr_holidays
#: model:process.node,note:hr_holidays.process_node_legaldeclaration0
msgid "Legal Declaration Document to declare new employee"
msgstr ""
msgstr "Documento de declaración oficial para declarar nuevo empleado"
#. module: hr_holidays
#: selection:hr.holidays.status,color_name:0
msgid "Magenta"
msgstr ""
msgstr "Violeta"
#. module: hr_holidays
#: model:ir.model,name:hr_holidays.model_hr_holidays_per_user
msgid "Holidays Per User"
msgstr ""
msgstr "Vacaciones por usuario"
#. module: hr_holidays
#: view:hr.holidays.status:0
msgid "Define holiday status"
msgstr ""
msgstr "Definir Estado Vacaciones"
#. module: hr_holidays
#: selection:hr.holidays.summary,init,holiday_type:0
#: selection:hr.holidays.summary.employee,init,holiday_type:0
msgid "Confirmed"
msgstr ""
msgstr "Confirmado"
#. module: hr_holidays
#: wizard_field:hr.holidays.summary,init,date_from:0
#: wizard_field:hr.holidays.summary.employee,init,date_from:0
msgid "From"
msgstr ""
msgstr "Desde"
#. module: hr_holidays
#: view:hr.holidays:0
@ -239,73 +239,73 @@ msgstr "Confirmar"
#: model:ir.actions.act_window,name:hr_holidays.action_my_holiday_waiting
#: model:ir.ui.menu,name:hr_holidays.menu_action_my_holiday_waiting
msgid "My Awaiting Confirmation Holidays Requests"
msgstr ""
msgstr "Mis peticiones de vacaciones esperando confirmación"
#. module: hr_holidays
#: field:hr.holidays,user_id:0
msgid "Employee_id"
msgstr ""
msgstr "Empleado"
#. module: hr_holidays
#: model:process.node,note:hr_holidays.process_node_holidaysdefinition0
msgid "Encoding of annual available holidays."
msgstr ""
msgstr "Codificación de vacaciones disponibles anuales."
#. module: hr_holidays
#: field:hr.holidays,employee_id:0
#: field:hr.holidays.log,employee_id:0
#: field:hr.holidays.per.user,employee_id:0
msgid "Employee"
msgstr ""
msgstr "Empleado"
#. module: hr_holidays
#: selection:hr.holidays,state:0
msgid "Waiting Validation"
msgstr ""
msgstr "Esperando Validación"
#. module: hr_holidays
#: model:process.transition,note:hr_holidays.process_transition_employeeholidays0
msgid "Employee get holidays"
msgstr ""
msgstr "Empleado obtiene vacaciones"
#. module: hr_holidays
#: selection:hr.holidays.status,color_name:0
msgid "Light Salmon"
msgstr ""
msgstr "Salmón claro"
#. module: hr_holidays
#: selection:hr.holidays.status,color_name:0
msgid "Wheat"
msgstr ""
msgstr "Abano"
#. module: hr_holidays
#: field:hr.holidays.log,nb_holidays:0
msgid "Number of Holidays Requested"
msgstr ""
msgstr "Número de vacaciones solicitadas"
#. module: hr_holidays
#: model:ir.actions.act_window,name:hr_holidays.act_hr_employee_holiday_request
msgid "My Holiday Requests"
msgstr ""
msgstr "Mis peticiones"
#. module: hr_holidays
#: view:hr.holidays:0
#: view:hr.holidays.per.user:0
msgid "Number of Days"
msgstr ""
msgstr "Número de Días"
#. module: hr_holidays
#: field:hr.holidays.status,name:0
#: model:ir.actions.act_window,name:hr_holidays.open_view_holiday_status
#: model:ir.ui.menu,name:hr_holidays.menu_open_view_holiday_status
msgid "Holiday Status"
msgstr ""
msgstr "Estado de Vacaciones"
#. module: hr_holidays
#: wizard_view:hr.holidays.summary,init:0
#: wizard_view:hr.holidays.summary.employee,init:0
msgid "Report Options"
msgstr ""
msgstr "Opciones de Reporte"
#. module: hr_holidays
#: constraint:ir.ui.view:0
@ -315,74 +315,75 @@ msgstr "¡XML inválido para la definición de la vista!"
#. module: hr_holidays
#: model:process.node,note:hr_holidays.process_node_approved0
msgid "His manager approves the request"
msgstr ""
msgstr "Su responsable aprueba la petición"
#. module: hr_holidays
#: model:process.transition,note:hr_holidays.process_transition_holidaysdefrequest0
msgid "If holidays available, employee can take it and fill it."
msgstr ""
"Si hay vacaciones disponibles, el empleado puede cogerla y rellenarla."
#. module: hr_holidays
#: wizard_view:hr.holidays.summary.employee,notify:0
msgid "You have to select at least 1 Employee. Try again."
msgstr ""
msgstr "Selecciona por lo menos un empleado. Prueba otra vez."
#. module: hr_holidays
#: model:ir.ui.menu,name:hr_holidays.menu_action_my_holiday_validate
msgid "My Validated Holidays Requests"
msgstr ""
msgstr "Mis peticiones de vacaciones validadas"
#. module: hr_holidays
#: wizard_field:hr.holidays.summary.employee,init,emp:0
msgid "Employee(s)"
msgstr ""
msgstr "Empleado(s)"
#. module: hr_holidays
#: field:hr.holidays,number_of_days:0
msgid "Number of Days in this Holiday Request"
msgstr ""
msgstr "Número de días solicitados en esta petición"
#. module: hr_holidays
#: view:hr.holidays.per.user:0
#: model:ir.actions.act_window,name:hr_holidays.action_holidays_per_user
#: model:ir.ui.menu,name:hr_holidays.menu_open_holidays_per_user
msgid "Holidays Per Employee"
msgstr ""
msgstr "Vacaciones por empleado"
#. module: hr_holidays
#: field:hr.holidays.status,limit:0
msgid "Allow to override Limit"
msgstr ""
msgstr "Permite superar el límite"
#. module: hr_holidays
#: field:hr.holidays.log,holiday_user_id:0
msgid "Holidays user"
msgstr ""
msgstr "Usuario de vacaciones"
#. module: hr_holidays
#: selection:hr.holidays.status,color_name:0
msgid "Lavender"
msgstr ""
msgstr "Lavanda"
#. module: hr_holidays
#: model:ir.model,name:hr_holidays.model_hr_holidays_log
msgid "hr.holidays.log"
msgstr ""
msgstr "Log de Vacaciones"
#. module: hr_holidays
#: model:ir.actions.wizard,name:hr_holidays.wizard_holidays_summary
msgid "Print Summary of Employee's Holidays"
msgstr ""
msgstr "Imprimir resumen de vacaciones"
#. module: hr_holidays
#: model:process.node,name:hr_holidays.process_node_calendar0
msgid "Calendar"
msgstr ""
msgstr "Calendario"
#. module: hr_holidays
#: field:hr.holidays,date_from:0
msgid "Vacation start day"
msgstr ""
msgstr "Inicio de Vacaciones"
#. module: hr_holidays
#: model:ir.module.module,description:hr_holidays.module_meta_information
@ -420,164 +421,180 @@ msgid ""
" Administration / Users / Users\n"
" for example, you maybe will do it for the user 'admin'.\n"
msgstr ""
"Recursos Humanos: Registro y seguimiento de Vacaciones\n"
"Este modulo permite administrar las vacaciones y peticiones. Para cada "
"empleado se puede definir un numero de vacaciones disponibles.\n"
"Ademas:\n"
"Sincronizacion con la agenda (usando el modulo de CRM) es posible: "
"automatizar la creacion de casos cuando una peticion es aceptada, tiene un "
"link para los estados de vacaciones. Puede configurar esta info en el color "
"de su preferencia.\n"
"Estado de Vacaciones:\n"
"Un empleado puede crear peticiones negativas (pedir -2 dias por ejemplo). es "
"es considerado por el sistema como una peticion de mas dias de ausencia.\n"
"Hay 2 maneras para imprimir las vacaciones:\n"
"Elegir empleados por departamento y usar un asistente.\n"
"O imprimir un empleado especifico.\n"
"Ademas el asistente permite elegir las vacaciones validadas y confirmadas o "
"solo una.\n"
#. module: hr_holidays
#: wizard_view:hr.holidays.summary,notify:0
#: wizard_view:hr.holidays.summary.employee,notify:0
msgid "Notification"
msgstr ""
msgstr "Notificación"
#. module: hr_holidays
#: model:process.node,note:hr_holidays.process_node_holidaysrequest0
msgid "Employee fills in a request for holidays"
msgstr ""
msgstr "Petición de Vacaciones"
#. module: hr_holidays
#: model:process.transition,note:hr_holidays.process_transition_setholiday0
msgid "Holiday is set in the calendar."
msgstr ""
msgstr "Las vacaciones son fijadas en el calendario."
#. module: hr_holidays
#: selection:hr.holidays.status,color_name:0
msgid "Light Coral"
msgstr ""
msgstr "Coral claro"
#. module: hr_holidays
#: model:ir.actions.act_window,name:hr_holidays.action_my_holiday_available
#: model:ir.ui.menu,name:hr_holidays.menu_action_my_holiday_available
msgid "My Available Holidays"
msgstr ""
msgstr "Mis vacaciones disponibles"
#. module: hr_holidays
#: selection:hr.holidays.status,color_name:0
msgid "Black"
msgstr ""
msgstr "Negro"
#. module: hr_holidays
#: model:ir.ui.menu,name:hr_holidays.menu_action_my_holiday_refuse
msgid "My Refused Holidays Requests"
msgstr ""
msgstr "Mis peticiones rechazadas"
#. module: hr_holidays
#: model:process.transition,name:hr_holidays.process_transition_setholiday0
msgid "Set Holiday"
msgstr ""
msgstr "Fijar vacaciones"
#. module: hr_holidays
#: model:ir.ui.menu,name:hr_holidays.menu_action_my_holiday_draft
msgid "My Draft Holidays Requests"
msgstr ""
msgstr "Mis peticiones en borrador"
#. module: hr_holidays
#: field:hr.holidays.per.user,max_leaves:0
msgid "Maximum Leaves Allowed"
msgstr ""
msgstr "Máximo de vacaciones permitidas"
#. module: hr_holidays
#: field:hr.holidays,state:0
msgid "Status"
msgstr ""
msgstr "Estado"
#. module: hr_holidays
#: selection:hr.holidays.status,color_name:0
msgid "Ivory"
msgstr ""
msgstr "Marfil"
#. module: hr_holidays
#: model:ir.actions.act_window,name:hr_holidays.action_my_holiday
msgid "My Holidays Request"
msgstr ""
msgstr "Mis peticiones de vacaciones"
#. module: hr_holidays
#: field:hr.holidays.status,color_name:0
msgid "Color of the status"
msgstr ""
msgstr "Color de Estado"
#. module: hr_holidays
#: selection:hr.holidays.summary,init,holiday_type:0
msgid "Both Validated and Confirmed"
msgstr ""
msgstr "Validadas y Confirmadas"
#. module: hr_holidays
#: field:hr.holidays.per.user,leaves_taken:0
msgid "Leaves Already Taken"
msgstr ""
msgstr "Vacaciones realizadas"
#. module: hr_holidays
#: xsl:holidays.summary:0
msgid "holidays."
msgstr ""
msgstr "Vacaciones."
#. module: hr_holidays
#: selection:hr.holidays,state:0
msgid "draft"
msgstr ""
msgstr "Borrador"
#. module: hr_holidays
#: field:hr.holidays.per.user,user_id:0
msgid "User"
msgstr ""
msgstr "Usuario"
#. module: hr_holidays
#: model:process.transition,note:hr_holidays.process_transition_employeedeclaration0
msgid "Document for employee"
msgstr ""
msgstr "Documento para empleado"
#. module: hr_holidays
#: field:hr.holidays.log,date:0
msgid "Date"
msgstr ""
msgstr "Fecha"
#. module: hr_holidays
#: model:process.transition.action,name:hr_holidays.process_transition_action_reufse0
msgid "Reufse"
msgstr ""
msgstr "Rechazar"
#. module: hr_holidays
#: field:hr.holidays.status,section_id:0
msgid "Section"
msgstr ""
msgstr "Sección"
#. module: hr_holidays
#: field:hr.holidays,manager_id:0
msgid "Holiday manager"
msgstr ""
msgstr "Responsable de vacaciones"
#. module: hr_holidays
#: field:hr.holidays.per.user,active:0
#: field:hr.holidays.status,active:0
msgid "Active"
msgstr ""
msgstr "Activo"
#. module: hr_holidays
#: model:ir.actions.act_window,name:hr_holidays.action_my_holiday_draft
msgid "My Holidays Request Draft"
msgstr ""
msgstr "Mis peticiones en Borrador"
#. module: hr_holidays
#: model:process.transition,name:hr_holidays.process_transition_approvedrequest0
msgid "Approved Request"
msgstr ""
msgstr "Petición aprobada"
#. module: hr_holidays
#: model:process.node,name:hr_holidays.process_node_holidaysrequest0
msgid "Holidays Request"
msgstr ""
msgstr "Petición de vacaciones"
#. module: hr_holidays
#: model:ir.ui.menu,name:hr_holidays.menu_action_holiday_waiting
msgid "Holidays Requests Awaiting for Validation"
msgstr ""
msgstr "Peticiones esperando validación"
#. module: hr_holidays
#: view:hr.holidays:0
msgid "General"
msgstr ""
msgstr "General"
#. module: hr_holidays
#: view:hr.holidays.per.user:0
msgid "General Information"
msgstr ""
msgstr "Información general"
#. module: hr_holidays
#: view:hr.holidays:0
@ -585,23 +602,23 @@ msgstr ""
#: wizard_button:hr.holidays.summary,init,end:0
#: wizard_button:hr.holidays.summary.employee,init,end:0
msgid "Cancel"
msgstr ""
msgstr "Cancelar"
#. module: hr_holidays
#: model:process.transition,name:hr_holidays.process_transition_holidaysdefrequest0
msgid "Holidays def Request"
msgstr ""
msgstr "Petición define vacaciones"
#. module: hr_holidays
#: selection:hr.holidays.summary,init,holiday_type:0
#: selection:hr.holidays.summary.employee,init,holiday_type:0
msgid "Validated"
msgstr ""
msgstr "Validado"
#. module: hr_holidays
#: model:ir.actions.act_window,name:hr_holidays.action_my_holiday_refuse
msgid "My Holidays Request Refused"
msgstr ""
msgstr "Mis peticiones rechazadas"
#. module: hr_holidays
#: constraint:ir.model:0
@ -615,23 +632,23 @@ msgstr ""
#: wizard_button:hr.holidays.summary,init,checkdept:0
#: wizard_button:hr.holidays.summary.employee,init,checkemp:0
msgid "Print"
msgstr ""
msgstr "Imprimir"
#. module: hr_holidays
#: model:ir.actions.wizard,name:hr_holidays.holidays_summary
#: model:ir.ui.menu,name:hr_holidays.menu_holidays_summary
msgid "Print Summary of Holidays"
msgstr ""
msgstr "Imprimir resumen de vacaciones"
#. module: hr_holidays
#: wizard_field:hr.holidays.summary,init,depts:0
msgid "Department(s)"
msgstr ""
msgstr "Departamento(s)"
#. module: hr_holidays
#: field:hr.holidays,name:0
msgid "Description"
msgstr ""
msgstr "Descripción"
#. module: hr_holidays
#: selection:hr.holidays,state:0
@ -642,85 +659,85 @@ msgstr "Rechazado"
#. module: hr_holidays
#: model:process.transition,note:hr_holidays.process_transition_approvedrequest0
msgid "Request is approved."
msgstr ""
msgstr "Petición aprobada."
#. module: hr_holidays
#: model:process.node,name:hr_holidays.process_node_holidaysdefinition0
msgid "Holidays Definition"
msgstr ""
msgstr "Definición vacaciones"
#. module: hr_holidays
#: wizard_field:hr.holidays.summary,init,holiday_type:0
#: wizard_field:hr.holidays.summary.employee,init,holiday_type:0
msgid "Select Holiday Type"
msgstr ""
msgstr "Seleccionar un tipo de vacaciones"
#. module: hr_holidays
#: field:hr.holidays,case_id:0
msgid "Case"
msgstr ""
msgstr "Caso"
#. module: hr_holidays
#: field:hr.holidays,holiday_user_id:0
msgid "Holiday per user"
msgstr ""
msgstr "Vacaiones por usuario"
#. module: hr_holidays
#: model:process.node,note:hr_holidays.process_node_holidays0
msgid "Encode number of available holidays"
msgstr ""
msgstr "Codifica número de vacaciones disponibles"
#. module: hr_holidays
#: model:process.node,name:hr_holidays.process_node_legaldeclaration0
msgid "Secretariat Social"
msgstr ""
msgstr "Secretaría social"
#. module: hr_holidays
#: selection:hr.holidays.status,color_name:0
msgid "Violet"
msgstr ""
msgstr "Violeta"
#. module: hr_holidays
#: selection:hr.holidays.status,color_name:0
msgid "Red"
msgstr ""
msgstr "Rojo"
#. module: hr_holidays
#: model:ir.module.module,shortdesc:hr_holidays.module_meta_information
msgid "Human Resources: Holidays management"
msgstr ""
msgstr "Gestión de Vacaciones"
#. module: hr_holidays
#: model:process.process,name:hr_holidays.process_process_holidaysprocess0
msgid "Holidays Process"
msgstr ""
msgstr "Proceso de vacaciones"
#. module: hr_holidays
#: wizard_view:hr.holidays.summary,notify:0
msgid "You have to select at least 1 Department. Try again."
msgstr ""
msgstr "Debe seleccionar por lo menos 1 departamento. Inténtelo de nuevo."
#. module: hr_holidays
#: model:ir.actions.act_window,name:hr_holidays.action_my_holiday_validate
msgid "My Holidays Request Validated"
msgstr ""
msgstr "Mis peticiones validadas"
#. module: hr_holidays
#: field:hr.holidays.log,holiday_req_id:0
msgid "Holiday Request ID"
msgstr ""
msgstr "ID solicitud de vacaciones"
#. module: hr_holidays
#: selection:hr.holidays.status,color_name:0
msgid "Light Yellow"
msgstr ""
msgstr "Amarillo claro"
#. module: hr_holidays
#: selection:hr.holidays.status,color_name:0
msgid "Light Pink"
msgstr ""
msgstr "Rosa claro"
#. module: hr_holidays
#: model:process.node,note:hr_holidays.process_node_refused0
msgid "His manager refuses the request"
msgstr ""
msgstr "Su responsable rechaza la petición"

View File

@ -0,0 +1,31 @@
# German translation for openobject-addons
# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2009-11-26 05:29+0000\n"
"PO-Revision-Date: 2010-05-01 20:41+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: German <de@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-05-02 03:57+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: olap_crm
#: model:ir.module.module,description:olap_crm.module_meta_information
msgid ""
"\n"
" Sale module will load the data in olap tables\n"
" "
msgstr ""
#. module: olap_crm
#: model:ir.module.module,shortdesc:olap_crm.module_meta_information
msgid "olap_crm"
msgstr ""

View File

@ -7,24 +7,24 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2009-09-08 16:46+0000\n"
"Last-Translator: Aldo Giovani <aldogiovani@gmail.com>\n"
"PO-Revision-Date: 2010-05-01 19:21+0000\n"
"Last-Translator: sbrianti <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-04-17 04:16+0000\n"
"X-Launchpad-Export-Date: 2010-05-02 03:57+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: profile_manufacturing
#: field:profile.manufacturing.config.install_modules_wizard,mrp_operation:0
msgid "Manufacturing Operations"
msgstr ""
msgstr "Operações de Manufatura"
#. module: profile_manufacturing
#: model:ir.module.module,description:profile_manufacturing.module_meta_information
msgid "Profile for manufacturing industries"
msgstr ""
msgstr "Perfil para indústrias de manufatura"
#. module: profile_manufacturing
#: constraint:ir.model:0
@ -37,22 +37,22 @@ msgstr ""
#. module: profile_manufacturing
#: field:profile.manufacturing.config.install_modules_wizard,mrp_jit:0
msgid "Just in Time Scheduling"
msgstr ""
msgstr "Agendamento de Just in Time"
#. module: profile_manufacturing
#: field:profile.manufacturing.config.install_modules_wizard,sale_journal:0
msgid "Manage by Journals"
msgstr ""
msgstr "Gerenciamento por Diários"
#. module: profile_manufacturing
#: view:profile.manufacturing.config.install_modules_wizard:0
msgid "Relationship Management"
msgstr ""
msgstr "Gestão de Relacionamentos"
#. module: profile_manufacturing
#: help:profile.manufacturing.config.install_modules_wizard,portal:0
msgid "This module allows you to manage a Portal system."
msgstr ""
msgstr "Este módulo permite o gerenciamento de um sistema de portal."
#. module: profile_manufacturing
#: help:profile.manufacturing.config.install_modules_wizard,board_document:0
@ -62,6 +62,11 @@ msgid ""
"documents, printed reports, calendar system). It opens an FTP access for the "
"users to easily browse association's document."
msgstr ""
"O Sistema de Gerenciamento de Documentos do Open ERP permite que você "
"armazene, navegue, indexe automaticamente, busque e pré-visualize todos os "
"tipos de documentos (documentos internos, relatórios impressos, sistema de "
"calendário). Ele abre um acesso FTP para que os usuário naveguem com "
"facilidade pelos documentos."
#. module: profile_manufacturing
#: help:profile.manufacturing.config.install_modules_wizard,sale_journal:0
@ -80,7 +85,7 @@ msgstr ""
#: model:ir.actions.act_window,name:profile_manufacturing.action_config_install_module
#: view:profile.manufacturing.config.install_modules_wizard:0
msgid "Manufacturing Profile: Install Extra Modules"
msgstr ""
msgstr "Perfil de manufatura: Instalar módulos extras"
#. module: profile_manufacturing
#: help:profile.manufacturing.config.install_modules_wizard,mrp_jit:0
@ -101,17 +106,17 @@ msgstr ""
#. module: profile_manufacturing
#: field:profile.manufacturing.config.install_modules_wizard,board_document:0
msgid "Document Management"
msgstr ""
msgstr "Gerenciamento de Documentos"
#. module: profile_manufacturing
#: field:profile.manufacturing.config.install_modules_wizard,portal:0
msgid "Portal"
msgstr ""
msgstr "Portal"
#. module: profile_manufacturing
#: view:profile.manufacturing.config.install_modules_wizard:0
msgid "Stock & Manufacturing"
msgstr ""
msgstr "Estoque e Manufatura"
#. module: profile_manufacturing
#: help:profile.manufacturing.config.install_modules_wizard,mrp_repair:0
@ -136,12 +141,12 @@ msgstr ""
#. module: profile_manufacturing
#: help:profile.manufacturing.config.install_modules_wizard,mrp_subproduct:0
msgid "This module allows you to add sub poducts in mrp bom."
msgstr ""
msgstr "Este módulo permite a inserção de subprodutos em um BoM de MRP."
#. module: profile_manufacturing
#: model:ir.module.module,shortdesc:profile_manufacturing.module_meta_information
msgid "Manufacturing industry profile"
msgstr ""
msgstr "Perfil de indústria de manufatura"
#. module: profile_manufacturing
#: model:ir.model,name:profile_manufacturing.model_profile_manufacturing_config_install_modules_wizard
@ -159,12 +164,12 @@ msgstr ""
#. module: profile_manufacturing
#: view:profile.manufacturing.config.install_modules_wizard:0
msgid "Install"
msgstr ""
msgstr "Instalar"
#. module: profile_manufacturing
#: field:profile.manufacturing.config.install_modules_wizard,sale_crm:0
msgid "CRM and Calendars"
msgstr ""
msgstr "CRM e Calendários"
#. module: profile_manufacturing
#: field:profile.manufacturing.config.install_modules_wizard,mrp_repair:0
@ -188,22 +193,22 @@ msgstr ""
#. module: profile_manufacturing
#: field:profile.manufacturing.config.install_modules_wizard,mrp_subproduct:0
msgid "Mrp Sub Product"
msgstr ""
msgstr "Subproduto de MRP"
#. module: profile_manufacturing
#: view:profile.manufacturing.config.install_modules_wizard:0
msgid "Sales Management"
msgstr ""
msgstr "Gerenciamento de Vendas"
#. module: profile_manufacturing
#: field:profile.manufacturing.config.install_modules_wizard,warning:0
msgid "Warning"
msgstr ""
msgstr "Aviso"
#. module: profile_manufacturing
#: field:profile.manufacturing.config.install_modules_wizard,sale_margin:0
msgid "Margins on Sales Order"
msgstr ""
msgstr "Margens em Ordens de Venda"
#. module: profile_manufacturing
#: help:profile.manufacturing.config.install_modules_wizard,stock_location:0
@ -218,14 +223,14 @@ msgstr ""
#. module: profile_manufacturing
#: view:profile.manufacturing.config.install_modules_wizard:0
msgid "Cancel"
msgstr ""
msgstr "Cancelar"
#. module: profile_manufacturing
#: field:profile.manufacturing.config.install_modules_wizard,point_of_sale:0
msgid "Point of Sale"
msgstr ""
msgstr "Ponto de Venda"
#. module: profile_manufacturing
#: field:profile.manufacturing.config.install_modules_wizard,stock_location:0
msgid "Advanced Locations"
msgstr ""
msgstr "Locais Avançados"

View File

@ -302,7 +302,10 @@ class smtpclient(osv.osv):
if self.server[serverid]['auth']:
password = self.server[serverid]['password']
password = base64.b64decode(password)
try:
password = base64.b64decode(password)
except:
pass
self.smtpServer[serverid].login(str(self.server[serverid]['user']), password)
except Exception, e:

View File

@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2010-02-22 23:58+0000\n"
"Last-Translator: Rodrigo Testa <rod-95@live.com>\n"
"PO-Revision-Date: 2010-04-29 11:22+0000\n"
"Last-Translator: Shay <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-04-17 03:56+0000\n"
"X-Launchpad-Export-Date: 2010-04-30 03:51+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: stock
@ -1411,6 +1411,20 @@ msgid ""
"* Traceability (upstream/downstream, production lots, serial number, ...)\n"
" "
msgstr ""
"El modulo de OpenERP que gestiona el inventario puede administrar más "
"almacenes y estructuras de almacenamiento múltiples y complejas.\n"
"Gracias a la gestión de doble acceso, el control sobre el inventario es "
"potente y flexible:\n"
"* Historial y planificación de los movimientos\n"
"* Diversos métodos de hacer inventario (FIFO, LIFO,...)\n"
"* Estima del almacenamiento ( precio estándar o medio, ...)\n"
"* Robustez frente a divergencias del inventario\n"
"* Normas de reordenación automática (niveles del almacen, JIT, ...)\n"
"* Soporte de códigos de barras\n"
"* Revelación rápida de los errores gracias al sistema de acceso doble\n"
"* Localización (upstream/downstream, lotes de producción, números de serie, "
"...)\n"
" "
#. module: stock
#: selection:stock.location,chained_location_type:0

View File

@ -91,68 +91,16 @@ class change_standard_price(osv.osv_memory):
"""
rec_id = context and context.get('active_id', False)
prod_obj = self.pool.get('product.template')
location_obj = self.pool.get('stock.location')
lot_obj = self.pool.get('stock.report.prodlots')
move_obj = self.pool.get('account.move')
move_line_obj = self.pool.get('account.move.line')
data_obj = self.pool.get('ir.model.data')
res = self.read(cr, uid, ids[0], ['new_price'])
new_price = res.get('new_price',[])
data = prod_obj.browse(cr, uid, rec_id)
diff = data.standard_price - new_price
prod_obj.write(cr, uid, rec_id, {'standard_price': new_price})
loc_ids = location_obj.search(cr, uid, [('account_id','<>',False),('usage','=','internal')])
lot_ids = lot_obj.search(cr, uid, [('location_id', 'in', loc_ids),('product_id','=',rec_id)])
qty = 0
debit = 0.0
credit = 0.0
stock_input_acc = data.property_stock_account_input.id or data.categ_id.property_stock_account_input_categ.id
stock_output_acc = data.property_stock_account_output.id or data.categ_id.property_stock_account_output_categ.id
for lots in lot_obj.browse(cr, uid, lot_ids):
qty += lots.name
if stock_input_acc and stock_output_acc and lot_ids:
move_id = move_obj.create(cr, uid, {'journal_id': data.categ_id.property_stock_journal.id})
if diff > 0:
credit = qty * diff
move_line_obj.create(cr, uid, {
'name': data.name,
'account_id': stock_input_acc,
'credit': credit,
'move_id': move_id
})
for lots in lot_obj.browse(cr, uid, lot_ids):
credit = lots.name * diff
move_line_obj.create(cr, uid, {
'name': 'Expense',
'account_id': lots.location_id.account_id.id,
'debit': credit,
'move_id': move_id
})
elif diff < 0:
debit = qty * -diff
move_line_obj.create(cr, uid, {
'name': data.name,
'account_id': stock_output_acc,
'debit': debit,
'move_id': move_id
})
for lots in lot_obj.browse(cr, uid, lot_ids):
debit = lots.name * -diff
move_line_obj.create(cr, uid, {
'name': 'Income',
'account_id': lots.location_id.account_id.id,
'credit': debit,
'move_id': move_id
})
else:
raise osv.except_osv(_('Warning!'),_('No Change in Price.'))
else:
pass
assert rec_id, _('Active ID is not set in Context')
prod_obj = self.pool.get('product.product')
res = self.browse(cr, uid, ids)
datas = {
'new_price' : res[0].new_price,
'stock_output_account' : res[0].stock_account_output.id,
'stock_input_account' : res[0].stock_account_input.id,
'stock_journal' : res[0].stock_journal.id
}
prod_obj.do_change_standard_price(cr, uid, [rec_id], datas, context)
return {}
change_standard_price()

View File

@ -47,4 +47,4 @@
##############################################################################
import partner
import installer

View File

@ -39,7 +39,8 @@
Select a section for which you want to create case.''',
"init_xml" : [],
"demo_xml" : [],
"update_xml" : ['security/ir.model.access.csv'],
"update_xml" : ['thunderbird_installer.xml',
'security/ir.model.access.csv'],
"active": False,
"installable": True
}

View File

@ -0,0 +1,66 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
from osv import fields
from osv import osv
from tools import config
import base64
class thunderbird_installer(osv.osv_memory):
_name = 'thunderbird.installer'
_inherit = 'res.config.installer'
def process_plugin(self, cr, uid, ids, context):
"""
Default Attach Thunderbird Plug-in File.
"""
data = {}
file = open(config['addons_path'] + "/thunderbird/plugin/tiny_plugin-2.0.xpi", 'r')
data['plugin_file'] = base64.encodestring(file.read())
self.write(cr, uid, ids, data)
return False
def process_pdf_file(self, cr, uid, ids, context):
"""
Default Attach Thunderbird Plug-in Installation File.
"""
data = {}
pdf_file = open(config['addons_path'] + "/thunderbird/doc/Installation Guide to OpenERP Thunderbid Plug-in.pdf", 'r')
data['pdf_file'] = base64.encodestring(pdf_file.read())
self.write(cr, uid, ids, data)
return False
_columns = {
'name':fields.char('File name', size=34),
'pdf_name':fields.char('File name', size=64),
'thunderbird':fields.boolean('Thunderbird Module ', help="Allows you to select an object that youd like to add to your email and its attachments."),
'plugin_file':fields.binary('Thunderbird Plug-in', readonly=True, help="Thunderbird plug-in file. Save as this file and install this plug-in in thunderbir."),
'pdf_file':fields.binary('Thunderbird Plug-in Installation File', help="The documentation file :- how to install Thunderbird Plug-in.", readonly=True),
}
_defaults = {
'thunderbird' : True,
'name' : 'tiny_plugin-2.0.xpi',
'pdf_name' : 'Installation Guide to OpenERP Thunderbid Plug-in.pdf',
}
thunderbird_installer()

View File

@ -92,9 +92,6 @@ class tinythunderbird_partner(osv.osv):
partner=add_obj.read(cr,user,partner_ids,['partner_id'])
if partner:
dictcreate.update({'partner_id':partner[0]['partner_id'][0]})
search_id = self.pool.get('res.request.link').search(cr,user,[('object','=',dictcreate['ref'].split(',')[0])])
if not search_id:
create_link_id = self.pool.get('res.request.link').create(cr,user,{'name':dictcreate['ref'].split(',')[0],'object':dictcreate['ref'].split(',')[0]})
create_id = self.pool.get(dictcreate.get('object','crm.case')).create(cr, user, dictcreate)
cases=case_pool.browse(cr,user,[create_id])
case_pool._history(cr, user, cases, _('Archive'), history=True, email=False)
@ -162,12 +159,15 @@ class tinythunderbird_partner(osv.osv):
dictcreate = dict(vals)
datas = [dictcreate['datas']]
name = [dictcreate['name']]
f_name = [dictcreate['datas_fname']]
if(dictcreate['datas'].__contains__(',')):
name = dictcreate['name'].split(',')
datas = dictcreate['datas'].split(',')
f_name = dictcreate['datas_fname'].split(',')
for i in range(0,datas.__len__()):
dictcreate['name'] = name[i]
dictcreate['datas'] = datas[i]
dictcreate['datas_fname'] = f_name[i]
create_id = self.pool.get('ir.attachment').create(cr,user,dictcreate)
return 0

View File

@ -0,0 +1,107 @@
<openerp>
<data>
<record id="view_thunderbird_installer" model="ir.ui.view">
<field name="name">thunderbird.installer.view</field>
<field name="model">thunderbird.installer</field>
<field name="type">form</field>
<field name="inherit_id" ref="base.res_config_installer"/>
<field name="arch" type="xml">
<data>
<form position="attributes">
<attribute name="string">Thunderbird Module Installation</attribute>
</form>
<separator string="title" position="attributes">
<attribute name="string">Configure Thunderbird Module</attribute>
</separator>
<xpath expr="//label[@string='description']" position="attributes">
<attribute name="string">This module is required for the thuderbird plug-in to work properly.This allows you to select an object that you had like to add to your email and its attachments. You can select a partner, a task, a project, an analytical account, or any other object and attach selected mail as .eml file in attachment of selected record.</attribute>
</xpath>
<group colspan="8">
<separator string="Thunderbird" colspan="4"/>
<field name="thunderbird"/>
<field name="name" invisible="1"/>
<field name="pdf_name" invisible="1"/>
<newline/>
<field name="plugin_file" filename="name"/>
<button name="process_plugin" icon="gtk-execute" string="Get Plugin File" type="object"/>
<newline/>
<field name="pdf_file" filename="pdf_name"/>
<button name="process_pdf_file" icon="gtk-execute" string="Get Plugin Installation File" type="object"/>
<newline/>
<separator string="Thunderbird plugin installation note." colspan="4"/>
<label colspan="8" string="Save The thunderbird plug­in Follow the following step to install thunderbird plug­in ? 1. From Menu Bar, Open Tools ­> Add ons. 2. Now click on install button and a browser window will appear. 3. Just select the (.xpi) file from thunderbird/plugin directory and click ok, a new software installation window will appear and within a short time Install Now button will be enabled. 4. Click on Install Now and restart Thunderbird. 5. Now Thunderbird plug­in is installed."/>
</group>
</data>
</field>
</record>
<record id="action_thunderbird_installer" model="ir.actions.act_window">
<field name="name">Thunderbird Module Installation</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">thunderbird.installer</field>
<field name="view_id" ref="view_thunderbird_installer"/>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="target">new</field>
</record>
<record id="thunderbird_installer_todo" model="ir.actions.todo">
<field name="action_id" ref="action_thunderbird_installer"/>
<field name="sequence">3</field>
</record>
<!-- Configuration wizard. -->
<record id="view_thunderbird_wizard" model="ir.ui.view">
<field name="name">thunderbird.wizard</field>
<field name="model">thunderbird.installer</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string= "Thunderbird Installation">
<group colspan="4">
<separator string="Configure Thunderbird Module" colspan="4"/>
<group colspan="4" col="10">
<group colspan="2">
<image name="gtk-dialog-info"/>
<newline/>
<label align="0.0" string="This module is required for the thuderbird plug-in to work properly.This allows you to select an object that you had like to add to your email and its attachments. You can select a partner, a task, a project, an analytical account, or any other object and attach selected mail as .eml file in attachment of selected record." width="200"/>
</group>
<group colspan="8">
<separator string="Thunderbird" colspan="4"/>
<field name="thunderbird"/>
<field name="name" invisible="1"/>
<newline/>
<field name="plugin_file"/>
<button name="process_plugin" icon="gtk-execute" string="Get Plugin File" type="object"/>
<newline/>
<separator string="Thunderbird plugin installation note." colspan="4"/>
<label colspan="8" string="Save The thunderbird plug­in Follow the following step to install thunderbird plug­in ? 1. From Menu Bar, Open Tools ­> Add ons. 2. Now click on install button and a browser window will appear. 3. Just select the (.xpi) file from thunderbird/plugin directory and click ok, a new software installation window will appear and within a short time Install Now button will be enabled. 4. Click on Install Now and restart Thunderbird. 5. Now Thunderbird plug­in is installed."/>
</group>
</group>
</group>
<separator string="" colspan="4"/>
<group colspan="4">
<label align="0.0" string="" colspan="3"/>
<button colspan="1" icon="gtk-cancel" special="cancel" string="Cancel"/>
</group>
</form>
</field>
</record>
<record id="action_thunderbird_wizard" model="ir.actions.act_window">
<field name="name">Thunderbird Module Installation</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">thunderbird.installer</field>
<field name="view_id" ref="view_thunderbird_wizard"/>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="target">new</field>
</record>
<menuitem id="menu_base_config_plugins" name="Plugins" parent="base.menu_base_config" sequence="10" />
<menuitem id="menu_base_config_plugins_thunderbird" action="action_thunderbird_wizard" name="Thunderbird" parent="menu_base_config_plugins" sequence="10" />
</data>
</openerp>