[Merge]with: lp:openobject-addons

bzr revid: dbr@tinyerp.com-20110915050720-1291th38k5ms1nxe
This commit is contained in:
DBR (OpenERP)
2011-09-15 10:37:20 +05:30
23 changed files with 879 additions and 108 deletions
+296
View File
@@ -0,0 +1,296 @@
# Macedonian translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-09-14 08:10+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Macedonian <mk@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-09-15 04:47+0000\n"
"X-Generator: Launchpad (build 13921)\n"
#. module: account_analytic_analysis
#: help:account.analytic.account,hours_qtt_invoiced:0
msgid ""
"Number of hours that can be invoiced plus those that already have been "
"invoiced."
msgstr ""
"Број на часови кои можат да бидат фактурирани, плус часови кои веќе се "
"фактурирани."
#. module: account_analytic_analysis
#: help:account.analytic.account,remaining_ca:0
msgid "Computed using the formula: Max Invoice Price - Invoiced Amount."
msgstr ""
"Пресметано според формулата: Максимална фактурирана цена - Фактурирана цена."
#. module: account_analytic_analysis
#: help:account.analytic.account,remaining_hours:0
msgid "Computed using the formula: Maximum Quantity - Hours Tot."
msgstr "Пресметано според формулата: Максимална количина - Вкупно часови"
#. module: account_analytic_analysis
#: code:addons/account_analytic_analysis/account_analytic_analysis.py:532
#: code:addons/account_analytic_analysis/account_analytic_analysis.py:703
#, python-format
msgid "AccessError"
msgstr ""
#. module: account_analytic_analysis
#: help:account.analytic.account,last_invoice_date:0
msgid "Date of the last invoice created for this analytic account."
msgstr ""
#. module: account_analytic_analysis
#: model:ir.module.module,description:account_analytic_analysis.module_meta_information
msgid ""
"\n"
"This module is for modifying account analytic view to show\n"
"important data to project manager of services companies.\n"
"Adds menu to show relevant information to each manager..\n"
"\n"
"You can also view the report of account analytic summary\n"
"user-wise as well as month wise.\n"
msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,last_invoice_date:0
msgid "Last Invoice Date"
msgstr ""
#. module: account_analytic_analysis
#: help:account.analytic.account,theorical_margin:0
msgid "Computed using the formula: Theorial Revenue - Total Costs"
msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,real_margin_rate:0
msgid "Real Margin Rate (%)"
msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,ca_theorical:0
msgid "Theoretical Revenue"
msgstr ""
#. module: account_analytic_analysis
#: help:account.analytic.account,last_worked_invoiced_date:0
msgid ""
"If invoice from the costs, this is the date of the latest work or cost that "
"have been invoiced."
msgstr ""
#. module: account_analytic_analysis
#: model:ir.ui.menu,name:account_analytic_analysis.menu_invoicing
msgid "Billing"
msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,last_worked_date:0
msgid "Date of Last Cost/Work"
msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,total_cost:0
msgid "Total Costs"
msgstr ""
#. module: account_analytic_analysis
#: help:account.analytic.account,hours_quantity:0
msgid ""
"Number of hours you spent on the analytic account (from timesheet). It "
"computes on all journal of type 'general'."
msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,remaining_hours:0
msgid "Remaining Hours"
msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,theorical_margin:0
msgid "Theoretical Margin"
msgstr ""
#. module: account_analytic_analysis
#: help:account.analytic.account,ca_theorical:0
msgid ""
"Based on the costs you had on the project, what would have been the revenue "
"if all these costs have been invoiced at the normal sale price provided by "
"the pricelist."
msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,user_ids:0
#: field:account_analytic_analysis.summary.user,user:0
msgid "User"
msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,ca_to_invoice:0
msgid "Uninvoiced Amount"
msgstr ""
#. module: account_analytic_analysis
#: help:account.analytic.account,real_margin:0
msgid "Computed using the formula: Invoiced Amount - Total Costs."
msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,hours_qtt_non_invoiced:0
msgid "Uninvoiced Hours"
msgstr ""
#. module: account_analytic_analysis
#: help:account.analytic.account,last_worked_date:0
msgid "Date of the latest work done on this account."
msgstr ""
#. module: account_analytic_analysis
#: model:ir.module.module,shortdesc:account_analytic_analysis.module_meta_information
msgid "report_account_analytic"
msgstr ""
#. module: account_analytic_analysis
#: model:ir.model,name:account_analytic_analysis.model_account_analytic_analysis_summary_user
msgid "Hours Summary by User"
msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,ca_invoiced:0
msgid "Invoiced Amount"
msgstr ""
#. module: account_analytic_analysis
#: code:addons/account_analytic_analysis/account_analytic_analysis.py:533
#: code:addons/account_analytic_analysis/account_analytic_analysis.py:704
#, python-format
msgid "You try to bypass an access rule (Document type: %s)."
msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,last_worked_invoiced_date:0
msgid "Date of Last Invoiced Cost"
msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,hours_qtt_invoiced:0
msgid "Invoiced Hours"
msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,real_margin:0
msgid "Real Margin"
msgstr ""
#. module: account_analytic_analysis
#: constraint:account.analytic.account:0
msgid ""
"Error! The currency has to be the same as the currency of the selected "
"company"
msgstr ""
#. module: account_analytic_analysis
#: help:account.analytic.account,ca_invoiced:0
msgid "Total customer invoiced amount for this account."
msgstr ""
#. module: account_analytic_analysis
#: model:ir.model,name:account_analytic_analysis.model_account_analytic_analysis_summary_month
msgid "Hours summary by month"
msgstr ""
#. module: account_analytic_analysis
#: help:account.analytic.account,real_margin_rate:0
msgid "Computes using the formula: (Real Margin / Total Costs) * 100."
msgstr ""
#. module: account_analytic_analysis
#: help:account.analytic.account,hours_qtt_non_invoiced:0
msgid ""
"Number of hours (from journal of type 'general') that can be invoiced if you "
"invoice based on analytic account."
msgstr ""
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Analytic accounts"
msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,remaining_ca:0
msgid "Remaining Revenue"
msgstr ""
#. module: account_analytic_analysis
#: help:account.analytic.account,ca_to_invoice:0
msgid ""
"If invoice from analytic account, the remaining amount you can invoice to "
"the customer based on the total costs."
msgstr ""
#. module: account_analytic_analysis
#: help:account.analytic.account,revenue_per_hour:0
msgid "Computed using the formula: Invoiced Amount / Hours Tot."
msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,revenue_per_hour:0
msgid "Revenue per Hours (real)"
msgstr ""
#. module: account_analytic_analysis
#: field:account_analytic_analysis.summary.month,unit_amount:0
#: field:account_analytic_analysis.summary.user,unit_amount:0
msgid "Total Time"
msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,month_ids:0
#: field:account_analytic_analysis.summary.month,month:0
msgid "Month"
msgstr ""
#. module: account_analytic_analysis
#: field:account_analytic_analysis.summary.month,account_id:0
#: field:account_analytic_analysis.summary.user,account_id:0
#: model:ir.model,name:account_analytic_analysis.model_account_analytic_account
msgid "Analytic Account"
msgstr ""
#. module: account_analytic_analysis
#: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_managed_overpassed
#: model:ir.ui.menu,name:account_analytic_analysis.menu_action_account_analytic_managed_overpassed
msgid "Overpassed Accounts"
msgstr ""
#. module: account_analytic_analysis
#: model:ir.actions.act_window,name:account_analytic_analysis.action_hr_tree_invoiced_all
#: model:ir.ui.menu,name:account_analytic_analysis.menu_action_hr_tree_invoiced_all
msgid "All Uninvoiced Entries"
msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,hours_quantity:0
msgid "Hours Tot"
msgstr ""
#. module: account_analytic_analysis
#: constraint:account.analytic.account:0
msgid "Error! You can not create recursive analytic accounts."
msgstr ""
#. module: account_analytic_analysis
#: help:account.analytic.account,total_cost:0
msgid ""
"Total of costs for this account. It includes real costs (from invoices) and "
"indirect costs, like time spent on timesheets."
msgstr ""
+259
View File
@@ -0,0 +1,259 @@
# Slovenian translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-09-14 11:29+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Slovenian <sl@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-09-15 04:47+0000\n"
"X-Generator: Launchpad (build 13921)\n"
#. module: account_coda
#: help:account.coda,journal_id:0
#: field:account.coda.import,journal_id:0
msgid "Bank Journal"
msgstr "Bančni dnevnik"
#. module: account_coda
#: view:account.coda:0
#: field:account.coda.import,note:0
msgid "Log"
msgstr "Dnevnik"
#. module: account_coda
#: model:ir.model,name:account_coda.model_account_coda_import
msgid "Account Coda Import"
msgstr ""
#. module: account_coda
#: field:account.coda,name:0
msgid "Coda file"
msgstr ""
#. module: account_coda
#: view:account.coda:0
msgid "Group By..."
msgstr "Združi po ..."
#. module: account_coda
#: field:account.coda.import,awaiting_account:0
msgid "Default Account for Unrecognized Movement"
msgstr ""
#. module: account_coda
#: help:account.coda,date:0
msgid "Import Date"
msgstr "Datum uvoza"
#. module: account_coda
#: field:account.coda,note:0
msgid "Import log"
msgstr "Dnevnik uvoza"
#. module: account_coda
#: view:account.coda.import:0
msgid "Import"
msgstr "Uvozi"
#. module: account_coda
#: view:account.coda:0
msgid "Coda import"
msgstr ""
#. module: account_coda
#: code:addons/account_coda/account_coda.py:51
#, python-format
msgid "Coda file not found for bank statement !!"
msgstr ""
#. module: account_coda
#: help:account.coda.import,awaiting_account:0
msgid ""
"Set here the default account that will be used, if the partner is found but "
"does not have the bank account, or if he is domiciled"
msgstr ""
#. module: account_coda
#: view:account.coda:0
#: field:account.coda,company_id:0
msgid "Company"
msgstr "Podjetje"
#. module: account_coda
#: help:account.coda.import,def_payable:0
msgid ""
"Set here the payable account that will be used, by default, if the partner "
"is not found"
msgstr ""
#. module: account_coda
#: view:account.coda:0
msgid "Search Coda"
msgstr ""
#. module: account_coda
#: view:account.coda:0
#: field:account.coda,user_id:0
msgid "User"
msgstr "Uporabnik"
#. module: account_coda
#: view:account.coda:0
#: field:account.coda,date:0
msgid "Date"
msgstr "Datum"
#. module: account_coda
#: model:ir.ui.menu,name:account_coda.menu_account_coda_statement
msgid "Coda Import Logs"
msgstr ""
#. module: account_coda
#: model:ir.model,name:account_coda.model_account_coda
msgid "coda for an Account"
msgstr ""
#. module: account_coda
#: field:account.coda.import,def_payable:0
msgid "Default Payable Account"
msgstr ""
#. module: account_coda
#: help:account.coda,name:0
msgid "Store the detail of bank statements"
msgstr ""
#. module: account_coda
#: view:account.coda.import:0
msgid "Cancel"
msgstr "Prekliči"
#. module: account_coda
#: view:account.coda.import:0
msgid "Open Statements"
msgstr ""
#. module: account_coda
#: code:addons/account_coda/wizard/account_coda_import.py:167
#, python-format
msgid "The bank account %s is not defined for the partner %s.\n"
msgstr ""
#. module: account_coda
#: model:ir.ui.menu,name:account_coda.menu_account_coda_import
msgid "Import Coda Statements"
msgstr ""
#. module: account_coda
#: view:account.coda.import:0
#: model:ir.actions.act_window,name:account_coda.action_account_coda_import
msgid "Import Coda Statement"
msgstr ""
#. module: account_coda
#: model:ir.module.module,description:account_coda.module_meta_information
msgid ""
"\n"
" Module provides functionality to import\n"
" bank statements from coda files.\n"
" "
msgstr ""
#. module: account_coda
#: view:account.coda:0
msgid "Statements"
msgstr "Izpiski"
#. module: account_coda
#: field:account.bank.statement,coda_id:0
msgid "Coda"
msgstr ""
#. module: account_coda
#: view:account.coda.import:0
msgid "Results :"
msgstr "Rezultat"
#. module: account_coda
#: view:account.coda.import:0
msgid "Result of Imported Coda Statements"
msgstr ""
#. module: account_coda
#: help:account.coda.import,def_receivable:0
msgid ""
"Set here the receivable account that will be used, by default, if the "
"partner is not found"
msgstr ""
#. module: account_coda
#: field:account.coda.import,coda:0
#: model:ir.actions.act_window,name:account_coda.act_account_payment_account_bank_statement
msgid "Coda File"
msgstr ""
#. module: account_coda
#: model:ir.model,name:account_coda.model_account_bank_statement
msgid "Bank Statement"
msgstr "Bančni izpisek"
#. module: account_coda
#: model:ir.actions.act_window,name:account_coda.action_account_coda
msgid "Coda Logs"
msgstr ""
#. module: account_coda
#: code:addons/account_coda/wizard/account_coda_import.py:311
#, python-format
msgid "Result"
msgstr "Rezultat"
#. module: account_coda
#: view:account.coda.import:0
msgid "Click on 'New' to select your file :"
msgstr "Kliknite na \"Novo\" za izbiro vaše datoteke:"
#. module: account_coda
#: field:account.coda.import,def_receivable:0
msgid "Default Receivable Account"
msgstr ""
#. module: account_coda
#: view:account.coda.import:0
msgid "Close"
msgstr "Zapri"
#. module: account_coda
#: field:account.coda,statement_ids:0
msgid "Generated Bank Statements"
msgstr "Generirani bačni izpiski"
#. module: account_coda
#: model:ir.module.module,shortdesc:account_coda.module_meta_information
msgid "Account CODA - import bank statements from coda file"
msgstr ""
#. module: account_coda
#: view:account.coda.import:0
msgid "Configure Your Journal and Account :"
msgstr ""
#. module: account_coda
#: view:account.coda:0
msgid "Coda Import"
msgstr ""
#. module: account_coda
#: view:account.coda:0
#: field:account.coda,journal_id:0
msgid "Journal"
msgstr "Dnevnik"
+84
View File
@@ -0,0 +1,84 @@
# Slovenian translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-09-14 11:36+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Slovenian <sl@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-09-15 04:48+0000\n"
"X-Generator: Launchpad (build 13921)\n"
#. module: base_crypt
#: sql_constraint:res.users:0
msgid "You can not have two users with the same login !"
msgstr "Ne morete imeti dva uporabnika z istim prijavnim imenom!"
#. module: base_crypt
#: model:ir.model,name:base_crypt.model_res_users
msgid "res.users"
msgstr "res.users"
#. module: base_crypt
#: constraint:res.users:0
msgid "The chosen company is not in the allowed companies for this user"
msgstr "Izbrano podjetje ni v dovoljenih podjetjih za tega uporabnika"
#. module: base_crypt
#: code:addons/base_crypt/crypt.py:132
#, python-format
msgid "Please specify the password !"
msgstr "Prosim, navedite geslo !"
#. module: base_crypt
#: model:ir.module.module,shortdesc:base_crypt.module_meta_information
msgid "Base - Password Encryption"
msgstr "Osnovno - enkripcija gesla"
#. module: base_crypt
#: code:addons/base_crypt/crypt.py:132
#, python-format
msgid "Error"
msgstr "Napaka"
#. module: base_crypt
#: model:ir.module.module,description:base_crypt.module_meta_information
msgid ""
"This module replaces the cleartext password in the database with a password "
"hash,\n"
"preventing anyone from reading the original password.\n"
"For your existing user base, the removal of the cleartext passwords occurs "
"the first time\n"
"a user logs into the database, after installing base_crypt.\n"
"After installing this module it won't be possible to recover a forgotten "
"password for your\n"
"users, the only solution is for an admin to set a new password.\n"
"\n"
"Note: installing this module does not mean you can ignore basic security "
"measures,\n"
"as the password is still transmitted unencrypted on the network (by the "
"client),\n"
"unless you are using a secure protocol such as XML-RPCS.\n"
" "
msgstr ""
"Ta modul nadomešča obliko besedilnega geslo v bazi podatkov z hash geslom,\n"
"ki preprečuje komurkoli branje izvirnega gesla.\n"
"Za vašo obstoječo bazo uporabnikov, odstranitev gesla v obliki besedila se "
"pojavi pri\n"
"prvi prijavi uporabnika v bazo podatkov, po namestitvi base_crypt.\n"
"Po namestitvi tega modula ne bo mogoče obnoviti pozabiljenega gesla za vaše\n"
"uporabnike, edina rešitev je, da admin nastavi novo geslo.\n"
"\n"
"Opomba: namestitev tega modula ne pomeni ignoriranja osnovnih varnostnih "
"ukrepov,\n"
"ker se geslo še vedno prenaša nešifrirano v omrežju (preko klienta),\n"
"razen če ne uporabljate varni protokol kot je XML-RPCS.\n"
" "
+21 -16
View File
@@ -49,14 +49,9 @@ class crm_merge_opportunity(osv.osv_memory):
def get_attachments(self, cr, uid, id, context=None):
attach_obj = self.pool.get('ir.attachment')
attach_ids = attach_obj.search(cr, uid, [('res_model' , '=', 'crm.lead'), ('res_id', '=', id)])
return attach_ids
def set_attachements_res_id(self, cr, uid, op_id, attach_ids, context=None):
attach_obj = self.pool.get('ir.attachment')
attach_obj.write(cr, uid, attach_ids, {'res_id' : op_id})
proxy = self.pool.get('ir.attachment')
ids = proxy.search(cr, uid, [('res_model', '=', 'crm.lead'), ('res_id', '=', id)], context=context)
return proxy.browse(cr, uid, ids, context=context)
def find_oldest(self, cr, uid, op_ids, context=None):
if not context:
@@ -129,15 +124,25 @@ class crm_merge_opportunity(osv.osv_memory):
else:
first_opportunity = opportunities_list[0]
tail_opportunities = opportunities_list[1:]
data = self._update_data(op_ids, oldest_opp)
#copy message into the first opportunity + merge attachement
for opp in tail_opportunities + [first_opportunity]:
attach_ids = self.get_attachments(cr, uid, opp, context=context)
self.set_attachements_res_id(cr, uid, first_opportunity.id, attach_ids)
for mail_msg in opp.message_ids:
message_obj.write(cr, uid, mail_msg.id, {'res_id': first_opportunity.id, 'subject' : _("From %s : %s") % (opp.name, mail_msg.subject) }, context=context)
#copy message into the first opportunity + merge attachement
count = 1
first_attachments = self.get_attachments(cr, uid, first_opportunity, context=context)
for opp in tail_opportunities:
attachments = self.get_attachments(cr, uid, opp, context=context)
for first in first_attachments:
for attachment in attachments:
if attachment.name == first.name:
values = dict(
name = "%s (%s)" % (attachment.name, count,),
res_id = first_opportunity.id,
)
attachment.write(values)
count+=1
for history in opp.message_ids:
message_obj.write(cr, uid, history.id, {'res_id': first_opportunity.id, 'name' : _("From %s : %s") % (opp.name, history.name) }, context=context)
#Notification about loss of information
details = []
@@ -171,7 +176,7 @@ class crm_merge_opportunity(osv.osv_memory):
opp_obj.message_append(cr, uid, [first_opportunity], subject, body_text=details)
#data.update({'message_ids' : [(6, 0 ,self._concat_o2m('message_ids', op_ids))]})
opp_obj.write(cr, uid, [first_opportunity.id], data)
opp_obj.write(cr, uid, [first_opportunity.id], data, context=context)
unlink_ids = map(lambda x: x.id, tail_opportunities)
opp_obj.unlink(cr, uid, unlink_ids, context=context)
+1 -1
View File
@@ -71,7 +71,7 @@ class delivery_carrier(osv.osv):
'free_if_more_than': fields.boolean('Free If More Than'),
'amount': fields.float('Amount'),
'use_detailed_pricelist': fields.boolean('Use Detailed Pricelist'),
'pricelist_ids': fields.one2many('delivery.grid', 'carrier_id', 'Price List'),
'pricelist_ids': fields.one2many('delivery.grid', 'carrier_id', 'Advanced Pricing'),
}
_defaults = {
+1
View File
@@ -17,6 +17,7 @@
<record id="delivery_product" model="product.product">
<field name="name">Delivery by Poste</field>
<field name="default_code">Delivery</field>
<field name="type">service</field>
<field model="product.category" name="categ_id" search="[]"/>
</record>
+3 -5
View File
@@ -9,7 +9,6 @@
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Carrier">
<field name="name"/>
<field name="partner_id"/>
<field name="price" invisible="'order_id' not in context"/>
</tree>
@@ -22,10 +21,9 @@
<field name="arch" type="xml">
<form string="Carrier">
<group colspan="4" col="4" name="general">
<field name="name" select="1"/>
<field name="active" select="1"/>
<field name="partner_id" select="1"/>
<field name="product_id" select="1"/>
<field name="active" select="1"/>
<separator string="Pricing Information" colspan="6"/>
<group colspan="2" col="4">
<field name="normal_price" select="1" colspan="4"/>
@@ -82,7 +80,7 @@
<field name="help">Define the delivery methods you are using and their pricing in order to reinvoice the delivery costs when you are doing invoicing based on delivery orders</field>
</record>
<menuitem action="action_delivery_carrier_form" id="menu_action_delivery_carrier_form" parent="menu_delivery" groups="base.group_extended"/>
<menuitem action="action_delivery_carrier_form" id="menu_action_delivery_carrier_form" parent="menu_delivery"/>
<!-- Delivery Grids -->
<record id="view_delivery_grid_tree" model="ir.ui.view">
@@ -132,7 +130,7 @@
<field name="view_mode">tree,form</field>
<field name="help">The delivery price list allows you to compute the cost and sales price of the delivery according to the weight of the products and other criteria. You can define several price lists for one delivery method, per country or a zone in a specific country defined by a postal code range.</field>
</record>
<menuitem action="action_delivery_grid_form" id="menu_action_delivery_grid_form" parent="menu_delivery"/>
<menuitem action="action_delivery_grid_form" id="menu_action_delivery_grid_form" parent="menu_delivery" groups="base.group_extended"/>
<record id="view_delivery_grid_line_form" model="ir.ui.view">
<field name="name">delivery.grid.line.form</field>
+1 -1
View File
@@ -252,7 +252,7 @@ class document_file(osv.osv):
ids = ids2
if 'file_size' in vals: # only write that field using direct SQL calls
del vals['file_size']
if len(ids) and len(vals):
if ids and vals:
result = super(document_file,self).write(cr, uid, ids, vals, context=context)
cr.commit() # ?
return result
+1 -1
View File
@@ -120,7 +120,7 @@ class fetchmail_server(osv.osv):
server.write({'state':'done'})
except Exception, e:
logger.exception("Failed to connect to %s server %s", server.type, server.name)
raise osv.except_osv(_("Connection test failed!"), _("Here is what we got instead:\n %s") % e)
raise osv.except_osv(_("Connection test failed!"), _("Here is what we got instead:\n %s") % tools.ustr(e))
finally:
try:
if connection:
+53
View File
@@ -0,0 +1,53 @@
# Macedonian translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
"PO-Revision-Date: 2011-09-14 08:11+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Macedonian <mk@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-09-15 04:47+0000\n"
"X-Generator: Launchpad (build 13921)\n"
#. module: google_map
#: view:res.partner:0
#: view:res.partner.address:0
msgid "Map"
msgstr "Мапа"
#. module: google_map
#: view:res.partner:0
#: view:res.partner.address:0
msgid "Street2 : "
msgstr ""
#. module: google_map
#: model:ir.actions.wizard,name:google_map.wizard_google_map
msgid "Launch Google Map"
msgstr "Стартувај Google Map"
#. module: google_map
#: model:ir.module.module,description:google_map.module_meta_information
msgid ""
"The module adds google map field in partner address\n"
"so that we can directly open google map from the\n"
"url widget."
msgstr ""
#. module: google_map
#: model:ir.module.module,shortdesc:google_map.module_meta_information
msgid "Google Map"
msgstr ""
#. module: google_map
#: model:ir.model,name:google_map.model_res_partner_address
msgid "Partner Addresses"
msgstr "Адреса на партнерот"
+3 -3
View File
@@ -75,8 +75,8 @@
<field name="type_id" widget="selection"/>
</group>
<notebook>
<page string="Information">
<group col="2" colspan="2">
<page string="Information" name="information">
<group col="2" colspan="2" name="left_column">
<separator colspan="2" string="Duration"/>
<field name="date_start" />
<field name="date_end" />
@@ -85,7 +85,7 @@
<field name="trial_date_start" />
<field name="trial_date_end" />
</group>
<group col="2" colspan="2">
<group col="2" colspan="2" name="right_column">
<separator name="advantages" colspan="2" string="Advantages"/>
<field name="advantages" nolabel="1" colspan="2"/>
</group>
+6
View File
@@ -50,6 +50,7 @@ class hr_payroll_structure(osv.osv):
'company_id':fields.many2one('res.company', 'Company', required=True),
'note': fields.text('Description'),
'parent_id':fields.many2one('hr.payroll.structure', 'Parent'),
'children_ids':fields.one2many('hr.payroll.structure', 'parent_id', 'Children'),
}
def _get_parent(self, cr, uid, context=None):
@@ -131,6 +132,10 @@ class hr_contract(osv.osv):
], 'Scheduled Pay', select=True),
}
_defaults = {
'schedule_pay': 'monthly',
}
def get_all_structures(self, cr, uid, contract_ids, context=None):
"""
@param contract_ids: list of contracts
@@ -175,6 +180,7 @@ class hr_salary_rule_category(osv.osv):
'name':fields.char('Name', size=64, required=True, readonly=False),
'code':fields.char('Code', size=64, required=True, readonly=False),
'parent_id':fields.many2one('hr.salary.rule.category', 'Parent', help="Linking a salary category to its parent is used only for the reporting purpose."),
'children_ids': fields.one2many('hr.salary.rule.category', 'parent_id', 'Children'),
'note': fields.text('Description'),
'company_id':fields.many2one('res.company', 'Company', required=False),
}
+1 -1
View File
@@ -89,7 +89,7 @@
<field name="category_id" ref="hr_payroll.ALW"/>
<field name="name">Get 1% of sales</field>
<field name="sequence" eval="17"/>
<field name="amount_python_compute">result = (inputs.SALEURO.amount + inputs.SALASIA.amount) * contract.wage * 0.01</field>
<field name="amount_python_compute">result = (inputs.SALEURO.amount + inputs.SALASIA.amount) * 0.01</field>
</record>
<!-- Rule Inputs -->
+58 -5
View File
@@ -58,7 +58,7 @@
<!-- End Contract View-->
<!-- Salary structure -->
<record id="view_hr_employee_grade_tree" model="ir.ui.view">
<record id="view_hr_payroll_structure_list_view" model="ir.ui.view">
<field name="name">hr.payroll.structure.tree</field>
<field name="model">hr.payroll.structure</field>
<field name="type">tree</field>
@@ -71,6 +71,19 @@
</tree>
</field>
</record>
<record id="view_hr_payroll_structure_tree" model="ir.ui.view">
<field name="name">hr.payroll.structure.tree</field>
<field name="model">hr.payroll.structure</field>
<field name="type">tree</field>
<field name="field_parent">children_ids</field>
<field name="arch" type="xml">
<tree string="Salary Structure">
<field name="name"/>
<field name="code"/>
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
</tree>
</field>
</record>
<record id="view_hr_payroll_structure_filter" model="ir.ui.view">
<field name="name">hr.payroll.structure.select</field>
@@ -116,18 +129,32 @@
</field>
</record>
<record id="action_view_hr_employee_grade_form" model="ir.actions.act_window">
<record id="action_view_hr_payroll_structure_list_form" model="ir.actions.act_window">
<field name="name">Salary Structures</field>
<field name="res_model">hr.payroll.structure</field>
<field name="view_type">form</field>
<field name="view_id" ref="view_hr_employee_grade_tree"/>
<field name="view_id" ref="view_hr_payroll_structure_list_view"/>
</record>
<menuitem
id="menu_hr_employee_function"
action="action_view_hr_employee_grade_form"
id="menu_hr_payroll_structure_view"
action="action_view_hr_payroll_structure_list_form"
parent="payroll_configure"
sequence="1"
/>
<record id="action_view_hr_payroll_structure_tree" model="ir.actions.act_window">
<field name="name">Salary Structures Hierarchy</field>
<field name="res_model">hr.payroll.structure</field>
<field name="view_type">tree</field>
<field name="domain">[('parent_id','=',False)]</field>
<field name="view_id" ref="view_hr_payroll_structure_tree"/>
</record>
<menuitem
id="menu_hr_payroll_structure_tree"
action="action_view_hr_payroll_structure_tree"
parent="payroll_configure"
sequence="2"
icon="STOCK_INDENT"
/>
<!-- End Salary structure -->
<!-- Payslip Line -->
@@ -415,6 +442,19 @@
</tree>
</field>
</record>
<record id="hr_salary_rule_category_tree_view" model="ir.ui.view">
<field name="name">hr.salary.rule.category.tree.view</field>
<field name="model">hr.salary.rule.category</field>
<field name="type">tree</field>
<field name="field_parent">children_ids</field>
<field name="arch" type="xml">
<tree string="Salary Rule Categories">
<field name="name"/>
<field name="code"/>
<field name="parent_id" invisible="1"/>
</tree>
</field>
</record>
<record id="view_hr_salary_rule_category_filter" model="ir.ui.view">
<field name="name">hr.salary.rule.category.select</field>
@@ -441,6 +481,19 @@
parent="payroll_configure"
sequence="11"
/>
<record id="action_hr_salary_rule_category_tree_view" model="ir.actions.act_window">
<field name="name">Salary Rule Categories Hierarchy</field>
<field name="res_model">hr.salary.rule.category</field>
<field name="view_type">tree</field>
<field name="view_id" ref="hr_salary_rule_category_tree_view"/>
</record>
<menuitem
id="menu_hr_salary_rule_category_tree_view"
action="action_hr_salary_rule_category_tree_view"
parent="payroll_configure"
sequence="12"
icon="STOCK_INDENT"
/>
<!--
Contribution Register
@@ -4,7 +4,7 @@
<!-- Employee Contract -->
<record id="hr_payroll.hr_contract_firstcontract1" model="hr.contract">
<field name="name">Bonamy's Contract (C.P.218)</field>
<field name="name">Bonamy's Contract (Belgium payroll C.P. 218)</field>
<field name="struct_id" ref="hr_payroll_salary_structure_employee"/>
<field eval="2500.0" name="wage"/>
<field eval="6.0" name="ch_value"/>
@@ -9,17 +9,15 @@
<field name="inherit_id" ref="hr_contract.hr_contract_view_form"/>
<field name="arch" type="xml">
<data>
<xpath expr="/form/notebook/page/group/field[@name='advantages']" position="after">
<xpath expr="/form/notebook/page[@name='information']/group[@name='right_column']/field[@name='struct_id']" position="after">
<field name="reim_travel"/>
<field name="company_car_emp"/>
<field name="mis_ex_onss"/>
<field name="ch_value"/>
<field name="advantage"/>
<group colspan="2" col="2">
<separator string="Miscellaneous" colspan="2"/>
<field name="suppl_net"/>
<field name="retained_net"/>
</group>
<separator string="Miscellaneous" colspan="2"/>
<field name="suppl_net"/>
<field name="retained_net"/>
</xpath>
<xpath expr="/form/notebook/page/group/field[@name='trial_date_end']" position="after">
<group colspan="2" col="2">
@@ -29,9 +27,6 @@
<field name="company_car_wkr"/>
</group>
</xpath>
<xpath expr="/form//group/field[@name='type_id']" position="after">
<field name="struct_id" select="1"/>
</xpath>
</data>
</field>
</record>
@@ -48,17 +43,6 @@
</field>
</record>
<record id="view_contract_salary_structure" model="ir.ui.view">
<field name="name">hr.contract.struc</field>
<field name="model">hr.contract</field>
<field name="inherit_id" ref="hr_payroll.hr_contract_form_inherit"/>
<field name="type">form</field>
<field name="arch" type="xml">
<field name="struct_id" position="replace">
</field>
</field>
</record>
<record id="hr_contract_hr_hr_employee_view_for" model="ir.ui.view">
<field name="name">hr.hr.employee.view.for</field>
<field name="model">hr.employee</field>
+63
View File
@@ -0,0 +1,63 @@
# Macedonian translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
"PO-Revision-Date: 2011-09-14 08:15+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Macedonian <mk@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-09-15 04:47+0000\n"
"X-Generator: Launchpad (build 13921)\n"
#. module: html_view
#: field:html.view,name:0
msgid "Name"
msgstr "Име"
#. module: html_view
#: field:html.view,comp_id:0
msgid "Company"
msgstr "Компанија"
#. module: html_view
#: model:ir.actions.act_window,name:html_view.action_html_view_form
#: model:ir.ui.menu,name:html_view.html_form
msgid "Html Test"
msgstr "Html тест"
#. module: html_view
#: view:html.view:0
msgid "Html Example"
msgstr "Html пример"
#. module: html_view
#: model:ir.module.module,shortdesc:html_view.module_meta_information
msgid "Html View"
msgstr "Html преглед"
#. module: html_view
#: field:html.view,bank_ids:0
msgid "Banks"
msgstr "Банки"
#. module: html_view
#: model:ir.module.module,description:html_view.module_meta_information
msgid ""
"\n"
" This is the test module which shows html tag supports in normal xml form "
"view.\n"
" "
msgstr ""
#. module: html_view
#: model:ir.model,name:html_view.model_html_view
msgid "html.view"
msgstr "html.view"
@@ -123,7 +123,7 @@
<field name="res_model">project.issue</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('state','not in',('cancel','done')),'|',('assigned_to','=',uid),('user_id','=',uid)]</field>
<field name="domain">[('state','not in',('cancel','done')),('user_id','=',uid)]</field>
<field name="view_id" ref="project_issue_board_tree_view"/>
</record>
<record id="view_my_open_project_issue_graph" model="ir.ui.view">
@@ -142,7 +142,7 @@
<field name="res_model">project.issue.report</field>
<field name="view_type">form</field>
<field name="view_mode">graph,tree,form,</field>
<field name="domain">[('state','=','open'),'|',('assigned_to','=',uid),('user_id','=',uid)]</field>
<field name="domain">[('state','=','open'),('user_id','=',uid)]</field>
<field name="view_id" ref="view_my_open_project_issue_graph"/>
</record>
<record id="board_my_project_issue_form" model="ir.ui.view">
+5 -15
View File
@@ -58,7 +58,7 @@ class project_issue(crm.crm_case, osv.osv):
"""
res = super(project_issue, self).case_open(cr, uid, ids, *args)
self.write(cr, uid, ids, {'date_open': time.strftime('%Y-%m-%d %H:%M:%S'), 'assigned_to' : uid})
self.write(cr, uid, ids, {'date_open': time.strftime('%Y-%m-%d %H:%M:%S'), 'user_id' : uid})
for (id, name) in self.name_get(cr, uid, ids):
message = _("Issue '%s' has been opened.") % name
self.log(cr, uid, id, message)
@@ -191,7 +191,6 @@ class project_issue(crm.crm_case, osv.osv):
'section_id': fields.many2one('crm.case.section', 'Sales Team', \
select=True, help='Sales team to which Case belongs to.\
Define Responsible user and Email account for mail gateway.'),
'user_id': fields.related('project_id', 'user_id', type='many2one', relation='res.users', store=True, select=1, string='Responsible'),
'partner_id': fields.many2one('res.partner', 'Partner', select=1),
'partner_address_id': fields.many2one('res.partner.address', 'Partner Contact', \
domain="[('partner_id','=',partner_id)]"),
@@ -220,7 +219,7 @@ class project_issue(crm.crm_case, osv.osv):
multi='compute_day', type="float", store=True),
'day_close': fields.function(_compute_day, string='Days to Close', \
multi='compute_day', type="float", store=True),
'assigned_to': fields.many2one('res.users', 'Assigned to', required=False, select=1),
'user_id': fields.many2one('res.users', 'Assigned to', required=False, select=1),
'working_hours_open': fields.function(_compute_day, string='Working Hours to Open the Issue', \
multi='compute_day', type="float", store=True),
'working_hours_close': fields.function(_compute_day, string='Working Hours to Close the Issue', \
@@ -245,19 +244,11 @@ class project_issue(crm.crm_case, osv.osv):
return False
def on_change_project(self, cr, uid, ids, project_id, context=None):
result = {}
if project_id:
project = self.pool.get('project.project').browse(cr, uid, project_id, context=context)
if project.user_id:
result['value'] = {'user_id' : project.user_id.id}
return result
return {}
_defaults = {
'active': 1,
#'user_id': crm.crm_case._get_default_user,
'partner_id': crm.crm_case._get_default_partner,
'partner_address_id': crm.crm_case._get_default_partner_address,
'email_from': crm.crm_case._get_default_email,
@@ -267,7 +258,6 @@ class project_issue(crm.crm_case, osv.osv):
'priority': crm.AVAILABLE_PRIORITIES[2][0],
'project_id':_get_project,
'categ_id' : lambda *a: False,
#'assigned_to' : lambda obj, cr, uid, context: uid,
}
def convert_issue_task(self, cr, uid, ids, context=None):
@@ -296,7 +286,7 @@ class project_issue(crm.crm_case, osv.osv):
'date': bug.date,
'project_id': bug.project_id.id,
'priority': bug.priority,
'user_id': bug.assigned_to.id,
'user_id': bug.user_id.id,
'planned_hours': 0.0,
})
@@ -364,7 +354,7 @@ class project_issue(crm.crm_case, osv.osv):
if not task_id:
return {'value':{}}
task = self.pool.get('project.task').browse(cr, uid, task_id, context=context)
return {'value':{'assigned_to': task.user_id.id,}}
return {'value':{'user_id': task.user_id.id,}}
def case_escalate(self, cr, uid, ids, *args):
"""Escalates case to top level
+8 -9
View File
@@ -55,8 +55,7 @@
<field name="name"/>
<field name="project_id" required="True" on_change="on_change_project(project_id)"/>
<field name="categ_id" widget="selection" domain="[('object_id.model', '=', 'project.issue')]"/>
<field name="user_id" invisible="1" />
<field name="assigned_to"/>
<field name="user_id"/>
<field name="version_id" colspan="2" widget="selection"/>
<group colspan="2" col="4">
<field name="type_id" string="Resolution" />
@@ -188,7 +187,7 @@
<button name="prev_type" string="Previous" type="object" icon="gtk-go-back" help="Change to Previous Stage"/>
<button name="next_type" string="Next" type="object" icon="gtk-go-forward" help="Change to Next Stage"/>
<field name="version_id" widget="selection"/>
<field name="assigned_to"/>
<field name="user_id"/>
<field name="progress" widget="progressbar" attrs="{'invisible':[('task_id','=',False)]}"/>
<field name="state"/>
<button name="case_cancel" string="Cancel" states="draft,open,pending" type="object" icon="gtk-cancel"/>
@@ -216,8 +215,8 @@
<filter string="Pending" domain="[('state','=','pending')]" help="Pending Issues" icon="terp-gtk-media-pause"/>
<separator orientation="vertical"/>
<field name="name" string="Issue / Partner" filter_domain="['|', '|', ('partner_id','ilike',self), ('email_from','ilike',self), ('name','ilike',self)]"/>
<field name="assigned_to">
<filter domain="[('assigned_to','=',False)]" help="Unassigned Issues" icon="terp-personal-" separator="1"/>
<field name="user_id">
<filter domain="[('user_id','=',False)]" help="Unassigned Issues" icon="terp-personal-" separator="1"/>
</field>
<field name="project_id"/>
<field name="id"/>
@@ -225,7 +224,7 @@
<newline/>
<group expand="0" string="Group By..." groups="base.group_extended">
<filter string="Responsible" icon="terp-personal"
domain="[]" context="{'group_by':'assigned_to'}" />
domain="[]" context="{'group_by':'user_id'}" />
<filter string="Partner" icon="terp-partner" domain="[]"
context="{'group_by':'partner_id'}" />
<separator orientation="vertical"/>
@@ -256,7 +255,7 @@
<field name="type">calendar</field>
<field name="priority" eval="2"/>
<field name="arch" type="xml">
<calendar string="Issues" date_start="date" color="assigned_to" date_delay="duration">
<calendar string="Issues" date_start="date" color="user_id" date_delay="duration">
<field name="name"/>
<field name="partner_id"/>
</calendar>
@@ -281,7 +280,7 @@
<button name="prev_type" string="Previous" type="object" icon="gtk-go-back" help="Change to Previous Stage"/>
<button name="next_type" string="Next" type="object" icon="gtk-go-forward" help="Change to Next Stage"/>
<field name="version_id"/>
<field name="assigned_to"/>
<field name="user_id"/>
<field name="state"/>
<button name="case_cancel" string="Cancel" states="draft,open,pending" type="object" icon="gtk-cancel"/>
<button name="case_close" string="Done" states="open,draft,pending" type="object" icon="gtk-jump-to"/>
@@ -304,7 +303,7 @@
<separator orientation="vertical"/>
<group>
<field name="name" select='1' string="Feature description"/>
<field name="assigned_to" select="1"/>
<field name="user_id" select="1"/>
<field name="state" select="1">
<filter icon="terp-check" domain="[('state','in',('open','draft'))]" help="Current Features" name="current_feature"/>
<filter icon="terp-camera_test" domain="[('state','=','open')]" help="Open Features"/>
@@ -37,7 +37,6 @@ class project_issue_report(osv.osv):
_columns = {
'name': fields.char('Year', size=64, required=False, readonly=True),
'user_id':fields.many2one('res.users', 'Responsible', readonly=True),
'section_id':fields.many2one('crm.case.section', 'Sale Team', readonly=True),
'state': fields.selection(AVAILABLE_STATES, 'State', size=16, readonly=True),
'month':fields.selection([('01', 'January'), ('02', 'February'), \
@@ -64,7 +63,7 @@ class project_issue_report(osv.osv):
'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority'),
'project_id':fields.many2one('project.project', 'Project',readonly=True),
'version_id': fields.many2one('project.issue.version', 'Version'),
'assigned_to' : fields.many2one('res.users', 'Assigned to',readonly=True),
'user_id' : fields.many2one('res.users', 'Assigned to',readonly=True),
'partner_id': fields.many2one('res.partner','Partner',domain="[('object_id.model', '=', 'project.issue')]"),
'channel_id': fields.many2one('crm.case.channel', 'Channel',readonly=True),
'task_id': fields.many2one('project.task', 'Task',domain="[('object_id.model', '=', 'project.issue')]" ),
@@ -95,7 +94,6 @@ class project_issue_report(osv.osv):
c.project_id as project_id,
c.version_id as version_id,
1 as nbr,
c.assigned_to,
c.partner_id,
c.channel_id,
c.task_id,
@@ -20,8 +20,7 @@
<field name="categ_id" invisible="1"/>
<field name="channel_id" invisible="1"/>
<field name="partner_id" invisible="1"/>
<field name="task_id" invisible="1"/>
<field name="assigned_to" invisible="1"/>
<field name="task_id" invisible="1"/>
<field name="date_closed" invisible="1"/>
<field name="state" invisible="1"/>
<field name="day" invisible="1"/>
@@ -89,31 +88,14 @@
</field>
<field name="project_id"/>
<field name="user_id" select="1" widget="selection"/>
<field name="user_id" select="1" widget="selection" filter_domain="[('user_id','ilike',self)]"/>
<field name="partner_id"/>
<field name="version_id" widget="selection" />
</group>
<newline/>
<group expand="0" string="Extended Filters..." colspan="10" col="12" groups="base.group_extended">
<field name="partner_id"/>
<field name="assigned_to" widget="selection"/>
<separator orientation="vertical"/>
<field name="priority" />
<separator orientation="vertical"/>
<field name="version_id" widget="selection" />
<field name="categ_id" widget="selection" domain="[('object_id.model', '=', 'project.issue')]"/>
<field name="type_id" widget="selection"/>
<separator orientation="vertical"/>
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
<newline/>
<field name="creation_date"/>
<field name="opening_date"/>
<field name="date_closed" string="Date Closed"/>
</group>
<newline/>
<group expand="1" string="Group By..." colspan="4" col="8">
<filter name="User" string="Responsible" icon="terp-personal"
domain="[]" context="{'group_by':'user_id'}" />
<group expand="1" string="Group By..." colspan="4" col="8">
<filter string="Assigned to" name="Responsible" icon="terp-personal"
domain="[]" context="{'group_by':'assigned_to'}" />
domain="[]" context="{'group_by':'user_id'}" />
<filter string="Partner" icon="terp-partner" context="{'group_by':'partner_id'}" />
<separator orientation="vertical" />
<filter string="Sale Team" icon="terp-personal+"
@@ -18,7 +18,7 @@
</xpath>
<notebook colspan="4">
<page string="Worklogs">
<field name="timesheet_ids" colspan="4" nolabel="1" context="{'default_user_id' : assigned_to, 'default_account_id' : analytic_account_id}">
<field name="timesheet_ids" colspan="4" nolabel="1" context="{'default_user_id' : user_id, 'default_account_id' : analytic_account_id}">
<tree editable="top" string="Timesheet">
<field name="name"/>
<field name="unit_amount" on_change="on_change_unit_amount(product_id, unit_amount, False, product_uom_id,journal_id)" widget="float_time"/>