merge trunk
bzr revid: nicolas.vanhoren@openerp.com-20120921133748-7rfw8h8x38z2wjdp
This commit is contained in:
commit
68499fbb8b
|
@ -836,6 +836,8 @@ class account_journal(osv.osv):
|
|||
|
||||
@return: Returns a list of tupples containing id, name
|
||||
"""
|
||||
if not ids:
|
||||
return []
|
||||
if isinstance(ids, (int, long)):
|
||||
ids = [ids]
|
||||
result = self.browse(cr, user, ids, context=context)
|
||||
|
|
|
@ -1103,10 +1103,10 @@ class account_invoice(osv.osv):
|
|||
if not ids:
|
||||
return []
|
||||
types = {
|
||||
'out_invoice': 'CI: ',
|
||||
'in_invoice': 'SI: ',
|
||||
'out_refund': 'OR: ',
|
||||
'in_refund': 'SR: ',
|
||||
'out_invoice': 'Invoice ',
|
||||
'in_invoice': 'Sup. Invoice ',
|
||||
'out_refund': 'Refund ',
|
||||
'in_refund': 'Supplier Refund ',
|
||||
}
|
||||
return [(r['id'], (r['number']) or types[r['type']] + (r['name'] or '')) for r in self.read(cr, uid, ids, ['type', 'number', 'name'], context, load='_classic_write')]
|
||||
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
<menuitem id="menu_analytic" parent="menu_analytic_accounting" name="Accounts" groups="analytic.group_analytic_accounting"/>
|
||||
<menuitem id="menu_journals" sequence="15" name="Journals" parent="menu_finance_configuration" groups="group_account_manager"/>
|
||||
<menuitem id="menu_configuration_misc" name="Miscellaneous" parent="menu_finance_configuration" sequence="55"/>
|
||||
<menuitem id="base.menu_action_currency_form" parent="menu_configuration_misc" sequence="20" groups="base.group_no_one"/>
|
||||
<menuitem id="base.menu_action_currency_form" name="Currencies" parent="menu_configuration_misc" sequence="20" groups="base.group_no_one"/>
|
||||
<menuitem id="menu_finance_generic_reporting" name="Generic Reporting" parent="menu_finance_reports" sequence="100"/>
|
||||
<menuitem id="menu_finance_entries" name="Journal Entries" parent="menu_finance" sequence="5" groups="group_account_user,group_account_manager"/>
|
||||
<menuitem id="menu_account_reports" name="Financial Reports" parent="menu_finance_configuration" sequence="30" />
|
||||
|
|
|
@ -215,8 +215,10 @@ class account_move_line(osv.osv):
|
|||
def _default_get(self, cr, uid, fields, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
if not context.get('journal_id', False) and context.get('search_default_journal_id', False):
|
||||
if not context.get('journal_id', False):
|
||||
context['journal_id'] = context.get('search_default_journal_id')
|
||||
if not context.get('period_id', False):
|
||||
context['period_id'] = context.get('search_default_period_id')
|
||||
account_obj = self.pool.get('account.account')
|
||||
period_obj = self.pool.get('account.period')
|
||||
journal_obj = self.pool.get('account.journal')
|
||||
|
@ -226,6 +228,9 @@ class account_move_line(osv.osv):
|
|||
partner_obj = self.pool.get('res.partner')
|
||||
currency_obj = self.pool.get('res.currency')
|
||||
context = self.convert_to_period(cr, uid, context)
|
||||
#pass the right context when search_defaul_journal_id
|
||||
if context.get('search_default_journal_id',False):
|
||||
context['journal_id'] = context.get('search_default_journal_id')
|
||||
# Compute simple values
|
||||
data = super(account_move_line, self).default_get(cr, uid, fields, context=context)
|
||||
# Starts: Manual entry from account.move form
|
||||
|
@ -480,7 +485,7 @@ class account_move_line(osv.osv):
|
|||
'debit': fields.float('Debit', digits_compute=dp.get_precision('Account')),
|
||||
'credit': fields.float('Credit', digits_compute=dp.get_precision('Account')),
|
||||
'account_id': fields.many2one('account.account', 'Account', required=True, ondelete="cascade", domain=[('type','<>','view'), ('type', '<>', 'closed')], select=2),
|
||||
'move_id': fields.many2one('account.move', 'Move', ondelete="cascade", help="The move of this entry line.", select=2, required=True),
|
||||
'move_id': fields.many2one('account.move', 'Journal Entry', ondelete="cascade", help="The move of this entry line.", select=2, required=True),
|
||||
'narration': fields.related('move_id','narration', type='text', relation='account.move', string='Internal Note'),
|
||||
'ref': fields.related('move_id', 'ref', string='Reference', type='char', size=64, store=True),
|
||||
'statement_id': fields.many2one('account.bank.statement', 'Statement', help="The bank statement used for bank reconciliation", select=1),
|
||||
|
@ -928,6 +933,8 @@ class account_move_line(osv.osv):
|
|||
return res
|
||||
if (not context.get('journal_id', False)) or (not context.get('period_id', False)):
|
||||
return False
|
||||
if context.get('search_default_journal_id', False):
|
||||
context['journal_id'] = context.get('search_default_journal_id')
|
||||
cr.execute('SELECT code FROM account_journal WHERE id = %s', (context['journal_id'], ))
|
||||
j = cr.fetchone()[0] or ''
|
||||
cr.execute('SELECT code FROM account_period WHERE id = %s', (context['period_id'], ))
|
||||
|
|
|
@ -101,28 +101,29 @@
|
|||
<field name="model">account.period</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Account Period" version="7.0">
|
||||
<header>
|
||||
<button name="action_draft" states="done" string="Set to Draft" type="object" groups="account.group_account_manager"/>
|
||||
<field name="state" widget="statusbar" nolabel="1"/>
|
||||
</header>
|
||||
<sheet>
|
||||
<group>
|
||||
<group>
|
||||
<field name="name"/>
|
||||
<field name="fiscalyear_id" widget="selection"/>
|
||||
<label for="date_start" string="Duration"/>
|
||||
<div>
|
||||
<field name="date_start" class="oe_inline" nolabel="1"/> -
|
||||
<field name="date_stop" nolabel="1" class="oe_inline"/>
|
||||
</div>
|
||||
</group>
|
||||
<group>
|
||||
<field name="code"/>
|
||||
<field name="special"/>
|
||||
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
|
||||
</group>
|
||||
</group>
|
||||
</sheet>
|
||||
<header>
|
||||
<button string="Close Period" name="%(account.action_account_period_close)d" type="action" class="oe_highlight" states="draft"/>
|
||||
<button name="action_draft" states="done" string="Set to Draft" type="object" groups="account.group_account_manager"/>
|
||||
<field name="state" widget="statusbar" nolabel="1"/>
|
||||
</header>
|
||||
<sheet>
|
||||
<group>
|
||||
<group>
|
||||
<field name="name"/>
|
||||
<field name="fiscalyear_id" widget="selection"/>
|
||||
<label for="date_start" string="Duration"/>
|
||||
<div>
|
||||
<field name="date_start" class="oe_inline" nolabel="1"/> -
|
||||
<field name="date_stop" nolabel="1" class="oe_inline"/>
|
||||
</div>
|
||||
</group>
|
||||
<group>
|
||||
<field name="code"/>
|
||||
<field name="special"/>
|
||||
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
|
||||
</group>
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -1038,7 +1039,26 @@
|
|||
Entries lines
|
||||
-->
|
||||
|
||||
<record id="view_move_line_tree" model="ir.ui.view">
|
||||
<record id="view_move_line_tree_reconcile" model="ir.ui.view">
|
||||
<field name="name">account.move.line.reconcile.tree</field>
|
||||
<field name="model">account.move.line</field>
|
||||
<field eval="24" name="priority"/>
|
||||
<field name="arch" type="xml">
|
||||
<tree colors="red:state == 'draft';black:state == 'valid'" string="Journal Items to Reconcile" create="false">
|
||||
<field name="date"/>
|
||||
<field name="move_id"/>
|
||||
<field name="ref"/>
|
||||
<field name="name"/>
|
||||
<field name="partner_id"/>
|
||||
<field name="account_id"/>
|
||||
<field name="reconcile_partial_id"/>
|
||||
<field name="debit" sum="Total debit"/>
|
||||
<field name="credit" sum="Total credit"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_move_line_tree" model="ir.ui.view">
|
||||
<field name="name">account.move.line.tree</field>
|
||||
<field name="model">account.move.line</field>
|
||||
<field eval="4" name="priority"/>
|
||||
|
@ -1073,64 +1093,64 @@
|
|||
<field name="arch" type="xml">
|
||||
<form string="Journal Item" version="7.0">
|
||||
<sheet>
|
||||
<group>
|
||||
<group>
|
||||
<field name="name"/>
|
||||
<field name="ref"/>
|
||||
<field name="partner_id" on_change="onchange_partner_id(False,partner_id,account_id,debit,credit,date)"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="journal_id"/>
|
||||
<field name="period_id"/>
|
||||
<field name="company_id" required="1" groups="base.group_multi_company"/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook colspan="4">
|
||||
<page string="Information">
|
||||
<group>
|
||||
<group string="Amount">
|
||||
<field name="account_id" domain="[('company_id', '=', company_id), ('type','<>','view'), ('type','<>','consolidation')]"/>
|
||||
<field name="debit"/>
|
||||
<field name="credit"/>
|
||||
<field name="quantity"/>
|
||||
</group>
|
||||
<group string="Accounting Documents">
|
||||
<field name="invoice" readonly="True"/>
|
||||
<field name="move_id" required="False"/>
|
||||
<field name="statement_id" readonly="True"/>
|
||||
</group>
|
||||
<group string="Dates">
|
||||
<field name="date"/>
|
||||
<field name="date_maturity"/>
|
||||
<field name="date_created" readonly="True"/>
|
||||
</group>
|
||||
<group string="Taxes">
|
||||
<field name="tax_code_id"/>
|
||||
<field name="tax_amount"/>
|
||||
<field name="account_tax_id" domain="[('parent_id','=',False)]"/>
|
||||
</group>
|
||||
<group attrs="{'readonly':[('state','=','valid')]}" string="Currency" groups="base.group_multi_currency">
|
||||
<field name="currency_id"/>
|
||||
<field name="amount_currency"/>
|
||||
</group>
|
||||
<group string="Reconciliation">
|
||||
<field name="reconcile_id"/>
|
||||
<field name="reconcile_partial_id"/>
|
||||
</group>
|
||||
<group string="States">
|
||||
<field name="state"/>
|
||||
<field name="blocked"/>
|
||||
</group>
|
||||
<group groups="analytic.group_analytic_accounting" string="Analytic">
|
||||
<field name="analytic_account_id" domain="[('parent_id','!=',False)]"/>
|
||||
</group>
|
||||
</group>
|
||||
<field name="narration" colspan="4" nolabel="1" placeholder="Add an internal note..."/>
|
||||
</page>
|
||||
<page string="Analytic Lines" groups="analytic.group_analytic_accounting">
|
||||
<field name="analytic_lines" context="{'default_general_account_id':account_id, 'default_name': name, 'default_date':date, 'amount': (debit or 0.0)-(credit or 0.0)}"/>
|
||||
</page>
|
||||
</notebook>
|
||||
<group>
|
||||
<group>
|
||||
<field name="name"/>
|
||||
<field name="ref"/>
|
||||
<field name="partner_id" on_change="onchange_partner_id(False,partner_id,account_id,debit,credit,date)"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="journal_id"/>
|
||||
<field name="period_id"/>
|
||||
<field name="company_id" required="1" groups="base.group_multi_company"/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook colspan="4">
|
||||
<page string="Information">
|
||||
<group>
|
||||
<group string="Amount">
|
||||
<field name="account_id" domain="[('company_id', '=', company_id), ('type','<>','view'), ('type','<>','consolidation')]"/>
|
||||
<field name="debit"/>
|
||||
<field name="credit"/>
|
||||
<field name="quantity"/>
|
||||
</group>
|
||||
<group string="Accounting Documents">
|
||||
<field name="invoice" readonly="True"/>
|
||||
<field name="move_id" required="False"/>
|
||||
<field name="statement_id" readonly="True"/>
|
||||
</group>
|
||||
<group string="Dates">
|
||||
<field name="date"/>
|
||||
<field name="date_maturity"/>
|
||||
<field name="date_created" readonly="True"/>
|
||||
</group>
|
||||
<group string="Taxes">
|
||||
<field name="tax_code_id"/>
|
||||
<field name="tax_amount"/>
|
||||
<field name="account_tax_id" domain="[('parent_id','=',False)]"/>
|
||||
</group>
|
||||
<group attrs="{'readonly':[('state','=','valid')]}" string="Currency" groups="base.group_multi_currency">
|
||||
<field name="currency_id"/>
|
||||
<field name="amount_currency"/>
|
||||
</group>
|
||||
<group string="Reconciliation">
|
||||
<field name="reconcile_id"/>
|
||||
<field name="reconcile_partial_id"/>
|
||||
</group>
|
||||
<group string="States">
|
||||
<field name="state"/>
|
||||
<field name="blocked"/>
|
||||
</group>
|
||||
<group groups="analytic.group_analytic_accounting" string="Analytic">
|
||||
<field name="analytic_account_id" domain="[('parent_id','!=',False)]"/>
|
||||
</group>
|
||||
</group>
|
||||
<field name="narration" colspan="4" nolabel="1" placeholder="Add an internal note..."/>
|
||||
</page>
|
||||
<page string="Analytic Lines" groups="analytic.group_analytic_accounting">
|
||||
<field name="analytic_lines" context="{'default_general_account_id':account_id, 'default_name': name, 'default_date':date, 'amount': (debit or 0.0)-(credit or 0.0)}"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
|
@ -1512,7 +1532,6 @@
|
|||
|
||||
<record id="action_move_line_search" model="ir.actions.act_window">
|
||||
<field name="name">Journal Items</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">account.move.line</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
|
@ -1531,16 +1550,31 @@
|
|||
<field name="act_window_id" ref="action_move_line_search"/>
|
||||
</record>
|
||||
|
||||
<act_window
|
||||
context="{'search_default_unreconciled': 1,'view_mode':True}"
|
||||
id="action_account_manual_reconcile" name="Journal Items"
|
||||
res_model="account.move.line"
|
||||
view_id="view_move_line_tree"
|
||||
view_mode="account_reconciliation_list" />
|
||||
|
||||
<record id="action_account_manual_reconcile" model="ir.actions.act_window">
|
||||
<field name="context">{'search_default_unreconciled': 1,'view_mode':True}</field>
|
||||
<field name="name">Journal Items to Reconcile</field>
|
||||
<field name="res_model">account.move.line</field>
|
||||
<field name="view_id" ref="view_move_line_tree_reconcile"/>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">account_reconciliation_list</field>
|
||||
<field name="help" type="html">
|
||||
<p>
|
||||
Good job!
|
||||
</p><p>
|
||||
There is nothing to reconcile. All invoices and payments
|
||||
have been reconciled, your partner balance is clean.
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
<menuitem
|
||||
name="Journal Items to Reconcile"
|
||||
action="action_account_manual_reconcile"
|
||||
id="menu_manual_reconcile_bank"
|
||||
sequence="20"
|
||||
parent="account.menu_finance_bank_and_cash"/>
|
||||
|
||||
<menuitem
|
||||
name="Manual Reconciliation" icon="STOCK_EXECUTE"
|
||||
name="Manual Reconciliation"
|
||||
action="action_account_manual_reconcile"
|
||||
id="menu_manual_reconcile"
|
||||
parent="account.periodical_processing_reconciliation"/>
|
||||
|
@ -1719,8 +1753,10 @@
|
|||
<field name="model">account.payment.term.line</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Payment Term" version="7.0">
|
||||
<field name="name"/>
|
||||
<field name="sequence"/>
|
||||
<group>
|
||||
<field name="name"/>
|
||||
<field name="sequence"/>
|
||||
</group>
|
||||
<group>
|
||||
<group string="Amount Computation">
|
||||
<field name="value"/>
|
||||
|
@ -1768,12 +1804,11 @@
|
|||
<field name="model">account.payment.term</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Payment Term" version="7.0">
|
||||
<group>
|
||||
<group col="4">
|
||||
<field name="name"/>
|
||||
<field name="active"/>
|
||||
</group>
|
||||
<separator string="Description on Invoices"/>
|
||||
<field name="note"/>
|
||||
<field name="note" placeholder="Note fo the invoice..."/>
|
||||
<separator string="Computation"/>
|
||||
<field name="line_ids"/>
|
||||
</form>
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
<field name="active"/>
|
||||
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
|
||||
</group>
|
||||
<separator string="Mapping"/>
|
||||
<separator string="Taxes Mapping"/>
|
||||
<field name="tax_ids" widget="one2many_list">
|
||||
<tree string="Tax Mapping" editable="bottom">
|
||||
<field name="tax_src_id" domain="[('parent_id','=',False)]"/>
|
||||
|
@ -23,6 +23,7 @@
|
|||
<field name="tax_dest_id" domain="[('parent_id','=',False)]"/>
|
||||
</form>
|
||||
</field>
|
||||
<separator string="Accounts Mapping"/>
|
||||
<field name="account_ids" widget="one2many_list">
|
||||
<tree string="Account Mapping" editable="bottom">
|
||||
<field name="account_src_id"/>
|
||||
|
@ -93,8 +94,10 @@
|
|||
</group>
|
||||
<field name="bank_ids">
|
||||
<form string="Bank account" version="7.0">
|
||||
<field name="state"/>
|
||||
<field name="acc_number"/>
|
||||
<group col="4">
|
||||
<field name="state"/>
|
||||
<field name="acc_number"/>
|
||||
</group>
|
||||
<group>
|
||||
<group name="owner" string="Bank Account Owner">
|
||||
<field name="partner_id" on_change="onchange_partner_id(partner_id)"/>
|
||||
|
|
|
@ -92,7 +92,7 @@ class account_move_journal(osv.osv_memory):
|
|||
|
||||
journal = False
|
||||
if journal_id:
|
||||
journal = journal_pool.read(cr, uid, journal_id, ['name'], context=context).name
|
||||
journal = journal_pool.read(cr, uid, journal_id, ['name'], context=context).get('name',False)
|
||||
journal_string = _("Journal: %s") % tools.ustr(journal)
|
||||
else:
|
||||
journal_string = _("Journal: All")
|
||||
|
|
|
@ -36,6 +36,7 @@ Adds menu to show relevant information to each manager.You can also view the rep
|
|||
'depends': ['hr_timesheet_invoice', 'sale'], #although sale is technically not required to install this module, all menuitems are located under 'Sales' application
|
||||
'data': [
|
||||
'security/ir.model.access.csv',
|
||||
'security/account_analytic_analysis_security.xml',
|
||||
'account_analytic_analysis_view.xml',
|
||||
'account_analytic_analysis_menu.xml',
|
||||
'account_analytic_analysis_cron.xml',
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<record model="res.users" id="base.user_root">
|
||||
<field eval="[(4,ref('sale.group_analytic_accounting'))]" name="groups_id"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
|
@ -129,7 +129,7 @@
|
|||
</group>
|
||||
</page>
|
||||
<page string="Depreciation Board">
|
||||
<field name="depreciation_line_ids" mode="tree,graph">
|
||||
<field name="depreciation_line_ids" mode="tree">
|
||||
<tree string="Depreciation Lines" colors="blue:(move_check == False);black:(move_check == True)">
|
||||
<field name="depreciation_date"/>
|
||||
<field name="sequence" invisible="1"/>
|
||||
|
@ -159,11 +159,6 @@
|
|||
</group>
|
||||
</group>
|
||||
</form>
|
||||
<graph type="bar">
|
||||
<field name="name"/>
|
||||
<field name="amount"/>
|
||||
<field name="depreciated_value"/>
|
||||
</graph>
|
||||
</field>
|
||||
<button type="object" name="compute_depreciation_board" string="Compute" icon="terp-stock_format-scientific" colspan="2" attrs="{'invisible':[('state','=','close')]}"/>
|
||||
</page>
|
||||
|
|
|
@ -62,12 +62,7 @@
|
|||
<field name="account_ids"/>
|
||||
</page>
|
||||
<page string="Budget Lines">
|
||||
<field name="crossovered_budget_line" widget="one2many_list" mode="graph,tree">
|
||||
<graph type="bar" string="Lines">
|
||||
<field name="analytic_account_id" groups="analytic.group_analytic_accounting"/>
|
||||
<field name="planned_amount" operator="+"/>
|
||||
<field group="True" name="general_budget_id"/>
|
||||
</graph>
|
||||
<field name="crossovered_budget_line" widget="one2many_list" mode="tree">
|
||||
<tree string="Budget Lines" editable="top">
|
||||
<field name="crossovered_budget_id"/>
|
||||
<field name="analytic_account_id" groups="analytic.group_analytic_accounting" domain="[('parent_id','!=',False)]"/>
|
||||
|
|
|
@ -22,6 +22,10 @@
|
|||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
|
||||
<record model="res.users" id="base.user_root">
|
||||
<field eval="[(4,ref('analytic.group_analytic_accounting'))]" name="groups_id"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -404,9 +404,9 @@
|
|||
<field name="name"/>
|
||||
<field name="statement_id" readonly="1"/>
|
||||
<field name="ref" readonly="1"/>
|
||||
<field name="partner_id" on_change="onchange_partner_id(partner_id)"/>
|
||||
<field name="type" on_change="onchange_type(partner_id, type)"/>
|
||||
<field name="account_id" domain="[('journal_id','=',parent.journal_id)]"/>
|
||||
<field name="partner_id" />
|
||||
<field name="type" />
|
||||
<field name="account_id" />
|
||||
<field name="amount" readonly="1" sum="Total Amount"/>
|
||||
<field name="globalisation_id" string="Glob. Id"/>
|
||||
<field name="globalisation_amount" string="Glob. Am."/>
|
||||
|
@ -426,9 +426,9 @@
|
|||
<field name="val_date"/>
|
||||
<field name="name"/>
|
||||
<field name="ref" readonly="0"/>
|
||||
<field name="partner_id" on_change="onchange_partner_id(partner_id)"/>
|
||||
<field name="type" on_change="onchange_type(partner_id, type)"/>
|
||||
<field domain="[('journal_id', '=', parent.journal_id), ('type', '<>', 'view')]" name="account_id"/>
|
||||
<field name="partner_id"/>
|
||||
<field name="type" />
|
||||
<field domain="[('type', '<>', 'view')]" name="account_id"/>
|
||||
<field name="amount"/>
|
||||
<field name="globalisation_id"/>
|
||||
<field name="sequence" readonly="0"/>
|
||||
|
|
|
@ -47,16 +47,18 @@
|
|||
<field name="state" widget="statusbar" statusbar_visible="draft,posted" statusbar_colors='{"proforma":"blue"}'/>
|
||||
</header>
|
||||
<sheet string="Accounting Voucher">
|
||||
<group col="6" colspan="4">
|
||||
<group col="4" colspan="4">
|
||||
<field name="partner_id" required="1" on_change="onchange_journal_voucher(line_ids, tax_id, amount, partner_id, journal_id, type)"/>
|
||||
<field name="payment_rate_currency_id" invisible="1"/>
|
||||
<field name="date" on_change="onchange_date(date, currency_id, payment_rate_currency_id, amount, company_id)"/>
|
||||
<field name="journal_id" widget="selection" on_change="onchange_journal_voucher(line_ids, tax_id, amount, partner_id, journal_id, type)"/>
|
||||
<field name="type" required="1"/>
|
||||
<field name="name" colspan="2"/>
|
||||
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
|
||||
<field name="reference"/>
|
||||
<field name="number"/>
|
||||
<field name="currency_id" groups="base.group_multi_currency"/>
|
||||
<field name="account_id" widget="selection" invisible="True"/>
|
||||
<field name="payment_rate_currency_id" invisible="1"/>
|
||||
</group>
|
||||
<notebook colspan="4">
|
||||
<page string="Voucher Entry">
|
||||
|
@ -69,20 +71,16 @@
|
|||
<field name="account_analytic_id" groups="analytic.group_analytic_accounting"/>
|
||||
</tree>
|
||||
</field>
|
||||
<group col="3">
|
||||
<group string="Internal Notes">
|
||||
<field name="narration" colspan="2" nolabel="1"/>
|
||||
</group>
|
||||
<group string="Other Information">
|
||||
<field name="number"/>
|
||||
<field name="currency_id" groups="base.group_multi_currency"/>
|
||||
</group>
|
||||
<group col="4" attrs="{'invisible':[('type','in',['payment', 'receipt', False])]}">
|
||||
<separator string="Total" colspan="4"/>
|
||||
<field name="tax_id" on_change="onchange_price(line_ids, tax_id, partner_id)" widget="selection"/>
|
||||
<group>
|
||||
<field name="narration" nolabel="1" placeholder="Internal Notes"/>
|
||||
<group class="oe_subtotal_footer oe_right" attrs="{'invisible':[('type','in',['payment', 'receipt', False])]}">
|
||||
<field name="tax_id" on_change="onchange_price(line_ids, tax_id, partner_id)" widget="selection" nolabel="1"/>
|
||||
<field name="tax_amount" nolabel="1"/>
|
||||
<button type="object" icon="terp-stock_format-scientific" name="compute_tax" string="Compute Tax" attrs="{'invisible': [('state','!=','draft')]}"/>
|
||||
<label colspan="1" string=""/><field name="amount" string="Total"/>
|
||||
<div class="oe_subtotal_footer_separator">
|
||||
<label for="amount"/>
|
||||
<button type="object" icon="terp-stock_format-scientific" name="compute_tax" class="oe_link oe_edit_only" string="(Update)" attrs="{'invisible': [('state','!=','draft')]}"/>
|
||||
</div>
|
||||
<field name="amount" class="oe_subtotal_footer_separator" nolabel="1"/>
|
||||
</group>
|
||||
</group>
|
||||
</page>
|
||||
|
|
|
@ -68,8 +68,10 @@ class ir_model_fields_anonymization(osv.osv):
|
|||
return state
|
||||
|
||||
def _check_write(self, cr, uid, context=None):
|
||||
# check that the field is created from the menu and not from an database update
|
||||
# otherwise the database update can crash:
|
||||
"""check that the field is created from the menu and not from an database update
|
||||
otherwise the database update can crash:"""
|
||||
if context is None:
|
||||
context = {}
|
||||
|
||||
if context.get('manual'):
|
||||
global_state = self._get_global_state(cr, uid, context=context)
|
||||
|
@ -295,10 +297,10 @@ class ir_model_fields_anonymize_wizard(osv.osv_memory):
|
|||
|
||||
def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, *args, **kwargs):
|
||||
state = self.pool.get('ir.model.fields.anonymization')._get_global_state(cr, uid, context=context)
|
||||
|
||||
|
||||
if context is None:
|
||||
context = {}
|
||||
|
||||
|
||||
step = context.get('step', 'new_window')
|
||||
|
||||
res = super(ir_model_fields_anonymize_wizard, self).fields_view_get(cr, uid, view_id, view_type, context, *args, **kwargs)
|
||||
|
|
|
@ -132,8 +132,6 @@
|
|||
<header>
|
||||
<button name="%(crm.action_crm_lead2opportunity_partner)d" string="Convert to Opportunity" type="action"
|
||||
states="draft,open,pending" help="Convert to Opportunity" class="oe_highlight"/>
|
||||
<button name="case_escalate" string="Escalate" type="object"
|
||||
states="draft,open,pending"/>
|
||||
<button name="case_reset" string="Reset" type="object"
|
||||
states="cancel"/>
|
||||
<button name="case_cancel" string="Cancel" type="object"
|
||||
|
@ -188,7 +186,11 @@
|
|||
</group>
|
||||
<group>
|
||||
<field name="user_id"/>
|
||||
<field name="section_id"/>
|
||||
<label for="section_id"/>
|
||||
<div>
|
||||
<field name="section_id"/>
|
||||
<button name="case_escalate" string="Escalate" type="object" states="draft,open,pending"/>
|
||||
</div>
|
||||
<field name="type" invisible="1"/>
|
||||
</group>
|
||||
<group>
|
||||
|
@ -402,8 +404,6 @@
|
|||
states="draft,open,pending" class="oe_highlight"/>
|
||||
<button name="case_mark_lost" string="Mark Lost" type="object"
|
||||
states="draft,open" class="oe_highlight"/>
|
||||
<button name="case_escalate" string="Escalate" type="object"
|
||||
states="open" />
|
||||
<field name="stage_id" widget="statusbar" clickable="True"/>
|
||||
</header>
|
||||
<sheet>
|
||||
|
@ -449,7 +449,11 @@
|
|||
|
||||
<group>
|
||||
<field name="user_id"/>
|
||||
<field name="section_id" colspan="1" widget="selection"/>
|
||||
<label for="section_id"/>
|
||||
<div>
|
||||
<field name="section_id" widget="selection"/>
|
||||
<button name="case_escalate" string="Escalate" type="object" states="draft,open,pending" />
|
||||
</div>
|
||||
</group>
|
||||
<group>
|
||||
<field name="categ_ids"
|
||||
|
|
|
@ -38,7 +38,7 @@ when you confirm your sale order it will automatically create a registration for
|
|||
this event.
|
||||
""",
|
||||
'author': 'OpenERP SA',
|
||||
'depends': ['event','sale','sale_crm'],
|
||||
'depends': ['event', 'sale_crm'],
|
||||
'data': ['event_sale_view.xml'],
|
||||
'demo': ['event_demo.xml'],
|
||||
'test': ['test/confirm.yml'],
|
||||
|
|
|
@ -261,7 +261,6 @@ class hr_employee(osv.osv):
|
|||
_defaults = {
|
||||
'active': 1,
|
||||
'image': _get_default_image,
|
||||
'marital': 'single',
|
||||
'color': 0,
|
||||
}
|
||||
|
||||
|
|
|
@ -180,7 +180,7 @@
|
|||
<field name="name">Employees</field>
|
||||
<field name="res_model">hr.employee</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_mode">form,tree</field>
|
||||
<field name="view_id" eval="False"/>
|
||||
<field name="search_view_id" ref="view_employee_filter"/>
|
||||
</record>
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
<field name="name">Payroll</field>
|
||||
<field name="res_model">ir.module.module</field>
|
||||
<field name="view_mode">kanban,tree,form</field>
|
||||
<field name="context" eval="{'search_default_category_id': ref('base.module_category_localization'), 'search_default_name': 'payroll'}"/>
|
||||
<field name="context" eval="{'search_default_category_id': ref('base.module_category_localization')}"/>
|
||||
<field name="search_view_id" ref="base.view_module_filter"/>
|
||||
</record>
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
.oe_employee_vignette {
|
||||
padding: 8px 0;
|
||||
padding: 8px 8px;
|
||||
min-height: 100px;
|
||||
}
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
<field name="arch" type="xml">
|
||||
<data>
|
||||
<xpath expr="//div[@name='button_box']" position="inside">
|
||||
<button name="%(act_hr_employee_2_hr_contract)d" string="Contracts" type="action"/>
|
||||
<button name="%(act_hr_employee_2_hr_contract)d" string="Contracts" type="action" groups="base.group_hr_manager"/>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='coach_id']" position="after">
|
||||
<field name="manager"/>
|
||||
|
|
|
@ -392,12 +392,6 @@ Once the form had been filled, the employee send it to his supervisor.
|
|||
<field name="type">char</field>
|
||||
<field eval="5" name="sequence"/>
|
||||
</record>
|
||||
<record id="survey_answer_98" model="survey.answer">
|
||||
<field name="answer">Title</field>
|
||||
<field name="question_id" ref="survey_question_2"/>
|
||||
<field name="type">char</field>
|
||||
<field eval="6" name="sequence"/>
|
||||
</record>
|
||||
<record id="survey_question_column_heading_4" model="survey.question.column.heading">
|
||||
<field name="in_visible_rating_weight">1</field>
|
||||
<field name="in_visible_menu_choice">1</field>
|
||||
|
|
|
@ -239,7 +239,7 @@
|
|||
<field name="name">Appraisal</field>
|
||||
<field name="res_model">hr_evaluation.evaluation</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form,graph</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="search_view_id" ref="hr_evaluation.evaluation_search"/>
|
||||
<field name="context">{"search_default_next_month":1}</field>
|
||||
<field name="help" type="html">
|
||||
|
|
|
@ -39,4 +39,4 @@ access_survey_response_hr_employee,survey.response.employee,survey.model_survey_
|
|||
access_survey_question_column_heading_hr_employee,survey.question.column.heading.employee,survey.model_survey_question_column_heading,base.group_user,1,0,0,0
|
||||
access_survey_response_line_hr_employee,survey.response.line.employee,survey.model_survey_response_line,base.group_user,1,1,1,0
|
||||
access_survey_response_answer_hr_employee,survey.response.answer.hr.employee,survey.model_survey_response_answer,base.group_user,1,1,1,0
|
||||
|
||||
access_survey_tbl_column_heading_hr_employee,survey.tbl.column.heading,survey.model_survey_tbl_column_heading,base.group_user,1,1,1,0
|
||||
|
|
|
|
@ -54,7 +54,6 @@
|
|||
str(ref("survey_question_2")) +"_" +str(ref("survey_answer_20")) + "_multi" :'3',
|
||||
str(ref("survey_question_2")) +"_" +str(ref("survey_answer_25")) + "_multi" :'2011-12-02 16:42:00',
|
||||
str(ref("survey_question_2")) +"_" +str(ref("survey_answer_43")) + "_multi" :'HR',
|
||||
str(ref("survey_question_2")) +"_" +str(ref("survey_answer_98")) + "_multi" :'tpa review'
|
||||
}, context = ctx)
|
||||
-
|
||||
I close this Evaluation survey by giving answer of questions.
|
||||
|
|
|
@ -130,7 +130,7 @@
|
|||
</page>
|
||||
<page string="Other Info">
|
||||
<group>
|
||||
<group string="Accounting Data">
|
||||
<group string="Accounting Data" groups="account.group_account_user">
|
||||
<field name="journal_id" widget="selection" domain="[('type', '=', 'purchase')]"/>
|
||||
<field name="voucher_id" context="{'form_view_ref': 'account_voucher.view_purchase_receipt_form'}"/>
|
||||
</group>
|
||||
|
|
|
@ -92,7 +92,7 @@
|
|||
<header>
|
||||
<button string="Approve" name="validate" states="confirm" type="workflow" groups="base.group_hr_user" class="oe_highlight"/>
|
||||
<button string="Validate" name="second_validate" states="validate1" type="workflow" groups="base.group_hr_user" class="oe_highlight"/>
|
||||
<button string="Refuse" name="refuse" states="confirm,validate1,validate" type="workflow" groups="base.group_hr_user" class="oe_highlight"/>
|
||||
<button string="Refuse" name="refuse" states="confirm,validate1,validate" type="workflow" groups="base.group_hr_user"/>
|
||||
<button string="Reset to New" name="set_to_draft" states="refuse" type="object" groups="base.group_hr_user" />
|
||||
<field name="state" widget="statusbar" statusbar_visible="draft,confirm,validate" statusbar_colors='{"confirm":"blue","validate1":"blue","refuse":"red"}'/>
|
||||
</header>
|
||||
|
@ -137,7 +137,7 @@
|
|||
<header>
|
||||
<button string="Approve" name="validate" states="confirm" type="workflow" groups="base.group_hr_user" class="oe_highlight"/>
|
||||
<button string="Validate" name="second_validate" states="validate1" type="workflow" groups="base.group_hr_user" class="oe_highlight"/>
|
||||
<button string="Refuse" name="refuse" states="confirm,validate,validate1" type="workflow" groups="base.group_hr_user" class="oe_highlight"/>
|
||||
<button string="Refuse" name="refuse" states="confirm,validate,validate1" type="workflow" groups="base.group_hr_user"/>
|
||||
<button string="Reset to New" name="set_to_draft" states="cancel,refuse" type="object" groups="base.group_hr_user" />
|
||||
<field name="state" widget="statusbar" statusbar_visible="draft,confirm,validate" statusbar_colors='{"confirm":"blue","validate1":"blue","refuse":"red"}'/>
|
||||
</header>
|
||||
|
@ -483,6 +483,7 @@
|
|||
<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>
|
||||
<field name="priority" eval="20"/>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Assign Leaves" editable="bottom">
|
||||
<field name="name" string="Employee"/>
|
||||
|
@ -522,7 +523,7 @@
|
|||
</group>
|
||||
</xpath>
|
||||
<xpath expr="//div[@name='button_box']" position="inside">
|
||||
<button name="%(act_hr_employee_holiday_request)d" string="Leaves" type="action"/>
|
||||
<button name="%(act_hr_employee_holiday_request)d" string="Leaves" type="action" groups="base.group_hr_user"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -669,26 +669,26 @@ class hr_payslip(osv.osv):
|
|||
if not context.get('contract', False):
|
||||
#fill with the first contract of the employee
|
||||
contract_ids = self.get_contract(cr, uid, employee_id, date_from, date_to, context=context)
|
||||
res['value'].update({
|
||||
'struct_id': contract_ids and contract_obj.read(cr, uid, contract_ids[0], ['struct_id'], context=context)['struct_id'][0] or False,
|
||||
'contract_id': contract_ids and contract_ids[0] or False,
|
||||
})
|
||||
else:
|
||||
if contract_id:
|
||||
#set the list of contract for which the input have to be filled
|
||||
contract_ids = [contract_id]
|
||||
#fill the structure with the one on the selected contract
|
||||
contract_record = contract_obj.browse(cr, uid, contract_id, context=context)
|
||||
res['value'].update({
|
||||
'struct_id': contract_record.struct_id.id,
|
||||
'contract_id': contract_id
|
||||
})
|
||||
else:
|
||||
#if we don't give the contract, then the input to fill should be for all current contracts of the employee
|
||||
contract_ids = self.get_contract(cr, uid, employee_id, date_from, date_to, context=context)
|
||||
if not contract_ids:
|
||||
return res
|
||||
|
||||
if not contract_ids:
|
||||
return res
|
||||
contract_record = contract_obj.browse(cr, uid, contract_ids[0], context=context)
|
||||
res['value'].update({
|
||||
'contract_id': contract_record and contract_record.id or False
|
||||
})
|
||||
struct_record = contract_record and contract_record.struct_id or False
|
||||
if not struct_record:
|
||||
return res
|
||||
res['value'].update({
|
||||
'struct_id': struct_record.id,
|
||||
})
|
||||
#computation of the salary input
|
||||
worked_days_line_ids = self.get_worked_day_lines(cr, uid, contract_ids, date_from, date_to, context=context)
|
||||
input_line_ids = self.get_inputs(cr, uid, contract_ids, date_from, date_to, context=context)
|
||||
|
|
|
@ -234,7 +234,7 @@
|
|||
</h2>
|
||||
</div>
|
||||
<group col="4">
|
||||
<field name="contract_id" domain="[('employee_id','=',employee_id)]" on_change="onchange_contract_id(date_from, date_to, employee_id, contract_id)"/>
|
||||
<field name="contract_id" domain="[('employee_id','=',employee_id)]" on_change="onchange_contract_id(date_from, date_to, employee_id, contract_id)" context="{'default_employee_id': employee_id}"/>
|
||||
<field name="number"/>
|
||||
<field name="struct_id" attrs="{'required':[('contract_id','<>',False)]}"/>
|
||||
<field name="name"/>
|
||||
|
@ -369,7 +369,7 @@
|
|||
<field name="view_id" ref="view_hr_payslip_tree"/>
|
||||
<field name="search_view_id" ref="view_hr_payslip_filter"/>
|
||||
</record>
|
||||
<menuitem action="action_view_hr_payslip_form" id="menu_department_tree" parent="menu_hr_root_payroll"/>
|
||||
<menuitem action="action_view_hr_payslip_form" id="menu_department_tree" parent="menu_hr_root_payroll" groups="base.group_hr_user"/>
|
||||
<act_window name="Payslips"
|
||||
context="{'search_default_employee_id': [active_id], 'default_employee_id': active_id}"
|
||||
res_model="hr.payslip"
|
||||
|
@ -386,7 +386,7 @@
|
|||
<field name="arch" type="xml">
|
||||
<data>
|
||||
<xpath expr="//div[@name='button_box']" position="inside">
|
||||
<button name="%(act_hr_employee_payslip_list)d" string="Payslips" type="action"/>
|
||||
<button name="%(act_hr_employee_payslip_list)d" string="Payslips" type="action" groups="base.group_hr_user"/>
|
||||
</xpath>
|
||||
</data>
|
||||
</field>
|
||||
|
|
|
@ -187,7 +187,7 @@
|
|||
</record>
|
||||
|
||||
<menuitem action="act_hr_timesheet_sheet_form" id="menu_act_hr_timesheet_sheet_form" parent="hr_attendance.menu_hr_time_tracking"
|
||||
sequence="2" groups="base.group_hr_user,base.group_hr_manager"/>
|
||||
sequence="2" groups="base.group_hr_user"/>
|
||||
|
||||
<!--
|
||||
Company inheritancy
|
||||
|
@ -350,7 +350,7 @@
|
|||
<field name="inherit_id" ref="hr_timesheet.hr_timesheet_employee_extd_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//div[@name='button_box']" position="inside">
|
||||
<button name="%(act_hr_employee_2_hr_timesheet)d" string="Timesheets" type="action"/>
|
||||
<button name="%(act_hr_employee_2_hr_timesheet)d" string="Timesheets" type="action" groups="base.group_hr_manager"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -19,7 +19,6 @@
|
|||
#
|
||||
##############################################################################
|
||||
|
||||
import company
|
||||
import wizard
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
|
@ -45,8 +45,8 @@ class l10n_be_vat_declaration(osv.osv_memory):
|
|||
'tax_code_id': fields.many2one('account.tax.code', 'Tax Code', domain=[('parent_id', '=', False)], required=True),
|
||||
'msg': fields.text('File created', size=64, readonly=True),
|
||||
'file_save': fields.binary('Save File'),
|
||||
'ask_restitution': fields.boolean('Ask Restitution',help='It indicates whether a restitution is to made or not?'),
|
||||
'ask_payment': fields.boolean('Ask Payment',help='It indicates whether a payment is to made or not?'),
|
||||
'ask_restitution': fields.boolean('Ask Restitution',help='It indicates whether a restitution is to make or not?'),
|
||||
'ask_payment': fields.boolean('Ask Payment',help='It indicates whether a payment is to make or not?'),
|
||||
'client_nihil': fields.boolean('Last Declaration, no clients in client listing', help='Tick this case only if it concerns only the last statement on the civil or cessation of activity: ' \
|
||||
'no clients to be included in the client listing.'),
|
||||
'comments': fields.text('Comments'),
|
||||
|
@ -70,6 +70,7 @@ class l10n_be_vat_declaration(osv.osv_memory):
|
|||
obj_tax_code = self.pool.get('account.tax.code')
|
||||
obj_acc_period = self.pool.get('account.period')
|
||||
obj_user = self.pool.get('res.users')
|
||||
obj_partner = self.pool.get('res.partner')
|
||||
mod_obj = self.pool.get('ir.model.data')
|
||||
|
||||
if context is None:
|
||||
|
@ -83,7 +84,7 @@ class l10n_be_vat_declaration(osv.osv_memory):
|
|||
obj_company = obj_user.browse(cr, uid, uid, context=context).company_id
|
||||
vat_no = obj_company.partner_id.vat
|
||||
if not vat_no:
|
||||
raise osv.except_osv(_('Insufficient Data!'), _('No VAT Number Associated with Main Company.'))
|
||||
raise osv.except_osv(_('insufficient data!'), _('No VAT number associated with your company.'))
|
||||
vat_no = vat_no.replace(' ','').upper()
|
||||
vat = vat_no[2:]
|
||||
|
||||
|
@ -93,8 +94,9 @@ class l10n_be_vat_declaration(osv.osv_memory):
|
|||
ctx['period_id'] = data['period_id'][0]
|
||||
tax_info = obj_tax_code.read(cr, uid, tax_code_ids, ['code','sum_period'], context=ctx)
|
||||
|
||||
name = email = phone = address = post_code = city = country_code = ''
|
||||
name, email, phone, city, post_code, address, country_code = self.pool.get('res.company')._get_default_ad(obj_company.partner_id)
|
||||
default_address = obj_partner.address_get(cr, uid, [obj_company.partner_id.id])
|
||||
default_address_id = default_address.get("default", obj_company.partner_id.id)
|
||||
address_id= obj_partner.browse(cr, uid, default_address_id, context)
|
||||
|
||||
account_period = obj_acc_period.browse(cr, uid, data['period_id'][0], context=context)
|
||||
issued_by = vat_no[:2]
|
||||
|
@ -106,21 +108,21 @@ class l10n_be_vat_declaration(osv.osv_memory):
|
|||
ending_month = account_period.date_stop[5:7]
|
||||
quarter = str(((int(starting_month) - 1) / 3) + 1)
|
||||
|
||||
if not email:
|
||||
if not address_id.email:
|
||||
raise osv.except_osv(_('Insufficient Data!'),_('No email address associated with the company.'))
|
||||
if not phone:
|
||||
if not address_id.phone:
|
||||
raise osv.except_osv(_('Insufficient Data!'),_('No phone associated with the company.'))
|
||||
file_data = {
|
||||
'issued_by': issued_by,
|
||||
'vat_no': vat_no,
|
||||
'only_vat': vat_no[2:],
|
||||
'cmpny_name': obj_company.name,
|
||||
'address': address,
|
||||
'post_code': post_code,
|
||||
'city': city,
|
||||
'country_code': country_code,
|
||||
'email': email,
|
||||
'phone': phone.replace('.','').replace('/','').replace('(','').replace(')','').replace(' ',''),
|
||||
'address': "%s %s"%(address_id.street or "",address_id.street2 or ""),
|
||||
'post_code': address_id.zip or "",
|
||||
'city': address_id.city or "",
|
||||
'country_code': address_id.country_id and address_id.country_id.code or "",
|
||||
'email': address_id.email or "",
|
||||
'phone': address_id.phone.replace('.','').replace('/','').replace('(','').replace(')','').replace(' ',''),
|
||||
'send_ref': send_ref,
|
||||
'quarter': quarter,
|
||||
'month': starting_month,
|
||||
|
|
|
@ -61,7 +61,7 @@ class partner_vat(osv.osv_memory):
|
|||
company_id = self.pool.get('res.users').browse(cr, uid, uid, context=context).company_id.id
|
||||
period_ids = obj_period.search(cr, uid, [('date_start' ,'>=', date_start), ('date_stop','<=',date_stop), ('company_id','=',company_id)])
|
||||
if not period_ids:
|
||||
raise osv.except_osv(_('Insufficient Data!'), _('No data for the selected year.'))
|
||||
raise osv.except_osv(_('insufficient data!'), _('No data for the selected year.'))
|
||||
|
||||
partners = []
|
||||
partner_ids = obj_partner.search(cr, uid, [('vat_subjected', '!=', False), ('vat','ilike','BE%')], context=context)
|
||||
|
@ -87,6 +87,9 @@ class partner_vat(osv.osv_memory):
|
|||
if record['turnover'] >= data['limit_amount']:
|
||||
id_client = obj_vat_lclient.create(cr, uid, record, context=context)
|
||||
partners.append(id_client)
|
||||
|
||||
if not partners:
|
||||
raise osv.except_osv(_('insufficient data!'), _('No data found for the selected year.'))
|
||||
context.update({'partner_ids': partners, 'year': data['year'], 'limit_amount': data['limit_amount']})
|
||||
model_data_ids = obj_model_data.search(cr, uid, [('model','=','ir.ui.view'), ('name','=','view_vat_listing')])
|
||||
resource_id = obj_model_data.read(cr, uid, model_data_ids, fields=['res_id'])[0]['res_id']
|
||||
|
@ -190,7 +193,7 @@ class partner_vat_list(osv.osv_memory):
|
|||
phone = ads.phone.replace(' ','') or ''
|
||||
email = ads.email or ''
|
||||
name = ads.name or ''
|
||||
city = obj_partner.get_city(cr, uid, ads.id)
|
||||
city = ads.city or ''
|
||||
zip = obj_partner.browse(cr, uid, ads.id, context=context).zip or ''
|
||||
if not city:
|
||||
city = ''
|
||||
|
|
|
@ -6,18 +6,18 @@
|
|||
<field name="model">partner.vat</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Partner VAT Listing" version="7.0">
|
||||
<header>
|
||||
<p class="oe_grey">
|
||||
This wizard will create an XML file for VAT details and total invoiced amounts per partner.
|
||||
</p>
|
||||
<group>
|
||||
<field name="year"/>
|
||||
<field name="limit_amount"/>
|
||||
</group>
|
||||
<footer>
|
||||
<button name="get_partner" string="View Customers" type="object" class="oe_highlight" />
|
||||
or
|
||||
<button string="Cancel" class="oe_link" special="cancel" />
|
||||
</header>
|
||||
<group>
|
||||
<label string="This wizard will create an XML file for VAT details and total invoiced amounts per partner." colspan="4"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<field name="year"/>
|
||||
<newline/>
|
||||
<field name="limit_amount"/>
|
||||
</footer>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -108,7 +108,7 @@ class partner_vat_intra(osv.osv_memory):
|
|||
# Get Company vat
|
||||
company_vat = data_company.partner_id.vat
|
||||
if not company_vat:
|
||||
raise osv.except_osv(_('Insufficient Data!'),_('No VAT number associated with the company.'))
|
||||
raise osv.except_osv(_('insufficient data!'),_('No VAT number associated with your company.'))
|
||||
company_vat = company_vat.replace(' ','').upper()
|
||||
issued_by = company_vat[:2]
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
<field name="inherit_id" ref="account.view_partner_property_form" />
|
||||
<field name="arch" type="xml">
|
||||
<data>
|
||||
<xpath expr="//field[@name='bank_ids']/form/field[@name='acc_number']" position="before">
|
||||
<xpath expr="//field[@name='bank_ids']//field[@name='acc_number']" position="before">
|
||||
<newline />
|
||||
<field name="bank_code" />
|
||||
<field name="office" />
|
||||
|
|
|
@ -73,7 +73,7 @@ class res_users(osv.Model):
|
|||
def create(self, cr, uid, data, context=None):
|
||||
# create default alias same as the login
|
||||
if not data.get('login', False):
|
||||
raise osv.except_osv(_('Invalid Action!'), _('You may not create a user.'))
|
||||
raise osv.except_osv(_('Invalid Action!'), _('You may not create a user. To create new users, you should use the "Settings > Users" menu.'))
|
||||
|
||||
mail_alias = self.pool.get('mail.alias')
|
||||
alias_id = mail_alias.create_unique_alias(cr, uid, {'alias_name': data['login']}, model_name=self._name, context=context)
|
||||
|
|
|
@ -132,8 +132,6 @@
|
|||
display: none;
|
||||
white-space: normal;
|
||||
padding: 8px;
|
||||
background: #eee;
|
||||
border-top: 1px solid #ccc;
|
||||
}
|
||||
|
||||
.openerp div.oe_mail_thread_action:after {
|
||||
|
@ -201,7 +199,7 @@
|
|||
.openerp .oe_mail_msg_email {
|
||||
padding: 8px;
|
||||
background: white;
|
||||
border-top: 1px solid #ccc;
|
||||
border-top: 1px solid #ebebeb;
|
||||
}
|
||||
|
||||
.openerp div.oe_mail_thread_subthread .oe_mail_msg_comment {
|
||||
|
|
|
@ -34,7 +34,7 @@ This module is the base module for other multi-company modules.
|
|||
'website': 'http://www.openerp.com/',
|
||||
'depends': [
|
||||
'base',
|
||||
'sale',
|
||||
'sale_stock',
|
||||
'project',
|
||||
],
|
||||
'data': ['res_company_view.xml'],
|
||||
|
|
|
@ -181,7 +181,7 @@
|
|||
</record>
|
||||
|
||||
<record id="sale.sale_order_5" model="sale.order">
|
||||
<field name="company_id" ref="res_company_oerp_in"/>
|
||||
<field name="company_id" ref="base.main_company"/>
|
||||
</record>
|
||||
|
||||
|
||||
|
|
|
@ -185,5 +185,4 @@ class note_base_config_settings(osv.osv_memory):
|
|||
_columns = {
|
||||
'module_note_pad': fields.boolean('Use collaborative pads (etherpad)'),
|
||||
'group_note_fancy': fields.boolean('Use fancy layouts for notes', implied_group='note.group_note_fancy'),
|
||||
'group_note_tags': fields.boolean('Allow setting tags on notes', implied_group='note.group_note_tags'),
|
||||
}
|
||||
|
|
|
@ -4,28 +4,27 @@
|
|||
<record model="note.stage" id="demo_note_stage_01">
|
||||
<field name="name">Today</field>
|
||||
<field name="sequence">1</field>
|
||||
<field name="user_id" eval="ref('base.user_demo')"/>
|
||||
<field name="user_id" ref="base.user_demo"/>
|
||||
</record>
|
||||
|
||||
<record model="note.stage" id="demo_note_stage_02">
|
||||
<field name="name">Tomorrow</field>
|
||||
<field name="sequence">2</field>
|
||||
<field name="user_id" eval="ref('base.user_demo')"/>
|
||||
<field name="user_id" ref="base.user_demo"/>
|
||||
</record>
|
||||
|
||||
<record model="note.stage" id="demo_note_stage_03">
|
||||
<field name="name">Later</field>
|
||||
<field name="sequence">3</field>
|
||||
<field name="user_id" eval="ref('base.user_demo')"/>
|
||||
<field name="user_id" ref="base.user_demo"/>
|
||||
</record>
|
||||
|
||||
<record model="note.stage" id="demo_note_stage_04">
|
||||
<field name="name">Notes</field>
|
||||
<field name="name">Morning</field>
|
||||
<field name="sequence">4</field>
|
||||
<field name="user_id" eval="ref('base.user_demo')"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="note_1" model="note.note">
|
||||
<field name="name">Customer report #349872</field>
|
||||
<field name="memo"><![CDATA[<b>Customer report #349872</b>
|
||||
|
@ -35,8 +34,9 @@
|
|||
<br/>* We should use the term Calendar, not Meeting.
|
||||
]]>
|
||||
</field>
|
||||
<field name="stage_id" ref="note_stage_01"/>
|
||||
<field name="stage_id" ref="demo_note_stage_01"/>
|
||||
<field name="color">2</field>
|
||||
<field name="message_follower_ids" eval="[(4, ref('base.group_user'))]"/>
|
||||
</record>
|
||||
|
||||
<record id="note_2" model="note.note">
|
||||
|
@ -44,14 +44,7 @@
|
|||
<br/><br/>* Followed by the telephone conversation and mail about D.544.3
|
||||
]]>
|
||||
</field>
|
||||
<field name="stage_id" ref="note_stage_01"/>
|
||||
</record>
|
||||
|
||||
<record id="note_3" model="note.note">
|
||||
<field name="memo"><![CDATA[<b>Call Marc</b>
|
||||
<br/><br/>]]>
|
||||
</field>
|
||||
<field name="stage_id" ref="note_stage_01"/>
|
||||
<field name="stage_id" ref="demo_note_stage_01"/>
|
||||
</record>
|
||||
|
||||
<record id="note_4" model="note.note">
|
||||
|
@ -67,7 +60,8 @@
|
|||
<br/>* wine
|
||||
]]>
|
||||
</field>
|
||||
<field name="stage_id" ref="note_stage_02"/>
|
||||
<field name="stage_id" ref="demo_note_stage_02"/>
|
||||
<field name="message_follower_ids" eval="[(4, ref('base.group_user'))]"/>
|
||||
</record>
|
||||
|
||||
<record id="note_6" model="note.note">
|
||||
|
@ -79,15 +73,6 @@
|
|||
<field name="stage_id" ref="note_stage_02"/>
|
||||
</record>
|
||||
|
||||
<record id="note_7" model="note.note">
|
||||
<field name="memo"><![CDATA[<b>Read some documentation about OpenERP before diving into the code</b>
|
||||
<br/><br/>* Open ERP: a modern approach to integrated business management
|
||||
<br/>* Open ERP for Retail and Industrial Management
|
||||
]]>
|
||||
</field>
|
||||
<field name="stage_id" ref="note_stage_03"/>
|
||||
</record>
|
||||
|
||||
<record id="note_8" model="note.note">
|
||||
<field name="memo"><![CDATA[<b>New computer specs</b>
|
||||
<br/><br/>* Motherboard
|
||||
|
@ -108,6 +93,7 @@
|
|||
</field>
|
||||
<field name="stage_id" ref="note_stage_03"/>
|
||||
<field name="color">3</field>
|
||||
<field name="message_follower_ids" eval="[(4, ref('base.group_user'))]"/>
|
||||
</record>
|
||||
|
||||
<record id="note_9" model="note.note">
|
||||
|
@ -116,16 +102,7 @@
|
|||
<br/>* Open ERP for Retail and Industrial Management
|
||||
]]>
|
||||
</field>
|
||||
<field name="stage_id" ref="note_stage_02"/>
|
||||
</record>
|
||||
|
||||
<record id="note_10" model="note.note">
|
||||
<field name="memo"><![CDATA[<b>Read some documentation about OpenERP before diving into the code</b>
|
||||
<br/><br/>* Open ERP: a modern approach to integrated business management
|
||||
<br/>* Open ERP for Retail and Industrial Management
|
||||
]]>
|
||||
</field>
|
||||
<field name="stage_id" ref="note_stage_03"/>
|
||||
<field name="stage_id" ref="demo_note_stage_02"/>
|
||||
</record>
|
||||
|
||||
<record id="note_12" model="note.note">
|
||||
|
@ -134,8 +111,9 @@
|
|||
<br/>* Open ERP for Retail and Industrial Management
|
||||
]]>
|
||||
</field>
|
||||
<field name="stage_id" ref="note_stage_03"/>
|
||||
<field name="message_follower_ids" eval="[(4, ref('base.group_user'))]"/>
|
||||
<field name="color">7</field>
|
||||
<field name="stage_ids" eval="['note_stage_03','demo_note_stage_04']"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
|
|
|
@ -61,7 +61,7 @@
|
|||
<div class="oe_dropdown_kanban">
|
||||
<span>
|
||||
<a name="onclick_note_is_done" type="object" t-if="record.open.raw_value" class="oe_e">W</a>
|
||||
<a name="onclick_note_not_done" type="object" t-if="!record.open.raw_value" class="oe_e">è</a>
|
||||
<a name="onclick_note_not_done" type="object" t-if="!record.open.raw_value" class="oe_e">W</a>
|
||||
</span>
|
||||
|
||||
<!-- dropdown menu -->
|
||||
|
@ -101,7 +101,7 @@
|
|||
<field name="name"/>
|
||||
<field name="open"/>
|
||||
<field name="stage_id"/>
|
||||
<field name="tag_ids" widget="many2many_tags" groups="note.group_note_tags"/>
|
||||
<field name="tag_ids" widget="many2many_tags"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -130,7 +130,7 @@
|
|||
<field name="arch" type="xml">
|
||||
<search string="Notes">
|
||||
<field name="memo" string="Note"/>
|
||||
<field name="tag_ids" groups="note.group_note_tags"/>
|
||||
<field name="tag_ids"/>
|
||||
<filter name="open_true" string="Active" domain="['|',('open', '=', True),('date_done','=',time.strftime('%%Y-%%m-%%d'))]"/>
|
||||
<filter name="open_false" string="Archive" domain="[('open', '=', False)]"/>
|
||||
<group expand="0" string="Group By...">
|
||||
|
@ -159,10 +159,6 @@
|
|||
<field name="group_note_fancy" class="oe_inline"/>
|
||||
<label for="group_note_fancy"/>
|
||||
</div>
|
||||
<div>
|
||||
<field name="group_note_tags" class="oe_inline"/>
|
||||
<label for="group_note_tags"/>
|
||||
</div>
|
||||
</div>
|
||||
</group>
|
||||
</xpath>
|
||||
|
|
|
@ -1,3 +1,2 @@
|
|||
id,name,implied_ids/id
|
||||
group_note_tags,Memo / Display tags,
|
||||
group_note_fancy,Memo / Fancy mode,
|
||||
|
|
|
|
@ -1,3 +0,0 @@
|
|||
memo.css: memo.sass
|
||||
sass -t expanded memo.sass memo.css
|
||||
|
|
@ -1,93 +1,53 @@
|
|||
@charset "utf-8";
|
||||
@font-face {
|
||||
font-family: "mnmliconsRegular";
|
||||
src: url("/web/static/src/font/mnmliconsv21-webfont.eot") format("eot");
|
||||
src: url("/web/static/src/font/mnmliconsv21-webfont.woff") format("woff");
|
||||
src: url("/web/static/src/font/mnmliconsv21-webfont.ttf") format("truetype");
|
||||
src: url("/web/static/src/font/mnmliconsv21-webfont.svg") format("svg") active;
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "EntypoRegular";
|
||||
src: url("/web/static/src/font/entypo-webfont.eot") format("eot");
|
||||
src: url("/web/static/src/font/entypo-webfont.eot?#iefix") format("embedded-opentype");
|
||||
src: url("/web/static/src/font/entypo-webfont.woff") format("woff");
|
||||
src: url("/web/static/src/font/entypo-webfont.ttf") format("truetype");
|
||||
src: url("/web/static/src/font/entypo-webfont.svg") format("svg") active;
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@-moz-keyframes bounce {
|
||||
0% {
|
||||
-moz-transform: scale(0);
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
50% {
|
||||
-moz-transform: scale(1.3);
|
||||
opacity: 0.4;
|
||||
}
|
||||
|
||||
75% {
|
||||
-moz-transform: scale(0.9);
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
100% {
|
||||
-moz-transform: scale(1);
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes bounce {
|
||||
0% {
|
||||
-webkit-transform: scale(0);
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
50% {
|
||||
-webkit-transform: scale(1.3);
|
||||
opacity: 0.4;
|
||||
}
|
||||
|
||||
75% {
|
||||
-webkit-transform: scale(0.9);
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
100% {
|
||||
-webkit-transform: scale(1);
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
.oe_kanban_color_2 {
|
||||
background-color: red;
|
||||
}
|
||||
|
||||
.oe_kanban_column .note_text_line_through {
|
||||
text-decoration: line-through;
|
||||
}
|
||||
|
||||
.openerp .oe_fold_column .oe_kanban_card_fancy {
|
||||
text-decoration: none;
|
||||
color: black;
|
||||
display: block;
|
||||
padding: 1em;
|
||||
margin-right: 1em;
|
||||
margin-bottom: 1em;
|
||||
-moz-box-shadow: 5px 5px 7px #212121;
|
||||
-webkit-box-shadow: 5px 5px 7px rgba(33, 33, 33, 0.7);
|
||||
box-shadow: 5px 5px 7px rgba(33, 33, 33, 0.7);
|
||||
.openerp .oe_kanban_view.oe_notes .oe_kanban_card_fancy.oe_kanban_color_0 {
|
||||
box-shadow: 0px 4px 9px rgba(48, 48, 48, 0.15);
|
||||
}
|
||||
.openerp .oe_kanban_view.oe_notes .oe_kanban_card_fancy.oe_kanban_color_1 {
|
||||
box-shadow: 0px 4px 9px rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
.openerp .oe_kanban_view.oe_notes .oe_kanban_card_fancy.oe_kanban_color_2 {
|
||||
box-shadow: 0px 4px 9px rgba(48, 0, 0, 0.15);
|
||||
}
|
||||
.openerp .oe_kanban_view.oe_notes .oe_kanban_card_fancy.oe_kanban_color_3 {
|
||||
box-shadow: 0px 4px 9px rgba(97, 93, 0, 0.16);
|
||||
}
|
||||
.openerp .oe_kanban_view.oe_notes .oe_kanban_card_fancy.oe_kanban_color_4 {
|
||||
box-shadow: 0px 4px 9px rgba(77, 128, 0, 0.17);
|
||||
}
|
||||
.openerp .oe_kanban_view.oe_notes .oe_kanban_card_fancy.oe_kanban_color_5 {
|
||||
box-shadow: 0px 4px 9px rgba(0, 88, 11, 0.15);
|
||||
}
|
||||
.openerp .oe_kanban_view.oe_notes .oe_kanban_card_fancy.oe_kanban_color_6 {
|
||||
box-shadow: 0px 4px 9px rgba(0, 80, 95, 0.15);
|
||||
}
|
||||
.openerp .oe_kanban_view.oe_notes .oe_kanban_card_fancy.oe_kanban_color_7 {
|
||||
box-shadow: 0px 4px 9px rgba(3, 13, 133, 0.18);
|
||||
}
|
||||
.openerp .oe_kanban_view.oe_notes .oe_kanban_card_fancy.oe_kanban_color_8 {
|
||||
box-shadow: 0px 4px 9px rgba(56, 0, 128, 0.15);
|
||||
}
|
||||
.openerp .oe_kanban_view.oe_notes .oe_kanban_card_fancy.oe_kanban_color_9 {
|
||||
box-shadow: 0px 4px 9px rgba(102, 0, 116, 0.15);
|
||||
}
|
||||
|
||||
.openerp .oe_kanban_record .oe_kanban_card_fancy {
|
||||
text-shadow: none;
|
||||
border-radius: 2px;
|
||||
padding: 12px;
|
||||
margin-left: 3px;
|
||||
margin-right: 3px;
|
||||
padding-bottom: 16px;
|
||||
margin-bottom: 16px;
|
||||
-webkit-transform: rotate(-2deg);
|
||||
-o-transform: rotate(-2deg);
|
||||
-moz-transform: rotate(-2deg);
|
||||
-webkit-transition: all 300ms cubic-bezier(0.5, 0, 0.5, 1);
|
||||
-moz-transition: all 300ms cubic-bezier(0.5, 0, 0.5, 1);
|
||||
-ms-transition: all 300ms cubic-bezier(0.5, 0, 0.5, 1);
|
||||
transition: all 300ms cubic-bezier(0.5, 0, 0.5, 1);
|
||||
}
|
||||
.openerp .oe_kanban_record:nth-of-type(even) .oe_kanban_card_fancy {
|
||||
-webkit-transform: rotate(1deg);
|
||||
|
@ -132,12 +92,14 @@
|
|||
|
||||
.openerp .oe_kanban_column .oe_fold_column .oe_kanban_card_fancy:hover,
|
||||
.openerp .oe_kanban_column .oe_fold_column .oe_kanban_card_fancy:focus {
|
||||
box-shadow: 10px 10px 7px rgba(0, 0, 0, 0.7);
|
||||
-moz-box-shadow: 10px 10px 7px rgba(0, 0, 0, 0.7);
|
||||
-webkit-box-shadow: 10px 10px 7px rgba(0, 0, 0, 0.7);
|
||||
position: relative;
|
||||
z-index: 5;
|
||||
-webkit-transform: rotate(0);
|
||||
-o-transform: rotate(0);
|
||||
-moz-transform: rotate(0);
|
||||
border-color: rgba(0, 0, 0, 0.4);
|
||||
-webkit-transition: all 150ms cubic-bezier(0.5, 0, 0.5, 1);
|
||||
-moz-transition: all 150ms cubic-bezier(0.5, 0, 0.5, 1);
|
||||
-ms-transition: all 150ms cubic-bezier(0.5, 0, 0.5, 1);
|
||||
transition: all 150ms cubic-bezier(0.5, 0, 0.5, 1);
|
||||
-webkit-transform: rotate(0) !important;
|
||||
-o-transform: rotate(0) !important;
|
||||
-moz-transform: rotate(0) !important;
|
||||
}
|
||||
|
|
|
@ -1,168 +1,54 @@
|
|||
@charset "utf-8"
|
||||
|
||||
// Variables {{{
|
||||
$section-title-color: #8786b7
|
||||
$tag-bg-light: #f0f0fa
|
||||
$tag-bg-dark: #8786b7
|
||||
$tag-border: #afafb6
|
||||
$tag-border-selected: #a6a6fe
|
||||
$hover-background: #f0f0fa
|
||||
$link-color: #8a89ba
|
||||
$sheet-max-width: 860px
|
||||
// }}}
|
||||
// Mixins {{{
|
||||
@font-face
|
||||
font-family: 'mnmliconsRegular'
|
||||
src: url('/web/static/src/font/mnmliconsv21-webfont.eot') format('eot')
|
||||
src: url('/web/static/src/font/mnmliconsv21-webfont.woff') format('woff')
|
||||
src: url('/web/static/src/font/mnmliconsv21-webfont.ttf') format('truetype')
|
||||
src: url('/web/static/src/font/mnmliconsv21-webfont.svg') format('svg') active
|
||||
font-weight: normal
|
||||
font-style: normal
|
||||
|
||||
@font-face
|
||||
font-family: 'EntypoRegular'
|
||||
src: url('/web/static/src/font/entypo-webfont.eot') format('eot')
|
||||
src: url('/web/static/src/font/entypo-webfont.eot?#iefix') format('embedded-opentype')
|
||||
src: url('/web/static/src/font/entypo-webfont.woff') format('woff')
|
||||
src: url('/web/static/src/font/entypo-webfont.ttf') format('truetype')
|
||||
src: url('/web/static/src/font/entypo-webfont.svg') format('svg') active
|
||||
font-weight: normal
|
||||
font-style: normal
|
||||
|
||||
@mixin reset()
|
||||
border: none
|
||||
padding: 0
|
||||
margin: 0
|
||||
background: none
|
||||
@include radius(none)
|
||||
@include box-shadow(none)
|
||||
|
||||
@mixin vertical-gradient($startColor: #555, $endColor: #333)
|
||||
background-color: $startColor
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from($startColor), to($endColor)) /* Saf4+, Chrome */
|
||||
background-image: -webkit-linear-gradient(top, $startColor, $endColor) /* Chrome 10+, Saf5.1+, iOS 5+ */
|
||||
background-image: -moz-linear-gradient(top, $startColor, $endColor) /* FF3.6 */
|
||||
background-image: -ms-linear-gradient(top, $startColor, $endColor) /* IE10 */
|
||||
background-image: -o-linear-gradient(top, $startColor, $endColor) /* Opera 11.10+ */
|
||||
background-image: linear-gradient(to bottom, $startColor, $endColor)
|
||||
|
||||
@mixin radial-gradient($gradient)
|
||||
background-position: center center
|
||||
background-image: -webkit-radial-gradient(circle, $gradient)
|
||||
background-image: -moz-radial-gradient($gradient)
|
||||
background-image: -ms-radial-gradient($gradient)
|
||||
background-image: radial-gradient($gradient)
|
||||
|
||||
@mixin radius($radius: 5px)
|
||||
-moz-border-radius: $radius
|
||||
-webkit-border-radius: $radius
|
||||
border-radius: $radius
|
||||
|
||||
@mixin box-shadow($bsval: 0px 1px 4px #777)
|
||||
-moz-box-shadow: $bsval
|
||||
-webkit-box-shadow: $bsval
|
||||
box-shadow: $bsval
|
||||
|
||||
@mixin transition($transval: (border linear 0.2s, box-shadow linear 0.2s))
|
||||
-webkit-transition: $transval
|
||||
-moz-transition: $transval
|
||||
-ms-transition: $transval
|
||||
-o-transition: $transval
|
||||
transition: $transval
|
||||
|
||||
@mixin opacity($opacity: .5)
|
||||
filter: alpha(opacity=$opacity * 100)
|
||||
opacity: $opacity
|
||||
|
||||
@mixin background-clip($clip: padding-box)
|
||||
-webkit-background-clip: $clip
|
||||
-moz-background-clip: $clip
|
||||
background-clip: $clip
|
||||
|
||||
@mixin box-sizing($type: content)
|
||||
// type = border || content || padding
|
||||
-webkit-box-sizing: #{$type}-box
|
||||
-moz-box-sizing: #{$type}-box
|
||||
-ms-box-sizing: #{$type}-box
|
||||
box-sizing: #{$type}-box
|
||||
|
||||
// Transforms the (readable) text of an inline element into an mmlicons icon,
|
||||
// allows for actual readable text in-code (and in readers?) with iconic looks
|
||||
@mixin text-to-icon($icon-name, $color: #404040)
|
||||
font-size: 1px
|
||||
letter-spacing: -1px
|
||||
color: transparent
|
||||
&: before
|
||||
font: 21px "mnmliconsRegular"
|
||||
content: $icon-name
|
||||
color: $color
|
||||
|
||||
// }}}
|
||||
// CSS animation bounces {{{
|
||||
@-moz-keyframes bounce
|
||||
0%
|
||||
-moz-transform: scale(0)
|
||||
opacity: 0
|
||||
50%
|
||||
-moz-transform: scale(1.3)
|
||||
opacity: 0.4
|
||||
75%
|
||||
-moz-transform: scale(0.9)
|
||||
opacity: 0.7
|
||||
100%
|
||||
-moz-transform: scale(1)
|
||||
opacity: 1
|
||||
|
||||
@-webkit-keyframes bounce
|
||||
0%
|
||||
-webkit-transform: scale(0)
|
||||
opacity: 0
|
||||
50%
|
||||
-webkit-transform: scale(1.3)
|
||||
opacity: 0.4
|
||||
75%
|
||||
-webkit-transform: scale(0.9)
|
||||
opacity: 0.7
|
||||
100%
|
||||
-webkit-transform: scale(1)
|
||||
opacity: 1
|
||||
// }}}
|
||||
|
||||
|
||||
.oe_kanban_color_2
|
||||
background-color: red
|
||||
|
||||
// au BufWritePost,FileWritePost *.sass : !sass --style expanded --line-numbers <afile> > "%: p: r.css"
|
||||
|
||||
.oe_kanban_column
|
||||
.note_text_line_through
|
||||
text-decoration: line-through
|
||||
|
||||
|
||||
.openerp
|
||||
.oe_fold_column
|
||||
.oe_kanban_card_fancy
|
||||
text-decoration: none
|
||||
color: #000
|
||||
display: block
|
||||
padding: 1em
|
||||
margin-right: 1em
|
||||
margin-bottom: 1em
|
||||
-moz-box-shadow: 5px 5px 7px rgba(33,33,33,1)
|
||||
-webkit-box-shadow: 5px 5px 7px rgba(33,33,33,.7)
|
||||
box-shadow: 5px 5px 7px rgba(33,33,33,.7)
|
||||
|
||||
|
||||
@mixin rotate($a)
|
||||
-webkit-transform: rotate($a)
|
||||
-o-transform: rotate($a)
|
||||
-webkit-transform: rotate($a)
|
||||
-o-transform: rotate($a)
|
||||
-moz-transform: rotate($a)
|
||||
|
||||
@mixin transition($what:all,$duration:100ms)
|
||||
-webkit-transition: $what $duration cubic-bezier(0.5,0,0.5,1)
|
||||
-moz-transition: $what $duration cubic-bezier(0.5,0,0.5,1)
|
||||
-ms-transition: $what $duration cubic-bezier(0.5,0,0.5,1)
|
||||
transition: $what $duration cubic-bezier(0.5,0,0.5,1)
|
||||
|
||||
|
||||
.openerp
|
||||
.oe_kanban_view.oe_notes
|
||||
.oe_kanban_card_fancy.oe_kanban_color_0
|
||||
box-shadow: 0px 4px 9px rgba(48,48,48,0.15)
|
||||
.oe_kanban_card_fancy.oe_kanban_color_1
|
||||
box-shadow: 0px 4px 9px rgba(0,0,0,0.15)
|
||||
.oe_kanban_card_fancy.oe_kanban_color_2
|
||||
box-shadow: 0px 4px 9px rgba(48,0,0,0.15)
|
||||
.oe_kanban_card_fancy.oe_kanban_color_3
|
||||
box-shadow: 0px 4px 9px rgba(97,93,0,0.16)
|
||||
.oe_kanban_card_fancy.oe_kanban_color_4
|
||||
box-shadow: 0px 4px 9px rgba(77,128,0,0.17)
|
||||
.oe_kanban_card_fancy.oe_kanban_color_5
|
||||
box-shadow: 0px 4px 9px rgba(0,88,11,0.15)
|
||||
.oe_kanban_card_fancy.oe_kanban_color_6
|
||||
box-shadow: 0px 4px 9px rgba(0,80,95,0.15)
|
||||
.oe_kanban_card_fancy.oe_kanban_color_7
|
||||
box-shadow: 0px 4px 9px rgba(3,13,133,0.18)
|
||||
.oe_kanban_card_fancy.oe_kanban_color_8
|
||||
box-shadow: 0px 4px 9px rgba(56,0,128,0.15)
|
||||
.oe_kanban_card_fancy.oe_kanban_color_9
|
||||
box-shadow: 0px 4px 9px rgba(102,0,116,0.15)
|
||||
.oe_kanban_record
|
||||
.oe_kanban_card_fancy
|
||||
text-shadow: none
|
||||
border-radius: 2px
|
||||
padding: 12px
|
||||
margin-left: 3px
|
||||
margin-right: 3px
|
||||
padding-bottom: 16px
|
||||
margin-bottom: 16px
|
||||
@include rotate(-2deg)
|
||||
@include transition($what:all, $duration:300ms)
|
||||
.oe_kanban_record:nth-of-type(even)
|
||||
.oe_kanban_card_fancy
|
||||
@include rotate(1deg)
|
||||
|
@ -193,17 +79,16 @@ $sheet-max-width: 860px
|
|||
@include rotate(-1deg)
|
||||
|
||||
|
||||
@mixin oe_kanban_card_fancy
|
||||
box-shadow: 10px 10px 7px rgba(0,0,0,.7)
|
||||
-moz-box-shadow: 10px 10px 7px rgba(0,0,0,.7)
|
||||
-webkit-box-shadow: 10px 10px 7px rgba(0,0,0,.7)
|
||||
position: relative
|
||||
z-index: 5
|
||||
@include rotate(0)
|
||||
|
||||
.openerp
|
||||
.oe_kanban_column
|
||||
.oe_fold_column
|
||||
.oe_kanban_card_fancy:hover,
|
||||
.oe_kanban_card_fancy:focus
|
||||
@include oe_kanban_card_fancy
|
||||
position: relative
|
||||
z-index: 5
|
||||
border-color: rgba(0,0,0,0.4)
|
||||
@include transition($what:all, $duration:150ms)
|
||||
-webkit-transform: rotate(0) !important
|
||||
-o-transform: rotate(0) !important
|
||||
-moz-transform: rotate(0) !important
|
||||
|
||||
|
|
|
@ -5,24 +5,56 @@ import re
|
|||
import string
|
||||
import urllib2
|
||||
from tools.translate import _
|
||||
from openerp.tools.misc import html2plaintext
|
||||
from py_etherpad import EtherpadLiteClient
|
||||
|
||||
class pad_common(osv.osv_memory):
|
||||
_name = 'pad.common'
|
||||
|
||||
def pad_generate_url(self, cr, uid, context=None):
|
||||
pad_server = self.pool.get('res.users').browse(cr, uid, uid, context).company_id.pad_server
|
||||
company = self.pool.get('res.users').browse(cr, uid, uid, context=context).company_id;
|
||||
|
||||
pad = {
|
||||
"server" : company.pad_server,
|
||||
"key" : company.pad_key or "4DxmsNIbnQUVQMW9S9tx2oLOSjFdrx1l",
|
||||
}
|
||||
|
||||
# make sure pad server in the form of http://hostname
|
||||
if not pad_server:
|
||||
if not pad["server"]:
|
||||
return ''
|
||||
if not pad_server.startswith('http'):
|
||||
pad_server = 'http://' + pad_server
|
||||
pad_server = pad_server.rstrip('/')
|
||||
if not pad["server"].startswith('http'):
|
||||
pad["server"] = 'http://' + pad["server"]
|
||||
pad["server"] = pad["server"].rstrip('/')
|
||||
# generate a salt
|
||||
s = string.ascii_uppercase + string.digits
|
||||
salt = ''.join([s[random.randint(0, len(s) - 1)] for i in range(10)])
|
||||
#path
|
||||
path = '%s-%s-%s' % (cr.dbname.replace('_','-'), self._name, salt)
|
||||
# contruct the url
|
||||
url = '%s/p/%s-%s-%s' % (pad_server, cr.dbname.replace('_','-'), self._name, salt)
|
||||
return url
|
||||
url = '%s/p/%s' % (pad["server"], path)
|
||||
|
||||
#if create with content
|
||||
if "field_name" in context and "model" in context and "object_id" in context:
|
||||
myPad = EtherpadLiteClient( pad["key"], pad["server"]+'/api')
|
||||
myPad.createPad(path)
|
||||
|
||||
#get attr on the field model
|
||||
model = self.pool.get(context["model"])
|
||||
field = model._all_columns[context['field_name']]
|
||||
real_field = field.column.pad_content_field
|
||||
|
||||
#get content of the real field
|
||||
for record in model.browse(cr, uid, [context["object_id"]]):
|
||||
if record[real_field]:
|
||||
myPad.setText(path, html2plaintext(record[real_field]))
|
||||
#Etherpad for html not functional
|
||||
#myPad.setHTML(path, record[real_field])
|
||||
|
||||
return {
|
||||
"server": pad["server"],
|
||||
"path": path,
|
||||
"url": url,
|
||||
}
|
||||
|
||||
def pad_get_content(self, cr, uid, url, context=None):
|
||||
content = ''
|
||||
|
@ -57,7 +89,8 @@ class pad_common(osv.osv_memory):
|
|||
for k,v in self._all_columns:
|
||||
field = v.column
|
||||
if hasattr(field,'pad_content_field'):
|
||||
default[k] = self.pad_generate_url(cr, uid, context)
|
||||
pad = self.pad_generate_url(cr, uid, context)
|
||||
default[k] = pad['url']
|
||||
return super(pad_common, self).copy(cr, uid, id, default, context)
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
|
@ -0,0 +1,253 @@
|
|||
#!/usr/bin/env python
|
||||
"""Module to talk to EtherpadLite API."""
|
||||
|
||||
import json
|
||||
import urllib
|
||||
import urllib2
|
||||
|
||||
|
||||
class EtherpadLiteClient:
|
||||
"""Client to talk to EtherpadLite API."""
|
||||
API_VERSION = 1 # TODO probably 1.1 sometime soon
|
||||
|
||||
CODE_OK = 0
|
||||
CODE_INVALID_PARAMETERS = 1
|
||||
CODE_INTERNAL_ERROR = 2
|
||||
CODE_INVALID_FUNCTION = 3
|
||||
CODE_INVALID_API_KEY = 4
|
||||
TIMEOUT = 20
|
||||
|
||||
apiKey = ""
|
||||
baseUrl = "http://localhost:9001/api"
|
||||
|
||||
def __init__(self, apiKey=None, baseUrl=None):
|
||||
if apiKey:
|
||||
self.apiKey = apiKey
|
||||
|
||||
if baseUrl:
|
||||
self.baseUrl = baseUrl
|
||||
|
||||
def call(self, function, arguments=None):
|
||||
"""Create a dictionary of all parameters"""
|
||||
url = '%s/%d/%s' % (self.baseUrl, self.API_VERSION, function)
|
||||
|
||||
params = arguments or {}
|
||||
params.update({'apikey': self.apiKey})
|
||||
data = urllib.urlencode(params, True)
|
||||
|
||||
try:
|
||||
opener = urllib2.build_opener()
|
||||
request = urllib2.Request(url=url, data=data)
|
||||
response = opener.open(request, timeout=self.TIMEOUT)
|
||||
result = response.read()
|
||||
response.close()
|
||||
except urllib2.HTTPError:
|
||||
raise
|
||||
|
||||
result = json.loads(result)
|
||||
if result is None:
|
||||
raise ValueError("JSON response could not be decoded")
|
||||
|
||||
return self.handleResult(result)
|
||||
|
||||
def handleResult(self, result):
|
||||
"""Handle API call result"""
|
||||
if 'code' not in result:
|
||||
raise Exception("API response has no code")
|
||||
if 'message' not in result:
|
||||
raise Exception("API response has no message")
|
||||
|
||||
if 'data' not in result:
|
||||
result['data'] = None
|
||||
|
||||
if result['code'] == self.CODE_OK:
|
||||
return result['data']
|
||||
elif result['code'] == self.CODE_INVALID_PARAMETERS or result['code'] == self.CODE_INVALID_API_KEY:
|
||||
raise ValueError(result['message'])
|
||||
elif result['code'] == self.CODE_INTERNAL_ERROR:
|
||||
raise Exception(result['message'])
|
||||
elif result['code'] == self.CODE_INVALID_FUNCTION:
|
||||
raise Exception(result['message'])
|
||||
else:
|
||||
raise Exception("An unexpected error occurred whilst handling the response")
|
||||
|
||||
# GROUPS
|
||||
# Pads can belong to a group. There will always be public pads that do not belong to a group (or we give this group the id 0)
|
||||
|
||||
def createGroup(self):
|
||||
"""creates a new group"""
|
||||
return self.call("createGroup")
|
||||
|
||||
def createGroupIfNotExistsFor(self, groupMapper):
|
||||
"""this functions helps you to map your application group ids to etherpad lite group ids"""
|
||||
return self.call("createGroupIfNotExistsFor", {
|
||||
"groupMapper": groupMapper
|
||||
})
|
||||
|
||||
def deleteGroup(self, groupID):
|
||||
"""deletes a group"""
|
||||
return self.call("deleteGroup", {
|
||||
"groupID": groupID
|
||||
})
|
||||
|
||||
def listPads(self, groupID):
|
||||
"""returns all pads of this group"""
|
||||
return self.call("listPads", {
|
||||
"groupID": groupID
|
||||
})
|
||||
|
||||
def createGroupPad(self, groupID, padName, text=''):
|
||||
"""creates a new pad in this group"""
|
||||
params = {
|
||||
"groupID": groupID,
|
||||
"padName": padName,
|
||||
}
|
||||
if text:
|
||||
params['text'] = text
|
||||
return self.call("createGroupPad", params)
|
||||
|
||||
# AUTHORS
|
||||
# Theses authors are bind to the attributes the users choose (color and name).
|
||||
|
||||
def createAuthor(self, name=''):
|
||||
"""creates a new author"""
|
||||
params = {}
|
||||
if name:
|
||||
params['name'] = name
|
||||
return self.call("createAuthor", params)
|
||||
|
||||
def createAuthorIfNotExistsFor(self, authorMapper, name=''):
|
||||
"""this functions helps you to map your application author ids to etherpad lite author ids"""
|
||||
params = {
|
||||
'authorMapper': authorMapper
|
||||
}
|
||||
if name:
|
||||
params['name'] = name
|
||||
return self.call("createAuthorIfNotExistsFor", params)
|
||||
|
||||
# SESSIONS
|
||||
# Sessions can be created between a group and a author. This allows
|
||||
# an author to access more than one group. The sessionID will be set as
|
||||
# a cookie to the client and is valid until a certain date.
|
||||
|
||||
def createSession(self, groupID, authorID, validUntil):
|
||||
"""creates a new session"""
|
||||
return self.call("createSession", {
|
||||
"groupID": groupID,
|
||||
"authorID": authorID,
|
||||
"validUntil": validUntil
|
||||
})
|
||||
|
||||
def deleteSession(self, sessionID):
|
||||
"""deletes a session"""
|
||||
return self.call("deleteSession", {
|
||||
"sessionID": sessionID
|
||||
})
|
||||
|
||||
def getSessionInfo(self, sessionID):
|
||||
"""returns informations about a session"""
|
||||
return self.call("getSessionInfo", {
|
||||
"sessionID": sessionID
|
||||
})
|
||||
|
||||
def listSessionsOfGroup(self, groupID):
|
||||
"""returns all sessions of a group"""
|
||||
return self.call("listSessionsOfGroup", {
|
||||
"groupID": groupID
|
||||
})
|
||||
|
||||
def listSessionsOfAuthor(self, authorID):
|
||||
"""returns all sessions of an author"""
|
||||
return self.call("listSessionsOfAuthor", {
|
||||
"authorID": authorID
|
||||
})
|
||||
|
||||
# PAD CONTENT
|
||||
# Pad content can be updated and retrieved through the API
|
||||
|
||||
def getText(self, padID, rev=None):
|
||||
"""returns the text of a pad"""
|
||||
params = {"padID": padID}
|
||||
if rev is not None:
|
||||
params['rev'] = rev
|
||||
return self.call("getText", params)
|
||||
|
||||
# introduced with pull request merge
|
||||
def getHtml(self, padID, rev=None):
|
||||
"""returns the html of a pad"""
|
||||
params = {"padID": padID}
|
||||
if rev is not None:
|
||||
params['rev'] = rev
|
||||
return self.call("getHTML", params)
|
||||
|
||||
def setText(self, padID, text):
|
||||
"""sets the text of a pad"""
|
||||
return self.call("setText", {
|
||||
"padID": padID,
|
||||
"text": text
|
||||
})
|
||||
|
||||
def setHtml(self, padID, html):
|
||||
"""sets the text of a pad from html"""
|
||||
return self.call("setHTML", {
|
||||
"padID": padID,
|
||||
"html": html
|
||||
})
|
||||
|
||||
# PAD
|
||||
# Group pads are normal pads, but with the name schema
|
||||
# GROUPID$PADNAME. A security manager controls access of them and its
|
||||
# forbidden for normal pads to include a in the name.
|
||||
|
||||
def createPad(self, padID, text=''):
|
||||
"""creates a new pad"""
|
||||
params = {
|
||||
"padID": padID,
|
||||
}
|
||||
if text:
|
||||
params['text'] = text
|
||||
return self.call("createPad", params)
|
||||
|
||||
def getRevisionsCount(self, padID):
|
||||
"""returns the number of revisions of this pad"""
|
||||
return self.call("getRevisionsCount", {
|
||||
"padID": padID
|
||||
})
|
||||
|
||||
def deletePad(self, padID):
|
||||
"""deletes a pad"""
|
||||
return self.call("deletePad", {
|
||||
"padID": padID
|
||||
})
|
||||
|
||||
def getReadOnlyID(self, padID):
|
||||
"""returns the read only link of a pad"""
|
||||
return self.call("getReadOnlyID", {
|
||||
"padID": padID
|
||||
})
|
||||
|
||||
def setPublicStatus(self, padID, publicStatus):
|
||||
"""sets a boolean for the public status of a pad"""
|
||||
return self.call("setPublicStatus", {
|
||||
"padID": padID,
|
||||
"publicStatus": publicStatus
|
||||
})
|
||||
|
||||
def getPublicStatus(self, padID):
|
||||
"""return true of false"""
|
||||
return self.call("getPublicStatus", {
|
||||
"padID": padID
|
||||
})
|
||||
|
||||
def setPassword(self, padID, password):
|
||||
"""returns ok or a error message"""
|
||||
return self.call("setPassword", {
|
||||
"padID": padID,
|
||||
"password": password
|
||||
})
|
||||
|
||||
def isPasswordProtected(self, padID):
|
||||
"""returns true or false"""
|
||||
return self.call("isPasswordProtected", {
|
||||
"padID": padID
|
||||
})
|
|
@ -1,7 +1,12 @@
|
|||
.oe_pad_head {
|
||||
box-sizing: border-box;
|
||||
width: 100%;
|
||||
display: block;
|
||||
padding: 4px;
|
||||
text-align: right;
|
||||
}
|
||||
.oe_pad_head .oe_pad_switch {
|
||||
|
||||
}
|
||||
|
||||
.oe_pad_readonly {
|
||||
|
@ -13,14 +18,38 @@
|
|||
position: fixed;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
right: 0px;
|
||||
bottom: 0px;
|
||||
background-color: white;
|
||||
margin:0;
|
||||
padding:0;
|
||||
border:none;
|
||||
z-index: 1000;
|
||||
}
|
||||
|
||||
.oe_pad_content {
|
||||
border: solid 1px #c4c4c4;
|
||||
height: 150px;
|
||||
-webkit-box-shadow: 0 5px 10px rgba(0,0,0,0.1);
|
||||
-moz-box-shadow: 0 5px 10px rgba(0,0,0,0.1);
|
||||
-ms-box-shadow: 0 5px 10px rgba(0,0,0,0.1);
|
||||
-o-box-shadow: 0 5px 10px rgba(0,0,0,0.1);
|
||||
box-shadow: 0 5px 10px rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
.oe_pad_content > p {
|
||||
text-align: center;
|
||||
opacity: 0.75;
|
||||
}
|
||||
|
||||
.oe_pad_fullscreen .oe_pad_content {
|
||||
height: 100%;
|
||||
border: none;
|
||||
-webkit-box-shadow: none;
|
||||
-moz-box-shadow: none;
|
||||
-ms-box-shadow: none;
|
||||
-o-box-shadow: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.etherpad_readonly ul, .etherpad_readonly ol {
|
||||
|
|
|
@ -16,10 +16,17 @@ instance.web.form.FieldPad = instance.web.form.AbstractField.extend({
|
|||
var self = this;
|
||||
var _super = self._super;
|
||||
_super.apply(self,[val]);
|
||||
|
||||
if (val === false || val === "") {
|
||||
self.field_manager.dataset.call('pad_generate_url').then(function(r) {
|
||||
_super.apply(self,[r]);
|
||||
self.render_value();
|
||||
self.field_manager.dataset.call('pad_generate_url',{context:{
|
||||
model: self.field_manager.model,
|
||||
field_name: self.name,
|
||||
object_id: self.field_manager.datarecord.id
|
||||
}}).then(function(data) {
|
||||
if(data&&data.url){
|
||||
_super.apply(self,[data.url]);
|
||||
self.render_value();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
self.render_value();
|
||||
|
@ -27,7 +34,6 @@ instance.web.form.FieldPad = instance.web.form.AbstractField.extend({
|
|||
this._dirty_flag = true;
|
||||
},
|
||||
render_value: function() {
|
||||
console.log("display");
|
||||
var self = this;
|
||||
var value = this.get('value');
|
||||
|
||||
|
|
|
@ -5,12 +5,14 @@
|
|||
<t t-name="FieldPad">
|
||||
<div class="oe_form_field_text oe_pad">
|
||||
<div class="oe_pad_head">
|
||||
<span class="oe_pad_switch">Fullscreen</span>
|
||||
<button class="oe_pad_switch oe_button">Fullscreen</button>
|
||||
</div>
|
||||
<div class="oe_pad_content"></div>
|
||||
</div>
|
||||
</t>
|
||||
<t t-name="FieldPad.unconfigured">
|
||||
<p>
|
||||
You must configure the etherpad through the menu Setting > Companies > Companies, in the configuration tab of your company.<br/>
|
||||
</p>
|
||||
</t>
|
||||
</templates>
|
||||
|
|
|
@ -49,7 +49,7 @@ Main Features
|
|||
""",
|
||||
'author': 'OpenERP SA',
|
||||
'images': ['images/cash_registers.jpeg', 'images/pos_analysis.jpeg','images/register_analysis.jpeg','images/sale_order_pos.jpeg','images/product_pos.jpeg'],
|
||||
'depends': ['sale'],
|
||||
'depends': ['sale_stock'],
|
||||
'data': [
|
||||
'security/point_of_sale_security.xml',
|
||||
'security/ir.model.access.csv',
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
<!-- Company news and comments -->
|
||||
<record id="message_company_news0" model="mail.message">
|
||||
<field name="subject">Our first company's blogpost !</field>
|
||||
<field name="subject">Our company's first blog-post !</field>
|
||||
<field name="model">mail.group</field>
|
||||
<field name="res_id" ref="company_news_feed"/>
|
||||
<field name="body"><![CDATA[Hello, and welcome to our company's portal !
|
||||
|
|
|
@ -30,7 +30,7 @@ This module adds sale menu and features to your portal if sale and portal are in
|
|||
========================================================================================
|
||||
""",
|
||||
'author': 'OpenERP SA',
|
||||
'depends': ['sale','portal'],
|
||||
'depends': ['sale_stock','portal'],
|
||||
'data': [
|
||||
'security/portal_security.xml',
|
||||
'portal_sale_view.xml',
|
||||
|
|
|
@ -143,7 +143,7 @@ instance.web.ViewManager.include({
|
|||
var image_node = nodes.kind == "subflow" ? "node-subflow" : "node";
|
||||
image_node = nodes.gray ? image_node + "-gray" : image_node;
|
||||
image_node = nodes.active ? 'node-current': image_node;
|
||||
var img_src = '/web_process/static/src/img/'+ image_node + '.png';
|
||||
var img_src = '/process/static/src/img/'+ image_node + '.png';
|
||||
var image = r['image'](img_src, nodes.x-25, nodes.y,150, 100).attr({"cursor": "default"}) .mousedown(function() { return false; });
|
||||
//For Node
|
||||
var process_node = r['rect'](nodes.x, nodes.y, 150, 150).attr({stroke: "none"});
|
||||
|
|
|
@ -60,7 +60,7 @@ depending on the product's configuration.
|
|||
'demo': ['stock_orderpoint.xml'],
|
||||
'test': ['test/procurement.yml'],
|
||||
'installable': True,
|
||||
'auto_install': False,
|
||||
'auto_install': True,
|
||||
'certificate': '00954248826881074509',
|
||||
'images': ['images/compute_schedulers.jpeg','images/config_companies_sched.jpeg', 'images/minimum_stock_rules.jpeg'],
|
||||
}
|
||||
|
|
|
@ -609,7 +609,7 @@ class product_product(osv.osv):
|
|||
return res
|
||||
|
||||
|
||||
_constraints = [(_check_ean_key, 'You provided an invalid "EAN13 Barcode" reference. You may use the internal reference field instead.', ['ean13'])]
|
||||
_constraints = [(_check_ean_key, 'You provided an invalid "EAN13 Barcode" reference. You may use the "Internal Reference" field instead.', ['ean13'])]
|
||||
|
||||
def on_order(self, cr, uid, ids, orderline, quantity):
|
||||
pass
|
||||
|
|
|
@ -110,23 +110,25 @@
|
|||
<field name="cost_method" groups="product.group_costing_method"/>
|
||||
<field name="standard_price" attrs="{'readonly':[('cost_method','=','average')]}"/>
|
||||
</group>
|
||||
<group name="procurement_help" class="oe_grey" col="1">
|
||||
<group name="procurement_help" class="oe_grey" col="1" groups="base.group_user">
|
||||
<p attrs="{'invisible': [('type','<>','service'),('procure_method','<>','make_to_stock')]}">
|
||||
When you sell this service, nothing special will be trigered
|
||||
to deliver the customer.
|
||||
to deliver the customer, as you set the procurement method as
|
||||
'Make to Stock'.
|
||||
</p>
|
||||
<p attrs="{'invisible': [('type','<>','product'),('procure_method','<>','make_to_stock')]}">
|
||||
When you sell this product, OpenERP will <b>use the available inventory</b>
|
||||
for the delivery order.
|
||||
<br/>
|
||||
When you sell this product, OpenERP will <b>use the available
|
||||
inventory</b> for the delivery order.
|
||||
<br/><br/>
|
||||
If there are not enough quantities available, the delivery order
|
||||
will wait for new products. You should create others rules
|
||||
(orderpoints, manual purchase orders) to fulfill the inventory.
|
||||
will wait for new products. To fulfill the inventory, you should
|
||||
create others rules like orderpoints.
|
||||
</p>
|
||||
<p attrs="{'invisible': [('type','<>','consu'),('procure_method','<>','make_to_stock')]}">
|
||||
When you sell this product, a delivery order will be created.
|
||||
OpenERP will consider that the <b>required quantities are always
|
||||
available</b> as it's a consumable (the stock on hand may become negative).
|
||||
available</b> as it's a consumable (as a result of this, the quantity
|
||||
on hand may become negative).
|
||||
</p>
|
||||
</group>
|
||||
<group groups="product.group_uom">
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:41+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
|
@ -108,7 +108,7 @@ msgstr "ساعات التحقق من الصلاحية"
|
|||
#. module: project
|
||||
#: view:project.project:0
|
||||
msgid "Pending Projects"
|
||||
msgstr ""
|
||||
msgstr "مشاريع قيد الإنتظار"
|
||||
|
||||
#. module: project
|
||||
#: help:project.task,remaining_hours:0
|
||||
|
@ -563,7 +563,7 @@ msgstr "فتح المشاريع"
|
|||
#: code:addons/project/project.py:358
|
||||
#, python-format
|
||||
msgid "You must assign members on the project '%s' !"
|
||||
msgstr ""
|
||||
msgstr "يجب تعيين أعضاء في المشروع '%s' !"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
|
@ -641,7 +641,7 @@ msgstr "وسط"
|
|||
#. module: project
|
||||
#: view:project.task:0 view:project.task.history.cumulative:0
|
||||
msgid "Pending Tasks"
|
||||
msgstr ""
|
||||
msgstr "مهام قيد الإنتظار"
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0 field:project.task,remaining_hours:0
|
||||
|
@ -682,7 +682,7 @@ msgstr "معلومات"
|
|||
#. module: project
|
||||
#: view:project.task:0 view:project.task.history.cumulative:0
|
||||
msgid "Unassigned Tasks"
|
||||
msgstr ""
|
||||
msgstr "مهام غير معينة"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
|
@ -789,6 +789,7 @@ msgid ""
|
|||
"You cannot delete a project containing tasks. I suggest you to desactivate "
|
||||
"it."
|
||||
msgstr ""
|
||||
"لا يمكنك حذف المهام المحتواة في المشروع. انا اقترح لك جعلها غير نشطة."
|
||||
|
||||
#. module: project
|
||||
#: view:project.vs.hours:0
|
||||
|
@ -813,7 +814,7 @@ msgstr "ساعات تأخير"
|
|||
#. module: project
|
||||
#: selection:project.task,priority:0
|
||||
msgid "Very important"
|
||||
msgstr ""
|
||||
msgstr "شديد الأهمية"
|
||||
|
||||
#. module: project
|
||||
#: model:ir.actions.act_window,name:project.action_project_task_user_tree
|
||||
|
@ -834,6 +835,8 @@ msgid ""
|
|||
"If you check this field, the project manager will receive an email each time "
|
||||
"a task is completed by his team."
|
||||
msgstr ""
|
||||
"إذا قمت بتحديد هذا الحقل فإن مدير المشروع سوف يتلقى رسالة بريد إلكتروني في "
|
||||
"كل مرة يتم الانتهاء من المهمة لفريقه."
|
||||
|
||||
#. module: project
|
||||
#: model:ir.model,name:project.model_project_project
|
||||
|
@ -867,7 +870,7 @@ msgstr "مراحل"
|
|||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Change to Previous Stage"
|
||||
msgstr ""
|
||||
msgstr "التغيير للمرحلة السابقة"
|
||||
|
||||
#. module: project
|
||||
#: model:ir.actions.todo.category,name:project.category_project_config
|
||||
|
@ -910,7 +913,7 @@ msgstr "الرئيسي"
|
|||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Mark as Blocked"
|
||||
msgstr ""
|
||||
msgstr "تحدد كمحظورة"
|
||||
|
||||
#. module: project
|
||||
#: model:ir.actions.act_window,help:project.action_view_task
|
||||
|
@ -999,7 +1002,7 @@ msgstr "الساعات المخططة"
|
|||
#. module: project
|
||||
#: model:ir.actions.act_window,name:project.action_review_task_stage
|
||||
msgid "Review Task Stages"
|
||||
msgstr ""
|
||||
msgstr "استعراض مراحل المهمة"
|
||||
|
||||
#. module: project
|
||||
#: view:project.project:0
|
||||
|
@ -1009,7 +1012,7 @@ msgstr "الحالات: %(الحالة)"
|
|||
#. module: project
|
||||
#: help:project.task,sequence:0
|
||||
msgid "Gives the sequence order when displaying a list of tasks."
|
||||
msgstr ""
|
||||
msgstr "يعطي النظام تسلسل عند عرض قائمة المهام."
|
||||
|
||||
#. module: project
|
||||
#: view:project.project:0 view:project.task:0
|
||||
|
@ -1021,7 +1024,7 @@ msgstr "تاريخ البدء"
|
|||
#: selection:project.task.history,kanban_state:0
|
||||
#: selection:project.task.history.cumulative,kanban_state:0
|
||||
msgid "Ready To Pull"
|
||||
msgstr ""
|
||||
msgstr "على استعداد للسحب"
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0 field:project.task,parent_ids:0
|
||||
|
@ -1034,7 +1037,7 @@ msgstr "المهام الاساسية"
|
|||
#: view:project.task.history.cumulative:0
|
||||
#: selection:project.task.history.cumulative,kanban_state:0
|
||||
msgid "Blocked"
|
||||
msgstr ""
|
||||
msgstr "محظورة"
|
||||
|
||||
#. module: project
|
||||
#: help:project.task,progress:0
|
||||
|
@ -1042,6 +1045,8 @@ msgid ""
|
|||
"If the task has a progress of 99.99% you should close the task if it's "
|
||||
"finished or reevaluate the time"
|
||||
msgstr ""
|
||||
"إذا كانت المهمة لديها من التقدم 99.99٪ يجب إغلاق المهمة إذا تم الإنتهاء أو "
|
||||
"إعادة تقييم الوقت"
|
||||
|
||||
#. module: project
|
||||
#: view:project.project:0
|
||||
|
@ -1070,7 +1075,7 @@ msgstr "عمليات الفواتير"
|
|||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "For changing to delegate state"
|
||||
msgstr ""
|
||||
msgstr "لتغيير تفويض حالة"
|
||||
|
||||
#. module: project
|
||||
#: field:project.task,priority:0 field:report.project.task.user,priority:0
|
||||
|
@ -1097,7 +1102,7 @@ msgstr "اعادة تقييم.المهمة.المشروع"
|
|||
#: code:addons/project/wizard/project_task_delegate.py:81
|
||||
#, python-format
|
||||
msgid "CHECK: %s"
|
||||
msgstr ""
|
||||
msgstr "التحقق: %s"
|
||||
|
||||
#. module: project
|
||||
#: view:project.project:0
|
||||
|
@ -1152,7 +1157,7 @@ msgstr ""
|
|||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Change Type"
|
||||
msgstr ""
|
||||
msgstr "تغير النوع"
|
||||
|
||||
#. module: project
|
||||
#: help:project.project,members:0
|
||||
|
@ -1198,7 +1203,7 @@ msgstr "اسم المشروع"
|
|||
#: model:ir.model,name:project.model_project_task_history
|
||||
#: model:ir.model,name:project.model_project_task_history_cumulative
|
||||
msgid "History of Tasks"
|
||||
msgstr ""
|
||||
msgstr "تاريخ المهام"
|
||||
|
||||
#. module: project
|
||||
#: help:project.task.delegate,state:0
|
||||
|
@ -1212,7 +1217,7 @@ msgstr ""
|
|||
#: code:addons/project/wizard/mail_compose_message.py:45
|
||||
#, python-format
|
||||
msgid "Please specify the Customer or email address of Customer."
|
||||
msgstr ""
|
||||
msgstr "يرجى تحديد العميل أو عنوان البريد الإلكتروني للعملاء."
|
||||
|
||||
#. module: project
|
||||
#: selection:report.project.task.user,month:0
|
||||
|
@ -1265,7 +1270,7 @@ msgstr "نوفمبر"
|
|||
#. module: project
|
||||
#: model:ir.actions.act_window,name:project.action_create_initial_projects_installer
|
||||
msgid "Create your Firsts Projects"
|
||||
msgstr ""
|
||||
msgstr "إنشاء أوليات مشاريعك"
|
||||
|
||||
#. module: project
|
||||
#: code:addons/project/project.py:229
|
||||
|
@ -1276,7 +1281,7 @@ msgstr "تم غلق المشروع ‘%s‘."
|
|||
#. module: project
|
||||
#: view:project.task.history.cumulative:0
|
||||
msgid "Tasks's Cumulative Flow"
|
||||
msgstr ""
|
||||
msgstr "المهام والتدفق التراكمي"
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
|
@ -1291,7 +1296,7 @@ msgstr "أكتوبر"
|
|||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Validate planned time and open task"
|
||||
msgstr ""
|
||||
msgstr "التحقق من صحة الوقت المخطط له والمهام المفتوحة"
|
||||
|
||||
#. module: project
|
||||
#: help:project.task,delay_hours:0
|
||||
|
@ -1299,10 +1304,12 @@ msgid ""
|
|||
"Computed as difference between planned hours by the project manager and the "
|
||||
"total hours of the task."
|
||||
msgstr ""
|
||||
"تحسب الفرق بين الساعات المخطط لها من قبل مدير المشروع والساعات الإجمالية "
|
||||
"للمهمة."
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
@ -1331,7 +1338,7 @@ msgstr "الشركات"
|
|||
#. module: project
|
||||
#: view:project.project:0
|
||||
msgid "Projects in which I am a member."
|
||||
msgstr ""
|
||||
msgstr "المشاريع التي أنا عضو."
|
||||
|
||||
#. module: project
|
||||
#: view:project.project:0
|
||||
|
@ -1426,7 +1433,7 @@ msgstr "مرشحات مفصلة..."
|
|||
#: code:addons/project/project.py:1148
|
||||
#, python-format
|
||||
msgid "Please delete the project linked with this account first."
|
||||
msgstr ""
|
||||
msgstr "رجاء قم بحذف رابط المشروع مع هذا الحساب أولاً"
|
||||
|
||||
#. module: project
|
||||
#: field:project.task,total_hours:0 field:project.vs.hours,total_hours:0
|
||||
|
@ -1527,7 +1534,7 @@ msgstr "قيد التقدم"
|
|||
#. module: project
|
||||
#: view:project.task.history.cumulative:0
|
||||
msgid "Task's Analysis"
|
||||
msgstr ""
|
||||
msgstr "تحليل المهمة"
|
||||
|
||||
#. module: project
|
||||
#: code:addons/project/project.py:789
|
||||
|
@ -1536,11 +1543,13 @@ msgid ""
|
|||
"Child task still open.\n"
|
||||
"Please cancel or complete child task first."
|
||||
msgstr ""
|
||||
"المهمة الوليدة التي لا تزال مفتوحة .\n"
|
||||
" يرجى إلغاء أو إكمال المهمة الوليدة أولاص."
|
||||
|
||||
#. module: project
|
||||
#: view:project.task.type:0
|
||||
msgid "Stages common to all projects"
|
||||
msgstr ""
|
||||
msgstr "مشاريع مشتركة بين جميع المراحل"
|
||||
|
||||
#. module: project
|
||||
#: constraint:project.task:0
|
||||
|
@ -1561,7 +1570,7 @@ msgstr ""
|
|||
#. module: project
|
||||
#: view:project.project:0
|
||||
msgid "Projects in which I am a manager"
|
||||
msgstr ""
|
||||
msgstr "المشاريع التي أنا مديرها"
|
||||
|
||||
#. module: project
|
||||
#: code:addons/project/project.py:959
|
||||
|
@ -1660,6 +1669,8 @@ msgid ""
|
|||
"If you check this field, this stage will be proposed by default on each new "
|
||||
"project. It will not assign this stage to existing projects."
|
||||
msgstr ""
|
||||
"إذا قمت بتحديد هذا الحقل، سيتم اقترح هذه المرحلة بشكل افتراضي على كل مشروع "
|
||||
"جديد. وسوف يتم تعيين هذه المرحلة للمشاريع القائمة."
|
||||
|
||||
#. module: project
|
||||
#: view:board.board:0
|
||||
|
@ -1720,7 +1731,7 @@ msgstr "مجموع الساعات الكلية لكل المهام المتعل
|
|||
#. module: project
|
||||
#: field:project.task.type,project_default:0
|
||||
msgid "Common to All Projects"
|
||||
msgstr ""
|
||||
msgstr "مشاريع مشتركة بين الجميع"
|
||||
|
||||
#. module: project
|
||||
#: model:process.transition,note:project.process_transition_opendonetask0
|
||||
|
@ -1773,7 +1784,7 @@ msgstr "ملخص العمل"
|
|||
#. module: project
|
||||
#: view:project.task.history.cumulative:0
|
||||
msgid "Month-2"
|
||||
msgstr ""
|
||||
msgstr "الشهر-2"
|
||||
|
||||
#. module: project
|
||||
#: help:report.project.task.user,closing_days:0
|
||||
|
@ -1821,6 +1832,8 @@ msgid ""
|
|||
"The stages can be common to all project or specific to one project. Each "
|
||||
"task will follow the different stages in order to be closed."
|
||||
msgstr ""
|
||||
"يمكن للمراحل تكون مشتركة بين جميع المشاريع أو محددة لمشروع واحد. كل مهمة سوف "
|
||||
"تتبع المراحل المختلفة من أجل أن تكون مغلقة."
|
||||
|
||||
#. module: project
|
||||
#: help:project.project,sequence:0
|
||||
|
@ -1949,7 +1962,7 @@ msgstr "تم الغاء المهمة ‘%s‘."
|
|||
#. module: project
|
||||
#: view:project.task:0 view:res.partner:0
|
||||
msgid "For changing to open state"
|
||||
msgstr ""
|
||||
msgstr "للتغير إلى الحالة المفتوحة"
|
||||
|
||||
#. module: project
|
||||
#: model:ir.model,name:project.model_res_partner view:project.project:0
|
||||
|
@ -1983,7 +1996,7 @@ msgstr "تذييل البريد"
|
|||
#. module: project
|
||||
#: view:project.task:0 view:project.task.history.cumulative:0
|
||||
msgid "In Progress Tasks"
|
||||
msgstr ""
|
||||
msgstr "مهام في قيد التقدم"
|
||||
|
||||
#~ msgid "Timesheets"
|
||||
#~ msgstr "الجداول الزمنية"
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:41+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
|
@ -1276,7 +1276,7 @@ msgstr ""
|
|||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:41+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
|
@ -1275,7 +1275,7 @@ msgstr ""
|
|||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:41+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
|
@ -1322,7 +1322,7 @@ msgstr ""
|
|||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:41+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
"X-Poedit-Language: Czech\n"
|
||||
|
||||
#. module: project
|
||||
|
@ -1298,7 +1298,7 @@ msgstr ""
|
|||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:41+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
|
@ -1276,7 +1276,7 @@ msgstr ""
|
|||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
|
@ -1336,8 +1336,8 @@ msgstr ""
|
|||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgstr "Delegationsverlauf"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: model:ir.model,name:project.model_res_users
|
||||
|
@ -2573,3 +2573,6 @@ msgstr "Aufgaben in Bearbeitung"
|
|||
|
||||
#~ msgid "E-mail composition wizard"
|
||||
#~ msgstr "Email-Zusammensetzung Assistent"
|
||||
|
||||
#~ msgid "Delegations History"
|
||||
#~ msgstr "Delegationsverlauf"
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
"X-Poedit-Country: GREECE\n"
|
||||
"X-Poedit-Language: Greek\n"
|
||||
"X-Poedit-SourceCharset: utf-8\n"
|
||||
|
@ -1287,7 +1287,7 @@ msgstr ""
|
|||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
|
@ -1325,8 +1325,8 @@ msgstr ""
|
|||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgstr "Histórico de delegaciones"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: model:ir.model,name:project.model_res_users
|
||||
|
@ -2568,3 +2568,6 @@ msgstr ""
|
|||
|
||||
#~ msgid "E-mail composition wizard"
|
||||
#~ msgstr "Asistente de composición de e-mail"
|
||||
|
||||
#~ msgid "Delegations History"
|
||||
#~ msgstr "Histórico de delegaciones"
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
|
@ -1284,7 +1284,7 @@ msgstr ""
|
|||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:43+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
"Language: \n"
|
||||
|
||||
#. module: project
|
||||
|
@ -1333,8 +1333,8 @@ msgstr ""
|
|||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgstr "Histórico de delegaciones"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: model:ir.model,name:project.model_res_users
|
||||
|
@ -2582,3 +2582,6 @@ msgstr "Tarea en progreso"
|
|||
|
||||
#~ msgid "E-mail composition wizard"
|
||||
#~ msgstr "Asistente de composición de e-mail"
|
||||
|
||||
#~ msgid "Delegations History"
|
||||
#~ msgstr "Histórico de delegaciones"
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:56+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:43+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
|
@ -1330,8 +1330,8 @@ msgstr ""
|
|||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgstr "Histórico de delegaciones"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: model:ir.model,name:project.model_res_users
|
||||
|
@ -2568,3 +2568,6 @@ msgstr "Tareas en progreso"
|
|||
|
||||
#~ msgid "E-mail composition wizard"
|
||||
#~ msgstr "Asistente de composición de e-mail"
|
||||
|
||||
#~ msgid "Delegations History"
|
||||
#~ msgstr "Histórico de delegaciones"
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:56+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:43+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
|
@ -1276,7 +1276,7 @@ msgstr ""
|
|||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
|
@ -1282,7 +1282,7 @@ msgstr ""
|
|||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:41+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
|
@ -1280,7 +1280,7 @@ msgstr ""
|
|||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
|
@ -1299,8 +1299,8 @@ msgstr ""
|
|||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgstr "Delegointien historia"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: model:ir.model,name:project.model_res_users
|
||||
|
@ -2338,3 +2338,6 @@ msgstr "Meneilläänolevat tehtävät"
|
|||
|
||||
#~ msgid "E-mail composition wizard"
|
||||
#~ msgstr "Sähköpostin luonti velho"
|
||||
|
||||
#~ msgid "Delegations History"
|
||||
#~ msgstr "Delegointien historia"
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
|
@ -1338,8 +1338,8 @@ msgstr ""
|
|||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgstr "Historique des délégations"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: model:ir.model,name:project.model_res_users
|
||||
|
@ -2587,5 +2587,8 @@ msgstr "Tâches en cours"
|
|||
#~ msgid "Manager Email"
|
||||
#~ msgstr "Courriel du responsable"
|
||||
|
||||
#~ msgid "Delegations History"
|
||||
#~ msgstr "Historique des délégations"
|
||||
|
||||
#~ msgid "E-mail composition wizard"
|
||||
#~ msgstr "Assistant de composition de courriels"
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
|
@ -1276,7 +1276,7 @@ msgstr ""
|
|||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
|
@ -1276,7 +1276,7 @@ msgstr ""
|
|||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
"Language: hr\n"
|
||||
|
||||
#. module: project
|
||||
|
@ -1283,7 +1283,7 @@ msgstr ""
|
|||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
|
@ -79,7 +79,7 @@ msgstr "Nem engedélyezett művelet!"
|
|||
#: code:addons/project/wizard/project_task_delegate.py:78
|
||||
#, python-format
|
||||
msgid "CHECK: "
|
||||
msgstr ""
|
||||
msgstr "ELLENŐRIZNI: "
|
||||
|
||||
#. module: project
|
||||
#: field:project.task,user_email:0
|
||||
|
@ -263,7 +263,7 @@ msgstr "Nap"
|
|||
#. module: project
|
||||
#: model:ir.ui.menu,name:project.menu_project_config_project
|
||||
msgid "Projects and Stages"
|
||||
msgstr ""
|
||||
msgstr "Projektek és Szakaszok"
|
||||
|
||||
#. module: project
|
||||
#: view:project.project:0
|
||||
|
@ -485,7 +485,7 @@ msgstr ""
|
|||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Change Color"
|
||||
msgstr ""
|
||||
msgstr "Szín megváltoztatása"
|
||||
|
||||
#. module: project
|
||||
#: constraint:account.analytic.account:0
|
||||
|
@ -920,7 +920,7 @@ msgstr ""
|
|||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Mark as Blocked"
|
||||
msgstr ""
|
||||
msgstr "Blokkoltnak jelölés"
|
||||
|
||||
#. module: project
|
||||
#: model:ir.actions.act_window,help:project.action_view_task
|
||||
|
@ -1047,7 +1047,7 @@ msgstr "Forrás feladatok"
|
|||
#: view:project.task.history.cumulative:0
|
||||
#: selection:project.task.history.cumulative,kanban_state:0
|
||||
msgid "Blocked"
|
||||
msgstr ""
|
||||
msgstr "Blokkolva"
|
||||
|
||||
#. module: project
|
||||
#: help:project.task,progress:0
|
||||
|
@ -1110,7 +1110,7 @@ msgstr "project.task.reevaluate"
|
|||
#: code:addons/project/wizard/project_task_delegate.py:81
|
||||
#, python-format
|
||||
msgid "CHECK: %s"
|
||||
msgstr ""
|
||||
msgstr "ELLENŐRIZNI: %s"
|
||||
|
||||
#. module: project
|
||||
#: view:project.project:0
|
||||
|
@ -1320,7 +1320,7 @@ msgstr ""
|
|||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
@ -1558,7 +1558,7 @@ msgstr ""
|
|||
#. module: project
|
||||
#: view:project.task.type:0
|
||||
msgid "Stages common to all projects"
|
||||
msgstr ""
|
||||
msgstr "Közös használatú szakaszok"
|
||||
|
||||
#. module: project
|
||||
#: constraint:project.task:0
|
||||
|
@ -2222,3 +2222,6 @@ msgstr ""
|
|||
|
||||
#~ msgid "Automatically synchronizes project tasks and crm cases."
|
||||
#~ msgstr "Automatikusan összehangolja a projektfeladatokat és a crm eseteket."
|
||||
|
||||
#~ msgid "Delegations History"
|
||||
#~ msgstr "Átruházás történet"
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
|
@ -1275,7 +1275,7 @@ msgstr ""
|
|||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
|
@ -1320,7 +1320,7 @@ msgstr ""
|
|||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
|
@ -1294,8 +1294,8 @@ msgstr "プロジェクトマネジャによる計画時間数とタスクの合
|
|||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgstr "委任の履歴"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: model:ir.model,name:project.model_res_users
|
||||
|
@ -1969,3 +1969,6 @@ msgstr "進行中タスク"
|
|||
|
||||
#~ msgid "E-mail composition wizard"
|
||||
#~ msgstr "Eメール作成ウィザード"
|
||||
|
||||
#~ msgid "Delegations History"
|
||||
#~ msgstr "委任の履歴"
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
|
@ -1276,7 +1276,7 @@ msgstr ""
|
|||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
|
@ -1285,7 +1285,7 @@ msgstr ""
|
|||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
|
@ -1314,7 +1314,7 @@ msgstr ""
|
|||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
|
@ -1323,8 +1323,8 @@ msgstr ""
|
|||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgstr "Ацагласан Түүх"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: model:ir.model,name:project.model_res_users
|
||||
|
@ -2335,3 +2335,6 @@ msgstr "Боловсруулагдаж байгаа даалгаврууд"
|
|||
|
||||
#~ msgid "E-mail composition wizard"
|
||||
#~ msgstr "И-мэйл үүсгэх харилцах цонх"
|
||||
|
||||
#~ msgid "Delegations History"
|
||||
#~ msgstr "Ацагласан Түүх"
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
|
@ -37,6 +37,7 @@ msgstr "Oppgaven '%s' er tildelt til %s."
|
|||
#: constraint:res.users:0
|
||||
msgid "The chosen company is not in the allowed companies for this user"
|
||||
msgstr ""
|
||||
"Det valgte firmaet er ikke i listen over tillatte firmaer for denne brukeren"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
|
@ -81,7 +82,7 @@ msgstr "SJEKK: "
|
|||
#. module: project
|
||||
#: field:project.task,user_email:0
|
||||
msgid "User Email"
|
||||
msgstr ""
|
||||
msgstr "E-post for bruker"
|
||||
|
||||
#. module: project
|
||||
#: field:project.task,work_ids:0
|
||||
|
@ -93,7 +94,7 @@ msgstr "Arbeid utført"
|
|||
#: code:addons/project/project.py:1148
|
||||
#, python-format
|
||||
msgid "Warning !"
|
||||
msgstr ""
|
||||
msgstr "Advarsel !"
|
||||
|
||||
#. module: project
|
||||
#: model:ir.model,name:project.model_project_task_delegate
|
||||
|
@ -121,7 +122,7 @@ msgstr ""
|
|||
#. module: project
|
||||
#: view:project.project:0
|
||||
msgid "Re-open project"
|
||||
msgstr ""
|
||||
msgstr "Gjenåpne prosjekt"
|
||||
|
||||
#. module: project
|
||||
#: help:project.project,priority:0
|
||||
|
@ -131,7 +132,7 @@ msgstr ""
|
|||
#. module: project
|
||||
#: constraint:project.project:0
|
||||
msgid "Error! project start-date must be lower then project end-date."
|
||||
msgstr ""
|
||||
msgstr "Feil! Startdato for prosjekt må være tidligere enn sluttdato."
|
||||
|
||||
#. module: project
|
||||
#: view:project.task.reevaluate:0
|
||||
|
@ -180,7 +181,7 @@ msgstr "Mine oppgaver"
|
|||
#. module: project
|
||||
#: constraint:project.task:0
|
||||
msgid "Error ! You cannot create recursive tasks."
|
||||
msgstr ""
|
||||
msgstr "Feil! Du kan ikke lage en uendelig struktur av oppgaver."
|
||||
|
||||
#. module: project
|
||||
#: field:project.task,company_id:0 field:project.task.work,company_id:0
|
||||
|
@ -201,7 +202,7 @@ msgstr "Din oppgavetittel"
|
|||
#. module: project
|
||||
#: field:project.task.type,name:0
|
||||
msgid "Stage Name"
|
||||
msgstr ""
|
||||
msgstr "Fasenavn"
|
||||
|
||||
#. module: project
|
||||
#: model:process.transition.action,name:project.process_transition_action_openpendingtask0
|
||||
|
@ -211,7 +212,7 @@ msgstr ""
|
|||
#. module: project
|
||||
#: selection:project.task,priority:0
|
||||
msgid "Important"
|
||||
msgstr ""
|
||||
msgstr "Viktig"
|
||||
|
||||
#. module: project
|
||||
#: model:process.node,note:project.process_node_drafttask0
|
||||
|
@ -221,7 +222,7 @@ msgstr "Definer krav og oppgi planlagte timer"
|
|||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Change Stage"
|
||||
msgstr ""
|
||||
msgstr "Endre fase"
|
||||
|
||||
#. module: project
|
||||
#: view:project.project:0
|
||||
|
@ -258,7 +259,7 @@ msgstr "Dag"
|
|||
#. module: project
|
||||
#: model:ir.ui.menu,name:project.menu_project_config_project
|
||||
msgid "Projects and Stages"
|
||||
msgstr ""
|
||||
msgstr "Prosjekter og faser"
|
||||
|
||||
#. module: project
|
||||
#: view:project.project:0
|
||||
|
@ -294,12 +295,12 @@ msgstr "Mine åpne oppgaver"
|
|||
#, python-format
|
||||
msgid ""
|
||||
"Please specify the Project Manager or email address of Project Manager."
|
||||
msgstr ""
|
||||
msgstr "Vennligst angi prosjektleder eller e-post-adresse for prosjektleder."
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "For cancelling the task"
|
||||
msgstr ""
|
||||
msgstr "For å avbryte oppgaven"
|
||||
|
||||
#. module: project
|
||||
#: model:ir.model,name:project.model_project_task_work
|
||||
|
@ -361,7 +362,7 @@ msgstr ""
|
|||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Show only tasks having a deadline"
|
||||
msgstr ""
|
||||
msgstr "Vis kun oppgaver med deadline"
|
||||
|
||||
#. module: project
|
||||
#: selection:project.task,state:0 selection:project.task.history,state:0
|
||||
|
@ -374,7 +375,7 @@ msgstr "Kansellert"
|
|||
#. module: project
|
||||
#: field:project.task,date_end:0 field:report.project.task.user,date_end:0
|
||||
msgid "Ending Date"
|
||||
msgstr ""
|
||||
msgstr "Sluttdato"
|
||||
|
||||
#. module: project
|
||||
#: view:project.project:0 field:project.project,warn_header:0
|
||||
|
@ -384,7 +385,7 @@ msgstr "E-post topptekst"
|
|||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Change to Next Stage"
|
||||
msgstr ""
|
||||
msgstr "Endre til neste fase"
|
||||
|
||||
#. module: project
|
||||
#: model:process.node,name:project.process_node_donetask0
|
||||
|
@ -394,7 +395,7 @@ msgstr "Fullførte oppgaver"
|
|||
#. module: project
|
||||
#: field:project.task,color:0
|
||||
msgid "Color Index"
|
||||
msgstr ""
|
||||
msgstr "Fargeindeks"
|
||||
|
||||
#. module: project
|
||||
#: model:ir.ui.menu,name:project.menu_definitions view:res.company:0
|
||||
|
@ -404,7 +405,7 @@ msgstr "Konfigurasjon"
|
|||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
msgid "Current Month"
|
||||
msgstr ""
|
||||
msgstr "Inneværende måned"
|
||||
|
||||
#. module: project
|
||||
#: model:process.transition,note:project.process_transition_delegate0
|
||||
|
@ -414,7 +415,7 @@ msgstr "Delegerer oppgaver til den andre brukeren"
|
|||
#. module: project
|
||||
#: view:project.project:0 view:project.task:0 view:report.project.task.user:0
|
||||
msgid "Group By..."
|
||||
msgstr ""
|
||||
msgstr "Grupper etter ..."
|
||||
|
||||
#. module: project
|
||||
#: field:project.task.work,user_id:0
|
||||
|
@ -433,7 +434,7 @@ msgstr ""
|
|||
#. module: project
|
||||
#: model:project.task.type,name:project.project_tt_testing
|
||||
msgid "Testing"
|
||||
msgstr ""
|
||||
msgstr "Tester"
|
||||
|
||||
#. module: project
|
||||
#: code:addons/project/project.py:829
|
||||
|
@ -471,17 +472,17 @@ msgstr "_Avbryt"
|
|||
#. module: project
|
||||
#: view:project.task.history.cumulative:0
|
||||
msgid "Ready"
|
||||
msgstr ""
|
||||
msgstr "Klar"
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Change Color"
|
||||
msgstr ""
|
||||
msgstr "Bytt farge"
|
||||
|
||||
#. module: project
|
||||
#: constraint:account.analytic.account:0
|
||||
msgid "Error! You can not create recursive analytic accounts."
|
||||
msgstr ""
|
||||
msgstr "Feil! Du kan ikke opprette uendelig struktur med analytiske kontoer."
|
||||
|
||||
#. module: project
|
||||
#: code:addons/project/project.py:264 code:addons/project/project.py:303
|
||||
|
@ -492,12 +493,12 @@ msgstr " (kopi)"
|
|||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "New Tasks"
|
||||
msgstr ""
|
||||
msgstr "Ny oppgave"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0 field:report.project.task.user,nbr:0
|
||||
msgid "# of tasks"
|
||||
msgstr ""
|
||||
msgstr "Antall oppgaver"
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
|
@ -517,7 +518,7 @@ msgstr ""
|
|||
#. module: project
|
||||
#: sql_constraint:res.users:0
|
||||
msgid "You can not have two users with the same login !"
|
||||
msgstr ""
|
||||
msgstr "Du kan ikke ha to brukere med samme login!"
|
||||
|
||||
#. module: project
|
||||
#: view:project.project:0
|
||||
|
@ -537,7 +538,7 @@ msgstr "Mine prosjekter"
|
|||
#. module: project
|
||||
#: constraint:res.company:0
|
||||
msgid "Error! You can not create recursive companies."
|
||||
msgstr ""
|
||||
msgstr "Feil! Dukan ikke opprette uendelig struktur av firmaer."
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
|
@ -552,23 +553,23 @@ msgstr "From draft state, it will come into the open state."
|
|||
#. module: project
|
||||
#: view:report.project.task.user:0 field:report.project.task.user,no_of_days:0
|
||||
msgid "# of Days"
|
||||
msgstr ""
|
||||
msgstr "Antall dager"
|
||||
|
||||
#. module: project
|
||||
#: view:project.project:0
|
||||
msgid "Open Projects"
|
||||
msgstr ""
|
||||
msgstr "Åpne prosjekter"
|
||||
|
||||
#. module: project
|
||||
#: code:addons/project/project.py:358
|
||||
#, python-format
|
||||
msgid "You must assign members on the project '%s' !"
|
||||
msgstr ""
|
||||
msgstr "Du må tilordne deltakere til prosjekt '%s'!"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
msgid "In progress tasks"
|
||||
msgstr ""
|
||||
msgstr "Oppgaver i arbeid"
|
||||
|
||||
#. module: project
|
||||
#: help:project.project,progress_rate:0
|
||||
|
@ -592,7 +593,7 @@ msgstr "Prosjektoppgave"
|
|||
#: selection:project.task.history.cumulative,state:0
|
||||
#: view:report.project.task.user:0
|
||||
msgid "New"
|
||||
msgstr ""
|
||||
msgstr "Ny"
|
||||
|
||||
#. module: project
|
||||
#: help:project.task,total_hours:0
|
||||
|
@ -625,7 +626,7 @@ msgstr ""
|
|||
#: code:addons/project/project.py:597
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
msgstr "%s (kopi)"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
|
@ -641,7 +642,7 @@ msgstr "Medium"
|
|||
#. module: project
|
||||
#: view:project.task:0 view:project.task.history.cumulative:0
|
||||
msgid "Pending Tasks"
|
||||
msgstr ""
|
||||
msgstr "Ventende oppgaver"
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0 field:project.task,remaining_hours:0
|
||||
|
@ -659,13 +660,13 @@ msgstr ""
|
|||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
msgid "Creation Date"
|
||||
msgstr ""
|
||||
msgstr "Opprettelsesdato"
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0 field:project.task.history,remaining_hours:0
|
||||
#: field:project.task.history.cumulative,remaining_hours:0
|
||||
msgid "Remaining Time"
|
||||
msgstr ""
|
||||
msgstr "Gjenstående tid"
|
||||
|
||||
#. module: project
|
||||
#: field:project.project,planned_hours:0
|
||||
|
@ -755,7 +756,7 @@ msgstr "Prosjekter"
|
|||
#: field:project.task.history.cumulative,type_id:0
|
||||
#: view:report.project.task.user:0 field:report.project.task.user,type_id:0
|
||||
msgid "Stage"
|
||||
msgstr ""
|
||||
msgstr "Fase"
|
||||
|
||||
#. module: project
|
||||
#: model:ir.actions.act_window,help:project.open_task_type_form
|
||||
|
@ -769,7 +770,7 @@ msgstr ""
|
|||
#: code:addons/project/project.py:903
|
||||
#, python-format
|
||||
msgid "The task '%s' is opened."
|
||||
msgstr ""
|
||||
msgstr "Oppgaven '%s' er åpnet."
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
|
@ -788,6 +789,8 @@ msgid ""
|
|||
"You cannot delete a project containing tasks. I suggest you to desactivate "
|
||||
"it."
|
||||
msgstr ""
|
||||
"Du kan ikke slette et prosjekt som har oppgaver. Prosjektet kan evt. "
|
||||
"deaktiveres."
|
||||
|
||||
#. module: project
|
||||
#: view:project.vs.hours:0
|
||||
|
@ -812,7 +815,7 @@ msgstr "Timer forsinket"
|
|||
#. module: project
|
||||
#: selection:project.task,priority:0
|
||||
msgid "Very important"
|
||||
msgstr ""
|
||||
msgstr "Veldig viktig"
|
||||
|
||||
#. module: project
|
||||
#: model:ir.actions.act_window,name:project.action_project_task_user_tree
|
||||
|
@ -833,6 +836,8 @@ msgid ""
|
|||
"If you check this field, the project manager will receive an email each time "
|
||||
"a task is completed by his team."
|
||||
msgstr ""
|
||||
"Ved avkryssing vil prosjektleder motta en e-post hver gang en oppgave blir "
|
||||
"fullført av hans team."
|
||||
|
||||
#. module: project
|
||||
#: model:ir.model,name:project.model_project_project
|
||||
|
@ -861,12 +866,12 @@ msgstr ""
|
|||
#: model:ir.actions.act_window,name:project.open_task_type_form
|
||||
#: model:ir.ui.menu,name:project.menu_task_types_view
|
||||
msgid "Stages"
|
||||
msgstr ""
|
||||
msgstr "Faser"
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Change to Previous Stage"
|
||||
msgstr ""
|
||||
msgstr "Endre til foregående fase"
|
||||
|
||||
#. module: project
|
||||
#: model:ir.actions.todo.category,name:project.category_project_config
|
||||
|
@ -882,7 +887,7 @@ msgstr "Prosjekt time enhet"
|
|||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
msgid "In progress"
|
||||
msgstr ""
|
||||
msgstr "I arbeid"
|
||||
|
||||
#. module: project
|
||||
#: model:ir.actions.act_window,name:project.action_project_task_delegate
|
||||
|
@ -909,7 +914,7 @@ msgstr "Overordnet"
|
|||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Mark as Blocked"
|
||||
msgstr ""
|
||||
msgstr "Marker som blokkert"
|
||||
|
||||
#. module: project
|
||||
#: model:ir.actions.act_window,help:project.action_view_task
|
||||
|
@ -952,7 +957,7 @@ msgstr ""
|
|||
#. module: project
|
||||
#: view:project.task.reevaluate:0
|
||||
msgid "Reevaluate Task"
|
||||
msgstr ""
|
||||
msgstr "Evaluer oppgave på nytt"
|
||||
|
||||
#. module: project
|
||||
#: view:project.task.history.cumulative:0 view:report.project.task.user:0
|
||||
|
@ -969,12 +974,12 @@ msgstr "Prosjektoppgaver"
|
|||
#: model:ir.model,name:project.model_project_task_type
|
||||
#: view:project.task.type:0
|
||||
msgid "Task Stage"
|
||||
msgstr ""
|
||||
msgstr "Oppgavefase"
|
||||
|
||||
#. module: project
|
||||
#: model:project.task.type,name:project.project_tt_specification
|
||||
msgid "Design"
|
||||
msgstr ""
|
||||
msgstr "Utforming"
|
||||
|
||||
#. module: project
|
||||
#: field:project.task,planned_hours:0
|
||||
|
@ -987,7 +992,7 @@ msgstr "Planlagte timer"
|
|||
#. module: project
|
||||
#: model:ir.actions.act_window,name:project.action_review_task_stage
|
||||
msgid "Review Task Stages"
|
||||
msgstr ""
|
||||
msgstr "Gjennomgå oppgavefaser"
|
||||
|
||||
#. module: project
|
||||
#: view:project.project:0
|
||||
|
@ -997,7 +1002,7 @@ msgstr ""
|
|||
#. module: project
|
||||
#: help:project.task,sequence:0
|
||||
msgid "Gives the sequence order when displaying a list of tasks."
|
||||
msgstr ""
|
||||
msgstr "Gir sorteringsrekkefølge ved listing av oppgaver"
|
||||
|
||||
#. module: project
|
||||
#: view:project.project:0 view:project.task:0
|
||||
|
@ -1022,7 +1027,7 @@ msgstr "Overordnede oppgaver"
|
|||
#: view:project.task.history.cumulative:0
|
||||
#: selection:project.task.history.cumulative,kanban_state:0
|
||||
msgid "Blocked"
|
||||
msgstr ""
|
||||
msgstr "Blokkert"
|
||||
|
||||
#. module: project
|
||||
#: help:project.task,progress:0
|
||||
|
@ -1034,7 +1039,7 @@ msgstr ""
|
|||
#. module: project
|
||||
#: view:project.project:0
|
||||
msgid "Contact Address"
|
||||
msgstr ""
|
||||
msgstr "Kontaktadresse"
|
||||
|
||||
#. module: project
|
||||
#: help:project.task,kanban_state:0
|
||||
|
@ -1137,7 +1142,7 @@ msgstr ""
|
|||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Change Type"
|
||||
msgstr ""
|
||||
msgstr "Endre type"
|
||||
|
||||
#. module: project
|
||||
#: help:project.project,members:0
|
||||
|
@ -1145,6 +1150,8 @@ msgid ""
|
|||
"Project's members are users who can have an access to the tasks related to "
|
||||
"this project."
|
||||
msgstr ""
|
||||
"Prosjektdeltakere er brukere som har tilgang til oppgavene som hører til "
|
||||
"prosjektet."
|
||||
|
||||
#. module: project
|
||||
#: view:project.project:0 field:project.task,manager_id:0
|
||||
|
@ -1154,12 +1161,12 @@ msgstr "Prosjektleder"
|
|||
#. module: project
|
||||
#: view:project.task:0 view:res.partner:0
|
||||
msgid "For changing to done state"
|
||||
msgstr ""
|
||||
msgstr "For å bytte til ferdig tilstand"
|
||||
|
||||
#. module: project
|
||||
#: model:ir.model,name:project.model_report_project_task_user
|
||||
msgid "Tasks by user and project"
|
||||
msgstr ""
|
||||
msgstr "Oppgaver pr. bruker og prosjekt"
|
||||
|
||||
#. module: project
|
||||
#: selection:report.project.task.user,month:0
|
||||
|
@ -1171,7 +1178,7 @@ msgstr "August"
|
|||
#: selection:project.task.history,kanban_state:0
|
||||
#: selection:project.task.history.cumulative,kanban_state:0
|
||||
msgid "Normal"
|
||||
msgstr ""
|
||||
msgstr "Normal"
|
||||
|
||||
#. module: project
|
||||
#: view:project.project:0 field:project.project,complete_name:0
|
||||
|
@ -1182,7 +1189,7 @@ msgstr "Prosjektnavn"
|
|||
#: model:ir.model,name:project.model_project_task_history
|
||||
#: model:ir.model,name:project.model_project_task_history_cumulative
|
||||
msgid "History of Tasks"
|
||||
msgstr ""
|
||||
msgstr "Oppgavehistorikk"
|
||||
|
||||
#. module: project
|
||||
#: help:project.task.delegate,state:0
|
||||
|
@ -1211,7 +1218,7 @@ msgstr "Totaltid"
|
|||
#: view:report.project.task.user:0
|
||||
#: field:report.project.task.user,closing_days:0
|
||||
msgid "Days to Close"
|
||||
msgstr ""
|
||||
msgstr "Dager til lukking"
|
||||
|
||||
#. module: project
|
||||
#: model:ir.actions.act_window,name:project.open_board_project
|
||||
|
@ -1227,7 +1234,7 @@ msgstr ""
|
|||
#. module: project
|
||||
#: model:res.groups,name:project.group_project_user
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
msgstr "Bruker"
|
||||
|
||||
#. module: project
|
||||
#: field:project.project,active:0
|
||||
|
@ -1238,7 +1245,7 @@ msgstr "Aktiv"
|
|||
#: view:report.project.task.user:0
|
||||
#: field:report.project.task.user,opening_days:0
|
||||
msgid "Days to Open"
|
||||
msgstr ""
|
||||
msgstr "Dager til åpning"
|
||||
|
||||
#. module: project
|
||||
#: selection:report.project.task.user,month:0
|
||||
|
@ -1254,7 +1261,7 @@ msgstr ""
|
|||
#: code:addons/project/project.py:229
|
||||
#, python-format
|
||||
msgid "The project '%s' has been closed."
|
||||
msgstr ""
|
||||
msgstr "Prosjektet '%s' er lukket."
|
||||
|
||||
#. module: project
|
||||
#: view:project.task.history.cumulative:0
|
||||
|
@ -1287,7 +1294,7 @@ msgstr ""
|
|||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
@ -1301,6 +1308,8 @@ msgid ""
|
|||
"If the active field is set to False, it will allow you to hide the project "
|
||||
"without removing it."
|
||||
msgstr ""
|
||||
"Ved å fjerne avkryssing for Aktiv vil prosjektet skjules uten å måtte "
|
||||
"slettes."
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
|
@ -1326,7 +1335,7 @@ msgstr "Søk i prosjekt"
|
|||
#: code:addons/project/project.py:251
|
||||
#, python-format
|
||||
msgid "The project '%s' has been opened."
|
||||
msgstr ""
|
||||
msgstr "Prosjektet '%s' er åpnet."
|
||||
|
||||
#. module: project
|
||||
#: field:project.task.history,date:0
|
||||
|
@ -1401,7 +1410,7 @@ msgstr ""
|
|||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
msgid "Extended Filters..."
|
||||
msgstr ""
|
||||
msgstr "Utvidede filtre ..."
|
||||
|
||||
#. module: project
|
||||
#: code:addons/project/project.py:1148
|
||||
|
@ -2191,3 +2200,9 @@ msgstr ""
|
|||
|
||||
#~ msgid "Running projects"
|
||||
#~ msgstr "Løpende prosjekter"
|
||||
|
||||
#~ msgid "Delegations History"
|
||||
#~ msgstr "Delegeringshistorikk"
|
||||
|
||||
#~ msgid "E-mail composition wizard"
|
||||
#~ msgstr "Veiviser for opprettelse av e-post"
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
|
@ -920,7 +920,7 @@ msgstr "Bovenliggend"
|
|||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Mark as Blocked"
|
||||
msgstr "Maarkeer als geblokkeerd"
|
||||
msgstr "Markeer als geblokkeerd"
|
||||
|
||||
#. module: project
|
||||
#: model:ir.actions.act_window,help:project.action_view_task
|
||||
|
@ -1325,8 +1325,8 @@ msgstr ""
|
|||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgstr "Deligatiehistorie"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: model:ir.model,name:project.model_res_users
|
||||
|
@ -2566,3 +2566,6 @@ msgstr "Lopende taken"
|
|||
|
||||
#~ msgid "E-mail composition wizard"
|
||||
#~ msgstr "E-mail opmaak wizard"
|
||||
|
||||
#~ msgid "Delegations History"
|
||||
#~ msgstr "Deligatiehistorie"
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
|
@ -1317,7 +1317,7 @@ msgstr ""
|
|||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
|
@ -1322,8 +1322,8 @@ msgstr ""
|
|||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgstr "Historia przydziałów"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: model:ir.model,name:project.model_res_users
|
||||
|
@ -2529,3 +2529,6 @@ msgstr "Zadania w toku"
|
|||
|
||||
#~ msgid "E-mail composition wizard"
|
||||
#~ msgstr "Kreator tworzenia wiadomości"
|
||||
|
||||
#~ msgid "Delegations History"
|
||||
#~ msgstr "Historia przydziałów"
|
||||
|
|
|
@ -1293,7 +1293,7 @@ msgstr ""
|
|||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
|
@ -1328,8 +1328,8 @@ msgstr ""
|
|||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgstr "Histórico das delegações"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: model:ir.model,name:project.model_res_users
|
||||
|
@ -2561,5 +2561,8 @@ msgstr "Tarefas em progresso"
|
|||
#~ msgid "Automatically synchronizes project tasks and crm cases."
|
||||
#~ msgstr "Sincroniza automaticamente as tarefas do projecto e os casos de crm."
|
||||
|
||||
#~ msgid "Delegations History"
|
||||
#~ msgstr "Histórico das delegações"
|
||||
|
||||
#~ msgid "E-mail composition wizard"
|
||||
#~ msgstr "Assistente de composição de email"
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
|
@ -1331,8 +1331,8 @@ msgstr ""
|
|||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgstr "Histórico de Delegações"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: model:ir.model,name:project.model_res_users
|
||||
|
@ -2559,3 +2559,6 @@ msgstr "Tarefas em Progresso"
|
|||
|
||||
#~ msgid "E-mail composition wizard"
|
||||
#~ msgstr "Assistente de composição de E-mail."
|
||||
|
||||
#~ msgid "Delegations History"
|
||||
#~ msgstr "Histórico de Delegações"
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
|
@ -1338,8 +1338,8 @@ msgstr ""
|
|||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgstr "Istoric Delegatii"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: model:ir.model,name:project.model_res_users
|
||||
|
@ -2286,3 +2286,6 @@ msgstr "Sarcini in desfasurare"
|
|||
|
||||
#~ msgid "E-mail composition wizard"
|
||||
#~ msgstr "Asistent compunere e-mail"
|
||||
|
||||
#~ msgid "Delegations History"
|
||||
#~ msgstr "Istoric Delegatii"
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-15 04:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15944)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
|
@ -1330,8 +1330,8 @@ msgstr ""
|
|||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgstr "История Делегирования"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: model:ir.model,name:project.model_res_users
|
||||
|
@ -2387,5 +2387,8 @@ msgstr "Задания в работе"
|
|||
#~ msgid "project.installer"
|
||||
#~ msgstr "project.installer"
|
||||
|
||||
#~ msgid "Delegations History"
|
||||
#~ msgstr "История Делегирования"
|
||||
|
||||
#~ msgid "E-mail composition wizard"
|
||||
#~ msgstr "Мастер создания электронной почты"
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
|
@ -1276,7 +1276,7 @@ msgstr ""
|
|||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
|
@ -1275,7 +1275,7 @@ msgstr ""
|
|||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:41+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
|
@ -1276,7 +1276,7 @@ msgstr ""
|
|||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue