[MERGE] Latest trunk

bzr revid: mat@openerp.com-20130222095017-i0dd9ghpfn2buo51
This commit is contained in:
Martin Trigaux 2013-02-22 10:50:17 +01:00
commit 68b925126c
69 changed files with 32670 additions and 291 deletions

View File

@ -343,7 +343,7 @@ class account_journal_cashbox_line(osv.osv):
_rec_name = 'pieces'
_columns = {
'pieces': fields.float('Values', digits_compute=dp.get_precision('Account')),
'journal_id' : fields.many2one('account.journal', 'Journal', required=True, select=1),
'journal_id' : fields.many2one('account.journal', 'Journal', required=True, select=1, ondelete="cascade"),
}
_order = 'pieces asc'

View File

@ -449,11 +449,15 @@ class account_invoice(osv.osv):
context = {}
invoices = self.read(cr, uid, ids, ['state','internal_number'], context=context)
unlink_ids = []
for t in invoices:
if t['state'] in ('draft', 'cancel') and t['internal_number']== False:
unlink_ids.append(t['id'])
if t['state'] not in ('draft', 'cancel'):
raise openerp.exceptions.Warning(_('You cannot delete an invoice which is not draft or cancelled. You should refund it instead.'))
elif t['internal_number']:
raise openerp.exceptions.Warning(_('You cannot delete an invoice after it has been validated (and received a number). You can set it back to "Draft" state and modify its content, then re-confirm it.'))
else:
raise osv.except_osv(_('Invalid Action!'), _('You can not delete an invoice which is not cancelled. You should refund it instead.'))
unlink_ids.append(t['id'])
osv.osv.unlink(self, cr, uid, unlink_ids, context=context)
return True
@ -1147,6 +1151,11 @@ class account_invoice(osv.osv):
return self.name_get(cr, user, ids, context)
def _refund_cleanup_lines(self, cr, uid, lines, context=None):
"""Convert records to dict of values suitable for one2many line creation
:param list(browse_record) lines: records to convert
:return: list of command tuple for one2many line creation [(0, 0, dict of valueis), ...]
"""
clean_lines = []
for line in lines:
clean_line = {}

View File

@ -18,6 +18,7 @@
<field name="parent_id" invisible="1"/>
<field name="state" invisible="1"/>
<field name="type" invisible="1"/>
<field name="template_id" invisible="1"/>
<field name="company_id" groups="base.group_multi_company"/>
</tree>
</field>

View File

@ -56,7 +56,7 @@ class report_account_common(report_sxw.rml_parse, common_report_header):
for report in self.pool.get('account.financial.report').browse(self.cr, self.uid, ids2, context=data['form']['used_context']):
vals = {
'name': report.name,
'balance': report.balance * report.sign,
'balance': report.balance * report.sign or 0.0,
'type': 'report',
'level': bool(report.style_overwrite) and report.style_overwrite or report.level,
'account_type': report.type =='sum' and 'view' or False, #used to underline the financial report balances

View File

@ -180,9 +180,9 @@ class account_invoice_refund(osv.osv_memory):
'journal_id', 'period_id'], context=context)
invoice = invoice[0]
del invoice['id']
invoice_lines = inv_line_obj.read(cr, uid, invoice['invoice_line'], context=context)
invoice_lines = inv_line_obj.browse(cr, uid, invoice['invoice_line'], context=context)
invoice_lines = inv_obj._refund_cleanup_lines(cr, uid, invoice_lines)
tax_lines = inv_tax_obj.read(cr, uid, invoice['tax_line'], context=context)
tax_lines = inv_tax_obj.browse(cr, uid, invoice['tax_line'], context=context)
tax_lines = inv_obj._refund_cleanup_lines(cr, uid, tax_lines)
invoice.update({
'type': inv.type,

View File

@ -20,7 +20,6 @@
##############################################################################
import account_analytic_analysis
import cron_account_analytic_account
import res_config
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -38,7 +38,6 @@ Adds menu to show relevant information to each manager.You can also view the rep
'security/ir.model.access.csv',
'security/account_analytic_analysis_security.xml',
'account_analytic_analysis_view.xml',
'account_analytic_analysis_menu.xml',
'account_analytic_analysis_cron.xml',
'res_config_view.xml',
],

View File

@ -18,6 +18,9 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
import datetime
import logging
import time
from openerp.osv import osv, fields
from openerp.osv.orm import intersect, except_orm
@ -26,6 +29,7 @@ from openerp.tools.translate import _
from openerp.addons.decimal_precision import decimal_precision as dp
_logger = logging.getLogger(__name__)
class account_analytic_account(osv.osv):
_name = "account.analytic.account"
@ -484,7 +488,48 @@ class account_analytic_account(osv.osv):
res['value']['to_invoice'] = template.to_invoice.id
res['value']['pricelist_id'] = template.pricelist_id.id
return res
account_analytic_account()
def cron_account_analytic_account(self, cr, uid, context=None):
if context is None:
context = {}
remind = {}
def fill_remind(key, domain, write_pending=False):
base_domain = [
('type', '=', 'contract'),
('partner_id', '!=', False),
('manager_id', '!=', False),
('manager_id.email', '!=', False),
]
base_domain.extend(domain)
accounts_ids = self.search(cr, uid, base_domain, context=context, order='name asc')
accounts = self.browse(cr, uid, accounts_ids, context=context)
for account in accounts:
if write_pending:
account.write({'state' : 'pending'}, context=context)
remind_user = remind.setdefault(account.manager_id.id, {})
remind_type = remind_user.setdefault(key, {})
remind_partner = remind_type.setdefault(account.partner_id, []).append(account)
# Already expired
fill_remind("old", [('state', 'in', ['pending'])])
# Expires now
fill_remind("new", [('state', 'in', ['draft', 'open']), '|', '&', ('date', '!=', False), ('date', '<=', time.strftime('%Y-%m-%d')), ('is_overdue_quantity', '=', True)], True)
# Expires in less than 30 days
fill_remind("future", [('state', 'in', ['draft', 'open']), ('date', '!=', False), ('date', '<', (datetime.datetime.now() + datetime.timedelta(30)).strftime("%Y-%m-%d"))])
context['base_url'] = self.pool.get('ir.config_parameter').get_param(cr, uid, 'web.base.url')
context['action_id'] = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'account_analytic_analysis', 'action_account_analytic_overdue_all')[1]
template_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'account_analytic_analysis', 'account_analytic_cron_email_template')[1]
for user_id, data in remind.items():
context["data"] = data
_logger.debug("Sending reminder to uid %s", user_id)
self.pool.get('email.template').send_mail(cr, uid, template_id, user_id, context=context)
return True
class account_analytic_account_summary_user(osv.osv):
_name = "account_analytic_analysis.summary.user"
@ -538,8 +583,6 @@ class account_analytic_account_summary_user(osv.osv):
lu.user_id as "user",
unit_amount
from lu, mu)''')
account_analytic_account_summary_user()
class account_analytic_account_summary_month(osv.osv):
_name = "account_analytic_analysis.summary.month"
@ -600,6 +643,4 @@ class account_analytic_account_summary_month(osv.osv):
'GROUP BY d.month, d.account_id ' \
')')
account_analytic_account_summary_month()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -1,15 +1,77 @@
<?xml version="1.0" encoding='UTF-8'?>
<openerp>
<data>
<record id="account_analytic_cron_email_template" model="email.template">
<field name="name">Contract expiration reminder</field>
<field name="email_from">${object.email or ''}</field>
<field name="subject">Contract expiration reminder ${user.company_id.name}</field>
<field name="email_to">${object.email}</field>
<field name="lang">${object.lang}</field>
<field name="model_id" ref="base.model_res_users"/>
<field name="auto_delete" eval="True"/>
<field name="body_html"><![CDATA[
Hello ${object.name},
% macro account_table(values):
<table cellspacing="1" border="1" cellpadding="4">
<tr>
<th>Customer</th>
<th>Contract</th>
<th>Dates</th>
<th>Prepaid Units</th>
<th>Contact</th>
</tr>
% for partner, accounts in values:
% for account in accounts:
<tr>
<td>${partner.name}</td>
<td><a href="${ctx["base_url"]}/#action=${ctx["action_id"]}&id=${account.id}&view_type=form">${account.name}</a></td>
<td>${account.date_start} to ${account.date and account.date or '???'}</td>
<td>
% if account.quantity_max != 0.0:
${account.remaining_hours}/${account.quantity_max} units
% endif
</td>
<td>${account.partner_id.phone or ''}, ${account.partner_id.email or ''}</td>
</tr>
% endfor
% endfor
</table>
% endmacro
% if "new" in ctx["data"]:
<h2>The following contracts just expired: </h2>
${account_table(ctx["data"]["new"].iteritems())}
% endif
% if "old" in ctx["data"]:
<h2>The following expired contracts are still not processed: </h2>
${account_table(ctx["data"]["old"].iteritems())}
% endif
% if "future" in ctx["data"]:
<h2>The following contracts will expire in less than one month: </h2>
${account_table(ctx["data"]["future"].iteritems())}
% endif
</pre>
]]></field>
</record>
<!--
-->
<record model="ir.cron" id="account_analytic_cron">
<field name="name">Analytic Account Report for Sales</field>
<field name="name">Contract expiration reminder</field>
<field name="interval_number">1</field>
<field name="interval_type">weeks</field>
<field name="numbercall">-1</field>
<field eval="False" name="doall"/>
<field eval="'account.analytic.account'" name="model"/>
<field eval="'cron_account_analytic_account'" name="function"/>
<field eval="'()'" name="args"/>
<field name="doall" eval="False"/>
<field name="model" eval="'account.analytic.account'"/>
<field name="function" eval="'cron_account_analytic_account'"/>
<field name="args" eval="'()'" />
</record>
</data>
</openerp>

View File

@ -1,104 +0,0 @@
<openerp>
<data>
<menuitem id="base.menu_invoiced" name="Invoicing" parent="base.menu_base_partner" sequence="5"/>
<record id="action_hr_tree_invoiced_all" model="ir.actions.act_window">
<field name="name">Time &amp; Materials to Invoice</field>
<field name="res_model">account.analytic.line</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('invoice_id','=',False)]</field>
<field name="context">{'search_default_to_invoice': 1, 'search_default_sales': 1}</field>
<field name="search_view_id" ref="account.view_account_analytic_line_filter"/>
<field name="help" type="html">
<p>
You will find here timesheets and purchases you did for
contracts that can be reinvoiced to the customer. If you want
to record new activities to invoice, you should use the timesheet
menu instead.
</p>
</field>
</record>
<menuitem action="action_hr_tree_invoiced_all" id="menu_action_hr_tree_invoiced_all" parent="base.menu_invoiced" sequence="5"/>
<record id="view_account_analytic_account_overdue_search" model="ir.ui.view">
<field name="name">account.analytic.account.search</field>
<field name="model">account.analytic.account</field>
<field name="arch" type="xml">
<search string="Contracts">
<field name="name" filter_domain="['|', ('name','ilike',self),('code','ilike',self)]" string="Contract"/>
<field name="date"/>
<field name="partner_id"/>
<field name="manager_id"/>
<field name="parent_id"/>
<filter name="open" string="Open" domain="[('state','in',('open','draft'))]" help="Contracts in progress"/>
<filter name="pending" string="Pending" domain="[('state','=','pending')]" help="Pending contracts to renew with your customer"/>
<filter string="To Renew" domain="['|', '&amp;', ('date', '!=', False), ('date', '&lt;=', time.strftime('%%Y-%%m-%%d')), ('is_overdue_quantity', '=', True)]" name="renew"
help="The contracts to be renewed because the deadline is passed or the working hours are higher than the allocated hours" />
<separator/>
<filter string="Customer Contracts" help="Contracts assigned to a customer." name="has_partner" domain="[('partner_id', '!=', False)]"/>
<filter string="Contracts not assigned" help="Contracts that are not assigned to an account manager." domain="[('manager_id', '=', False)]"/>
<separator/>
<group expand="0" string="Group By...">
<filter string="Status" domain="[]" context="{'group_by':'state'}"/>
<filter string="Account Manager" domain="[]" context="{'group_by':'manager_id'}"/>
<filter string="Partner" domain="[]" context="{'group_by':'partner_id'}"/>
<filter string="Parent" domain="[]" context="{'group_by':'parent_id'}"/>
<filter string="Start Date" domain="[]" context="{'group_by' : 'date_start'}" />
<filter string="End Date" domain="[]" context="{'group_by' : 'date'}" />
</group>
</search>
</field>
</record>
<record id="action_account_analytic_overdue" model="ir.actions.act_window">
<field name="name">Contracts to Renew</field>
<field name="res_model">account.analytic.account</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="context">{'search_default_manager_id':uid, 'search_default_pending':1, 'search_default_renew':1}</field>
<field name="domain">[('type','=','contract')]</field>
<field name="search_view_id" ref="view_account_analytic_account_overdue_search"/>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to define a new contract.
</p><p>
You will find here the contracts to be renewed because the
end date is passed or the working effort is higher than the
maximum authorized one.
</p><p>
OpenERP automatically sets contracts to be renewed in a pending
state. After the negociation, the salesman should close or renew
pending contracts.
</p>
</field>
</record>
<menuitem action="action_account_analytic_overdue" id="menu_action_account_analytic_overdue" sequence="50" parent="base.menu_invoiced"/>
<record id="action_account_analytic_overdue_all" model="ir.actions.act_window">
<field name="name">Contracts</field>
<field name="res_model">account.analytic.account</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="context">{'default_type':'contract', 'search_default_open':1, 'search_default_pending':1, 'default_manager_id':uid}</field>
<field name="domain">[('type','=','contract')]</field>
<field name="search_view_id" ref="view_account_analytic_account_overdue_search"/>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to create a new contract.
</p><p>
Use contracts to follow tasks, issues, timesheets or invoicing based on
work done, expenses and/or sales orders. OpenERP will automatically manage
the alerts for the renewal of the contracts to the right salesperson.
</p>
</field>
</record>
<menuitem id="base.menu_sales" name="Sales"
parent="base.menu_base_partner"
sequence="1"/>
<menuitem action="action_account_analytic_overdue_all" id="menu_action_account_analytic_overdue_all" sequence="7" parent="base.menu_sales"/>
</data>
</openerp>

View File

@ -1,17 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<!--
Analytic Account form
-->
<record model="ir.actions.act_window" id="action_sales_order">
<field name="name">Sales Orders</field>
<field name="res_model">sale.order</field>
<field name="src_model">account.analytic.account</field>
</record>
<!-- Inherited Analytic Account form for contracts -->
<record id="account_analytic_account_form_form" model="ir.ui.view">
<field name="name">account.analytic.account.invoice.form.inherit</field>
<field name="model">account.analytic.account</field>
@ -142,19 +138,7 @@
</field>
</record>
<record id="view_account_analytic_account_tree_c2c_3" model="ir.ui.view">
<field name="name">account.analytic.account.tree</field>
<field name="model">account.analytic.account</field>
<field name="inherit_id" ref="account.view_account_analytic_account_list"/>
<field name="arch" type="xml">
<field name="date" position="before">
<field name="last_invoice_date"/>
<field name="toinvoice_total"/>
<field name="remaining_hours"/>
</field>
</field>
</record>
<!-- Inherited Analytic Account form for template required -->
<record id="view_account_analytic_account_template_required" model="ir.ui.view">
<field name="name">account.analytic.account.form.template.required</field>
<field name="model">account.analytic.account</field>
@ -167,6 +151,132 @@
</field>
</record>
<!-- Inherited Analytic Account list for contracts -->
<record id="view_account_analytic_account_tree_c2c_3" model="ir.ui.view">
<field name="name">account.analytic.account.list.contract</field>
<field name="model">account.analytic.account</field>
<field name="inherit_id" ref="account.view_account_analytic_account_list"/>
<field name="arch" type="xml">
<field name="date" position="before">
<field name="last_invoice_date"/>
<field name="toinvoice_total"/>
<field name="remaining_hours"/>
<field name="pricelist_id" invisible="1"/>
</field>
</field>
</record>
<!-- Analytic Account search view for contract -->
<record id="view_account_analytic_account_overdue_search" model="ir.ui.view">
<field name="name">account.analytic.account.search</field>
<field name="model">account.analytic.account</field>
<field name="arch" type="xml">
<search string="Contracts">
<field name="name" filter_domain="['|', ('name','ilike',self),('code','ilike',self)]" string="Contract"/>
<field name="date"/>
<field name="partner_id"/>
<field name="manager_id"/>
<field name="parent_id"/>
<filter name="open" string="In Progress" domain="[('state','in',('open','draft'))]" help="Contracts in progress (open, draft)"/>
<filter name="pending" string="To Renew" domain="[('state','=','pending')]" help="Pending contracts"/>
<filter name="closed" string="Closed" domain="[('state','=','pending')]" help="Closed contracts"/>
<filter name="cancelled" string="Cancelled" domain="[('state','=','cancel')]" help="Cancelled contracts"/>
<separator/>
<filter
string="Expired or consumed"
domain="[('state','in',('open','draft','pending')), '|', '&amp;', ('date', '!=', False), ('date', '&lt;=', time.strftime('%%Y-%%m-%%d')), ('is_overdue_quantity', '=', True)]"
help="End date passed or prepaid unit consumed" />
<filter
string="Expiring soon"
domain="[('date', '!=', False), ('date', '&lt;=', (context_today() + datetime.timedelta(30)).strftime('%%Y-%%m-%%d') )]"
help="End date is in the next month" />
<separator/>
<filter string="Customer Contracts" help="Contracts assigned to a customer." name="has_partner" domain="[('partner_id', '!=', False)]"/>
<filter string="Contracts not assigned" help="Contracts that are not assigned to an account manager." domain="[('manager_id', '=', False)]"/>
<separator/>
<group expand="0" string="Group By...">
<filter string="Status" domain="[]" context="{'group_by':'state'}"/>
<filter string="Account Manager" domain="[]" context="{'group_by':'manager_id'}"/>
<filter string="Partner" domain="[]" context="{'group_by':'partner_id'}"/>
<filter string="Parent" domain="[]" context="{'group_by':'parent_id'}"/>
<filter string="Template" domain="[]" context="{'group_by':'template_id'}"/>
<filter string="Start Date" domain="[]" context="{'group_by' : 'date_start'}" />
<filter string="End Date" domain="[]" context="{'group_by' : 'date'}" />
<filter string="Pricelist" domain="[]" context="{'group_by' : 'pricelist_id'}" />
</group>
</search>
</field>
</record>
<!-- Action Sales/Sales/Contracts -->
<record id="action_account_analytic_overdue_all" model="ir.actions.act_window">
<field name="name">Contracts</field>
<field name="res_model">account.analytic.account</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="context">{'default_type':'contract', 'search_default_open':1, 'search_default_pending':1, 'default_manager_id':uid}</field>
<field name="domain">[('type','=','contract')]</field>
<field name="search_view_id" ref="view_account_analytic_account_overdue_search"/>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to create a new contract.
</p><p>
Use contracts to follow tasks, issues, timesheets or invoicing based on
work done, expenses and/or sales orders. OpenERP will automatically manage
the alerts for the renewal of the contracts to the right salesperson.
</p>
</field>
</record>
<menuitem id="base.menu_sales" name="Sales" parent="base.menu_base_partner" sequence="1"/>
<menuitem action="action_account_analytic_overdue_all" id="menu_action_account_analytic_overdue_all" sequence="7" parent="base.menu_sales"/>
<!-- Action Sales/Invoicing/Time and Material to Invoice -->
<record id="action_hr_tree_invoiced_all" model="ir.actions.act_window">
<field name="name">Time &amp; Materials to Invoice</field>
<field name="res_model">account.analytic.line</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('invoice_id','=',False)]</field>
<field name="context">{'search_default_to_invoice': 1, 'search_default_sales': 1}</field>
<field name="search_view_id" ref="account.view_account_analytic_line_filter"/>
<field name="help" type="html">
<p>
You will find here timesheets and purchases you did for
contracts that can be reinvoiced to the customer. If you want
to record new activities to invoice, you should use the timesheet
menu instead.
</p>
</field>
</record>
<menuitem id="base.menu_invoiced" name="Invoicing" parent="base.menu_base_partner" sequence="5"/>
<menuitem action="action_hr_tree_invoiced_all" id="menu_action_hr_tree_invoiced_all" parent="base.menu_invoiced" sequence="5"/>
<!-- Action Sales/Invoicing/Contract to renew -->
<record id="action_account_analytic_overdue" model="ir.actions.act_window">
<field name="name">Contracts to Renew</field>
<field name="res_model">account.analytic.account</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="context">{'search_default_manager_id':uid, 'search_default_pending':1, 'search_default_renew':1}</field>
<field name="domain">[('type','=','contract')]</field>
<field name="search_view_id" ref="view_account_analytic_account_overdue_search"/>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to define a new contract.
</p><p>
You will find here the contracts to be renewed because the
end date is passed or the working effort is higher than the
maximum authorized one.
</p><p>
OpenERP automatically sets contracts to be renewed in a pending
state. After the negociation, the salesman should close or renew
pending contracts.
</p>
</field>
</record>
<menuitem action="action_account_analytic_overdue" id="menu_action_account_analytic_overdue" sequence="50" parent="base.menu_invoiced"/>
<!-- Action Sales/Configuration/Contract template -->
<record id="template_of_contract_action" model="ir.actions.act_window">
<field name="name">Contract Template</field>
<field name="type">ir.actions.act_window</field>
@ -184,8 +294,8 @@
terms and conditions of the contract.
</p>
</field>
</record>
<menuitem action="template_of_contract_action" id="menu_template_of_contract_action" parent="base.menu_base_config"/>
</data>
</openerp>

View File

@ -1,79 +0,0 @@
#!/usr/bin/env python
from mako.template import Template
import time
try:
import cStringIO as StringIO
except ImportError:
import StringIO
from openerp import tools
from openerp.osv import osv
MAKO_TEMPLATE = u"""Hello ${user.name},
Here is a list of contracts that have to be renewed for two
possible reasons:
- the end of contract date is passed
- the customer consumed more hours than expected
Can you contact the customer in order to sell a new or renew its contract.
The contract has been set with a pending state, can you update the status
of the analytic account following this rule:
- Set Done: if the customer does not want to renew
- Set Open: if the customer purchased an extra contract
Here is the list of contracts to renew:
% for partner, accounts in partners.iteritems():
* ${partner.name}
% for account in accounts:
- Name: ${account.name}
% if account.quantity_max != 0.0:
- Quantity: ${account.quantity}/${account.quantity_max} hours
% endif
- Dates: ${account.date_start} to ${account.date and account.date or '???'}
- Contacts:
${account.partner_id.name}, ${account.partner_id.phone or ''}, ${account.partner_id.email or ''}
% endfor
% endfor
You can use the report in the menu: Sales > Invoicing > Overdue Accounts
Regards,
--
OpenERP
"""
class analytic_account(osv.osv):
_inherit = 'account.analytic.account'
def cron_account_analytic_account(self, cr, uid, context=None):
domain = [
('name', 'not ilike', 'maintenance'),
('partner_id', '!=', False),
('user_id', '!=', False),
('user_id.email', '!=', False),
('state', 'in', ('draft', 'open')),
'|', ('date', '<', time.strftime('%Y-%m-%d')), ('date', '=', False),
]
account_ids = self.search(cr, uid, domain, context=context, order='name asc')
accounts = self.browse(cr, uid, account_ids, context=context)
users = dict()
for account in accounts:
users.setdefault(account.user_id, dict()).setdefault(account.partner_id, []).append(account)
account.write({'state' : 'pending'}, context=context)
for user, data in users.iteritems():
subject = '[OPENERP] Reporting: Analytic Accounts'
body = Template(MAKO_TEMPLATE).render_unicode(user=user, partners=data)
tools.email_send('noreply@openerp.com', [user.email, ], subject, body)
return True
analytic_account()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -26,8 +26,6 @@ from openerp import tools
from openerp.osv import fields, osv
from openerp.tools.translate import _
from openerp import SUPERUSER_ID
class account_followup_stat_by_partner(osv.osv):
_name = "account_followup.stat.by.partner"
_description = "Follow-up Statistics by Partner"
@ -315,13 +313,6 @@ class account_followup_print(osv.osv_memory):
if stat_line_id not in partner_list:
partner_list.append(stat_line_id)
to_update[str(id)]= {'level': fups[followup_line_id][1], 'partner_id': stat_line_id}
#Remove partners that are other companies in OpenERP
comp_obj = self.pool.get("res.company")
comp_ids = comp_obj.search(cr, SUPERUSER_ID, [], context=context)
for comp in comp_obj.browse(cr, SUPERUSER_ID, comp_ids, context=context):
company_partner_wiz_id = comp.partner_id.id * 10000 + company_id
if company_partner_wiz_id in partner_list:
partner_list.remove(company_partner_wiz_id)
return {'partner_ids': partner_list, 'to_update': to_update}
account_followup_print()

File diff suppressed because it is too large Load Diff

View File

@ -196,7 +196,7 @@ class account_analytic_account(osv.osv):
'date_start': fields.date('Start Date'),
'date': fields.date('Date End', select=True),
'company_id': fields.many2one('res.company', 'Company', required=False), #not required because we want to allow different companies to use the same chart of account, except for leaf accounts.
'state': fields.selection([('template', 'Template'),('draft','New'),('open','In Progress'), ('cancelled', 'Cancelled'),('pending','To Renew'),('close','Closed')], 'Status', required=True, track_visibility='onchange'),
'state': fields.selection([('template', 'Template'),('draft','New'),('open','In Progress'),('pending','To Renew'),('close','Closed'),('cancelled', 'Cancelled')], 'Status', required=True, track_visibility='onchange'),
'currency_id': fields.function(_currency, fnct_inv=_set_company_currency, #the currency_id field is readonly except if it's a view account and if there is no company
store = {
'res.company': (_get_analytic_account, ['currency_id'], 10),
@ -258,6 +258,9 @@ class account_analytic_account(osv.osv):
(check_recursion, 'Error! You cannot create recursive analytic accounts.', ['parent_id']),
]
def name_create(self, cr, uid, name, context=None):
raise osv.except_osv(_('Warning'), _("Quick account creation disallowed."))
def copy(self, cr, uid, id, default=None, context=None):
if not default:
default = {}
@ -349,6 +352,4 @@ class account_analytic_line(osv.osv):
(_check_no_view, 'You cannot create analytic line on view account.', ['account_id']),
]
account_analytic_line()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

388
addons/analytic/i18n/mk.po Normal file
View File

@ -0,0 +1,388 @@
# Macedonian translation for openobject-addons
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2013-02-21 13:25+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Macedonian <mk@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: 2013-02-22 05:13+0000\n"
"X-Generator: Launchpad (build 16506)\n"
#. module: analytic
#: field:account.analytic.account,child_ids:0
msgid "Child Accounts"
msgstr ""
#. module: analytic
#: selection:account.analytic.account,state:0
msgid "In Progress"
msgstr ""
#. module: analytic
#: code:addons/analytic/analytic.py:229
#, python-format
msgid "Contract: "
msgstr ""
#. module: analytic
#: selection:account.analytic.account,state:0
msgid "Template"
msgstr ""
#. module: analytic
#: view:account.analytic.account:0
msgid "End Date"
msgstr ""
#. module: analytic
#: help:account.analytic.line,unit_amount:0
msgid "Specifies the amount of quantity to count."
msgstr ""
#. module: analytic
#: field:account.analytic.account,debit:0
msgid "Debit"
msgstr ""
#. module: analytic
#: help:account.analytic.account,type:0
msgid ""
"If you select the View Type, it means you won't allow to create journal "
"entries using that account.\n"
"The type 'Analytic account' stands for usual accounts that you only want to "
"use in accounting.\n"
"If you select Contract or Project, it offers you the possibility to manage "
"the validity and the invoicing options for this account.\n"
"The special type 'Template of Contract' allows you to define a template with "
"default data that you can reuse easily."
msgstr ""
#. module: analytic
#: view:account.analytic.account:0
msgid ""
"Once the end date of the contract is\n"
" passed or the maximum number of "
"service\n"
" units (e.g. support contract) is\n"
" reached, the account manager is "
"notified \n"
" by email to renew the contract with "
"the\n"
" customer."
msgstr ""
#. module: analytic
#: selection:account.analytic.account,type:0
msgid "Contract or Project"
msgstr ""
#. module: analytic
#: field:account.analytic.account,name:0
msgid "Account/Contract Name"
msgstr ""
#. module: analytic
#: field:account.analytic.account,manager_id:0
msgid "Account Manager"
msgstr ""
#. module: analytic
#: field:account.analytic.account,message_follower_ids:0
msgid "Followers"
msgstr ""
#. module: analytic
#: selection:account.analytic.account,state:0
msgid "Closed"
msgstr ""
#. module: analytic
#: model:mail.message.subtype,name:analytic.mt_account_pending
msgid "Contract to Renew"
msgstr ""
#. module: analytic
#: selection:account.analytic.account,state:0
msgid "New"
msgstr ""
#. module: analytic
#: field:account.analytic.account,user_id:0
msgid "Project Manager"
msgstr ""
#. module: analytic
#: field:account.analytic.account,state:0
msgid "Status"
msgstr ""
#. module: analytic
#: code:addons/analytic/analytic.py:268
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: analytic
#: model:ir.model,name:analytic.model_account_analytic_line
msgid "Analytic Line"
msgstr ""
#. module: analytic
#: field:account.analytic.account,description:0
#: field:account.analytic.line,name:0
msgid "Description"
msgstr ""
#. module: analytic
#: field:account.analytic.account,message_unread:0
msgid "Unread Messages"
msgstr ""
#. module: analytic
#: constraint:account.analytic.account:0
msgid "Error! You cannot create recursive analytic accounts."
msgstr ""
#. module: analytic
#: field:account.analytic.account,company_id:0
#: field:account.analytic.line,company_id:0
msgid "Company"
msgstr ""
#. module: analytic
#: view:account.analytic.account:0
msgid "Renewal"
msgstr ""
#. module: analytic
#: help:account.analytic.account,message_ids:0
msgid "Messages and communication history"
msgstr ""
#. module: analytic
#: model:mail.message.subtype,description:analytic.mt_account_opened
msgid "Stage <b>opened</b>"
msgstr ""
#. module: analytic
#: help:account.analytic.account,quantity_max:0
msgid ""
"Sets the higher limit of time to work on the contract, based on the "
"timesheet. (for instance, number of hours in a limited support contract.)"
msgstr ""
#. module: analytic
#: code:addons/analytic/analytic.py:160
#, python-format
msgid ""
"If you set a company, the currency selected has to be the same as it's "
"currency. \n"
"You can remove the company belonging, and thus change the currency, only on "
"analytic account of type 'view'. This can be really usefull for "
"consolidation purposes of several companies charts with different "
"currencies, for example."
msgstr ""
#. module: analytic
#: field:account.analytic.account,message_is_follower:0
msgid "Is a Follower"
msgstr ""
#. module: analytic
#: field:account.analytic.line,user_id:0
msgid "User"
msgstr ""
#. module: analytic
#: model:mail.message.subtype,description:analytic.mt_account_pending
msgid "Contract <b>pending</b>"
msgstr ""
#. module: analytic
#: field:account.analytic.line,date:0
msgid "Date"
msgstr ""
#. module: analytic
#: model:mail.message.subtype,name:analytic.mt_account_closed
msgid "Contract Finished"
msgstr ""
#. module: analytic
#: view:account.analytic.account:0
msgid "Terms and Conditions"
msgstr ""
#. module: analytic
#: help:account.analytic.line,amount:0
msgid ""
"Calculated by multiplying the quantity and the price given in the Product's "
"cost price. Always expressed in the company main currency."
msgstr ""
#. module: analytic
#: field:account.analytic.account,partner_id:0
msgid "Customer"
msgstr ""
#. module: analytic
#: field:account.analytic.account,child_complete_ids:0
msgid "Account Hierarchy"
msgstr ""
#. module: analytic
#: field:account.analytic.account,message_ids:0
msgid "Messages"
msgstr ""
#. module: analytic
#: field:account.analytic.account,parent_id:0
msgid "Parent Analytic Account"
msgstr ""
#. module: analytic
#: view:account.analytic.account:0
msgid "Contract Information"
msgstr ""
#. module: analytic
#: field:account.analytic.account,template_id:0
#: selection:account.analytic.account,type:0
msgid "Template of Contract"
msgstr ""
#. module: analytic
#: field:account.analytic.account,message_summary:0
msgid "Summary"
msgstr ""
#. module: analytic
#: field:account.analytic.account,quantity_max:0
msgid "Prepaid Service Units"
msgstr ""
#. module: analytic
#: field:account.analytic.account,credit:0
msgid "Credit"
msgstr ""
#. module: analytic
#: model:mail.message.subtype,name:analytic.mt_account_opened
msgid "Contract Opened"
msgstr ""
#. module: analytic
#: model:mail.message.subtype,description:analytic.mt_account_closed
msgid "Contract <b>closed</b>"
msgstr ""
#. module: analytic
#: selection:account.analytic.account,state:0
msgid "Cancelled"
msgstr ""
#. module: analytic
#: selection:account.analytic.account,type:0
msgid "Analytic View"
msgstr ""
#. module: analytic
#: field:account.analytic.account,balance:0
msgid "Balance"
msgstr ""
#. module: analytic
#: help:account.analytic.account,message_unread:0
msgid "If checked new messages require your attention."
msgstr ""
#. module: analytic
#: selection:account.analytic.account,state:0
msgid "To Renew"
msgstr ""
#. module: analytic
#: field:account.analytic.account,quantity:0
#: field:account.analytic.line,unit_amount:0
msgid "Quantity"
msgstr ""
#. module: analytic
#: field:account.analytic.account,date:0
msgid "Date End"
msgstr ""
#. module: analytic
#: field:account.analytic.account,code:0
msgid "Reference"
msgstr ""
#. module: analytic
#: code:addons/analytic/analytic.py:160
#, python-format
msgid "Error!"
msgstr ""
#. module: analytic
#: model:res.groups,name:analytic.group_analytic_accounting
msgid "Analytic Accounting"
msgstr ""
#. module: analytic
#: field:account.analytic.line,amount:0
msgid "Amount"
msgstr ""
#. module: analytic
#: field:account.analytic.account,complete_name:0
msgid "Full Account Name"
msgstr ""
#. module: analytic
#: view:account.analytic.account:0
#: selection:account.analytic.account,type:0
#: field:account.analytic.line,account_id:0
#: model:ir.model,name:analytic.model_account_analytic_account
msgid "Analytic Account"
msgstr ""
#. module: analytic
#: field:account.analytic.account,currency_id:0
msgid "Currency"
msgstr ""
#. module: analytic
#: help:account.analytic.account,message_summary:0
msgid ""
"Holds the Chatter summary (number of messages, ...). This summary is "
"directly in html format in order to be inserted in kanban views."
msgstr ""
#. module: analytic
#: field:account.analytic.account,type:0
msgid "Type of Account"
msgstr ""
#. module: analytic
#: field:account.analytic.account,date_start:0
msgid "Start Date"
msgstr ""
#. module: analytic
#: constraint:account.analytic.line:0
msgid "You cannot create analytic line on view account."
msgstr ""
#. module: analytic
#: field:account.analytic.account,line_ids:0
msgid "Analytic Entries"
msgstr ""

View File

@ -41,7 +41,7 @@ class res_users(osv.Model):
state = simplejson.loads(params['state'])
token = state.get('t')
oauth_uid = validation['user_id']
email = validation.get('email', 'provider_%d_user_%d' % (provider, oauth_uid))
email = validation.get('email', 'provider_%s_user_%s' % (provider, oauth_uid))
name = validation.get('name', email)
values = {
'name': name,

View File

@ -0,0 +1,277 @@
# Macedonian translation for openobject-addons
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2013-02-21 13:26+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Macedonian <mk@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: 2013-02-22 05:13+0000\n"
"X-Generator: Launchpad (build 16506)\n"
#. module: auth_signup
#: field:res.partner,signup_type:0
msgid "Signup Token Type"
msgstr ""
#. module: auth_signup
#: field:base.config.settings,auth_signup_uninvited:0
msgid "Allow external users to sign up"
msgstr ""
#. module: auth_signup
#. openerp-web
#: code:addons/auth_signup/static/src/xml/auth_signup.xml:16
#, python-format
msgid "Confirm Password"
msgstr ""
#. module: auth_signup
#: help:base.config.settings,auth_signup_uninvited:0
msgid "If unchecked, only invited users may sign up."
msgstr ""
#. module: auth_signup
#: model:ir.model,name:auth_signup.model_base_config_settings
msgid "base.config.settings"
msgstr ""
#. module: auth_signup
#: code:addons/auth_signup/res_users.py:252
#, python-format
msgid "Cannot send email: user has no email address."
msgstr ""
#. module: auth_signup
#. openerp-web
#: code:addons/auth_signup/static/src/xml/auth_signup.xml:25
#, python-format
msgid "Reset password"
msgstr ""
#. module: auth_signup
#: field:base.config.settings,auth_signup_template_user_id:0
msgid "Template user for new users created through signup"
msgstr ""
#. module: auth_signup
#: model:email.template,subject:auth_signup.reset_password_email
msgid "Password reset"
msgstr ""
#. module: auth_signup
#. openerp-web
#: code:addons/auth_signup/static/src/js/auth_signup.js:125
#, python-format
msgid "Please enter a password and confirm it."
msgstr ""
#. module: auth_signup
#: view:res.users:0
msgid "Send an email to the user to (re)set their password."
msgstr ""
#. module: auth_signup
#. openerp-web
#: code:addons/auth_signup/static/src/xml/auth_signup.xml:23
#, python-format
msgid "Sign Up"
msgstr ""
#. module: auth_signup
#: selection:res.users,state:0
msgid "New"
msgstr ""
#. module: auth_signup
#: code:addons/auth_signup/res_users.py:258
#, python-format
msgid "Mail sent to:"
msgstr ""
#. module: auth_signup
#: field:res.users,state:0
msgid "Status"
msgstr ""
#. module: auth_signup
#: model:email.template,body_html:auth_signup.reset_password_email
msgid ""
"\n"
"<p>A password reset was requested for the OpenERP account linked to this "
"email.</p>\n"
"\n"
"<p>You may change your password by following <a "
"href=\"${object.signup_url}\">this link</a>.</p>\n"
"\n"
"<p>Note: If you do not expect this, you can safely ignore this email.</p>"
msgstr ""
#. module: auth_signup
#. openerp-web
#: code:addons/auth_signup/static/src/js/auth_signup.js:119
#, python-format
msgid "Please enter a name."
msgstr ""
#. module: auth_signup
#: model:ir.model,name:auth_signup.model_res_users
msgid "Users"
msgstr ""
#. module: auth_signup
#: field:res.partner,signup_url:0
msgid "Signup URL"
msgstr ""
#. module: auth_signup
#. openerp-web
#: code:addons/auth_signup/static/src/js/auth_signup.js:122
#, python-format
msgid "Please enter a username."
msgstr ""
#. module: auth_signup
#: selection:res.users,state:0
msgid "Active"
msgstr ""
#. module: auth_signup
#: code:addons/auth_signup/res_users.py:256
#, python-format
msgid ""
"Cannot send email: no outgoing email server configured.\n"
"You can configure it under Settings/General Settings."
msgstr ""
#. module: auth_signup
#. openerp-web
#: code:addons/auth_signup/static/src/xml/auth_signup.xml:12
#, python-format
msgid "Username"
msgstr ""
#. module: auth_signup
#. openerp-web
#: code:addons/auth_signup/static/src/xml/auth_signup.xml:8
#, python-format
msgid "Name"
msgstr ""
#. module: auth_signup
#. openerp-web
#: code:addons/auth_signup/static/src/js/auth_signup.js:165
#, python-format
msgid "Please enter a username or email address."
msgstr ""
#. module: auth_signup
#: selection:res.users,state:0
msgid "Resetting Password"
msgstr ""
#. module: auth_signup
#. openerp-web
#: code:addons/auth_signup/static/src/xml/auth_signup.xml:13
#, python-format
msgid "Username (Email)"
msgstr ""
#. module: auth_signup
#: field:res.partner,signup_expiration:0
msgid "Signup Expiration"
msgstr ""
#. module: auth_signup
#: help:base.config.settings,auth_signup_reset_password:0
msgid "This allows users to trigger a password reset from the Login page."
msgstr ""
#. module: auth_signup
#. openerp-web
#: code:addons/auth_signup/static/src/xml/auth_signup.xml:21
#, python-format
msgid "Log in"
msgstr ""
#. module: auth_signup
#: field:res.partner,signup_valid:0
msgid "Signup Token is Valid"
msgstr ""
#. module: auth_signup
#. openerp-web
#: code:addons/auth_signup/static/src/js/auth_signup.js:116
#: code:addons/auth_signup/static/src/js/auth_signup.js:119
#: code:addons/auth_signup/static/src/js/auth_signup.js:122
#: code:addons/auth_signup/static/src/js/auth_signup.js:125
#: code:addons/auth_signup/static/src/js/auth_signup.js:128
#: code:addons/auth_signup/static/src/js/auth_signup.js:162
#: code:addons/auth_signup/static/src/js/auth_signup.js:165
#, python-format
msgid "Login"
msgstr ""
#. module: auth_signup
#. openerp-web
#: code:addons/auth_signup/static/src/js/auth_signup.js:99
#, python-format
msgid "Invalid signup token"
msgstr ""
#. module: auth_signup
#. openerp-web
#: code:addons/auth_signup/static/src/js/auth_signup.js:128
#, python-format
msgid "Passwords do not match; please retype them."
msgstr ""
#. module: auth_signup
#. openerp-web
#: code:addons/auth_signup/static/src/js/auth_signup.js:116
#: code:addons/auth_signup/static/src/js/auth_signup.js:162
#, python-format
msgid "No database selected !"
msgstr ""
#. module: auth_signup
#: view:res.users:0
msgid "Reset Password"
msgstr ""
#. module: auth_signup
#: field:base.config.settings,auth_signup_reset_password:0
msgid "Enable password reset from Login page"
msgstr ""
#. module: auth_signup
#. openerp-web
#: code:addons/auth_signup/static/src/xml/auth_signup.xml:24
#, python-format
msgid "Back to Login"
msgstr ""
#. module: auth_signup
#. openerp-web
#: code:addons/auth_signup/static/src/xml/auth_signup.xml:22
#, python-format
msgid "Sign up"
msgstr ""
#. module: auth_signup
#: model:ir.model,name:auth_signup.model_res_partner
msgid "Partner"
msgstr ""
#. module: auth_signup
#: field:res.partner,signup_token:0
msgid "Signup Token"
msgstr ""

View File

@ -21,8 +21,8 @@
<!-- add Reset Password button -->
<xpath expr="//div[@class='oe_right oe_button_box']" position="replace">
<div class="oe_right oe_button_box">
<button string="Reset Password" type="object" name="action_reset_password"
help="Send an email to the user to (re)set their password."/>
<button string="Send reset password instructions by email"
type="object" name="action_reset_password" />
</div>
</xpath>
</field>

View File

@ -0,0 +1,313 @@
# Macedonian translation for openobject-addons
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2013-02-21 13:26+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Macedonian <mk@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: 2013-02-22 05:13+0000\n"
"X-Generator: Launchpad (build 16506)\n"
#. module: base_action_rule
#: selection:base.action.rule.lead.test,state:0
msgid "In Progress"
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
msgid ""
"- In this same \"Search\" view, select the menu \"Save Current Filter\", "
"enter the name (Ex: Create the 01/01/2012) and add the option \"Share with "
"all users\""
msgstr ""
#. module: base_action_rule
#: model:ir.model,name:base_action_rule.model_base_action_rule
msgid "Action Rules"
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
msgid "Select a filter or a timer as condition."
msgstr ""
#. module: base_action_rule
#: field:base.action.rule.lead.test,user_id:0
msgid "Responsible"
msgstr ""
#. module: base_action_rule
#: help:base.action.rule,server_action_ids:0
msgid "Examples: email reminders, call object service, etc."
msgstr ""
#. module: base_action_rule
#: field:base.action.rule,act_followers:0
msgid "Add Followers"
msgstr ""
#. module: base_action_rule
#: field:base.action.rule,act_user_id:0
msgid "Set Responsible"
msgstr ""
#. module: base_action_rule
#: help:base.action.rule,trg_date_range:0
msgid ""
"Delay after the trigger date.You can put a negative number if you need a "
"delay before thetrigger date, like sending a reminder 15 minutes before a "
"meeting."
msgstr ""
#. module: base_action_rule
#: model:ir.model,name:base_action_rule.model_base_action_rule_lead_test
msgid "base.action.rule.lead.test"
msgstr ""
#. module: base_action_rule
#: selection:base.action.rule.lead.test,state:0
msgid "Closed"
msgstr ""
#. module: base_action_rule
#: selection:base.action.rule.lead.test,state:0
msgid "New"
msgstr ""
#. module: base_action_rule
#: field:base.action.rule,trg_date_range:0
msgid "Delay after trigger date"
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
msgid "Conditions"
msgstr ""
#. module: base_action_rule
#: selection:base.action.rule.lead.test,state:0
msgid "Pending"
msgstr ""
#. module: base_action_rule
#: field:base.action.rule.lead.test,state:0
msgid "Status"
msgstr ""
#. module: base_action_rule
#: field:base.action.rule,filter_pre_id:0
msgid "Before Update Filter"
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
msgid "Action Rule"
msgstr ""
#. module: base_action_rule
#: help:base.action.rule,filter_id:0
msgid ""
"If present, this condition must be satisfied after the update of the record."
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
msgid "Fields to Change"
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
msgid "The filter must therefore be available in this page."
msgstr ""
#. module: base_action_rule
#: field:base.action.rule,filter_id:0
msgid "After Update Filter"
msgstr ""
#. module: base_action_rule
#: selection:base.action.rule,trg_date_range_type:0
msgid "Hours"
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
msgid "To create a new filter:"
msgstr ""
#. module: base_action_rule
#: field:base.action.rule,active:0
#: field:base.action.rule.lead.test,active:0
msgid "Active"
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
msgid "Delay After Trigger Date"
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
msgid ""
"An action rule is checked when you create or modify the \"Related Document "
"Model\". The precondition filter is checked right before the modification "
"while the postcondition filter is checked after the modification. A "
"precondition filter will therefore not work during a creation."
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
msgid "Filter Condition"
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
msgid ""
"- Go to your \"Related Document Model\" page and set the filter parameters "
"in the \"Search\" view (Example of filter based on Leads/Opportunities: "
"Creation Date \"is equal to\" 01/01/2012)"
msgstr ""
#. module: base_action_rule
#: field:base.action.rule,name:0
msgid "Rule Name"
msgstr ""
#. module: base_action_rule
#: model:ir.actions.act_window,name:base_action_rule.base_action_rule_act
#: model:ir.ui.menu,name:base_action_rule.menu_base_action_rule_form
msgid "Automated Actions"
msgstr ""
#. module: base_action_rule
#: help:base.action.rule,sequence:0
msgid "Gives the sequence order when displaying a list of rules."
msgstr ""
#. module: base_action_rule
#: selection:base.action.rule,trg_date_range_type:0
msgid "Months"
msgstr ""
#. module: base_action_rule
#: selection:base.action.rule,trg_date_range_type:0
msgid "Days"
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
msgid "Timer"
msgstr ""
#. module: base_action_rule
#: field:base.action.rule,trg_date_range_type:0
msgid "Delay type"
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
msgid "Server actions to run"
msgstr ""
#. module: base_action_rule
#: help:base.action.rule,active:0
msgid "When unchecked, the rule is hidden and will not be executed."
msgstr ""
#. module: base_action_rule
#: selection:base.action.rule.lead.test,state:0
msgid "Cancelled"
msgstr ""
#. module: base_action_rule
#: field:base.action.rule,model:0
msgid "Model"
msgstr ""
#. module: base_action_rule
#: field:base.action.rule,last_run:0
msgid "Last Run"
msgstr ""
#. module: base_action_rule
#: selection:base.action.rule,trg_date_range_type:0
msgid "Minutes"
msgstr ""
#. module: base_action_rule
#: field:base.action.rule,model_id:0
msgid "Related Document Model"
msgstr ""
#. module: base_action_rule
#: help:base.action.rule,filter_pre_id:0
msgid ""
"If present, this condition must be satisfied before the update of the record."
msgstr ""
#. module: base_action_rule
#: field:base.action.rule,sequence:0
msgid "Sequence"
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
msgid "Actions"
msgstr ""
#. module: base_action_rule
#: model:ir.actions.act_window,help:base_action_rule.base_action_rule_act
msgid ""
"<p class=\"oe_view_nocontent_create\">\n"
" Click to setup a new automated action rule. \n"
" </p><p>\n"
" Use automated actions to automatically trigger actions for\n"
" various screens. Example: a lead created by a specific user "
"may\n"
" be automatically set to a specific sales team, or an\n"
" opportunity which still has status pending after 14 days "
"might\n"
" trigger an automatic reminder email.\n"
" </p>\n"
" "
msgstr ""
#. module: base_action_rule
#: field:base.action.rule,create_date:0
msgid "Create Date"
msgstr ""
#. module: base_action_rule
#: field:base.action.rule.lead.test,date_action_last:0
msgid "Last Action"
msgstr ""
#. module: base_action_rule
#: field:base.action.rule.lead.test,partner_id:0
msgid "Partner"
msgstr ""
#. module: base_action_rule
#: field:base.action.rule,trg_date_id:0
msgid "Trigger Date"
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
#: field:base.action.rule,server_action_ids:0
msgid "Server Actions"
msgstr ""
#. module: base_action_rule
#: field:base.action.rule.lead.test,name:0
msgid "Subject"
msgstr ""

View File

@ -0,0 +1,86 @@
# Macedonian translation for openobject-addons
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2013-02-21 13:27+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Macedonian <mk@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: 2013-02-22 05:12+0000\n"
"X-Generator: Launchpad (build 16506)\n"
#. module: base_iban
#: constraint:res.partner.bank:0
msgid ""
"\n"
"Please define BIC/Swift code on bank for bank type IBAN Account to make "
"valid payments"
msgstr ""
#. module: base_iban
#: code:addons/base_iban/base_iban.py:141
#, python-format
msgid "This IBAN does not pass the validation check, please verify it"
msgstr ""
#. module: base_iban
#: model:res.partner.bank.type,format_layout:base_iban.bank_iban
msgid "%(bank_name)s: IBAN %(acc_number)s - BIC %(bank_bic)s"
msgstr ""
#. module: base_iban
#: model:res.partner.bank.type.field,name:base_iban.bank_swift_field
msgid "bank_bic"
msgstr ""
#. module: base_iban
#: model:res.partner.bank.type.field,name:base_iban.bank_zip_field
msgid "zip"
msgstr ""
#. module: base_iban
#: help:res.partner.bank,iban:0
msgid "International Bank Account Number"
msgstr ""
#. module: base_iban
#: model:ir.model,name:base_iban.model_res_partner_bank
msgid "Bank Accounts"
msgstr ""
#. module: base_iban
#: model:res.partner.bank.type.field,name:base_iban.bank_country_field
msgid "country_id"
msgstr ""
#. module: base_iban
#: code:addons/base_iban/base_iban.py:138
#, python-format
msgid ""
"The IBAN does not seem to be correct. You should have entered something like "
"this %s"
msgstr ""
#. module: base_iban
#: field:res.partner.bank,iban:0
msgid "IBAN"
msgstr ""
#. module: base_iban
#: code:addons/base_iban/base_iban.py:142
#, python-format
msgid "The IBAN is invalid, it should begin with the country code"
msgstr ""
#. module: base_iban
#: model:res.partner.bank.type,name:base_iban.bank_iban
msgid "IBAN Account"
msgstr ""

View File

@ -0,0 +1,370 @@
# Macedonian translation for openobject-addons
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2013-02-21 13:27+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Macedonian <mk@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: 2013-02-22 05:13+0000\n"
"X-Generator: Launchpad (build 16506)\n"
#. module: base_setup
#: view:sale.config.settings:0
msgid "Emails Integration"
msgstr ""
#. module: base_setup
#: selection:base.setup.terminology,partner:0
msgid "Guest"
msgstr ""
#. module: base_setup
#: view:sale.config.settings:0
msgid "Contacts"
msgstr ""
#. module: base_setup
#: model:ir.model,name:base_setup.model_base_config_settings
msgid "base.config.settings"
msgstr ""
#. module: base_setup
#: field:base.config.settings,module_auth_oauth:0
msgid ""
"Use external authentication providers, sign in with google, facebook, ..."
msgstr ""
#. module: base_setup
#: view:sale.config.settings:0
msgid ""
"OpenERP allows to automatically create leads (or others documents)\n"
" from incoming emails. You can automatically "
"synchronize emails with OpenERP\n"
" using regular POP/IMAP accounts, using a direct "
"email integration script for your\n"
" email server, or by manually pushing emails to "
"OpenERP using specific\n"
" plugins for your preferred email application."
msgstr ""
#. module: base_setup
#: field:sale.config.settings,module_sale:0
msgid "SALE"
msgstr ""
#. module: base_setup
#: selection:base.setup.terminology,partner:0
msgid "Member"
msgstr ""
#. module: base_setup
#: view:base.config.settings:0
msgid "Portal access"
msgstr ""
#. module: base_setup
#: view:base.config.settings:0
msgid "Authentication"
msgstr ""
#. module: base_setup
#: view:sale.config.settings:0
msgid "Quotations and Sales Orders"
msgstr ""
#. module: base_setup
#: view:base.config.settings:0
#: model:ir.actions.act_window,name:base_setup.action_general_configuration
#: model:ir.ui.menu,name:base_setup.menu_general_configuration
msgid "General Settings"
msgstr ""
#. module: base_setup
#: selection:base.setup.terminology,partner:0
msgid "Donor"
msgstr ""
#. module: base_setup
#: view:base.config.settings:0
msgid "Email"
msgstr ""
#. module: base_setup
#: field:sale.config.settings,module_crm:0
msgid "CRM"
msgstr ""
#. module: base_setup
#: selection:base.setup.terminology,partner:0
msgid "Patient"
msgstr ""
#. module: base_setup
#: field:base.config.settings,module_base_import:0
msgid "Allow users to import data from CSV files"
msgstr ""
#. module: base_setup
#: field:base.config.settings,module_multi_company:0
msgid "Manage multiple companies"
msgstr ""
#. module: base_setup
#: view:sale.config.settings:0
msgid "On Mail Client"
msgstr ""
#. module: base_setup
#: view:base.config.settings:0
msgid "--db-filter=YOUR_DATABAE"
msgstr ""
#. module: base_setup
#: field:sale.config.settings,module_web_linkedin:0
msgid "Get contacts automatically from linkedIn"
msgstr ""
#. module: base_setup
#: field:sale.config.settings,module_plugin_thunderbird:0
msgid "Enable Thunderbird plug-in"
msgstr ""
#. module: base_setup
#: view:base.setup.terminology:0
msgid "res_config_contents"
msgstr ""
#. module: base_setup
#: view:sale.config.settings:0
msgid "Customer Features"
msgstr ""
#. module: base_setup
#: view:base.config.settings:0
msgid "Import / Export"
msgstr ""
#. module: base_setup
#: view:sale.config.settings:0
msgid "Sale Features"
msgstr ""
#. module: base_setup
#: field:sale.config.settings,module_plugin_outlook:0
msgid "Enable Outlook plug-in"
msgstr ""
#. module: base_setup
#: view:base.setup.terminology:0
msgid ""
"You can use this wizard to change the terminologies for customers in the "
"whole application."
msgstr ""
#. module: base_setup
#: selection:base.setup.terminology,partner:0
msgid "Tenant"
msgstr ""
#. module: base_setup
#: help:base.config.settings,module_share:0
msgid "Share or embbed any screen of openerp."
msgstr ""
#. module: base_setup
#: selection:base.setup.terminology,partner:0
msgid "Customer"
msgstr ""
#. module: base_setup
#: help:sale.config.settings,module_web_linkedin:0
msgid ""
"When you create a new contact (person or company), you will be able to load "
"all the data from LinkedIn (photos, address, etc)."
msgstr ""
#. module: base_setup
#: help:base.config.settings,module_multi_company:0
msgid ""
"Work in multi-company environments, with appropriate security access between "
"companies.\n"
" This installs the module multi_company."
msgstr ""
#. module: base_setup
#: view:base.config.settings:0
msgid ""
"The public portal is accessible only if you are in a single database mode. "
"You can\n"
" launch the OpenERP Server with the option"
msgstr ""
#. module: base_setup
#: view:base.config.settings:0
msgid ""
"You will find more options in your company details: address for the header "
"and footer, overdue payments texts, etc."
msgstr ""
#. module: base_setup
#: model:ir.model,name:base_setup.model_sale_config_settings
msgid "sale.config.settings"
msgstr ""
#. module: base_setup
#: field:base.setup.terminology,partner:0
msgid "How do you call a Customer"
msgstr ""
#. module: base_setup
#: view:base.config.settings:0
msgid ""
"When you send a document to a customer\n"
" (quotation, invoice), your customer will "
"be\n"
" able to signup to get all his "
"documents,\n"
" read your company news, check his "
"projects,\n"
" etc."
msgstr ""
#. module: base_setup
#: model:ir.model,name:base_setup.model_base_setup_terminology
msgid "base.setup.terminology"
msgstr ""
#. module: base_setup
#: selection:base.setup.terminology,partner:0
msgid "Client"
msgstr ""
#. module: base_setup
#: help:base.config.settings,module_portal_anonymous:0
msgid "Enable the public part of openerp, openerp becomes a public website."
msgstr ""
#. module: base_setup
#: help:sale.config.settings,module_plugin_thunderbird:0
msgid ""
"The plugin allows you archive email and its attachments to the selected\n"
" OpenERP objects. You can select a partner, or a lead and\n"
" attach the selected mail as a .eml file in\n"
" the attachment of a selected record. You can create "
"documents for CRM Lead,\n"
" Partner from the selected emails.\n"
" This installs the module plugin_thunderbird."
msgstr ""
#. module: base_setup
#: selection:base.setup.terminology,partner:0
msgid "Partner"
msgstr ""
#. module: base_setup
#: model:ir.actions.act_window,name:base_setup.action_partner_terminology_config_form
msgid "Use another word to say \"Customer\""
msgstr ""
#. module: base_setup
#: model:ir.actions.act_window,name:base_setup.action_sale_config
#: view:sale.config.settings:0
msgid "Configure Sales"
msgstr ""
#. module: base_setup
#: help:sale.config.settings,module_plugin_outlook:0
msgid ""
"The Outlook plugin allows you to select an object that you would like to "
"add\n"
" to your email and its attachments from MS Outlook. You can "
"select a partner,\n"
" or a lead object and archive a selected\n"
" email into an OpenERP mail message with attachments.\n"
" This installs the module plugin_outlook."
msgstr ""
#. module: base_setup
#: view:base.config.settings:0
msgid "Options"
msgstr ""
#. module: base_setup
#: field:base.config.settings,module_portal:0
msgid "Activate the customer portal"
msgstr ""
#. module: base_setup
#: view:base.config.settings:0
msgid ""
"to do so.\n"
" Once activated, the login page will be "
"replaced by the public website."
msgstr ""
#. module: base_setup
#: field:base.config.settings,module_share:0
msgid "Allow documents sharing"
msgstr ""
#. module: base_setup
#: view:base.config.settings:0
msgid "(company news, jobs, contact form, etc.)"
msgstr ""
#. module: base_setup
#: field:base.config.settings,module_portal_anonymous:0
msgid "Activate the public portal"
msgstr ""
#. module: base_setup
#: view:base.config.settings:0
msgid "Configure outgoing email servers"
msgstr ""
#. module: base_setup
#: view:sale.config.settings:0
msgid "Social Network Integration"
msgstr ""
#. module: base_setup
#: help:base.config.settings,module_portal:0
msgid "Give your customers access to their documents."
msgstr ""
#. module: base_setup
#: view:base.config.settings:0
#: view:sale.config.settings:0
msgid "Cancel"
msgstr ""
#. module: base_setup
#: view:base.config.settings:0
#: view:sale.config.settings:0
msgid "Apply"
msgstr ""
#. module: base_setup
#: view:base.setup.terminology:0
msgid "Specify Your Terminology"
msgstr ""
#. module: base_setup
#: view:base.config.settings:0
#: view:sale.config.settings:0
msgid "or"
msgstr ""
#. module: base_setup
#: view:base.config.settings:0
msgid "Configure your company data"
msgstr ""

View File

@ -0,0 +1,76 @@
# Macedonian translation for openobject-addons
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2013-02-21 13:28+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Macedonian <mk@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: 2013-02-22 05:13+0000\n"
"X-Generator: Launchpad (build 16506)\n"
#. module: base_status
#: code:addons/base_status/base_state.py:107
#, python-format
msgid "Error !"
msgstr ""
#. module: base_status
#: code:addons/base_status/base_state.py:166
#, python-format
msgid "%s has been <b>opened</b>."
msgstr ""
#. module: base_status
#: code:addons/base_status/base_state.py:199
#, python-format
msgid "%s has been <b>renewed</b>."
msgstr ""
#. module: base_status
#: code:addons/base_status/base_stage.py:210
#, python-format
msgid "Error!"
msgstr ""
#. module: base_status
#: code:addons/base_status/base_state.py:107
#, python-format
msgid ""
"You can not escalate, you are already at the top level regarding your sales-"
"team category."
msgstr ""
#. module: base_status
#: code:addons/base_status/base_state.py:193
#, python-format
msgid "%s is now <b>pending</b>."
msgstr ""
#. module: base_status
#: code:addons/base_status/base_state.py:187
#, python-format
msgid "%s has been <b>canceled</b>."
msgstr ""
#. module: base_status
#: code:addons/base_status/base_stage.py:210
#, python-format
msgid ""
"You are already at the top level of your sales-team category.\n"
"Therefore you cannot escalate furthermore."
msgstr ""
#. module: base_status
#: code:addons/base_status/base_state.py:181
#, python-format
msgid "%s has been <b>closed</b>."
msgstr ""

View File

@ -0,0 +1,71 @@
# Macedonian translation for openobject-addons
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2013-02-21 13:28+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Macedonian <mk@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: 2013-02-22 05:13+0000\n"
"X-Generator: Launchpad (build 16506)\n"
#. module: base_vat
#: view:res.partner:0
msgid "Check Validity"
msgstr ""
#. module: base_vat
#: code:addons/base_vat/base_vat.py:147
#, python-format
msgid ""
"This VAT number does not seem to be valid.\n"
"Note: the expected format is %s"
msgstr ""
#. module: base_vat
#: field:res.company,vat_check_vies:0
msgid "VIES VAT Check"
msgstr ""
#. module: base_vat
#: model:ir.model,name:base_vat.model_res_company
msgid "Companies"
msgstr ""
#. module: base_vat
#: code:addons/base_vat/base_vat.py:111
#, python-format
msgid "Error!"
msgstr ""
#. module: base_vat
#: help:res.partner,vat_subjected:0
msgid ""
"Check this box if the partner is subjected to the VAT. It will be used for "
"the VAT legal statement."
msgstr ""
#. module: base_vat
#: model:ir.model,name:base_vat.model_res_partner
msgid "Partner"
msgstr ""
#. module: base_vat
#: help:res.company,vat_check_vies:0
msgid ""
"If checked, Partners VAT numbers will be fully validated against EU's VIES "
"service rather than via a simple format validation (checksum)."
msgstr ""
#. module: base_vat
#: field:res.partner,vat_subjected:0
msgid "VAT Legal Statement"
msgstr ""

167
addons/board/i18n/mk.po Normal file
View File

@ -0,0 +1,167 @@
# Macedonian translation for openobject-addons
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2013-02-21 13:28+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Macedonian <mk@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: 2013-02-22 05:13+0000\n"
"X-Generator: Launchpad (build 16506)\n"
#. module: board
#: model:ir.actions.act_window,name:board.action_board_create
#: model:ir.ui.menu,name:board.menu_board_create
msgid "Create Board"
msgstr ""
#. module: board
#: view:board.create:0
msgid "Create"
msgstr ""
#. module: board
#. openerp-web
#: code:addons/board/static/src/xml/board.xml:4
#, python-format
msgid "Reset Layout.."
msgstr ""
#. module: board
#: view:board.create:0
msgid "Create New Dashboard"
msgstr ""
#. module: board
#. openerp-web
#: code:addons/board/static/src/xml/board.xml:40
#, python-format
msgid "Choose dashboard layout"
msgstr ""
#. module: board
#. openerp-web
#: code:addons/board/static/src/xml/board.xml:70
#, python-format
msgid "Add"
msgstr ""
#. module: board
#. openerp-web
#: code:addons/board/static/src/js/dashboard.js:139
#, python-format
msgid "Are you sure you want to remove this item ?"
msgstr ""
#. module: board
#: model:ir.model,name:board.model_board_board
msgid "Board"
msgstr ""
#. module: board
#: view:board.board:0
#: model:ir.actions.act_window,name:board.open_board_my_dash_action
#: model:ir.ui.menu,name:board.menu_board_my_dash
msgid "My Dashboard"
msgstr ""
#. module: board
#: field:board.create,name:0
msgid "Board Name"
msgstr ""
#. module: board
#: model:ir.model,name:board.model_board_create
msgid "Board Creation"
msgstr ""
#. module: board
#. openerp-web
#: code:addons/board/static/src/xml/board.xml:67
#, python-format
msgid "Add to Dashboard"
msgstr ""
#. module: board
#. openerp-web
#: code:addons/board/static/src/xml/board.xml:28
#, python-format
msgid "&nbsp;"
msgstr ""
#. module: board
#: model:ir.actions.act_window,help:board.open_board_my_dash_action
msgid ""
"<div class=\"oe_empty_custom_dashboard\">\n"
" <p>\n"
" <b>Your personal dashboard is empty.</b>\n"
" </p><p>\n"
" To add your first report into this dashboard, go to any\n"
" menu, switch to list or graph view, and click <i>'Add "
"to\n"
" Dashboard'</i> in the extended search options.\n"
" </p><p>\n"
" You can filter and group data before inserting into the\n"
" dashboard using the search options.\n"
" </p>\n"
" </div>\n"
" "
msgstr ""
#. module: board
#. openerp-web
#: code:addons/board/static/src/xml/board.xml:6
#, python-format
msgid "Reset"
msgstr ""
#. module: board
#: field:board.create,menu_parent_id:0
msgid "Parent Menu"
msgstr ""
#. module: board
#. openerp-web
#: code:addons/board/static/src/xml/board.xml:8
#, python-format
msgid "Change Layout.."
msgstr ""
#. module: board
#. openerp-web
#: code:addons/board/static/src/js/dashboard.js:93
#, python-format
msgid "Edit Layout"
msgstr ""
#. module: board
#. openerp-web
#: code:addons/board/static/src/xml/board.xml:10
#, python-format
msgid "Change Layout"
msgstr ""
#. module: board
#: view:board.create:0
msgid "Cancel"
msgstr ""
#. module: board
#: view:board.create:0
msgid "or"
msgstr ""
#. module: board
#. openerp-web
#: code:addons/board/static/src/xml/board.xml:69
#, python-format
msgid "Title of new dashboard item"
msgstr ""

View File

@ -0,0 +1,37 @@
# Macedonian translation for openobject-addons
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2013-02-21 13:29+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Macedonian <mk@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: 2013-02-22 05:13+0000\n"
"X-Generator: Launchpad (build 16506)\n"
#. module: contacts
#: model:ir.actions.act_window,help:contacts.action_contacts
msgid ""
"<p class=\"oe_view_nocontent_create\">\n"
" Click to add a contact in your address book.\n"
" </p><p>\n"
" OpenERP helps you easily track all activities related to\n"
" a customer; discussions, history of business opportunities,\n"
" documents, etc.\n"
" </p>\n"
" "
msgstr ""
#. module: contacts
#: model:ir.actions.act_window,name:contacts.action_contacts
#: model:ir.ui.menu,name:contacts.menu_contacts
msgid "Contacts"
msgstr ""

View File

@ -587,27 +587,25 @@ class crm_lead(base_stage, format_address, osv.osv):
return True
def _merge_opportunity_attachments(self, cr, uid, opportunity_id, opportunities, context=None):
attachment = self.pool.get('ir.attachment')
attach_obj = self.pool.get('ir.attachment')
# return attachments of opportunity
def _get_attachments(opportunity_id):
attachment_ids = attachment.search(cr, uid, [('res_model', '=', self._name), ('res_id', '=', opportunity_id)], context=context)
return attachment.browse(cr, uid, attachment_ids, context=context)
attachment_ids = attach_obj.search(cr, uid, [('res_model', '=', self._name), ('res_id', '=', opportunity_id)], context=context)
return attach_obj.browse(cr, uid, attachment_ids, context=context)
count = 1
first_attachments = _get_attachments(opportunity_id)
#counter of all attachments to move. Used to make sure the name is different for all attachments
count = 1
for opportunity in opportunities:
attachments = _get_attachments(opportunity.id)
for first in first_attachments:
for attachment in attachments:
if attachment.name == first.name:
values = dict(
name = "%s (%s)" % (attachment.name, count,),
res_id = opportunity_id,
)
attachment.write(values)
count+=1
for attachment in attachments:
values = {'res_id': opportunity_id,}
for attachment_in_first in first_attachments:
if attachment.name == attachment_in_first.name:
name = "%s (%s)" % (attachment.name, count,),
count+=1
attachment.write(values)
return True
def merge_opportunity(self, cr, uid, ids, context=None):

View File

@ -2,7 +2,6 @@
<openerp>
<data>
<!--
CRM CASE STAGE
-->
@ -110,7 +109,7 @@
string="Phone Calls"/>
</div>
<div class="oe_title">
<label for="name" class="oe_edit_only" string="Lead Description"/>
<label for="name" class="oe_edit_only"/>
<h1><field name="name" placeholder="Describe the lead..."/></h1>
</div>
<group>
@ -217,9 +216,8 @@
<field name="arch" type="xml">
<tree string="Leads" fonts="bold:message_unread==True" colors="grey:state in ('cancel', 'done')">
<field name="date_deadline" invisible="1"/>
<field name="create_date" groups="base.group_no_one"/>
<field name="create_date"/>
<field name="name"/>
<field name="type"/>
<field name="contact_name"/>
<field name="country_id" invisible="context.get('invisible_country', True)"/>
<field name="email_from"/>
@ -390,8 +388,7 @@
<button string="Meeting"
name="action_makeMeeting"
type="object"
context="{'search_default_attendee_id': active_id, 'default_attendee_id' : active_id}"
/>
context="{'search_default_attendee_id': active_id, 'default_attendee_id' : active_id}"/>
</div>
<div class="oe_title">
<label for="name" class="oe_edit_only"/>
@ -512,7 +509,7 @@
<field name="arch" type="xml">
<tree string="Opportunities" fonts="bold:message_unread==True" colors="gray:state in ('cancel', 'done');red:date_deadline and (date_deadline &lt; current_date)">
<field name="date_deadline" invisible="1"/>
<field name="create_date" groups="base.group_no_one"/>
<field name="create_date"/>
<field name="name" string="Opportunity"/>
<field name="partner_id" string="Customer"/>
<field name="country_id" invisible="context.get('invisible_country', True)"/>
@ -527,8 +524,8 @@
<field name="user_id"/>
<field name="referred" invisible="1"/>
<field name="priority" invisible="1"/>
<field name="state" groups="base.group_no_one"/>
<field name="message_unread" invisible="1"/>
<field name="state" invisible="1"/>
</tree>
</field>
</record>

3004
addons/crm/i18n/mk.po Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,50 @@
# Macedonian translation for openobject-addons
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2013-02-21 13:29+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Macedonian <mk@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: 2013-02-22 05:13+0000\n"
"X-Generator: Launchpad (build 16506)\n"
#. module: decimal_precision
#: field:decimal.precision,digits:0
msgid "Digits"
msgstr "Бројки"
#. module: decimal_precision
#: model:ir.actions.act_window,name:decimal_precision.action_decimal_precision_form
#: model:ir.ui.menu,name:decimal_precision.menu_decimal_precision_form
msgid "Decimal Accuracy"
msgstr "Точност на децимали"
#. module: decimal_precision
#: field:decimal.precision,name:0
msgid "Usage"
msgstr "Употреба"
#. module: decimal_precision
#: sql_constraint:decimal.precision:0
msgid "Only one value can be defined for each given usage!"
msgstr ""
"Само една вредност може да биде дефинирана за секоја дадена употреба!"
#. module: decimal_precision
#: view:decimal.precision:0
msgid "Decimal Precision"
msgstr "Прецизност на децимали"
#. module: decimal_precision
#: model:ir.model,name:decimal_precision.model_decimal_precision
msgid "decimal.precision"
msgstr "decimal.precision"

87
addons/edi/i18n/mk.po Normal file
View File

@ -0,0 +1,87 @@
# Macedonian translation for openobject-addons
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2013-02-21 13:29+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Macedonian <mk@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: 2013-02-22 05:13+0000\n"
"X-Generator: Launchpad (build 16506)\n"
#. module: edi
#. openerp-web
#: code:addons/edi/static/src/js/edi.js:67
#, python-format
msgid "Reason:"
msgstr ""
#. module: edi
#. openerp-web
#: code:addons/edi/static/src/js/edi.js:60
#, python-format
msgid "The document has been successfully imported!"
msgstr ""
#. module: edi
#. openerp-web
#: code:addons/edi/static/src/js/edi.js:65
#, python-format
msgid "Sorry, the document could not be imported."
msgstr ""
#. module: edi
#: model:ir.model,name:edi.model_res_company
msgid "Companies"
msgstr ""
#. module: edi
#: model:ir.model,name:edi.model_res_currency
msgid "Currency"
msgstr ""
#. module: edi
#. openerp-web
#: code:addons/edi/static/src/js/edi.js:71
#, python-format
msgid "Document Import Notification"
msgstr ""
#. module: edi
#: code:addons/edi/models/edi.py:130
#, python-format
msgid "Missing application."
msgstr ""
#. module: edi
#: code:addons/edi/models/edi.py:131
#, python-format
msgid ""
"The document you are trying to import requires the OpenERP `%s` application. "
"You can install it by connecting as the administrator and opening the "
"configuration assistant."
msgstr ""
#. module: edi
#: code:addons/edi/models/edi.py:47
#, python-format
msgid "'%s' is an invalid external ID"
msgstr ""
#. module: edi
#: model:ir.model,name:edi.model_res_partner
msgid "Partner"
msgstr ""
#. module: edi
#: model:ir.model,name:edi.model_edi_edi
msgid "EDI Subsystem"
msgstr ""

View File

@ -0,0 +1,488 @@
# Macedonian translation for openobject-addons
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2013-02-21 13:29+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Macedonian <mk@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: 2013-02-22 05:13+0000\n"
"X-Generator: Launchpad (build 16506)\n"
#. module: email_template
#: field:email.template,email_from:0
#: field:email_template.preview,email_from:0
msgid "From"
msgstr ""
#. module: email_template
#: field:mail.compose.message,template_id:0
msgid "Template"
msgstr ""
#. module: email_template
#: help:email.template,ref_ir_value:0
#: help:email_template.preview,ref_ir_value:0
msgid "Sidebar button to open the sidebar action"
msgstr ""
#. module: email_template
#: field:res.partner,opt_out:0
msgid "Opt-Out"
msgstr ""
#. module: email_template
#: field:email.template,email_to:0
#: field:email_template.preview,email_to:0
msgid "To (Emails)"
msgstr ""
#. module: email_template
#: field:email.template,mail_server_id:0
#: field:email_template.preview,mail_server_id:0
msgid "Outgoing Mail Server"
msgstr ""
#. module: email_template
#: help:email.template,ref_ir_act_window:0
#: help:email_template.preview,ref_ir_act_window:0
msgid ""
"Sidebar action to make this template available on records of the related "
"document model"
msgstr ""
#. module: email_template
#: field:email.template,model_object_field:0
#: field:email_template.preview,model_object_field:0
msgid "Field"
msgstr ""
#. module: email_template
#: help:email.template,email_from:0
#: help:email_template.preview,email_from:0
msgid "Sender address (placeholders may be used here)"
msgstr ""
#. module: email_template
#: view:email.template:0
msgid "Remove context action"
msgstr ""
#. module: email_template
#: help:email.template,mail_server_id:0
#: help:email_template.preview,mail_server_id:0
msgid ""
"Optional preferred server for outgoing mails. If not set, the highest "
"priority one will be used."
msgstr ""
#. module: email_template
#: field:email.template,report_name:0
#: field:email_template.preview,report_name:0
msgid "Report Filename"
msgstr ""
#. module: email_template
#: view:email.template:0
msgid "Preview"
msgstr ""
#. module: email_template
#: field:email.template,reply_to:0
#: field:email_template.preview,reply_to:0
msgid "Reply-To"
msgstr ""
#. module: email_template
#: view:mail.compose.message:0
msgid "Use template"
msgstr ""
#. module: email_template
#: field:email.template,body_html:0
#: field:email_template.preview,body_html:0
msgid "Body"
msgstr ""
#. module: email_template
#: code:addons/email_template/email_template.py:244
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: email_template
#: help:email.template,user_signature:0
#: help:email_template.preview,user_signature:0
msgid ""
"If checked, the user's signature will be appended to the text version of the "
"message"
msgstr ""
#. module: email_template
#: view:email.template:0
msgid "SMTP Server"
msgstr ""
#. module: email_template
#: view:mail.compose.message:0
msgid "Save as new template"
msgstr ""
#. module: email_template
#: help:email.template,sub_object:0
#: help:email_template.preview,sub_object:0
msgid ""
"When a relationship field is selected as first field, this field shows the "
"document model the relationship goes to."
msgstr ""
#. module: email_template
#: model:ir.model,name:email_template.model_email_template
msgid "Email Templates"
msgstr ""
#. module: email_template
#: help:email.template,report_name:0
#: help:email_template.preview,report_name:0
msgid ""
"Name to use for the generated report file (may contain placeholders)\n"
"The extension can be omitted and will then come from the report type."
msgstr ""
#. module: email_template
#: field:email.template,ref_ir_act_window:0
#: field:email_template.preview,ref_ir_act_window:0
msgid "Sidebar action"
msgstr ""
#. module: email_template
#: help:email.template,lang:0
#: help:email_template.preview,lang:0
msgid ""
"Optional translation language (ISO code) to select when sending out an "
"email. If not set, the english version will be used. This should usually be "
"a placeholder expression that provides the appropriate language code, e.g. "
"${object.partner_id.lang.code}."
msgstr ""
#. module: email_template
#: field:email_template.preview,res_id:0
msgid "Sample Document"
msgstr ""
#. module: email_template
#: help:email.template,model_object_field:0
#: help:email_template.preview,model_object_field:0
msgid ""
"Select target field from the related document model.\n"
"If it is a relationship field you will be able to select a target field at "
"the destination of the relationship."
msgstr ""
#. module: email_template
#: view:email.template:0
msgid "Dynamic Value Builder"
msgstr ""
#. module: email_template
#: model:ir.actions.act_window,name:email_template.wizard_email_template_preview
msgid "Template Preview"
msgstr ""
#. module: email_template
#: view:mail.compose.message:0
msgid "Save as a new template"
msgstr ""
#. module: email_template
#: view:email.template:0
msgid ""
"Display an option on related documents to open a composition wizard with "
"this template"
msgstr ""
#. module: email_template
#: help:email.template,email_cc:0
#: help:email_template.preview,email_cc:0
msgid "Carbon copy recipients (placeholders may be used here)"
msgstr ""
#. module: email_template
#: help:email.template,email_to:0
#: help:email_template.preview,email_to:0
msgid "Comma-separated recipient addresses (placeholders may be used here)"
msgstr ""
#. module: email_template
#: view:email.template:0
msgid "Advanced"
msgstr ""
#. module: email_template
#: view:email_template.preview:0
msgid "Preview of"
msgstr ""
#. module: email_template
#: view:email_template.preview:0
msgid "Using sample document"
msgstr ""
#. module: email_template
#: view:email.template:0
#: model:ir.actions.act_window,name:email_template.action_email_template_tree_all
#: model:ir.ui.menu,name:email_template.menu_email_templates
msgid "Templates"
msgstr ""
#. module: email_template
#: field:email.template,name:0
#: field:email_template.preview,name:0
msgid "Name"
msgstr ""
#. module: email_template
#: field:email.template,lang:0
#: field:email_template.preview,lang:0
msgid "Language"
msgstr ""
#. module: email_template
#: model:ir.model,name:email_template.model_email_template_preview
msgid "Email Template Preview"
msgstr ""
#. module: email_template
#: view:email_template.preview:0
msgid "Email Preview"
msgstr ""
#. module: email_template
#: view:email.template:0
msgid ""
"Remove the contextual action to use this template on related documents"
msgstr ""
#. module: email_template
#: field:email.template,copyvalue:0
#: field:email_template.preview,copyvalue:0
msgid "Placeholder Expression"
msgstr ""
#. module: email_template
#: field:email.template,sub_object:0
#: field:email_template.preview,sub_object:0
msgid "Sub-model"
msgstr ""
#. module: email_template
#: help:email.template,subject:0
#: help:email_template.preview,subject:0
msgid "Subject (placeholders may be used here)"
msgstr ""
#. module: email_template
#: help:email.template,reply_to:0
#: help:email_template.preview,reply_to:0
msgid "Preferred response address (placeholders may be used here)"
msgstr ""
#. module: email_template
#: field:email.template,ref_ir_value:0
#: field:email_template.preview,ref_ir_value:0
msgid "Sidebar Button"
msgstr ""
#. module: email_template
#: field:email.template,report_template:0
#: field:email_template.preview,report_template:0
msgid "Optional report to print and attach"
msgstr ""
#. module: email_template
#: help:email.template,null_value:0
#: help:email_template.preview,null_value:0
msgid "Optional value to use if the target field is empty"
msgstr ""
#. module: email_template
#: view:email.template:0
msgid "Model"
msgstr ""
#. module: email_template
#: model:ir.model,name:email_template.model_mail_compose_message
msgid "Email composition wizard"
msgstr ""
#. module: email_template
#: view:email.template:0
msgid "Add context action"
msgstr ""
#. module: email_template
#: help:email.template,model_id:0
#: help:email_template.preview,model_id:0
msgid "The kind of document with with this template can be used"
msgstr ""
#. module: email_template
#: field:email.template,email_recipients:0
#: field:email_template.preview,email_recipients:0
msgid "To (Partners)"
msgstr ""
#. module: email_template
#: field:email.template,auto_delete:0
#: field:email_template.preview,auto_delete:0
msgid "Auto Delete"
msgstr ""
#. module: email_template
#: help:email.template,copyvalue:0
#: help:email_template.preview,copyvalue:0
msgid ""
"Final placeholder expression, to be copy-pasted in the desired template "
"field."
msgstr ""
#. module: email_template
#: field:email.template,model:0
#: field:email_template.preview,model:0
msgid "Related Document Model"
msgstr ""
#. module: email_template
#: view:email.template:0
msgid "Addressing"
msgstr ""
#. module: email_template
#: help:email.template,email_recipients:0
#: help:email_template.preview,email_recipients:0
msgid ""
"Comma-separated ids of recipient partners (placeholders may be used here)"
msgstr ""
#. module: email_template
#: field:email.template,attachment_ids:0
#: field:email_template.preview,attachment_ids:0
msgid "Attachments"
msgstr ""
#. module: email_template
#: code:addons/email_template/email_template.py:231
#, python-format
msgid "Deletion of the action record failed."
msgstr ""
#. module: email_template
#: field:email.template,email_cc:0
#: field:email_template.preview,email_cc:0
msgid "Cc"
msgstr ""
#. module: email_template
#: field:email.template,model_id:0
#: field:email_template.preview,model_id:0
msgid "Applies to"
msgstr ""
#. module: email_template
#: field:email.template,sub_model_object_field:0
#: field:email_template.preview,sub_model_object_field:0
msgid "Sub-field"
msgstr ""
#. module: email_template
#: view:email.template:0
msgid "Email Details"
msgstr ""
#. module: email_template
#: code:addons/email_template/email_template.py:196
#, python-format
msgid "Send Mail (%s)"
msgstr ""
#. module: email_template
#: help:res.partner,opt_out:0
msgid ""
"If checked, this partner will not receive any automated email notifications, "
"such as the availability of invoices."
msgstr ""
#. module: email_template
#: help:email.template,auto_delete:0
#: help:email_template.preview,auto_delete:0
msgid "Permanently delete this email after sending it, to save space"
msgstr ""
#. module: email_template
#: view:email.template:0
msgid "Group by..."
msgstr ""
#. module: email_template
#: help:email.template,sub_model_object_field:0
#: help:email_template.preview,sub_model_object_field:0
msgid ""
"When a relationship field is selected as first field, this field lets you "
"select the target field within the destination document model (sub-model)."
msgstr ""
#. module: email_template
#: code:addons/email_template/email_template.py:231
#, python-format
msgid "Warning"
msgstr ""
#. module: email_template
#: field:email.template,user_signature:0
#: field:email_template.preview,user_signature:0
msgid "Add Signature"
msgstr ""
#. module: email_template
#: model:ir.model,name:email_template.model_res_partner
msgid "Partner"
msgstr ""
#. module: email_template
#: field:email.template,null_value:0
#: field:email_template.preview,null_value:0
msgid "Default Value"
msgstr ""
#. module: email_template
#: help:email.template,attachment_ids:0
#: help:email_template.preview,attachment_ids:0
msgid ""
"You may attach files to this template, to be added to all emails created "
"from this template"
msgstr ""
#. module: email_template
#: help:email.template,body_html:0
#: help:email_template.preview,body_html:0
msgid "Rich-text/HTML version of the message (placeholders may be used here)"
msgstr ""
#. module: email_template
#: view:email.template:0
msgid "Contents"
msgstr ""
#. module: email_template
#: field:email.template,subject:0
#: field:email_template.preview,subject:0
msgid "Subject"
msgstr ""

View File

@ -45,8 +45,8 @@ class test_message_compose(TestMailBase):
# Mail data
_subject1 = 'Pigs'
_subject2 = 'Bird'
_body_html1 = '<div><p>Fans of Pigs, unite !\n</p><p>Admin</p></div>'
_body_html2 = '<div><p>I am angry !\n</p><p>Admin</p></div>'
_body_html1 = 'Fans of Pigs, unite !'
_body_html2 = 'I am angry !'
_attachments = [
{'name': 'First', 'datas_fname': 'first.txt', 'datas': base64.b64encode('My first attachment')},
{'name': 'Second', 'datas_fname': 'second.txt', 'datas': base64.b64encode('My second attachment')}
@ -113,7 +113,7 @@ class test_message_compose(TestMailBase):
partner_ids = self.res_partner.search(cr, uid, [('email', 'in', ['b@b.b', 'c@c.c', 'd@d.d'])])
# Test: mail.compose.message: subject, body, partner_ids
self.assertEqual(compose.subject, _subject1, 'mail.compose.message subject incorrect')
self.assertEqual(compose.body, _body_html1, 'mail.compose.message body incorrect')
self.assertIn(_body_html1, compose.body, 'mail.compose.message body incorrect')
self.assertEqual(set(message_pids), set(partner_ids), 'mail.compose.message partner_ids incorrect')
# Test: mail.compose.message: attachments
# Test: mail.message: attachments
@ -159,8 +159,8 @@ class test_message_compose(TestMailBase):
# Test: subject, body
self.assertEqual(message_pigs.subject, _subject1, 'mail.message subject on Pigs incorrect')
self.assertEqual(message_bird.subject, _subject2, 'mail.message subject on Bird incorrect')
self.assertEqual(message_pigs.body, _body_html1, 'mail.message body on Pigs incorrect')
self.assertEqual(message_bird.body, _body_html2, 'mail.message body on Bird incorrect')
self.assertIn(_body_html1, message_pigs.body, 'mail.message body on Pigs incorrect')
self.assertIn(_body_html2, message_bird.body, 'mail.message body on Bird incorrect')
# Test: partner_ids: p_a_id (default) + 3 newly created partners
message_pigs_pids = [partner.id for partner in message_pigs.notified_partner_ids]
message_bird_pids = [partner.id for partner in message_bird.notified_partner_ids]

View File

@ -150,8 +150,8 @@ class mail_compose_message(osv.TransientModel):
values = {}
# get values to return
email_dict = super(mail_compose_message, self).render_message(cr, uid, wizard, res_id, context)
email_dict.update(values)
return email_dict
values.update(email_dict)
return values
def render_template(self, cr, uid, template, model, res_id, context=None):
return self.pool.get('email.template').render_template(cr, uid, template, model, res_id, context=context)

View File

@ -49,7 +49,7 @@
</group>
<group string="Actions to Perform on Incoming Mails">
<field name="object_id" on_change="onchange_server_type(type, is_ssl, object_id)"/>
<field name="action_id"/>
<field name="action_id" groups="base.group_no_one"/>
</group>
<group attrs="{'invisible' : [('type', '!=', 'local')]}" string="Configuration">
<field name="configuration" colspan="4"/>

View File

@ -9,7 +9,6 @@
</record>
<record id="hr.employee" model="hr.employee">
<field name="product_id" ref="product.product_product_consultant"/>
<field name="journal_id" ref="analytic_journal"/>
</record>

File diff suppressed because it is too large Load Diff

View File

@ -372,12 +372,25 @@ class lunch_order_line(osv.Model):
cash_ids = [cash.id for cash in order_line.cashmove]
cashmove_ref.unlink(cr, uid, cash_ids, context=context)
return self._update_order_lines(cr, uid, ids, context=context)
def _get_line_order_ids(self, cr, uid, ids, context=None):
"""
return the list of lunch.order.lines ids to which belong the lunch.order 'ids'
"""
result = set()
for lunch_order in self.browse(cr, uid, ids, context=context):
for lines in lunch_order.order_line_ids:
result.add(lines.id)
return list(result)
_columns = {
'name': fields.related('product_id', 'name', readonly=True),
'order_id': fields.many2one('lunch.order', 'Order', ondelete='cascade'),
'product_id': fields.many2one('lunch.product', 'Product', required=True),
'date': fields.related('order_id', 'date', type='date', string="Date", readonly=True, store=True),
'date': fields.related('order_id', 'date', type='date', string="Date", readonly=True, store={
'lunch.order': (_get_line_order_ids, ['date'], 10),
'lunch.order.line': (lambda self, cr, uid, ids, ctx: ids, [], 10),
}),
'supplier': fields.related('product_id', 'supplier', type='many2one', relation='res.partner', string="Supplier", readonly=True, store=True),
'user_id': fields.related('order_id', 'user_id', type='many2one', relation='res.users', string='User', readonly=True, store=True),
'note': fields.text('Note'),

1683
addons/mail/i18n/mk.po Normal file

File diff suppressed because it is too large Load Diff

View File

@ -157,7 +157,7 @@ class mail_mail(osv.Model):
:param browse_record partner: specific recipient partner
"""
if force or (not mail.subject and mail.model and mail.res_id):
return '%s posted on %s' % (mail.author_id.name, mail.record_name)
return 'Re: %s' % (mail.record_name)
return mail.subject
def send_get_mail_body(self, cr, uid, mail, partner=None, context=None):

View File

@ -592,7 +592,7 @@ class mail_thread(osv.AbstractModel):
thread_id = False
for model, thread_id, custom_values, user_id in routes:
if self._name != model:
if self._name == 'mail.thread':
context.update({'thread_model': model})
if model:
model_pool = self.pool.get(model)
@ -772,7 +772,7 @@ class mail_thread(osv.AbstractModel):
if author_ids:
msg_dict['author_id'] = author_ids[0]
else:
msg_dict['email_from'] = message.get('from')
msg_dict['email_from'] = decode(message.get('from'))
partner_ids = self._message_find_partners(cr, uid, message, ['To', 'Cc'], context=context)
msg_dict['partner_ids'] = [(4, partner_id) for partner_id in partner_ids]
@ -883,7 +883,12 @@ class mail_thread(osv.AbstractModel):
if isinstance(thread_id, (list, tuple)):
thread_id = thread_id and thread_id[0]
mail_message = self.pool.get('mail.message')
model = context.get('thread_model', self._name) if thread_id else False
# if we're processing a message directly coming from the gateway, the destination model was
# set in the context.
model = False
if thread_id:
model = context.get('thread_model', self._name) if self._name == 'mail.thread' else self._name
attachment_ids = kwargs.pop('attachment_ids', [])
for name, content in attachments:
@ -961,13 +966,12 @@ class mail_thread(osv.AbstractModel):
mail_message_obj = self.pool.get('mail.message')
ir_attachment = self.pool.get('ir.attachment')
# 1.A.1: add recipients of parent message
# 1.A.1: add recipients of parent message (# TDE FIXME HACK: mail.thread -> private message)
partner_ids = set([])
if parent_id:
if parent_id and self._name == 'mail.thread':
parent_message = mail_message_obj.browse(cr, uid, parent_id, context=context)
partner_ids |= set([(4, partner.id) for partner in parent_message.partner_ids])
# TDE FIXME HACK: mail.thread -> private message
if self._name == 'mail.thread' and parent_message.author_id.id:
if parent_message.author_id.id:
partner_ids.add((4, parent_message.author_id.id))
# 1.A.2: add specified recipients

View File

@ -206,21 +206,23 @@ openerp_mail_followers = function(session, mail) {
/** Fetch subtypes, only if current user is follower */
fetch_subtypes: function () {
var self = this;
var subtype_list_ul = this.$('.oe_subtype_list').empty();
if (! this.message_is_follower) return;
var context = new session.web.CompoundContext(this.build_context(), {});
this.ds_model.call('message_get_subscription_data', [[this.view.datarecord.id], context]).then(this.proxy('display_subtypes'));
var id = this.view.datarecord.id;
this.ds_model.call('message_get_subscription_data', [[id], new session.web.CompoundContext(this.build_context(), {})])
.then(function (data) {self.display_subtypes(data, id);});
},
/** Display subtypes: {'name': default, followed} */
display_subtypes:function (data) {
display_subtypes:function (data, id) {
var self = this;
var subtype_list_ul = this.$('.oe_subtype_list');
var records = [];
var nb_subtype = 0;
subtype_list_ul.empty();
if (this.view.datarecord.id) {
records = data[this.view.datarecord.id].message_subtype_data;
if (data[id]) {
records = data[id].message_subtype_data;
}
_(records).each(function (record) {nb_subtype++;});
if (nb_subtype > 1) {

View File

@ -339,7 +339,7 @@ class test_mail(TestMailBase):
# Mail data
_subject = 'Pigs'
_mail_subject = '%s posted on %s' % (user_raoul.name, group_pigs.name)
_mail_subject = 'Re: %s' % (group_pigs.name)
_body1 = '<p>Pigs rules</p>'
_mail_body1 = '<p>Pigs rules</p>\n<div><p>Raoul</p></div>\n'
_mail_bodyalt1 = 'Pigs rules\nRaoul\n'

View File

@ -56,7 +56,7 @@ class invite_wizard(osv.osv_memory):
document = model_obj.browse(cr, uid, wizard.res_id, context=context)
# filter partner_ids to get the new followers, to avoid sending email to already following partners
new_follower_ids = [p.id for p in wizard.partner_ids if p.id not in document.message_follower_ids]
new_follower_ids = [p.id for p in wizard.partner_ids if p not in document.message_follower_ids]
model_obj.message_subscribe(cr, uid, [wizard.res_id], new_follower_ids, context=context)
# send an email

View File

@ -7,6 +7,7 @@
id="base.marketing_menu"
groups="marketing.group_marketing_user,marketing.group_marketing_manager"
sequence="85"/>
<record id="view_crm_lead_form" model="ir.ui.view">
<field name="name">crm.lead.inherit.form</field>
<field name="model">crm.lead</field>
@ -14,6 +15,7 @@
<field name="arch" type="xml">
<xpath expr="//group[@name='categorization']" position="attributes">
<attribute name="string">Marketing</attribute>
<attribute name="groups"></attribute>
</xpath>
<xpath expr="//field[@name='company_id']" position="after">
<field name="type_id"/>
@ -21,6 +23,7 @@
</xpath>
</field>
</record>
<record id="view_crm_opportunity_form" model="ir.ui.view">
<field name="name">crm.lead.inherit.form</field>
<field name="model">crm.lead</field>

2363
addons/mrp/i18n/mk.po Normal file

File diff suppressed because it is too large Load Diff

282
addons/note/i18n/mk.po Normal file
View File

@ -0,0 +1,282 @@
# Macedonian translation for openobject-addons
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:04+0000\n"
"PO-Revision-Date: 2013-02-21 13:43+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Macedonian <mk@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: 2013-02-22 05:13+0000\n"
"X-Generator: Launchpad (build 16506)\n"
#. module: note
#: field:note.note,memo:0
msgid "Note Content"
msgstr ""
#. module: note
#: view:note.stage:0
msgid "Stages of Notes"
msgstr ""
#. module: note
#: model:note.stage,name:note.demo_note_stage_04
#: model:note.stage,name:note.note_stage_02
msgid "This Week"
msgstr ""
#. module: note
#: model:ir.model,name:note.model_base_config_settings
msgid "base.config.settings"
msgstr ""
#. module: note
#: model:ir.model,name:note.model_note_tag
msgid "Note Tag"
msgstr ""
#. module: note
#: model:res.groups,name:note.group_note_fancy
msgid "Notes / Fancy mode"
msgstr ""
#. module: note
#: model:ir.model,name:note.model_note_note
#: view:note.note:0
msgid "Note"
msgstr ""
#. module: note
#: view:note.note:0
msgid "Group By..."
msgstr ""
#. module: note
#: field:note.note,message_follower_ids:0
msgid "Followers"
msgstr ""
#. module: note
#: model:ir.actions.act_window,help:note.action_note_note
msgid ""
"<p class=\"oe_view_nocontent_create\">\n"
" Click to add a personal note.\n"
" </p><p>\n"
" Use notes to organize personal tasks or notes. All\n"
" notes are private; no one else will be able to see them. "
"However\n"
" you can share some notes with other people by inviting "
"followers\n"
" on the note. (Useful for meeting minutes, especially if\n"
" you activate the pad feature for collaborative writings).\n"
" </p><p>\n"
" You can customize how you process your notes/tasks by adding,\n"
" removing or modifying columns.\n"
" </p>\n"
" "
msgstr ""
#. module: note
#: model:note.stage,name:note.demo_note_stage_01
#: model:note.stage,name:note.note_stage_01
msgid "Today"
msgstr ""
#. module: note
#: model:ir.model,name:note.model_res_users
msgid "Users"
msgstr ""
#. module: note
#: view:note.note:0
msgid "í"
msgstr ""
#. module: note
#: view:note.stage:0
msgid "Stage of Notes"
msgstr ""
#. module: note
#: field:note.note,message_unread:0
msgid "Unread Messages"
msgstr ""
#. module: note
#: field:note.note,current_partner_id:0
msgid "unknown"
msgstr ""
#. module: note
#: view:note.note:0
msgid "By sticky note Category"
msgstr ""
#. module: note
#: help:note.note,message_unread:0
msgid "If checked new messages require your attention."
msgstr ""
#. module: note
#: field:note.stage,name:0
msgid "Stage Name"
msgstr ""
#. module: note
#: field:note.note,message_is_follower:0
msgid "Is a Follower"
msgstr ""
#. module: note
#: model:note.stage,name:note.demo_note_stage_02
msgid "Tomorrow"
msgstr ""
#. module: note
#: view:note.note:0
#: field:note.note,open:0
msgid "Active"
msgstr ""
#. module: note
#: help:note.stage,user_id:0
msgid "Owner of the note stage."
msgstr ""
#. module: note
#: model:ir.ui.menu,name:note.menu_notes_stage
msgid "Categories"
msgstr ""
#. module: note
#: view:note.note:0
#: field:note.note,stage_id:0
msgid "Stage"
msgstr ""
#. module: note
#: field:note.tag,name:0
msgid "Tag Name"
msgstr ""
#. module: note
#: field:note.note,message_ids:0
msgid "Messages"
msgstr ""
#. module: note
#: view:base.config.settings:0
#: model:ir.actions.act_window,name:note.action_note_note
#: model:ir.ui.menu,name:note.menu_note_notes
#: view:note.note:0
#: model:note.stage,name:note.note_stage_04
msgid "Notes"
msgstr ""
#. module: note
#: model:note.stage,name:note.demo_note_stage_03
#: model:note.stage,name:note.note_stage_03
msgid "Later"
msgstr ""
#. module: note
#: model:ir.model,name:note.model_note_stage
msgid "Note Stage"
msgstr ""
#. module: note
#: field:note.note,message_summary:0
msgid "Summary"
msgstr ""
#. module: note
#: field:note.note,stage_ids:0
msgid "Stages of Users"
msgstr ""
#. module: note
#: field:note.note,name:0
msgid "Note Summary"
msgstr ""
#. module: note
#: model:ir.actions.act_window,name:note.action_note_stage
#: view:note.note:0
msgid "Stages"
msgstr ""
#. module: note
#: help:note.note,message_ids:0
msgid "Messages and communication history"
msgstr ""
#. module: note
#: view:note.note:0
msgid "Delete"
msgstr ""
#. module: note
#: field:note.note,color:0
msgid "Color Index"
msgstr ""
#. module: note
#: field:note.note,sequence:0
#: field:note.stage,sequence:0
msgid "Sequence"
msgstr ""
#. module: note
#: field:note.note,tag_ids:0
msgid "Tags"
msgstr ""
#. module: note
#: view:note.note:0
msgid "Archive"
msgstr ""
#. module: note
#: field:base.config.settings,module_note_pad:0
msgid "Use collaborative pads (etherpad)"
msgstr ""
#. module: note
#: help:note.note,message_summary:0
msgid ""
"Holds the Chatter summary (number of messages, ...). This summary is "
"directly in html format in order to be inserted in kanban views."
msgstr ""
#. module: note
#: field:base.config.settings,group_note_fancy:0
msgid "Use fancy layouts for notes"
msgstr ""
#. module: note
#: field:note.stage,user_id:0
msgid "Owner"
msgstr ""
#. module: note
#: help:note.stage,sequence:0
msgid "Used to order the note stages"
msgstr ""
#. module: note
#: field:note.note,date_done:0
msgid "Date done"
msgstr ""
#. module: note
#: field:note.stage,fold:0
msgid "Folded by Default"
msgstr ""

File diff suppressed because it is too large Load Diff

497
addons/portal/i18n/mk.po Normal file
View File

@ -0,0 +1,497 @@
# Macedonian translation for openobject-addons
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2013-02-21 13:43+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Macedonian <mk@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: 2013-02-22 05:13+0000\n"
"X-Generator: Launchpad (build 16506)\n"
#. module: portal
#: view:portal.payment.acquirer:0
msgid "Mako"
msgstr ""
#. module: portal
#: code:addons/portal/wizard/share_wizard.py:50
#, python-format
msgid "Please select at least one user to share with"
msgstr ""
#. module: portal
#: view:portal.wizard:0
msgid ""
"Select which contacts should belong to the portal in the list below.\n"
" The email address of each selected contact must be "
"valid and unique.\n"
" If necessary, you can fix any contact's email "
"address directly in the list."
msgstr ""
#. module: portal
#: model:mail.group,name:portal.company_jobs
msgid "Company Jobs"
msgstr ""
#. module: portal
#: view:portal.payment.acquirer:0
msgid "amount: the total amount to pay, as a float"
msgstr ""
#. module: portal
#: view:portal.wizard.user:0
msgid "Contacts"
msgstr ""
#. module: portal
#: view:share.wizard:0
#: field:share.wizard,group_ids:0
msgid "Existing groups"
msgstr ""
#. module: portal
#: view:res.groups:0
msgid "Portal Groups"
msgstr ""
#. module: portal
#: field:portal.wizard,welcome_message:0
msgid "Invitation Message"
msgstr ""
#. module: portal
#: view:res.groups:0
msgid "Non-Portal Groups"
msgstr ""
#. module: portal
#: code:addons/portal/wizard/share_wizard.py:54
#, python-format
msgid "Please select at least one group to share with"
msgstr ""
#. module: portal
#: view:share.wizard:0
msgid "Details"
msgstr ""
#. module: portal
#: model:ir.ui.menu,name:portal.portal_orders
msgid "Quotations and Sales Orders"
msgstr ""
#. module: portal
#: view:portal.payment.acquirer:0
msgid "reference: the reference number of the document to pay"
msgstr ""
#. module: portal
#: help:portal.payment.acquirer,visible:0
msgid ""
"Make this payment acquirer available in portal forms (Customer invoices, "
"etc.)"
msgstr ""
#. module: portal
#: model:ir.model,name:portal.model_share_wizard
msgid "Share Wizard"
msgstr ""
#. module: portal
#: field:portal.wizard.user,email:0
msgid "Email"
msgstr ""
#. module: portal
#: model:ir.actions.client,help:portal.action_news
msgid ""
"<p>\n"
" Youd don't have unread company's news.\n"
" </p>\n"
" "
msgstr ""
#. module: portal
#: code:addons/portal/wizard/portal_wizard.py:194
#, python-format
msgid ""
"You must have an email address in your User Preferences to send emails."
msgstr ""
#. module: portal
#: model:ir.actions.client,name:portal.action_jobs
#: model:ir.ui.menu,name:portal.portal_jobs
msgid "Jobs"
msgstr ""
#. module: portal
#: field:portal.wizard,user_ids:0
msgid "Users"
msgstr ""
#. module: portal
#: code:addons/portal/acquirer.py:82
#, python-format
msgid "Pay safely online"
msgstr ""
#. module: portal
#: code:addons/portal/acquirer.py:77
#, python-format
msgid "No online payment acquirers configured"
msgstr ""
#. module: portal
#: view:portal.payment.acquirer:0
msgid ""
"kind: the kind of document on which the payment form is rendered (translated "
"to user language, e.g. \"Invoice\")"
msgstr ""
#. module: portal
#: help:portal.wizard,portal_id:0
msgid "The portal that users can be added in or removed from."
msgstr ""
#. module: portal
#: code:addons/portal/wizard/share_wizard.py:38
#, python-format
msgid "Users you already shared with"
msgstr ""
#. module: portal
#: model:ir.actions.client,help:portal.action_jobs
msgid ""
"<p>\n"
" Youd don't have unread job offers.\n"
" </p>\n"
" "
msgstr ""
#. module: portal
#: view:portal.payment.acquirer:0
msgid ""
", so it may use Mako expressions.\n"
" The Mako evaluation context provides:"
msgstr ""
#. module: portal
#: model:ir.ui.menu,name:portal.portal_menu
#: field:portal.wizard,portal_id:0
#: field:res.groups,is_portal:0
#: model:res.groups,name:portal.group_portal
msgid "Portal"
msgstr ""
#. module: portal
#: code:addons/portal/wizard/portal_wizard.py:34
#, python-format
msgid "Your OpenERP account at %(company)s"
msgstr ""
#. module: portal
#: model:res.groups,name:portal.group_anonymous
msgid "Anonymous"
msgstr ""
#. module: portal
#: field:portal.wizard.user,in_portal:0
msgid "In Portal"
msgstr ""
#. module: portal
#: model:ir.actions.client,name:portal.action_news
#: model:ir.ui.menu,name:portal.portal_company_news
msgid "News"
msgstr ""
#. module: portal
#: model:ir.ui.menu,name:portal.portal_after_sales
msgid "After Sale Services"
msgstr ""
#. module: portal
#: model:res.groups,comment:portal.group_portal
msgid ""
"Portal members have specific access rights (such as record rules and "
"restricted menus).\n"
" They usually do not belong to the usual OpenERP groups."
msgstr ""
#. module: portal
#: model:ir.actions.act_window,name:portal.action_acquirer_list
#: view:portal.payment.acquirer:0
msgid "Payment Acquirers"
msgstr ""
#. module: portal
#: model:ir.ui.menu,name:portal.portal_projects
msgid "Projects"
msgstr ""
#. module: portal
#: model:ir.actions.client,name:portal.action_mail_inbox_feeds_portal
#: model:ir.ui.menu,name:portal.portal_inbox
msgid "Inbox"
msgstr ""
#. module: portal
#: view:share.wizard:0
#: field:share.wizard,user_ids:0
msgid "Existing users"
msgstr ""
#. module: portal
#: field:portal.wizard.user,wizard_id:0
msgid "Wizard"
msgstr ""
#. module: portal
#: field:portal.payment.acquirer,name:0
msgid "Name"
msgstr ""
#. module: portal
#: model:ir.model,name:portal.model_res_groups
msgid "Access Groups"
msgstr ""
#. module: portal
#: view:portal.payment.acquirer:0
msgid "uid: the current user id"
msgstr ""
#. module: portal
#: view:portal.payment.acquirer:0
msgid ""
"quote(): a method to quote special string character to make them suitable "
"for inclusion in a URL"
msgstr ""
#. module: portal
#: help:res.groups,is_portal:0
msgid "If checked, this group is usable as a portal."
msgstr ""
#. module: portal
#: field:portal.payment.acquirer,form_template:0
msgid "Payment form template (HTML)"
msgstr ""
#. module: portal
#: field:portal.wizard.user,partner_id:0
msgid "Contact"
msgstr ""
#. module: portal
#: model:ir.model,name:portal.model_mail_mail
msgid "Outgoing Mails"
msgstr ""
#. module: portal
#: code:addons/portal/wizard/portal_wizard.py:193
#, python-format
msgid "Email required"
msgstr ""
#. module: portal
#: model:ir.ui.menu,name:portal.portal_messages
msgid "Messaging"
msgstr ""
#. module: portal
#: model:res.groups,comment:portal.group_anonymous
msgid ""
"Anonymous users have specific access rights (such as record rules and "
"restricted menus).\n"
" They usually do not belong to the usual OpenERP groups."
msgstr ""
#. module: portal
#: model:ir.model,name:portal.model_portal_payment_acquirer
msgid "Online Payment Acquirer"
msgstr ""
#. module: portal
#: model:mail.group,name:portal.company_news_feed
msgid "Company News"
msgstr ""
#. module: portal
#: code:addons/portal/acquirer.py:76
#, python-format
msgid ""
"You can finish the configuration in the <a href=\"%s\">Bank&Cash settings</a>"
msgstr ""
#. module: portal
#: view:portal.payment.acquirer:0
msgid "cr: the current database cursor"
msgstr ""
#. module: portal
#: model:ir.actions.client,help:portal.action_mail_inbox_feeds_portal
msgid ""
"<p>\n"
" <b>Good Job!</b> Your inbox is empty.\n"
" </p><p>\n"
" Your inbox contains private messages or emails sent to "
"you\n"
" as well as information related to documents or people "
"you\n"
" follow.\n"
" </p>\n"
" "
msgstr ""
#. module: portal
#: view:portal.payment.acquirer:0
msgid ""
"object: the document on which the payment form is rendered (usually an "
"invoice or sales order record)"
msgstr ""
#. module: portal
#: help:portal.wizard,welcome_message:0
msgid "This text is included in the email sent to new users of the portal."
msgstr ""
#. module: portal
#: model:ir.ui.menu,name:portal.portal_company
msgid "About Us"
msgstr ""
#. module: portal
#: view:portal.payment.acquirer:0
msgid ""
"currency: the currency record in which the document is issued (e.g. "
"currency.name could be EUR)"
msgstr ""
#. module: portal
#: view:portal.payment.acquirer:0
msgid "Payment Acquirer"
msgstr ""
#. module: portal
#: code:addons/portal/wizard/portal_wizard.py:35
#, python-format
msgid ""
"Dear %(name)s,\n"
"\n"
"You have been given access to %(portal)s.\n"
"\n"
"Your login account data is:\n"
"Database: %(db)s\n"
"Username: %(login)s\n"
"\n"
"In order to complete the signin process, click on the following url:\n"
"%(url)s\n"
"\n"
"%(welcome_message)s\n"
"\n"
"--\n"
"OpenERP - Open Source Business Applications\n"
"http://www.openerp.com\n"
msgstr ""
#. module: portal
#: view:portal.wizard:0
msgid "or"
msgstr ""
#. module: portal
#: model:portal.payment.acquirer,form_template:portal.paypal_acquirer
msgid ""
"\n"
"% if object.company_id.paypal_account:\n"
"<form action=\"https://www.paypal.com/cgi-bin/webscr\" method=\"post\" "
"target=\"_blank\">\n"
" <input type=\"hidden\" name=\"cmd\" value=\"_xclick\"/>\n"
" <input type=\"hidden\" name=\"business\" "
"value=\"${object.company_id.paypal_account}\"/>\n"
" <input type=\"hidden\" name=\"item_name\" "
"value=\"${object.company_id.name} ${kind.title()} ${reference}\"/>\n"
" <input type=\"hidden\" name=\"amount\" value=\"${amount}\"/>\n"
" <input type=\"hidden\" name=\"currency_code\" "
"value=\"${currency.name}\"/>\n"
" <input type=\"image\" name=\"submit\" "
"src=\"https://www.paypal.com/en_US/i/btn/btn_paynowCC_LG.gif\"/>\n"
"</form>\n"
"% endif\n"
" "
msgstr ""
#. module: portal
#: model:ir.model,name:portal.model_portal_wizard_user
msgid "Portal User Config"
msgstr ""
#. module: portal
#: view:portal.payment.acquirer:0
msgid ""
"If the template renders to an empty result in a certain context it will be "
"ignored, as if it was inactive."
msgstr ""
#. module: portal
#: field:portal.payment.acquirer,visible:0
msgid "Visible"
msgstr ""
#. module: portal
#: code:addons/portal/wizard/share_wizard.py:39
#, python-format
msgid "Existing Groups (e.g Portal Groups)"
msgstr ""
#. module: portal
#: view:portal.wizard:0
msgid "Cancel"
msgstr ""
#. module: portal
#: view:portal.wizard:0
msgid "Apply"
msgstr ""
#. module: portal
#: view:portal.payment.acquirer:0
msgid "ctx: the current context dictionary"
msgstr ""
#. module: portal
#: view:portal.payment.acquirer:0
msgid ""
"This is an HTML form template to submit a payment through this acquirer.\n"
" The template will be rendered with"
msgstr ""
#. module: portal
#: code:addons/portal/mail_mail.py:42
#, python-format
msgid ""
"Access your personal documents through <a href=\"%s\">our Customer Portal</a>"
msgstr ""
#. module: portal
#: view:portal.payment.acquirer:0
msgid "Form Template"
msgstr ""
#. module: portal
#: model:ir.actions.act_window,name:portal.partner_wizard_action
#: model:ir.model,name:portal.model_portal_wizard
#: view:portal.wizard:0
msgid "Portal Access Management"
msgstr ""

View File

@ -0,0 +1,546 @@
# Macedonian translation for openobject-addons
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2013-02-21 13:43+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Macedonian <mk@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: 2013-02-22 05:13+0000\n"
"X-Generator: Launchpad (build 16506)\n"
#. module: portal_crm
#: selection:portal_crm.crm_contact_us,type:0
msgid "Lead"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,title:0
msgid "Title"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,probability:0
msgid "Success Rate (%)"
msgstr ""
#. module: portal_crm
#: view:portal_crm.crm_contact_us:0
msgid "Contact us"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,date_action:0
msgid "Next Action Date"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,fax:0
msgid "Fax"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,zip:0
msgid "Zip"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,message_unread:0
msgid "Unread Messages"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,company_id:0
msgid "Company"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,day_open:0
msgid "Days to Open"
msgstr ""
#. module: portal_crm
#: view:portal_crm.crm_contact_us:0
msgid "Thank you for your interest, we'll respond to your request shortly."
msgstr ""
#. module: portal_crm
#: selection:portal_crm.crm_contact_us,priority:0
msgid "Highest"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,mobile:0
msgid "Mobile"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,description:0
msgid "Notes"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,message_ids:0
msgid "Messages"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,color:0
msgid "Color Index"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,partner_latitude:0
msgid "Geo Latitude"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,partner_name:0
msgid "Customer Name"
msgstr ""
#. module: portal_crm
#: selection:portal_crm.crm_contact_us,state:0
msgid "Cancelled"
msgstr ""
#. module: portal_crm
#: help:portal_crm.crm_contact_us,message_unread:0
msgid "If checked new messages require your attention."
msgstr ""
#. module: portal_crm
#: help:portal_crm.crm_contact_us,channel_id:0
msgid "Communication channel (mail, direct, phone, ...)"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,type_id:0
msgid "Campaign"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,ref:0
msgid "Reference"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,date_action_next:0
#: field:portal_crm.crm_contact_us,title_action:0
msgid "Next Action"
msgstr ""
#. module: portal_crm
#: help:portal_crm.crm_contact_us,message_summary:0
msgid ""
"Holds the Chatter summary (number of messages, ...). This summary is "
"directly in html format in order to be inserted in kanban views."
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,partner_id:0
msgid "Partner"
msgstr ""
#. module: portal_crm
#: model:ir.actions.act_window,name:portal_crm.action_contact_us
msgid "Contact Us"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,name:0
msgid "Subject"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,opt_out:0
msgid "Opt-Out"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,priority:0
msgid "Priority"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,state_id:0
msgid "State"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,message_follower_ids:0
msgid "Followers"
msgstr ""
#. module: portal_crm
#: help:portal_crm.crm_contact_us,partner_id:0
msgid "Linked partner (optional). Usually created when converting the lead."
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,payment_mode:0
msgid "Payment Mode"
msgstr ""
#. module: portal_crm
#: selection:portal_crm.crm_contact_us,state:0
msgid "New"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,type:0
msgid "Type"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,email_from:0
msgid "Email"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,channel_id:0
msgid "Channel"
msgstr ""
#. module: portal_crm
#: view:portal_crm.crm_contact_us:0
msgid "Name"
msgstr ""
#. module: portal_crm
#: selection:portal_crm.crm_contact_us,priority:0
msgid "Lowest"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,create_date:0
msgid "Creation Date"
msgstr ""
#. module: portal_crm
#: view:portal_crm.crm_contact_us:0
msgid "Close"
msgstr ""
#. module: portal_crm
#: selection:portal_crm.crm_contact_us,state:0
msgid "Pending"
msgstr ""
#. module: portal_crm
#: help:portal_crm.crm_contact_us,type:0
msgid "Type is used to separate Leads and Opportunities"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,categ_ids:0
msgid "Categories"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,stage_id:0
msgid "Stage"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,user_login:0
msgid "User Login"
msgstr ""
#. module: portal_crm
#: help:portal_crm.crm_contact_us,opt_out:0
msgid ""
"If opt-out is checked, this contact has refused to receive emails or "
"unsubscribed to a campaign."
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,contact_name:0
msgid "Contact Name"
msgstr ""
#. module: portal_crm
#: model:ir.ui.menu,name:portal_crm.portal_company_contact
msgid "Contact"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,partner_address_email:0
msgid "Partner Contact Email"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,planned_revenue:0
msgid "Expected Revenue"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,task_ids:0
msgid "Tasks"
msgstr ""
#. module: portal_crm
#: view:portal_crm.crm_contact_us:0
msgid "Contact form"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,company_currency:0
msgid "Currency"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,write_date:0
msgid "Update Date"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,date_deadline:0
msgid "Expected Closing"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,ref2:0
msgid "Reference 2"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,user_email:0
msgid "User Email"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,date_open:0
msgid "Opened"
msgstr ""
#. module: portal_crm
#: selection:portal_crm.crm_contact_us,state:0
msgid "In Progress"
msgstr ""
#. module: portal_crm
#: help:portal_crm.crm_contact_us,partner_name:0
msgid ""
"The name of the future partner company that will be created while converting "
"the lead into opportunity"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,planned_cost:0
msgid "Planned Costs"
msgstr ""
#. module: portal_crm
#: help:portal_crm.crm_contact_us,date_deadline:0
msgid "Estimate of the date on which the opportunity will be won."
msgstr ""
#. module: portal_crm
#: help:portal_crm.crm_contact_us,email_cc:0
msgid ""
"These email addresses will be added to the CC field of all inbound and "
"outbound emails for this record before being sent. Separate multiple email "
"addresses with a comma"
msgstr ""
#. module: portal_crm
#: selection:portal_crm.crm_contact_us,priority:0
msgid "Low"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,date_closed:0
#: selection:portal_crm.crm_contact_us,state:0
msgid "Closed"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,date_assign:0
msgid "Assignation Date"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,state:0
msgid "Status"
msgstr ""
#. module: portal_crm
#: selection:portal_crm.crm_contact_us,priority:0
msgid "Normal"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,email_cc:0
msgid "Global CC"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,street2:0
msgid "Street2"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,id:0
msgid "ID"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,phone:0
msgid "Phone"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,message_is_follower:0
msgid "Is a Follower"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,active:0
msgid "Active"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,user_id:0
msgid "Salesperson"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,day_close:0
msgid "Days to Close"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,company_ids:0
msgid "Companies"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,message_summary:0
msgid "Summary"
msgstr ""
#. module: portal_crm
#: help:portal_crm.crm_contact_us,section_id:0
msgid ""
"When sending mails, the default email address is taken from the sales team."
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,partner_address_name:0
msgid "Partner Contact Name"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,partner_longitude:0
msgid "Geo Longitude"
msgstr ""
#. module: portal_crm
#: help:portal_crm.crm_contact_us,date_assign:0
msgid "Last date this case was forwarded/assigned to a partner"
msgstr ""
#. module: portal_crm
#: help:portal_crm.crm_contact_us,email_from:0
msgid "Email address of the contact"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,city:0
msgid "City"
msgstr ""
#. module: portal_crm
#: view:portal_crm.crm_contact_us:0
msgid "Submit"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,function:0
msgid "Function"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,referred:0
msgid "Referred By"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,partner_assigned_id:0
msgid "Assigned Partner"
msgstr ""
#. module: portal_crm
#: selection:portal_crm.crm_contact_us,type:0
msgid "Opportunity"
msgstr ""
#. module: portal_crm
#: help:portal_crm.crm_contact_us,partner_assigned_id:0
msgid "Partner this case has been forwarded/assigned to."
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,country_id:0
msgid "Country"
msgstr ""
#. module: portal_crm
#: view:portal_crm.crm_contact_us:0
msgid "Thank you"
msgstr ""
#. module: portal_crm
#: help:portal_crm.crm_contact_us,state:0
msgid ""
"The Status is set to 'Draft', when a case is created. If the case is in "
"progress the Status is set to 'Open'. When the case is over, the Status is "
"set to 'Done'. If the case needs to be reviewed then the Status is set to "
"'Pending'."
msgstr ""
#. module: portal_crm
#: help:portal_crm.crm_contact_us,message_ids:0
msgid "Messages and communication history"
msgstr ""
#. module: portal_crm
#: help:portal_crm.crm_contact_us,type_id:0
msgid ""
"From which campaign (seminar, marketing campaign, mass mailing, ...) did "
"this contact come from?"
msgstr ""
#. module: portal_crm
#: selection:portal_crm.crm_contact_us,priority:0
msgid "High"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,section_id:0
msgid "Sales Team"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,street:0
msgid "Street"
msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,date_action_last:0
msgid "Last Action"
msgstr ""
#. module: portal_crm
#: model:ir.model,name:portal_crm.model_portal_crm_crm_contact_us
msgid "Contact form for the portal"
msgstr ""

View File

@ -0,0 +1,95 @@
# Macedonian translation for openobject-addons
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2013-02-21 13:44+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Macedonian <mk@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: 2013-02-22 05:13+0000\n"
"X-Generator: Launchpad (build 16506)\n"
#. module: portal_hr_employees
#: view:hr.employee:0
msgid "Coach"
msgstr ""
#. module: portal_hr_employees
#: model:ir.actions.act_window,name:portal_hr_employees.action_team
#: view:portal_crm.crm_contact_us:0
msgid "Our Team"
msgstr ""
#. module: portal_hr_employees
#: view:hr.employee:0
msgid "Group By..."
msgstr ""
#. module: portal_hr_employees
#: view:hr.employee:0
msgid "Company"
msgstr ""
#. module: portal_hr_employees
#: selection:hr.employee,visibility:0
msgid "Public"
msgstr ""
#. module: portal_hr_employees
#: help:hr.employee,visibility:0
msgid "Employee's visibility in the portal's contact page"
msgstr ""
#. module: portal_hr_employees
#: selection:hr.employee,visibility:0
msgid "Private"
msgstr ""
#. module: portal_hr_employees
#: view:hr.employee:0
msgid "Manager"
msgstr ""
#. module: portal_hr_employees
#: model:ir.model,name:portal_hr_employees.model_hr_employee
msgid "Employee"
msgstr ""
#. module: portal_hr_employees
#: view:hr.employee:0
msgid "Job"
msgstr ""
#. module: portal_hr_employees
#: field:hr.employee,visibility:0
msgid "Visibility"
msgstr ""
#. module: portal_hr_employees
#: field:hr.employee,public_info:0
msgid "Public Info"
msgstr ""
#. module: portal_hr_employees
#: model:ir.model,name:portal_hr_employees.model_portal_crm_crm_contact_us
msgid "Contact form for the portal"
msgstr ""
#. module: portal_hr_employees
#: view:hr.employee:0
msgid "Department"
msgstr ""
#. module: portal_hr_employees
#: view:hr.employee:0
#: field:portal_crm.crm_contact_us,employee_ids:0
msgid "Employees"
msgstr ""

View File

@ -0,0 +1,33 @@
# Macedonian translation for openobject-addons
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2013-02-21 13:44+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Macedonian <mk@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: 2013-02-22 05:13+0000\n"
"X-Generator: Launchpad (build 16506)\n"
#. module: portal_project
#: model:ir.actions.act_window,help:portal_project.open_view_project
msgid ""
"<p class=\"oe_view_nocontent_create\">\n"
" Click to start a new project.\n"
" </p>\n"
" "
msgstr ""
#. module: portal_project
#: model:ir.actions.act_window,name:portal_project.open_view_project
#: model:ir.ui.menu,name:portal_project.portal_services_projects
msgid "Projects"
msgstr ""

View File

@ -0,0 +1,344 @@
# Macedonian translation for openobject-addons
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:06+0000\n"
"PO-Revision-Date: 2013-02-21 13:44+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Macedonian <mk@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: 2013-02-22 05:13+0000\n"
"X-Generator: Launchpad (build 16506)\n"
#. module: portal_sale
#: model:ir.model,name:portal_sale.model_account_config_settings
msgid "account.config.settings"
msgstr ""
#. module: portal_sale
#: model:ir.actions.act_window,help:portal_sale.portal_action_invoices
msgid "We haven't sent you any invoice."
msgstr ""
#. module: portal_sale
#: model:email.template,report_name:portal_sale.email_template_edi_sale
msgid ""
"${(object.name or '').replace('/','_')}_${object.state == 'draft' and "
"'draft' or ''}"
msgstr ""
#. module: portal_sale
#: model:res.groups,name:portal_sale.group_payment_options
msgid "View Online Payment Options"
msgstr ""
#. module: portal_sale
#: field:account.config.settings,group_payment_options:0
msgid "Show payment buttons to employees too"
msgstr ""
#. module: portal_sale
#: model:email.template,subject:portal_sale.email_template_edi_sale
msgid ""
"${object.company_id.name} ${object.state in ('draft', 'sent') and "
"'Quotation' or 'Order'} (Ref ${object.name or 'n/a' })"
msgstr ""
#. module: portal_sale
#: model:ir.actions.act_window,help:portal_sale.action_quotations_portal
msgid "We haven't sent you any quotation."
msgstr ""
#. module: portal_sale
#: model:ir.ui.menu,name:portal_sale.portal_sales_orders
msgid "Sales Orders"
msgstr ""
#. module: portal_sale
#: model:res.groups,comment:portal_sale.group_payment_options
msgid ""
"Members of this group see the online payment options\n"
"on Sale Orders and Customer Invoices. These options are meant for customers "
"who are accessing\n"
"their documents through the portal."
msgstr ""
#. module: portal_sale
#: model:email.template,body_html:portal_sale.email_template_edi_sale
msgid ""
"\n"
"<div style=\"font-family: 'Lucica Grande', Ubuntu, Arial, Verdana, sans-"
"serif; font-size: 12px; color: rgb(34, 34, 34); background-color: rgb(255, "
"255, 255); \">\n"
"\n"
" <p>Hello ${object.partner_id.name},</p>\n"
" \n"
" <p>Here is your ${object.state in ('draft', 'sent') and 'quotation' or "
"'order confirmation'} from ${object.company_id.name}: </p>\n"
"\n"
" <p style=\"border-left: 1px solid #8e0000; margin-left: 30px;\">\n"
" &nbsp;&nbsp;<strong>REFERENCES</strong><br />\n"
" &nbsp;&nbsp;Order number: <strong>${object.name}</strong><br />\n"
" &nbsp;&nbsp;Order total: <strong>${object.amount_total} "
"${object.pricelist_id.currency_id.name}</strong><br />\n"
" &nbsp;&nbsp;Order date: ${object.date_order}<br />\n"
" % if object.origin:\n"
" &nbsp;&nbsp;Order reference: ${object.origin}<br />\n"
" % endif\n"
" % if object.client_order_ref:\n"
" &nbsp;&nbsp;Your reference: ${object.client_order_ref}<br />\n"
" % endif\n"
" % if object.user_id:\n"
" &nbsp;&nbsp;Your contact: <a href=\"mailto:${object.user_id.email or "
"''}?subject=Order%20${object.name}\">${object.user_id.name}</a>\n"
" % endif\n"
" </p>\n"
"\n"
" <% set signup_url = object.get_signup_url() %>\n"
" % if signup_url:\n"
" <p>\n"
" You can access this document and pay online via our Customer Portal:\n"
" </p>\n"
" <a style=\"display:block; width: 150px; height:20px; margin-left: "
"120px; color: #DDD; font-family: 'Lucida Grande', Helvetica, Arial, sans-"
"serif; font-size: 13px; font-weight: bold; text-align: center; text-"
"decoration: none !important; line-height: 1; padding: 5px 0px 0px 0px; "
"background-color: #8E0000; border-radius: 5px 5px; background-repeat: repeat "
"no-repeat;\"\n"
" href=\"${signup_url}\">View ${object.state in ('draft', 'sent') "
"and 'Quotation' or 'Order'}</a>\n"
" % endif\n"
"\n"
" % if object.paypal_url:\n"
" <br/>\n"
" <p>It is also possible to directly pay with Paypal:</p>\n"
" <a style=\"margin-left: 120px;\" href=\"${object.paypal_url}\">\n"
" <img class=\"oe_edi_paypal_button\" "
"src=\"https://www.paypal.com/en_US/i/btn/btn_paynowCC_LG.gif\"/>\n"
" </a>\n"
" % endif\n"
"\n"
" <br/>\n"
" <p>If you have any question, do not hesitate to contact us.</p>\n"
" <p>Thank you for choosing ${object.company_id.name or 'us'}!</p>\n"
" <br/>\n"
" <br/>\n"
" <div style=\"width: 375px; margin: 0px; padding: 0px; background-color: "
"#8E0000; border-top-left-radius: 5px 5px; border-top-right-radius: 5px 5px; "
"background-repeat: repeat no-repeat;\">\n"
" <h3 style=\"margin: 0px; padding: 2px 14px; font-size: 12px; color: "
"#DDD;\">\n"
" <strong style=\"text-"
"transform:uppercase;\">${object.company_id.name}</strong></h3>\n"
" </div>\n"
" <div style=\"width: 347px; margin: 0px; padding: 5px 14px; line-height: "
"16px; background-color: #F2F2F2;\">\n"
" <span style=\"color: #222; margin-bottom: 5px; display: block; \">\n"
" % if object.company_id.street:\n"
" ${object.company_id.street}<br/>\n"
" % endif\n"
" % if object.company_id.street2:\n"
" ${object.company_id.street2}<br/>\n"
" % endif\n"
" % if object.company_id.city or object.company_id.zip:\n"
" ${object.company_id.zip} ${object.company_id.city}<br/>\n"
" % endif\n"
" % if object.company_id.country_id:\n"
" ${object.company_id.state_id and ('%s, ' % "
"object.company_id.state_id.name) or ''} ${object.company_id.country_id.name "
"or ''}<br/>\n"
" % endif\n"
" </span>\n"
" % if object.company_id.phone:\n"
" <div style=\"margin-top: 0px; margin-right: 0px; margin-bottom: "
"0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: "
"0px; padding-left: 0px; \">\n"
" Phone:&nbsp; ${object.company_id.phone}\n"
" </div>\n"
" % endif\n"
" % if object.company_id.website:\n"
" <div>\n"
" Web :&nbsp;<a "
"href=\"${object.company_id.website}\">${object.company_id.website}</a>\n"
" </div>\n"
" % endif\n"
" <p></p>\n"
" </div>\n"
"</div>\n"
" "
msgstr ""
#. module: portal_sale
#: model:email.template,report_name:portal_sale.email_template_edi_invoice
msgid ""
"Invoice_${(object.number or '').replace('/','_')}_${object.state == 'draft' "
"and 'draft' or ''}"
msgstr ""
#. module: portal_sale
#: model:email.template,subject:portal_sale.email_template_edi_invoice
msgid "${object.company_id.name} Invoice (Ref ${object.number or 'n/a' })"
msgstr ""
#. module: portal_sale
#: model:ir.model,name:portal_sale.model_mail_mail
msgid "Outgoing Mails"
msgstr ""
#. module: portal_sale
#: model:ir.actions.act_window,name:portal_sale.action_quotations_portal
#: model:ir.ui.menu,name:portal_sale.portal_quotations
msgid "Quotations"
msgstr ""
#. module: portal_sale
#: model:ir.model,name:portal_sale.model_sale_order
msgid "Sales Order"
msgstr ""
#. module: portal_sale
#: field:account.invoice,portal_payment_options:0
#: field:sale.order,portal_payment_options:0
msgid "Portal Payment Options"
msgstr ""
#. module: portal_sale
#: help:account.config.settings,group_payment_options:0
msgid ""
"Show online payment options on Sale Orders and Customer Invoices to "
"employees. If not checked, these options are only visible to portal users."
msgstr ""
#. module: portal_sale
#: model:ir.actions.act_window,name:portal_sale.portal_action_invoices
#: model:ir.ui.menu,name:portal_sale.portal_invoices
msgid "Invoices"
msgstr ""
#. module: portal_sale
#: view:account.config.settings:0
msgid "Configure payment acquiring methods"
msgstr ""
#. module: portal_sale
#: model:email.template,body_html:portal_sale.email_template_edi_invoice
msgid ""
"\n"
"<div style=\"font-family: 'Lucica Grande', Ubuntu, Arial, Verdana, sans-"
"serif; font-size: 12px; color: rgb(34, 34, 34); background-color: rgb(255, "
"255, 255); \">\n"
"\n"
" <p>Hello ${object.partner_id.name},</p>\n"
"\n"
" <p>A new invoice is available for you: </p>\n"
" \n"
" <p style=\"border-left: 1px solid #8e0000; margin-left: 30px;\">\n"
" &nbsp;&nbsp;<strong>REFERENCES</strong><br />\n"
" &nbsp;&nbsp;Invoice number: <strong>${object.number}</strong><br />\n"
" &nbsp;&nbsp;Invoice total: <strong>${object.amount_total} "
"${object.currency_id.name}</strong><br />\n"
" &nbsp;&nbsp;Invoice date: ${object.date_invoice}<br />\n"
" % if object.origin:\n"
" &nbsp;&nbsp;Order reference: ${object.origin}<br />\n"
" % endif\n"
" % if object.user_id:\n"
" &nbsp;&nbsp;Your contact: <a href=\"mailto:${object.user_id.email or "
"''}?subject=Invoice%20${object.number}\">${object.user_id.name}</a>\n"
" % endif\n"
" </p> \n"
"\n"
" <% set signup_url = object.get_signup_url() %>\n"
" % if signup_url:\n"
" <p>\n"
" You can access the invoice document and pay online via our Customer "
"Portal:\n"
" </p>\n"
" <a style=\"display:block; width: 150px; height:20px; margin-left: "
"120px; color: #DDD; font-family: 'Lucida Grande', Helvetica, Arial, sans-"
"serif; font-size: 13px; font-weight: bold; text-align: center; text-"
"decoration: none !important; line-height: 1; padding: 5px 0px 0px 0px; "
"background-color: #8E0000; border-radius: 5px 5px; background-repeat: repeat "
"no-repeat;\"\n"
" href=\"${signup_url}\">View Invoice</a>\n"
" % endif\n"
" \n"
" % if object.paypal_url:\n"
" <br/>\n"
" <p>It is also possible to directly pay with Paypal:</p>\n"
" <a style=\"margin-left: 120px;\" href=\"${object.paypal_url}\">\n"
" <img class=\"oe_edi_paypal_button\" "
"src=\"https://www.paypal.com/en_US/i/btn/btn_paynowCC_LG.gif\"/>\n"
" </a>\n"
" % endif\n"
" \n"
" <br/>\n"
" <p>If you have any question, do not hesitate to contact us.</p>\n"
" <p>Thank you for choosing ${object.company_id.name or 'us'}!</p>\n"
" <br/>\n"
" <br/>\n"
" <div style=\"width: 375px; margin: 0px; padding: 0px; background-color: "
"#8E0000; border-top-left-radius: 5px 5px; border-top-right-radius: 5px 5px; "
"background-repeat: repeat no-repeat;\">\n"
" <h3 style=\"margin: 0px; padding: 2px 14px; font-size: 12px; color: "
"#DDD;\">\n"
" <strong style=\"text-"
"transform:uppercase;\">${object.company_id.name}</strong></h3>\n"
" </div>\n"
" <div style=\"width: 347px; margin: 0px; padding: 5px 14px; line-height: "
"16px; background-color: #F2F2F2;\">\n"
" <span style=\"color: #222; margin-bottom: 5px; display: block; \">\n"
" % if object.company_id.street:\n"
" ${object.company_id.street}<br/>\n"
" % endif\n"
" % if object.company_id.street2:\n"
" ${object.company_id.street2}<br/>\n"
" % endif\n"
" % if object.company_id.city or object.company_id.zip:\n"
" ${object.company_id.zip} ${object.company_id.city}<br/>\n"
" % endif\n"
" % if object.company_id.country_id:\n"
" ${object.company_id.state_id and ('%s, ' % "
"object.company_id.state_id.name) or ''} ${object.company_id.country_id.name "
"or ''}<br/>\n"
" % endif\n"
" </span>\n"
" % if object.company_id.phone:\n"
" <div style=\"margin-top: 0px; margin-right: 0px; margin-bottom: "
"0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: "
"0px; padding-left: 0px; \">\n"
" Phone:&nbsp; ${object.company_id.phone}\n"
" </div>\n"
" % endif\n"
" % if object.company_id.website:\n"
" <div>\n"
" Web :&nbsp;<a "
"href=\"${object.company_id.website}\">${object.company_id.website}</a>\n"
" </div>\n"
" % endif\n"
" <p></p>\n"
" </div>\n"
"</div>\n"
" "
msgstr ""
#. module: portal_sale
#: model:ir.actions.act_window,help:portal_sale.action_orders_portal
msgid "We haven't sent you any sales order."
msgstr ""
#. module: portal_sale
#: model:ir.model,name:portal_sale.model_account_invoice
msgid "Invoice"
msgstr ""
#. module: portal_sale
#: model:ir.actions.act_window,name:portal_sale.action_orders_portal
msgid "Sale Orders"
msgstr ""

379
addons/process/i18n/mk.po Normal file
View File

@ -0,0 +1,379 @@
# Macedonian translation for openobject-addons
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:06+0000\n"
"PO-Revision-Date: 2013-02-21 13:44+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Macedonian <mk@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: 2013-02-22 05:13+0000\n"
"X-Generator: Launchpad (build 16506)\n"
#. module: process
#: model:ir.model,name:process.model_process_node
#: view:process.node:0
#: view:process.process:0
msgid "Process Node"
msgstr ""
#. module: process
#: help:process.process,active:0
msgid ""
"If the active field is set to False, it will allow you to hide the process "
"without removing it."
msgstr ""
#. module: process
#: field:process.node,menu_id:0
msgid "Related Menu"
msgstr ""
#. module: process
#: selection:process.node,kind:0
msgid "Status"
msgstr ""
#. module: process
#: field:process.transition,action_ids:0
msgid "Buttons"
msgstr ""
#. module: process
#: view:process.node:0
#: view:process.process:0
msgid "Group By..."
msgstr ""
#. module: process
#: view:process.node:0
msgid "Kind Of Node"
msgstr ""
#. module: process
#: field:process.node,help_url:0
msgid "Help URL"
msgstr ""
#. module: process
#: field:process.node,flow_start:0
msgid "Starting Flow"
msgstr ""
#. module: process
#: model:ir.actions.act_window,name:process.action_process_node_form
#: model:ir.ui.menu,name:process.menu_process_node_form
#: view:process.node:0
#: view:process.process:0
msgid "Process Nodes"
msgstr ""
#. module: process
#: view:process.process:0
#: field:process.process,node_ids:0
msgid "Nodes"
msgstr ""
#. module: process
#: field:process.node,condition_ids:0
#: view:process.process:0
msgid "Conditions"
msgstr ""
#. module: process
#: view:process.transition:0
msgid "Search Process Transition"
msgstr ""
#. module: process
#: field:process.condition,node_id:0
msgid "Node"
msgstr ""
#. module: process
#: selection:process.transition.action,state:0
msgid "Workflow Trigger"
msgstr ""
#. module: process
#: field:process.transition,note:0
msgid "Description"
msgstr ""
#. module: process
#: model:ir.model,name:process.model_process_transition_action
msgid "Process Transitions Actions"
msgstr ""
#. module: process
#: field:process.condition,model_id:0
#: view:process.node:0
#: field:process.node,model_id:0
#: view:process.process:0
#: field:process.process,model_id:0
msgid "Object"
msgstr ""
#. module: process
#: field:process.transition,source_node_id:0
msgid "Source Node"
msgstr ""
#. module: process
#: view:process.transition:0
#: field:process.transition,transition_ids:0
msgid "Workflow Transitions"
msgstr ""
#. module: process
#. openerp-web
#: code:addons/process/static/src/xml/process.xml:39
#, python-format
msgid "Last modified by:"
msgstr ""
#. module: process
#: field:process.transition.action,action:0
msgid "Action ID"
msgstr ""
#. module: process
#. openerp-web
#: code:addons/process/static/src/xml/process.xml:7
#, python-format
msgid "Process View"
msgstr ""
#. module: process
#: model:ir.model,name:process.model_process_transition
#: view:process.transition:0
msgid "Process Transition"
msgstr ""
#. module: process
#: model:ir.model,name:process.model_process_condition
msgid "Condition"
msgstr ""
#. module: process
#: selection:process.transition.action,state:0
msgid "Dummy"
msgstr ""
#. module: process
#: model:ir.actions.act_window,name:process.action_process_form
#: model:ir.ui.menu,name:process.menu_process_form
msgid "Processes"
msgstr ""
#. module: process
#: field:process.transition.action,transition_id:0
msgid "Transition"
msgstr ""
#. module: process
#: field:process.condition,name:0
#: field:process.node,name:0
#: field:process.process,name:0
#: field:process.transition,name:0
#: field:process.transition.action,name:0
msgid "Name"
msgstr ""
#. module: process
#: field:process.node,transition_in:0
msgid "Starting Transitions"
msgstr ""
#. module: process
#. openerp-web
#: code:addons/process/static/src/xml/process.xml:54
#, python-format
msgid "Related:"
msgstr ""
#. module: process
#: view:process.node:0
#: field:process.node,note:0
#: view:process.process:0
#: field:process.process,note:0
#: view:process.transition:0
msgid "Notes"
msgstr ""
#. module: process
#. openerp-web
#: code:addons/process/static/src/xml/process.xml:88
#, python-format
msgid "Edit Process"
msgstr ""
#. module: process
#. openerp-web
#: code:addons/process/static/src/xml/process.xml:39
#, python-format
msgid "N/A"
msgstr ""
#. module: process
#: view:process.process:0
msgid "Search Process"
msgstr ""
#. module: process
#: field:process.process,active:0
msgid "Active"
msgstr ""
#. module: process
#: view:process.transition:0
msgid "Associated Groups"
msgstr ""
#. module: process
#: field:process.node,model_states:0
msgid "States Expression"
msgstr ""
#. module: process
#: selection:process.transition.action,state:0
msgid "Action"
msgstr ""
#. module: process
#. openerp-web
#: code:addons/process/static/src/xml/process.xml:67
#, python-format
msgid "Select Process"
msgstr ""
#. module: process
#: field:process.condition,model_states:0
msgid "Expression"
msgstr ""
#. module: process
#: field:process.transition,group_ids:0
msgid "Required Groups"
msgstr ""
#. module: process
#: view:process.node:0
#: view:process.process:0
msgid "Incoming Transitions"
msgstr ""
#. module: process
#: field:process.transition.action,state:0
msgid "Type"
msgstr ""
#. module: process
#: field:process.node,transition_out:0
msgid "Ending Transitions"
msgstr ""
#. module: process
#. openerp-web
#: code:addons/process/static/src/js/process.js:243
#: code:addons/process/static/src/xml/process.xml:33
#: model:ir.model,name:process.model_process_process
#: field:process.node,process_id:0
#: view:process.process:0
#, python-format
msgid "Process"
msgstr ""
#. module: process
#: view:process.node:0
msgid "Search ProcessNode"
msgstr ""
#. module: process
#: view:process.node:0
#: view:process.process:0
msgid "Other Conditions"
msgstr ""
#. module: process
#: model:ir.ui.menu,name:process.menu_process
msgid "Enterprise Process"
msgstr ""
#. module: process
#: view:process.transition:0
msgid "Actions"
msgstr ""
#. module: process
#: view:process.node:0
#: view:process.process:0
msgid "Properties"
msgstr ""
#. module: process
#: model:ir.actions.act_window,name:process.action_process_transition_form
#: model:ir.ui.menu,name:process.menu_process_transition_form
msgid "Process Transitions"
msgstr ""
#. module: process
#: field:process.transition,target_node_id:0
msgid "Target Node"
msgstr ""
#. module: process
#: field:process.node,kind:0
msgid "Kind of Node"
msgstr ""
#. module: process
#. openerp-web
#: code:addons/process/static/src/xml/process.xml:42
#, python-format
msgid "Subflows:"
msgstr ""
#. module: process
#: view:process.node:0
#: view:process.process:0
msgid "Outgoing Transitions"
msgstr ""
#. module: process
#. openerp-web
#: code:addons/process/static/src/xml/process.xml:36
#, python-format
msgid "Notes:"
msgstr ""
#. module: process
#: selection:process.node,kind:0
#: field:process.node,subflow_id:0
msgid "Subflow"
msgstr ""
#. module: process
#: view:process.node:0
#: view:process.process:0
msgid "Transitions"
msgstr ""
#. module: process
#: selection:process.transition.action,state:0
msgid "Object Method"
msgstr ""
#. module: process
#. openerp-web
#: code:addons/process/static/src/xml/process.xml:77
#, python-format
msgid "Select"
msgstr ""

File diff suppressed because it is too large Load Diff

2477
addons/product/i18n/mk.po Normal file

File diff suppressed because it is too large Load Diff

2107
addons/project/i18n/mk.po Normal file

File diff suppressed because it is too large Load Diff

View File

@ -58,7 +58,7 @@
<field name="arch" type="xml">
<form string="Issue" version="7.0">
<header>
<button name="case_close" string="Done" type="object"
<button name="case_close" string="Done" type="object"
states="open" groups="base.group_user"/>
<button name="case_close" string="Done" type="object"
states="draft,pending" groups="base.group_user"/>
@ -129,11 +129,11 @@
<tree string="Issue Tracker Tree" fonts="bold:message_unread==True" colors="black:state=='open';blue:state=='pending';grey:state in ('cancel', 'done')">
<field name="message_unread" invisible="1"/>
<field name="id"/>
<field name="create_date" groups="base.group_no_one"/>
<field name="name"/>
<field name="partner_id"/>
<field name="project_id"/>
<field name="priority" string="Priority" groups="base.group_user"/>
<field name="create_date"/>
<field name="version_id" widget="selection"/>
<field name="user_id"/>
<field name="progress" widget="progressbar" attrs="{'invisible':[('task_id','=',False)]}"/>
@ -157,7 +157,7 @@
<filter string="New" icon="terp-document-new" domain="[('state','=','draft')]" help="New Issues"/>
<filter string="To Do" domain="[('state','=','open')]" help="To Do Issues" icon="terp-check"/>
<separator/>
<filter string="Unassigned Issues" domain="[('user_id','=',False)]" help="Unassigned Issues" icon="terp-personal-" />
<filter string="Unassigned Issues" domain="[('user_id','=',False)]" help="Unassigned Issues" icon="terp-personal-"/>
<field name="user_id"/>
<field name="project_id"/>
<field name="categ_ids"/>

2198
addons/purchase/i18n/mk.po Normal file

File diff suppressed because it is too large Load Diff

View File

@ -220,7 +220,7 @@ class WebKitParser(report_sxw):
if report_xml.report_file :
path = addons.get_module_resource(*report_xml.report_file.split(os.path.sep))
if os.path.exists(path) :
if path and os.path.exists(path) :
template = file(path).read()
if not template and report_xml.report_webkit_data :
template = report_xml.report_webkit_data

351
addons/resource/i18n/mk.po Normal file
View File

@ -0,0 +1,351 @@
# Macedonian translation for openobject-addons
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:06+0000\n"
"PO-Revision-Date: 2013-02-21 13:45+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Macedonian <mk@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: 2013-02-22 05:13+0000\n"
"X-Generator: Launchpad (build 16506)\n"
#. module: resource
#: help:resource.calendar.leaves,resource_id:0
msgid ""
"If empty, this is a generic holiday for the company. If a resource is set, "
"the holiday/leave is only for this resource"
msgstr ""
#. module: resource
#: selection:resource.resource,resource_type:0
msgid "Material"
msgstr ""
#. module: resource
#: field:resource.resource,resource_type:0
msgid "Resource Type"
msgstr ""
#. module: resource
#: model:ir.model,name:resource.model_resource_calendar_leaves
#: view:resource.calendar.leaves:0
msgid "Leave Detail"
msgstr ""
#. module: resource
#: model:ir.actions.act_window,name:resource.resource_calendar_resources_leaves
msgid "Resources Leaves"
msgstr ""
#. module: resource
#: field:resource.calendar.attendance,dayofweek:0
msgid "Day of Week"
msgstr ""
#. module: resource
#: selection:resource.calendar.attendance,dayofweek:0
msgid "Thursday"
msgstr ""
#. module: resource
#: view:resource.calendar.leaves:0
#: view:resource.resource:0
msgid "Group By..."
msgstr ""
#. module: resource
#: selection:resource.calendar.attendance,dayofweek:0
msgid "Sunday"
msgstr ""
#. module: resource
#: field:resource.resource,time_efficiency:0
msgid "Efficiency Factor"
msgstr ""
#. module: resource
#: view:resource.resource:0
msgid "Search Resource"
msgstr ""
#. module: resource
#: view:resource.resource:0
msgid "Type"
msgstr ""
#. module: resource
#: model:ir.actions.act_window,name:resource.action_resource_resource_tree
#: view:resource.resource:0
msgid "Resources"
msgstr ""
#. module: resource
#: code:addons/resource/resource.py:389
#, python-format
msgid "Make sure the Working time has been configured with proper week days!"
msgstr ""
#. module: resource
#: code:addons/resource/resource.py:307
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: resource
#: view:resource.calendar:0
msgid "Search Working Time"
msgstr ""
#. module: resource
#: constraint:resource.calendar.leaves:0
msgid "Error! leave start-date must be lower then leave end-date."
msgstr ""
#. module: resource
#: model:ir.model,name:resource.model_resource_calendar
msgid "Resource Calendar"
msgstr ""
#. module: resource
#: field:resource.calendar,company_id:0
#: view:resource.calendar.leaves:0
#: field:resource.calendar.leaves,company_id:0
#: view:resource.resource:0
#: field:resource.resource,company_id:0
msgid "Company"
msgstr ""
#. module: resource
#: selection:resource.calendar.attendance,dayofweek:0
msgid "Friday"
msgstr ""
#. module: resource
#: view:resource.calendar.attendance:0
msgid "Hours"
msgstr ""
#. module: resource
#: view:resource.calendar.leaves:0
msgid "Reason"
msgstr ""
#. module: resource
#: view:resource.resource:0
#: field:resource.resource,user_id:0
msgid "User"
msgstr ""
#. module: resource
#: view:resource.calendar.leaves:0
msgid "Date"
msgstr ""
#. module: resource
#: view:resource.calendar.leaves:0
msgid "Search Working Period Leaves"
msgstr ""
#. module: resource
#: field:resource.calendar.attendance,date_from:0
msgid "Starting Date"
msgstr ""
#. module: resource
#: field:resource.calendar,manager:0
msgid "Workgroup Manager"
msgstr ""
#. module: resource
#: field:resource.calendar.leaves,date_to:0
msgid "End Date"
msgstr ""
#. module: resource
#: model:ir.actions.act_window,name:resource.resource_calendar_closing_days
msgid "Closing Days"
msgstr ""
#. module: resource
#: model:ir.ui.menu,name:resource.menu_resource_config
#: view:resource.calendar.leaves:0
#: field:resource.calendar.leaves,resource_id:0
#: view:resource.resource:0
msgid "Resource"
msgstr ""
#. module: resource
#: field:resource.calendar,name:0
#: field:resource.calendar.attendance,name:0
#: field:resource.calendar.leaves,name:0
#: field:resource.resource,name:0
msgid "Name"
msgstr ""
#. module: resource
#: model:ir.actions.act_window,name:resource.action_resource_calendar_form
#: view:resource.calendar:0
#: field:resource.calendar,attendance_ids:0
#: view:resource.calendar.attendance:0
#: field:resource.calendar.leaves,calendar_id:0
#: field:resource.resource,calendar_id:0
msgid "Working Time"
msgstr ""
#. module: resource
#: help:resource.calendar.attendance,hour_from:0
msgid "Start and End time of working."
msgstr ""
#. module: resource
#: view:resource.calendar.leaves:0
#: view:resource.resource:0
msgid "Working Period"
msgstr ""
#. module: resource
#: selection:resource.calendar.attendance,dayofweek:0
msgid "Wednesday"
msgstr ""
#. module: resource
#: model:ir.model,name:resource.model_resource_resource
msgid "Resource Detail"
msgstr ""
#. module: resource
#: field:resource.resource,active:0
msgid "Active"
msgstr ""
#. module: resource
#: help:resource.resource,active:0
msgid ""
"If the active field is set to False, it will allow you to hide the resource "
"record without removing it."
msgstr ""
#. module: resource
#: field:resource.calendar.attendance,calendar_id:0
msgid "Resource's Calendar"
msgstr ""
#. module: resource
#: field:resource.calendar.attendance,hour_from:0
msgid "Work from"
msgstr ""
#. module: resource
#: model:ir.actions.act_window,help:resource.action_resource_calendar_form
msgid ""
"Define working hours and time table that could be scheduled to your project "
"members"
msgstr ""
#. module: resource
#: help:resource.resource,user_id:0
msgid "Related user name for the resource to manage its access."
msgstr ""
#. module: resource
#: help:resource.resource,calendar_id:0
msgid "Define the schedule of resource"
msgstr ""
#. module: resource
#: view:resource.calendar.leaves:0
msgid "Starting Date of Leave"
msgstr ""
#. module: resource
#: field:resource.resource,code:0
msgid "Code"
msgstr ""
#. module: resource
#: selection:resource.calendar.attendance,dayofweek:0
msgid "Monday"
msgstr ""
#. module: resource
#: field:resource.calendar.attendance,hour_to:0
msgid "Work to"
msgstr ""
#. module: resource
#: model:ir.model,name:resource.model_resource_calendar_attendance
msgid "Work Detail"
msgstr ""
#. module: resource
#: selection:resource.calendar.attendance,dayofweek:0
msgid "Tuesday"
msgstr ""
#. module: resource
#: help:resource.resource,time_efficiency:0
msgid ""
"This field depict the efficiency of the resource to complete tasks. e.g "
"resource put alone on a phase of 5 days with 5 tasks assigned to him, will "
"show a load of 100% for this phase by default, but if we put a efficiency of "
"200%, then his load will only be 50%."
msgstr ""
#. module: resource
#: model:ir.actions.act_window,name:resource.action_resource_calendar_leave_tree
#: model:ir.ui.menu,name:resource.menu_view_resource_calendar_leaves_search
msgid "Resource Leaves"
msgstr ""
#. module: resource
#: model:ir.actions.act_window,help:resource.action_resource_resource_tree
msgid ""
"Resources allow you to create and manage resources that should be involved "
"in a specific project phase. You can also set their efficiency level and "
"workload based on their weekly working hours."
msgstr ""
#. module: resource
#: view:resource.resource:0
msgid "Inactive"
msgstr ""
#. module: resource
#: code:addons/resource/faces/resource.py:340
#, python-format
msgid "(vacation)"
msgstr ""
#. module: resource
#: code:addons/resource/resource.py:389
#, python-format
msgid "Configuration Error!"
msgstr ""
#. module: resource
#: selection:resource.resource,resource_type:0
msgid "Human"
msgstr ""
#. module: resource
#: view:resource.calendar.leaves:0
msgid "Duration"
msgstr ""
#. module: resource
#: field:resource.calendar.leaves,date_from:0
msgid "Start Date"
msgstr ""
#. module: resource
#: selection:resource.calendar.attendance,dayofweek:0
msgid "Saturday"
msgstr ""

2130
addons/sale/i18n/mk.po Normal file

File diff suppressed because it is too large Load Diff

View File

@ -51,9 +51,9 @@ class sale_make_invoice(osv.osv_memory):
if context is None:
context = {}
data = self.read(cr, uid, ids)[0]
order_obj.action_invoice_create(cr, uid, context.get(('active_ids'), []), data['grouped'], date_inv = data['invoice_date'])
order_obj.action_invoice_create(cr, uid, context.get(('active_ids'), []), data['grouped'], date_invoice = data['invoice_date'])
order_obj.signal_manual_invoice(cr, uid, context.get(('active_ids'), []))
for o in order_obj.browse(cr, uid, context.get(('active_ids'), []), context=context):
for i in o.invoice_ids:
newinv.append(i.id)

160
addons/sale_crm/i18n/mk.po Normal file
View File

@ -0,0 +1,160 @@
# Macedonian translation for openobject-addons
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:06+0000\n"
"PO-Revision-Date: 2013-02-21 13:45+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Macedonian <mk@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: 2013-02-22 05:13+0000\n"
"X-Generator: Launchpad (build 16506)\n"
#. module: sale_crm
#: code:addons/sale_crm/wizard/crm_make_sale.py:90
#, python-format
msgid "Insufficient Data!"
msgstr ""
#. module: sale_crm
#: view:crm.lead:0
#: view:crm.make.sale:0
msgid "Convert to Quotation"
msgstr ""
#. module: sale_crm
#: model:ir.model,name:sale_crm.model_account_invoice_report
msgid "Invoices Statistics"
msgstr ""
#. module: sale_crm
#: field:crm.make.sale,close:0
msgid "Mark Won"
msgstr ""
#. module: sale_crm
#: field:res.users,default_section_id:0
msgid "Default Sales Team"
msgstr ""
#. module: sale_crm
#: view:sale.order:0
msgid "My Sales Team(s)"
msgstr ""
#. module: sale_crm
#: model:ir.model,name:sale_crm.model_res_users
msgid "Users"
msgstr ""
#. module: sale_crm
#: help:crm.make.sale,close:0
msgid ""
"Check this to close the opportunity after having created the sales order."
msgstr ""
#. module: sale_crm
#: model:mail.message.subtype,name:sale_crm.mt_salesteam_order_sent
msgid "Quotation Send"
msgstr ""
#. module: sale_crm
#: field:sale.order,categ_ids:0
msgid "Categories"
msgstr ""
#. module: sale_crm
#: code:addons/sale_crm/wizard/crm_make_sale.py:124
#: code:addons/sale_crm/wizard/crm_make_sale.py:135
#, python-format
msgid "Quotation"
msgstr ""
#. module: sale_crm
#: field:crm.make.sale,partner_id:0
msgid "Customer"
msgstr ""
#. module: sale_crm
#: view:crm.make.sale:0
msgid "_Create"
msgstr ""
#. module: sale_crm
#: model:ir.model,name:sale_crm.model_crm_make_sale
msgid "Make sales"
msgstr ""
#. module: sale_crm
#: model:ir.model,name:sale_crm.model_account_invoice
msgid "Invoice"
msgstr ""
#. module: sale_crm
#: code:addons/sale_crm/wizard/crm_make_sale.py:93
#, python-format
msgid "Opportunity: %s"
msgstr ""
#. module: sale_crm
#: code:addons/sale_crm/wizard/crm_make_sale.py:110
#, python-format
msgid "Opportunity has been <b>converted</b> to the quotation <em>%s</em>."
msgstr ""
#. module: sale_crm
#: field:crm.make.sale,shop_id:0
msgid "Shop"
msgstr ""
#. module: sale_crm
#: code:addons/sale_crm/wizard/crm_make_sale.py:90
#, python-format
msgid "No addresse(s) defined for this customer."
msgstr ""
#. module: sale_crm
#: model:mail.message.subtype,name:sale_crm.mt_salesteam_order_confirmed
msgid "Sales Order Confirmed"
msgstr ""
#. module: sale_crm
#: view:account.invoice:0
#: field:account.invoice,section_id:0
#: field:account.invoice.report,section_id:0
#: view:sale.order:0
#: field:sale.order,section_id:0
msgid "Sales Team"
msgstr ""
#. module: sale_crm
#: view:crm.lead:0
msgid "Create Quotation"
msgstr ""
#. module: sale_crm
#: model:ir.actions.act_window,name:sale_crm.action_crm_make_sale
msgid "Make Quotation"
msgstr ""
#. module: sale_crm
#: view:crm.make.sale:0
msgid "Cancel"
msgstr ""
#. module: sale_crm
#: model:ir.model,name:sale_crm.model_sale_order
msgid "Sales Order"
msgstr ""
#. module: sale_crm
#: view:crm.make.sale:0
msgid "or"
msgstr ""

View File

@ -0,0 +1,43 @@
# Macedonian translation for openobject-addons
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:06+0000\n"
"PO-Revision-Date: 2013-02-21 13:45+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Macedonian <mk@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: 2013-02-22 05:13+0000\n"
"X-Generator: Launchpad (build 16506)\n"
#. module: sale_mrp
#: model:ir.model,name:sale_mrp.model_mrp_production
msgid "Manufacturing Order"
msgstr ""
#. module: sale_mrp
#: help:mrp.production,sale_name:0
msgid "Indicate the name of sales order."
msgstr ""
#. module: sale_mrp
#: help:mrp.production,sale_ref:0
msgid "Indicate the Customer Reference from sales order."
msgstr ""
#. module: sale_mrp
#: field:mrp.production,sale_ref:0
msgid "Sale Reference"
msgstr ""
#. module: sale_mrp
#: field:mrp.production,sale_name:0
msgid "Sale Name"
msgstr ""

View File

@ -0,0 +1,603 @@
# Macedonian translation for openobject-addons
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:06+0000\n"
"PO-Revision-Date: 2013-02-21 13:45+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Macedonian <mk@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: 2013-02-22 05:13+0000\n"
"X-Generator: Launchpad (build 16506)\n"
#. module: sale_stock
#: help:sale.config.settings,group_invoice_deli_orders:0
msgid ""
"To allow your salesman to make invoices for Delivery Orders using the menu "
"'Deliveries to Invoice'."
msgstr ""
#. module: sale_stock
#: model:process.node,name:sale_stock.process_node_deliveryorder0
msgid "Delivery Order"
msgstr ""
#. module: sale_stock
#: model:ir.actions.act_window,name:sale_stock.outgoing_picking_list_to_invoice
#: model:ir.ui.menu,name:sale_stock.menu_action_picking_list_to_invoice
msgid "Deliveries to Invoice"
msgstr ""
#. module: sale_stock
#: code:addons/sale_stock/sale_stock.py:544
#, python-format
msgid "Picking Information ! : "
msgstr ""
#. module: sale_stock
#: model:process.node,name:sale_stock.process_node_packinglist0
msgid "Pick List"
msgstr ""
#. module: sale_stock
#: code:addons/sale_stock/sale_stock.py:539
#, python-format
msgid ""
"You selected a quantity of %d Units.\n"
"But it's not compatible with the selected packaging.\n"
"Here is a proposition of quantities according to the packaging:\n"
"EAN: %s Quantity: %s Type of ul: %s"
msgstr ""
#. module: sale_stock
#: model:process.node,note:sale_stock.process_node_packinglist0
msgid "Document of the move to the output or to the customer."
msgstr ""
#. module: sale_stock
#: field:sale.config.settings,group_multiple_shops:0
msgid "Manage multiple shops"
msgstr ""
#. module: sale_stock
#: model:process.transition.action,name:sale_stock.process_transition_action_validate0
msgid "Validate"
msgstr ""
#. module: sale_stock
#: code:addons/sale_stock/sale_stock.py:207
#, python-format
msgid ""
"You must first cancel all delivery order(s) attached to this sales order."
msgstr ""
#. module: sale_stock
#: model:process.transition,name:sale_stock.process_transition_saleprocurement0
msgid "Create Procurement Order"
msgstr ""
#. module: sale_stock
#: field:stock.picking.out,sale_id:0
msgid "Sale Order"
msgstr ""
#. module: sale_stock
#: model:process.transition,note:sale_stock.process_transition_saleorderprocurement0
msgid ""
"For every sales order line, a procurement order is created to supply the "
"sold product."
msgstr ""
#. module: sale_stock
#: code:addons/sale_stock/sale_stock.py:615
#, python-format
msgid "Error!"
msgstr ""
#. module: sale_stock
#: field:sale.order,picking_policy:0
msgid "Shipping Policy"
msgstr ""
#. module: sale_stock
#: code:addons/sale_stock/sale_stock.py:616
#, python-format
msgid ""
"You cannot make an advance on a sales order that is "
"defined as 'Automatic Invoice after delivery'."
msgstr ""
#. module: sale_stock
#: model:ir.ui.menu,name:sale_stock.menu_action_shop_form
msgid "Shop"
msgstr ""
#. module: sale_stock
#: model:process.node,note:sale_stock.process_node_saleorderprocurement0
msgid "Drives procurement orders for every sales order line."
msgstr ""
#. module: sale_stock
#: model:ir.model,name:sale_stock.model_stock_move
msgid "Stock Move"
msgstr ""
#. module: sale_stock
#: code:addons/sale_stock/sale_stock.py:161
#, python-format
msgid "Invalid Action!"
msgstr ""
#. module: sale_stock
#: field:sale.config.settings,module_project_timesheet:0
msgid "Project Timesheet"
msgstr ""
#. module: sale_stock
#: field:sale.config.settings,group_sale_delivery_address:0
msgid "Allow a different address for delivery and invoicing "
msgstr ""
#. module: sale_stock
#: code:addons/sale_stock/sale_stock.py:546
#: code:addons/sale_stock/sale_stock.py:597
#, python-format
msgid "Configuration Error!"
msgstr ""
#. module: sale_stock
#: model:process.node,name:sale_stock.process_node_saleprocurement0
msgid "Procurement Order"
msgstr ""
#. module: sale_stock
#: selection:sale.config.settings,default_order_policy:0
msgid "Invoice based on deliveries"
msgstr ""
#. module: sale_stock
#: model:ir.model,name:sale_stock.model_sale_order
#: field:stock.picking,sale_id:0
msgid "Sales Order"
msgstr ""
#. module: sale_stock
#: model:ir.model,name:sale_stock.model_stock_picking_out
msgid "Delivery Orders"
msgstr ""
#. module: sale_stock
#: model:ir.model,name:sale_stock.model_sale_order_line
#: field:stock.move,sale_line_id:0
msgid "Sales Order Line"
msgstr ""
#. module: sale_stock
#: model:process.transition,note:sale_stock.process_transition_packing0
msgid ""
"The Pick List form is created as soon as the sales order is confirmed, in "
"the same time as the procurement order. It represents the assignment of "
"parts to the sales order. There is 1 pick list by sales order line which "
"evolves with the availability of parts."
msgstr ""
#. module: sale_stock
#: help:res.company,security_lead:0
msgid ""
"This is the days added to what you promise to customers for security purpose"
msgstr ""
#. module: sale_stock
#: model:ir.model,name:sale_stock.model_stock_picking
msgid "Picking List"
msgstr ""
#. module: sale_stock
#: field:sale.shop,warehouse_id:0
msgid "Warehouse"
msgstr ""
#. module: sale_stock
#: model:process.transition.action,name:sale_stock.process_transition_action_forceassignation0
msgid "Force Assignation"
msgstr ""
#. module: sale_stock
#: field:sale.config.settings,default_order_policy:0
msgid "The default invoicing method is"
msgstr ""
#. module: sale_stock
#: field:sale.order.line,delay:0
msgid "Delivery Lead Time"
msgstr ""
#. module: sale_stock
#: model:process.node,note:sale_stock.process_node_deliveryorder0
msgid "Document of the move to the customer."
msgstr ""
#. module: sale_stock
#: view:sale.order:0
msgid "View Delivery Order"
msgstr ""
#. module: sale_stock
#: field:sale.order.line,move_ids:0
msgid "Inventory Moves"
msgstr ""
#. module: sale_stock
#: view:sale.config.settings:0
msgid "Default Options"
msgstr ""
#. module: sale_stock
#: field:sale.config.settings,module_project_mrp:0
msgid "Project MRP"
msgstr ""
#. module: sale_stock
#: model:process.transition,note:sale_stock.process_transition_invoiceafterdelivery0
msgid ""
"The invoice is created automatically if the shipping policy is 'Invoice from "
"pick' or 'Invoice on order after delivery'."
msgstr ""
#. module: sale_stock
#: field:sale.order.line,procurement_id:0
msgid "Procurement"
msgstr ""
#. module: sale_stock
#: view:sale.report:0
#: field:sale.report,shipped:0
#: field:sale.report,shipped_qty_1:0
msgid "Shipped"
msgstr ""
#. module: sale_stock
#: code:addons/sale_stock/sale_stock.py:240
#, python-format
msgid "invalid mode for test_state"
msgstr ""
#. module: sale_stock
#: model:process.transition,note:sale_stock.process_transition_saleprocurement0
msgid ""
"A procurement order is automatically created as soon as a sales order is "
"confirmed or as the invoice is paid. It drives the purchasing and the "
"production of products regarding to the rules and to the sales order's "
"parameters. "
msgstr ""
#. module: sale_stock
#: help:sale.config.settings,group_mrp_properties:0
msgid "Allows you to tag sales order lines with properties."
msgstr ""
#. module: sale_stock
#: field:sale.config.settings,group_invoice_deli_orders:0
msgid "Generate invoices after and based on delivery orders"
msgstr ""
#. module: sale_stock
#: field:sale.config.settings,module_delivery:0
msgid "Allow adding shipping costs"
msgstr ""
#. module: sale_stock
#: view:sale.order:0
msgid "days"
msgstr ""
#. module: sale_stock
#: field:sale.order.line,product_packaging:0
msgid "Packaging"
msgstr ""
#. module: sale_stock
#: help:sale.order,incoterm:0
msgid ""
"International Commercial Terms are a series of predefined commercial terms "
"used in international transactions."
msgstr ""
#. module: sale_stock
#: help:sale.config.settings,module_delivery:0
msgid ""
"Allows you to add delivery methods in sales orders and delivery orders.\n"
" You can define your own carrier and delivery grids for "
"prices.\n"
" This installs the module delivery."
msgstr ""
#. module: sale_stock
#: field:sale.config.settings,default_picking_policy:0
msgid "Deliver all at once when all products are available."
msgstr ""
#. module: sale_stock
#: model:res.groups,name:sale_stock.group_invoice_deli_orders
msgid "Enable Invoicing Delivery orders"
msgstr ""
#. module: sale_stock
#: field:res.company,security_lead:0
msgid "Security Days"
msgstr ""
#. module: sale_stock
#: model:process.transition,name:sale_stock.process_transition_saleorderprocurement0
msgid "Procurement of sold material"
msgstr ""
#. module: sale_stock
#: help:sale.order,picking_policy:0
msgid ""
"Pick 'Deliver each product when available' if you allow partial delivery."
msgstr ""
#. module: sale_stock
#: code:addons/sale_stock/sale_stock.py:206
#, python-format
msgid "Cannot cancel sales order!"
msgstr ""
#. module: sale_stock
#: model:ir.model,name:sale_stock.model_sale_shop
msgid "Sales Shop"
msgstr ""
#. module: sale_stock
#: help:sale.order,shipped:0
msgid ""
"It indicates that the sales order has been delivered. This field is updated "
"only after the scheduler(s) have been launched."
msgstr ""
#. module: sale_stock
#: field:sale.order.line,property_ids:0
msgid "Properties"
msgstr ""
#. module: sale_stock
#: field:sale.config.settings,group_mrp_properties:0
msgid "Product properties on order lines"
msgstr ""
#. module: sale_stock
#: help:sale.config.settings,default_order_policy:0
msgid ""
"You can generate invoices based on sales orders or based on shippings."
msgstr ""
#. module: sale_stock
#: model:ir.model,name:sale_stock.model_sale_report
msgid "Sales Orders Statistics"
msgstr ""
#. module: sale_stock
#: model:ir.model,name:sale_stock.model_res_company
msgid "Companies"
msgstr ""
#. module: sale_stock
#: help:sale.config.settings,task_work:0
msgid ""
"Lets you transfer the entries under tasks defined for Project Management to\n"
" the Timesheet line entries for particular date and "
"particular user with the effect of creating, editing and deleting either "
"ways\n"
" and to automatically creates project tasks from procurement "
"lines.\n"
" This installs the modules project_timesheet and project_mrp."
msgstr ""
#. module: sale_stock
#: help:sale.config.settings,group_sale_delivery_address:0
msgid ""
"Allows you to specify different delivery and invoice addresses on a sales "
"order."
msgstr ""
#. module: sale_stock
#: model:process.node,note:sale_stock.process_node_saleprocurement0
msgid ""
"One Procurement order for each sales order line and for each of the "
"components."
msgstr ""
#. module: sale_stock
#: model:process.transition.action,name:sale_stock.process_transition_action_assign0
msgid "Assign"
msgstr ""
#. module: sale_stock
#: code:addons/sale_stock/sale_stock.py:592
#, python-format
msgid "Not enough stock ! : "
msgstr ""
#. module: sale_stock
#: help:sale.order.line,delay:0
msgid ""
"Number of days between the order confirmation and the shipping of the "
"products to the customer"
msgstr ""
#. module: sale_stock
#: help:sale.config.settings,default_picking_policy:0
msgid ""
"Sales order by default will be configured to deliver all products at once "
"instead of delivering each product when it is available. This may have an "
"impact on the shipping price."
msgstr ""
#. module: sale_stock
#: selection:sale.config.settings,default_order_policy:0
msgid "Invoice based on sales orders"
msgstr ""
#. module: sale_stock
#: model:process.node,name:sale_stock.process_node_invoiceafterdelivery0
msgid "Invoice"
msgstr ""
#. module: sale_stock
#: model:process.transition.action,name:sale_stock.process_transition_action_cancel1
#: model:process.transition.action,name:sale_stock.process_transition_action_cancel2
#: view:sale.order:0
msgid "Cancel"
msgstr ""
#. module: sale_stock
#: code:addons/sale_stock/sale_stock.py:161
#, python-format
msgid ""
"In order to delete a confirmed sales order, you must cancel it.\n"
"To do so, you must first cancel related picking for delivery orders."
msgstr ""
#. module: sale_stock
#: field:sale.order.line,number_packages:0
msgid "Number Packages"
msgstr ""
#. module: sale_stock
#: field:sale.order,shipped:0
msgid "Delivered"
msgstr ""
#. module: sale_stock
#: model:process.transition,name:sale_stock.process_transition_invoiceafterdelivery0
msgid "Create Invoice"
msgstr ""
#. module: sale_stock
#: field:sale.config.settings,task_work:0
msgid "Prepare invoices based on task's activities"
msgstr ""
#. module: sale_stock
#: model:ir.model,name:sale_stock.model_sale_advance_payment_inv
msgid "Sales Advance Payment Invoice"
msgstr ""
#. module: sale_stock
#: code:addons/sale_stock/sale_stock.py:497
#, python-format
msgid "You must first cancel stock moves attached to this sales order line."
msgstr ""
#. module: sale_stock
#: code:addons/sale_stock/sale_stock.py:535
#, python-format
msgid "(n/a)"
msgstr ""
#. module: sale_stock
#: field:sale.order,incoterm:0
msgid "Incoterm"
msgstr ""
#. module: sale_stock
#: code:addons/sale_stock/sale_stock.py:496
#, python-format
msgid "Cannot cancel sales order line!"
msgstr ""
#. module: sale_stock
#: model:process.transition.action,name:sale_stock.process_transition_action_cancelassignation0
msgid "Cancel Assignation"
msgstr ""
#. module: sale_stock
#: model:process.node,note:sale_stock.process_node_invoiceafterdelivery0
msgid "Based on the shipped or on the ordered quantities."
msgstr ""
#. module: sale_stock
#: selection:sale.order,picking_policy:0
msgid "Deliver all products at once"
msgstr ""
#. module: sale_stock
#: field:sale.order,picking_ids:0
msgid "Related Picking"
msgstr ""
#. module: sale_stock
#: model:ir.model,name:sale_stock.model_sale_config_settings
msgid "sale.config.settings"
msgstr ""
#. module: sale_stock
#: help:sale.order,picking_ids:0
msgid ""
"This is a list of delivery orders that has been generated for this sales "
"order."
msgstr ""
#. module: sale_stock
#: model:process.node,name:sale_stock.process_node_saleorderprocurement0
msgid "Sales Order Requisition"
msgstr ""
#. module: sale_stock
#: model:process.transition,name:sale_stock.process_transition_deliver0
msgid "Create Delivery Order"
msgstr ""
#. module: sale_stock
#: view:sale.order:0
msgid "Ignore Exception"
msgstr ""
#. module: sale_stock
#: code:addons/sale_stock/sale_stock.py:588
#, python-format
msgid ""
"You plan to sell %.2f %s but you only have %.2f %s available !\n"
"The real stock is %.2f %s. (without reservations)"
msgstr ""
#. module: sale_stock
#: view:sale.order:0
msgid "Recreate Delivery Order"
msgstr ""
#. module: sale_stock
#: help:sale.config.settings,group_multiple_shops:0
msgid "This allows to configure and use multiple shops."
msgstr ""
#. module: sale_stock
#: field:sale.order,picked_rate:0
msgid "Picked"
msgstr ""
#. module: sale_stock
#: selection:sale.order,picking_policy:0
msgid "Deliver each product when available"
msgstr ""
#. module: sale_stock
#: model:process.transition,name:sale_stock.process_transition_packing0
msgid "Create Pick List"
msgstr ""
#. module: sale_stock
#: model:process.transition,note:sale_stock.process_transition_deliver0
msgid ""
"Depending on the configuration of the location Output, the move between the "
"output area and the customer is done through the Delivery Order manually or "
"automatically."
msgstr ""

617
addons/share/i18n/mk.po Normal file
View File

@ -0,0 +1,617 @@
# Macedonian translation for openobject-addons
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:06+0000\n"
"PO-Revision-Date: 2013-02-21 13:45+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Macedonian <mk@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: 2013-02-22 05:13+0000\n"
"X-Generator: Launchpad (build 16506)\n"
#. module: share
#: code:addons/share/wizard/share_wizard.py:841
#, python-format
msgid "Invitation to collaborate about %s"
msgstr ""
#. module: share
#: code:addons/share/wizard/share_wizard.py:779
#, python-format
msgid ""
"The share engine has not been able to fetch a record_id for your invitation."
msgstr ""
#. module: share
#: view:share.wizard:0
msgid "Include an Optional Personal Message"
msgstr ""
#. module: share
#: field:share.wizard,embed_option_title:0
msgid "Display title"
msgstr ""
#. module: share
#: view:share.wizard:0
msgid "Access granted!"
msgstr ""
#. module: share
#: field:share.wizard,record_name:0
msgid "Record name"
msgstr ""
#. module: share
#: help:share.wizard,message:0
msgid ""
"An optional personal message, to be included in the email notification."
msgstr ""
#. module: share
#: field:share.wizard,user_type:0
msgid "Sharing method"
msgstr ""
#. module: share
#: field:share.wizard,name:0
msgid "Share Title"
msgstr ""
#. module: share
#: code:addons/share/wizard/share_wizard.py:847
#: code:addons/share/wizard/share_wizard.py:876
#, python-format
msgid ""
"The documents are not attached, you can view them online directly on my "
"OpenERP server at:\n"
" %s\n"
"\n"
msgstr ""
#. module: share
#: model:ir.module.category,name:share.module_category_share
msgid "Sharing"
msgstr ""
#. module: share
#: code:addons/share/wizard/share_wizard.py:842
#: code:addons/share/wizard/share_wizard.py:874
#, python-format
msgid ""
"Hello,\n"
"\n"
msgstr ""
#. module: share
#: field:share.wizard,share_root_url:0
msgid "Share Access URL"
msgstr ""
#. module: share
#: field:share.wizard,email_1:0
#: field:share.wizard,email_2:0
#: field:share.wizard,email_3:0
msgid "New user email"
msgstr ""
#. module: share
#: code:addons/share/wizard/share_wizard.py:886
#, python-format
msgid "You may use your current login (%s) and password to view them.\n"
msgstr ""
#. module: share
#: code:addons/share/wizard/share_wizard.py:620
#, python-format
msgid "(Modified)"
msgstr ""
#. module: share
#: code:addons/share/wizard/share_wizard.py:664
#, python-format
msgid "You must be a member of the Share/User group to use the share wizard."
msgstr ""
#. module: share
#. openerp-web
#: code:addons/share/static/src/js/share.js:63
#, python-format
msgid "Embed"
msgstr ""
#. module: share
#: code:addons/share/wizard/share_wizard.py:598
#, python-format
msgid "Sharing filter created by user %s (%s) for group %s"
msgstr ""
#. module: share
#: field:share.wizard,embed_url:0
#: field:share.wizard.result.line,share_url:0
msgid "Share URL"
msgstr ""
#. module: share
#: code:addons/share/wizard/share_wizard.py:848
#: code:addons/share/wizard/share_wizard.py:880
#, python-format
msgid "These are your credentials to access this protected area:\n"
msgstr ""
#. module: share
#: view:share.wizard:0
msgid "Access info"
msgstr ""
#. module: share
#. openerp-web
#: code:addons/share/static/src/js/share.js:60
#: view:share.wizard:0
#, python-format
msgid "Share"
msgstr ""
#. module: share
#: code:addons/share/wizard/share_wizard.py:570
#, python-format
msgid "(Duplicated for modified sharing permissions)"
msgstr ""
#. module: share
#: code:addons/share/wizard/share_wizard.py:668
#, python-format
msgid ""
"Please indicate the emails of the persons to share with, one per line."
msgstr ""
#. module: share
#: help:share.wizard,domain:0
msgid "Optional domain for further data filtering"
msgstr ""
#. module: share
#: view:share.wizard:0
msgid "Next"
msgstr ""
#. module: share
#: code:addons/share/wizard/share_wizard.py:661
#, python-format
msgid "Action and Access Mode are required to create a shared access."
msgstr ""
#. module: share
#: code:addons/share/wizard/share_wizard.py:849
#: code:addons/share/wizard/share_wizard.py:881
#, python-format
msgid "Username"
msgstr ""
#. module: share
#: view:share.wizard:0
msgid "Sharing Options"
msgstr ""
#. module: share
#. openerp-web
#: code:addons/share/static/src/xml/share.xml:9
#, python-format
msgid "Invite"
msgstr ""
#. module: share
#: view:share.wizard:0
msgid "Embedded code options"
msgstr ""
#. module: share
#: view:share.wizard:0
msgid "Configuration"
msgstr ""
#. module: share
#: view:share.wizard:0
msgid ""
"Please select the action that opens the screen containing the data you want "
"to share."
msgstr ""
#. module: share
#: field:res.groups,share:0
msgid "Share Group"
msgstr ""
#. module: share
#: code:addons/share/wizard/share_wizard.py:834
#: code:addons/share/wizard/share_wizard.py:865
#, python-format
msgid "Email required"
msgstr ""
#. module: share
#: view:share.wizard:0
msgid ""
"Optionally, you may specify an additional domain restriction that will be "
"applied to the shared data."
msgstr ""
#. module: share
#: view:res.groups:0
msgid "Non-Share Groups"
msgstr ""
#. module: share
#: view:share.wizard:0
msgid ""
"An email notification with instructions has been sent to the following "
"people:"
msgstr ""
#. module: share
#: code:addons/share/wizard/share_wizard.py:77
#, python-format
msgid "Direct link or embed code"
msgstr ""
#. module: share
#: code:addons/share/wizard/share_wizard.py:855
#: code:addons/share/wizard/share_wizard.py:889
#, python-format
msgid ""
"OpenERP is a powerful and user-friendly suite of Business Applications (CRM, "
"Sales, HR, etc.)\n"
"It is open source and can be found on http://www.openerp.com."
msgstr ""
#. module: share
#: field:share.wizard,action_id:0
msgid "Action to share"
msgstr ""
#. module: share
#: help:share.wizard,record_name:0
msgid "Name of the shared record, if sharing a precise record"
msgstr ""
#. module: share
#: field:res.users,share:0
msgid "Share User"
msgstr ""
#. module: share
#: field:share.wizard.result.line,user_id:0
msgid "unknown"
msgstr ""
#. module: share
#: code:addons/share/wizard/share_wizard.py:61
#: code:addons/share/wizard/share_wizard.py:656
#, python-format
msgid "Sharing access cannot be created."
msgstr ""
#. module: share
#: code:addons/share/wizard/share_wizard.py:779
#, python-format
msgid "Record id not found"
msgstr ""
#. module: share
#: help:res.groups,share:0
msgid "Group created to set access rights for sharing data with some users."
msgstr ""
#. module: share
#: view:res.groups:0
msgid "Share Groups"
msgstr ""
#. module: share
#: help:share.wizard,action_id:0
msgid ""
"The action that opens the screen containing the data you wish to share."
msgstr ""
#. module: share
#: code:addons/share/wizard/share_wizard.py:545
#, python-format
msgid "(Copy for sharing)"
msgstr ""
#. module: share
#: field:share.wizard.result.line,newly_created:0
msgid "Newly created"
msgstr ""
#. module: share
#: help:share.wizard,name:0
msgid "Title for the share (displayed to users as menu and shortcut name)"
msgstr ""
#. module: share
#: code:addons/share/wizard/share_wizard.py:635
#, python-format
msgid "Indirect sharing filter created by user %s (%s) for group %s"
msgstr ""
#. module: share
#: help:share.wizard,share_root_url:0
msgid "Main access page for users that are granted shared access"
msgstr ""
#. module: share
#: code:addons/share/wizard/share_wizard.py:206
#, python-format
msgid ""
"You must configure your email address in the user preferences before using "
"the Share button."
msgstr ""
#. module: share
#: model:res.groups,name:share.group_share_user
msgid "User"
msgstr ""
#. module: share
#: code:addons/share/wizard/share_wizard.py:657
#, python-format
msgid ""
"Sorry, the current screen and filter you are trying to share are not "
"supported at the moment.\n"
"You may want to try a simpler filter."
msgstr ""
#. module: share
#: view:share.wizard:0
msgid "Use this link"
msgstr ""
#. module: share
#: code:addons/share/wizard/share_wizard.py:851
#: code:addons/share/wizard/share_wizard.py:883
#, python-format
msgid "Database"
msgstr ""
#. module: share
#: view:share.wizard:0
msgid "Share with these People (one email per line)"
msgstr ""
#. module: share
#: field:share.wizard,domain:0
msgid "Domain"
msgstr ""
#. module: share
#: view:res.groups:0
msgid "{'search_default_no_share':1}"
msgstr ""
#. module: share
#: view:share.wizard:0
#: field:share.wizard,result_line_ids:0
msgid "Summary"
msgstr ""
#. module: share
#: help:share.wizard,embed_code:0
msgid ""
"Embed this code in your documents to provide a link to the shared document."
msgstr ""
#. module: share
#: code:addons/share/wizard/share_wizard.py:512
#, python-format
msgid "Copied access for sharing"
msgstr ""
#. module: share
#: code:addons/share/wizard/share_wizard.py:816
#, python-format
msgid "Invitation"
msgstr ""
#. module: share
#: model:ir.actions.act_window,name:share.action_share_wizard_step1
msgid "Share your documents"
msgstr ""
#. module: share
#: view:share.wizard:0
msgid "Or insert the following code where you want to embed your documents"
msgstr ""
#. module: share
#: code:addons/share/wizard/share_wizard.py:885
#, python-format
msgid ""
"The documents have been automatically added to your current OpenERP "
"documents.\n"
msgstr ""
#. module: share
#: model:ir.model,name:share.model_share_wizard_result_line
msgid "share.wizard.result.line"
msgstr ""
#. module: share
#: field:share.wizard,embed_code:0
msgid "Code"
msgstr ""
#. module: share
#: help:share.wizard,user_type:0
msgid "Select the type of user(s) you would like to share data with."
msgstr ""
#. module: share
#: code:addons/share/wizard/share_wizard.py:843
#, python-format
msgid ""
"I have shared %s (%s) with you!\n"
"\n"
msgstr ""
#. module: share
#: field:share.wizard,view_type:0
msgid "Current View Type"
msgstr ""
#. module: share
#: selection:share.wizard,access_mode:0
msgid "Can view"
msgstr ""
#. module: share
#: selection:share.wizard,access_mode:0
msgid "Can edit"
msgstr ""
#. module: share
#: view:share.wizard:0
msgid "Cancel"
msgstr ""
#. module: share
#: help:res.users,share:0
msgid ""
"External user with limited access, created only for the purpose of sharing "
"data."
msgstr ""
#. module: share
#: model:ir.actions.act_window,name:share.action_share_wizard
#: model:ir.model,name:share.model_share_wizard
#: field:share.wizard.result.line,share_wizard_id:0
msgid "Share Wizard"
msgstr ""
#. module: share
#: code:addons/share/wizard/share_wizard.py:792
#, python-format
msgid "Shared access created!"
msgstr ""
#. module: share
#: model:res.groups,comment:share.group_share_user
msgid ""
"\n"
"Members of this groups have access to the sharing wizard, which allows them "
"to invite external users to view or edit some of their documents."
msgstr ""
#. module: share
#: code:addons/share/wizard/share_wizard.py:852
#, python-format
msgid ""
"The documents have been automatically added to your subscriptions.\n"
"\n"
msgstr ""
#. module: share
#: model:ir.model,name:share.model_res_users
msgid "Users"
msgstr ""
#. module: share
#: code:addons/share/wizard/share_wizard.py:875
#, python-format
msgid ""
"I've shared %s with you!\n"
"\n"
msgstr ""
#. module: share
#: model:ir.model,name:share.model_res_groups
msgid "Access Groups"
msgstr ""
#. module: share
#: field:share.wizard,invite:0
msgid "Invite users to OpenSocial record"
msgstr ""
#. module: share
#: code:addons/share/wizard/share_wizard.py:850
#: code:addons/share/wizard/share_wizard.py:882
#: field:share.wizard.result.line,password:0
#, python-format
msgid "Password"
msgstr ""
#. module: share
#: code:addons/share/wizard/share_wizard.py:77
#: field:share.wizard,new_users:0
#, python-format
msgid "Emails"
msgstr ""
#. module: share
#: field:share.wizard,embed_option_search:0
msgid "Display search view"
msgstr ""
#. module: share
#: field:share.wizard,message:0
msgid "Personal Message"
msgstr ""
#. module: share
#: code:addons/share/wizard/share_wizard.py:834
#: code:addons/share/wizard/share_wizard.py:865
#, python-format
msgid ""
"The current user must have an email address configured in User Preferences "
"to be able to send outgoing emails."
msgstr ""
#. module: share
#: code:addons/share/wizard/share_wizard.py:205
#, python-format
msgid "No email address configured"
msgstr ""
#. module: share
#: field:share.wizard.result.line,login:0
msgid "Login"
msgstr ""
#. module: share
#: view:res.users:0
msgid "Regular users only (no share user)"
msgstr ""
#. module: share
#: field:share.wizard,access_mode:0
msgid "Access Mode"
msgstr ""
#. module: share
#: view:share.wizard:0
msgid "Sharing: preparation"
msgstr ""
#. module: share
#: model:ir.model,name:share.model_ir_model_access
msgid "ir.model.access"
msgstr ""
#. module: share
#: view:share.wizard:0
msgid "or"
msgstr ""
#. module: share
#: help:share.wizard,access_mode:0
msgid "Access rights to be granted on the shared documents."
msgstr ""

View File

@ -29,11 +29,14 @@ import openerp.addons.decimal_precision as dp
class stock_return_picking_memory(osv.osv_memory):
_name = "stock.return.picking.memory"
_rec_name = 'product_id'
_columns = {
'product_id' : fields.many2one('product.product', string="Product", required=True),
'quantity' : fields.float("Quantity", digits_compute=dp.get_precision('Product Unit of Measure'), required=True),
'wizard_id' : fields.many2one('stock.return.picking', string="Wizard"),
'move_id' : fields.many2one('stock.move', "Move"),
'prodlot_id': fields.related('move_id', 'prodlot_id', type='many2one', relation='stock.production.lot', string='Serial Number', readonly=True),
}
stock_return_picking_memory()
@ -74,7 +77,7 @@ class stock_return_picking(osv.osv_memory):
for line in pick.move_lines:
qty = line.product_qty - return_history.get(line.id, 0)
if qty > 0:
result1.append({'product_id': line.product_id.id, 'quantity': qty,'move_id':line.id})
result1.append({'product_id': line.product_id.id, 'quantity': qty,'move_id':line.id, 'prodlot_id': line.prodlot_id and line.prodlot_id.id or False})
if 'product_return_moves' in fields:
res.update({'product_return_moves': result1})
return res

View File

@ -32,8 +32,8 @@
<field name="arch" type="xml">
<tree editable="bottom" string="Product Moves">
<field name="product_id" />
<field name="prodlot_id" groups="stock.group_production_lot"/>
<field name="quantity" />
</tree>
</field>
</record>
@ -45,6 +45,7 @@
<form string="Return Picking Memory" version="7.0">
<group col="4">
<field name="product_id" />
<field name="prodlot_id" groups="stock.group_production_lot"/>
<field name="quantity" />
</group>
</form>