[MERGE]: Merged with trunk-addons.

bzr revid: uco@tinyerp.com-20111111065143-2w29uvzem9ighh7p
This commit is contained in:
Ujjvala Collins (OpenERP)
2011-11-11 12:21:43 +05:30
195 changed files with 5314 additions and 1381 deletions
+2 -1
View File
@@ -28,7 +28,8 @@
<field name="charts"/>
<group colspan="4" groups="account.group_account_user">
<separator col="4" colspan="4" string="Configure Fiscal Year"/>
<field name="company_id" colspan="4" widget="selection"/><!-- we assume that this wizard will be run only by administrators and as this field may cause problem if hidden (because of the default company of the user removed from the selection because already configured), we simply choosed to remove the group "multi company" of it -->
<field name="has_default_company" invisible="1" />
<field name="company_id" colspan="4" widget="selection" attrs="{'invisible' : [('has_default_company', '=', True)]}"/><!-- we assume that this wizard will be run only by administrators and as this field may cause problem if hidden (because of the default company of the user removed from the selection because already configured), we simply choosed to remove the group "multi company" of it -->
<field name="date_start" on_change="on_change_start_date(date_start)"/>
<field name="date_stop"/>
<field name="period" colspan="4"/>
+3 -2
View File
@@ -306,9 +306,9 @@ class account_invoice(osv.osv):
view_id = view_id[0]
res = super(account_invoice,self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar, submenu=submenu)
type = context.get('journal_type', 'sale')
type = context.get('journal_type', False)
for field in res['fields']:
if field == 'journal_id':
if field == 'journal_id' and type:
journal_select = journal_obj._name_search(cr, uid, '', [('type', '=', type)], context=context, limit=None, name_get_uid=1)
res['fields'][field]['selection'] = journal_select
@@ -1559,6 +1559,7 @@ class account_invoice_tax(osv.osv):
for line in inv.invoice_line:
for tax in tax_obj.compute_all(cr, uid, line.invoice_line_tax_id, (line.price_unit* (1-(line.discount or 0.0)/100.0)), line.quantity, inv.address_invoice_id.id, line.product_id, inv.partner_id)['taxes']:
tax['price_unit'] = cur_obj.round(cr, uid, cur, tax['price_unit'])
val={}
val['invoice_id'] = inv.id
val['name'] = tax['name']
@@ -199,15 +199,15 @@
</record>
<record id="conf_cli" model="account.account.template">
<field name="code">111</field>
<field name="code">12</field>
<field name="name">Current Liabilities</field>
<field ref="conf_nca" name="parent_id"/>
<field ref="conf_bal" name="parent_id"/>
<field name="type">view</field>
<field name="user_type" ref="account_type_liability_view1"/>
</record>
<record id="conf_a_pay" model="account.account.template">
<field name="code">1111</field>
<field name="code">120</field>
<field name="name">Creditors</field>
<field ref="conf_cli" name="parent_id"/>
<field name="type">payable</field>
@@ -216,7 +216,7 @@
</record>
<record id="conf_iva" model="account.account.template">
<field name="code">1112</field>
<field name="code">121</field>
<field name="name">Tax Received</field>
<field ref="conf_cli" name="parent_id"/>
<field name="type">other</field>
@@ -224,7 +224,7 @@
</record>
<record id="conf_a_reserve_and_surplus" model="account.account.template">
<field name="code">1113</field>
<field name="code">122</field>
<field name="name">Reserve and Profit/Loss Account</field>
<field ref="conf_cli" name="parent_id"/>
<field name="type">other</field>
@@ -233,7 +233,7 @@
</record>
<record id="conf_o_expense" model="account.account.template">
<field name="code">1114</field>
<field name="code">123</field>
<field name="name">Opening Expense Account</field>
<field ref="conf_cli" name="parent_id"/>
<field name="type">other</field>
+9 -7
View File
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-11-01 21:03+0000\n"
"PO-Revision-Date: 2011-11-08 11:58+0000\n"
"Last-Translator: OpenERP Danmark / Mikhael Saxtorph <Unknown>\n"
"Language-Team: Danish <da@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: 2011-11-08 05:41+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-11-10 04:57+0000\n"
"X-Generator: Launchpad (build 14263)\n"
#. module: account
#: model:process.transition,name:account.process_transition_supplierreconcilepaid0
@@ -2439,7 +2439,7 @@ msgstr "Bankafstemning"
#. module: account
#: report:account.invoice:0
msgid "Disc.(%)"
msgstr ""
msgstr "Rabatprocent"
#. module: account
#: report:account.general.ledger:0
@@ -2744,6 +2744,8 @@ msgid ""
"Set if the amount of tax must be included in the base amount before "
"computing the next taxes."
msgstr ""
"Vælg: Hvis afgiftsbeløbet, skal indgå i beregningsgrundlaget for beregning "
"af de følgende afgifter"
#. module: account
#: help:account.journal,user_id:0
@@ -4789,7 +4791,7 @@ msgstr ""
#. module: account
#: report:account.partner.balance:0
msgid "(Account/Partner) Name"
msgstr ""
msgstr "(Konto / Kontakt) Navn"
#. module: account
#: view:account.bank.statement:0
@@ -7125,7 +7127,7 @@ msgstr ""
#. module: account
#: field:account.tax.code,sum_period:0
msgid "Period Sum"
msgstr ""
msgstr "Periode sum"
#. module: account
#: help:account.tax,sequence:0
@@ -7257,7 +7259,7 @@ msgstr ""
#: field:account.subscription,state:0
#: field:report.invoice.created,state:0
msgid "State"
msgstr "Stat"
msgstr "Tilstand"
#. module: account
#: help:account.open.closed.fiscalyear,fyear_id:0
+9 -1
View File
@@ -38,7 +38,9 @@ class account_installer(osv.osv_memory):
def _get_charts(self, cr, uid, context=None):
modules = self.pool.get('ir.module.module')
ids = modules.search(cr, uid, [('name', 'like', 'l10n_')], context=context)
# Looking for the module with the 'Account Charts' category
category_name, category_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'base', 'module_category_localization_account_charts')
ids = modules.search(cr, uid, [('category_id', '=', category_id)], context=context)
charts = list(
sorted(((m.name, m.shortdesc)
for m in modules.browse(cr, uid, ids, context=context)),
@@ -59,12 +61,17 @@ class account_installer(osv.osv_memory):
'sale_tax': fields.float('Sale Tax(%)'),
'purchase_tax': fields.float('Purchase Tax(%)'),
'company_id': fields.many2one('res.company', 'Company', required=True),
'has_default_company' : fields.boolean('Has Default Company', readonly=True),
}
def _default_company(self, cr, uid, context=None):
user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
return user.company_id and user.company_id.id or False
def _default_has_default_company(self, cr, uid, context=None):
count = self.pool.get('res.company').search_count(cr, uid, [], context=context)
return bool(count == 1)
_defaults = {
'date_start': lambda *a: time.strftime('%Y-01-01'),
'date_stop': lambda *a: time.strftime('%Y-12-31'),
@@ -72,6 +79,7 @@ class account_installer(osv.osv_memory):
'sale_tax': 0.0,
'purchase_tax': 0.0,
'company_id': _default_company,
'has_default_company': _default_has_default_company,
'charts': 'configurable'
}
+2 -2
View File
@@ -44,8 +44,8 @@
<filter string="Manager" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
<filter string="Associated Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/>
<separator orientation="vertical"/>
<filter string="Parent" icon="terp-folder-orange" domain="[]" context="{'group_by':'parent_id'}"/>
<filter string="State" icon="terp-folder-green" domain="[]" context="{'group_by':'state'}" groups="base.group_no_one"/>
<filter string="Parent Account" icon="terp-folder-green" domain="[]" context="{'group_by':'parent_id'}"/>
<filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}" groups="base.group_no_one"/>
</group>
</search>
</field>
+1 -1
View File
@@ -296,7 +296,7 @@
<td><para style="P14"><font>[[ (a['type']&lt;&gt;'view' and setTag('para','para',{'fontName':"Helvetica"})) or removeParentNode('font') ]]</font><font color="white">[[ '..'*(a['level']-1) ]]</font><font>[[ a['name'] ]]</font> </para></td>
<td><para style="P3"><font>[[ (a['type']&lt;&gt;'view' and setTag('para','para',{'fontName':"Helvetica"})) or removeParentNode('font') ]]</font><font>[[ a['type']=='view' and removeParentNode('font') ]][[ formatLang(a['debit']) ]]</font><font>[[ a['type']&lt;&gt;'view' and removeParentNode('font') ]] [[formatLang(a['debit']) ]]</font></para></td>
<td><para style="P3"><font>[[ (a['type']&lt;&gt;'view' and setTag('para','para',{'fontName':"Helvetica"})) or removeParentNode('font')]]</font><font>[[ a['type']=='view' and removeParentNode('font') ]][[ formatLang(a['credit']) ]]</font><font>[[ a['type']&lt;&gt;'view' and removeParentNode('font') ]] [[ formatLang(a['credit']) ]]</font> </para></td>
<td><para style="P3"><font>[[ (a['type']&lt;&gt;'view' and setTag('para','para',{'fontName':"Helvetica"})) or removeParentNode('font') ]]</font><font>[[ a['type']=='view' and removeParentNode('font') ]][[ formatLang(a['balance'], currency_obj=company.currency_id) ]]</font><font>[[ a['type']&lt;&gt;'view' and removeParentNode('font') ]] [[ formatLang(a['balance'], currency = company.currency_id) ]]</font> </para></td>
<td><para style="P3"><font>[[ (a['type']&lt;&gt;'view' and setTag('para','para',{'fontName':"Helvetica"})) or removeParentNode('font') ]]</font><font>[[ a['type']=='view' and removeParentNode('font') ]][[ formatLang(a['balance'], currency_obj=company.currency_id) ]]</font><font>[[ a['type']&lt;&gt;'view' and removeParentNode('font') ]] [[ formatLang(a['balance'], currency_obj=company.currency_id) ]]</font> </para></td>
</tr>
</blockTable>
<para style="P11">
@@ -69,6 +69,9 @@ class account_fiscalyear_close(osv.osv_memory):
cr.execute("SELECT id FROM account_period WHERE date_start > (SELECT date_stop FROM account_fiscalyear WHERE id = %s)", (str(fy_id),))
fy2_period_set = ','.join(map(lambda id: str(id[0]), cr.fetchall()))
if not fy_period_set or not fy2_period_set:
raise osv.except_osv(_('UserError'), _('The periods to generate opening entries were not found'))
period = obj_acc_period.browse(cr, uid, data[0].period_id.id, context=context)
new_fyear = obj_acc_fiscalyear.browse(cr, uid, data[0].fy2_id.id, context=context)
old_fyear = obj_acc_fiscalyear.browse(cr, uid, fy_id, context=context)
@@ -108,10 +111,10 @@ class account_fiscalyear_close(osv.osv_memory):
#1. report of the accounts with defferal method == 'unreconciled'
cr.execute('''
SELECT a.id
SELECT a.id
FROM account_account a
LEFT JOIN account_account_type t ON (a.user_type = t.id)
WHERE a.active
WHERE a.active
AND a.type != 'view'
AND t.close_method = %s''', ('unreconciled', ))
account_ids = map(lambda x: x[0], cr.fetchall())
@@ -122,15 +125,15 @@ class account_fiscalyear_close(osv.osv_memory):
name, create_uid, create_date, write_uid, write_date,
statement_id, journal_id, currency_id, date_maturity,
partner_id, blocked, credit, state, debit,
ref, account_id, period_id, date, move_id, amount_currency,
quantity, product_id, company_id)
ref, account_id, period_id, date, move_id, amount_currency,
quantity, product_id, company_id)
(SELECT name, create_uid, create_date, write_uid, write_date,
statement_id, %s,currency_id, date_maturity, partner_id,
blocked, credit, 'draft', debit, ref, account_id,
%s, date, %s, amount_currency, quantity, product_id, company_id
FROM account_move_line
WHERE account_id IN %s
AND ''' + query_line + '''
WHERE account_id IN %s
AND ''' + query_line + '''
AND reconcile_id IS NULL)''', (new_journal.id, period.id, move_id, tuple(account_ids),))
#We have also to consider all move_lines that were reconciled
@@ -197,7 +200,7 @@ class account_fiscalyear_close(osv.osv_memory):
query_1st_part = """
INSERT INTO account_move_line (
debit, credit, name, date, move_id, journal_id, period_id,
account_id, currency_id, amount_currency, company_id, state) VALUES
account_id, currency_id, amount_currency, company_id, state) VALUES
"""
query_2nd_part = ""
query_2nd_part_args = []
@@ -207,7 +210,7 @@ class account_fiscalyear_close(osv.osv_memory):
cr.execute('SELECT sum(amount_currency) as balance_in_currency FROM account_move_line ' \
'WHERE account_id = %s ' \
'AND ' + query_line + ' ' \
'AND currency_id = %s', (account.id, account.currency_id.id))
'AND currency_id = %s', (account.id, account.currency_id.id))
balance_in_currency = cr.dictfetchone()['balance_in_currency']
company_currency_id = self.pool.get('res.users').browse(cr, uid, uid).company_id.currency_id
+6 -6
View File
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2010-11-17 08:53+0000\n"
"Last-Translator: Martin Pihl <martinpihl@gmail.com>\n"
"PO-Revision-Date: 2011-11-08 10:35+0000\n"
"Last-Translator: OpenERP Danmark / Mikhael Saxtorph <Unknown>\n"
"Language-Team: Danish <da@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: 2011-11-05 05:52+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-11-10 04:58+0000\n"
"X-Generator: Launchpad (build 14263)\n"
#. module: account_accountant
#: model:ir.module.module,description:account_accountant.module_meta_information
@@ -27,8 +27,8 @@ msgid ""
" "
msgstr ""
"\n"
"Dette modul giver administrator brugeren adgang til alle de regnskabsmæssige "
"funktioner som bogføringsjournaler og kontoplaner.\n"
"Dette modul giver brugeren admin adgang til alle regnskabsfunktioner som "
"bogføringsjournaler og kontoplaner.\n"
" "
#. module: account_accountant
@@ -20,6 +20,7 @@
##############################################################################
import account_analytic_analysis
import cron_account_analytic_account
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
@@ -21,9 +21,9 @@
{
'name' : 'Analytic Account View',
'name' : 'Sales Contract Management',
'version' : '1.1',
'category' : 'Hidden',
'category' : 'Sales Management',
'complexity': "normal",
'description': """
This module is for modifying account analytic view to show important data to project manager of services companies.
@@ -42,6 +42,7 @@ user-wise as well as month wise.
"security/ir.model.access.csv",
"account_analytic_analysis_view.xml",
"account_analytic_analysis_menu.xml",
"account_analytic_analysis_cron.xml",
],
'demo_xml' : [],
'installable': True,
@@ -374,7 +374,28 @@ class account_analytic_account(osv.osv):
res[id] = round(res.get(id, 0.0),2)
return res
_columns ={
def _is_overdue_quantity(self, cr, uid, ids, fieldnames, args, context=None):
result = dict.fromkeys(ids, 0)
for record in self.browse(cr, uid, ids, context=context):
if record.quantity == 0.0 and record.quantity_max == 0.0:
result[record.id] = 0
else:
result[record.id] = int(record.quantity >= record.quantity_max)
return result
def _get_analytic_account(self, cr, uid, ids, context=None):
result = set()
for line in self.pool.get('account.analytic.line').browse(cr, uid, ids, context=context):
result.add(line.account_id.id)
return list(result)
_columns = {
'is_overdue_quantity' : fields.function(_is_overdue_quantity, method=True, type='boolean', string='Overdue Quantity',
store={
'account.analytic.line' : (_get_analytic_account, None, 20),
}),
'ca_invoiced': fields.function(_ca_invoiced_calc, type='float', string='Invoiced Amount',
help="Total customer invoiced amount for this account.",
digits_compute=dp.get_precision('Account')),
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding='UTF-8'?>
<openerp>
<data>
<record model="ir.cron" id="account_analytic_cron">
<field name="name">Analytic Account Report for Sales</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"/>
</record>
</data>
</openerp>
@@ -20,6 +20,67 @@
<field name="view_mode">tree,form,graph</field>
<field name="domain">[('date','&lt;=',time.strftime('%Y-%m-%d')),('state','=','open')]</field>
</record>
<menuitem action="action_account_analytic_managed_overpassed" id="menu_action_account_analytic_managed_overpassed" sequence="50" parent="menu_invoicing" groups="analytic.group_analytic_accounting"/>
<menuitem action="action_account_analytic_managed_overpassed" id="menu_action_account_analytic_managed_overpassed" sequence="50" parent="menu_invoicing" groups="base.group_extended"/>
<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="type">search</field>
<field name="arch" type="xml">
<search string="Analytic Account">
<group col="8" colspan="4">
<filter icon="terp-check" name="draft" string="Draft" domain="[('state','=','draft')]" help="Contracts not signed yet"/>
<filter icon="terp-camera_test" name="open" string="Open" domain="[('state','=','open')]" help="Contracts in progress"/>
<filter icon="terp-gtk-media-pause" name="pending" string="Pending" domain="[('state','=','pending')]" help="Pending contracts to renew with your customer"/>
<separator orientation="vertical"/>
<filter icon="terp-go-today" 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" />
<filter icon="terp-go-month"
string=" +1 Month"
domain="[('date','&lt;=', (datetime.date.today() + relativedelta(months=1)).strftime('%%Y-%%m-%%d')),('date','>=', time.strftime('%%Y-%%m-%%d'))]"
help="Analytic Accounts with a past deadline in one month." />
<separator orientation="vertical"/>
<field name="name" select="1"/>
<field name="code" select="1"/>
<field name="partner_id" select="1">
<filter string="Has Partner" name="has_partner" domain="[('partner_id', '!=', False)]" icon="terp-partner" />
<filter string="Has No Partner" name="has_no_partner" domain="[('partner_id', '=', False)]" icon="terp-partner" />
</field>
<field name="user_id">
<filter string="My Accounts" domain="[('user_id','=',uid)]" icon="terp-personal" name="my_accounts" />
<filter string="No Account Manager" domain="[('user_id', '=', False)]" icon="terp-personal-" />
</field>
</group>
<newline/>
<group expand="0" string="Group By...">
<filter string="Manager" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
<filter string="Associated Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/>
<separator orientation="vertical"/>
<filter string="Parent" icon="terp-folder-orange" domain="[]" context="{'group_by':'parent_id'}"/>
<!--
<filter string="Start Date" icon="terp-go-month" domain="[]" context="{'group_by' : 'date_start'}" />
-->
<filter string="End Date" icon="terp-go-month" domain="[]" context="{'group_by' : 'date'}" />
</group>
</search>
</field>
</record>
<record id="action_account_analytic_overdue" model="ir.actions.act_window">
<field name="name">Overdue Accounts</field>
<field name="res_model">account.analytic.account</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form,graph</field>
<field name="context">{'search_default_has_partner':1, 'search_default_my_accounts':1, 'search_default_draft':1, 'search_default_pending':1, 'search_default_open':1, 'search_default_renew':1}</field>
<field name="domain">[('type','=','normal')]</field>
<field name="search_view_id" ref="view_account_analytic_account_overdue_search"/>
<field name="help">You will find here the contracts to be renewed because the deadline is passed or the working hours are higher than the allocated hours. OpenERP automatically sets these analytic accounts to the pending state, in order to raise a warning during the timesheets recording. Salesmen should review all pending accounts and reopen or close the according to the negotiation with the customer.</field>
</record>
<menuitem action="action_account_analytic_overdue" id="menu_action_account_analytic_overdue" sequence="50" parent="sale.menu_invoiced" groups="base.group_extended"/>
</data>
</openerp>
@@ -0,0 +1,79 @@
#!/usr/bin/env python
from osv import osv
from mako.template import Template
import time
try:
import cStringIO as StringIO
except ImportError:
import StringIO
import tools
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:
% for address in account.partner_id.address:
. ${address.name}, ${address.phone}, ${address.email}
% endfor
% 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.user_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.user_email, ], subject, body)
return True
analytic_account()
+5 -5
View File
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2010-11-22 07:38+0000\n"
"Last-Translator: Martin Pihl <martinpihl@gmail.com>\n"
"PO-Revision-Date: 2011-11-08 21:41+0000\n"
"Last-Translator: OpenERP Danmark / Henning Dinsen <Unknown>\n"
"Language-Team: Danish <da@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: 2011-11-05 05:20+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-11-10 04:57+0000\n"
"X-Generator: Launchpad (build 14263)\n"
#. module: account_analytic_analysis
#: help:account.analytic.account,hours_qtt_invoiced:0
@@ -134,7 +134,7 @@ msgstr "Bruger"
#. module: account_analytic_analysis
#: field:account.analytic.account,ca_to_invoice:0
msgid "Uninvoiced Amount"
msgstr ""
msgstr "Ufaktureret beløb"
#. module: account_analytic_analysis
#: help:account.analytic.account,real_margin:0
+5 -5
View File
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-04-29 12:18+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2011-11-08 22:24+0000\n"
"Last-Translator: OpenERP Danmark / Henning Dinsen <Unknown>\n"
"Language-Team: Danish <da@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: 2011-11-05 05:25+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-11-10 04:58+0000\n"
"X-Generator: Launchpad (build 14263)\n"
#. module: account_analytic_default
#: model:ir.module.module,shortdesc:account_analytic_default.module_meta_information
@@ -65,7 +65,7 @@ msgstr "Plukseddel"
#. module: account_analytic_default
#: view:account.analytic.default:0
msgid "Conditions"
msgstr ""
msgstr "Betingelser"
#. module: account_analytic_default
#: help:account.analytic.default,company_id:0
@@ -2,3 +2,4 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_account_analytic_default,account.analytic.default,model_account_analytic_default,account.group_account_user,1,0,0,0
access_account_analytic_default_manager,account.analytic.default.manager,model_account_analytic_default,account.group_account_manager,1,1,1,1
access_account_analytic_default_invoice,account.analytic.default invoice,model_account_analytic_default,account.group_account_invoice,1,1,1,1
access_account_analytic_default_salesman,account.analytic.default.salesman,model_account_analytic_default,base.group_sale_salesman,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_account_analytic_default account.analytic.default model_account_analytic_default account.group_account_user 1 0 0 0
3 access_account_analytic_default_manager account.analytic.default.manager model_account_analytic_default account.group_account_manager 1 1 1 1
4 access_account_analytic_default_invoice account.analytic.default invoice model_account_analytic_default account.group_account_invoice 1 1 1 1
5 access_account_analytic_default_salesman account.analytic.default.salesman model_account_analytic_default base.group_sale_salesman 1 1 1 1
+107
View File
@@ -0,0 +1,107 @@
# Danish translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-11-09 21:36+0000\n"
"Last-Translator: OpenERP Danmark / Henning Dinsen <Unknown>\n"
"Language-Team: Danish <da@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: 2011-11-10 04:58+0000\n"
"X-Generator: Launchpad (build 14263)\n"
#. module: account_anglo_saxon
#: view:product.category:0
msgid " Accounting Property"
msgstr ""
#. module: account_anglo_saxon
#: sql_constraint:purchase.order:0
msgid "Order Reference must be unique !"
msgstr "Ordre reference skal være unik !"
#. module: account_anglo_saxon
#: constraint:product.category:0
msgid "Error ! You can not create recursive categories."
msgstr "Fejl ! Du kan ikke oprette rekusive katagorier."
#. module: account_anglo_saxon
#: constraint:product.template:0
msgid ""
"Error: The default UOM and the purchase UOM must be in the same category."
msgstr ""
#. module: account_anglo_saxon
#: model:ir.model,name:account_anglo_saxon.model_account_invoice_line
msgid "Invoice Line"
msgstr "Fakturalinie"
#. module: account_anglo_saxon
#: model:ir.model,name:account_anglo_saxon.model_purchase_order
msgid "Purchase Order"
msgstr "Indkøbsordre"
#. module: account_anglo_saxon
#: model:ir.model,name:account_anglo_saxon.model_product_template
msgid "Product Template"
msgstr ""
#. module: account_anglo_saxon
#: model:ir.model,name:account_anglo_saxon.model_product_category
msgid "Product Category"
msgstr "Produkt katagori"
#. module: account_anglo_saxon
#: model:ir.module.module,shortdesc:account_anglo_saxon.module_meta_information
msgid "Stock Accounting for Anglo Saxon countries"
msgstr ""
#. module: account_anglo_saxon
#: field:product.category,property_account_creditor_price_difference_categ:0
#: field:product.template,property_account_creditor_price_difference:0
msgid "Price Difference Account"
msgstr ""
#. module: account_anglo_saxon
#: model:ir.model,name:account_anglo_saxon.model_account_invoice
msgid "Invoice"
msgstr "Faktura"
#. module: account_anglo_saxon
#: model:ir.model,name:account_anglo_saxon.model_stock_picking
msgid "Picking List"
msgstr "Plukliste"
#. module: account_anglo_saxon
#: model:ir.module.module,description:account_anglo_saxon.module_meta_information
msgid ""
"This module will support the Anglo-Saxons accounting methodology by\n"
" changing the accounting logic with stock transactions. The difference "
"between the Anglo-Saxon accounting countries\n"
" and the Rhine or also called Continental accounting countries is the "
"moment of taking the Cost of Goods Sold versus Cost of Sales.\n"
" Anglo-Saxons accounting does take the cost when sales invoice is "
"created, Continental accounting will take the cost at the moment the goods "
"are shipped.\n"
" This module will add this functionality by using a interim account, to "
"store the value of shipped goods and will contra book this interim account\n"
" when the invoice is created to transfer this amount to the debtor or "
"creditor account.\n"
" Secondly, price differences between actual purchase price and fixed "
"product standard price are booked on a separate account"
msgstr ""
#. module: account_anglo_saxon
#: help:product.category,property_account_creditor_price_difference_categ:0
#: help:product.template,property_account_creditor_price_difference:0
msgid ""
"This account will be used to value price difference between purchase price "
"and cost price."
msgstr ""
+6 -2
View File
@@ -143,8 +143,12 @@ class account_asset_asset(osv.osv):
depreciation_lin_obj.unlink(cr, uid, old_depreciation_line_ids, context=context)
amount_to_depr = residual_amount = asset.value_residual
depreciation_date = datetime.strptime(self._get_last_depreciation_date(cr, uid, [asset.id], context)[asset.id], '%Y-%m-%d')
if asset.prorata:
depreciation_date = datetime.strptime(self._get_last_depreciation_date(cr, uid, [asset.id], context)[asset.id], '%Y-%m-%d')
else:
# depreciation_date = 1st January of purchase year
purchase_date = datetime.strptime(asset.purchase_date, '%Y-%m-%d')
depreciation_date = datetime(purchase_date.year, 1, 1)
day = depreciation_date.day
month = depreciation_date.month
year = depreciation_date.year
+22 -2
View File
@@ -4,13 +4,33 @@
<!--
Asset Category Demo
-->
<record id="account_asset_category_fixedassets0" model="account.asset.category">
<field name="account_expense_depreciation_id" ref="account.a_expense"/>
<field name="account_asset_id" ref="account.xfa"/>
<field name="account_depreciation_id" ref="account.xfa"/>
<field name="journal_id" ref="account.expenses_journal"/>
<field name="name">Fixed Assets</field>
<field name="name">Hardware - 3 Years</field>
<field name="method_number">3</field>
</record>
<record id="account_asset_category_sale" model="account.asset.category">
<field name="account_expense_depreciation_id" ref="account.a_expense"/>
<field name="account_asset_id" ref="account.xfa"/>
<field name="account_depreciation_id" ref="account.xfa"/>
<field name="journal_id" ref="account.expenses_journal"/>
<field name="name">Cars - 5 Years</field>
<field name="method_number">5</field>
</record>
<record id="account_asset_category_sale" model="account.asset.category">
<field name="account_expense_depreciation_id" ref="account.a_sale"/>
<field name="account_asset_id" ref="account.xfa"/>
<field name="account_depreciation_id" ref="account.xfa"/>
<field name="journal_id" ref="account.expenses_journal"/>
<field name="name">Revenue Recognition Maintenance Contract - 3 Years</field>
<field name="method_number">3</field>
</record>
<!--
+536
View File
@@ -0,0 +1,536 @@
# Serbian Latin translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2009-11-24 12:54+0000\n"
"PO-Revision-Date: 2011-11-10 16:33+0000\n"
"Last-Translator: Milan Milosevic <Unknown>\n"
"Language-Team: Serbian Latin <sr@latin@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: 2011-11-11 04:53+0000\n"
"X-Generator: Launchpad (build 14277)\n"
#. module: account_asset
#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_list_normal
#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_list_normal
msgid "Open Assets"
msgstr "Slobodna sredstva"
#. module: account_asset
#: field:account.asset.property,method_end:0
#: field:account.asset.property.history,method_end:0
msgid "Ending date"
msgstr "Datum završetka"
#. module: account_asset
#: view:account.asset.asset:0
msgid "Depreciation board"
msgstr "Odbor za amortizaciju"
#. module: account_asset
#: view:account.asset.asset:0
#: field:account.asset.asset,name:0
#: field:account.asset.board,asset_id:0
#: field:account.asset.property,asset_id:0
#: field:account.invoice.line,asset_id:0
#: field:account.move.line,asset_id:0
#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_form
#: model:ir.model,name:account_asset.model_account_asset_asset
#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_form
msgid "Asset"
msgstr "Sredstvo"
#. module: account_asset
#: constraint:ir.actions.act_window:0
msgid "Invalid model name in the action definition."
msgstr "Pogrešno ime modela u definiciji akcije."
#. module: account_asset
#: selection:account.asset.property,method:0
msgid "Linear"
msgstr "Linearno"
#. module: account_asset
#: view:account.asset.asset:0
msgid "Change duration"
msgstr "Izmeni trajanje"
#. module: account_asset
#: field:account.asset.asset,child_ids:0
msgid "Child assets"
msgstr "Dečja sredstva"
#. module: account_asset
#: field:account.asset.board,value_asset:0
msgid "Asset Value"
msgstr "Vrednost sredstva"
#. module: account_asset
#: wizard_field:account.asset.modify,init,name:0
msgid "Reason"
msgstr "Razlog"
#. module: account_asset
#: view:account.asset.asset:0
#: field:account.asset.asset,entry_ids:0
#: wizard_field:account.asset.compute,asset_compute,move_ids:0
msgid "Entries"
msgstr "Stavke"
#. module: account_asset
#: wizard_view:account.asset.compute,asset_compute:0
msgid "Generated entries"
msgstr "Generisane stavke"
#. module: account_asset
#: wizard_field:account.asset.modify,init,method_delay:0
#: field:account.asset.property,method_delay:0
#: field:account.asset.property.history,method_delay:0
msgid "Number of interval"
msgstr "Broj intervalâ"
#. module: account_asset
#: wizard_button:account.asset.compute,asset_compute,asset_open:0
msgid "Open entries"
msgstr "Otvorene stavke"
#. module: account_asset
#: view:account.asset.asset:0
#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_list
#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_list
#: model:ir.ui.menu,name:account_asset.menu_finance_Assets
#: model:ir.ui.menu,name:account_asset.menu_finance_config_Assets
msgid "Assets"
msgstr "Sredstva"
#. module: account_asset
#: selection:account.asset.property,method:0
msgid "Progressive"
msgstr "Progresivno"
#. module: account_asset
#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_list_draft
#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_list_draft
msgid "Draft Assets"
msgstr "Sredstva kao zabeleške"
#. module: account_asset
#: wizard_view:account.asset.modify,init:0
#: wizard_field:account.asset.modify,init,note:0
#: view:account.asset.property.history:0
msgid "Notes"
msgstr "Napomene"
#. module: account_asset
#: view:account.asset.asset:0
msgid "Change history"
msgstr "Izmeni istoriju"
#. module: account_asset
#: view:account.asset.asset:0
msgid "Depreciation entries"
msgstr "Stavke amortizacije"
#. module: account_asset
#: view:account.asset.asset:0
msgid "Methods"
msgstr "Metode"
#. module: account_asset
#: wizard_view:account.asset.modify,init:0
msgid "Asset properties to modify"
msgstr "Osobine sredstava za izmenu"
#. module: account_asset
#: field:account.asset.asset,partner_id:0
msgid "Partner"
msgstr "Partner"
#. module: account_asset
#: wizard_field:account.asset.modify,init,method_period:0
#: field:account.asset.property,method_period:0
#: field:account.asset.property.history,method_period:0
msgid "Period per interval"
msgstr "Period po intervalu"
#. module: account_asset
#: view:account.asset.asset:0
msgid "Depreciation duration"
msgstr "Trajanje amortizacije"
#. module: account_asset
#: field:account.asset.property,account_analytic_id:0
msgid "Analytic account"
msgstr "Analitički konto"
#. module: account_asset
#: field:account.asset.property,state:0
msgid "State"
msgstr "Stanje"
#. module: account_asset
#: view:account.asset.asset:0
msgid "Depreciation methods"
msgstr "Metodi amortizacije"
#. module: account_asset
#: view:account.asset.asset:0
msgid "Other information"
msgstr "Ostale Informacije"
#. module: account_asset
#: field:account.asset.board,value_asset_cumul:0
msgid "Cumul. value"
msgstr "Kumul. vrednost"
#. module: account_asset
#: view:account.asset.property:0
msgid "Assets methods"
msgstr "Metodi sredstava"
#. module: account_asset
#: constraint:ir.ui.view:0
msgid "Invalid XML for View Architecture!"
msgstr "Nepravilan XML format za pregled ''Architecture''!"
#. module: account_asset
#: model:ir.model,name:account_asset.model_account_asset_property
msgid "Asset property"
msgstr "Osobina sredstva"
#. module: account_asset
#: wizard_view:account.asset.compute,asset_compute:0
#: wizard_view:account.asset.compute,init:0
#: wizard_button:account.asset.compute,init,asset_compute:0
#: model:ir.actions.wizard,name:account_asset.wizard_asset_compute
#: model:ir.ui.menu,name:account_asset.menu_wizard_asset_compute
msgid "Compute assets"
msgstr "Izračunaj sredstva"
#. module: account_asset
#: wizard_view:account.asset.modify,init:0
#: wizard_button:account.asset.modify,init,asset_modify:0
#: model:ir.actions.wizard,name:account_asset.wizard_asset_modify
msgid "Modify asset"
msgstr "Izmeni sredstvo"
#. module: account_asset
#: view:account.asset.asset:0
msgid "Confirm asset"
msgstr "Potvrdi sredstvo"
#. module: account_asset
#: view:account.asset.property.history:0
#: model:ir.model,name:account_asset.model_account_asset_property_history
msgid "Asset history"
msgstr "Istorija sredstava"
#. module: account_asset
#: field:account.asset.property,date:0
msgid "Date created"
msgstr "Datum pravljenja"
#. module: account_asset
#: model:ir.module.module,description:account_asset.module_meta_information
msgid ""
"Financial and accounting asset management.\n"
" Allows to define\n"
" * Asset category. \n"
" * Assets.\n"
" *Asset usage period and property.\n"
" "
msgstr ""
"Uređivanje finansijskih i obračunskih sredstava.\n"
" Omogućava definisanje\n"
" *Kategorije sredstva. \n"
" *Sredstva.\n"
" *Osobinu i trajanje upotrebe sredstva.\n"
" "
#. module: account_asset
#: field:account.asset.board,value_gross:0
#: field:account.asset.property,value_total:0
msgid "Gross value"
msgstr "Bruto vrednost"
#. module: account_asset
#: selection:account.asset.property,method_time:0
msgid "Ending period"
msgstr "Datum završetka"
#. module: account_asset
#: field:account.asset.board,name:0
msgid "Asset name"
msgstr "Naziv sredstva"
#. module: account_asset
#: view:account.asset.asset:0
msgid "Accounts information"
msgstr "Informacije o računu"
#. module: account_asset
#: field:account.asset.asset,note:0
#: field:account.asset.category,note:0
#: field:account.asset.property.history,note:0
msgid "Note"
msgstr "Napomena"
#. module: account_asset
#: selection:account.asset.asset,state:0
#: selection:account.asset.property,state:0
msgid "Draft"
msgstr "Nacrt"
#. module: account_asset
#: field:account.asset.property,type:0
msgid "Depr. method type"
msgstr "Tip metode amort."
#. module: account_asset
#: field:account.asset.property,account_asset_id:0
msgid "Asset account"
msgstr "Račun sredstva"
#. module: account_asset
#: field:account.asset.property.history,asset_property_id:0
msgid "Method"
msgstr "Metod"
#. module: account_asset
#: selection:account.asset.asset,state:0
msgid "Normal"
msgstr "Normalno"
#. module: account_asset
#: field:account.asset.property,method_progress_factor:0
msgid "Progressif factor"
msgstr "Progresivni faktor"
#. module: account_asset
#: field:account.asset.asset,localisation:0
msgid "Localisation"
msgstr "Lokalizacija"
#. module: account_asset
#: field:account.asset.property,method:0
msgid "Computation method"
msgstr "Metod obračuna"
#. module: account_asset
#: field:account.asset.property,method_time:0
msgid "Time method"
msgstr "Metod vremena"
#. module: account_asset
#: field:account.asset.asset,active:0
msgid "Active"
msgstr "Aktivno"
#. module: account_asset
#: field:account.asset.property.history,user_id:0
msgid "User"
msgstr "Korisnik"
#. module: account_asset
#: field:account.asset.asset,property_ids:0
msgid "Asset method name"
msgstr "Naziv metoda sredstva"
#. module: account_asset
#: field:account.asset.asset,date:0
#: field:account.asset.property.history,date:0
msgid "Date"
msgstr "Datum"
#. module: account_asset
#: field:account.asset.board,value_net:0
msgid "Net value"
msgstr "Neto vrednost"
#. module: account_asset
#: wizard_view:account.asset.close,init:0
#: model:ir.actions.wizard,name:account_asset.wizard_asset_close
msgid "Close asset"
msgstr "Zatvoreno sredstvo"
#. module: account_asset
#: field:account.asset.property,history_ids:0
msgid "History"
msgstr "Istorijat"
#. module: account_asset
#: field:account.asset.property,account_actif_id:0
msgid "Depreciation account"
msgstr "Račun za amortizaciju"
#. module: account_asset
#: field:account.asset.asset,period_id:0
#: wizard_field:account.asset.compute,init,period_id:0
msgid "Period"
msgstr "Period"
#. module: account_asset
#: model:ir.actions.act_window,name:account_asset.action_account_asset_category_form
#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_category_form
msgid "Asset Category"
msgstr "Kategorija sredstva"
#. module: account_asset
#: wizard_button:account.asset.close,init,end:0
#: wizard_button:account.asset.compute,init,end:0
#: wizard_button:account.asset.modify,init,end:0
msgid "Cancel"
msgstr "Otkaži"
#. module: account_asset
#: selection:account.asset.asset,state:0
#: wizard_button:account.asset.compute,asset_compute,end:0
#: selection:account.asset.property,state:0
msgid "Close"
msgstr "Zatvori"
#. module: account_asset
#: selection:account.asset.property,state:0
msgid "Open"
msgstr "Otvori"
#. module: account_asset
#: constraint:ir.model:0
msgid ""
"The Object name must start with x_ and not contain any special character !"
msgstr ""
"Ime stavke mora da počne sa x_ i ne sme da sadrži specijalne karaktere !"
#. module: account_asset
#: model:ir.module.module,shortdesc:account_asset.module_meta_information
msgid "Asset management"
msgstr "Uređivanje sredstava"
#. module: account_asset
#: view:account.asset.board:0
#: field:account.asset.property,board_ids:0
#: model:ir.model,name:account_asset.model_account_asset_board
msgid "Asset board"
msgstr "Odbor za sredstva"
#. module: account_asset
#: field:account.asset.asset,state:0
msgid "Global state"
msgstr "Globalno stanje"
#. module: account_asset
#: selection:account.asset.property,method_time:0
msgid "Delay"
msgstr "Kašnjenje"
#. module: account_asset
#: wizard_view:account.asset.close,init:0
msgid "General information"
msgstr "Opšti podaci"
#. module: account_asset
#: field:account.asset.property,journal_analytic_id:0
msgid "Analytic journal"
msgstr "Analitički dnevnik"
#. module: account_asset
#: field:account.asset.property,name:0
msgid "Method name"
msgstr "Naziv metode"
#. module: account_asset
#: field:account.asset.property,journal_id:0
msgid "Journal"
msgstr "Dnevnik"
#. module: account_asset
#: field:account.asset.property.history,name:0
msgid "History name"
msgstr "Naziv istorijata"
#. module: account_asset
#: view:account.asset.asset:0
msgid "Close method"
msgstr "Zatvorena metoda"
#. module: account_asset
#: field:account.asset.property,entry_asset_ids:0
msgid "Asset Entries"
msgstr "Stavke sredstava"
#. module: account_asset
#: field:account.asset.asset,category_id:0
#: view:account.asset.category:0
#: field:account.asset.category,name:0
#: model:ir.model,name:account_asset.model_account_asset_category
msgid "Asset category"
msgstr "Kategorija sredstva"
#. module: account_asset
#: view:account.asset.asset:0
msgid "Depreciation"
msgstr "Amortizacija"
#. module: account_asset
#: field:account.asset.asset,code:0
#: field:account.asset.category,code:0
msgid "Asset code"
msgstr "Kod sredstva"
#. module: account_asset
#: field:account.asset.asset,value_total:0
msgid "Total value"
msgstr "Ukupna vrednost"
#. module: account_asset
#: selection:account.asset.asset,state:0
msgid "View"
msgstr "Pregled"
#. module: account_asset
#: view:account.asset.asset:0
msgid "General info"
msgstr "Opšti podaci"
#. module: account_asset
#: field:account.asset.asset,sequence:0
msgid "Sequence"
msgstr "Sekvenca"
#. module: account_asset
#: field:account.asset.property,value_residual:0
msgid "Residual value"
msgstr "Rezidualna vrednost"
#. module: account_asset
#: wizard_button:account.asset.close,init,asset_close:0
msgid "End of asset"
msgstr "Kraj sredstva"
#. module: account_asset
#: selection:account.asset.property,type:0
msgid "Direct"
msgstr "Direktno"
#. module: account_asset
#: selection:account.asset.property,type:0
msgid "Indirect"
msgstr "Indirektno"
#. module: account_asset
#: field:account.asset.asset,parent_id:0
msgid "Parent asset"
msgstr "Glavno sredstvo"
#. module: account_asset
#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_tree
#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_tree
msgid "Asset Hierarchy"
msgstr "Hijerarhija sredstava"
@@ -204,12 +204,13 @@
<field name="arch" type="xml">
<tree string="Budget Lines">
<field name="analytic_account_id" groups="analytic.group_analytic_accounting"/>
<field name="crossovered_budget_id" invisible="1"/>
<field name="general_budget_id"/>
<field name="date_from"/>
<field name="date_to"/>
<field name="paid_date"/>
<field name="planned_amount"/>
<field name="practical_amount" select="1"/>
<field name="practical_amount"/>
<field name="theoritical_amount"/>
<field name="percentage"/>
</tree>
+6 -6
View File
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-09-23 06:03+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2011-11-08 22:25+0000\n"
"Last-Translator: OpenERP Danmark / Henning Dinsen <Unknown>\n"
"Language-Team: Danish <da@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: 2011-11-05 05:36+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-11-10 04:58+0000\n"
"X-Generator: Launchpad (build 14263)\n"
#. module: account_budget
#: field:crossovered.budget,creating_user_id:0
@@ -25,7 +25,7 @@ msgstr ""
#. module: account_budget
#: selection:crossovered.budget,state:0
msgid "Confirmed"
msgstr ""
msgstr "Bekræftet"
#. module: account_budget
#: model:ir.actions.act_window,name:account_budget.open_budget_post_form
@@ -47,7 +47,7 @@ msgstr ""
#. module: account_budget
#: view:crossovered.budget:0
msgid "Confirm"
msgstr ""
msgstr "Godkend"
#. module: account_budget
#: field:crossovered.budget,validating_user_id:0
+61 -52
View File
@@ -8,19 +8,19 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2010-12-23 16:00+0000\n"
"Last-Translator: OpenERP Administrators <Unknown>\n"
"PO-Revision-Date: 2011-11-10 16:52+0000\n"
"Last-Translator: Milan Milosevic <Unknown>\n"
"Language-Team: Serbian latin <sr@latin@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: 2011-11-05 05:37+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-11-11 04:53+0000\n"
"X-Generator: Launchpad (build 14277)\n"
#. module: account_budget
#: field:crossovered.budget,creating_user_id:0
msgid "Responsible User"
msgstr "Odgovorni Korisnik"
msgstr "Odgovorni korisnik"
#. module: account_budget
#: selection:crossovered.budget,state:0
@@ -57,7 +57,7 @@ msgstr "Potvrdi korisnika"
#. module: account_budget
#: model:ir.actions.act_window,name:account_budget.action_account_budget_crossvered_summary_report
msgid "Print Summary"
msgstr "Stampa Suamrnog"
msgstr "Ištampaj rezime"
#. module: account_budget
#: field:crossovered.budget.lines,paid_date:0
@@ -76,7 +76,7 @@ msgstr "Završetak perioda"
#: view:crossovered.budget:0
#: selection:crossovered.budget,state:0
msgid "Draft"
msgstr "Priprema"
msgstr "Nacrt"
#. module: account_budget
#: report:account.budget:0
@@ -88,7 +88,7 @@ msgstr "u"
#: model:ir.actions.act_window,name:account_budget.action_account_budget_analytic
#: model:ir.actions.act_window,name:account_budget.action_account_budget_crossvered_report
msgid "Print Budgets"
msgstr "Stampa Budzeta"
msgstr "Ištampaj Budžete"
#. module: account_budget
#: report:account.budget:0
@@ -98,7 +98,7 @@ msgstr "Valuta:"
#. module: account_budget
#: model:ir.model,name:account_budget.model_account_budget_crossvered_report
msgid "Account Budget crossvered report"
msgstr "Izvestaj Unakrsnog budzeta Naloga"
msgstr "Izveštaj unakrsnog naloga budžeta"
#. module: account_budget
#: selection:crossovered.budget,state:0
@@ -118,7 +118,7 @@ msgstr "do"
#. module: account_budget
#: field:crossovered.budget,state:0
msgid "Status"
msgstr "Status"
msgstr "Stanje"
#. module: account_budget
#: model:ir.actions.act_window,help:account_budget.act_crossovered_budget_view
@@ -132,11 +132,19 @@ msgid ""
"revenue per analytic account and monitor its evolution based on the actuals "
"realised during that period."
msgstr ""
"Budžet je predviđanje očekivanih dohodaka i rashoda Vašeg preduzeća za "
"jedan period u budućnosti. Sa budžetom, preduzeće može da ima uvid u to "
"koliko novca uzima za jedan dati period, i da odredi najbolji mogući način "
"za njegovu podelu na razne kategorije. Uz praćenje gde novac ide, biće manje "
"izgleda za njegovo suvišno trošenje, kao i za postizanje Vaših finansijskih "
"ciljeva. Predvidite budžet detaljisanjem očekivanog dohotka po analitičkom "
"kontu i pratite mu razvoj baziran na aktuelnostima za vreme trajanja tog "
"perioda."
#. module: account_budget
#: view:account.budget.crossvered.summary.report:0
msgid "This wizard is used to print summary of budgets"
msgstr "Ovaj carobnjak je koriscen za prikaz sumarnog budzeta"
msgstr "Ovaj wizard se upotrebljava za štampanje rezimee budžeta"
#. module: account_budget
#: report:account.budget:0
@@ -153,7 +161,7 @@ msgstr "Opis"
#. module: account_budget
#: report:crossovered.budget.report:0
msgid "Currency"
msgstr ""
msgstr "Valuta"
#. module: account_budget
#: report:crossovered.budget.report:0
@@ -170,12 +178,12 @@ msgstr "Preduzeće"
#. module: account_budget
#: view:crossovered.budget:0
msgid "To Approve"
msgstr "Za Odobravanje"
msgstr "Za odobravanje"
#. module: account_budget
#: view:crossovered.budget:0
msgid "Reset to Draft"
msgstr "Vrati na Pripremu"
msgstr "Vrati na pripremu"
#. module: account_budget
#: view:account.budget.post:0
@@ -214,35 +222,35 @@ msgstr "Stvarni iznos"
#: field:crossovered.budget,date_to:0
#: field:crossovered.budget.lines,date_to:0
msgid "End Date"
msgstr "Završni Datum"
msgstr "Datum završetka"
#. module: account_budget
#: model:ir.model,name:account_budget.model_account_budget_analytic
#: model:ir.model,name:account_budget.model_account_budget_report
msgid "Account Budget report for analytic account"
msgstr "Izvestaj Budzeta Naloga za Analiticki Konto"
msgstr "Izveštaj budžeta za nalog analitičkog konta"
#. module: account_budget
#: view:account.analytic.account:0
msgid "Theoritical Amount"
msgstr "Teoretski Iznos"
msgstr "Teoretski iznos"
#. module: account_budget
#: field:account.budget.post,name:0
#: field:crossovered.budget,name:0
msgid "Name"
msgstr "Ime"
msgstr "Naziv"
#. module: account_budget
#: model:ir.model,name:account_budget.model_crossovered_budget_lines
msgid "Budget Line"
msgstr "Lnija Budzeta"
msgstr "Linija budžeta"
#. module: account_budget
#: view:account.analytic.account:0
#: view:account.budget.post:0
msgid "Lines"
msgstr "redova"
msgstr "Redovi"
#. module: account_budget
#: report:account.budget:0
@@ -252,13 +260,13 @@ msgstr "redova"
#: model:ir.actions.report.xml,name:account_budget.account_budget
#: model:ir.model,name:account_budget.model_crossovered_budget
msgid "Budget"
msgstr "Budzet"
msgstr "Budžet"
#. module: account_budget
#: code:addons/account_budget/account_budget.py:119
#, python-format
msgid "Error!"
msgstr "Greška"
msgstr "Greška!"
#. module: account_budget
#: field:account.budget.post,code:0
@@ -270,7 +278,7 @@ msgstr "Kod"
#: view:account.budget.analytic:0
#: view:account.budget.crossvered.report:0
msgid "This wizard is used to print budget"
msgstr "Ovaj carobnjak je koristen za prikaz budzeta"
msgstr "Ovaj wizard se upotrebljava za štampanje budžeta"
#. module: account_budget
#: model:ir.actions.act_window,name:account_budget.act_crossovered_budget_view
@@ -282,19 +290,19 @@ msgstr "Ovaj carobnjak je koristen za prikaz budzeta"
#: model:ir.ui.menu,name:account_budget.next_id_31
#: model:ir.ui.menu,name:account_budget.next_id_pos
msgid "Budgets"
msgstr "Budzeti"
msgstr "Budžeti"
#. module: account_budget
#: constraint:account.analytic.account:0
msgid ""
"Error! The currency has to be the same as the currency of the selected "
"company"
msgstr ""
msgstr "Greška! Valuta mora biti ista kao i valuta izabranog preduzeća"
#. module: account_budget
#: selection:crossovered.budget,state:0
msgid "Cancelled"
msgstr "Отказано"
msgstr "Otkazano"
#. module: account_budget
#: view:crossovered.budget:0
@@ -305,14 +313,14 @@ msgstr "Odobri"
#: field:crossovered.budget,date_from:0
#: field:crossovered.budget.lines,date_from:0
msgid "Start Date"
msgstr "Početni datum"
msgstr "Datum početka"
#. module: account_budget
#: view:account.budget.post:0
#: field:crossovered.budget.lines,general_budget_id:0
#: model:ir.model,name:account_budget.model_account_budget_post
msgid "Budgetary Position"
msgstr "Budzetska pozicija"
msgstr "Budžetska pozicija"
#. module: account_budget
#: field:account.budget.analytic,date_from:0
@@ -320,12 +328,12 @@ msgstr "Budzetska pozicija"
#: field:account.budget.crossvered.summary.report,date_from:0
#: field:account.budget.report,date_from:0
msgid "Start of period"
msgstr "Početak razdoblja"
msgstr "Početak perioda"
#. module: account_budget
#: model:ir.model,name:account_budget.model_account_budget_crossvered_summary_report
msgid "Account Budget crossvered summary report"
msgstr "Izvestaj unakrsnog budzeta naloga"
msgstr "Izvestaj rezimea budžeta za unakrsni konto"
#. module: account_budget
#: report:account.budget:0
@@ -339,7 +347,7 @@ msgstr "Teoretska zarada"
#: view:account.budget.crossvered.summary.report:0
#: view:account.budget.report:0
msgid "Select Dates Period"
msgstr "Selektuj Datume razdoblja"
msgstr "Izaberi periode datuma"
#. module: account_budget
#: view:account.budget.analytic:0
@@ -377,38 +385,39 @@ msgid ""
"Budgets per Budgets.\n"
"\n"
msgstr ""
"Ovaj modul omogucava knjigovodjama da obradjuju analize i unakrsne budzete.\n"
"Ovaj modul omogucava knjigovodjama da obradjuju analitičke i unakrsne "
"budžete.\n"
"\n"
"Kada je jedno definisan Master Budzet i budzeti ( U knjigovodstvo/Budzeti),\n"
"Menadzer Projekta moze da postavi planirani iznos za svaki analiticki "
"Jednom kad se definišu Master Budžet i budžeti ( U knjigovodstvo/Budžeti),\n"
"Menadžer projekta može da postavi planirani iznos za svaki analitički "
"konto.\n"
"\n"
"Knjigovodja ima mogucnost da vidi ukupni planirani iznos za svaki\n"
"Budzet i Master Budzet da bi osigurao da ukupno planirani iznos nije manji "
"/veci od \n"
"planiranog Budzeta/Master Budzeta. Svaka lista\n"
"zapisa moze da se prebaci i u grafikon za laksi pregled iste.\n"
"Knjigovodja ima mogućnost da vidi ukupni planirani iznos za svaki\n"
"Budžet i Master Budžet da bi osigurao da ukupni planirani iznos nije manji "
"/veći od \n"
"planiranog Budžeta/Master Budžeta. Svaka lista\n"
"zapisa može da se prebaci i u grafikon.\n"
"\n"
"Dostupna su TRI Izvestaja:\n"
" 1. Prvi je dostupan iz liste Budzeta. I on daje rasipanje za te budzete, "
"analitickog konta u odnosu na Master Budzet.\n"
" 2.Drugi je sumarni predhodnog izvestaja, on samo daje rasispanje za "
"selektovani Budzet analitickog konta.\n"
" 3.Poslednji je dostupan iz Analitickog Grafikona naloga ( konta). On "
"daje rasipanje za slektovani analiticki konto, MAster Budzeta po \n"
"Budzetu.\n"
"Dostupna su TRI izveštaja:\n"
" 1. Prvi je dostupan iz liste Budžeta. Za te budžete daje rasipanje "
"analitickog konta u odnosu na Master Budžet.\n"
" 2.Drugi je rezime predhodnog izveštaja, daje rasipanje samo za izabrani "
"Budžet analitičkog konta.\n"
" 3.Poslednji je dostupan iz analitičkog grafikona naloga ( konta). On "
"daje rasipanje za izabrani analitički konto, Master Budžeta po \n"
"Budžetu.\n"
"\n"
#. module: account_budget
#: field:crossovered.budget.lines,analytic_account_id:0
#: model:ir.model,name:account_budget.model_account_analytic_account
msgid "Analytic Account"
msgstr "Analitički nalog"
msgstr "Analitički konto"
#. module: account_budget
#: report:account.budget:0
msgid "Budget :"
msgstr "Budzet"
msgstr "Budžet"
#. module: account_budget
#: report:account.budget:0
@@ -434,7 +443,7 @@ msgstr "Nalozi"
#: model:ir.actions.act_window,name:account_budget.act_crossovered_budget_lines_view
#: model:ir.ui.menu,name:account_budget.menu_act_crossovered_budget_lines_view
msgid "Budget Lines"
msgstr "Budzetski Redovi"
msgstr "Budžetske linije"
#. module: account_budget
#: view:account.budget.analytic:0
@@ -448,12 +457,12 @@ msgstr "Otkaži"
#. module: account_budget
#: model:ir.module.module,shortdesc:account_budget.module_meta_information
msgid "Budget Management"
msgstr "Budzetski Menadzment"
msgstr "Uređivanje budžeta"
#. module: account_budget
#: constraint:account.analytic.account:0
msgid "Error! You can not create recursive analytic accounts."
msgstr ""
msgstr "Greška! Ne možete praviti rekurzivne analitičke naloge."
#. module: account_budget
#: report:account.budget:0
+10 -5
View File
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2010-11-20 07:57+0000\n"
"Last-Translator: Martin Pihl <martinpihl@gmail.com>\n"
"PO-Revision-Date: 2011-11-08 10:42+0000\n"
"Last-Translator: OpenERP Danmark / Mikhael Saxtorph <Unknown>\n"
"Language-Team: Danish <da@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: 2011-11-05 05:46+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-11-10 04:58+0000\n"
"X-Generator: Launchpad (build 14263)\n"
#. module: account_cancel
#: model:ir.module.module,description:account_cancel.module_meta_information
@@ -25,8 +25,13 @@ msgid ""
"journal. If set to true it allows user to cancel entries & invoices.\n"
" "
msgstr ""
"\n"
" Modulet tilføjer feltet \"Tillad annullering af poster\" til formular "
"visning af bogføringsjournalen. Hvis feltet er afkrydset tillader det "
"brugeren at annullere poster og fakturaer.\n"
" "
#. module: account_cancel
#: model:ir.module.module,shortdesc:account_cancel.module_meta_information
msgid "Account Cancel"
msgstr ""
msgstr "Annuller post"
+5 -5
View File
@@ -8,19 +8,19 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2010-11-20 07:54+0000\n"
"Last-Translator: Martin Pihl <martinpihl@gmail.com>\n"
"PO-Revision-Date: 2011-11-08 22:06+0000\n"
"Last-Translator: OpenERP Danmark / Henning Dinsen <Unknown>\n"
"Language-Team: Danish <da@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: 2011-11-05 05:40+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-11-10 04:58+0000\n"
"X-Generator: Launchpad (build 14263)\n"
#. module: account_chart
#: model:ir.module.module,description:account_chart.module_meta_information
msgid "Remove minimal account chart"
msgstr "Fjern minimal kontoplan"
msgstr "Fjern kontoplan"
#. module: account_chart
#: model:ir.module.module,shortdesc:account_chart.module_meta_information
@@ -86,6 +86,8 @@ class report_rappel(report_sxw.rml_parse):
def _get_text(self, partner, followup_id, context=None):
if context is None:
context = {}
fp_obj = pooler.get_pool(self.cr.dbname).get('account_followup.followup')
fp_line = fp_obj.browse(self.cr, self.uid, followup_id).followup_line
li_delay = []
@@ -96,7 +98,6 @@ class report_rappel(report_sxw.rml_parse):
a = {}
partner_line = pooler.get_pool(self.cr.dbname).get('account.move.line').search(self.cr, self.uid, [('partner_id','=',partner.id),('reconcile_id','=',False)])
partner_delay = []
context={}
context.update({'lang': partner.lang})
for i in pooler.get_pool(self.cr.dbname).get('account.move.line').browse(self.cr, self.uid, partner_line, context):
for delay in li_delay:
@@ -110,7 +111,7 @@ class report_rappel(report_sxw.rml_parse):
'partner_name': partner.name,
'date': time.strftime('%Y-%m-%d'),
'company_name': fp_obj.browse(self.cr, self.uid, followup_id).company_id.name,
'user_signature': pooler.get_pool(self.cr.dbname).get('res.users').browse(self.cr, self.uid, self.uid, context).signature,
'user_signature': pooler.get_pool(self.cr.dbname).get('res.users').browse(self.cr, self.uid, self.uid, context).signature or '',
}
return text
+5 -5
View File
@@ -8,19 +8,19 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-09-12 17:17+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2011-11-08 22:26+0000\n"
"Last-Translator: OpenERP Danmark / Henning Dinsen <Unknown>\n"
"Language-Team: Danish <da@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: 2011-11-05 05:22+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-11-10 04:58+0000\n"
"X-Generator: Launchpad (build 14263)\n"
#. module: account_invoice_layout
#: selection:account.invoice.line,state:0
msgid "Sub Total"
msgstr ""
msgstr "Sub total"
#. module: account_invoice_layout
#: report:account.invoice.layout:0
+221
View File
@@ -0,0 +1,221 @@
# Danish translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-11-09 21:40+0000\n"
"Last-Translator: OpenERP Danmark / Henning Dinsen <Unknown>\n"
"Language-Team: Danish <da@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: 2011-11-10 04:58+0000\n"
"X-Generator: Launchpad (build 14263)\n"
#. module: account_sequence
#: view:account.sequence.installer:0
#: model:ir.actions.act_window,name:account_sequence.action_account_seq_installer
msgid "Account Sequence Application Configuration"
msgstr ""
#. module: account_sequence
#: constraint:account.move:0
msgid ""
"You cannot create entries on different periods/journals in the same move"
msgstr ""
#. module: account_sequence
#: help:account.move,internal_sequence_number:0
#: help:account.move.line,internal_sequence_number:0
msgid "Internal Sequence Number"
msgstr ""
#. module: account_sequence
#: help:account.sequence.installer,number_next:0
msgid "Next number of this sequence"
msgstr ""
#. module: account_sequence
#: field:account.sequence.installer,number_next:0
msgid "Next Number"
msgstr "Næste nummer"
#. module: account_sequence
#: field:account.sequence.installer,number_increment:0
msgid "Increment Number"
msgstr ""
#. module: account_sequence
#: model:ir.module.module,description:account_sequence.module_meta_information
msgid ""
"\n"
" This module maintains internal sequence number for accounting entries.\n"
" "
msgstr ""
#. module: account_sequence
#: model:ir.module.module,shortdesc:account_sequence.module_meta_information
msgid "Entries Sequence Numbering"
msgstr ""
#. module: account_sequence
#: help:account.sequence.installer,number_increment:0
msgid "The next number of the sequence will be incremented by this number"
msgstr ""
#. module: account_sequence
#: view:account.sequence.installer:0
msgid "Configure Your Account Sequence Application"
msgstr ""
#. module: account_sequence
#: field:account.sequence.installer,progress:0
msgid "Configuration Progress"
msgstr "Konfigurationsfremgang"
#. module: account_sequence
#: help:account.sequence.installer,suffix:0
msgid "Suffix value of the record for the sequence"
msgstr ""
#. module: account_sequence
#: field:account.sequence.installer,company_id:0
msgid "Company"
msgstr "Firma"
#. module: account_sequence
#: help:account.journal,internal_sequence_id:0
msgid ""
"This sequence will be used to maintain the internal number for the journal "
"entries related to this journal."
msgstr ""
#. module: account_sequence
#: field:account.sequence.installer,padding:0
msgid "Number padding"
msgstr ""
#. module: account_sequence
#: model:ir.model,name:account_sequence.model_account_move_line
msgid "Journal Items"
msgstr ""
#. module: account_sequence
#: field:account.move,internal_sequence_number:0
#: field:account.move.line,internal_sequence_number:0
msgid "Internal Number"
msgstr ""
#. module: account_sequence
#: constraint:account.move.line:0
msgid "Company must be same for its related account and period."
msgstr ""
#. module: account_sequence
#: help:account.sequence.installer,padding:0
msgid ""
"OpenERP will automatically adds some '0' on the left of the 'Next Number' to "
"get the required padding size."
msgstr ""
#. module: account_sequence
#: field:account.sequence.installer,name:0
msgid "Name"
msgstr "Navn"
#. module: account_sequence
#: constraint:account.move.line:0
msgid "You can not create move line on closed account."
msgstr ""
#. module: account_sequence
#: constraint:account.move:0
msgid ""
"You cannot create more than one move per period on centralized journal"
msgstr ""
#. module: account_sequence
#: sql_constraint:account.move.line:0
msgid "Wrong credit or debit value in accounting entry !"
msgstr "Forkert kredit eller debet værdi i posteringerne!"
#. module: account_sequence
#: field:account.journal,internal_sequence_id:0
msgid "Internal Sequence"
msgstr ""
#. module: account_sequence
#: model:ir.model,name:account_sequence.model_account_sequence_installer
msgid "account.sequence.installer"
msgstr ""
#. module: account_sequence
#: view:account.sequence.installer:0
msgid "Configure"
msgstr "Konfigurer"
#. module: account_sequence
#: help:account.sequence.installer,prefix:0
msgid "Prefix value of the record for the sequence"
msgstr ""
#. module: account_sequence
#: model:ir.model,name:account_sequence.model_account_move
msgid "Account Entry"
msgstr ""
#. module: account_sequence
#: field:account.sequence.installer,suffix:0
msgid "Suffix"
msgstr "Suffiks"
#. module: account_sequence
#: field:account.sequence.installer,config_logo:0
msgid "Image"
msgstr "Billede"
#. module: account_sequence
#: view:account.sequence.installer:0
msgid "title"
msgstr "titel"
#. module: account_sequence
#: sql_constraint:account.journal:0
msgid "The name of the journal must be unique per company !"
msgstr ""
#. module: account_sequence
#: field:account.sequence.installer,prefix:0
msgid "Prefix"
msgstr ""
#. module: account_sequence
#: sql_constraint:account.journal:0
msgid "The code of the journal must be unique per company !"
msgstr ""
#. module: account_sequence
#: constraint:account.move.line:0
msgid ""
"You can not create move line on receivable/payable account without partner"
msgstr ""
#. module: account_sequence
#: model:ir.model,name:account_sequence.model_account_journal
msgid "Journal"
msgstr "Journal"
#. module: account_sequence
#: view:account.sequence.installer:0
msgid "You can enhance the Account Sequence Application by installing ."
msgstr ""
#. module: account_sequence
#: constraint:account.move.line:0
msgid "You can not create move line on view account."
msgstr ""
@@ -0,0 +1,95 @@
# Danish translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-03 16:56+0000\n"
"PO-Revision-Date: 2011-11-09 21:41+0000\n"
"Last-Translator: OpenERP Danmark / Henning Dinsen <Unknown>\n"
"Language-Team: Danish <da@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: 2011-11-10 04:58+0000\n"
"X-Generator: Launchpad (build 14263)\n"
#. module: analytic_journal_billing_rate
#: model:ir.module.module,description:analytic_journal_billing_rate.module_meta_information
msgid ""
"\n"
"\n"
" This module allows you to define what is the default invoicing rate for "
"a specific journal on a given account. This is mostly used when a user "
"encodes his timesheet: the values are retrieved and the fields are auto-"
"filled... but the possibility to change these values is still available.\n"
"\n"
" Obviously if no data has been recorded for the current account, the "
"default value is given as usual by the account data so that this module is "
"perfectly compatible with older configurations.\n"
"\n"
" "
msgstr ""
#. module: analytic_journal_billing_rate
#: field:analytic_journal_rate_grid,journal_id:0
msgid "Analytic Journal"
msgstr ""
#. module: analytic_journal_billing_rate
#: model:ir.model,name:analytic_journal_billing_rate.model_account_invoice
msgid "Invoice"
msgstr "Faktura"
#. module: analytic_journal_billing_rate
#: view:analytic_journal_rate_grid:0
msgid "Billing Rate per Journal for this Analytic Account"
msgstr ""
#. module: analytic_journal_billing_rate
#: field:analytic_journal_rate_grid,account_id:0
#: model:ir.model,name:analytic_journal_billing_rate.model_account_analytic_account
msgid "Analytic Account"
msgstr ""
#. module: analytic_journal_billing_rate
#: model:ir.model,name:analytic_journal_billing_rate.model_analytic_journal_rate_grid
msgid "Relation table between journals and billing rates"
msgstr ""
#. module: analytic_journal_billing_rate
#: field:account.analytic.account,journal_rate_ids:0
msgid "Invoicing Rate per Journal"
msgstr ""
#. module: analytic_journal_billing_rate
#: model:ir.module.module,shortdesc:analytic_journal_billing_rate.module_meta_information
msgid ""
"Analytic Journal Billing Rate, Define the default invoicing rate for a "
"specific journal"
msgstr ""
#. module: analytic_journal_billing_rate
#: constraint:account.analytic.account:0
msgid ""
"Error! The currency has to be the same as the currency of the selected "
"company"
msgstr ""
#. module: analytic_journal_billing_rate
#: field:analytic_journal_rate_grid,rate_id:0
msgid "Invoicing Rate"
msgstr ""
#. module: analytic_journal_billing_rate
#: constraint:account.analytic.account:0
msgid "Error! You can not create recursive analytic accounts."
msgstr ""
#. module: analytic_journal_billing_rate
#: model:ir.model,name:analytic_journal_billing_rate.model_hr_analytic_timesheet
msgid "Timesheet Line"
msgstr ""
+1 -1
View File
@@ -23,7 +23,7 @@
{
'name': 'Association profile',
'version': '0.1',
'category': 'Vertical Applications',
'category': 'Specific Industry Applications',
'complexity': "normal",
'description': """
This module is to configure modules related to an association.
+1 -1
View File
@@ -23,7 +23,7 @@
{
'name': 'Auction Management',
'version': '1.0',
'category': 'Vertical Applications',
'category': 'Specific Industry Applications',
'complexity': "normal",
'description': """
This module manages the records of artists, auction articles, buyers and sellers.
+5 -5
View File
@@ -8,19 +8,19 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-09-23 14:47+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2011-11-08 22:27+0000\n"
"Last-Translator: OpenERP Danmark / Henning Dinsen <Unknown>\n"
"Language-Team: Danish <da@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: 2011-11-05 05:25+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-11-10 04:58+0000\n"
"X-Generator: Launchpad (build 14263)\n"
#. module: auction
#: model:ir.ui.menu,name:auction.auction_report_menu
msgid "Reporting"
msgstr ""
msgstr "Rapportering"
#. module: auction
#: model:ir.model,name:auction.model_auction_taken
+4 -1
View File
@@ -82,12 +82,15 @@ class auction_pay_buy(osv.osv_memory):
lots = lot_obj.browse(cr, uid, context.get('active_ids', []), context=context)
for lot in lots:
if datas['buyer_id']:
if isinstance(datas['buyer_id'], (tuple, list)):
datas['buyer_id'] = datas['buyer_id'][0]
lot_obj.write(cr, uid, [lot.id], {'ach_uid': datas['buyer_id']})
if not lot.auction_id:
raise osv.except_osv(_('Error!'), _('No auction date for "%s": Please set one.') % (lot.name))
lot_obj.write(cr, uid, [lot.id], {'is_ok':True})
for st, stamount in [('statement_id1', 'amount'), ('statement_id2', 'amount2'), ('statement_id3', 'amount3')]:
if isinstance(datas[st], tuple):
datas[st] = datas[st][0]
if datas[st]:
new_id = bank_statement_line_obj.create(cr, uid, {
'name':'Buyer:'+ str(lot.ach_login or '')+', auction:'+ lots[0].auction_id.name,
+3 -7
View File
@@ -446,15 +446,11 @@ the rule to mark CC(mail to any other person defined in actions)."),
scrit = []
for action in self.browse(cr, uid, ids, context=context):
model_obj = self.pool.get(action.model_id.model)
for obj in objects:
ok = self.do_check(cr, uid, action, obj, context=context)
if not ok:
continue
if self.do_check(cr, uid, action, obj, context=context):
model_obj = self.pool.get(action.model_id.model)
self.do_action(cr, uid, action, model_obj, obj, context=context)
if ok:
self.do_action(cr, uid, action, model_obj, obj, context)
break
context.update({'action': False})
return True
+6 -6
View File
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-09-26 15:35+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2011-11-08 22:29+0000\n"
"Last-Translator: OpenERP Danmark / Henning Dinsen <Unknown>\n"
"Language-Team: Danish <da@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: 2011-11-05 05:51+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-11-10 04:58+0000\n"
"X-Generator: Launchpad (build 14263)\n"
#. module: base_action_rule
#: help:base.action.rule,act_mail_to_user:0
@@ -46,7 +46,7 @@ msgstr ""
#. module: base_action_rule
#: field:base.action.rule,model_id:0
msgid "Object"
msgstr ""
msgstr "Objekt"
#. module: base_action_rule
#: field:base.action.rule,act_mail_to_email:0
@@ -66,7 +66,7 @@ msgstr "E-mail fra"
#. module: base_action_rule
#: view:base.action.rule:0
msgid "Email Body"
msgstr ""
msgstr "Email indhold"
#. module: base_action_rule
#: selection:base.action.rule,trg_date_range_type:0
File diff suppressed because it is too large Load Diff
+5 -5
View File
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-04-29 12:07+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2011-11-08 22:31+0000\n"
"Last-Translator: OpenERP Danmark / Henning Dinsen <Unknown>\n"
"Language-Team: Danish <da@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: 2011-11-05 05:04+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-11-10 04:57+0000\n"
"X-Generator: Launchpad (build 14263)\n"
#. module: base_contact
#: field:res.partner.contact,title:0
@@ -25,7 +25,7 @@ msgstr "Titel"
#. module: base_contact
#: view:res.partner.address:0
msgid "# of Contacts"
msgstr ""
msgstr "# kontakter"
#. module: base_contact
#: field:res.partner.job,fax:0
@@ -104,7 +104,8 @@ class base_module_record(osv.osv):
for key,val in data.items():
if not (val or (fields[key]['type']=='boolean')):
continue
if fields[key]['type'] in ('integer','float'):
if (fields[key]['type'] in ('integer','float') or
fields[key]['type'] == 'selection' and isinstance(val, int)):
field = doc.createElement('field')
field.setAttribute("name", key)
field.setAttribute("eval", val and str(val) or 'False' )
@@ -247,7 +247,10 @@ class report_creator(osv.osv):
#End Loop
return {'datas': final_datas}
def unlink(self, cr, uid, ids, context=None):
menu_ids = [report.menu_id.id for report in self.browse(cr, uid, ids, context) if report.menu_id]
self.pool.get('ir.ui.menu').unlink(cr, uid, menu_ids, context=context)
return super(report_creator, self).unlink(cr, uid, ids, context=context)
def _path_get(self, cr, uid, models, filter_ids=[]):
"""
@param cr: the current row, from the database cursor,
+88 -63
View File
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-11-02 16:15+0000\n"
"PO-Revision-Date: 2011-11-08 10:30+0000\n"
"Last-Translator: OpenERP Danmark / Mikhael Saxtorph <Unknown>\n"
"Language-Team: Danish <da@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: 2011-11-08 05:40+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-11-10 04:57+0000\n"
"X-Generator: Launchpad (build 14263)\n"
#. module: base_setup
#: field:base.setup.company,city:0
@@ -35,7 +35,7 @@ msgstr "Fakturering"
#. module: base_setup
#: field:base.setup.installer,hr:0
msgid "Human Resources"
msgstr "Human Resources"
msgstr "Personale (HR)"
#. module: base_setup
#: field:base.setup.company,email:0
@@ -45,7 +45,7 @@ msgstr "E-mail"
#. module: base_setup
#: field:base.setup.company,account_no:0
msgid "Bank Account No"
msgstr "Bank konto nr."
msgstr "Bankkonto nr."
#. module: base_setup
#: field:base.setup.installer,profile_tools:0
@@ -55,7 +55,7 @@ msgstr "Ekstra værktøjer"
#. module: base_setup
#: field:base.setup.company,rml_footer1:0
msgid "Report Footer 1"
msgstr "Rapport fod 1"
msgstr "Rapport sidefod 1"
#. module: base_setup
#: help:base.setup.installer,mrp:0
@@ -63,6 +63,7 @@ msgid ""
"Helps you manage your manufacturing processes and generate reports on those "
"processes."
msgstr ""
"Hjælper med at styre produktionsprocesser og lave rapporter over disse."
#. module: base_setup
#: help:base.setup.installer,marketing:0
@@ -72,17 +73,17 @@ msgstr "Hjælper dig med din maketingskampagne skridt for skridt"
#. module: base_setup
#: view:base.setup.config:0
msgid "Your database is now created."
msgstr "Din database er ny oprettet"
msgstr "Din database er nu oprettet"
#. module: base_setup
#: field:base.setup.installer,point_of_sale:0
msgid "Point of Sale"
msgstr ""
msgstr "Salgssted"
#. module: base_setup
#: field:base.setup.installer,association:0
msgid "Associations"
msgstr "Foreninger"
msgstr "Organisationer"
#. module: base_setup
#: help:base.setup.installer,account_accountant:0
@@ -90,23 +91,25 @@ msgid ""
"Helps you handle your accounting needs, if you are not an accountant, we "
"suggest you to install only the Invoicing "
msgstr ""
"Hjælper dig med at håndtere dine regnskabsmæssige behov. Hvis du ikke er "
"revisor, foreslår vi dig kun at installere faktureringsmodulet "
#. module: base_setup
#: code:addons/base_setup/__init__.py:50
#, python-format
msgid "The following users have been installed : \n"
msgstr "Følgende brugere er installeret \n"
msgstr "Følgende brugere er installeret: \n"
#. module: base_setup
#: field:base.setup.company,progress:0
#: field:base.setup.installer,progress:0
msgid "Configuration Progress"
msgstr "Konfigurations fremskridt"
msgstr "Konfigurationsfremgang"
#. module: base_setup
#: field:base.setup.company,rml_footer2:0
msgid "Report Footer 2"
msgstr "Rapport sidefod"
msgstr "Rapport sidefod 2"
#. module: base_setup
#: field:base.setup.company,currency:0
@@ -117,7 +120,7 @@ msgstr "Valuta"
#. module: base_setup
#: field:base.setup.company,state_id:0
msgid "Fed. State"
msgstr ""
msgstr "Delstat"
#. module: base_setup
#: field:base.setup.installer,marketing:0
@@ -127,12 +130,12 @@ msgstr "Markedsføring"
#. module: base_setup
#: field:base.setup.company,company_id:0
msgid "Company"
msgstr "Virksomhed"
msgstr "Firma"
#. module: base_setup
#: field:base.setup.installer,sale:0
msgid "Sales Management"
msgstr "Salgsledelse"
msgstr "Salgsstyring"
#. module: base_setup
#: help:base.setup.installer,profile_tools:0
@@ -140,8 +143,8 @@ msgid ""
"Lets you install various interesting but non-essential tools like Survey, "
"Lunch and Ideas box."
msgstr ""
"Lader dig installere forskellige interessante, men ikke-væsentlige værktøjer "
"som f.eks. idé boks."
"Du kan installere forskellige interessante, men ikke afgørende værktøjer som "
"meningsmåling, frokost og idéer."
#. module: base_setup
#: view:base.setup.config:0
@@ -150,7 +153,7 @@ msgid ""
"an administrator."
msgstr ""
"Du kan starte med at konfigurere systemet eller tilslutte dig direkte til "
"databasen som en administrator."
"databasen som administrator."
#. module: base_setup
#: field:base.setup.installer,report_designer:0
@@ -160,12 +163,12 @@ msgstr "Avanceret rapportering"
#. module: base_setup
#: field:base.setup.company,phone:0
msgid "Phone"
msgstr "Tlf. nr."
msgstr "Telefon"
#. module: base_setup
#: view:base.setup.company:0
msgid "res_config_contents"
msgstr ""
msgstr "res_config_contents"
#. module: base_setup
#: view:base.setup.company:0
@@ -173,8 +176,8 @@ msgid ""
"Your company information will be used to personalize documents issued with "
"OpenERP such as invoices, sales orders and much more."
msgstr ""
"Dine virksomheds oplysninger vil blive brugt til at personliggøre dokumenter "
"udstedt med OpenERP såsom fakturaer, salgsordrer og meget mere."
"Dine virksomhedsoplysninger vil blive brugt til at individualisere "
"dokumenter fra OpenERP som fakturaer, salgsordrer m.m."
#. module: base_setup
#: view:base.setup.installer:0
@@ -184,7 +187,7 @@ msgstr "titel"
#. module: base_setup
#: field:base.setup.installer,knowledge:0
msgid "Knowledge Management"
msgstr "Knowledge Management"
msgstr "Videnstyring"
#. module: base_setup
#: model:ir.module.module,description:base_setup.module_meta_information
@@ -205,18 +208,17 @@ msgid ""
" "
msgstr ""
"\n"
" Dette modul implementerer en konfiguration, der hjælper brugeren\n"
" til at konfigurere en ny database på systemet.\n"
" Dette modul implementerer et konfigurationssystem, der hjælper brugeren\n"
" med at konfigurere systemet ved installation af en ny database.\n"
"\n"
" Det giver dig mulighed for at vælge mellem en liste af profiler for at "
"installere:\n"
" Det giver dig mulighed for at installere forskellige profiler:\n"
" * Minimal profil\n"
" * Kun regnskab\n"
" * Servicevirksomhed\n"
" * Produktionsvirksomhed\n"
"\n"
" Det stiller også spørgsmål som hjælper med at oprette sidehoved,\n"
" sidefod, kontokort og sprog\n"
" Modulet hjælper dig også med at oprette dit firma, sidehoved,\n"
" sidefod, kontoplan og sprog.\n"
" "
#. module: base_setup
@@ -225,8 +227,8 @@ msgid ""
"Installs a preselected set of OpenERP applications which will help you "
"manage your industry."
msgstr ""
"Installerer en forudvalgt sæt OpenERP applikationer, der vil hjælpe dig med "
"at administrere din branche."
"Installerer en sæt OpenERP moduler, der vil hjælpe dig med at administrere "
"din branche."
#. module: base_setup
#: help:base.setup.installer,project:0
@@ -234,8 +236,8 @@ msgid ""
"Helps you manage your projects and tasks by tracking them, generating "
"plannings, etc..."
msgstr ""
"Hjælper dig med at administrere dine projekter og opgaver ved at spore dem, "
"generere planlægning, osv. .."
"Hjælper dig med at styre dine projekter og opgaver ved at spore dem, lave "
"planlægning, osv. .."
#. module: base_setup
#: field:base.setup.company,name:0
@@ -245,7 +247,7 @@ msgstr "Firmanavn"
#. module: base_setup
#: view:base.setup.config:0
msgid "Skip Configuration Wizards"
msgstr "Spring over konfigurations wizard"
msgstr "Spring konfigurationsguide over"
#. module: base_setup
#: help:base.setup.installer,hr:0
@@ -253,6 +255,8 @@ msgid ""
"Helps you manage your human resources by encoding your employees structure, "
"generating work sheets, tracking attendance and more."
msgstr ""
"Hjælper dig med at styre dit personale ved at indkode dine medarbejderes "
"struktur, opret arbejdsplaner, checke fremmøde og m.m."
#. module: base_setup
#: help:base.setup.installer,account_voucher:0
@@ -260,6 +264,8 @@ msgid ""
"Allows you to create your invoices and track the payments. It is an easier "
"version of the accounting module for managers who are not accountants."
msgstr ""
"Lader dig oprette fakturaer og spore betalinger. Det er en lettere udgave af "
"regnskabsmodulet for ledere, der ikke er regnskabskyndige.."
#. module: base_setup
#: model:ir.model,name:base_setup.model_base_setup_company
@@ -272,7 +278,7 @@ msgid ""
"Helps you manage your purchase-related processes such as requests for "
"quotations, supplier invoices, etc..."
msgstr ""
"Hjælper dig med at styre dit køb-relaterede processer såsom anmodninger om "
"Hjælper dig med at styre dine indkøbsrelaterede processer som anmodninger om "
"tilbud, leverandørfakturaer, osv. .."
#. module: base_setup
@@ -282,6 +288,9 @@ msgid ""
"We suggest you to put bank information here:\n"
"IBAN: BE74 1262 0121 6907 - SWIFT: CPDF BE71 - VAT: BE0477.472.701"
msgstr ""
"Denne sætning vises nederst i dine rapporter.\n"
"Vi forslår at vise bankoplysninger her:\n"
"IBAN: BE74 1262 0121 6907 - SWIFT: CPDF BE71 - Moms: BE0477.472.701"
#. module: base_setup
#: field:base.setup.company,street2:0
@@ -301,12 +310,12 @@ msgstr "Land"
#. module: base_setup
#: model:ir.actions.act_window,name:base_setup.action_base_setup
msgid "Setup"
msgstr "Setup"
msgstr "Opsætning"
#. module: base_setup
#: field:base.setup.installer,account_accountant:0
msgid "Accounting & Finance"
msgstr "Regnskab & Finans"
msgstr "Regnskab & finans"
#. module: base_setup
#: field:base.setup.installer,auction:0
@@ -321,7 +330,7 @@ msgstr "Postnr"
#. module: base_setup
#: view:base.setup.config:0
msgid "Start Configuration"
msgstr "Start konfiguration"
msgstr "Startkonfiguration"
#. module: base_setup
#: help:base.setup.installer,knowledge:0
@@ -329,8 +338,8 @@ msgid ""
"Lets you install addons geared towards sharing knowledge with and between "
"your employees."
msgstr ""
"Lader dig installere addons rettet mod at dele viden med og mellem dine "
"medarbejdere."
"Lader dig installere tillægsmodul beregnet til at dele viden med og mellem "
"dine medarbejdere."
#. module: base_setup
#: view:base.setup.installer:0
@@ -338,15 +347,14 @@ msgid ""
"Select the Applications you want your system to cover. If you are not sure "
"about your exact needs at this stage, you can easily install them later."
msgstr ""
"Vælg de programmer, du ønsker dit system skal indeholde. Hvis du ikke er "
"sikker på netop dine behov på nuvræendetidspunkt, kan du nemt installere dem "
"senere."
"Vælg de moduler, som dit system skal indeholde. Hvis du ikke er sikker dine "
"præcise behov på nuværende tidspunkt, kan du nemt installere dem senere."
#. module: base_setup
#: view:base.setup.company:0
#: model:ir.actions.act_window,name:base_setup.action_base_setup_company
msgid "Company Configuration"
msgstr "Firma opsætning"
msgstr "Firmaopsætning"
#. module: base_setup
#: field:base.setup.company,logo:0
@@ -360,31 +368,33 @@ msgid ""
"simplified payment mode encoding, automatic picking lists generation and "
"more."
msgstr ""
"Hjælper dig med at få det bedste ud af dit detailhandelssystem med hurtigt "
"salg, enkel betaling, automatisk plukliste m.m."
#. module: base_setup
#: field:base.setup.installer,purchase:0
msgid "Purchase Management"
msgstr "Indkøbs administration"
msgstr "Indkøbsstyring"
#. module: base_setup
#: help:base.setup.installer,sale:0
msgid "Helps you handle your quotations, sale orders and invoicing."
msgstr ""
msgstr "Hjælper dig med dina tilbud, salgsordre och fakturer."
#. module: base_setup
#: field:base.setup.installer,stock:0
msgid "Warehouse Management"
msgstr "Lager administration"
msgstr "Lagerstyrning"
#. module: base_setup
#: field:base.setup.installer,project:0
msgid "Project Management"
msgstr "Projekt administration"
msgstr "Projektstyring"
#. module: base_setup
#: field:base.setup.config,installed_users:0
msgid "Installed Users"
msgstr ""
msgstr "Installerede brugere"
#. module: base_setup
#: view:base.setup.config:0
@@ -394,7 +404,7 @@ msgstr "Ny database"
#. module: base_setup
#: field:base.setup.installer,crm:0
msgid "Customer Relationship Management"
msgstr ""
msgstr "Kundestyring (CRM)"
#. module: base_setup
#: help:base.setup.installer,auction:0
@@ -402,6 +412,8 @@ msgid ""
"Installs a preselected set of OpenERP applications selected to help you "
"manage your auctions as well as the business processes around them."
msgstr ""
"Installerer et sæt OpenERP moduler, som hjælper med at styre auktioner og "
"tilhørende forretningsprocesserne."
#. module: base_setup
#: help:base.setup.company,rml_header1:0
@@ -410,6 +422,9 @@ msgid ""
"We suggest you to put a slogan here:\n"
"\"Open Source Business Solutions\"."
msgstr ""
"Denne sætning vises i øverste højre hjørne af dine rapporter.\n"
"Vi foreslår at indsætte et slogan her:\n"
"\"Open Source fimaløsninger\"."
#. module: base_setup
#: help:base.setup.installer,report_designer:0
@@ -417,28 +432,30 @@ msgid ""
"Lets you install various tools to simplify and enhance OpenERP's report "
"creation."
msgstr ""
"Lader dig installere diverse værktøjer til forenkle og forbedre udvikling af "
"rapporter i OpenERP."
#. module: base_setup
#: field:base.setup.company,rml_header1:0
msgid "Report Header"
msgstr ""
msgstr "Rapporthoved"
#. module: base_setup
#: view:base.setup.config:0
msgid "Information about your new database"
msgstr ""
msgstr "Information om din nye database"
#. module: base_setup
#: field:base.setup.company,config_logo:0
#: field:base.setup.config,config_logo:0
#: field:base.setup.installer,config_logo:0
msgid "Image"
msgstr ""
msgstr "Billede"
#. module: base_setup
#: field:base.setup.installer,product_expiry:0
msgid "Food Industry"
msgstr ""
msgstr "Fødevareindustri"
#. module: base_setup
#: field:base.setup.installer,mrp:0
@@ -448,7 +465,7 @@ msgstr "Produktion"
#. module: base_setup
#: view:base.setup.company:0
msgid "Your Logo - Use a size of about 450x150 pixels."
msgstr ""
msgstr "Dit Logo - Brug en størrelse på ca. 450x150 pixels."
#. module: base_setup
#: help:base.setup.company,rml_footer1:0
@@ -457,16 +474,19 @@ msgid ""
"We suggest you to write legal sentences here:\n"
"Web: http://openerp.com - Fax: +32.81.73.35.01 - Fortis Bank: 126-2013269-07"
msgstr ""
"Denne sætning vises nederst i dine rapporter.\n"
"Vi forslår at vise kontaktoplysninger her:\n"
"Web: http://openerp.com - Fax: +32 81 733 501 - Fortis Bank: 126-2013269-07"
#. module: base_setup
#: field:base.setup.company,website:0
msgid "Company Website"
msgstr "Virksomhedens hjemmeside"
msgstr "Firmaets hjemmeside"
#. module: base_setup
#: view:base.setup.installer:0
msgid "Install Specific Industry Applications"
msgstr ""
msgstr "Installerer specifikke branchemoduler"
#. module: base_setup
#: field:base.setup.company,street:0
@@ -476,18 +496,18 @@ msgstr "Gade"
#. module: base_setup
#: view:base.setup.company:0
msgid "Configure Your Company Information"
msgstr ""
msgstr "Opsætter dit firmaoplysninger"
#. module: base_setup
#: help:base.setup.company,website:0
msgid "Example: http://openerp.com"
msgstr ""
msgstr "Eksempel: http://openerp.com"
#. module: base_setup
#: view:base.setup.installer:0
#: model:ir.actions.act_window,name:base_setup.action_base_setup_installer
msgid "Install Applications"
msgstr ""
msgstr "Installer moduler"
#. module: base_setup
#: help:base.setup.installer,crm:0
@@ -496,18 +516,21 @@ msgid ""
"or issues. Can automatically send reminders, escalate requests or trigger "
"business-specific actions based on standard events."
msgstr ""
"Hjælper med at spore og styre kunderelationer, som potentielle kunder, "
"forespørgsler eller emner. Kan automatisk sende rykkere, fremme tilbud eller "
"udløse forretningsspecifikke handlinger baseret på standard begivenheder."
#. module: base_setup
#: help:base.setup.installer,stock:0
msgid ""
"Helps you manage your inventory and main stock operations: delivery orders, "
"receptions, etc."
msgstr ""
msgstr "Hjælper med lageroperationer: Levering, modtagelse osv."
#. module: base_setup
#: model:ir.module.module,shortdesc:base_setup.module_meta_information
msgid "Base Setup"
msgstr ""
msgstr "Basal opsætning"
#. module: base_setup
#: help:base.setup.installer,association:0
@@ -515,11 +538,13 @@ msgid ""
"Installs a preselected set of OpenERP applications which will help you "
"manage your association more efficiently."
msgstr ""
"Installerer OpwnERP moduler, som hjælper med styring af forbindelser mere "
"effektivt."
#. module: base_setup
#: model:ir.model,name:base_setup.model_base_setup_config
msgid "base.setup.config"
msgstr ""
msgstr "base.setup.config"
#~ msgid "Point of Sales"
#~ msgstr "Point of sales"
+5 -5
View File
@@ -8,19 +8,19 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-09-23 15:37+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2011-11-08 10:44+0000\n"
"Last-Translator: OpenERP Danmark / Mikhael Saxtorph <Unknown>\n"
"Language-Team: Danish <da@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: 2011-11-05 05:56+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-11-10 04:58+0000\n"
"X-Generator: Launchpad (build 14263)\n"
#. module: base_tools
#: model:ir.module.module,shortdesc:base_tools.module_meta_information
msgid "Common base for tools modules"
msgstr ""
msgstr "Fælles grundlag for værktøjsmoduler"
#. module: base_tools
#: model:ir.module.module,description:base_tools.module_meta_information
+30
View File
@@ -0,0 +1,30 @@
# Swedish translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-11-10 15:12+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Swedish <sv@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: 2011-11-11 04:53+0000\n"
"X-Generator: Launchpad (build 14277)\n"
#. module: base_tools
#: model:ir.module.module,shortdesc:base_tools.module_meta_information
msgid "Common base for tools modules"
msgstr ""
#. module: base_tools
#: model:ir.module.module,description:base_tools.module_meta_information
msgid ""
"\n"
" "
msgstr ""
+22 -9
View File
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2009-11-17 08:50+0000\n"
"Last-Translator: SmartWi <kurt@smartwi.net>\n"
"PO-Revision-Date: 2011-11-08 10:58+0000\n"
"Last-Translator: OpenERP Danmark / Mikhael Saxtorph <Unknown>\n"
"Language-Team: Danish <da@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: 2011-11-05 05:05+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-11-10 04:57+0000\n"
"X-Generator: Launchpad (build 14263)\n"
#. module: base_vat
#: code:addons/base_vat/base_vat.py:87
@@ -24,6 +24,8 @@ msgid ""
"The Vat does not seems to be correct. You should have entered something like "
"this %s"
msgstr ""
"Momsen ser ikke ud til at være korrekt. Der skulle være indtastet noget "
"svarende til dette %s"
#. module: base_vat
#: model:ir.module.module,description:base_vat.module_meta_information
@@ -38,22 +40,31 @@ msgid ""
"countries.\n"
" "
msgstr ""
"\n"
" Aktiverer CVR-nr. (momsnr.) for kontakten. Checker gyldigheden af CVR-"
"nr. (momsnr.)\n"
"\n"
" Dette modul bruger metoder beskrevet på http://sima-pc.com/nif.php for "
"at\n"
" checke gyldigheden af CVR-nr. (momsnr.) tilknyttet kontakter i EU-"
"landene.\n"
" "
#. module: base_vat
#: model:ir.module.module,shortdesc:base_vat.module_meta_information
msgid "Base VAT - To check VAT number validity"
msgstr ""
msgstr "Moms grundlag - Til at checke CVR-nr. (momsnr.) gyldighed"
#. module: base_vat
#: constraint:res.partner:0
msgid "Error ! You can not create recursive associated members."
msgstr ""
msgstr "Fejl! Man kan ikke oprette rekursuve associerede medlemmer."
#. module: base_vat
#: code:addons/base_vat/base_vat.py:88
#, python-format
msgid "The VAT is invalid, It should begin with the country code"
msgstr ""
msgstr "CVR-nr. (momsnr.) er ugyldigt. Det skal starte med landekode."
#. module: base_vat
#: help:res.partner,vat_subjected:0
@@ -61,16 +72,18 @@ msgid ""
"Check this box if the partner is subjected to the VAT. It will be used for "
"the VAT legal statement."
msgstr ""
"Afkryds dette felt, hvis kontakten er momsregistreret. Det bruges til "
"momsbestemmelser."
#. module: base_vat
#: model:ir.model,name:base_vat.model_res_partner
msgid "Partner"
msgstr ""
msgstr "Kontakt"
#. module: base_vat
#: field:res.partner,vat_subjected:0
msgid "VAT Legal Statement"
msgstr "Moms bestemmelser"
msgstr "Momsbestemmelser"
#~ msgid "VAT"
#~ msgstr "Moms"
+6 -6
View File
@@ -136,15 +136,15 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Administration Dashboard">
<hpaned position="100">
<child1>
<board style="2-1">
<column>
<action name="%(board_config_overview)d" string="Configuration Overview"/>
<action name="%(action_latest_activities_tree)d" string="Latest Activities" />
</child1>
<child2>
</column>
<column>
<action name="%(action_user_connection_tree)d" string="Users" />
</child2>
</hpaned>
</column>
</board>
</form>
</field>
</record>
+6 -16
View File
@@ -44,25 +44,15 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="">
<hpaned>
<child1>
<board style="2-1">
<column>
<action name="%(action_application_tiles)d"/>
</child1>
<child2>
</column>
<column>
<action name="%(action_res_widgets_tweets)d"/>
<action name="%(action_res_widgets_events)d"/>
</child2>
</hpaned>
<!--
The new version should this, kept as comment until rng grammar is updated.
<board style="1">
<column>
<action name="100"/>
</column>
<column/>
<column/>
</board>
-->
</column>
</board>
</form>
</field>
</record>
+1 -2
View File
@@ -55,7 +55,6 @@ Creates a dashboard for CRM that includes:
'author': 'OpenERP SA',
'website': 'http://www.openerp.com',
'depends': [
'base',
'base_action_rule',
'base_setup',
'process',
@@ -108,8 +107,8 @@ Creates a dashboard for CRM that includes:
'crm_installer_view.xml',
'res_partner_view.xml',
'board_crm_view.xml',
'board_crm_statistical_view.xml',
'board_crm_view.xml',
],
'demo_xml': [
+28 -35
View File
@@ -117,32 +117,32 @@
<field name="arch" type="xml">
<form string="Sales Dashboard">
<hpaned>
<child1>
<action
string="My Open Opportunities"
name="%(act_my_oppor)d"
colspan="4"
height="150"
groups="base.group_sale_salesman,base.group_sale_manager"
width="510"/>
<action
string="My Meetings"
name="%(act_my_meetings)d"
height="150"
colspan="4"/>
</child1>
<child2>
<action
string="My Planned Revenues by Stage"
name="%(act_my_oppor_stage)d"
groups="base.group_sale_salesman,base.group_sale_manager"
colspan="4"/>
<action
string="My Win/Lost Ratio for the Last Year"
name="%(act_sales_pipeline)d"
groups="base.group_sale_salesman,base.group_sale_manager"
colspan="4"/>
</child2>
<child1>
<action
string="My Open Opportunities"
name="%(act_my_oppor)d"
colspan="4"
height="150"
groups="base.group_sale_salesman,base.group_sale_manager"
width="510"/>
<action
string="My Meetings"
name="%(act_my_meetings)d"
height="150"
colspan="4"/>
</child1>
<child2>
<action
string="My Planned Revenues by Stage"
name="%(act_my_oppor_stage)d"
groups="base.group_sale_salesman,base.group_sale_manager"
colspan="4"/>
<action
string="My Win/Lost Ratio"
name="%(act_sales_pipeline)d"
groups="base.group_sale_salesman,base.group_sale_manager"
colspan="4"/>
</child2>
</hpaned>
</form>
</field>
@@ -155,14 +155,7 @@
<field name="usage">menu</field>
<field name="view_id" ref="board_crm_form"/>
</record>
<menuitem id="board.menu_dasboard" name="Dashboard" sequence="0" parent="base.next_id_64"/>
<menuitem
name="Sales Dashboard" parent="board.menu_dasboard"
action="open_board_crm"
sequence="1"
id="menu_board_crm" icon="terp-graph"
groups="base.group_sale_salesman"/>
<menuitem icon="terp-partner" id="base.menu_base_partner" name="Sales" sequence="0" action="open_board_crm"/>
<menuitem id="base.menu_base_partner"
action="open_board_crm"/>
</data>
</openerp>
+5 -2
View File
@@ -486,8 +486,11 @@ class crm_case(crm_base):
src = case_email
dest = case.user_id.user_email or ""
body = case.description or ""
if case.message_ids:
body = case.message_ids[0].body_text or ""
for message in case.message_ids:
if message.email_from:
body = message.description
break
if not destination:
src, dest = dest, case.email_from
if body and case.user_id.signature:
+1 -1
View File
@@ -92,7 +92,6 @@ class base_action_rule(osv.osv):
def do_action(self, cr, uid, action, model_obj, obj, context=None):
res = super(base_action_rule, self).do_action(cr, uid, action, model_obj, obj, context=context)
write = {}
if hasattr(action, 'act_section_id') and action.act_section_id:
obj.section_id = action.act_section_id
write['section_id'] = action.act_section_id.id
@@ -110,6 +109,7 @@ class base_action_rule(osv.osv):
model_obj.message_append(cr, uid, [obj], _(action.act_state))
model_obj.write(cr, uid, [obj.id], write, context)
super(base_action_rule, self).do_action(cr, uid, action, model_obj, obj, context=context)
emails = []
if hasattr(obj, 'email_from') and action.act_mail_to_partner:
-1
View File
@@ -204,7 +204,6 @@ class crm_lead(crm_case, osv.osv):
'company_id': lambda s, cr, uid, c: s.pool.get('res.company')._company_default_get(cr, uid, 'crm.lead', context=c),
'priority': lambda *a: crm.AVAILABLE_PRIORITIES[2][0],
'color': 0,
#'stage_id': _get_stage_id,
}
def onchange_partner_address_id(self, cr, uid, ids, add, email=False):
+21 -6
View File
@@ -270,7 +270,9 @@
<field name="categ_id" ref="crm.categ_oppor3"/>
<field name="stage_id" ref="crm.stage_lead2"/>
<field eval="'Pricing Information of Onsite Intervention'" name="name"/>
<field eval="'Send price list regarding our interventions'" name="title_action"/>
<field eval="'Send price list regarding our interventions'" name="title_action"/>
<field eval="time.strftime('%Y-%m-03')" name="date_action"/>
<field eval="time.strftime('%Y-%m-08')" name="date_deadline"/>
<field name="partner_name">BalmerInc S.A.</field>
<field name="street">Rue des Palais 51, bte 33</field>
<field name="city">Bruxelles</field>
@@ -291,7 +293,9 @@
<field name="categ_id" ref="crm.categ_oppor3"/>
<field name="stage_id" ref="crm.stage_lead2"/>
<field eval="'Interest in your Kitchen Design Project'" name="name"/>
<field eval="'Send Catalogue by E-Mail'" name="title_action"/>
<field eval="'Send Catalogue by E-Mail'" name="title_action"/>
<field eval="time.strftime('%Y-01-10')" name="date_action"/>
<field eval="time.strftime('%Y-02-23')" name="date_deadline"/>
<field name="partner_name">Lucie Vonck</field>
<field name="street">Chaussée de Namur</field>
<field name="city">Grand-Rosière</field>
@@ -313,7 +317,9 @@
<field name="categ_id" ref="crm.categ_oppor6"/>
<field name="stage_id" ref="crm.stage_lead2"/>
<field eval="'Plan train our students on your product'" name="name"/>
<field eval="'Call to define real needs about training'" name="title_action"/>
<field eval="'Call to define real needs about training'" name="title_action"/>
<field eval="time.strftime('%Y-%m-04')" name="date_action"/>
<field eval="time.strftime('%Y-%m-13')" name="date_deadline"/>
<field eval="4000" name="zip"/>
<field name="partner_name">Université de Liège</field>
<field name="street">Place du 20Août</field>
@@ -336,7 +342,9 @@
<field name="categ_id" ref="crm.categ_oppor2"/>
<field name="stage_id" ref="crm.stage_lead2"/>
<field eval="'Plan to buy 66 keyboards and 66 mouses'" name="name"/>
<field eval="'Propose the kit keyboard+mouse'" name="title_action"/>
<field eval="'Propose the kit keyboard+mouse'" name="title_action"/>
<field eval="time.strftime('%Y-04-12')" name="date_action"/>
<field eval="time.strftime('%Y-04-25')" name="date_deadline"/>
<field name="partner_name">Bank Wealthy and sons</field>
<field name="street">1 rue Rockfeller</field>
<field name="city">Paris</field>
@@ -359,6 +367,7 @@
<field name="categ_id" ref="crm.categ_oppor7"/>
<field name="stage_id" ref="crm.stage_lead5"/>
<field eval="'Need 20 Days of Consultancy'" name="name"/>
<field eval="time.strftime('%Y-%m-%d')" name="date_deadline"/>
<field eval="'info@mycompany.net'" name="email_from"/>
</record>
<record id="crm_case_abcfuelcounits0" model="crm.lead">
@@ -376,8 +385,10 @@
<field name="categ_id" ref="crm.categ_oppor5"/>
<field name="stage_id" ref="crm.stage_lead4"/>
<field eval="'Need new design for my website'" name="name"/>
<field eval="time.strftime('%Y-05-01')" name="date_action"/>
<field eval="time.strftime('%Y-06-30')" name="date_deadline"/>
<field eval="'info@opensides.be'" name="email_from"/>
<field eval="'Convert to quote'" name="title_action"/>
<field eval="'Convert to quote'" name="title_action"/>
<field name="partner_name">Dubois sprl</field>
<field name="street">Avenue de la Liberté 56</field>
<field name="city">Brussels</field>
@@ -428,7 +439,9 @@
<field name="categ_id" ref="crm.categ_oppor2"/>
<field name="stage_id" ref="crm.stage_lead2"/>
<field eval="'Plan to attend a training'" name="name"/>
<field eval="'Call to give info about next training session'" name="title_action"/>
<field eval="time.strftime('%Y-04-10')" name="date_action"/>
<field eval="time.strftime('%Y-06-12')" name="date_deadline"/>
<field eval="'Call to give info about next training session'" name="title_action"/>
<field name="partner_name">Axelor</field>
<field name="street">12 rue Albert Einstein</field>
<field name="city">Champs sur Marne</field>
@@ -473,6 +486,8 @@
<field name="categ_id" ref="crm.categ_oppor1"/>
<field name="stage_id" ref="crm.stage_lead3"/>
<field eval="'Interest in your customizable PC'" name="name"/>
<field eval="time.strftime('%Y-08-05')" name="date_action"/>
<field eval="time.strftime('%Y-10-10')" name="date_deadline"/>
<field eval="'Ask for the good receprion of the proposition'" name="title_action"/>
<field name="partner_name">Eric Dubois</field>
<field name="street">Chaussée de Binche, 27</field>
+4 -5
View File
@@ -284,7 +284,7 @@
<field name="priority" eval="2"/>
<field name="arch" type="xml">
<calendar string="Leads Generation"
date_start="create_date" color="user_id">
date_start="date_action" color="user_id">
<field name="name" />
<field name="partner_name" />
<field name="partner_address_id" />
@@ -345,7 +345,7 @@
<a string="Send New Email" name="%(mail.action_email_compose_message_wizard)d" icon="terp-mail-message-new" type="action"/>
<a string="Schedule/Log Call" name="%(opportunity2phonecall_act)d" icon="terp-call-start" type="action"/>
<a string="Add Internal Note" name="%(crm.action_crm_add_note)d" context="{'model': 'crm.lead' }" icon="terp-document-new" type="action"/>
<a name="action_makeMeeting" type="object" string="Schedule Meeting" icon="gtk-redo" />
<a string="Schedule Meeting" name="action_makeMeeting" type="object" icon="stock_calendar"/>
</div>
<div class="oe_kanban_right">
<a name="case_pending" string="Pending" states="draft,open" type="object" icon="lead-stage-pending" />
@@ -462,7 +462,7 @@
<field name="user_id"/>
<button string="Schedule/Log Call"
name="%(opportunity2phonecall_act)d" icon="terp-call-start" type="action" groups="base.group_extended"/>
name="%(opportunity2phonecall_act)d" icon="terp-call-start" type="action"/>
<field name="planned_revenue"/>
<field name="probability"/>
@@ -688,8 +688,7 @@
name="pending"
domain="[('state','=','pending')]"/>
<separator orientation="vertical"/>
<field name="name" string="Opportunity"/>
<field name="partner_id" string="Customer / Email" filter_domain="['|','|',('partner_id','ilike',self),('partner_name','ilike',self),('email_from','ilike',self)]"/>
<field name="name" string="Opportunity / Customer" filter_domain="['|','|','|',('partner_id','ilike',self),('partner_name','ilike',self),('email_from','ilike',self),('name', 'ilike', self)]"/>
<field name="user_id">
<filter icon="terp-personal-"
domain="[('user_id','=', False)]"
+1 -1
View File
@@ -35,7 +35,7 @@ class crm_phonecall(crm_base, osv.osv):
_columns = {
# From crm.case
'id': fields.integer('ID', readonly=True),
'name': fields.char('Call Summary', size=64),
'name': fields.char('Call Summary', size=64, required=True),
'active': fields.boolean('Active', required=False),
'date_action_last': fields.datetime('Last Action', readonly=1),
'date_action_next': fields.datetime('Next Action', readonly=1),
+5 -6
View File
@@ -8,15 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
"PO-Revision-Date: 2011-10-26 14:18+0000\n"
"Last-Translator: Nicholas Christian Langkjær Ipsen "
"<sephiroth7vii@gmail.com>\n"
"PO-Revision-Date: 2011-11-08 21:47+0000\n"
"Last-Translator: OpenERP Danmark / Henning Dinsen <Unknown>\n"
"Language-Team: Danish <da@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: 2011-11-05 05:01+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-11-10 04:57+0000\n"
"X-Generator: Launchpad (build 14263)\n"
#. module: crm
#: view:crm.lead.report:0
@@ -43,7 +42,7 @@ msgstr "Månedligt"
#. module: crm
#: view:crm.opportunity2phonecall:0
msgid "Schedule a PhoneCall"
msgstr ""
msgstr "Planlæg et telefon kald"
#. module: crm
#: model:ir.model,name:crm.model_crm_case_stage
@@ -267,7 +267,6 @@
parent="base.next_id_64" action="action_report_crm_lead" sequence="3"/>
<menuitem name="Opportunities Analysis" id="menu_report_crm_opportunities_tree"
groups="base.group_extended"
parent="base.next_id_64" action="action_report_crm_opportunity" sequence="4"/>
</data>
+1 -1
View File
@@ -43,6 +43,6 @@
"access_crm_lead_report_user","crm.lead.report user","model_crm_lead_report","base.group_sale_salesman",1,1,1,1
"access_res_partner_bank_type_crm_user","res.partner.bank.type.crm.user","base.model_res_partner_bank_type","base.group_sale_salesman",1,0,0,0
"access_res_partner_bank_type_crm_manager","res.partner.bank.type.crm.manager","base.model_res_partner_bank_type","base.group_sale_manager",1,0,0,0
"access_crm_lead_partner_manager","crm.lead.partner.manager","model_crm_lead","base.group_partner_manager",1,1,1,1
"access_crm_lead_partner_manager","crm.lead.partner.manager","model_crm_lead","base.group_partner_manager",1,0,0,0
"access_crm_phonecall_partner_manager","crm.phonecall.partner.manager","model_crm_phonecall","base.group_partner_manager",1,1,1,1
"access_crm_meeting_partner_manager","crm.meeting.partner.manager","model_crm_meeting","base.group_partner_manager",1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
43 access_crm_lead_report_user crm.lead.report user model_crm_lead_report base.group_sale_salesman 1 1 1 1
44 access_res_partner_bank_type_crm_user res.partner.bank.type.crm.user base.model_res_partner_bank_type base.group_sale_salesman 1 0 0 0
45 access_res_partner_bank_type_crm_manager res.partner.bank.type.crm.manager base.model_res_partner_bank_type base.group_sale_manager 1 0 0 0
46 access_crm_lead_partner_manager crm.lead.partner.manager model_crm_lead base.group_partner_manager 1 1 0 1 0 1 0
47 access_crm_phonecall_partner_manager crm.phonecall.partner.manager model_crm_phonecall base.group_partner_manager 1 1 1 1
48 access_crm_meeting_partner_manager crm.meeting.partner.manager model_crm_meeting base.group_partner_manager 1 1 1 1
+5 -10
View File
@@ -78,21 +78,16 @@ class crm_lead2partner(osv.osv_memory):
email = re.findall(r'([^ ,<@]+@[^> ,]+)', lead.email_from or '')
email = map(lambda x: "'" + x + "'", email)
if email:
cr.execute("""select id from res_partner_address
cr.execute("""select partner_id from res_partner_address
where
substring(email from '([^ ,<@]+@[^> ,]+)') in (%s)""" % (','.join(email)))
address_ids = map(lambda x: x[0], cr.fetchall())
if address_ids:
partner_ids = partner_obj.search(cr, uid, [('address', 'in', address_ids)], context=context)
partner_ids = map(lambda x: x[0], cr.fetchall())
# Find partner name that matches the name of the lead
if not partner_ids and lead.partner_name:
partner_ids = partner_obj.search(cr, uid, [('name', '=', lead.partner_name)], context=context)
partner_id = partner_ids and partner_ids[0] or False
partner_ids = partner_obj.search(cr, uid, [('name', '=ilike', lead.partner_name)], context=context)
partner_id = partner_ids and partner_ids[0] or False
if 'partner_id' in fields:
res.update({'partner_id': partner_id})
if 'action' in fields:
@@ -35,13 +35,16 @@ class crm_opportunity2phonecall(osv.osv_memory):
_columns = {
'name' : fields.char('Call summary', size=64, required=True, select=1),
'user_id' : fields.many2one('res.users', "Assign To"),
'contact_name':fields.char('Contact', size=64),
'phone':fields.char('Phone', size=64),
'partner_id' : fields.many2one('res.partner', "Partner"),
'date': fields.datetime('Date'),
'section_id': fields.many2one('crm.case.section', 'Sales Team'),
'categ_id': fields.many2one('crm.case.categ', 'Category', \
domain="['|',('section_id','=',False),('section_id','=',section_id),\
('object_id.model', '=', 'crm.phonecall')]"),
'action': fields.selection([('schedule','Schedule a call'), ('log','Log a call')], 'Action', required=True),
'action': fields.selection([('schedule','Schedule a call'), ('log','Log a call')], 'Action', required=True),
'note':fields.text('Note'),
}
def default_get(self, cr, uid, fields, context=None):
@@ -64,7 +67,7 @@ class crm_opportunity2phonecall(osv.osv_memory):
record_ids = context and context.get('active_ids', []) or []
res = super(crm_opportunity2phonecall, self).default_get(cr, uid, fields, context=context)
res.update({'action': 'schedule', 'date': time.strftime('%Y-%m-%d %H:%M:%S')})
res.update({'action': 'log', 'date': time.strftime('%Y-%m-%d %H:%M:%S')})
for opp in opp_obj.browse(cr, uid, record_ids, context=context):
if 'name' in fields:
res.update({'name': opp.name})
@@ -76,6 +79,12 @@ class crm_opportunity2phonecall(osv.osv_memory):
res.update({'categ_id': categ_id})
if 'partner_id' in fields:
res.update({'partner_id': opp.partner_id and opp.partner_id.id or False})
if 'note' in fields:
res.update({'note': opp.description})
if 'contact_name' in fields:
res.update({'contact_name': opp.partner_address_id and opp.partner_address_id.name or False})
if 'phone' in fields:
res.update({'phone': opp.phone or (opp.partner_address_id and opp.partner_address_id.phone or False)})
return res
def action_cancel(self, cr, uid, ids, context=None):
@@ -142,6 +151,7 @@ class crm_opportunity2phonecall(osv.osv_memory):
if this.action == 'log':
phonecall_obj.case_close(cr, uid, [new_case])
return {'type': 'ir.actions.act_window_close'}
value = {
'name': _('Phone Call'),
@@ -16,10 +16,19 @@
<field name="name"/>
<field name="date" string="Planned Date" attrs="{'invisible': [('action','=','log')]}"/>
<newline/>
<field name="partner_id" readonly="True"/>
<field name="user_id" />
<field name="section_id" widget="selection" />
<field name="categ_id" string="Type" widget="selection" domain="[('object_id.model', '=', 'crm.phonecall')]"/>
<group colspan="4">
<field name="partner_id" readonly="True"/>
<field name="categ_id" string="Type" widget="selection" domain="[('object_id.model', '=', 'crm.phonecall')]"/>
<field name="contact_name"/>
<field name="phone"/>
</group>
<group colspan="4">
<field name="user_id" attrs="{'invisible': [('action','=','log')]}"/>
<field name="section_id" widget="selection" attrs="{'invisible': [('action','=','log')]}"/>
</group>
<group colspan="4">
<field name="note"/>
</group>
<separator string="" colspan="4"/>
<group colspan="4" col="3">
<button name="action_cancel" string="_Cancel" icon="gtk-cancel" special="cancel" />
+5 -5
View File
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
"PO-Revision-Date: 2010-11-22 07:37+0000\n"
"Last-Translator: Martin Pihl <martinpihl@gmail.com>\n"
"PO-Revision-Date: 2011-11-08 21:45+0000\n"
"Last-Translator: OpenERP Danmark / Henning Dinsen <Unknown>\n"
"Language-Team: Danish <da@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: 2011-11-05 05:53+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-11-10 04:58+0000\n"
"X-Generator: Launchpad (build 14263)\n"
#. module: crm_caldav
#: model:ir.actions.act_window,name:crm_caldav.action_caldav_browse
@@ -43,4 +43,4 @@ msgstr ""
#. module: crm_caldav
#: model:ir.ui.menu,name:crm_caldav.menu_caldav_browse
msgid "Synchronyze this calendar"
msgstr ""
msgstr "Synkronisere denne kalender"
+69
View File
@@ -0,0 +1,69 @@
# Danish translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
"PO-Revision-Date: 2011-11-08 11:35+0000\n"
"Last-Translator: OpenERP Danmark / Mikhael Saxtorph <Unknown>\n"
"Language-Team: Danish <da@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: 2011-11-10 04:58+0000\n"
"X-Generator: Launchpad (build 14263)\n"
#. module: decimal_precision
#: field:decimal.precision,digits:0
msgid "Digits"
msgstr "Cifre"
#. module: decimal_precision
#: view:decimal.precision:0
msgid "Decimal Precision"
msgstr "Betydende decimaler"
#. 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 Definitions"
msgstr "Definition af betydende decimaler"
#. module: decimal_precision
#: model:ir.module.module,description:decimal_precision.module_meta_information
msgid ""
"\n"
"This module allows to configure the price accuracy you need for different "
"kind\n"
"of usage: accounting, sales, purchases, ...\n"
"\n"
"The decimal precision is configured per company.\n"
msgstr ""
"\n"
"Dette modul giver dig mulighed indstille prisnøjagtigheden til forskellig "
"brug:\n"
"Bogføring, salg, indkøb osv.\n"
#. module: decimal_precision
#: field:decimal.precision,name:0
msgid "Usage"
msgstr "Anvendelse"
#. module: decimal_precision
#: sql_constraint:decimal.precision:0
msgid "Only one value can be defined for each given usage!"
msgstr "Kun een værdi kan defineres for hver anvendelse!"
#. module: decimal_precision
#: model:ir.module.module,shortdesc:decimal_precision.module_meta_information
msgid "Decimal Precision Configuration"
msgstr "Opsætning af betydende decimaler"
#. module: decimal_precision
#: model:ir.model,name:decimal_precision.model_decimal_precision
msgid "decimal.precision"
msgstr "decimal.precision"
+5 -5
View File
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
"PO-Revision-Date: 2011-09-18 16:52+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2011-11-08 22:36+0000\n"
"Last-Translator: OpenERP Danmark / Henning Dinsen <Unknown>\n"
"Language-Team: Danish <da@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: 2011-11-05 04:55+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-11-10 04:57+0000\n"
"X-Generator: Launchpad (build 14263)\n"
#. module: delivery
#: report:sale.shipping:0
@@ -25,7 +25,7 @@ msgstr ""
#. module: delivery
#: model:product.template,name:delivery.delivery_product_product_template
msgid "Delivery by Poste"
msgstr ""
msgstr "Levering med post"
#. module: delivery
#: view:delivery.grid:0
+5 -5
View File
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
"PO-Revision-Date: 2010-10-13 07:44+0000\n"
"Last-Translator: Martin Pihl <martinpihl@gmail.com>\n"
"PO-Revision-Date: 2011-11-08 21:52+0000\n"
"Last-Translator: OpenERP Danmark / Henning Dinsen <Unknown>\n"
"Language-Team: Danish <da@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: 2011-11-05 05:41+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-11-10 04:58+0000\n"
"X-Generator: Launchpad (build 14263)\n"
#. module: document_webdav
#: field:document.webdav.dir.property,create_date:0
@@ -56,7 +56,7 @@ msgstr ""
#: view:document.webdav.dir.property:0
#: view:document.webdav.file.property:0
msgid "Group By..."
msgstr ""
msgstr "Gruppér efter..."
#. module: document_webdav
#: view:document.directory:0
+7 -7
View File
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
"PO-Revision-Date: 2011-09-23 14:35+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2011-11-09 21:21+0000\n"
"Last-Translator: OpenERP Danmark / Henning Dinsen <Unknown>\n"
"Language-Team: Danish <da@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: 2011-11-05 04:58+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-11-10 04:57+0000\n"
"X-Generator: Launchpad (build 14263)\n"
#. module: event
#: view:event.event:0
@@ -42,7 +42,7 @@ msgstr "Hovedtaler"
#: view:event.registration:0
#: view:report.event.registration:0
msgid "Group By..."
msgstr ""
msgstr "Gruppér efter..."
#. module: event
#: field:event.event,register_min:0
@@ -57,7 +57,7 @@ msgstr ""
#. module: event
#: field:event.registration.badge,title:0
msgid "Title"
msgstr ""
msgstr "Titel"
#. module: event
#: field:event.event,mail_registr:0
@@ -83,7 +83,7 @@ msgstr ""
#. module: event
#: view:partner.event.registration:0
msgid "_Close"
msgstr ""
msgstr "_Luk"
#. module: event
#: model:event.event,name:event.event_0
+3 -2
View File
@@ -6,8 +6,9 @@
<field name="type">ir.actions.act_window</field>
<field name="res_model">fetchmail.server</field>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="context">{'default_name' : "Email Account For Leads", 'fetchmail_model' : 'crm.lead'}</field>
<field name="view_mode">tree,form</field>
<field name="context" eval="{'default_name': 'Incoming Leads', 'default_object_id': ref('crm.model_crm_lead')}"/>
<field name="help">You can connect your email account with leads in OpenERP. A new email sent to this account (example: info@mycompany.com) will automatically create a lead in OpenERP. The whole communication with the salesman will be attached to the lead automatically.</field>
</record>
<record model="ir.actions.todo" id="config_wizard_action_create_crm_leads_from_email_account">
+3 -2
View File
@@ -6,8 +6,9 @@
<field name="type">ir.actions.act_window</field>
<field name="res_model">fetchmail.server</field>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="context">{'default_name' : "Email Account For Claims", 'fetchmail_model' : 'crm.claim'}</field>
<field name="view_mode">tree,form</field>
<field name="context" eval="{'default_name': 'Claims', 'default_object_id' : ref('crm_claim.model_crm_claim')}"/>
<field name="help">You can connect your email account with claims in OpenERP. A new email sent to this account (example: support@mycompany.com) will automatically create a claim for the followup in OpenERP. The whole communication by email will be attached to the claim automatically to keep track of the history.</field>
</record>
<record model="ir.actions.todo" id="config_wizard_action_create_crm_claims_from_email_account">
@@ -6,8 +6,9 @@
<field name="type">ir.actions.act_window</field>
<field name="res_model">fetchmail.server</field>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="context">{'default_name' : "Email Account For Applicant", 'fetchmail_model' : 'hr.applicant'}</field>
<field name="view_mode">tree,form</field>
<field name="context" eval="{'default_name': 'Recruitment Applicants', 'default_object_id': ref('hr_recruitment.model_hr_applicant')}"/>
<field name="help">You can synchronize the job email account (e.g. job@yourcompany.com) with OpenERP so that new applicants are created automatically in OpenERP for the followup of the recruitment process. Attachments are automatically stored in the DMS of OpenERP so that you get an indexation of all the CVs received.</field>
</record>
<record model="ir.actions.todo" id="config_wizard_action_link_applicant_to_email_account">
+3 -2
View File
@@ -6,8 +6,9 @@
<field name="type">ir.actions.act_window</field>
<field name="res_model">fetchmail.server</field>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="context">{'default_name' : "Email Account For Issue", 'fetchmail_model' : 'project.issue'}</field>
<field name="view_mode">tree,form</field>
<field name="context" eval="{'default_name': 'Issues', 'default_object_id': ref('project_issue.model_project_issue')}"/>
<field name="help">You can connect your email account with issues in OpenERP. A new email sent to this account (example: support@mycompany.com) will automatically create an issue. The whole communication will be attached to the issue automatically.</field>
</record>
<record model="ir.actions.todo" id="config_wizard_action_link_issue_to_email_account">
+5 -5
View File
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
"PO-Revision-Date: 2010-11-20 07:53+0000\n"
"Last-Translator: Martin Pihl <martinpihl@gmail.com>\n"
"PO-Revision-Date: 2011-11-08 21:48+0000\n"
"Last-Translator: OpenERP Danmark / Henning Dinsen <Unknown>\n"
"Language-Team: Danish <da@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: 2011-11-05 04:49+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-11-10 04:57+0000\n"
"X-Generator: Launchpad (build 14263)\n"
#. module: google_map
#: view:res.partner:0
@@ -48,7 +48,7 @@ msgstr ""
#. module: google_map
#: model:ir.module.module,shortdesc:google_map.module_meta_information
msgid "Google Map"
msgstr "Google Kort"
msgstr "Google kort"
#. module: google_map
#: model:ir.model,name:google_map.model_res_partner_address
+2 -1
View File
@@ -47,7 +47,8 @@ class hr_employee_category(osv.osv):
'name': fields.char("Category", size=64, required=True),
'complete_name': fields.function(_name_get_fnc, type="char", string='Name'),
'parent_id': fields.many2one('hr.employee.category', 'Parent Category', select=True),
'child_ids': fields.one2many('hr.employee.category', 'parent_id', 'Child Categories')
'child_ids': fields.one2many('hr.employee.category', 'parent_id', 'Child Categories'),
'employee_ids': fields.many2many('hr.employee', 'employee_category_rel', 'category_id', 'emp_id', 'Employees'),
}
def _check_recursion(self, cr, uid, ids, context=None):
+8 -3
View File
@@ -247,9 +247,12 @@
<field name="arch" type="xml">
<tree string="Employees">
<field name="name"/>
<field name="ssnid"/>
<field name="user_id"/>
<field name="address_id"/>
<field name="work_phone"/>
<field name="work_email"/>
<field name="company_id" groups="base.group_multi_company"/>
<field name="department_id"/>
<field name="job_id"/>
<field name="coach_id" invisible="1" />
</tree>
</field>
</record>
@@ -287,6 +290,8 @@
<form string="Employee Category">
<field name="name" />
<field name="parent_id" />
<separator string="Employees" colspan="4" />
<field name="employee_ids" colspan="4" nolabel="1" />
</form>
</field>
</record>
+85 -8
View File
@@ -1,13 +1,13 @@
-
In order to test hr module in OpenERP, I will create new Employee , Department and Job Position.
In order to test hr module in OpenERP, I will create new Employee, Department and Job Position.
-
I create "R&D Department" in Department form.
I create "R&D Department" in Department form.
-
!record {model: hr.department, id: hr_department_rd0}:
manager_id: base.user_root
name: 'R & D'
-
Now, I create a new employee “Mark Johnson”, and select department as "R&D Department".
Now, I create a new employee “Mark Johnson”, and select department as “R&D Department”.
-
!record {model: hr.employee, id: hr_employee_mark}:
address_home_id: base.res_partner_address_1
@@ -15,10 +15,40 @@
gender: male
marital: 'single'
name: Mark Johnson
user_id: base.user_root
department_id: 'hr_department_rd0'
-
In order to check the wizard “Employee Hierarchy” , I will create new employee “Phil Graves ” and select "Mark Johnson" as
I change the company of the employee.
-
!python {model: hr.employee}: |
res = self.onchange_company(cr, uid, [ref('hr_employee_mark')], ref('base.main_company'), None)
values = dict([('company_id', ref('base.main_company'))] + res['value'].items())
self.write(cr, uid, [ref('hr_employee_mark')], values, None)
-
I assign department for employee “Mark Johnson”.
-
!python {model: hr.employee}: |
res = self.onchange_department_id(cr, uid, [ref('hr_employee_mark')], ref('hr_department_rd0'), None)
assert res['value']['parent_id']
values = dict([('department_id', ref('hr_department_rd0'))] + res['value'].items())
self.write(cr, uid, [ref('hr_employee_mark')], values, None)
-
Now I create a user for employee “Mark Johnson”.
-
!record {model: res.users, id: hr_users_markjohnson0}:
context_lang: en_US
groups_id:
- base.group_user
login: markjohnson
name: Mark Johnson
password: markjohnson
-
I assign user to employee “Mark Johnson”.
-
!python {model: hr.employee}: |
res = self.onchange_user(cr, uid, [ref('hr_employee_mark')], ref('hr_users_markjohnson0'), None)
values = dict([('user_id', ref('hr_users_markjohnson0'))] + res['value'].items())
self.write(cr, uid, [ref('hr_employee_mark')], values, None)
-
In order to check the wizard “Employee Hierarchy” , I will create new employee “Phil Graves” and select “Mark Johnson” as
Manager.
-
!record {model: hr.employee, id: hr_employee_phil}:
@@ -28,12 +58,20 @@
name: Phil Graves
user_id: base.user_demo
parent_id: 'hr_employee_mark'
-
I fill the Working address for Employee.
-
!python {model: hr.employee}: |
res = self.onchange_address_id(cr, uid, ref('hr_employee_phil'), ref('base.res_partner_address_3000'), None)
assert res['value']
values = dict([('address_id', ref('base.res_partner_address_3000'))] + res['value'].items())
self.write(cr, uid, [ref('hr_employee_phil')], values, None)
-
I will open up form view of “Mark Johnson” and test the wizard “Employee Hierarchy” so it display the employee
hierarchy starting from “Mark Johnson”.
-
I will create new Job Position. I will check successfull creation of new Job Position by adding the information.
I will create new Job Position. I will check successful creation of new Job Position by adding the information.
-
!record {model: hr.job, id: hr_job_jea0}:
department_id: 'hr_department_rd0'
@@ -45,7 +83,6 @@
-
!assert {model: hr.job, id: hr_job_jea0}:
- state == 'open'
-
I create Employee for job position.
-
@@ -61,3 +98,43 @@
-
!assert {model: hr.job, id: hr_job_jea0}:
- no_of_employee != False
-
As more requirements on the said job position are come, I increase the number of expected employees.
-
!python {model: hr.job}: |
res = self.on_change_expected_employee(cr, uid, [ref('hr_job_jea0')], 6, 3, None)
assert res['value']['expected_employees']
values = dict([('expected_employees', ref('hr_job_jea0'))] + res['value'].items())
self.write(cr, uid, [ref('hr_job_jea0')], values, None)
-
I open the job position for recruitment.
-
!python {model: hr.job}: |
self.job_recruitement(cr, uid, [ref('hr_job_jea0')])
-
I assign the job position to employee and mark the position.
-
!python {model: hr.job}: |
self.job_open(cr, uid, [ref('hr_job_jea0')])
-
Now the process is over so I don't want to use this position. I mark it as Old.
-
!python {model: hr.job}: |
self.job_old(cr, uid, [ref('hr_job_jea0')])
-
I create a parent category for the new recruited employees who are Freshers.
-
!record {model: hr.employee.category, id: hr_employee_category_fresher0}:
name: Fresher
-
I create another category for Junior Level freshers.
-
!record {model: hr.employee.category, id: hr_employee_category_juniorlevel0}:
name: Junior Level
parent_id: hr_employee_category_fresher0
-
I open the tree view of Categories and see the categories in a hierarchical manner.
-
!python {model: hr.employee.category}: |
res = self.name_get(cr, uid, [ref('hr_employee_category_juniorlevel0')], None)
assert res
+1 -1
View File
@@ -74,7 +74,7 @@
<field name="wage"/>
<field name="type_id" widget="selection"/>
</group>
<notebook>
<notebook colspan='4'>
<page string="Information" name="information">
<group col="2" colspan="2" name="left_column">
<separator colspan="2" string="Duration"/>
@@ -96,7 +96,13 @@
name: Final Interview with manager
sequence: 2
survey_id: 'survey_0'
-
I assign the evaluation plan to the employee "Mark Johnson".
-
!python {model: hr.employee}: |
res = self.onchange_evaluation_plan_id(cr, uid, [ref('hr_employee_employee0')], ref('hr_evaluation_plan_managersplan0'), False, None)
values = dict([('evaluation_plan_id', ref('hr_evaluation_plan_managersplan0'))] + res['value'].items())
self.write(cr, uid, [ref('hr_employee_employee0')], values, None)
-
I create an Evaluation for employee under "Manager Evaluation Plan".
-
@@ -106,18 +112,37 @@
plan_id: 'hr_evaluation_plan_managersplan0'
progress: 0.0
state: draft
-
I change the employee on Evaluation.
-
!python {model: hr_evaluation.evaluation}: |
res = self.onchange_employee_id(cr, uid, [ref('hr_evaluation_evaluation_0')], ref('hr_employee_employee0'), None)
values = dict([('employee_id', ref('hr_employee_employee0'))] + res['value'].items())
self.write(cr, uid, [ref('hr_evaluation_evaluation_0')], values, None)
-
I start the evaluation process by click on "Start Evaluation" button.
-
!python {model: hr_evaluation.evaluation}: |
self.button_plan_in_progress(cr, uid, [ref('hr_evaluation_evaluation_0')])
-
I find a mistake on evaluation form. So I cancel the evaluation and again start it.
-
!python {model: hr_evaluation.evaluation}: |
self.button_cancel(cr, uid, [ref('hr_evaluation_evaluation_0')])
self.button_draft(cr, uid, [ref('hr_evaluation_evaluation_0')])
self.button_plan_in_progress(cr, uid, [ref('hr_evaluation_evaluation_0')])
-
I close this survey request by giving answer of survey question.
-
!python {model: hr_evaluation.evaluation}: |
evaluation = self.browse(cr, uid, ref('hr_evaluation_evaluation_0'))
self.pool.get('hr.evaluation.interview').survey_req_done(cr, uid, [r.id for r in evaluation.survey_request_ids])
-
I print the survey.
-
!python {model: hr_evaluation.evaluation}: |
evaluation = self.browse(cr, uid, ref('hr_evaluation_evaluation_0'))
self.pool.get('hr.evaluation.interview').action_print_survey(cr, uid, [r.id for r in evaluation.survey_request_ids])
-
I click on "Final Validation" button to finalise evaluation.
-
+32 -7
View File
@@ -8,6 +8,12 @@
-
I create a new employee.
-
!record {model: hr.employee, id: hr.employee}:
address_home_id: base.res_partner_address_1
address_id: base.main_address
-
I assign home address to employee.
-
!record {model: hr.employee, id: hr.employee1}:
address_home_id: base.res_partner_address_1
@@ -26,7 +32,6 @@
!record {model: product.product, id: product_product_travel0}:
categ_id: product.product_category_services
cost_method: standard
hr_expense_ok: 1
list_price: 800.0
mes_type: fixed
name: Travel
@@ -40,15 +45,17 @@
warranty: 0.0
weight: 0.0
weight_net: 0.0
-
I mark this product for expenses.
-
!python {model: product.product}: |
self.on_change_hr_expense_ok(cr, uid, [ref('product_product_travel0')], True)
-
I create an expense.
-
!record {model: hr.expense.expense, id: hr_expense_expense_september0}:
company_id: base.main_company
currency_id: base.EUR
date: !eval "'%s-05-05' %(datetime.now().year)"
employee_id: hr.employee1
name: September Expenses
line_ids:
- date_value: !eval "'%s-05-27' %(datetime.now().year)"
@@ -63,6 +70,23 @@
-
!assert {model: hr.expense.expense, id: hr_expense_expense_september0}:
- state == 'draft'
-
I change the employee on expense form.
-
!python {model: hr.expense.expense}: |
res = self.onchange_employee_id(cr, uid, [ref('hr_expense_expense_september0')], ref('hr.employee1'), None)
values = dict([('employee_id', ref('hr.employee1'))] + res['value'].items())
self.write(cr, uid, [ref('hr_expense_expense_september0')], values, None)
-
Now I change the related product on expense line.
-
!python {model: hr.expense.expense}: |
exp_line_obj = self.pool.get('hr.expense.line')
exp_obj = self.browse(cr, uid, ref('hr_expense_expense_september0'), None)
line_ids = [line.id for line in exp_obj.line_ids]
res = exp_line_obj.onchange_product_id(cr, uid, line_ids, ref('product_product_expense_air'), False, ref('hr.employee1'), None)
values = dict([('product_id', ref('product_product_expense_air'))] + res['value'].items())
exp_line_obj.write(cr, uid, line_ids, values, None)
-
I confirm this expenses by click on "Confirm" button.
-
@@ -81,10 +105,10 @@
-
I invoiced this expense by click on "Invoice" button.
-
!workflow {model: hr.expense.expense, action: invoice, ref: hr_expense_expense_september0}
!python {model: hr.expense.expense}: |
self.invoice(cr, uid, [ref('hr_expense_expense_september0')], None)
-
I check that state is "Invoiced"
I check that state is "Invoiced".
-
!assert {model: hr.expense.expense, id: hr_expense_expense_september0}:
- state == 'invoiced'
@@ -94,3 +118,4 @@
!python {model: hr.expense.expense}: |
exp = self.browse(cr, uid, [ref('hr_expense_expense_september0')])[0]
assert exp.invoice_id, "Invoice should be created"
+35 -8
View File
@@ -9,7 +9,7 @@
<search string="Search Leave">
<group>
<filter icon="terp-check" domain="[('state','=','draft')]" string="To Confirm"/>
<filter icon="terp-camera_test" domain="[('state','=','confirm')]" string="To Approve"/>
<filter icon="terp-camera_test" domain="[('state','=','confirm')]" string="To Approve" name="approve"/>
<filter icon="terp-camera_test" domain="[('state','=','validate')]" string="Validated" name="validated"/>
<separator orientation="vertical"/>
<filter string="This Month" icon="terp-go-month" name="This Month" domain="[('date_from','&lt;=',(datetime.date.today()+relativedelta(day=31)).strftime('%%Y-%%m-%%d')),('date_from','&gt;=',(datetime.date.today()-relativedelta(day=1)).strftime('%%Y-%%m-%%d'))]"/>
@@ -200,6 +200,7 @@
<field name="arch" type="xml">
<tree colors="red:state == 'refuse';blue:state == ' draft';black:state in ('confirm','validate','validate1')" string="Leaves Summary">
<field name="employee_id"/>
<field name="category_id" invisible="1"/>
<field name="department_id" invisible="1"/>
<field name="type"/>
<field name="name"/>
@@ -258,21 +259,21 @@
</record>
<record model="ir.actions.act_window.view" id="action_open_ask_holidays_tree">
<field name="sequence" eval="1"/>
<field name="sequence" eval="2"/>
<field name="view_mode">tree</field>
<field name="view_id" ref="view_holiday"/>
<field name="act_window_id" ref="open_ask_holidays"/>
</record>
<record model="ir.actions.act_window.view" id="action_open_ask_holidays_form">
<field name="sequence" eval="2"/>
<field name="sequence" eval="3"/>
<field name="view_mode">form</field>
<field name="view_id" ref="edit_holiday_new"/>
<field name="act_window_id" ref="open_ask_holidays"/>
</record>
<record model="ir.actions.act_window.view" id="action_open_ask_holidays_calendar">
<field name="sequence" eval="3"/>
<field name="sequence" eval="1"/>
<field name="view_mode">calendar</field>
<field name="view_id" ref="view_holiday_new_calendar"/>
<field name="act_window_id" ref="open_ask_holidays"/>
@@ -280,6 +281,32 @@
<menuitem name="Leave Requests" parent="menu_open_ask_holidays" id="menu_open_ask_holidays_new" action="open_ask_holidays"/>
<record model="ir.actions.act_window" id="request_approve_holidays">
<field name="name">Requests Approve</field>
<field name="res_model">hr.holidays</field>
<field name="view_type">form</field>
<field name="context">{'search_default_approve':1,"search_default_department_id": department_id}</field>
<field name="domain">[('type','=','add')]</field>
<field name="view_id" ref="edit_holiday_new"/>
<field name="search_view_id" ref="view_hr_holidays_filter"/>
</record>
<record model="ir.actions.act_window.view" id="action_request_approve_holidays_tree">
<field name="sequence" eval="1"/>
<field name="view_mode">tree</field>
<field name="view_id" ref="view_holiday"/>
<field name="act_window_id" ref="request_approve_holidays"/>
</record>
<record model="ir.actions.act_window.view" id="action_request_approve_holidays_form">
<field name="sequence" eval="2"/>
<field name="view_mode">form</field>
<field name="view_id" ref="allocation_leave_new"/>
<field name="act_window_id" ref="request_approve_holidays"/>
</record>
<menuitem name="Leave Requests to Approve" parent="menu_open_ask_holidays" id="menu_request_approve_holidays" action="request_approve_holidays" groups="base.group_hr_user"/>
<record model="ir.actions.act_window" id="open_allocation_holidays">
<field name="name">Allocation Requests</field>
<field name="res_model">hr.holidays</field>
@@ -427,9 +454,9 @@
<!-- Shortcuts -->
<act_window name="Leaves" domain="[('type','=','remove')]" context="{'search_default_employee_id': [active_id], 'default_employee_id': active_id}" res_model="hr.holidays" src_model="hr.employee" view_id="view_holiday" id="act_hr_employee_holiday_request"/>
<!-- Assing leave -->
<record id="hr_holidays_leaves_assign_tree_view" model="ir.ui.view">
<field name="name">hr.employee.leave.tree</field>
<field name="model">hr.employee</field>
@@ -440,7 +467,7 @@
<field name="remaining_leaves" string="Remaining Legal Leaves"/>
</tree>
</field>
</record>
</record>
<record model="ir.actions.act_window" id="hr_holidays_leaves_assign_legal">
<field name="name">Allocate Leaves for Employees</field>
@@ -458,7 +485,7 @@
</record>
<!-- Hr employee inherit Legal Leaves -->
<record id="view_employee_form_leave_inherit" model="ir.ui.view">
<field name="name">hr.employee.leave.form.inherit</field>
<field name="model">hr.employee</field>
+1 -1
View File
@@ -3,7 +3,7 @@
<data>
<menuitem
id="menu_hr_reporting_holidays"
name="Holidays"
name="Leaves"
parent="hr.menu_hr_reporting"
sequence="6"/>
</data>
+1 -1
View File
@@ -84,7 +84,7 @@
<field name="act_from" ref="act_validate" />
<field name="act_to" ref="act_validate1" />
<field name="signal">second_validate</field>
<field name="group_id" ref="base.group_hr_user"/>
<field name="group_id" ref="base.group_hr_manager" />
</record>
<record model="workflow.transition" id="t11">
+36 -2
View File
@@ -42,18 +42,52 @@
I allocate leave request for employee "Phil Graves".
-
!record {model: hr.holidays, id: hr_holidays_allocateleaveforuser0}:
employee_id: 'hr_employee_philgraves0'
holiday_status_id: hr_holidays_status_sick0
name: Sick Leaves for Phil Graves
number_of_days_temp: 12.0
date_from: !eval "'%s-05-20 13:59:00' %(datetime.now().year)"
date_to: !eval "'%s-05-22 13:59:00' %(datetime.now().year)"
type: add
-
I assign allocation type as 'Employee'.
-
!python {model: hr.holidays}: |
self.onchange_type(cr, uid, [ref('hr_holidays_allocateleaveforuser0')], 'employee')
-
I change Leave Type of the employee.
-
!python {model: hr.holidays}: |
res = self.onchange_sec_id(cr, uid, [ref('hr_holidays_allocateleaveforuser0')], ref('holiday_status_sl'))
values = dict([('holiday_status_id', ref('holiday_status_sl'))] + res['value'].items())
self.write(cr, uid, [ref('hr_holidays_allocateleaveforuser0')], values, None)
-
I assign the dates in the holiday request.
-
!python {model: hr.holidays}: |
from datetime import datetime
date_from = '%s-%s-%s 14:00:00' %(datetime.now().year, datetime.now().month, datetime.now().day)
date_to = '%s-%s-%s 19:59:00' %(datetime.now().year, datetime.now().month, datetime.now().day)
res = self.onchange_date_from(cr, uid, [ref('hr_holidays_allocateleaveforuser0')], date_to, date_from)
values = dict([('date_from', date_from),('date_to',date_to)] + res['value'].items())
self.write(cr, uid, [ref('hr_holidays_allocateleaveforuser0')], values, None)
-
I confirmed the allocation by clicking on "Confirm" button.
-
!workflow {model: hr.holidays, action: confirm, ref: hr_holidays_allocateleaveforuser0}
-
I find a small mistake on my leave request to I refuse the leave request to correct a mistake.
-
!workflow {model: hr.holidays, action: refuse, ref: hr_holidays_allocateleaveforuser0}
-
I again set to draft and then confirm.
-
!python {model: hr.holidays}: |
import netsvc
wf_service = netsvc.LocalService("workflow")
self.set_to_draft(cr, uid, [ref('hr_holidays_allocateleaveforuser0')])
wf_service.trg_validate(uid, 'hr.holidays', ref('hr_holidays_allocateleaveforuser0'), 'confirm', cr)
-
I validate the allocation by clicking on "To Approve" button.
-
@@ -68,7 +102,7 @@
employee_id: 'hr_employee_philgraves0'
holiday_status_id: 'hr_holidays_status_sick0'
name: Appointment with Doctor
notes: My appointment with the doctor is confirmed. so please accept my leave.
notes: My appointment with the doctor is confirmed. So please accept my leave.
number_of_days_temp: 2.0
type: remove
user_id: 'test_holiday_user1'
+1 -1
View File
@@ -23,7 +23,7 @@
'name': 'Payroll',
'version': '1.0',
'category': 'Human Resources',
'complexity': "expert",
'complexity': "normal",
'description': """
Generic Payroll system.
=======================
+2 -2
View File
@@ -211,7 +211,7 @@ class one2many_mod2(fields.one2many):
class hr_payslip_run(osv.osv):
_name = 'hr.payslip.run'
_description = 'Payslip Run'
_description = 'Payslip Batches'
_columns = {
'name': fields.char('Name', size=64, required=True, readonly=True, states={'draft': [('readonly', False)]}),
'slip_ids': fields.one2many('hr.payslip', 'payslip_run_id', 'Payslips', required=False, readonly=True, states={'draft': [('readonly', False)]}),
@@ -286,7 +286,7 @@ class hr_payslip(osv.osv):
'contract_id': fields.many2one('hr.contract', 'Contract', required=False, readonly=True, states={'draft': [('readonly', False)]}),
'details_by_salary_rule_category': fields.function(_get_lines_salary_rule_category, method=True, type='one2many', relation='hr.payslip.line', string='Details by Salary Rule Category'),
'credit_note': fields.boolean('Credit Note', help="Indicates this payslip has a refund of another", readonly=True, states={'draft': [('readonly', False)]}),
'payslip_run_id': fields.many2one('hr.payslip.run', 'Payslip Run', readonly=True, states={'draft': [('readonly', False)]}),
'payslip_run_id': fields.many2one('hr.payslip.run', 'Payslip Batches', readonly=True, states={'draft': [('readonly', False)]}),
}
_defaults = {
'date_from': lambda *a: time.strftime('%Y-%m-01'),
+7 -7
View File
@@ -392,7 +392,7 @@
<group expand="0" string="Group By...">
<filter string="Employees" icon="terp-personal" name="employee_id" context="{'group_by':'employee_id'}"/>
<separator orientation="vertical"/>
<filter string="PaySlip Run" name="payslip_run_id" icon="terp-folder-orange" context="{'group_by':'payslip_run_id'}"/>
<filter string="PaySlip Batch" name="payslip_run_id" icon="terp-folder-orange" context="{'group_by':'payslip_run_id'}"/>
<separator orientation="vertical" groups="base.group_multi_company"/>
<filter string="Companies" name="company_id" groups="base.group_multi_company" icon="terp-go-home" context="{'group_by':'company_id'}"/>
<separator orientation="vertical"/>
@@ -684,9 +684,9 @@
<field name="model">hr.payslip.run</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Payslip Runs">
<filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Payslip Runs"/>
<filter icon="terp-camera_test" string="Done" domain="[('state','=','close')]" help="Done Payslip Runs"/>
<search string="Search Payslip Batches">
<filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Payslip Batches"/>
<filter icon="terp-camera_test" string="Done" domain="[('state','=','close')]" help="Done Payslip Batches"/>
<separator orientation="vertical"/>
<field name="name"/>
<field name="date_start"/>
@@ -700,7 +700,7 @@
<field name="model">hr.payslip.run</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Payslips Run">
<tree string="Payslips Batches">
<field name="name"/>
<field name="date_start"/>
<field name="date_end"/>
@@ -715,7 +715,7 @@
<field name="model">hr.payslip.run</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Payslips Run">
<form string="Payslips Batches">
<group col="6" colspan="4">
<field name="name" colspan="4"/>
<field name="credit_note"/>
@@ -738,7 +738,7 @@
</record>
<record id="action_hr_payslip_run_tree" model="ir.actions.act_window">
<field name="name">Payslips Run</field>
<field name="name">Payslips Batches</field>
<field name="res_model">hr.payslip.run</field>
<field name="view_type">form</field>
<field name="view_id" ref="hr_payslip_run_tree"/>
+43 -2
View File
@@ -16,7 +16,6 @@
name: Salary Structure for Software Developer
code: SD
company_id: base.main_company
parent_id: structure_base
rule_ids:
- hr_salary_rule_houserentallowance1
- hr_salary_rule_convanceallowance1
@@ -91,4 +90,46 @@
!python {model: hr.payslip}: |
from tools.translate import _
payslip_brw=self.browse(cr, uid, ref("hr_payslip_0"))
assert(payslip_brw.state == 'done'), _('State not changed!')
assert(payslip_brw.state == 'done'), _('State not changed!')
-
I want to check refund payslip so I click on refund button.
-
!python {model: hr.payslip}: |
self.refund_sheet(cr, uid, [ref("hr_payslip_0")], None)
-
I check on new payslip Credit Note is checked or not.
-
!python {model: hr.payslip}: |
payslip_obj = self.browse(cr, uid, ref("hr_payslip_0"), None)
payslip_ids = self.search(cr, uid, [('name','like','Refund: '+payslip_obj.name),('credit_note','=',True)], None)
assert payslip_ids, "Payslip not refunded!"
-
I want to generate a payslip from Payslip run.
-
!record {model: hr.payslip.run, id: hr_payslip_run_PayslipforEmployee0}:
date_end: '2011-09-30'
date_start: '2011-09-01'
name: Payslip for Employee
-
I create record for generating the payslip for this Payslip run.
-
!record {model: hr.payslip.employees, id: hr_payslip_employees0}:
employee_ids:
- hr_employee_richard0
-
I generate the payslip by clicking on Generat button wizard.
-
!python {model: hr.payslip.employees}: |
self.compute_sheet(cr, uid, [ref('hr_payslip_employees0')], context={'active_id': ref('hr_payslip_run_PayslipforEmployee0')})
-
I open Contribution Register and from there I print the Payslip Lines report.
-
!record {model: payslip.lines.contribution.register, id: payslip_lines_contribution_register0}:
date_from: '2011-09-30'
date_to: '2011-09-01'
-
I print the report.
-
!python {model: payslip.lines.contribution.register}: |
self.print_report(cr, uid, [ref('payslip_lines_contribution_register0')], context={'active_ids': [ref('hr_houserent_register')]})
@@ -1,7 +1,7 @@
-
I test the "Payslip" in order to check the hr_payroll_account module in OpenERP
I test the "Payslip" in order to check the hr_payroll_account module in OpenERP.
-
I create a bank record
I create a bank record.
-
!record {model: res.partner.bank, id: res_partner_bank_0}:
acc_number: '001-9876543-21'
@@ -9,7 +9,7 @@
state: bank
bank: base.res_bank_1
-
I create a new employee "John"
I create a new employee "John".
-
!record {model: hr.employee, id: hr_employee_john}:
address_home_id: base.res_partner_address_2
@@ -24,7 +24,7 @@
bank_account_id: res_partner_bank_0
vehicle_distance: 0.0
-
I create a salary structure for 'Software Developer'
I create a salary structure for 'Software Developer'.
-
!record {model: hr.payroll.structure, id: hr_payroll_structure_softwaredeveloper}:
name: Salary Structure for Software Developer
@@ -39,7 +39,7 @@
- hr_payroll.hr_salary_rule_meal_voucher
- hr_payroll.hr_salary_rule_sales_commission
-
I create a contract for "John"
I create a contract for "John".
-
!record {model: hr.contract, id: hr_contract_john}:
date_end: !eval "'%s-%s-%s' %(datetime.now().year+1,datetime.now().month,datetime.now().day)"
@@ -50,14 +50,16 @@
employee_id: hr_employee_john
struct_id: hr_payroll_structure_softwaredeveloper
working_hours: resource.timesheet_group1
journal_id: account.expenses_journal
-
I create a Payslip
I create a Payslip.
-
!record {model: hr.payslip, id: hr_payslip_0}:
employee_id: hr_employee_john
journal_id: account.expenses_journal
-
The selection of an employee fills the contract, structure, worked days and input data fields
The selection of an employee fills the contract, structure, worked days and input data fields.
-
!python {model: hr.payslip}: |
import time
@@ -71,25 +73,27 @@
'struct_id': res['value']['struct_id'],
'contract_id': res['value']['contract_id'],
'name': res['value']['name'],
}
}
vals['worked_days_line_ids'] = [(0,0,i) for i in res['value']['worked_days_line_ids']]
vals['input_line_ids'] = [(0,0,i) for i in res['value']['input_line_ids']]
res_contract = self.onchange_contract_id(cr, uid, [ref('hr_payslip_0')], date_from, date_to, ref('hr_employee_john'), ref('hr_contract_john'), None)
vals.update({'contract_id': ref('hr_contract_john')})
self.write(cr, uid, ref("hr_payslip_0"), vals)
-
I assign the amount to Input data
I assign the amount to Input data.
-
!python {model: hr.payslip.input}: |
ids = self.search(cr, uid, [('payslip_id', '=', ref("hr_payslip_0"))])
self.write(cr, uid, ids, {'amount': 5.0})
-
I verify the payslip is in draft state
I verify the payslip is in draft state.
-
!python {model: hr.payslip}: |
from tools.translate import _
payslip_brw=self.browse(cr, uid, ref("hr_payslip_0"))
assert(payslip_brw.state == 'draft'), _('State not changed!')
-
I click on "Compute Sheet" button
I click on "Compute Sheet" button.
-
!python {model: hr.payslip}: |
self.compute_sheet(cr, uid, [ref("hr_payslip_0")], {"lang": "en_US", "tz": False,
@@ -97,19 +101,28 @@
"section_id": False, "active_id": ref("hr_payroll.menu_department_tree"),
})
-
Then I click on the "Confirm" button
I want to check cancel button. So I first cancel the sheet then make it set to draft.
-
!python {model: hr.payslip}: |
import netsvc
wf_service = netsvc.LocalService("workflow")
self.cancel_sheet(cr, uid, [ref("hr_payslip_0")], None)
wf_service.trg_validate(uid, 'hr.payslip', ref("hr_payslip_0"), 'draft', cr)
-
Then I click on the "Confirm" button.
-
!workflow {model: hr.payslip, action: hr_verify_sheet, ref: hr_payslip_0}
-
I verify that the Accounting Entries are created
I verify that the Accounting Entries are created.
-
!python {model: hr.payslip}: |
payslip = self.browse(cr, uid, ref("hr_payslip_0"))
assert payslip.move_id, "Accounting Entries has not been created"
-
I verify that the payslip is in done state
I verify that the payslip is in done state.
-
!python {model: hr.payslip}: |
from tools.translate import _
payslip_brw=self.browse(cr, uid, ref("hr_payslip_0"))
assert(payslip_brw.state == 'done'), _('State not changed!')
+1 -1
View File
@@ -473,7 +473,7 @@ class hr_job(osv.osv):
_inherit = "hr.job"
_name = "hr.job"
_columns = {
'survey_id': fields.many2one('survey', 'Survey', help="Select survey for the current job"),
'survey_id': fields.many2one('survey', 'Interview Form', help="Choose an interview form for this job position and you will be able to print/answer this interview from all applicants who apply for this job"),
}
hr_job()
@@ -151,6 +151,7 @@
<field eval="time.strftime('%Y-%m-15')" name="date_deadline"/>
<field eval="'6630125'" name="partner_phone"/>
<field name="job_id" ref="hr.job_jr_appli"/>
<field name="department_id" ref="hr.dep_it"/>
<field eval="11000.0" name="salary_expected"/>
</record>
@@ -8,7 +8,7 @@
<field name="res_model">hr.applicant</field>
<field name="view_mode">tree,form,graph,calendar,kanban</field>
<field name="view_id" ref="crm_case_tree_view_job"/>
<field name="context">{"search_default_user_id":uid, 'search_default_current': 1,"search_default_department_id": department_id}</field>
<field name="context">{'search_default_filter_inprogress':1,'search_default_filter_new':1,"search_default_department_id": department_id}</field>
<field name="search_view_id" ref="view_crm_case_jobs_filter"/>
<field name="help">From this menu you can track applicants in the recruitment process and manage all operations: meetings, interviews, phone calls, etc. If you setup the email gateway, applicants and their attached CV are created automatically when an email is sent to jobs@yourcompany.com. If you install the document management modules, all documents (CV and motivation letters) are indexed automatically, so that you can easily search through their content.</field>
</record>
@@ -218,11 +218,11 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Jobs">
<filter icon="terp-document-new" string="New"
<filter icon="terp-document-new" string="New" name="filter_new"
domain="[('state','=','draft')]"
help="All Initial Jobs"
/>
<filter icon="terp-camera_test" string="In Progress"
<filter icon="terp-camera_test" string="In Progress" name="filter_inprogress"
domain="[('state','=','open')]"
help="Open Jobs"
/>
@@ -334,7 +334,7 @@
<a string="Change Color" icon="color-picker" type="color" name="color"/>
<a string="Send New Email" name="%(mail.action_email_compose_message_wizard)d" icon="terp-mail-message-new" type="action"/>
<a string="Add Internal Note" name="%(crm.action_crm_add_note)d" context="{'model': 'crm.lead' }" icon="terp-document-new" type="action"/>
<a name="action_makeMeeting" type="object" string="Schedule Meeting" icon="gtk-redo" />
<a string="Schedule Meeting" name="action_makeMeeting" type="object" icon="stock_calendar"/>
<a t-if="record.survey.raw_value" name="action_print_survey" type="object" string="Print Interview" icon="gtk-print" />
</div>
<div class="oe_kanban_right">
@@ -52,7 +52,12 @@
!python {model: hr.applicant}: |
self.case_open(cr, uid, [ref("hr_applicant_fresher0")], {"active_ids": [ref("hr_recruitment.menu_crm_case_categ0_act_job")],
})
-
I change the stages by clicking on stage next and stage previous buttons.
-
!python {model: hr.applicant}: |
self.stage_next(cr, uid, [ref('hr_applicant_fresher0')], None)
self.stage_previous(cr, uid, [ref('hr_applicant_fresher0')], None)
-
I create a new case category.
-
@@ -97,14 +102,38 @@
rrule_type: none
state: open
user_id: base.user_root
-
I print the survery filled up by the applicant.
-
!python {model: hr.applicant}: |
self.action_print_survey(cr, uid, [ref('hr_applicant_fresher0')], None)
-
I assign the position to the applicant and its relevant department.
-
!python {model: hr.applicant}: |
res = self.onchange_job(cr, uid, [ref('hr_applicant_fresher0')], ref('hr.job_jr_developers'), None)
values = dict([('job_id', ref('hr.job_jr_developers'))] + res['value'].items())
res1 = self.onchange_department_id(cr, uid, [ref('hr_applicant_fresher0')], ref('hr.dep_it'), None)
values.update(dict([('department_id', ref('hr.dep_it'))] + res1['value'].items()))
self.write(cr, uid, [ref('hr_applicant_fresher0')], values, None)
-
On a successful meeting with the applicant, I hired employee by click on "Hired" button.
-
!python {model: hr.applicant}: |
self.case_close(cr, uid, [ref('hr_applicant_fresher0')])
!python {model: hired.employee}: |
self.case_close(cr, uid, [], context={'active_ids': [ref('hr_applicant_fresher0')]})
-
I check that applicant state is "Hired".
-
!assert {model: hr.applicant, id: hr_applicant_fresher0}:
- state == 'done'
-
I create partner for the hired applicant for accounting purpose.
-
!record {model: hr.recruitment.partner.create, id: hr_recruitment_partner_create0}:
close: False
-
I click on Create Partner button to create a partner for applicant.
-
!python {model: hr.recruitment.partner.create}: |
self.make_order(cr, uid, [ref('hr_recruitment_partner_create0')], context={'active_ids': [ref('hr_applicant_fresher0')]})
+21 -10
View File
@@ -37,14 +37,6 @@
parent_id: 'hr_employee_employee0'
user_id: 'test_timesheet_user1'
-
I create Timesheet journal for employee.
-
!record {model: account.analytic.journal, id: analytic_journal}:
code: TS
name: Timesheet Journal
type: general
-
I create a product as "Consultancy - Senior Developer".
-
@@ -103,7 +95,26 @@
uid = ref('test_timesheet_user1')
new_id = self.create(cr, uid, {'emp_id': ref('hr_employee_fracline1'), 'name': 'Francline', 'server_date': time.strftime('%Y-%m-%d %H:%M:%S'), 'state': 'absent'})
self.sign_in_result(cr, uid, [new_id], context)
-
I create a timesheet line manually to check several default values.
I also assign proper date and user for that line.
-
!python {model: hr.analytic.timesheet}: |
import time
uid = ref('test_timesheet_user1')
current_date = time.strftime('%Y-%m-%d')
vals = {'name': 'Worked on project',
'user_id': ref('test_timesheet_user1'),
'account_id': ref('account.analytic_project_1_development'),
'unit_amount': 5.00,
'journal_id': ref('analytic_journal')
}
line_id = self.create(cr, uid, vals, None)
res = self.on_change_date(cr, uid, [line_id], current_date)
values = dict([('date', current_date)] + res['value'].items())
res1 = self.on_change_user_id(cr, uid, [line_id], ref('base.user_root'))
values.update(dict([('user_id', ref('base.user_root'))] + res1['value'].items()))
self.write(cr, uid, [line_id], values, None)
-
To stop work I click on "Sign In/Sign Out" button of "Sign In/Sign Out by Project" wizard.
Which check state in hr attendace form for user.
@@ -113,7 +124,6 @@
ids = self.search(cr, uid, [('emp_id', '=', ref('hr_employee_fracline1')),('name', '=', 'Francline')])
self.check_state(cr, uid, ids, {"active_ids": [ref("hr_timesheet.action_hr_timesheet_sign_in")]
})
-
I Create an analytic account "Project2".
-
@@ -136,3 +146,4 @@
- |
I can see employee timesheet for particular month using "Employee Timesheet" report.
@@ -23,7 +23,17 @@
!record {model: account.analytic.account, id: account.analytic_sednacom}:
partner_id: base.res_partner_desertic_hispafuentes
pricelist_id: product.list0
-
I open this account and make the state as pending.
-
!python {model: account.analytic.account}: |
self.set_open(cr, uid, [ref('account.analytic_sednacom')], None)
self.set_pending(cr, uid, [ref('account.analytic_sednacom')], None)
-
I assign account on analytic account line.
-
!python {model: hr.analytic.timesheet}: |
self.on_change_account_id(cr, uid, [ref('account_analytic_line_developyamlforhrmodule0')], ref('account.analytic_sednacom'))
-
I create invoice on analytic Line using "Invoice analytic Line" wizard.
-
@@ -73,11 +83,15 @@
price: 1
time: 1
-
I click on "Create Invoice" button to create Invoice.
I click on "Create Invoice" button to create Invoice and validate the invoice.
-
!python {model: hr.timesheet.invoice.create.final}: |
self.do_create(cr, uid, [ref("hr_timesheet_invoice_create_final_0")], {"active_ids": [ref("account.analytic_sednacom")]})
import netsvc
wkf_service = netsvc.LocalService("workflow")
res = self.do_create(cr, uid, [ref("hr_timesheet_invoice_create_final_0")], {"active_ids": [ref("account.analytic_sednacom")]})
invoice_ids = eval(res['domain'])[0][2]
for inv in invoice_ids:
wkf_service.trg_validate(uid, 'account.invoice', inv, 'invoice_open', cr)
-
I can also make some theoretical revenue reports.
-
@@ -313,7 +313,7 @@ class hr_timesheet_sheet(osv.osv):
def _default_employee(self, cr, uid, context=None):
emp_ids = self.pool.get('hr.employee').search(cr, uid, [('user_id','=',uid)], context=context)
return emp_ids and emp_ids[0] or False
_defaults = {
'date_from' : _default_date_from,
'date_current' : lambda *a: time.strftime('%Y-%m-%d'),
@@ -329,7 +329,7 @@ class hr_timesheet_sheet(osv.osv):
if new_user_id:
cr.execute('SELECT id \
FROM hr_timesheet_sheet_sheet \
WHERE (date_from < %s and %s < date_to) \
WHERE (date_from <= %s and %s <= date_to) \
AND user_id=%s \
AND id <> %s',(sheet.date_to, sheet.date_from, new_user_id, sheet.id))
if cr.fetchall():
@@ -186,7 +186,7 @@
<field name="res_model">hr_timesheet_sheet.sheet</field>
<field name="view_type">form</field>
<field name="view_id" eval="False"/>
<field name="context">{'search_default_my_timesheet':1, }</field>
<field name="context">{'search_default_my_timesheet':1,'group_by_no_leaf':1}</field>
<field name="search_view_id" ref="view_hr_timesheet_sheet_filter"/>
<field name="help">Check your timesheets for a specific period. You can also encode time spent on a project (i.e. an analytic account) thus generating costs in the analytic account concerned.</field>
</record>
@@ -71,13 +71,30 @@
user_id: base.user_demo
employee_id: 'hr_employee_employee0'
-
Now , at the time of login, I create Attendances and perform "Sign In" action.
Now, at the time of login, I create Attendances and perform "Sign In" action.
-
!record {model: hr.attendance, id: hr_attendance_0}:
action: sign_in
employee_id: 'hr_employee_employee0'
name: !eval time.strftime('%Y-%m-%d')+' '+'%s:%s:%s' %(max(0,datetime.now().hour-1),max(0,datetime.now().minute-1),max(0,datetime.now().second-1))
!python {model: hr_timesheet_sheet.sheet}:
self.sign_in(cr, uid, [ref('hr_timesheet_sheet_sheet_deddk0')], {})
-
I want to check attendance and work of yesterday. I click on <- button.
-
!python {model: hr_timesheet_sheet.sheet}: |
self.date_previous(cr, uid, [ref('hr_timesheet_sheet_sheet_deddk0')], None)
-
Then I click on "Today" button to fill today's timesheet.
-
!python {model: hr_timesheet_sheet.sheet}: |
self.date_today(cr, uid, [ref('hr_timesheet_sheet_sheet_deddk0')], None)
-
I want to go to a particular date and see attendance then I select the date and click on "Go to:" button.
-
!python {model: hr_timesheet_sheet.sheet}: |
self.button_dummy(cr, uid, [ref('hr_timesheet_sheet_sheet_deddk0')], None)
-
I can also move to next day by clicking on -> button.
-
!python {model: hr_timesheet_sheet.sheet}: |
self.date_next(cr, uid, [ref('hr_timesheet_sheet_sheet_deddk0')], None)
-
At the time of logout, I create attendance and perform "Sign Out".
-
@@ -88,7 +105,6 @@
-
I create Timesheet Entry for time spend on today work.
-
!record {model: hr_timesheet_sheet.sheet, id: hr_timesheet_sheet_sheet_deddk0}:
timesheet_ids:
+14 -10
View File
@@ -8,24 +8,24 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
"PO-Revision-Date: 2011-09-24 09:55+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2011-11-08 22:09+0000\n"
"Last-Translator: OpenERP Danmark / Henning Dinsen <Unknown>\n"
"Language-Team: Danish <da@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: 2011-11-05 05:53+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-11-10 04:58+0000\n"
"X-Generator: Launchpad (build 14263)\n"
#. module: html_view
#: field:html.view,name:0
msgid "Name"
msgstr ""
msgstr "Navn"
#. module: html_view
#: field:html.view,comp_id:0
msgid "Company"
msgstr "Virksomhed"
msgstr "Firma"
#. module: html_view
#: model:ir.actions.act_window,name:html_view.action_html_view_form
@@ -36,17 +36,17 @@ msgstr "HTML test"
#. module: html_view
#: view:html.view:0
msgid "Html Example"
msgstr ""
msgstr "HTML eksempel"
#. module: html_view
#: model:ir.module.module,shortdesc:html_view.module_meta_information
msgid "Html View"
msgstr ""
msgstr "HTML visning"
#. module: html_view
#: field:html.view,bank_ids:0
msgid "Banks"
msgstr ""
msgstr "Banker"
#. module: html_view
#: model:ir.module.module,description:html_view.module_meta_information
@@ -56,8 +56,12 @@ msgid ""
"view.\n"
" "
msgstr ""
"\n"
" Dette er testmodulet, der viser understøttelse af HTML tags i en normal "
"XML formular.\n"
" "
#. module: html_view
#: model:ir.model,name:html_view.model_html_view
msgid "html.view"
msgstr ""
msgstr "html.view"
+1 -1
View File
@@ -23,7 +23,7 @@
{
'name': 'Ideas Box',
'version': '0.1',
'category': 'Hidden',
'category': 'Human Resources',
'complexity': "easy",
'description': """
This module allows your user to easily and efficiently participate in enterprise innovation.
+14 -14
View File
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
"PO-Revision-Date: 2011-11-01 20:17+0000\n"
"PO-Revision-Date: 2011-11-08 21:34+0000\n"
"Last-Translator: OpenERP Danmark / Henning Dinsen <Unknown>\n"
"Language-Team: Danish <da@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: 2011-11-05 05:17+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-11-10 04:57+0000\n"
"X-Generator: Launchpad (build 14263)\n"
#. module: idea
#: help:idea.category,visibility:0
@@ -154,7 +154,7 @@ msgstr "Idéstemme"
#. module: idea
#: field:idea.category,parent_id:0
msgid "Parent Categories"
msgstr ""
msgstr "Forældrekategorier"
#. module: idea
#: selection:idea.idea,my_vote:0
@@ -443,7 +443,7 @@ msgstr "Brugernavn"
#. module: idea
#: model:ir.model,name:idea.model_idea_vote_stat
msgid "Idea Votes Statistics"
msgstr ""
msgstr "Stemme statistik"
#. module: idea
#: field:idea.comment,user_id:0
@@ -451,7 +451,7 @@ msgstr ""
#: field:idea.vote,user_id:0
#: view:report.vote:0
msgid "User"
msgstr "Bruger"
msgstr "User"
#. module: idea
#: field:idea.vote,date:0
@@ -461,7 +461,7 @@ msgstr "Dato"
#. module: idea
#: view:idea.post.vote:0
msgid "Post"
msgstr ""
msgstr "Send"
#. module: idea
#: field:idea.idea,my_vote:0
@@ -512,7 +512,7 @@ msgstr "Historik"
#. module: idea
#: view:idea.idea:0
msgid "Vots Statistics"
msgstr ""
msgstr "Stemme statistik"
#. module: idea
#: field:report.vote,date:0
@@ -551,7 +551,7 @@ msgstr "Luk"
#: view:idea.idea:0
#: view:report.vote:0
msgid "Open"
msgstr "Åbn"
msgstr "Åben"
#. module: idea
#: view:report.vote:0
@@ -640,17 +640,17 @@ msgstr "April"
#. module: idea
#: field:idea.idea,count_comments:0
msgid "Count of comments"
msgstr ""
msgstr "Antal kommentarer"
#. module: idea
#: field:idea.vote,score:0
msgid "Vote Status"
msgstr ""
msgstr "Stemme status"
#. module: idea
#: field:idea.idea,vote_avg:0
msgid "Average Score"
msgstr ""
msgstr "Gennemsnitlig score"
#. module: idea
#: field:idea.comment,idea_id:0
@@ -662,7 +662,7 @@ msgstr ""
#: view:report.vote:0
#: field:report.vote,idea_id:0
msgid "Idea"
msgstr ""
msgstr "Idé"
#. module: idea
#: view:idea.idea:0
@@ -672,7 +672,7 @@ msgstr "Godkend"
#. module: idea
#: field:idea.post.vote,vote:0
msgid "Post Vote"
msgstr ""
msgstr "Send stemme"
#. module: idea
#: view:report.vote:0
+155
View File
@@ -0,0 +1,155 @@
# Danish translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
"PO-Revision-Date: 2011-11-09 21:31+0000\n"
"Last-Translator: OpenERP Danmark / Henning Dinsen <Unknown>\n"
"Language-Team: Danish <da@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: 2011-11-10 04:58+0000\n"
"X-Generator: Launchpad (build 14263)\n"
#. module: knowledge
#: model:ir.ui.menu,name:knowledge.menu_document
msgid "Knowledge"
msgstr "Viden"
#. module: knowledge
#: help:knowledge.installer,wiki_quality_manual:0
msgid "Creates an example skeleton for a standard quality manual."
msgstr ""
#. module: knowledge
#: view:knowledge.installer:0
msgid "Share information within the company with these specific Addons."
msgstr ""
#. module: knowledge
#: field:knowledge.installer,document_ftp:0
msgid "Shared Repositories (FTP)"
msgstr ""
#. module: knowledge
#: model:ir.module.module,shortdesc:knowledge.module_meta_information
msgid "Knowledge Management System"
msgstr ""
#. module: knowledge
#: field:knowledge.installer,wiki:0
msgid "Collaborative Content (Wiki)"
msgstr ""
#. module: knowledge
#: help:knowledge.installer,document_ftp:0
msgid ""
"Provides an FTP access to your OpenERP's Document Management System. It lets "
"you access attachments and virtual documents through a standard FTP client."
msgstr ""
#. module: knowledge
#: help:knowledge.installer,document_webdav:0
msgid ""
"Provides a WebDAV access to your OpenERP's Document Management System. Lets "
"you access attachments and virtual documents through your standard file "
"browser."
msgstr ""
#. module: knowledge
#: view:knowledge.installer:0
msgid "Configure"
msgstr "Konfigurer"
#. module: knowledge
#: view:knowledge.installer:0
msgid "title"
msgstr "titel"
#. module: knowledge
#: model:ir.module.module,description:knowledge.module_meta_information
msgid ""
"Installer for knowledge-based tools\n"
" "
msgstr ""
#. module: knowledge
#: model:ir.ui.menu,name:knowledge.menu_document_configuration
msgid "Configuration"
msgstr "Konfiguration"
#. module: knowledge
#: model:ir.actions.act_window,name:knowledge.action_knowledge_installer
msgid "Knowledge Modules Installation"
msgstr ""
#. module: knowledge
#: field:knowledge.installer,wiki_quality_manual:0
msgid "Quality Manual"
msgstr ""
#. module: knowledge
#: field:knowledge.installer,document_webdav:0
msgid "Shared Repositories (WebDAV)"
msgstr ""
#. module: knowledge
#: field:knowledge.installer,progress:0
msgid "Configuration Progress"
msgstr "Konfigurationsfremgang"
#. module: knowledge
#: help:knowledge.installer,wiki_faq:0
msgid ""
"Creates a skeleton internal FAQ pre-filled with documentation about "
"OpenERP's Document Management System."
msgstr ""
#. module: knowledge
#: field:knowledge.installer,wiki_faq:0
msgid "Internal FAQ"
msgstr ""
#. module: knowledge
#: model:ir.ui.menu,name:knowledge.menu_document2
msgid "Collaborative Content"
msgstr ""
#. module: knowledge
#: field:knowledge.installer,config_logo:0
msgid "Image"
msgstr "Billede"
#. module: knowledge
#: model:ir.actions.act_window,name:knowledge.action_knowledge_installer
#: view:knowledge.installer:0
msgid "Knowledge Application Configuration"
msgstr ""
#. module: knowledge
#: model:ir.model,name:knowledge.model_knowledge_installer
msgid "knowledge.installer"
msgstr ""
#. module: knowledge
#: view:knowledge.installer:0
msgid "Configure Your Knowledge Application"
msgstr ""
#. module: knowledge
#: help:knowledge.installer,wiki:0
msgid ""
"Lets you create wiki pages and page groups in order to keep track of "
"business knowledge and share it with and between your employees."
msgstr ""
#. module: knowledge
#: view:knowledge.installer:0
msgid "Content templates"
msgstr ""

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