nvi-openerp 2010-11-08 11:22:22 +01:00
commit 91c0e7621c
21 changed files with 15654 additions and 8466 deletions

View File

@ -79,7 +79,8 @@
<notebook colspan="4">
<page string="Current Activity">
<field name="company_id" widget="selection" readonly="0"
context="{'user_id': self, 'user_preference': 1}" groups="base.group_multi_company"/>
context="{'user_id': self, 'user_preference': 1}" groups="base.group_multi_company"
on_change="on_change_company_id(company_id)" />
<field name="view" readonly="0"/>
<label string="" colspan="2"/>
<separator string="Default Filters" colspan="4"/>
@ -93,7 +94,7 @@
<field name="context_tz" completion="1" readonly="0"/>
<field name="menu_tips" colspan="2" readonly="0"/>
<separator string="Email &amp; Signature" colspan="4"/>
<group colspan="4"><field name="user_email" widget="email"/></group>
<group colspan="4"><field name="user_email" widget="email" readonly="0"/></group>
<field colspan="4" name="signature" readonly="0" nolabel="1"/>
</page>
</notebook>
@ -118,7 +119,6 @@
<separator string="Contact" colspan="2"/>
<field name="company_id" required="1"
context="{'user_id': self, 'user_preference': 1}"
on_change="on_change_company_id(company_id)"
groups="base.group_multi_company"
/>
<field name="address_id"/>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: pt_BR\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2010-10-18 17:46+0000\n"
"PO-Revision-Date: 2010-10-25 14:39+0000\n"
"Last-Translator: Luiz Fernando M.França <Unknown>\n"
"PO-Revision-Date: 2010-11-07 07:00+0000\n"
"Last-Translator: OpenERP Administrators <Unknown>\n"
"Language-Team: <pt@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-10-26 04:36+0000\n"
"X-Launchpad-Export-Date: 2010-11-08 05:11+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
@ -354,7 +354,7 @@ msgstr "Bósnia"
#. module: base
#: selection:base.language.install,lang:0
msgid "Serbian / Serbia"
msgstr ""
msgstr "Sérvia"
#. module: base
#: help:res.lang,iso_code:0
@ -938,6 +938,7 @@ msgstr "Pesquisar"
msgid ""
"2. Group-specific rules are combined together with a logical AND operator"
msgstr ""
"Regras específicas do grupo são combinados com um operador lógico AND"
#. module: base
#: help:base.language.export,lang:0
@ -952,7 +953,7 @@ msgstr "Data de Requisição"
#. module: base
#: model:ir.ui.menu,name:base.menu_hr_dasboard
msgid "Dashboard"
msgstr ""
msgstr "Painel"
#. module: base
#: model:ir.ui.menu,name:base.menu_purchase_root
@ -1002,7 +1003,7 @@ msgstr "STOCK_REMOVE"
#: code:addons/base/module/wizard/base_update_translations.py:0
#, python-format
msgid "No language with code \"%s\" exists"
msgstr ""
msgstr "Não existe idioma para o código \"%s\""
#. module: base
#: help:ir.actions.server,email:0
@ -1024,7 +1025,7 @@ msgstr "-"
#. module: base
#: view:wizard.ir.model.menu.create:0
msgid "Create _Menu"
msgstr ""
msgstr "Criar _Menu"
#. module: base
#: field:res.payterm,name:0
@ -1049,11 +1050,13 @@ msgid ""
"If you check this box, your customized translations will be overwritten and "
"replaced by the official ones."
msgstr ""
"Se você marcar essa opção, suas traduções personalizadas serão substituídas "
"pelas oficiais."
#. module: base
#: field:ir.actions.report.xml,report_rml:0
msgid "Main report file path"
msgstr ""
msgstr "Principal caminho para o relatório"
#. module: base
#: model:ir.actions.act_window,name:base.ir_action_report_xml
@ -1096,6 +1099,8 @@ msgid ""
"Access all the fields related to the current object using expressions, i.e. "
"object.partner_id.name "
msgstr ""
"Acesse todos os domínios relacionados com o objeto atual usando expressões, "
"Ex.: object.partner_id.name "
#. module: base
#: view:maintenance.contract:0
@ -1149,6 +1154,8 @@ msgid ""
"Do not display this log if it belongs to the same object the user is working "
"on"
msgstr ""
"Não mostre esse log se ele pertencer a um mesmo objeto no qual o usuário "
"está trabalhando"
#. module: base
#: model:res.country,name:base.tp
@ -1191,7 +1198,7 @@ msgstr "wizard.ir.model.menu.create.line"
#. module: base
#: field:ir.attachment,res_id:0
msgid "Attached ID"
msgstr ""
msgstr "ID do anexo"
#. module: base
#: view:ir.sequence:0
@ -1289,7 +1296,7 @@ msgstr "Modelo anexado"
#. module: base
#: view:ir.rule:0
msgid "Domain Setup"
msgstr ""
msgstr "Configurar domínio"
#. module: base
#: field:ir.actions.server,trigger_name:0
@ -1353,7 +1360,7 @@ msgstr "Tipo de endereço"
#. module: base
#: view:ir.ui.menu:0
msgid "Full Path"
msgstr ""
msgstr "Endereço completo"
#. module: base
#: view:res.request:0
@ -1444,13 +1451,15 @@ msgid ""
"When using CSV format, please also check that the first line of your file is "
"one of the following:"
msgstr ""
"Ao usar o formato CSV, verifique se a primeira linha do seu arquivo contem "
"um dos seguintes procedimentos:"
#. module: base
#: model:ir.actions.act_window,name:base.res_log_act_window
#: model:ir.ui.menu,name:base.menu_res_log_act_window
#: view:res.log:0
msgid "Logs"
msgstr ""
msgstr "Logs"
#. module: base
#: selection:base.language.install,lang:0
@ -1463,6 +1472,9 @@ msgid ""
"This wizard will scan all module repositories on the server side to detect "
"newly added modules as well as any change to existing modules."
msgstr ""
"Este assistente irá verificar todos os repositórios de módulo no lado do "
"servidor para detecção de novos módulos, bem como qualquer alteração nos "
"módulos existentes."
#. module: base
#: field:res.company,logo:0
@ -1521,7 +1533,7 @@ msgstr "Número de módulos atualizados"
#. module: base
#: view:workflow.activity:0
msgid "Workflow Activity"
msgstr ""
msgstr "Atividade de Workflow"
#. module: base
#: view:ir.rule:0
@ -1577,11 +1589,13 @@ msgid ""
"Comma-separated list of allowed view modes, such as 'form', 'tree', "
"'calendar', etc. (Default: tree,form)"
msgstr ""
"Lista separada por virgula, permite modos de visão como 'form', 'tree', "
"'calendar', etc. (Default: tree,form)"
#. module: base
#: view:workflow:0
msgid "Workflow Editor"
msgstr ""
msgstr "Editor de Workflow"
#. module: base
#: selection:ir.module.module,state:0
@ -1696,7 +1710,7 @@ msgstr ""
#: code:addons/base/res/res_user.py:0
#, python-format
msgid "Make sure you have no users linked with the group(s)!"
msgstr ""
msgstr "Certifique-se de que você não tem usuários ligados ao grupo (s)!"
#. module: base
#: field:ir.actions.url,target:0
@ -1706,7 +1720,7 @@ msgstr "Ação alvo"
#. module: base
#: model:res.country,name:base.ai
msgid "Anguilla"
msgstr ""
msgstr "Anguilla"
#. module: base
#: field:ir.ui.view_sc,name:0
@ -1735,7 +1749,7 @@ msgstr "Zimbábue"
#. module: base
#: view:base.module.update:0
msgid "Please be patient, as this operation may take a few seconds..."
msgstr ""
msgstr "Esta operação pode demorar alguns segundos ..."
#. module: base
#: help:ir.values,action_id:0
@ -1788,7 +1802,7 @@ msgstr "Mapeando campos"
#. module: base
#: view:base.language.export:0
msgid "Export Translations"
msgstr ""
msgstr "Exportar traduções"
#. module: base
#: model:ir.ui.menu,name:base.menu_custom
@ -1820,7 +1834,7 @@ msgstr "Lituânia"
#: model:ir.model,name:base.model_partner_clear_ids
#: view:partner.clear.ids:0
msgid "Clear IDs"
msgstr ""
msgstr "Limpar IDs"
#. module: base
#: help:ir.cron,model:0
@ -1828,6 +1842,8 @@ msgid ""
"Name of object whose function will be called when this scheduler will run. "
"e.g. 'res.partener'"
msgstr ""
"Nome do objeto cuja função será chamada quando o agendador for executado. "
"por exemplo \"res.partner '"
#. module: base
#: code:addons/base/module/module.py:0
@ -1836,6 +1852,8 @@ msgid ""
"You Can Not Load Translation For language Due To Invalid Language/Country "
"Code"
msgstr ""
"Você não pode carregar a tradução devido ao código do pais ou idioma estar "
"inválido"
#. module: base
#: selection:ir.ui.menu,icon:0
@ -1865,7 +1883,7 @@ msgstr "Ações de repetição"
#. module: base
#: help:multi_company.default,company_id:0
msgid "Company where the user is connected"
msgstr ""
msgstr "Empresa onde o usuário está conectado"
#. module: base
#: field:maintenance.contract,date_stop:0
@ -1959,7 +1977,7 @@ msgstr "Armênia"
#: model:ir.actions.act_window,name:base.ir_property_form
#: model:ir.ui.menu,name:base.menu_ir_property_form_all
msgid "Configuration Parameters"
msgstr ""
msgstr "Parâmetros de Configuração"
#. module: base
#: model:res.country,name:base.se
@ -2018,7 +2036,7 @@ msgstr ""
#: field:res.config.users,config_logo:0
#: field:res.config.view,config_logo:0
msgid "Image"
msgstr ""
msgstr "Imagem"
#. module: base
#: view:ir.actions.server:0
@ -2035,7 +2053,7 @@ msgstr "Austria"
#: selection:base.module.import,state:0
#: selection:base.module.update,state:0
msgid "done"
msgstr ""
msgstr "Concluído"
#. module: base
#: selection:ir.actions.act_window.view,view_mode:0
@ -2136,6 +2154,8 @@ msgid ""
"Please double-check that the file encoding is set to UTF-8 (sometimes called "
"Unicode) when the translator exports it."
msgstr ""
"Por favor, verifique novamente se a codificação do arquivo é definido como "
"UTF-8 (às vezes chamado de Unicode), quando exportá-lo"
#. module: base
#: model:ir.model,name:base.model_workflow_activity
@ -2190,7 +2210,7 @@ msgstr "Sr."
#. module: base
#: view:base.module.import:0
msgid "Select module package to import (.zip file):"
msgstr ""
msgstr "Selecione pacote do módulo para importar (arquivo zip.)"
#. module: base
#: field:ir.default,ref_id:0
@ -2242,17 +2262,17 @@ msgstr "Instâncias"
#. module: base
#: help:res.partner,employee:0
msgid "Check this box if the partner is an Employee."
msgstr ""
msgstr "Marque esta caixa se o parceiro for um empregado."
#. module: base
#: field:ir.actions.report.xml,auto:0
msgid "Custom python parser"
msgstr ""
msgstr "Personalizar analisador python"
#. module: base
#: view:base.language.import:0
msgid "_Import"
msgstr ""
msgstr "_Importar"
#. module: base
#: view:res.partner.canal:0
@ -2320,7 +2340,7 @@ msgstr "Direita-para-esquerda"
#: model:ir.model,name:base.model_ir_filters
#: model:ir.ui.menu,name:base.menu_ir_filters
msgid "Filters"
msgstr ""
msgstr "Filtros"
#. module: base
#: model:ir.actions.act_window,name:base.ir_cron_act
@ -2339,7 +2359,7 @@ msgstr "Título"
#. module: base
#: help:ir.property,res_id:0
msgid "If not set, acts as a default value for new resources"
msgstr ""
msgstr "Se não for definido, atua como um valor padrão para novos recursos"
#. module: base
#: selection:ir.ui.menu,icon:0
@ -2364,6 +2384,9 @@ msgid ""
"loading a new language it becomes available as default interface language "
"for users and partners."
msgstr ""
"Este assistente ajuda você adicionar um novo idioma ao seu sistema OpenERP. "
"Depois de caqrregar uma nova linguagem ela se torna disponível como idioma "
"padrão de interface para usuários e parceiros."
#. module: base
#: view:ir.model:0
@ -2413,18 +2436,18 @@ msgstr "Registro de Regras"
#. module: base
#: view:ir.property:0
msgid "Field Information"
msgstr ""
msgstr "Informação do campo"
#. module: base
#: view:ir.actions.todo:0
msgid "Search Actions"
msgstr ""
msgstr "Ações de pesquisa"
#. module: base
#: model:ir.actions.act_window,name:base.action_view_partner_wizard_ean_check
#: view:partner.wizard.ean.check:0
msgid "Ean check"
msgstr ""
msgstr "Verificar EAN"
#. module: base
#: field:res.partner,vat:0
@ -2558,7 +2581,7 @@ msgstr "Enviar SMS"
#. module: base
#: selection:base.language.install,lang:0
msgid "Hindi / India"
msgstr ""
msgstr "India"
#. module: base
#: field:res.partner,ean13:0
@ -2589,12 +2612,12 @@ msgstr "6. %d, %m ==> 05, 12"
#: field:res.config.users,date:0
#: field:res.users,date:0
msgid "Last Connection"
msgstr ""
msgstr "Última conecção"
#. module: base
#: field:ir.actions.act_window,help:0
msgid "Action description"
msgstr ""
msgstr "Descrição da ação"
#. module: base
#: help:res.partner,customer:0
@ -2667,7 +2690,7 @@ msgstr "Campo Base"
#. module: base
#: field:ir.actions.todo,restart:0
msgid "Restart"
msgstr ""
msgstr "Reiniciar"
#. module: base
#: field:ir.actions.report.xml,report_sxw_content:0
@ -2707,7 +2730,7 @@ msgstr "Obrigatório"
#. module: base
#: view:res.users:0
msgid "Default Filters"
msgstr ""
msgstr "Filtros padrões"
#. module: base
#: field:res.request.history,name:0
@ -2722,7 +2745,7 @@ msgstr ""
#. module: base
#: field:multi_company.default,expression:0
msgid "Expression"
msgstr ""
msgstr "Expressão"
#. module: base
#: help:ir.actions.server,subject:0
@ -2744,6 +2767,8 @@ msgid ""
"Optional help text for the users with a description of the target view, such "
"as its usage and purpose."
msgstr ""
"Texto de ajuda opcional para os usuários, com uma descrição do modo de "
"exibição de destino, como a sua utilização e finalidade."
#. module: base
#: model:res.country,name:base.va
@ -2758,12 +2783,12 @@ msgstr "Arquivo de módulo .ZIP"
#. module: base
#: field:ir.ui.view,xml_id:0
msgid "XML ID"
msgstr ""
msgstr "ID do XML"
#. module: base
#: model:res.partner.category,name:base.res_partner_category_16
msgid "Telecom sector"
msgstr ""
msgstr "Setor de Telecom"
#. module: base
#: field:workflow.transition,trigger_model:0
@ -2773,7 +2798,7 @@ msgstr "Objeto a disparar"
#. module: base
#: view:res.users:0
msgid "Current Activity"
msgstr ""
msgstr "Atividade atual"
#. module: base
#: view:workflow.activity:0
@ -2789,7 +2814,7 @@ msgstr "Suriname"
#. module: base
#: model:ir.ui.menu,name:base.marketing_menu
msgid "Marketing"
msgstr ""
msgstr "Marketing"
#. module: base
#: view:res.partner.bank:0
@ -2825,7 +2850,7 @@ msgstr "STOCK_SAVE_AS"
#. module: base
#: selection:ir.actions.todo,restart:0
msgid "Always"
msgstr ""
msgstr "Sempre"
#. module: base
#: selection:ir.translation,type:0
@ -2843,6 +2868,8 @@ msgid ""
"The selected language has been successfully installed. You must change the "
"preferences of the user and open a new menu to view the changes."
msgstr ""
"O idioma selecionado foi instalado com sucesso. Você precisar alterar as "
"preferências do usuário e abrir um novo menu para ver as alterações."
#. module: base
#: field:ir.actions.act_window.view,view_id:0
@ -2894,7 +2921,7 @@ msgstr "Autor"
#. module: base
#: model:res.country,name:base.mk
msgid "FYROM"
msgstr ""
msgstr "De"
#. module: base
#: selection:ir.ui.menu,icon:0
@ -2934,7 +2961,7 @@ msgstr "Direção"
#. module: base
#: selection:base.language.install,lang:0
msgid "Latvian / Latvia"
msgstr ""
msgstr "Letônia"
#. module: base
#: view:ir.actions.act_window:0
@ -2956,7 +2983,7 @@ msgstr "Regras"
#. module: base
#: selection:base.language.install,lang:0
msgid "Urdu / Pakistan"
msgstr ""
msgstr "Paquistão"
#. module: base
#: code:addons/base/module/module.py:0
@ -2992,7 +3019,7 @@ msgstr "Workflows"
#. module: base
#: model:ir.actions.act_window,name:base.action_config_user_form
msgid "Create Users"
msgstr ""
msgstr "Criar usuários"
#. module: base
#: view:ir.values:0
@ -3002,7 +3029,7 @@ msgstr "tree_but_action, client_print_multi"
#. module: base
#: model:res.partner.category,name:base.res_partner_category_retailers0
msgid "Retailers"
msgstr ""
msgstr "Varejistas"
#. module: base
#: help:ir.cron,priority:0
@ -3038,22 +3065,22 @@ msgstr "Quênia"
#. module: base
#: view:res.partner.event:0
msgid "Event"
msgstr ""
msgstr "Evento"
#. module: base
#: model:ir.ui.menu,name:base.menu_custom_reports
msgid "Custom Reports"
msgstr ""
msgstr "Relatórios personalizados"
#. module: base
#: view:base.module.configuration:0
msgid "System Configuration Done"
msgstr ""
msgstr "Configuração concluída"
#. module: base
#: view:ir.property:0
msgid "Generic"
msgstr ""
msgstr "Genérico"
#. module: base
#: model:res.country,name:base.sm
@ -3083,7 +3110,7 @@ msgstr ""
#. module: base
#: help:ir.sequence,suffix:0
msgid "Suffix value of the record for the sequence"
msgstr ""
msgstr "Sufíxo do registro para a sequência"
#. module: base
#: selection:ir.ui.menu,icon:0
@ -3148,7 +3175,7 @@ msgstr ""
#: view:ir.model.access:0
#: view:ir.rule:0
msgid "Full Access"
msgstr ""
msgstr "Acesso completo"
#. module: base
#: view:ir.actions.act_window:0
@ -3162,7 +3189,7 @@ msgstr "Segurança"
#. module: base
#: model:res.widget,title:base.openerp_twitter_favorites
msgid "OpenERP Favorites"
msgstr ""
msgstr "Favoritos do OpenERP"
#. module: base
#: model:res.country,name:base.za
@ -3180,7 +3207,7 @@ msgstr "Instalado"
#: model:ir.actions.act_window,name:base.action_translation
#: model:ir.ui.menu,name:base.menu_action_translation
msgid "Translation Terms"
msgstr ""
msgstr "Termos traduzidos"
#. module: base
#: model:res.country,name:base.sn
@ -3215,7 +3242,7 @@ msgstr "Próximo numero"
#. module: base
#: help:workflow.transition,condition:0
msgid "Expression to be satisfied if we want the transition done."
msgstr ""
msgstr "Expressão a ser satisfeita, se quisermos fazer a transição."
#. module: base
#: selection:ir.ui.menu,icon:0
@ -3298,7 +3325,7 @@ msgstr "Menu Superior(pai)"
#. module: base
#: field:ir.rule,perm_unlink:0
msgid "Apply For Delete"
msgstr ""
msgstr "Aplique para excluir"
#. module: base
#: help:ir.actions.act_window.view,multi:0
@ -3380,7 +3407,7 @@ msgstr "Descrição geral"
#. module: base
#: model:ir.actions.act_window,name:base.action_config_simple_view_form
msgid "Configure Your Interface"
msgstr ""
msgstr "Configure sua interface"
#. module: base
#: field:ir.values,meta:0
@ -3402,7 +3429,7 @@ msgstr "Venezuela"
#. module: base
#: selection:base.language.install,lang:0
msgid "Malayalam / India"
msgstr ""
msgstr "India"
#. module: base
#: view:res.lang:0
@ -3478,6 +3505,8 @@ msgid ""
"If set to true, the action will not be displayed on the right toolbar of a "
"form view"
msgstr ""
"Se definido como verdadeiro, a ação não será exibida na barra à direito na "
"exibição de formulário"
#. module: base
#: model:res.country,name:base.ms
@ -3496,6 +3525,8 @@ msgid ""
"The user's timezone, used to perform timezone conversions between the server "
"and the client."
msgstr ""
"Fuso horário do usuário, utilizado para realizar conversões de fuso horário "
"entre o servidor e o cliente."
#. module: base
#: field:ir.module.module,demo:0
@ -3518,6 +3549,8 @@ msgid ""
"Source activity. When this activity is over, the condition is tested to "
"determine if we can start the ACT_TO activity."
msgstr ""
"Atividade de origem. Quando essa atividade acontece, a condição é testada "
"para determinar se podemos começar a atividade (ACT_TO)."
#. module: base
#: model:res.partner.category,name:base.res_partner_category_3
@ -3527,7 +3560,7 @@ msgstr "Parceiro Inicial"
#. module: base
#: view:base.module.upgrade:0
msgid "Your system will be updated."
msgstr ""
msgstr "Seu sistema será atualizado."
#. module: base
#: model:ir.model,name:base.model_ir_actions_act_window_view
@ -3572,7 +3605,7 @@ msgstr "Ilhas Svalbard e Jan Mayen"
#. module: base
#: model:ir.ui.menu,name:base.menu_view_base_module_update
msgid " Update Modules List"
msgstr ""
msgstr " Lista de módulos a atualizar"
#. module: base
#: view:ir.actions.act_window:0
@ -3587,17 +3620,17 @@ msgstr "Agrupar Por"
#: view:res.config:0
#: view:res.config.installer:0
msgid "title"
msgstr ""
msgstr "Título"
#. module: base
#: model:ir.model,name:base.model_base_language_install
msgid "Install Language"
msgstr ""
msgstr "Instalar idioma"
#. module: base
#: view:ir.translation:0
msgid "Translation"
msgstr ""
msgstr "Tradução"
#. module: base
#: selection:ir.ui.menu,icon:0
@ -3724,13 +3757,13 @@ msgstr "Horas"
#. module: base
#: model:res.country,name:base.gp
msgid "Guadeloupe (French)"
msgstr ""
msgstr "Guadalupe (em francês)"
#. module: base
#: code:addons/base/res/res_lang.py:0
#, python-format
msgid "User Error"
msgstr ""
msgstr "Erro de usuário"
#. module: base
#: help:workflow.transition,signal:0
@ -3739,11 +3772,14 @@ msgid ""
"form, signal tests the name of the pressed button. If signal is NULL, no "
"button is necessary to validate this transition."
msgstr ""
"Quando a operação de transição vem de um botão pressionado no formulário de "
"cliente, testa o nome do botão pressionado. Se o sinal for NULL, nenhum "
"botão é necessário para validar esta transição."
#. module: base
#: help:multi_company.default,object_id:0
msgid "Object affected by this rule"
msgstr ""
msgstr "Objeto afetado por esta regra"
#. module: base
#: report:ir.module.reference.graph:0
@ -3758,12 +3794,12 @@ msgstr "Nome do Menu"
#. module: base
#: view:ir.module.module:0
msgid "Author Website"
msgstr ""
msgstr "Autor do site"
#. module: base
#: view:ir.attachment:0
msgid "Month"
msgstr ""
msgstr "Mês"
#. module: base
#: model:res.country,name:base.my
@ -3774,7 +3810,7 @@ msgstr "Malásia"
#: view:base.language.install:0
#: model:ir.actions.act_window,name:base.action_view_base_language_install
msgid "Load Official Translation"
msgstr ""
msgstr "Carregar uma tradução oficial"
#. module: base
#: view:ir.actions.server:0
@ -3795,7 +3831,7 @@ msgstr ""
#. module: base
#: selection:base.language.install,lang:0
msgid "Indonesian / Bahasa Indonesia"
msgstr ""
msgstr "Indonésia"
#. module: base
#: model:res.country,name:base.cv
@ -3849,7 +3885,7 @@ msgstr "Numero de módulos adicionados"
#. module: base
#: view:res.currency:0
msgid "Price Accuracy"
msgstr ""
msgstr "Precisão do preço"
#. module: base
#: view:res.config:0
@ -3861,7 +3897,7 @@ msgstr ""
#: model:ir.actions.server,name:base.action_start_configurator
#: model:ir.ui.menu,name:base.menu_view_base_module_configuration
msgid "Start Configuration"
msgstr ""
msgstr "Iniciar configuração"
#. module: base
#: view:ir.module.module:0
@ -3912,12 +3948,12 @@ msgstr "ir.cron"
#. module: base
#: view:ir.rule:0
msgid "Combination of rules"
msgstr ""
msgstr "Conbinação de regras"
#. module: base
#: view:ir.sequence:0
msgid "Current Year without Century: %(y)s"
msgstr ""
msgstr "Ano atual sem o século: %(y)s"
#. module: base
#: selection:ir.ui.menu,icon:0
@ -3990,7 +4026,7 @@ msgstr ""
#: model:ir.actions.act_window,name:base.action_maintenance_contract_form
#: model:ir.ui.menu,name:base.menu_maintenance_contract
msgid "Maintenance Contracts"
msgstr ""
msgstr "Contratos de manutenção"
#. module: base
#: model:ir.actions.wizard,name:base.wizard_server_action_create
@ -4063,7 +4099,7 @@ msgstr "Bancos"
#. module: base
#: view:res.log:0
msgid "Unread"
msgstr ""
msgstr "Não lido"
#. module: base
#: selection:ir.ui.menu,icon:0
@ -4204,22 +4240,22 @@ msgstr ""
#. module: base
#: model:ir.ui.menu,name:base.menu_main_pm
msgid "Project"
msgstr ""
msgstr "Projeto"
#. module: base
#: view:base.module.import:0
msgid "Module file successfully imported!"
msgstr ""
msgstr "Módulo importado com sucesso!"
#. module: base
#: selection:ir.actions.todo,state:0
msgid "Cancelled"
msgstr ""
msgstr "Cancelado"
#. module: base
#: view:partner.clear.ids:0
msgid "Want to Clear Ids ? "
msgstr ""
msgstr "Quer limpar Ids? "
#. module: base
#: selection:res.request,priority:0
@ -4253,7 +4289,7 @@ msgstr "Selecione o objeto do modelo sobre o qual o workflow será executado."
#. module: base
#: field:res.partner,employee:0
msgid "Employee"
msgstr ""
msgstr "Empregado"
#. module: base
#: field:ir.model.access,perm_create:0
@ -4268,7 +4304,7 @@ msgstr "Estado(UF)"
#. module: base
#: field:ir.actions.server,copy_object:0
msgid "Copy Of"
msgstr ""
msgstr "Copiar de"
#. module: base
#: field:ir.model,osv_memory:0
@ -4278,7 +4314,7 @@ msgstr ""
#. module: base
#: view:partner.clear.ids:0
msgid "Clear Ids"
msgstr ""
msgstr "Limpar Ids"
#. module: base
#: model:res.country,name:base.io
@ -4290,7 +4326,7 @@ msgstr "Território britânico do Oceano Índico"
#: field:res.config.view,view:0
#: field:res.users,view:0
msgid "Interface"
msgstr ""
msgstr "Interface"
#. module: base
#: view:ir.actions.server:0
@ -4354,7 +4390,7 @@ msgstr "Nome completo"
#. module: base
#: view:base.module.configuration:0
msgid "_Ok"
msgstr ""
msgstr "_Ok"
#. module: base
#: help:ir.filters,user_id:0
@ -4369,7 +4405,7 @@ msgstr "Moçambique"
#. module: base
#: model:ir.ui.menu,name:base.menu_project_long_term
msgid "Long Term Planning"
msgstr ""
msgstr "Planejamento de Longo Prazo"
#. module: base
#: field:ir.actions.server,message:0
@ -4399,7 +4435,7 @@ msgstr "Contatos"
#. module: base
#: model:res.country,name:base.fo
msgid "Faroe Islands"
msgstr ""
msgstr "Ilhas Feroé"
#. module: base
#: code:addons/base/res/res_user.py:0
@ -4408,6 +4444,9 @@ msgid ""
"\"email_from\" needs to be set to send welcome mails '\n"
" 'to users"
msgstr ""
"\"Email_from\" precisa ser configurado para enviar e-mails de boas vindas "
"\"\n"
" 'aos usuários"
#. module: base
#: view:base.module.upgrade:0
@ -4424,7 +4463,7 @@ msgstr "Manutenção"
#. module: base
#: view:res.widget:0
msgid "Widgets"
msgstr ""
msgstr "Widgets"
#. module: base
#: model:res.country,name:base.mp
@ -4434,7 +4473,7 @@ msgstr "Ilhas Marianas do Norte"
#. module: base
#: selection:ir.property,type:0
msgid "Integer"
msgstr ""
msgstr "Inteiro"
#. module: base
#: selection:ir.ui.menu,icon:0
@ -4447,12 +4486,14 @@ msgid ""
"The path to the main report file (depending on Report Type) or NULL if the "
"content is in another data field"
msgstr ""
"O caminho para o arquivo do relatório principal (dependendo tipo de "
"relatório) ou NULL se o conteúdo está em outro campo de dados"
#. module: base
#: help:res.config.users,company_id:0
#: help:res.users,company_id:0
msgid "The company this user is currently working for."
msgstr ""
msgstr "A empresa onde o usuário está trabalhando."
#. module: base
#: model:ir.model,name:base.model_wizard_ir_model_menu_create
@ -4532,7 +4573,7 @@ msgstr "Fechar"
#. module: base
#: view:res.log:0
msgid "My Logs"
msgstr ""
msgstr "Meus logs"
#. module: base
#: model:res.country,name:base.bt
@ -4542,7 +4583,7 @@ msgstr "Butão"
#. module: base
#: help:ir.sequence,number_next:0
msgid "Next number of this sequence"
msgstr ""
msgstr "Próximo número para esta sequência"
#. module: base
#: model:res.partner.category,name:base.res_partner_category_11
@ -4578,7 +4619,7 @@ msgstr "res.config.view"
#: view:res.log:0
#: field:res.log,read:0
msgid "Read"
msgstr ""
msgstr "Leia"
#. module: base
#: selection:ir.ui.menu,icon:0

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: 2010-10-18 17:46+0000\n"
"PO-Revision-Date: 2010-10-25 07:03+0000\n"
"PO-Revision-Date: 2010-11-01 08:31+0000\n"
"Last-Translator: Chertykov Denis <chertykov@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-10-26 04:36+0000\n"
"X-Launchpad-Export-Date: 2010-11-02 04:49+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
@ -383,7 +383,7 @@ msgstr "Колумбия"
#. module: base
#: view:ir.module.module:0
msgid "Schedule Upgrade"
msgstr "Обновление расписания"
msgstr "Запланировать обновление"
#. module: base
#: selection:base.language.install,lang:0
@ -540,7 +540,7 @@ msgstr ""
#. module: base
#: field:res.partner,title:0
msgid "Partner Form"
msgstr "Форма ввода партнера"
msgstr "Форма собственности"
#. module: base
#: selection:ir.ui.menu,icon:0
@ -578,12 +578,12 @@ msgstr "Импорт языка"
#. module: base
#: model:ir.model,name:base.model_res_config_users
msgid "res.config.users"
msgstr ""
msgstr "res.config.users"
#. module: base
#: model:ir.model,name:base.model_base_language_export
msgid "base.language.export"
msgstr ""
msgstr "base.language.export"
#. module: base
#: selection:ir.ui.menu,icon:0
@ -706,7 +706,7 @@ msgstr ""
msgid ""
"Sets the language for the user's user interface, when UI translations are "
"available"
msgstr ""
msgstr "Установит язык интерфейса пользователя, если есть переводы"
#. module: base
#: model:ir.actions.act_window,name:base.act_menu_create
@ -988,7 +988,7 @@ msgstr "STOCK_REMOVE"
#: code:addons/base/module/wizard/base_update_translations.py:0
#, python-format
msgid "No language with code \"%s\" exists"
msgstr ""
msgstr "Нет языка с кодом \"%s\""
#. module: base
#: help:ir.actions.server,email:0
@ -1327,7 +1327,7 @@ msgstr "Малави"
#: code:addons/base/res/res_user.py:0
#, python-format
msgid "%s (copy)"
msgstr ""
msgstr "%s (копия)"
#. module: base
#: field:res.partner.address,type:0
@ -1605,7 +1605,7 @@ msgstr "Поле мастера"
#. module: base
#: view:ir.rule:0
msgid "Groups (no group = global)"
msgstr ""
msgstr "Группы (нет групп = глобально)"
#. module: base
#: selection:ir.ui.menu,icon:0
@ -2178,7 +2178,7 @@ msgstr "Г-н"
#. module: base
#: view:base.module.import:0
msgid "Select module package to import (.zip file):"
msgstr ""
msgstr "Выберите пакет модуля для импорта (.zip файл)"
#. module: base
#: field:ir.default,ref_id:0
@ -3073,7 +3073,7 @@ msgstr "Бенин"
#. module: base
#: help:ir.sequence,suffix:0
msgid "Suffix value of the record for the sequence"
msgstr ""
msgstr "Суффикс записи для последовательности"
#. module: base
#: selection:ir.ui.menu,icon:0
@ -4335,7 +4335,7 @@ msgstr "Подпись"
#. module: base
#: model:ir.model,name:base.model_res_widget_user
msgid "res.widget.user"
msgstr ""
msgstr "res.widget.user"
#. module: base
#: field:res.partner.category,complete_name:0
@ -4869,7 +4869,7 @@ msgstr "STOCK_ABOUT"
#. module: base
#: model:ir.model,name:base.model_base_update_translations
msgid "base.update.translations"
msgstr ""
msgstr "base.update.translations"
#. module: base
#: selection:ir.model.fields,select_level:0
@ -5200,7 +5200,7 @@ msgstr "Файл"
#. module: base
#: model:ir.actions.act_window,name:base.action_view_base_module_upgrade_install
msgid "Module Upgrade Install"
msgstr ""
msgstr "Обновление / Установка модуля"
#. module: base
#: model:ir.model,name:base.model_ir_actions_configuration_wizard
@ -5242,12 +5242,12 @@ msgstr "Полный"
#. module: base
#: field:multi_company.default,company_dest_id:0
msgid "Default Company"
msgstr ""
msgstr "Компания по умолчанию"
#. module: base
#: help:ir.ui.view,xml_id:0
msgid "ID of the view defined in xml file"
msgstr ""
msgstr "ID вида определенного в файле xml."
#. module: base
#: model:ir.model,name:base.model_base_module_import
@ -5576,7 +5576,7 @@ msgstr "Компании"
#. module: base
#: model:ir.model,name:base.model_res_widget
msgid "res.widget"
msgstr ""
msgstr "res.widget"
#. module: base
#: code:addons/base/res/res_lang.py:0
@ -5637,7 +5637,7 @@ msgstr ""
#. module: base
#: view:res.request:0
msgid "Current"
msgstr ""
msgstr "Текущий"
#. module: base
#: model:res.partner.category,name:base.res_partner_category_9
@ -5762,7 +5762,7 @@ msgstr ""
#. module: base
#: field:base.language.import,name:0
msgid "Language Name"
msgstr ""
msgstr "Название языка"
#. module: base
#: selection:ir.property,type:0
@ -5879,7 +5879,7 @@ msgstr "Код"
#. module: base
#: model:ir.model,name:base.model_res_config_installer
msgid "res.config.installer"
msgstr ""
msgstr "res.config.installer"
#. module: base
#: selection:base.language.install,lang:0
@ -5964,7 +5964,7 @@ msgstr "Франция"
#. module: base
#: model:ir.model,name:base.model_res_log
msgid "res.log"
msgstr ""
msgstr "res.log"
#. module: base
#: view:workflow.activity:0
@ -6124,6 +6124,8 @@ msgstr "Острова Питкэрн"
msgid ""
"We suggest to reload the menu tab to see the new menus (Ctrl+T then Ctrl+R)."
msgstr ""
"Советуем перезагрузить вкладку с меню, чтобы увидеть новое меню (Ctrl+T "
"затем Ctrl+R)."
#. module: base
#: model:ir.actions.act_window,name:base.action_rule
@ -6299,7 +6301,7 @@ msgstr "Идентификаторы объекта"
#. module: base
#: view:base.language.export:0
msgid "To browse official translations, you can start with these links:"
msgstr ""
msgstr "Для просмотра официальных переводов начните с этой ссылки:"
#. module: base
#: view:res.bank:0
@ -6328,7 +6330,7 @@ msgstr "ir.translation"
#. module: base
#: view:base.module.update:0
msgid "Module update result"
msgstr ""
msgstr "Результат обновления модуля"
#. module: base
#: view:workflow.activity:0
@ -6741,7 +6743,7 @@ msgstr "Открыть окно"
#. module: base
#: field:ir.actions.act_window,auto_search:0
msgid "Auto Search"
msgstr ""
msgstr "Авто поиск"
#. module: base
#: field:ir.actions.act_window,filter:0
@ -6802,7 +6804,7 @@ msgstr "Сомали"
#. module: base
#: model:ir.model,name:base.model_res_config
msgid "res.config"
msgstr ""
msgstr "res.config"
#. module: base
#: model:res.partner.category,name:base.res_partner_category_13
@ -6830,12 +6832,12 @@ msgstr "Аргументы"
#. module: base
#: selection:ir.module.module,license:0
msgid "GPL Version 2"
msgstr ""
msgstr "GPL версия 2"
#. module: base
#: selection:ir.module.module,license:0
msgid "GPL Version 3"
msgstr ""
msgstr "GPL версия 3"
#. module: base
#: view:partner.wizard.ean.check:0
@ -7432,7 +7434,7 @@ msgstr "STOCK_GO_FORWARD"
#. module: base
#: field:base.language.install,overwrite:0
msgid "Overwrite Existing Terms"
msgstr ""
msgstr "Заменить существующие выражения"
#. module: base
#: help:ir.actions.server,code:0
@ -7787,7 +7789,7 @@ msgstr "Символ"
#: help:res.config.users,login:0
#: help:res.users,login:0
msgid "Used to log into the system"
msgstr ""
msgstr "Используется для входа в систему"
#. module: base
#: view:base.update.translations:0
@ -7845,7 +7847,7 @@ msgstr "Счет номер"
#: code:addons/base/res/res_lang.py:0
#, python-format
msgid "Base Language 'en_US' can not be deleted !"
msgstr ""
msgstr "Базовый язык 'en_US' нельзя удалить !"
#. module: base
#: selection:ir.model,state:0
@ -7924,7 +7926,7 @@ msgstr ""
#. module: base
#: view:base.module.update:0
msgid "Update Module List"
msgstr ""
msgstr "Обновить список модулей"
#. module: base
#: selection:res.partner.address,type:0
@ -7983,7 +7985,7 @@ msgstr "terp-personal"
#. module: base
#: constraint:ir.rule:0
msgid "Rules are not supported for osv_memory objects !"
msgstr ""
msgstr "Правила не поддерживаются для объектов osv_memory !"
#. module: base
#: model:ir.ui.menu,name:base.menu_event_association
@ -8089,7 +8091,7 @@ msgstr "%c - Подходящий формат даты и времени."
#. module: base
#: view:res.config.installer:0
msgid "Install Modules"
msgstr ""
msgstr "Установить модули"
#. module: base
#: model:ir.actions.act_window,name:base.res_partner_canal-act
@ -8102,7 +8104,7 @@ msgstr "Каналы"
#. module: base
#: view:ir.ui.view:0
msgid "Extra Info"
msgstr ""
msgstr "Доп. инфо."
#. module: base
#: model:ir.actions.act_window,name:base.act_values_form_action
@ -8374,7 +8376,7 @@ msgstr "Узбекистан"
#: model:ir.model,name:base.model_ir_actions_act_window
#: selection:ir.ui.menu,action:0
msgid "ir.actions.act_window"
msgstr ""
msgstr "ir.actions.act_window"
#. module: base
#: field:ir.rule,perm_create:0
@ -8414,7 +8416,7 @@ msgstr "Использование действия"
#. module: base
#: model:ir.model,name:base.model_workflow_workitem
msgid "workflow.workitem"
msgstr ""
msgstr "workflow.workitem"
#. module: base
#: selection:ir.module.module,state:0
@ -8485,7 +8487,7 @@ msgstr "Cостояния"
#. module: base
#: model:ir.model,name:base.model_base_module_configuration
msgid "base.module.configuration"
msgstr ""
msgstr "base.module.configuration"
#. module: base
#: field:base.language.export,name:0
@ -8626,7 +8628,7 @@ msgstr "Острова Уоллис и Футуна"
#. module: base
#: model:ir.model,name:base.model_ir_wizard_screen
msgid "ir.wizard.screen"
msgstr ""
msgstr "ir.wizard.screen"
#. module: base
#: model:res.country,name:base.rw
@ -8776,7 +8778,7 @@ msgstr "STOCK_DIRECTORY"
#: model:ir.model,name:base.model_ir_actions_server
#: selection:ir.ui.menu,action:0
msgid "ir.actions.server"
msgstr ""
msgstr "ir.actions.server"
#. module: base
#: field:ir.actions.configuration.wizard,progress:0
@ -8890,7 +8892,7 @@ msgstr "Обновление системы"
#. module: base
#: help:ir.sequence,prefix:0
msgid "Prefix value of the record for the sequence"
msgstr ""
msgstr "Префикс записи для последовательности"
#. module: base
#: model:res.country,name:base.sc
@ -8943,7 +8945,7 @@ msgstr ""
#. module: base
#: help:ir.sequence,number_increment:0
msgid "The next number of the sequence will be incremented by this number"
msgstr ""
msgstr "Следующее число последовательности будет увеличено на это число"
#. module: base
#: field:ir.cron,function:0
@ -8960,7 +8962,7 @@ msgstr ""
#. module: base
#: selection:ir.actions.todo,restart:0
msgid "Never"
msgstr ""
msgstr "Никогда"
#. module: base
#: selection:res.partner.address,type:0
@ -9003,7 +9005,7 @@ msgstr "Создать объект"
#: view:ir.filters:0
#: field:res.log,context:0
msgid "Context"
msgstr ""
msgstr "Контекст"
#. module: base
#: field:res.bank,bic:0

File diff suppressed because it is too large Load Diff

View File

@ -60,7 +60,7 @@ class ir_filters(osv.osv):
'user_id':fields.many2one('res.users', 'User', help='False means for every user'),
'domain': fields.text('Domain Value', required=True),
'context': fields.text('Context Value', required=True),
'model_id': fields.selection(_list_all_models, 'Object', required=True),
'model_id': fields.selection(_list_all_models, 'Object', size=64, required=True),
}
ir_filters()

View File

@ -9,22 +9,22 @@
<field name="arch" type="xml">
<form string="Import module">
<group col="8">
<group colspan="3">
<group colspan="3" col="1">
<field name="config_logo" widget="image" width="220" height="130" nolabel="1" colspan="1"/>
<newline/>
<label colspan="4" width="220" string="This wizard helps you add a new language to you OpenERP system. After loading a new language it becomes available as default interface language for users and partners."/>
<label colspan="4" width="220"/>
<label colspan="4" width="220" string="Please be patient, this operation may take a few minutes (depending on the number of modules currently installed)..."/>
<label width="220" string="This wizard helps you add a new language to you OpenERP system. After loading a new language it becomes available as default interface language for users and partners."/>
<label width="220"/>
<label width="220" string="Please be patient, this operation may take a few minutes (depending on the number of modules currently installed)..."/>
<field name="state" invisible="1"/>
</group>
<separator orientation="vertical" rowspan="15"/>
<separator orientation="vertical" rowspan="5"/>
<group colspan="4">
<separator string="Module Import" colspan="4"/>
<group states="init" colspan="4" col="4">
<group states="init" col="4">
<label string="Select module package to import (.zip file):" colspan="4"/>
<field name="module_file" colspan="4"/>
</group>
<group states="done" colspan="4" col="4">
<group states="done" col="4">
<label string="Module file successfully imported!" colspan="4"/>
</group>
</group>

View File

@ -52,6 +52,10 @@ class base_update_translations(osv.osv_memory):
def default_get(self, cr, uid, fields, context=None):
res = super(base_update_translations, self).default_get(cr, uid, fields, context=context)
if context.get('active_model') != "res.lang":
return res
record_id = context and context.get('active_id', False) or False
if record_id:
lang = self.pool.get('res.lang').browse(cr, uid, record_id).code

View File

@ -90,8 +90,8 @@ class res_company(osv.osv):
'account_no':fields.char('Account No.', size=64),
}
def search(self, cr, uid, args, offset=0, limit=None, order=None,
context=None, count=False):
def _search(self, cr, uid, args, offset=0, limit=None, order=None,
context=None, count=False, access_rights_uid=None):
if context is None:
context = {}
@ -106,8 +106,8 @@ class res_company(osv.osv):
user = self.pool.get('res.users').browse(cr, uid, user_id, context=context)
cmp_ids = list(set([user.company_id.id] + [cmp.id for cmp in user.company_ids]))
return cmp_ids
return super(res_company, self).search(cr, uid, args, offset=offset, limit=limit, order=order,
context=context, count=count)
return super(res_company, self)._search(cr, uid, args, offset=offset, limit=limit, order=order,
context=context, count=count, access_rights_uid=access_rights_uid)
def _company_default_get(self, cr, uid, object=False, field=False, context=None):
"""

View File

@ -76,7 +76,7 @@
</group>
<newline/>
<group colspan="4" col="4">
<separator string="Examples"/>
<separator string="Examples" colspan="4"/>
<newline/>
<label align="0.0" string="1. %%c ==> Fri Dec 5 18:25:20 2008"/>
<label align="0.0" string="2. %%a ,%%A ==> Fri, Friday"/>

View File

@ -234,9 +234,10 @@ class users(osv.osv):
def on_change_company_id(self, cr, uid, ids, company_id):
return {
'value': {
'warning' : _("Please keep in mind that data currently displayed may not be relevant after switching to another company. If you have unsaved changes, please make sure to save and close the forms before switching to a different company (you can click on Cancel now)"),
}
'warning' : {
'title': _("Company Switch Warning"),
'message': _("Please keep in mind that documents currently displayed may not be relevant after switching to another company. If you have unsaved changes, please make sure to save and close all forms before switching to a different company. (You can click on Cancel in the User Preferences now)"),
}
}
def read(self,cr, uid, ids, fields=None, context=None, load='_classic_read'):

View File

@ -149,7 +149,9 @@ class expression(object):
right = field_obj.search(cr, uid, [(fargs[1], operator, right)], context=context)
right1 = table.search(cr, uid, [(fargs[0],'in', right)], context=context)
self.__exp[i] = ('id', 'in', right1)
continue
if not isinstance(field,fields.property):
continue
if field._properties and ((not field.store) or field._fnct_search):
# this is a function field

View File

@ -254,7 +254,13 @@ class binary(_column):
if v['id'] == i:
val = v[name]
break
if context.get('bin_size', False) and val:
# If client is requesting only the size of the field, we return it instead
# of the content. Presumably a separate request will be done to read the actual
# content if it's needed at some point.
# TODO: after 6.0 we should consider returning a dict with size and content instead of
# having an implicit convention for the value
if val and context.get('bin_size_%s' % name, context.get('bin_size')):
res[i] = tools.human_size(long(val))
else:
res[i] = val

View File

@ -486,7 +486,7 @@ class orm_template(object):
vals['relation'], bool(vals['view_load']),
vals['select_level'], bool(vals['readonly']), bool(vals['required']), bool(vals['selectable']), vals['relation_field'], vals['model'], vals['name']
))
continue
break
cr.commit()
def _auto_init(self, cr, context={}):
@ -1012,6 +1012,27 @@ class orm_template(object):
return (done, 0, 0, 0)
def read(self, cr, user, ids, fields=None, context=None, load='_classic_read'):
"""
Read records with given ids with the given fields
:param cr: database cursor
:param user: current user id
:param ids: id or list of the ids of the records to read
:param fields: optional list of field names to return (default: all fields would be returned)
:type fields: list (example ['field_name_1', ...])
:param context: optional context dictionary - it may contains keys for specifying certain options
like ``context_lang``, ``context_tz`` to alter the results of the call.
A special ``bin_size`` boolean flag may also be passed in the context to request the
value of all fields.binary columns to be returned as the size of the binary instead of its
contents. This can also be selectively overriden by passing a field-specific flag
in the form ``bin_size_XXX: True/False`` where ``XXX`` is the name of the field.
Note: The ``bin_size_XXX`` form is new in OpenERP v6.0.
:return: list of dictionaries((dictionary per record asked)) with requested field values
:rtype: [{name_of_the_field: value, ...}, ...]
:raise AccessError: * if user has no read rights on the requested object
* if user tries to bypass access rules for read on the requested object
"""
raise NotImplementedError(_('The read method is not implemented on this object !'))
def get_invalid_fields(self, cr, uid):
@ -1049,8 +1070,15 @@ class orm_template(object):
:param fields_list: list of fields to get the default values for (example ['field1', 'field2',])
:type fields_list: list
:param context: usual context dictionary - it may contains keys in the form ``default_XXX``,
where XXX is a field name to set or override a default value.
:param context: optional context dictionary - it may contains keys for specifying certain options
like ``context_lang`` (language) or ``context_tz`` (timezone) to alter the results of the call.
It may contain keys in the form ``default_XXX`` (where XXX is a field name), to set
or override a default value for a field.
A special ``bin_size`` boolean flag may also be passed in the context to request the
value of all fields.binary columns to be returned as the size of the binary instead of its
contents. This can also be selectively overriden by passing a field-specific flag
in the form ``bin_size_XXX: True/False`` where ``XXX`` is the name of the field.
Note: The ``bin_size_XXX`` form is new in OpenERP v6.0.
:return: dictionary of the default values (set on the object model class, through user preferences, or in the context)
"""
# trigger view init hook
@ -2394,7 +2422,6 @@ class orm(orm_template):
cr.execute('CREATE TABLE "%s" (id SERIAL NOT NULL, PRIMARY KEY(id)) WITHOUT OIDS' % (self._table,))
cr.execute("COMMENT ON TABLE \"%s\" IS '%s'" % (self._table, self._description.replace("'", "''")))
create = True
self.__schema.debug("Table '%s': created", self._table)
cr.commit()
@ -2447,13 +2474,22 @@ class orm(orm_template):
# iterate on the "object columns"
todo_update_store = []
update_custom_fields = context.get('update_custom_fields', False)
cr.execute("SELECT c.relname,a.attname,a.attlen,a.atttypmod,a.attnotnull,a.atthasdef,t.typname,CASE WHEN a.attlen=-1 THEN a.atttypmod-4 ELSE a.attlen END as size " \
"FROM pg_class c,pg_attribute a,pg_type t " \
"WHERE c.relname=%s " \
"AND c.oid=a.attrelid " \
"AND a.atttypid=t.oid", (self._table,))
col_data = dict(map(lambda x: (x['attname'], x),cr.dictfetchall()))
for k in self._columns:
if k in ('id', 'write_uid', 'write_date', 'create_uid', 'create_date'):
continue
#raise _('Can not define a column %s. Reserved keyword !') % (k,)
#Not Updating Custom fields
if k.startswith('x_') and not update_custom_fields:
continue
f = self._columns[k]
if isinstance(f, fields.one2many):
@ -2486,13 +2522,8 @@ class orm(orm_template):
self.__schema.debug("Create table '%s': relation between '%s' and '%s'",
f._rel, self._table, ref)
else:
cr.execute("SELECT c.relname,a.attname,a.attlen,a.atttypmod,a.attnotnull,a.atthasdef,t.typname,CASE WHEN a.attlen=-1 THEN a.atttypmod-4 ELSE a.attlen END as size " \
"FROM pg_class c,pg_attribute a,pg_type t " \
"WHERE c.relname=%s " \
"AND a.attname=%s " \
"AND c.oid=a.attrelid " \
"AND a.atttypid=t.oid", (self._table, k))
res = cr.dictfetchall()
res = col_data.get(k, [])
res = res and [res] or []
if not res and hasattr(f, 'oldname'):
cr.execute("SELECT c.relname,a.attname,a.attlen,a.atttypmod,a.attnotnull,a.atthasdef,t.typname,CASE WHEN a.attlen=-1 THEN a.atttypmod-4 ELSE a.attlen END as size " \
"FROM pg_class c,pg_attribute a,pg_type t " \
@ -2938,21 +2969,6 @@ class orm(orm_template):
return super(orm, self).fields_get(cr, user, fields, context, write_access)
def read(self, cr, user, ids, fields=None, context=None, load='_classic_read'):
"""
Read records with given ids with the given fields
:param cr: database cursor
:param user: current user id
:param ids: id or list of the ids of the records to read
:param fields: optional list of field names to return (default: all fields would be returned)
:type fields: list (example ['field_name_1', ...])
:param context: (optional) context arguments, like lang, time zone
:return: list of dictionaries((dictionary per record asked)) with requested field values
:rtype: [{name_of_the_field: value, ...}, ...]
:raise AccessError: * if user has no read rights on the requested object
* if user tries to bypass access rules for read on the requested object
"""
if not context:
context = {}
self.pool.get('ir.model.access').check(cr, user, self._name, 'read', context=context)
@ -3019,7 +3035,8 @@ class orm(orm_template):
cr.execute(query, [tuple(sub_ids)] + rule_params)
if cr.rowcount != len(sub_ids):
raise except_orm(_('AccessError'),
_('You try to bypass an access rule while reading (Document type: %s).') % self._description)
_('Operation prohibited by access rules, or performed on an already deleted document (Operation: read, Document type: %s).')
% (self._description,))
else:
cr.execute(query, (tuple(sub_ids),))
res.extend(cr.dictfetchall())
@ -3224,8 +3241,8 @@ class orm(orm_template):
[sub_ids] + where_params)
if cr.rowcount != len(sub_ids):
raise except_orm(_('AccessError'),
_('Operation prohibited by access rules (Operation: %s, Document type: %s).')
% (operation, self._name))
_('Operation prohibited by access rules, or performed on an already deleted document (Operation: %s, Document type: %s).')
% (operation, self._description))
def unlink(self, cr, uid, ids, context=None):
"""
@ -3436,6 +3453,9 @@ class orm(orm_template):
for sub_ids in cr.split_for_in_conditions(ids):
cr.execute('update ' + self._table + ' set ' + ','.join(upd0) + ' ' \
'where id IN %s', upd1 + [sub_ids])
if cr.rowcount != len(sub_ids):
raise except_orm(_('AccessError'),
_('One of the records you are trying to modify has already been deleted (Document type: %s).') % self._description)
if totranslate:
# TODO: optimize

View File

@ -645,7 +645,30 @@ class _rml_flowable(object):
def _textual_image(self, node):
return base64.decodestring(node.text)
def _pto(self, node):
sub_story = []
pto_header = None
pto_trailer = None
for node in utils._child_get(node, self):
if node.tag == etree.Comment:
node.text = ''
continue
elif node.tag=='pto_header':
pto_header = self.render(node)
elif node.tag=='pto_trailer':
pto_trailer = self.render(node)
else:
flow = self._flowable(node)
if flow:
if isinstance(flow,list):
sub_story = sub_story + flow
else:
sub_story.append(flow)
return platypus.flowables.PTOContainer(sub_story, trailer=pto_trailer, header=pto_header)
def _flowable(self, node, extra_style=None):
if node.tag=='pto':
return self._pto(node)
if node.tag=='para':
style = self.styles.para_style_get(node)
if extra_style:

View File

@ -24,22 +24,17 @@
Miscelleanous tools used by OpenERP.
"""
import os, time, sys
import inspect
from datetime import datetime
from config import config
import zipfile
import release
import socket
import logging
import os
import re
from itertools import islice
import threading
from which import which
import smtplib
import socket
import sys
import threading
import time
import zipfile
from datetime import datetime
from email.MIMEText import MIMEText
from email.MIMEBase import MIMEBase
from email.MIMEMultipart import MIMEMultipart
@ -47,14 +42,15 @@ from email.Header import Header
from email.Utils import formatdate, COMMASPACE
from email.Utils import formatdate, COMMASPACE
from email import Encoders
import netsvc
from itertools import islice, izip
from which import which
if sys.version_info[:2] < (2, 4):
from threadinglocal import local
else:
from threading import local
from itertools import izip
import netsvc
from config import config
_logger = logging.getLogger('tools')
@ -204,18 +200,18 @@ def file_open(name, mode="r", subdir='addons', pathinfo=False):
subdir2 = (subdir2 != 'addons' or None) and subdir2
for adp in adps:
try:
if subdir2:
fn = os.path.join(adp, subdir2, name)
else:
fn = os.path.join(adp, name)
fn = os.path.normpath(fn)
fo = file_open(fn, mode=mode, subdir=None, pathinfo=pathinfo)
if pathinfo:
return fo, fn
return fo
except IOError, e:
pass
try:
if subdir2:
fn = os.path.join(adp, subdir2, name)
else:
fn = os.path.join(adp, name)
fn = os.path.normpath(fn)
fo = file_open(fn, mode=mode, subdir=None, pathinfo=pathinfo)
if pathinfo:
return fo, fn
return fo
except IOError:
pass
if subdir:
name = os.path.join(rtp, subdir, name)
@ -248,7 +244,7 @@ def file_open(name, mode="r", subdir='addons', pathinfo=False):
if pathinfo:
return fo, name
return fo
except:
except Exception:
name2 = os.path.normpath(os.path.join(head + '.zip', zipname))
pass
for i in (name2, name):
@ -349,7 +345,7 @@ def html2plaintext(html, body_id=None, encoding='utf-8'):
html = ustr(html)
from lxml.etree import Element, tostring
from lxml.etree import tostring
try:
from lxml.html.soupparser import fromstring
kwargs = {}
@ -370,7 +366,6 @@ def html2plaintext(html, body_id=None, encoding='utf-8'):
url_index = []
i = 0
for link in tree.findall('.//a'):
title = link.text
url = link.get('href')
if url:
i += 1
@ -464,11 +459,11 @@ def _email_send(smtp_from, smtp_to_list, message, openobject_id=None, ssl=False,
s.quit()
if debug:
smtplib.stderr = oldstderr
except:
except Exception:
# ignored, just a consequence of the previous exception
pass
except Exception, e:
except Exception:
_logger.error('could not deliver email', exc_info=True)
return False
@ -497,18 +492,14 @@ def email_send(email_from, email_to, subject, body, email_cc=None, email_bcc=Non
"address or having configured one")
if not email_from: email_from = config.get('email_from', False)
email_from = ustr(email_from).encode('utf-8')
if not email_cc: email_cc = []
if not email_bcc: email_bcc = []
if not body: body = u''
try: email_body = body.encode('utf-8')
except (UnicodeEncodeError, UnicodeDecodeError):
email_body = body
try:
email_text = MIMEText(email_body.encode('utf8') or '',_subtype=subtype,_charset='utf-8')
except:
email_text = MIMEText(email_body or '',_subtype=subtype,_charset='utf-8')
email_body = ustr(body).encode('utf-8')
email_text = MIMEText(email_body or '',_subtype=subtype,_charset='utf-8')
if attach: msg = MIMEMultipart()
else: msg = email_text
@ -553,7 +544,7 @@ def sms_send(user, password, api_id, text, to):
url = "http://api.urlsms.com/SendSMS.aspx"
#url = "http://196.7.150.220/http/sendmsg"
params = urllib.urlencode({'UserID': user, 'Password': password, 'SenderID': api_id, 'MsgText': text, 'RecipientMobileNo':to})
f = urllib.urlopen(url+"?"+params)
urllib.urlopen(url+"?"+params)
# FIXME: Use the logger if there is an error
return True
@ -890,7 +881,7 @@ def exception_to_unicode(e):
return "\n".join((ustr(a) for a in e.args))
try:
return ustr(e)
except:
except Exception:
return u"Unknown message"
@ -1062,7 +1053,6 @@ def logged(f):
@wraps(f)
def wrapper(*args, **kwargs):
import netsvc
from pprint import pformat
vector = ['Call -> function: %r' % f]
@ -1124,9 +1114,7 @@ def debug(what):
--log-level=debug
"""
import netsvc
from inspect import stack
import re
from pprint import pformat
st = stack()[1]
param = re.split("debug *\((.+)\)", st[4][0].strip())[1].strip()
@ -1176,9 +1164,6 @@ icons = map(lambda x: (x,x), ['STOCK_ABOUT', 'STOCK_ADD', 'STOCK_APPLY', 'STOCK_
])
def extract_zip_file(zip_file, outdirectory):
import zipfile
import os
zf = zipfile.ZipFile(zip_file, 'r')
out = outdirectory
for path in zf.namelist():
@ -1201,7 +1186,6 @@ def detect_ip_addr():
"""
def _detect_ip_addr():
from array import array
import socket
from struct import pack, unpack
try:
@ -1242,7 +1226,7 @@ def detect_ip_addr():
try:
ip_addr = _detect_ip_addr()
except:
except Exception:
ip_addr = 'localhost'
return ip_addr
@ -1279,11 +1263,9 @@ def detect_server_timezone():
Defaults to UTC if no working timezone can be found.
@return: the timezone identifier as expected by pytz.timezone.
"""
import time
import netsvc
try:
import pytz
except:
except Exception:
netsvc.Logger().notifyChannel("detect_server_timezone", netsvc.LOG_WARNING,
"Python pytz module is not available. Timezone will be set to UTC by default.")
return 'UTC'
@ -1300,7 +1282,7 @@ def detect_server_timezone():
try:
f = open("/etc/timezone")
tz_value = f.read(128).strip()
except:
except Exception:
pass
finally:
f.close()
@ -1417,7 +1399,7 @@ class upload_data_thread(threading.Thread):
fp = urllib.urlopen('http://www.openerp.com/scripts/survey.php', args)
fp.read()
fp.close()
except:
except Exception:
pass
def upload_data(email, data, type='SURVEY'):

42
debian/po/pt_BR.po vendored Normal file
View File

@ -0,0 +1,42 @@
# Brazilian Portuguese translation for openobject-server
# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
# This file is distributed under the same license as the openobject-server package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-server\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2009-08-24 22:41+0300\n"
"PO-Revision-Date: 2010-11-07 07:06+0000\n"
"Last-Translator: OpenERP Administrators <Unknown>\n"
"Language-Team: Brazilian Portuguese <pt_BR@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-11-08 05:11+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string
#. Description
#: ../openerp-server.templates:1001
msgid "Dedicated system account for the Open ERP server:"
msgstr "Conta do sistema dedicada para o servidor de Open ERP:"
#. Type: string
#. Description
#: ../openerp-server.templates:1001
msgid ""
"The Open ERP server must use a dedicated account for its operation so that "
"the system's security is not compromised by running it with superuser "
"privileges."
msgstr ""
"O servidor Open ERP deve usar uma conta específica para o seu funcionamento "
"de modo que a segurança do sistema não seja comprometida por executá-lo com "
"privilégios de super usuário."
#. Type: string
#. Description
#: ../openerp-server.templates:1001
msgid "Please choose that account's username."
msgstr "Escolha um usuário para a conta"