Date: Thu, 18 Oct 2012 16:33:32 +0200
Subject: [PATCH 144/227] [FIX] account: print overdue report
bzr revid: qdp-launchpad@openerp.com-20121018143332-rwbydw558m1jgp13
---
addons/account/report/account_print_overdue.rml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/account/report/account_print_overdue.rml b/addons/account/report/account_print_overdue.rml
index 1755f0a334d..3e8b9b04b62 100644
--- a/addons/account/report/account_print_overdue.rml
+++ b/addons/account/report/account_print_overdue.rml
@@ -129,7 +129,7 @@
[[ o.title.name or '' ]] [[ o.name ]]
- [[ display_address(o.id) ]]
+ [[ display_address(o) ]]
From 536cb8775c7f5511f7e70595c19a0260dfbc1937 Mon Sep 17 00:00:00 2001
From: "Quentin (OpenERP)"
Date: Thu, 18 Oct 2012 20:43:23 +0200
Subject: [PATCH 145/227] [TEST] removing values at record creation in yaml
bzr revid: qdp-launchpad@openerp.com-20121018184323-5kq9fb54slij3ioo
---
openerp/tools/yaml_import.py | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/openerp/tools/yaml_import.py b/openerp/tools/yaml_import.py
index 7e1c7152b0f..1a81db949ee 100644
--- a/openerp/tools/yaml_import.py
+++ b/openerp/tools/yaml_import.py
@@ -425,7 +425,19 @@ class YamlInterpreter(object):
continue
field_value = self._eval_field(model, field_name, expression, default=False)
record_dict[field_name] = field_value
-
+ if 'line_cr_ids' in record_dict and record_dict['line_cr_ids']:
+ for item in record_dict['line_cr_ids']:
+ if item[2] and 'date_original' in item[2]:
+ del(item[2]['date_original'])
+ if item[2] and 'date_original' in item[2]:
+ del(item[2]['date_due'])
+ if 'line_dr_ids' in record_dict and record_dict['line_dr_ids']:
+ for item in record_dict['line_dr_ids']:
+ if item[2] and 'date_original' in item[2]:
+ del(item[2]['date_original'])
+ if item[2] and 'date_original' in item[2]:
+ del(item[2]['date_due'])
+ print "ICICICICICICI", record_dict
return record_dict
def process_ref(self, node, column=None):
From 479627856c3fc4e8c12dfe5b5b3d59609de1838c Mon Sep 17 00:00:00 2001
From: "Bhumi Thakkar (Open ERP)"
Date: Fri, 19 Oct 2012 12:07:30 +0530
Subject: [PATCH 146/227] [IMP] Improve css to hide scroll in mail threads and
remove text shadow.
bzr revid: bth@tinyerp.com-20121019063730-cx2axh9cgbego6o0
---
addons/web/static/src/css/base.css | 12 ++++++++++++
addons/web/static/src/css/base.sass | 6 ++++++
2 files changed, 18 insertions(+)
diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css
index 56369e18ba9..8234c26e507 100644
--- a/addons/web/static/src/css/base.css
+++ b/addons/web/static/src/css/base.css
@@ -2944,4 +2944,16 @@ div.ui-widget-overlay {
.openerp .oe_application .oe_form_sheet, .openerp .oe_application .oe_form_sheetbg {
border: none;
}
+
+ .openerp div.oe_mail_wall {
+ overflow: hidden !important;
+ }
+
+ .oe_mail .oe_mail_thread_msg .oe_mail_unread, .oe_mail_fetch_more {
+ display: none;
+ }
+
+ .openerp {
+ text-shadow: none;
+ }
}
diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass
index 0a3d94220c0..128fdf8834e 100644
--- a/addons/web/static/src/css/base.sass
+++ b/addons/web/static/src/css/base.sass
@@ -2327,6 +2327,12 @@ div.ui-widget-overlay
.oe_application
.oe_form_sheet, .oe_form_sheetbg
border: none
+ .openerp div.oe_mail_wall
+ overflow: hidden !important
+ .oe_mail .oe_mail_thread_msg .oe_mail_unread, .oe_mail_fetch_more
+ display: none
+ .openerp
+ text-shadow: none
// au BufWritePost,FileWritePost *.sass :!sass --style expanded --line-numbers > "%:p:r.css"
// vim:tabstop=4:shiftwidth=4:softtabstop=4:fdm=marker:
From 96254074d75c2420eebc43bba5ca4f24ee536eb7 Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Fri, 19 Oct 2012 16:23:04 +0530
Subject: [PATCH 147/227] [FIX] reconcile view: use backbone event
architecture, remove .add
bzr revid: rgaopenerp-20121019105304-9ddz8q763prmxdg0
---
.../static/src/js/account_move_reconciliation.js | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/addons/account/static/src/js/account_move_reconciliation.js b/addons/account/static/src/js/account_move_reconciliation.js
index e8bf24fb27f..100ac3b66b9 100644
--- a/addons/account/static/src/js/account_move_reconciliation.js
+++ b/addons/account/static/src/js/account_move_reconciliation.js
@@ -11,15 +11,15 @@ openerp.account = function (instance) {
this._super.apply(this, arguments);
var self = this;
this.current_partner = null;
- this.do_select.add(function() {
- if (self.get_selected_ids().length === 0) {
+ this.on('record_selected', this, function(ids, records) {
+ if (ids.length === 0) {
self.$(".oe_account_recon_reconcile").attr("disabled", "");
} else {
self.$(".oe_account_recon_reconcile").removeAttr("disabled");
}
});
},
- on_loaded: function() {
+ load_list: function() {
var self = this;
var tmp = this._super.apply(this, arguments);
if (this.partners) {
@@ -121,6 +121,10 @@ openerp.account = function (instance) {
self.do_search(self.last_domain, self.last_context, self.last_group_by);
});
},
+ do_select: function (ids, records) {
+ this.trigger('record_selected', ids, records)
+ this._super.apply(this, arguments);
+ },
});
};
From 820c2551bba2332677e64899950c53ed9f0e4b1d Mon Sep 17 00:00:00 2001
From: "Quentin (OpenERP)"
Date: Fri, 19 Oct 2012 13:06:04 +0200
Subject: [PATCH 148/227] [IMP] tools, yaml_import: the values given to the
creation should only include the fields that aren't readonly in the view.
Because that's what clients do
bzr revid: qdp-launchpad@openerp.com-20121019110604-1gvfcgqvwd1izh71
---
openerp/tools/yaml_import.py | 56 +++++++++++++++++++++++-------------
1 file changed, 36 insertions(+), 20 deletions(-)
diff --git a/openerp/tools/yaml_import.py b/openerp/tools/yaml_import.py
index 1a81db949ee..501ab30d879 100644
--- a/openerp/tools/yaml_import.py
+++ b/openerp/tools/yaml_import.py
@@ -330,7 +330,7 @@ class YamlInterpreter(object):
def _create_record(self, model, fields, view_info=False, parent={}, default=True):
"""This function processes the !record tag in yalm files. It simulates the record creation through an xml
view (either specified on the !record tag or the default one for this object), including the calls to
- on_change() functions.
+ on_change() functions, and sending only values for fields that aren't set as readonly.
:param model: model instance
:param fields: dictonary mapping the field names and their values
:param view_info: result of fields_view_get() called on the object
@@ -339,6 +339,13 @@ class YamlInterpreter(object):
:return: dictionary mapping the field names and their values, ready to use when calling the create() function
:rtype: dict
"""
+ def _get_right_one2many_view(fg, field_name, view_type):
+ one2many_view = fg[field_name]['views'].get(view_type)
+ # if the view is not defined inline, we call fields_view_get()
+ if not one2many_view:
+ one2many_view = self.pool.get(fg[field_name]['relation']).fields_view_get(self.cr, SUPERUSER_ID, False, view_type, self.context)
+ return one2many_view
+
def process_val(key, val):
if fg[key]['type']=='many2one':
if type(val) in (tuple,list):
@@ -347,7 +354,28 @@ class YamlInterpreter(object):
if val is False:
val = []
if len(val) and type(val[0]) == dict:
+ #we want to return only the fields that aren't readonly
+ #For that, we need to first get the right tree view to consider for the field `key´
+ one2many_tree_view = _get_right_one2many_view(fg, key, 'tree')
+ for rec in val:
+ #make a copy for the iteration, as we will alterate the size of `rec´ dictionary
+ rec_copy = rec.copy()
+ for field_key in rec_copy:
+ #seek in the view for the field `field_key´ and removing it from `key´ values, as this column is readonly in the tree view
+ subfield_obj = etree.fromstring(one2many_tree_view['arch'].encode('utf-8')).xpath("//field[@name='%s']"%(field_key))
+ if subfield_obj and (subfield_obj[0].get('modifiers', '{}').find('"readonly": true') >= 0):
+ #TODO: currently we only support if readonly is True in the modifiers. Some improvement may be done in
+ #order to support also modifiers that look like {"readonly": [["state", "not in", ["draft", "confirm"]]]}
+ del(rec[field_key])
+
+ #now that unwanted values have been removed from val, we can encapsulate it in a tuple as returned value
val = map(lambda x: (0,0,x), val)
+
+ #we want to return only the fields that aren't readonly
+ if el.get('modifiers', '{}').find('"readonly": true') >= 0:
+ #TODO: currently we only support if readonly is True in the modifiers. Some improvement may be done in
+ #order to support also modifiers that look like {"readonly": [["state", "not in", ["draft", "confirm"]]]}
+ return False
return val
view = view_info and etree.fromstring(view_info['arch'].encode('utf-8')) or False
@@ -373,13 +401,14 @@ class YamlInterpreter(object):
one2many_form_view = None
if (view is not False) and (fg[field_name]['type']=='one2many'):
# for one2many fields, we want to eval them using the inline form view defined on the parent
- one2many_form_view = view_info['fields'][field_name]['views'].get('form')
- # if the form view is not defined inline, we call fields_view_get()
- if not one2many_form_view:
- one2many_form_view = self.pool.get(fg[field_name]['relation']).fields_view_get(self.cr, SUPERUSER_ID, False, 'form', self.context)
+ one2many_form_view = _get_right_one2many_view(fg, field_name, 'form')
field_value = self._eval_field(model, field_name, fields[field_name], one2many_form_view or view_info, parent=record_dict, default=default)
- record_dict[field_name] = field_value
+
+ #call process_val to not update record_dict if values were given for readonly fields
+ val = process_val(field_name, field_value)
+ if val:
+ record_dict[field_name] = val
#if (field_name in defaults) and defaults[field_name] == field_value:
# print '*** You can remove these lines:', field_name, field_value
@@ -405,7 +434,7 @@ class YamlInterpreter(object):
ctx['parent'] = parent2(parent)
for a in fg:
if a not in ctx:
- ctx[a]=process_val(a, defaults.get(a, False))
+ ctx[a] = process_val(a, defaults.get(a, False))
# Evaluation args
args = map(lambda x: eval(x, ctx), match.group(2).split(','))
@@ -425,19 +454,6 @@ class YamlInterpreter(object):
continue
field_value = self._eval_field(model, field_name, expression, default=False)
record_dict[field_name] = field_value
- if 'line_cr_ids' in record_dict and record_dict['line_cr_ids']:
- for item in record_dict['line_cr_ids']:
- if item[2] and 'date_original' in item[2]:
- del(item[2]['date_original'])
- if item[2] and 'date_original' in item[2]:
- del(item[2]['date_due'])
- if 'line_dr_ids' in record_dict and record_dict['line_dr_ids']:
- for item in record_dict['line_dr_ids']:
- if item[2] and 'date_original' in item[2]:
- del(item[2]['date_original'])
- if item[2] and 'date_original' in item[2]:
- del(item[2]['date_due'])
- print "ICICICICICICI", record_dict
return record_dict
def process_ref(self, node, column=None):
From 8ca8f50656740a3204e85358683f6c93671182a8 Mon Sep 17 00:00:00 2001
From: "Quentin (OpenERP)"
Date: Fri, 19 Oct 2012 13:07:20 +0200
Subject: [PATCH 149/227] [FIX] account_voucher: fixed yaml test in order to
reflect what the client are really sending as information
bzr revid: qdp-launchpad@openerp.com-20121019110720-xhkhzd04caczsz41
---
addons/account_voucher/account_voucher.py | 2 +-
addons/account_voucher/test/account_voucher.yml | 1 -
addons/account_voucher/test/sales_payment.yml | 5 ++++-
addons/account_voucher/test/sales_receipt.yml | 1 -
4 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/addons/account_voucher/account_voucher.py b/addons/account_voucher/account_voucher.py
index 648576443a0..3ae421308b5 100644
--- a/addons/account_voucher/account_voucher.py
+++ b/addons/account_voucher/account_voucher.py
@@ -1422,7 +1422,7 @@ class account_voucher_line(osv.osv):
}
def onchange_reconcile(self, cr, uid, ids, reconcile, amount, amount_unreconciled, context=None):
- vals = { 'amount': 0.0}
+ vals = {'amount': 0.0}
if reconcile:
vals = { 'amount': amount_unreconciled}
return {'value': vals}
diff --git a/addons/account_voucher/test/account_voucher.yml b/addons/account_voucher/test/account_voucher.yml
index f8e20f496e5..c9270dc695c 100644
--- a/addons/account_voucher/test/account_voucher.yml
+++ b/addons/account_voucher/test/account_voucher.yml
@@ -53,7 +53,6 @@
account_id: account.cash
amount: 1000.0
company_id: base.main_company
- currency_id: base.EUR
journal_id: account.bank_journal
name: Voucher Axelor
narration: PC Assemble SC234
diff --git a/addons/account_voucher/test/sales_payment.yml b/addons/account_voucher/test/sales_payment.yml
index 88f10e55918..b71e42add0b 100644
--- a/addons/account_voucher/test/sales_payment.yml
+++ b/addons/account_voucher/test/sales_payment.yml
@@ -45,7 +45,6 @@
'account_id': ref('account.cash'),
'amount': 450.0,
'company_id': ref('base.main_company'),
- 'currency_id': ref('base.EUR'),
'journal_id': ref('account.bank_journal'),
'partner_id': ref('base.res_partner_19'),
'period_id': ref('account.period_8'),
@@ -53,6 +52,10 @@
}
if not res['value']['line_cr_ids']:
res['value']['line_cr_ids'] = [{'type': 'cr', 'account_id': ref('account.a_recv'),}]
+ #clients aren't sending value of readonly fields in the view, and there is a good reason for that, so here the
+ #create should only use values of fields that are not readonly. That's why i'm removing some of these values
+ del(res['value']['line_cr_ids'][0]['date_original'])
+ del(res['value']['line_cr_ids'][0]['date_due'])
res['value']['line_cr_ids'][0]['amount'] = 450.0
vals['line_cr_ids'] = [(0,0,i) for i in res['value']['line_cr_ids']]
id = self.create(cr, uid, vals)
diff --git a/addons/account_voucher/test/sales_receipt.yml b/addons/account_voucher/test/sales_receipt.yml
index 7cd82eecaff..cf4bc5c46d3 100644
--- a/addons/account_voucher/test/sales_receipt.yml
+++ b/addons/account_voucher/test/sales_receipt.yml
@@ -53,7 +53,6 @@
'account_id': ref('account.cash'),
'amount': 30000.0,
'company_id': ref('base.main_company'),
- 'currency_id': ref('base.EUR'),
'journal_id': ref('account.bank_journal'),
'partner_id': ref('base.res_partner_19'),
'period_id': ref('account.period_8'),
From 054f6e79653ee525969f9cf0acbbb6f097adb0f9 Mon Sep 17 00:00:00 2001
From: "Bhumi Thakkar (Open ERP)"
Date: Fri, 19 Oct 2012 16:44:57 +0530
Subject: [PATCH 150/227] [IMP] Improve css to hide border and remove
images,add an item link from list view.
bzr revid: bth@tinyerp.com-20121019111457-altw97yqg2abp58m
---
addons/web/static/src/css/base.css | 17 +++++++++++++----
addons/web/static/src/css/base.sass | 12 +++++++++---
2 files changed, 22 insertions(+), 7 deletions(-)
diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css
index 8234c26e507..3207e119555 100644
--- a/addons/web/static/src/css/base.css
+++ b/addons/web/static/src/css/base.css
@@ -2942,11 +2942,12 @@ div.ui-widget-overlay {
display: block;
}
.openerp .oe_application .oe_form_sheet, .openerp .oe_application .oe_form_sheetbg {
- border: none;
+ border: 0px !important;
+ box-shadow: 0px 0px 0px;
}
-
- .openerp div.oe_mail_wall {
- overflow: hidden !important;
+ .openerp .oe_view_manager_current > .oe_view_manager_header {
+ border: 0px !important;
+ box-shadow: 0px 0px 0px;
}
.oe_mail .oe_mail_thread_msg .oe_mail_unread, .oe_mail_fetch_more {
@@ -2956,4 +2957,12 @@ div.ui-widget-overlay {
.openerp {
text-shadow: none;
}
+
+ .text-core .text-wrap .text-arrow {
+ background: none;
+ }
+
+ .oe_m2o_drop_down_button img, .oe_form_field_one2many_list_row_add, a.oe_m2o_cm_button, a.oe_e {
+ display: none;
+ }
}
diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass
index 128fdf8834e..5832a7e2bdb 100644
--- a/addons/web/static/src/css/base.sass
+++ b/addons/web/static/src/css/base.sass
@@ -2326,13 +2326,19 @@ div.ui-widget-overlay
display: block
.oe_application
.oe_form_sheet, .oe_form_sheetbg
- border: none
- .openerp div.oe_mail_wall
- overflow: hidden !important
+ border: 0px !important
+ box-shadow: 0px 0px 0px
+ .oe_view_manager_current > .oe_view_manager_header
+ border: 0px !important
+ box-shadow: 0px 0px 0px
.oe_mail .oe_mail_thread_msg .oe_mail_unread, .oe_mail_fetch_more
display: none
.openerp
text-shadow: none
+ .text-core .text-wrap .text-arrow
+ background: none
+ .oe_m2o_drop_down_button img, .oe_form_field_one2many_list_row_add, a.oe_m2o_cm_button, a.oe_e
+ display: none
// au BufWritePost,FileWritePost *.sass :!sass --style expanded --line-numbers > "%:p:r.css"
// vim:tabstop=4:shiftwidth=4:softtabstop=4:fdm=marker:
From b5f8932458fb35c51e26c090df0fad6f50f2acd5 Mon Sep 17 00:00:00 2001
From: "Quentin (OpenERP)"
Date: Fri, 19 Oct 2012 13:54:25 +0200
Subject: [PATCH 151/227] [FIX] hr_timesheet: fixed yaml test that as giving a
value for a related readonly field
bzr revid: qdp-launchpad@openerp.com-20121019115425-97fxn854e3icp3dm
---
addons/hr_timesheet/test/test_hr_timesheet.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/hr_timesheet/test/test_hr_timesheet.yml b/addons/hr_timesheet/test/test_hr_timesheet.yml
index cc04bed734d..59d688f183b 100644
--- a/addons/hr_timesheet/test/test_hr_timesheet.yml
+++ b/addons/hr_timesheet/test/test_hr_timesheet.yml
@@ -23,7 +23,7 @@
import time
uid = ref('base.user_demo')
new_id = self.create(cr, uid, {'emp_id': ref('hr.employee_qdp'), 'name': 'Quentin Paolino',
- 'server_date': time.strftime('%Y-%m-%d %H:%M:%S'), 'state': 'present'})
+ 'server_date': time.strftime('%Y-%m-%d %H:%M:%S')})
self.sign_in_result(cr, uid, [new_id], context)
-
I change my project "Thymbra" and I click on the "Change Work" button of this wizard
From 5b4fde2485f7c4f1b93dc1634c7929404fdcdaeb Mon Sep 17 00:00:00 2001
From: "Quentin (OpenERP)"
Date: Fri, 19 Oct 2012 15:30:50 +0200
Subject: [PATCH 152/227] [FIX] account: the readonly fields aren't send to the
server at the record creation
bzr revid: qdp-launchpad@openerp.com-20121019133050-7h8gx3beir992xlw
---
addons/account/account.py | 3 +++
addons/account/account_move_line.py | 9 ++++++---
addons/account/test/account_validate_account_move.yml | 7 ++-----
3 files changed, 11 insertions(+), 8 deletions(-)
diff --git a/addons/account/account.py b/addons/account/account.py
index fa2b10a7478..3e07f151de3 100644
--- a/addons/account/account.py
+++ b/addons/account/account.py
@@ -1431,6 +1431,9 @@ class account_move(osv.osv):
if 'line_id' in vals:
c = context.copy()
c['novalidate'] = True
+ c['period_id'] = vals['period_id']
+ c['journal_id'] = vals['journal_id']
+ c['date'] = vals['date']
result = super(account_move, self).create(cr, uid, vals, c)
self.validate(cr, uid, [result], context)
else:
diff --git a/addons/account/account_move_line.py b/addons/account/account_move_line.py
index f9388706e97..67a55d8f451 100644
--- a/addons/account/account_move_line.py
+++ b/addons/account/account_move_line.py
@@ -1234,16 +1234,16 @@ class account_move_line(osv.osv):
vals['company_id'] = company_id[0]
if ('account_id' in vals) and not account_obj.read(cr, uid, vals['account_id'], ['active'])['active']:
raise osv.except_osv(_('Bad Account!'), _('You cannot use an inactive account.'))
- if 'journal_id' in vals:
+ if 'journal_id' in vals and vals['journal_id']:
context['journal_id'] = vals['journal_id']
- if 'period_id' in vals:
+ if 'period_id' in vals and vals['period_id']:
context['period_id'] = vals['period_id']
if ('journal_id' not in context) and ('move_id' in vals) and vals['move_id']:
m = move_obj.browse(cr, uid, vals['move_id'])
context['journal_id'] = m.journal_id.id
context['period_id'] = m.period_id.id
#we need to treat the case where a value is given in the context for period_id as a string
- if 'period_id' not in context or not isinstance(context.get('period_id', ''), (int, long)):
+ if 'period_id' in context and not isinstance(context.get('period_id', ''), (int, long)):
period_candidate_ids = self.pool.get('account.period').name_search(cr, uid, name=context.get('period_id',''))
if len(period_candidate_ids) != 1:
raise osv.except_osv(_('Error!'), _('No period found or more than one period found for the given date.'))
@@ -1253,6 +1253,9 @@ class account_move_line(osv.osv):
self._update_journal_check(cr, uid, context['journal_id'], context['period_id'], context)
move_id = vals.get('move_id', False)
journal = journal_obj.browse(cr, uid, context['journal_id'], context=context)
+ vals['journal_id'] = vals.get('journal_id') or context.get('journal_id')
+ vals['period_id'] = vals.get('period_id') or context.get('period_id')
+ vals['date'] = vals.get('date') or context.get('date')
if not move_id:
if journal.centralisation:
#Check for centralisation
diff --git a/addons/account/test/account_validate_account_move.yml b/addons/account/test/account_validate_account_move.yml
index 65ae2877125..df58da6dfea 100644
--- a/addons/account/test/account_validate_account_move.yml
+++ b/addons/account/test/account_validate_account_move.yml
@@ -11,21 +11,18 @@
-
!record {model: account.move, id: account_move_0}:
date: !eval time.strftime('%Y-%m-%d')
+ period_id: account.period_6
journal_id: account.bank_journal
line_id:
- account_id: account.cash
amount_currency: 0.0
credit: 2000.0
- date: !eval time.strftime('%Y-%m-%d')
debit: 0.0
- journal_id: account.bank_journal
name: Basic Computer
partner_id: base.res_partner_12
- period_id: account.period_6
ref: '2011010'
tax_amount: 0.0
name: /
- period_id: account.period_6
ref: '2011010'
state: draft
-
@@ -110,4 +107,4 @@
partial_reconcile = self.trans_rec_reconcile_partial_reconcile(cr, uid, [ref('account_move_line_reconcile0')], {'lang': u'en_US',
'active_model': 'account.move.line', 'active_ids': ids, 'tz': False, 'active_id': ids[0]})
move_line = move_line_obj.browse(cr, uid, ids)
- assert move_line[0].reconcile_partial_id, "Partial reconcilation is not done"
\ No newline at end of file
+ assert move_line[0].reconcile_partial_id, "Partial reconcilation is not done"
From 3407d17448892ad7d8b93b060d458c5532daf75a Mon Sep 17 00:00:00 2001
From: "Bhumi Thakkar (Open ERP)"
Date: Mon, 22 Oct 2012 10:43:11 +0530
Subject: [PATCH 153/227] [IMP] hide date img.
bzr revid: bth@tinyerp.com-20121022051311-9kcqf7x00ouvkiuj
---
addons/web/static/src/css/base.css | 4 ++++
addons/web/static/src/css/base.sass | 3 +++
2 files changed, 7 insertions(+)
diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css
index 3207e119555..a1183109785 100644
--- a/addons/web/static/src/css/base.css
+++ b/addons/web/static/src/css/base.css
@@ -2965,4 +2965,8 @@ div.ui-widget-overlay {
.oe_m2o_drop_down_button img, .oe_form_field_one2many_list_row_add, a.oe_m2o_cm_button, a.oe_e {
display: none;
}
+
+ .openerp .oe_form .oe_form_field_date img, .openerp .oe_form .oe_form_field_datetime img {
+ display: none;
+ }
}
diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass
index 5832a7e2bdb..da71e280b33 100644
--- a/addons/web/static/src/css/base.sass
+++ b/addons/web/static/src/css/base.sass
@@ -2340,5 +2340,8 @@ div.ui-widget-overlay
background: none
.oe_m2o_drop_down_button img, .oe_form_field_one2many_list_row_add, a.oe_m2o_cm_button, a.oe_e
display: none
+ .openerp .oe_form
+ .oe_form_field_date img, .oe_form_field_datetime img
+ display: none
// au BufWritePost,FileWritePost *.sass :!sass --style expanded --line-numbers > "%:p:r.css"
// vim:tabstop=4:shiftwidth=4:softtabstop=4:fdm=marker:
From b8ba7b389c1e477e9b2970099390e42428a82a42 Mon Sep 17 00:00:00 2001
From: Fabien Meghazi
Date: Mon, 22 Oct 2012 10:35:38 +0200
Subject: [PATCH 154/227] [IMP] Improved state in diagram
bzr revid: fme@openerp.com-20121022083538-ua6fq20x5qkdwcwy
---
addons/web_diagram/static/src/js/diagram.js | 20 ++++++++++++--------
1 file changed, 12 insertions(+), 8 deletions(-)
diff --git a/addons/web_diagram/static/src/js/diagram.js b/addons/web_diagram/static/src/js/diagram.js
index 9617bdbafb3..2e0e5881378 100644
--- a/addons/web_diagram/static/src/js/diagram.js
+++ b/addons/web_diagram/static/src/js/diagram.js
@@ -113,20 +113,24 @@ instance.web.DiagramView = instance.web.View.extend({
on_diagram_loaded: function(record) {
var id_record = record['id'];
- if(id_record) {
+ if (id_record) {
this.id = id_record;
this.get_diagram_info();
- this.do_push_state({id:record.id});
+ this.do_push_state({id: id_record});
+ } else {
+ this.do_push_state({});
}
},
do_load_state: function(state, warm) {
- if (state && !this.dataset.get_id_index(state.id)) {
- this.dataset.ids.push(state.id);
- }
- this.dataset.select_id(state.id);
- if (warm) {
- this.do_show();
+ if (state && state.id) {
+ if (!this.dataset.get_id_index(state.id)) {
+ this.dataset.ids.push(state.id);
+ }
+ this.dataset.select_id(state.id);
+ if (warm) {
+ this.do_show();
+ }
}
},
From c1b751d26eebb30935ce6a5ed5d55456b32e7c89 Mon Sep 17 00:00:00 2001
From: "Bhumi Thakkar (Open ERP)"
Date: Mon, 22 Oct 2012 14:57:41 +0530
Subject: [PATCH 155/227] [IMP] Hide delete buttons.
bzr revid: bth@tinyerp.com-20121022092741-yhs2wh3ax21s9yi3
---
addons/web_kanban/static/src/css/kanban.css | 4 ++++
addons/web_kanban/static/src/css/kanban.sass | 2 ++
2 files changed, 6 insertions(+)
diff --git a/addons/web_kanban/static/src/css/kanban.css b/addons/web_kanban/static/src/css/kanban.css
index c706bdcd063..bf7d61175ed 100644
--- a/addons/web_kanban/static/src/css/kanban.css
+++ b/addons/web_kanban/static/src/css/kanban.css
@@ -614,4 +614,8 @@
.oe_kanban_groups button {
display: none;
}
+
+ .openerp .oe_kanban_view.oe_kanban_ungrouped .oe_kanban_column .oe_kanban_record > div > a {
+ display: none;
+ }
}
diff --git a/addons/web_kanban/static/src/css/kanban.sass b/addons/web_kanban/static/src/css/kanban.sass
index 56d457cee19..3f64ae45a0d 100644
--- a/addons/web_kanban/static/src/css/kanban.sass
+++ b/addons/web_kanban/static/src/css/kanban.sass
@@ -505,6 +505,8 @@
@media print
.oe_kanban_groups button
display: none
+ .openerp .oe_kanban_view.oe_kanban_ungrouped .oe_kanban_column .oe_kanban_record > div > a
+ display: none
// au BufWritePost,FileWritePost *.sass :!sass --style expanded --line-numbers > "%:p:r.css"
// vim:tabstop=4:shiftwidth=4:softtabstop=4:fdm=marker:
From d6f262da378803224902ab852364c69bb6c49529 Mon Sep 17 00:00:00 2001
From: Xavier Morel
Date: Mon, 22 Oct 2012 12:08:00 +0200
Subject: [PATCH 156/227] [FIX] methods renamed in web client but not fixed in
addons
bzr revid: xmo@openerp.com-20121022100800-yft9a5itqgb2ohhy
---
addons/base_import/static/src/js/import.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/base_import/static/src/js/import.js b/addons/base_import/static/src/js/import.js
index 043630afc48..407d38dacd7 100644
--- a/addons/base_import/static/src/js/import.js
+++ b/addons/base_import/static/src/js/import.js
@@ -38,7 +38,7 @@ openerp.base_import = function (instance) {
// if true, the 'Import', 'Export', etc... buttons will be shown
instance.web.ListView.prototype.defaults.import_enabled = true;
instance.web.ListView.include({
- on_loaded: function () {
+ load_list: function () {
var self = this;
var add_button = false;
if (!this.$buttons) {
From 8d40893e6fa216873b867cf1734cacdfe049088e Mon Sep 17 00:00:00 2001
From: "Quentin (OpenERP)"
Date: Mon, 22 Oct 2012 12:32:16 +0200
Subject: [PATCH 157/227] [IMP] account: added field supplier invoice number,
as suggested by Normunds Vilcans
lp bug: https://launchpad.net/bugs/814128 fixed
bzr revid: qdp-launchpad@openerp.com-20121022103216-9rnvr84s62ugazny
---
addons/account/account_invoice.py | 1 +
addons/account/account_invoice_view.xml | 13 ++++++++-----
addons/base_crypt/crypt.py | 17 ++++++++++-------
addons/event_sale/event_sale.py | 2 +-
4 files changed, 20 insertions(+), 13 deletions(-)
diff --git a/addons/account/account_invoice.py b/addons/account/account_invoice.py
index 57f16473b82..0508a7cadfe 100644
--- a/addons/account/account_invoice.py
+++ b/addons/account/account_invoice.py
@@ -185,6 +185,7 @@ class account_invoice(osv.osv):
_columns = {
'name': fields.char('Description', size=64, select=True, readonly=True, states={'draft':[('readonly',False)]}),
'origin': fields.char('Source Document', size=64, help="Reference of the document that produced this invoice.", readonly=True, states={'draft':[('readonly',False)]}),
+ 'supplier_invoice_number': fields.char('Supplier Invoice Number', size=64, help="The reference of this invoice as provided by the supplier.", readonly=True, states={'draft':[('readonly',False)]}),
'type': fields.selection([
('out_invoice','Customer Invoice'),
('in_invoice','Supplier Invoice'),
diff --git a/addons/account/account_invoice_view.xml b/addons/account/account_invoice_view.xml
index 8516fcd96ae..ee5a911d933 100644
--- a/addons/account/account_invoice_view.xml
+++ b/addons/account/account_invoice_view.xml
@@ -170,12 +170,15 @@
context="{'default_customer': 0, 'search_default_supplier': 1, 'default_supplier': 1}"
domain="[('supplier', '=', True)]"/>
-
-
-
@@ -449,7 +452,7 @@
account.invoice
-
+
diff --git a/addons/base_crypt/crypt.py b/addons/base_crypt/crypt.py
index 81a60a5dd5f..3accc2740e9 100644
--- a/addons/base_crypt/crypt.py
+++ b/addons/base_crypt/crypt.py
@@ -140,15 +140,18 @@ class users(osv.osv):
# Add handlers for 'input_pw' field.
def set_pw(self, cr, uid, id, name, value, args, context):
- if not value:
- raise osv.except_osv(_('Error!'), _("You have to specify a password."))
+ if value:
+ obj = pooler.get_pool(cr.dbname).get('res.users')
+ if not hasattr(obj, "_salt_cache"):
+ obj._salt_cache = {}
- obj = pooler.get_pool(cr.dbname).get('res.users')
- if not hasattr(obj, "_salt_cache"):
- obj._salt_cache = {}
+ salt = obj._salt_cache[id] = gen_salt()
+ encrypted = encrypt_md5(value, salt)
- salt = obj._salt_cache[id] = gen_salt()
- encrypted = encrypt_md5(value, salt)
+ else:
+ #setting a password to '' is allowed. It can be used to inactivate the classic log-in of the user
+ #while the access can still be granted by another login method (openid...)
+ encrypted = ''
cr.execute('update res_users set password=%s where id=%s',
(encrypted.encode('utf-8'), int(id)))
cr.commit()
diff --git a/addons/event_sale/event_sale.py b/addons/event_sale/event_sale.py
index f37dea3f075..2dd40a7c285 100644
--- a/addons/event_sale/event_sale.py
+++ b/addons/event_sale/event_sale.py
@@ -40,7 +40,7 @@ class sale_order_line(osv.osv):
'event_id': fields.many2one('event.event', 'Event', help="Choose an event and it will automatically create a registration for this event."),
#those 2 fields are used for dynamic domains and filled by onchange
'event_type_id': fields.related('event_type_id', type='many2one', relation="event.type", string="Event Type"),
- 'event_ok': fields.related('event_ok', string='event_ok', type='boolean'),
+ 'event_ok': fields.related('product_id', 'event_ok', string='event_ok', type='boolean'),
}
def product_id_change(self, cr, uid, ids,
From 8a3a92bbfc9a432311b0d2399fa043daab1adcf9 Mon Sep 17 00:00:00 2001
From: Xavier Morel
Date: Mon, 22 Oct 2012 12:39:35 +0200
Subject: [PATCH 158/227] [IMP] readonly sortable o2m
The making of the column invisible would happen after the header was
rendered (?), and the header would not be re-rendered afterwards. So
there would be a missing chunk of table. Make the cells invisible
instead. It's all going to be changed looks-wise anyway so meh.
bzr revid: xmo@openerp.com-20121022103935-78bm40gfotpt1ds6
---
addons/web/static/src/js/view_form.js | 14 ++------------
1 file changed, 2 insertions(+), 12 deletions(-)
diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js
index bc171ef1d6e..c2514e4a195 100644
--- a/addons/web/static/src/js/view_form.js
+++ b/addons/web/static/src/js/view_form.js
@@ -3351,23 +3351,13 @@ instance.web.form.FieldOne2Many = instance.web.form.AbstractField.extend({
controller.on('edit:before', self, function (e) {
e.cancel = true;
});
- var has_handle = _(controller.columns).find(function (column) {
+ _(controller.columns).find(function (column) {
if (!column instanceof instance.web.list.Handle) {
return false;
}
- column.modifiers.tree_invisible = true;
- column.invisible = '1';
- // remove from visibles
- controller.visible_columns.splice(
- controller.visible_columns.indexOf(column),
- 1);
+ column.modifiers.invisible = true;
return true;
});
- if (has_handle) {
- // recompute aggregates
- controller.aggregate_columns =
- _(controller.visible_columns).invoke('to_aggregate');
- }
}
} else if (view_type === "form") {
if (self.get("effective_readonly")) {
From 0244001069c4ed96a93c3820440b61c1e0188460 Mon Sep 17 00:00:00 2001
From: niv-openerp
Date: Mon, 22 Oct 2012 12:41:44 +0200
Subject: [PATCH 159/227] [FIX] fixed another bug in reconciliation javascript
part
bzr revid: nicolas.vanhoren@openerp.com-20121022104144-6xsiekhp2mflkgs5
---
addons/account/static/src/js/account_move_reconciliation.js | 1 -
1 file changed, 1 deletion(-)
diff --git a/addons/account/static/src/js/account_move_reconciliation.js b/addons/account/static/src/js/account_move_reconciliation.js
index bc758179636..8e72e24eb22 100644
--- a/addons/account/static/src/js/account_move_reconciliation.js
+++ b/addons/account/static/src/js/account_move_reconciliation.js
@@ -102,7 +102,6 @@ openerp.account = function (instance) {
action_id: result[1],
context: additional_context
}).then(function (result) {
- result = result.result;
result.context = _.extend(result.context || {}, additional_context);
result.flags = result.flags || {};
result.flags.new_window = true;
From 50e0b17662f2da7dd23bed9b482849d9d52a0002 Mon Sep 17 00:00:00 2001
From: Antony Lesuisse
Date: Mon, 22 Oct 2012 12:45:29 +0200
Subject: [PATCH 160/227] [FIX] pos closing
bzr revid: al@openerp.com-20121022104529-9wq22t76fj6zqxu6
---
addons/point_of_sale/static/src/js/widgets.js | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/addons/point_of_sale/static/src/js/widgets.js b/addons/point_of_sale/static/src/js/widgets.js
index 47a527a010d..3f0e439cfba 100644
--- a/addons/point_of_sale/static/src/js/widgets.js
+++ b/addons/point_of_sale/static/src/js/widgets.js
@@ -1055,8 +1055,7 @@ function openerp_pos_widgets(instance, module){ //module is instance.point_of_sa
this.pos.barcode_reader.disconnect();
return new instance.web.Model("ir.model.data").get_func("search_read")([['name', '=', 'action_client_pos_menu']], ['res_id']).pipe(
_.bind(function(res) {
- return this.rpc('/web/action/load', {'action_id': res[0]['res_id']}).pipe(_.bind(function(result) {
- var action = result.result;
+ return this.rpc('/web/action/load', {'action_id': res[0]['res_id']}).pipe(_.bind(function(action) {
action.context = _.extend(action.context || {}, {'cancel_action': {type: 'ir.actions.client', tag: 'reload'}});
//self.destroy();
this.do_action(action);
From 815100e53593652ae1be68439b08f6db207266e9 Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Mon, 22 Oct 2012 13:37:00 +0200
Subject: [PATCH 161/227] [IMP] res.partner ir.rule: made the rule similar to
the one for res.partner.
bzr revid: vmt@openerp.com-20121022113700-hn65uabpd0ttuxyt
---
openerp/addons/base/security/base_security.xml | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/openerp/addons/base/security/base_security.xml b/openerp/addons/base/security/base_security.xml
index b7d4fb0e9ee..02323a635df 100644
--- a/openerp/addons/base/security/base_security.xml
+++ b/openerp/addons/base/security/base_security.xml
@@ -87,7 +87,10 @@
Partner bank company rule
- ['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]
+
+ ['|','|',('company_id.child_ids','child_of',[user.company_id.id]),('company_id','child_of',[user.company_id.id]),('company_id','=',False)]
From e6e4e8d4c102f477c95415154a1411be54126f2a Mon Sep 17 00:00:00 2001
From: "Quentin (OpenERP)"
Date: Mon, 22 Oct 2012 14:31:00 +0200
Subject: [PATCH 162/227] [REV] osv/orm: revert of a previous patch that was
unifying the behavior for fields.related and fields.function at creation time
because it's a bit dangereous to treat it right now, and may need the add of
a new field attribute. "I'll be back", said the patch
bzr revid: qdp-launchpad@openerp.com-20121022123100-wwr7lnmpqebddxon
---
openerp/osv/orm.py | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/openerp/osv/orm.py b/openerp/osv/orm.py
index 1db2feeca88..4c3330c97b7 100644
--- a/openerp/osv/orm.py
+++ b/openerp/osv/orm.py
@@ -4359,10 +4359,20 @@ class BaseModel(object):
upd2.append(self._columns[field]._symbol_set[1](vals[field]))
#for the function fields that receive a value, we set them directly in the database
#(they may be required), but we also need to trigger the _fct_inv()
- if (hasattr(self._columns[field], '_fnct_inv')):
+ if (hasattr(self._columns[field], '_fnct_inv')) and not isinstance(self._columns[field], fields.related):
+ #TODO: this way to special case the related fields is really creepy but it shouldn't be changed at
+ #one week of the release candidate. It seems the only good way to handle correctly this is to add an
+ #attribute to make a field `really readonly´ and thus totally ignored by the create()... otherwise
+ #if, for example, the related has a default value (for usability) then the fct_inv is called and it
+ #may raise some access rights error. Changing this is a too big change for now, and is thus postponed
+ #after the release but, definitively, the behavior shouldn't be different for related and function
+ #fields.
upd_todo.append(field)
else:
- upd_todo.append(field)
+ #TODO: this `if´ statement should be removed because there is no good reason to special case the fields
+ #related. See the above TODO comment for further explanations.
+ if not isinstance(self._columns[field], fields.related):
+ upd_todo.append(field)
if field in self._columns \
and hasattr(self._columns[field], 'selection') \
and vals[field]:
From b631b13742aa68465f6090368ad9fd4e7f4bfad3 Mon Sep 17 00:00:00 2001
From: Fabien Meghazi
Date: Mon, 22 Oct 2012 14:41:35 +0200
Subject: [PATCH 163/227] [FIX] Forgot two occurencies during do_action()
refactoring
refactoring was done in Revision: 3261 revid:fme@openerp.com-20121017145548-oc9s6oadhwzbr78m
bzr revid: fme@openerp.com-20121022124135-ifaj0mm1vd2zjxyo
---
addons/web/static/src/js/views.js | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js
index d4b676f2c7a..2a5e1c4587e 100644
--- a/addons/web/static/src/js/views.js
+++ b/addons/web/static/src/js/views.js
@@ -1068,9 +1068,11 @@ instance.web.Sidebar = instance.web.Widget.extend({
additional_context);
result.flags = result.flags || {};
result.flags.new_window = true;
- self.do_action(result, function () {
- // reload view
- self.getParent().reload();
+ self.do_action(result, {
+ on_close: function() {
+ // reload view
+ self.getParent().reload();
+ },
});
});
});
@@ -1216,7 +1218,9 @@ instance.web.View = instance.web.Widget.extend({
/* niv: previously we were overriding once more with action_data.context,
* I assumed this was not a correct behavior and removed it
*/
- return self.do_action(action, result_handler);
+ return self.do_action(action, {
+ on_close: result_handler,
+ });
}, null);
} else {
return result_handler();
From c6eaa8beb8518abef184d84d074cec882980b8ca Mon Sep 17 00:00:00 2001
From: niv-openerp
Date: Mon, 22 Oct 2012 14:49:35 +0200
Subject: [PATCH 164/227] [FIX] problem in read_group, caused an exception
"cannot read 'lang' in undefined" in a lot of views
bzr revid: nicolas.vanhoren@openerp.com-20121022124935-mxfzx2wg431bqhm9
---
addons/web/static/src/js/data.js | 2 ++
1 file changed, 2 insertions(+)
diff --git a/addons/web/static/src/js/data.js b/addons/web/static/src/js/data.js
index 0bc2848fe0b..e279ade6fb3 100644
--- a/addons/web/static/src/js/data.js
+++ b/addons/web/static/src/js/data.js
@@ -135,6 +135,8 @@ instance.web.Query = instance.web.Class.extend({
}).pipe(function (results) {
return _(results).map(function (result) {
// FIX: querygroup initialization
+ result.__context = result.__context || {};
+ result.__context.group_by = result.__context.group_by || [];
_.defaults(result.__context, ctx);
return new instance.web.QueryGroup(
self._model.name, grouping[0], result);
From 955ebc8c6715d756d9873715be6ddb59406553c6 Mon Sep 17 00:00:00 2001
From: Xavier Morel
Date: Mon, 22 Oct 2012 15:16:24 +0200
Subject: [PATCH 165/227] [FIX] reorderable listview clone/placeholder
positioning
In some cases (tables?) jquery-ui sortable apparently breaks down if
any parent of the element being positioned (and the generated helper
element) is in position: relative.
Remove all of the position:relative in the way, they seem to not be
used anymore (including the one in jquery-ui, testing in IE9 doesn't
seem to expose any bug and jquery-ui references one, might have been
an issue in IE<=8 which was fixed since).
Maybe an assertion should be added to the code, which would call
#getComputedStyle() on all the #parents() of the element being made
sortable and error out if one of them has
#getPropertyValue('position') == 'relative'?
bzr revid: xmo@openerp.com-20121022131624-n8a43vgl8k4gsqk9
---
addons/web/static/src/css/base.css | 7 +++----
addons/web/static/src/css/base.sass | 6 ++++--
2 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css
index e4b8885b1a1..eba41b23776 100644
--- a/addons/web/static/src/css/base.css
+++ b/addons/web/static/src/css/base.css
@@ -27,7 +27,6 @@
}
.openerp.openerp_webclient_container {
height: 100%;
- position: relative;
}
.text-tag .text-button {
@@ -198,6 +197,9 @@
.openerp .oe_bounce_container {
display: inline-block;
}
+.openerp .ui-tabs {
+ position: static;
+}
.openerp.ui-dialog {
display: none;
padding: 6px;
@@ -2621,9 +2623,6 @@
.openerp .oe_list_buttons.oe_editing .oe_alternative {
visibility: visible;
}
-.openerp .oe_list {
- position: relative;
-}
.openerp .oe_list .oe_form .oe_form_nosheet {
margin: 0;
padding: 0;
diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass
index a128fcec24b..5140f3ceb3e 100644
--- a/addons/web/static/src/css/base.sass
+++ b/addons/web/static/src/css/base.sass
@@ -144,7 +144,6 @@ $sheet-max-width: 860px
.openerp.openerp_webclient_container
height: 100%
- position: relative
// jQueryUI css bug fixing
.text-tag .text-button
@@ -253,6 +252,10 @@ $sheet-max-width: 860px
.oe_bounce_container
display: inline-block
+ // bug noted in jquery ui CSS doesn't seem to occur in IE9,
+ // so remove position:relative
+ .ui-tabs
+ position: static
// Modal box
&.ui-dialog
display: none
@@ -2078,7 +2081,6 @@ $sheet-max-width: 860px
visibility: visible
.oe_list
- position: relative
.oe_form
.oe_form_nosheet
margin: 0 // FIXME: either class or border should not be by default
From a1364bde2098b94ace57d640aff1421eddd8ca65 Mon Sep 17 00:00:00 2001
From: Fabien Meghazi
Date: Mon, 22 Oct 2012 16:24:59 +0200
Subject: [PATCH 166/227] [FIX] m2m kanban use it's own value as is in order to
fill dataset.ids
bzr revid: fme@openerp.com-20121022142459-9so19ypfwhxwhuc3
---
addons/web/static/src/js/view_form.js | 1 -
1 file changed, 1 deletion(-)
diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js
index c2514e4a195..87673865ee8 100644
--- a/addons/web/static/src/js/view_form.js
+++ b/addons/web/static/src/js/view_form.js
@@ -4187,7 +4187,6 @@ instance.web.form.FieldMany2ManyKanban = instance.web.form.AbstractField.extend(
},
render_value: function() {
var self = this;
- this.dataset.set_ids(this.get("value"));
this.is_loaded = this.is_loaded.pipe(function() {
return self.kanban_view.do_search(self.build_domain(), self.dataset.get_context(), []);
});
From d38b276168c2d0597ce87e6756c846a47bd9f3fb Mon Sep 17 00:00:00 2001
From: Stephane Wirtel
Date: Mon, 22 Oct 2012 16:35:22 +0200
Subject: [PATCH 167/227] [FIX] mail: use the right web.base.url
bzr revid: stw@openerp.com-20121022143522-sv07qt5txqjwim6a
---
addons/mail/update.py | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/addons/mail/update.py b/addons/mail/update.py
index 9e35391bf52..f571a59440d 100644
--- a/addons/mail/update.py
+++ b/addons/mail/update.py
@@ -22,7 +22,7 @@ check the logs to see if a message we just received was already logged.
"""
_PREVIOUS_LOG_CHECK = datetime.timedelta(days=365)
-def get_sys_logs(cr, uid):
+def get_sys_logs(self, cr, uid):
"""
Utility method to send a publisher warranty get logs messages.
"""
@@ -42,7 +42,7 @@ def get_sys_logs(cr, uid):
nbr_active_share_users = pool.get("res.users").search(cr, uid, [("share", "=", True), ("date", ">=", limit_date_str)], count=True)
user = pool.get("res.users").browse(cr, uid, uid)
- web_base_url = safe_eval(self.pool.get('ir.config_parameter').get_param(cr, uid, 'web.base.url', 'False'))
+ web_base_url = self.pool.get('ir.config_parameter').get_param(cr, uid, 'web.base.url', 'False')
msg = {
"dbuuid": dbuuid,
"nbr_users": nbr_users,
@@ -62,6 +62,7 @@ def get_sys_logs(cr, uid):
arguments_raw = urllib.urlencode(arguments)
url = config.get("publisher_warranty_url")
+
uo = urllib2.urlopen(url, arguments_raw, **add_arg)
result = {}
try:
@@ -84,8 +85,8 @@ class publisher_warranty_contract(osv.osv):
"""
try:
try:
- result = get_sys_logs(cr, uid)
- except Exception:
+ result = get_sys_logs(self, cr, uid)
+ except Exception, ex:
if cron_mode: # we don't want to see any stack trace in cron
return False
_logger.debug("Exception while sending a get logs messages", exc_info=1)
From 1da06f3bfe14be5bece5116bdd88b7077cf01604 Mon Sep 17 00:00:00 2001
From: niv-openerp
Date: Mon, 22 Oct 2012 16:40:21 +0200
Subject: [PATCH 168/227] [FIX] better fix for previous m2m kanban problem
bzr revid: nicolas.vanhoren@openerp.com-20121022144021-h1oqgb0d0h6aepfl
---
addons/web/static/src/js/view_form.js | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js
index 87673865ee8..dc6c4d0f0b3 100644
--- a/addons/web/static/src/js/view_form.js
+++ b/addons/web/static/src/js/view_form.js
@@ -4160,6 +4160,9 @@ instance.web.form.FieldMany2ManyKanban = instance.web.form.AbstractField.extend(
}
this._super(value_);
},
+ get_value: function() {
+ return [commands.replace_with(this.get('value'))];
+ },
load_view: function() {
var self = this;
this.kanban_view = new instance.web.form.Many2ManyKanbanView(this, this.dataset, false, {
@@ -4187,12 +4190,13 @@ instance.web.form.FieldMany2ManyKanban = instance.web.form.AbstractField.extend(
},
render_value: function() {
var self = this;
+ this.dataset.set_ids(this.get("value"));
this.is_loaded = this.is_loaded.pipe(function() {
return self.kanban_view.do_search(self.build_domain(), self.dataset.get_context(), []);
});
},
dataset_changed: function() {
- this.set({'value': [commands.replace_with(this.dataset.ids)]});
+ this.set({'value': this.dataset.ids});
},
open_popup: function(type, unused) {
if (type !== "form")
From db54c70650f0cedc703bb48cde521baa0da303c8 Mon Sep 17 00:00:00 2001
From: niv-openerp
Date: Mon, 22 Oct 2012 17:22:57 +0200
Subject: [PATCH 169/227] [FIX] resolved problem with buttons in views, also
removed default Close button in wizards
bzr revid: nicolas.vanhoren@openerp.com-20121022152257-yxcz0j73b4azeqr1
---
addons/web/static/src/js/view_form.js | 1 -
addons/web/static/src/js/views.js | 1 -
2 files changed, 2 deletions(-)
diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js
index dc6c4d0f0b3..506e0f199fe 100644
--- a/addons/web/static/src/js/view_form.js
+++ b/addons/web/static/src/js/view_form.js
@@ -168,7 +168,6 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
this.$buttons = $(QWeb.render("FormView.buttons", {'widget':self}));
if (this.options.$buttons) {
- this.options.$buttons.children().remove();
this.$buttons.appendTo(this.options.$buttons);
} else {
this.$el.find('.oe_form_buttons').replaceWith(this.$buttons);
diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js
index 2a5e1c4587e..103ad7a2661 100644
--- a/addons/web/static/src/js/views.js
+++ b/addons/web/static/src/js/views.js
@@ -300,7 +300,6 @@ instance.web.ActionManager = instance.web.Widget.extend({
this.dialog_widget.destroy();
if (this.dialog === null || this.dialog.isDestroyed()) {
this.dialog = new instance.web.Dialog(this, {
- buttons: {"Close": function() {$(this).dialog("close")}},
dialogClass: executor.klass,
});
this.dialog.on("closing", null, options.on_close);
From 6972b3402946b5641a073a1405995ac7c76a9199 Mon Sep 17 00:00:00 2001
From: Xavier Morel
Date: Mon, 22 Oct 2012 18:01:34 +0200
Subject: [PATCH 170/227] [REM] stuff in list view, may or may not still work.
It's all fme's fault anyway
FME MA TUER
bzr revid: xmo@openerp.com-20121022160134-yaze6n43h98c193t
---
addons/web/static/src/js/view_list.js | 41 ++++++---------------------
addons/web/static/src/js/views.js | 4 +--
2 files changed, 11 insertions(+), 34 deletions(-)
diff --git a/addons/web/static/src/js/view_list.js b/addons/web/static/src/js/view_list.js
index 29bc81ea9ec..fe577c91840 100644
--- a/addons/web/static/src/js/view_list.js
+++ b/addons/web/static/src/js/view_list.js
@@ -145,7 +145,7 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
*/
start: function() {
this.$el.addClass('oe_list');
- return this.reload_view(null, null, true);
+ return this.start();
},
/**
* Returns the style for the provided record in the current view (from the
@@ -219,7 +219,7 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
* @param {Object} data.fields_view.arch current list view descriptor
* @param {Boolean} grouped Is the list view grouped
*/
- load_list: function(data, grouped) {
+ load_list: function(data) {
var self = this;
this.fields_view = data;
this.name = "" + this.fields_view.arch.attrs.string;
@@ -245,7 +245,7 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
}).value();
}
- this.setup_columns(this.fields_view.fields, grouped);
+ this.setup_columns(this.fields_view.fields, this.grouped);
this.$el.html(QWeb.render(this._template, this));
this.$el.addClass(this.fields_view.arch.attrs['class']);
@@ -282,7 +282,7 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
// Add button
if (!this.$buttons) {
- this.$buttons = $(QWeb.render("ListView.buttons", {'widget':self}));
+ this.$buttons = $(QWeb.render("ListView.buttons", {'widget':this}));
if (this.options.$buttons) {
this.$buttons.appendTo(this.options.$buttons);
} else {
@@ -290,12 +290,12 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
}
this.$buttons.find('.oe_list_add')
.click(this.proxy('do_add_record'))
- .prop('disabled', grouped);
+ .prop('disabled', this.grouped);
}
// Pager
if (!this.$pager) {
- this.$pager = $(QWeb.render("ListView.pager", {'widget':self}));
+ this.$pager = $(QWeb.render("ListView.pager", {'widget':this}));
if (this.options.$buttons) {
this.$pager.appendTo(this.options.$pager);
} else {
@@ -359,7 +359,7 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
this.sidebar.add_toolbar(this.fields_view.toolbar);
this.sidebar.$el.hide();
}
- this.trigger('list_view_loaded', data, grouped);
+ this.trigger('list_view_loaded', data, this.grouped);
},
/**
* Configures the ListView pager based on the provided dataset's information
@@ -461,29 +461,6 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
}
this._super();
},
- /**
- * Reloads the list view based on the current settings (dataset & al)
- *
- * @param {Boolean} [grouped] Should the list be displayed grouped
- * @param {Object} [context] context to send the server while loading the view
- */
- reload_view: function (grouped, context, initial) {
- var self = this;
- var callback = function (field_view_get) {
- self.load_list(field_view_get, grouped);
- };
- if (this.embedded_view) {
- return $.Deferred().then(callback).resolve(this.embedded_view);
- } else {
- return this.rpc('/web/view/load', {
- model: this.model,
- view_id: this.view_id,
- view_type: "tree",
- context: this.dataset.get_context(context),
- toolbar: !!this.options.$sidebar
- }).then(callback);
- }
- },
/**
* re-renders the content of the list view
*
@@ -564,9 +541,9 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
group_by = null;
}
this.no_leaf = !!context['group_by_no_leaf'];
+ this.grouped = !!group_by;
- this.reload_view(!!group_by, context).then(
- this.proxy('reload_content'));
+ this.load_view(context).then(this.proxy('reload_content'));
},
/**
* Handles the signal to delete lines from the records list
diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js
index 103ad7a2661..f110b368196 100644
--- a/addons/web/static/src/js/views.js
+++ b/addons/web/static/src/js/views.js
@@ -1142,7 +1142,7 @@ instance.web.View = instance.web.Widget.extend({
start: function () {
return this.load_view();
},
- load_view: function() {
+ load_view: function(context) {
var self = this;
if (this.embedded_view) {
var def = $.Deferred();
@@ -1151,7 +1151,7 @@ instance.web.View = instance.web.Widget.extend({
self.trigger('view_loaded', r);
});
} else {
- var context = new instance.web.CompoundContext(this.dataset.get_context());
+ var context = this.dataset.get_context(context || {});
if (! this.view_type)
console.warn("view_type is not defined", this);
return this.rpc("/web/view/load", {
From 3b5b24b72e7a695898ef51f431c741a4e104e96c Mon Sep 17 00:00:00 2001
From: niv-openerp
Date: Mon, 22 Oct 2012 18:14:26 +0200
Subject: [PATCH 171/227] [FIX] m2o switches correctly its button
bzr revid: nicolas.vanhoren@openerp.com-20121022161426-1oqwa8e3n6kh7pba
---
addons/web/static/src/js/view_form.js | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js
index 506e0f199fe..850a334c40b 100644
--- a/addons/web/static/src/js/view_form.js
+++ b/addons/web/static/src/js/view_form.js
@@ -3119,8 +3119,10 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instanc
if (!this.get("effective_readonly")) {
this.$input.val(str.split("\n")[0]);
this.current_display = this.$input.val();
- if(this.is_false()){
+ if (this.is_false()) {
this.$('.oe_m2o_cm_button').css({'display':'none'});
+ } else {
+ this.$('.oe_m2o_cm_button').css({'display':'inline'});
}
} else {
var lines = _.escape(str).split("\n");
From 8e7ec0974960455d8fec16d92b8e4e93ea2aaa0e Mon Sep 17 00:00:00 2001
From: niv-openerp
Date: Mon, 22 Oct 2012 18:15:16 +0200
Subject: [PATCH 172/227] m
bzr revid: nicolas.vanhoren@openerp.com-20121022161516-4g9wg1a3fv0r7t12
---
addons/web/static/src/js/view_form.js | 25 ++++++++++++++++++++-----
1 file changed, 20 insertions(+), 5 deletions(-)
diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js
index 850a334c40b..bd4f8f5d55f 100644
--- a/addons/web/static/src/js/view_form.js
+++ b/addons/web/static/src/js/view_form.js
@@ -3234,6 +3234,12 @@ var commands = {
return [6, false, ids];
}
};
+/**
+ widget options:
+ - reload_on_button: Reload the whole form view if click on a button in a list view.
+ If you see this options, do not use it, it's basically a dirty hack to make one
+ precise o2m to behave the way we want.
+*/
instance.web.form.FieldOne2Many = instance.web.form.AbstractField.extend({
multi_selection: false,
disable_utility_classes: true,
@@ -3689,7 +3695,8 @@ instance.web.form.One2ManyListView = instance.web.ListView.extend({
readonly: !this.is_action_enabled('edit') || self.o2m.get("effective_readonly")
});
},
- do_button_action: function (name, id, callback) {
+ handle_button: function(name, id, call) {
+ var _sup = _.bind(this._super, this);
if (!_.isNumber(id)) {
instance.webclient.notification.warn(
_t("Action Button"),
@@ -3700,14 +3707,22 @@ instance.web.form.One2ManyListView = instance.web.ListView.extend({
var self = this;
this.ensure_saved().pipe(function () {
if (parent_form)
- return parent_form.save();
+ return parent_form.recursive_save();
else
return $.when();
- }).then(function () {
- self.handle_button(name, id, callback);
+ }).pipe(function () {
+ var call;
+ debugger;
+ if (! self.o2m.options.reload_on_button) {
+ call = callback;
+ } else {
+ call = function() {
+ self.o2m.view.recursive_reload();
+ };
+ }
+ _sup(name, id, call);
});
},
-
_before_edit: function () {
this.__ignore_blur = false;
this.editor.form.on('blurred', this, this._on_form_blur);
From dd99dc7ed07057bf46bd3a053e53dd49492e7d65 Mon Sep 17 00:00:00 2001
From: niv-openerp
Date: Mon, 22 Oct 2012 18:15:56 +0200
Subject: [PATCH 173/227] m
bzr revid: nicolas.vanhoren@openerp.com-20121022161556-wb1l3kahb9lwrnv3
---
addons/mrp/mrp_view.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/mrp/mrp_view.xml b/addons/mrp/mrp_view.xml
index 9d1ae9eae8a..9e35377986a 100644
--- a/addons/mrp/mrp_view.xml
+++ b/addons/mrp/mrp_view.xml
@@ -668,7 +668,7 @@
-
+
From 6280e223be743674b85cb1bc8c1e4dbdcf1a7e75 Mon Sep 17 00:00:00 2001
From: Fabien Meghazi
Date: Mon, 22 Oct 2012 18:16:11 +0200
Subject: [PATCH 174/227] [REV] Not my fault afterall.
bzr revid: fme@openerp.com-20121022161611-d4gik77mk1fvtojb
---
addons/web/static/src/js/view_list.js | 41 +++++++++++++++++++++------
addons/web/static/src/js/views.js | 4 +--
2 files changed, 34 insertions(+), 11 deletions(-)
diff --git a/addons/web/static/src/js/view_list.js b/addons/web/static/src/js/view_list.js
index fe577c91840..29bc81ea9ec 100644
--- a/addons/web/static/src/js/view_list.js
+++ b/addons/web/static/src/js/view_list.js
@@ -145,7 +145,7 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
*/
start: function() {
this.$el.addClass('oe_list');
- return this.start();
+ return this.reload_view(null, null, true);
},
/**
* Returns the style for the provided record in the current view (from the
@@ -219,7 +219,7 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
* @param {Object} data.fields_view.arch current list view descriptor
* @param {Boolean} grouped Is the list view grouped
*/
- load_list: function(data) {
+ load_list: function(data, grouped) {
var self = this;
this.fields_view = data;
this.name = "" + this.fields_view.arch.attrs.string;
@@ -245,7 +245,7 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
}).value();
}
- this.setup_columns(this.fields_view.fields, this.grouped);
+ this.setup_columns(this.fields_view.fields, grouped);
this.$el.html(QWeb.render(this._template, this));
this.$el.addClass(this.fields_view.arch.attrs['class']);
@@ -282,7 +282,7 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
// Add button
if (!this.$buttons) {
- this.$buttons = $(QWeb.render("ListView.buttons", {'widget':this}));
+ this.$buttons = $(QWeb.render("ListView.buttons", {'widget':self}));
if (this.options.$buttons) {
this.$buttons.appendTo(this.options.$buttons);
} else {
@@ -290,12 +290,12 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
}
this.$buttons.find('.oe_list_add')
.click(this.proxy('do_add_record'))
- .prop('disabled', this.grouped);
+ .prop('disabled', grouped);
}
// Pager
if (!this.$pager) {
- this.$pager = $(QWeb.render("ListView.pager", {'widget':this}));
+ this.$pager = $(QWeb.render("ListView.pager", {'widget':self}));
if (this.options.$buttons) {
this.$pager.appendTo(this.options.$pager);
} else {
@@ -359,7 +359,7 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
this.sidebar.add_toolbar(this.fields_view.toolbar);
this.sidebar.$el.hide();
}
- this.trigger('list_view_loaded', data, this.grouped);
+ this.trigger('list_view_loaded', data, grouped);
},
/**
* Configures the ListView pager based on the provided dataset's information
@@ -461,6 +461,29 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
}
this._super();
},
+ /**
+ * Reloads the list view based on the current settings (dataset & al)
+ *
+ * @param {Boolean} [grouped] Should the list be displayed grouped
+ * @param {Object} [context] context to send the server while loading the view
+ */
+ reload_view: function (grouped, context, initial) {
+ var self = this;
+ var callback = function (field_view_get) {
+ self.load_list(field_view_get, grouped);
+ };
+ if (this.embedded_view) {
+ return $.Deferred().then(callback).resolve(this.embedded_view);
+ } else {
+ return this.rpc('/web/view/load', {
+ model: this.model,
+ view_id: this.view_id,
+ view_type: "tree",
+ context: this.dataset.get_context(context),
+ toolbar: !!this.options.$sidebar
+ }).then(callback);
+ }
+ },
/**
* re-renders the content of the list view
*
@@ -541,9 +564,9 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
group_by = null;
}
this.no_leaf = !!context['group_by_no_leaf'];
- this.grouped = !!group_by;
- this.load_view(context).then(this.proxy('reload_content'));
+ this.reload_view(!!group_by, context).then(
+ this.proxy('reload_content'));
},
/**
* Handles the signal to delete lines from the records list
diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js
index f110b368196..103ad7a2661 100644
--- a/addons/web/static/src/js/views.js
+++ b/addons/web/static/src/js/views.js
@@ -1142,7 +1142,7 @@ instance.web.View = instance.web.Widget.extend({
start: function () {
return this.load_view();
},
- load_view: function(context) {
+ load_view: function() {
var self = this;
if (this.embedded_view) {
var def = $.Deferred();
@@ -1151,7 +1151,7 @@ instance.web.View = instance.web.Widget.extend({
self.trigger('view_loaded', r);
});
} else {
- var context = this.dataset.get_context(context || {});
+ var context = new instance.web.CompoundContext(this.dataset.get_context());
if (! this.view_type)
console.warn("view_type is not defined", this);
return this.rpc("/web/view/load", {
From b5b19a7a01402b9e344ffd6cee023231ce2f14fd Mon Sep 17 00:00:00 2001
From: Olivier Dony
Date: Mon, 22 Oct 2012 18:24:21 +0200
Subject: [PATCH 175/227] [FIX] generate_tracking_message_id: use more
randomness to avoid duplicates
When several message IDs had to be generated for the same
record at the same time, there was a high chance to
get non-unique results. This possibly lead to data loss because
some mail implementations might ignore multiple mails with the
same ID (including OpenERP itself). On most operating systems
the available time resolution precision is better than what
we used (due to the float rounding of `%s`).
Adding a bit of randomness doesn't hurt, as OpenERP will
be used in increasingly distributed environments, so
we now add an extra random part as well.
bzr revid: odo@openerp.com-20121022162421-qr7nq8idihp5781u
---
openerp/tools/misc.py | 17 +++++++----------
1 file changed, 7 insertions(+), 10 deletions(-)
diff --git a/openerp/tools/misc.py b/openerp/tools/misc.py
index c9283a839d4..ba6ea1137d1 100644
--- a/openerp/tools/misc.py
+++ b/openerp/tools/misc.py
@@ -27,12 +27,11 @@ Miscellaneous tools used by OpenERP.
"""
from functools import wraps
-import inspect
import subprocess
import logging
import os
+import random
import re
-import smtplib
import socket
import sys
import threading
@@ -40,13 +39,6 @@ import time
import zipfile
from collections import defaultdict
from datetime import datetime
-from email.MIMEText import MIMEText
-from email.MIMEBase import MIMEBase
-from email.MIMEMultipart import MIMEMultipart
-from email.Header import Header
-from email.Utils import formatdate, COMMASPACE
-from email import Utils
-from email import Encoders
from itertools import islice, izip
from lxml import etree
from which import which
@@ -363,7 +355,12 @@ def generate_tracking_message_id(res_id):
Used to track the replies related to a given object thanks to the "In-Reply-To"
or "References" fields that Mail User Agents will set.
"""
- return "<%s-openerp-%s@%s>" % (time.time(), res_id, socket.gethostname())
+ try:
+ rnd = random.SystemRandom().random()
+ except NotImplementedError:
+ rnd = random.random()
+ rndstr = ("%.15f" % rnd)[2:]
+ return "<%.15f.%s-openerp-%s@%s>" % (time.time(), rndstr, res_id, socket.gethostname())
def email_send(email_from, email_to, subject, body, email_cc=None, email_bcc=None, reply_to=False,
attachments=None, message_id=None, references=None, openobject_id=False, debug=False, subtype='plain', headers=None,
From c88b77a7c84be7a72913409bb1ee9ee6eb9a898e Mon Sep 17 00:00:00 2001
From: Antonin Bourguignon
Date: Mon, 22 Oct 2012 18:27:08 +0200
Subject: [PATCH 176/227] [IMP] remove whitespaces
bzr revid: abo@openerp.com-20121022162708-a3q25ul0rnbtfnqv
---
addons/web/static/src/css/base.sass | 41 +++++++++++++----------------
1 file changed, 19 insertions(+), 22 deletions(-)
diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass
index 5140f3ceb3e..37830a8b109 100644
--- a/addons/web/static/src/css/base.sass
+++ b/addons/web/static/src/css/base.sass
@@ -120,7 +120,7 @@ $sheet-max-width: 860px
font-size: 1px
letter-spacing: -1px
color: transparent
- font-weight: normal
+ font-weight: normal
&:before
font: 21px "mnmliconsRegular"
content: $icon-name
@@ -130,7 +130,7 @@ $sheet-max-width: 860px
font-size: 1px
letter-spacing: -1px
color: transparent
- font-weight: normal
+ font-weight: normal
&:before
font: $size "entypoRegular"
content: $icon-name
@@ -611,7 +611,7 @@ $sheet-max-width: 860px
vertical-align: top
margin-top: 8px
//margin-left set at 3px to avoid a strange overflow
- margin-left: 3px
+ margin-left: 3px
border-left: 4px solid transparent
border-right: 4px solid transparent
border-top: 4px solid#404040
@@ -804,7 +804,7 @@ $sheet-max-width: 860px
display: none
// }}}
// Top Menu {{{
-
+
.oe_topbar
width: 100%
height: 32px
@@ -977,7 +977,7 @@ $sheet-max-width: 860px
.oe_menu_counter
float: right
text-shadow: 0 1px 1px rgba(0,0,0,0.2)
- margin: 1px
+ margin: 1px
padding: 1px 4px
border: none
&:hover
@@ -1069,7 +1069,7 @@ $sheet-max-width: 860px
// ViewManager common {{{
.oe_view_manager
.oe_view_manager_body
- height: inherit
+ height: inherit
.oe_view_manager_view_kanban
height: inherit
@@ -1579,7 +1579,7 @@ $sheet-max-width: 860px
display: none !important
.oe_form .oe_form_field_date
width: auto
- // Sheet and padding
+ // Sheet and padding
.oe_form_nosheet
margin: 16px
> header
@@ -1625,7 +1625,7 @@ $sheet-max-width: 860px
margin-left: 6px
// }}}
// FormView.custom tags and classes {{{
- .oe_form
+ .oe_form
header
.oe_tags
margin: 5px 0 0 5px
@@ -1788,7 +1788,7 @@ $sheet-max-width: 860px
display: none
.oe_datepicker_root
display: inline-block
- .oe_form_required
+ .oe_form_required
input:not([disabled]):not([readonly]), select:not([disabled]):not([readonly]), textarea:not([disabled]):not([readonly])
background-color: #D2D2FF !important
.oe_form_invalid
@@ -1824,10 +1824,10 @@ $sheet-max-width: 860px
position: relative
width: 600px
margin-left: 130px
- margin-top: 32px
+ margin-top: 32px
margin-bottom: 32px
text-align: justify
-
+
.oe_form_editable
.oe_form
.oe_form_field_integer input
@@ -1905,7 +1905,7 @@ $sheet-max-width: 860px
display: inline-block
margin: 0
padding: 0 18px 0 0
- li
+ li
display: inline-block
list-style-type: none
// It is probably a bad idea to modify this margin
@@ -1935,7 +1935,7 @@ $sheet-max-width: 860px
vertical-align: top
overflow: hidden
margin-left: -5px
- span
+ span
position: relative
width: 24px
height: 24px
@@ -1948,7 +1948,7 @@ $sheet-max-width: 860px
@include transform(rotate(45deg))
li.oe_active
@include vertical-gradient(#729fcf, #3465a4)
- .arrow span
+ .arrow span
@include skew-gradient(#729fcf, #3465a4)
.label
color: white
@@ -1956,20 +1956,20 @@ $sheet-max-width: 860px
ul.oe_form_status_clickable
li
cursor: pointer
- &:hover
+ &:hover
@include vertical-gradient(darken(#fcfcfc, 8%), darken(#dedede, 8%))
.label
text-shadow: 0 -1px 1px #fcfcfc, 0 1px 1px #dedede
- .arrow span
+ .arrow span
@include vertical-gradient(darken(#fcfcfc, 8%), darken(#dedede, 8%))
.label
color: $link-color
li.oe_active
- &:hover
+ &:hover
@include vertical-gradient(darken(#729fcf, 10%), darken(#3465a4, 10%))
.label
text-shadow: 0 -1px 1px #729fcf, 0 1px 1px #3465a4
- .arrow span
+ .arrow span
@include skew-gradient(darken(#729fcf, 10%), darken(#3465a4, 10%))
// }}}
// FormView.one2many {{{
@@ -2186,7 +2186,6 @@ $sheet-max-width: 860px
.oe_list_cannot_delete
.oe_list_record_delete
display: none !important
-
// }}}
// Tree view {{{
.tree_header
@@ -2237,7 +2236,6 @@ $sheet-max-width: 860px
background-image: url(/web/static/src/img/collapse.gif)
.treeview-tr.oe-treeview-first span, .treeview-td.oe-treeview-first span
margin-left: 16px
-
// }}}
// Debugging stuff {{{
.oe_layout_debugging
@@ -2280,7 +2278,6 @@ $sheet-max-width: 860px
background-attachment: fixed
>*
opacity: 0.70
-
// }}}
// The jQuery-ui overlay and Autocomplete are outside the .openerp div, please don't add indentation !!!
@@ -2302,7 +2299,7 @@ div.ui-widget-overlay
width: 100%
padding: 0
a
- padding: 1px 16px
+ padding: 1px 16px
a.ui-corner-all
@include radius(0)
a.ui-state-active
From 9ed87abad0c2272d04a57f0aa52e3e7980c7981c Mon Sep 17 00:00:00 2001
From: Antonin Bourguignon
Date: Mon, 22 Oct 2012 18:46:42 +0200
Subject: [PATCH 177/227] [IMP] add a rule to hide the create incentive in list
view this patch would deserve to be extented to the kanban view
bzr revid: abo@openerp.com-20121022164642-csadhjemb8zyzag6
---
addons/web/static/src/css/base.sass | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass
index 37830a8b109..568db634815 100644
--- a/addons/web/static/src/css/base.sass
+++ b/addons/web/static/src/css/base.sass
@@ -2178,7 +2178,9 @@ $sheet-max-width: 860px
.oe_list_handle
@include text-to-entypo-icon("}",#E0E0E0,18px)
margin-right: 7px
-
+ .oe_list_cannot_create
+ .oe_view_nocontent_create
+ display: none
.oe_list_cannot_edit
.oe_list_header_handle, .oe_list_field_handle
display: none !important
From 2f4bf4641e35d4dff70c6af5e490b60030624afb Mon Sep 17 00:00:00 2001
From: Antonin Bourguignon
Date: Mon, 22 Oct 2012 18:49:14 +0200
Subject: [PATCH 178/227] [IMP] parse SASS and update CSS
bzr revid: abo@openerp.com-20121022164914-vqaivy1eyplo13e8
---
addons/web/static/src/css/base.css | 5204 +++++++++++++---------------
1 file changed, 2335 insertions(+), 2869 deletions(-)
diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css
index eba41b23776..565bf9c12f5 100644
--- a/addons/web/static/src/css/base.css
+++ b/addons/web/static/src/css/base.css
@@ -1,4 +1,4 @@
-@charset "utf-8";
+@charset "UTF-8";
@font-face {
font-family: "mnmliconsRegular";
src: url("/web/static/src/font/mnmliconsv21-webfont.eot") format("eot");
@@ -6,8 +6,7 @@
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-style: normal; }
@font-face {
font-family: "EntypoRegular";
@@ -17,22 +16,17 @@
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;
-}
+ font-style: normal; }
@media print {
.oe_topbar, .oe_leftbar, .oe_loading {
- display: none !important;
- }
-}
+ display: none !important; } }
.openerp.openerp_webclient_container {
- height: 100%;
-}
+ height: 100%; }
.text-tag .text-button {
height: auto !important;
- min-height: 16px;
-}
+ min-height: 16px; }
.openerp {
padding: 0;
@@ -44,2853 +38,2332 @@
text-shadow: 0 1px 1px rgba(255, 255, 255, 0.5);
/* http://www.quirksmode.org/dom/inputfile.html
* http://stackoverflow.com/questions/2855589/replace-input-type-file-by-an-image
- */
-}
-.openerp :-moz-placeholder {
- color: #afafb6 !important;
- font-style: italic !important;
-}
-.openerp ::-webkit-input-placeholder {
- color: #afafb6 !important;
- font-style: italic !important;
-}
-.openerp a {
- text-decoration: none;
- cursor: pointer !important;
-}
-.openerp table {
- padding: 0;
- border-collapse: collapse;
-}
-.openerp thead {
- font-weight: bold;
- background-color: #f0f0f0;
-}
-.openerp thead th {
- border-left: 1px solid #dfdfdf;
-}
-.openerp thead th:first-child {
- border-left: none;
-}
-.openerp thead th.null {
- border-left: none;
-}
-.openerp th, .openerp td {
- padding: 0;
- text-align: left;
-}
-.openerp th {
- font-weight: bold;
- vertical-align: middle;
-}
-.openerp td {
- vertical-align: top;
-}
-.openerp .zebra tbody tr:nth-child(odd) td {
- background-color: #f0f0fa;
- background-color: #f0f0fa;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#f0f0fa), to(#eeeef6));
- background-image: -webkit-linear-gradient(top, #f0f0fa, #eeeef6);
- background-image: -moz-linear-gradient(top, #f0f0fa, #eeeef6);
- background-image: -ms-linear-gradient(top, #f0f0fa, #eeeef6);
- background-image: -o-linear-gradient(top, #f0f0fa, #eeeef6);
- background-image: linear-gradient(to bottom, #f0f0fa, #eeeef6);
-}
-.openerp .zebra tbody tr:hover td {
- background-color: #eeeeee;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#eeeeee), to(#dedede));
- background-image: -webkit-linear-gradient(top, #eeeeee, #dedede);
- background-image: -moz-linear-gradient(top, #eeeeee, #dedede);
- background-image: -ms-linear-gradient(top, #eeeeee, #dedede);
- background-image: -o-linear-gradient(top, #eeeeee, #dedede);
- background-image: linear-gradient(to bottom, #eeeeee, #dedede);
-}
-.openerp input, .openerp textarea, .openerp select {
- padding: 2px 4px;
- border: 1px solid #cccccc;
- -moz-border-radius: 3px;
- -webkit-border-radius: 3px;
- border-radius: 3px;
- background: white;
-}
-.openerp img {
- vertical-align: middle;
-}
-.openerp h4 {
- margin: 4px 0;
-}
-.openerp a.button:link, .openerp a.button:visited, .openerp button, .openerp input[type='submit'], .openerp .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button {
- display: inline-block;
- border: 1px solid rgba(0, 0, 0, 0.4);
- color: #4c4c4c;
- margin: 0;
- padding: 3px 12px;
- font-size: 13px;
- text-align: center;
- background-color: #efefef;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#efefef), to(#d8d8d8));
- background-image: -webkit-linear-gradient(top, #efefef, #d8d8d8);
- background-image: -moz-linear-gradient(top, #efefef, #d8d8d8);
- background-image: -ms-linear-gradient(top, #efefef, #d8d8d8);
- background-image: -o-linear-gradient(top, #efefef, #d8d8d8);
- background-image: linear-gradient(to bottom, #efefef, #d8d8d8);
- -moz-border-radius: 3px;
- -webkit-border-radius: 3px;
- border-radius: 3px;
- -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset;
- -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset;
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset;
- text-shadow: 0 1px 1px rgba(255, 255, 255, 0.5);
- -webkit-font-smoothing: antialiased;
- outline: none;
-}
-.openerp a.button:hover, .openerp button:hover, .openerp input[type='submit']:hover, .openerp .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button.ui-state-hover {
- background-color: #f6f6f6;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#f6f6f6), to(#e3e3e3));
- background-image: -webkit-linear-gradient(top, #f6f6f6, #e3e3e3);
- background-image: -moz-linear-gradient(top, #f6f6f6, #e3e3e3);
- background-image: -ms-linear-gradient(top, #f6f6f6, #e3e3e3);
- background-image: -o-linear-gradient(top, #f6f6f6, #e3e3e3);
- background-image: linear-gradient(to bottom, #f6f6f6, #e3e3e3);
- cursor: pointer;
- background-position: 0;
-}
-.openerp a.button:focus, .openerp button:focus, .openerp input[type='submit']:focus, .openerp .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button.ui-state-focus {
- border: 1px solid #80bfff;
- background-position: 0;
- background-color: #f6f6f6;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#f6f6f6), to(#e3e3e3));
- background-image: -webkit-linear-gradient(top, #f6f6f6, #e3e3e3);
- background-image: -moz-linear-gradient(top, #f6f6f6, #e3e3e3);
- background-image: -ms-linear-gradient(top, #f6f6f6, #e3e3e3);
- background-image: -o-linear-gradient(top, #f6f6f6, #e3e3e3);
- background-image: linear-gradient(to bottom, #f6f6f6, #e3e3e3);
- -moz-box-shadow: 0 0 3px #80bfff, 0 1px 1px rgba(255, 255, 255, 0.8) inset;
- -webkit-box-shadow: 0 0 3px #80bfff, 0 1px 1px rgba(255, 255, 255, 0.8) inset;
- box-shadow: 0 0 3px #80bfff, 0 1px 1px rgba(255, 255, 255, 0.8) inset;
-}
-.openerp a.button:active, .openerp a.button.active, .openerp button:active, .openerp button.active, .openerp input[type='submit']:active, .openerp input[type='submit'].active, .openerp .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button.ui-state-active {
- background-color: #e3e3e3;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#e3e3e3), to(#f6f6f6));
- background-image: -webkit-linear-gradient(top, #e3e3e3, #f6f6f6);
- background-image: -moz-linear-gradient(top, #e3e3e3, #f6f6f6);
- background-image: -ms-linear-gradient(top, #e3e3e3, #f6f6f6);
- background-image: -o-linear-gradient(top, #e3e3e3, #f6f6f6);
- background-image: linear-gradient(to bottom, #e3e3e3, #f6f6f6);
- -moz-box-shadow: none;
- -webkit-box-shadow: none;
- box-shadow: none;
-}
-.openerp a.button.disabled, .openerp button:disabled, .openerp input[type='submit']:disabled {
- background: #efefef !important;
- border: 1px solid #d1d1d1 !important;
- -moz-box-shadow: none !important;
- -webkit-box-shadow: none !important;
- box-shadow: none !important;
- color: #aaaaaa !important;
- cursor: default;
- text-shadow: 0 1px 1px white !important;
-}
-.openerp .ui-widget-content a {
- color: #7c7bad;
-}
-.openerp .oe_bounce_container {
- display: inline-block;
-}
-.openerp .ui-tabs {
- position: static;
-}
-.openerp.ui-dialog {
- display: none;
- padding: 6px;
- background-color: rgba(60, 60, 60, 0.7);
- border: 1px solid;
- border-color: #888888 #555555 #444444;
- -moz-border-radius: 8px;
- -webkit-border-radius: 8px;
- border-radius: 8px;
- -moz-box-shadow: 0 1px 12px rgba(0, 0, 0, 0.6);
- -webkit-box-shadow: 0 1px 12px rgba(0, 0, 0, 0.6);
- box-shadow: 0 1px 12px rgba(0, 0, 0, 0.6);
- -webkit-background-clip: padding-box;
- -moz-background-clip: padding-box;
- background-clip: padding-box;
-}
-.openerp.ui-dialog .ui-dialog-content {
- padding: 0px;
-}
-.openerp.ui-dialog .ui-dialog-titlebar, .openerp.ui-dialog .ui-dialog-content, .openerp.ui-dialog .ui-dialog-buttonpane {
- padding: 16px;
-}
-.openerp.ui-dialog .ui-dialog-titlebar {
- border-bottom: 1px solid #cacaca;
- -moz-border-radius: 2px 2px 0 0;
- -webkit-border-radius: 2px 2px 0 0;
- border-radius: 2px 2px 0 0;
- background-color: #fcfcfc;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#fcfcfc), to(#dedede));
- background-image: -webkit-linear-gradient(top, #fcfcfc, #dedede);
- background-image: -moz-linear-gradient(top, #fcfcfc, #dedede);
- background-image: -ms-linear-gradient(top, #fcfcfc, #dedede);
- background-image: -o-linear-gradient(top, #fcfcfc, #dedede);
- background-image: linear-gradient(to bottom, #fcfcfc, #dedede);
-}
-.openerp.ui-dialog .ui-dialog-titlebar .ui-dialog-title {
- margin: 0;
- padding: 0;
-}
-.openerp.ui-dialog .ui-widget-header {
- border: none;
-}
-.openerp.ui-dialog .ui-dialog-content {
- background: white;
-}
-.openerp.ui-dialog .ui-dialog-buttonpane {
- border-top: 1px solid #e0e0e0;
- background: #f5f7f9;
- margin: 0;
- -moz-border-radius: 0 0 2px 2px;
- -webkit-border-radius: 0 0 2px 2px;
- border-radius: 0 0 2px 2px;
-}
-.openerp.ui-dialog .ui-dialog-buttonpane button {
- margin: 0 4px 0 0;
-}
-.openerp.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
- float: left;
-}
-.openerp.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button {
- margin-right: 4px;
-}
-.openerp.ui-dialog .ui-dialog-titlebar-close {
- padding: 0;
-}
-.openerp.ui-dialog .ui-dialog-titlebar-close .ui-icon-closethick {
- display: none;
-}
-.openerp.ui-dialog .ui-dialog-titlebar-close:before {
- content: "×";
- font-size: 18px;
- font-weight: bold;
- line-height: 16px;
- color: black;
- text-shadow: 0 1px 0 white;
- padding: 0;
- cursor: pointer;
- background: transparent;
- border: 0;
-}
-.openerp.ui-dialog .ui-dialog-titlebar-close:before:hover {
- color: black;
- text-decoration: none;
-}
-.openerp.ui-dialog .oe_about {
- background-color: white;
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAYAAADgzO9IAAAAKUlEQVQIHWO8e/fufwYsgAUkJigoiCIF5DMyoYggcUiXgNnBiGQKmAkARpcEQeriln4AAAAASUVORK5CYII=);
- -moz-border-radius: 0 0 2px 2px;
- -webkit-border-radius: 0 0 2px 2px;
- border-radius: 0 0 2px 2px;
-}
-.openerp.ui-dialog .oe_about a {
- color: #7c7bad;
-}
-.openerp.ui-dialog .oe_about a:hover {
- text-decoration: underline;
-}
-.openerp.ui-dialog .oe_about a:focus {
- outline: none;
-}
-.openerp.ui-dialog .oe_about .oe_logo {
- margin-left: -6px;
-}
-.openerp.ui-dialog .oe_about .oe_bottom {
- position: absolute;
- top: 50%;
- left: 0;
- right: 0;
- bottom: 0;
- text-shadow: 0 1px 1px #999999;
- background-color: #b41616;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#b41616), to(#600606));
- background-image: -webkit-linear-gradient(top, #b41616, #600606);
- background-image: -moz-linear-gradient(top, #b41616, #600606);
- background-image: -ms-linear-gradient(top, #b41616, #600606);
- background-image: -o-linear-gradient(top, #b41616, #600606);
- background-image: linear-gradient(to bottom, #b41616, #600606);
- color: #eeeeee;
- padding: 0 16px;
- -moz-border-radius: 0 0 2px 2px;
- -webkit-border-radius: 0 0 2px 2px;
- border-radius: 0 0 2px 2px;
-}
-.openerp.ui-dialog .oe_about .oe_bottom a {
- color: #eeeeee;
-}
-.openerp.ui-dialog.oe_act_window .ui-dialog-content {
- padding: 0px;
-}
-.openerp .modal-backdrop {
- position: fixed;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- z-index: 1040;
- background-color: black;
- filter: alpha(opacity=30);
- opacity: 0.3;
-}
-.openerp .oe_i {
- font-family: "mnmliconsRegular" !important;
- font-size: 21px;
- font-weight: 300 !important;
-}
-.openerp .oe_e {
- font-family: "entypoRegular" !important;
- font-size: 34px;
- font-weight: 300 !important;
-}
-.openerp .oe_left {
- float: left;
- margin-right: 8px;
-}
-.openerp .oe_right {
- float: right;
- margin-left: 8px;
-}
-.openerp .oe_text_right {
- text-align: right;
-}
-.openerp .oe_clear {
- clear: both;
-}
-.openerp .oe_wait {
- cursor: wait;
-}
-.openerp .oe_fade {
- color: #888888;
- font-weight: normal;
-}
-.openerp .oe_bold {
- font-weight: bold;
-}
-.openerp .oe_inline {
- width: auto !important;
-}
-.openerp .oe_highlight {
- color: white;
- background: #dc5f59;
-}
-.openerp button.oe_highlight {
- background-color: #df3f3f;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#df3f3f), to(#a21a1a));
- background-image: -webkit-linear-gradient(top, #df3f3f, #a21a1a);
- background-image: -moz-linear-gradient(top, #df3f3f, #a21a1a);
- background-image: -ms-linear-gradient(top, #df3f3f, #a21a1a);
- background-image: -o-linear-gradient(top, #df3f3f, #a21a1a);
- background-image: linear-gradient(to bottom, #df3f3f, #a21a1a);
- -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(155, 155, 155, 0.4) inset;
- -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(155, 155, 155, 0.4) inset;
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(155, 155, 155, 0.4) inset;
-}
-.openerp button.oe_highlight:hover {
- background-color: #e25858;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#e25858), to(#ab1b1b));
- background-image: -webkit-linear-gradient(top, #e25858, #ab1b1b);
- background-image: -moz-linear-gradient(top, #e25858, #ab1b1b);
- background-image: -ms-linear-gradient(top, #e25858, #ab1b1b);
- background-image: -o-linear-gradient(top, #e25858, #ab1b1b);
- background-image: linear-gradient(to bottom, #e25858, #ab1b1b);
-}
-.openerp button.oe_highlight:active {
- background-color: #c52020;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#c52020), to(#d22323));
- background-image: -webkit-linear-gradient(top, #c52020, #d22323);
- background-image: -moz-linear-gradient(top, #c52020, #d22323);
- background-image: -ms-linear-gradient(top, #c52020, #d22323);
- background-image: -o-linear-gradient(top, #c52020, #d22323);
- background-image: linear-gradient(to bottom, #c52020, #d22323);
-}
-.openerp .oe_background_grey {
- background: #eeeeee !important;
-}
-.openerp .oe_form_dirty .oe_highlight_on_dirty {
- color: white;
- background: #dc5f59;
- font-weight: bold;
-}
-.openerp .oe_form_dirty button.oe_highlight_on_dirty {
- background-color: #dc5f59;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#dc5f59), to(#b33630));
- background-image: -webkit-linear-gradient(top, #dc5f59, #b33630);
- background-image: -moz-linear-gradient(top, #dc5f59, #b33630);
- background-image: -ms-linear-gradient(top, #dc5f59, #b33630);
- background-image: -o-linear-gradient(top, #dc5f59, #b33630);
- background-image: linear-gradient(to bottom, #dc5f59, #b33630);
- -moz-box-shadow: none;
- -webkit-box-shadow: none;
- box-shadow: none;
-}
-.openerp .oe_form_dirty button.oe_highlight_on_dirty:hover {
- background: #ed6f6a;
-}
-.openerp .oe_title {
- width: 50%;
- float: left;
-}
-.openerp .oe_title:after {
- content: ".";
- display: block;
- height: 0;
- clear: both;
- visibility: hidden;
-}
-.openerp .oe_button_box {
- width: 270px;
- text-align: right;
-}
-.openerp .oe_button_box button {
- margin: 4px;
-}
-.openerp .oe_avatar > img {
- max-height: 90px;
- max-width: 90px;
- -moz-border-radius: 3px;
- -webkit-border-radius: 3px;
- border-radius: 3px;
- -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
- -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
- box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
- border: none;
- margin-bottom: 10px;
-}
-.openerp .oe_avatar + div {
- margin-left: 5px;
-}
-.openerp .oe_image_small > img {
- max-width: 50px;
- max-height: 50px;
-}
-.openerp .oe_image_medium > img {
- max-width: 180px;
- max-height: 180px;
-}
-.openerp .oe_button.oe_link {
- border: none;
- padding: 0;
- margin: 0;
- background: none;
- -moz-border-radius: 0;
- -webkit-border-radius: 0;
- border-radius: 0;
- -moz-box-shadow: none;
- -webkit-box-shadow: none;
- box-shadow: none;
-}
-.openerp .oe_button.oe_link img {
- display: none;
-}
-.openerp .oe_button.oe_link span {
- border: none;
- padding: 0;
- margin: 0;
- background: none;
- -moz-border-radius: 0;
- -webkit-border-radius: 0;
- border-radius: 0;
- -moz-box-shadow: none;
- -webkit-box-shadow: none;
- box-shadow: none;
- color: #7c7bad;
- font-weight: bold;
-}
-.openerp .oe_button.oe_link span:hover {
- text-decoration: underline;
-}
-.openerp .oe_webclient .oe_star_on, .openerp .oe_webclient .oe_star_off {
- color: #cccccc;
- text-shadow: 0 0 2px black;
- vertical-align: top;
- position: relative;
- top: -5px;
-}
-.openerp .oe_webclient .oe_star_on:hover, .openerp .oe_webclient .oe_star_off:hover {
- text-decoration: none;
-}
-.openerp .oe_webclient .oe_star_on {
- color: gold;
-}
-.openerp p.oe_grey {
- max-width: 650px;
-}
-.openerp .oe_grey {
- color: #aaaaaa;
-}
-.openerp .oe_tag {
- border: 1px solid #afafb6;
- font-size: 11px;
- padding: 2px 4px;
- margin: 0 2px 2px 0;
- -moz-border-radius: 3px;
- -webkit-border-radius: 3px;
- border-radius: 3px;
- background: #f0f0fa;
- color: #4c4c4c;
-}
-.openerp .oe_tag_dark {
- background: #7c7bad;
- color: #eeeeee;
-}
-.openerp .oe_tags {
- margin-bottom: 1px;
-}
-.openerp .oe_tags.oe_inline {
- min-width: 250px;
-}
-.openerp .oe_tags .text-wrap {
- width: 100% !important;
-}
-.openerp .oe_tags .text-wrap textarea {
- width: 100% !important;
-}
-.openerp .oe_tags .text-core .text-wrap .text-dropdown .text-list .text-suggestion em {
- font-style: italic;
- text-decoration: none;
-}
-.openerp.oe_tooltip {
- font-size: 12px;
-}
-.openerp.oe_tooltip .oe_tooltip_string {
- color: #ffdd55;
- font-weight: bold;
- font-size: 13px;
-}
-.openerp.oe_tooltip .oe_tooltip_help {
- white-space: pre-wrap;
-}
-.openerp.oe_tooltip .oe_tooltip_technical {
- padding: 0 0 4px 0;
- margin: 5px 0 0 15px;
-}
-.openerp.oe_tooltip .oe_tooltip_technical li {
- list-style: circle;
-}
-.openerp.oe_tooltip .oe_tooltip_technical_title {
- font-weight: bold;
-}
-.openerp.oe_tooltip .oe_tooltip_close {
- margin: -5px 0 0 2px;
- cursor: default;
- float: right;
- color: white;
-}
-.openerp.oe_tooltip .oe_tooltip_close:hover {
- color: #999999;
- cursor: pointer;
-}
-.openerp.oe_tooltip .oe_tooltip_message {
- max-width: 310px;
-}
-.openerp .oe_notebook {
- margin: 8px 0;
- padding: 0 16px;
- list-style: none;
- zoom: 1;
-}
-.openerp .oe_notebook.ui-corner-all {
- -moz-border-radius: 0;
- -webkit-border-radius: 0;
- border-radius: 0;
-}
-.openerp .oe_notebook:before, .openerp .oe_notebook:after {
- display: table;
- content: "";
- zoom: 1;
-}
-.openerp .oe_notebook:after {
- clear: both;
-}
-.openerp .oe_notebook > li {
- float: left;
-}
-.openerp .oe_notebook > li > a {
- display: block;
- color: #4c4c4c;
-}
-.openerp .oe_notebook {
- border-color: #dddddd;
- border-style: solid;
- border-width: 0 0 1px;
-}
-.openerp .oe_notebook > li {
- position: relative;
-}
-.openerp .oe_notebook > li > a {
- padding: 0 12px;
- margin-right: 2px;
- line-height: 30px;
- border: 1px solid transparent;
- -moz-border-radius: 4px 4px 0 0;
- -webkit-border-radius: 4px 4px 0 0;
- border-radius: 4px 4px 0 0;
-}
-.openerp .oe_notebook > li > a:hover {
- text-decoration: none;
- background-color: #eeeeee;
- border-color: #eeeeee #eeeeee #dddddd;
-}
-.openerp .oe_notebook > li.ui-state-active > a, .openerp .oe_notebook > li.ui-state-active > a:hover {
- background-color: white;
- border: 1px solid #dddddd;
- border-bottom-color: transparent;
- cursor: default;
-}
-.openerp .oe_notebook_page {
- padding: 0;
-}
-.openerp div.ui-tabs {
- padding: 3px 0px 3px 0px;
-}
-.openerp .ui-tabs-hide {
- display: none;
-}
-.openerp .oe_dropdown, .openerp .oe_dropdown_hover, .openerp .oe_dropdown_toggle {
- position: relative;
- cursor: pointer;
-}
-.openerp .oe_dropdown_toggle {
- color: rgba(0, 0, 0, 0.5);
- font-weight: normal;
-}
-.openerp .oe_dropdown_hover:hover .oe_dropdown_menu, .openerp .oe_dropdown_menu.oe_opened {
- display: block;
-}
-.openerp .oe_dropdown_menu {
- display: none;
- position: absolute;
- top: 26px;
- left: 0;
- z-index: 3;
- margin: 0;
- padding: 0;
- border: 1px solid #afafb6;
- background: white;
- padding: 4px 0;
- min-width: 140px;
- text-align: left;
- -moz-border-radius: 3px;
- -webkit-border-radius: 3px;
- border-radius: 3px;
- -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
- -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
- box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
-}
-.openerp .oe_dropdown_menu > li {
- list-style-type: none;
- float: none;
- display: block;
- position: relative;
- margin: 0;
- padding: 2px 8px;
-}
-.openerp .oe_dropdown_menu > li:hover {
- background-color: #f0f0fa;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#f0f0fa), to(#eeeef6));
- background-image: -webkit-linear-gradient(top, #f0f0fa, #eeeef6);
- background-image: -moz-linear-gradient(top, #f0f0fa, #eeeef6);
- background-image: -ms-linear-gradient(top, #f0f0fa, #eeeef6);
- background-image: -o-linear-gradient(top, #f0f0fa, #eeeef6);
- background-image: linear-gradient(to bottom, #f0f0fa, #eeeef6);
- -moz-box-shadow: none;
- -webkit-box-shadow: none;
- box-shadow: none;
-}
-.openerp .oe_dropdown_menu > li > a {
- white-space: nowrap;
- display: block;
- color: #4c4c4c;
- text-decoration: none;
-}
-.openerp .oe_dropdown_menu > li > a:hover {
- text-decoration: none;
-}
-.openerp .oe_dropdown_arrow:after {
- width: 0;
- height: 0;
- display: inline-block;
- content: "&darr";
- text-indent: -99999px;
- vertical-align: top;
- margin-top: 8px;
- margin-left: 3px;
- border-left: 4px solid transparent;
- border-right: 4px solid transparent;
- border-top: 4px solid #404040;
- filter: alpha(opacity=50);
- opacity: 0.5;
-}
-.openerp .oe_sidebar {
- white-space: nowrap;
-}
-.openerp .oe_sidebar .oe_dropdown_menu .oe_sidebar_add_attachment {
- height: 20px;
- cursor: pointer;
- padding-left: 6px;
- margin-top: 6px;
-}
-.openerp .oe_sidebar .oe_dropdown_menu .oe_sidebar_add_attachment span {
- font-weight: bold;
-}
-.openerp .oe_sidebar .oe_dropdown_menu .oe_sidebar_add_attachment .oe_hidden_input_file {
- width: 200px;
-}
-.openerp .oe_sidebar .oe_dropdown_menu .oe_sidebar_add_attachment:hover {
- background-color: #f0f0fa;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#f0f0fa), to(#eeeef6));
- background-image: -webkit-linear-gradient(top, #f0f0fa, #eeeef6);
- background-image: -moz-linear-gradient(top, #f0f0fa, #eeeef6);
- background-image: -ms-linear-gradient(top, #f0f0fa, #eeeef6);
- background-image: -o-linear-gradient(top, #f0f0fa, #eeeef6);
- background-image: linear-gradient(to bottom, #f0f0fa, #eeeef6);
- -moz-box-shadow: none;
- -webkit-box-shadow: none;
- box-shadow: none;
-}
-.openerp .oe_sidebar .oe_dropdown_menu li .oe_sidebar_delete_item {
- position: absolute;
- top: 4px;
- right: 4px;
- display: none;
- width: 12px;
- height: 12px;
- padding: 1px;
- color: #8786b7;
- line-height: 8px;
- text-align: center;
- font-weight: bold;
- text-shadow: 0 1px 1px white;
-}
-.openerp .oe_sidebar .oe_dropdown_menu li .oe_sidebar_delete_item:hover {
- text-decoration: none;
- color: white;
- background: #8786b7;
- text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
- -moz-border-radius: 2px;
- -webkit-border-radius: 2px;
- border-radius: 2px;
-}
-.openerp .oe_sidebar .oe_dropdown_menu li:hover .oe_sidebar_delete_item {
- display: inline-block;
-}
-.openerp .oe_loading {
- display: none;
- z-index: 100;
- position: fixed;
- top: 0;
- right: 50%;
- padding: 4px 12px;
- background: #a61300;
- color: white;
- text-align: center;
- border: 1px solid #990000;
- border-top: none;
- -moz-border-radius-bottomright: 8px;
- -moz-border-radius-bottomleft: 8px;
- border-bottom-right-radius: 8px;
- border-bottom-left-radius: 8px;
-}
-.openerp .oe_notification {
- z-index: 1050;
-}
-.openerp .oe_login {
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAYAAADgzO9IAAAAKUlEQVQIHWO8e/fufwYsgAUkJigoiCIF5DMyoYggcUiXgNnBiGQKmAkARpcEQeriln4AAAAASUVORK5CYII=);
- text-align: center;
- font-size: 14px;
- height: 100%;
-}
-.openerp .oe_login ul, .openerp .oe_login li {
- margin: 0;
- list-style-type: none;
- padding: 0 0 4px 0;
-}
-.openerp .oe_login button {
- float: right;
- display: inline-block;
- cursor: pointer;
- padding: 6px 16px;
- border: 1px solid #222222;
- color: white;
- margin: 0;
- background-color: #b92020;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#b92020), to(#600606));
- background-image: -webkit-linear-gradient(top, #b92020, #600606);
- background-image: -moz-linear-gradient(top, #b92020, #600606);
- background-image: -ms-linear-gradient(top, #b92020, #600606);
- background-image: -o-linear-gradient(top, #b92020, #600606);
- background-image: linear-gradient(to bottom, #b92020, #600606);
- -moz-border-radius: 4px;
- -webkit-border-radius: 4px;
- border-radius: 4px;
- -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(155, 155, 155, 0.4) inset;
- -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(155, 155, 155, 0.4) inset;
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(155, 155, 155, 0.4) inset;
-}
-.openerp .oe_login input, .openerp .oe_login select {
- width: 252px;
- font-family: "Lucida Grande", Helvetica, Verdana, Arial;
- border: 1px solid #999999;
- background: whitesmoke;
- -moz-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.4);
- -webkit-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.4);
- box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.4);
- -moz-border-radius: 3px;
- -webkit-border-radius: 3px;
- border-radius: 3px;
-}
-.openerp .oe_login input {
- margin-bottom: 9px;
- padding: 5px 6px;
-}
-.openerp .oe_login select {
- padding: 1px;
-}
-.openerp .oe_login .oe_login_dbpane {
- position: fixed;
- top: 0;
- right: 8px;
- padding: 5px 10px;
- color: #eeeeee;
- border: solid 1px #333333;
- background: #1e1e1e;
- background: rgba(30, 30, 30, 0.94);
- -moz-border-radius: 0 0 8px 8px;
- -webkit-border-radius: 0 0 8px 8px;
- border-radius: 0 0 8px 8px;
-}
-.openerp .oe_login .oe_login_dbpane input {
- padding: 2px 4px;
- margin: 4px 0;
-}
-.openerp .oe_login .oe_login_bottom {
- position: absolute;
- top: 50%;
- left: 0;
- right: 0;
- bottom: 0;
- text-shadow: 0 1px 1px #999999;
- background-color: #b41616;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#b41616), to(#600606));
- background-image: -webkit-linear-gradient(top, #b41616, #600606);
- background-image: -moz-linear-gradient(top, #b41616, #600606);
- background-image: -ms-linear-gradient(top, #b41616, #600606);
- background-image: -o-linear-gradient(top, #b41616, #600606);
- background-image: linear-gradient(to bottom, #b41616, #600606);
-}
-.openerp .oe_login .oe_login_pane {
- position: absolute;
- top: 50%;
- left: 50%;
- margin: -160px -166px;
- border: solid 1px #333333;
- background: #1e1e1e;
- background: rgba(30, 30, 30, 0.94);
- padding: 22px 32px;
- color: #eeeeee;
- text-align: left;
- -moz-border-radius: 8px;
- -webkit-border-radius: 8px;
- border-radius: 8px;
- -moz-box-shadow: 0 0 18px rgba(0, 0, 0, 0.9);
- -webkit-box-shadow: 0 0 18px rgba(0, 0, 0, 0.9);
- box-shadow: 0 0 18px rgba(0, 0, 0, 0.9);
-}
-.openerp .oe_login .oe_login_pane h2 {
- margin-top: 0;
- font-size: 18px;
-}
-.openerp .oe_login .oe_login_logo {
- position: absolute;
- top: -70px;
- left: 0;
- width: 100%;
- margin: 0 auto;
- text-align: center;
-}
-.openerp .oe_login .oe_login_footer {
- position: absolute;
- bottom: -40px;
- left: 0;
- width: 100%;
- text-align: center;
-}
-.openerp .oe_login .oe_login_footer a {
- color: #eeeeee;
- margin: 0 8px;
-}
-.openerp .oe_login .oe_login_footer a:hover {
- text-decoration: underline;
-}
-.openerp .oe_login .oe_login_footer span {
- font-weight: bold;
- font-size: 16px;
-}
-.openerp .oe_login .oe_login_error_message {
- display: none;
- background-color: #b41616;
- color: #eeeeee;
- padding: 14px 18px;
- margin-top: 15px;
- text-align: center;
- -moz-border-radius: 4px;
- -webkit-border-radius: 4px;
- border-radius: 4px;
- -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.8);
- -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.8);
- box-shadow: 0 1px 4px rgba(0, 0, 0, 0.8);
-}
-.openerp .oe_login_invalid .oe_login_error_message {
- display: inline-block;
-}
-.openerp .oe_database_manager {
- background: white;
- color: black;
- text-align: left;
-}
-.openerp .oe_database_manager .oe_database_manager_menu {
- color: black;
-}
-.openerp .oe_webclient {
- width: 100%;
- height: 100%;
- border-spacing: 0px;
-}
-.openerp .oe_content_full_screen .oe_application {
- top: 0;
- left: 0;
-}
-.openerp .oe_content_full_screen .oe_topbar, .openerp .oe_content_full_screen .oe_leftbar {
- display: none;
-}
-.openerp .oe_topbar {
- width: 100%;
- height: 32px;
- background-color: #414141;
- background-color: #646060;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#646060), to(#262626));
- background-image: -webkit-linear-gradient(top, #646060, #262626);
- background-image: -moz-linear-gradient(top, #646060, #262626);
- background-image: -ms-linear-gradient(top, #646060, #262626);
- background-image: -o-linear-gradient(top, #646060, #262626);
- background-image: linear-gradient(to bottom, #646060, #262626);
-}
-.openerp .oe_topbar .oe_topbar_item {
- display: block;
- padding: 5px 10px 7px;
- line-height: 20px;
- height: 20px;
- text-decoration: none;
- color: #eeeeee;
- vertical-align: top;
- text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
- -webkit-transition: all 0.2s ease-out;
- -moz-transition: all 0.2s ease-out;
- -ms-transition: all 0.2s ease-out;
- -o-transition: all 0.2s ease-out;
- transition: all 0.2s ease-out;
-}
-.openerp .oe_topbar .oe_topbar_item:hover {
- background: rgba(0, 0, 0, 0.2);
- text-shadow: black 0px 0px 3px;
- color: white;
- -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4) inset;
- -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4) inset;
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4) inset;
-}
-.openerp .oe_topbar .oe_topbar_avatar {
- width: 24px;
- height: 24px;
- margin: -2px 2px 0 0;
- -moz-border-radius: 3px;
- -webkit-border-radius: 3px;
- border-radius: 3px;
-}
-.openerp .oe_topbar .oe_topbar_avatar {
- vertical-align: top;
-}
-.openerp .oe_topbar .oe_dropdown_arrow:after {
- border-top: 4px solid white;
-}
-.openerp .oe_topbar .oe_dropdown_menu {
- top: 32px;
- background: #333333;
- background: rgba(37, 37, 37, 0.9);
- border-color: #999999;
- border-color: rgba(0, 0, 0, 0.2);
- border-style: solid;
- border-width: 0 1px 1px;
- -moz-border-radius: 0 0 6px 6px;
- -webkit-border-radius: 0 0 6px 6px;
- border-radius: 0 0 6px 6px;
- -webkit-background-clip: padding-box;
- -moz-background-clip: padding-box;
- background-clip: padding-box;
-}
-.openerp .oe_topbar .oe_dropdown_menu li {
- float: none;
- padding: 3px 12px;
-}
-.openerp .oe_topbar .oe_dropdown_menu li a {
- color: #eeeeee;
-}
-.openerp .oe_topbar .oe_dropdown_menu li:hover {
- background-color: #292929;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#292929), to(#191919));
- background-image: -webkit-linear-gradient(top, #292929, #191919);
- background-image: -moz-linear-gradient(top, #292929, #191919);
- background-image: -ms-linear-gradient(top, #292929, #191919);
- background-image: -o-linear-gradient(top, #292929, #191919);
- background-image: linear-gradient(to bottom, #292929, #191919);
- -moz-box-shadow: none;
- -webkit-box-shadow: none;
- box-shadow: none;
-}
-.openerp .oe_menu {
- float: left;
- padding: 0;
- margin: 0;
- font-size: 13px;
-}
-.openerp .oe_menu > li {
- list-style-type: none;
- padding: 0;
- margin: 0;
- float: left;
- display: block;
- color: #eeeeee;
-}
-.openerp .oe_menu > li > a {
- display: block;
- padding: 5px 10px 7px;
- line-height: 20px;
- height: 20px;
- text-decoration: none;
- color: #eeeeee;
- vertical-align: top;
- text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
- -webkit-transition: all 0.2s ease-out;
- -moz-transition: all 0.2s ease-out;
- -ms-transition: all 0.2s ease-out;
- -o-transition: all 0.2s ease-out;
- transition: all 0.2s ease-out;
-}
-.openerp .oe_menu > li > a:hover {
- background: rgba(0, 0, 0, 0.2);
- text-shadow: black 0px 0px 3px;
- color: white;
- -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4) inset;
- -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4) inset;
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4) inset;
-}
-.openerp .oe_menu > li > .oe_active {
- background: rgba(0, 0, 0, 0.3);
- text-shadow: black 0px 0px 3px;
- -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4) inset;
- -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4) inset;
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4) inset;
-}
-.openerp .oe_user_menu {
- float: right;
- padding: 0;
- margin: 0;
-}
-.openerp .oe_user_menu li {
- list-style-type: none;
- float: left;
-}
-.openerp .oe_user_menu .oe_dropdown_menu {
- right: -1px;
-}
-.openerp .oe_systray > div {
- float: left;
- padding: 0 4px 0 4px;
-}
-.openerp .oe_systray {
- float: right;
-}
-.openerp .oe_leftbar {
- display: none;
- width: 220px;
- background: #f0eeee;
- border-right: 1px solid #afafb6;
- text-shadow: 0 1px 1px white;
- padding-bottom: 16px;
-}
-.openerp a.oe_logo {
- width: 220px;
- display: block;
- text-align: center;
- height: 70px;
- line-height: 70px;
-}
-.openerp a.oe_logo img {
- height: 40px;
- width: 157px;
- margin: 14px 0;
-}
-.openerp .oe_footer {
- position: fixed;
- bottom: 0;
- padding: 4px 0;
- background: #f0eeee;
- width: 220px;
- text-align: center;
-}
-.openerp .oe_footer a {
- font-weight: 800;
- font-family: serif;
- font-size: 16px;
- color: black;
-}
-.openerp .oe_footer a span {
- color: #c81010;
- font-style: italic;
-}
-.openerp .oe_secondary_menu_section {
- font-weight: bold;
- margin-left: 8px;
- color: #7c7bad;
-}
-.openerp .oe_secondary_submenu {
- padding: 2px 0 8px 0;
- margin: 0;
- width: 100%;
- display: inline-block;
-}
-.openerp .oe_secondary_submenu li {
- position: relative;
- margin: 0;
- padding: 1px 0 1px 20px !important;
- list-style-type: none;
-}
-.openerp .oe_secondary_submenu li a {
- display: block;
- color: #4c4c4c;
- padding: 2px 4px 2px 0;
-}
-.openerp .oe_secondary_submenu li .oe_menu_label {
- position: absolute;
- top: 1px;
- right: 1px;
- font-size: 10px;
- background: #7c7bad;
- color: white;
- padding: 2px 4px;
- margin: 1px 6px 0 0;
- border: 1px solid lightGray;
- text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
- -moz-border-radius: 4px;
- -webkit-border-radius: 4px;
- border-radius: 4px;
- -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.2);
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.2);
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.2);
-}
-.openerp .oe_secondary_submenu .oe_menu_counter {
- float: right;
- text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
- margin: 1px;
- padding: 1px 4px;
- border: none;
-}
-.openerp .oe_secondary_submenu .oe_menu_counter:hover {
- cursor: pointer;
- -webkit-transform: scale(1.1);
- -moz-transform: scale(1.1);
- -ms-transform: scale(1.1);
- -o-transform: scale(1.1);
- transform: scale(1.1);
-}
-.openerp .oe_secondary_submenu .oe_active {
- border-top: 1px solid lightGray;
- border-bottom: 1px solid #dedede;
- text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
- -moz-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.2), inset 0 -1px 3px rgba(40, 40, 40, 0.2);
- -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.2), inset 0 -1px 3px rgba(40, 40, 40, 0.2);
- box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.2), inset 0 -1px 3px rgba(40, 40, 40, 0.2);
- background: #7c7bad;
-}
-.openerp .oe_secondary_submenu .oe_active a {
- color: white;
-}
-.openerp .oe_secondary_submenu .oe_active .oe_menu_label {
- background: #eeeeee;
- color: #7c7bad;
- text-shadow: 0 1px 1px white;
- -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
- -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
- box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
-}
-.openerp .oe_secondary_submenu .oe_active .oe_menu_counter {
- background: #eeeeee;
- color: #7c7bad;
- -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
- -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
- box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
-}
-.openerp .oe_secondary_submenu .oe_menu_toggler:before {
- width: 0;
- height: 0;
- display: inline-block;
- content: "&darr";
- text-indent: -99999px;
- vertical-align: top;
- margin-left: -12px;
- margin-top: 4px;
- margin-right: 4px;
- border-top: 4px solid transparent;
- border-bottom: 4px solid transparent;
- border-left: 4px solid #4c4c4c;
- filter: alpha(opacity=50);
- opacity: 0.5;
-}
-.openerp .oe_secondary_submenu .oe_menu_opened:before {
- margin-top: 6px;
- margin-left: -16px;
- margin-right: 4px;
- border-left: 4px solid transparent;
- border-right: 4px solid transparent;
- border-top: 4px solid #4c4c4c;
-}
-.openerp .oe_about {
- background-color: white;
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAYAAADgzO9IAAAAKUlEQVQIHWO8e/fufwYsgAUkJigoiCIF5DMyoYggcUiXgNnBiGQKmAkARpcEQeriln4AAAAASUVORK5CYII=);
- -moz-border-radius: 0 0 2px 2px;
- -webkit-border-radius: 0 0 2px 2px;
- border-radius: 0 0 2px 2px;
-}
-.openerp .oe_about a {
- color: #7c7bad;
-}
-.openerp .oe_about a:hover {
- text-decoration: underline;
-}
-.openerp .oe_about a:focus {
- outline: none;
-}
-.openerp .oe_about .oe_logo {
- margin-left: -6px;
-}
-.openerp .oe_about .oe_bottom {
- position: absolute;
- top: 50%;
- left: 0;
- right: 0;
- bottom: 0;
- text-shadow: 0 1px 1px #999999;
- background-color: #b41616;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#b41616), to(#600606));
- background-image: -webkit-linear-gradient(top, #b41616, #600606);
- background-image: -moz-linear-gradient(top, #b41616, #600606);
- background-image: -ms-linear-gradient(top, #b41616, #600606);
- background-image: -o-linear-gradient(top, #b41616, #600606);
- background-image: linear-gradient(to bottom, #b41616, #600606);
- color: #eeeeee;
- padding: 0 16px;
- -moz-border-radius: 0 0 2px 2px;
- -webkit-border-radius: 0 0 2px 2px;
- border-radius: 0 0 2px 2px;
-}
-.openerp .oe_about .oe_bottom a {
- color: #eeeeee;
-}
-.openerp .oe_application {
- width: 100%;
-}
-.openerp .oe_application a {
- color: #7c7bad;
-}
-.openerp .oe_application a:hover {
- text-decoration: underline;
-}
-.openerp .oe_application > div {
- height: 100%;
-}
-.openerp .oe_application .oe_breadcrumb_item:not(:last-child) {
- display: inline-block;
- max-width: 7em;
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
-}
-.openerp .oe_view_manager .oe_view_manager_body {
- height: inherit;
-}
-.openerp .oe_view_manager .oe_view_manager_view_kanban {
- height: inherit;
-}
-.openerp .oe_view_manager table.oe_view_manager_header {
- width: 100%;
- table-layout: fixed;
-}
-.openerp .oe_view_manager table.oe_view_manager_header .oe_header_row {
- clear: both;
- text-shadow: 0 1px 1px white;
-}
-.openerp .oe_view_manager table.oe_view_manager_header .oe_header_row:last-child td {
- padding-top: 0;
-}
-.openerp .oe_view_manager table.oe_view_manager_header .oe_header_row:first-child td {
- padding-top: 8px;
-}
-.openerp .oe_view_manager table.oe_view_manager_header .oe_view_manager_sidebar {
- margin: 0px auto;
- text-align: center;
-}
-.openerp .oe_view_manager table.oe_view_manager_header td {
- line-height: 26px;
-}
-.openerp .oe_view_manager table.oe_view_manager_header h2 {
- font-size: 18px;
- margin: 0;
- float: left;
-}
-.openerp .oe_view_manager table.oe_view_manager_header h2 a {
- color: #7c7bad;
-}
-.openerp .oe_view_manager table.oe_view_manager_header .oe_dropdown_menu {
- line-height: normal;
-}
-.openerp .oe_view_manager table.oe_view_manager_header .oe_button_group {
- display: inline-block;
- border: 1px solid #ababab;
- -moz-border-radius: 5px;
- -webkit-border-radius: 5px;
- border-radius: 5px;
-}
-.openerp .oe_view_manager table.oe_view_manager_header .oe_button_group li {
- float: left;
- border-right: 1px solid #ababab;
-}
-.openerp .oe_view_manager table.oe_view_manager_header .oe_button_group li:last-child {
- border: none;
-}
-.openerp .oe_view_manager table.oe_view_manager_header .oe_button_group a {
- color: #4c4c4c;
-}
-.openerp .oe_view_manager table.oe_view_manager_header .oe_button_group a:hover {
- text-decoration: none;
-}
-.openerp .oe_view_manager table.oe_view_manager_header .oe_button_group .active {
- background: #999999;
- -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3) inset;
- -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3) inset;
- box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3) inset;
-}
-.openerp .oe_view_manager table.oe_view_manager_header .oe_button_group .active a {
- color: white;
- text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
-}
-.openerp .oe_view_manager table.oe_view_manager_header .oe_view_manager_buttons {
- white-space: nowrap;
-}
-.openerp .oe_view_manager .oe_view_manager_pager {
- line-height: 26px;
-}
-.openerp .oe_view_manager .oe_view_manager_pager .oe_list_pager_single_page .oe_pager_group {
- display: none;
-}
-.openerp .oe_view_manager .oe_pager_value {
- float: left;
- margin-right: 8px;
-}
-.openerp .oe_view_manager ul.oe_pager_group {
- padding: 0;
- margin: 0;
-}
-.openerp .oe_view_manager .oe_pager_group {
- float: left;
- height: 24px;
- line-height: 24px;
- display: inline-block;
- border: 1px solid #ababab;
- cursor: pointer;
- -moz-border-radius: 5px;
- -webkit-border-radius: 5px;
- border-radius: 5px;
-}
-.openerp .oe_view_manager .oe_pager_group li {
- height: 24px;
- line-height: 24px;
- padding: 0;
- margin: 0;
- list-style-type: none;
- float: left;
- border-right: 1px solid #ababab;
-}
-.openerp .oe_view_manager .oe_pager_group li:last-child {
- border: none;
-}
-.openerp .oe_view_manager .oe_pager_group a {
- color: #4c4c4c;
- padding: 0 8px;
-}
-.openerp .oe_view_manager .oe_pager_group a:hover {
- text-decoration: none;
-}
-.openerp .oe_view_manager .oe_pager_group .active {
- background: #999999;
- -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3) inset;
- -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3) inset;
- box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3) inset;
-}
-.openerp .oe_view_manager .oe_pager_group .active a {
- color: white;
- text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
-}
-.openerp .oe_view_manager .oe_view_manager_switch {
- padding: 0;
- margin: 0 0 0 8px;
-}
-.openerp .oe_view_manager .oe_view_manager_switch li {
- margin: 0;
- width: 24px;
- height: 24px;
- line-height: 16px;
- padding: 0;
- text-align: center;
- list-style-type: none;
-}
-.openerp .oe_view_manager .oe_view_manager_switch li a {
- position: relative;
-}
-.openerp .oe_view_manager .oe_view_manager_switch .oe_vm_switch_list:after, .openerp .oe_view_manager .oe_view_manager_switch .oe_vm_switch_tree:after {
- padding: 2px;
- content: "i";
-}
-.openerp .oe_view_manager .oe_view_manager_switch .oe_vm_switch_form:after {
- content: "m";
-}
-.openerp .oe_view_manager .oe_view_manager_switch .oe_vm_switch_graph:after {
- font-family: "mnmliconsRegular" !important;
- font-size: 21px;
- font-weight: 300 !important;
- content: "}";
- top: -2px;
- position: relative;
-}
-.openerp .oe_view_manager .oe_view_manager_switch .oe_vm_switch_gantt:after {
- font-family: "mnmliconsRegular" !important;
- font-size: 21px;
- font-weight: 300 !important;
- content: "y";
- top: -2px;
- position: relative;
-}
-.openerp .oe_view_manager .oe_view_manager_switch .oe_vm_switch_calendar:after {
- content: "P";
-}
-.openerp .oe_view_manager .oe_view_manager_switch .oe_vm_switch_kanban:after {
- content: "k";
-}
-.openerp .oe_view_manager .oe_view_manager_switch .oe_vm_switch_diagram:after {
- content: "f";
-}
-.openerp .oe_view_manager_current {
- height: 100%;
-}
-.openerp .oe_view_manager_current > .oe_view_manager_header {
- border-bottom: 1px solid #cacaca;
- background-color: #fcfcfc;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#fcfcfc), to(#dedede));
- background-image: -webkit-linear-gradient(top, #fcfcfc, #dedede);
- background-image: -moz-linear-gradient(top, #fcfcfc, #dedede);
- background-image: -ms-linear-gradient(top, #fcfcfc, #dedede);
- background-image: -o-linear-gradient(top, #fcfcfc, #dedede);
- background-image: linear-gradient(to bottom, #fcfcfc, #dedede);
- -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.4), 0 0 9px rgba(0, 0, 0, 0.1);
- -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.4), 0 0 9px rgba(0, 0, 0, 0.1);
- box-shadow: 0 1px 0 rgba(255, 255, 255, 0.4), 0 0 9px rgba(0, 0, 0, 0.1);
-}
-.openerp .oe_view_manager_current > .oe_view_manager_header .oe_header_row td {
- padding: 8px;
-}
-.openerp .oe_view_manager_current > .oe_view_manager_header .oe_header_row:first-child td {
- padding-top: 8px;
-}
-.openerp .oe_view_manager_inline, .openerp .oe_view_manager_inlineview {
- height: 100%;
-}
-.openerp .oe_view_manager_inline > .oe_view_manager_header, .openerp .oe_view_manager_inlineview > .oe_view_manager_header {
- display: none;
-}
-.openerp .oe_popup_form > .oe_formview > .oe_form_pager {
- display: none !important;
-}
-.openerp .oe_searchview {
- cursor: text;
- position: relative;
- float: right;
- padding: 1px 0;
- line-height: 18px;
- width: 400px;
- border: 1px solid #ababab;
- background: white;
- -moz-border-radius: 13px;
- -webkit-border-radius: 13px;
- border-radius: 13px;
- -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) inset;
- -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) inset;
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) inset;
-}
-.openerp .oe_searchview input, .openerp .oe_searchview textarea {
- padding: 3px;
- height: 14px;
- font-size: 12px;
- line-height: 18px;
-}
-.openerp .oe_searchview.oe_focused {
- border-color: #a6a6fe;
- -moz-box-shadow: 0 1px 2px #a6a6fe inset;
- -webkit-box-shadow: 0 1px 2px #a6a6fe inset;
- box-shadow: 0 1px 2px #a6a6fe inset;
-}
-.openerp .oe_searchview .oe_searchview_clear {
- cursor: pointer;
- position: absolute;
- top: 0;
- right: 18px;
- width: 15px;
- height: 100%;
- background: url(../img/search_reset.gif) center center no-repeat;
-}
-.openerp .oe_searchview .oe_searchview_unfold_drawer {
- position: absolute;
- top: 0;
- right: 0;
- height: 100%;
- padding: 0 7px 0 4px;
- color: #cccccc;
- cursor: pointer;
-}
-.openerp .oe_searchview .oe_searchview_unfold_drawer:hover {
- color: #999999;
-}
-.openerp .oe_searchview .oe_searchview_unfold_drawer:before {
- position: absolute;
- top: 10px;
- right: 7px;
- width: 0;
- height: 0;
- display: inline-block;
- content: "";
- vertical-align: top;
- border-top: 5px solid #4c4c4c;
- border-left: 5px solid transparent;
- border-right: 5px solid transparent;
- filter: alpha(opacity=50);
- opacity: 0.5;
-}
-.openerp .oe_searchview .oe_searchview_search {
- font-size: 1px;
- letter-spacing: -1px;
- color: transparent;
- font-weight: normal;
- -moz-box-shadow: none;
- -webkit-box-shadow: none;
- box-shadow: none;
- -moz-border-radius: 0;
- -webkit-border-radius: 0;
- border-radius: 0;
- position: absolute;
- left: 3px;
- top: 1px;
- padding: 0;
- border: none;
- background: transparent;
-}
-.openerp .oe_searchview .oe_searchview_search:before {
- font: 21px "mnmliconsRegular";
- content: "r";
- color: #a3a3a3;
-}
-.openerp .oe_searchview .oe_searchview_facets {
- min-height: 22px;
- margin-left: 15px;
-}
-.openerp .oe_searchview .oe_searchview_facets * {
- vertical-align: top;
- display: inline-block;
- line-height: 17px;
-}
-.openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet {
- height: 18px;
- margin: 1px 0;
- font-size: 11px;
-}
-.openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet:focus {
- outline: none;
-}
-.openerp .oe_searchview .oe_searchview_facets .oe_searchview_input {
- padding: 0 0 0 6px;
- font-size: 12px;
- height: 16px;
- margin-top: 3px;
-}
-.openerp .oe_searchview .oe_searchview_facets .oe_searchview_input:focus {
- outline: none;
-}
-.openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet {
- position: relative;
- cursor: pointer;
- padding: 0;
- -webkit-font-smoothing: auto;
-}
-.openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet:focus {
- border-color: #a6a6fe;
- -moz-box-shadow: 0 0 3px 1px #a6a6fe;
- -webkit-box-shadow: 0 0 3px 1px #a6a6fe;
- box-shadow: 0 0 3px 1px #a6a6fe;
-}
-.openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet .oe_facet_values {
- background: #f0f0fa;
- -moz-border-radius: 0 3px 3px 0;
- -webkit-border-radius: 0 3px 3px 0;
- border-radius: 0 3px 3px 0;
-}
-.openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet .oe_facet_category, .openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet .oe_facet_value {
- height: 18px;
- padding: 0 4px;
-}
-.openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet .oe_facet_category {
- color: white;
- text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
-}
-.openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet .oe_facet_category.oe_i {
- font-size: 16px;
-}
-.openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet .oe_facet_value {
- border-left: 1px solid #afafb6;
- text-shadow: 0 1px 1px white;
- color: #4c4c4c;
-}
-.openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet .oe_facet_value:last-child {
- padding-right: 16px;
-}
-.openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet .oe_facet_remove {
- position: absolute;
- top: 3px;
- right: 3px;
- color: #8786b7;
- line-height: 8px;
- width: 12px;
- height: 12px;
- padding-top: 1px;
- text-align: center;
- font-weight: bold;
- cursor: pointer;
- text-shadow: 0 1px 1px white;
-}
-.openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet .oe_facet_remove:hover {
- color: white;
- background: #8786b7;
- text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
- -moz-border-radius: 2px;
- -webkit-border-radius: 2px;
- border-radius: 2px;
-}
-.openerp .oe_searchview.oe_searchview_open_drawer .oe_searchview_drawer {
- display: block;
-}
-.openerp .oe_searchview .oe_searchview_drawer {
- position: absolute;
- z-index: 100;
- margin-top: 4px;
- top: 100%;
- right: -1px;
- background-color: white;
- min-width: 100%;
- display: none;
- border: 1px solid #afafb6;
- text-align: left;
- -moz-border-radius: 4px;
- -webkit-border-radius: 4px;
- border-radius: 4px;
- -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
- -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
- box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
-}
-.openerp .oe_searchview .oe_searchview_drawer > div {
- border-top: 1px solid #cccccc;
- margin: 0;
- padding: 8px;
-}
-.openerp .oe_searchview .oe_searchview_drawer > div:first-child {
- border-top: none;
- margin: 0;
-}
-.openerp .oe_searchview .oe_searchview_drawer h3 {
- margin: 8px 4px 4px 12px;
- color: #7c7bad;
- font-size: 13px;
-}
-.openerp .oe_searchview .oe_searchview_drawer h4, .openerp .oe_searchview .oe_searchview_drawer h4 * {
- margin: 0;
- cursor: pointer;
- font-weight: normal;
- display: inline-block;
-}
-.openerp .oe_searchview .oe_searchview_drawer h4:hover, .openerp .oe_searchview .oe_searchview_drawer h4 *:hover {
- background-color: #f0f0fa;
-}
-.openerp .oe_searchview .oe_searchview_drawer h4:before {
- content: "▸ ";
- color: #a3a3a3;
-}
-.openerp .oe_searchview .oe_searchview_drawer button {
- margin: 4px 0;
-}
-.openerp .oe_searchview .oe_searchview_drawer .button {
- border: none;
- background: transparent;
- padding: 0 2px;
- -moz-box-shadow: none;
- -webkit-box-shadow: none;
- box-shadow: none;
- -moz-border-radius: 0;
- -webkit-border-radius: 0;
- border-radius: 0;
-}
-.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_section {
- display: table;
- width: 100%;
-}
-.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_section > div {
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- -ms-box-sizing: border-box;
- box-sizing: border-box;
- display: table-cell;
- width: 50%;
-}
-.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_section ul {
- margin: 0 8px 8px;
- padding: 0;
- list-style: none;
-}
-.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_section li {
- list-style: none;
- padding: 2px 4px 2px 20px;
- line-height: 14px;
- color: inherit;
- cursor: pointer;
- position: relative;
-}
-.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_section li.oe_selected:before {
- content: "W";
- font-family: "entypoRegular" !important;
- font-size: 24px;
- font-weight: 300 !important;
- color: #a3a3a3;
- position: absolute;
- left: 4px;
- top: -2px;
-}
-.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_section li:hover {
- background-color: #f0f0fa;
-}
-.openerp .oe_searchview .oe_searchview_drawer form {
- margin-left: 12px;
-}
-.openerp .oe_searchview .oe_searchview_drawer form p {
- margin: 4px 0;
- line-height: 18px;
-}
-.openerp .oe_searchview .oe_searchview_drawer form button {
- margin: 0 0 8px 0;
-}
-.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_custom {
- padding: 0 8px 8px 8px;
-}
-.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_custom form {
- display: none;
-}
-.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_custom li {
- cursor: pointer;
- position: relative;
- line-height: 14px;
- padding: 2px 4px 2px 20px;
-}
-.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_custom li:hover {
- background-color: #f0f0fa;
-}
-.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_custom li button {
- position: absolute;
- top: 0;
- right: 5px;
-}
-.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_dashboard form {
- display: none;
- margin-top: 2px;
-}
-.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_advanced form {
- display: none;
- margin-top: 8px;
-}
-.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_advanced button.oe_add_condition:before {
- content: "Z";
- font-family: "entypoRegular" !important;
- font-size: 24px;
- font-weight: 300 !important;
- margin-right: 4px;
-}
-.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_advanced ul {
- list-style: none;
- padding: 0;
-}
-.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_advanced li {
- position: relative;
- list-style: none;
- margin: 0;
- white-space: nowrap;
-}
-.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_advanced li:first-child .searchview_extended_prop_or {
- visibility: hidden;
-}
-.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_advanced .searchview_extended_prop_or {
- opacity: 0.5;
- margin-left: -14px;
-}
-.openerp .oe_searchview .oe_searchview_drawer .oe_opened h4:before {
- content: "▾ ";
- position: relative;
- top: -1px;
-}
-.openerp .oe_searchview .oe_searchview_drawer .oe_opened form {
- display: block;
-}
-.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_custom_delete, .openerp .oe_searchview .oe_searchview_drawer .searchview_extended_delete_prop {
- display: inline-block;
- width: 12px;
- height: 12px;
- line-height: 12px;
- padding: 1px;
- color: #8786b7;
- line-height: 8px;
- text-align: center;
- font-weight: bold;
- text-shadow: 0 1px 1px white;
-}
-.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_custom_delete:hover, .openerp .oe_searchview .oe_searchview_drawer .searchview_extended_delete_prop:hover {
- text-decoration: none;
- color: white;
- background: #8786b7;
- text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
- -moz-border-radius: 2px;
- -webkit-border-radius: 2px;
- border-radius: 2px;
-}
-.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_custom_delete {
- display: none;
- position: absolute;
- bottom: 1px;
- right: 4px;
-}
-.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_custom_private:hover .oe_searchview_custom_delete, .openerp .oe_searchview .oe_searchview_drawer .oe_searchview_custom_public:hover .oe_searchview_custom_delete {
- display: inline-block;
-}
-.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_custom_public:after {
- content: ",";
- font-family: "entypoRegular" !important;
- font-size: 22px;
- font-weight: 300 !important;
- margin: 0 0 0 4px;
- padding: 0;
-}
-.openerp .oe_view_nocontent {
- padding: 15px;
- margin-top: 0;
- color: #777777;
- font-size: 125%;
- max-width: 700px;
-}
-.openerp .oe_view_nocontent .oe_view_nocontent_create {
- background: transparent url(/web/static/src/img/view_empty_arrow.png) no-repeat 7px 0;
- margin-top: 0;
- padding-top: 35px;
- min-height: 28px;
- color: #4c4c4c;
-}
-.openerp .oe_view_nocontent > p {
- padding-left: 95px;
-}
-.openerp .oe_view_nocontent .oe_empty_custom_dashboard {
- background: transparent url(/web/static/src/img/graph_background.png) no-repeat 0 0;
- margin-top: -15px;
- padding: 100px 0 0 137px;
- min-height: 327px;
- margin-left: -15px;
-}
-.openerp .oe_formview {
- background: white;
-}
-.openerp .oe_form_dropdown_section {
- position: relative;
- display: inline-block;
-}
-.openerp .oe_form_invalid input, .openerp .oe_form_invalid select, .openerp .oe_form_invalid textarea {
- background-color: #ff6666 !important;
- border: 1px solid #dd0000 !important;
-}
-.openerp .oe_view_manager_current .oe_form_editable .oe_highlight {
- color: #404040;
- background: none;
-}
-.openerp .oe_view_manager_current .oe_form_editable button.oe_highlight {
- background-color: #efefef;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#efefef), to(#d8d8d8));
- background-image: -webkit-linear-gradient(top, #efefef, #d8d8d8);
- background-image: -moz-linear-gradient(top, #efefef, #d8d8d8);
- background-image: -ms-linear-gradient(top, #efefef, #d8d8d8);
- background-image: -o-linear-gradient(top, #efefef, #d8d8d8);
- background-image: linear-gradient(to bottom, #efefef, #d8d8d8);
- -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset;
- -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset;
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset;
-}
-.openerp .oe_view_manager_current .oe_form_editable button.oe_highlight:active {
- background-color: #e3e3e3;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#e3e3e3), to(#f6f6f6));
- background-image: -webkit-linear-gradient(top, #e3e3e3, #f6f6f6);
- background-image: -moz-linear-gradient(top, #e3e3e3, #f6f6f6);
- background-image: -ms-linear-gradient(top, #e3e3e3, #f6f6f6);
- background-image: -o-linear-gradient(top, #e3e3e3, #f6f6f6);
- background-image: linear-gradient(to bottom, #e3e3e3, #f6f6f6);
- -moz-box-shadow: none;
- -webkit-box-shadow: none;
- box-shadow: none;
-}
-.openerp .oe_view_manager_current .oe_form_editable button.oe_highlight:hover {
- background-color: #f6f6f6;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#f6f6f6), to(#e3e3e3));
- background-image: -webkit-linear-gradient(top, #f6f6f6, #e3e3e3);
- background-image: -moz-linear-gradient(top, #f6f6f6, #e3e3e3);
- background-image: -ms-linear-gradient(top, #f6f6f6, #e3e3e3);
- background-image: -o-linear-gradient(top, #f6f6f6, #e3e3e3);
- background-image: linear-gradient(to bottom, #f6f6f6, #e3e3e3);
- -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset;
- -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset;
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset;
-}
-.openerp .oe_form_invisible {
- display: none !important;
-}
-.openerp .oe_form_readonly .oe_edit_only, .openerp .oe_form_readonly .oe_form_field:empty {
- display: none !important;
-}
-.openerp .oe_form_readonly .oe_form .oe_form_field_date {
- width: auto;
-}
-.openerp .oe_form_nosheet {
- margin: 16px;
-}
-.openerp .oe_form_nosheet > header {
- margin: -16px -16px 0 -16px;
- padding: 0;
-}
-.openerp .oe_form_sheetbg {
- padding: 16px 0;
-}
-.openerp .oe_form_sheet_width {
- min-width: 650px;
- max-width: 860px;
- margin: 0 auto;
-}
-.openerp .oe_form_sheet {
- background: white;
- min-height: 330px;
- padding: 16px;
-}
-.openerp .oe_application .oe_form_sheetbg {
- background: url(/web/static/src/img/form_sheetbg.png);
- border-bottom: 1px solid #dddddd;
-}
-.openerp .oe_application .oe_form_sheet {
- border: 1px solid #c8c8d3;
- -moz-box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
- -webkit-box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
- box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
-}
-.openerp .oe_application .oe_form_sheet .ui-tabs {
- margin: 0 -16px;
-}
-.openerp .oe_application .oe_form_sheet .oe_notebook_page {
- padding: 0 16px;
-}
-.openerp .oe_form header {
- position: relative;
- border-bottom: 1px solid #cacaca;
- padding-left: 2px;
- background-color: #fcfcfc;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#fcfcfc), to(#dedede));
- background-image: -webkit-linear-gradient(top, #fcfcfc, #dedede);
- background-image: -moz-linear-gradient(top, #fcfcfc, #dedede);
- background-image: -ms-linear-gradient(top, #fcfcfc, #dedede);
- background-image: -o-linear-gradient(top, #fcfcfc, #dedede);
- background-image: linear-gradient(to bottom, #fcfcfc, #dedede);
-}
-.openerp .oe_form header > span {
- margin-left: 4px;
-}
-.openerp .oe_form header ul {
- display: inline-block;
- float: right;
-}
-.openerp .oe_form header .oe_button {
- margin: 3px 2px 1px;
-}
-.openerp .oe_form header .oe_button:first-child {
- margin-left: 6px;
-}
-.openerp .oe_form header .oe_tags {
- margin: 5px 0 0 5px;
- width: 400px;
- padding-bottom: 0;
-}
-.openerp .oe_form div.oe_chatter {
- min-width: 650px;
- max-width: 860px;
- margin: 0 auto;
- padding: 16px 0 48px;
-}
-.openerp .oe_form div.oe_form_configuration p, .openerp .oe_form div.oe_form_configuration ul, .openerp .oe_form div.oe_form_configuration ol {
- color: #aaaaaa;
- max-width: 650px;
-}
-.openerp .oe_form div.oe_form_configuration label {
- min-width: 150px;
-}
-.openerp .oe_form div.oe_form_configuration .oe_form_group_cell_label {
- padding: 1px 0;
-}
-.openerp .oe_form div.oe_form_configuration .oe_form_group_cell div div {
- padding: 1px 0;
-}
-.openerp .oe_form .oe_subtotal_footer {
- width: 1% !important;
-}
-.openerp .oe_form .oe_subtotal_footer td.oe_form_group_cell {
- text-align: right;
- padding: 0 !important;
-}
-.openerp .oe_form .oe_subtotal_footer td.oe_form_group_cell_label {
- border-right: none;
-}
-.openerp .oe_form .oe_subtotal_footer .oe_subtotal_footer_separator {
- width: 108px;
- border-top: 1px solid #cacaca;
- margin-top: 4px;
- padding-top: 4px;
- font-weight: bold;
- font-size: 18px;
-}
-.openerp .oe_form .oe_subtotal_footer label:after {
- content: ":";
-}
-.openerp .oe_form .oe_subtotal_footer label.oe_subtotal_footer_separator {
- font-weight: bold !important;
- padding: 2px 11px 2px 0px !important;
-}
-.openerp .oe_form .oe_subtotal_footer label.oe_form_label_help {
- font-weight: normal;
-}
-.openerp .oe_form .oe_form_button {
- margin: 2px;
-}
-.openerp .oe_form td.oe_form_group_cell_label {
- border-right: 1px solid #dddddd;
- padding: 2px 0px;
-}
-.openerp .oe_form td.oe_form_group_cell_label label {
- line-height: 18px;
- display: block;
- min-width: 140px;
-}
-.openerp .oe_form td.oe_form_group_cell + .oe_form_group_cell {
- padding: 2px 0 2px 8px;
-}
-.openerp .oe_form .oe_form_group {
- width: 100%;
- margin: 9px 0 9px 0;
-}
-.openerp .oe_form .oe_form_group .oe_form_group_cell.oe_group_right {
- padding-left: 20px;
-}
-.openerp .oe_form .oe_form_label_help[for], .openerp .oe_form .oe_form_label[for] {
- font-weight: bold;
- white-space: nowrap;
- padding-right: 8px;
-}
-.openerp .oe_form .oe_form_label_help[for] span, .openerp .oe_form .oe_form_label[for] span {
- font-size: 80%;
- color: darkGreen;
- vertical-align: top;
- position: relative;
- top: -4px;
- padding: 0 2px;
-}
-.openerp .oe_horizontal_border {
- border-bottom: 1px solid black;
-}
-.openerp .oe_horizontal_separator {
- font-weight: bold;
- font-size: 20px;
- margin: 15px 0px 10px 0px;
- color: #7c7bad;
-}
-.openerp .oe_horizontal_separator:empty {
- height: 5px;
-}
-.openerp .oe_vertical_separator {
- border-left: 1px solid #666666;
- padding: 0 4px 0 4px;
-}
-.openerp .oe_form_field_progressbar {
- display: inline-block;
- min-width: 70px;
-}
-.openerp .oe_form_field_progressbar.ui-progressbar {
- height: 22px;
- font-size: 10px;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- -ms-box-sizing: border-box;
- box-sizing: border-box;
- border: 1px solid #999999;
- -moz-border-radius: 3px;
- -webkit-border-radius: 3px;
- border-radius: 3px;
- background: white;
- min-width: 50px;
-}
-.openerp .oe_form_field_progressbar.ui-progressbar span {
- position: absolute;
- margin-left: 10px;
- font-weight: bold;
-}
-.openerp .oe_form_field_progressbar.ui-progressbar .ui-widget-header {
- background: #cccccc url(/web/static/lib/jquery.ui/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x;
-}
-.openerp .oe_form .oe_form_field_text {
- width: 100%;
-}
-.openerp .oe_form .oe_form_field_char input,
-.openerp .oe_form .oe_form_field_url input,
-.openerp .oe_form .oe_form_field_email input,
-.openerp .oe_form .oe_form_field_text textarea,
-.openerp .oe_form .oe_form_field_selection select {
- width: 100%;
-}
-.openerp .oe_form .oe_form_field_text.oe_inline, .openerp .oe_form .oe_form_field_text.oe_inline > textarea {
- width: 500px;
-}
-.openerp .oe_form h1, .openerp .oe_form h2, .openerp .oe_form h3, .openerp .oe_form h4, .openerp .oe_form h5, .openerp .oe_form h6 {
- margin: 0 0 4px 0;
-}
-.openerp .oe_form h1 input, .openerp .oe_form h2 input, .openerp .oe_form h3 input, .openerp .oe_form h4 input, .openerp .oe_form h5 input, .openerp .oe_form h6 input {
- height: inherit !important;
- font-size: inherit;
-}
-.openerp .oe_form .oe_form_field {
- width: 100%;
- display: inline-block;
- padding: 2px 2px 2px 0px;
-}
-.openerp .oe_form .oe_form_field input {
- margin: 0px;
-}
-.openerp .oe_form input[type="text"], .openerp .oe_form input[type="password"], .openerp .oe_form input[type="file"], .openerp .oe_form select {
- height: 22px;
- padding-top: 2px;
-}
-.openerp .oe_form input[type="text"], .openerp .oe_form input[type="password"], .openerp .oe_form input[type="file"], .openerp .oe_form select, .openerp .oe_form textarea {
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- -ms-box-sizing: border-box;
- box-sizing: border-box;
- background: white;
- min-width: 60px;
- color: #1f1f1f;
-}
-.openerp .oe_form input[readonly], .openerp .oe_form select[readonly], .openerp .oe_form textarea[readonly], .openerp .oe_form input[disabled], .openerp .oe_form select[disabled] {
- background: #e5e5e5 !important;
- color: #666666;
-}
-.openerp .oe_form textarea[disabled] {
- border: none;
- padding-left: 8px;
- -moz-box-shadow: none;
- -webkit-box-shadow: none;
- box-shadow: none;
- -moz-border-radius: 0px;
- -webkit-border-radius: 0px;
- border-radius: 0px;
-}
-.openerp .oe_form textarea.oe_inline[disabled] {
- border-left: 8px solid #eeeeee;
-}
-.openerp .oe_form .oe_form_field_url button img {
- vertical-align: top;
-}
-.openerp .oe_form .oe_form_field_date,
-.openerp .oe_form .oe_form_field_datetime {
- white-space: nowrap;
-}
-.openerp .oe_form .oe_form_field_boolean {
- padding-top: 4px;
- width: auto;
-}
-.openerp .oe_form .oe_datepicker_container {
- display: none;
-}
-.openerp .oe_form .oe_datepicker_root {
- display: inline-block;
-}
-.openerp .oe_form .oe_form_required input:not([disabled]):not([readonly]), .openerp .oe_form .oe_form_required select:not([disabled]):not([readonly]), .openerp .oe_form .oe_form_required textarea:not([disabled]):not([readonly]) {
- background-color: #d2d2ff !important;
-}
-.openerp .oe_form .oe_form_invalid input, .openerp .oe_form .oe_form_invalid select, .openerp .oe_form .oe_form_invalid textarea {
- background-color: #ff6666 !important;
- border: 1px solid #dd0000 !important;
-}
-.openerp .oe_form .oe_input_icon {
- cursor: pointer;
- margin: 3px 0 0 -21px;
- vertical-align: top;
-}
-.openerp .oe_form .oe_input_icon_disabled {
- position: absolute;
- cursor: default;
- opacity: 0.5;
- filter: alpha(opacity=50);
- right: 5px;
- top: 3px;
-}
-.openerp .oe_form .oe_form_field_with_button.oe_no_button > .oe_button {
- display: none;
-}
-.openerp .oe_form .oe_form_field_with_button:not(.oe_no_button) > .oe_button {
- float: right;
- -moz-border-radius: 0;
- -webkit-border-radius: 0;
- border-radius: 0;
- border-bottom-left-radius: 0px;
- height: 22px;
-}
-.openerp .oe_form .oe_form_field_with_button input {
- width: 100%;
-}
-.openerp .oe_form .oe_form_field_with_button > div {
- position: relative;
- overflow: hidden;
-}
-.openerp .oe_form .oe_form_embedded_html {
- position: relative;
- width: 600px;
- margin-left: 130px;
- margin-top: 32px;
- margin-bottom: 32px;
- text-align: justify;
-}
-.openerp .oe_form_editable .oe_form .oe_form_field_integer input {
- width: 6em !important;
-}
-.openerp .oe_form_editable .oe_form .oe_form_field_float input {
- width: 7em !important;
-}
-.openerp .oe_form_editable .oe_form .oe_form_field_date input {
- width: 7.5em !important;
-}
-.openerp .oe_form_editable .oe_form .oe_form_field_datetime input {
- width: 11.5em !important;
-}
-.openerp .oe_hidden_input_file {
- position: relative;
-}
-.openerp .oe_hidden_input_file input.oe_form_binary_file {
- z-index: 0;
- line-height: 0;
- font-size: 12px;
- position: absolute;
- top: 1px;
- left: 0;
- right: 0;
- opacity: 0;
- filter: alpha(opacity=0);
- -ms-filter: "alpha(opacity=0)";
- margin: 0;
- padding: 0;
-}
-.openerp .oe_form .oe_form_field_image {
- padding: 0;
- position: relative;
- display: inline-block;
- width: auto;
- vertical-align: top;
-}
-.openerp .oe_form .oe_form_field_image .oe_form_field_image_controls {
- position: absolute;
- top: 1px;
- padding: 4px;
- width: 100%;
- display: none;
- text-align: center;
- color: #eeeeee;
- background: rgba(37, 37, 37, 0.9);
- -moz-border-radius: 3px 3px 0 0;
- -webkit-border-radius: 3px 3px 0 0;
- border-radius: 3px 3px 0 0;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- -ms-box-sizing: border-box;
- box-sizing: border-box;
-}
-.openerp .oe_form .oe_form_field_image:hover .oe_form_field_image_controls {
- display: block;
-}
-.openerp .oe_form_field_many2one td:first-child {
- position: relative;
-}
-.openerp .oe_form_field_many2one span.oe_m2o_drop_down_button {
- position: absolute;
- top: 2px;
- right: 0px;
-}
-.openerp .oe_form_field_many2one .oe_m2o_cm_button {
- line-height: 14px;
- float: right;
- padding-left: 2px;
-}
-.openerp.ui-autocomplete li.oe_m2o_dropdown_option a {
- font-style: italic;
- padding-left: 2em;
-}
-.openerp.ui-autocomplete li:not(.oe_m2o_dropdown_option) + li.oe_m2o_dropdown_option {
- margin-top: 10px;
-}
-.openerp ul.oe_form_status, .openerp ul.oe_form_status_clickable {
- display: inline-block;
- margin: 0;
- padding: 0 18px 0 0;
-}
-.openerp ul.oe_form_status li, .openerp ul.oe_form_status_clickable li {
- display: inline-block;
- list-style-type: none;
- margin: 0 -18px 0 0;
- padding: 0;
- background-color: #fcfcfc;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#fcfcfc), to(#dedede));
- background-image: -webkit-linear-gradient(top, #fcfcfc, #dedede);
- background-image: -moz-linear-gradient(top, #fcfcfc, #dedede);
- background-image: -ms-linear-gradient(top, #fcfcfc, #dedede);
- background-image: -o-linear-gradient(top, #fcfcfc, #dedede);
- background-image: linear-gradient(to bottom, #fcfcfc, #dedede);
-}
-.openerp ul.oe_form_status li:first-child .label, .openerp ul.oe_form_status_clickable li:first-child .label {
- border-left: 1px solid #cacaca;
- padding-left: 14px;
-}
-.openerp ul.oe_form_status li:last-child, .openerp ul.oe_form_status_clickable li:last-child {
- border-right: 1px solid #cacaca;
-}
-.openerp ul.oe_form_status li:last-child .label, .openerp ul.oe_form_status_clickable li:last-child .label {
- padding-right: 14px;
-}
-.openerp ul.oe_form_status li:last-child .arrow, .openerp ul.oe_form_status_clickable li:last-child .arrow {
- display: none;
-}
-.openerp ul.oe_form_status li .label, .openerp ul.oe_form_status_clickable li .label {
- color: #4c4c4c;
- text-shadow: 0 1px 1px #fcfcfc, 0 -1px 1px #dedede;
- padding: 7px;
- display: inline-block;
- padding-left: 24px;
- margin: 0;
- position: relative;
-}
-.openerp ul.oe_form_status li .arrow, .openerp ul.oe_form_status_clickable li .arrow {
- width: 17px;
- display: inline-block;
- vertical-align: top;
- overflow: hidden;
- margin-left: -5px;
-}
-.openerp ul.oe_form_status li .arrow span, .openerp ul.oe_form_status_clickable li .arrow span {
- position: relative;
- width: 24px;
- height: 24px;
- display: inline-block;
- margin-left: -12px;
- margin-top: 3px;
- box-shadow: -1px 1px 2px rgba(255, 255, 255, 0.2), inset -1px 1px 1px rgba(0, 0, 0, 0.2);
- background-color: #dedede;
- background: -moz-linear-gradient(135deg, #dedede, #fcfcfc);
- background: -o-linear-gradient(135deg, #fcfcfc, #dedede);
- background: -webkit-gradient(linear, left top, right bottom, from(#fcfcfc), to(#dedede));
- -moz-border-radius: 3px;
- -webkit-border-radius: 3px;
- border-radius: 3px;
- -webkit-transform: rotate(45deg);
- -moz-transform: rotate(45deg);
- -ms-transform: rotate(45deg);
- -o-transform: rotate(45deg);
- transform: rotate(45deg);
-}
-.openerp ul.oe_form_status li.oe_active, .openerp ul.oe_form_status_clickable li.oe_active {
- background-color: #729fcf;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#729fcf), to(#3465a4));
- background-image: -webkit-linear-gradient(top, #729fcf, #3465a4);
- background-image: -moz-linear-gradient(top, #729fcf, #3465a4);
- background-image: -ms-linear-gradient(top, #729fcf, #3465a4);
- background-image: -o-linear-gradient(top, #729fcf, #3465a4);
- background-image: linear-gradient(to bottom, #729fcf, #3465a4);
-}
-.openerp ul.oe_form_status li.oe_active .arrow span, .openerp ul.oe_form_status_clickable li.oe_active .arrow span {
- background-color: #3465a4;
- background: -moz-linear-gradient(135deg, #3465a4, #729fcf);
- background: -o-linear-gradient(135deg, #729fcf, #3465a4);
- background: -webkit-gradient(linear, left top, right bottom, from(#729fcf), to(#3465a4));
-}
-.openerp ul.oe_form_status li.oe_active .label, .openerp ul.oe_form_status_clickable li.oe_active .label {
- color: white;
- text-shadow: 0 1px 1px #729fcf, 0 -1px 1px #3465a4;
-}
-.openerp ul.oe_form_status_clickable li {
- cursor: pointer;
-}
-.openerp ul.oe_form_status_clickable li:hover {
- background-color: #e8e8e8;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#cacaca));
- background-image: -webkit-linear-gradient(top, #e8e8e8, #cacaca);
- background-image: -moz-linear-gradient(top, #e8e8e8, #cacaca);
- background-image: -ms-linear-gradient(top, #e8e8e8, #cacaca);
- background-image: -o-linear-gradient(top, #e8e8e8, #cacaca);
- background-image: linear-gradient(to bottom, #e8e8e8, #cacaca);
-}
-.openerp ul.oe_form_status_clickable li:hover .label {
- text-shadow: 0 -1px 1px #fcfcfc, 0 1px 1px #dedede;
-}
-.openerp ul.oe_form_status_clickable li:hover .arrow span {
- background-color: #e8e8e8;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#cacaca));
- background-image: -webkit-linear-gradient(top, #e8e8e8, #cacaca);
- background-image: -moz-linear-gradient(top, #e8e8e8, #cacaca);
- background-image: -ms-linear-gradient(top, #e8e8e8, #cacaca);
- background-image: -o-linear-gradient(top, #e8e8e8, #cacaca);
- background-image: linear-gradient(to bottom, #e8e8e8, #cacaca);
-}
-.openerp ul.oe_form_status_clickable li .label {
- color: #7c7bad;
-}
-.openerp ul.oe_form_status_clickable li.oe_active:hover {
- background-color: #4c85c2;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#4c85c2), to(#284d7d));
- background-image: -webkit-linear-gradient(top, #4c85c2, #284d7d);
- background-image: -moz-linear-gradient(top, #4c85c2, #284d7d);
- background-image: -ms-linear-gradient(top, #4c85c2, #284d7d);
- background-image: -o-linear-gradient(top, #4c85c2, #284d7d);
- background-image: linear-gradient(to bottom, #4c85c2, #284d7d);
-}
-.openerp ul.oe_form_status_clickable li.oe_active:hover .label {
- text-shadow: 0 -1px 1px #729fcf, 0 1px 1px #3465a4;
-}
-.openerp ul.oe_form_status_clickable li.oe_active:hover .arrow span {
- background-color: #284d7d;
- background: -moz-linear-gradient(135deg, #284d7d, #4c85c2);
- background: -o-linear-gradient(135deg, #4c85c2, #284d7d);
- background: -webkit-gradient(linear, left top, right bottom, from(#4c85c2), to(#284d7d));
-}
-.openerp .oe_form .oe_form_field_one2many > .oe_view_manager .oe_list_pager_single_page {
- display: none;
-}
-.openerp .oe_form_field_one2many > .oe_view_manager .oe_list_pager_single_page, .openerp .oe_form_field_many2many > .oe_view_manager .oe_list_pager_single_page {
- display: none !important;
-}
-.openerp .oe_form_field_one2many .oe_form_field_one2many_list_row_add, .openerp .oe_form_field_many2many .oe_form_field_one2many_list_row_add {
- font-weight: bold;
-}
-.openerp .oe_form_field_one2many .oe_list_content > thead, .openerp .oe_form_field_many2many .oe_list_content > thead {
- border-bottom: 1px;
-}
-.openerp .oe_form_field_one2many .oe_list_content > tbody tr:nth-child(odd), .openerp .oe_form_field_many2many .oe_list_content > tbody tr:nth-child(odd) {
- background: transparent;
-}
-.openerp .oe_form_field_one2many .oe_list .oe_list_edit_row_save, .openerp .oe_form_field_many2many .oe_list .oe_list_edit_row_save {
- background: url(/web/static/src/img/iconset-b-remove.png) 50% 50% no-repeat;
-}
-.openerp .oe_form_field_one2many .oe_list .oe_list_edit_row_save:before, .openerp .oe_form_field_many2many .oe_list .oe_list_edit_row_save:before {
- visibility: hidden;
-}
-.openerp .oe_form_field_one2many > .oe_view_manager .oe_header_row_top, .openerp .oe_form_field_many2many > .oe_view_manager .oe_header_row_top {
- display: none;
-}
-.openerp .oe_form_field_one2many > .oe_view_manager .oe_view_manager_header2 td, .openerp .oe_form_field_many2many > .oe_view_manager .oe_view_manager_header2 td {
- padding: 0px 8px;
- line-height: 16px;
-}
-.openerp .oe_form_field_one2many > .oe_view_manager .oe_view_manager_header2 td .oe_i, .openerp .oe_form_field_many2many > .oe_view_manager .oe_view_manager_header2 td .oe_i {
- font-size: 13px;
-}
-.openerp .oe_form_field_one2many > .oe_view_manager .oe_view_manager_header2 td .oe_pager_group, .openerp .oe_form_field_many2many > .oe_view_manager .oe_view_manager_header2 td .oe_pager_group {
- height: auto;
- line-height: 16px;
-}
-.openerp .oe_form_field_one2many > .oe_view_manager .oe_view_manager_header2 td .oe_pager_group li, .openerp .oe_form_field_many2many > .oe_view_manager .oe_view_manager_header2 td .oe_pager_group li {
- height: auto;
- line-height: 16px;
-}
-.openerp .oe_form_field_one2many .oe_list_buttons.oe_editing .oe_list_save, .openerp .oe_form_field_many2many .oe_list_buttons.oe_editing .oe_list_save {
- visibility: hidden;
-}
-.openerp .oe_form_editable .oe_list_editable .oe_list_content td.oe_required {
- background-color: #d2d2ff;
-}
-.openerp .oe_form_editable .oe_list_editable .oe_list_content td.oe_readonly {
- background-color: #eeeeee;
-}
-.openerp .oe_list_editable .oe_list_content td.oe_list_field_cell {
- padding: 4px 6px 3px 6px;
-}
-.openerp .oe_list.oe_list_editable td.oe_list_record_delete {
- position: absolute;
-}
-.openerp .oe_list.oe_list_editable.oe_editing .oe_edition .oe_list_field_cell:not(.oe_readonly) {
- color: transparent;
-}
-.openerp .oe_list.oe_list_editable.oe_editing .oe_edition .oe_list_field_cell:not(.oe_readonly) * {
- visibility: hidden;
-}
-.openerp .oe_list.oe_list_editable.oe_editing .oe_m2o_drop_down_button {
- top: 5px;
-}
-.openerp .oe_list.oe_list_editable.oe_editing .oe_m2o_cm_button {
- display: none;
-}
-.openerp .oe_list.oe_list_editable.oe_editing .oe_form_field input, .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field textarea {
- height: 27px;
-}
-.openerp .oe_list.oe_list_editable.oe_editing .oe_form_field input, .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field textarea {
- -moz-border-radius: 0;
- -webkit-border-radius: 0;
- border-radius: 0;
- border: 1px solid #aaaaff;
- margin: 0;
-}
-.openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_form_field_float input, .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_form_view_integer input {
- text-align: right;
- width: 100% !important;
-}
-.openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_form_field_datetime > span, .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_form_field_date > span {
- width: 100% !important;
-}
-.openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_form_field_datetime input.oe_datepicker_master, .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_form_field_date input.oe_datepicker_master {
- width: 100% !important;
-}
-.openerp .oe_list.oe_list_editable.oe_editing .oe_form_field .oe_form_field_float, .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field .oe_form_view_integer, .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_form_field_datetime, .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_form_field_date {
- min-width: 0 !important;
- max-width: none !important;
-}
-.openerp .oe_list_group_name {
- white-space: nowrap;
-}
-.openerp .oe_form .oe_form_field_many2many > .oe_list .oe_list_pager_single_page {
- display: none;
-}
-.openerp .oe_list_buttons .oe_alternative {
- visibility: hidden;
-}
-.openerp .oe_list_buttons .oe_list_save, .openerp .oe_list_buttons .oe_list_discard {
- display: none;
-}
-.openerp .oe_list_buttons.oe_editing .oe_list_add {
- display: none;
-}
-.openerp .oe_list_buttons.oe_editing .oe_list_save {
- display: inline-block;
-}
-.openerp .oe_list_buttons.oe_editing .oe_list_discard {
- display: inline;
-}
-.openerp .oe_list_buttons.oe_editing .oe_alternative {
- visibility: visible;
-}
-.openerp .oe_list .oe_form .oe_form_nosheet {
- margin: 0;
- padding: 0;
- border: none;
-}
-.openerp .oe_list .oe_form .oe_form_field {
- width: auto;
- position: absolute;
- margin: 0 !important;
- padding: 0;
-}
-.openerp .oe_list .oe_list_content .oe_group_header {
- background-color: #fcfcfc;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#fcfcfc), to(#dedede));
- background-image: -webkit-linear-gradient(top, #fcfcfc, #dedede);
- background-image: -moz-linear-gradient(top, #fcfcfc, #dedede);
- background-image: -ms-linear-gradient(top, #fcfcfc, #dedede);
- background-image: -o-linear-gradient(top, #fcfcfc, #dedede);
- background-image: linear-gradient(to bottom, #fcfcfc, #dedede);
-}
-.openerp .oe_list_content {
- width: 100%;
-}
-.openerp .oe_list_content td:first-child:after, .openerp .oe_list_content th:first-child:after {
- border-width: 0;
-}
-.openerp .oe_list_content td.oe_number {
- text-align: right !important;
- max-width: 100px;
-}
-.openerp .oe_list_content > thead {
- border-bottom: 2px solid #cacaca;
- background: #eeeeee;
- vertical-align: top;
-}
-.openerp .oe_list_content td, .openerp .oe_list_content th {
- padding: 3px 6px;
- line-height: 18px;
-}
-.openerp .oe_list_content th.oe_sortable, .openerp .oe_list_content th.oe_sortable div {
- cursor: pointer;
-}
-.openerp .oe_list_content th.oe_sortable div {
- position: relative;
-}
-.openerp .oe_list_content th.oe_sortable div:after {
- position: absolute;
- right: 6px;
- content: "";
- margin-top: 7px;
- border-width: 0 4px 4px;
- border-style: solid;
- border-color: black transparent;
- visibility: hidden;
-}
-.openerp .oe_list_content th.sortup div:after {
- visibility: visible;
- filter: alpha(opacity=60);
- opacity: 0.6;
-}
-.openerp .oe_list_content th.sortdown div:after {
- border-bottom: none;
- border-left: 4px solid transparent;
- border-right: 4px solid transparent;
- border-top: 4px solid black;
- visibility: visible;
- -moz-box-shadow: none;
- -webkit-box-shadow: none;
- box-shadow: none;
- filter: alpha(opacity=60);
- opacity: 0.6;
-}
-.openerp .oe_list_content > tbody {
- cursor: pointer;
-}
-.openerp .oe_list_content > tbody > tr {
- height: 27px;
- border-top: 1px solid #dddddd;
-}
-.openerp .oe_list_content > tbody > tr > td.oe_list_field_cell {
- padding: 3px 6px;
- white-space: pre-line;
-}
-.openerp .oe_list_content > tbody > tr > td > button, .openerp .oe_list_content > tbody > tr > th > button {
- border: none;
- background: transparent;
- padding: 0;
- -moz-box-shadow: none;
- -webkit-box-shadow: none;
- box-shadow: none;
-}
-.openerp .oe_list_content > tbody > tr > td.oe_list_checkbox:first-child, .openerp .oe_list_content > tbody > tr th.oe_list_checkbox:first-child {
- width: 17px;
-}
-.openerp .oe_list_content > tbody > tr > td.oe_list_checkbox:first-child:after, .openerp .oe_list_content > tbody > tr th.oe_list_checkbox:first-child:after {
- border-width: 0;
-}
-.openerp .oe_list_content > tbody > tr:nth-child(odd) {
- background-color: #f0f0fa;
- background-color: #f0f0fa;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#f0f0fa), to(#eeeef6));
- background-image: -webkit-linear-gradient(top, #f0f0fa, #eeeef6);
- background-image: -moz-linear-gradient(top, #f0f0fa, #eeeef6);
- background-image: -ms-linear-gradient(top, #f0f0fa, #eeeef6);
- background-image: -o-linear-gradient(top, #f0f0fa, #eeeef6);
- background-image: linear-gradient(to bottom, #f0f0fa, #eeeef6);
-}
-.openerp .oe_list_content > tfoot {
- border-top: 2px solid #cacaca;
- border-bottom: 1px solid #cacaca;
- background: #eeeeee;
- font-weight: bold;
-}
-.openerp .oe_list_content .numeric {
- text-align: right;
- width: 82px;
-}
-.openerp .oe_list_content .numeric input {
- text-align: right;
-}
-.openerp .oe_list_content th.oe_list_header_handle {
- font-size: 1px;
- overflow: hidden;
- text-indent: -9001px;
-}
-.openerp .oe_list_content td.oe_list_field_handle {
- width: 1em;
- padding: 0 !important;
- cursor: ns-resize;
-}
-.openerp .oe_list_content td.oe_list_field_handle .oe_list_handle {
- font-size: 1px;
- letter-spacing: -1px;
- color: transparent;
- font-weight: normal;
- margin-right: 7px;
-}
-.openerp .oe_list_content td.oe_list_field_handle .oe_list_handle:before {
- font: 18px "entypoRegular";
- content: "}";
- color: #e0e0e0;
-}
-.openerp .oe_list_cannot_edit .oe_list_header_handle, .openerp .oe_list_cannot_edit .oe_list_field_handle {
- display: none !important;
- padding: 0 !important;
-}
-.openerp .oe_list_cannot_delete .oe_list_record_delete {
- display: none !important;
-}
-.openerp .tree_header {
- background-color: #f0f0f0;
- border-bottom: 1px solid #cacaca;
- color: #4c4c4c;
- padding: 5px;
- height: 25px;
-}
-.openerp .tree_header button {
- float: right;
- height: 27px;
- margin-right: 5px;
-}
-.openerp .oe-treeview-table {
- width: 100%;
- background-color: white;
- border-spacing: 0;
- color: #4c4c4c;
-}
-.openerp .oe-treeview-table th {
- padding: 10px;
- font-weight: bold;
- background-color: #f0f0f0;
- border-bottom: 2px solid #cacaca;
-}
-.openerp .oe-treeview-table td {
- cursor: pointer;
- vertical-align: middle;
- text-align: left;
- vertical-align: middle;
- height: 20px;
- padding-left: 4px;
- padding-right: 4px;
- border-right: 1px solid #e7e7e7;
-}
-.openerp .oe-treeview-table td.oe_number {
- text-align: right !important;
-}
-.openerp .oe-treeview-table tr {
- border-bottom: 1px solid #d6d6d6;
-}
-.openerp .oe-treeview-table tr:hover {
- background-color: #e7e7e7;
-}
-.openerp .oe-treeview-table span {
- font-size: 90%;
- font-weight: normal;
- white-space: nowrap;
- display: block;
-}
-.openerp .oe-treeview-table .treeview-tr.oe-treeview-first {
- background: transparent url(/web/static/src/img/expand.gif) 0 50% no-repeat;
-}
-.openerp .oe-treeview-table .oe_open .treeview-tr.oe-treeview-first {
- background-image: url(/web/static/src/img/collapse.gif);
-}
-.openerp .oe-treeview-table .treeview-tr.oe-treeview-first span, .openerp .oe-treeview-table .treeview-td.oe-treeview-first span {
- margin-left: 16px;
-}
-.openerp .oe_layout_debugging .oe_form_group {
- outline: 2px dashed green;
-}
-.openerp .oe_layout_debugging .oe_form_group_cell {
- outline: 1px solid blue;
-}
-.openerp .oe_layout_debugging .oe_form_group:hover, .openerp .oe_layout_debugging .oe_form_group_cell:hover {
- outline-color: red;
-}
-.openerp .oe_layout_debugging .oe_form_group_row_incomplete > td:last-child:after {
- content: "[Incomplete Row]";
- background: red;
- padding: 2px;
- font-weight: bold;
- color: white;
- float: right;
-}
-.openerp .oe_layout_debugging .oe_form_group_row_incomplete.oe_form_group_row_newline > td:last-child:after {
- content: "[newline]";
-}
-.openerp .oe_debug_view {
- float: left;
-}
-.openerp .oe_debug_view_log {
- font-size: 95%;
-}
-.openerp .oe_debug_view_log label {
- display: block;
- width: 49%;
- text-align: right;
- float: left;
- font-weight: bold;
- color: #000099;
-}
-.openerp .oe_debug_view_log span {
- display: block;
- width: 49%;
- float: right;
- color: #333333;
-}
+ */ }
+ .openerp :-moz-placeholder {
+ color: #afafb6 !important;
+ font-style: italic !important; }
+ .openerp ::-webkit-input-placeholder {
+ color: #afafb6 !important;
+ font-style: italic !important; }
+ .openerp a {
+ text-decoration: none;
+ cursor: pointer !important; }
+ .openerp table {
+ padding: 0;
+ border-collapse: collapse; }
+ .openerp thead {
+ font-weight: bold;
+ background-color: #f0f0f0; }
+ .openerp thead th {
+ border-left: 1px solid #dfdfdf; }
+ .openerp thead th:first-child {
+ border-left: none; }
+ .openerp thead th.null {
+ border-left: none; }
+ .openerp th, .openerp td {
+ padding: 0;
+ text-align: left; }
+ .openerp th {
+ font-weight: bold;
+ vertical-align: middle; }
+ .openerp td {
+ vertical-align: top; }
+ .openerp .zebra tbody tr:nth-child(odd) td {
+ background-color: #f0f0fa;
+ background-color: #f0f0fa;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#f0f0fa), to(#eeeef6));
+ background-image: -webkit-linear-gradient(top, #f0f0fa, #eeeef6);
+ background-image: -moz-linear-gradient(top, #f0f0fa, #eeeef6);
+ background-image: -ms-linear-gradient(top, #f0f0fa, #eeeef6);
+ background-image: -o-linear-gradient(top, #f0f0fa, #eeeef6);
+ background-image: linear-gradient(to bottom, #f0f0fa, #eeeef6); }
+ .openerp .zebra tbody tr:hover td {
+ background-color: #eeeeee;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#eeeeee), to(#dedede));
+ background-image: -webkit-linear-gradient(top, #eeeeee, #dedede);
+ background-image: -moz-linear-gradient(top, #eeeeee, #dedede);
+ background-image: -ms-linear-gradient(top, #eeeeee, #dedede);
+ background-image: -o-linear-gradient(top, #eeeeee, #dedede);
+ background-image: linear-gradient(to bottom, #eeeeee, #dedede); }
+ .openerp input, .openerp textarea, .openerp select {
+ padding: 2px 4px;
+ border: 1px solid #cccccc;
+ -moz-border-radius: 3px;
+ -webkit-border-radius: 3px;
+ border-radius: 3px;
+ background: white; }
+ .openerp img {
+ vertical-align: middle; }
+ .openerp h4 {
+ margin: 4px 0; }
+ .openerp a.button:link, .openerp a.button:visited, .openerp button, .openerp input[type='submit'], .openerp .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button {
+ display: inline-block;
+ border: 1px solid rgba(0, 0, 0, 0.4);
+ color: #4c4c4c;
+ margin: 0;
+ padding: 3px 12px;
+ font-size: 13px;
+ text-align: center;
+ background-color: #efefef;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#efefef), to(#d8d8d8));
+ background-image: -webkit-linear-gradient(top, #efefef, #d8d8d8);
+ background-image: -moz-linear-gradient(top, #efefef, #d8d8d8);
+ background-image: -ms-linear-gradient(top, #efefef, #d8d8d8);
+ background-image: -o-linear-gradient(top, #efefef, #d8d8d8);
+ background-image: linear-gradient(to bottom, #efefef, #d8d8d8);
+ -moz-border-radius: 3px;
+ -webkit-border-radius: 3px;
+ border-radius: 3px;
+ -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset;
+ -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset;
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset;
+ text-shadow: 0 1px 1px rgba(255, 255, 255, 0.5);
+ -webkit-font-smoothing: antialiased;
+ outline: none; }
+ .openerp a.button:hover, .openerp button:hover, .openerp input[type='submit']:hover, .openerp .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button.ui-state-hover {
+ background-color: #f6f6f6;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#f6f6f6), to(#e3e3e3));
+ background-image: -webkit-linear-gradient(top, #f6f6f6, #e3e3e3);
+ background-image: -moz-linear-gradient(top, #f6f6f6, #e3e3e3);
+ background-image: -ms-linear-gradient(top, #f6f6f6, #e3e3e3);
+ background-image: -o-linear-gradient(top, #f6f6f6, #e3e3e3);
+ background-image: linear-gradient(to bottom, #f6f6f6, #e3e3e3);
+ cursor: pointer;
+ background-position: 0; }
+ .openerp a.button:focus, .openerp button:focus, .openerp input[type='submit']:focus, .openerp .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button.ui-state-focus {
+ border: 1px solid #80bfff;
+ background-position: 0;
+ background-color: #f6f6f6;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#f6f6f6), to(#e3e3e3));
+ background-image: -webkit-linear-gradient(top, #f6f6f6, #e3e3e3);
+ background-image: -moz-linear-gradient(top, #f6f6f6, #e3e3e3);
+ background-image: -ms-linear-gradient(top, #f6f6f6, #e3e3e3);
+ background-image: -o-linear-gradient(top, #f6f6f6, #e3e3e3);
+ background-image: linear-gradient(to bottom, #f6f6f6, #e3e3e3);
+ -moz-box-shadow: 0 0 3px #80bfff, 0 1px 1px rgba(255, 255, 255, 0.8) inset;
+ -webkit-box-shadow: 0 0 3px #80bfff, 0 1px 1px rgba(255, 255, 255, 0.8) inset;
+ box-shadow: 0 0 3px #80bfff, 0 1px 1px rgba(255, 255, 255, 0.8) inset; }
+ .openerp a.button:active, .openerp a.button.active, .openerp button:active, .openerp button.active, .openerp input[type='submit']:active, .openerp input[type='submit'].active, .openerp .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button.ui-state-active {
+ background-color: #e3e3e3;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#e3e3e3), to(#f6f6f6));
+ background-image: -webkit-linear-gradient(top, #e3e3e3, #f6f6f6);
+ background-image: -moz-linear-gradient(top, #e3e3e3, #f6f6f6);
+ background-image: -ms-linear-gradient(top, #e3e3e3, #f6f6f6);
+ background-image: -o-linear-gradient(top, #e3e3e3, #f6f6f6);
+ background-image: linear-gradient(to bottom, #e3e3e3, #f6f6f6);
+ -moz-box-shadow: none;
+ -webkit-box-shadow: none;
+ box-shadow: none; }
+ .openerp a.button.disabled, .openerp button:disabled, .openerp input[type='submit']:disabled {
+ background: #efefef !important;
+ border: 1px solid #d1d1d1 !important;
+ -moz-box-shadow: none !important;
+ -webkit-box-shadow: none !important;
+ box-shadow: none !important;
+ color: #aaaaaa !important;
+ cursor: default;
+ text-shadow: 0 1px 1px white !important; }
+ .openerp .ui-widget-content a {
+ color: #7c7bad; }
+ .openerp .oe_bounce_container {
+ display: inline-block; }
+ .openerp .ui-tabs {
+ position: static; }
+ .openerp.ui-dialog {
+ display: none;
+ padding: 6px;
+ background-color: rgba(60, 60, 60, 0.7);
+ border: 1px solid;
+ border-color: #888888 #555555 #444444;
+ -moz-border-radius: 8px;
+ -webkit-border-radius: 8px;
+ border-radius: 8px;
+ -moz-box-shadow: 0 1px 12px rgba(0, 0, 0, 0.6);
+ -webkit-box-shadow: 0 1px 12px rgba(0, 0, 0, 0.6);
+ box-shadow: 0 1px 12px rgba(0, 0, 0, 0.6);
+ -webkit-background-clip: padding-box;
+ -moz-background-clip: padding-box;
+ background-clip: padding-box; }
+ .openerp.ui-dialog .ui-dialog-content {
+ padding: 0px; }
+ .openerp.ui-dialog .ui-dialog-titlebar, .openerp.ui-dialog .ui-dialog-content, .openerp.ui-dialog .ui-dialog-buttonpane {
+ padding: 16px; }
+ .openerp.ui-dialog .ui-dialog-titlebar {
+ border-bottom: 1px solid #cacaca;
+ -moz-border-radius: 2px 2px 0 0;
+ -webkit-border-radius: 2px 2px 0 0;
+ border-radius: 2px 2px 0 0;
+ background-color: #fcfcfc;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#fcfcfc), to(#dedede));
+ background-image: -webkit-linear-gradient(top, #fcfcfc, #dedede);
+ background-image: -moz-linear-gradient(top, #fcfcfc, #dedede);
+ background-image: -ms-linear-gradient(top, #fcfcfc, #dedede);
+ background-image: -o-linear-gradient(top, #fcfcfc, #dedede);
+ background-image: linear-gradient(to bottom, #fcfcfc, #dedede); }
+ .openerp.ui-dialog .ui-dialog-titlebar .ui-dialog-title {
+ margin: 0;
+ padding: 0; }
+ .openerp.ui-dialog .ui-widget-header {
+ border: none; }
+ .openerp.ui-dialog .ui-dialog-content {
+ background: white; }
+ .openerp.ui-dialog .ui-dialog-buttonpane {
+ border-top: 1px solid #e0e0e0;
+ background: #f5f7f9;
+ margin: 0;
+ -moz-border-radius: 0 0 2px 2px;
+ -webkit-border-radius: 0 0 2px 2px;
+ border-radius: 0 0 2px 2px; }
+ .openerp.ui-dialog .ui-dialog-buttonpane button {
+ margin: 0 4px 0 0; }
+ .openerp.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
+ float: left; }
+ .openerp.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button {
+ margin-right: 4px; }
+ .openerp.ui-dialog .ui-dialog-titlebar-close {
+ padding: 0; }
+ .openerp.ui-dialog .ui-dialog-titlebar-close .ui-icon-closethick {
+ display: none; }
+ .openerp.ui-dialog .ui-dialog-titlebar-close:before {
+ content: "×";
+ font-size: 18px;
+ font-weight: bold;
+ line-height: 16px;
+ color: black;
+ text-shadow: 0 1px 0 white;
+ padding: 0;
+ cursor: pointer;
+ background: transparent;
+ border: 0; }
+ .openerp.ui-dialog .ui-dialog-titlebar-close:before:hover {
+ color: black;
+ text-decoration: none; }
+ .openerp.ui-dialog .oe_about {
+ background-color: white;
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAYAAADgzO9IAAAAKUlEQVQIHWO8e/fufwYsgAUkJigoiCIF5DMyoYggcUiXgNnBiGQKmAkARpcEQeriln4AAAAASUVORK5CYII=);
+ -moz-border-radius: 0 0 2px 2px;
+ -webkit-border-radius: 0 0 2px 2px;
+ border-radius: 0 0 2px 2px; }
+ .openerp.ui-dialog .oe_about a {
+ color: #7c7bad; }
+ .openerp.ui-dialog .oe_about a:hover {
+ text-decoration: underline; }
+ .openerp.ui-dialog .oe_about a:focus {
+ outline: none; }
+ .openerp.ui-dialog .oe_about .oe_logo {
+ margin-left: -6px; }
+ .openerp.ui-dialog .oe_about .oe_bottom {
+ position: absolute;
+ top: 50%;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ text-shadow: 0 1px 1px #999999;
+ background-color: #b41616;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#b41616), to(#600606));
+ background-image: -webkit-linear-gradient(top, #b41616, #600606);
+ background-image: -moz-linear-gradient(top, #b41616, #600606);
+ background-image: -ms-linear-gradient(top, #b41616, #600606);
+ background-image: -o-linear-gradient(top, #b41616, #600606);
+ background-image: linear-gradient(to bottom, #b41616, #600606);
+ color: #eeeeee;
+ padding: 0 16px;
+ -moz-border-radius: 0 0 2px 2px;
+ -webkit-border-radius: 0 0 2px 2px;
+ border-radius: 0 0 2px 2px; }
+ .openerp.ui-dialog .oe_about .oe_bottom a {
+ color: #eeeeee; }
+ .openerp.ui-dialog.oe_act_window .ui-dialog-content {
+ padding: 0px; }
+ .openerp .modal-backdrop {
+ position: fixed;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 1040;
+ background-color: black;
+ filter: alpha(opacity=30);
+ opacity: 0.3; }
+ .openerp .oe_i {
+ font-family: "mnmliconsRegular" !important;
+ font-size: 21px;
+ font-weight: 300 !important; }
+ .openerp .oe_e {
+ font-family: "entypoRegular" !important;
+ font-size: 34px;
+ font-weight: 300 !important; }
+ .openerp .oe_left {
+ float: left;
+ margin-right: 8px; }
+ .openerp .oe_right {
+ float: right;
+ margin-left: 8px; }
+ .openerp .oe_text_right {
+ text-align: right; }
+ .openerp .oe_clear {
+ clear: both; }
+ .openerp .oe_wait {
+ cursor: wait; }
+ .openerp .oe_fade {
+ color: #888888;
+ font-weight: normal; }
+ .openerp .oe_bold {
+ font-weight: bold; }
+ .openerp .oe_inline {
+ width: auto !important; }
+ .openerp .oe_highlight {
+ color: white;
+ background: #dc5f59; }
+ .openerp button.oe_highlight {
+ background-color: #df3f3f;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#df3f3f), to(#a21a1a));
+ background-image: -webkit-linear-gradient(top, #df3f3f, #a21a1a);
+ background-image: -moz-linear-gradient(top, #df3f3f, #a21a1a);
+ background-image: -ms-linear-gradient(top, #df3f3f, #a21a1a);
+ background-image: -o-linear-gradient(top, #df3f3f, #a21a1a);
+ background-image: linear-gradient(to bottom, #df3f3f, #a21a1a);
+ -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(155, 155, 155, 0.4) inset;
+ -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(155, 155, 155, 0.4) inset;
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(155, 155, 155, 0.4) inset; }
+ .openerp button.oe_highlight:hover {
+ background-color: #e25858;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#e25858), to(#ab1b1b));
+ background-image: -webkit-linear-gradient(top, #e25858, #ab1b1b);
+ background-image: -moz-linear-gradient(top, #e25858, #ab1b1b);
+ background-image: -ms-linear-gradient(top, #e25858, #ab1b1b);
+ background-image: -o-linear-gradient(top, #e25858, #ab1b1b);
+ background-image: linear-gradient(to bottom, #e25858, #ab1b1b); }
+ .openerp button.oe_highlight:active {
+ background-color: #c52020;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#c52020), to(#d22323));
+ background-image: -webkit-linear-gradient(top, #c52020, #d22323);
+ background-image: -moz-linear-gradient(top, #c52020, #d22323);
+ background-image: -ms-linear-gradient(top, #c52020, #d22323);
+ background-image: -o-linear-gradient(top, #c52020, #d22323);
+ background-image: linear-gradient(to bottom, #c52020, #d22323); }
+ .openerp .oe_background_grey {
+ background: #eeeeee !important; }
+ .openerp .oe_form_dirty .oe_highlight_on_dirty {
+ color: white;
+ background: #dc5f59;
+ font-weight: bold; }
+ .openerp .oe_form_dirty button.oe_highlight_on_dirty {
+ background-color: #dc5f59;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#dc5f59), to(#b33630));
+ background-image: -webkit-linear-gradient(top, #dc5f59, #b33630);
+ background-image: -moz-linear-gradient(top, #dc5f59, #b33630);
+ background-image: -ms-linear-gradient(top, #dc5f59, #b33630);
+ background-image: -o-linear-gradient(top, #dc5f59, #b33630);
+ background-image: linear-gradient(to bottom, #dc5f59, #b33630);
+ -moz-box-shadow: none;
+ -webkit-box-shadow: none;
+ box-shadow: none; }
+ .openerp .oe_form_dirty button.oe_highlight_on_dirty:hover {
+ background: #ed6f6a; }
+ .openerp .oe_title {
+ width: 50%;
+ float: left; }
+ .openerp .oe_title:after {
+ content: ".";
+ display: block;
+ height: 0;
+ clear: both;
+ visibility: hidden; }
+ .openerp .oe_button_box {
+ width: 270px;
+ text-align: right; }
+ .openerp .oe_button_box button {
+ margin: 4px; }
+ .openerp .oe_avatar > img {
+ max-height: 90px;
+ max-width: 90px;
+ -moz-border-radius: 3px;
+ -webkit-border-radius: 3px;
+ border-radius: 3px;
+ -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
+ -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
+ box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
+ border: none;
+ margin-bottom: 10px; }
+ .openerp .oe_avatar + div {
+ margin-left: 5px; }
+ .openerp .oe_image_small > img {
+ max-width: 50px;
+ max-height: 50px; }
+ .openerp .oe_image_medium > img {
+ max-width: 180px;
+ max-height: 180px; }
+ .openerp .oe_button.oe_link {
+ border: none;
+ padding: 0;
+ margin: 0;
+ background: none;
+ -moz-border-radius: 0;
+ -webkit-border-radius: 0;
+ border-radius: 0;
+ -moz-box-shadow: none;
+ -webkit-box-shadow: none;
+ box-shadow: none; }
+ .openerp .oe_button.oe_link img {
+ display: none; }
+ .openerp .oe_button.oe_link span {
+ border: none;
+ padding: 0;
+ margin: 0;
+ background: none;
+ -moz-border-radius: 0;
+ -webkit-border-radius: 0;
+ border-radius: 0;
+ -moz-box-shadow: none;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+ color: #7c7bad;
+ font-weight: bold; }
+ .openerp .oe_button.oe_link span:hover {
+ text-decoration: underline; }
+ .openerp .oe_webclient .oe_star_on, .openerp .oe_webclient .oe_star_off {
+ color: #cccccc;
+ text-shadow: 0 0 2px black;
+ vertical-align: top;
+ position: relative;
+ top: -5px; }
+ .openerp .oe_webclient .oe_star_on:hover, .openerp .oe_webclient .oe_star_off:hover {
+ text-decoration: none; }
+ .openerp .oe_webclient .oe_star_on {
+ color: gold; }
+ .openerp p.oe_grey {
+ max-width: 650px; }
+ .openerp .oe_grey {
+ color: #aaaaaa; }
+ .openerp .oe_tag {
+ border: 1px solid #afafb6;
+ font-size: 11px;
+ padding: 2px 4px;
+ margin: 0 2px 2px 0;
+ -moz-border-radius: 3px;
+ -webkit-border-radius: 3px;
+ border-radius: 3px;
+ background: #f0f0fa;
+ color: #4c4c4c; }
+ .openerp .oe_tag_dark {
+ background: #7c7bad;
+ color: #eeeeee; }
+ .openerp .oe_tags {
+ margin-bottom: 1px; }
+ .openerp .oe_tags.oe_inline {
+ min-width: 250px; }
+ .openerp .oe_tags .text-wrap {
+ width: 100% !important; }
+ .openerp .oe_tags .text-wrap textarea {
+ width: 100% !important; }
+ .openerp .oe_tags .text-core .text-wrap .text-dropdown .text-list .text-suggestion em {
+ font-style: italic;
+ text-decoration: none; }
+ .openerp.oe_tooltip {
+ font-size: 12px; }
+ .openerp.oe_tooltip .oe_tooltip_string {
+ color: #ffdd55;
+ font-weight: bold;
+ font-size: 13px; }
+ .openerp.oe_tooltip .oe_tooltip_help {
+ white-space: pre-wrap; }
+ .openerp.oe_tooltip .oe_tooltip_technical {
+ padding: 0 0 4px 0;
+ margin: 5px 0 0 15px; }
+ .openerp.oe_tooltip .oe_tooltip_technical li {
+ list-style: circle; }
+ .openerp.oe_tooltip .oe_tooltip_technical_title {
+ font-weight: bold; }
+ .openerp.oe_tooltip .oe_tooltip_close {
+ margin: -5px 0 0 2px;
+ cursor: default;
+ float: right;
+ color: white; }
+ .openerp.oe_tooltip .oe_tooltip_close:hover {
+ color: #999999;
+ cursor: pointer; }
+ .openerp.oe_tooltip .oe_tooltip_message {
+ max-width: 310px; }
+ .openerp .oe_notebook {
+ margin: 8px 0;
+ padding: 0 16px;
+ list-style: none;
+ zoom: 1; }
+ .openerp .oe_notebook.ui-corner-all {
+ -moz-border-radius: 0;
+ -webkit-border-radius: 0;
+ border-radius: 0; }
+ .openerp .oe_notebook:before, .openerp .oe_notebook:after {
+ display: table;
+ content: "";
+ zoom: 1; }
+ .openerp .oe_notebook:after {
+ clear: both; }
+ .openerp .oe_notebook > li {
+ float: left; }
+ .openerp .oe_notebook > li > a {
+ display: block;
+ color: #4c4c4c; }
+ .openerp .oe_notebook {
+ border-color: #dddddd;
+ border-style: solid;
+ border-width: 0 0 1px; }
+ .openerp .oe_notebook > li {
+ position: relative; }
+ .openerp .oe_notebook > li > a {
+ padding: 0 12px;
+ margin-right: 2px;
+ line-height: 30px;
+ border: 1px solid transparent;
+ -moz-border-radius: 4px 4px 0 0;
+ -webkit-border-radius: 4px 4px 0 0;
+ border-radius: 4px 4px 0 0; }
+ .openerp .oe_notebook > li > a:hover {
+ text-decoration: none;
+ background-color: #eeeeee;
+ border-color: #eeeeee #eeeeee #dddddd; }
+ .openerp .oe_notebook > li.ui-state-active > a, .openerp .oe_notebook > li.ui-state-active > a:hover {
+ background-color: white;
+ border: 1px solid #dddddd;
+ border-bottom-color: transparent;
+ cursor: default; }
+ .openerp .oe_notebook_page {
+ padding: 0; }
+ .openerp div.ui-tabs {
+ padding: 3px 0px 3px 0px; }
+ .openerp .ui-tabs-hide {
+ display: none; }
+ .openerp .oe_dropdown, .openerp .oe_dropdown_hover, .openerp .oe_dropdown_toggle {
+ position: relative;
+ cursor: pointer; }
+ .openerp .oe_dropdown_toggle {
+ color: rgba(0, 0, 0, 0.5);
+ font-weight: normal; }
+ .openerp .oe_dropdown_hover:hover .oe_dropdown_menu, .openerp .oe_dropdown_menu.oe_opened {
+ display: block; }
+ .openerp .oe_dropdown_menu {
+ display: none;
+ position: absolute;
+ top: 26px;
+ left: 0;
+ z-index: 3;
+ margin: 0;
+ padding: 0;
+ border: 1px solid #afafb6;
+ background: white;
+ padding: 4px 0;
+ min-width: 140px;
+ text-align: left;
+ -moz-border-radius: 3px;
+ -webkit-border-radius: 3px;
+ border-radius: 3px;
+ -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
+ -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
+ box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3); }
+ .openerp .oe_dropdown_menu > li {
+ list-style-type: none;
+ float: none;
+ display: block;
+ position: relative;
+ margin: 0;
+ padding: 2px 8px; }
+ .openerp .oe_dropdown_menu > li:hover {
+ background-color: #f0f0fa;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#f0f0fa), to(#eeeef6));
+ background-image: -webkit-linear-gradient(top, #f0f0fa, #eeeef6);
+ background-image: -moz-linear-gradient(top, #f0f0fa, #eeeef6);
+ background-image: -ms-linear-gradient(top, #f0f0fa, #eeeef6);
+ background-image: -o-linear-gradient(top, #f0f0fa, #eeeef6);
+ background-image: linear-gradient(to bottom, #f0f0fa, #eeeef6);
+ -moz-box-shadow: none;
+ -webkit-box-shadow: none;
+ box-shadow: none; }
+ .openerp .oe_dropdown_menu > li > a {
+ white-space: nowrap;
+ display: block;
+ color: #4c4c4c;
+ text-decoration: none; }
+ .openerp .oe_dropdown_menu > li > a:hover {
+ text-decoration: none; }
+ .openerp .oe_dropdown_arrow:after {
+ width: 0;
+ height: 0;
+ display: inline-block;
+ content: "&darr";
+ text-indent: -99999px;
+ vertical-align: top;
+ margin-top: 8px;
+ margin-left: 3px;
+ border-left: 4px solid transparent;
+ border-right: 4px solid transparent;
+ border-top: 4px solid #404040;
+ filter: alpha(opacity=50);
+ opacity: 0.5; }
+ .openerp .oe_sidebar {
+ white-space: nowrap; }
+ .openerp .oe_sidebar .oe_dropdown_menu .oe_sidebar_add_attachment {
+ height: 20px;
+ cursor: pointer;
+ padding-left: 6px;
+ margin-top: 6px; }
+ .openerp .oe_sidebar .oe_dropdown_menu .oe_sidebar_add_attachment span {
+ font-weight: bold; }
+ .openerp .oe_sidebar .oe_dropdown_menu .oe_sidebar_add_attachment .oe_hidden_input_file {
+ width: 200px; }
+ .openerp .oe_sidebar .oe_dropdown_menu .oe_sidebar_add_attachment:hover {
+ background-color: #f0f0fa;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#f0f0fa), to(#eeeef6));
+ background-image: -webkit-linear-gradient(top, #f0f0fa, #eeeef6);
+ background-image: -moz-linear-gradient(top, #f0f0fa, #eeeef6);
+ background-image: -ms-linear-gradient(top, #f0f0fa, #eeeef6);
+ background-image: -o-linear-gradient(top, #f0f0fa, #eeeef6);
+ background-image: linear-gradient(to bottom, #f0f0fa, #eeeef6);
+ -moz-box-shadow: none;
+ -webkit-box-shadow: none;
+ box-shadow: none; }
+ .openerp .oe_sidebar .oe_dropdown_menu li .oe_sidebar_delete_item {
+ position: absolute;
+ top: 4px;
+ right: 4px;
+ display: none;
+ width: 12px;
+ height: 12px;
+ padding: 1px;
+ color: #8786b7;
+ line-height: 8px;
+ text-align: center;
+ font-weight: bold;
+ text-shadow: 0 1px 1px white; }
+ .openerp .oe_sidebar .oe_dropdown_menu li .oe_sidebar_delete_item:hover {
+ text-decoration: none;
+ color: white;
+ background: #8786b7;
+ text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
+ -moz-border-radius: 2px;
+ -webkit-border-radius: 2px;
+ border-radius: 2px; }
+ .openerp .oe_sidebar .oe_dropdown_menu li:hover .oe_sidebar_delete_item {
+ display: inline-block; }
+ .openerp .oe_loading {
+ display: none;
+ z-index: 100;
+ position: fixed;
+ top: 0;
+ right: 50%;
+ padding: 4px 12px;
+ background: #a61300;
+ color: white;
+ text-align: center;
+ border: 1px solid #990000;
+ border-top: none;
+ -moz-border-radius-bottomright: 8px;
+ -moz-border-radius-bottomleft: 8px;
+ border-bottom-right-radius: 8px;
+ border-bottom-left-radius: 8px; }
+ .openerp .oe_notification {
+ z-index: 1050; }
+ .openerp .oe_login {
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAYAAADgzO9IAAAAKUlEQVQIHWO8e/fufwYsgAUkJigoiCIF5DMyoYggcUiXgNnBiGQKmAkARpcEQeriln4AAAAASUVORK5CYII=);
+ text-align: center;
+ font-size: 14px;
+ height: 100%; }
+ .openerp .oe_login ul, .openerp .oe_login li {
+ margin: 0;
+ list-style-type: none;
+ padding: 0 0 4px 0; }
+ .openerp .oe_login button {
+ float: right;
+ display: inline-block;
+ cursor: pointer;
+ padding: 6px 16px;
+ border: 1px solid #222222;
+ color: white;
+ margin: 0;
+ background-color: #b92020;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#b92020), to(#600606));
+ background-image: -webkit-linear-gradient(top, #b92020, #600606);
+ background-image: -moz-linear-gradient(top, #b92020, #600606);
+ background-image: -ms-linear-gradient(top, #b92020, #600606);
+ background-image: -o-linear-gradient(top, #b92020, #600606);
+ background-image: linear-gradient(to bottom, #b92020, #600606);
+ -moz-border-radius: 4px;
+ -webkit-border-radius: 4px;
+ border-radius: 4px;
+ -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(155, 155, 155, 0.4) inset;
+ -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(155, 155, 155, 0.4) inset;
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(155, 155, 155, 0.4) inset; }
+ .openerp .oe_login input, .openerp .oe_login select {
+ width: 252px;
+ font-family: "Lucida Grande", Helvetica, Verdana, Arial;
+ border: 1px solid #999999;
+ background: whitesmoke;
+ -moz-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.4);
+ -webkit-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.4);
+ box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.4);
+ -moz-border-radius: 3px;
+ -webkit-border-radius: 3px;
+ border-radius: 3px; }
+ .openerp .oe_login input {
+ margin-bottom: 9px;
+ padding: 5px 6px; }
+ .openerp .oe_login select {
+ padding: 1px; }
+ .openerp .oe_login .oe_login_dbpane {
+ position: fixed;
+ top: 0;
+ right: 8px;
+ padding: 5px 10px;
+ color: #eeeeee;
+ border: solid 1px #333333;
+ background: #1e1e1e;
+ background: rgba(30, 30, 30, 0.94);
+ -moz-border-radius: 0 0 8px 8px;
+ -webkit-border-radius: 0 0 8px 8px;
+ border-radius: 0 0 8px 8px; }
+ .openerp .oe_login .oe_login_dbpane input {
+ padding: 2px 4px;
+ margin: 4px 0; }
+ .openerp .oe_login .oe_login_bottom {
+ position: absolute;
+ top: 50%;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ text-shadow: 0 1px 1px #999999;
+ background-color: #b41616;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#b41616), to(#600606));
+ background-image: -webkit-linear-gradient(top, #b41616, #600606);
+ background-image: -moz-linear-gradient(top, #b41616, #600606);
+ background-image: -ms-linear-gradient(top, #b41616, #600606);
+ background-image: -o-linear-gradient(top, #b41616, #600606);
+ background-image: linear-gradient(to bottom, #b41616, #600606); }
+ .openerp .oe_login .oe_login_pane {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ margin: -160px -166px;
+ border: solid 1px #333333;
+ background: #1e1e1e;
+ background: rgba(30, 30, 30, 0.94);
+ padding: 22px 32px;
+ color: #eeeeee;
+ text-align: left;
+ -moz-border-radius: 8px;
+ -webkit-border-radius: 8px;
+ border-radius: 8px;
+ -moz-box-shadow: 0 0 18px rgba(0, 0, 0, 0.9);
+ -webkit-box-shadow: 0 0 18px rgba(0, 0, 0, 0.9);
+ box-shadow: 0 0 18px rgba(0, 0, 0, 0.9); }
+ .openerp .oe_login .oe_login_pane h2 {
+ margin-top: 0;
+ font-size: 18px; }
+ .openerp .oe_login .oe_login_logo {
+ position: absolute;
+ top: -70px;
+ left: 0;
+ width: 100%;
+ margin: 0 auto;
+ text-align: center; }
+ .openerp .oe_login .oe_login_footer {
+ position: absolute;
+ bottom: -40px;
+ left: 0;
+ width: 100%;
+ text-align: center; }
+ .openerp .oe_login .oe_login_footer a {
+ color: #eeeeee;
+ margin: 0 8px; }
+ .openerp .oe_login .oe_login_footer a:hover {
+ text-decoration: underline; }
+ .openerp .oe_login .oe_login_footer span {
+ font-weight: bold;
+ font-size: 16px; }
+ .openerp .oe_login .oe_login_error_message {
+ display: none;
+ background-color: #b41616;
+ color: #eeeeee;
+ padding: 14px 18px;
+ margin-top: 15px;
+ text-align: center;
+ -moz-border-radius: 4px;
+ -webkit-border-radius: 4px;
+ border-radius: 4px;
+ -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.8);
+ -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.8);
+ box-shadow: 0 1px 4px rgba(0, 0, 0, 0.8); }
+ .openerp .oe_login_invalid .oe_login_error_message {
+ display: inline-block; }
+ .openerp .oe_database_manager {
+ background: white;
+ color: black;
+ text-align: left; }
+ .openerp .oe_database_manager .oe_database_manager_menu {
+ color: black; }
+ .openerp .oe_webclient {
+ width: 100%;
+ height: 100%;
+ border-spacing: 0px; }
+ .openerp .oe_content_full_screen .oe_application {
+ top: 0;
+ left: 0; }
+ .openerp .oe_content_full_screen .oe_topbar, .openerp .oe_content_full_screen .oe_leftbar {
+ display: none; }
+ .openerp .oe_topbar {
+ width: 100%;
+ height: 32px;
+ background-color: #414141;
+ background-color: #646060;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#646060), to(#262626));
+ background-image: -webkit-linear-gradient(top, #646060, #262626);
+ background-image: -moz-linear-gradient(top, #646060, #262626);
+ background-image: -ms-linear-gradient(top, #646060, #262626);
+ background-image: -o-linear-gradient(top, #646060, #262626);
+ background-image: linear-gradient(to bottom, #646060, #262626); }
+ .openerp .oe_topbar .oe_topbar_item {
+ display: block;
+ padding: 5px 10px 7px;
+ line-height: 20px;
+ height: 20px;
+ text-decoration: none;
+ color: #eeeeee;
+ vertical-align: top;
+ text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
+ -webkit-transition: all 0.2s ease-out;
+ -moz-transition: all 0.2s ease-out;
+ -ms-transition: all 0.2s ease-out;
+ -o-transition: all 0.2s ease-out;
+ transition: all 0.2s ease-out; }
+ .openerp .oe_topbar .oe_topbar_item:hover {
+ background: rgba(0, 0, 0, 0.2);
+ text-shadow: black 0px 0px 3px;
+ color: white;
+ -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4) inset;
+ -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4) inset;
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4) inset; }
+ .openerp .oe_topbar .oe_topbar_avatar {
+ width: 24px;
+ height: 24px;
+ margin: -2px 2px 0 0;
+ -moz-border-radius: 3px;
+ -webkit-border-radius: 3px;
+ border-radius: 3px; }
+ .openerp .oe_topbar .oe_topbar_avatar {
+ vertical-align: top; }
+ .openerp .oe_topbar .oe_dropdown_arrow:after {
+ border-top: 4px solid white; }
+ .openerp .oe_topbar .oe_dropdown_menu {
+ top: 32px;
+ background: #333333;
+ background: rgba(37, 37, 37, 0.9);
+ border-color: #999999;
+ border-color: rgba(0, 0, 0, 0.2);
+ border-style: solid;
+ border-width: 0 1px 1px;
+ -moz-border-radius: 0 0 6px 6px;
+ -webkit-border-radius: 0 0 6px 6px;
+ border-radius: 0 0 6px 6px;
+ -webkit-background-clip: padding-box;
+ -moz-background-clip: padding-box;
+ background-clip: padding-box; }
+ .openerp .oe_topbar .oe_dropdown_menu li {
+ float: none;
+ padding: 3px 12px; }
+ .openerp .oe_topbar .oe_dropdown_menu li a {
+ color: #eeeeee; }
+ .openerp .oe_topbar .oe_dropdown_menu li:hover {
+ background-color: #292929;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#292929), to(#191919));
+ background-image: -webkit-linear-gradient(top, #292929, #191919);
+ background-image: -moz-linear-gradient(top, #292929, #191919);
+ background-image: -ms-linear-gradient(top, #292929, #191919);
+ background-image: -o-linear-gradient(top, #292929, #191919);
+ background-image: linear-gradient(to bottom, #292929, #191919);
+ -moz-box-shadow: none;
+ -webkit-box-shadow: none;
+ box-shadow: none; }
+ .openerp .oe_menu {
+ float: left;
+ padding: 0;
+ margin: 0;
+ font-size: 13px; }
+ .openerp .oe_menu > li {
+ list-style-type: none;
+ padding: 0;
+ margin: 0;
+ float: left;
+ display: block;
+ color: #eeeeee; }
+ .openerp .oe_menu > li > a {
+ display: block;
+ padding: 5px 10px 7px;
+ line-height: 20px;
+ height: 20px;
+ text-decoration: none;
+ color: #eeeeee;
+ vertical-align: top;
+ text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
+ -webkit-transition: all 0.2s ease-out;
+ -moz-transition: all 0.2s ease-out;
+ -ms-transition: all 0.2s ease-out;
+ -o-transition: all 0.2s ease-out;
+ transition: all 0.2s ease-out; }
+ .openerp .oe_menu > li > a:hover {
+ background: rgba(0, 0, 0, 0.2);
+ text-shadow: black 0px 0px 3px;
+ color: white;
+ -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4) inset;
+ -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4) inset;
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4) inset; }
+ .openerp .oe_menu > li > .oe_active {
+ background: rgba(0, 0, 0, 0.3);
+ text-shadow: black 0px 0px 3px;
+ -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4) inset;
+ -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4) inset;
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4) inset; }
+ .openerp .oe_user_menu {
+ float: right;
+ padding: 0;
+ margin: 0; }
+ .openerp .oe_user_menu li {
+ list-style-type: none;
+ float: left; }
+ .openerp .oe_user_menu .oe_dropdown_menu {
+ right: -1px; }
+ .openerp .oe_systray > div {
+ float: left;
+ padding: 0 4px 0 4px; }
+ .openerp .oe_systray {
+ float: right; }
+ .openerp .oe_leftbar {
+ display: none;
+ width: 220px;
+ background: #f0eeee;
+ border-right: 1px solid #afafb6;
+ text-shadow: 0 1px 1px white;
+ padding-bottom: 16px; }
+ .openerp a.oe_logo {
+ width: 220px;
+ display: block;
+ text-align: center;
+ height: 70px;
+ line-height: 70px; }
+ .openerp a.oe_logo img {
+ height: 40px;
+ width: 157px;
+ margin: 14px 0; }
+ .openerp .oe_footer {
+ position: fixed;
+ bottom: 0;
+ padding: 4px 0;
+ background: #f0eeee;
+ width: 220px;
+ text-align: center; }
+ .openerp .oe_footer a {
+ font-weight: 800;
+ font-family: serif;
+ font-size: 16px;
+ color: black; }
+ .openerp .oe_footer a span {
+ color: #c81010;
+ font-style: italic; }
+ .openerp .oe_secondary_menu_section {
+ font-weight: bold;
+ margin-left: 8px;
+ color: #7c7bad; }
+ .openerp .oe_secondary_submenu {
+ padding: 2px 0 8px 0;
+ margin: 0;
+ width: 100%;
+ display: inline-block; }
+ .openerp .oe_secondary_submenu li {
+ position: relative;
+ margin: 0;
+ padding: 1px 0 1px 20px !important;
+ list-style-type: none; }
+ .openerp .oe_secondary_submenu li a {
+ display: block;
+ color: #4c4c4c;
+ padding: 2px 4px 2px 0; }
+ .openerp .oe_secondary_submenu li .oe_menu_label {
+ position: absolute;
+ top: 1px;
+ right: 1px;
+ font-size: 10px;
+ background: #7c7bad;
+ color: white;
+ padding: 2px 4px;
+ margin: 1px 6px 0 0;
+ border: 1px solid lightGray;
+ text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
+ -moz-border-radius: 4px;
+ -webkit-border-radius: 4px;
+ border-radius: 4px;
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.2);
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.2);
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.2); }
+ .openerp .oe_secondary_submenu .oe_menu_counter {
+ float: right;
+ text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
+ margin: 1px;
+ padding: 1px 4px;
+ border: none; }
+ .openerp .oe_secondary_submenu .oe_menu_counter:hover {
+ cursor: pointer;
+ -webkit-transform: scale(1.1);
+ -moz-transform: scale(1.1);
+ -ms-transform: scale(1.1);
+ -o-transform: scale(1.1);
+ transform: scale(1.1); }
+ .openerp .oe_secondary_submenu .oe_active {
+ border-top: 1px solid lightGray;
+ border-bottom: 1px solid #dedede;
+ text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
+ -moz-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.2), inset 0 -1px 3px rgba(40, 40, 40, 0.2);
+ -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.2), inset 0 -1px 3px rgba(40, 40, 40, 0.2);
+ box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.2), inset 0 -1px 3px rgba(40, 40, 40, 0.2);
+ background: #7c7bad; }
+ .openerp .oe_secondary_submenu .oe_active a {
+ color: white; }
+ .openerp .oe_secondary_submenu .oe_active .oe_menu_label {
+ background: #eeeeee;
+ color: #7c7bad;
+ text-shadow: 0 1px 1px white;
+ -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
+ -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2); }
+ .openerp .oe_secondary_submenu .oe_active .oe_menu_counter {
+ background: #eeeeee;
+ color: #7c7bad;
+ -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
+ -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
+ box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2); }
+ .openerp .oe_secondary_submenu .oe_menu_toggler:before {
+ width: 0;
+ height: 0;
+ display: inline-block;
+ content: "&darr";
+ text-indent: -99999px;
+ vertical-align: top;
+ margin-left: -12px;
+ margin-top: 4px;
+ margin-right: 4px;
+ border-top: 4px solid transparent;
+ border-bottom: 4px solid transparent;
+ border-left: 4px solid #4c4c4c;
+ filter: alpha(opacity=50);
+ opacity: 0.5; }
+ .openerp .oe_secondary_submenu .oe_menu_opened:before {
+ margin-top: 6px;
+ margin-left: -16px;
+ margin-right: 4px;
+ border-left: 4px solid transparent;
+ border-right: 4px solid transparent;
+ border-top: 4px solid #4c4c4c; }
+ .openerp .oe_about {
+ background-color: white;
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAYAAADgzO9IAAAAKUlEQVQIHWO8e/fufwYsgAUkJigoiCIF5DMyoYggcUiXgNnBiGQKmAkARpcEQeriln4AAAAASUVORK5CYII=);
+ -moz-border-radius: 0 0 2px 2px;
+ -webkit-border-radius: 0 0 2px 2px;
+ border-radius: 0 0 2px 2px; }
+ .openerp .oe_about a {
+ color: #7c7bad; }
+ .openerp .oe_about a:hover {
+ text-decoration: underline; }
+ .openerp .oe_about a:focus {
+ outline: none; }
+ .openerp .oe_about .oe_logo {
+ margin-left: -6px; }
+ .openerp .oe_about .oe_bottom {
+ position: absolute;
+ top: 50%;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ text-shadow: 0 1px 1px #999999;
+ background-color: #b41616;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#b41616), to(#600606));
+ background-image: -webkit-linear-gradient(top, #b41616, #600606);
+ background-image: -moz-linear-gradient(top, #b41616, #600606);
+ background-image: -ms-linear-gradient(top, #b41616, #600606);
+ background-image: -o-linear-gradient(top, #b41616, #600606);
+ background-image: linear-gradient(to bottom, #b41616, #600606);
+ color: #eeeeee;
+ padding: 0 16px;
+ -moz-border-radius: 0 0 2px 2px;
+ -webkit-border-radius: 0 0 2px 2px;
+ border-radius: 0 0 2px 2px; }
+ .openerp .oe_about .oe_bottom a {
+ color: #eeeeee; }
+ .openerp .oe_application {
+ width: 100%; }
+ .openerp .oe_application a {
+ color: #7c7bad; }
+ .openerp .oe_application a:hover {
+ text-decoration: underline; }
+ .openerp .oe_application > div {
+ height: 100%; }
+ .openerp .oe_application .oe_breadcrumb_item:not(:last-child) {
+ display: inline-block;
+ max-width: 7em;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis; }
+ .openerp .oe_view_manager .oe_view_manager_body {
+ height: inherit; }
+ .openerp .oe_view_manager .oe_view_manager_view_kanban {
+ height: inherit; }
+ .openerp .oe_view_manager table.oe_view_manager_header {
+ width: 100%;
+ table-layout: fixed; }
+ .openerp .oe_view_manager table.oe_view_manager_header .oe_header_row {
+ clear: both;
+ text-shadow: 0 1px 1px white; }
+ .openerp .oe_view_manager table.oe_view_manager_header .oe_header_row:last-child td {
+ padding-top: 0; }
+ .openerp .oe_view_manager table.oe_view_manager_header .oe_header_row:first-child td {
+ padding-top: 8px; }
+ .openerp .oe_view_manager table.oe_view_manager_header .oe_view_manager_sidebar {
+ margin: 0px auto;
+ text-align: center; }
+ .openerp .oe_view_manager table.oe_view_manager_header td {
+ line-height: 26px; }
+ .openerp .oe_view_manager table.oe_view_manager_header h2 {
+ font-size: 18px;
+ margin: 0;
+ float: left; }
+ .openerp .oe_view_manager table.oe_view_manager_header h2 a {
+ color: #7c7bad; }
+ .openerp .oe_view_manager table.oe_view_manager_header .oe_dropdown_menu {
+ line-height: normal; }
+ .openerp .oe_view_manager table.oe_view_manager_header .oe_button_group {
+ display: inline-block;
+ border: 1px solid #ababab;
+ -moz-border-radius: 5px;
+ -webkit-border-radius: 5px;
+ border-radius: 5px; }
+ .openerp .oe_view_manager table.oe_view_manager_header .oe_button_group li {
+ float: left;
+ border-right: 1px solid #ababab; }
+ .openerp .oe_view_manager table.oe_view_manager_header .oe_button_group li:last-child {
+ border: none; }
+ .openerp .oe_view_manager table.oe_view_manager_header .oe_button_group a {
+ color: #4c4c4c; }
+ .openerp .oe_view_manager table.oe_view_manager_header .oe_button_group a:hover {
+ text-decoration: none; }
+ .openerp .oe_view_manager table.oe_view_manager_header .oe_button_group .active {
+ background: #999999;
+ -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3) inset;
+ -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3) inset;
+ box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3) inset; }
+ .openerp .oe_view_manager table.oe_view_manager_header .oe_button_group .active a {
+ color: white;
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4); }
+ .openerp .oe_view_manager table.oe_view_manager_header .oe_view_manager_buttons {
+ white-space: nowrap; }
+ .openerp .oe_view_manager .oe_view_manager_pager {
+ line-height: 26px; }
+ .openerp .oe_view_manager .oe_view_manager_pager .oe_list_pager_single_page .oe_pager_group {
+ display: none; }
+ .openerp .oe_view_manager .oe_pager_value {
+ float: left;
+ margin-right: 8px; }
+ .openerp .oe_view_manager ul.oe_pager_group {
+ padding: 0;
+ margin: 0; }
+ .openerp .oe_view_manager .oe_pager_group {
+ float: left;
+ height: 24px;
+ line-height: 24px;
+ display: inline-block;
+ border: 1px solid #ababab;
+ cursor: pointer;
+ -moz-border-radius: 5px;
+ -webkit-border-radius: 5px;
+ border-radius: 5px; }
+ .openerp .oe_view_manager .oe_pager_group li {
+ height: 24px;
+ line-height: 24px;
+ padding: 0;
+ margin: 0;
+ list-style-type: none;
+ float: left;
+ border-right: 1px solid #ababab; }
+ .openerp .oe_view_manager .oe_pager_group li:last-child {
+ border: none; }
+ .openerp .oe_view_manager .oe_pager_group a {
+ color: #4c4c4c;
+ padding: 0 8px; }
+ .openerp .oe_view_manager .oe_pager_group a:hover {
+ text-decoration: none; }
+ .openerp .oe_view_manager .oe_pager_group .active {
+ background: #999999;
+ -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3) inset;
+ -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3) inset;
+ box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3) inset; }
+ .openerp .oe_view_manager .oe_pager_group .active a {
+ color: white;
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4); }
+ .openerp .oe_view_manager .oe_view_manager_switch {
+ padding: 0;
+ margin: 0 0 0 8px; }
+ .openerp .oe_view_manager .oe_view_manager_switch li {
+ margin: 0;
+ width: 24px;
+ height: 24px;
+ line-height: 16px;
+ padding: 0;
+ text-align: center;
+ list-style-type: none; }
+ .openerp .oe_view_manager .oe_view_manager_switch li a {
+ position: relative; }
+ .openerp .oe_view_manager .oe_view_manager_switch .oe_vm_switch_list:after, .openerp .oe_view_manager .oe_view_manager_switch .oe_vm_switch_tree:after {
+ padding: 2px;
+ content: "i"; }
+ .openerp .oe_view_manager .oe_view_manager_switch .oe_vm_switch_form:after {
+ content: "m"; }
+ .openerp .oe_view_manager .oe_view_manager_switch .oe_vm_switch_graph:after {
+ font-family: "mnmliconsRegular" !important;
+ font-size: 21px;
+ font-weight: 300 !important;
+ content: "}";
+ top: -2px;
+ position: relative; }
+ .openerp .oe_view_manager .oe_view_manager_switch .oe_vm_switch_gantt:after {
+ font-family: "mnmliconsRegular" !important;
+ font-size: 21px;
+ font-weight: 300 !important;
+ content: "y";
+ top: -2px;
+ position: relative; }
+ .openerp .oe_view_manager .oe_view_manager_switch .oe_vm_switch_calendar:after {
+ content: "P"; }
+ .openerp .oe_view_manager .oe_view_manager_switch .oe_vm_switch_kanban:after {
+ content: "k"; }
+ .openerp .oe_view_manager .oe_view_manager_switch .oe_vm_switch_diagram:after {
+ content: "f"; }
+ .openerp .oe_view_manager_current {
+ height: 100%; }
+ .openerp .oe_view_manager_current > .oe_view_manager_header {
+ border-bottom: 1px solid #cacaca;
+ background-color: #fcfcfc;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#fcfcfc), to(#dedede));
+ background-image: -webkit-linear-gradient(top, #fcfcfc, #dedede);
+ background-image: -moz-linear-gradient(top, #fcfcfc, #dedede);
+ background-image: -ms-linear-gradient(top, #fcfcfc, #dedede);
+ background-image: -o-linear-gradient(top, #fcfcfc, #dedede);
+ background-image: linear-gradient(to bottom, #fcfcfc, #dedede);
+ -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.4), 0 0 9px rgba(0, 0, 0, 0.1);
+ -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.4), 0 0 9px rgba(0, 0, 0, 0.1);
+ box-shadow: 0 1px 0 rgba(255, 255, 255, 0.4), 0 0 9px rgba(0, 0, 0, 0.1); }
+ .openerp .oe_view_manager_current > .oe_view_manager_header .oe_header_row td {
+ padding: 8px; }
+ .openerp .oe_view_manager_current > .oe_view_manager_header .oe_header_row:first-child td {
+ padding-top: 8px; }
+ .openerp .oe_view_manager_inline, .openerp .oe_view_manager_inlineview {
+ height: 100%; }
+ .openerp .oe_view_manager_inline > .oe_view_manager_header, .openerp .oe_view_manager_inlineview > .oe_view_manager_header {
+ display: none; }
+ .openerp .oe_popup_form > .oe_formview > .oe_form_pager {
+ display: none !important; }
+ .openerp .oe_searchview {
+ cursor: text;
+ position: relative;
+ float: right;
+ padding: 1px 0;
+ line-height: 18px;
+ width: 400px;
+ border: 1px solid #ababab;
+ background: white;
+ -moz-border-radius: 13px;
+ -webkit-border-radius: 13px;
+ border-radius: 13px;
+ -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) inset;
+ -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) inset;
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) inset; }
+ .openerp .oe_searchview input, .openerp .oe_searchview textarea {
+ padding: 3px;
+ height: 14px;
+ font-size: 12px;
+ line-height: 18px; }
+ .openerp .oe_searchview.oe_focused {
+ border-color: #a6a6fe;
+ -moz-box-shadow: 0 1px 2px #a6a6fe inset;
+ -webkit-box-shadow: 0 1px 2px #a6a6fe inset;
+ box-shadow: 0 1px 2px #a6a6fe inset; }
+ .openerp .oe_searchview .oe_searchview_clear {
+ cursor: pointer;
+ position: absolute;
+ top: 0;
+ right: 18px;
+ width: 15px;
+ height: 100%;
+ background: url(../img/search_reset.gif) center center no-repeat; }
+ .openerp .oe_searchview .oe_searchview_unfold_drawer {
+ position: absolute;
+ top: 0;
+ right: 0;
+ height: 100%;
+ padding: 0 7px 0 4px;
+ color: #cccccc;
+ cursor: pointer; }
+ .openerp .oe_searchview .oe_searchview_unfold_drawer:hover {
+ color: #999999; }
+ .openerp .oe_searchview .oe_searchview_unfold_drawer:before {
+ position: absolute;
+ top: 10px;
+ right: 7px;
+ width: 0;
+ height: 0;
+ display: inline-block;
+ content: "";
+ vertical-align: top;
+ border-top: 5px solid #4c4c4c;
+ border-left: 5px solid transparent;
+ border-right: 5px solid transparent;
+ filter: alpha(opacity=50);
+ opacity: 0.5; }
+ .openerp .oe_searchview .oe_searchview_search {
+ font-size: 1px;
+ letter-spacing: -1px;
+ color: transparent;
+ font-weight: normal;
+ -moz-box-shadow: none;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+ -moz-border-radius: 0;
+ -webkit-border-radius: 0;
+ border-radius: 0;
+ position: absolute;
+ left: 3px;
+ top: 1px;
+ padding: 0;
+ border: none;
+ background: transparent; }
+ .openerp .oe_searchview .oe_searchview_search:before {
+ font: 21px "mnmliconsRegular";
+ content: "r";
+ color: #a3a3a3; }
+ .openerp .oe_searchview .oe_searchview_facets {
+ min-height: 22px;
+ margin-left: 15px; }
+ .openerp .oe_searchview .oe_searchview_facets * {
+ vertical-align: top;
+ display: inline-block;
+ line-height: 17px; }
+ .openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet {
+ height: 18px;
+ margin: 1px 0;
+ font-size: 11px; }
+ .openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet:focus {
+ outline: none; }
+ .openerp .oe_searchview .oe_searchview_facets .oe_searchview_input {
+ padding: 0 0 0 6px;
+ font-size: 12px;
+ height: 16px;
+ margin-top: 3px; }
+ .openerp .oe_searchview .oe_searchview_facets .oe_searchview_input:focus {
+ outline: none; }
+ .openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet {
+ position: relative;
+ cursor: pointer;
+ padding: 0;
+ -webkit-font-smoothing: auto; }
+ .openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet:focus {
+ border-color: #a6a6fe;
+ -moz-box-shadow: 0 0 3px 1px #a6a6fe;
+ -webkit-box-shadow: 0 0 3px 1px #a6a6fe;
+ box-shadow: 0 0 3px 1px #a6a6fe; }
+ .openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet .oe_facet_values {
+ background: #f0f0fa;
+ -moz-border-radius: 0 3px 3px 0;
+ -webkit-border-radius: 0 3px 3px 0;
+ border-radius: 0 3px 3px 0; }
+ .openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet .oe_facet_category, .openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet .oe_facet_value {
+ height: 18px;
+ padding: 0 4px; }
+ .openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet .oe_facet_category {
+ color: white;
+ text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4); }
+ .openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet .oe_facet_category.oe_i {
+ font-size: 16px; }
+ .openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet .oe_facet_value {
+ border-left: 1px solid #afafb6;
+ text-shadow: 0 1px 1px white;
+ color: #4c4c4c; }
+ .openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet .oe_facet_value:last-child {
+ padding-right: 16px; }
+ .openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet .oe_facet_remove {
+ position: absolute;
+ top: 3px;
+ right: 3px;
+ color: #8786b7;
+ line-height: 8px;
+ width: 12px;
+ height: 12px;
+ padding-top: 1px;
+ text-align: center;
+ font-weight: bold;
+ cursor: pointer;
+ text-shadow: 0 1px 1px white; }
+ .openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet .oe_facet_remove:hover {
+ color: white;
+ background: #8786b7;
+ text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
+ -moz-border-radius: 2px;
+ -webkit-border-radius: 2px;
+ border-radius: 2px; }
+ .openerp .oe_searchview.oe_searchview_open_drawer .oe_searchview_drawer {
+ display: block; }
+ .openerp .oe_searchview .oe_searchview_drawer {
+ position: absolute;
+ z-index: 100;
+ margin-top: 4px;
+ top: 100%;
+ right: -1px;
+ background-color: white;
+ min-width: 100%;
+ display: none;
+ border: 1px solid #afafb6;
+ text-align: left;
+ -moz-border-radius: 4px;
+ -webkit-border-radius: 4px;
+ border-radius: 4px;
+ -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
+ -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
+ box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3); }
+ .openerp .oe_searchview .oe_searchview_drawer > div {
+ border-top: 1px solid #cccccc;
+ margin: 0;
+ padding: 8px; }
+ .openerp .oe_searchview .oe_searchview_drawer > div:first-child {
+ border-top: none;
+ margin: 0; }
+ .openerp .oe_searchview .oe_searchview_drawer h3 {
+ margin: 8px 4px 4px 12px;
+ color: #7c7bad;
+ font-size: 13px; }
+ .openerp .oe_searchview .oe_searchview_drawer h4, .openerp .oe_searchview .oe_searchview_drawer h4 * {
+ margin: 0;
+ cursor: pointer;
+ font-weight: normal;
+ display: inline-block; }
+ .openerp .oe_searchview .oe_searchview_drawer h4:hover, .openerp .oe_searchview .oe_searchview_drawer h4 *:hover {
+ background-color: #f0f0fa; }
+ .openerp .oe_searchview .oe_searchview_drawer h4:before {
+ content: "▸ ";
+ color: #a3a3a3; }
+ .openerp .oe_searchview .oe_searchview_drawer button {
+ margin: 4px 0; }
+ .openerp .oe_searchview .oe_searchview_drawer .button {
+ border: none;
+ background: transparent;
+ padding: 0 2px;
+ -moz-box-shadow: none;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+ -moz-border-radius: 0;
+ -webkit-border-radius: 0;
+ border-radius: 0; }
+ .openerp .oe_searchview .oe_searchview_drawer .oe_searchview_section {
+ display: table;
+ width: 100%; }
+ .openerp .oe_searchview .oe_searchview_drawer .oe_searchview_section > div {
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+ display: table-cell;
+ width: 50%; }
+ .openerp .oe_searchview .oe_searchview_drawer .oe_searchview_section ul {
+ margin: 0 8px 8px;
+ padding: 0;
+ list-style: none; }
+ .openerp .oe_searchview .oe_searchview_drawer .oe_searchview_section li {
+ list-style: none;
+ padding: 2px 4px 2px 20px;
+ line-height: 14px;
+ color: inherit;
+ cursor: pointer;
+ position: relative; }
+ .openerp .oe_searchview .oe_searchview_drawer .oe_searchview_section li.oe_selected:before {
+ content: "W";
+ font-family: "entypoRegular" !important;
+ font-size: 24px;
+ font-weight: 300 !important;
+ color: #a3a3a3;
+ position: absolute;
+ left: 4px;
+ top: -2px; }
+ .openerp .oe_searchview .oe_searchview_drawer .oe_searchview_section li:hover {
+ background-color: #f0f0fa; }
+ .openerp .oe_searchview .oe_searchview_drawer form {
+ margin-left: 12px; }
+ .openerp .oe_searchview .oe_searchview_drawer form p {
+ margin: 4px 0;
+ line-height: 18px; }
+ .openerp .oe_searchview .oe_searchview_drawer form button {
+ margin: 0 0 8px 0; }
+ .openerp .oe_searchview .oe_searchview_drawer .oe_searchview_custom {
+ padding: 0 8px 8px 8px; }
+ .openerp .oe_searchview .oe_searchview_drawer .oe_searchview_custom form {
+ display: none; }
+ .openerp .oe_searchview .oe_searchview_drawer .oe_searchview_custom li {
+ cursor: pointer;
+ position: relative;
+ line-height: 14px;
+ padding: 2px 4px 2px 20px; }
+ .openerp .oe_searchview .oe_searchview_drawer .oe_searchview_custom li:hover {
+ background-color: #f0f0fa; }
+ .openerp .oe_searchview .oe_searchview_drawer .oe_searchview_custom li button {
+ position: absolute;
+ top: 0;
+ right: 5px; }
+ .openerp .oe_searchview .oe_searchview_drawer .oe_searchview_dashboard form {
+ display: none;
+ margin-top: 2px; }
+ .openerp .oe_searchview .oe_searchview_drawer .oe_searchview_advanced form {
+ display: none;
+ margin-top: 8px; }
+ .openerp .oe_searchview .oe_searchview_drawer .oe_searchview_advanced button.oe_add_condition:before {
+ content: "Z";
+ font-family: "entypoRegular" !important;
+ font-size: 24px;
+ font-weight: 300 !important;
+ margin-right: 4px; }
+ .openerp .oe_searchview .oe_searchview_drawer .oe_searchview_advanced ul {
+ list-style: none;
+ padding: 0; }
+ .openerp .oe_searchview .oe_searchview_drawer .oe_searchview_advanced li {
+ position: relative;
+ list-style: none;
+ margin: 0;
+ white-space: nowrap; }
+ .openerp .oe_searchview .oe_searchview_drawer .oe_searchview_advanced li:first-child .searchview_extended_prop_or {
+ visibility: hidden; }
+ .openerp .oe_searchview .oe_searchview_drawer .oe_searchview_advanced .searchview_extended_prop_or {
+ opacity: 0.5;
+ margin-left: -14px; }
+ .openerp .oe_searchview .oe_searchview_drawer .oe_opened h4:before {
+ content: "▾ ";
+ position: relative;
+ top: -1px; }
+ .openerp .oe_searchview .oe_searchview_drawer .oe_opened form {
+ display: block; }
+ .openerp .oe_searchview .oe_searchview_drawer .oe_searchview_custom_delete, .openerp .oe_searchview .oe_searchview_drawer .searchview_extended_delete_prop {
+ display: inline-block;
+ width: 12px;
+ height: 12px;
+ line-height: 12px;
+ padding: 1px;
+ color: #8786b7;
+ line-height: 8px;
+ text-align: center;
+ font-weight: bold;
+ text-shadow: 0 1px 1px white; }
+ .openerp .oe_searchview .oe_searchview_drawer .oe_searchview_custom_delete:hover, .openerp .oe_searchview .oe_searchview_drawer .searchview_extended_delete_prop:hover {
+ text-decoration: none;
+ color: white;
+ background: #8786b7;
+ text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
+ -moz-border-radius: 2px;
+ -webkit-border-radius: 2px;
+ border-radius: 2px; }
+ .openerp .oe_searchview .oe_searchview_drawer .oe_searchview_custom_delete {
+ display: none;
+ position: absolute;
+ bottom: 1px;
+ right: 4px; }
+ .openerp .oe_searchview .oe_searchview_drawer .oe_searchview_custom_private:hover .oe_searchview_custom_delete, .openerp .oe_searchview .oe_searchview_drawer .oe_searchview_custom_public:hover .oe_searchview_custom_delete {
+ display: inline-block; }
+ .openerp .oe_searchview .oe_searchview_drawer .oe_searchview_custom_public:after {
+ content: ",";
+ font-family: "entypoRegular" !important;
+ font-size: 22px;
+ font-weight: 300 !important;
+ margin: 0 0 0 4px;
+ padding: 0; }
+ .openerp .oe_view_nocontent {
+ padding: 15px;
+ margin-top: 0;
+ color: #777777;
+ font-size: 125%;
+ max-width: 700px; }
+ .openerp .oe_view_nocontent .oe_view_nocontent_create {
+ background: transparent url(/web/static/src/img/view_empty_arrow.png) no-repeat 7px 0;
+ margin-top: 0;
+ padding-top: 35px;
+ min-height: 28px;
+ color: #4c4c4c; }
+ .openerp .oe_view_nocontent > p {
+ padding-left: 95px; }
+ .openerp .oe_view_nocontent .oe_empty_custom_dashboard {
+ background: transparent url(/web/static/src/img/graph_background.png) no-repeat 0 0;
+ margin-top: -15px;
+ padding: 100px 0 0 137px;
+ min-height: 327px;
+ margin-left: -15px; }
+ .openerp .oe_formview {
+ background: white; }
+ .openerp .oe_form_dropdown_section {
+ position: relative;
+ display: inline-block; }
+ .openerp .oe_form_invalid input, .openerp .oe_form_invalid select, .openerp .oe_form_invalid textarea {
+ background-color: #ff6666 !important;
+ border: 1px solid #dd0000 !important; }
+ .openerp .oe_view_manager_current .oe_form_editable .oe_highlight {
+ color: #404040;
+ background: none; }
+ .openerp .oe_view_manager_current .oe_form_editable button.oe_highlight {
+ background-color: #efefef;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#efefef), to(#d8d8d8));
+ background-image: -webkit-linear-gradient(top, #efefef, #d8d8d8);
+ background-image: -moz-linear-gradient(top, #efefef, #d8d8d8);
+ background-image: -ms-linear-gradient(top, #efefef, #d8d8d8);
+ background-image: -o-linear-gradient(top, #efefef, #d8d8d8);
+ background-image: linear-gradient(to bottom, #efefef, #d8d8d8);
+ -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset;
+ -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset;
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset; }
+ .openerp .oe_view_manager_current .oe_form_editable button.oe_highlight:active {
+ background-color: #e3e3e3;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#e3e3e3), to(#f6f6f6));
+ background-image: -webkit-linear-gradient(top, #e3e3e3, #f6f6f6);
+ background-image: -moz-linear-gradient(top, #e3e3e3, #f6f6f6);
+ background-image: -ms-linear-gradient(top, #e3e3e3, #f6f6f6);
+ background-image: -o-linear-gradient(top, #e3e3e3, #f6f6f6);
+ background-image: linear-gradient(to bottom, #e3e3e3, #f6f6f6);
+ -moz-box-shadow: none;
+ -webkit-box-shadow: none;
+ box-shadow: none; }
+ .openerp .oe_view_manager_current .oe_form_editable button.oe_highlight:hover {
+ background-color: #f6f6f6;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#f6f6f6), to(#e3e3e3));
+ background-image: -webkit-linear-gradient(top, #f6f6f6, #e3e3e3);
+ background-image: -moz-linear-gradient(top, #f6f6f6, #e3e3e3);
+ background-image: -ms-linear-gradient(top, #f6f6f6, #e3e3e3);
+ background-image: -o-linear-gradient(top, #f6f6f6, #e3e3e3);
+ background-image: linear-gradient(to bottom, #f6f6f6, #e3e3e3);
+ -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset;
+ -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset;
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset; }
+ .openerp .oe_form_invisible {
+ display: none !important; }
+ .openerp .oe_form_readonly .oe_edit_only, .openerp .oe_form_readonly .oe_form_field:empty {
+ display: none !important; }
+ .openerp .oe_form_readonly .oe_form .oe_form_field_date {
+ width: auto; }
+ .openerp .oe_form_nosheet {
+ margin: 16px; }
+ .openerp .oe_form_nosheet > header {
+ margin: -16px -16px 0 -16px;
+ padding: 0; }
+ .openerp .oe_form_sheetbg {
+ padding: 16px 0; }
+ .openerp .oe_form_sheet_width {
+ min-width: 650px;
+ max-width: 860px;
+ margin: 0 auto; }
+ .openerp .oe_form_sheet {
+ background: white;
+ min-height: 330px;
+ padding: 16px; }
+ .openerp .oe_application .oe_form_sheetbg {
+ background: url(/web/static/src/img/form_sheetbg.png);
+ border-bottom: 1px solid #dddddd; }
+ .openerp .oe_application .oe_form_sheet {
+ border: 1px solid #c8c8d3;
+ -moz-box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
+ -webkit-box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
+ box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15); }
+ .openerp .oe_application .oe_form_sheet .ui-tabs {
+ margin: 0 -16px; }
+ .openerp .oe_application .oe_form_sheet .oe_notebook_page {
+ padding: 0 16px; }
+ .openerp .oe_form header {
+ position: relative;
+ border-bottom: 1px solid #cacaca;
+ padding-left: 2px;
+ background-color: #fcfcfc;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#fcfcfc), to(#dedede));
+ background-image: -webkit-linear-gradient(top, #fcfcfc, #dedede);
+ background-image: -moz-linear-gradient(top, #fcfcfc, #dedede);
+ background-image: -ms-linear-gradient(top, #fcfcfc, #dedede);
+ background-image: -o-linear-gradient(top, #fcfcfc, #dedede);
+ background-image: linear-gradient(to bottom, #fcfcfc, #dedede); }
+ .openerp .oe_form header > span {
+ margin-left: 4px; }
+ .openerp .oe_form header ul {
+ display: inline-block;
+ float: right; }
+ .openerp .oe_form header .oe_button {
+ margin: 3px 2px 1px; }
+ .openerp .oe_form header .oe_button:first-child {
+ margin-left: 6px; }
+ .openerp .oe_form header .oe_tags {
+ margin: 5px 0 0 5px;
+ width: 400px;
+ padding-bottom: 0; }
+ .openerp .oe_form div.oe_chatter {
+ min-width: 650px;
+ max-width: 860px;
+ margin: 0 auto;
+ padding: 16px 0 48px; }
+ .openerp .oe_form div.oe_form_configuration p, .openerp .oe_form div.oe_form_configuration ul, .openerp .oe_form div.oe_form_configuration ol {
+ color: #aaaaaa;
+ max-width: 650px; }
+ .openerp .oe_form div.oe_form_configuration label {
+ min-width: 150px; }
+ .openerp .oe_form div.oe_form_configuration .oe_form_group_cell_label {
+ padding: 1px 0; }
+ .openerp .oe_form div.oe_form_configuration .oe_form_group_cell div div {
+ padding: 1px 0; }
+ .openerp .oe_form .oe_subtotal_footer {
+ width: 1% !important; }
+ .openerp .oe_form .oe_subtotal_footer td.oe_form_group_cell {
+ text-align: right;
+ padding: 0 !important; }
+ .openerp .oe_form .oe_subtotal_footer td.oe_form_group_cell_label {
+ border-right: none; }
+ .openerp .oe_form .oe_subtotal_footer .oe_subtotal_footer_separator {
+ width: 108px;
+ border-top: 1px solid #cacaca;
+ margin-top: 4px;
+ padding-top: 4px;
+ font-weight: bold;
+ font-size: 18px; }
+ .openerp .oe_form .oe_subtotal_footer label:after {
+ content: ":"; }
+ .openerp .oe_form .oe_subtotal_footer label.oe_subtotal_footer_separator {
+ font-weight: bold !important;
+ padding: 2px 11px 2px 0px !important; }
+ .openerp .oe_form .oe_subtotal_footer label.oe_form_label_help {
+ font-weight: normal; }
+ .openerp .oe_form .oe_form_button {
+ margin: 2px; }
+ .openerp .oe_form td.oe_form_group_cell_label {
+ border-right: 1px solid #dddddd;
+ padding: 2px 0px; }
+ .openerp .oe_form td.oe_form_group_cell_label label {
+ line-height: 18px;
+ display: block;
+ min-width: 140px; }
+ .openerp .oe_form td.oe_form_group_cell + .oe_form_group_cell {
+ padding: 2px 0 2px 8px; }
+ .openerp .oe_form .oe_form_group {
+ width: 100%;
+ margin: 9px 0 9px 0; }
+ .openerp .oe_form .oe_form_group .oe_form_group_cell.oe_group_right {
+ padding-left: 20px; }
+ .openerp .oe_form .oe_form_label_help[for], .openerp .oe_form .oe_form_label[for] {
+ font-weight: bold;
+ white-space: nowrap;
+ padding-right: 8px; }
+ .openerp .oe_form .oe_form_label_help[for] span, .openerp .oe_form .oe_form_label[for] span {
+ font-size: 80%;
+ color: darkGreen;
+ vertical-align: top;
+ position: relative;
+ top: -4px;
+ padding: 0 2px; }
+ .openerp .oe_horizontal_border {
+ border-bottom: 1px solid black; }
+ .openerp .oe_horizontal_separator {
+ font-weight: bold;
+ font-size: 20px;
+ margin: 15px 0px 10px 0px;
+ color: #7c7bad; }
+ .openerp .oe_horizontal_separator:empty {
+ height: 5px; }
+ .openerp .oe_vertical_separator {
+ border-left: 1px solid #666666;
+ padding: 0 4px 0 4px; }
+ .openerp .oe_form_field_progressbar {
+ display: inline-block;
+ min-width: 70px; }
+ .openerp .oe_form_field_progressbar.ui-progressbar {
+ height: 22px;
+ font-size: 10px;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+ border: 1px solid #999999;
+ -moz-border-radius: 3px;
+ -webkit-border-radius: 3px;
+ border-radius: 3px;
+ background: white;
+ min-width: 50px; }
+ .openerp .oe_form_field_progressbar.ui-progressbar span {
+ position: absolute;
+ margin-left: 10px;
+ font-weight: bold; }
+ .openerp .oe_form_field_progressbar.ui-progressbar .ui-widget-header {
+ background: #cccccc url(/web/static/lib/jquery.ui/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x; }
+ .openerp .oe_form .oe_form_field_text {
+ width: 100%; }
+ .openerp .oe_form .oe_form_field_char input,
+ .openerp .oe_form .oe_form_field_url input,
+ .openerp .oe_form .oe_form_field_email input,
+ .openerp .oe_form .oe_form_field_text textarea,
+ .openerp .oe_form .oe_form_field_selection select {
+ width: 100%; }
+ .openerp .oe_form .oe_form_field_text.oe_inline, .openerp .oe_form .oe_form_field_text.oe_inline > textarea {
+ width: 500px; }
+ .openerp .oe_form h1, .openerp .oe_form h2, .openerp .oe_form h3, .openerp .oe_form h4, .openerp .oe_form h5, .openerp .oe_form h6 {
+ margin: 0 0 4px 0; }
+ .openerp .oe_form h1 input, .openerp .oe_form h2 input, .openerp .oe_form h3 input, .openerp .oe_form h4 input, .openerp .oe_form h5 input, .openerp .oe_form h6 input {
+ height: inherit !important;
+ font-size: inherit; }
+ .openerp .oe_form .oe_form_field {
+ width: 100%;
+ display: inline-block;
+ padding: 2px 2px 2px 0px; }
+ .openerp .oe_form .oe_form_field input {
+ margin: 0px; }
+ .openerp .oe_form input[type="text"], .openerp .oe_form input[type="password"], .openerp .oe_form input[type="file"], .openerp .oe_form select {
+ height: 22px;
+ padding-top: 2px; }
+ .openerp .oe_form input[type="text"], .openerp .oe_form input[type="password"], .openerp .oe_form input[type="file"], .openerp .oe_form select, .openerp .oe_form textarea {
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+ background: white;
+ min-width: 60px;
+ color: #1f1f1f; }
+ .openerp .oe_form input[readonly], .openerp .oe_form select[readonly], .openerp .oe_form textarea[readonly], .openerp .oe_form input[disabled], .openerp .oe_form select[disabled] {
+ background: #e5e5e5 !important;
+ color: #666666; }
+ .openerp .oe_form textarea[disabled] {
+ border: none;
+ padding-left: 8px;
+ -moz-box-shadow: none;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+ -moz-border-radius: 0px;
+ -webkit-border-radius: 0px;
+ border-radius: 0px; }
+ .openerp .oe_form textarea.oe_inline[disabled] {
+ border-left: 8px solid #eeeeee; }
+ .openerp .oe_form .oe_form_field_url button img {
+ vertical-align: top; }
+ .openerp .oe_form .oe_form_field_date,
+ .openerp .oe_form .oe_form_field_datetime {
+ white-space: nowrap; }
+ .openerp .oe_form .oe_form_field_boolean {
+ padding-top: 4px;
+ width: auto; }
+ .openerp .oe_form .oe_datepicker_container {
+ display: none; }
+ .openerp .oe_form .oe_datepicker_root {
+ display: inline-block; }
+ .openerp .oe_form .oe_form_required input:not([disabled]):not([readonly]), .openerp .oe_form .oe_form_required select:not([disabled]):not([readonly]), .openerp .oe_form .oe_form_required textarea:not([disabled]):not([readonly]) {
+ background-color: #d2d2ff !important; }
+ .openerp .oe_form .oe_form_invalid input, .openerp .oe_form .oe_form_invalid select, .openerp .oe_form .oe_form_invalid textarea {
+ background-color: #ff6666 !important;
+ border: 1px solid #dd0000 !important; }
+ .openerp .oe_form .oe_input_icon {
+ cursor: pointer;
+ margin: 3px 0 0 -21px;
+ vertical-align: top; }
+ .openerp .oe_form .oe_input_icon_disabled {
+ position: absolute;
+ cursor: default;
+ opacity: 0.5;
+ filter: alpha(opacity=50);
+ right: 5px;
+ top: 3px; }
+ .openerp .oe_form .oe_form_field_with_button.oe_no_button > .oe_button {
+ display: none; }
+ .openerp .oe_form .oe_form_field_with_button:not(.oe_no_button) > .oe_button {
+ float: right;
+ -moz-border-radius: 0;
+ -webkit-border-radius: 0;
+ border-radius: 0;
+ border-bottom-left-radius: 0px;
+ height: 22px; }
+ .openerp .oe_form .oe_form_field_with_button input {
+ width: 100%; }
+ .openerp .oe_form .oe_form_field_with_button > div {
+ position: relative;
+ overflow: hidden; }
+ .openerp .oe_form .oe_form_embedded_html {
+ position: relative;
+ width: 600px;
+ margin-left: 130px;
+ margin-top: 32px;
+ margin-bottom: 32px;
+ text-align: justify; }
+ .openerp .oe_form_editable .oe_form .oe_form_field_integer input {
+ width: 6em !important; }
+ .openerp .oe_form_editable .oe_form .oe_form_field_float input {
+ width: 7em !important; }
+ .openerp .oe_form_editable .oe_form .oe_form_field_date input {
+ width: 7.5em !important; }
+ .openerp .oe_form_editable .oe_form .oe_form_field_datetime input {
+ width: 11.5em !important; }
+ .openerp .oe_hidden_input_file {
+ position: relative; }
+ .openerp .oe_hidden_input_file input.oe_form_binary_file {
+ z-index: 0;
+ line-height: 0;
+ font-size: 12px;
+ position: absolute;
+ top: 1px;
+ left: 0;
+ right: 0;
+ opacity: 0;
+ filter: alpha(opacity=0);
+ -ms-filter: "alpha(opacity=0)";
+ margin: 0;
+ padding: 0; }
+ .openerp .oe_form .oe_form_field_image {
+ padding: 0;
+ position: relative;
+ display: inline-block;
+ width: auto;
+ vertical-align: top; }
+ .openerp .oe_form .oe_form_field_image .oe_form_field_image_controls {
+ position: absolute;
+ top: 1px;
+ padding: 4px;
+ width: 100%;
+ display: none;
+ text-align: center;
+ color: #eeeeee;
+ background: rgba(37, 37, 37, 0.9);
+ -moz-border-radius: 3px 3px 0 0;
+ -webkit-border-radius: 3px 3px 0 0;
+ border-radius: 3px 3px 0 0;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box; }
+ .openerp .oe_form .oe_form_field_image:hover .oe_form_field_image_controls {
+ display: block; }
+ .openerp .oe_form_field_many2one td:first-child {
+ position: relative; }
+ .openerp .oe_form_field_many2one span.oe_m2o_drop_down_button {
+ position: absolute;
+ top: 2px;
+ right: 0px; }
+ .openerp .oe_form_field_many2one .oe_m2o_cm_button {
+ line-height: 14px;
+ float: right;
+ padding-left: 2px; }
+ .openerp.ui-autocomplete li.oe_m2o_dropdown_option a {
+ font-style: italic;
+ padding-left: 2em; }
+ .openerp.ui-autocomplete li:not(.oe_m2o_dropdown_option) + li.oe_m2o_dropdown_option {
+ margin-top: 10px; }
+ .openerp ul.oe_form_status, .openerp ul.oe_form_status_clickable {
+ display: inline-block;
+ margin: 0;
+ padding: 0 18px 0 0; }
+ .openerp ul.oe_form_status li, .openerp ul.oe_form_status_clickable li {
+ display: inline-block;
+ list-style-type: none;
+ margin: 0 -18px 0 0;
+ padding: 0;
+ background-color: #fcfcfc;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#fcfcfc), to(#dedede));
+ background-image: -webkit-linear-gradient(top, #fcfcfc, #dedede);
+ background-image: -moz-linear-gradient(top, #fcfcfc, #dedede);
+ background-image: -ms-linear-gradient(top, #fcfcfc, #dedede);
+ background-image: -o-linear-gradient(top, #fcfcfc, #dedede);
+ background-image: linear-gradient(to bottom, #fcfcfc, #dedede); }
+ .openerp ul.oe_form_status li:first-child .label, .openerp ul.oe_form_status_clickable li:first-child .label {
+ border-left: 1px solid #cacaca;
+ padding-left: 14px; }
+ .openerp ul.oe_form_status li:last-child, .openerp ul.oe_form_status_clickable li:last-child {
+ border-right: 1px solid #cacaca; }
+ .openerp ul.oe_form_status li:last-child .label, .openerp ul.oe_form_status_clickable li:last-child .label {
+ padding-right: 14px; }
+ .openerp ul.oe_form_status li:last-child .arrow, .openerp ul.oe_form_status_clickable li:last-child .arrow {
+ display: none; }
+ .openerp ul.oe_form_status li .label, .openerp ul.oe_form_status_clickable li .label {
+ color: #4c4c4c;
+ text-shadow: 0 1px 1px #fcfcfc, 0 -1px 1px #dedede;
+ padding: 7px;
+ display: inline-block;
+ padding-left: 24px;
+ margin: 0;
+ position: relative; }
+ .openerp ul.oe_form_status li .arrow, .openerp ul.oe_form_status_clickable li .arrow {
+ width: 17px;
+ display: inline-block;
+ vertical-align: top;
+ overflow: hidden;
+ margin-left: -5px; }
+ .openerp ul.oe_form_status li .arrow span, .openerp ul.oe_form_status_clickable li .arrow span {
+ position: relative;
+ width: 24px;
+ height: 24px;
+ display: inline-block;
+ margin-left: -12px;
+ margin-top: 3px;
+ box-shadow: -1px 1px 2px rgba(255, 255, 255, 0.2), inset -1px 1px 1px rgba(0, 0, 0, 0.2);
+ background-color: #dedede;
+ background: -moz-linear-gradient(135deg, #dedede, #fcfcfc);
+ background: -o-linear-gradient(135deg, #fcfcfc, #dedede);
+ background: -webkit-gradient(linear, left top, right bottom, from(#fcfcfc), to(#dedede));
+ -moz-border-radius: 3px;
+ -webkit-border-radius: 3px;
+ border-radius: 3px;
+ -webkit-transform: rotate(45deg);
+ -moz-transform: rotate(45deg);
+ -ms-transform: rotate(45deg);
+ -o-transform: rotate(45deg);
+ transform: rotate(45deg); }
+ .openerp ul.oe_form_status li.oe_active, .openerp ul.oe_form_status_clickable li.oe_active {
+ background-color: #729fcf;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#729fcf), to(#3465a4));
+ background-image: -webkit-linear-gradient(top, #729fcf, #3465a4);
+ background-image: -moz-linear-gradient(top, #729fcf, #3465a4);
+ background-image: -ms-linear-gradient(top, #729fcf, #3465a4);
+ background-image: -o-linear-gradient(top, #729fcf, #3465a4);
+ background-image: linear-gradient(to bottom, #729fcf, #3465a4); }
+ .openerp ul.oe_form_status li.oe_active .arrow span, .openerp ul.oe_form_status_clickable li.oe_active .arrow span {
+ background-color: #3465a4;
+ background: -moz-linear-gradient(135deg, #3465a4, #729fcf);
+ background: -o-linear-gradient(135deg, #729fcf, #3465a4);
+ background: -webkit-gradient(linear, left top, right bottom, from(#729fcf), to(#3465a4)); }
+ .openerp ul.oe_form_status li.oe_active .label, .openerp ul.oe_form_status_clickable li.oe_active .label {
+ color: white;
+ text-shadow: 0 1px 1px #729fcf, 0 -1px 1px #3465a4; }
+ .openerp ul.oe_form_status_clickable li {
+ cursor: pointer; }
+ .openerp ul.oe_form_status_clickable li:hover {
+ background-color: #e8e8e8;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#cacaca));
+ background-image: -webkit-linear-gradient(top, #e8e8e8, #cacaca);
+ background-image: -moz-linear-gradient(top, #e8e8e8, #cacaca);
+ background-image: -ms-linear-gradient(top, #e8e8e8, #cacaca);
+ background-image: -o-linear-gradient(top, #e8e8e8, #cacaca);
+ background-image: linear-gradient(to bottom, #e8e8e8, #cacaca); }
+ .openerp ul.oe_form_status_clickable li:hover .label {
+ text-shadow: 0 -1px 1px #fcfcfc, 0 1px 1px #dedede; }
+ .openerp ul.oe_form_status_clickable li:hover .arrow span {
+ background-color: #e8e8e8;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#cacaca));
+ background-image: -webkit-linear-gradient(top, #e8e8e8, #cacaca);
+ background-image: -moz-linear-gradient(top, #e8e8e8, #cacaca);
+ background-image: -ms-linear-gradient(top, #e8e8e8, #cacaca);
+ background-image: -o-linear-gradient(top, #e8e8e8, #cacaca);
+ background-image: linear-gradient(to bottom, #e8e8e8, #cacaca); }
+ .openerp ul.oe_form_status_clickable li .label {
+ color: #7c7bad; }
+ .openerp ul.oe_form_status_clickable li.oe_active:hover {
+ background-color: #4c85c2;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#4c85c2), to(#284d7d));
+ background-image: -webkit-linear-gradient(top, #4c85c2, #284d7d);
+ background-image: -moz-linear-gradient(top, #4c85c2, #284d7d);
+ background-image: -ms-linear-gradient(top, #4c85c2, #284d7d);
+ background-image: -o-linear-gradient(top, #4c85c2, #284d7d);
+ background-image: linear-gradient(to bottom, #4c85c2, #284d7d); }
+ .openerp ul.oe_form_status_clickable li.oe_active:hover .label {
+ text-shadow: 0 -1px 1px #729fcf, 0 1px 1px #3465a4; }
+ .openerp ul.oe_form_status_clickable li.oe_active:hover .arrow span {
+ background-color: #284d7d;
+ background: -moz-linear-gradient(135deg, #284d7d, #4c85c2);
+ background: -o-linear-gradient(135deg, #4c85c2, #284d7d);
+ background: -webkit-gradient(linear, left top, right bottom, from(#4c85c2), to(#284d7d)); }
+ .openerp .oe_form .oe_form_field_one2many > .oe_view_manager .oe_list_pager_single_page {
+ display: none; }
+ .openerp .oe_form_field_one2many > .oe_view_manager .oe_list_pager_single_page, .openerp .oe_form_field_many2many > .oe_view_manager .oe_list_pager_single_page {
+ display: none !important; }
+ .openerp .oe_form_field_one2many .oe_form_field_one2many_list_row_add, .openerp .oe_form_field_many2many .oe_form_field_one2many_list_row_add {
+ font-weight: bold; }
+ .openerp .oe_form_field_one2many .oe_list_content > thead, .openerp .oe_form_field_many2many .oe_list_content > thead {
+ border-bottom: 1px; }
+ .openerp .oe_form_field_one2many .oe_list_content > tbody tr:nth-child(odd), .openerp .oe_form_field_many2many .oe_list_content > tbody tr:nth-child(odd) {
+ background: transparent; }
+ .openerp .oe_form_field_one2many .oe_list .oe_list_edit_row_save, .openerp .oe_form_field_many2many .oe_list .oe_list_edit_row_save {
+ background: url(/web/static/src/img/iconset-b-remove.png) 50% 50% no-repeat; }
+ .openerp .oe_form_field_one2many .oe_list .oe_list_edit_row_save:before, .openerp .oe_form_field_many2many .oe_list .oe_list_edit_row_save:before {
+ visibility: hidden; }
+ .openerp .oe_form_field_one2many > .oe_view_manager .oe_header_row_top, .openerp .oe_form_field_many2many > .oe_view_manager .oe_header_row_top {
+ display: none; }
+ .openerp .oe_form_field_one2many > .oe_view_manager .oe_view_manager_header2 td, .openerp .oe_form_field_many2many > .oe_view_manager .oe_view_manager_header2 td {
+ padding: 0px 8px;
+ line-height: 16px; }
+ .openerp .oe_form_field_one2many > .oe_view_manager .oe_view_manager_header2 td .oe_i, .openerp .oe_form_field_many2many > .oe_view_manager .oe_view_manager_header2 td .oe_i {
+ font-size: 13px; }
+ .openerp .oe_form_field_one2many > .oe_view_manager .oe_view_manager_header2 td .oe_pager_group, .openerp .oe_form_field_many2many > .oe_view_manager .oe_view_manager_header2 td .oe_pager_group {
+ height: auto;
+ line-height: 16px; }
+ .openerp .oe_form_field_one2many > .oe_view_manager .oe_view_manager_header2 td .oe_pager_group li, .openerp .oe_form_field_many2many > .oe_view_manager .oe_view_manager_header2 td .oe_pager_group li {
+ height: auto;
+ line-height: 16px; }
+ .openerp .oe_form_field_one2many .oe_list_buttons.oe_editing .oe_list_save, .openerp .oe_form_field_many2many .oe_list_buttons.oe_editing .oe_list_save {
+ visibility: hidden; }
+ .openerp .oe_form_editable .oe_list_editable .oe_list_content td.oe_required {
+ background-color: #d2d2ff; }
+ .openerp .oe_form_editable .oe_list_editable .oe_list_content td.oe_readonly {
+ background-color: #eeeeee; }
+ .openerp .oe_list_editable .oe_list_content td.oe_list_field_cell {
+ padding: 4px 6px 3px 6px; }
+ .openerp .oe_list.oe_list_editable td.oe_list_record_delete {
+ position: absolute; }
+ .openerp .oe_list.oe_list_editable.oe_editing .oe_edition .oe_list_field_cell:not(.oe_readonly) {
+ color: transparent; }
+ .openerp .oe_list.oe_list_editable.oe_editing .oe_edition .oe_list_field_cell:not(.oe_readonly) * {
+ visibility: hidden; }
+ .openerp .oe_list.oe_list_editable.oe_editing .oe_m2o_drop_down_button {
+ top: 5px; }
+ .openerp .oe_list.oe_list_editable.oe_editing .oe_m2o_cm_button {
+ display: none; }
+ .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field input, .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field textarea {
+ height: 27px; }
+ .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field input, .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field textarea {
+ -moz-border-radius: 0;
+ -webkit-border-radius: 0;
+ border-radius: 0;
+ border: 1px solid #aaaaff;
+ margin: 0; }
+ .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_form_field_float input, .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_form_view_integer input {
+ text-align: right;
+ width: 100% !important; }
+ .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_form_field_datetime > span, .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_form_field_date > span {
+ width: 100% !important; }
+ .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_form_field_datetime input.oe_datepicker_master, .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_form_field_date input.oe_datepicker_master {
+ width: 100% !important; }
+ .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field .oe_form_field_float, .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field .oe_form_view_integer, .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_form_field_datetime, .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_form_field_date {
+ min-width: 0 !important;
+ max-width: none !important; }
+ .openerp .oe_list_group_name {
+ white-space: nowrap; }
+ .openerp .oe_form .oe_form_field_many2many > .oe_list .oe_list_pager_single_page {
+ display: none; }
+ .openerp .oe_list_buttons .oe_alternative {
+ visibility: hidden; }
+ .openerp .oe_list_buttons .oe_list_save, .openerp .oe_list_buttons .oe_list_discard {
+ display: none; }
+ .openerp .oe_list_buttons.oe_editing .oe_list_add {
+ display: none; }
+ .openerp .oe_list_buttons.oe_editing .oe_list_save {
+ display: inline-block; }
+ .openerp .oe_list_buttons.oe_editing .oe_list_discard {
+ display: inline; }
+ .openerp .oe_list_buttons.oe_editing .oe_alternative {
+ visibility: visible; }
+ .openerp .oe_list .oe_form .oe_form_nosheet {
+ margin: 0;
+ padding: 0;
+ border: none; }
+ .openerp .oe_list .oe_form .oe_form_field {
+ width: auto;
+ position: absolute;
+ margin: 0 !important;
+ padding: 0; }
+ .openerp .oe_list .oe_list_content .oe_group_header {
+ background-color: #fcfcfc;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#fcfcfc), to(#dedede));
+ background-image: -webkit-linear-gradient(top, #fcfcfc, #dedede);
+ background-image: -moz-linear-gradient(top, #fcfcfc, #dedede);
+ background-image: -ms-linear-gradient(top, #fcfcfc, #dedede);
+ background-image: -o-linear-gradient(top, #fcfcfc, #dedede);
+ background-image: linear-gradient(to bottom, #fcfcfc, #dedede); }
+ .openerp .oe_list_content {
+ width: 100%; }
+ .openerp .oe_list_content td:first-child:after, .openerp .oe_list_content th:first-child:after {
+ border-width: 0; }
+ .openerp .oe_list_content td.oe_number {
+ text-align: right !important;
+ max-width: 100px; }
+ .openerp .oe_list_content > thead {
+ border-bottom: 2px solid #cacaca;
+ background: #eeeeee;
+ vertical-align: top; }
+ .openerp .oe_list_content td, .openerp .oe_list_content th {
+ padding: 3px 6px;
+ line-height: 18px; }
+ .openerp .oe_list_content th.oe_sortable, .openerp .oe_list_content th.oe_sortable div {
+ cursor: pointer; }
+ .openerp .oe_list_content th.oe_sortable div {
+ position: relative; }
+ .openerp .oe_list_content th.oe_sortable div:after {
+ position: absolute;
+ right: 6px;
+ content: "";
+ margin-top: 7px;
+ border-width: 0 4px 4px;
+ border-style: solid;
+ border-color: black transparent;
+ visibility: hidden; }
+ .openerp .oe_list_content th.sortup div:after {
+ visibility: visible;
+ filter: alpha(opacity=60);
+ opacity: 0.6; }
+ .openerp .oe_list_content th.sortdown div:after {
+ border-bottom: none;
+ border-left: 4px solid transparent;
+ border-right: 4px solid transparent;
+ border-top: 4px solid black;
+ visibility: visible;
+ -moz-box-shadow: none;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+ filter: alpha(opacity=60);
+ opacity: 0.6; }
+ .openerp .oe_list_content > tbody {
+ cursor: pointer; }
+ .openerp .oe_list_content > tbody > tr {
+ height: 27px;
+ border-top: 1px solid #dddddd; }
+ .openerp .oe_list_content > tbody > tr > td.oe_list_field_cell {
+ padding: 3px 6px;
+ white-space: pre-line; }
+ .openerp .oe_list_content > tbody > tr > td > button, .openerp .oe_list_content > tbody > tr > th > button {
+ border: none;
+ background: transparent;
+ padding: 0;
+ -moz-box-shadow: none;
+ -webkit-box-shadow: none;
+ box-shadow: none; }
+ .openerp .oe_list_content > tbody > tr > td.oe_list_checkbox:first-child, .openerp .oe_list_content > tbody > tr th.oe_list_checkbox:first-child {
+ width: 17px; }
+ .openerp .oe_list_content > tbody > tr > td.oe_list_checkbox:first-child:after, .openerp .oe_list_content > tbody > tr th.oe_list_checkbox:first-child:after {
+ border-width: 0; }
+ .openerp .oe_list_content > tbody > tr:nth-child(odd) {
+ background-color: #f0f0fa;
+ background-color: #f0f0fa;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#f0f0fa), to(#eeeef6));
+ background-image: -webkit-linear-gradient(top, #f0f0fa, #eeeef6);
+ background-image: -moz-linear-gradient(top, #f0f0fa, #eeeef6);
+ background-image: -ms-linear-gradient(top, #f0f0fa, #eeeef6);
+ background-image: -o-linear-gradient(top, #f0f0fa, #eeeef6);
+ background-image: linear-gradient(to bottom, #f0f0fa, #eeeef6); }
+ .openerp .oe_list_content > tfoot {
+ border-top: 2px solid #cacaca;
+ border-bottom: 1px solid #cacaca;
+ background: #eeeeee;
+ font-weight: bold; }
+ .openerp .oe_list_content .numeric {
+ text-align: right;
+ width: 82px; }
+ .openerp .oe_list_content .numeric input {
+ text-align: right; }
+ .openerp .oe_list_content th.oe_list_header_handle {
+ font-size: 1px;
+ overflow: hidden;
+ text-indent: -9001px; }
+ .openerp .oe_list_content td.oe_list_field_handle {
+ width: 1em;
+ padding: 0 !important;
+ cursor: ns-resize; }
+ .openerp .oe_list_content td.oe_list_field_handle .oe_list_handle {
+ font-size: 1px;
+ letter-spacing: -1px;
+ color: transparent;
+ font-weight: normal;
+ margin-right: 7px; }
+ .openerp .oe_list_content td.oe_list_field_handle .oe_list_handle:before {
+ font: 18px "entypoRegular";
+ content: "}";
+ color: #e0e0e0; }
+ .openerp .oe_list_cannot_create .oe_view_nocontent_create {
+ display: none; }
+ .openerp .oe_list_cannot_edit .oe_list_header_handle, .openerp .oe_list_cannot_edit .oe_list_field_handle {
+ display: none !important;
+ padding: 0 !important; }
+ .openerp .oe_list_cannot_delete .oe_list_record_delete {
+ display: none !important; }
+ .openerp .tree_header {
+ background-color: #f0f0f0;
+ border-bottom: 1px solid #cacaca;
+ color: #4c4c4c;
+ padding: 5px;
+ height: 25px; }
+ .openerp .tree_header button {
+ float: right;
+ height: 27px;
+ margin-right: 5px; }
+ .openerp .oe-treeview-table {
+ width: 100%;
+ background-color: white;
+ border-spacing: 0;
+ color: #4c4c4c; }
+ .openerp .oe-treeview-table th {
+ padding: 10px;
+ font-weight: bold;
+ background-color: #f0f0f0;
+ border-bottom: 2px solid #cacaca; }
+ .openerp .oe-treeview-table td {
+ cursor: pointer;
+ vertical-align: middle;
+ text-align: left;
+ vertical-align: middle;
+ height: 20px;
+ padding-left: 4px;
+ padding-right: 4px;
+ border-right: 1px solid #e7e7e7; }
+ .openerp .oe-treeview-table td.oe_number {
+ text-align: right !important; }
+ .openerp .oe-treeview-table tr {
+ border-bottom: 1px solid #d6d6d6; }
+ .openerp .oe-treeview-table tr:hover {
+ background-color: #e7e7e7; }
+ .openerp .oe-treeview-table span {
+ font-size: 90%;
+ font-weight: normal;
+ white-space: nowrap;
+ display: block; }
+ .openerp .oe-treeview-table .treeview-tr.oe-treeview-first {
+ background: transparent url(/web/static/src/img/expand.gif) 0 50% no-repeat; }
+ .openerp .oe-treeview-table .oe_open .treeview-tr.oe-treeview-first {
+ background-image: url(/web/static/src/img/collapse.gif); }
+ .openerp .oe-treeview-table .treeview-tr.oe-treeview-first span, .openerp .oe-treeview-table .treeview-td.oe-treeview-first span {
+ margin-left: 16px; }
+ .openerp .oe_layout_debugging .oe_form_group {
+ outline: 2px dashed green; }
+ .openerp .oe_layout_debugging .oe_form_group_cell {
+ outline: 1px solid blue; }
+ .openerp .oe_layout_debugging .oe_form_group:hover, .openerp .oe_layout_debugging .oe_form_group_cell:hover {
+ outline-color: red; }
+ .openerp .oe_layout_debugging .oe_form_group_row_incomplete > td:last-child:after {
+ content: "[Incomplete Row]";
+ background: red;
+ padding: 2px;
+ font-weight: bold;
+ color: white;
+ float: right; }
+ .openerp .oe_layout_debugging .oe_form_group_row_incomplete.oe_form_group_row_newline > td:last-child:after {
+ content: "[newline]"; }
+ .openerp .oe_debug_view {
+ float: left; }
+ .openerp .oe_debug_view_log {
+ font-size: 95%; }
+ .openerp .oe_debug_view_log label {
+ display: block;
+ width: 49%;
+ text-align: right;
+ float: left;
+ font-weight: bold;
+ color: #000099; }
+ .openerp .oe_debug_view_log span {
+ display: block;
+ width: 49%;
+ float: right;
+ color: #333333; }
.kitten-mode-activated {
background-image: url(http://placekitten.com/g/1365/769);
background-size: cover;
- background-attachment: fixed;
-}
-.kitten-mode-activated > * {
- opacity: 0.7;
-}
+ background-attachment: fixed; }
+ .kitten-mode-activated > * {
+ opacity: 0.7; }
div.ui-widget-overlay {
background: black;
filter: alpha(opacity=30);
- opacity: 0.3;
-}
+ opacity: 0.3; }
.ui-widget {
font-family: "Lucida Grande", Helvetica, Verdana, Arial, sans-serif;
color: #4c4c4c;
- font-size: 13px;
-}
+ font-size: 13px; }
.ui-menu {
padding: 2px 0;
@@ -2898,29 +2371,22 @@ div.ui-widget-overlay {
-webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
margin-top: 4px;
- border: 1px solid #afafb6;
-}
-.ui-menu .ui-menu-item {
- width: 100%;
- padding: 0;
-}
-.ui-menu .ui-menu-item a {
- padding: 1px 16px;
-}
-.ui-menu .ui-menu-item a.ui-corner-all {
- -moz-border-radius: 0;
- -webkit-border-radius: 0;
- border-radius: 0;
-}
-.ui-menu .ui-menu-item a.ui-state-active {
- background: #f0f0fa;
-}
-.ui-menu .ui-menu-item a.ui-state-hover, .ui-menu .ui-menu-item a.ui-state-active {
- background: #7c7bad;
-}
+ border: 1px solid #afafb6; }
+ .ui-menu .ui-menu-item {
+ width: 100%;
+ padding: 0; }
+ .ui-menu .ui-menu-item a {
+ padding: 1px 16px; }
+ .ui-menu .ui-menu-item a.ui-corner-all {
+ -moz-border-radius: 0;
+ -webkit-border-radius: 0;
+ border-radius: 0; }
+ .ui-menu .ui-menu-item a.ui-state-active {
+ background: #f0f0fa; }
+ .ui-menu .ui-menu-item a.ui-state-hover, .ui-menu .ui-menu-item a.ui-state-active {
+ background: #7c7bad; }
.ui-corner-all {
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
- border-radius: 3px;
-}
+ border-radius: 3px; }
From 40c3a1d748cb5cd27518e6881a83f7d38eb47380 Mon Sep 17 00:00:00 2001
From: Antony Lesuisse
Date: Tue, 23 Oct 2012 03:03:03 +0200
Subject: [PATCH 179/227] [FIX] process model link to doc.openerp.com
bzr revid: al@openerp.com-20121023010303-u0opl3aluqtogqeb
---
addons/process/static/src/js/process.js | 3 +--
addons/process/static/src/xml/process.xml | 4 ++--
2 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/addons/process/static/src/js/process.js b/addons/process/static/src/js/process.js
index c2ec4486507..2405f6d2aa5 100644
--- a/addons/process/static/src/js/process.js
+++ b/addons/process/static/src/js/process.js
@@ -176,11 +176,10 @@ instance.web.ViewManager.include({
var notes = new_notes.substring(0,60) +'..';
}
r.text(nodes.x+60, nodes.y+30, (notes || new_notes)).attr({"title":nodes.notes,"cursor": "default"});
- var DOC_URL = "http://doc.openerp.com/v6.1/index.php";
r['image']('/web/static/src/img/icons/gtk-info.png', nodes.x, nodes.y+75, 16, 16)
.attr({"cursor": "pointer", "title": "Help"})
.click(function() {
- window.open(nodes.url || DOC_URL + "?model=" + nodes.model);
+ window.open(nodes.url || "http://doc.openerp.com/v6.1/index.php?model=" + nodes.model);
});
if(nodes.menu) {
r['image']('/web/static/src/img/icons/gtk-jump-to.png', nodes.x+100, nodes.y+75, 16, 16)
diff --git a/addons/process/static/src/xml/process.xml b/addons/process/static/src/xml/process.xml
index b1a39aa6ce8..d6229b686f3 100644
--- a/addons/process/static/src/xml/process.xml
+++ b/addons/process/static/src/xml/process.xml
@@ -16,7 +16,7 @@
@@ -25,7 +25,7 @@
|
-
+
|
From c55438e695d03854ebf1b82aa0d6b33b3dc278f0 Mon Sep 17 00:00:00 2001
From: Launchpad Translations on behalf of openerp <>
Date: Tue, 23 Oct 2012 05:05:46 +0000
Subject: [PATCH 180/227] Launchpad automatic translations update.
bzr revid: launchpad_translations_on_behalf_of_openerp-20121023044839-5p7b9e93zpxmpfpv
bzr revid: launchpad_translations_on_behalf_of_openerp-20121023050546-in29ajkb3zkyg3za
---
addons/account_cancel/i18n/es_MX.po | 39 +-
addons/anonymization/i18n/mn.po | 4 +-
addons/hr/i18n/lt.po | 29 +-
addons/hr_timesheet_sheet/i18n/mk.po | 1031 ++++++++++++++++++++++++++
addons/l10n_mx/i18n/es_MX.po | 73 +-
addons/sale/i18n/lt.po | 30 +-
addons/web/i18n/it.po | 28 +-
7 files changed, 1139 insertions(+), 95 deletions(-)
create mode 100644 addons/hr_timesheet_sheet/i18n/mk.po
diff --git a/addons/account_cancel/i18n/es_MX.po b/addons/account_cancel/i18n/es_MX.po
index c3029cd8d53..c176d3a8f45 100644
--- a/addons/account_cancel/i18n/es_MX.po
+++ b/addons/account_cancel/i18n/es_MX.po
@@ -1,38 +1,23 @@
-# Spanish translation for openobject-addons
-# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# Spanish (Mexico) translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2010.
+# FIRST AUTHOR , 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-01-11 11:14+0000\n"
-"PO-Revision-Date: 2010-11-23 09:43+0000\n"
-"Last-Translator: Jordi Esteve (www.zikzakmedia.com) "
-"\n"
-"Language-Team: Spanish \n"
+"POT-Creation-Date: 2012-02-08 00:35+0000\n"
+"PO-Revision-Date: 2012-10-22 17:44+0000\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: Spanish (Mexico) \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-05 05:48+0000\n"
-"X-Generator: Launchpad (build 13830)\n"
+"X-Launchpad-Export-Date: 2012-10-23 04:48+0000\n"
+"X-Generator: Launchpad (build 16179)\n"
#. module: account_cancel
-#: model:ir.module.module,description:account_cancel.module_meta_information
-msgid ""
-"\n"
-" Module adds 'Allow cancelling entries' field on form view of account "
-"journal. If set to true it allows user to cancel entries & invoices.\n"
-" "
-msgstr ""
-"\n"
-" Este módulo añade el campo 'Permitir la cancelación de asientos' en la "
-"vista de formulario de los diarios contables. Si está marcado, permite a los "
-"usuarios cancelar los asientos y las facturas.\n"
-" "
-
-#. module: account_cancel
-#: model:ir.module.module,shortdesc:account_cancel.module_meta_information
-msgid "Account Cancel"
-msgstr "Cancelar asientos/facturas"
+#: view:account.invoice:0
+msgid "Cancel"
+msgstr "Cancelar"
diff --git a/addons/anonymization/i18n/mn.po b/addons/anonymization/i18n/mn.po
index cd54ad8ef6c..3ba97872c3c 100644
--- a/addons/anonymization/i18n/mn.po
+++ b/addons/anonymization/i18n/mn.po
@@ -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-10-22 04:40+0000\n"
-"X-Generator: Launchpad (build 16165)\n"
+"X-Launchpad-Export-Date: 2012-10-23 04:48+0000\n"
+"X-Generator: Launchpad (build 16179)\n"
#. module: anonymization
#: model:ir.model,name:anonymization.model_ir_model_fields_anonymize_wizard
diff --git a/addons/hr/i18n/lt.po b/addons/hr/i18n/lt.po
index f50c071b739..831a1fe29d5 100644
--- a/addons/hr/i18n/lt.po
+++ b/addons/hr/i18n/lt.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 01:37+0100\n"
-"PO-Revision-Date: 2012-10-21 21:20+0000\n"
-"Last-Translator: mchip \n"
+"PO-Revision-Date: 2012-10-22 07:48+0000\n"
+"Last-Translator: nanothole \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-10-22 04:40+0000\n"
-"X-Generator: Launchpad (build 16165)\n"
+"X-Launchpad-Export-Date: 2012-10-23 04:48+0000\n"
+"X-Generator: Launchpad (build 16179)\n"
#. module: hr
#: model:process.node,name:hr.process_node_openerpuser0
@@ -56,7 +56,7 @@ msgstr ""
#. module: hr
#: model:ir.actions.act_window,name:hr.view_department_form_installer
msgid "Create Your Departments"
-msgstr ""
+msgstr "Sukurkite padalinius"
#. module: hr
#: model:ir.actions.act_window,help:hr.action_hr_job
@@ -77,12 +77,12 @@ msgstr "Padalinys"
#. module: hr
#: view:hr.job:0
msgid "Mark as Old"
-msgstr ""
+msgstr "Pažymeti kaip sena"
#. module: hr
#: view:hr.job:0
msgid "Jobs"
-msgstr ""
+msgstr "Darbai"
#. module: hr
#: view:hr.job:0
@@ -185,12 +185,12 @@ msgstr ""
#. module: hr
#: model:ir.ui.menu,name:hr.menu_open_view_attendance_reason_new_config
msgid "Attendance"
-msgstr ""
+msgstr "Lankomumas"
#. module: hr
#: view:hr.employee:0
msgid "Social IDs"
-msgstr ""
+msgstr "SODRA Nr."
#. module: hr
#: field:hr.employee,work_phone:0
@@ -227,7 +227,7 @@ msgstr "Darbuotojas"
#. module: hr
#: model:process.node,note:hr.process_node_employeecontact0
msgid "Other information"
-msgstr ""
+msgstr "Kita informacija"
#. module: hr
#: field:hr.employee,work_email:0
@@ -237,7 +237,7 @@ msgstr "Darbo el. paštas"
#. module: hr
#: field:hr.employee,birthday:0
msgid "Date of Birth"
-msgstr ""
+msgstr "Gimimo data"
#. module: hr
#: model:ir.ui.menu,name:hr.menu_hr_reporting
@@ -253,7 +253,7 @@ msgstr ""
#. module: hr
#: view:hr.employee:0 field:hr.employee,job_id:0 view:hr.job:0
msgid "Job"
-msgstr ""
+msgstr "Darbas"
#. module: hr
#: field:hr.department,member_ids:0
@@ -268,7 +268,7 @@ msgstr "Nustatymai"
#. module: hr
#: view:hr.employee:0 field:hr.employee,category_ids:0
msgid "Categories"
-msgstr ""
+msgstr "Kategorijos"
#. module: hr
#: field:hr.job,expected_employees:0
@@ -799,3 +799,6 @@ msgstr ""
#~ msgstr ""
#~ "Objekto pavadinimas turi prasidėti su x_ ir jame negali būti specialiųjų "
#~ "ženklų!"
+
+#~ msgid "Work E-mail"
+#~ msgstr "Darbinis el. paštas"
diff --git a/addons/hr_timesheet_sheet/i18n/mk.po b/addons/hr_timesheet_sheet/i18n/mk.po
new file mode 100644
index 00000000000..23a08ee255d
--- /dev/null
+++ b/addons/hr_timesheet_sheet/i18n/mk.po
@@ -0,0 +1,1031 @@
+# Macedonian translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR , 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2012-02-08 01:37+0100\n"
+"PO-Revision-Date: 2012-10-22 12:23+0000\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: Macedonian \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-10-23 04:48+0000\n"
+"X-Generator: Launchpad (build 16179)\n"
+
+#. module: hr_timesheet_sheet
+#: field:hr.analytic.timesheet,sheet_id:0 field:hr.attendance,sheet_id:0
+#: field:hr_timesheet_sheet.sheet.account,sheet_id:0
+#: field:hr_timesheet_sheet.sheet.day,sheet_id:0
+msgid "Sheet"
+msgstr "Лист"
+
+#. module: hr_timesheet_sheet
+#: model:process.transition,name:hr_timesheet_sheet.process_transition_timesheetdraft0
+msgid "Service"
+msgstr "Сервис"
+
+#. module: hr_timesheet_sheet
+#: code:addons/hr_timesheet_sheet/wizard/hr_timesheet_current.py:38
+#, python-format
+msgid "No employee defined for your user !"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:hr.timesheet.report:0 view:hr_timesheet_sheet.sheet:0
+#: view:timesheet.report:0
+msgid "Group By..."
+msgstr "Групирај По..."
+
+#. module: hr_timesheet_sheet
+#: field:hr_timesheet_sheet.sheet,total_attendance:0
+#: field:hr_timesheet_sheet.sheet,total_attendance_day:0
+msgid "Total Attendance"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:hr_timesheet_sheet.sheet:0
+#: field:hr_timesheet_sheet.sheet,department_id:0 view:timesheet.report:0
+#: field:timesheet.report,department_id:0
+msgid "Department"
+msgstr "Сектор"
+
+#. module: hr_timesheet_sheet
+#: view:hr.timesheet.report:0 view:timesheet.report:0
+msgid "Timesheet in current year"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: model:process.transition,name:hr_timesheet_sheet.process_transition_tasktimesheet0
+msgid "Task timesheet"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:hr_timesheet_sheet.sheet:0
+msgid "Today"
+msgstr "Денес"
+
+#. module: hr_timesheet_sheet
+#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:274
+#, python-format
+msgid ""
+"Please verify that the total difference of the sheet is lower than %.2f !"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: selection:hr.timesheet.report,month:0 selection:timesheet.report,month:0
+msgid "March"
+msgstr "Март"
+
+#. module: hr_timesheet_sheet
+#: view:timesheet.report:0 field:timesheet.report,cost:0
+msgid "#Cost"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:hr.timesheet.report:0 view:timesheet.report:0
+msgid "Timesheet of last month"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:hr.timesheet.report:0 field:hr.timesheet.report,company_id:0
+#: field:hr_timesheet_sheet.sheet,company_id:0 view:timesheet.report:0
+#: field:timesheet.report,company_id:0
+msgid "Company"
+msgstr "Фирма"
+
+#. module: hr_timesheet_sheet
+#: view:hr.timesheet.report:0 view:hr_timesheet_sheet.sheet:0
+#: model:ir.model,name:hr_timesheet_sheet.model_hr_timesheet_report
+#: model:ir.model,name:hr_timesheet_sheet.model_hr_timesheet_sheet_sheet
+#: model:ir.model,name:hr_timesheet_sheet.model_timesheet_report
+#: model:process.node,name:hr_timesheet_sheet.process_node_timesheet0
+#: view:timesheet.report:0
+msgid "Timesheet"
+msgstr "Работни Часови"
+
+#. module: hr_timesheet_sheet
+#: view:hr_timesheet_sheet.sheet:0
+msgid "Set to Draft"
+msgstr "Сетирај на Драфт"
+
+#. module: hr_timesheet_sheet
+#: field:hr_timesheet_sheet.sheet,date_to:0 field:timesheet.report,date_to:0
+msgid "Date to"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: model:process.node,note:hr_timesheet_sheet.process_node_invoiceonwork0
+msgid "Based on the timesheet"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:hr.timesheet.report:0 view:timesheet.report:0
+msgid "Group by day of date"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:615
+#, python-format
+msgid "You cannot modify an entry in a confirmed timesheet!"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: model:process.transition.action,name:hr_timesheet_sheet.process_transition_action_validatetimesheet0
+msgid "Validate"
+msgstr "Потврди"
+
+#. module: hr_timesheet_sheet
+#: selection:hr_timesheet_sheet.sheet,state:0
+msgid "Approved"
+msgstr "Одобрено"
+
+#. module: hr_timesheet_sheet
+#: selection:hr_timesheet_sheet.sheet,state_attendance:0
+msgid "Present"
+msgstr "Присутен"
+
+#. module: hr_timesheet_sheet
+#: view:hr.timesheet.report:0
+msgid "Total Cost"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:263
+#, python-format
+msgid ""
+"In order to create a timesheet for this employee, you must assign the "
+"employee to an analytic journal!"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:hr_timesheet_sheet.sheet:0
+#: model:process.transition.action,name:hr_timesheet_sheet.process_transition_action_refusetimesheet0
+msgid "Refuse"
+msgstr "Одбиј"
+
+#. module: hr_timesheet_sheet
+#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:619
+#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:639
+#, python-format
+msgid ""
+"You cannot enter an attendance date outside the current timesheet dates!"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: model:ir.actions.act_window,help:hr_timesheet_sheet.action_hr_timesheet_current_open
+msgid ""
+"My Timesheet opens your timesheet so that you can book your activities into "
+"the system. From the same form, you can register your attendances (Sign "
+"In/Out) and describe the working hours made on the different projects. At "
+"the end of the period defined in the company, the timesheet is confirmed by "
+"the user and can be validated by his manager. If required, as defined on the "
+"project, you can generate the invoices based on the timesheet."
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:hr_timesheet_sheet.sheet.day:0
+msgid "Total Difference"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:hr.timesheet.report:0 view:timesheet.report:0
+msgid " Month-1 "
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:hr_timesheet_sheet.sheet:0
+msgid "My Departments Timesheet"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: model:ir.actions.act_window,name:hr_timesheet_sheet.act_hr_timesheet_sheet_sheet_by_day
+msgid "Timesheet by Day"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: field:hr_timesheet_sheet.sheet.account,name:0
+msgid "Project / Analytic Account"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: model:process.transition,name:hr_timesheet_sheet.process_transition_validatetimesheet0
+msgid "Validation"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:274
+#, python-format
+msgid "Warning !"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: model:process.node,note:hr_timesheet_sheet.process_node_attendance0
+msgid "Employee's timesheet entry"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:hr.timesheet.report:0 field:hr.timesheet.report,account_id:0
+#: view:timesheet.report:0 field:timesheet.report,account_id:0
+msgid "Analytic Account"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: field:timesheet.report,nbr:0
+msgid "#Nbr"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: field:hr_timesheet_sheet.sheet,date_from:0
+#: field:timesheet.report,date_from:0
+msgid "Date from"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:timesheet.report:0
+msgid " Month "
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:hr_timesheet_sheet.sheet:0
+#: model:ir.actions.act_window,name:hr_timesheet_sheet.act_hr_employee_2_hr_timesheet
+#: model:ir.actions.act_window,name:hr_timesheet_sheet.act_hr_timesheet_sheet_form
+#: model:ir.ui.menu,name:hr_timesheet_sheet.menu_act_hr_timesheet_sheet_form
+#: view:res.company:0
+msgid "Timesheets"
+msgstr "Работни часови"
+
+#. module: hr_timesheet_sheet
+#: model:process.node,name:hr_timesheet_sheet.process_node_confirmedtimesheet0
+#: view:timesheet.report:0 selection:timesheet.report,state:0
+msgid "Confirmed"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: field:hr_timesheet_sheet.sheet.day,total_attendance:0
+#: model:ir.model,name:hr_timesheet_sheet.model_hr_attendance
+#: model:process.node,name:hr_timesheet_sheet.process_node_attendance0
+msgid "Attendance"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: model:process.transition.action,name:hr_timesheet_sheet.process_transition_action_draftconfirmtimesheet0
+msgid "Confirm"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: field:hr_timesheet_sheet.sheet,timesheet_ids:0
+msgid "Timesheet lines"
+msgstr "Редови на работни часови"
+
+#. module: hr_timesheet_sheet
+#: constraint:res.company:0
+msgid "Error! You can not create recursive companies."
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: field:hr_timesheet_sheet.sheet,state:0 view:timesheet.report:0
+#: field:timesheet.report,state:0
+msgid "State"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: model:process.node,note:hr_timesheet_sheet.process_node_confirmedtimesheet0
+msgid "State is 'confirmed'."
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: field:hr_timesheet_sheet.sheet,employee_id:0
+msgid "Employee"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: selection:hr_timesheet_sheet.sheet,state:0
+#: selection:timesheet.report,state:0
+msgid "New"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: model:ir.actions.act_window,name:hr_timesheet_sheet.action_week_attendance_graph
+msgid "My Total Attendances By Week"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:241
+#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:246
+#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:248
+#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:250
+#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:257
+#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:259
+#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:261
+#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:263
+#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:318
+#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:548
+#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:615
+#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:646
+#: code:addons/hr_timesheet_sheet/wizard/hr_timesheet_current.py:38
+#, python-format
+msgid "Error !"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: field:hr_timesheet_sheet.sheet.account,total:0
+msgid "Total Time"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:hr_timesheet_sheet.sheet:0
+#: model:ir.actions.act_window,name:hr_timesheet_sheet.act_hr_timesheet_sheet_sheet_2_hr_analytic_timesheet
+msgid "Timesheet Lines"
+msgstr "Редови на работни часови"
+
+#. module: hr_timesheet_sheet
+#: view:hr.timesheet.report:0
+msgid "Hours"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:hr.timesheet.report:0 view:timesheet.report:0
+msgid "Group by month of date"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: constraint:hr.attendance:0
+msgid "Error: Sign in (resp. Sign out) must follow Sign out (resp. Sign in)"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:455
+#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:457
+#, python-format
+msgid "Invalid action !"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: model:process.transition,note:hr_timesheet_sheet.process_transition_validatetimesheet0
+msgid "The project manager validates the timesheets."
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: selection:hr.timesheet.report,month:0 selection:timesheet.report,month:0
+msgid "July"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:res.company:0
+msgid "Configuration"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: model:process.node,name:hr_timesheet_sheet.process_node_workontask0
+msgid "Work on Task"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:hr_timesheet_sheet.sheet:0
+msgid "Daily"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:timesheet.report:0 field:timesheet.report,quantity:0
+msgid "#Quantity"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: field:hr_timesheet_sheet.sheet,total_timesheet:0
+#: field:hr_timesheet_sheet.sheet,total_timesheet_day:0
+#: view:hr_timesheet_sheet.sheet.day:0
+#: field:hr_timesheet_sheet.sheet.day,total_timesheet:0
+msgid "Total Timesheet"
+msgstr "Вкупно работни часови"
+
+#. module: hr_timesheet_sheet
+#: view:hr_timesheet_sheet.sheet:0
+msgid "Available Attendance"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:hr_timesheet_sheet.sheet:0
+msgid "Sign In"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:timesheet.report:0 field:timesheet.report,total_timesheet:0
+msgid "#Total Timesheet"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: model:ir.model,name:hr_timesheet_sheet.model_hr_timesheet_current_open
+msgid "hr.timesheet.current.open"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:hr_timesheet_sheet.sheet:0
+msgid "Go to:"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: selection:hr.timesheet.report,month:0 selection:timesheet.report,month:0
+msgid "September"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: selection:hr.timesheet.report,month:0 selection:timesheet.report,month:0
+msgid "December"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:248
+#, python-format
+msgid ""
+"In order to create a timesheet for this employee, you must link the employee "
+"to a product, like 'Consultant'!"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:hr.timesheet.current.open:0
+msgid "It will open your current timesheet"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:241
+#, python-format
+msgid "You cannot duplicate a timesheet!"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:hr.timesheet.report:0 field:hr.timesheet.report,month:0
+#: selection:res.company,timesheet_range:0 view:timesheet.report:0
+#: field:timesheet.report,month:0
+msgid "Month"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:timesheet.report:0 field:timesheet.report,total_diff:0
+msgid "#Total Diff"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:hr_timesheet_sheet.sheet:0
+msgid "In Draft"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:261
+#, python-format
+msgid ""
+"In order to create a timesheet for this employee, you must link the employee "
+"to a product!"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: model:process.transition,name:hr_timesheet_sheet.process_transition_attendancetimesheet0
+msgid "Sign in/out"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: selection:hr_timesheet_sheet.sheet,state:0
+msgid "Waiting Approval"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: model:process.transition,name:hr_timesheet_sheet.process_transition_invoiceontimesheet0
+msgid "Billing"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: model:process.transition,note:hr_timesheet_sheet.process_transition_timesheetdraft0
+msgid ""
+"The timesheet line represents the time spent by the employee on a specific "
+"service provided."
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: constraint:hr_timesheet_sheet.sheet:0
+msgid "You must select a Current date which is in the timesheet dates !"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: field:hr_timesheet_sheet.sheet,name:0
+msgid "Note"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: model:ir.actions.act_window,help:hr_timesheet_sheet.action_hr_timesheet_report_stat_all
+msgid ""
+"This report performs analysis on timesheets created by your human resources "
+"in the system. It allows you to have a full overview of entries done by "
+"your employees. You can group them by specific selection criteria thanks to "
+"the search tool."
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:timesheet.report:0 selection:timesheet.report,state:0
+msgid "Draft"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: field:res.company,timesheet_max_difference:0
+msgid "Timesheet allowed difference(Hours)"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: model:process.transition,note:hr_timesheet_sheet.process_transition_invoiceontimesheet0
+msgid "The invoice is created based on the timesheet."
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: model:process.node,name:hr_timesheet_sheet.process_node_drafttimesheetsheet0
+msgid "Draft Timesheet"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: selection:res.company,timesheet_range:0
+msgid "Week"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: selection:hr.timesheet.report,month:0 selection:timesheet.report,month:0
+msgid "August"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:hr_timesheet_sheet.sheet:0
+msgid "Approve"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: selection:hr.timesheet.report,month:0 selection:timesheet.report,month:0
+msgid "June"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: field:hr_timesheet_sheet.sheet,state_attendance:0
+msgid "Current Status"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:646
+#, python-format
+msgid "You cannot modify an entry in a confirmed timesheet !"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: model:ir.model,name:hr_timesheet_sheet.model_hr_timesheet_sheet_sheet_account
+#: model:ir.model,name:hr_timesheet_sheet.model_hr_timesheet_sheet_sheet_day
+msgid "Timesheets by Period"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:hr.timesheet.report:0 field:hr.timesheet.report,user_id:0
+#: field:hr_timesheet_sheet.sheet,user_id:0 view:timesheet.report:0
+#: field:timesheet.report,user_id:0
+msgid "User"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: model:ir.actions.act_window,name:hr_timesheet_sheet.act_hr_timesheet_sheet_sheet_by_account
+msgid "Timesheet by Account"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: field:hr.timesheet.report,date:0 field:hr_timesheet_sheet.sheet.day,name:0
+msgid "Date"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: selection:hr.timesheet.report,month:0 selection:timesheet.report,month:0
+msgid "November"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:hr.timesheet.report:0 view:timesheet.report:0
+msgid "Extended Filters..."
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: field:res.company,timesheet_range:0
+msgid "Timesheet range"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:548
+#, python-format
+msgid "You can not modify an entry in a confirmed timesheet !"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:board.board:0
+msgid "My Total Attendance By Week"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:259
+#, python-format
+msgid ""
+"You cannot have 2 timesheets that overlaps!\n"
+"You should use the menu 'My Timesheet' to avoid this problem."
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: selection:hr.timesheet.report,month:0 selection:timesheet.report,month:0
+msgid "October"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: model:ir.actions.act_window,help:hr_timesheet_sheet.act_hr_timesheet_sheet_form
+msgid ""
+"Check your timesheets for a specific period. You can also encode time spent "
+"on a project (i.e. an analytic account) thus generating costs in the "
+"analytic account concerned."
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:237
+#, python-format
+msgid ""
+"The timesheet cannot be validated as it does not contain an equal number of "
+"sign ins and sign outs!"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: selection:hr.timesheet.report,month:0 selection:timesheet.report,month:0
+msgid "January"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: model:process.transition,note:hr_timesheet_sheet.process_transition_attendancetimesheet0
+msgid "The employee signs in and signs out."
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: model:ir.model,name:hr_timesheet_sheet.model_res_company
+msgid "Companies"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:hr_timesheet_sheet.sheet:0
+msgid "Summary"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: constraint:hr_timesheet_sheet.sheet:0
+msgid ""
+"You cannot have 2 timesheets that overlaps !\n"
+"Please use the menu 'My Current Timesheet' to avoid this problem."
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:hr_timesheet_sheet.sheet:0
+msgid "Unvalidated Timesheets"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:457
+#, python-format
+msgid "You cannot delete a timesheet which have attendance entries!"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: field:hr.timesheet.report,quantity:0
+msgid "Quantity"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:455
+#, python-format
+msgid "You cannot delete a timesheet which is already confirmed!"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:hr.timesheet.report:0 field:hr.timesheet.report,general_account_id:0
+#: view:timesheet.report:0 field:timesheet.report,general_account_id:0
+msgid "General Account"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: help:res.company,timesheet_range:0
+msgid "Periodicity on which you validate your timesheets."
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:hr_timesheet_sheet.sheet.account:0
+msgid "Search Account"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: help:res.company,timesheet_max_difference:0
+msgid ""
+"Allowed difference in hours between the sign in/out and the timesheet "
+"computation for one sheet. Set this to 0 if you do not want any control."
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:hr_timesheet_sheet.sheet:0 field:hr_timesheet_sheet.sheet,period_ids:0
+#: view:hr_timesheet_sheet.sheet.day:0
+msgid "Period"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:hr.timesheet.report:0 field:hr.timesheet.report,day:0
+#: selection:res.company,timesheet_range:0 view:timesheet.report:0
+#: field:timesheet.report,day:0
+msgid "Day"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:hr.timesheet.current.open:0
+#: model:ir.actions.act_window,name:hr_timesheet_sheet.action_hr_timesheet_current_open
+#: model:ir.actions.server,name:hr_timesheet_sheet.ir_actions_server_timsheet_sheet
+#: model:ir.ui.menu,name:hr_timesheet_sheet.menu_act_hr_timesheet_sheet_form_my_current
+msgid "My Current Timesheet"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:timesheet.report:0 selection:timesheet.report,state:0
+msgid "Done"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: model:process.node,note:hr_timesheet_sheet.process_node_drafttimesheetsheet0
+msgid "State is 'draft'."
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: constraint:hr.analytic.timesheet:0
+msgid "You cannot modify an entry in a Confirmed/Done timesheet !."
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:hr.timesheet.current.open:0
+msgid "Cancel"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: model:process.node,name:hr_timesheet_sheet.process_node_validatedtimesheet0
+msgid "Validated"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: model:process.node,name:hr_timesheet_sheet.process_node_invoiceonwork0
+msgid "Invoice on Work"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:hr.timesheet.report:0 view:timesheet.report:0
+msgid "Timesheet in current month"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:hr_timesheet_sheet.sheet.account:0
+msgid "Timesheet by Accounts"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: code:addons/hr_timesheet_sheet/wizard/hr_timesheet_current.py:51
+#, python-format
+msgid "Open Timesheet"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:hr.timesheet.report:0 view:timesheet.report:0
+msgid "Group by year of date"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: model:process.node,note:hr_timesheet_sheet.process_node_validatedtimesheet0
+msgid "State is 'validated'."
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: help:hr_timesheet_sheet.sheet,state:0
+msgid ""
+" * The 'Draft' state is used when a user is encoding a new and unconfirmed "
+"timesheet. \n"
+"* The 'Confirmed' state is used for to confirm the timesheet by user. "
+" \n"
+"* The 'Done' state is used when users timesheet is accepted by his/her "
+"senior."
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:hr.timesheet.report:0
+#: model:ir.actions.act_window,name:hr_timesheet_sheet.action_hr_timesheet_report_stat_all
+#: model:ir.ui.menu,name:hr_timesheet_sheet.menu_hr_timesheet_report_all
+msgid "Timesheet Analysis"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:hr_timesheet_sheet.sheet:0
+msgid "Search Timesheet"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:hr_timesheet_sheet.sheet:0
+msgid "Confirmed Timesheets"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: model:ir.model,name:hr_timesheet_sheet.model_hr_analytic_timesheet
+msgid "Timesheet Line"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:hr.timesheet.report:0 field:hr.timesheet.report,product_id:0
+#: view:timesheet.report:0 field:timesheet.report,product_id:0
+msgid "Product"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:hr_timesheet_sheet.sheet:0
+#: field:hr_timesheet_sheet.sheet,attendances_ids:0
+#: model:ir.actions.act_window,name:hr_timesheet_sheet.act_hr_timesheet_sheet_sheet_2_hr_attendance
+msgid "Attendances"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: field:hr.timesheet.report,name:0 field:timesheet.report,name:0
+msgid "Description"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: model:process.transition,note:hr_timesheet_sheet.process_transition_confirmtimesheet0
+msgid "The employee periodically confirms his own timesheets."
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: selection:hr.timesheet.report,month:0 selection:timesheet.report,month:0
+msgid "May"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: model:process.node,note:hr_timesheet_sheet.process_node_workontask0
+msgid "Defines the work summary of task"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:hr_timesheet_sheet.sheet:0
+msgid "Sign Out"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: model:process.transition,note:hr_timesheet_sheet.process_transition_tasktimesheet0
+msgid "Moves task entry into the timesheet line"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:hr_timesheet_sheet.sheet.day:0
+msgid "Total Attendances"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: model:ir.actions.act_window,name:hr_timesheet_sheet.action_timesheet_report_stat_all
+#: model:ir.ui.menu,name:hr_timesheet_sheet.menu_timesheet_report_all
+msgid "Timesheet Sheet Analysis"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: field:hr_timesheet_sheet.sheet,total_difference:0
+#: field:hr_timesheet_sheet.sheet,total_difference_day:0
+#: field:hr_timesheet_sheet.sheet.day,total_difference:0
+msgid "Difference"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: selection:hr_timesheet_sheet.sheet,state_attendance:0
+msgid "Absent"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: selection:hr.timesheet.report,month:0 selection:timesheet.report,month:0
+msgid "February"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: sql_constraint:res.company:0
+msgid "The company name must be unique !"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:hr_timesheet_sheet.sheet:0
+msgid "Employees"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: model:process.node,note:hr_timesheet_sheet.process_node_timesheet0
+msgid "Information of time spent on a service"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: selection:hr.timesheet.report,month:0 selection:timesheet.report,month:0
+msgid "April"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: model:process.transition,name:hr_timesheet_sheet.process_transition_confirmtimesheet0
+msgid "Confirmation"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: field:hr_timesheet_sheet.sheet.account,invoice_rate:0
+msgid "Invoice rate"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:619
+#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:639
+#, python-format
+msgid "UserError"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:250
+#, python-format
+msgid ""
+"In order to create a timesheet for this employee, you must assign the "
+"employee to an analytic journal, like 'Timesheet'!"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:318
+#, python-format
+msgid "You cannot sign in/sign out from an other date than today"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:hr_timesheet_sheet.sheet:0
+msgid "Submit to Manager"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: field:hr_timesheet_sheet.sheet,account_ids:0
+msgid "Analytic accounts"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:timesheet.report:0 field:timesheet.report,to_invoice:0
+msgid "Type of Invoicing"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:246
+#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:257
+#, python-format
+msgid ""
+"In order to create a timesheet for this employee, you must assign it to a "
+"user!"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:timesheet.report:0 field:timesheet.report,total_attendance:0
+msgid "#Total Attendance"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: field:hr.timesheet.report,cost:0
+msgid "Cost"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: field:hr_timesheet_sheet.sheet,date_current:0
+#: field:timesheet.report,date_current:0
+msgid "Current date"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: model:process.process,name:hr_timesheet_sheet.process_process_hrtimesheetprocess0
+msgid "Hr Timesheet"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:hr.timesheet.report:0 field:hr.timesheet.report,year:0
+#: view:timesheet.report:0 field:timesheet.report,year:0
+msgid "Year"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:hr.timesheet.current.open:0 selection:hr_timesheet_sheet.sheet,state:0
+msgid "Open"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:hr_timesheet_sheet.sheet:0
+msgid "To Approve"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: view:hr_timesheet_sheet.sheet.account:0
+msgid "Total"
+msgstr ""
+
+#. module: hr_timesheet_sheet
+#: field:hr.timesheet.report,journal_id:0
+msgid "Journal"
+msgstr ""
+
+#~ msgid "My Timesheet"
+#~ msgstr "Мои работни часови"
diff --git a/addons/l10n_mx/i18n/es_MX.po b/addons/l10n_mx/i18n/es_MX.po
index e9822e23498..eec525b5f53 100644
--- a/addons/l10n_mx/i18n/es_MX.po
+++ b/addons/l10n_mx/i18n/es_MX.po
@@ -1,28 +1,41 @@
-# Spanish translation for openobject-addons
-# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
+# Spanish (Mexico) translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2011.
+# FIRST AUTHOR , 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-01-07 06:07+0000\n"
-"PO-Revision-Date: 2011-02-15 15:37+0000\n"
+"POT-Creation-Date: 2011-12-23 09:56+0000\n"
+"PO-Revision-Date: 2012-10-22 22:58+0000\n"
"Last-Translator: FULL NAME \n"
-"Language-Team: Spanish \n"
+"Language-Team: Spanish (Mexico) \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-05 05:58+0000\n"
-"X-Generator: Launchpad (build 13830)\n"
+"X-Launchpad-Export-Date: 2012-10-23 04:48+0000\n"
+"X-Generator: Launchpad (build 16179)\n"
#. module: l10n_mx
-#: model:ir.module.module,description:l10n_mx.module_meta_information
-msgid ""
-"This is the module to manage the accounting chart for Mexico in Open ERP."
-msgstr ""
-"Este es el módulo para gestionar el plan contable para Méjico en Open ERP."
+#: model:account.account.type,name:l10n_mx.account_type_receivable
+msgid "Receivable"
+msgstr "Por cobrar"
+
+#. module: l10n_mx
+#: model:account.account.type,name:l10n_mx.account_type_equity
+msgid "Equity"
+msgstr "Capital"
+
+#. module: l10n_mx
+#: model:account.account.type,name:l10n_mx.account_type_tax
+msgid "Tax"
+msgstr "Impuesto"
+
+#. module: l10n_mx
+#: model:account.account.type,name:l10n_mx.account_type_cash
+msgid "Cash"
+msgstr "Efectivo"
#. module: l10n_mx
#: model:ir.actions.todo,note:l10n_mx.config_call_account_template_mx_chart
@@ -35,16 +48,28 @@ msgid ""
"Management/Configuration/Financial Accounting/Financial Accounts/Generate "
"Chart of Accounts from a Chart Template."
msgstr ""
-"Generar Plan Contable a partir de una plantilla de Plan. Se le preguntará "
-"por el nombre de la compañía, la plantilla de plan contable a seguir, el no. "
-"de dígitos para generar el código de sus cuentas y la cuenta bancaria, la "
-"divisa para crear Diarios. Por lo tanto, la copia exacta de la plantilla de "
-"plan contable será generada.\n"
-"Este es el mismo asistente que se ejecuta desde Gestión "
-"Financiera/Configuración/Contabilidad Financiera/Contabilidad "
-"Financiera/Generar Plan Contable a partir de una Plantilla de Plan."
#. module: l10n_mx
-#: model:ir.module.module,shortdesc:l10n_mx.module_meta_information
-msgid "Mexico - Chart of Account"
-msgstr "Méjico - Plan Contable"
+#: model:account.account.type,name:l10n_mx.account_type_payable
+msgid "Payable"
+msgstr "A pagar"
+
+#. module: l10n_mx
+#: model:account.account.type,name:l10n_mx.account_type_asset
+msgid "Asset"
+msgstr "Activo"
+
+#. module: l10n_mx
+#: model:account.account.type,name:l10n_mx.account_type_income
+msgid "Income"
+msgstr "Ingreso"
+
+#. module: l10n_mx
+#: model:account.account.type,name:l10n_mx.account_type_expense
+msgid "Expense"
+msgstr "Gasto"
+
+#. module: l10n_mx
+#: model:account.account.type,name:l10n_mx.account_type_view
+msgid "View"
+msgstr "Vista"
diff --git a/addons/sale/i18n/lt.po b/addons/sale/i18n/lt.po
index 46158f9bbde..bf590d7ca7f 100644
--- a/addons/sale/i18n/lt.po
+++ b/addons/sale/i18n/lt.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev_rc3\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-09-20 07:29+0000\n"
-"PO-Revision-Date: 2010-12-14 21:49+0000\n"
-"Last-Translator: qdp (OpenERP) \n"
+"PO-Revision-Date: 2012-10-22 17:52+0000\n"
+"Last-Translator: ignas \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-10-19 05:12+0000\n"
-"X-Generator: Launchpad (build 16165)\n"
+"X-Launchpad-Export-Date: 2012-10-23 04:48+0000\n"
+"X-Generator: Launchpad (build 16179)\n"
#. module: sale
#: code:addons/sale/wizard/sale_make_invoice_advance.py:215
@@ -160,14 +160,14 @@ msgstr ""
#. module: sale
#: field:sale.order,date_confirm:0
msgid "Confirmation Date"
-msgstr ""
+msgstr "Patvirtinimo data"
#. module: sale
#: view:sale.order:0
#: view:sale.order.line:0
#: view:sale.report:0
msgid "Group By..."
-msgstr ""
+msgstr "Grupuoti pagal..."
#. module: sale
#: view:sale.order.line:0
@@ -322,7 +322,7 @@ msgstr ""
#. module: sale
#: help:sale.order,amount_total:0
msgid "The total amount."
-msgstr ""
+msgstr "Bendra suma."
#. module: sale
#: view:sale.report:0
@@ -652,7 +652,7 @@ msgstr ""
#: view:board.board:0
#: model:ir.actions.act_window,name:sale.action_turnover_by_month
msgid "Monthly Turnover"
-msgstr ""
+msgstr "Mėnesinė apyvarta"
#. module: sale
#: view:sale.report:0
@@ -716,7 +716,7 @@ msgstr "Bendra kaina"
#. module: sale
#: model:ir.actions.act_window,name:sale.action_order_tree
msgid "Old Quotations"
-msgstr ""
+msgstr "Seni pasiūlymai"
#. module: sale
#: help:sale.config.settings,module_sale_journal:0
@@ -816,7 +816,7 @@ msgstr "Iš viso :"
#. module: sale
#: view:sale.report:0
msgid "My Sales"
-msgstr ""
+msgstr "Mano pardavimai"
#. module: sale
#: code:addons/sale/sale.py:253
@@ -1233,7 +1233,7 @@ msgstr "Grupuoti sąskaitas faktūras"
#. module: sale
#: help:sale.order,amount_tax:0
msgid "The tax amount."
-msgstr ""
+msgstr "Mokesčiai"
#. module: sale
#: view:sale.order:0
@@ -1252,7 +1252,7 @@ msgstr ""
#. module: sale
#: selection:sale.report,month:0
msgid "August"
-msgstr ""
+msgstr "Rugpjūtis"
#. module: sale
#: view:sale.order:0
@@ -1282,7 +1282,7 @@ msgstr ""
#. module: sale
#: selection:sale.report,month:0
msgid "June"
-msgstr ""
+msgstr "Birželis"
#. module: sale
#: model:ir.actions.act_window,name:sale.action_email_templates
@@ -1559,7 +1559,7 @@ msgstr ""
#: view:sale.report:0
#: field:sale.report,day:0
msgid "Day"
-msgstr ""
+msgstr "Diena"
#. module: sale
#: view:sale.order:0
@@ -1830,7 +1830,7 @@ msgstr ""
#. module: sale
#: view:sale.order:0
msgid "Other Information"
-msgstr ""
+msgstr "Kita informacija"
#. module: sale
#: view:res.partner:0
diff --git a/addons/web/i18n/it.po b/addons/web/i18n/it.po
index cd25e1fb9d6..7df8f4c27bb 100644
--- a/addons/web/i18n/it.po
+++ b/addons/web/i18n/it.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openerp-web\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2012-07-02 09:06+0200\n"
-"PO-Revision-Date: 2012-02-16 21:49+0000\n"
-"Last-Translator: Davide Corio - agilebg.com \n"
+"PO-Revision-Date: 2012-10-22 14:36+0000\n"
+"Last-Translator: Marius Marolla \n"
"Language-Team: Italian \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-10-21 05:02+0000\n"
-"X-Generator: Launchpad (build 16165)\n"
+"X-Launchpad-Export-Date: 2012-10-23 05:05+0000\n"
+"X-Generator: Launchpad (build 16179)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
@@ -129,56 +129,56 @@ msgstr "OpenERP - Unsupported/Community Version"
#. openerp-web
#: addons/web/static/src/js/coresetup.js:619
msgid "less than a minute ago"
-msgstr ""
+msgstr "meno di un minuto fa"
#. openerp-web
#: addons/web/static/src/js/coresetup.js:620
msgid "about a minute ago"
-msgstr ""
+msgstr "circa un minuto fa"
#. openerp-web
#: addons/web/static/src/js/coresetup.js:621
#, python-format
msgid "%d minutes ago"
-msgstr ""
+msgstr "%d minuti fa"
#. openerp-web
#: addons/web/static/src/js/coresetup.js:622
msgid "about an hour ago"
-msgstr ""
+msgstr "circa un'ora fa"
#. openerp-web
#: addons/web/static/src/js/coresetup.js:623
#, python-format
msgid "%d hours ago"
-msgstr ""
+msgstr "%d ore fa"
#. openerp-web
#: addons/web/static/src/js/coresetup.js:624
msgid "a day ago"
-msgstr ""
+msgstr "un giorno fa"
#. openerp-web
#: addons/web/static/src/js/coresetup.js:625
#, python-format
msgid "%d days ago"
-msgstr ""
+msgstr "%d giorni fa"
#. openerp-web
#: addons/web/static/src/js/coresetup.js:626
msgid "about a month ago"
-msgstr ""
+msgstr "circa un mese fa"
#. openerp-web
#: addons/web/static/src/js/coresetup.js:627
#, python-format
msgid "%d months ago"
-msgstr ""
+msgstr "%d mesi fa"
#. openerp-web
#: addons/web/static/src/js/coresetup.js:628
msgid "about a year ago"
-msgstr ""
+msgstr "circa un anno fa"
#. openerp-web
#: addons/web/static/src/js/coresetup.js:629
From ce3882d8d73fba3a12d15f0b200e5033ff98f5c2 Mon Sep 17 00:00:00 2001
From: "ajay javiya (OpenERP)"
Date: Tue, 23 Oct 2012 12:20:37 +0530
Subject: [PATCH 181/227] [FIX]:Task issue in project module
bzr revid: aja@tinyerp.com-20121023065037-2i16k4xlsczqj04y
---
addons/pad/pad.py | 2 +-
addons/project_timesheet/project_timesheet.py | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/addons/pad/pad.py b/addons/pad/pad.py
index 0cbb6107979..06d9aa3688f 100644
--- a/addons/pad/pad.py
+++ b/addons/pad/pad.py
@@ -86,7 +86,7 @@ class pad_common(osv.osv_memory):
def copy(self, cr, uid, id, default=None, context=None):
if not default:
default = {}
- for k,v in self._all_columns:
+ for k,v in self._all_columns.iteritems():
field = v.column
if hasattr(field,'pad_content_field'):
pad = self.pad_generate_url(cr, uid, context)
diff --git a/addons/project_timesheet/project_timesheet.py b/addons/project_timesheet/project_timesheet.py
index 7963c30b2be..fe4b848f522 100644
--- a/addons/project_timesheet/project_timesheet.py
+++ b/addons/project_timesheet/project_timesheet.py
@@ -115,7 +115,7 @@ class project_work(osv.osv):
if not context.get('no_analytic_entry',False):
task_obj = task_obj.browse(cr, uid, vals['task_id'])
result = self.get_user_related_details(cr, uid, vals.get('user_id', uid))
- vals_line['name'] = '%s: %s' % (tools.ustr(task_obj.name), tools.ustr(vals['name']) or '/')
+ vals_line['name'] = '%s: %s' % (tools.ustr(task_obj.name), tools.ustr(vals['name'] or '/'))
vals_line['user_id'] = vals['user_id']
vals_line['product_id'] = result['product_id']
vals_line['date'] = vals['date'][:10]
@@ -172,7 +172,7 @@ class project_work(osv.osv):
vals_line = {}
if 'name' in vals:
- vals_line['name'] = '%s: %s' % (tools.ustr(task.task_id.name), tools.ustr(vals['name']) or '/')
+ vals_line['name'] = '%s: %s' % (tools.ustr(task.task_id.name), tools.ustr(vals['name'] or '/'))
if 'user_id' in vals:
vals_line['user_id'] = vals['user_id']
if 'date' in vals:
From f3682ca551c57571ec5e97e9c6cc1c1f6d89deae Mon Sep 17 00:00:00 2001
From: "Turkesh Patel (Open ERP)"
Date: Tue, 23 Oct 2012 12:41:42 +0530
Subject: [PATCH 182/227] [FIX] sale_stock: improve onchange to update tax.
bzr revid: tpa@tinyerp.com-20121023071142-dz227is8kp91ivxb
---
addons/sale_stock/sale_stock_view.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/sale_stock/sale_stock_view.xml b/addons/sale_stock/sale_stock_view.xml
index 668f037bad8..a033e3e6d33 100644
--- a/addons/sale_stock/sale_stock_view.xml
+++ b/addons/sale_stock/sale_stock_view.xml
@@ -56,7 +56,7 @@
+ on_change="product_id_change(parent.pricelist_id,product_id,product_uom_qty,product_uom,product_uos_qty,product_uos,name,parent.partner_id, False, True, parent.date_order, product_packaging, parent.fiscal_position, False, context)"/>
Date: Tue, 23 Oct 2012 09:23:17 +0200
Subject: [PATCH 183/227] [FIX] anonymization: add an object to handle
migration issues
bzr revid: olt@tinyerp.com-20121023072317-zkv1rbf8pt0qnh3g
---
addons/anonymization/anonymization.py | 75 ++++++++++++++++-----
addons/anonymization/anonymization_view.xml | 1 -
2 files changed, 58 insertions(+), 18 deletions(-)
diff --git a/addons/anonymization/anonymization.py b/addons/anonymization/anonymization.py
index 8834645c460..2326a4184ae 100644
--- a/addons/anonymization/anonymization.py
+++ b/addons/anonymization/anonymization.py
@@ -32,13 +32,23 @@ import datetime
from osv import fields, osv
from tools.translate import _
+from itertools import groupby
+from operator import itemgetter
+
FIELD_STATES = [('clear', 'Clear'), ('anonymized', 'Anonymized'), ('not_existing', 'Not Existing')]
ANONYMIZATION_STATES = FIELD_STATES + [('unstable', 'Unstable')]
+WIZARD_ANONYMIZATION_STATES = [('clear', 'Clear'), ('anonymized', 'Anonymized'), ('unstable', 'Unstable')]
ANONYMIZATION_HISTORY_STATE = [('started', 'Started'), ('done', 'Done'), ('in_exception', 'Exception occured')]
ANONYMIZATION_DIRECTION = [('clear -> anonymized', 'clear -> anonymized'), ('anonymized -> clear', 'anonymized -> clear')]
+def group(lst, cols):
+ if isinstance(cols, basestring):
+ cols = [cols]
+ return dict((k, [v for v in itr]) for k, itr in groupby(sorted(lst, key=itemgetter(*cols)), itemgetter(*cols)))
+
+
class ir_model_fields_anonymization(osv.osv):
_name = 'ir.model.fields.anonymization'
_rec_name = 'field_id'
@@ -207,8 +217,6 @@ class ir_model_fields_anonymization(osv.osv):
'state': lambda *a: 'clear',
}
-ir_model_fields_anonymization()
-
class ir_model_fields_anonymization_history(osv.osv):
_name = 'ir.model.fields.anonymization.history'
@@ -223,8 +231,6 @@ class ir_model_fields_anonymization_history(osv.osv):
'filepath': fields.char(string='File path', size=256, readonly=True),
}
-ir_model_fields_anonymization_history()
-
class ir_model_fields_anonymize_wizard(osv.osv_memory):
_name = 'ir.model.fields.anonymize.wizard'
@@ -250,8 +256,8 @@ class ir_model_fields_anonymize_wizard(osv.osv_memory):
'name': fields.char(size=64, string='File Name'),
'summary': fields.function(_get_summary, type='text', string='Summary'),
'file_export': fields.binary(string='Export'),
- 'file_import': fields.binary(string='Import'),
- 'state': fields.function(_get_state, string='Status', type='selection', selection=ANONYMIZATION_STATES, readonly=False),
+ 'file_import': fields.binary(string='Import', help="This is the file created by the anonymization process. It should have the '.pickle' extention."),
+ 'state': fields.function(_get_state, string='Status', type='selection', selection=WIZARD_ANONYMIZATION_STATES, readonly=False),
'msg': fields.text(string='Message'),
}
@@ -319,6 +325,7 @@ class ir_model_fields_anonymize_wizard(osv.osv_memory):
# clicked in the menu and the fields are already anonymized
placeholder.addnext(etree.Element('newline'))
placeholder.addnext(etree.Element('field', {'name': 'file_import', 'required': "1"}))
+ placeholder.addnext(etree.Element('label', {'string': 'Anonymization file'}))
eview.remove(placeholder)
elif step == 'just_anonymized':
# we just ran the anonymization process, we need the file export field
@@ -500,7 +507,6 @@ class ir_model_fields_anonymize_wizard(osv.osv_memory):
def reverse_anonymize_database(self, cr, uid, ids, context=None):
"""Set the 'clear' state to defined fields"""
-
ir_model_fields_anonymization_model = self.pool.get('ir.model.fields.anonymization')
anonymization_history_model = self.pool.get('ir.model.fields.anonymization.history')
@@ -524,23 +530,46 @@ class ir_model_fields_anonymize_wizard(osv.osv_memory):
wizards = self.browse(cr, uid, ids, context=context)
for wizard in wizards:
if not wizard.file_import:
- msg = "It is not possible to reverse the anonymization process without supplying anonymization export file."
+ msg = "It is not possible to reverse the anonymization process without supplying the anonymization export file."
self._raise_after_history_update(cr, uid, history_id, 'Error !', msg)
# reverse the anonymization:
# load the pickle file content into a data structure:
data = pickle.loads(base64.decodestring(wizard.file_import))
+ migration_fix_obj = self.pool.get('ir.model.fields.anonymization.migration.fix')
+ fix_ids = migration_fix_obj.search(cr, uid, [('target_version', '=', '7.0')])
+ fixes = migration_fix_obj.read(cr, uid, fix_ids, ['model_name', 'field_name', 'query', 'query_type', 'sequence'])
+ fixes = group(fixes, ('model_name', 'field_name'))
+
for line in data:
table_name = self.pool.get(line['model_id'])._table
- sql = "update %(table)s set %(field)s = %%(value)s where id = %%(id)s" % {
- 'table': table_name,
- 'field': line['field_id'],
- }
- cr.execute(sql, {
- 'value': line['value'],
- 'id': line['id']
- })
+
+ # check if custom sql exists:
+ key = (line['model_id'], line['field_id'])
+ custom_updates = fixes.get(key)
+ if custom_updates:
+ custom_updates.sort(itemgetter('sequence'))
+ queries = [(record['query'], record['query_type']) for record in custom_updates if record['query_type']]
+ else:
+ queries = [("update %(table)s set %(field)s = %%(value)s where id = %%(id)s" % {
+ 'table': table_name,
+ 'field': line['field_id'],
+ }, 'sql')]
+
+ for query in queries:
+ if query[1] == 'sql':
+ sql = query[0]
+ cr.execute(sql, {
+ 'value': line['value'],
+ 'id': line['id']
+ })
+ elif query[1] == 'python':
+ raw_code = query[0]
+ code = raw_code % line
+ eval(code)
+ else:
+ raise Exception("Unknown query type '%s'. Valid types are: sql, python." % (query['query_type'], ))
# update the anonymization fields:
ir_model_fields_anonymization_model = self.pool.get('ir.model.fields.anonymization')
@@ -589,7 +618,19 @@ class ir_model_fields_anonymize_wizard(osv.osv_memory):
res = None
return res
-ir_model_fields_anonymize_wizard()
+class ir_model_fields_anonymization_migration_fix(osv.osv):
+ _name = 'ir.model.fields.anonymization.migration.fix'
+ _order = "sequence"
+
+ _columns = {
+ 'target_version': fields.char('Target Version'),
+ 'model_name': fields.char('Model'),
+ 'field_name': fields.char('Field'),
+ 'query': fields.text('Query'),
+ 'query_type': fields.selection(string='Query', selection=[('sql', 'sql'), ('python', 'python')]),
+ 'sequence': fields.integer('Sequence'),
+ }
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+
diff --git a/addons/anonymization/anonymization_view.xml b/addons/anonymization/anonymization_view.xml
index 1a6c6c355d5..fca112eb266 100644
--- a/addons/anonymization/anonymization_view.xml
+++ b/addons/anonymization/anonymization_view.xml
@@ -14,7 +14,6 @@
From a53941b1652f05f3759b88e0b7a02136ce50e850 Mon Sep 17 00:00:00 2001
From: "vta vta@openerp.com" <>
Date: Tue, 23 Oct 2012 09:50:35 +0200
Subject: [PATCH 184/227] [FIX] Fixed CallbackEnabled issues in POS.
bzr revid: vta@openerp.com-20121023075035-wx3awh0sdeeqa7t3
---
addons/point_of_sale/static/src/js/screens.js | 3 ++-
addons/point_of_sale/static/src/js/widgets.js | 16 ++++++++--------
2 files changed, 10 insertions(+), 9 deletions(-)
diff --git a/addons/point_of_sale/static/src/js/screens.js b/addons/point_of_sale/static/src/js/screens.js
index 1ad03c5ead1..bd174b12fda 100644
--- a/addons/point_of_sale/static/src/js/screens.js
+++ b/addons/point_of_sale/static/src/js/screens.js
@@ -938,10 +938,11 @@ function openerp_pos_screens(instance, module){ //module is instance.point_of_sa
this.renderElement();
},
addPaymentLine: function(newPaymentLine) {
+ var self = this;
var x = new module.PaymentlineWidget(null, {
payment_line: newPaymentLine
});
- x.on_delete.add(_.bind(this.deleteLine, this, x));
+ x.on('delete_payment_line', self, self.deleteLine);
x.appendTo(this.$('#paymentlines'));
},
renderElement: function() {
diff --git a/addons/point_of_sale/static/src/js/widgets.js b/addons/point_of_sale/static/src/js/widgets.js
index 3f0e439cfba..28ab79c65b2 100644
--- a/addons/point_of_sale/static/src/js/widgets.js
+++ b/addons/point_of_sale/static/src/js/widgets.js
@@ -142,7 +142,7 @@ function openerp_pos_widgets(instance, module){ //module is instance.point_of_sa
},
click_handler: function() {
this.order.selectLine(this.model);
- this.on_selected();
+ this.trigger('order_line_selected');
},
renderElement: function() {
this._super();
@@ -153,10 +153,8 @@ function openerp_pos_widgets(instance, module){ //module is instance.point_of_sa
},
refresh: function(){
this.renderElement();
- this.on_refresh();
+ this.trigger('order_line_refreshed');
},
- on_selected: function() {},
- on_refresh: function(){},
});
module.OrderWidget = module.PosBaseWidget.extend({
@@ -230,8 +228,8 @@ function openerp_pos_widgets(instance, module){ //module is instance.point_of_sa
model: orderLine,
order: this.pos.get('selectedOrder'),
});
- line.on_selected.add(_.bind(this.update_numpad, this));
- line.on_refresh.add(_.bind(this.update_summary, this));
+ line.on('order_line_selected', self, self.update_numpad);
+ line.on('order_line_refreshed', self, self.update_summary);
line.appendTo($content);
}, this));
this.update_numpad();
@@ -303,7 +301,6 @@ function openerp_pos_widgets(instance, module){ //module is instance.point_of_sa
this.payment_line = options.payment_line;
this.payment_line.bind('change', this.changedAmount, this);
},
- on_delete: function() {},
changeAmount: function(event) {
var newAmount;
newAmount = event.currentTarget.value;
@@ -317,10 +314,13 @@ function openerp_pos_widgets(instance, module){ //module is instance.point_of_sa
this.renderElement();
},
renderElement: function() {
+ var self = this;
this.name = this.payment_line.get_cashregister().get('journal_id')[1];
this._super();
this.$('input').keyup(_.bind(this.changeAmount, this));
- this.$('.delete-payment-line').click(this.on_delete);
+ this.$('.delete-payment-line').click(function() {
+ self.trigger('delete_payment_line');
+ });
},
});
From 41fba390b243844828cb3f2d7c83dc00b4545f50 Mon Sep 17 00:00:00 2001
From: Xavier Morel
Date: Tue, 23 Oct 2012 10:52:20 +0200
Subject: [PATCH 185/227] [IMP] cleanup View.load_view a bit
and remove unused variables in ViewManagerAction#switch_view
bzr revid: xmo@openerp.com-20121023085220-h7lwft0nilng1q4y
---
addons/web/static/src/js/views.js | 24 +++++++++++-------------
1 file changed, 11 insertions(+), 13 deletions(-)
diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js
index 103ad7a2661..66dfba99d9f 100644
--- a/addons/web/static/src/js/views.js
+++ b/addons/web/static/src/js/views.js
@@ -895,9 +895,7 @@ instance.web.ViewManagerAction = instance.web.ViewManager.extend({
var self = this;
return $.when(this._super.apply(this, arguments)).then(function () {
- var controller = self.views[self.active_view].controller,
- fvg = controller.fields_view,
- view_id = (fvg && fvg.view_id) || '--';
+ var controller = self.views[self.active_view].controller;
self.$el.find('.oe_debug_view').html(QWeb.render('ViewManagerDebug', {
view: controller,
view_manager: self
@@ -1142,28 +1140,28 @@ instance.web.View = instance.web.Widget.extend({
start: function () {
return this.load_view();
},
- load_view: function() {
+ load_view: function(context) {
var self = this;
+ var view_loaded;
if (this.embedded_view) {
- var def = $.Deferred();
- $.async_when().then(function() {def.resolve(self.embedded_view);});
- return def.pipe(function(r) {
- self.trigger('view_loaded', r);
+ view_loaded = $.Deferred();
+ $.async_when().then(function() {
+ view_loaded.resolve(self.embedded_view);
});
} else {
- var context = new instance.web.CompoundContext(this.dataset.get_context());
if (! this.view_type)
console.warn("view_type is not defined", this);
- return this.rpc("/web/view/load", {
+ view_loaded = this.rpc("/web/view/load", {
"model": this.dataset.model,
"view_id": this.view_id,
"view_type": this.view_type,
toolbar: !!this.options.$sidebar,
- context: context
- }).pipe(function(r) {
- self.trigger('view_loaded', r);
+ context: this.dataset.get_context(context)
});
}
+ return view_loaded.pipe(function(r) {
+ self.trigger('view_loaded', r);
+ });
},
set_default_options: function(options) {
this.options = options || {};
From 9bf9ca7a67a16b83cfa371c1377865e168d6c7dc Mon Sep 17 00:00:00 2001
From: Xavier Morel
Date: Tue, 23 Oct 2012 10:53:29 +0200
Subject: [PATCH 186/227] [FIX] list view to use View#load_view rather than its
own implementation thereof
bzr revid: xmo@openerp.com-20121023085329-y01e1u77vfz2n7a9
---
addons/web/static/src/js/view_list.js | 34 +++++++------------
.../web/static/src/js/view_list_editable.js | 2 +-
2 files changed, 13 insertions(+), 23 deletions(-)
diff --git a/addons/web/static/src/js/view_list.js b/addons/web/static/src/js/view_list.js
index 29bc81ea9ec..4da6136d3cc 100644
--- a/addons/web/static/src/js/view_list.js
+++ b/addons/web/static/src/js/view_list.js
@@ -22,6 +22,7 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
'reorderable': true,
'action_buttons': true,
},
+ view_type: 'tree',
/**
* Core class for list-type displays.
*
@@ -83,7 +84,8 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
});
this.no_leaf = false;
- this.on('view_load', self, self.load_list);
+ this.grouped = false;
+ this.on('view_loaded', self, self.load_list);
},
set_default_options: function (options) {
this._super(options);
@@ -145,7 +147,7 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
*/
start: function() {
this.$el.addClass('oe_list');
- return this.reload_view(null, null, true);
+ return this._super();
},
/**
* Returns the style for the provided record in the current view (from the
@@ -219,7 +221,7 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
* @param {Object} data.fields_view.arch current list view descriptor
* @param {Boolean} grouped Is the list view grouped
*/
- load_list: function(data, grouped) {
+ load_list: function(data) {
var self = this;
this.fields_view = data;
this.name = "" + this.fields_view.arch.attrs.string;
@@ -245,7 +247,7 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
}).value();
}
- this.setup_columns(this.fields_view.fields, grouped);
+ this.setup_columns(this.fields_view.fields, this.grouped);
this.$el.html(QWeb.render(this._template, this));
this.$el.addClass(this.fields_view.arch.attrs['class']);
@@ -290,7 +292,7 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
}
this.$buttons.find('.oe_list_add')
.click(this.proxy('do_add_record'))
- .prop('disabled', grouped);
+ .prop('disabled', this.grouped);
}
// Pager
@@ -359,7 +361,7 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
this.sidebar.add_toolbar(this.fields_view.toolbar);
this.sidebar.$el.hide();
}
- this.trigger('list_view_loaded', data, grouped);
+ this.trigger('list_view_loaded', data, this.grouped);
},
/**
* Configures the ListView pager based on the provided dataset's information
@@ -464,25 +466,12 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
/**
* Reloads the list view based on the current settings (dataset & al)
*
+ * @deprecated
* @param {Boolean} [grouped] Should the list be displayed grouped
* @param {Object} [context] context to send the server while loading the view
*/
reload_view: function (grouped, context, initial) {
- var self = this;
- var callback = function (field_view_get) {
- self.load_list(field_view_get, grouped);
- };
- if (this.embedded_view) {
- return $.Deferred().then(callback).resolve(this.embedded_view);
- } else {
- return this.rpc('/web/view/load', {
- model: this.model,
- view_id: this.view_id,
- view_type: "tree",
- context: this.dataset.get_context(context),
- toolbar: !!this.options.$sidebar
- }).then(callback);
- }
+ return this.load_view(context);
},
/**
* re-renders the content of the list view
@@ -564,8 +553,9 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
group_by = null;
}
this.no_leaf = !!context['group_by_no_leaf'];
+ this.grouped = !!group_by;
- this.reload_view(!!group_by, context).then(
+ return this.load_view(context).pipe(
this.proxy('reload_content'));
},
/**
diff --git a/addons/web/static/src/js/view_list_editable.js b/addons/web/static/src/js/view_list_editable.js
index 9bc0e96032f..acc1d781976 100644
--- a/addons/web/static/src/js/view_list_editable.js
+++ b/addons/web/static/src/js/view_list_editable.js
@@ -150,7 +150,7 @@ openerp.web.list_editable = function (instance) {
if (!id && done.created) {
id = done.record.get('id');
}
- self.handle_button.call(self, name, id, callback);
+ self.handle_button(name, id, callback);
});
},
/**
From 4ab9d9a9b1c17ecce6eb63c82a2763808b44c95a Mon Sep 17 00:00:00 2001
From: "Bhumi Thakkar (Open ERP)"
Date: Tue, 23 Oct 2012 14:33:10 +0530
Subject: [PATCH 187/227] [IMP] Improve css for kanban.
bzr revid: bth@tinyerp.com-20121023090310-ytk7zx1xth5e1oua
---
addons/web_kanban/static/src/css/kanban.css | 7 +++----
addons/web_kanban/static/src/css/kanban.sass | 10 ++++++----
2 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/addons/web_kanban/static/src/css/kanban.css b/addons/web_kanban/static/src/css/kanban.css
index bf7d61175ed..fbd55dcb0da 100644
--- a/addons/web_kanban/static/src/css/kanban.css
+++ b/addons/web_kanban/static/src/css/kanban.css
@@ -612,10 +612,9 @@
@media print {
.oe_kanban_groups button {
- display: none;
+ visibility: hidden;
}
-
- .openerp .oe_kanban_view.oe_kanban_ungrouped .oe_kanban_column .oe_kanban_record > div > a {
- display: none;
+ .oe_kanban_groups a[data-type=object], .oe_kanban_groups a[data-type=delete] {
+ visibility: hidden;
}
}
diff --git a/addons/web_kanban/static/src/css/kanban.sass b/addons/web_kanban/static/src/css/kanban.sass
index 3f64ae45a0d..1b749731111 100644
--- a/addons/web_kanban/static/src/css/kanban.sass
+++ b/addons/web_kanban/static/src/css/kanban.sass
@@ -503,10 +503,12 @@
@include box-shadow((0 1px 2px rgba(0, 0, 0, .1), 0 1px 1px rgba(255, 255, 255, .8) inset))
@media print
- .oe_kanban_groups button
- display: none
- .openerp .oe_kanban_view.oe_kanban_ungrouped .oe_kanban_column .oe_kanban_record > div > a
- display: none
+ .oe_kanban_groups
+ button
+ visibility: hidden
+ a
+ &[data-type=object], &[data-type=delete]
+ visibility: hidden
// au BufWritePost,FileWritePost *.sass :!sass --style expanded --line-numbers > "%:p:r.css"
// vim:tabstop=4:shiftwidth=4:softtabstop=4:fdm=marker:
From 957c187bb18045d0fd21a7153eb97b1d73c1f282 Mon Sep 17 00:00:00 2001
From: Fabien Meghazi
Date: Tue, 23 Oct 2012 11:55:59 +0200
Subject: [PATCH 188/227] [IMP] Make 'oe_list_cannot_*' css classes generic
bzr revid: fme@openerp.com-20121023095559-63exp0dyf5zsd3qw
---
addons/web/static/src/css/base.css | 5207 ++++++++++++++-----------
addons/web/static/src/css/base.sass | 22 +-
addons/web/static/src/js/view_list.js | 5 -
addons/web/static/src/js/views.js | 5 +
4 files changed, 2888 insertions(+), 2351 deletions(-)
diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css
index 565bf9c12f5..64b782835f2 100644
--- a/addons/web/static/src/css/base.css
+++ b/addons/web/static/src/css/base.css
@@ -1,4 +1,4 @@
-@charset "UTF-8";
+@charset "utf-8";
@font-face {
font-family: "mnmliconsRegular";
src: url("/web/static/src/font/mnmliconsv21-webfont.eot") format("eot");
@@ -6,7 +6,8 @@
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-style: normal;
+}
@font-face {
font-family: "EntypoRegular";
@@ -16,17 +17,22 @@
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; }
+ font-style: normal;
+}
@media print {
.oe_topbar, .oe_leftbar, .oe_loading {
- display: none !important; } }
+ display: none !important;
+ }
+}
.openerp.openerp_webclient_container {
- height: 100%; }
+ height: 100%;
+}
.text-tag .text-button {
height: auto !important;
- min-height: 16px; }
+ min-height: 16px;
+}
.openerp {
padding: 0;
@@ -38,2332 +44,2856 @@
text-shadow: 0 1px 1px rgba(255, 255, 255, 0.5);
/* http://www.quirksmode.org/dom/inputfile.html
* http://stackoverflow.com/questions/2855589/replace-input-type-file-by-an-image
- */ }
- .openerp :-moz-placeholder {
- color: #afafb6 !important;
- font-style: italic !important; }
- .openerp ::-webkit-input-placeholder {
- color: #afafb6 !important;
- font-style: italic !important; }
- .openerp a {
- text-decoration: none;
- cursor: pointer !important; }
- .openerp table {
- padding: 0;
- border-collapse: collapse; }
- .openerp thead {
- font-weight: bold;
- background-color: #f0f0f0; }
- .openerp thead th {
- border-left: 1px solid #dfdfdf; }
- .openerp thead th:first-child {
- border-left: none; }
- .openerp thead th.null {
- border-left: none; }
- .openerp th, .openerp td {
- padding: 0;
- text-align: left; }
- .openerp th {
- font-weight: bold;
- vertical-align: middle; }
- .openerp td {
- vertical-align: top; }
- .openerp .zebra tbody tr:nth-child(odd) td {
- background-color: #f0f0fa;
- background-color: #f0f0fa;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#f0f0fa), to(#eeeef6));
- background-image: -webkit-linear-gradient(top, #f0f0fa, #eeeef6);
- background-image: -moz-linear-gradient(top, #f0f0fa, #eeeef6);
- background-image: -ms-linear-gradient(top, #f0f0fa, #eeeef6);
- background-image: -o-linear-gradient(top, #f0f0fa, #eeeef6);
- background-image: linear-gradient(to bottom, #f0f0fa, #eeeef6); }
- .openerp .zebra tbody tr:hover td {
- background-color: #eeeeee;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#eeeeee), to(#dedede));
- background-image: -webkit-linear-gradient(top, #eeeeee, #dedede);
- background-image: -moz-linear-gradient(top, #eeeeee, #dedede);
- background-image: -ms-linear-gradient(top, #eeeeee, #dedede);
- background-image: -o-linear-gradient(top, #eeeeee, #dedede);
- background-image: linear-gradient(to bottom, #eeeeee, #dedede); }
- .openerp input, .openerp textarea, .openerp select {
- padding: 2px 4px;
- border: 1px solid #cccccc;
- -moz-border-radius: 3px;
- -webkit-border-radius: 3px;
- border-radius: 3px;
- background: white; }
- .openerp img {
- vertical-align: middle; }
- .openerp h4 {
- margin: 4px 0; }
- .openerp a.button:link, .openerp a.button:visited, .openerp button, .openerp input[type='submit'], .openerp .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button {
- display: inline-block;
- border: 1px solid rgba(0, 0, 0, 0.4);
- color: #4c4c4c;
- margin: 0;
- padding: 3px 12px;
- font-size: 13px;
- text-align: center;
- background-color: #efefef;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#efefef), to(#d8d8d8));
- background-image: -webkit-linear-gradient(top, #efefef, #d8d8d8);
- background-image: -moz-linear-gradient(top, #efefef, #d8d8d8);
- background-image: -ms-linear-gradient(top, #efefef, #d8d8d8);
- background-image: -o-linear-gradient(top, #efefef, #d8d8d8);
- background-image: linear-gradient(to bottom, #efefef, #d8d8d8);
- -moz-border-radius: 3px;
- -webkit-border-radius: 3px;
- border-radius: 3px;
- -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset;
- -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset;
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset;
- text-shadow: 0 1px 1px rgba(255, 255, 255, 0.5);
- -webkit-font-smoothing: antialiased;
- outline: none; }
- .openerp a.button:hover, .openerp button:hover, .openerp input[type='submit']:hover, .openerp .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button.ui-state-hover {
- background-color: #f6f6f6;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#f6f6f6), to(#e3e3e3));
- background-image: -webkit-linear-gradient(top, #f6f6f6, #e3e3e3);
- background-image: -moz-linear-gradient(top, #f6f6f6, #e3e3e3);
- background-image: -ms-linear-gradient(top, #f6f6f6, #e3e3e3);
- background-image: -o-linear-gradient(top, #f6f6f6, #e3e3e3);
- background-image: linear-gradient(to bottom, #f6f6f6, #e3e3e3);
- cursor: pointer;
- background-position: 0; }
- .openerp a.button:focus, .openerp button:focus, .openerp input[type='submit']:focus, .openerp .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button.ui-state-focus {
- border: 1px solid #80bfff;
- background-position: 0;
- background-color: #f6f6f6;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#f6f6f6), to(#e3e3e3));
- background-image: -webkit-linear-gradient(top, #f6f6f6, #e3e3e3);
- background-image: -moz-linear-gradient(top, #f6f6f6, #e3e3e3);
- background-image: -ms-linear-gradient(top, #f6f6f6, #e3e3e3);
- background-image: -o-linear-gradient(top, #f6f6f6, #e3e3e3);
- background-image: linear-gradient(to bottom, #f6f6f6, #e3e3e3);
- -moz-box-shadow: 0 0 3px #80bfff, 0 1px 1px rgba(255, 255, 255, 0.8) inset;
- -webkit-box-shadow: 0 0 3px #80bfff, 0 1px 1px rgba(255, 255, 255, 0.8) inset;
- box-shadow: 0 0 3px #80bfff, 0 1px 1px rgba(255, 255, 255, 0.8) inset; }
- .openerp a.button:active, .openerp a.button.active, .openerp button:active, .openerp button.active, .openerp input[type='submit']:active, .openerp input[type='submit'].active, .openerp .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button.ui-state-active {
- background-color: #e3e3e3;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#e3e3e3), to(#f6f6f6));
- background-image: -webkit-linear-gradient(top, #e3e3e3, #f6f6f6);
- background-image: -moz-linear-gradient(top, #e3e3e3, #f6f6f6);
- background-image: -ms-linear-gradient(top, #e3e3e3, #f6f6f6);
- background-image: -o-linear-gradient(top, #e3e3e3, #f6f6f6);
- background-image: linear-gradient(to bottom, #e3e3e3, #f6f6f6);
- -moz-box-shadow: none;
- -webkit-box-shadow: none;
- box-shadow: none; }
- .openerp a.button.disabled, .openerp button:disabled, .openerp input[type='submit']:disabled {
- background: #efefef !important;
- border: 1px solid #d1d1d1 !important;
- -moz-box-shadow: none !important;
- -webkit-box-shadow: none !important;
- box-shadow: none !important;
- color: #aaaaaa !important;
- cursor: default;
- text-shadow: 0 1px 1px white !important; }
- .openerp .ui-widget-content a {
- color: #7c7bad; }
- .openerp .oe_bounce_container {
- display: inline-block; }
- .openerp .ui-tabs {
- position: static; }
- .openerp.ui-dialog {
- display: none;
- padding: 6px;
- background-color: rgba(60, 60, 60, 0.7);
- border: 1px solid;
- border-color: #888888 #555555 #444444;
- -moz-border-radius: 8px;
- -webkit-border-radius: 8px;
- border-radius: 8px;
- -moz-box-shadow: 0 1px 12px rgba(0, 0, 0, 0.6);
- -webkit-box-shadow: 0 1px 12px rgba(0, 0, 0, 0.6);
- box-shadow: 0 1px 12px rgba(0, 0, 0, 0.6);
- -webkit-background-clip: padding-box;
- -moz-background-clip: padding-box;
- background-clip: padding-box; }
- .openerp.ui-dialog .ui-dialog-content {
- padding: 0px; }
- .openerp.ui-dialog .ui-dialog-titlebar, .openerp.ui-dialog .ui-dialog-content, .openerp.ui-dialog .ui-dialog-buttonpane {
- padding: 16px; }
- .openerp.ui-dialog .ui-dialog-titlebar {
- border-bottom: 1px solid #cacaca;
- -moz-border-radius: 2px 2px 0 0;
- -webkit-border-radius: 2px 2px 0 0;
- border-radius: 2px 2px 0 0;
- background-color: #fcfcfc;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#fcfcfc), to(#dedede));
- background-image: -webkit-linear-gradient(top, #fcfcfc, #dedede);
- background-image: -moz-linear-gradient(top, #fcfcfc, #dedede);
- background-image: -ms-linear-gradient(top, #fcfcfc, #dedede);
- background-image: -o-linear-gradient(top, #fcfcfc, #dedede);
- background-image: linear-gradient(to bottom, #fcfcfc, #dedede); }
- .openerp.ui-dialog .ui-dialog-titlebar .ui-dialog-title {
- margin: 0;
- padding: 0; }
- .openerp.ui-dialog .ui-widget-header {
- border: none; }
- .openerp.ui-dialog .ui-dialog-content {
- background: white; }
- .openerp.ui-dialog .ui-dialog-buttonpane {
- border-top: 1px solid #e0e0e0;
- background: #f5f7f9;
- margin: 0;
- -moz-border-radius: 0 0 2px 2px;
- -webkit-border-radius: 0 0 2px 2px;
- border-radius: 0 0 2px 2px; }
- .openerp.ui-dialog .ui-dialog-buttonpane button {
- margin: 0 4px 0 0; }
- .openerp.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
- float: left; }
- .openerp.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button {
- margin-right: 4px; }
- .openerp.ui-dialog .ui-dialog-titlebar-close {
- padding: 0; }
- .openerp.ui-dialog .ui-dialog-titlebar-close .ui-icon-closethick {
- display: none; }
- .openerp.ui-dialog .ui-dialog-titlebar-close:before {
- content: "×";
- font-size: 18px;
- font-weight: bold;
- line-height: 16px;
- color: black;
- text-shadow: 0 1px 0 white;
- padding: 0;
- cursor: pointer;
- background: transparent;
- border: 0; }
- .openerp.ui-dialog .ui-dialog-titlebar-close:before:hover {
- color: black;
- text-decoration: none; }
- .openerp.ui-dialog .oe_about {
- background-color: white;
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAYAAADgzO9IAAAAKUlEQVQIHWO8e/fufwYsgAUkJigoiCIF5DMyoYggcUiXgNnBiGQKmAkARpcEQeriln4AAAAASUVORK5CYII=);
- -moz-border-radius: 0 0 2px 2px;
- -webkit-border-radius: 0 0 2px 2px;
- border-radius: 0 0 2px 2px; }
- .openerp.ui-dialog .oe_about a {
- color: #7c7bad; }
- .openerp.ui-dialog .oe_about a:hover {
- text-decoration: underline; }
- .openerp.ui-dialog .oe_about a:focus {
- outline: none; }
- .openerp.ui-dialog .oe_about .oe_logo {
- margin-left: -6px; }
- .openerp.ui-dialog .oe_about .oe_bottom {
- position: absolute;
- top: 50%;
- left: 0;
- right: 0;
- bottom: 0;
- text-shadow: 0 1px 1px #999999;
- background-color: #b41616;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#b41616), to(#600606));
- background-image: -webkit-linear-gradient(top, #b41616, #600606);
- background-image: -moz-linear-gradient(top, #b41616, #600606);
- background-image: -ms-linear-gradient(top, #b41616, #600606);
- background-image: -o-linear-gradient(top, #b41616, #600606);
- background-image: linear-gradient(to bottom, #b41616, #600606);
- color: #eeeeee;
- padding: 0 16px;
- -moz-border-radius: 0 0 2px 2px;
- -webkit-border-radius: 0 0 2px 2px;
- border-radius: 0 0 2px 2px; }
- .openerp.ui-dialog .oe_about .oe_bottom a {
- color: #eeeeee; }
- .openerp.ui-dialog.oe_act_window .ui-dialog-content {
- padding: 0px; }
- .openerp .modal-backdrop {
- position: fixed;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- z-index: 1040;
- background-color: black;
- filter: alpha(opacity=30);
- opacity: 0.3; }
- .openerp .oe_i {
- font-family: "mnmliconsRegular" !important;
- font-size: 21px;
- font-weight: 300 !important; }
- .openerp .oe_e {
- font-family: "entypoRegular" !important;
- font-size: 34px;
- font-weight: 300 !important; }
- .openerp .oe_left {
- float: left;
- margin-right: 8px; }
- .openerp .oe_right {
- float: right;
- margin-left: 8px; }
- .openerp .oe_text_right {
- text-align: right; }
- .openerp .oe_clear {
- clear: both; }
- .openerp .oe_wait {
- cursor: wait; }
- .openerp .oe_fade {
- color: #888888;
- font-weight: normal; }
- .openerp .oe_bold {
- font-weight: bold; }
- .openerp .oe_inline {
- width: auto !important; }
- .openerp .oe_highlight {
- color: white;
- background: #dc5f59; }
- .openerp button.oe_highlight {
- background-color: #df3f3f;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#df3f3f), to(#a21a1a));
- background-image: -webkit-linear-gradient(top, #df3f3f, #a21a1a);
- background-image: -moz-linear-gradient(top, #df3f3f, #a21a1a);
- background-image: -ms-linear-gradient(top, #df3f3f, #a21a1a);
- background-image: -o-linear-gradient(top, #df3f3f, #a21a1a);
- background-image: linear-gradient(to bottom, #df3f3f, #a21a1a);
- -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(155, 155, 155, 0.4) inset;
- -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(155, 155, 155, 0.4) inset;
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(155, 155, 155, 0.4) inset; }
- .openerp button.oe_highlight:hover {
- background-color: #e25858;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#e25858), to(#ab1b1b));
- background-image: -webkit-linear-gradient(top, #e25858, #ab1b1b);
- background-image: -moz-linear-gradient(top, #e25858, #ab1b1b);
- background-image: -ms-linear-gradient(top, #e25858, #ab1b1b);
- background-image: -o-linear-gradient(top, #e25858, #ab1b1b);
- background-image: linear-gradient(to bottom, #e25858, #ab1b1b); }
- .openerp button.oe_highlight:active {
- background-color: #c52020;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#c52020), to(#d22323));
- background-image: -webkit-linear-gradient(top, #c52020, #d22323);
- background-image: -moz-linear-gradient(top, #c52020, #d22323);
- background-image: -ms-linear-gradient(top, #c52020, #d22323);
- background-image: -o-linear-gradient(top, #c52020, #d22323);
- background-image: linear-gradient(to bottom, #c52020, #d22323); }
- .openerp .oe_background_grey {
- background: #eeeeee !important; }
- .openerp .oe_form_dirty .oe_highlight_on_dirty {
- color: white;
- background: #dc5f59;
- font-weight: bold; }
- .openerp .oe_form_dirty button.oe_highlight_on_dirty {
- background-color: #dc5f59;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#dc5f59), to(#b33630));
- background-image: -webkit-linear-gradient(top, #dc5f59, #b33630);
- background-image: -moz-linear-gradient(top, #dc5f59, #b33630);
- background-image: -ms-linear-gradient(top, #dc5f59, #b33630);
- background-image: -o-linear-gradient(top, #dc5f59, #b33630);
- background-image: linear-gradient(to bottom, #dc5f59, #b33630);
- -moz-box-shadow: none;
- -webkit-box-shadow: none;
- box-shadow: none; }
- .openerp .oe_form_dirty button.oe_highlight_on_dirty:hover {
- background: #ed6f6a; }
- .openerp .oe_title {
- width: 50%;
- float: left; }
- .openerp .oe_title:after {
- content: ".";
- display: block;
- height: 0;
- clear: both;
- visibility: hidden; }
- .openerp .oe_button_box {
- width: 270px;
- text-align: right; }
- .openerp .oe_button_box button {
- margin: 4px; }
- .openerp .oe_avatar > img {
- max-height: 90px;
- max-width: 90px;
- -moz-border-radius: 3px;
- -webkit-border-radius: 3px;
- border-radius: 3px;
- -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
- -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
- box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
- border: none;
- margin-bottom: 10px; }
- .openerp .oe_avatar + div {
- margin-left: 5px; }
- .openerp .oe_image_small > img {
- max-width: 50px;
- max-height: 50px; }
- .openerp .oe_image_medium > img {
- max-width: 180px;
- max-height: 180px; }
- .openerp .oe_button.oe_link {
- border: none;
- padding: 0;
- margin: 0;
- background: none;
- -moz-border-radius: 0;
- -webkit-border-radius: 0;
- border-radius: 0;
- -moz-box-shadow: none;
- -webkit-box-shadow: none;
- box-shadow: none; }
- .openerp .oe_button.oe_link img {
- display: none; }
- .openerp .oe_button.oe_link span {
- border: none;
- padding: 0;
- margin: 0;
- background: none;
- -moz-border-radius: 0;
- -webkit-border-radius: 0;
- border-radius: 0;
- -moz-box-shadow: none;
- -webkit-box-shadow: none;
- box-shadow: none;
- color: #7c7bad;
- font-weight: bold; }
- .openerp .oe_button.oe_link span:hover {
- text-decoration: underline; }
- .openerp .oe_webclient .oe_star_on, .openerp .oe_webclient .oe_star_off {
- color: #cccccc;
- text-shadow: 0 0 2px black;
- vertical-align: top;
- position: relative;
- top: -5px; }
- .openerp .oe_webclient .oe_star_on:hover, .openerp .oe_webclient .oe_star_off:hover {
- text-decoration: none; }
- .openerp .oe_webclient .oe_star_on {
- color: gold; }
- .openerp p.oe_grey {
- max-width: 650px; }
- .openerp .oe_grey {
- color: #aaaaaa; }
- .openerp .oe_tag {
- border: 1px solid #afafb6;
- font-size: 11px;
- padding: 2px 4px;
- margin: 0 2px 2px 0;
- -moz-border-radius: 3px;
- -webkit-border-radius: 3px;
- border-radius: 3px;
- background: #f0f0fa;
- color: #4c4c4c; }
- .openerp .oe_tag_dark {
- background: #7c7bad;
- color: #eeeeee; }
- .openerp .oe_tags {
- margin-bottom: 1px; }
- .openerp .oe_tags.oe_inline {
- min-width: 250px; }
- .openerp .oe_tags .text-wrap {
- width: 100% !important; }
- .openerp .oe_tags .text-wrap textarea {
- width: 100% !important; }
- .openerp .oe_tags .text-core .text-wrap .text-dropdown .text-list .text-suggestion em {
- font-style: italic;
- text-decoration: none; }
- .openerp.oe_tooltip {
- font-size: 12px; }
- .openerp.oe_tooltip .oe_tooltip_string {
- color: #ffdd55;
- font-weight: bold;
- font-size: 13px; }
- .openerp.oe_tooltip .oe_tooltip_help {
- white-space: pre-wrap; }
- .openerp.oe_tooltip .oe_tooltip_technical {
- padding: 0 0 4px 0;
- margin: 5px 0 0 15px; }
- .openerp.oe_tooltip .oe_tooltip_technical li {
- list-style: circle; }
- .openerp.oe_tooltip .oe_tooltip_technical_title {
- font-weight: bold; }
- .openerp.oe_tooltip .oe_tooltip_close {
- margin: -5px 0 0 2px;
- cursor: default;
- float: right;
- color: white; }
- .openerp.oe_tooltip .oe_tooltip_close:hover {
- color: #999999;
- cursor: pointer; }
- .openerp.oe_tooltip .oe_tooltip_message {
- max-width: 310px; }
- .openerp .oe_notebook {
- margin: 8px 0;
- padding: 0 16px;
- list-style: none;
- zoom: 1; }
- .openerp .oe_notebook.ui-corner-all {
- -moz-border-radius: 0;
- -webkit-border-radius: 0;
- border-radius: 0; }
- .openerp .oe_notebook:before, .openerp .oe_notebook:after {
- display: table;
- content: "";
- zoom: 1; }
- .openerp .oe_notebook:after {
- clear: both; }
- .openerp .oe_notebook > li {
- float: left; }
- .openerp .oe_notebook > li > a {
- display: block;
- color: #4c4c4c; }
- .openerp .oe_notebook {
- border-color: #dddddd;
- border-style: solid;
- border-width: 0 0 1px; }
- .openerp .oe_notebook > li {
- position: relative; }
- .openerp .oe_notebook > li > a {
- padding: 0 12px;
- margin-right: 2px;
- line-height: 30px;
- border: 1px solid transparent;
- -moz-border-radius: 4px 4px 0 0;
- -webkit-border-radius: 4px 4px 0 0;
- border-radius: 4px 4px 0 0; }
- .openerp .oe_notebook > li > a:hover {
- text-decoration: none;
- background-color: #eeeeee;
- border-color: #eeeeee #eeeeee #dddddd; }
- .openerp .oe_notebook > li.ui-state-active > a, .openerp .oe_notebook > li.ui-state-active > a:hover {
- background-color: white;
- border: 1px solid #dddddd;
- border-bottom-color: transparent;
- cursor: default; }
- .openerp .oe_notebook_page {
- padding: 0; }
- .openerp div.ui-tabs {
- padding: 3px 0px 3px 0px; }
- .openerp .ui-tabs-hide {
- display: none; }
- .openerp .oe_dropdown, .openerp .oe_dropdown_hover, .openerp .oe_dropdown_toggle {
- position: relative;
- cursor: pointer; }
- .openerp .oe_dropdown_toggle {
- color: rgba(0, 0, 0, 0.5);
- font-weight: normal; }
- .openerp .oe_dropdown_hover:hover .oe_dropdown_menu, .openerp .oe_dropdown_menu.oe_opened {
- display: block; }
- .openerp .oe_dropdown_menu {
- display: none;
- position: absolute;
- top: 26px;
- left: 0;
- z-index: 3;
- margin: 0;
- padding: 0;
- border: 1px solid #afafb6;
- background: white;
- padding: 4px 0;
- min-width: 140px;
- text-align: left;
- -moz-border-radius: 3px;
- -webkit-border-radius: 3px;
- border-radius: 3px;
- -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
- -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
- box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3); }
- .openerp .oe_dropdown_menu > li {
- list-style-type: none;
- float: none;
- display: block;
- position: relative;
- margin: 0;
- padding: 2px 8px; }
- .openerp .oe_dropdown_menu > li:hover {
- background-color: #f0f0fa;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#f0f0fa), to(#eeeef6));
- background-image: -webkit-linear-gradient(top, #f0f0fa, #eeeef6);
- background-image: -moz-linear-gradient(top, #f0f0fa, #eeeef6);
- background-image: -ms-linear-gradient(top, #f0f0fa, #eeeef6);
- background-image: -o-linear-gradient(top, #f0f0fa, #eeeef6);
- background-image: linear-gradient(to bottom, #f0f0fa, #eeeef6);
- -moz-box-shadow: none;
- -webkit-box-shadow: none;
- box-shadow: none; }
- .openerp .oe_dropdown_menu > li > a {
- white-space: nowrap;
- display: block;
- color: #4c4c4c;
- text-decoration: none; }
- .openerp .oe_dropdown_menu > li > a:hover {
- text-decoration: none; }
- .openerp .oe_dropdown_arrow:after {
- width: 0;
- height: 0;
- display: inline-block;
- content: "&darr";
- text-indent: -99999px;
- vertical-align: top;
- margin-top: 8px;
- margin-left: 3px;
- border-left: 4px solid transparent;
- border-right: 4px solid transparent;
- border-top: 4px solid #404040;
- filter: alpha(opacity=50);
- opacity: 0.5; }
- .openerp .oe_sidebar {
- white-space: nowrap; }
- .openerp .oe_sidebar .oe_dropdown_menu .oe_sidebar_add_attachment {
- height: 20px;
- cursor: pointer;
- padding-left: 6px;
- margin-top: 6px; }
- .openerp .oe_sidebar .oe_dropdown_menu .oe_sidebar_add_attachment span {
- font-weight: bold; }
- .openerp .oe_sidebar .oe_dropdown_menu .oe_sidebar_add_attachment .oe_hidden_input_file {
- width: 200px; }
- .openerp .oe_sidebar .oe_dropdown_menu .oe_sidebar_add_attachment:hover {
- background-color: #f0f0fa;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#f0f0fa), to(#eeeef6));
- background-image: -webkit-linear-gradient(top, #f0f0fa, #eeeef6);
- background-image: -moz-linear-gradient(top, #f0f0fa, #eeeef6);
- background-image: -ms-linear-gradient(top, #f0f0fa, #eeeef6);
- background-image: -o-linear-gradient(top, #f0f0fa, #eeeef6);
- background-image: linear-gradient(to bottom, #f0f0fa, #eeeef6);
- -moz-box-shadow: none;
- -webkit-box-shadow: none;
- box-shadow: none; }
- .openerp .oe_sidebar .oe_dropdown_menu li .oe_sidebar_delete_item {
- position: absolute;
- top: 4px;
- right: 4px;
- display: none;
- width: 12px;
- height: 12px;
- padding: 1px;
- color: #8786b7;
- line-height: 8px;
- text-align: center;
- font-weight: bold;
- text-shadow: 0 1px 1px white; }
- .openerp .oe_sidebar .oe_dropdown_menu li .oe_sidebar_delete_item:hover {
- text-decoration: none;
- color: white;
- background: #8786b7;
- text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
- -moz-border-radius: 2px;
- -webkit-border-radius: 2px;
- border-radius: 2px; }
- .openerp .oe_sidebar .oe_dropdown_menu li:hover .oe_sidebar_delete_item {
- display: inline-block; }
- .openerp .oe_loading {
- display: none;
- z-index: 100;
- position: fixed;
- top: 0;
- right: 50%;
- padding: 4px 12px;
- background: #a61300;
- color: white;
- text-align: center;
- border: 1px solid #990000;
- border-top: none;
- -moz-border-radius-bottomright: 8px;
- -moz-border-radius-bottomleft: 8px;
- border-bottom-right-radius: 8px;
- border-bottom-left-radius: 8px; }
- .openerp .oe_notification {
- z-index: 1050; }
- .openerp .oe_login {
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAYAAADgzO9IAAAAKUlEQVQIHWO8e/fufwYsgAUkJigoiCIF5DMyoYggcUiXgNnBiGQKmAkARpcEQeriln4AAAAASUVORK5CYII=);
- text-align: center;
- font-size: 14px;
- height: 100%; }
- .openerp .oe_login ul, .openerp .oe_login li {
- margin: 0;
- list-style-type: none;
- padding: 0 0 4px 0; }
- .openerp .oe_login button {
- float: right;
- display: inline-block;
- cursor: pointer;
- padding: 6px 16px;
- border: 1px solid #222222;
- color: white;
- margin: 0;
- background-color: #b92020;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#b92020), to(#600606));
- background-image: -webkit-linear-gradient(top, #b92020, #600606);
- background-image: -moz-linear-gradient(top, #b92020, #600606);
- background-image: -ms-linear-gradient(top, #b92020, #600606);
- background-image: -o-linear-gradient(top, #b92020, #600606);
- background-image: linear-gradient(to bottom, #b92020, #600606);
- -moz-border-radius: 4px;
- -webkit-border-radius: 4px;
- border-radius: 4px;
- -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(155, 155, 155, 0.4) inset;
- -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(155, 155, 155, 0.4) inset;
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(155, 155, 155, 0.4) inset; }
- .openerp .oe_login input, .openerp .oe_login select {
- width: 252px;
- font-family: "Lucida Grande", Helvetica, Verdana, Arial;
- border: 1px solid #999999;
- background: whitesmoke;
- -moz-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.4);
- -webkit-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.4);
- box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.4);
- -moz-border-radius: 3px;
- -webkit-border-radius: 3px;
- border-radius: 3px; }
- .openerp .oe_login input {
- margin-bottom: 9px;
- padding: 5px 6px; }
- .openerp .oe_login select {
- padding: 1px; }
- .openerp .oe_login .oe_login_dbpane {
- position: fixed;
- top: 0;
- right: 8px;
- padding: 5px 10px;
- color: #eeeeee;
- border: solid 1px #333333;
- background: #1e1e1e;
- background: rgba(30, 30, 30, 0.94);
- -moz-border-radius: 0 0 8px 8px;
- -webkit-border-radius: 0 0 8px 8px;
- border-radius: 0 0 8px 8px; }
- .openerp .oe_login .oe_login_dbpane input {
- padding: 2px 4px;
- margin: 4px 0; }
- .openerp .oe_login .oe_login_bottom {
- position: absolute;
- top: 50%;
- left: 0;
- right: 0;
- bottom: 0;
- text-shadow: 0 1px 1px #999999;
- background-color: #b41616;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#b41616), to(#600606));
- background-image: -webkit-linear-gradient(top, #b41616, #600606);
- background-image: -moz-linear-gradient(top, #b41616, #600606);
- background-image: -ms-linear-gradient(top, #b41616, #600606);
- background-image: -o-linear-gradient(top, #b41616, #600606);
- background-image: linear-gradient(to bottom, #b41616, #600606); }
- .openerp .oe_login .oe_login_pane {
- position: absolute;
- top: 50%;
- left: 50%;
- margin: -160px -166px;
- border: solid 1px #333333;
- background: #1e1e1e;
- background: rgba(30, 30, 30, 0.94);
- padding: 22px 32px;
- color: #eeeeee;
- text-align: left;
- -moz-border-radius: 8px;
- -webkit-border-radius: 8px;
- border-radius: 8px;
- -moz-box-shadow: 0 0 18px rgba(0, 0, 0, 0.9);
- -webkit-box-shadow: 0 0 18px rgba(0, 0, 0, 0.9);
- box-shadow: 0 0 18px rgba(0, 0, 0, 0.9); }
- .openerp .oe_login .oe_login_pane h2 {
- margin-top: 0;
- font-size: 18px; }
- .openerp .oe_login .oe_login_logo {
- position: absolute;
- top: -70px;
- left: 0;
- width: 100%;
- margin: 0 auto;
- text-align: center; }
- .openerp .oe_login .oe_login_footer {
- position: absolute;
- bottom: -40px;
- left: 0;
- width: 100%;
- text-align: center; }
- .openerp .oe_login .oe_login_footer a {
- color: #eeeeee;
- margin: 0 8px; }
- .openerp .oe_login .oe_login_footer a:hover {
- text-decoration: underline; }
- .openerp .oe_login .oe_login_footer span {
- font-weight: bold;
- font-size: 16px; }
- .openerp .oe_login .oe_login_error_message {
- display: none;
- background-color: #b41616;
- color: #eeeeee;
- padding: 14px 18px;
- margin-top: 15px;
- text-align: center;
- -moz-border-radius: 4px;
- -webkit-border-radius: 4px;
- border-radius: 4px;
- -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.8);
- -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.8);
- box-shadow: 0 1px 4px rgba(0, 0, 0, 0.8); }
- .openerp .oe_login_invalid .oe_login_error_message {
- display: inline-block; }
- .openerp .oe_database_manager {
- background: white;
- color: black;
- text-align: left; }
- .openerp .oe_database_manager .oe_database_manager_menu {
- color: black; }
- .openerp .oe_webclient {
- width: 100%;
- height: 100%;
- border-spacing: 0px; }
- .openerp .oe_content_full_screen .oe_application {
- top: 0;
- left: 0; }
- .openerp .oe_content_full_screen .oe_topbar, .openerp .oe_content_full_screen .oe_leftbar {
- display: none; }
- .openerp .oe_topbar {
- width: 100%;
- height: 32px;
- background-color: #414141;
- background-color: #646060;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#646060), to(#262626));
- background-image: -webkit-linear-gradient(top, #646060, #262626);
- background-image: -moz-linear-gradient(top, #646060, #262626);
- background-image: -ms-linear-gradient(top, #646060, #262626);
- background-image: -o-linear-gradient(top, #646060, #262626);
- background-image: linear-gradient(to bottom, #646060, #262626); }
- .openerp .oe_topbar .oe_topbar_item {
- display: block;
- padding: 5px 10px 7px;
- line-height: 20px;
- height: 20px;
- text-decoration: none;
- color: #eeeeee;
- vertical-align: top;
- text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
- -webkit-transition: all 0.2s ease-out;
- -moz-transition: all 0.2s ease-out;
- -ms-transition: all 0.2s ease-out;
- -o-transition: all 0.2s ease-out;
- transition: all 0.2s ease-out; }
- .openerp .oe_topbar .oe_topbar_item:hover {
- background: rgba(0, 0, 0, 0.2);
- text-shadow: black 0px 0px 3px;
- color: white;
- -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4) inset;
- -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4) inset;
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4) inset; }
- .openerp .oe_topbar .oe_topbar_avatar {
- width: 24px;
- height: 24px;
- margin: -2px 2px 0 0;
- -moz-border-radius: 3px;
- -webkit-border-radius: 3px;
- border-radius: 3px; }
- .openerp .oe_topbar .oe_topbar_avatar {
- vertical-align: top; }
- .openerp .oe_topbar .oe_dropdown_arrow:after {
- border-top: 4px solid white; }
- .openerp .oe_topbar .oe_dropdown_menu {
- top: 32px;
- background: #333333;
- background: rgba(37, 37, 37, 0.9);
- border-color: #999999;
- border-color: rgba(0, 0, 0, 0.2);
- border-style: solid;
- border-width: 0 1px 1px;
- -moz-border-radius: 0 0 6px 6px;
- -webkit-border-radius: 0 0 6px 6px;
- border-radius: 0 0 6px 6px;
- -webkit-background-clip: padding-box;
- -moz-background-clip: padding-box;
- background-clip: padding-box; }
- .openerp .oe_topbar .oe_dropdown_menu li {
- float: none;
- padding: 3px 12px; }
- .openerp .oe_topbar .oe_dropdown_menu li a {
- color: #eeeeee; }
- .openerp .oe_topbar .oe_dropdown_menu li:hover {
- background-color: #292929;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#292929), to(#191919));
- background-image: -webkit-linear-gradient(top, #292929, #191919);
- background-image: -moz-linear-gradient(top, #292929, #191919);
- background-image: -ms-linear-gradient(top, #292929, #191919);
- background-image: -o-linear-gradient(top, #292929, #191919);
- background-image: linear-gradient(to bottom, #292929, #191919);
- -moz-box-shadow: none;
- -webkit-box-shadow: none;
- box-shadow: none; }
- .openerp .oe_menu {
- float: left;
- padding: 0;
- margin: 0;
- font-size: 13px; }
- .openerp .oe_menu > li {
- list-style-type: none;
- padding: 0;
- margin: 0;
- float: left;
- display: block;
- color: #eeeeee; }
- .openerp .oe_menu > li > a {
- display: block;
- padding: 5px 10px 7px;
- line-height: 20px;
- height: 20px;
- text-decoration: none;
- color: #eeeeee;
- vertical-align: top;
- text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
- -webkit-transition: all 0.2s ease-out;
- -moz-transition: all 0.2s ease-out;
- -ms-transition: all 0.2s ease-out;
- -o-transition: all 0.2s ease-out;
- transition: all 0.2s ease-out; }
- .openerp .oe_menu > li > a:hover {
- background: rgba(0, 0, 0, 0.2);
- text-shadow: black 0px 0px 3px;
- color: white;
- -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4) inset;
- -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4) inset;
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4) inset; }
- .openerp .oe_menu > li > .oe_active {
- background: rgba(0, 0, 0, 0.3);
- text-shadow: black 0px 0px 3px;
- -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4) inset;
- -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4) inset;
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4) inset; }
- .openerp .oe_user_menu {
- float: right;
- padding: 0;
- margin: 0; }
- .openerp .oe_user_menu li {
- list-style-type: none;
- float: left; }
- .openerp .oe_user_menu .oe_dropdown_menu {
- right: -1px; }
- .openerp .oe_systray > div {
- float: left;
- padding: 0 4px 0 4px; }
- .openerp .oe_systray {
- float: right; }
- .openerp .oe_leftbar {
- display: none;
- width: 220px;
- background: #f0eeee;
- border-right: 1px solid #afafb6;
- text-shadow: 0 1px 1px white;
- padding-bottom: 16px; }
- .openerp a.oe_logo {
- width: 220px;
- display: block;
- text-align: center;
- height: 70px;
- line-height: 70px; }
- .openerp a.oe_logo img {
- height: 40px;
- width: 157px;
- margin: 14px 0; }
- .openerp .oe_footer {
- position: fixed;
- bottom: 0;
- padding: 4px 0;
- background: #f0eeee;
- width: 220px;
- text-align: center; }
- .openerp .oe_footer a {
- font-weight: 800;
- font-family: serif;
- font-size: 16px;
- color: black; }
- .openerp .oe_footer a span {
- color: #c81010;
- font-style: italic; }
- .openerp .oe_secondary_menu_section {
- font-weight: bold;
- margin-left: 8px;
- color: #7c7bad; }
- .openerp .oe_secondary_submenu {
- padding: 2px 0 8px 0;
- margin: 0;
- width: 100%;
- display: inline-block; }
- .openerp .oe_secondary_submenu li {
- position: relative;
- margin: 0;
- padding: 1px 0 1px 20px !important;
- list-style-type: none; }
- .openerp .oe_secondary_submenu li a {
- display: block;
- color: #4c4c4c;
- padding: 2px 4px 2px 0; }
- .openerp .oe_secondary_submenu li .oe_menu_label {
- position: absolute;
- top: 1px;
- right: 1px;
- font-size: 10px;
- background: #7c7bad;
- color: white;
- padding: 2px 4px;
- margin: 1px 6px 0 0;
- border: 1px solid lightGray;
- text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
- -moz-border-radius: 4px;
- -webkit-border-radius: 4px;
- border-radius: 4px;
- -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.2);
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.2);
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.2); }
- .openerp .oe_secondary_submenu .oe_menu_counter {
- float: right;
- text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
- margin: 1px;
- padding: 1px 4px;
- border: none; }
- .openerp .oe_secondary_submenu .oe_menu_counter:hover {
- cursor: pointer;
- -webkit-transform: scale(1.1);
- -moz-transform: scale(1.1);
- -ms-transform: scale(1.1);
- -o-transform: scale(1.1);
- transform: scale(1.1); }
- .openerp .oe_secondary_submenu .oe_active {
- border-top: 1px solid lightGray;
- border-bottom: 1px solid #dedede;
- text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
- -moz-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.2), inset 0 -1px 3px rgba(40, 40, 40, 0.2);
- -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.2), inset 0 -1px 3px rgba(40, 40, 40, 0.2);
- box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.2), inset 0 -1px 3px rgba(40, 40, 40, 0.2);
- background: #7c7bad; }
- .openerp .oe_secondary_submenu .oe_active a {
- color: white; }
- .openerp .oe_secondary_submenu .oe_active .oe_menu_label {
- background: #eeeeee;
- color: #7c7bad;
- text-shadow: 0 1px 1px white;
- -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
- -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
- box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2); }
- .openerp .oe_secondary_submenu .oe_active .oe_menu_counter {
- background: #eeeeee;
- color: #7c7bad;
- -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
- -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
- box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2); }
- .openerp .oe_secondary_submenu .oe_menu_toggler:before {
- width: 0;
- height: 0;
- display: inline-block;
- content: "&darr";
- text-indent: -99999px;
- vertical-align: top;
- margin-left: -12px;
- margin-top: 4px;
- margin-right: 4px;
- border-top: 4px solid transparent;
- border-bottom: 4px solid transparent;
- border-left: 4px solid #4c4c4c;
- filter: alpha(opacity=50);
- opacity: 0.5; }
- .openerp .oe_secondary_submenu .oe_menu_opened:before {
- margin-top: 6px;
- margin-left: -16px;
- margin-right: 4px;
- border-left: 4px solid transparent;
- border-right: 4px solid transparent;
- border-top: 4px solid #4c4c4c; }
- .openerp .oe_about {
- background-color: white;
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAYAAADgzO9IAAAAKUlEQVQIHWO8e/fufwYsgAUkJigoiCIF5DMyoYggcUiXgNnBiGQKmAkARpcEQeriln4AAAAASUVORK5CYII=);
- -moz-border-radius: 0 0 2px 2px;
- -webkit-border-radius: 0 0 2px 2px;
- border-radius: 0 0 2px 2px; }
- .openerp .oe_about a {
- color: #7c7bad; }
- .openerp .oe_about a:hover {
- text-decoration: underline; }
- .openerp .oe_about a:focus {
- outline: none; }
- .openerp .oe_about .oe_logo {
- margin-left: -6px; }
- .openerp .oe_about .oe_bottom {
- position: absolute;
- top: 50%;
- left: 0;
- right: 0;
- bottom: 0;
- text-shadow: 0 1px 1px #999999;
- background-color: #b41616;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#b41616), to(#600606));
- background-image: -webkit-linear-gradient(top, #b41616, #600606);
- background-image: -moz-linear-gradient(top, #b41616, #600606);
- background-image: -ms-linear-gradient(top, #b41616, #600606);
- background-image: -o-linear-gradient(top, #b41616, #600606);
- background-image: linear-gradient(to bottom, #b41616, #600606);
- color: #eeeeee;
- padding: 0 16px;
- -moz-border-radius: 0 0 2px 2px;
- -webkit-border-radius: 0 0 2px 2px;
- border-radius: 0 0 2px 2px; }
- .openerp .oe_about .oe_bottom a {
- color: #eeeeee; }
- .openerp .oe_application {
- width: 100%; }
- .openerp .oe_application a {
- color: #7c7bad; }
- .openerp .oe_application a:hover {
- text-decoration: underline; }
- .openerp .oe_application > div {
- height: 100%; }
- .openerp .oe_application .oe_breadcrumb_item:not(:last-child) {
- display: inline-block;
- max-width: 7em;
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis; }
- .openerp .oe_view_manager .oe_view_manager_body {
- height: inherit; }
- .openerp .oe_view_manager .oe_view_manager_view_kanban {
- height: inherit; }
- .openerp .oe_view_manager table.oe_view_manager_header {
- width: 100%;
- table-layout: fixed; }
- .openerp .oe_view_manager table.oe_view_manager_header .oe_header_row {
- clear: both;
- text-shadow: 0 1px 1px white; }
- .openerp .oe_view_manager table.oe_view_manager_header .oe_header_row:last-child td {
- padding-top: 0; }
- .openerp .oe_view_manager table.oe_view_manager_header .oe_header_row:first-child td {
- padding-top: 8px; }
- .openerp .oe_view_manager table.oe_view_manager_header .oe_view_manager_sidebar {
- margin: 0px auto;
- text-align: center; }
- .openerp .oe_view_manager table.oe_view_manager_header td {
- line-height: 26px; }
- .openerp .oe_view_manager table.oe_view_manager_header h2 {
- font-size: 18px;
- margin: 0;
- float: left; }
- .openerp .oe_view_manager table.oe_view_manager_header h2 a {
- color: #7c7bad; }
- .openerp .oe_view_manager table.oe_view_manager_header .oe_dropdown_menu {
- line-height: normal; }
- .openerp .oe_view_manager table.oe_view_manager_header .oe_button_group {
- display: inline-block;
- border: 1px solid #ababab;
- -moz-border-radius: 5px;
- -webkit-border-radius: 5px;
- border-radius: 5px; }
- .openerp .oe_view_manager table.oe_view_manager_header .oe_button_group li {
- float: left;
- border-right: 1px solid #ababab; }
- .openerp .oe_view_manager table.oe_view_manager_header .oe_button_group li:last-child {
- border: none; }
- .openerp .oe_view_manager table.oe_view_manager_header .oe_button_group a {
- color: #4c4c4c; }
- .openerp .oe_view_manager table.oe_view_manager_header .oe_button_group a:hover {
- text-decoration: none; }
- .openerp .oe_view_manager table.oe_view_manager_header .oe_button_group .active {
- background: #999999;
- -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3) inset;
- -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3) inset;
- box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3) inset; }
- .openerp .oe_view_manager table.oe_view_manager_header .oe_button_group .active a {
- color: white;
- text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4); }
- .openerp .oe_view_manager table.oe_view_manager_header .oe_view_manager_buttons {
- white-space: nowrap; }
- .openerp .oe_view_manager .oe_view_manager_pager {
- line-height: 26px; }
- .openerp .oe_view_manager .oe_view_manager_pager .oe_list_pager_single_page .oe_pager_group {
- display: none; }
- .openerp .oe_view_manager .oe_pager_value {
- float: left;
- margin-right: 8px; }
- .openerp .oe_view_manager ul.oe_pager_group {
- padding: 0;
- margin: 0; }
- .openerp .oe_view_manager .oe_pager_group {
- float: left;
- height: 24px;
- line-height: 24px;
- display: inline-block;
- border: 1px solid #ababab;
- cursor: pointer;
- -moz-border-radius: 5px;
- -webkit-border-radius: 5px;
- border-radius: 5px; }
- .openerp .oe_view_manager .oe_pager_group li {
- height: 24px;
- line-height: 24px;
- padding: 0;
- margin: 0;
- list-style-type: none;
- float: left;
- border-right: 1px solid #ababab; }
- .openerp .oe_view_manager .oe_pager_group li:last-child {
- border: none; }
- .openerp .oe_view_manager .oe_pager_group a {
- color: #4c4c4c;
- padding: 0 8px; }
- .openerp .oe_view_manager .oe_pager_group a:hover {
- text-decoration: none; }
- .openerp .oe_view_manager .oe_pager_group .active {
- background: #999999;
- -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3) inset;
- -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3) inset;
- box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3) inset; }
- .openerp .oe_view_manager .oe_pager_group .active a {
- color: white;
- text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4); }
- .openerp .oe_view_manager .oe_view_manager_switch {
- padding: 0;
- margin: 0 0 0 8px; }
- .openerp .oe_view_manager .oe_view_manager_switch li {
- margin: 0;
- width: 24px;
- height: 24px;
- line-height: 16px;
- padding: 0;
- text-align: center;
- list-style-type: none; }
- .openerp .oe_view_manager .oe_view_manager_switch li a {
- position: relative; }
- .openerp .oe_view_manager .oe_view_manager_switch .oe_vm_switch_list:after, .openerp .oe_view_manager .oe_view_manager_switch .oe_vm_switch_tree:after {
- padding: 2px;
- content: "i"; }
- .openerp .oe_view_manager .oe_view_manager_switch .oe_vm_switch_form:after {
- content: "m"; }
- .openerp .oe_view_manager .oe_view_manager_switch .oe_vm_switch_graph:after {
- font-family: "mnmliconsRegular" !important;
- font-size: 21px;
- font-weight: 300 !important;
- content: "}";
- top: -2px;
- position: relative; }
- .openerp .oe_view_manager .oe_view_manager_switch .oe_vm_switch_gantt:after {
- font-family: "mnmliconsRegular" !important;
- font-size: 21px;
- font-weight: 300 !important;
- content: "y";
- top: -2px;
- position: relative; }
- .openerp .oe_view_manager .oe_view_manager_switch .oe_vm_switch_calendar:after {
- content: "P"; }
- .openerp .oe_view_manager .oe_view_manager_switch .oe_vm_switch_kanban:after {
- content: "k"; }
- .openerp .oe_view_manager .oe_view_manager_switch .oe_vm_switch_diagram:after {
- content: "f"; }
- .openerp .oe_view_manager_current {
- height: 100%; }
- .openerp .oe_view_manager_current > .oe_view_manager_header {
- border-bottom: 1px solid #cacaca;
- background-color: #fcfcfc;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#fcfcfc), to(#dedede));
- background-image: -webkit-linear-gradient(top, #fcfcfc, #dedede);
- background-image: -moz-linear-gradient(top, #fcfcfc, #dedede);
- background-image: -ms-linear-gradient(top, #fcfcfc, #dedede);
- background-image: -o-linear-gradient(top, #fcfcfc, #dedede);
- background-image: linear-gradient(to bottom, #fcfcfc, #dedede);
- -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.4), 0 0 9px rgba(0, 0, 0, 0.1);
- -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.4), 0 0 9px rgba(0, 0, 0, 0.1);
- box-shadow: 0 1px 0 rgba(255, 255, 255, 0.4), 0 0 9px rgba(0, 0, 0, 0.1); }
- .openerp .oe_view_manager_current > .oe_view_manager_header .oe_header_row td {
- padding: 8px; }
- .openerp .oe_view_manager_current > .oe_view_manager_header .oe_header_row:first-child td {
- padding-top: 8px; }
- .openerp .oe_view_manager_inline, .openerp .oe_view_manager_inlineview {
- height: 100%; }
- .openerp .oe_view_manager_inline > .oe_view_manager_header, .openerp .oe_view_manager_inlineview > .oe_view_manager_header {
- display: none; }
- .openerp .oe_popup_form > .oe_formview > .oe_form_pager {
- display: none !important; }
- .openerp .oe_searchview {
- cursor: text;
- position: relative;
- float: right;
- padding: 1px 0;
- line-height: 18px;
- width: 400px;
- border: 1px solid #ababab;
- background: white;
- -moz-border-radius: 13px;
- -webkit-border-radius: 13px;
- border-radius: 13px;
- -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) inset;
- -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) inset;
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) inset; }
- .openerp .oe_searchview input, .openerp .oe_searchview textarea {
- padding: 3px;
- height: 14px;
- font-size: 12px;
- line-height: 18px; }
- .openerp .oe_searchview.oe_focused {
- border-color: #a6a6fe;
- -moz-box-shadow: 0 1px 2px #a6a6fe inset;
- -webkit-box-shadow: 0 1px 2px #a6a6fe inset;
- box-shadow: 0 1px 2px #a6a6fe inset; }
- .openerp .oe_searchview .oe_searchview_clear {
- cursor: pointer;
- position: absolute;
- top: 0;
- right: 18px;
- width: 15px;
- height: 100%;
- background: url(../img/search_reset.gif) center center no-repeat; }
- .openerp .oe_searchview .oe_searchview_unfold_drawer {
- position: absolute;
- top: 0;
- right: 0;
- height: 100%;
- padding: 0 7px 0 4px;
- color: #cccccc;
- cursor: pointer; }
- .openerp .oe_searchview .oe_searchview_unfold_drawer:hover {
- color: #999999; }
- .openerp .oe_searchview .oe_searchview_unfold_drawer:before {
- position: absolute;
- top: 10px;
- right: 7px;
- width: 0;
- height: 0;
- display: inline-block;
- content: "";
- vertical-align: top;
- border-top: 5px solid #4c4c4c;
- border-left: 5px solid transparent;
- border-right: 5px solid transparent;
- filter: alpha(opacity=50);
- opacity: 0.5; }
- .openerp .oe_searchview .oe_searchview_search {
- font-size: 1px;
- letter-spacing: -1px;
- color: transparent;
- font-weight: normal;
- -moz-box-shadow: none;
- -webkit-box-shadow: none;
- box-shadow: none;
- -moz-border-radius: 0;
- -webkit-border-radius: 0;
- border-radius: 0;
- position: absolute;
- left: 3px;
- top: 1px;
- padding: 0;
- border: none;
- background: transparent; }
- .openerp .oe_searchview .oe_searchview_search:before {
- font: 21px "mnmliconsRegular";
- content: "r";
- color: #a3a3a3; }
- .openerp .oe_searchview .oe_searchview_facets {
- min-height: 22px;
- margin-left: 15px; }
- .openerp .oe_searchview .oe_searchview_facets * {
- vertical-align: top;
- display: inline-block;
- line-height: 17px; }
- .openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet {
- height: 18px;
- margin: 1px 0;
- font-size: 11px; }
- .openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet:focus {
- outline: none; }
- .openerp .oe_searchview .oe_searchview_facets .oe_searchview_input {
- padding: 0 0 0 6px;
- font-size: 12px;
- height: 16px;
- margin-top: 3px; }
- .openerp .oe_searchview .oe_searchview_facets .oe_searchview_input:focus {
- outline: none; }
- .openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet {
- position: relative;
- cursor: pointer;
- padding: 0;
- -webkit-font-smoothing: auto; }
- .openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet:focus {
- border-color: #a6a6fe;
- -moz-box-shadow: 0 0 3px 1px #a6a6fe;
- -webkit-box-shadow: 0 0 3px 1px #a6a6fe;
- box-shadow: 0 0 3px 1px #a6a6fe; }
- .openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet .oe_facet_values {
- background: #f0f0fa;
- -moz-border-radius: 0 3px 3px 0;
- -webkit-border-radius: 0 3px 3px 0;
- border-radius: 0 3px 3px 0; }
- .openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet .oe_facet_category, .openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet .oe_facet_value {
- height: 18px;
- padding: 0 4px; }
- .openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet .oe_facet_category {
- color: white;
- text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4); }
- .openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet .oe_facet_category.oe_i {
- font-size: 16px; }
- .openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet .oe_facet_value {
- border-left: 1px solid #afafb6;
- text-shadow: 0 1px 1px white;
- color: #4c4c4c; }
- .openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet .oe_facet_value:last-child {
- padding-right: 16px; }
- .openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet .oe_facet_remove {
- position: absolute;
- top: 3px;
- right: 3px;
- color: #8786b7;
- line-height: 8px;
- width: 12px;
- height: 12px;
- padding-top: 1px;
- text-align: center;
- font-weight: bold;
- cursor: pointer;
- text-shadow: 0 1px 1px white; }
- .openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet .oe_facet_remove:hover {
- color: white;
- background: #8786b7;
- text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
- -moz-border-radius: 2px;
- -webkit-border-radius: 2px;
- border-radius: 2px; }
- .openerp .oe_searchview.oe_searchview_open_drawer .oe_searchview_drawer {
- display: block; }
- .openerp .oe_searchview .oe_searchview_drawer {
- position: absolute;
- z-index: 100;
- margin-top: 4px;
- top: 100%;
- right: -1px;
- background-color: white;
- min-width: 100%;
- display: none;
- border: 1px solid #afafb6;
- text-align: left;
- -moz-border-radius: 4px;
- -webkit-border-radius: 4px;
- border-radius: 4px;
- -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
- -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
- box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3); }
- .openerp .oe_searchview .oe_searchview_drawer > div {
- border-top: 1px solid #cccccc;
- margin: 0;
- padding: 8px; }
- .openerp .oe_searchview .oe_searchview_drawer > div:first-child {
- border-top: none;
- margin: 0; }
- .openerp .oe_searchview .oe_searchview_drawer h3 {
- margin: 8px 4px 4px 12px;
- color: #7c7bad;
- font-size: 13px; }
- .openerp .oe_searchview .oe_searchview_drawer h4, .openerp .oe_searchview .oe_searchview_drawer h4 * {
- margin: 0;
- cursor: pointer;
- font-weight: normal;
- display: inline-block; }
- .openerp .oe_searchview .oe_searchview_drawer h4:hover, .openerp .oe_searchview .oe_searchview_drawer h4 *:hover {
- background-color: #f0f0fa; }
- .openerp .oe_searchview .oe_searchview_drawer h4:before {
- content: "▸ ";
- color: #a3a3a3; }
- .openerp .oe_searchview .oe_searchview_drawer button {
- margin: 4px 0; }
- .openerp .oe_searchview .oe_searchview_drawer .button {
- border: none;
- background: transparent;
- padding: 0 2px;
- -moz-box-shadow: none;
- -webkit-box-shadow: none;
- box-shadow: none;
- -moz-border-radius: 0;
- -webkit-border-radius: 0;
- border-radius: 0; }
- .openerp .oe_searchview .oe_searchview_drawer .oe_searchview_section {
- display: table;
- width: 100%; }
- .openerp .oe_searchview .oe_searchview_drawer .oe_searchview_section > div {
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- -ms-box-sizing: border-box;
- box-sizing: border-box;
- display: table-cell;
- width: 50%; }
- .openerp .oe_searchview .oe_searchview_drawer .oe_searchview_section ul {
- margin: 0 8px 8px;
- padding: 0;
- list-style: none; }
- .openerp .oe_searchview .oe_searchview_drawer .oe_searchview_section li {
- list-style: none;
- padding: 2px 4px 2px 20px;
- line-height: 14px;
- color: inherit;
- cursor: pointer;
- position: relative; }
- .openerp .oe_searchview .oe_searchview_drawer .oe_searchview_section li.oe_selected:before {
- content: "W";
- font-family: "entypoRegular" !important;
- font-size: 24px;
- font-weight: 300 !important;
- color: #a3a3a3;
- position: absolute;
- left: 4px;
- top: -2px; }
- .openerp .oe_searchview .oe_searchview_drawer .oe_searchview_section li:hover {
- background-color: #f0f0fa; }
- .openerp .oe_searchview .oe_searchview_drawer form {
- margin-left: 12px; }
- .openerp .oe_searchview .oe_searchview_drawer form p {
- margin: 4px 0;
- line-height: 18px; }
- .openerp .oe_searchview .oe_searchview_drawer form button {
- margin: 0 0 8px 0; }
- .openerp .oe_searchview .oe_searchview_drawer .oe_searchview_custom {
- padding: 0 8px 8px 8px; }
- .openerp .oe_searchview .oe_searchview_drawer .oe_searchview_custom form {
- display: none; }
- .openerp .oe_searchview .oe_searchview_drawer .oe_searchview_custom li {
- cursor: pointer;
- position: relative;
- line-height: 14px;
- padding: 2px 4px 2px 20px; }
- .openerp .oe_searchview .oe_searchview_drawer .oe_searchview_custom li:hover {
- background-color: #f0f0fa; }
- .openerp .oe_searchview .oe_searchview_drawer .oe_searchview_custom li button {
- position: absolute;
- top: 0;
- right: 5px; }
- .openerp .oe_searchview .oe_searchview_drawer .oe_searchview_dashboard form {
- display: none;
- margin-top: 2px; }
- .openerp .oe_searchview .oe_searchview_drawer .oe_searchview_advanced form {
- display: none;
- margin-top: 8px; }
- .openerp .oe_searchview .oe_searchview_drawer .oe_searchview_advanced button.oe_add_condition:before {
- content: "Z";
- font-family: "entypoRegular" !important;
- font-size: 24px;
- font-weight: 300 !important;
- margin-right: 4px; }
- .openerp .oe_searchview .oe_searchview_drawer .oe_searchview_advanced ul {
- list-style: none;
- padding: 0; }
- .openerp .oe_searchview .oe_searchview_drawer .oe_searchview_advanced li {
- position: relative;
- list-style: none;
- margin: 0;
- white-space: nowrap; }
- .openerp .oe_searchview .oe_searchview_drawer .oe_searchview_advanced li:first-child .searchview_extended_prop_or {
- visibility: hidden; }
- .openerp .oe_searchview .oe_searchview_drawer .oe_searchview_advanced .searchview_extended_prop_or {
- opacity: 0.5;
- margin-left: -14px; }
- .openerp .oe_searchview .oe_searchview_drawer .oe_opened h4:before {
- content: "▾ ";
- position: relative;
- top: -1px; }
- .openerp .oe_searchview .oe_searchview_drawer .oe_opened form {
- display: block; }
- .openerp .oe_searchview .oe_searchview_drawer .oe_searchview_custom_delete, .openerp .oe_searchview .oe_searchview_drawer .searchview_extended_delete_prop {
- display: inline-block;
- width: 12px;
- height: 12px;
- line-height: 12px;
- padding: 1px;
- color: #8786b7;
- line-height: 8px;
- text-align: center;
- font-weight: bold;
- text-shadow: 0 1px 1px white; }
- .openerp .oe_searchview .oe_searchview_drawer .oe_searchview_custom_delete:hover, .openerp .oe_searchview .oe_searchview_drawer .searchview_extended_delete_prop:hover {
- text-decoration: none;
- color: white;
- background: #8786b7;
- text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
- -moz-border-radius: 2px;
- -webkit-border-radius: 2px;
- border-radius: 2px; }
- .openerp .oe_searchview .oe_searchview_drawer .oe_searchview_custom_delete {
- display: none;
- position: absolute;
- bottom: 1px;
- right: 4px; }
- .openerp .oe_searchview .oe_searchview_drawer .oe_searchview_custom_private:hover .oe_searchview_custom_delete, .openerp .oe_searchview .oe_searchview_drawer .oe_searchview_custom_public:hover .oe_searchview_custom_delete {
- display: inline-block; }
- .openerp .oe_searchview .oe_searchview_drawer .oe_searchview_custom_public:after {
- content: ",";
- font-family: "entypoRegular" !important;
- font-size: 22px;
- font-weight: 300 !important;
- margin: 0 0 0 4px;
- padding: 0; }
- .openerp .oe_view_nocontent {
- padding: 15px;
- margin-top: 0;
- color: #777777;
- font-size: 125%;
- max-width: 700px; }
- .openerp .oe_view_nocontent .oe_view_nocontent_create {
- background: transparent url(/web/static/src/img/view_empty_arrow.png) no-repeat 7px 0;
- margin-top: 0;
- padding-top: 35px;
- min-height: 28px;
- color: #4c4c4c; }
- .openerp .oe_view_nocontent > p {
- padding-left: 95px; }
- .openerp .oe_view_nocontent .oe_empty_custom_dashboard {
- background: transparent url(/web/static/src/img/graph_background.png) no-repeat 0 0;
- margin-top: -15px;
- padding: 100px 0 0 137px;
- min-height: 327px;
- margin-left: -15px; }
- .openerp .oe_formview {
- background: white; }
- .openerp .oe_form_dropdown_section {
- position: relative;
- display: inline-block; }
- .openerp .oe_form_invalid input, .openerp .oe_form_invalid select, .openerp .oe_form_invalid textarea {
- background-color: #ff6666 !important;
- border: 1px solid #dd0000 !important; }
- .openerp .oe_view_manager_current .oe_form_editable .oe_highlight {
- color: #404040;
- background: none; }
- .openerp .oe_view_manager_current .oe_form_editable button.oe_highlight {
- background-color: #efefef;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#efefef), to(#d8d8d8));
- background-image: -webkit-linear-gradient(top, #efefef, #d8d8d8);
- background-image: -moz-linear-gradient(top, #efefef, #d8d8d8);
- background-image: -ms-linear-gradient(top, #efefef, #d8d8d8);
- background-image: -o-linear-gradient(top, #efefef, #d8d8d8);
- background-image: linear-gradient(to bottom, #efefef, #d8d8d8);
- -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset;
- -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset;
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset; }
- .openerp .oe_view_manager_current .oe_form_editable button.oe_highlight:active {
- background-color: #e3e3e3;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#e3e3e3), to(#f6f6f6));
- background-image: -webkit-linear-gradient(top, #e3e3e3, #f6f6f6);
- background-image: -moz-linear-gradient(top, #e3e3e3, #f6f6f6);
- background-image: -ms-linear-gradient(top, #e3e3e3, #f6f6f6);
- background-image: -o-linear-gradient(top, #e3e3e3, #f6f6f6);
- background-image: linear-gradient(to bottom, #e3e3e3, #f6f6f6);
- -moz-box-shadow: none;
- -webkit-box-shadow: none;
- box-shadow: none; }
- .openerp .oe_view_manager_current .oe_form_editable button.oe_highlight:hover {
- background-color: #f6f6f6;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#f6f6f6), to(#e3e3e3));
- background-image: -webkit-linear-gradient(top, #f6f6f6, #e3e3e3);
- background-image: -moz-linear-gradient(top, #f6f6f6, #e3e3e3);
- background-image: -ms-linear-gradient(top, #f6f6f6, #e3e3e3);
- background-image: -o-linear-gradient(top, #f6f6f6, #e3e3e3);
- background-image: linear-gradient(to bottom, #f6f6f6, #e3e3e3);
- -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset;
- -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset;
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset; }
- .openerp .oe_form_invisible {
- display: none !important; }
- .openerp .oe_form_readonly .oe_edit_only, .openerp .oe_form_readonly .oe_form_field:empty {
- display: none !important; }
- .openerp .oe_form_readonly .oe_form .oe_form_field_date {
- width: auto; }
- .openerp .oe_form_nosheet {
- margin: 16px; }
- .openerp .oe_form_nosheet > header {
- margin: -16px -16px 0 -16px;
- padding: 0; }
- .openerp .oe_form_sheetbg {
- padding: 16px 0; }
- .openerp .oe_form_sheet_width {
- min-width: 650px;
- max-width: 860px;
- margin: 0 auto; }
- .openerp .oe_form_sheet {
- background: white;
- min-height: 330px;
- padding: 16px; }
- .openerp .oe_application .oe_form_sheetbg {
- background: url(/web/static/src/img/form_sheetbg.png);
- border-bottom: 1px solid #dddddd; }
- .openerp .oe_application .oe_form_sheet {
- border: 1px solid #c8c8d3;
- -moz-box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
- -webkit-box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
- box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15); }
- .openerp .oe_application .oe_form_sheet .ui-tabs {
- margin: 0 -16px; }
- .openerp .oe_application .oe_form_sheet .oe_notebook_page {
- padding: 0 16px; }
- .openerp .oe_form header {
- position: relative;
- border-bottom: 1px solid #cacaca;
- padding-left: 2px;
- background-color: #fcfcfc;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#fcfcfc), to(#dedede));
- background-image: -webkit-linear-gradient(top, #fcfcfc, #dedede);
- background-image: -moz-linear-gradient(top, #fcfcfc, #dedede);
- background-image: -ms-linear-gradient(top, #fcfcfc, #dedede);
- background-image: -o-linear-gradient(top, #fcfcfc, #dedede);
- background-image: linear-gradient(to bottom, #fcfcfc, #dedede); }
- .openerp .oe_form header > span {
- margin-left: 4px; }
- .openerp .oe_form header ul {
- display: inline-block;
- float: right; }
- .openerp .oe_form header .oe_button {
- margin: 3px 2px 1px; }
- .openerp .oe_form header .oe_button:first-child {
- margin-left: 6px; }
- .openerp .oe_form header .oe_tags {
- margin: 5px 0 0 5px;
- width: 400px;
- padding-bottom: 0; }
- .openerp .oe_form div.oe_chatter {
- min-width: 650px;
- max-width: 860px;
- margin: 0 auto;
- padding: 16px 0 48px; }
- .openerp .oe_form div.oe_form_configuration p, .openerp .oe_form div.oe_form_configuration ul, .openerp .oe_form div.oe_form_configuration ol {
- color: #aaaaaa;
- max-width: 650px; }
- .openerp .oe_form div.oe_form_configuration label {
- min-width: 150px; }
- .openerp .oe_form div.oe_form_configuration .oe_form_group_cell_label {
- padding: 1px 0; }
- .openerp .oe_form div.oe_form_configuration .oe_form_group_cell div div {
- padding: 1px 0; }
- .openerp .oe_form .oe_subtotal_footer {
- width: 1% !important; }
- .openerp .oe_form .oe_subtotal_footer td.oe_form_group_cell {
- text-align: right;
- padding: 0 !important; }
- .openerp .oe_form .oe_subtotal_footer td.oe_form_group_cell_label {
- border-right: none; }
- .openerp .oe_form .oe_subtotal_footer .oe_subtotal_footer_separator {
- width: 108px;
- border-top: 1px solid #cacaca;
- margin-top: 4px;
- padding-top: 4px;
- font-weight: bold;
- font-size: 18px; }
- .openerp .oe_form .oe_subtotal_footer label:after {
- content: ":"; }
- .openerp .oe_form .oe_subtotal_footer label.oe_subtotal_footer_separator {
- font-weight: bold !important;
- padding: 2px 11px 2px 0px !important; }
- .openerp .oe_form .oe_subtotal_footer label.oe_form_label_help {
- font-weight: normal; }
- .openerp .oe_form .oe_form_button {
- margin: 2px; }
- .openerp .oe_form td.oe_form_group_cell_label {
- border-right: 1px solid #dddddd;
- padding: 2px 0px; }
- .openerp .oe_form td.oe_form_group_cell_label label {
- line-height: 18px;
- display: block;
- min-width: 140px; }
- .openerp .oe_form td.oe_form_group_cell + .oe_form_group_cell {
- padding: 2px 0 2px 8px; }
- .openerp .oe_form .oe_form_group {
- width: 100%;
- margin: 9px 0 9px 0; }
- .openerp .oe_form .oe_form_group .oe_form_group_cell.oe_group_right {
- padding-left: 20px; }
- .openerp .oe_form .oe_form_label_help[for], .openerp .oe_form .oe_form_label[for] {
- font-weight: bold;
- white-space: nowrap;
- padding-right: 8px; }
- .openerp .oe_form .oe_form_label_help[for] span, .openerp .oe_form .oe_form_label[for] span {
- font-size: 80%;
- color: darkGreen;
- vertical-align: top;
- position: relative;
- top: -4px;
- padding: 0 2px; }
- .openerp .oe_horizontal_border {
- border-bottom: 1px solid black; }
- .openerp .oe_horizontal_separator {
- font-weight: bold;
- font-size: 20px;
- margin: 15px 0px 10px 0px;
- color: #7c7bad; }
- .openerp .oe_horizontal_separator:empty {
- height: 5px; }
- .openerp .oe_vertical_separator {
- border-left: 1px solid #666666;
- padding: 0 4px 0 4px; }
- .openerp .oe_form_field_progressbar {
- display: inline-block;
- min-width: 70px; }
- .openerp .oe_form_field_progressbar.ui-progressbar {
- height: 22px;
- font-size: 10px;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- -ms-box-sizing: border-box;
- box-sizing: border-box;
- border: 1px solid #999999;
- -moz-border-radius: 3px;
- -webkit-border-radius: 3px;
- border-radius: 3px;
- background: white;
- min-width: 50px; }
- .openerp .oe_form_field_progressbar.ui-progressbar span {
- position: absolute;
- margin-left: 10px;
- font-weight: bold; }
- .openerp .oe_form_field_progressbar.ui-progressbar .ui-widget-header {
- background: #cccccc url(/web/static/lib/jquery.ui/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x; }
- .openerp .oe_form .oe_form_field_text {
- width: 100%; }
- .openerp .oe_form .oe_form_field_char input,
- .openerp .oe_form .oe_form_field_url input,
- .openerp .oe_form .oe_form_field_email input,
- .openerp .oe_form .oe_form_field_text textarea,
- .openerp .oe_form .oe_form_field_selection select {
- width: 100%; }
- .openerp .oe_form .oe_form_field_text.oe_inline, .openerp .oe_form .oe_form_field_text.oe_inline > textarea {
- width: 500px; }
- .openerp .oe_form h1, .openerp .oe_form h2, .openerp .oe_form h3, .openerp .oe_form h4, .openerp .oe_form h5, .openerp .oe_form h6 {
- margin: 0 0 4px 0; }
- .openerp .oe_form h1 input, .openerp .oe_form h2 input, .openerp .oe_form h3 input, .openerp .oe_form h4 input, .openerp .oe_form h5 input, .openerp .oe_form h6 input {
- height: inherit !important;
- font-size: inherit; }
- .openerp .oe_form .oe_form_field {
- width: 100%;
- display: inline-block;
- padding: 2px 2px 2px 0px; }
- .openerp .oe_form .oe_form_field input {
- margin: 0px; }
- .openerp .oe_form input[type="text"], .openerp .oe_form input[type="password"], .openerp .oe_form input[type="file"], .openerp .oe_form select {
- height: 22px;
- padding-top: 2px; }
- .openerp .oe_form input[type="text"], .openerp .oe_form input[type="password"], .openerp .oe_form input[type="file"], .openerp .oe_form select, .openerp .oe_form textarea {
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- -ms-box-sizing: border-box;
- box-sizing: border-box;
- background: white;
- min-width: 60px;
- color: #1f1f1f; }
- .openerp .oe_form input[readonly], .openerp .oe_form select[readonly], .openerp .oe_form textarea[readonly], .openerp .oe_form input[disabled], .openerp .oe_form select[disabled] {
- background: #e5e5e5 !important;
- color: #666666; }
- .openerp .oe_form textarea[disabled] {
- border: none;
- padding-left: 8px;
- -moz-box-shadow: none;
- -webkit-box-shadow: none;
- box-shadow: none;
- -moz-border-radius: 0px;
- -webkit-border-radius: 0px;
- border-radius: 0px; }
- .openerp .oe_form textarea.oe_inline[disabled] {
- border-left: 8px solid #eeeeee; }
- .openerp .oe_form .oe_form_field_url button img {
- vertical-align: top; }
- .openerp .oe_form .oe_form_field_date,
- .openerp .oe_form .oe_form_field_datetime {
- white-space: nowrap; }
- .openerp .oe_form .oe_form_field_boolean {
- padding-top: 4px;
- width: auto; }
- .openerp .oe_form .oe_datepicker_container {
- display: none; }
- .openerp .oe_form .oe_datepicker_root {
- display: inline-block; }
- .openerp .oe_form .oe_form_required input:not([disabled]):not([readonly]), .openerp .oe_form .oe_form_required select:not([disabled]):not([readonly]), .openerp .oe_form .oe_form_required textarea:not([disabled]):not([readonly]) {
- background-color: #d2d2ff !important; }
- .openerp .oe_form .oe_form_invalid input, .openerp .oe_form .oe_form_invalid select, .openerp .oe_form .oe_form_invalid textarea {
- background-color: #ff6666 !important;
- border: 1px solid #dd0000 !important; }
- .openerp .oe_form .oe_input_icon {
- cursor: pointer;
- margin: 3px 0 0 -21px;
- vertical-align: top; }
- .openerp .oe_form .oe_input_icon_disabled {
- position: absolute;
- cursor: default;
- opacity: 0.5;
- filter: alpha(opacity=50);
- right: 5px;
- top: 3px; }
- .openerp .oe_form .oe_form_field_with_button.oe_no_button > .oe_button {
- display: none; }
- .openerp .oe_form .oe_form_field_with_button:not(.oe_no_button) > .oe_button {
- float: right;
- -moz-border-radius: 0;
- -webkit-border-radius: 0;
- border-radius: 0;
- border-bottom-left-radius: 0px;
- height: 22px; }
- .openerp .oe_form .oe_form_field_with_button input {
- width: 100%; }
- .openerp .oe_form .oe_form_field_with_button > div {
- position: relative;
- overflow: hidden; }
- .openerp .oe_form .oe_form_embedded_html {
- position: relative;
- width: 600px;
- margin-left: 130px;
- margin-top: 32px;
- margin-bottom: 32px;
- text-align: justify; }
- .openerp .oe_form_editable .oe_form .oe_form_field_integer input {
- width: 6em !important; }
- .openerp .oe_form_editable .oe_form .oe_form_field_float input {
- width: 7em !important; }
- .openerp .oe_form_editable .oe_form .oe_form_field_date input {
- width: 7.5em !important; }
- .openerp .oe_form_editable .oe_form .oe_form_field_datetime input {
- width: 11.5em !important; }
- .openerp .oe_hidden_input_file {
- position: relative; }
- .openerp .oe_hidden_input_file input.oe_form_binary_file {
- z-index: 0;
- line-height: 0;
- font-size: 12px;
- position: absolute;
- top: 1px;
- left: 0;
- right: 0;
- opacity: 0;
- filter: alpha(opacity=0);
- -ms-filter: "alpha(opacity=0)";
- margin: 0;
- padding: 0; }
- .openerp .oe_form .oe_form_field_image {
- padding: 0;
- position: relative;
- display: inline-block;
- width: auto;
- vertical-align: top; }
- .openerp .oe_form .oe_form_field_image .oe_form_field_image_controls {
- position: absolute;
- top: 1px;
- padding: 4px;
- width: 100%;
- display: none;
- text-align: center;
- color: #eeeeee;
- background: rgba(37, 37, 37, 0.9);
- -moz-border-radius: 3px 3px 0 0;
- -webkit-border-radius: 3px 3px 0 0;
- border-radius: 3px 3px 0 0;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- -ms-box-sizing: border-box;
- box-sizing: border-box; }
- .openerp .oe_form .oe_form_field_image:hover .oe_form_field_image_controls {
- display: block; }
- .openerp .oe_form_field_many2one td:first-child {
- position: relative; }
- .openerp .oe_form_field_many2one span.oe_m2o_drop_down_button {
- position: absolute;
- top: 2px;
- right: 0px; }
- .openerp .oe_form_field_many2one .oe_m2o_cm_button {
- line-height: 14px;
- float: right;
- padding-left: 2px; }
- .openerp.ui-autocomplete li.oe_m2o_dropdown_option a {
- font-style: italic;
- padding-left: 2em; }
- .openerp.ui-autocomplete li:not(.oe_m2o_dropdown_option) + li.oe_m2o_dropdown_option {
- margin-top: 10px; }
- .openerp ul.oe_form_status, .openerp ul.oe_form_status_clickable {
- display: inline-block;
- margin: 0;
- padding: 0 18px 0 0; }
- .openerp ul.oe_form_status li, .openerp ul.oe_form_status_clickable li {
- display: inline-block;
- list-style-type: none;
- margin: 0 -18px 0 0;
- padding: 0;
- background-color: #fcfcfc;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#fcfcfc), to(#dedede));
- background-image: -webkit-linear-gradient(top, #fcfcfc, #dedede);
- background-image: -moz-linear-gradient(top, #fcfcfc, #dedede);
- background-image: -ms-linear-gradient(top, #fcfcfc, #dedede);
- background-image: -o-linear-gradient(top, #fcfcfc, #dedede);
- background-image: linear-gradient(to bottom, #fcfcfc, #dedede); }
- .openerp ul.oe_form_status li:first-child .label, .openerp ul.oe_form_status_clickable li:first-child .label {
- border-left: 1px solid #cacaca;
- padding-left: 14px; }
- .openerp ul.oe_form_status li:last-child, .openerp ul.oe_form_status_clickable li:last-child {
- border-right: 1px solid #cacaca; }
- .openerp ul.oe_form_status li:last-child .label, .openerp ul.oe_form_status_clickable li:last-child .label {
- padding-right: 14px; }
- .openerp ul.oe_form_status li:last-child .arrow, .openerp ul.oe_form_status_clickable li:last-child .arrow {
- display: none; }
- .openerp ul.oe_form_status li .label, .openerp ul.oe_form_status_clickable li .label {
- color: #4c4c4c;
- text-shadow: 0 1px 1px #fcfcfc, 0 -1px 1px #dedede;
- padding: 7px;
- display: inline-block;
- padding-left: 24px;
- margin: 0;
- position: relative; }
- .openerp ul.oe_form_status li .arrow, .openerp ul.oe_form_status_clickable li .arrow {
- width: 17px;
- display: inline-block;
- vertical-align: top;
- overflow: hidden;
- margin-left: -5px; }
- .openerp ul.oe_form_status li .arrow span, .openerp ul.oe_form_status_clickable li .arrow span {
- position: relative;
- width: 24px;
- height: 24px;
- display: inline-block;
- margin-left: -12px;
- margin-top: 3px;
- box-shadow: -1px 1px 2px rgba(255, 255, 255, 0.2), inset -1px 1px 1px rgba(0, 0, 0, 0.2);
- background-color: #dedede;
- background: -moz-linear-gradient(135deg, #dedede, #fcfcfc);
- background: -o-linear-gradient(135deg, #fcfcfc, #dedede);
- background: -webkit-gradient(linear, left top, right bottom, from(#fcfcfc), to(#dedede));
- -moz-border-radius: 3px;
- -webkit-border-radius: 3px;
- border-radius: 3px;
- -webkit-transform: rotate(45deg);
- -moz-transform: rotate(45deg);
- -ms-transform: rotate(45deg);
- -o-transform: rotate(45deg);
- transform: rotate(45deg); }
- .openerp ul.oe_form_status li.oe_active, .openerp ul.oe_form_status_clickable li.oe_active {
- background-color: #729fcf;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#729fcf), to(#3465a4));
- background-image: -webkit-linear-gradient(top, #729fcf, #3465a4);
- background-image: -moz-linear-gradient(top, #729fcf, #3465a4);
- background-image: -ms-linear-gradient(top, #729fcf, #3465a4);
- background-image: -o-linear-gradient(top, #729fcf, #3465a4);
- background-image: linear-gradient(to bottom, #729fcf, #3465a4); }
- .openerp ul.oe_form_status li.oe_active .arrow span, .openerp ul.oe_form_status_clickable li.oe_active .arrow span {
- background-color: #3465a4;
- background: -moz-linear-gradient(135deg, #3465a4, #729fcf);
- background: -o-linear-gradient(135deg, #729fcf, #3465a4);
- background: -webkit-gradient(linear, left top, right bottom, from(#729fcf), to(#3465a4)); }
- .openerp ul.oe_form_status li.oe_active .label, .openerp ul.oe_form_status_clickable li.oe_active .label {
- color: white;
- text-shadow: 0 1px 1px #729fcf, 0 -1px 1px #3465a4; }
- .openerp ul.oe_form_status_clickable li {
- cursor: pointer; }
- .openerp ul.oe_form_status_clickable li:hover {
- background-color: #e8e8e8;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#cacaca));
- background-image: -webkit-linear-gradient(top, #e8e8e8, #cacaca);
- background-image: -moz-linear-gradient(top, #e8e8e8, #cacaca);
- background-image: -ms-linear-gradient(top, #e8e8e8, #cacaca);
- background-image: -o-linear-gradient(top, #e8e8e8, #cacaca);
- background-image: linear-gradient(to bottom, #e8e8e8, #cacaca); }
- .openerp ul.oe_form_status_clickable li:hover .label {
- text-shadow: 0 -1px 1px #fcfcfc, 0 1px 1px #dedede; }
- .openerp ul.oe_form_status_clickable li:hover .arrow span {
- background-color: #e8e8e8;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#cacaca));
- background-image: -webkit-linear-gradient(top, #e8e8e8, #cacaca);
- background-image: -moz-linear-gradient(top, #e8e8e8, #cacaca);
- background-image: -ms-linear-gradient(top, #e8e8e8, #cacaca);
- background-image: -o-linear-gradient(top, #e8e8e8, #cacaca);
- background-image: linear-gradient(to bottom, #e8e8e8, #cacaca); }
- .openerp ul.oe_form_status_clickable li .label {
- color: #7c7bad; }
- .openerp ul.oe_form_status_clickable li.oe_active:hover {
- background-color: #4c85c2;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#4c85c2), to(#284d7d));
- background-image: -webkit-linear-gradient(top, #4c85c2, #284d7d);
- background-image: -moz-linear-gradient(top, #4c85c2, #284d7d);
- background-image: -ms-linear-gradient(top, #4c85c2, #284d7d);
- background-image: -o-linear-gradient(top, #4c85c2, #284d7d);
- background-image: linear-gradient(to bottom, #4c85c2, #284d7d); }
- .openerp ul.oe_form_status_clickable li.oe_active:hover .label {
- text-shadow: 0 -1px 1px #729fcf, 0 1px 1px #3465a4; }
- .openerp ul.oe_form_status_clickable li.oe_active:hover .arrow span {
- background-color: #284d7d;
- background: -moz-linear-gradient(135deg, #284d7d, #4c85c2);
- background: -o-linear-gradient(135deg, #4c85c2, #284d7d);
- background: -webkit-gradient(linear, left top, right bottom, from(#4c85c2), to(#284d7d)); }
- .openerp .oe_form .oe_form_field_one2many > .oe_view_manager .oe_list_pager_single_page {
- display: none; }
- .openerp .oe_form_field_one2many > .oe_view_manager .oe_list_pager_single_page, .openerp .oe_form_field_many2many > .oe_view_manager .oe_list_pager_single_page {
- display: none !important; }
- .openerp .oe_form_field_one2many .oe_form_field_one2many_list_row_add, .openerp .oe_form_field_many2many .oe_form_field_one2many_list_row_add {
- font-weight: bold; }
- .openerp .oe_form_field_one2many .oe_list_content > thead, .openerp .oe_form_field_many2many .oe_list_content > thead {
- border-bottom: 1px; }
- .openerp .oe_form_field_one2many .oe_list_content > tbody tr:nth-child(odd), .openerp .oe_form_field_many2many .oe_list_content > tbody tr:nth-child(odd) {
- background: transparent; }
- .openerp .oe_form_field_one2many .oe_list .oe_list_edit_row_save, .openerp .oe_form_field_many2many .oe_list .oe_list_edit_row_save {
- background: url(/web/static/src/img/iconset-b-remove.png) 50% 50% no-repeat; }
- .openerp .oe_form_field_one2many .oe_list .oe_list_edit_row_save:before, .openerp .oe_form_field_many2many .oe_list .oe_list_edit_row_save:before {
- visibility: hidden; }
- .openerp .oe_form_field_one2many > .oe_view_manager .oe_header_row_top, .openerp .oe_form_field_many2many > .oe_view_manager .oe_header_row_top {
- display: none; }
- .openerp .oe_form_field_one2many > .oe_view_manager .oe_view_manager_header2 td, .openerp .oe_form_field_many2many > .oe_view_manager .oe_view_manager_header2 td {
- padding: 0px 8px;
- line-height: 16px; }
- .openerp .oe_form_field_one2many > .oe_view_manager .oe_view_manager_header2 td .oe_i, .openerp .oe_form_field_many2many > .oe_view_manager .oe_view_manager_header2 td .oe_i {
- font-size: 13px; }
- .openerp .oe_form_field_one2many > .oe_view_manager .oe_view_manager_header2 td .oe_pager_group, .openerp .oe_form_field_many2many > .oe_view_manager .oe_view_manager_header2 td .oe_pager_group {
- height: auto;
- line-height: 16px; }
- .openerp .oe_form_field_one2many > .oe_view_manager .oe_view_manager_header2 td .oe_pager_group li, .openerp .oe_form_field_many2many > .oe_view_manager .oe_view_manager_header2 td .oe_pager_group li {
- height: auto;
- line-height: 16px; }
- .openerp .oe_form_field_one2many .oe_list_buttons.oe_editing .oe_list_save, .openerp .oe_form_field_many2many .oe_list_buttons.oe_editing .oe_list_save {
- visibility: hidden; }
- .openerp .oe_form_editable .oe_list_editable .oe_list_content td.oe_required {
- background-color: #d2d2ff; }
- .openerp .oe_form_editable .oe_list_editable .oe_list_content td.oe_readonly {
- background-color: #eeeeee; }
- .openerp .oe_list_editable .oe_list_content td.oe_list_field_cell {
- padding: 4px 6px 3px 6px; }
- .openerp .oe_list.oe_list_editable td.oe_list_record_delete {
- position: absolute; }
- .openerp .oe_list.oe_list_editable.oe_editing .oe_edition .oe_list_field_cell:not(.oe_readonly) {
- color: transparent; }
- .openerp .oe_list.oe_list_editable.oe_editing .oe_edition .oe_list_field_cell:not(.oe_readonly) * {
- visibility: hidden; }
- .openerp .oe_list.oe_list_editable.oe_editing .oe_m2o_drop_down_button {
- top: 5px; }
- .openerp .oe_list.oe_list_editable.oe_editing .oe_m2o_cm_button {
- display: none; }
- .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field input, .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field textarea {
- height: 27px; }
- .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field input, .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field textarea {
- -moz-border-radius: 0;
- -webkit-border-radius: 0;
- border-radius: 0;
- border: 1px solid #aaaaff;
- margin: 0; }
- .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_form_field_float input, .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_form_view_integer input {
- text-align: right;
- width: 100% !important; }
- .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_form_field_datetime > span, .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_form_field_date > span {
- width: 100% !important; }
- .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_form_field_datetime input.oe_datepicker_master, .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_form_field_date input.oe_datepicker_master {
- width: 100% !important; }
- .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field .oe_form_field_float, .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field .oe_form_view_integer, .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_form_field_datetime, .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_form_field_date {
- min-width: 0 !important;
- max-width: none !important; }
- .openerp .oe_list_group_name {
- white-space: nowrap; }
- .openerp .oe_form .oe_form_field_many2many > .oe_list .oe_list_pager_single_page {
- display: none; }
- .openerp .oe_list_buttons .oe_alternative {
- visibility: hidden; }
- .openerp .oe_list_buttons .oe_list_save, .openerp .oe_list_buttons .oe_list_discard {
- display: none; }
- .openerp .oe_list_buttons.oe_editing .oe_list_add {
- display: none; }
- .openerp .oe_list_buttons.oe_editing .oe_list_save {
- display: inline-block; }
- .openerp .oe_list_buttons.oe_editing .oe_list_discard {
- display: inline; }
- .openerp .oe_list_buttons.oe_editing .oe_alternative {
- visibility: visible; }
- .openerp .oe_list .oe_form .oe_form_nosheet {
- margin: 0;
- padding: 0;
- border: none; }
- .openerp .oe_list .oe_form .oe_form_field {
- width: auto;
- position: absolute;
- margin: 0 !important;
- padding: 0; }
- .openerp .oe_list .oe_list_content .oe_group_header {
- background-color: #fcfcfc;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#fcfcfc), to(#dedede));
- background-image: -webkit-linear-gradient(top, #fcfcfc, #dedede);
- background-image: -moz-linear-gradient(top, #fcfcfc, #dedede);
- background-image: -ms-linear-gradient(top, #fcfcfc, #dedede);
- background-image: -o-linear-gradient(top, #fcfcfc, #dedede);
- background-image: linear-gradient(to bottom, #fcfcfc, #dedede); }
- .openerp .oe_list_content {
- width: 100%; }
- .openerp .oe_list_content td:first-child:after, .openerp .oe_list_content th:first-child:after {
- border-width: 0; }
- .openerp .oe_list_content td.oe_number {
- text-align: right !important;
- max-width: 100px; }
- .openerp .oe_list_content > thead {
- border-bottom: 2px solid #cacaca;
- background: #eeeeee;
- vertical-align: top; }
- .openerp .oe_list_content td, .openerp .oe_list_content th {
- padding: 3px 6px;
- line-height: 18px; }
- .openerp .oe_list_content th.oe_sortable, .openerp .oe_list_content th.oe_sortable div {
- cursor: pointer; }
- .openerp .oe_list_content th.oe_sortable div {
- position: relative; }
- .openerp .oe_list_content th.oe_sortable div:after {
- position: absolute;
- right: 6px;
- content: "";
- margin-top: 7px;
- border-width: 0 4px 4px;
- border-style: solid;
- border-color: black transparent;
- visibility: hidden; }
- .openerp .oe_list_content th.sortup div:after {
- visibility: visible;
- filter: alpha(opacity=60);
- opacity: 0.6; }
- .openerp .oe_list_content th.sortdown div:after {
- border-bottom: none;
- border-left: 4px solid transparent;
- border-right: 4px solid transparent;
- border-top: 4px solid black;
- visibility: visible;
- -moz-box-shadow: none;
- -webkit-box-shadow: none;
- box-shadow: none;
- filter: alpha(opacity=60);
- opacity: 0.6; }
- .openerp .oe_list_content > tbody {
- cursor: pointer; }
- .openerp .oe_list_content > tbody > tr {
- height: 27px;
- border-top: 1px solid #dddddd; }
- .openerp .oe_list_content > tbody > tr > td.oe_list_field_cell {
- padding: 3px 6px;
- white-space: pre-line; }
- .openerp .oe_list_content > tbody > tr > td > button, .openerp .oe_list_content > tbody > tr > th > button {
- border: none;
- background: transparent;
- padding: 0;
- -moz-box-shadow: none;
- -webkit-box-shadow: none;
- box-shadow: none; }
- .openerp .oe_list_content > tbody > tr > td.oe_list_checkbox:first-child, .openerp .oe_list_content > tbody > tr th.oe_list_checkbox:first-child {
- width: 17px; }
- .openerp .oe_list_content > tbody > tr > td.oe_list_checkbox:first-child:after, .openerp .oe_list_content > tbody > tr th.oe_list_checkbox:first-child:after {
- border-width: 0; }
- .openerp .oe_list_content > tbody > tr:nth-child(odd) {
- background-color: #f0f0fa;
- background-color: #f0f0fa;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#f0f0fa), to(#eeeef6));
- background-image: -webkit-linear-gradient(top, #f0f0fa, #eeeef6);
- background-image: -moz-linear-gradient(top, #f0f0fa, #eeeef6);
- background-image: -ms-linear-gradient(top, #f0f0fa, #eeeef6);
- background-image: -o-linear-gradient(top, #f0f0fa, #eeeef6);
- background-image: linear-gradient(to bottom, #f0f0fa, #eeeef6); }
- .openerp .oe_list_content > tfoot {
- border-top: 2px solid #cacaca;
- border-bottom: 1px solid #cacaca;
- background: #eeeeee;
- font-weight: bold; }
- .openerp .oe_list_content .numeric {
- text-align: right;
- width: 82px; }
- .openerp .oe_list_content .numeric input {
- text-align: right; }
- .openerp .oe_list_content th.oe_list_header_handle {
- font-size: 1px;
- overflow: hidden;
- text-indent: -9001px; }
- .openerp .oe_list_content td.oe_list_field_handle {
- width: 1em;
- padding: 0 !important;
- cursor: ns-resize; }
- .openerp .oe_list_content td.oe_list_field_handle .oe_list_handle {
- font-size: 1px;
- letter-spacing: -1px;
- color: transparent;
- font-weight: normal;
- margin-right: 7px; }
- .openerp .oe_list_content td.oe_list_field_handle .oe_list_handle:before {
- font: 18px "entypoRegular";
- content: "}";
- color: #e0e0e0; }
- .openerp .oe_list_cannot_create .oe_view_nocontent_create {
- display: none; }
- .openerp .oe_list_cannot_edit .oe_list_header_handle, .openerp .oe_list_cannot_edit .oe_list_field_handle {
- display: none !important;
- padding: 0 !important; }
- .openerp .oe_list_cannot_delete .oe_list_record_delete {
- display: none !important; }
- .openerp .tree_header {
- background-color: #f0f0f0;
- border-bottom: 1px solid #cacaca;
- color: #4c4c4c;
- padding: 5px;
- height: 25px; }
- .openerp .tree_header button {
- float: right;
- height: 27px;
- margin-right: 5px; }
- .openerp .oe-treeview-table {
- width: 100%;
- background-color: white;
- border-spacing: 0;
- color: #4c4c4c; }
- .openerp .oe-treeview-table th {
- padding: 10px;
- font-weight: bold;
- background-color: #f0f0f0;
- border-bottom: 2px solid #cacaca; }
- .openerp .oe-treeview-table td {
- cursor: pointer;
- vertical-align: middle;
- text-align: left;
- vertical-align: middle;
- height: 20px;
- padding-left: 4px;
- padding-right: 4px;
- border-right: 1px solid #e7e7e7; }
- .openerp .oe-treeview-table td.oe_number {
- text-align: right !important; }
- .openerp .oe-treeview-table tr {
- border-bottom: 1px solid #d6d6d6; }
- .openerp .oe-treeview-table tr:hover {
- background-color: #e7e7e7; }
- .openerp .oe-treeview-table span {
- font-size: 90%;
- font-weight: normal;
- white-space: nowrap;
- display: block; }
- .openerp .oe-treeview-table .treeview-tr.oe-treeview-first {
- background: transparent url(/web/static/src/img/expand.gif) 0 50% no-repeat; }
- .openerp .oe-treeview-table .oe_open .treeview-tr.oe-treeview-first {
- background-image: url(/web/static/src/img/collapse.gif); }
- .openerp .oe-treeview-table .treeview-tr.oe-treeview-first span, .openerp .oe-treeview-table .treeview-td.oe-treeview-first span {
- margin-left: 16px; }
- .openerp .oe_layout_debugging .oe_form_group {
- outline: 2px dashed green; }
- .openerp .oe_layout_debugging .oe_form_group_cell {
- outline: 1px solid blue; }
- .openerp .oe_layout_debugging .oe_form_group:hover, .openerp .oe_layout_debugging .oe_form_group_cell:hover {
- outline-color: red; }
- .openerp .oe_layout_debugging .oe_form_group_row_incomplete > td:last-child:after {
- content: "[Incomplete Row]";
- background: red;
- padding: 2px;
- font-weight: bold;
- color: white;
- float: right; }
- .openerp .oe_layout_debugging .oe_form_group_row_incomplete.oe_form_group_row_newline > td:last-child:after {
- content: "[newline]"; }
- .openerp .oe_debug_view {
- float: left; }
- .openerp .oe_debug_view_log {
- font-size: 95%; }
- .openerp .oe_debug_view_log label {
- display: block;
- width: 49%;
- text-align: right;
- float: left;
- font-weight: bold;
- color: #000099; }
- .openerp .oe_debug_view_log span {
- display: block;
- width: 49%;
- float: right;
- color: #333333; }
+ */
+}
+.openerp :-moz-placeholder {
+ color: #afafb6 !important;
+ font-style: italic !important;
+}
+.openerp ::-webkit-input-placeholder {
+ color: #afafb6 !important;
+ font-style: italic !important;
+}
+.openerp a {
+ text-decoration: none;
+ cursor: pointer !important;
+}
+.openerp table {
+ padding: 0;
+ border-collapse: collapse;
+}
+.openerp thead {
+ font-weight: bold;
+ background-color: #f0f0f0;
+}
+.openerp thead th {
+ border-left: 1px solid #dfdfdf;
+}
+.openerp thead th:first-child {
+ border-left: none;
+}
+.openerp thead th.null {
+ border-left: none;
+}
+.openerp th, .openerp td {
+ padding: 0;
+ text-align: left;
+}
+.openerp th {
+ font-weight: bold;
+ vertical-align: middle;
+}
+.openerp td {
+ vertical-align: top;
+}
+.openerp .zebra tbody tr:nth-child(odd) td {
+ background-color: #f0f0fa;
+ background-color: #f0f0fa;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#f0f0fa), to(#eeeef6));
+ background-image: -webkit-linear-gradient(top, #f0f0fa, #eeeef6);
+ background-image: -moz-linear-gradient(top, #f0f0fa, #eeeef6);
+ background-image: -ms-linear-gradient(top, #f0f0fa, #eeeef6);
+ background-image: -o-linear-gradient(top, #f0f0fa, #eeeef6);
+ background-image: linear-gradient(to bottom, #f0f0fa, #eeeef6);
+}
+.openerp .zebra tbody tr:hover td {
+ background-color: #eeeeee;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#eeeeee), to(#dedede));
+ background-image: -webkit-linear-gradient(top, #eeeeee, #dedede);
+ background-image: -moz-linear-gradient(top, #eeeeee, #dedede);
+ background-image: -ms-linear-gradient(top, #eeeeee, #dedede);
+ background-image: -o-linear-gradient(top, #eeeeee, #dedede);
+ background-image: linear-gradient(to bottom, #eeeeee, #dedede);
+}
+.openerp input, .openerp textarea, .openerp select {
+ padding: 2px 4px;
+ border: 1px solid #cccccc;
+ -moz-border-radius: 3px;
+ -webkit-border-radius: 3px;
+ border-radius: 3px;
+ background: white;
+}
+.openerp img {
+ vertical-align: middle;
+}
+.openerp h4 {
+ margin: 4px 0;
+}
+.openerp a.button:link, .openerp a.button:visited, .openerp button, .openerp input[type='submit'], .openerp .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button {
+ display: inline-block;
+ border: 1px solid rgba(0, 0, 0, 0.4);
+ color: #4c4c4c;
+ margin: 0;
+ padding: 3px 12px;
+ font-size: 13px;
+ text-align: center;
+ background-color: #efefef;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#efefef), to(#d8d8d8));
+ background-image: -webkit-linear-gradient(top, #efefef, #d8d8d8);
+ background-image: -moz-linear-gradient(top, #efefef, #d8d8d8);
+ background-image: -ms-linear-gradient(top, #efefef, #d8d8d8);
+ background-image: -o-linear-gradient(top, #efefef, #d8d8d8);
+ background-image: linear-gradient(to bottom, #efefef, #d8d8d8);
+ -moz-border-radius: 3px;
+ -webkit-border-radius: 3px;
+ border-radius: 3px;
+ -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset;
+ -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset;
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset;
+ text-shadow: 0 1px 1px rgba(255, 255, 255, 0.5);
+ -webkit-font-smoothing: antialiased;
+ outline: none;
+}
+.openerp a.button:hover, .openerp button:hover, .openerp input[type='submit']:hover, .openerp .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button.ui-state-hover {
+ background-color: #f6f6f6;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#f6f6f6), to(#e3e3e3));
+ background-image: -webkit-linear-gradient(top, #f6f6f6, #e3e3e3);
+ background-image: -moz-linear-gradient(top, #f6f6f6, #e3e3e3);
+ background-image: -ms-linear-gradient(top, #f6f6f6, #e3e3e3);
+ background-image: -o-linear-gradient(top, #f6f6f6, #e3e3e3);
+ background-image: linear-gradient(to bottom, #f6f6f6, #e3e3e3);
+ cursor: pointer;
+ background-position: 0;
+}
+.openerp a.button:focus, .openerp button:focus, .openerp input[type='submit']:focus, .openerp .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button.ui-state-focus {
+ border: 1px solid #80bfff;
+ background-position: 0;
+ background-color: #f6f6f6;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#f6f6f6), to(#e3e3e3));
+ background-image: -webkit-linear-gradient(top, #f6f6f6, #e3e3e3);
+ background-image: -moz-linear-gradient(top, #f6f6f6, #e3e3e3);
+ background-image: -ms-linear-gradient(top, #f6f6f6, #e3e3e3);
+ background-image: -o-linear-gradient(top, #f6f6f6, #e3e3e3);
+ background-image: linear-gradient(to bottom, #f6f6f6, #e3e3e3);
+ -moz-box-shadow: 0 0 3px #80bfff, 0 1px 1px rgba(255, 255, 255, 0.8) inset;
+ -webkit-box-shadow: 0 0 3px #80bfff, 0 1px 1px rgba(255, 255, 255, 0.8) inset;
+ box-shadow: 0 0 3px #80bfff, 0 1px 1px rgba(255, 255, 255, 0.8) inset;
+}
+.openerp a.button:active, .openerp a.button.active, .openerp button:active, .openerp button.active, .openerp input[type='submit']:active, .openerp input[type='submit'].active, .openerp .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button.ui-state-active {
+ background-color: #e3e3e3;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#e3e3e3), to(#f6f6f6));
+ background-image: -webkit-linear-gradient(top, #e3e3e3, #f6f6f6);
+ background-image: -moz-linear-gradient(top, #e3e3e3, #f6f6f6);
+ background-image: -ms-linear-gradient(top, #e3e3e3, #f6f6f6);
+ background-image: -o-linear-gradient(top, #e3e3e3, #f6f6f6);
+ background-image: linear-gradient(to bottom, #e3e3e3, #f6f6f6);
+ -moz-box-shadow: none;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+.openerp a.button.disabled, .openerp button:disabled, .openerp input[type='submit']:disabled {
+ background: #efefef !important;
+ border: 1px solid #d1d1d1 !important;
+ -moz-box-shadow: none !important;
+ -webkit-box-shadow: none !important;
+ box-shadow: none !important;
+ color: #aaaaaa !important;
+ cursor: default;
+ text-shadow: 0 1px 1px white !important;
+}
+.openerp .ui-widget-content a {
+ color: #7c7bad;
+}
+.openerp .oe_bounce_container {
+ display: inline-block;
+}
+.openerp .ui-tabs {
+ position: static;
+}
+.openerp.ui-dialog {
+ display: none;
+ padding: 6px;
+ background-color: rgba(60, 60, 60, 0.7);
+ border: 1px solid;
+ border-color: #888888 #555555 #444444;
+ -moz-border-radius: 8px;
+ -webkit-border-radius: 8px;
+ border-radius: 8px;
+ -moz-box-shadow: 0 1px 12px rgba(0, 0, 0, 0.6);
+ -webkit-box-shadow: 0 1px 12px rgba(0, 0, 0, 0.6);
+ box-shadow: 0 1px 12px rgba(0, 0, 0, 0.6);
+ -webkit-background-clip: padding-box;
+ -moz-background-clip: padding-box;
+ background-clip: padding-box;
+}
+.openerp.ui-dialog .ui-dialog-content {
+ padding: 0px;
+}
+.openerp.ui-dialog .ui-dialog-titlebar, .openerp.ui-dialog .ui-dialog-content, .openerp.ui-dialog .ui-dialog-buttonpane {
+ padding: 16px;
+}
+.openerp.ui-dialog .ui-dialog-titlebar {
+ border-bottom: 1px solid #cacaca;
+ -moz-border-radius: 2px 2px 0 0;
+ -webkit-border-radius: 2px 2px 0 0;
+ border-radius: 2px 2px 0 0;
+ background-color: #fcfcfc;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#fcfcfc), to(#dedede));
+ background-image: -webkit-linear-gradient(top, #fcfcfc, #dedede);
+ background-image: -moz-linear-gradient(top, #fcfcfc, #dedede);
+ background-image: -ms-linear-gradient(top, #fcfcfc, #dedede);
+ background-image: -o-linear-gradient(top, #fcfcfc, #dedede);
+ background-image: linear-gradient(to bottom, #fcfcfc, #dedede);
+}
+.openerp.ui-dialog .ui-dialog-titlebar .ui-dialog-title {
+ margin: 0;
+ padding: 0;
+}
+.openerp.ui-dialog .ui-widget-header {
+ border: none;
+}
+.openerp.ui-dialog .ui-dialog-content {
+ background: white;
+}
+.openerp.ui-dialog .ui-dialog-buttonpane {
+ border-top: 1px solid #e0e0e0;
+ background: #f5f7f9;
+ margin: 0;
+ -moz-border-radius: 0 0 2px 2px;
+ -webkit-border-radius: 0 0 2px 2px;
+ border-radius: 0 0 2px 2px;
+}
+.openerp.ui-dialog .ui-dialog-buttonpane button {
+ margin: 0 4px 0 0;
+}
+.openerp.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
+ float: left;
+}
+.openerp.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button {
+ margin-right: 4px;
+}
+.openerp.ui-dialog .ui-dialog-titlebar-close {
+ padding: 0;
+}
+.openerp.ui-dialog .ui-dialog-titlebar-close .ui-icon-closethick {
+ display: none;
+}
+.openerp.ui-dialog .ui-dialog-titlebar-close:before {
+ content: "×";
+ font-size: 18px;
+ font-weight: bold;
+ line-height: 16px;
+ color: black;
+ text-shadow: 0 1px 0 white;
+ padding: 0;
+ cursor: pointer;
+ background: transparent;
+ border: 0;
+}
+.openerp.ui-dialog .ui-dialog-titlebar-close:before:hover {
+ color: black;
+ text-decoration: none;
+}
+.openerp.ui-dialog .oe_about {
+ background-color: white;
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAYAAADgzO9IAAAAKUlEQVQIHWO8e/fufwYsgAUkJigoiCIF5DMyoYggcUiXgNnBiGQKmAkARpcEQeriln4AAAAASUVORK5CYII=);
+ -moz-border-radius: 0 0 2px 2px;
+ -webkit-border-radius: 0 0 2px 2px;
+ border-radius: 0 0 2px 2px;
+}
+.openerp.ui-dialog .oe_about a {
+ color: #7c7bad;
+}
+.openerp.ui-dialog .oe_about a:hover {
+ text-decoration: underline;
+}
+.openerp.ui-dialog .oe_about a:focus {
+ outline: none;
+}
+.openerp.ui-dialog .oe_about .oe_logo {
+ margin-left: -6px;
+}
+.openerp.ui-dialog .oe_about .oe_bottom {
+ position: absolute;
+ top: 50%;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ text-shadow: 0 1px 1px #999999;
+ background-color: #b41616;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#b41616), to(#600606));
+ background-image: -webkit-linear-gradient(top, #b41616, #600606);
+ background-image: -moz-linear-gradient(top, #b41616, #600606);
+ background-image: -ms-linear-gradient(top, #b41616, #600606);
+ background-image: -o-linear-gradient(top, #b41616, #600606);
+ background-image: linear-gradient(to bottom, #b41616, #600606);
+ color: #eeeeee;
+ padding: 0 16px;
+ -moz-border-radius: 0 0 2px 2px;
+ -webkit-border-radius: 0 0 2px 2px;
+ border-radius: 0 0 2px 2px;
+}
+.openerp.ui-dialog .oe_about .oe_bottom a {
+ color: #eeeeee;
+}
+.openerp.ui-dialog.oe_act_window .ui-dialog-content {
+ padding: 0px;
+}
+.openerp .modal-backdrop {
+ position: fixed;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 1040;
+ background-color: black;
+ filter: alpha(opacity=30);
+ opacity: 0.3;
+}
+.openerp .oe_i {
+ font-family: "mnmliconsRegular" !important;
+ font-size: 21px;
+ font-weight: 300 !important;
+}
+.openerp .oe_e {
+ font-family: "entypoRegular" !important;
+ font-size: 34px;
+ font-weight: 300 !important;
+}
+.openerp .oe_left {
+ float: left;
+ margin-right: 8px;
+}
+.openerp .oe_right {
+ float: right;
+ margin-left: 8px;
+}
+.openerp .oe_text_right {
+ text-align: right;
+}
+.openerp .oe_clear {
+ clear: both;
+}
+.openerp .oe_wait {
+ cursor: wait;
+}
+.openerp .oe_fade {
+ color: #888888;
+ font-weight: normal;
+}
+.openerp .oe_bold {
+ font-weight: bold;
+}
+.openerp .oe_inline {
+ width: auto !important;
+}
+.openerp .oe_highlight {
+ color: white;
+ background: #dc5f59;
+}
+.openerp button.oe_highlight {
+ background-color: #df3f3f;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#df3f3f), to(#a21a1a));
+ background-image: -webkit-linear-gradient(top, #df3f3f, #a21a1a);
+ background-image: -moz-linear-gradient(top, #df3f3f, #a21a1a);
+ background-image: -ms-linear-gradient(top, #df3f3f, #a21a1a);
+ background-image: -o-linear-gradient(top, #df3f3f, #a21a1a);
+ background-image: linear-gradient(to bottom, #df3f3f, #a21a1a);
+ -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(155, 155, 155, 0.4) inset;
+ -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(155, 155, 155, 0.4) inset;
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(155, 155, 155, 0.4) inset;
+}
+.openerp button.oe_highlight:hover {
+ background-color: #e25858;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#e25858), to(#ab1b1b));
+ background-image: -webkit-linear-gradient(top, #e25858, #ab1b1b);
+ background-image: -moz-linear-gradient(top, #e25858, #ab1b1b);
+ background-image: -ms-linear-gradient(top, #e25858, #ab1b1b);
+ background-image: -o-linear-gradient(top, #e25858, #ab1b1b);
+ background-image: linear-gradient(to bottom, #e25858, #ab1b1b);
+}
+.openerp button.oe_highlight:active {
+ background-color: #c52020;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#c52020), to(#d22323));
+ background-image: -webkit-linear-gradient(top, #c52020, #d22323);
+ background-image: -moz-linear-gradient(top, #c52020, #d22323);
+ background-image: -ms-linear-gradient(top, #c52020, #d22323);
+ background-image: -o-linear-gradient(top, #c52020, #d22323);
+ background-image: linear-gradient(to bottom, #c52020, #d22323);
+}
+.openerp .oe_background_grey {
+ background: #eeeeee !important;
+}
+.openerp .oe_form_dirty .oe_highlight_on_dirty {
+ color: white;
+ background: #dc5f59;
+ font-weight: bold;
+}
+.openerp .oe_form_dirty button.oe_highlight_on_dirty {
+ background-color: #dc5f59;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#dc5f59), to(#b33630));
+ background-image: -webkit-linear-gradient(top, #dc5f59, #b33630);
+ background-image: -moz-linear-gradient(top, #dc5f59, #b33630);
+ background-image: -ms-linear-gradient(top, #dc5f59, #b33630);
+ background-image: -o-linear-gradient(top, #dc5f59, #b33630);
+ background-image: linear-gradient(to bottom, #dc5f59, #b33630);
+ -moz-box-shadow: none;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+.openerp .oe_form_dirty button.oe_highlight_on_dirty:hover {
+ background: #ed6f6a;
+}
+.openerp .oe_title {
+ width: 50%;
+ float: left;
+}
+.openerp .oe_title:after {
+ content: ".";
+ display: block;
+ height: 0;
+ clear: both;
+ visibility: hidden;
+}
+.openerp .oe_button_box {
+ width: 270px;
+ text-align: right;
+}
+.openerp .oe_button_box button {
+ margin: 4px;
+}
+.openerp .oe_avatar > img {
+ max-height: 90px;
+ max-width: 90px;
+ -moz-border-radius: 3px;
+ -webkit-border-radius: 3px;
+ border-radius: 3px;
+ -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
+ -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
+ box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
+ border: none;
+ margin-bottom: 10px;
+}
+.openerp .oe_avatar + div {
+ margin-left: 5px;
+}
+.openerp .oe_image_small > img {
+ max-width: 50px;
+ max-height: 50px;
+}
+.openerp .oe_image_medium > img {
+ max-width: 180px;
+ max-height: 180px;
+}
+.openerp .oe_button.oe_link {
+ border: none;
+ padding: 0;
+ margin: 0;
+ background: none;
+ -moz-border-radius: 0;
+ -webkit-border-radius: 0;
+ border-radius: 0;
+ -moz-box-shadow: none;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+.openerp .oe_button.oe_link img {
+ display: none;
+}
+.openerp .oe_button.oe_link span {
+ border: none;
+ padding: 0;
+ margin: 0;
+ background: none;
+ -moz-border-radius: 0;
+ -webkit-border-radius: 0;
+ border-radius: 0;
+ -moz-box-shadow: none;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+ color: #7c7bad;
+ font-weight: bold;
+}
+.openerp .oe_button.oe_link span:hover {
+ text-decoration: underline;
+}
+.openerp .oe_webclient .oe_star_on, .openerp .oe_webclient .oe_star_off {
+ color: #cccccc;
+ text-shadow: 0 0 2px black;
+ vertical-align: top;
+ position: relative;
+ top: -5px;
+}
+.openerp .oe_webclient .oe_star_on:hover, .openerp .oe_webclient .oe_star_off:hover {
+ text-decoration: none;
+}
+.openerp .oe_webclient .oe_star_on {
+ color: gold;
+}
+.openerp p.oe_grey {
+ max-width: 650px;
+}
+.openerp .oe_grey {
+ color: #aaaaaa;
+}
+.openerp .oe_tag {
+ border: 1px solid #afafb6;
+ font-size: 11px;
+ padding: 2px 4px;
+ margin: 0 2px 2px 0;
+ -moz-border-radius: 3px;
+ -webkit-border-radius: 3px;
+ border-radius: 3px;
+ background: #f0f0fa;
+ color: #4c4c4c;
+}
+.openerp .oe_tag_dark {
+ background: #7c7bad;
+ color: #eeeeee;
+}
+.openerp .oe_tags {
+ margin-bottom: 1px;
+}
+.openerp .oe_tags.oe_inline {
+ min-width: 250px;
+}
+.openerp .oe_tags .text-wrap {
+ width: 100% !important;
+}
+.openerp .oe_tags .text-wrap textarea {
+ width: 100% !important;
+}
+.openerp .oe_tags .text-core .text-wrap .text-dropdown .text-list .text-suggestion em {
+ font-style: italic;
+ text-decoration: none;
+}
+.openerp.oe_tooltip {
+ font-size: 12px;
+}
+.openerp.oe_tooltip .oe_tooltip_string {
+ color: #ffdd55;
+ font-weight: bold;
+ font-size: 13px;
+}
+.openerp.oe_tooltip .oe_tooltip_help {
+ white-space: pre-wrap;
+}
+.openerp.oe_tooltip .oe_tooltip_technical {
+ padding: 0 0 4px 0;
+ margin: 5px 0 0 15px;
+}
+.openerp.oe_tooltip .oe_tooltip_technical li {
+ list-style: circle;
+}
+.openerp.oe_tooltip .oe_tooltip_technical_title {
+ font-weight: bold;
+}
+.openerp.oe_tooltip .oe_tooltip_close {
+ margin: -5px 0 0 2px;
+ cursor: default;
+ float: right;
+ color: white;
+}
+.openerp.oe_tooltip .oe_tooltip_close:hover {
+ color: #999999;
+ cursor: pointer;
+}
+.openerp.oe_tooltip .oe_tooltip_message {
+ max-width: 310px;
+}
+.openerp .oe_notebook {
+ margin: 8px 0;
+ padding: 0 16px;
+ list-style: none;
+ zoom: 1;
+}
+.openerp .oe_notebook.ui-corner-all {
+ -moz-border-radius: 0;
+ -webkit-border-radius: 0;
+ border-radius: 0;
+}
+.openerp .oe_notebook:before, .openerp .oe_notebook:after {
+ display: table;
+ content: "";
+ zoom: 1;
+}
+.openerp .oe_notebook:after {
+ clear: both;
+}
+.openerp .oe_notebook > li {
+ float: left;
+}
+.openerp .oe_notebook > li > a {
+ display: block;
+ color: #4c4c4c;
+}
+.openerp .oe_notebook {
+ border-color: #dddddd;
+ border-style: solid;
+ border-width: 0 0 1px;
+}
+.openerp .oe_notebook > li {
+ position: relative;
+}
+.openerp .oe_notebook > li > a {
+ padding: 0 12px;
+ margin-right: 2px;
+ line-height: 30px;
+ border: 1px solid transparent;
+ -moz-border-radius: 4px 4px 0 0;
+ -webkit-border-radius: 4px 4px 0 0;
+ border-radius: 4px 4px 0 0;
+}
+.openerp .oe_notebook > li > a:hover {
+ text-decoration: none;
+ background-color: #eeeeee;
+ border-color: #eeeeee #eeeeee #dddddd;
+}
+.openerp .oe_notebook > li.ui-state-active > a, .openerp .oe_notebook > li.ui-state-active > a:hover {
+ background-color: white;
+ border: 1px solid #dddddd;
+ border-bottom-color: transparent;
+ cursor: default;
+}
+.openerp .oe_notebook_page {
+ padding: 0;
+}
+.openerp div.ui-tabs {
+ padding: 3px 0px 3px 0px;
+}
+.openerp .ui-tabs-hide {
+ display: none;
+}
+.openerp .oe_dropdown, .openerp .oe_dropdown_hover, .openerp .oe_dropdown_toggle {
+ position: relative;
+ cursor: pointer;
+}
+.openerp .oe_dropdown_toggle {
+ color: rgba(0, 0, 0, 0.5);
+ font-weight: normal;
+}
+.openerp .oe_dropdown_hover:hover .oe_dropdown_menu, .openerp .oe_dropdown_menu.oe_opened {
+ display: block;
+}
+.openerp .oe_dropdown_menu {
+ display: none;
+ position: absolute;
+ top: 26px;
+ left: 0;
+ z-index: 3;
+ margin: 0;
+ padding: 0;
+ border: 1px solid #afafb6;
+ background: white;
+ padding: 4px 0;
+ min-width: 140px;
+ text-align: left;
+ -moz-border-radius: 3px;
+ -webkit-border-radius: 3px;
+ border-radius: 3px;
+ -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
+ -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
+ box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
+}
+.openerp .oe_dropdown_menu > li {
+ list-style-type: none;
+ float: none;
+ display: block;
+ position: relative;
+ margin: 0;
+ padding: 2px 8px;
+}
+.openerp .oe_dropdown_menu > li:hover {
+ background-color: #f0f0fa;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#f0f0fa), to(#eeeef6));
+ background-image: -webkit-linear-gradient(top, #f0f0fa, #eeeef6);
+ background-image: -moz-linear-gradient(top, #f0f0fa, #eeeef6);
+ background-image: -ms-linear-gradient(top, #f0f0fa, #eeeef6);
+ background-image: -o-linear-gradient(top, #f0f0fa, #eeeef6);
+ background-image: linear-gradient(to bottom, #f0f0fa, #eeeef6);
+ -moz-box-shadow: none;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+.openerp .oe_dropdown_menu > li > a {
+ white-space: nowrap;
+ display: block;
+ color: #4c4c4c;
+ text-decoration: none;
+}
+.openerp .oe_dropdown_menu > li > a:hover {
+ text-decoration: none;
+}
+.openerp .oe_dropdown_arrow:after {
+ width: 0;
+ height: 0;
+ display: inline-block;
+ content: "&darr";
+ text-indent: -99999px;
+ vertical-align: top;
+ margin-top: 8px;
+ margin-left: 3px;
+ border-left: 4px solid transparent;
+ border-right: 4px solid transparent;
+ border-top: 4px solid #404040;
+ filter: alpha(opacity=50);
+ opacity: 0.5;
+}
+.openerp .oe_sidebar {
+ white-space: nowrap;
+}
+.openerp .oe_sidebar .oe_dropdown_menu .oe_sidebar_add_attachment {
+ height: 20px;
+ cursor: pointer;
+ padding-left: 6px;
+ margin-top: 6px;
+}
+.openerp .oe_sidebar .oe_dropdown_menu .oe_sidebar_add_attachment span {
+ font-weight: bold;
+}
+.openerp .oe_sidebar .oe_dropdown_menu .oe_sidebar_add_attachment .oe_hidden_input_file {
+ width: 200px;
+}
+.openerp .oe_sidebar .oe_dropdown_menu .oe_sidebar_add_attachment:hover {
+ background-color: #f0f0fa;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#f0f0fa), to(#eeeef6));
+ background-image: -webkit-linear-gradient(top, #f0f0fa, #eeeef6);
+ background-image: -moz-linear-gradient(top, #f0f0fa, #eeeef6);
+ background-image: -ms-linear-gradient(top, #f0f0fa, #eeeef6);
+ background-image: -o-linear-gradient(top, #f0f0fa, #eeeef6);
+ background-image: linear-gradient(to bottom, #f0f0fa, #eeeef6);
+ -moz-box-shadow: none;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+.openerp .oe_sidebar .oe_dropdown_menu li .oe_sidebar_delete_item {
+ position: absolute;
+ top: 4px;
+ right: 4px;
+ display: none;
+ width: 12px;
+ height: 12px;
+ padding: 1px;
+ color: #8786b7;
+ line-height: 8px;
+ text-align: center;
+ font-weight: bold;
+ text-shadow: 0 1px 1px white;
+}
+.openerp .oe_sidebar .oe_dropdown_menu li .oe_sidebar_delete_item:hover {
+ text-decoration: none;
+ color: white;
+ background: #8786b7;
+ text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
+ -moz-border-radius: 2px;
+ -webkit-border-radius: 2px;
+ border-radius: 2px;
+}
+.openerp .oe_sidebar .oe_dropdown_menu li:hover .oe_sidebar_delete_item {
+ display: inline-block;
+}
+.openerp .oe_loading {
+ display: none;
+ z-index: 100;
+ position: fixed;
+ top: 0;
+ right: 50%;
+ padding: 4px 12px;
+ background: #a61300;
+ color: white;
+ text-align: center;
+ border: 1px solid #990000;
+ border-top: none;
+ -moz-border-radius-bottomright: 8px;
+ -moz-border-radius-bottomleft: 8px;
+ border-bottom-right-radius: 8px;
+ border-bottom-left-radius: 8px;
+}
+.openerp .oe_notification {
+ z-index: 1050;
+}
+.openerp .oe_login {
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAYAAADgzO9IAAAAKUlEQVQIHWO8e/fufwYsgAUkJigoiCIF5DMyoYggcUiXgNnBiGQKmAkARpcEQeriln4AAAAASUVORK5CYII=);
+ text-align: center;
+ font-size: 14px;
+ height: 100%;
+}
+.openerp .oe_login ul, .openerp .oe_login li {
+ margin: 0;
+ list-style-type: none;
+ padding: 0 0 4px 0;
+}
+.openerp .oe_login button {
+ float: right;
+ display: inline-block;
+ cursor: pointer;
+ padding: 6px 16px;
+ border: 1px solid #222222;
+ color: white;
+ margin: 0;
+ background-color: #b92020;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#b92020), to(#600606));
+ background-image: -webkit-linear-gradient(top, #b92020, #600606);
+ background-image: -moz-linear-gradient(top, #b92020, #600606);
+ background-image: -ms-linear-gradient(top, #b92020, #600606);
+ background-image: -o-linear-gradient(top, #b92020, #600606);
+ background-image: linear-gradient(to bottom, #b92020, #600606);
+ -moz-border-radius: 4px;
+ -webkit-border-radius: 4px;
+ border-radius: 4px;
+ -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(155, 155, 155, 0.4) inset;
+ -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(155, 155, 155, 0.4) inset;
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(155, 155, 155, 0.4) inset;
+}
+.openerp .oe_login input, .openerp .oe_login select {
+ width: 252px;
+ font-family: "Lucida Grande", Helvetica, Verdana, Arial;
+ border: 1px solid #999999;
+ background: whitesmoke;
+ -moz-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.4);
+ -webkit-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.4);
+ box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.4);
+ -moz-border-radius: 3px;
+ -webkit-border-radius: 3px;
+ border-radius: 3px;
+}
+.openerp .oe_login input {
+ margin-bottom: 9px;
+ padding: 5px 6px;
+}
+.openerp .oe_login select {
+ padding: 1px;
+}
+.openerp .oe_login .oe_login_dbpane {
+ position: fixed;
+ top: 0;
+ right: 8px;
+ padding: 5px 10px;
+ color: #eeeeee;
+ border: solid 1px #333333;
+ background: #1e1e1e;
+ background: rgba(30, 30, 30, 0.94);
+ -moz-border-radius: 0 0 8px 8px;
+ -webkit-border-radius: 0 0 8px 8px;
+ border-radius: 0 0 8px 8px;
+}
+.openerp .oe_login .oe_login_dbpane input {
+ padding: 2px 4px;
+ margin: 4px 0;
+}
+.openerp .oe_login .oe_login_bottom {
+ position: absolute;
+ top: 50%;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ text-shadow: 0 1px 1px #999999;
+ background-color: #b41616;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#b41616), to(#600606));
+ background-image: -webkit-linear-gradient(top, #b41616, #600606);
+ background-image: -moz-linear-gradient(top, #b41616, #600606);
+ background-image: -ms-linear-gradient(top, #b41616, #600606);
+ background-image: -o-linear-gradient(top, #b41616, #600606);
+ background-image: linear-gradient(to bottom, #b41616, #600606);
+}
+.openerp .oe_login .oe_login_pane {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ margin: -160px -166px;
+ border: solid 1px #333333;
+ background: #1e1e1e;
+ background: rgba(30, 30, 30, 0.94);
+ padding: 22px 32px;
+ color: #eeeeee;
+ text-align: left;
+ -moz-border-radius: 8px;
+ -webkit-border-radius: 8px;
+ border-radius: 8px;
+ -moz-box-shadow: 0 0 18px rgba(0, 0, 0, 0.9);
+ -webkit-box-shadow: 0 0 18px rgba(0, 0, 0, 0.9);
+ box-shadow: 0 0 18px rgba(0, 0, 0, 0.9);
+}
+.openerp .oe_login .oe_login_pane h2 {
+ margin-top: 0;
+ font-size: 18px;
+}
+.openerp .oe_login .oe_login_logo {
+ position: absolute;
+ top: -70px;
+ left: 0;
+ width: 100%;
+ margin: 0 auto;
+ text-align: center;
+}
+.openerp .oe_login .oe_login_footer {
+ position: absolute;
+ bottom: -40px;
+ left: 0;
+ width: 100%;
+ text-align: center;
+}
+.openerp .oe_login .oe_login_footer a {
+ color: #eeeeee;
+ margin: 0 8px;
+}
+.openerp .oe_login .oe_login_footer a:hover {
+ text-decoration: underline;
+}
+.openerp .oe_login .oe_login_footer span {
+ font-weight: bold;
+ font-size: 16px;
+}
+.openerp .oe_login .oe_login_error_message {
+ display: none;
+ background-color: #b41616;
+ color: #eeeeee;
+ padding: 14px 18px;
+ margin-top: 15px;
+ text-align: center;
+ -moz-border-radius: 4px;
+ -webkit-border-radius: 4px;
+ border-radius: 4px;
+ -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.8);
+ -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.8);
+ box-shadow: 0 1px 4px rgba(0, 0, 0, 0.8);
+}
+.openerp .oe_login_invalid .oe_login_error_message {
+ display: inline-block;
+}
+.openerp .oe_database_manager {
+ background: white;
+ color: black;
+ text-align: left;
+}
+.openerp .oe_database_manager .oe_database_manager_menu {
+ color: black;
+}
+.openerp .oe_webclient {
+ width: 100%;
+ height: 100%;
+ border-spacing: 0px;
+}
+.openerp .oe_content_full_screen .oe_application {
+ top: 0;
+ left: 0;
+}
+.openerp .oe_content_full_screen .oe_topbar, .openerp .oe_content_full_screen .oe_leftbar {
+ display: none;
+}
+.openerp .oe_topbar {
+ width: 100%;
+ height: 32px;
+ background-color: #414141;
+ background-color: #646060;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#646060), to(#262626));
+ background-image: -webkit-linear-gradient(top, #646060, #262626);
+ background-image: -moz-linear-gradient(top, #646060, #262626);
+ background-image: -ms-linear-gradient(top, #646060, #262626);
+ background-image: -o-linear-gradient(top, #646060, #262626);
+ background-image: linear-gradient(to bottom, #646060, #262626);
+}
+.openerp .oe_topbar .oe_topbar_item {
+ display: block;
+ padding: 5px 10px 7px;
+ line-height: 20px;
+ height: 20px;
+ text-decoration: none;
+ color: #eeeeee;
+ vertical-align: top;
+ text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
+ -webkit-transition: all 0.2s ease-out;
+ -moz-transition: all 0.2s ease-out;
+ -ms-transition: all 0.2s ease-out;
+ -o-transition: all 0.2s ease-out;
+ transition: all 0.2s ease-out;
+}
+.openerp .oe_topbar .oe_topbar_item:hover {
+ background: rgba(0, 0, 0, 0.2);
+ text-shadow: black 0px 0px 3px;
+ color: white;
+ -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4) inset;
+ -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4) inset;
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4) inset;
+}
+.openerp .oe_topbar .oe_topbar_avatar {
+ width: 24px;
+ height: 24px;
+ margin: -2px 2px 0 0;
+ -moz-border-radius: 3px;
+ -webkit-border-radius: 3px;
+ border-radius: 3px;
+}
+.openerp .oe_topbar .oe_topbar_avatar {
+ vertical-align: top;
+}
+.openerp .oe_topbar .oe_dropdown_arrow:after {
+ border-top: 4px solid white;
+}
+.openerp .oe_topbar .oe_dropdown_menu {
+ top: 32px;
+ background: #333333;
+ background: rgba(37, 37, 37, 0.9);
+ border-color: #999999;
+ border-color: rgba(0, 0, 0, 0.2);
+ border-style: solid;
+ border-width: 0 1px 1px;
+ -moz-border-radius: 0 0 6px 6px;
+ -webkit-border-radius: 0 0 6px 6px;
+ border-radius: 0 0 6px 6px;
+ -webkit-background-clip: padding-box;
+ -moz-background-clip: padding-box;
+ background-clip: padding-box;
+}
+.openerp .oe_topbar .oe_dropdown_menu li {
+ float: none;
+ padding: 3px 12px;
+}
+.openerp .oe_topbar .oe_dropdown_menu li a {
+ color: #eeeeee;
+}
+.openerp .oe_topbar .oe_dropdown_menu li:hover {
+ background-color: #292929;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#292929), to(#191919));
+ background-image: -webkit-linear-gradient(top, #292929, #191919);
+ background-image: -moz-linear-gradient(top, #292929, #191919);
+ background-image: -ms-linear-gradient(top, #292929, #191919);
+ background-image: -o-linear-gradient(top, #292929, #191919);
+ background-image: linear-gradient(to bottom, #292929, #191919);
+ -moz-box-shadow: none;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+.openerp .oe_menu {
+ float: left;
+ padding: 0;
+ margin: 0;
+ font-size: 13px;
+}
+.openerp .oe_menu > li {
+ list-style-type: none;
+ padding: 0;
+ margin: 0;
+ float: left;
+ display: block;
+ color: #eeeeee;
+}
+.openerp .oe_menu > li > a {
+ display: block;
+ padding: 5px 10px 7px;
+ line-height: 20px;
+ height: 20px;
+ text-decoration: none;
+ color: #eeeeee;
+ vertical-align: top;
+ text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
+ -webkit-transition: all 0.2s ease-out;
+ -moz-transition: all 0.2s ease-out;
+ -ms-transition: all 0.2s ease-out;
+ -o-transition: all 0.2s ease-out;
+ transition: all 0.2s ease-out;
+}
+.openerp .oe_menu > li > a:hover {
+ background: rgba(0, 0, 0, 0.2);
+ text-shadow: black 0px 0px 3px;
+ color: white;
+ -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4) inset;
+ -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4) inset;
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4) inset;
+}
+.openerp .oe_menu > li > .oe_active {
+ background: rgba(0, 0, 0, 0.3);
+ text-shadow: black 0px 0px 3px;
+ -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4) inset;
+ -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4) inset;
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4) inset;
+}
+.openerp .oe_user_menu {
+ float: right;
+ padding: 0;
+ margin: 0;
+}
+.openerp .oe_user_menu li {
+ list-style-type: none;
+ float: left;
+}
+.openerp .oe_user_menu .oe_dropdown_menu {
+ right: -1px;
+}
+.openerp .oe_systray > div {
+ float: left;
+ padding: 0 4px 0 4px;
+}
+.openerp .oe_systray {
+ float: right;
+}
+.openerp .oe_leftbar {
+ display: none;
+ width: 220px;
+ background: #f0eeee;
+ border-right: 1px solid #afafb6;
+ text-shadow: 0 1px 1px white;
+ padding-bottom: 16px;
+}
+.openerp a.oe_logo {
+ width: 220px;
+ display: block;
+ text-align: center;
+ height: 70px;
+ line-height: 70px;
+}
+.openerp a.oe_logo img {
+ height: 40px;
+ width: 157px;
+ margin: 14px 0;
+}
+.openerp .oe_footer {
+ position: fixed;
+ bottom: 0;
+ padding: 4px 0;
+ background: #f0eeee;
+ width: 220px;
+ text-align: center;
+}
+.openerp .oe_footer a {
+ font-weight: 800;
+ font-family: serif;
+ font-size: 16px;
+ color: black;
+}
+.openerp .oe_footer a span {
+ color: #c81010;
+ font-style: italic;
+}
+.openerp .oe_secondary_menu_section {
+ font-weight: bold;
+ margin-left: 8px;
+ color: #7c7bad;
+}
+.openerp .oe_secondary_submenu {
+ padding: 2px 0 8px 0;
+ margin: 0;
+ width: 100%;
+ display: inline-block;
+}
+.openerp .oe_secondary_submenu li {
+ position: relative;
+ margin: 0;
+ padding: 1px 0 1px 20px !important;
+ list-style-type: none;
+}
+.openerp .oe_secondary_submenu li a {
+ display: block;
+ color: #4c4c4c;
+ padding: 2px 4px 2px 0;
+}
+.openerp .oe_secondary_submenu li .oe_menu_label {
+ position: absolute;
+ top: 1px;
+ right: 1px;
+ font-size: 10px;
+ background: #7c7bad;
+ color: white;
+ padding: 2px 4px;
+ margin: 1px 6px 0 0;
+ border: 1px solid lightGray;
+ text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
+ -moz-border-radius: 4px;
+ -webkit-border-radius: 4px;
+ border-radius: 4px;
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.2);
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.2);
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.2);
+}
+.openerp .oe_secondary_submenu .oe_menu_counter {
+ float: right;
+ text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
+ margin: 1px;
+ padding: 1px 4px;
+ border: none;
+}
+.openerp .oe_secondary_submenu .oe_menu_counter:hover {
+ cursor: pointer;
+ -webkit-transform: scale(1.1);
+ -moz-transform: scale(1.1);
+ -ms-transform: scale(1.1);
+ -o-transform: scale(1.1);
+ transform: scale(1.1);
+}
+.openerp .oe_secondary_submenu .oe_active {
+ border-top: 1px solid lightGray;
+ border-bottom: 1px solid #dedede;
+ text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
+ -moz-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.2), inset 0 -1px 3px rgba(40, 40, 40, 0.2);
+ -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.2), inset 0 -1px 3px rgba(40, 40, 40, 0.2);
+ box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.2), inset 0 -1px 3px rgba(40, 40, 40, 0.2);
+ background: #7c7bad;
+}
+.openerp .oe_secondary_submenu .oe_active a {
+ color: white;
+}
+.openerp .oe_secondary_submenu .oe_active .oe_menu_label {
+ background: #eeeeee;
+ color: #7c7bad;
+ text-shadow: 0 1px 1px white;
+ -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
+ -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
+}
+.openerp .oe_secondary_submenu .oe_active .oe_menu_counter {
+ background: #eeeeee;
+ color: #7c7bad;
+ -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
+ -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
+ box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
+}
+.openerp .oe_secondary_submenu .oe_menu_toggler:before {
+ width: 0;
+ height: 0;
+ display: inline-block;
+ content: "&darr";
+ text-indent: -99999px;
+ vertical-align: top;
+ margin-left: -12px;
+ margin-top: 4px;
+ margin-right: 4px;
+ border-top: 4px solid transparent;
+ border-bottom: 4px solid transparent;
+ border-left: 4px solid #4c4c4c;
+ filter: alpha(opacity=50);
+ opacity: 0.5;
+}
+.openerp .oe_secondary_submenu .oe_menu_opened:before {
+ margin-top: 6px;
+ margin-left: -16px;
+ margin-right: 4px;
+ border-left: 4px solid transparent;
+ border-right: 4px solid transparent;
+ border-top: 4px solid #4c4c4c;
+}
+.openerp .oe_about {
+ background-color: white;
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAYAAADgzO9IAAAAKUlEQVQIHWO8e/fufwYsgAUkJigoiCIF5DMyoYggcUiXgNnBiGQKmAkARpcEQeriln4AAAAASUVORK5CYII=);
+ -moz-border-radius: 0 0 2px 2px;
+ -webkit-border-radius: 0 0 2px 2px;
+ border-radius: 0 0 2px 2px;
+}
+.openerp .oe_about a {
+ color: #7c7bad;
+}
+.openerp .oe_about a:hover {
+ text-decoration: underline;
+}
+.openerp .oe_about a:focus {
+ outline: none;
+}
+.openerp .oe_about .oe_logo {
+ margin-left: -6px;
+}
+.openerp .oe_about .oe_bottom {
+ position: absolute;
+ top: 50%;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ text-shadow: 0 1px 1px #999999;
+ background-color: #b41616;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#b41616), to(#600606));
+ background-image: -webkit-linear-gradient(top, #b41616, #600606);
+ background-image: -moz-linear-gradient(top, #b41616, #600606);
+ background-image: -ms-linear-gradient(top, #b41616, #600606);
+ background-image: -o-linear-gradient(top, #b41616, #600606);
+ background-image: linear-gradient(to bottom, #b41616, #600606);
+ color: #eeeeee;
+ padding: 0 16px;
+ -moz-border-radius: 0 0 2px 2px;
+ -webkit-border-radius: 0 0 2px 2px;
+ border-radius: 0 0 2px 2px;
+}
+.openerp .oe_about .oe_bottom a {
+ color: #eeeeee;
+}
+.openerp .oe_application {
+ width: 100%;
+}
+.openerp .oe_application a {
+ color: #7c7bad;
+}
+.openerp .oe_application a:hover {
+ text-decoration: underline;
+}
+.openerp .oe_application > div {
+ height: 100%;
+}
+.openerp .oe_application .oe_breadcrumb_item:not(:last-child) {
+ display: inline-block;
+ max-width: 7em;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+.openerp .oe_view_manager .oe_view_manager_body {
+ height: inherit;
+}
+.openerp .oe_view_manager .oe_view_manager_view_kanban {
+ height: inherit;
+}
+.openerp .oe_view_manager table.oe_view_manager_header {
+ width: 100%;
+ table-layout: fixed;
+}
+.openerp .oe_view_manager table.oe_view_manager_header .oe_header_row {
+ clear: both;
+ text-shadow: 0 1px 1px white;
+}
+.openerp .oe_view_manager table.oe_view_manager_header .oe_header_row:last-child td {
+ padding-top: 0;
+}
+.openerp .oe_view_manager table.oe_view_manager_header .oe_header_row:first-child td {
+ padding-top: 8px;
+}
+.openerp .oe_view_manager table.oe_view_manager_header .oe_view_manager_sidebar {
+ margin: 0px auto;
+ text-align: center;
+}
+.openerp .oe_view_manager table.oe_view_manager_header td {
+ line-height: 26px;
+}
+.openerp .oe_view_manager table.oe_view_manager_header h2 {
+ font-size: 18px;
+ margin: 0;
+ float: left;
+}
+.openerp .oe_view_manager table.oe_view_manager_header h2 a {
+ color: #7c7bad;
+}
+.openerp .oe_view_manager table.oe_view_manager_header .oe_dropdown_menu {
+ line-height: normal;
+}
+.openerp .oe_view_manager table.oe_view_manager_header .oe_button_group {
+ display: inline-block;
+ border: 1px solid #ababab;
+ -moz-border-radius: 5px;
+ -webkit-border-radius: 5px;
+ border-radius: 5px;
+}
+.openerp .oe_view_manager table.oe_view_manager_header .oe_button_group li {
+ float: left;
+ border-right: 1px solid #ababab;
+}
+.openerp .oe_view_manager table.oe_view_manager_header .oe_button_group li:last-child {
+ border: none;
+}
+.openerp .oe_view_manager table.oe_view_manager_header .oe_button_group a {
+ color: #4c4c4c;
+}
+.openerp .oe_view_manager table.oe_view_manager_header .oe_button_group a:hover {
+ text-decoration: none;
+}
+.openerp .oe_view_manager table.oe_view_manager_header .oe_button_group .active {
+ background: #999999;
+ -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3) inset;
+ -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3) inset;
+ box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3) inset;
+}
+.openerp .oe_view_manager table.oe_view_manager_header .oe_button_group .active a {
+ color: white;
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
+}
+.openerp .oe_view_manager table.oe_view_manager_header .oe_view_manager_buttons {
+ white-space: nowrap;
+}
+.openerp .oe_view_manager .oe_view_manager_pager {
+ line-height: 26px;
+}
+.openerp .oe_view_manager .oe_view_manager_pager .oe_list_pager_single_page .oe_pager_group {
+ display: none;
+}
+.openerp .oe_view_manager .oe_pager_value {
+ float: left;
+ margin-right: 8px;
+}
+.openerp .oe_view_manager ul.oe_pager_group {
+ padding: 0;
+ margin: 0;
+}
+.openerp .oe_view_manager .oe_pager_group {
+ float: left;
+ height: 24px;
+ line-height: 24px;
+ display: inline-block;
+ border: 1px solid #ababab;
+ cursor: pointer;
+ -moz-border-radius: 5px;
+ -webkit-border-radius: 5px;
+ border-radius: 5px;
+}
+.openerp .oe_view_manager .oe_pager_group li {
+ height: 24px;
+ line-height: 24px;
+ padding: 0;
+ margin: 0;
+ list-style-type: none;
+ float: left;
+ border-right: 1px solid #ababab;
+}
+.openerp .oe_view_manager .oe_pager_group li:last-child {
+ border: none;
+}
+.openerp .oe_view_manager .oe_pager_group a {
+ color: #4c4c4c;
+ padding: 0 8px;
+}
+.openerp .oe_view_manager .oe_pager_group a:hover {
+ text-decoration: none;
+}
+.openerp .oe_view_manager .oe_pager_group .active {
+ background: #999999;
+ -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3) inset;
+ -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3) inset;
+ box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3) inset;
+}
+.openerp .oe_view_manager .oe_pager_group .active a {
+ color: white;
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
+}
+.openerp .oe_view_manager .oe_view_manager_switch {
+ padding: 0;
+ margin: 0 0 0 8px;
+}
+.openerp .oe_view_manager .oe_view_manager_switch li {
+ margin: 0;
+ width: 24px;
+ height: 24px;
+ line-height: 16px;
+ padding: 0;
+ text-align: center;
+ list-style-type: none;
+}
+.openerp .oe_view_manager .oe_view_manager_switch li a {
+ position: relative;
+}
+.openerp .oe_view_manager .oe_view_manager_switch .oe_vm_switch_list:after, .openerp .oe_view_manager .oe_view_manager_switch .oe_vm_switch_tree:after {
+ padding: 2px;
+ content: "i";
+}
+.openerp .oe_view_manager .oe_view_manager_switch .oe_vm_switch_form:after {
+ content: "m";
+}
+.openerp .oe_view_manager .oe_view_manager_switch .oe_vm_switch_graph:after {
+ font-family: "mnmliconsRegular" !important;
+ font-size: 21px;
+ font-weight: 300 !important;
+ content: "}";
+ top: -2px;
+ position: relative;
+}
+.openerp .oe_view_manager .oe_view_manager_switch .oe_vm_switch_gantt:after {
+ font-family: "mnmliconsRegular" !important;
+ font-size: 21px;
+ font-weight: 300 !important;
+ content: "y";
+ top: -2px;
+ position: relative;
+}
+.openerp .oe_view_manager .oe_view_manager_switch .oe_vm_switch_calendar:after {
+ content: "P";
+}
+.openerp .oe_view_manager .oe_view_manager_switch .oe_vm_switch_kanban:after {
+ content: "k";
+}
+.openerp .oe_view_manager .oe_view_manager_switch .oe_vm_switch_diagram:after {
+ content: "f";
+}
+.openerp .oe_view_manager_current {
+ height: 100%;
+}
+.openerp .oe_view_manager_current > .oe_view_manager_header {
+ border-bottom: 1px solid #cacaca;
+ background-color: #fcfcfc;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#fcfcfc), to(#dedede));
+ background-image: -webkit-linear-gradient(top, #fcfcfc, #dedede);
+ background-image: -moz-linear-gradient(top, #fcfcfc, #dedede);
+ background-image: -ms-linear-gradient(top, #fcfcfc, #dedede);
+ background-image: -o-linear-gradient(top, #fcfcfc, #dedede);
+ background-image: linear-gradient(to bottom, #fcfcfc, #dedede);
+ -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.4), 0 0 9px rgba(0, 0, 0, 0.1);
+ -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.4), 0 0 9px rgba(0, 0, 0, 0.1);
+ box-shadow: 0 1px 0 rgba(255, 255, 255, 0.4), 0 0 9px rgba(0, 0, 0, 0.1);
+}
+.openerp .oe_view_manager_current > .oe_view_manager_header .oe_header_row td {
+ padding: 8px;
+}
+.openerp .oe_view_manager_current > .oe_view_manager_header .oe_header_row:first-child td {
+ padding-top: 8px;
+}
+.openerp .oe_view_manager_inline, .openerp .oe_view_manager_inlineview {
+ height: 100%;
+}
+.openerp .oe_view_manager_inline > .oe_view_manager_header, .openerp .oe_view_manager_inlineview > .oe_view_manager_header {
+ display: none;
+}
+.openerp .oe_popup_form > .oe_formview > .oe_form_pager {
+ display: none !important;
+}
+.openerp .oe_searchview {
+ cursor: text;
+ position: relative;
+ float: right;
+ padding: 1px 0;
+ line-height: 18px;
+ width: 400px;
+ border: 1px solid #ababab;
+ background: white;
+ -moz-border-radius: 13px;
+ -webkit-border-radius: 13px;
+ border-radius: 13px;
+ -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) inset;
+ -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) inset;
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) inset;
+}
+.openerp .oe_searchview input, .openerp .oe_searchview textarea {
+ padding: 3px;
+ height: 14px;
+ font-size: 12px;
+ line-height: 18px;
+}
+.openerp .oe_searchview.oe_focused {
+ border-color: #a6a6fe;
+ -moz-box-shadow: 0 1px 2px #a6a6fe inset;
+ -webkit-box-shadow: 0 1px 2px #a6a6fe inset;
+ box-shadow: 0 1px 2px #a6a6fe inset;
+}
+.openerp .oe_searchview .oe_searchview_clear {
+ cursor: pointer;
+ position: absolute;
+ top: 0;
+ right: 18px;
+ width: 15px;
+ height: 100%;
+ background: url(../img/search_reset.gif) center center no-repeat;
+}
+.openerp .oe_searchview .oe_searchview_unfold_drawer {
+ position: absolute;
+ top: 0;
+ right: 0;
+ height: 100%;
+ padding: 0 7px 0 4px;
+ color: #cccccc;
+ cursor: pointer;
+}
+.openerp .oe_searchview .oe_searchview_unfold_drawer:hover {
+ color: #999999;
+}
+.openerp .oe_searchview .oe_searchview_unfold_drawer:before {
+ position: absolute;
+ top: 10px;
+ right: 7px;
+ width: 0;
+ height: 0;
+ display: inline-block;
+ content: "";
+ vertical-align: top;
+ border-top: 5px solid #4c4c4c;
+ border-left: 5px solid transparent;
+ border-right: 5px solid transparent;
+ filter: alpha(opacity=50);
+ opacity: 0.5;
+}
+.openerp .oe_searchview .oe_searchview_search {
+ font-size: 1px;
+ letter-spacing: -1px;
+ color: transparent;
+ font-weight: normal;
+ -moz-box-shadow: none;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+ -moz-border-radius: 0;
+ -webkit-border-radius: 0;
+ border-radius: 0;
+ position: absolute;
+ left: 3px;
+ top: 1px;
+ padding: 0;
+ border: none;
+ background: transparent;
+}
+.openerp .oe_searchview .oe_searchview_search:before {
+ font: 21px "mnmliconsRegular";
+ content: "r";
+ color: #a3a3a3;
+}
+.openerp .oe_searchview .oe_searchview_facets {
+ min-height: 22px;
+ margin-left: 15px;
+}
+.openerp .oe_searchview .oe_searchview_facets * {
+ vertical-align: top;
+ display: inline-block;
+ line-height: 17px;
+}
+.openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet {
+ height: 18px;
+ margin: 1px 0;
+ font-size: 11px;
+}
+.openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet:focus {
+ outline: none;
+}
+.openerp .oe_searchview .oe_searchview_facets .oe_searchview_input {
+ padding: 0 0 0 6px;
+ font-size: 12px;
+ height: 16px;
+ margin-top: 3px;
+}
+.openerp .oe_searchview .oe_searchview_facets .oe_searchview_input:focus {
+ outline: none;
+}
+.openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet {
+ position: relative;
+ cursor: pointer;
+ padding: 0;
+ -webkit-font-smoothing: auto;
+}
+.openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet:focus {
+ border-color: #a6a6fe;
+ -moz-box-shadow: 0 0 3px 1px #a6a6fe;
+ -webkit-box-shadow: 0 0 3px 1px #a6a6fe;
+ box-shadow: 0 0 3px 1px #a6a6fe;
+}
+.openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet .oe_facet_values {
+ background: #f0f0fa;
+ -moz-border-radius: 0 3px 3px 0;
+ -webkit-border-radius: 0 3px 3px 0;
+ border-radius: 0 3px 3px 0;
+}
+.openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet .oe_facet_category, .openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet .oe_facet_value {
+ height: 18px;
+ padding: 0 4px;
+}
+.openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet .oe_facet_category {
+ color: white;
+ text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
+}
+.openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet .oe_facet_category.oe_i {
+ font-size: 16px;
+}
+.openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet .oe_facet_value {
+ border-left: 1px solid #afafb6;
+ text-shadow: 0 1px 1px white;
+ color: #4c4c4c;
+}
+.openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet .oe_facet_value:last-child {
+ padding-right: 16px;
+}
+.openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet .oe_facet_remove {
+ position: absolute;
+ top: 3px;
+ right: 3px;
+ color: #8786b7;
+ line-height: 8px;
+ width: 12px;
+ height: 12px;
+ padding-top: 1px;
+ text-align: center;
+ font-weight: bold;
+ cursor: pointer;
+ text-shadow: 0 1px 1px white;
+}
+.openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet .oe_facet_remove:hover {
+ color: white;
+ background: #8786b7;
+ text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
+ -moz-border-radius: 2px;
+ -webkit-border-radius: 2px;
+ border-radius: 2px;
+}
+.openerp .oe_searchview.oe_searchview_open_drawer .oe_searchview_drawer {
+ display: block;
+}
+.openerp .oe_searchview .oe_searchview_drawer {
+ position: absolute;
+ z-index: 100;
+ margin-top: 4px;
+ top: 100%;
+ right: -1px;
+ background-color: white;
+ min-width: 100%;
+ display: none;
+ border: 1px solid #afafb6;
+ text-align: left;
+ -moz-border-radius: 4px;
+ -webkit-border-radius: 4px;
+ border-radius: 4px;
+ -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
+ -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
+ box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
+}
+.openerp .oe_searchview .oe_searchview_drawer > div {
+ border-top: 1px solid #cccccc;
+ margin: 0;
+ padding: 8px;
+}
+.openerp .oe_searchview .oe_searchview_drawer > div:first-child {
+ border-top: none;
+ margin: 0;
+}
+.openerp .oe_searchview .oe_searchview_drawer h3 {
+ margin: 8px 4px 4px 12px;
+ color: #7c7bad;
+ font-size: 13px;
+}
+.openerp .oe_searchview .oe_searchview_drawer h4, .openerp .oe_searchview .oe_searchview_drawer h4 * {
+ margin: 0;
+ cursor: pointer;
+ font-weight: normal;
+ display: inline-block;
+}
+.openerp .oe_searchview .oe_searchview_drawer h4:hover, .openerp .oe_searchview .oe_searchview_drawer h4 *:hover {
+ background-color: #f0f0fa;
+}
+.openerp .oe_searchview .oe_searchview_drawer h4:before {
+ content: "▸ ";
+ color: #a3a3a3;
+}
+.openerp .oe_searchview .oe_searchview_drawer button {
+ margin: 4px 0;
+}
+.openerp .oe_searchview .oe_searchview_drawer .button {
+ border: none;
+ background: transparent;
+ padding: 0 2px;
+ -moz-box-shadow: none;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+ -moz-border-radius: 0;
+ -webkit-border-radius: 0;
+ border-radius: 0;
+}
+.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_section {
+ display: table;
+ width: 100%;
+}
+.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_section > div {
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+ display: table-cell;
+ width: 50%;
+}
+.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_section ul {
+ margin: 0 8px 8px;
+ padding: 0;
+ list-style: none;
+}
+.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_section li {
+ list-style: none;
+ padding: 2px 4px 2px 20px;
+ line-height: 14px;
+ color: inherit;
+ cursor: pointer;
+ position: relative;
+}
+.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_section li.oe_selected:before {
+ content: "W";
+ font-family: "entypoRegular" !important;
+ font-size: 24px;
+ font-weight: 300 !important;
+ color: #a3a3a3;
+ position: absolute;
+ left: 4px;
+ top: -2px;
+}
+.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_section li:hover {
+ background-color: #f0f0fa;
+}
+.openerp .oe_searchview .oe_searchview_drawer form {
+ margin-left: 12px;
+}
+.openerp .oe_searchview .oe_searchview_drawer form p {
+ margin: 4px 0;
+ line-height: 18px;
+}
+.openerp .oe_searchview .oe_searchview_drawer form button {
+ margin: 0 0 8px 0;
+}
+.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_custom {
+ padding: 0 8px 8px 8px;
+}
+.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_custom form {
+ display: none;
+}
+.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_custom li {
+ cursor: pointer;
+ position: relative;
+ line-height: 14px;
+ padding: 2px 4px 2px 20px;
+}
+.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_custom li:hover {
+ background-color: #f0f0fa;
+}
+.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_custom li button {
+ position: absolute;
+ top: 0;
+ right: 5px;
+}
+.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_dashboard form {
+ display: none;
+ margin-top: 2px;
+}
+.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_advanced form {
+ display: none;
+ margin-top: 8px;
+}
+.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_advanced button.oe_add_condition:before {
+ content: "Z";
+ font-family: "entypoRegular" !important;
+ font-size: 24px;
+ font-weight: 300 !important;
+ margin-right: 4px;
+}
+.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_advanced ul {
+ list-style: none;
+ padding: 0;
+}
+.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_advanced li {
+ position: relative;
+ list-style: none;
+ margin: 0;
+ white-space: nowrap;
+}
+.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_advanced li:first-child .searchview_extended_prop_or {
+ visibility: hidden;
+}
+.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_advanced .searchview_extended_prop_or {
+ opacity: 0.5;
+ margin-left: -14px;
+}
+.openerp .oe_searchview .oe_searchview_drawer .oe_opened h4:before {
+ content: "▾ ";
+ position: relative;
+ top: -1px;
+}
+.openerp .oe_searchview .oe_searchview_drawer .oe_opened form {
+ display: block;
+}
+.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_custom_delete, .openerp .oe_searchview .oe_searchview_drawer .searchview_extended_delete_prop {
+ display: inline-block;
+ width: 12px;
+ height: 12px;
+ line-height: 12px;
+ padding: 1px;
+ color: #8786b7;
+ line-height: 8px;
+ text-align: center;
+ font-weight: bold;
+ text-shadow: 0 1px 1px white;
+}
+.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_custom_delete:hover, .openerp .oe_searchview .oe_searchview_drawer .searchview_extended_delete_prop:hover {
+ text-decoration: none;
+ color: white;
+ background: #8786b7;
+ text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
+ -moz-border-radius: 2px;
+ -webkit-border-radius: 2px;
+ border-radius: 2px;
+}
+.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_custom_delete {
+ display: none;
+ position: absolute;
+ bottom: 1px;
+ right: 4px;
+}
+.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_custom_private:hover .oe_searchview_custom_delete, .openerp .oe_searchview .oe_searchview_drawer .oe_searchview_custom_public:hover .oe_searchview_custom_delete {
+ display: inline-block;
+}
+.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_custom_public:after {
+ content: ",";
+ font-family: "entypoRegular" !important;
+ font-size: 22px;
+ font-weight: 300 !important;
+ margin: 0 0 0 4px;
+ padding: 0;
+}
+.openerp .oe_view_nocontent {
+ padding: 15px;
+ margin-top: 0;
+ color: #777777;
+ font-size: 125%;
+ max-width: 700px;
+}
+.openerp .oe_view_nocontent .oe_view_nocontent_create {
+ background: transparent url(/web/static/src/img/view_empty_arrow.png) no-repeat 7px 0;
+ margin-top: 0;
+ padding-top: 35px;
+ min-height: 28px;
+ color: #4c4c4c;
+}
+.openerp .oe_view_nocontent > p {
+ padding-left: 95px;
+}
+.openerp .oe_view_nocontent .oe_empty_custom_dashboard {
+ background: transparent url(/web/static/src/img/graph_background.png) no-repeat 0 0;
+ margin-top: -15px;
+ padding: 100px 0 0 137px;
+ min-height: 327px;
+ margin-left: -15px;
+}
+.openerp .oe_view.oe_cannot_create .oe_view_nocontent_create {
+ display: none;
+}
+.openerp .oe_formview {
+ background: white;
+}
+.openerp .oe_form_dropdown_section {
+ position: relative;
+ display: inline-block;
+}
+.openerp .oe_form_invalid input, .openerp .oe_form_invalid select, .openerp .oe_form_invalid textarea {
+ background-color: #ff6666 !important;
+ border: 1px solid #dd0000 !important;
+}
+.openerp .oe_view_manager_current .oe_form_editable .oe_highlight {
+ color: #404040;
+ background: none;
+}
+.openerp .oe_view_manager_current .oe_form_editable button.oe_highlight {
+ background-color: #efefef;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#efefef), to(#d8d8d8));
+ background-image: -webkit-linear-gradient(top, #efefef, #d8d8d8);
+ background-image: -moz-linear-gradient(top, #efefef, #d8d8d8);
+ background-image: -ms-linear-gradient(top, #efefef, #d8d8d8);
+ background-image: -o-linear-gradient(top, #efefef, #d8d8d8);
+ background-image: linear-gradient(to bottom, #efefef, #d8d8d8);
+ -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset;
+ -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset;
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset;
+}
+.openerp .oe_view_manager_current .oe_form_editable button.oe_highlight:active {
+ background-color: #e3e3e3;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#e3e3e3), to(#f6f6f6));
+ background-image: -webkit-linear-gradient(top, #e3e3e3, #f6f6f6);
+ background-image: -moz-linear-gradient(top, #e3e3e3, #f6f6f6);
+ background-image: -ms-linear-gradient(top, #e3e3e3, #f6f6f6);
+ background-image: -o-linear-gradient(top, #e3e3e3, #f6f6f6);
+ background-image: linear-gradient(to bottom, #e3e3e3, #f6f6f6);
+ -moz-box-shadow: none;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+.openerp .oe_view_manager_current .oe_form_editable button.oe_highlight:hover {
+ background-color: #f6f6f6;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#f6f6f6), to(#e3e3e3));
+ background-image: -webkit-linear-gradient(top, #f6f6f6, #e3e3e3);
+ background-image: -moz-linear-gradient(top, #f6f6f6, #e3e3e3);
+ background-image: -ms-linear-gradient(top, #f6f6f6, #e3e3e3);
+ background-image: -o-linear-gradient(top, #f6f6f6, #e3e3e3);
+ background-image: linear-gradient(to bottom, #f6f6f6, #e3e3e3);
+ -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset;
+ -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset;
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset;
+}
+.openerp .oe_form_invisible {
+ display: none !important;
+}
+.openerp .oe_form_readonly .oe_edit_only, .openerp .oe_form_readonly .oe_form_field:empty {
+ display: none !important;
+}
+.openerp .oe_form_readonly .oe_form .oe_form_field_date {
+ width: auto;
+}
+.openerp .oe_form_nosheet {
+ margin: 16px;
+}
+.openerp .oe_form_nosheet > header {
+ margin: -16px -16px 0 -16px;
+ padding: 0;
+}
+.openerp .oe_form_sheetbg {
+ padding: 16px 0;
+}
+.openerp .oe_form_sheet_width {
+ min-width: 650px;
+ max-width: 860px;
+ margin: 0 auto;
+}
+.openerp .oe_form_sheet {
+ background: white;
+ min-height: 330px;
+ padding: 16px;
+}
+.openerp .oe_application .oe_form_sheetbg {
+ background: url(/web/static/src/img/form_sheetbg.png);
+ border-bottom: 1px solid #dddddd;
+}
+.openerp .oe_application .oe_form_sheet {
+ border: 1px solid #c8c8d3;
+ -moz-box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
+ -webkit-box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
+ box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
+}
+.openerp .oe_application .oe_form_sheet .ui-tabs {
+ margin: 0 -16px;
+}
+.openerp .oe_application .oe_form_sheet .oe_notebook_page {
+ padding: 0 16px;
+}
+.openerp .oe_form header {
+ position: relative;
+ border-bottom: 1px solid #cacaca;
+ padding-left: 2px;
+ background-color: #fcfcfc;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#fcfcfc), to(#dedede));
+ background-image: -webkit-linear-gradient(top, #fcfcfc, #dedede);
+ background-image: -moz-linear-gradient(top, #fcfcfc, #dedede);
+ background-image: -ms-linear-gradient(top, #fcfcfc, #dedede);
+ background-image: -o-linear-gradient(top, #fcfcfc, #dedede);
+ background-image: linear-gradient(to bottom, #fcfcfc, #dedede);
+}
+.openerp .oe_form header > span {
+ margin-left: 4px;
+}
+.openerp .oe_form header ul {
+ display: inline-block;
+ float: right;
+}
+.openerp .oe_form header .oe_button {
+ margin: 3px 2px 1px;
+}
+.openerp .oe_form header .oe_button:first-child {
+ margin-left: 6px;
+}
+.openerp .oe_form header .oe_tags {
+ margin: 5px 0 0 5px;
+ width: 400px;
+ padding-bottom: 0;
+}
+.openerp .oe_form div.oe_chatter {
+ min-width: 650px;
+ max-width: 860px;
+ margin: 0 auto;
+ padding: 16px 0 48px;
+}
+.openerp .oe_form div.oe_form_configuration p, .openerp .oe_form div.oe_form_configuration ul, .openerp .oe_form div.oe_form_configuration ol {
+ color: #aaaaaa;
+ max-width: 650px;
+}
+.openerp .oe_form div.oe_form_configuration label {
+ min-width: 150px;
+}
+.openerp .oe_form div.oe_form_configuration .oe_form_group_cell_label {
+ padding: 1px 0;
+}
+.openerp .oe_form div.oe_form_configuration .oe_form_group_cell div div {
+ padding: 1px 0;
+}
+.openerp .oe_form .oe_subtotal_footer {
+ width: 1% !important;
+}
+.openerp .oe_form .oe_subtotal_footer td.oe_form_group_cell {
+ text-align: right;
+ padding: 0 !important;
+}
+.openerp .oe_form .oe_subtotal_footer td.oe_form_group_cell_label {
+ border-right: none;
+}
+.openerp .oe_form .oe_subtotal_footer .oe_subtotal_footer_separator {
+ width: 108px;
+ border-top: 1px solid #cacaca;
+ margin-top: 4px;
+ padding-top: 4px;
+ font-weight: bold;
+ font-size: 18px;
+}
+.openerp .oe_form .oe_subtotal_footer label:after {
+ content: ":";
+}
+.openerp .oe_form .oe_subtotal_footer label.oe_subtotal_footer_separator {
+ font-weight: bold !important;
+ padding: 2px 11px 2px 0px !important;
+}
+.openerp .oe_form .oe_subtotal_footer label.oe_form_label_help {
+ font-weight: normal;
+}
+.openerp .oe_form .oe_form_button {
+ margin: 2px;
+}
+.openerp .oe_form td.oe_form_group_cell_label {
+ border-right: 1px solid #dddddd;
+ padding: 2px 0px;
+}
+.openerp .oe_form td.oe_form_group_cell_label label {
+ line-height: 18px;
+ display: block;
+ min-width: 140px;
+}
+.openerp .oe_form td.oe_form_group_cell + .oe_form_group_cell {
+ padding: 2px 0 2px 8px;
+}
+.openerp .oe_form .oe_form_group {
+ width: 100%;
+ margin: 9px 0 9px 0;
+}
+.openerp .oe_form .oe_form_group .oe_form_group_cell.oe_group_right {
+ padding-left: 20px;
+}
+.openerp .oe_form .oe_form_label_help[for], .openerp .oe_form .oe_form_label[for] {
+ font-weight: bold;
+ white-space: nowrap;
+ padding-right: 8px;
+}
+.openerp .oe_form .oe_form_label_help[for] span, .openerp .oe_form .oe_form_label[for] span {
+ font-size: 80%;
+ color: darkGreen;
+ vertical-align: top;
+ position: relative;
+ top: -4px;
+ padding: 0 2px;
+}
+.openerp .oe_horizontal_border {
+ border-bottom: 1px solid black;
+}
+.openerp .oe_horizontal_separator {
+ font-weight: bold;
+ font-size: 20px;
+ margin: 15px 0px 10px 0px;
+ color: #7c7bad;
+}
+.openerp .oe_horizontal_separator:empty {
+ height: 5px;
+}
+.openerp .oe_vertical_separator {
+ border-left: 1px solid #666666;
+ padding: 0 4px 0 4px;
+}
+.openerp .oe_form_field_progressbar {
+ display: inline-block;
+ min-width: 70px;
+}
+.openerp .oe_form_field_progressbar.ui-progressbar {
+ height: 22px;
+ font-size: 10px;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+ border: 1px solid #999999;
+ -moz-border-radius: 3px;
+ -webkit-border-radius: 3px;
+ border-radius: 3px;
+ background: white;
+ min-width: 50px;
+}
+.openerp .oe_form_field_progressbar.ui-progressbar span {
+ position: absolute;
+ margin-left: 10px;
+ font-weight: bold;
+}
+.openerp .oe_form_field_progressbar.ui-progressbar .ui-widget-header {
+ background: #cccccc url(/web/static/lib/jquery.ui/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x;
+}
+.openerp .oe_form .oe_form_field_text {
+ width: 100%;
+}
+.openerp .oe_form .oe_form_field_char input,
+.openerp .oe_form .oe_form_field_url input,
+.openerp .oe_form .oe_form_field_email input,
+.openerp .oe_form .oe_form_field_text textarea,
+.openerp .oe_form .oe_form_field_selection select {
+ width: 100%;
+}
+.openerp .oe_form .oe_form_field_text.oe_inline, .openerp .oe_form .oe_form_field_text.oe_inline > textarea {
+ width: 500px;
+}
+.openerp .oe_form h1, .openerp .oe_form h2, .openerp .oe_form h3, .openerp .oe_form h4, .openerp .oe_form h5, .openerp .oe_form h6 {
+ margin: 0 0 4px 0;
+}
+.openerp .oe_form h1 input, .openerp .oe_form h2 input, .openerp .oe_form h3 input, .openerp .oe_form h4 input, .openerp .oe_form h5 input, .openerp .oe_form h6 input {
+ height: inherit !important;
+ font-size: inherit;
+}
+.openerp .oe_form .oe_form_field {
+ width: 100%;
+ display: inline-block;
+ padding: 2px 2px 2px 0px;
+}
+.openerp .oe_form .oe_form_field input {
+ margin: 0px;
+}
+.openerp .oe_form input[type="text"], .openerp .oe_form input[type="password"], .openerp .oe_form input[type="file"], .openerp .oe_form select {
+ height: 22px;
+ padding-top: 2px;
+}
+.openerp .oe_form input[type="text"], .openerp .oe_form input[type="password"], .openerp .oe_form input[type="file"], .openerp .oe_form select, .openerp .oe_form textarea {
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+ background: white;
+ min-width: 60px;
+ color: #1f1f1f;
+}
+.openerp .oe_form input[readonly], .openerp .oe_form select[readonly], .openerp .oe_form textarea[readonly], .openerp .oe_form input[disabled], .openerp .oe_form select[disabled] {
+ background: #e5e5e5 !important;
+ color: #666666;
+}
+.openerp .oe_form textarea[disabled] {
+ border: none;
+ padding-left: 8px;
+ -moz-box-shadow: none;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+ -moz-border-radius: 0px;
+ -webkit-border-radius: 0px;
+ border-radius: 0px;
+}
+.openerp .oe_form textarea.oe_inline[disabled] {
+ border-left: 8px solid #eeeeee;
+}
+.openerp .oe_form .oe_form_field_url button img {
+ vertical-align: top;
+}
+.openerp .oe_form .oe_form_field_date,
+.openerp .oe_form .oe_form_field_datetime {
+ white-space: nowrap;
+}
+.openerp .oe_form .oe_form_field_boolean {
+ padding-top: 4px;
+ width: auto;
+}
+.openerp .oe_form .oe_datepicker_container {
+ display: none;
+}
+.openerp .oe_form .oe_datepicker_root {
+ display: inline-block;
+}
+.openerp .oe_form .oe_form_required input:not([disabled]):not([readonly]), .openerp .oe_form .oe_form_required select:not([disabled]):not([readonly]), .openerp .oe_form .oe_form_required textarea:not([disabled]):not([readonly]) {
+ background-color: #d2d2ff !important;
+}
+.openerp .oe_form .oe_form_invalid input, .openerp .oe_form .oe_form_invalid select, .openerp .oe_form .oe_form_invalid textarea {
+ background-color: #ff6666 !important;
+ border: 1px solid #dd0000 !important;
+}
+.openerp .oe_form .oe_input_icon {
+ cursor: pointer;
+ margin: 3px 0 0 -21px;
+ vertical-align: top;
+}
+.openerp .oe_form .oe_input_icon_disabled {
+ position: absolute;
+ cursor: default;
+ opacity: 0.5;
+ filter: alpha(opacity=50);
+ right: 5px;
+ top: 3px;
+}
+.openerp .oe_form .oe_form_field_with_button.oe_no_button > .oe_button {
+ display: none;
+}
+.openerp .oe_form .oe_form_field_with_button:not(.oe_no_button) > .oe_button {
+ float: right;
+ -moz-border-radius: 0;
+ -webkit-border-radius: 0;
+ border-radius: 0;
+ border-bottom-left-radius: 0px;
+ height: 22px;
+}
+.openerp .oe_form .oe_form_field_with_button input {
+ width: 100%;
+}
+.openerp .oe_form .oe_form_field_with_button > div {
+ position: relative;
+ overflow: hidden;
+}
+.openerp .oe_form .oe_form_embedded_html {
+ position: relative;
+ width: 600px;
+ margin-left: 130px;
+ margin-top: 32px;
+ margin-bottom: 32px;
+ text-align: justify;
+}
+.openerp .oe_form_editable .oe_form .oe_form_field_integer input {
+ width: 6em !important;
+}
+.openerp .oe_form_editable .oe_form .oe_form_field_float input {
+ width: 7em !important;
+}
+.openerp .oe_form_editable .oe_form .oe_form_field_date input {
+ width: 7.5em !important;
+}
+.openerp .oe_form_editable .oe_form .oe_form_field_datetime input {
+ width: 11.5em !important;
+}
+.openerp .oe_hidden_input_file {
+ position: relative;
+}
+.openerp .oe_hidden_input_file input.oe_form_binary_file {
+ z-index: 0;
+ line-height: 0;
+ font-size: 12px;
+ position: absolute;
+ top: 1px;
+ left: 0;
+ right: 0;
+ opacity: 0;
+ filter: alpha(opacity=0);
+ -ms-filter: "alpha(opacity=0)";
+ margin: 0;
+ padding: 0;
+}
+.openerp .oe_form .oe_form_field_image {
+ padding: 0;
+ position: relative;
+ display: inline-block;
+ width: auto;
+ vertical-align: top;
+}
+.openerp .oe_form .oe_form_field_image .oe_form_field_image_controls {
+ position: absolute;
+ top: 1px;
+ padding: 4px;
+ width: 100%;
+ display: none;
+ text-align: center;
+ color: #eeeeee;
+ background: rgba(37, 37, 37, 0.9);
+ -moz-border-radius: 3px 3px 0 0;
+ -webkit-border-radius: 3px 3px 0 0;
+ border-radius: 3px 3px 0 0;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+}
+.openerp .oe_form .oe_form_field_image:hover .oe_form_field_image_controls {
+ display: block;
+}
+.openerp .oe_form_field_many2one td:first-child {
+ position: relative;
+}
+.openerp .oe_form_field_many2one span.oe_m2o_drop_down_button {
+ position: absolute;
+ top: 2px;
+ right: 0px;
+}
+.openerp .oe_form_field_many2one .oe_m2o_cm_button {
+ line-height: 14px;
+ float: right;
+ padding-left: 2px;
+}
+.openerp.ui-autocomplete li.oe_m2o_dropdown_option a {
+ font-style: italic;
+ padding-left: 2em;
+}
+.openerp.ui-autocomplete li:not(.oe_m2o_dropdown_option) + li.oe_m2o_dropdown_option {
+ margin-top: 10px;
+}
+.openerp ul.oe_form_status, .openerp ul.oe_form_status_clickable {
+ display: inline-block;
+ margin: 0;
+ padding: 0 18px 0 0;
+}
+.openerp ul.oe_form_status li, .openerp ul.oe_form_status_clickable li {
+ display: inline-block;
+ list-style-type: none;
+ margin: 0 -18px 0 0;
+ padding: 0;
+ background-color: #fcfcfc;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#fcfcfc), to(#dedede));
+ background-image: -webkit-linear-gradient(top, #fcfcfc, #dedede);
+ background-image: -moz-linear-gradient(top, #fcfcfc, #dedede);
+ background-image: -ms-linear-gradient(top, #fcfcfc, #dedede);
+ background-image: -o-linear-gradient(top, #fcfcfc, #dedede);
+ background-image: linear-gradient(to bottom, #fcfcfc, #dedede);
+}
+.openerp ul.oe_form_status li:first-child .label, .openerp ul.oe_form_status_clickable li:first-child .label {
+ border-left: 1px solid #cacaca;
+ padding-left: 14px;
+}
+.openerp ul.oe_form_status li:last-child, .openerp ul.oe_form_status_clickable li:last-child {
+ border-right: 1px solid #cacaca;
+}
+.openerp ul.oe_form_status li:last-child .label, .openerp ul.oe_form_status_clickable li:last-child .label {
+ padding-right: 14px;
+}
+.openerp ul.oe_form_status li:last-child .arrow, .openerp ul.oe_form_status_clickable li:last-child .arrow {
+ display: none;
+}
+.openerp ul.oe_form_status li .label, .openerp ul.oe_form_status_clickable li .label {
+ color: #4c4c4c;
+ text-shadow: 0 1px 1px #fcfcfc, 0 -1px 1px #dedede;
+ padding: 7px;
+ display: inline-block;
+ padding-left: 24px;
+ margin: 0;
+ position: relative;
+}
+.openerp ul.oe_form_status li .arrow, .openerp ul.oe_form_status_clickable li .arrow {
+ width: 17px;
+ display: inline-block;
+ vertical-align: top;
+ overflow: hidden;
+ margin-left: -5px;
+}
+.openerp ul.oe_form_status li .arrow span, .openerp ul.oe_form_status_clickable li .arrow span {
+ position: relative;
+ width: 24px;
+ height: 24px;
+ display: inline-block;
+ margin-left: -12px;
+ margin-top: 3px;
+ box-shadow: -1px 1px 2px rgba(255, 255, 255, 0.2), inset -1px 1px 1px rgba(0, 0, 0, 0.2);
+ background-color: #dedede;
+ background: -moz-linear-gradient(135deg, #dedede, #fcfcfc);
+ background: -o-linear-gradient(135deg, #fcfcfc, #dedede);
+ background: -webkit-gradient(linear, left top, right bottom, from(#fcfcfc), to(#dedede));
+ -moz-border-radius: 3px;
+ -webkit-border-radius: 3px;
+ border-radius: 3px;
+ -webkit-transform: rotate(45deg);
+ -moz-transform: rotate(45deg);
+ -ms-transform: rotate(45deg);
+ -o-transform: rotate(45deg);
+ transform: rotate(45deg);
+}
+.openerp ul.oe_form_status li.oe_active, .openerp ul.oe_form_status_clickable li.oe_active {
+ background-color: #729fcf;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#729fcf), to(#3465a4));
+ background-image: -webkit-linear-gradient(top, #729fcf, #3465a4);
+ background-image: -moz-linear-gradient(top, #729fcf, #3465a4);
+ background-image: -ms-linear-gradient(top, #729fcf, #3465a4);
+ background-image: -o-linear-gradient(top, #729fcf, #3465a4);
+ background-image: linear-gradient(to bottom, #729fcf, #3465a4);
+}
+.openerp ul.oe_form_status li.oe_active .arrow span, .openerp ul.oe_form_status_clickable li.oe_active .arrow span {
+ background-color: #3465a4;
+ background: -moz-linear-gradient(135deg, #3465a4, #729fcf);
+ background: -o-linear-gradient(135deg, #729fcf, #3465a4);
+ background: -webkit-gradient(linear, left top, right bottom, from(#729fcf), to(#3465a4));
+}
+.openerp ul.oe_form_status li.oe_active .label, .openerp ul.oe_form_status_clickable li.oe_active .label {
+ color: white;
+ text-shadow: 0 1px 1px #729fcf, 0 -1px 1px #3465a4;
+}
+.openerp ul.oe_form_status_clickable li {
+ cursor: pointer;
+}
+.openerp ul.oe_form_status_clickable li:hover {
+ background-color: #e8e8e8;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#cacaca));
+ background-image: -webkit-linear-gradient(top, #e8e8e8, #cacaca);
+ background-image: -moz-linear-gradient(top, #e8e8e8, #cacaca);
+ background-image: -ms-linear-gradient(top, #e8e8e8, #cacaca);
+ background-image: -o-linear-gradient(top, #e8e8e8, #cacaca);
+ background-image: linear-gradient(to bottom, #e8e8e8, #cacaca);
+}
+.openerp ul.oe_form_status_clickable li:hover .label {
+ text-shadow: 0 -1px 1px #fcfcfc, 0 1px 1px #dedede;
+}
+.openerp ul.oe_form_status_clickable li:hover .arrow span {
+ background-color: #e8e8e8;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#cacaca));
+ background-image: -webkit-linear-gradient(top, #e8e8e8, #cacaca);
+ background-image: -moz-linear-gradient(top, #e8e8e8, #cacaca);
+ background-image: -ms-linear-gradient(top, #e8e8e8, #cacaca);
+ background-image: -o-linear-gradient(top, #e8e8e8, #cacaca);
+ background-image: linear-gradient(to bottom, #e8e8e8, #cacaca);
+}
+.openerp ul.oe_form_status_clickable li .label {
+ color: #7c7bad;
+}
+.openerp ul.oe_form_status_clickable li.oe_active:hover {
+ background-color: #4c85c2;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#4c85c2), to(#284d7d));
+ background-image: -webkit-linear-gradient(top, #4c85c2, #284d7d);
+ background-image: -moz-linear-gradient(top, #4c85c2, #284d7d);
+ background-image: -ms-linear-gradient(top, #4c85c2, #284d7d);
+ background-image: -o-linear-gradient(top, #4c85c2, #284d7d);
+ background-image: linear-gradient(to bottom, #4c85c2, #284d7d);
+}
+.openerp ul.oe_form_status_clickable li.oe_active:hover .label {
+ text-shadow: 0 -1px 1px #729fcf, 0 1px 1px #3465a4;
+}
+.openerp ul.oe_form_status_clickable li.oe_active:hover .arrow span {
+ background-color: #284d7d;
+ background: -moz-linear-gradient(135deg, #284d7d, #4c85c2);
+ background: -o-linear-gradient(135deg, #4c85c2, #284d7d);
+ background: -webkit-gradient(linear, left top, right bottom, from(#4c85c2), to(#284d7d));
+}
+.openerp .oe_form .oe_form_field_one2many > .oe_view_manager .oe_list_pager_single_page {
+ display: none;
+}
+.openerp .oe_form_field_one2many > .oe_view_manager .oe_list_pager_single_page, .openerp .oe_form_field_many2many > .oe_view_manager .oe_list_pager_single_page {
+ display: none !important;
+}
+.openerp .oe_form_field_one2many .oe_form_field_one2many_list_row_add, .openerp .oe_form_field_many2many .oe_form_field_one2many_list_row_add {
+ font-weight: bold;
+}
+.openerp .oe_form_field_one2many .oe_list_content > thead, .openerp .oe_form_field_many2many .oe_list_content > thead {
+ border-bottom: 1px;
+}
+.openerp .oe_form_field_one2many .oe_list_content > tbody tr:nth-child(odd), .openerp .oe_form_field_many2many .oe_list_content > tbody tr:nth-child(odd) {
+ background: transparent;
+}
+.openerp .oe_form_field_one2many .oe_list .oe_list_edit_row_save, .openerp .oe_form_field_many2many .oe_list .oe_list_edit_row_save {
+ background: url(/web/static/src/img/iconset-b-remove.png) 50% 50% no-repeat;
+}
+.openerp .oe_form_field_one2many .oe_list .oe_list_edit_row_save:before, .openerp .oe_form_field_many2many .oe_list .oe_list_edit_row_save:before {
+ visibility: hidden;
+}
+.openerp .oe_form_field_one2many > .oe_view_manager .oe_header_row_top, .openerp .oe_form_field_many2many > .oe_view_manager .oe_header_row_top {
+ display: none;
+}
+.openerp .oe_form_field_one2many > .oe_view_manager .oe_view_manager_header2 td, .openerp .oe_form_field_many2many > .oe_view_manager .oe_view_manager_header2 td {
+ padding: 0px 8px;
+ line-height: 16px;
+}
+.openerp .oe_form_field_one2many > .oe_view_manager .oe_view_manager_header2 td .oe_i, .openerp .oe_form_field_many2many > .oe_view_manager .oe_view_manager_header2 td .oe_i {
+ font-size: 13px;
+}
+.openerp .oe_form_field_one2many > .oe_view_manager .oe_view_manager_header2 td .oe_pager_group, .openerp .oe_form_field_many2many > .oe_view_manager .oe_view_manager_header2 td .oe_pager_group {
+ height: auto;
+ line-height: 16px;
+}
+.openerp .oe_form_field_one2many > .oe_view_manager .oe_view_manager_header2 td .oe_pager_group li, .openerp .oe_form_field_many2many > .oe_view_manager .oe_view_manager_header2 td .oe_pager_group li {
+ height: auto;
+ line-height: 16px;
+}
+.openerp .oe_form_field_one2many .oe_list_buttons.oe_editing .oe_list_save, .openerp .oe_form_field_many2many .oe_list_buttons.oe_editing .oe_list_save {
+ visibility: hidden;
+}
+.openerp .oe_form_editable .oe_list_editable .oe_list_content td.oe_required {
+ background-color: #d2d2ff;
+}
+.openerp .oe_form_editable .oe_list_editable .oe_list_content td.oe_readonly {
+ background-color: #eeeeee;
+}
+.openerp .oe_list_editable .oe_list_content td.oe_list_field_cell {
+ padding: 4px 6px 3px 6px;
+}
+.openerp .oe_list.oe_list_editable td.oe_list_record_delete {
+ position: absolute;
+}
+.openerp .oe_list.oe_list_editable.oe_editing .oe_edition .oe_list_field_cell:not(.oe_readonly) {
+ color: transparent;
+}
+.openerp .oe_list.oe_list_editable.oe_editing .oe_edition .oe_list_field_cell:not(.oe_readonly) * {
+ visibility: hidden;
+}
+.openerp .oe_list.oe_list_editable.oe_editing .oe_m2o_drop_down_button {
+ top: 5px;
+}
+.openerp .oe_list.oe_list_editable.oe_editing .oe_m2o_cm_button {
+ display: none;
+}
+.openerp .oe_list.oe_list_editable.oe_editing .oe_form_field input, .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field textarea {
+ height: 27px;
+}
+.openerp .oe_list.oe_list_editable.oe_editing .oe_form_field input, .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field textarea {
+ -moz-border-radius: 0;
+ -webkit-border-radius: 0;
+ border-radius: 0;
+ border: 1px solid #aaaaff;
+ margin: 0;
+}
+.openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_form_field_float input, .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_form_view_integer input {
+ text-align: right;
+ width: 100% !important;
+}
+.openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_form_field_datetime > span, .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_form_field_date > span {
+ width: 100% !important;
+}
+.openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_form_field_datetime input.oe_datepicker_master, .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_form_field_date input.oe_datepicker_master {
+ width: 100% !important;
+}
+.openerp .oe_list.oe_list_editable.oe_editing .oe_form_field .oe_form_field_float, .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field .oe_form_view_integer, .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_form_field_datetime, .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_form_field_date {
+ min-width: 0 !important;
+ max-width: none !important;
+}
+.openerp .oe_list_group_name {
+ white-space: nowrap;
+}
+.openerp .oe_form .oe_form_field_many2many > .oe_list .oe_list_pager_single_page {
+ display: none;
+}
+.openerp .oe_list_buttons .oe_alternative {
+ visibility: hidden;
+}
+.openerp .oe_list_buttons .oe_list_save, .openerp .oe_list_buttons .oe_list_discard {
+ display: none;
+}
+.openerp .oe_list_buttons.oe_editing .oe_list_add {
+ display: none;
+}
+.openerp .oe_list_buttons.oe_editing .oe_list_save {
+ display: inline-block;
+}
+.openerp .oe_list_buttons.oe_editing .oe_list_discard {
+ display: inline;
+}
+.openerp .oe_list_buttons.oe_editing .oe_alternative {
+ visibility: visible;
+}
+.openerp .oe_list.oe_cannot_edit .oe_list_header_handle, .openerp .oe_list.oe_cannot_edit .oe_list_field_handle {
+ display: none !important;
+ padding: 0 !important;
+}
+.openerp .oe_list.oe_cannot_delete .oe_list_record_delete {
+ display: none !important;
+}
+.openerp .oe_list .oe_form .oe_form_nosheet {
+ margin: 0;
+ padding: 0;
+ border: none;
+}
+.openerp .oe_list .oe_form .oe_form_field {
+ width: auto;
+ position: absolute;
+ margin: 0 !important;
+ padding: 0;
+}
+.openerp .oe_list .oe_list_content .oe_group_header {
+ background-color: #fcfcfc;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#fcfcfc), to(#dedede));
+ background-image: -webkit-linear-gradient(top, #fcfcfc, #dedede);
+ background-image: -moz-linear-gradient(top, #fcfcfc, #dedede);
+ background-image: -ms-linear-gradient(top, #fcfcfc, #dedede);
+ background-image: -o-linear-gradient(top, #fcfcfc, #dedede);
+ background-image: linear-gradient(to bottom, #fcfcfc, #dedede);
+}
+.openerp .oe_list_content {
+ width: 100%;
+}
+.openerp .oe_list_content td:first-child:after, .openerp .oe_list_content th:first-child:after {
+ border-width: 0;
+}
+.openerp .oe_list_content td.oe_number {
+ text-align: right !important;
+ max-width: 100px;
+}
+.openerp .oe_list_content > thead {
+ border-bottom: 2px solid #cacaca;
+ background: #eeeeee;
+ vertical-align: top;
+}
+.openerp .oe_list_content td, .openerp .oe_list_content th {
+ padding: 3px 6px;
+ line-height: 18px;
+}
+.openerp .oe_list_content th.oe_sortable, .openerp .oe_list_content th.oe_sortable div {
+ cursor: pointer;
+}
+.openerp .oe_list_content th.oe_sortable div {
+ position: relative;
+}
+.openerp .oe_list_content th.oe_sortable div:after {
+ position: absolute;
+ right: 6px;
+ content: "";
+ margin-top: 7px;
+ border-width: 0 4px 4px;
+ border-style: solid;
+ border-color: black transparent;
+ visibility: hidden;
+}
+.openerp .oe_list_content th.sortup div:after {
+ visibility: visible;
+ filter: alpha(opacity=60);
+ opacity: 0.6;
+}
+.openerp .oe_list_content th.sortdown div:after {
+ border-bottom: none;
+ border-left: 4px solid transparent;
+ border-right: 4px solid transparent;
+ border-top: 4px solid black;
+ visibility: visible;
+ -moz-box-shadow: none;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+ filter: alpha(opacity=60);
+ opacity: 0.6;
+}
+.openerp .oe_list_content > tbody {
+ cursor: pointer;
+}
+.openerp .oe_list_content > tbody > tr {
+ height: 27px;
+ border-top: 1px solid #dddddd;
+}
+.openerp .oe_list_content > tbody > tr > td.oe_list_field_cell {
+ padding: 3px 6px;
+ white-space: pre-line;
+}
+.openerp .oe_list_content > tbody > tr > td > button, .openerp .oe_list_content > tbody > tr > th > button {
+ border: none;
+ background: transparent;
+ padding: 0;
+ -moz-box-shadow: none;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+.openerp .oe_list_content > tbody > tr > td.oe_list_checkbox:first-child, .openerp .oe_list_content > tbody > tr th.oe_list_checkbox:first-child {
+ width: 17px;
+}
+.openerp .oe_list_content > tbody > tr > td.oe_list_checkbox:first-child:after, .openerp .oe_list_content > tbody > tr th.oe_list_checkbox:first-child:after {
+ border-width: 0;
+}
+.openerp .oe_list_content > tbody > tr:nth-child(odd) {
+ background-color: #f0f0fa;
+ background-color: #f0f0fa;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#f0f0fa), to(#eeeef6));
+ background-image: -webkit-linear-gradient(top, #f0f0fa, #eeeef6);
+ background-image: -moz-linear-gradient(top, #f0f0fa, #eeeef6);
+ background-image: -ms-linear-gradient(top, #f0f0fa, #eeeef6);
+ background-image: -o-linear-gradient(top, #f0f0fa, #eeeef6);
+ background-image: linear-gradient(to bottom, #f0f0fa, #eeeef6);
+}
+.openerp .oe_list_content > tfoot {
+ border-top: 2px solid #cacaca;
+ border-bottom: 1px solid #cacaca;
+ background: #eeeeee;
+ font-weight: bold;
+}
+.openerp .oe_list_content .numeric {
+ text-align: right;
+ width: 82px;
+}
+.openerp .oe_list_content .numeric input {
+ text-align: right;
+}
+.openerp .oe_list_content th.oe_list_header_handle {
+ font-size: 1px;
+ overflow: hidden;
+ text-indent: -9001px;
+}
+.openerp .oe_list_content td.oe_list_field_handle {
+ width: 1em;
+ padding: 0 !important;
+ cursor: ns-resize;
+}
+.openerp .oe_list_content td.oe_list_field_handle .oe_list_handle {
+ font-size: 1px;
+ letter-spacing: -1px;
+ color: transparent;
+ font-weight: normal;
+ margin-right: 7px;
+}
+.openerp .oe_list_content td.oe_list_field_handle .oe_list_handle:before {
+ font: 18px "entypoRegular";
+ content: "}";
+ color: #e0e0e0;
+}
+.openerp .tree_header {
+ background-color: #f0f0f0;
+ border-bottom: 1px solid #cacaca;
+ color: #4c4c4c;
+ padding: 5px;
+ height: 25px;
+}
+.openerp .tree_header button {
+ float: right;
+ height: 27px;
+ margin-right: 5px;
+}
+.openerp .oe-treeview-table {
+ width: 100%;
+ background-color: white;
+ border-spacing: 0;
+ color: #4c4c4c;
+}
+.openerp .oe-treeview-table th {
+ padding: 10px;
+ font-weight: bold;
+ background-color: #f0f0f0;
+ border-bottom: 2px solid #cacaca;
+}
+.openerp .oe-treeview-table td {
+ cursor: pointer;
+ vertical-align: middle;
+ text-align: left;
+ vertical-align: middle;
+ height: 20px;
+ padding-left: 4px;
+ padding-right: 4px;
+ border-right: 1px solid #e7e7e7;
+}
+.openerp .oe-treeview-table td.oe_number {
+ text-align: right !important;
+}
+.openerp .oe-treeview-table tr {
+ border-bottom: 1px solid #d6d6d6;
+}
+.openerp .oe-treeview-table tr:hover {
+ background-color: #e7e7e7;
+}
+.openerp .oe-treeview-table span {
+ font-size: 90%;
+ font-weight: normal;
+ white-space: nowrap;
+ display: block;
+}
+.openerp .oe-treeview-table .treeview-tr.oe-treeview-first {
+ background: transparent url(/web/static/src/img/expand.gif) 0 50% no-repeat;
+}
+.openerp .oe-treeview-table .oe_open .treeview-tr.oe-treeview-first {
+ background-image: url(/web/static/src/img/collapse.gif);
+}
+.openerp .oe-treeview-table .treeview-tr.oe-treeview-first span, .openerp .oe-treeview-table .treeview-td.oe-treeview-first span {
+ margin-left: 16px;
+}
+.openerp .oe_layout_debugging .oe_form_group {
+ outline: 2px dashed green;
+}
+.openerp .oe_layout_debugging .oe_form_group_cell {
+ outline: 1px solid blue;
+}
+.openerp .oe_layout_debugging .oe_form_group:hover, .openerp .oe_layout_debugging .oe_form_group_cell:hover {
+ outline-color: red;
+}
+.openerp .oe_layout_debugging .oe_form_group_row_incomplete > td:last-child:after {
+ content: "[Incomplete Row]";
+ background: red;
+ padding: 2px;
+ font-weight: bold;
+ color: white;
+ float: right;
+}
+.openerp .oe_layout_debugging .oe_form_group_row_incomplete.oe_form_group_row_newline > td:last-child:after {
+ content: "[newline]";
+}
+.openerp .oe_debug_view {
+ float: left;
+}
+.openerp .oe_debug_view_log {
+ font-size: 95%;
+}
+.openerp .oe_debug_view_log label {
+ display: block;
+ width: 49%;
+ text-align: right;
+ float: left;
+ font-weight: bold;
+ color: #000099;
+}
+.openerp .oe_debug_view_log span {
+ display: block;
+ width: 49%;
+ float: right;
+ color: #333333;
+}
.kitten-mode-activated {
background-image: url(http://placekitten.com/g/1365/769);
background-size: cover;
- background-attachment: fixed; }
- .kitten-mode-activated > * {
- opacity: 0.7; }
+ background-attachment: fixed;
+}
+.kitten-mode-activated > * {
+ opacity: 0.7;
+}
div.ui-widget-overlay {
background: black;
filter: alpha(opacity=30);
- opacity: 0.3; }
+ opacity: 0.3;
+}
.ui-widget {
font-family: "Lucida Grande", Helvetica, Verdana, Arial, sans-serif;
color: #4c4c4c;
- font-size: 13px; }
+ font-size: 13px;
+}
.ui-menu {
padding: 2px 0;
@@ -2371,22 +2901,29 @@ div.ui-widget-overlay {
-webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
margin-top: 4px;
- border: 1px solid #afafb6; }
- .ui-menu .ui-menu-item {
- width: 100%;
- padding: 0; }
- .ui-menu .ui-menu-item a {
- padding: 1px 16px; }
- .ui-menu .ui-menu-item a.ui-corner-all {
- -moz-border-radius: 0;
- -webkit-border-radius: 0;
- border-radius: 0; }
- .ui-menu .ui-menu-item a.ui-state-active {
- background: #f0f0fa; }
- .ui-menu .ui-menu-item a.ui-state-hover, .ui-menu .ui-menu-item a.ui-state-active {
- background: #7c7bad; }
+ border: 1px solid #afafb6;
+}
+.ui-menu .ui-menu-item {
+ width: 100%;
+ padding: 0;
+}
+.ui-menu .ui-menu-item a {
+ padding: 1px 16px;
+}
+.ui-menu .ui-menu-item a.ui-corner-all {
+ -moz-border-radius: 0;
+ -webkit-border-radius: 0;
+ border-radius: 0;
+}
+.ui-menu .ui-menu-item a.ui-state-active {
+ background: #f0f0fa;
+}
+.ui-menu .ui-menu-item a.ui-state-hover, .ui-menu .ui-menu-item a.ui-state-active {
+ background: #7c7bad;
+}
.ui-corner-all {
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
- border-radius: 3px; }
+ border-radius: 3px;
+}
diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass
index 568db634815..f84d30a93ea 100644
--- a/addons/web/static/src/css/base.sass
+++ b/addons/web/static/src/css/base.sass
@@ -1547,7 +1547,9 @@ $sheet-max-width: 860px
padding: 100px 0 0 137px
min-height: 327px
margin-left: -15px
-
+ .oe_view.oe_cannot_create
+ .oe_view_nocontent_create
+ display: none
// }}}
// FormView.base and dynamic tags {{{
.oe_formview
@@ -2081,6 +2083,14 @@ $sheet-max-width: 860px
visibility: visible
.oe_list
+ &.oe_cannot_edit
+ .oe_list_header_handle, .oe_list_field_handle
+ display: none !important
+ padding: 0 !important
+ &.oe_cannot_delete
+ .oe_list_record_delete
+ display: none !important
+
.oe_form
.oe_form_nosheet
margin: 0 // FIXME: either class or border should not be by default
@@ -2178,16 +2188,6 @@ $sheet-max-width: 860px
.oe_list_handle
@include text-to-entypo-icon("}",#E0E0E0,18px)
margin-right: 7px
- .oe_list_cannot_create
- .oe_view_nocontent_create
- display: none
- .oe_list_cannot_edit
- .oe_list_header_handle, .oe_list_field_handle
- display: none !important
- padding: 0 !important
- .oe_list_cannot_delete
- .oe_list_record_delete
- display: none !important
// }}}
// Tree view {{{
.tree_header
diff --git a/addons/web/static/src/js/view_list.js b/addons/web/static/src/js/view_list.js
index 4da6136d3cc..75bf6c2f586 100644
--- a/addons/web/static/src/js/view_list.js
+++ b/addons/web/static/src/js/view_list.js
@@ -252,11 +252,6 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
this.$el.html(QWeb.render(this._template, this));
this.$el.addClass(this.fields_view.arch.attrs['class']);
- // add css classes that reflect the (absence of) access rights
- this.$el.toggleClass('oe_list_cannot_create', !this.is_action_enabled('create'))
- .toggleClass('oe_list_cannot_edit', !this.is_action_enabled('edit'))
- .toggleClass('oe_list_cannot_delete', !this.is_action_enabled('delete'));
-
// Head hook
// Selecting records
this.$el.find('.oe_list_record_selector').click(function(){
diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js
index 66dfba99d9f..d373adf514e 100644
--- a/addons/web/static/src/js/views.js
+++ b/addons/web/static/src/js/views.js
@@ -1161,6 +1161,11 @@ instance.web.View = instance.web.Widget.extend({
}
return view_loaded.pipe(function(r) {
self.trigger('view_loaded', r);
+ // add css classes that reflect the (absence of) access rights
+ self.$el.addClass('oe_view')
+ .toggleClass('oe_cannot_create', !self.is_action_enabled('create'))
+ .toggleClass('oe_cannot_edit', !self.is_action_enabled('edit'))
+ .toggleClass('oe_cannot_delete', !self.is_action_enabled('delete'));
});
},
set_default_options: function(options) {
From 33c29251a148b9f1fca64c2d5d10309782eacc42 Mon Sep 17 00:00:00 2001
From: "Bhumi Thakkar (Open ERP)"
Date: Tue, 23 Oct 2012 15:41:19 +0530
Subject: [PATCH 189/227] [IMP] Improve css for calendar.
bzr revid: bth@tinyerp.com-20121023101119-xg8lqvqxt0bqvszi
---
addons/web_calendar/static/src/css/web_calendar.css | 1 +
1 file changed, 1 insertion(+)
diff --git a/addons/web_calendar/static/src/css/web_calendar.css b/addons/web_calendar/static/src/css/web_calendar.css
index 083451f3fbc..6a82b6cea42 100644
--- a/addons/web_calendar/static/src/css/web_calendar.css
+++ b/addons/web_calendar/static/src/css/web_calendar.css
@@ -1059,5 +1059,6 @@ div.openerp .dhx_cal_editor textarea {
}
.openerp .dhx_cal_data {
overflow-y: hidden !important;
+ position: relative;
}
}
\ No newline at end of file
From edc3869ca2004251d13d1908526fc4e0290923cd Mon Sep 17 00:00:00 2001
From: "Bhumi Thakkar (Open ERP)"
Date: Tue, 23 Oct 2012 17:03:53 +0530
Subject: [PATCH 190/227] [IMP] Improve code in sass and used visibility
instead of display attribute.
bzr revid: bth@tinyerp.com-20121023113353-gyl0isk329oh5ixe
---
addons/web/static/src/css/base.css | 33 ++++++++++++++---------------
addons/web/static/src/css/base.sass | 23 ++++++++++----------
2 files changed, 27 insertions(+), 29 deletions(-)
diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css
index a1183109785..30302c517dd 100644
--- a/addons/web/static/src/css/base.css
+++ b/addons/web/static/src/css/base.css
@@ -2932,11 +2932,22 @@ div.ui-widget-overlay {
}
.oe_list_content button, .oe_list_content input[type=checkbox] {
- display: none;
+ visibility: hidden;
}
- .openerp .tree_header button {
- display: none;
+ .openerp .tree_header button, .oe_mail .oe_mail_thread_msg .oe_mail_unread, .oe_mail_fetch_more, .oe_m2o_drop_down_button img, .oe_form_field_one2many_list_row_add {
+ visibility: hidden;
+ }
+
+ a.oe_m2o_cm_button, a.oe_e {
+ visibility: hidden;
+ }
+
+ .openerp {
+ text-shadow: none;
+ }
+ .openerp .oe_form .oe_form_field_date img, .openerp .oe_form .oe_form_field_datetime img {
+ visibility: hidden;
}
.openerp .oe_notebook > li.ui-tabs-selected {
display: block;
@@ -2950,23 +2961,11 @@ div.ui-widget-overlay {
box-shadow: 0px 0px 0px;
}
- .oe_mail .oe_mail_thread_msg .oe_mail_unread, .oe_mail_fetch_more {
- display: none;
- }
-
- .openerp {
- text-shadow: none;
- }
-
.text-core .text-wrap .text-arrow {
background: none;
}
- .oe_m2o_drop_down_button img, .oe_form_field_one2many_list_row_add, a.oe_m2o_cm_button, a.oe_e {
- display: none;
- }
-
- .openerp .oe_form .oe_form_field_date img, .openerp .oe_form .oe_form_field_datetime img {
- display: none;
+ .openerp div.oe_mail_wall {
+ overflow: hidden !important;
}
}
diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass
index da71e280b33..ea3e6ca1efa 100644
--- a/addons/web/static/src/css/base.sass
+++ b/addons/web/static/src/css/base.sass
@@ -2318,10 +2318,16 @@ div.ui-widget-overlay
display: none
.oe_list_content
button, input[type=checkbox]
- display: none
+ visibility: hidden
+ .openerp .tree_header button, .oe_mail .oe_mail_thread_msg .oe_mail_unread, .oe_mail_fetch_more, .oe_m2o_drop_down_button img, .oe_form_field_one2many_list_row_add
+ visibility: hidden
+ a
+ &.oe_m2o_cm_button, &.oe_e
+ visibility: hidden
.openerp
- .tree_header button
- display: none
+ .oe_form
+ .oe_form_field_date img, .oe_form_field_datetime img
+ visibility: hidden
.oe_notebook > li.ui-tabs-selected
display: block
.oe_application
@@ -2331,17 +2337,10 @@ div.ui-widget-overlay
.oe_view_manager_current > .oe_view_manager_header
border: 0px !important
box-shadow: 0px 0px 0px
-
- .oe_mail .oe_mail_thread_msg .oe_mail_unread, .oe_mail_fetch_more
- display: none
- .openerp
text-shadow: none
.text-core .text-wrap .text-arrow
background: none
- .oe_m2o_drop_down_button img, .oe_form_field_one2many_list_row_add, a.oe_m2o_cm_button, a.oe_e
- display: none
- .openerp .oe_form
- .oe_form_field_date img, .oe_form_field_datetime img
- display: none
+ .openerp div.oe_mail_wall
+ overflow: hidden !important
// au BufWritePost,FileWritePost *.sass :!sass --style expanded --line-numbers > "%:p:r.css"
// vim:tabstop=4:shiftwidth=4:softtabstop=4:fdm=marker:
From 910bb4d24e77638a73cbd369f81966bf22dc2e15 Mon Sep 17 00:00:00 2001
From: Antonin Bourguignon
Date: Tue, 23 Oct 2012 14:15:01 +0200
Subject: [PATCH 191/227] [FIX] only fetch the analytic accounts that the
current user has the right to read, avoiding an access error when calling
name_get()
lp bug: https://launchpad.net/bugs/1033505 fixed
bzr revid: abo@openerp.com-20121023121501-gl0wfhdo9zp34wx2
---
addons/analytic/analytic.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/addons/analytic/analytic.py b/addons/analytic/analytic.py
index 1ce483a26cd..21e2d4156fe 100644
--- a/addons/analytic/analytic.py
+++ b/addons/analytic/analytic.py
@@ -255,8 +255,8 @@ class account_analytic_account(osv.osv):
if context is None:
context={}
if context.get('current_model') == 'project.project':
- cr.execute("select analytic_account_id from project_project")
- project_ids = [x[0] for x in cr.fetchall()]
+ project_obj = self.pool.get("account.analytic.account")
+ project_ids = project_obj.search(cr, uid, args)
return self.name_get(cr, uid, project_ids, context=context)
if name:
account = self.search(cr, uid, [('code', '=', name)] + args, limit=limit, context=context)
From f50c720f3e02e211f3d7831a6b88b7d4b8a08f0e Mon Sep 17 00:00:00 2001
From: Fabien Meghazi
Date: Tue, 23 Oct 2012 14:28:33 +0200
Subject: [PATCH 192/227] [ADD] Add menu_id in url state
bzr revid: fme@openerp.com-20121023122833-l9a520bkpe2yty2r
---
addons/web/static/src/js/chrome.js | 1 +
addons/web/static/src/js/views.js | 5 +++++
2 files changed, 6 insertions(+)
diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js
index 3cb4437d1c3..6cf35a14e92 100644
--- a/addons/web/static/src/js/chrome.js
+++ b/addons/web/static/src/js/chrome.js
@@ -1128,6 +1128,7 @@ instance.web.WebClient = instance.web.Client.extend({
}
return $.when(self.action_manager.do_action(action, {
clear_breadcrumbs: true,
+ action_menu_id: self.menu.current_menu,
})).fail(function() {
self.menu.open_menu(options.previous_menu_id);
});
diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js
index d373adf514e..c6b150a4d77 100644
--- a/addons/web/static/src/js/views.js
+++ b/addons/web/static/src/js/views.js
@@ -174,6 +174,9 @@ instance.web.ActionManager = instance.web.Widget.extend({
if(this.inner_action.type == 'ir.actions.act_window') {
state['model'] = this.inner_action.res_model;
}
+ if (this.inner_action.menu_id) {
+ state['menu_id'] = this.inner_action.menu_id;
+ }
if (this.inner_action.id) {
state['action'] = this.inner_action.id;
} else if (this.inner_action.type == 'ir.actions.client') {
@@ -241,6 +244,7 @@ instance.web.ActionManager = instance.web.Widget.extend({
clear_breadcrumbs: false,
on_reverse_breadcrumb: function() {},
on_close: function() {},
+ action_menu_id: null,
});
if (_.isString(action) && instance.web.client_actions.contains(action)) {
var action_client = { type: "ir.actions.client", tag: action };
@@ -266,6 +270,7 @@ instance.web.ActionManager = instance.web.Widget.extend({
pager : !popup && !inline,
display_title : !popup
}, action.flags || {});
+ action.menu_id = options.action_menu_id;
if (!(type in this)) {
console.error("Action manager can't handle action of type " + action.type, action);
return $.Deferred().reject();
From cb713061b57d45162591b979f192994f0a3ce3cf Mon Sep 17 00:00:00 2001
From: Antonin Bourguignon
Date: Tue, 23 Oct 2012 14:38:14 +0200
Subject: [PATCH 193/227] [IMP] var names
bzr revid: abo@openerp.com-20121023123814-wbdrf146em3d39pe
---
addons/analytic/analytic.py | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/addons/analytic/analytic.py b/addons/analytic/analytic.py
index 21e2d4156fe..5ea8c59b848 100644
--- a/addons/analytic/analytic.py
+++ b/addons/analytic/analytic.py
@@ -259,23 +259,23 @@ class account_analytic_account(osv.osv):
project_ids = project_obj.search(cr, uid, args)
return self.name_get(cr, uid, project_ids, context=context)
if name:
- account = self.search(cr, uid, [('code', '=', name)] + args, limit=limit, context=context)
- if not account:
+ account_ids = self.search(cr, uid, [('code', '=', name)] + args, limit=limit, context=context)
+ if not account_ids:
names=map(lambda i : i.strip(),name.split('/'))
for i in range(len(names)):
dom=[('name', operator, names[i])]
if i>0:
- dom+=[('id','child_of',account)]
- account = self.search(cr, uid, dom, limit=limit, context=context)
- newacc = account
+ dom+=[('id','child_of',account_ids)]
+ account_ids = self.search(cr, uid, dom, limit=limit, context=context)
+ newacc = account_ids
while newacc:
newacc = self.search(cr, uid, [('parent_id', 'in', newacc)], limit=limit, context=context)
- account += newacc
+ account_ids += newacc
if args:
- account = self.search(cr, uid, [('id', 'in', account)] + args, limit=limit, context=context)
+ account_ids = self.search(cr, uid, [('id', 'in', account_ids)] + args, limit=limit, context=context)
else:
- account = self.search(cr, uid, args, limit=limit, context=context)
- return self.name_get(cr, uid, account, context=context)
+ account_ids = self.search(cr, uid, args, limit=limit, context=context)
+ return self.name_get(cr, uid, account_ids, context=context)
def create(self, cr, uid, vals, context=None):
contract = super(account_analytic_account, self).create(cr, uid, vals, context=context)
From 8d92a334431a03a655bc42d9f731fdb174ddbdf2 Mon Sep 17 00:00:00 2001
From: niv-openerp
Date: Tue, 23 Oct 2012 14:40:42 +0200
Subject: [PATCH 194/227] [FIX] corrected the field reference
bzr revid: nicolas.vanhoren@openerp.com-20121023124042-u5yfvylxy7a2clfv
---
addons/web/static/src/js/view_form.js | 55 ++++++++++++---------------
1 file changed, 25 insertions(+), 30 deletions(-)
diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js
index 850a334c40b..bd2fed78042 100644
--- a/addons/web/static/src/js/view_form.js
+++ b/addons/web/static/src/js/view_form.js
@@ -4605,16 +4605,6 @@ instance.web.form.FieldReference = instance.web.form.AbstractField.extend(instan
this._super(field_manager, node);
this.reference_ready = true;
},
- on_nop: function() {
- },
- on_selection_changed: function() {
- if (this.reference_ready) {
- var sel = this.selection.get_value();
- this.m2o.field.relation = sel;
- this.m2o.set_value(false);
- this.m2o.$el.toggle(sel !== false);
- }
- },
destroy_content: function() {
if (this.fm) {
this.fm.destroy();
@@ -4655,33 +4645,38 @@ instance.web.form.FieldReference = instance.web.form.AbstractField.extend(instan
.on('focused', null, function () {self.trigger('focused')})
.on('blurred', null, function () {self.trigger('blurred')});
},
- is_false: function() {
- return typeof(this.get_value()) !== 'string';
+ on_selection_changed: function() {
+ if (this.reference_ready) {
+ this.internal_set_value([this.selection.get_value(), false]);
+ this.render_value();
+ }
+ },
+ data_changed: function() {
+ if (this.reference_ready) {
+ this.internal_set_value([this.selection.get_value(), this.m2o.get_value()]);
+ }
+ },
+ set_value: function(val) {
+ if (val) {
+ val = val.split(',');
+ val[0] = val[0] || false;
+ val[1] = val[0] ? (val[1] ? parseInt(val[1], 10) : val[1]) : false;
+ }
+ this._super(val || [false, false]);
+ },
+ get_value: function() {
+ return this.get('value')[0] && this.get('value')[1] ? (this.get('value')[0] + ',' + this.get('value')[1]) : false;
},
render_value: function() {
this.reference_ready = false;
- var vals = [], sel_val, m2o_val;
- if (typeof(this.get('value')) === 'string') {
- vals = this.get('value').split(',');
- }
- sel_val = vals[0] || false;
- m2o_val = vals[1] ? parseInt(vals[1], 10) : vals[1];
if (!this.get("effective_readonly")) {
- this.selection.set_value(sel_val);
+ this.selection.set_value(this.get('value')[0]);
}
- this.m2o.field.relation = sel_val;
- this.m2o.set_value(m2o_val);
+ this.m2o.field.relation = this.get('value')[0];
+ this.m2o.set_value(this.get('value')[1]);
+ this.m2o.$el.toggle(!!this.get('value')[0]);
this.reference_ready = true;
},
- data_changed: function() {
- var model = this.selection.get_value(),
- id = this.m2o.get_value();
- if (typeof(model) === 'string' && typeof(id) === 'number') {
- this.internal_set_value(model + ',' + id);
- } else {
- this.internal_set_value(false);
- }
- },
});
instance.web.form.FieldBinary = instance.web.form.AbstractField.extend(instance.web.form.ReinitializeFieldMixin, {
From 94bc60b31027c36f94d6f07c3a485f4d355b673e Mon Sep 17 00:00:00 2001
From: niv-openerp
Date: Tue, 23 Oct 2012 14:52:13 +0200
Subject: [PATCH 195/227] reverted changes to o2m
bzr revid: nicolas.vanhoren@openerp.com-20121023125213-d7nc1282zmbvk72a
---
addons/web/static/src/js/view_form.js | 25 +++++--------------------
1 file changed, 5 insertions(+), 20 deletions(-)
diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js
index ce6be5b2305..bd2fed78042 100644
--- a/addons/web/static/src/js/view_form.js
+++ b/addons/web/static/src/js/view_form.js
@@ -3234,12 +3234,6 @@ var commands = {
return [6, false, ids];
}
};
-/**
- widget options:
- - reload_on_button: Reload the whole form view if click on a button in a list view.
- If you see this options, do not use it, it's basically a dirty hack to make one
- precise o2m to behave the way we want.
-*/
instance.web.form.FieldOne2Many = instance.web.form.AbstractField.extend({
multi_selection: false,
disable_utility_classes: true,
@@ -3695,8 +3689,7 @@ instance.web.form.One2ManyListView = instance.web.ListView.extend({
readonly: !this.is_action_enabled('edit') || self.o2m.get("effective_readonly")
});
},
- handle_button: function(name, id, call) {
- var _sup = _.bind(this._super, this);
+ do_button_action: function (name, id, callback) {
if (!_.isNumber(id)) {
instance.webclient.notification.warn(
_t("Action Button"),
@@ -3707,22 +3700,14 @@ instance.web.form.One2ManyListView = instance.web.ListView.extend({
var self = this;
this.ensure_saved().pipe(function () {
if (parent_form)
- return parent_form.recursive_save();
+ return parent_form.save();
else
return $.when();
- }).pipe(function () {
- var call;
- debugger;
- if (! self.o2m.options.reload_on_button) {
- call = callback;
- } else {
- call = function() {
- self.o2m.view.recursive_reload();
- };
- }
- _sup(name, id, call);
+ }).then(function () {
+ self.handle_button(name, id, callback);
});
},
+
_before_edit: function () {
this.__ignore_blur = false;
this.editor.form.on('blurred', this, this._on_form_blur);
From cdb0601417a1e114bec809a3082491dbc008cd67 Mon Sep 17 00:00:00 2001
From: niv-openerp
Date: Tue, 23 Oct 2012 14:59:57 +0200
Subject: [PATCH 196/227] got it
bzr revid: nicolas.vanhoren@openerp.com-20121023125957-lfs7yogbygw2uz4a
---
addons/web/static/src/js/view_form.js | 24 ++++++++++++++++++++----
1 file changed, 20 insertions(+), 4 deletions(-)
diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js
index bd2fed78042..72d9725e105 100644
--- a/addons/web/static/src/js/view_form.js
+++ b/addons/web/static/src/js/view_form.js
@@ -3987,9 +3987,12 @@ instance.web.form.FieldMany2ManyTags = instance.web.form.AbstractField.extend(in
},
});
-/*
- * TODO niv: clean those deferred stuff, it could be better
- */
+/**
+ widget options:
+ - reload_on_button: Reload the whole form view if click on a button in a list view.
+ If you see this options, do not use it, it's basically a dirty hack to make one
+ precise o2m to behave the way we want.
+*/
instance.web.form.FieldMany2Many = instance.web.form.AbstractField.extend({
multi_selection: false,
disable_utility_classes: true,
@@ -4118,7 +4121,20 @@ instance.web.form.Many2ManyListView = instance.web.ListView.extend(/** @lends in
readonly: this.getParent().get("effective_readonly")
});
pop.on('write_completed', self, self.reload_content);
- }
+ },
+ do_button_action: function(name, id, callback) {
+ var self = this;
+ var _sup = _.bind(this._super, this);
+ if (! this.m2m_field.options.reload_on_button) {
+ return _sup(name, id, callback);
+ } else {
+ return this.m2m_field.view.save().pipe(function() {
+ return _sup(name, id, function() {
+ self.m2m_field.view.reload();
+ });
+ });
+ }
+ },
});
instance.web.form.FieldMany2ManyKanban = instance.web.form.AbstractField.extend(instance.web.form.CompletionFieldMixin, {
From 9155f0318ec5a180d43449d9f8c5aac58fe8b25b Mon Sep 17 00:00:00 2001
From: Antony Lesuisse
Date: Tue, 23 Oct 2012 16:14:41 +0200
Subject: [PATCH 197/227] [IMP] http dispatching decorators
bzr revid: al@openerp.com-20121023141441-5yc5gso95tl1p157
---
addons/web/http.py | 46 ++++++++++++++++++++++------------------------
1 file changed, 22 insertions(+), 24 deletions(-)
diff --git a/addons/web/http.py b/addons/web/http.py
index 65630768737..1a636971fb5 100644
--- a/addons/web/http.py
+++ b/addons/web/http.py
@@ -128,10 +128,9 @@ class JsonRequest(WebRequest):
"id": null}
"""
- def dispatch(self, controller, method):
+ def dispatch(self, method):
""" Calls the method asked for by the JSON-RPC2 or JSONP request
- :param controller: the instance of the controller which received the request
:param method: the method which received the request
:returns: an utf8 encoded JSON-RPC2 or JSONP reply
@@ -170,9 +169,9 @@ class JsonRequest(WebRequest):
self.jsonrequest = simplejson.loads(request, object_hook=nonliterals.non_literal_decoder)
self.init(self.jsonrequest.get("params", {}))
if _logger.isEnabledFor(logging.DEBUG):
- _logger.debug("--> %s.%s\n%s", controller.__class__.__name__, method.__name__, pprint.pformat(self.jsonrequest))
+ _logger.debug("--> %s.%s\n%s", method.im_class.__name__, method.__name__, pprint.pformat(self.jsonrequest))
response['id'] = self.jsonrequest.get('id')
- response["result"] = method(controller, self, **self.params)
+ response["result"] = method(self, **self.params)
except session.AuthenticationError:
error = {
'code': 100,
@@ -230,16 +229,13 @@ def jsonrequest(f):
the ``session_id``, ``context`` and ``debug`` keys (which are stripped out
beforehand)
"""
- @functools.wraps(f)
- def json_handler(controller, request):
- return JsonRequest(request).dispatch(controller, f)
- json_handler.exposed = True
- return json_handler
+ f.exposed = 'json'
+ return f
class HttpRequest(WebRequest):
""" Regular GET/POST request
"""
- def dispatch(self, controller, method):
+ def dispatch(self, method):
params = dict(self.httprequest.args)
params.update(self.httprequest.form)
params.update(self.httprequest.files)
@@ -250,9 +246,9 @@ class HttpRequest(WebRequest):
akw[key] = value
else:
akw[key] = type(value)
- _logger.debug("%s --> %s.%s %r", self.httprequest.method, controller.__class__.__name__, method.__name__, akw)
+ _logger.debug("%s --> %s.%s %r", self.httprequest.method, method.im_class.__name__, method.__name__, akw)
try:
- r = method(controller, self, **self.params)
+ r = method(self, **self.params)
except xmlrpclib.Fault, e:
r = werkzeug.exceptions.InternalServerError(cgi.escape(simplejson.dumps({
'code': 200,
@@ -317,11 +313,8 @@ def httprequest(f):
merged in the same dictionary), apart from the ``session_id``, ``context``
and ``debug`` keys (which are stripped out beforehand)
"""
- @functools.wraps(f)
- def http_handler(controller, request):
- return HttpRequest(request).dispatch(controller, f)
- http_handler.exposed = True
- return http_handler
+ f.exposed = 'http'
+ return f
#----------------------------------------------------------
# Controller registration with a metaclass
@@ -538,16 +531,21 @@ class Root(object):
"""
if l:
ps = '/' + '/'.join(l)
- meth = 'index'
+ method_name = 'index'
while ps:
c = controllers_path.get(ps)
if c:
- m = getattr(c, meth, None)
- if m and getattr(m, 'exposed', False):
- _logger.debug("Dispatching to %s %s %s", ps, c, meth)
- return m
- ps, _slash, meth = ps.rpartition('/')
- if not ps and meth:
+ method = getattr(c, method_name, None)
+ if method:
+ exposed = getattr(method, 'exposed', False)
+ if exposed == 'json':
+ _logger.debug("Dispatch json to %s %s %s", ps, c, method_name)
+ return lambda request: JsonRequest(request).dispatch(method)
+ elif exposed == 'http':
+ _logger.debug("Dispatch http to %s %s %s", ps, c, method_name)
+ return lambda request: HttpRequest(request).dispatch(method)
+ ps, _slash, method_name = ps.rpartition('/')
+ if not ps and method_name:
ps = '/'
return None
From f57cc2402d2df0b1512c3f8aeeb5ba01024436ba Mon Sep 17 00:00:00 2001
From: "Quentin (OpenERP)"
Date: Tue, 23 Oct 2012 16:47:46 +0200
Subject: [PATCH 198/227] [IMP] survey: code review
bzr revid: qdp-launchpad@openerp.com-20121023144746-aidxyhxho59irw2d
---
addons/survey/survey.py | 6 ++----
addons/survey/survey_view.xml | 2 +-
addons/survey/wizard/survey_answer.py | 4 ++--
addons/survey/wizard/survey_send_invitation.py | 15 ++++++++++-----
4 files changed, 15 insertions(+), 12 deletions(-)
diff --git a/addons/survey/survey.py b/addons/survey/survey.py
index 809079eaedb..3b406484d43 100644
--- a/addons/survey/survey.py
+++ b/addons/survey/survey.py
@@ -152,8 +152,7 @@ class survey(osv.osv):
pages = sur['page_ids']
if not pages:
raise osv.except_osv(_('Warning!'), _('This survey has no question defined. Please define the questions and answers first.'))
- else:
- context.update({'active':False,'survey_id': ids[0]})
+ context.update({'active':False,'survey_id': ids[0]})
return {
'view_type': 'form',
'view_mode': 'form',
@@ -170,8 +169,7 @@ class survey(osv.osv):
pages = sur['page_ids']
if not pages:
raise osv.except_osv(_('Warning!'), _('This survey has no pages defined. Please define pages first.'))
- else:
- context.update({'active':True,'survey_id': ids[0]})
+ context.update({'active':True,'survey_id': ids[0]})
return {
'view_type': 'form',
'view_mode': 'form',
diff --git a/addons/survey/survey_view.xml b/addons/survey/survey_view.xml
index ef3366ee1ee..c01e8b45ce2 100644
--- a/addons/survey/survey_view.xml
+++ b/addons/survey/survey_view.xml
@@ -215,7 +215,7 @@
-
+
diff --git a/addons/survey/wizard/survey_answer.py b/addons/survey/wizard/survey_answer.py
index 7e1417ecdb7..f1a96fa154a 100644
--- a/addons/survey/wizard/survey_answer.py
+++ b/addons/survey/wizard/survey_answer.py
@@ -153,9 +153,9 @@ class survey_question_wiz(osv.osv_memory):
if pag_rec:
title = pag_rec.title
note = pag_rec.note
- question_ids=pag_rec.question_ids
+ question_ids = pag_rec.question_ids
else:
- title=sur_rec.title
+ title = sur_rec.title
xml_form = etree.Element('form', {'string': tools.ustr(title)})
if context.has_key('active') and context.get('active',False) and context.has_key('edit'):
context.update({'page_id' : tools.ustr(p_id),'page_number' : sur_name_rec.page_no , 'transfer' : sur_name_read.transfer})
diff --git a/addons/survey/wizard/survey_send_invitation.py b/addons/survey/wizard/survey_send_invitation.py
index 661c9417180..dd0d6157caf 100644
--- a/addons/survey/wizard/survey_send_invitation.py
+++ b/addons/survey/wizard/survey_send_invitation.py
@@ -67,14 +67,19 @@ class survey_send_invitation(osv.osv_memory):
name += "\t --> " + sur.title + "\n"
if sur.state != 'open':
msg += sur.title + "\n"
- data['mail_subject'] = "Invitation for " + sur.title
- data['mail_subject_existing'] = "Invitation for " + sur.title
+ data['mail_subject'] = _("Invitation for %s") % (sur.title)
+ data['mail_subject_existing'] = "_(Invitation for %s") % (sur.title)
data['mail_from'] = sur.responsible_id.email
if msg:
raise osv.except_osv(_('Warning!'), _('%sSurvey is not in open state') % msg)
- data['mail'] = '''Hello %(name)s, \n\n We are inviting you for following survey. \
- \n ''' + name + '''\n Your login ID: %(login)s, Your password: %(passwd)s
- \n '''+ self.pool.get('ir.config_parameter').get_param(cr, uid, 'web.base.url', default='http://localhost:8069', context=context) + '''\n\n Thanks,'''
+ data['mail'] = _('''
+Hello %(name)s, \n\n
+Please find hereby a survey that we would like you to fill: %s\n
+You can access this survey with the following parameters:
+ Your login ID: %(login)s,\n
+ Your password: %(passwd)s\n
+%s\n\n
+Thanks,''') % (name, self.pool.get('ir.config_parameter').get_param(cr, uid, 'web.base.url', default='http://localhost:8069', context=context))
return data
def create_report(self, cr, uid, res_ids, report_name=False, file_name=False):
From f6a1c4986dc7bcbe2d6d2b0557de00b51ece44c6 Mon Sep 17 00:00:00 2001
From: niv-openerp
Date: Tue, 23 Oct 2012 16:58:58 +0200
Subject: [PATCH 199/227] lot of modifs, still not functionning
bzr revid: nicolas.vanhoren@openerp.com-20121023145858-dg34k7kqi3jkar6z
---
addons/web_graph/controllers/graph.py | 82 +------------
addons/web_graph/static/src/js/graph.js | 154 ++++++++++++++++++++++--
2 files changed, 146 insertions(+), 90 deletions(-)
diff --git a/addons/web_graph/controllers/graph.py b/addons/web_graph/controllers/graph.py
index 21ec7d6e973..bae535a9137 100644
--- a/addons/web_graph/controllers/graph.py
+++ b/addons/web_graph/controllers/graph.py
@@ -8,85 +8,5 @@ class GraphView(openerp.addons.web.controllers.main.View):
@openerp.addons.web.http.jsonrequest
def data_get(self, req, model=None, domain=[], context={}, group_by=[], view_id=False, orientation=False, stacked=False, mode="bar", **kwargs):
- obj = req.session.model(model)
-
- res = obj.fields_view_get(view_id, 'graph')
- fields = res['fields']
- toload = filter(lambda x: x not in fields, group_by)
- if toload:
- fields.update( obj.fields_get(toload, context) )
-
- tree = etree.fromstring(res['arch'])
-
- pos = 0
- xaxis = group_by or []
- yaxis = []
- for field in tree.iter(tag='field'):
- if (field.tag != 'field') or (not field.get('name')):
- continue
- assert field.get('name'), "This tag must have a 'name' attribute."
- if (not group_by) and ((not pos) or field.get('group')):
- xaxis.append(field.get('name'))
- if pos and not field.get('group'):
- yaxis.append(field.get('name'))
- pos += 1
-
- assert len(xaxis), "No field for the X axis!"
- assert len(yaxis), "No field for the Y axis!"
-
- # Convert a field's data into a displayable string
-
- ticks = {}
- def _convert_key(field, data):
- if fields[field]['type']=='many2one':
- data = data and data[0]
- return data
-
- def _convert(field, data, tick=True):
- if fields[field]['type']=='many2one':
- data = data and data[1]
- elif (fields[field]['type']=='selection') and (type(fields[field]['selection']) in (list, tuple)):
- d = dict(fields[field]['selection'])
- data = d[data]
- if tick:
- return ticks.setdefault(data, len(ticks))
- return data or 0
-
- def _orientation(x, y):
- if not orientation:
- return (x,y)
- return (y,x)
-
- result = []
- if mode=="pie":
- res = obj.read_group(domain, yaxis+[xaxis[0]], [xaxis[0]], context=context)
- for record in res:
- result.append( {
- 'data': [(_convert(xaxis[0], record[xaxis[0]]), record[yaxis[0]])],
- 'label': _convert(xaxis[0], record[xaxis[0]], tick=False)
- })
-
- elif (not stacked) or (len(xaxis)<2):
- for x in xaxis:
- res = obj.read_group(domain, yaxis+[x], [x], context=context)
- result.append( {
- 'data': map(lambda record: _orientation(_convert(x, record[x]), record[yaxis[0]] or 0), res),
- 'label': fields[x]['string']
- })
- else:
- xaxis.reverse()
- axis = obj.read_group(domain, yaxis+xaxis[0:1], xaxis[0:1], context=context)
- for x in axis:
- key = x[xaxis[0]]
- res = obj.read_group(domain+[(xaxis[0],'=',_convert_key(xaxis[0], key))], yaxis+xaxis[1:2], xaxis[1:2], context=context)
- result.append( {
- 'data': map(lambda record: _orientation(_convert(xaxis[1], record[xaxis[1]]), record[yaxis[0]] or 0), res),
- 'label': _convert(xaxis[0], key, tick=False)
- })
-
- res = {
- 'data': result,
- 'ticks': map(lambda x: (x[1], x[0]), ticks.items())
- }
- return res
+ pass
diff --git a/addons/web_graph/static/src/js/graph.js b/addons/web_graph/static/src/js/graph.js
index 788ec3bcb3f..0295020dd92 100644
--- a/addons/web_graph/static/src/js/graph.js
+++ b/addons/web_graph/static/src/js/graph.js
@@ -228,15 +228,151 @@ instance.web_graph.GraphView = instance.web.View.extend({
},
graph_get_data: function () {
- return this.rpc('/web_graph/graph/data_get', {
- model: this.dataset.model,
- domain: this.domain,
- context: this.context,
- group_by: this.group_by,
- view_id: this.view_id,
- mode: this.mode,
- orientation: this.orientation,
- stacked: this.stacked
+ var model = this.dataset.model,
+ domain = new instance.web.CompoundDomain(this.domain),
+ context = new instance.web.CompoundContext(this.context),
+ group_by = this.group_by,
+ view_id = this.view_id,
+ mode = this.mode,
+ orientation = this.orientation,
+ stacked = this.stacked;
+
+ var obj = new instance.web.Model(model);
+ var view_get;
+ var fields;
+ var result = [];
+ var ticks = {};
+
+ return obj.call("fields_view_get", [view_id, 'graph']).pipe(function(tmp) {
+ view_get = tmp;
+ fields = view_get['fields'];
+ var toload = _.select(group_by, function(x) { return fields[x] === undefined });
+ if (toload.length >= 1)
+ return obj.call("fields_get", [toload, context]);
+ else
+ return $.when([]);
+ }).pipe(function (fields_to_add) {
+ _.extend(fields, fields_to_add);
+
+ var tree = $($.parseXML(view_get['arch']));
+
+ var pos = 0;
+ var xaxis = group_by || [];
+ var yaxis = [];
+ debugger;
+ tree.find("field").each(function() {
+ var field = $(this);
+ if (! field.attr("name"))
+ return;
+ if ((! group_by) && ((! pos) || field.attr('group'))) {
+ xaxis.push(field.attr('name'));
+ }
+ if (pos && ! field.attr('group')) {
+ yaxis.push(field.attr('name'));
+ }
+ pos += 1;
+ });
+
+ if (xaxis.length === 0)
+ throw new Error("No field for the X axis!");
+ if (yaxis.length === 0)
+ throw new Error("No field for the Y axis!");
+
+ // Convert a field's data into a displayable string
+
+ function _convert_key(field, data) {
+ if (fields[field]['type'] === 'many2one')
+ data = data && data[0];
+ return data;
+ }
+
+ function _convert(field, data, tick) {
+ tick = tick === undefined ? true : false;
+ if (fields[field]['type'] === 'many2one') {
+ data = data && data[1];
+ } else if ((fields[field]['type'] === 'selection') && (fields[field]['selection'] instanceof Array)) {
+ var d = {};
+ _.each(fields[field]['selection'], function(el) {
+ d[el[0]] = el[1];
+ });
+ data = d[data];
+ }
+ if (tick) {
+ if (ticks[data] === undefined)
+ ticks[data] = _.size(ticks);
+ return ticks[data];
+ }
+ return data || 0;
+ }
+
+ function _orientation(x, y) {
+ if (! orientation)
+ return [x, y]
+ return [y, x]
+ }
+
+ if (mode === "pie") {
+ return obj.call("read_group", [domain, yaxis+[xaxis[0]], [xaxis[0]]], {context: context}).pipe(function(res) {
+ _.each(res, function(record) {
+ result.push({
+ 'data': [[_convert(xaxis[0], record[xaxis[0]]), record[yaxis[0]]]],
+ 'label': _convert(xaxis[0], record[xaxis[0]], false)
+ });
+ });
+ });
+ } else if ((! stacked) || (xaxis.length < 2)) {
+ var defs = [];
+ _.each(xaxis, function(x) {
+ defs.push(obj.call("read_group", [domain, yaxis+[x], [x]], {context: context}).pipe(function(res) {
+ return [x, res];
+ }));
+ });
+ return $.when.apply($, defs).pipe(function() {
+ _.each(_.toArray(arguments), function(res) {
+ // TODO: must convert res
+ debugger;
+ var x = res[0];
+ res = res[1];
+ result.push({
+ 'data': _.map(res, function(record) {
+ return _orientation(_convert(x, record[x]), record[yaxis[0]] || 0);
+ }),
+ 'label': fields[x]['string']
+ });
+ });
+ });
+ } else {
+ xaxis.reverse();
+ return obj.call("read_group", [domain, yaxis + xaxis.slice(0, 1), xaxis.slice(0, 1)], {context: context}).pipe(function(axis) {
+ var defs = [];
+ _.each(axis, function(x) {
+ var key = x[xaxis[0]]
+ defs.push(obj.call("read_group", [domain+[(xaxis[0],'=',_convert_key(xaxis[0], key))], yaxis + xaxis.slice(1, 2), xaxis.slice(1, 2)],
+ {context: context}).pipe(function(res) {
+ return [x, key, res];
+ }));
+ });
+ return $.when.apply($, defs).pipe(function(res) {
+ // TODO: must convert res
+ debugger;
+ var x = res[0];
+ var key = res[1];
+ res = res[2];
+ result.push({
+ 'data': _.map(res, function(record) {
+ return _orientation(_convert(xaxis[1], record[xaxis[1]]), record[yaxis[0]] or 0);
+ }),
+ 'label': _convert(xaxis[0], key, false)
+ })
+ });
+ });
+ }
+ }).pipe(function() {
+ var res = {
+ 'data': result,
+ 'ticks': _.map(ticks, function(el, key) { return [el, key] })
+ };
+ return res;
});
},
From 796958fa7c214eaba2c8379cd79a5d86059530f5 Mon Sep 17 00:00:00 2001
From: niv-openerp
Date: Tue, 23 Oct 2012 17:11:23 +0200
Subject: [PATCH 200/227] Currently working for bar charts
bzr revid: nicolas.vanhoren@openerp.com-20121023151123-ebo1edkp65c3dk94
---
addons/web_graph/controllers/graph.py | 82 ++++++++++++++++++++++++-
addons/web_graph/static/src/js/graph.js | 31 ++++------
2 files changed, 94 insertions(+), 19 deletions(-)
diff --git a/addons/web_graph/controllers/graph.py b/addons/web_graph/controllers/graph.py
index bae535a9137..21ec7d6e973 100644
--- a/addons/web_graph/controllers/graph.py
+++ b/addons/web_graph/controllers/graph.py
@@ -8,5 +8,85 @@ class GraphView(openerp.addons.web.controllers.main.View):
@openerp.addons.web.http.jsonrequest
def data_get(self, req, model=None, domain=[], context={}, group_by=[], view_id=False, orientation=False, stacked=False, mode="bar", **kwargs):
- pass
+ obj = req.session.model(model)
+
+ res = obj.fields_view_get(view_id, 'graph')
+ fields = res['fields']
+ toload = filter(lambda x: x not in fields, group_by)
+ if toload:
+ fields.update( obj.fields_get(toload, context) )
+
+ tree = etree.fromstring(res['arch'])
+
+ pos = 0
+ xaxis = group_by or []
+ yaxis = []
+ for field in tree.iter(tag='field'):
+ if (field.tag != 'field') or (not field.get('name')):
+ continue
+ assert field.get('name'), "This tag must have a 'name' attribute."
+ if (not group_by) and ((not pos) or field.get('group')):
+ xaxis.append(field.get('name'))
+ if pos and not field.get('group'):
+ yaxis.append(field.get('name'))
+ pos += 1
+
+ assert len(xaxis), "No field for the X axis!"
+ assert len(yaxis), "No field for the Y axis!"
+
+ # Convert a field's data into a displayable string
+
+ ticks = {}
+ def _convert_key(field, data):
+ if fields[field]['type']=='many2one':
+ data = data and data[0]
+ return data
+
+ def _convert(field, data, tick=True):
+ if fields[field]['type']=='many2one':
+ data = data and data[1]
+ elif (fields[field]['type']=='selection') and (type(fields[field]['selection']) in (list, tuple)):
+ d = dict(fields[field]['selection'])
+ data = d[data]
+ if tick:
+ return ticks.setdefault(data, len(ticks))
+ return data or 0
+
+ def _orientation(x, y):
+ if not orientation:
+ return (x,y)
+ return (y,x)
+
+ result = []
+ if mode=="pie":
+ res = obj.read_group(domain, yaxis+[xaxis[0]], [xaxis[0]], context=context)
+ for record in res:
+ result.append( {
+ 'data': [(_convert(xaxis[0], record[xaxis[0]]), record[yaxis[0]])],
+ 'label': _convert(xaxis[0], record[xaxis[0]], tick=False)
+ })
+
+ elif (not stacked) or (len(xaxis)<2):
+ for x in xaxis:
+ res = obj.read_group(domain, yaxis+[x], [x], context=context)
+ result.append( {
+ 'data': map(lambda record: _orientation(_convert(x, record[x]), record[yaxis[0]] or 0), res),
+ 'label': fields[x]['string']
+ })
+ else:
+ xaxis.reverse()
+ axis = obj.read_group(domain, yaxis+xaxis[0:1], xaxis[0:1], context=context)
+ for x in axis:
+ key = x[xaxis[0]]
+ res = obj.read_group(domain+[(xaxis[0],'=',_convert_key(xaxis[0], key))], yaxis+xaxis[1:2], xaxis[1:2], context=context)
+ result.append( {
+ 'data': map(lambda record: _orientation(_convert(xaxis[1], record[xaxis[1]]), record[yaxis[0]] or 0), res),
+ 'label': _convert(xaxis[0], key, tick=False)
+ })
+
+ res = {
+ 'data': result,
+ 'ticks': map(lambda x: (x[1], x[0]), ticks.items())
+ }
+ return res
diff --git a/addons/web_graph/static/src/js/graph.js b/addons/web_graph/static/src/js/graph.js
index 0295020dd92..3b4a29bc55a 100644
--- a/addons/web_graph/static/src/js/graph.js
+++ b/addons/web_graph/static/src/js/graph.js
@@ -229,13 +229,13 @@ instance.web_graph.GraphView = instance.web.View.extend({
graph_get_data: function () {
var model = this.dataset.model,
- domain = new instance.web.CompoundDomain(this.domain),
- context = new instance.web.CompoundContext(this.context),
- group_by = this.group_by,
- view_id = this.view_id,
- mode = this.mode,
- orientation = this.orientation,
- stacked = this.stacked;
+ domain = new instance.web.CompoundDomain(this.domain || []),
+ context = new instance.web.CompoundContext(this.context || {}),
+ group_by = this.group_by || [],
+ view_id = this.view_id || false,
+ mode = this.mode || 'bar',
+ orientation = this.orientation || false,
+ stacked = this.stacked || false;
var obj = new instance.web.Model(model);
var view_get;
@@ -259,12 +259,11 @@ instance.web_graph.GraphView = instance.web.View.extend({
var pos = 0;
var xaxis = group_by || [];
var yaxis = [];
- debugger;
tree.find("field").each(function() {
var field = $(this);
if (! field.attr("name"))
return;
- if ((! group_by) && ((! pos) || field.attr('group'))) {
+ if ((group_by.length == 0) && ((! pos) || field.attr('group'))) {
xaxis.push(field.attr('name'));
}
if (pos && ! field.attr('group')) {
@@ -312,7 +311,7 @@ instance.web_graph.GraphView = instance.web.View.extend({
}
if (mode === "pie") {
- return obj.call("read_group", [domain, yaxis+[xaxis[0]], [xaxis[0]]], {context: context}).pipe(function(res) {
+ return obj.call("read_group", [domain, yaxis.concat([xaxis[0]]), [xaxis[0]]], {context: context}).pipe(function(res) {
_.each(res, function(record) {
result.push({
'data': [[_convert(xaxis[0], record[xaxis[0]]), record[yaxis[0]]]],
@@ -323,14 +322,12 @@ instance.web_graph.GraphView = instance.web.View.extend({
} else if ((! stacked) || (xaxis.length < 2)) {
var defs = [];
_.each(xaxis, function(x) {
- defs.push(obj.call("read_group", [domain, yaxis+[x], [x]], {context: context}).pipe(function(res) {
+ defs.push(obj.call("read_group", [domain, yaxis.concat([x]), [x]], {context: context}).pipe(function(res) {
return [x, res];
}));
});
return $.when.apply($, defs).pipe(function() {
_.each(_.toArray(arguments), function(res) {
- // TODO: must convert res
- debugger;
var x = res[0];
res = res[1];
result.push({
@@ -343,24 +340,22 @@ instance.web_graph.GraphView = instance.web.View.extend({
});
} else {
xaxis.reverse();
- return obj.call("read_group", [domain, yaxis + xaxis.slice(0, 1), xaxis.slice(0, 1)], {context: context}).pipe(function(axis) {
+ return obj.call("read_group", [domain, yaxis.concat(xaxis.slice(0, 1)), xaxis.slice(0, 1)], {context: context}).pipe(function(axis) {
var defs = [];
_.each(axis, function(x) {
var key = x[xaxis[0]]
- defs.push(obj.call("read_group", [domain+[(xaxis[0],'=',_convert_key(xaxis[0], key))], yaxis + xaxis.slice(1, 2), xaxis.slice(1, 2)],
+ defs.push(obj.call("read_group", [domain+[(xaxis[0],'=',_convert_key(xaxis[0], key))], yaxis.concat(xaxis.slice(1, 2)), xaxis.slice(1, 2)],
{context: context}).pipe(function(res) {
return [x, key, res];
}));
});
return $.when.apply($, defs).pipe(function(res) {
- // TODO: must convert res
- debugger;
var x = res[0];
var key = res[1];
res = res[2];
result.push({
'data': _.map(res, function(record) {
- return _orientation(_convert(xaxis[1], record[xaxis[1]]), record[yaxis[0]] or 0);
+ return _orientation(_convert(xaxis[1], record[xaxis[1]]), record[yaxis[0]] || 0);
}),
'label': _convert(xaxis[0], key, false)
})
From f1e8ad572e31d78376976aab1a9a48526715fec0 Mon Sep 17 00:00:00 2001
From: niv-openerp
Date: Tue, 23 Oct 2012 17:16:15 +0200
Subject: [PATCH 201/227] fixed problem with some other bar chart
bzr revid: nicolas.vanhoren@openerp.com-20121023151615-ptv4was339w13li6
---
addons/web_graph/static/src/js/graph.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/addons/web_graph/static/src/js/graph.js b/addons/web_graph/static/src/js/graph.js
index 3b4a29bc55a..aceb02cdc61 100644
--- a/addons/web_graph/static/src/js/graph.js
+++ b/addons/web_graph/static/src/js/graph.js
@@ -344,8 +344,8 @@ instance.web_graph.GraphView = instance.web.View.extend({
var defs = [];
_.each(axis, function(x) {
var key = x[xaxis[0]]
- defs.push(obj.call("read_group", [domain+[(xaxis[0],'=',_convert_key(xaxis[0], key))], yaxis.concat(xaxis.slice(1, 2)), xaxis.slice(1, 2)],
- {context: context}).pipe(function(res) {
+ defs.push(obj.call("read_group", [new instance.web.CompoundDomain(domain, [[xaxis[0], '=' ,_convert_key(xaxis[0], key)]]),
+ yaxis.concat(xaxis.slice(1, 2)), xaxis.slice(1, 2)], {context: context}).pipe(function(res) {
return [x, key, res];
}));
});
From 4014421326ddd6935a598c1e62505ff5c6708761 Mon Sep 17 00:00:00 2001
From: niv-openerp
Date: Tue, 23 Oct 2012 17:17:40 +0200
Subject: [PATCH 202/227] Regression with bar charts
bzr revid: nicolas.vanhoren@openerp.com-20121023151740-20xaros930r9806p
---
addons/web_graph/static/src/js/graph.js | 22 ++++++++++++----------
1 file changed, 12 insertions(+), 10 deletions(-)
diff --git a/addons/web_graph/static/src/js/graph.js b/addons/web_graph/static/src/js/graph.js
index aceb02cdc61..4e4dd98be9b 100644
--- a/addons/web_graph/static/src/js/graph.js
+++ b/addons/web_graph/static/src/js/graph.js
@@ -349,16 +349,18 @@ instance.web_graph.GraphView = instance.web.View.extend({
return [x, key, res];
}));
});
- return $.when.apply($, defs).pipe(function(res) {
- var x = res[0];
- var key = res[1];
- res = res[2];
- result.push({
- 'data': _.map(res, function(record) {
- return _orientation(_convert(xaxis[1], record[xaxis[1]]), record[yaxis[0]] || 0);
- }),
- 'label': _convert(xaxis[0], key, false)
- })
+ return $.when.apply($, defs).pipe(function() {
+ _.each(_.toArray(arguments), function(res) {
+ var x = res[0];
+ var key = res[1];
+ res = res[2];
+ result.push({
+ 'data': _.map(res, function(record) {
+ return _orientation(_convert(xaxis[1], record[xaxis[1]]), record[yaxis[0]] || 0);
+ }),
+ 'label': _convert(xaxis[0], key, false)
+ })
+ });
});
});
}
From a94b8b432f5e044f155d2ef0a68911b739084595 Mon Sep 17 00:00:00 2001
From: "Quentin (OpenERP)"
Date: Tue, 23 Oct 2012 17:17:40 +0200
Subject: [PATCH 203/227] [FIX] survey: syntax error
bzr revid: qdp-launchpad@openerp.com-20121023151740-wjft48qjgffasaug
---
addons/survey/wizard/survey_send_invitation.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/survey/wizard/survey_send_invitation.py b/addons/survey/wizard/survey_send_invitation.py
index dd0d6157caf..a75cae2f893 100644
--- a/addons/survey/wizard/survey_send_invitation.py
+++ b/addons/survey/wizard/survey_send_invitation.py
@@ -68,7 +68,7 @@ class survey_send_invitation(osv.osv_memory):
if sur.state != 'open':
msg += sur.title + "\n"
data['mail_subject'] = _("Invitation for %s") % (sur.title)
- data['mail_subject_existing'] = "_(Invitation for %s") % (sur.title)
+ data['mail_subject_existing'] = _("Invitation for %s") % (sur.title)
data['mail_from'] = sur.responsible_id.email
if msg:
raise osv.except_osv(_('Warning!'), _('%sSurvey is not in open state') % msg)
From fa11c31eaea1168dbbb79c2646eb75c7458846f4 Mon Sep 17 00:00:00 2001
From: niv-openerp
Date: Tue, 23 Oct 2012 17:26:46 +0200
Subject: [PATCH 204/227] Removed server-side implementation
bzr revid: nicolas.vanhoren@openerp.com-20121023152646-ju42b5dzmckfzi5a
---
addons/web_graph/__init__.py | 1 -
addons/web_graph/controllers/__init__.py | 1 -
addons/web_graph/controllers/graph.py | 92 ------------------------
3 files changed, 94 deletions(-)
delete mode 100644 addons/web_graph/controllers/__init__.py
delete mode 100644 addons/web_graph/controllers/graph.py
diff --git a/addons/web_graph/__init__.py b/addons/web_graph/__init__.py
index ee5959455ad..e69de29bb2d 100644
--- a/addons/web_graph/__init__.py
+++ b/addons/web_graph/__init__.py
@@ -1 +0,0 @@
-import controllers
diff --git a/addons/web_graph/controllers/__init__.py b/addons/web_graph/controllers/__init__.py
deleted file mode 100644
index 7f317cca530..00000000000
--- a/addons/web_graph/controllers/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-import graph
diff --git a/addons/web_graph/controllers/graph.py b/addons/web_graph/controllers/graph.py
deleted file mode 100644
index 21ec7d6e973..00000000000
--- a/addons/web_graph/controllers/graph.py
+++ /dev/null
@@ -1,92 +0,0 @@
-# -*- coding: utf-8 -*-
-import openerp
-
-from lxml import etree
-
-class GraphView(openerp.addons.web.controllers.main.View):
- _cp_path = '/web_graph/graph'
-
- @openerp.addons.web.http.jsonrequest
- def data_get(self, req, model=None, domain=[], context={}, group_by=[], view_id=False, orientation=False, stacked=False, mode="bar", **kwargs):
- obj = req.session.model(model)
-
- res = obj.fields_view_get(view_id, 'graph')
- fields = res['fields']
- toload = filter(lambda x: x not in fields, group_by)
- if toload:
- fields.update( obj.fields_get(toload, context) )
-
- tree = etree.fromstring(res['arch'])
-
- pos = 0
- xaxis = group_by or []
- yaxis = []
- for field in tree.iter(tag='field'):
- if (field.tag != 'field') or (not field.get('name')):
- continue
- assert field.get('name'), "This tag must have a 'name' attribute."
- if (not group_by) and ((not pos) or field.get('group')):
- xaxis.append(field.get('name'))
- if pos and not field.get('group'):
- yaxis.append(field.get('name'))
- pos += 1
-
- assert len(xaxis), "No field for the X axis!"
- assert len(yaxis), "No field for the Y axis!"
-
- # Convert a field's data into a displayable string
-
- ticks = {}
- def _convert_key(field, data):
- if fields[field]['type']=='many2one':
- data = data and data[0]
- return data
-
- def _convert(field, data, tick=True):
- if fields[field]['type']=='many2one':
- data = data and data[1]
- elif (fields[field]['type']=='selection') and (type(fields[field]['selection']) in (list, tuple)):
- d = dict(fields[field]['selection'])
- data = d[data]
- if tick:
- return ticks.setdefault(data, len(ticks))
- return data or 0
-
- def _orientation(x, y):
- if not orientation:
- return (x,y)
- return (y,x)
-
- result = []
- if mode=="pie":
- res = obj.read_group(domain, yaxis+[xaxis[0]], [xaxis[0]], context=context)
- for record in res:
- result.append( {
- 'data': [(_convert(xaxis[0], record[xaxis[0]]), record[yaxis[0]])],
- 'label': _convert(xaxis[0], record[xaxis[0]], tick=False)
- })
-
- elif (not stacked) or (len(xaxis)<2):
- for x in xaxis:
- res = obj.read_group(domain, yaxis+[x], [x], context=context)
- result.append( {
- 'data': map(lambda record: _orientation(_convert(x, record[x]), record[yaxis[0]] or 0), res),
- 'label': fields[x]['string']
- })
- else:
- xaxis.reverse()
- axis = obj.read_group(domain, yaxis+xaxis[0:1], xaxis[0:1], context=context)
- for x in axis:
- key = x[xaxis[0]]
- res = obj.read_group(domain+[(xaxis[0],'=',_convert_key(xaxis[0], key))], yaxis+xaxis[1:2], xaxis[1:2], context=context)
- result.append( {
- 'data': map(lambda record: _orientation(_convert(xaxis[1], record[xaxis[1]]), record[yaxis[0]] or 0), res),
- 'label': _convert(xaxis[0], key, tick=False)
- })
-
- res = {
- 'data': result,
- 'ticks': map(lambda x: (x[1], x[0]), ticks.items())
- }
- return res
-
From 1480c7508a9353c7f77b843c39f5a17efa8bf27f Mon Sep 17 00:00:00 2001
From: niv-openerp
Date: Tue, 23 Oct 2012 17:38:01 +0200
Subject: [PATCH 205/227] Now uses official formatting method
bzr revid: nicolas.vanhoren@openerp.com-20121023153801-l98x0dtpyh6l8vjm
---
addons/web_graph/static/src/js/graph.js | 10 +---------
1 file changed, 1 insertion(+), 9 deletions(-)
diff --git a/addons/web_graph/static/src/js/graph.js b/addons/web_graph/static/src/js/graph.js
index 4e4dd98be9b..df26e6fc123 100644
--- a/addons/web_graph/static/src/js/graph.js
+++ b/addons/web_graph/static/src/js/graph.js
@@ -287,15 +287,7 @@ instance.web_graph.GraphView = instance.web.View.extend({
function _convert(field, data, tick) {
tick = tick === undefined ? true : false;
- if (fields[field]['type'] === 'many2one') {
- data = data && data[1];
- } else if ((fields[field]['type'] === 'selection') && (fields[field]['selection'] instanceof Array)) {
- var d = {};
- _.each(fields[field]['selection'], function(el) {
- d[el[0]] = el[1];
- });
- data = d[data];
- }
+ data = instance.web.format_value(data, fields[field]);
if (tick) {
if (ticks[data] === undefined)
ticks[data] = _.size(ticks);
From b8756e66062d5c1c209861ccc8dee9ab8e8c1f7c Mon Sep 17 00:00:00 2001
From: "Quentin (OpenERP)"
Date: Tue, 23 Oct 2012 20:32:57 +0200
Subject: [PATCH 206/227] [FIX] survey: 'format requires mapping' error fixed
bzr revid: qdp-launchpad@openerp.com-20121023183257-hzl1ed9nhkci7348
---
addons/survey/wizard/survey_send_invitation.py | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/addons/survey/wizard/survey_send_invitation.py b/addons/survey/wizard/survey_send_invitation.py
index a75cae2f893..51b652a2d13 100644
--- a/addons/survey/wizard/survey_send_invitation.py
+++ b/addons/survey/wizard/survey_send_invitation.py
@@ -71,13 +71,13 @@ class survey_send_invitation(osv.osv_memory):
data['mail_subject_existing'] = _("Invitation for %s") % (sur.title)
data['mail_from'] = sur.responsible_id.email
if msg:
- raise osv.except_osv(_('Warning!'), _('%sSurvey is not in open state') % msg)
+ raise osv.except_osv(_('Warning!'), _('The following surveys are not in open state: %s') % msg)
data['mail'] = _('''
-Hello %(name)s, \n\n
+Hello %%(name)s, \n\n
Please find hereby a survey that we would like you to fill: %s\n
You can access this survey with the following parameters:
- Your login ID: %(login)s,\n
- Your password: %(passwd)s\n
+ Your login ID: %%(login)s,\n
+ Your password: %%(passwd)s\n
%s\n\n
Thanks,''') % (name, self.pool.get('ir.config_parameter').get_param(cr, uid, 'web.base.url', default='http://localhost:8069', context=context))
return data
From d78b7a28150f996dd5417377c79bc5282c592aa3 Mon Sep 17 00:00:00 2001
From: Fabien Pinckaers
Date: Tue, 23 Oct 2012 23:13:47 +0200
Subject: [PATCH 207/227] [IMP] accounting
bzr revid: fp@openerp.com-20121023211347-kdodwhdir7p1skgb
---
addons/account/account_view.xml | 26 --------------------------
addons/l10n_be/l10n_be_wizard.yml | 6 +-----
2 files changed, 1 insertion(+), 31 deletions(-)
diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml
index 1b614a1ee85..745795452d3 100644
--- a/addons/account/account_view.xml
+++ b/addons/account/account_view.xml
@@ -2414,32 +2414,6 @@
form
new
-
- ir.actions.server
- True
- code
-
-
-
-# check for unconfigured companies
-account_installer_obj = self.pool.get('account.installer')
-account_installer_obj.check_unconfigured_cmp(cr, uid, context=context)
-action_ids = []
-# fetch the act_window actions related to chart of account configuration
-# we use ir.actions.todo to enable the possibility for other modules to insert their own
-# wizards during the configuration process
-ref = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'account', 'action_wizard_multi_chart')
-if ref:
- action_ids += [ref[1]]
-ref = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'account', 'action_account_configuration_installer')
-if ref:
- action_ids += [ref[1]]
-todo_ids = pool.get('ir.actions.todo').search(cr, uid, [('action_id', 'in', action_ids)], context=context)
-pool.get('ir.actions.todo').write(cr, uid, todo_ids, {'state':'open'}, context=context)
-action = pool.get('res.config').next(cr, uid, [], context)
-
- New Company Financial Setting
-
account.account.graph
diff --git a/addons/l10n_be/l10n_be_wizard.yml b/addons/l10n_be/l10n_be_wizard.yml
index 178009be7ff..0b16827225f 100644
--- a/addons/l10n_be/l10n_be_wizard.yml
+++ b/addons/l10n_be/l10n_be_wizard.yml
@@ -1,10 +1,6 @@
--
- !record {model: ir.actions.todo, id: config_call_account_template}:
- action_id: account.action_wizard_multi_chart
- type: automatic
-
!python {model: ir.actions.todo}: |
- install_todo = self.browse(cr, uid, ref('l10n_be.config_call_account_template'))
+ install_todo = self.browse(cr, uid, ref('account.action_wizard_multi_chart_todo'))
if install_todo.state == 'open':
wiz = self.pool.get('wizard.multi.charts.accounts')
values = {
From 9c712d53365c5d1e4885b33ff2eb7ac2156ca691 Mon Sep 17 00:00:00 2001
From: "Quentin (OpenERP)"
Date: Wed, 24 Oct 2012 00:33:58 +0200
Subject: [PATCH 208/227] [IMP] survey: code review
bzr revid: qdp-launchpad@openerp.com-20121023223358-vqey57o52eyi6fhf
---
addons/survey/survey.py | 2 +-
addons/survey/wizard/survey_send_invitation.py | 9 +++++----
2 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/addons/survey/survey.py b/addons/survey/survey.py
index 3b406484d43..b57f778a5cc 100644
--- a/addons/survey/survey.py
+++ b/addons/survey/survey.py
@@ -77,7 +77,7 @@ class survey(osv.osv):
'tot_comp_survey': lambda * a: 0,
'send_response': lambda * a: 1,
'response_user': lambda * a:1,
- 'date_open': strftime("%Y-%m-%d %H:%M:%S"),
+ 'date_open': fields.datetime.now,
}
def survey_open(self, cr, uid, ids, arg):
diff --git a/addons/survey/wizard/survey_send_invitation.py b/addons/survey/wizard/survey_send_invitation.py
index 51b652a2d13..936e3363bde 100644
--- a/addons/survey/wizard/survey_send_invitation.py
+++ b/addons/survey/wizard/survey_send_invitation.py
@@ -64,7 +64,7 @@ class survey_send_invitation(osv.osv_memory):
msg = ""
name = ""
for sur in survey_obj.browse(cr, uid, context.get('active_ids', []), context=context):
- name += "\t --> " + sur.title + "\n"
+ name += "\n --> " + sur.title + "\n"
if sur.state != 'open':
msg += sur.title + "\n"
data['mail_subject'] = _("Invitation for %s") % (sur.title)
@@ -74,11 +74,12 @@ class survey_send_invitation(osv.osv_memory):
raise osv.except_osv(_('Warning!'), _('The following surveys are not in open state: %s') % msg)
data['mail'] = _('''
Hello %%(name)s, \n\n
-Please find hereby a survey that we would like you to fill: %s\n
+Would you please spent some of your time to fill-in our survey: \n%s\n
You can access this survey with the following parameters:
- Your login ID: %%(login)s,\n
+ URL: %s
+ Your login ID: %%(login)s\n
Your password: %%(passwd)s\n
-%s\n\n
+\n\n
Thanks,''') % (name, self.pool.get('ir.config_parameter').get_param(cr, uid, 'web.base.url', default='http://localhost:8069', context=context))
return data
From b7feab731b1d0e56c22bf338ef476a45eb40debe Mon Sep 17 00:00:00 2001
From: Launchpad Translations on behalf of openerp <>
Date: Wed, 24 Oct 2012 05:20:44 +0000
Subject: [PATCH 209/227] Launchpad automatic translations update.
bzr revid: launchpad_translations_on_behalf_of_openerp-20121024045536-py0ehkq8nazb5en1
bzr revid: launchpad_translations_on_behalf_of_openerp-20121024045556-v4pmdh85f6qnn1f6
bzr revid: launchpad_translations_on_behalf_of_openerp-20121024052044-ajcrxdgxe6plx868
---
addons/crm_claim/i18n/ru.po | 28 +--
addons/l10n_mx/i18n/es_MX.po | 2 +-
addons/resource/i18n/ru.po | 10 +-
addons/sale/i18n/ru.po | 52 ++---
addons/web/i18n/ru.po | 122 +++++-----
addons/web_calendar/i18n/ru.po | 52 ++---
addons/web_graph/i18n/ru.po | 38 ++--
openerp/addons/base/i18n/ru.po | 394 +++++++++++++++++----------------
8 files changed, 351 insertions(+), 347 deletions(-)
diff --git a/addons/crm_claim/i18n/ru.po b/addons/crm_claim/i18n/ru.po
index 88435961627..cea6d33e47d 100644
--- a/addons/crm_claim/i18n/ru.po
+++ b/addons/crm_claim/i18n/ru.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
-"PO-Revision-Date: 2011-03-16 00:04+0000\n"
-"Last-Translator: FULL NAME \n"
+"PO-Revision-Date: 2012-10-24 04:51+0000\n"
+"Last-Translator: Chertykov Denis \n"
"Language-Team: Russian \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-10-19 05:33+0000\n"
-"X-Generator: Launchpad (build 16165)\n"
+"X-Launchpad-Export-Date: 2012-10-24 04:55+0000\n"
+"X-Generator: Launchpad (build 16179)\n"
#. module: crm_claim
#: field:crm.claim.report,nbr:0
@@ -85,12 +85,12 @@ msgstr ""
#: code:addons/crm_claim/crm_claim.py:132
#, python-format
msgid "The claim '%s' has been opened."
-msgstr ""
+msgstr "Претензия '%s' была открыта"
#. module: crm_claim
#: view:crm.claim:0
msgid "Date Closed"
-msgstr ""
+msgstr "Дата закрытия"
#. module: crm_claim
#: view:crm.claim.report:0
@@ -151,12 +151,12 @@ msgstr "Ссылка"
#. module: crm_claim
#: view:crm.claim.report:0
msgid "Date of claim"
-msgstr ""
+msgstr "Дата претензии"
#. module: crm_claim
#: view:crm.claim:0
msgid "All pending Claims"
-msgstr ""
+msgstr "Все ожидающие претензии"
#. module: crm_claim
#: view:crm.claim.report:0
@@ -187,7 +187,7 @@ msgstr "Контрагент"
#. module: crm_claim
#: view:crm.claim.report:0
msgid "Month of claim"
-msgstr ""
+msgstr "Месяц претензии"
#. module: crm_claim
#: selection:crm.claim,type_action:0
@@ -227,7 +227,7 @@ msgstr "Отправить новое эл. письмо"
#: selection:crm.claim,state:0
#: view:crm.claim.report:0
msgid "New"
-msgstr ""
+msgstr "Новый"
#. module: crm_claim
#: view:crm.claim:0
@@ -254,7 +254,7 @@ msgstr "Следующее действие"
#. module: crm_claim
#: view:crm.claim.report:0
msgid "My Sales Team(s)"
-msgstr ""
+msgstr "Мои отделы продаж"
#. module: crm_claim
#: model:crm.case.stage,name:crm_claim.stage_claim3
@@ -321,7 +321,7 @@ msgstr "Контакт"
#. module: crm_claim
#: view:crm.claim.report:0
msgid "Month-1"
-msgstr ""
+msgstr "Месяц-1"
#. module: crm_claim
#: model:ir.actions.act_window,name:crm_claim.action_report_crm_claim
@@ -380,7 +380,7 @@ msgstr "Дата изменения"
#. module: crm_claim
#: view:crm.claim.report:0
msgid "Year of claim"
-msgstr ""
+msgstr "Год претензи"
#. module: crm_claim
#: view:crm.claim.report:0
@@ -402,7 +402,7 @@ msgstr "Значение претензии"
#. module: crm_claim
#: view:crm.claim:0
msgid "Responsible User"
-msgstr ""
+msgstr "Ответственный пользователь"
#. module: crm_claim
#: help:crm.claim,email_cc:0
diff --git a/addons/l10n_mx/i18n/es_MX.po b/addons/l10n_mx/i18n/es_MX.po
index eec525b5f53..305ec408af2 100644
--- a/addons/l10n_mx/i18n/es_MX.po
+++ b/addons/l10n_mx/i18n/es_MX.po
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-10-23 04:48+0000\n"
+"X-Launchpad-Export-Date: 2012-10-24 04:55+0000\n"
"X-Generator: Launchpad (build 16179)\n"
#. module: l10n_mx
diff --git a/addons/resource/i18n/ru.po b/addons/resource/i18n/ru.po
index 7a7f5e82dbd..a5192a83647 100644
--- a/addons/resource/i18n/ru.po
+++ b/addons/resource/i18n/ru.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2012-02-08 00:37+0000\n"
-"PO-Revision-Date: 2012-05-10 18:26+0000\n"
+"PO-Revision-Date: 2012-10-23 18:55+0000\n"
"Last-Translator: Chertykov Denis \n"
"Language-Team: Russian \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-10-19 05:30+0000\n"
-"X-Generator: Launchpad (build 16165)\n"
+"X-Launchpad-Export-Date: 2012-10-24 04:55+0000\n"
+"X-Generator: Launchpad (build 16179)\n"
#. module: resource
#: help:resource.calendar.leaves,resource_id:0
@@ -107,7 +107,7 @@ msgstr "Рабочее время начнется с"
#. module: resource
#: constraint:resource.calendar.leaves:0
msgid "Error! leave start-date must be lower then leave end-date."
-msgstr ""
+msgstr "Ошибка! Дата начала отгула должна быть раньше даты завершения."
#. module: resource
#: model:ir.model,name:resource.model_resource_calendar
@@ -324,7 +324,7 @@ msgstr "(отпуск)"
#: code:addons/resource/resource.py:392
#, python-format
msgid "Configuration Error!"
-msgstr ""
+msgstr "Ошибка конфигурации!"
#. module: resource
#: selection:resource.resource,resource_type:0
diff --git a/addons/sale/i18n/ru.po b/addons/sale/i18n/ru.po
index b689b1b1946..a67f7c78b4c 100644
--- a/addons/sale/i18n/ru.po
+++ b/addons/sale/i18n/ru.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-09-20 07:29+0000\n"
-"PO-Revision-Date: 2012-09-10 14:56+0000\n"
+"PO-Revision-Date: 2012-10-23 18:53+0000\n"
"Last-Translator: Chertykov Denis \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-10-19 05:12+0000\n"
-"X-Generator: Launchpad (build 16165)\n"
+"X-Launchpad-Export-Date: 2012-10-24 04:55+0000\n"
+"X-Generator: Launchpad (build 16179)\n"
#. module: sale
#: code:addons/sale/wizard/sale_make_invoice_advance.py:215
@@ -235,7 +235,7 @@ msgstr "В счет"
#: view:sale.order.line:0
#: field:sale.report,product_uom:0
msgid "Unit of Measure"
-msgstr ""
+msgstr "Единицы измерения"
#. module: sale
#: help:sale.order,date_confirm:0
@@ -264,7 +264,7 @@ msgstr ""
#. module: sale
#: selection:sale.advance.payment.inv,advance_payment_method:0
msgid "Invoice the whole sale order"
-msgstr ""
+msgstr "Выставить счет на весь заказ продажи"
#. module: sale
#: field:sale.order,project_id:0
@@ -304,12 +304,12 @@ msgstr "Исключение счета"
#. module: sale
#: view:account.config.settings:0
msgid "0"
-msgstr ""
+msgstr "0"
#. module: sale
#: selection:sale.order,state:0
msgid "Draft Quotation"
-msgstr ""
+msgstr "Черновик предложения"
#. module: sale
#: code:addons/sale/wizard/sale_make_invoice_advance.py:124
@@ -359,23 +359,23 @@ msgstr "Вес"
#. module: sale
#: view:sale.config.settings:0
msgid "Warehouse Features"
-msgstr ""
+msgstr "Особенности склада"
#. module: sale
#: view:sale.order:0
msgid "Quotation "
-msgstr ""
+msgstr "Предложение "
#. module: sale
#: field:sale.order.line,product_uom:0
msgid "Unit of Measure "
-msgstr ""
+msgstr "Единица измерения "
#. module: sale
#: code:addons/sale/wizard/sale_make_invoice_advance.py:148
#, python-format
msgid "Incorrect Data"
-msgstr ""
+msgstr "Неверные данные"
#. module: sale
#: code:addons/sale/wizard/sale_make_invoice_advance.py:149
@@ -401,7 +401,7 @@ msgstr "Заказ"
#. module: sale
#: field:sale.order,message_ids:0
msgid "Messages"
-msgstr ""
+msgstr "Сообщения"
#. module: sale
#: selection:sale.report,month:0
@@ -422,7 +422,7 @@ msgstr "Сумма до налогов"
#. module: sale
#: field:sale.config.settings,module_project:0
msgid "Project"
-msgstr ""
+msgstr "Проект"
#. module: sale
#: code:addons/sale/sale.py:319
@@ -433,7 +433,7 @@ msgstr ""
#: code:addons/sale/wizard/sale_make_invoice_advance.py:123
#, python-format
msgid "Error!"
-msgstr ""
+msgstr "Ошибка!"
#. module: sale
#: report:sale.order:0
@@ -467,7 +467,7 @@ msgstr "Позиции заказа продаж относящиеся к мо
#. module: sale
#: selection:sale.order,state:0
msgid "Quotation Sent"
-msgstr ""
+msgstr "Предложение отправлено"
#. module: sale
#: help:sale.order,message_unread:0
@@ -528,12 +528,12 @@ msgstr "Налог"
#: code:addons/sale/sale.py:986
#, python-format
msgid "Invalid Action!"
-msgstr ""
+msgstr "Неверное действие!"
#. module: sale
#: view:sale.report:0
msgid "Reference Unit of Measure"
-msgstr ""
+msgstr "Базовая единица измерения"
#. module: sale
#: field:sale.report,date_confirm:0
@@ -572,7 +572,7 @@ msgstr "Факс :"
#. module: sale
#: view:sale.order:0
msgid "(update)"
-msgstr ""
+msgstr "(обновление)"
#. module: sale
#: help:sale.config.settings,group_discount_per_so_line:0
@@ -635,7 +635,7 @@ msgstr "Подтвердить"
#. module: sale
#: view:sale.order:0
msgid "Unread messages"
-msgstr ""
+msgstr "Непрочитанные сообщения"
#. module: sale
#: field:sale.order,partner_shipping_id:0
@@ -673,12 +673,12 @@ msgstr "Заказы продаж, которые еще не были подт
#. module: sale
#: field:sale.order,message_unread:0
msgid "Unread Messages"
-msgstr ""
+msgstr "Непрочитанные сообщения"
#. module: sale
#: view:sale.order:0
msgid "Print"
-msgstr ""
+msgstr "Печать"
#. module: sale
#: report:sale.order:0
@@ -793,12 +793,12 @@ msgstr "Год заказа в заказе продаж"
#. module: sale
#: field:sale.config.settings,module_sale_stock:0
msgid "Sale and Warehouse Management"
-msgstr ""
+msgstr "Управление продажами и складом"
#. module: sale
#: model:ir.model,name:sale.model_sale_config_settings
msgid "sale.config.settings"
-msgstr ""
+msgstr "sale.config.settings"
#. module: sale
#: field:sale.advance.payment.inv,qtty:0
@@ -842,7 +842,7 @@ msgstr ""
#. module: sale
#: view:sale.config.settings:0
msgid "Default Options"
-msgstr ""
+msgstr "Параметры по умолчанию"
#. module: sale
#: code:addons/sale/sale.py:963
@@ -850,12 +850,12 @@ msgstr ""
#: code:addons/sale/wizard/sale_make_invoice_advance.py:142
#, python-format
msgid "Configuration Error!"
-msgstr ""
+msgstr "Ошибка конфигурации!"
#. module: sale
#: field:account.config.settings,group_analytic_account_for_sales:0
msgid "Analytic accounting for sales"
-msgstr ""
+msgstr "Аналитический учет для продаж"
#. module: sale
#: view:sale.order:0
diff --git a/addons/web/i18n/ru.po b/addons/web/i18n/ru.po
index d310793240d..fa80053a306 100644
--- a/addons/web/i18n/ru.po
+++ b/addons/web/i18n/ru.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openerp-web\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2012-07-02 09:06+0200\n"
-"PO-Revision-Date: 2012-02-20 07:27+0000\n"
-"Last-Translator: Aleksei Motsik \n"
+"PO-Revision-Date: 2012-10-23 14:30+0000\n"
+"Last-Translator: Chertykov Denis \n"
"Language-Team: Russian \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-10-21 05:02+0000\n"
-"X-Generator: Launchpad (build 16165)\n"
+"X-Launchpad-Export-Date: 2012-10-24 05:20+0000\n"
+"X-Generator: Launchpad (build 16179)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
@@ -129,62 +129,62 @@ msgstr "OpenERP - Не поддерживаемая/Community Версия"
#. openerp-web
#: addons/web/static/src/js/coresetup.js:619
msgid "less than a minute ago"
-msgstr ""
+msgstr "меньше минуты назад"
#. openerp-web
#: addons/web/static/src/js/coresetup.js:620
msgid "about a minute ago"
-msgstr ""
+msgstr "примерно минуту назад"
#. openerp-web
#: addons/web/static/src/js/coresetup.js:621
#, python-format
msgid "%d minutes ago"
-msgstr ""
+msgstr "%d минут назад"
#. openerp-web
#: addons/web/static/src/js/coresetup.js:622
msgid "about an hour ago"
-msgstr ""
+msgstr "примерно час назад"
#. openerp-web
#: addons/web/static/src/js/coresetup.js:623
#, python-format
msgid "%d hours ago"
-msgstr ""
+msgstr "%d часов назад"
#. openerp-web
#: addons/web/static/src/js/coresetup.js:624
msgid "a day ago"
-msgstr ""
+msgstr "день назад"
#. openerp-web
#: addons/web/static/src/js/coresetup.js:625
#, python-format
msgid "%d days ago"
-msgstr ""
+msgstr "%d дней назад"
#. openerp-web
#: addons/web/static/src/js/coresetup.js:626
msgid "about a month ago"
-msgstr ""
+msgstr "примерно месяц назад"
#. openerp-web
#: addons/web/static/src/js/coresetup.js:627
#, python-format
msgid "%d months ago"
-msgstr ""
+msgstr "%d месяцев/месяца назад"
#. openerp-web
#: addons/web/static/src/js/coresetup.js:628
msgid "about a year ago"
-msgstr ""
+msgstr "примерно год назад"
#. openerp-web
#: addons/web/static/src/js/coresetup.js:629
#, python-format
msgid "%d years ago"
-msgstr ""
+msgstr "%d лет назад"
#. openerp-web
#: addons/web/static/src/js/data_export.js:6
@@ -290,18 +290,18 @@ msgstr ""
#: addons/web/static/src/js/search.js:948
#, python-format
msgid "Filter on: %s"
-msgstr ""
+msgstr "Фильтр по: %s"
#. openerp-web
#: addons/web/static/src/js/search.js:999
msgid "Filter"
-msgstr ""
+msgstr "Фильтр"
#. openerp-web
#: addons/web/static/src/js/search.js:1108
#, python-format
msgid "Group by: %s"
-msgstr ""
+msgstr "Группировать по: %s"
#. openerp-web
#: addons/web/static/src/js/search.js:1132
@@ -312,7 +312,7 @@ msgstr ""
#: addons/web/static/src/js/search.js:1267
#, python-format
msgid "Search %(field)s for: %(value)s"
-msgstr ""
+msgstr "Искать %(field)s для: %(value)s"
#. openerp-web
#: addons/web/static/src/js/search.js:869
@@ -339,7 +339,7 @@ msgstr "Нет"
#: addons/web/static/src/js/search.js:1416
#, python-format
msgid "Search %(field)s at: %(value)s"
-msgstr ""
+msgstr "Искать %(field)s в: %(value)s"
#. openerp-web
#: addons/web/static/src/xml/base.xml:1286
@@ -349,13 +349,13 @@ msgstr "Фильтры"
#. openerp-web
#: addons/web/static/src/js/search.js:1762
msgid "Advanced"
-msgstr ""
+msgstr "Расширенный"
#. openerp-web
#: addons/web/static/src/js/search.js:1853
#, python-format
msgid "%(field)s %(operator)s \"%(value)s\""
-msgstr ""
+msgstr "%(field)s %(operator)s \"%(value)s\""
#. openerp-web
#: addons/web/static/src/js/search.js:1341
@@ -633,12 +633,12 @@ msgstr "Добавить: "
#. openerp-web
#: addons/web/static/src/js/view_form.js:4230
msgid "Save As..."
-msgstr ""
+msgstr "Сохранить как..."
#. openerp-web
#: addons/web/static/src/js/view_form.js:4230
msgid "The field is empty, there's nothing to save !"
-msgstr ""
+msgstr "Поле пусто, нечего сохранять !"
#. openerp-web
#: addons/web/static/src/js/view_list.js:8
@@ -680,7 +680,7 @@ msgstr "Внимание"
#. openerp-web
#: addons/web/static/src/js/view_list.js:716
msgid "You must select at least one record."
-msgstr ""
+msgstr "Вы должны выбрать хотя бы одну запись ."
#. openerp-web
#: addons/web/static/src/js/view_list.js:1243
@@ -728,17 +728,17 @@ msgstr "Не удалось найти определение текущего
#. openerp-web
#: addons/web/static/src/js/views.js:716
msgid "Print"
-msgstr ""
+msgstr "Печать"
#. openerp-web
#: addons/web/static/src/js/views.js:717
msgid "Attachment"
-msgstr ""
+msgstr "Вложение"
#. openerp-web
#: addons/web/static/src/js/views.js:718 addons/web/static/src/xml/base.xml:276
msgid "More"
-msgstr ""
+msgstr "Еще"
#. openerp-web
#: addons/web/static/src/js/views.js:810
@@ -758,12 +758,12 @@ msgstr "Вы должны выбрать хотя бы одну запись."
#. openerp-web
#: addons/web/static/src/js/views.js:875
msgid "Uploading..."
-msgstr ""
+msgstr "Загрузка..."
#. openerp-web
#: addons/web/static/src/js/views.js:885
msgid "Do you really want to delete this attachment ?"
-msgstr ""
+msgstr "Вы действительно хотите удалить это вложение?"
#. openerp-web
#: addons/web/static/src/js/views.js:962
@@ -913,7 +913,7 @@ msgstr "Пароль Администратора:"
#. openerp-web
#: addons/web/static/src/xml/base.xml:95
msgid "Confirm password:"
-msgstr "Подтверждение пароля:"
+msgstr "Подтвердите пароль:"
#. openerp-web
#: addons/web/static/src/xml/base.xml:109
@@ -960,17 +960,17 @@ msgstr "Подтвердить мастер-пароль:"
#. openerp-web
#: addons/web/static/src/xml/base.xml:325
msgid "About OpenERP"
-msgstr ""
+msgstr "Об OpenERP"
#. openerp-web
#: addons/web/static/src/xml/base.xml:327
msgid "Log out"
-msgstr ""
+msgstr "Выход"
#. openerp-web
#: addons/web/static/src/xml/base.xml:333
msgid "Activate the developer mode"
-msgstr ""
+msgstr "Включить режим разработчика"
#. openerp-web
#: addons/web/static/src/xml/base.xml:1820
@@ -1030,12 +1030,12 @@ msgstr "Пароль ещё раз:"
#. openerp-web
#: addons/web/static/src/xml/base.xml:390
msgid "Open"
-msgstr ""
+msgstr "Открыть"
#. openerp-web
#: addons/web/static/src/xml/base.xml:390
msgid "ERP"
-msgstr ""
+msgstr "ERP"
#. openerp-web
#: addons/web/static/src/xml/base.xml:477
@@ -1050,7 +1050,7 @@ msgstr "Просмотр Лога (доступ на чтение)"
#. openerp-web
#: addons/web/static/src/xml/base.xml:450
msgid "Toggle Form Layout Outline"
-msgstr ""
+msgstr "Переключить структуры макета формы"
#. openerp-web
#: addons/web/static/src/xml/base.xml:479
@@ -1115,28 +1115,28 @@ msgstr "Дата изменения:"
#. openerp-web
#: addons/web/static/src/xml/base.xml:518
msgid "Delete this attachment"
-msgstr ""
+msgstr "Удалить вложение"
#. openerp-web
#: addons/web/static/src/xml/base.xml:523
msgid "/web/binary/upload_attachment"
-msgstr ""
+msgstr "/web/binary/upload_attachment"
#. openerp-web
#: addons/web/static/src/xml/base.xml:527
msgid "Add..."
-msgstr ""
+msgstr "Добавить..."
#. openerp-web
#: addons/web/static/src/xml/base.xml:622
#: addons/web/static/src/xml/base.xml:687
msgid "or"
-msgstr ""
+msgstr "или"
#. openerp-web
#: addons/web/static/src/xml/base.xml:687
msgid "Discard"
-msgstr ""
+msgstr "Отменить"
#. openerp-web
#: addons/web/static/src/xml/base.xml:806
@@ -1242,13 +1242,13 @@ msgstr "Выбрать дату"
#. openerp-web
#: addons/web/static/src/xml/base.xml:948
msgid "Open Resource"
-msgstr ""
+msgstr "Открыть ресурс"
#. openerp-web
#: addons/web/static/src/xml/base.xml:1162
#: addons/web/static/src/xml/base.xml:1205
msgid "Set Image"
-msgstr "Назначить изображение"
+msgstr "Установить изображение"
#. openerp-web
#: addons/web/static/src/js/view_form.js:1623
@@ -1263,12 +1263,12 @@ msgstr "Очистить"
#: addons/web/static/src/xml/base.xml:1179
#: addons/web/static/src/xml/base.xml:1230
msgid "Uploading ..."
-msgstr "Загружаю ..."
+msgstr "Загружается ..."
#. openerp-web
#: addons/web/static/src/xml/base.xml:1066
msgid "width: 83px;"
-msgstr ""
+msgstr "ширина: 83px ;"
#. openerp-web
#: addons/web/static/src/xml/base.xml:1207
@@ -1320,7 +1320,7 @@ msgstr "Поле"
#. openerp-web
#: addons/web/static/src/xml/base.xml:1205
msgid "Advanced Search..."
-msgstr ""
+msgstr "Расширенный поиск..."
#. openerp-web
#: addons/web/static/src/xml/base.xml:1287
@@ -1355,22 +1355,22 @@ msgstr "(Имеющийся фильтр с таким же имененем б
#. openerp-web
#: addons/web/static/src/xml/base.xml:1376
msgid "Custom Filters"
-msgstr ""
+msgstr "Настраиваемые фильтры"
#. openerp-web
#: addons/web/static/src/xml/base.xml:1379
msgid "Save current filter"
-msgstr ""
+msgstr "Сохранить текущий фильтр"
#. openerp-web
#: addons/web/static/src/xml/base.xml:1381
msgid "Filter name"
-msgstr ""
+msgstr "Название фильтра"
#. openerp-web
#: addons/web/static/src/xml/base.xml:1383
msgid "Share with all users"
-msgstr ""
+msgstr "Совместно со всеми пользователями"
#. openerp-web
#: addons/web/static/src/js/search.js:298
@@ -1381,32 +1381,32 @@ msgstr "Добавить на Панель"
#. openerp-web
#: addons/web/static/src/xml/base.xml:1394
msgid "Title of new Dashboard item"
-msgstr ""
+msgstr "Название нового элемента панели"
#. openerp-web
#: addons/web/static/src/xml/base.xml:1395
msgid "save"
-msgstr ""
+msgstr "сохранить"
#. openerp-web
#: addons/web/static/src/xml/base.xml:1399
msgid "Select Dashboard to add this filter to"
-msgstr ""
+msgstr "Выберите панель, чтобы добавить этот фильтр"
#. openerp-web
#: addons/web/static/src/xml/base.xml:1406
msgid "Advanced Search"
-msgstr ""
+msgstr "Расширенный поиск"
#. openerp-web
#: addons/web/static/src/xml/base.xml:1411
msgid "Add a condition"
-msgstr ""
+msgstr "Добавить условие"
#. openerp-web
#: addons/web/static/src/xml/base.xml:1412
msgid "Apply"
-msgstr ""
+msgstr "Применить"
#. openerp-web
#: addons/web/static/src/xml/base.xml:1509
@@ -1426,9 +1426,9 @@ msgid ""
" You can export all data or only the fields that can be "
"reimported after modification."
msgstr ""
-"Этот мастер экспортирует все найденные данные в CSV файл.\n"
-" Вы можете экспортровать все данные либо только те поля которые "
-"могут быть в последствии импортированны."
+"Этот мастер экспортирует все найденные данные в CSV-файл.\n"
+" Вы можете экспортировать все данные, либо только те поля которые "
+"должны быть в последствии импортированы после изменений."
#. openerp-web
#: addons/web/static/src/xml/base.xml:1624
@@ -1562,7 +1562,7 @@ msgstr ""
#. openerp-web
#: addons/web/static/src/xml/base.xml:1713
msgid "--- Don't Import ---"
-msgstr ""
+msgstr "--- Не импортировать ---"
#. openerp-web
#: addons/web/static/src/xml/base.xml:1809
diff --git a/addons/web_calendar/i18n/ru.po b/addons/web_calendar/i18n/ru.po
index aee0856a51d..c286c58bf1a 100644
--- a/addons/web_calendar/i18n/ru.po
+++ b/addons/web_calendar/i18n/ru.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openerp-web\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2012-07-02 09:06+0200\n"
-"PO-Revision-Date: 2012-01-13 11:40+0000\n"
-"Last-Translator: Aleksei Motsik \n"
+"PO-Revision-Date: 2012-10-23 14:08+0000\n"
+"Last-Translator: Chertykov Denis \n"
"Language-Team: Russian \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-10-21 05:03+0000\n"
-"X-Generator: Launchpad (build 16165)\n"
+"X-Launchpad-Export-Date: 2012-10-24 05:20+0000\n"
+"X-Generator: Launchpad (build 16179)\n"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:11
@@ -25,114 +25,114 @@ msgstr "Календарь"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:70
msgid "Filter"
-msgstr ""
+msgstr "Фильтр"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:144
msgid "Today"
-msgstr ""
+msgstr "Сегодня"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:145
msgid "Day"
-msgstr ""
+msgstr "День"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:146
msgid "Week"
-msgstr ""
+msgstr "Неделя"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:147
msgid "Month"
-msgstr ""
+msgstr "Месяц"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:148
msgid "New event"
-msgstr ""
+msgstr "Новое событие"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:149
msgid "Save"
-msgstr ""
+msgstr "Сохранить"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:150
msgid "Cancel"
-msgstr ""
+msgstr "Отмена"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:151
msgid "Details"
-msgstr ""
+msgstr "Подробности"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:152
msgid "Edit"
-msgstr ""
+msgstr "Изменить"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:153
msgid "Delete"
-msgstr ""
+msgstr "Удалить"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:155
msgid "Event will be deleted permanently, are you sure?"
-msgstr ""
+msgstr "Событие будет удалено навсегда, вы уверены?"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:156
#: addons/web_calendar/static/src/js/calendar.js:169
msgid "Description"
-msgstr ""
+msgstr "Описание"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:157
msgid "Time period"
-msgstr ""
+msgstr "Промежуток времени"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:158
msgid "Full day"
-msgstr ""
+msgstr "Полный день"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:161
msgid "Do you want to edit the whole set of repeated events?"
-msgstr ""
+msgstr "Вы хотите, изменить все повторяющиеся события?"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:162
msgid "Repeat event"
-msgstr ""
+msgstr "Повтор события"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:163
msgid "Disabled"
-msgstr ""
+msgstr "Отключено"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:164
msgid "Enabled"
-msgstr ""
+msgstr "Включено"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:167
#: addons/web_calendar/static/src/js/calendar.js:175
msgid "Agenda"
-msgstr ""
+msgstr "Повестка дня"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:168
msgid "Date"
-msgstr ""
+msgstr "Дата"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:172
msgid "Year"
-msgstr ""
+msgstr "Год"
#. openerp-web
#: addons/web_calendar/static/src/xml/web_calendar.xml:5
diff --git a/addons/web_graph/i18n/ru.po b/addons/web_graph/i18n/ru.po
index 7e3316451b2..fcb97444257 100644
--- a/addons/web_graph/i18n/ru.po
+++ b/addons/web_graph/i18n/ru.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openerp-web\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2012-07-02 09:06+0200\n"
-"PO-Revision-Date: 2012-01-13 11:41+0000\n"
-"Last-Translator: Aleksei Motsik \n"
+"PO-Revision-Date: 2012-10-23 14:06+0000\n"
+"Last-Translator: Chertykov Denis \n"
"Language-Team: Russian \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-10-21 05:03+0000\n"
-"X-Generator: Launchpad (build 16165)\n"
+"X-Launchpad-Export-Date: 2012-10-24 05:20+0000\n"
+"X-Generator: Launchpad (build 16179)\n"
#. openerp-web
#: addons/web_graph/static/src/js/graph.js:19
@@ -25,74 +25,74 @@ msgstr "График"
#. openerp-web
#: addons/web_graph/static/src/xml/web_graph.xml:5
msgid "Graph Options"
-msgstr ""
+msgstr "Параметры графика"
#. openerp-web
#: addons/web_graph/static/src/xml/web_graph.xml:7
msgid "Graph Mode"
-msgstr ""
+msgstr "Графический вид"
#. openerp-web
#: addons/web_graph/static/src/xml/web_graph.xml:11
msgid "Pie"
-msgstr ""
+msgstr "Круговая диаграмма"
#. openerp-web
#: addons/web_graph/static/src/xml/web_graph.xml:12
msgid "Bars"
-msgstr ""
+msgstr "Линейчатая"
#. openerp-web
#: addons/web_graph/static/src/xml/web_graph.xml:14
msgid "Lines"
-msgstr ""
+msgstr "Строчная"
#. openerp-web
#: addons/web_graph/static/src/xml/web_graph.xml:15
msgid "Areas"
-msgstr ""
+msgstr "Области"
#. openerp-web
#: addons/web_graph/static/src/xml/web_graph.xml:18
msgid "Radar"
-msgstr ""
+msgstr "Радар"
#. openerp-web
#: addons/web_graph/static/src/xml/web_graph.xml:20
msgid "Legend"
-msgstr ""
+msgstr "Обозначения"
#. openerp-web
#: addons/web_graph/static/src/xml/web_graph.xml:24
msgid "Hidden"
-msgstr ""
+msgstr "Скрытый"
#. openerp-web
#: addons/web_graph/static/src/xml/web_graph.xml:25
msgid "Inside"
-msgstr ""
+msgstr "Внутри"
#. openerp-web
#: addons/web_graph/static/src/xml/web_graph.xml:26
msgid "Top"
-msgstr ""
+msgstr "Сверху"
#. openerp-web
#: addons/web_graph/static/src/xml/web_graph.xml:28
msgid "Actions"
-msgstr ""
+msgstr "Действия"
#. openerp-web
#: addons/web_graph/static/src/xml/web_graph.xml:32
msgid "Switch Axis"
-msgstr ""
+msgstr "Переключение осей"
#. openerp-web
#: addons/web_graph/static/src/xml/web_graph.xml:33
msgid "Show Data"
-msgstr ""
+msgstr "Показать данные"
#. openerp-web
#: addons/web_graph/static/src/xml/web_graph.xml:34
msgid "Download as PNG"
-msgstr ""
+msgstr "Скачать как PNG"
diff --git a/openerp/addons/base/i18n/ru.po b/openerp/addons/base/i18n/ru.po
index 3f1dbfa9389..0e97644b80e 100644
--- a/openerp/addons/base/i18n/ru.po
+++ b/openerp/addons/base/i18n/ru.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 00:44+0000\n"
-"PO-Revision-Date: 2012-09-24 14:20+0000\n"
+"PO-Revision-Date: 2012-10-23 18:39+0000\n"
"Last-Translator: Chertykov Denis \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-10-20 05:03+0000\n"
-"X-Generator: Launchpad (build 16165)\n"
+"X-Launchpad-Export-Date: 2012-10-24 04:55+0000\n"
+"X-Generator: Launchpad (build 16179)\n"
#. module: base
#: model:res.country,name:base.sh
@@ -76,7 +76,7 @@ msgstr ""
"Модуль ведения проектов отслеживает многоуровневые проекты, задачи, "
"проделанную работу над задачами, и т. д. \n"
"============================================================================="
-"=========\n"
+"===============================\n"
"\n"
"Позволяет выполнять планирование, определять порядок задач и т. д.\n"
"\n"
@@ -163,7 +163,7 @@ msgid ""
msgstr ""
"\n"
"Организация и управление мероприятиями.\n"
-"======================================\n"
+"=======================================\n"
"\n"
"Этот модуль позволяет вам создавать ретро планирование для управления вашими "
"мероприятиями.\n"
@@ -660,7 +660,8 @@ msgstr ""
"\n"
"Модуль для автоматизации отсылки писем по неоплаченным счетам, с "
"многоуровневыми напоминаниями.\n"
-"==========================================================================\n"
+"============================================================================="
+"==================\n"
"\n"
"Вы можете определить ваши многоуровневые напоминания через меню:\n"
" Бухгалтерия/Настройка/Разное/Напоминания\n"
@@ -978,7 +979,7 @@ msgstr ""
"Этот модуль дает администратору возможность отслеживать каждое действие "
"пользователя над всеми объектами системы.\n"
"============================================================================="
-"=================\n"
+"====================================\n"
"\n"
"Администратор может подписаться на правила чтения, записи и\n"
"удаления над объектами и проверять журнал.\n"
@@ -1249,7 +1250,7 @@ msgid ""
msgstr ""
"Отслеживание вашего планирования\n"
"Этот модуль помогает вам управлять вашим планированием.\n"
-"===============================================\n"
+"=======================================================\n"
"\n"
"Этот модуль основан на аналитическом учёте и тотально интегрирован с\n"
"* вводом данных табелей\n"
@@ -1484,7 +1485,7 @@ msgid ""
msgstr ""
"\n"
"Добавляет дополнительные даты к заказам.\n"
-"====================================================\n"
+"========================================\n"
"\n"
"Вы можете добавить следующие дополнительные даты:\n"
" * Дата запроса\n"
@@ -1533,7 +1534,7 @@ msgid ""
msgstr ""
"\n"
"Это полная система управления документами.\n"
-"==============================================\n"
+"==========================================\n"
"\n"
" * Авторизация пользователя\n"
" * Индексация документа: - файлы .pptx и .docx не поддержаны в платформе "
@@ -1623,7 +1624,7 @@ msgstr ""
"Это тестовый модуль, который показывает поддержку HTML тегов в обычном виде "
"XML формы.\n"
"============================================================================="
-"\n"
+"=========\n"
"\n"
"Создаёт пример вида формы используя HTML теги. Это видно только в OpenERP "
"веб.\n"
@@ -1724,7 +1725,7 @@ msgid ""
msgstr ""
"\n"
"Организация и управление мероприятиями.\n"
-"======================================\n"
+"=======================================\n"
"\n"
"Этот модуль позволяет вам\n"
" * управлять вашими мероприятиями и их регистрацией\n"
@@ -1841,7 +1842,8 @@ msgstr ""
"\n"
"Этот модуль добавляет общий инструмент совместного доступа для текущей базы "
"данных OpenERP.\n"
-"========================================================================\n"
+"============================================================================="
+"==============\n"
"\n"
"Он добавляет кнопку 'Совместный доступ', которая доступна в веб-клиенте для\n"
"совместного использования данных OpenERP любого сорта с сотрудниками, "
@@ -1954,7 +1956,7 @@ msgstr ""
" всегда доступна,но допускает номера, которые представлены возможно не "
"верно,\n"
" или более того не допустимы.\n"
-" * Когда параметр \\\"Проверка НДС VIES\\\" разрешён (в настройке "
+" * Когда параметр \"Проверка НДС VIES\" разрешён (в настройке "
"пользовательской\n"
" компании), номера НДС будут отправлены на онлайновую VIES\n"
" базу данных ЕС, которая тщательно проверит, что номер допустим и\n"
@@ -2013,7 +2015,7 @@ msgstr ""
"Этот модуль позволяет вашему пользователю легко и эффективно участвовать в "
"инновациях на предприятии.\n"
"============================================================================="
-"===============\n"
+"========================\n"
"\n"
"Он позволяет каждому выразить идеи относительно различных предметов.\n"
"Далее, другие пользователи могут комментировать эти идеи и голосовать за "
@@ -2378,7 +2380,7 @@ msgstr ""
"Модули журнала продаж позволяют вам распределять ваши продажи и поставки "
"(комплектовочные списки) между различными журналами.\n"
"============================================================================="
-"===========================================\n"
+"================================================\n"
"\n"
"Этот модуль весьма полезен для больших компаний, которые\n"
"работают через подразделения.\n"
@@ -2438,7 +2440,7 @@ msgid ""
msgstr ""
"\n"
"Этот модуль нацелен на управление расходами сотрудника.\n"
-"===============================================\n"
+"=======================================================\n"
"\n"
"Реализован весь рабочий процесс:\n"
" * черновой расход\n"
@@ -2578,12 +2580,12 @@ msgid ""
msgstr ""
"\n"
"Управляет рабочими местами и процессом найма.\n"
-"==================================================\n"
+"=============================================\n"
"\n"
"Он интегрирован с модулем опроса для позволения вам определить интервью для "
"различных работ.\n"
"\n"
-"Этот модуль интегрирован с почтовым шлюзом для автоматического отслуживания "
+"Этот модуль интегрирован с почтовым шлюзом для автоматического обслуживания "
"e-mail\n"
"отправленных на jobs@YOURCOMPANY.com. Он также интегрирован с системой "
"управления\n"
@@ -2667,9 +2669,8 @@ msgid ""
" "
msgstr ""
"\n"
-"\\n\n"
-"Управление помощью.\\n\n"
-"====================\\n\n"
+"Управление помощью.\n"
+"===================\n"
"\n"
"Подобно записи и обработке претензий, помощь и поддержка являются хорошими "
"инструментами\n"
@@ -2701,7 +2702,7 @@ msgid ""
msgstr ""
"\n"
"Модуль для управления ресурсами.\n"
-"===============================\n"
+"================================\n"
"\n"
"Ресурс представляет что-то, что может быть запланировано\n"
"(разработчик по задаче или рабочий центр по производственным заказам).\n"
@@ -2809,7 +2810,7 @@ msgid ""
msgstr ""
"\n"
"Основной модуль для управления разнесением аналитики и заказами продаж.\n"
-"=================================================================\n"
+"=======================================================================\n"
"\n"
"Использование этого модуля позволит вам связать аналитические счета с "
"заказами продаж.\n"
@@ -2933,8 +2934,7 @@ msgid ""
msgstr ""
"\n"
"Этот модуль реализует все концепции методологии дела-в-порядке\n"
-"============================================================================="
-"======\n"
+"==============================================================\n"
"\n"
"Этот модуль реализует простой персональный список дел основанный на задачах. "
"Он добавляет в\n"
@@ -3127,7 +3127,7 @@ msgid ""
msgstr ""
"\n"
"Этот модуль добавляет планшет во все канбан виды проекта\n"
-"==================================================\n"
+"========================================================\n"
" "
#. module: base
@@ -3208,7 +3208,7 @@ msgstr ""
"Настройте нужную вам точность цены для различных видов использования: "
"бухгалтерия, продажи, закупки, и т.д.\n"
"============================================================================="
-"=========================\n"
+"==============================\n"
"\n"
"Десятичная точность настроена по компании.\n"
@@ -3230,8 +3230,7 @@ msgid ""
msgstr ""
"\n"
"Этот модуль обслуживает в OpenERP план счетов и налогов для Польши.\n"
-"============================================================================="
-"=====\n"
+"===================================================================\n"
"\n"
"To jest moduł do tworzenia wzorcowego planu kont i podstawowych ustawień do "
"podatków\n"
@@ -3276,7 +3275,7 @@ msgid ""
msgstr ""
"\n"
"Этот модуль позволяет пользователям выполнять сегментацию партнёров.\n"
-"=================================================================\n"
+"====================================================================\n"
"\n"
"Он использует критерии профилей из прежнего модуля сегментации и улучшает "
"их. Благодаря новой концепции опросника. Теперь вы можете перегруппировывать "
@@ -3545,7 +3544,7 @@ msgid ""
msgstr ""
"\n"
"Этот модуль предусматривает шаблон Wiki ЧаВо.\n"
-"=========================================\n"
+"=============================================\n"
"\n"
"Он предусматривает демо данные, для создания Wiki группы и Wiki страниц\n"
"для Wiki ЧаВо.\n"
@@ -3725,27 +3724,27 @@ msgid ""
msgstr ""
"\n"
"Основной модуль для управления предложениями цен и заказами на продажу.\n"
-"======================================================\n"
+"=======================================================================\n"
"\n"
"Рабочий процесс с шагами подтверждения:\n"
-"-------------------------------\n"
+"---------------------------------------\n"
" * предложение цен -> заказ продаж -> выставление счёта\n"
"\n"
"Способы выставления счёта:\n"
-"------------------\n"
+"--------------------------\n"
" * счёт по заказу (до или после перевозки)\n"
" * счёт по доставке\n"
" * счёт по табелям\n"
" * авансовый счёт\n"
"\n"
"Предпочтения партнёров:\n"
-"---------------------\n"
+"-----------------------\n"
" * перевозка\n"
" * выставление счёта\n"
" * инкотерм\n"
"\n"
"Остатки ТМЦ и цены\n"
-"--------------------------\n"
+"------------------\n"
"\n"
"Способы доставки:\n"
"-----------------\n"
@@ -3754,7 +3753,7 @@ msgstr ""
" * стоимость доставки\n"
"\n"
"Панель руководителя продаж, которая включает:\n"
-"------------------------------------------\n"
+"---------------------------------------------\n"
" * заявки\n"
" * продажи по месяцу\n"
" * график продаж по продавцу за последние 90 дней\n"
@@ -3966,10 +3965,10 @@ msgid ""
msgstr ""
"\n"
"Модуль управления оплатой по счётам.\n"
-"=================================\n"
+"====================================\n"
"\n"
"Этот модуль предоставляет:\n"
-"----------------------\n"
+"--------------------------\n"
"* более эффективный путь для управления оплатой счёта.\n"
"* основной механизм для легкого подключения различных автоматизированных "
"платежей.\n"
@@ -4003,10 +4002,11 @@ msgstr ""
"\n"
"Этот модуль предоставляет некоторые возможности для улучшения макета "
"счетов.\n"
-"=========================================================================\n"
+"============================================================================="
+"\n"
"\n"
"Он даёт вам возможность:\n"
-"--------------------------------\n"
+"------------------------\n"
" * упорядочения всех позиций счёта\n"
" * добавки заголовков, строк комментариев, строк подитога\n"
" * черчения горизонтальных линий и помещения разрывов страниц\n"
@@ -4429,11 +4429,11 @@ msgid ""
msgstr ""
"\n"
"Права бухгалтерского доступа.\n"
-"=========================\n"
+"=============================\n"
"\n"
"Этот модуль даёт пользователю администратору доступ ко всем бухгалтерским "
"возможностям\n"
-"типа записей журналов и планов счетов.\\n\n"
+"типа записей журналов и планов счетов.\n"
"\n"
"Он назначает права доступа руководителя и пользователя администратору, и "
"только\n"
@@ -4494,7 +4494,7 @@ msgstr ""
"Модуль счёта ваучера включает все основные требования записей ваучера для "
"банка, наличных, продаж, закупки, расхода, контра и т.п.\n"
"============================================================================="
-"=======================================================\n"
+"=====================================================\n"
"\n"
" * Запись ваучера\n"
" * Расписка ваучера\n"
@@ -4578,11 +4578,11 @@ msgstr ""
"Что здесь было сделано:\n"
"\n"
" * приспособлен владелец позиции аналитики (= для компании, которая владеет "
-"общим учётом связанным с позицией аналитики)\\n\n"
+"общим учётом связанным с позицией аналитики)\n"
" * добавлена мульти-валютность по позициям аналитики (подобно финансовому "
"учёту)\n"
-" * коррекция всех индикаторов \\\"затраты\\\" в счёт аналитики для их "
-"основы на подходящей валюте (компании владельца)\n"
+" * коррекция всех индикаторов \"затраты\" в счёт аналитики для их основы на "
+"подходящей валюте (компании владельца)\n"
" * по умолчанию, ничего не меняется для представления одиночной компании.\n"
"\n"
"В результате, теперь мы можем реально разделять один и тот же счёт аналитики "
@@ -4649,7 +4649,7 @@ msgstr ""
"Эти модули позволяют вам отследить претензии и жалобы ваших "
"покупателей/поставщиков.\n"
"============================================================================="
-"===\n"
+"=======\n"
"\n"
"Они полностью интегрированы со шлюзом e-mail, так что вы можете создать\n"
"автоматически новые претензии основанные на приходящих e-mail.\n"
@@ -4738,7 +4738,7 @@ msgid ""
msgstr ""
"\n"
"Этот модуль позволяет вам анонимизировать базу данных.\n"
-"===============================================\n"
+"======================================================\n"
"\n"
"Этот модуль позволяет вам для данной базы данных секретно хранить ваши "
"данные.\n"
@@ -4780,8 +4780,7 @@ msgid ""
msgstr ""
"\n"
"Этот модуль помогает настроить систему при установке новой базы данных.\n"
-"============================================================================="
-"===\n"
+"=======================================================================\n"
"\n"
"Показывает вам список приложений для установки.\n"
"\n"
@@ -4830,7 +4829,7 @@ msgstr ""
"Модуль закупки для создания заказа закупки для приобретения товаров у "
"поставщика.\n"
"============================================================================="
-"============\n"
+"====\n"
"\n"
"Создаётся счёт поставщика для отдельного заказа закупки.\n"
"\n"
@@ -4909,7 +4908,7 @@ msgstr ""
"Этот модуль используемый OpenERP SA для перенаправления покупателей к своим "
"партнёрам, основан на гео-позиционировании.\n"
"============================================================================="
-"=========================\\n\n"
+"==========================================\n"
"\n"
"Вы можете гео-позиционировать ваши предложения используя этот модуль.\n"
"\n"
@@ -5074,7 +5073,7 @@ msgid ""
msgstr ""
"\n"
"Создание повторяющихся документов.\n"
-"===========================\n"
+"==================================\n"
"\n"
"Этот модуль позволяет создавать новые документы и добавлять подписки на эти "
"документы.\n"
@@ -5278,7 +5277,8 @@ msgstr ""
"\n"
"Установщик скрытых дополнений типа 2-го завтрака, опроса, идеи, совместного "
"использования и т.п.\n"
-"===============================================================\n"
+"============================================================================="
+"===================\n"
"\n"
"Делает настройку скрытых дополнений доступной, из которой вы можете "
"установить\n"
@@ -5393,7 +5393,7 @@ msgid ""
msgstr ""
"\n"
"С этим модулем активируется WebDAV сервер для документов.\n"
-"===============================================================\n"
+"=========================================================\n"
"\n"
"Вы можете использовать любой совместимый браузер для удалённого просмотра "
"вложений OpenObject.\n"
@@ -5406,12 +5406,11 @@ msgstr ""
" ; enable = True ; обслуживать webdav через http(s) серверы\n"
" ; vdir = webdav ; каталог, который будет обслуживаться webdav, по\n"
" ; умолчанию это значение означает, что этот webdav будет\n"
-" ; на \\\"http://localhost:8069/webdav/\n"
+" ; на \"http://localhost:8069/webdav/\n"
" ; verbose = True ; включает подробные сообщения webdav\n"
" ; debug = True ; включает отладочные сообщения webdav\n"
" ; Поскольку сообщения маршрутизируются в журналирование python-а с\n"
-" ; уровнями \\\"debug\\\" и \\\"debug_rpc\\\" соответственно, вы можете "
-"оставить\n"
+" ; уровнями \"debug\" и \"debug_rpc\" соответственно, вы можете оставить\n"
" ; эти параметры включёнными\n"
"\n"
"Также реализован IETF RFC 5785 для открытия сервисов на сервере http,\n"
@@ -5440,7 +5439,7 @@ msgid ""
msgstr ""
"\n"
"Этот модуль используется для опроса.\n"
-"==================================\n"
+"====================================\n"
"\n"
"Он зависит от ответов или обзоров некоторых вопросов различных "
"пользователей.\n"
@@ -5622,7 +5621,7 @@ msgid ""
msgstr ""
"\n"
"Этот модуль позволяет вам управлять вашими требованиями закупки.\n"
-"===========================================================\n"
+"================================================================\n"
"\n"
"Когда создан заказ закупки, вы получаете предложение для сохранения "
"связанного требования.\n"
@@ -5723,7 +5722,7 @@ msgstr ""
"Этот модуль предусматривает возможность одновременной установки "
"пользователем модулей производства и продаж.\n"
"============================================================================="
-"=======\n"
+"===============================\n"
"\n"
"Он обычно используется когда вы хотите отслеживать заказы\n"
"производства созданные из заказа продаж.\n"
@@ -5771,8 +5770,8 @@ msgstr ""
"Создавайте ваши счета из затрат, записей табеля...\n"
"Модуль для создания счетов основанных на затратах (трудовые ресурсы, "
"расходы...).\n"
-"============================================================================"
-"\n"
+"============================================================================="
+"====\n"
"\n"
"Вы можете определить прайс-листы в счёте аналитики, сделав некоторые "
"теоретические отчёты о\n"
@@ -6113,7 +6112,7 @@ msgstr ""
"Модуль управления инвентаризацией OpenERP может обслуживать несколько "
"складов, множественные и структурированные расположения запасов.\n"
"============================================================================="
-"=========================\n"
+"=========================================================\n"
"\n"
"Благодаря управлению двойной записью, управление инвентаризацией мощное и "
"гибкое:\n"
@@ -6210,7 +6209,8 @@ msgstr ""
"\n"
"Этот модуль позволяет бухгалтерам управлять аналитическими и перекрёстными "
"бюджетами.\n"
-"==========================================================================\n"
+"============================================================================="
+"========\n"
"\n"
"Как только главные бюджеты и бюджеты определены (в Бухгалтерия/Бюджеты/),\n"
"руководители проекта могут установить плановую сумму по каждому счёту "
@@ -6468,7 +6468,7 @@ msgstr ""
"Этот модуль позволяет использовать несколько аналитических планов согласно "
"общему журналу.\n"
"============================================================================="
-"======\n"
+"=============\n"
"\n"
"Здесь создаются несколько позиций аналитики, когда счёт или проводки\n"
"подтверждены.\n"
@@ -6560,7 +6560,7 @@ msgstr ""
"Это модуль для изменения вида счёта аналитики для показа важных данных "
"руководителю проекта сервисных компаний.\n"
"============================================================================="
-"======================================\n"
+"==================================\n"
"\n"
"Добавляет меню для показа относящейся к каждому руководителю информации.\n"
"Вы также можете видеть суммарный отчёт по счёту аналитики\n"
@@ -6784,7 +6784,7 @@ msgid ""
msgstr ""
"\n"
"Общая система выплат.\n"
-"=======================\n"
+"=====================\n"
"\n"
" * Подробности о сотруднике\n"
" * Договора сотрудника\n"
@@ -6869,7 +6869,7 @@ msgid ""
msgstr ""
"\n"
"Позволяет пользователю создать свой вариант панели.\n"
-"========================================\n"
+"===================================================\n"
"\n"
"Этот модуль также создаёт административную панель.\n"
"\n"
@@ -6966,7 +6966,7 @@ msgid ""
msgstr ""
"\n"
"Общая подсистема электронной почты с хранением сообщений и очередей.\n"
-"==========================================================\n"
+"====================================================================\n"
"\n"
"Эта подсистема e-mail не предназначена для использования как автономное\n"
"приложение, но предусматривает унифицированное представление e-mail, "
@@ -7032,7 +7032,7 @@ msgid ""
msgstr ""
"\n"
"Этот модуль позволяет вам управлять вашими контактами\n"
-"==============================================\n"
+"=====================================================\n"
"\n"
"Он позволяет вам определить:\n"
" * контакты не связанные с партнёром,\n"
@@ -7214,7 +7214,7 @@ msgid ""
msgstr ""
"\n"
"Это поддержка интерфейса FTP к системе управления документами.\n"
-"================================================================\n"
+"==============================================================\n"
"\n"
"С этим модулем у вас будет возможность доступа к документам не только через "
"OpenERP,\n"
@@ -7249,7 +7249,7 @@ msgstr ""
"Этот модуль позволяет вам определить какова функция по умолчанию "
"определённого пользователя на данной учётной записи.\n"
"============================================================================="
-"=======================\n"
+"========================================\n"
"\n"
"Это очень полезно, когда пользователь вводит данные своего табеля: значения "
"извлечены и поля авто-заполнены. Но возможность смены этих значений остаётся "
@@ -7788,7 +7788,7 @@ msgid ""
msgstr ""
"\n"
"Модуль для определения объекта аналитического учёта.\n"
-"===============================================\n"
+"====================================================\n"
"\n"
"В OpenERP счета аналитики связаны с общим учётом, но трактуются\n"
"полностью независимо. Так вы можете ввести различные аналитические "
@@ -7994,9 +7994,8 @@ msgid ""
" "
msgstr ""
"\n"
-"\\n\n"
"Модуль для управления трудовыми ресурсами.\n"
-"=====================================\n"
+"==========================================\n"
"\n"
"Вы можете управлять:\n"
" * Сотрудниками и иерархией: вы можете определить вашего сотрудника как "
@@ -8113,7 +8112,7 @@ msgid ""
msgstr ""
"\n"
"Добавляет всю информацию в форму сотрудника для управления договорами.\n"
-"=============================================================\n"
+"======================================================================\n"
"\n"
" * Семейное положение,\n"
" * Номер соцзащиты,\n"
@@ -8148,7 +8147,8 @@ msgstr ""
"\n"
"Этот модуль добавляет сокращение по одному или нескольким предложениям в "
"CRM.\n"
-"===========================================================================\n"
+"============================================================================="
+"=\n"
"\n"
"Это сокращение позволяет вам создать заказ продаж основанный на выбранном "
"вопросе.\n"
@@ -8279,7 +8279,7 @@ msgid ""
msgstr ""
"\n"
"Позволяет вам добавить способы доставки в заказы продаж и комплектование.\n"
-"==============================================================\n"
+"=========================================================================\n"
"\n"
"Вы можете определить для цен вашу собственную перевозку и сетки доставки.\n"
"При создании счетов из комплектования, OpenERP способен добавить и "
@@ -8330,7 +8330,7 @@ msgstr ""
"Этот модуль поддерживает англо-саксонскую бухгалтерскую методологию путём "
"смены бухгалтерской логики складских операций.\n"
"============================================================================="
-"========================================\n"
+"===========================================\n"
"\n"
"Различие бухгалтерий между англо-саксонскими странами\n"
"и рейнскими, или также называемыми континентальными странами, заключается в "
@@ -8391,7 +8391,7 @@ msgid ""
msgstr ""
"\n"
"Добавляет кнопку \"Отзыв\" в заголовок.\n"
-"==============================\n"
+"=====================================\n"
"\n"
"Предлагает отзыв пользователя OpenERP, через uservoice.\n"
" "
@@ -8464,7 +8464,7 @@ msgid ""
msgstr ""
"\n"
"Двойное подтверждение для закупок превысивших минимум суммы.\n"
-"=========================================================\n"
+"============================================================\n"
"\n"
"Этот модуль изменяет процесс закупки в порядке подтверждения закупок,\n"
"которые превышают минимум суммы заданный мастером настройки.\n"
@@ -8558,7 +8558,7 @@ msgid ""
msgstr ""
"\n"
"Изменяет даты соответственно смене конечной даты в проекте.\n"
-"======================================================\n"
+"===========================================================\n"
"\n"
"Если конечная дата проекта изменена, то дата конечного срока и дата начала "
"будут соответственно изменены для всех задач.\n"
@@ -8703,7 +8703,7 @@ msgstr ""
"Этот модуль дополняет приложение склада эффективной реализацией нисходящих и "
"восходящих потоков инвентаризации.\n"
"============================================================================="
-"===============================\n"
+"==================================\n"
"\n"
"Обычно он используется для:\n"
" * Управления цепочками изготовления товаров\n"
@@ -8723,7 +8723,7 @@ msgstr ""
"Демонстрационные данные товара ЦП1:\n"
"\n"
"Нисходящие потоки\n"
-"----------\n"
+"-----------------\n"
"Нисходящие потоки применимы, когда прибытие определённых товаров в данное "
"место хранения должно всегда\n"
"сопровождаться соответствующим перемещением в другое место хранения, не "
@@ -8744,7 +8744,7 @@ msgstr ""
"параметров.\n"
"\n"
"Восходящие потоки\n"
-"----------\n"
+"-----------------\n"
"Восходящие потоки несколько отличны от нисходящих потоков, в том, что они "
"относятся не к\n"
"обработке перемещений товара, а скорее к обработке заказов снабжения.\n"
@@ -8775,7 +8775,7 @@ msgstr ""
"товаре (т.е. конечное место хранения этого заказа снабжения).\n"
"\n"
"Пример использования\n"
-"--------\n"
+"--------------------\n"
"\n"
"Вы можете использовать следующие демонстрационные данные:\n"
" ЦП1: продажа ЦП1 из магазина 1 и запуск планировщика\n"
@@ -8799,7 +8799,7 @@ msgid ""
msgstr ""
"\n"
"Меню для маркетинга.\n"
-"===================\n"
+"====================\n"
"\n"
"Содержит установщик для модулей относящихся к маркетингу.\n"
" "
@@ -8852,7 +8852,7 @@ msgid ""
msgstr ""
"\n"
"Автоматически создаёт задачи проекта из позиций снабжения\n"
-"==========================================================\n"
+"=========================================================\n"
"\n"
"Этот модуль автоматически создаст новую задачу для каждой позиции заказа\n"
"снабжения (например, для позиций заказа продажи), если соответствующий "
@@ -8934,7 +8934,8 @@ msgstr ""
"\n"
"Этот модуль может автоматически создать задачи проекта основанные на "
"входящих письмах\n"
-"===========================================================================\n"
+"============================================================================="
+"========\n"
"\n"
"Позволяет создавать задачи основанные на новых письмах приходящих на данный "
"почтовый ящик,\n"
@@ -8973,7 +8974,8 @@ msgstr ""
"\n"
"Этот модуль позволяет вам управлять всеми операциями для управления "
"участием.\n"
-"=========================================================================\n"
+"============================================================================="
+"\n"
"\n"
"Он поддерживает различные виды участников:\n"
"* Свободный участник\n"
@@ -8999,7 +9001,7 @@ msgid ""
msgstr ""
"\n"
"Этот модуль предназначен для управления посещаемости работников.\n"
-"==================================================\n"
+"================================================================\n"
"\n"
"Поддерживает учёт посещаемости работников на основе\n"
"действий (приход/уход) выполненных ими.\n"
@@ -9074,10 +9076,10 @@ msgid ""
" "
msgstr ""
"\n"
-"Этот модуль поддерживает внутреннюю нумерацию бухгалтерских записей.\n"
-"======================================================================\n"
+"Этот модуль поддерживает внутреннюю нумерацию бухгалтерских проводок.\n"
+"====================================================================\n"
"\n"
-"Позволяет вам настроить нумерацию бухгалтерских записей.\n"
+"Позволяет вам настроить нумерацию бухгалтерских проводок.\n"
"\n"
"Вы можете подстроить следующие атрибуты нумерации:\n"
" * Префикс\n"
@@ -9295,7 +9297,7 @@ msgid ""
msgstr ""
"\n"
"Возможности Caldav во встрече.\n"
-"===========================\n"
+"==============================\n"
"\n"
" * Совместное использование встречи с другими клиентами календаря типа "
"Sunbird\n"
@@ -9483,7 +9485,7 @@ msgid ""
msgstr ""
"\n"
"Этот модуль позволяет вам управлять отпусками и запросами отпусков.\n"
-"=============================================================\n"
+"===================================================================\n"
"\n"
"Реализует панель для управления трудовыми ресурсами, которая включает:\n"
" * Отпуска\n"
@@ -9586,7 +9588,7 @@ msgid ""
msgstr ""
"\n"
"Шаблон руководства по качеству.\n"
-"========================\n"
+"===============================\n"
"\n"
"Он предусматривает демо-данные, включая Wiki группу и Wiki страницу\n"
"для Wiki руководства по качеству.\n"
@@ -9636,7 +9638,7 @@ msgid ""
msgstr ""
"\n"
"Это модуль для настройки модулей относящихся к объединению.\n"
-"==============================================================\n"
+"===========================================================\n"
"\n"
"Он устанавливает профиль для объединений для обслуживания событий, "
"регистраций, членства, продуктов членства (проекты) и т.п.\n"
@@ -9724,7 +9726,7 @@ msgid ""
msgstr ""
"\n"
"Это модуль для вычисления снабжения.\n"
-"==============================================\n"
+"====================================\n"
"\n"
"В процессе MRP, заказы снабжения создаются для вызова заказов\n"
"производства, заказов закупки, распределений запаса и т.д. Заказы снабжения\n"
@@ -9843,7 +9845,7 @@ msgstr ""
"Этот модуль добавляет новый движок отчёта основанный на библиотеке WebKit "
"(wkhtmltopdf) для поддержки очётов разработанных в HTML + CSS.\n"
"============================================================================="
-"========================================\n"
+"===========================================================\n"
"\n"
"Структура модуля и некоторый код заимствованы из модуля отчёта OpenOffice.\n"
"\n"
@@ -9869,7 +9871,7 @@ msgstr ""
" http://files.me.com/nbessi/06n92k.mov\n"
"\n"
"Требования и установка\n"
-"-----------------------------\n"
+"----------------------\n"
"Этот модуль требует библиотеку ``wkthtmltopdf`` для перевода документов HTML "
"в\n"
"PDF. Необходима версия 0.9.9 или новее, и может быть найдена на "
@@ -9886,7 +9888,7 @@ msgstr ""
"\n"
"\n"
"СДЕЛАТЬ\n"
-"----\n"
+"-------\n"
"\n"
" * Поддержку активации деактивации JavaScript\n"
" * Поддержку разобранного по листам и книжного формата\n"
@@ -9990,7 +9992,7 @@ msgid ""
msgstr ""
"\n"
"Этот модуль содержит основную функциональность для системы Caldav.\n"
-"===========================================================\n"
+"==================================================================\n"
"\n"
" - Webdav сервер, который предусматривает удалённый доступ к календарю\n"
" - Синхронизация календаря используя WebDAV\n"
@@ -10132,7 +10134,7 @@ msgid ""
msgstr ""
"Устанавливает значения по умолчанию для ваших аналитических счетов\n"
"Позволяет автоматический выбор аналитических счетов на основе критериев:\n"
-"=====================================================================\n"
+"========================================================================\n"
"\n"
"* Товар\n"
"* Партнёр\n"
@@ -10202,7 +10204,7 @@ msgid ""
msgstr ""
"\n"
"Основной модуль для управления документами (Wiki).\n"
-"==========================================\n"
+"==================================================\n"
"\n"
"Отслеживает группы, страницы и историю Wiki.\n"
" "
@@ -10484,7 +10486,7 @@ msgstr ""
"============================================================\n"
"\n"
"Краткий словарь\n"
-"--------------\n"
+"---------------\n"
"- Период запаса - границы времени (между датой начала и конечной датой) для "
"планирования ваших продаж и прогнозов запаса\n"
"- Прогноз продаж - количество товаров, которое вы планируете продать в "
@@ -10498,7 +10500,7 @@ msgstr ""
"подчёркивания, что мы используем количественные значения.\n"
"\n"
"Для начала\n"
-"--------------\n"
+"----------\n"
"Использование этого модуля производится в три шага:\n"
"\n"
" * Создание периодов запаса через меню Склад>Настройки>Периоды запаса "
@@ -10511,7 +10513,7 @@ msgstr ""
"запаса.\n"
"\n"
"Настройки периода запаса\n"
-"--------------------------\n"
+"------------------------\n"
"У вас есть два пункта меню для периодов в \"Склад > Настройки > Периоды "
"запаса\". Это:\n"
"\n"
@@ -10546,7 +10548,7 @@ msgstr ""
"промежутки между периодами, результаты могут быть не предсказуемыми.\n"
"\n"
"Настройки прогнозов продаж\n"
-"-----------------------------\n"
+"--------------------------\n"
"У вас есть несколько меню для прогноза продаж в \"Продажи > Прогнозы "
"продаж\":\n"
"\n"
@@ -10597,7 +10599,7 @@ msgstr ""
"\n"
"\n"
"МПС или планирование снабжения\n"
-"---------------------------\n"
+"------------------------------\n"
"Планирование МПС заключающееся в строках планирования запаса, используется "
"для анализа и возможности ведения снабжения\n"
"товарами для каждого относящегося периода запаса и склада.\n"
@@ -10672,7 +10674,7 @@ msgstr ""
"планирование\".\n"
"\n"
"Подсчёт количеств моделирования запаса\n"
-"------------------------------------------\n"
+"--------------------------------------\n"
"Значение моделирования запаса - ожидаемое количество запаса в конце "
"периода.\n"
"Подсчёт всегда начинается с реального имеющегося запаса на начало текущего "
@@ -10800,7 +10802,7 @@ msgstr ""
"Этот модуль создаёт техническое описание выбранных модулей в "
"реструктурированном текстовом формате (RST).\n"
"============================================================================="
-"====================\n"
+"============================\n"
"\n"
" * Он использует Sphinx (http://sphinx.pocoo.org) представление RST\n"
" * Он создаёт архив (суффикс файла .tgz) содержащий индекс файла и один "
@@ -10944,7 +10946,7 @@ msgstr ""
"Этот модуль помогает вам легко ввести данные и подтвердить табель и "
"посещаемость в одном и том же виде.\n"
"============================================================================="
-"======================\n"
+"==========================\n"
"\n"
"Верхняя часть вида - для посещаемости и отслеживает события (приход/уход).\n"
"Нижняя часть - для табеля.\n"
@@ -10960,7 +10962,7 @@ msgstr ""
"* Подтверждение руководителем проекта\n"
"\n"
"Подтверждение в компании может быть настроено по:\n"
-"* Размеру периода (день, неделя, месяц, год)\\n\n"
+"* Размеру периода (день, неделя, месяц, год)\n"
"* Максимальной разнице между табелем и посещаемостью\n"
" "
@@ -11056,10 +11058,10 @@ msgid ""
msgstr ""
"\n"
"Это основной модуль для управления процессом производства в OpenERP.\n"
-"=======================================================================\n"
+"====================================================================\n"
"\n"
"Возможности:\n"
-"---------\n"
+"------------\n"
" * Сделать в запас/сделать на заказ (по строке)\n"
" * Многоуровневые ВМ, нет ограничения\n"
" * Многоуровневая маршрутизация, нет ограничения\n"
@@ -11080,14 +11082,14 @@ msgstr ""
"в ВМ для автоматической закупки по заказу сборки вашего производства.\n"
"\n"
"Отчёты предусмотренные этим модулем:\n"
-"--------------------------------\n"
+"------------------------------------\n"
" * Структура и компоненты ведомости материалов\n"
" * Прогноз загрузки по рабочим центрам\n"
" * Печать производственного заказа\n"
" * Прогнозы запаса\n"
"\n"
"Панель предусмотренная этим модулем:\n"
-"----------------------------------\n"
+"------------------------------------\n"
" * Список следующих производственных заказов\n"
" * Список проблем снабжений\n"
" * График загрузки рабочего центра\n"
@@ -11235,7 +11237,7 @@ msgid ""
msgstr ""
"\n"
"Общий интерфейс для плагина.\n"
-"=====================================================\n"
+"============================\n"
"\n"
#. module: base
@@ -11411,7 +11413,7 @@ msgid ""
msgstr ""
"\n"
"Это модуль для управления окружением мульти-компаний.\n"
-"=======================================================\n"
+"=====================================================\n"
"\n"
"Это основной модуль для других модулей мульти-компаний.\n"
" "
@@ -11464,7 +11466,7 @@ msgid ""
msgstr ""
"\n"
"Берет входящую эл.почту с серверов POP / IMAP\n"
-"=============================================\n"
+"==============================================\n"
"\n"
"Введите параметры ваших учётных записей POP/IMAP, и любые входящие\n"
"e-mail-ы на этих адресах будут автоматически загружены в вашу систему\n"
@@ -11565,10 +11567,10 @@ msgid ""
msgstr ""
"\n"
"Бухгалтерия и управление финансами.\n"
-"====================================\n"
+"===================================\n"
"\n"
"Финансовый и бухгалтерский модуль, который покрывает:\n"
-"--------------------------------------------\n"
+"-----------------------------------------------------\n"
"Общий учет\n"
"Стоимостной/аналитический учёт\n"
"Бухгалтерия третьей стороны\n"
@@ -11579,7 +11581,7 @@ msgstr ""
"Обработка сверки по партнёрам\n"
"\n"
"Создаёт панель для бухгалтеров, которая включает:\n"
-"--------------------------------------------------\n"
+"-------------------------------------------------\n"
"* Список счетов заказчикам для одобрения\n"
"* Анализ компании\n"
"* График задолженностей\n"
@@ -11689,7 +11691,7 @@ msgid ""
msgstr ""
"\n"
"Установщик для скрытой отчётности.\n"
-"==============================\n"
+"==================================\n"
"\n"
"Делает доступной настройку скрытой отчётности из которой вы можете "
"установить\n"
@@ -11741,7 +11743,7 @@ msgid ""
" "
msgstr ""
"\n"
-"Список дел для кандидатов и предложений в CRM.\\n\n"
+"Список дел для кандидатов и предложений в CRM.\n"
" "
#. module: base
@@ -11803,7 +11805,7 @@ msgid ""
msgstr ""
"\n"
"Позволяет синхронизировать календари с другими приложениями.\n"
-"=========================================================\n"
+"============================================================\n"
"\n"
"Позволит синхронизировать ваши календари OpenERP с вашим телефоном, Outlook, "
"Sunbird, Ical, ...\n"
@@ -12287,7 +12289,7 @@ msgid ""
msgstr ""
"\n"
"Позволяет отмену бухгалтерских проводок.\n"
-"=====================================\n"
+"========================================\n"
"\n"
"Этот модуль добавляет поле 'Разрешить отмену проводок' в вид формы журнала "
"учета. Если оно помечено, то это позволяет пользователю отменить проводки и "
@@ -12327,7 +12329,7 @@ msgid ""
msgstr ""
"\n"
"Создание претензии из заказа доставки.\n"
-"=====================================\n"
+"======================================\n"
"\n"
"Добавляет ссылку претензии к заказу доставки.\n"
@@ -12409,7 +12411,7 @@ msgid ""
msgstr ""
"\n"
"Общий план счетов\n"
-"=========================\n"
+"=================\n"
"\n"
"Предоставляется шаблон плана счетов, налогов для Уругвая\n"
"\n"
@@ -12512,7 +12514,7 @@ msgid ""
msgstr ""
"\n"
"Этот модуль добавляет поле карты Google в адрес партнёра.\n"
-"====================================================\n"
+"=========================================================\n"
"\n"
"Используя это вы можете непосредственно открывать карту Google Map из поля "
"URL."
@@ -12547,7 +12549,7 @@ msgstr ""
"\n"
"Вы можете создать кнопки печати вызвав мастер. Для дополнительных "
"подробностей смотрите:\n"
-" http://files.me.com/nbessi/06n92k.mov\\n\n"
+" http://files.me.com/nbessi/06n92k.mov\n"
" "
#. module: base
@@ -12631,7 +12633,7 @@ msgid ""
msgstr ""
"\n"
"Модуль добавляющий изготовителей и свойства в форму ввода товара.\n"
-"====================================================================\n"
+"=================================================================\n"
"\n"
"Теперь вы можете определить следующее для товара:\n"
" * Изготовитель\n"
@@ -12684,7 +12686,7 @@ msgstr ""
"Этот модуль устанавливает основу для банковских счетов IBAN (международных "
"номеров банковских счетов) и проверяет их правильность.\n"
"============================================================================="
-"========================================\n"
+"=====================================================\n"
"\n"
"Возможность извлечь правильно представленные локальные счета из счетов IBAN "
"одним действием.\n"
@@ -12780,7 +12782,7 @@ msgid ""
msgstr ""
"\n"
"Общая система выплат интегрированная с бухгалтерией.\n"
-"===================================================\n"
+"====================================================\n"
"\n"
" * Запись данных зарплаты\n"
" * Запись данных выплаты\n"
@@ -12819,10 +12821,10 @@ msgid ""
msgstr ""
"\n"
"Этот модуль предусматривает быструю и лёгкую обработку продаж.\n"
-"===================================================\n"
+"==============================================================\n"
"\n"
"Основные возможности :\n"
-"---------------\n"
+"----------------------\n"
" * Быстрый ввод данных продаж.\n"
" * Возможность выбора одного способа оплаты (быстрый путь) или разбиение "
"платежа между несколькими способами оплаты.\n"
@@ -12915,7 +12917,7 @@ msgid ""
msgstr ""
"\n"
"Этот модуль предусматривает шаблон Wiki ЧаВо продаж.\n"
-"===============================================\n"
+"====================================================\n"
"\n"
"Он предусматривает демо данные, включая создание Wiki группы и Wiki "
"страницы\n"
@@ -12945,7 +12947,7 @@ msgid ""
msgstr ""
"\n"
"Этот модуль позволяет реализовать правила действия для любого объекта.\n"
-"============================================================\n"
+"======================================================================\n"
"\n"
"Использование автоматизированных действий для запуска действий для различных "
"экранов.\n"
@@ -13001,7 +13003,7 @@ msgstr ""
"Добавляет меню отчётности в товары, которое подсчитывает продажи, закупки, "
"маржи и другие интересные показатели основанные на счетах.\n"
"============================================================================="
-"================================================\n"
+"========================================================\n"
"\n"
"Мастер для запуска отчёта имеет различные параметры, чтобы помочь вам "
"получить нужные вам данные.\n"
@@ -13372,7 +13374,7 @@ msgstr ""
"Этот модуль добавляет поддержку табеля для управления проблемами/ошибками в "
"проекте.\n"
"============================================================================="
-"====\n"
+"=======\n"
"\n"
"Могут быть поддержаны рабочие журналы для выражения числа часов затраченных "
"пользователями на решение проблемы.\n"
@@ -13561,7 +13563,7 @@ msgid ""
msgstr ""
"\n"
"Модуль для запуска предупреждений в объектах OpenERP.\n"
-"==============================================\n"
+"=====================================================\n"
"\n"
"Предупреждающие сообщения могут быть показаны для объектов типа заказа "
"продаж, заказа снабжения,\n"
@@ -13630,7 +13632,7 @@ msgid ""
msgstr ""
"\n"
"Этот модуль предоставляет функцию посылки сообщений в рамках проекта.\n"
-"=========================================================================\n"
+"=====================================================================\n"
"\n"
"Пользователь может посылать индивидуальные сообщения другому пользователю. "
"Он может даже посылать\n"
@@ -13676,7 +13678,7 @@ msgid ""
msgstr ""
"\n"
"Модуль, который добавляет отчёты intrastat.\n"
-"=====================================\n"
+"===========================================\n"
"\n"
"Этот модуль даёт подробности торговли товарами между странами Европейского "
"союза "
@@ -13694,7 +13696,7 @@ msgid ""
msgstr ""
"\n"
"Мастер выставления счёта на доставку.\n"
-"============================\n"
+"=====================================\n"
"\n"
"Когда вы отправляете или получаете товары, этот модуль автоматически "
"вызывает\n"
@@ -13766,7 +13768,7 @@ msgstr ""
"Этот модуль позволяет вам подсчитать скидки по позициям заказа продажи и "
"позициям счёта по прайс-листу партнёра.\n"
"============================================================================="
-"==================================\n"
+"===================================\n"
"\n"
"В конце в форму прайс-листа добавлен новый флажок названный \"Видимая "
"скидка\".\n"
@@ -13909,9 +13911,9 @@ msgid ""
msgstr ""
"\n"
"Этот модуль требуется для правильной работы плагина Thuderbird.\n"
-"====================================================================\n"
+"===============================================================\n"
"\n"
-"Плагин позволяет вам архивировать e-mail и её вложения в выбранные\n"
+"Плагин позволяет вам архивировать e-mail c вложениями в выбранные\n"
"объекты OpenERP. Вы можете выбрать партнёра, задачу, проект, счёт\n"
"аналитики или иной объект и прикрепить выбранное письмо как .eml файл во\n"
"вложение выбранной записи. Вы можете создать документы для кандидатов CRM,\n"
@@ -13967,7 +13969,7 @@ msgstr ""
"Цель в наличии завершённого модуля для управления всеми ремонтами товаров. "
"Этим модулем покрыты следующие темы:\n"
"============================================================================="
-"==============================================\n"
+"==================================\n"
"\n"
" * Добавление/удаление товаров в ремонт\n"
" * Влияние на запасы\n"
@@ -14002,7 +14004,7 @@ msgid ""
msgstr ""
"\n"
"Установщик для основанного на знаниях скрытия.\n"
-"====================================\n"
+"==============================================\n"
"\n"
"Делает доступной настройки приложения знаний, откуда вы можете установить\n"
"документ и основанное на Wiki скрытие.\n"
@@ -14080,7 +14082,7 @@ msgid ""
msgstr ""
"\n"
"Синхронизация записей работ по проекту и записей табеля.\n"
-"====================================================================\n"
+"========================================================\n"
"\n"
"Этот модуль позволяет вам перенос записей по задачам определённым для "
"управления проектом в\n"
@@ -14194,7 +14196,7 @@ msgstr ""
"Этот модуль реализует все концепции определённые методологией управления "
"проектом Scrum для ИТ компаний.\n"
"============================================================================="
-"============================\n"
+"===========================\n"
"\n"
" * Проект со спринтами, владелец продукта, мастер Scrum\n"
" * Спринты с обзорами, дневные встречи, обратные связи\n"
@@ -14498,7 +14500,7 @@ msgstr ""
"Этот модуль добавляет в строки операций заказа производства состояние, дату "
"начала, дату завершения (во вкладке \"Рабочие центры\").\n"
"============================================================================="
-"================================\\n\n"
+"=====================================================\n"
"\n"
"Состояния: черновик, подтвердить, сделан, отмена\n"
"При завершении/подтверждении, отмене производственных заказов устанавливает "
@@ -14554,7 +14556,7 @@ msgstr ""
"Этот модуль управляет записями артистов, предметами аукциона, покупателями и "
"продавцами.\n"
"============================================================================="
-"====\n"
+"===========\n"
"\n"
"Он полностью управляет аукционом так, как обслуживает ставки,\n"
"отслеживает проданные предметы вместе с оплаченными\n"
@@ -14564,7 +14566,7 @@ msgstr ""
" * последние объекты (список)\n"
" * последние депозиты (список)\n"
" * статистики объектов (список)\n"
-" * итоговые результаты (график)\\n\n"
+" * итоговые результаты (график)\n"
" * мин./рез./макс. (график)\n"
" * объекты по дню (график)\n"
" "
@@ -14606,7 +14608,7 @@ msgid ""
msgstr ""
"\n"
"Заменяет простые текстовые пароли в базе данных на защищённые хэши\n"
-"===============================================================\n"
+"==================================================================\n"
"Для существующей базы пользователей, удаление простых текстовых\n"
"паролей осуществляется немедленно, когда вы устанавите base_crypt.\n"
"\n"
@@ -14619,7 +14621,7 @@ msgstr ""
"администратор может задать новый пароль.\n"
"\n"
"Предупреждение защиты\n"
-"++++++++++++++++\n"
+"+++++++++++++++++++++\n"
"Установка этого модуля не означает, что вы можете игнорировать другие "
"настройки защиты,\n"
"поскольку пароль остаётся не зашифрованным при передаче по сети, если вы\n"
@@ -14633,7 +14635,7 @@ msgstr ""
"к серверу, и т.д.\n"
"\n"
"Взаимодействие с аутентификацией LDAP\n"
-"+++++++++++++++++++++++++++++++++++\n"
+"+++++++++++++++++++++++++++++++++++++\n"
"Этот модуль сейчас не совместим с модулем ``user_ldap`` и\n"
"будет полностью лишать возможности LDAP аутентификации, если установлен "
"одновременно.\n"
@@ -14818,7 +14820,7 @@ msgid ""
msgstr ""
"\n"
"Этот модуль используется совместно с OpenERP плагином OpenOffice.\n"
-"=========================================================\n"
+"=================================================================\n"
"\n"
"Этот модуль добавляет мастер для импорта/экспорта .sxw отчёта, который\n"
"вы можете изменить в OpenOffice. После того как вы измените его, вы можете\n"
@@ -14862,11 +14864,11 @@ msgid ""
msgstr ""
"\n"
"Это полнофункциональная календарная система.\n"
-"========================================\n"
+"============================================\n"
"\n"
"Она поддерживает:\n"
" - Календарь событий\n"
-" - Тревоги (создание запросов)\n"
+" - Оповещения (создание запросов)\n"
" - Повторные события\n"
" - Приглашения людям\n"
"\n"
@@ -14967,9 +14969,10 @@ msgid ""
" "
msgstr ""
"\n"
-"Предоставляет общую платформу , которую могут использовать другие "
+"Предоставляет общую платформу ОЭД(EDI), которую могут использовать другие "
"приложения\n"
-"==============================================================\n"
+"============================================================================="
+"=======\n"
"\n"
"ОЭД(EDI) - обмен электронными документами\n"
"OpenERP определяет общий формат ОЭД для обмена деловыми\n"
@@ -15271,7 +15274,7 @@ msgid ""
msgstr ""
"\n"
"Добавляет поддержку авторизации через LDAP сервер.\n"
-"===============================================\n"
+"==================================================\n"
"Этот модуль позволяет пользователям входить с их именем пользователя и "
"паролём LDAP,\n"
"и автоматически создаст на лету пользователей для OpenERP.\n"
@@ -15281,7 +15284,7 @@ msgstr ""
"``ldap`` Python-а.\n"
"\n"
"Настройка\n"
-"+++++++++++++\n"
+"+++++++++\n"
"После установки этого модуля, вам нужно настроить параметры\n"
"LDAP во вкладке настройки подробностей компании.\n"
"Различные компании могут иметь отличающиеся серверы LDAP, поскольку\n"
@@ -15305,7 +15308,7 @@ msgstr ""
"руководства ldap.conf: manpage:`ldap.conf(5)`.\n"
"\n"
"Соображения защиты\n"
-"+++++++++++++++++++++++\n"
+"++++++++++++++++++\n"
"Пароли пользователей LDAP никогда не сохраняются в базе данных OpenERP,\n"
"LDAP сервер запрашивается всякий раз, когда пользователю нужно быть\n"
"авторизованным. Не происходит дублирования паролей, и\n"
@@ -15336,7 +15339,7 @@ msgstr ""
"серверу LDAP зашифрован.\n"
"\n"
"Шаблон пользователя\n"
-"+++++++++++++\n"
+"+++++++++++++++++++\n"
"В настройках LDAP в форме компании, возможно\n"
"выбрать *Шаблон пользователя*. Если задан, этот пользователь будет "
"использован как\n"
@@ -15359,7 +15362,7 @@ msgstr ""
"группы по вашему желанию.\n"
"\n"
"Взаимодействие с шифрацией базы\n"
-"+++++++++++++++++++++++++++\n"
+"+++++++++++++++++++++++++++++++\n"
"Модуль base_crypt не совместим с этим модулем, и\n"
"отключит аутентификацию LDAP, если установлен одновременно.\n"
"\n"
@@ -15538,7 +15541,7 @@ msgid ""
msgstr ""
"\n"
"Этот модуль позволяет вовремя вычислять заказы снабжения.\n"
-"==================================================================\n"
+"=========================================================\n"
"\n"
"Если вы установили этот модуль, вам больше не понадобится регулярное "
"выполнение\n"
@@ -15624,7 +15627,7 @@ msgid ""
msgstr ""
"\n"
"Демо данные для модуля marketing_campaign.\n"
-"============================================\n"
+"==========================================\n"
"\n"
"Создаёт демо данные типа возможностей, кампаний и сегментов для модуля "
"marketing_campaign.\n"
@@ -15904,7 +15907,7 @@ msgid ""
msgstr ""
"\n"
"Назначение этого модуля - проверка качества других модулей.\n"
-"================================================================\n"
+"===========================================================\n"
"\n"
"Он определяет мастер по списку модулей в OpenERP, который позволяет вам\n"
"оценить их по различным критериям, таким как: соответствие стандартам\n"
@@ -15960,7 +15963,7 @@ msgstr ""
"Этот модуль промежуточного процесса комплектования для обеспечения сырьем "
"производственных заказов.\n"
"============================================================================="
-"====================\n"
+"======================\n"
"\n"
"Один пример использования этого модуля - управление производством сделанным "
"вашими\n"
@@ -16056,7 +16059,7 @@ msgid ""
msgstr ""
"\n"
"Основной модуль для управления разнесением аналитики и заказами закупки.\n"
-"====================================================================\n"
+"========================================================================\n"
"\n"
"Позволяет пользователю поддерживать различные аналитические планы. Позволяет "
"вам разбить\n"
@@ -16182,10 +16185,10 @@ msgstr ""
"Модуль управления долгосрочным проектом, который отслеживает планирование, "
"планировщики, назначение ресурсов.\n"
"============================================================================="
-"==============\n"
+"================================\n"
"\n"
"Возможности\n"
-"--------\n"
+"-----------\n"
" * Управление большим проектом.\n"
" * Определение различных этапов проекта.\n"
" * Подсчёт планирования этапа: подсчёт даты начала и конечной даты этапов "
@@ -16321,7 +16324,7 @@ msgid ""
msgstr ""
"\n"
"Отслеживает различные даты по товарам и партиям производства.\n"
-"======================================================\n"
+"=============================================================\n"
"\n"
"Могут быть отслежены следующие даты:\n"
" - конец жизни\n"
@@ -16374,7 +16377,7 @@ msgid ""
msgstr ""
"\n"
"Удаление минимального плана счетов.\n"
-"=============================\n"
+"===================================\n"
"\n"
"Деактивирует минимальный план счетов.\n"
@@ -16442,7 +16445,7 @@ msgid ""
msgstr ""
"\n"
"Этот модуль предоставляет возможности улучшения макета заказа продаж.\n"
-"=======================================================================\n"
+"=====================================================================\n"
"\n"
"Он даёт вам возможность\n"
" * упорядочить все позиции заказа продаж\n"
@@ -16596,7 +16599,7 @@ msgstr ""
"Этот модуль показывает основные процессы существующие в выбранных модулях и "
"их последовательность.\n"
"============================================================================="
-"=========================\n"
+"=====================\n"
"\n"
"Примечание: это применимо к модулям содержащим modulename_process_xml\n"
"например: product/process/product_process_xml\n"
@@ -16874,7 +16877,8 @@ msgstr ""
"\n"
"Этот модуль позволяет вам создать любой статистический отчёт по различным "
"объектам.\n"
-"=========================================================================\n"
+"============================================================================="
+"======\n"
"\n"
"Это конструктор SQL запроса и просмотрщик\n"
"для конечных пользователей.\n"
@@ -17092,7 +17096,7 @@ msgid ""
msgstr ""
"\n"
"Это основной модуль для управления товарами и прайс-листами в OpenERP.\n"
-"========================================================================\n"
+"======================================================================\n"
"\n"
"Товары поддерживают варианты, различные методы ценообразования, информацию\n"
"поставщиков, изготовление в запас/по заказу, различные единицы измерения,\n"
@@ -17205,7 +17209,7 @@ msgid ""
msgstr ""
"\n"
"Обеспечивает поддержку живого чата для тех, укого есть договор поддержки.\n"
-"===================================================================\n"
+"=========================================================================\n"
"\n"
"Добавляет кнопку \"Поддержка\" button в заголовке формы доступа к поддержке "
"OpenERP.\n"
@@ -17287,7 +17291,7 @@ msgid ""
msgstr ""
"\n"
"Этот модуль предоставляет управление проблемами/ошибками в проекте.\n"
-"=======================================================\n"
+"===================================================================\n"
"\n"
"OpenERP позволяет вам управлять проблемами, которые вы можете встретить в "
"проекте\n"
@@ -17555,8 +17559,7 @@ msgid ""
msgstr ""
"\n"
"Шаблоны e-mail (упрощённая версия оригинальной Power Email от Openlabs)\n"
-"============================================================================="
-"\n"
+"=======================================================================\n"
"\n"
"Позволяет вам разработать полные шаблоны e-mail связанные с любым документом "
"OpenERP (заказами\n"
@@ -17645,7 +17648,7 @@ msgid ""
msgstr ""
"\n"
"Этот модуль реализует табельную систему.\n"
-"==========================================\n"
+"========================================\n"
"\n"
"Каждый работник может ввести и отследить время затраченное на различные "
"проекты.\n"
@@ -17731,7 +17734,7 @@ msgid ""
msgstr ""
"\n"
"Это общее управление взаимоотношениями с покупателями (CRM) в OpenERP.\n"
-"=====================================================\\n\n"
+"======================================================================\n"
"\n"
"Эта система позволяет группировать людей для разумного и эффективного "
"управления\n"
@@ -17753,7 +17756,7 @@ msgstr ""
"поблагодарит\n"
"их за сообщение, автоматически направив его соответствующему начальнику, и "
"убедится в том,\n"
-" что вся будущая переписка отправится в правильное место.\n"
+"что вся будущая переписка отправится в правильное место.\n"
"\n"
"Модуль CRM имеет почтовый шлюз для синхронизации интерфейса\n"
"сообщений и OpenERP.\n"
@@ -17924,7 +17927,8 @@ msgstr ""
"(кампании фактически могут быть определены по любому ресурсу, не только по "
"кандидатам CRM).\n"
"============================================================================="
-"============================================================\n"
+"============================================================================="
+"==============\n"
"\n"
"Кампании являются динамическими и много-канальными. Процесс следующий:\n"
" * Разработка маркетинговых кампаний типа рабочих процессов, включая "
@@ -18283,7 +18287,7 @@ msgid ""
msgstr ""
"\n"
"Общая основа для модулей инструментов.\n"
-"==============================\n"
+"======================================\n"
"\n"
"Создаёт пункт меню для инструментов откуда доступны инструменты типа опрос, "
"2-й завтрак, идея, и т.п., если установлены.\n"
@@ -18340,7 +18344,7 @@ msgstr ""
"Этот модуль позволяет вам производить несколько продуктов по одному заказу "
"производства.\n"
"============================================================================="
-"\n"
+"===========\n"
"\n"
"Вы можете настроить суб-продукты в спецификации материала.\n"
"\n"
@@ -18384,7 +18388,7 @@ msgid ""
msgstr ""
"\n"
"Этот модуль позволяет вам создавать новые модули без разработки.\n"
-"======================================================================\n"
+"================================================================\n"
"\n"
"Он записывает все операции над объектами в течении сессии записи и\n"
"производит .ZIP модуль. Итак вы можете создать свой собственный модуль прямо "
From e80f34e9cd571d36322ca9b815f0689cb7fbfe87 Mon Sep 17 00:00:00 2001
From: Fabien Pinckaers
Date: Wed, 24 Oct 2012 09:47:01 +0200
Subject: [PATCH 210/227] [IMP] config wizards at install, l10n_*
bzr revid: fp@tinyerp.com-20121024074701-nxwormzwyhduls21
---
addons/l10n_ar/l10n_ar_wizard.xml | 10 ++----
addons/l10n_at/l10n_chart_at_wizard.xml | 8 ++---
addons/l10n_ca/l10n_ca_wizard.xml | 10 ++----
addons/l10n_ch/wizard.xml | 10 ++----
addons/l10n_cl/l10n_cl_wizard.xml | 11 ++----
addons/l10n_cn/l10n_chart_cn_wizard.xml | 9 ++---
addons/l10n_cr/l10n_wizard.xml | 8 ++---
addons/l10n_de/l10n_de_wizard.xml | 9 ++---
addons/l10n_ec/l10n_chart_ec_wizard.xml | 11 ++----
addons/l10n_es/l10n_es_wizard.xml | 6 ++--
addons/l10n_fr/l10n_fr_wizard.xml | 9 ++---
addons/l10n_gr/l10n_gr_wizard.xml | 9 ++---
addons/l10n_gt/l10n_gt_base.xml | 10 ++----
addons/l10n_hn/l10n_hn_base.xml | 8 +----
addons/l10n_in/l10n_in_wizard.xml | 9 ++---
addons/l10n_it/l10n_chart_it_generic.xml | 9 ++---
addons/l10n_lu/l10n_lu_wizard.xml | 8 ++---
addons/l10n_ma/l10n_ma_wizard.xml | 8 ++---
addons/l10n_mx/l10n_chart_mx_wizard.xml | 9 ++---
addons/l10n_nl/l10n_nl_wizard.xml | 17 ++-------
addons/l10n_pe/l10n_pe_wizard.xml | 8 ++---
addons/l10n_pl/l10n_chart_pl_wizard.xml | 9 ++---
addons/l10n_ro/l10n_chart_ro_wizard.xml | 9 ++---
.../l10n_syscohada/l10n_syscohada_wizard.xml | 10 ++----
addons/l10n_th/account_data.xml | 11 ++----
addons/l10n_tr/l10n_tr_wizard.xml | 12 ++-----
addons/l10n_uk/l10n_uk_wizard.xml | 36 +------------------
addons/l10n_us/l10n_us_wizard.xml | 9 ++---
addons/l10n_uy/l10n_uy_wizard.xml | 5 ++-
addons/l10n_ve/l10n_chart_ve_wizard.xml | 12 ++-----
30 files changed, 70 insertions(+), 239 deletions(-)
diff --git a/addons/l10n_ar/l10n_ar_wizard.xml b/addons/l10n_ar/l10n_ar_wizard.xml
index 9a2fa377155..3c94d3db7a8 100644
--- a/addons/l10n_ar/l10n_ar_wizard.xml
+++ b/addons/l10n_ar/l10n_ar_wizard.xml
@@ -2,13 +2,9 @@
-
- Generate Chart of Accounts from a Chart Template
- Generate Chart of Accounts from a Chart Template. You will be asked to pass the name of the company, the chart template to follow, the no. of digits to generate the code for your accounts and Bank account, currency to create Journals. Thus,the pure copy of chart Template is generated.
- This is the same wizard that runs from Financial Management/Configuration/Financial Accounting/Financial Accounts/Generate Chart of Accounts from a Chart Template.
-
- automatic
-
+
+ open
+
diff --git a/addons/l10n_at/l10n_chart_at_wizard.xml b/addons/l10n_at/l10n_chart_at_wizard.xml
index b23d9be6cb5..efc68ce13e9 100644
--- a/addons/l10n_at/l10n_chart_at_wizard.xml
+++ b/addons/l10n_at/l10n_chart_at_wizard.xml
@@ -1,12 +1,8 @@
-
- Generate Chart of Accounts from a Chart Template
- Generate Chart of Accounts from a Chart Template. You will be asked to pass the name of the company, the chart template to follow, the no. of digits to generate the code for your accounts and Bank account, currency to create Journals. Thus,the pure copy of chart Template is generated.
- This is the same wizard that runs from Financial Management/Configuration/Financial Accounting/Financial Accounts/Generate Chart of Accounts from a Chart Template.
-
- automatic
+
+ open
diff --git a/addons/l10n_ca/l10n_ca_wizard.xml b/addons/l10n_ca/l10n_ca_wizard.xml
index 3bdc380325d..efc68ce13e9 100644
--- a/addons/l10n_ca/l10n_ca_wizard.xml
+++ b/addons/l10n_ca/l10n_ca_wizard.xml
@@ -1,13 +1,9 @@
-
- Generate Chart of Accounts from a Chart Template
- Generate Chart of Accounts from a Chart Template. You will be asked to pass the name of the company, the chart template to follow, the no. of digits to generate the code for your accounts and Bank account, currency to create Journals. Thus,the pure copy of chart Template is generated.
- This is the same wizard that runs from Financial Management/Configuration/Financial Accounting/Financial Accounts/Generate Chart of Accounts from a Chart Template.
-
- automatic
-
+
+ open
+
diff --git a/addons/l10n_ch/wizard.xml b/addons/l10n_ch/wizard.xml
index 084159aa36d..792bd21a2fc 100644
--- a/addons/l10n_ch/wizard.xml
+++ b/addons/l10n_ch/wizard.xml
@@ -1,13 +1,7 @@
-
- Generate Chart of Accounts for l10n_ch
- Generate Chart of Accounts from a Chart Template. Please let the nuber to 0 for Swiss charts.
- This is the same wizard that runs from Financial Management/Configuration/Financial Accounting/Financial
- Accounts/Generate Chart of Accounts from a Chart Template.
-
- 4
- automatic
+
+ open
diff --git a/addons/l10n_cl/l10n_cl_wizard.xml b/addons/l10n_cl/l10n_cl_wizard.xml
index fd0d29f1edb..bcbd9a43f27 100644
--- a/addons/l10n_cl/l10n_cl_wizard.xml
+++ b/addons/l10n_cl/l10n_cl_wizard.xml
@@ -1,14 +1,9 @@
-
-
- Generate Chart of Accounts from a Chart Template
- Generate Chart of Accounts from a Chart Template. You will be asked to pass the name of the company, the chart template to follow, the no. of digits to generate the code for your accounts and Bank account, currency to create Journals. Thus,the pure copy of chart Template is generated.
- This is the same wizard that runs from Financial Management/Configuration/Financial Accounting/Financial Accounts/Generate Chart of Accounts from a Chart Template.
-
- automatic
-
+
+ open
+
diff --git a/addons/l10n_cn/l10n_chart_cn_wizard.xml b/addons/l10n_cn/l10n_chart_cn_wizard.xml
index 0a098120682..6919eb199b6 100644
--- a/addons/l10n_cn/l10n_chart_cn_wizard.xml
+++ b/addons/l10n_cn/l10n_chart_cn_wizard.xml
@@ -1,12 +1,7 @@
-
-
- Generate Chart of Accounts from a Chart Template
- Generate Chart of Accounts from a Chart Template. You will be asked to pass the name of the company, the chart template to follow, the no. of digits to generate the code for your accounts and Bank account, currency to create Journals. Thus,the pure copy of chart Template is generated.
- This is the same wizard that runs from Financial Management/Configuration/Financial Accounting/Financial Accounts/Generate Chart of Accounts from a Chart Template.
-
- automatic
+
+ open
diff --git a/addons/l10n_cr/l10n_wizard.xml b/addons/l10n_cr/l10n_wizard.xml
index ef37667b318..6919eb199b6 100644
--- a/addons/l10n_cr/l10n_wizard.xml
+++ b/addons/l10n_cr/l10n_wizard.xml
@@ -1,10 +1,8 @@
-
-
-
- automatic
-
+
+ open
+
diff --git a/addons/l10n_de/l10n_de_wizard.xml b/addons/l10n_de/l10n_de_wizard.xml
index 3a0dcd34bd3..efc68ce13e9 100644
--- a/addons/l10n_de/l10n_de_wizard.xml
+++ b/addons/l10n_de/l10n_de_wizard.xml
@@ -1,12 +1,9 @@
-
- Generiert Kontenplan aus Vorlage
- Der Assistent generiert einen Kontenplan auf Basis eines Templates (Vorlage). Sie werden aufgefordert den Namen der Firma einzugeben, sowie die entsprechende Kontenvorlage zu wählen. Ausserdem können Sie für die Initialisierung der Journale die gewünschte Stellenanzahl der Konten, sowie die Hauptwährung Ihres Betriebes auswählen. Dieser Assistent ist identisch mit dem Open ERP Menü Finanzen/Konfiguration/Finanzkonten/Erzeuge Konten aus Vorlage.
-
- automatic
-
+
+ open
+
diff --git a/addons/l10n_ec/l10n_chart_ec_wizard.xml b/addons/l10n_ec/l10n_chart_ec_wizard.xml
index 9906cf9828c..6919eb199b6 100644
--- a/addons/l10n_ec/l10n_chart_ec_wizard.xml
+++ b/addons/l10n_ec/l10n_chart_ec_wizard.xml
@@ -1,13 +1,8 @@
-
-
- Generate Chart of Accounts from a Chart Template
- Generate Chart of Accounts from a Chart Template. You will be asked to pass the name of the company, the chart template to follow, the no. of digits to generate the code for your accounts and Bank account, currency to create Journals. Thus,the pure copy of chart Template is generated.
- This is the same wizard that runs from Financial Management/Configuration/Financial Accounting/Financial Accounts/Generate Chart of Accounts from a Chart Template.
-
- automatic
-
+
+ open
+
diff --git a/addons/l10n_es/l10n_es_wizard.xml b/addons/l10n_es/l10n_es_wizard.xml
index ec30f9e9e25..52aaa88fdab 100644
--- a/addons/l10n_es/l10n_es_wizard.xml
+++ b/addons/l10n_es/l10n_es_wizard.xml
@@ -1,9 +1,7 @@
-
-
-
- automatic
+
+ open
diff --git a/addons/l10n_fr/l10n_fr_wizard.xml b/addons/l10n_fr/l10n_fr_wizard.xml
index 897da1d5414..bcbd9a43f27 100644
--- a/addons/l10n_fr/l10n_fr_wizard.xml
+++ b/addons/l10n_fr/l10n_fr_wizard.xml
@@ -1,12 +1,9 @@
-
-
-
- automatic
-
+
+ open
+
diff --git a/addons/l10n_gr/l10n_gr_wizard.xml b/addons/l10n_gr/l10n_gr_wizard.xml
index 4fa564e2155..6919eb199b6 100644
--- a/addons/l10n_gr/l10n_gr_wizard.xml
+++ b/addons/l10n_gr/l10n_gr_wizard.xml
@@ -1,12 +1,7 @@
-
-
- Generate Chart of Accounts from a Chart Template
- Generate Chart of Accounts from a Chart Template. You will be asked to pass the name of the company, the chart template to follow, the no. of digits to generate the code for your accounts and Bank account, currency to create Journals. Thus,the pure copy of chart Template is generated.
- This is the same wizard that runs from Financial Management/Configuration/Financial Accounting/Financial Accounts/Generate Chart of Accounts from a Chart Template.
-
- automatic
+
+ open
diff --git a/addons/l10n_gt/l10n_gt_base.xml b/addons/l10n_gt/l10n_gt_base.xml
index 4ba27d6a5c4..8caf6ebe48c 100644
--- a/addons/l10n_gt/l10n_gt_base.xml
+++ b/addons/l10n_gt/l10n_gt_base.xml
@@ -1,14 +1,8 @@
-
- Generar la nomenclatura contable a partir de un modelo
- Generar la nomenclatura contable a partir de un modelo. Deberá seleccionar una compañía, el modelo a utilizar, el número de digitos a usar en la nomenclatura, la moneda para crear los diarios.
-
-
- automatic
+
+ open
diff --git a/addons/l10n_hn/l10n_hn_base.xml b/addons/l10n_hn/l10n_hn_base.xml
index a12d93db034..b8b85c3f2a7 100644
--- a/addons/l10n_hn/l10n_hn_base.xml
+++ b/addons/l10n_hn/l10n_hn_base.xml
@@ -2,13 +2,7 @@
-
- Generar la nomenclatura contable a partir de un modelo
- Generar la nomenclatura contable a partir de un modelo. Deberá seleccionar una compañía, el modelo a utilizar, el número de digitos a usar en la nomenclatura, la moneda para crear los diarios.
-
-
+
open
diff --git a/addons/l10n_in/l10n_in_wizard.xml b/addons/l10n_in/l10n_in_wizard.xml
index 20d35aa09a2..bcbd9a43f27 100644
--- a/addons/l10n_in/l10n_in_wizard.xml
+++ b/addons/l10n_in/l10n_in_wizard.xml
@@ -1,13 +1,8 @@
-
-
- Generate Chart of Accounts from a Chart Template
- Generate Chart of Accounts from a Chart Template. You will be asked to pass the name of the company, the chart template to follow, the no. of digits to generate the code for your accounts and Bank account, currency to create Journals. Thus,the pure copy of chart Template is generated.
- This is the same wizard that runs from Financial Management/Configuration/Financial Accounting/Financial Accounts/Generate Chart of Accounts from a Chart Template.
-
- automatic
+
+ open
diff --git a/addons/l10n_it/l10n_chart_it_generic.xml b/addons/l10n_it/l10n_chart_it_generic.xml
index 52269c71962..792bd21a2fc 100644
--- a/addons/l10n_it/l10n_chart_it_generic.xml
+++ b/addons/l10n_it/l10n_chart_it_generic.xml
@@ -1,12 +1,7 @@
-
-
- Generate Chart of Accounts from a Chart Template
- Generate Chart of Accounts from a Chart Template. You will be asked to pass the name of the company, the chart template to follow, the no. of digits to generate the code for your accounts and Bank account, currency to create Journals. Thus,the pure copy of chart Template is generated.
- This is the same wizard that runs from Financial Management/Configuration/Financial Accounting/Financial Accounts/Generate Chart of Accounts from a Chart Template.
-
- automatic
+
+ open
diff --git a/addons/l10n_lu/l10n_lu_wizard.xml b/addons/l10n_lu/l10n_lu_wizard.xml
index 32351428bb6..6919eb199b6 100644
--- a/addons/l10n_lu/l10n_lu_wizard.xml
+++ b/addons/l10n_lu/l10n_lu_wizard.xml
@@ -1,10 +1,8 @@
-
-
-
- automatic
-
+
+ open
+
diff --git a/addons/l10n_ma/l10n_ma_wizard.xml b/addons/l10n_ma/l10n_ma_wizard.xml
index 428a17e081a..6919eb199b6 100644
--- a/addons/l10n_ma/l10n_ma_wizard.xml
+++ b/addons/l10n_ma/l10n_ma_wizard.xml
@@ -1,10 +1,8 @@
-
-
-
- automatic
-
+
+ open
+
diff --git a/addons/l10n_mx/l10n_chart_mx_wizard.xml b/addons/l10n_mx/l10n_chart_mx_wizard.xml
index aeea1f3cd69..6919eb199b6 100644
--- a/addons/l10n_mx/l10n_chart_mx_wizard.xml
+++ b/addons/l10n_mx/l10n_chart_mx_wizard.xml
@@ -1,12 +1,7 @@
-
-
- Generate Chart of Accounts from a Chart Template
- Generate Chart of Accounts from a Chart Template. You will be asked to pass the name of the company, the chart template to follow, the no. of digits to generate the code for your accounts and Bank account, currency to create Journals. Thus,the pure copy of chart Template is generated.
- This is the same wizard that runs from Financial Management/Configuration/Financial Accounting/Financial Accounts/Generate Chart of Accounts from a Chart Template.
-
- automatic
+
+ open
diff --git a/addons/l10n_nl/l10n_nl_wizard.xml b/addons/l10n_nl/l10n_nl_wizard.xml
index bcdd183b12c..6919eb199b6 100644
--- a/addons/l10n_nl/l10n_nl_wizard.xml
+++ b/addons/l10n_nl/l10n_nl_wizard.xml
@@ -1,19 +1,8 @@
-
-
- Genereer Grootboekrekingschema vanuit het Nederlandse Grootboek Template
- Na installatie van deze module word de configuratie wizard voor "Accounting" aangeroepen.
-* U krijgt een lijst met grootboektemplates aangeboden waarin zich ook het Nederlandse grootboekschema bevind.
-* Als de configuratie wizard start, wordt u gevraagd om de naam van uw bedrijf in te voeren, welke grootboekschema te installeren, uit hoeveel cijfers een grootboekrekening mag bestaan, het rekeningnummer van uw bank en de currency om Journalen te creeren.
-
-Let op!! -> De template van het Nederlandse rekeningschema is opgebouwd uit 4 cijfers. Dit is het minimale aantal welk u moet invullen, u mag het aantal verhogen. De extra cijfers worden dan achter het rekeningnummer aangevult met "nullen"
-
-* Dit is dezelfe configuratie wizard welke aangeroepen kan worden via Financial Management/Configuration/Financial Accounting/Financial Accounts/Generate Chart of Accounts from a Chart Template.
-
-
- automatic
-
+
+ open
+
diff --git a/addons/l10n_pe/l10n_pe_wizard.xml b/addons/l10n_pe/l10n_pe_wizard.xml
index e1189fbcc2d..3c94d3db7a8 100644
--- a/addons/l10n_pe/l10n_pe_wizard.xml
+++ b/addons/l10n_pe/l10n_pe_wizard.xml
@@ -2,12 +2,8 @@
-
- Generate Chart of Accounts from a Chart Template
- Generate Chart of Accounts from a Chart Template. You will be asked to pass the name of the company, the chart template to follow, the no. of digits to generate the code for your accounts and Bank account, currency to create Journals. Thus,the pure copy of chart Template is generated.
- This is the same wizard that runs from Financial Management/Configuration/Financial Accounting/Financial Accounts/Generate Chart of Accounts from a Chart Template.
-
- automatic
+
+ open
diff --git a/addons/l10n_pl/l10n_chart_pl_wizard.xml b/addons/l10n_pl/l10n_chart_pl_wizard.xml
index aded9e3b2a3..6919eb199b6 100644
--- a/addons/l10n_pl/l10n_chart_pl_wizard.xml
+++ b/addons/l10n_pl/l10n_chart_pl_wizard.xml
@@ -1,12 +1,7 @@
-
-
- Generate Chart of Accounts from a Chart Template
- Generate Chart of Accounts from a Chart Template. You will be asked to pass the name of the company, the chart template to follow, the no. of digits to generate the code for your accounts and Bank account, currency to create Journals. Thus,the pure copy of chart Template is generated.
- This is the same wizard that runs from Financial Management/Configuration/Financial Accounting/Financial Accounts/Generate Chart of Accounts from a Chart Template.
-
- automatic
+
+ open
diff --git a/addons/l10n_ro/l10n_chart_ro_wizard.xml b/addons/l10n_ro/l10n_chart_ro_wizard.xml
index bafb7b26f82..6919eb199b6 100644
--- a/addons/l10n_ro/l10n_chart_ro_wizard.xml
+++ b/addons/l10n_ro/l10n_chart_ro_wizard.xml
@@ -1,12 +1,7 @@
-
-
- Generate Chart of Accounts from a Chart Template
- Generate Chart of Accounts from a Chart Template. You will be asked to pass the name of the company, the chart template to follow, the no. of digits to generate the code for your accounts and Bank account, currency to create Journals. Thus,the pure copy of chart Template is generated.
- This is the same wizard that runs from Financial Management/Configuration/Financial Accounting/Financial Accounts/Generate Chart of Accounts from a Chart Template.
-
- automatic
+
+ open
diff --git a/addons/l10n_syscohada/l10n_syscohada_wizard.xml b/addons/l10n_syscohada/l10n_syscohada_wizard.xml
index 7174ef438b7..792bd21a2fc 100644
--- a/addons/l10n_syscohada/l10n_syscohada_wizard.xml
+++ b/addons/l10n_syscohada/l10n_syscohada_wizard.xml
@@ -1,11 +1,7 @@
-
- Generate Chart of Accounts from a Chart Template
- Generate Chart of Accounts from a SYSCOHADA Chart Template. You will be asked to pass the name of the company, the chart template to follow, the no. of digits to generate the code for your accounts and Bank account, currency to create Journals. Thus,the pure copy of chart Template is generated.
- This is the same wizard that runs from Financial Management/Configuration/Financial Accounting/Financial Accounts/Generate Chart of Accounts from a Chart Template.
-
- automatic
-
+
+ open
+
diff --git a/addons/l10n_th/account_data.xml b/addons/l10n_th/account_data.xml
index d5885d4b92b..d730caa8404 100644
--- a/addons/l10n_th/account_data.xml
+++ b/addons/l10n_th/account_data.xml
@@ -643,14 +643,9 @@
-
-
- Generate Chart of Accounts from a Chart Template
- Generate Chart of Accounts from a Chart Template. You will be asked to pass the name of the company, the chart template to follow, the no. of digits to generate the code for your accounts and Bank account, currency to create Journals. Thus,the pure copy of chart Template is generated.
-This is the same wizard that runs from Financial Management/Configuration/Financial Accounting/Financial Accounts/Generate Chart of Accounts from a Chart Template.
-
- automatic
-
+
+ open
+
diff --git a/addons/l10n_tr/l10n_tr_wizard.xml b/addons/l10n_tr/l10n_tr_wizard.xml
index e7ae8dc2d82..59668347bed 100644
--- a/addons/l10n_tr/l10n_tr_wizard.xml
+++ b/addons/l10n_tr/l10n_tr_wizard.xml
@@ -1,16 +1,8 @@
-
- Generate Chart of Accounts from a Chart Template
- Generate Chart of Accounts from a Chart Template. You will be
-asked to pass the name of the company, the chart template to follow, the no. of digits to generate
-the code for your accounts and Bank account, currency to create Journals. Thus,the pure copy of
-chart Template is generated.
- This is the same wizard that runs from Financial Management/Configuration/Financial
-Accounting/Financial Accounts/Generate Chart of Accounts from a Chart Template.
-
- automatic
+
+ open
diff --git a/addons/l10n_uk/l10n_uk_wizard.xml b/addons/l10n_uk/l10n_uk_wizard.xml
index cb947163ab3..1b8d528c0e8 100644
--- a/addons/l10n_uk/l10n_uk_wizard.xml
+++ b/addons/l10n_uk/l10n_uk_wizard.xml
@@ -1,41 +1,7 @@
-
-
- Generate Chart of Accounts from a Chart Template
- wizard.multi.charts.accounts
-
-
-
-
-
-
-
-
-
- Generate UK Chart of Accounts from a Chart Template
- ir.actions.act_window
- wizard.multi.charts.accounts
-
- form
- form
- new
-
-
-
-
- 10
- once
+
open
diff --git a/addons/l10n_us/l10n_us_wizard.xml b/addons/l10n_us/l10n_us_wizard.xml
index 8c306f155fe..6919eb199b6 100644
--- a/addons/l10n_us/l10n_us_wizard.xml
+++ b/addons/l10n_us/l10n_us_wizard.xml
@@ -1,12 +1,7 @@
-
-
- Generate Chart of Accounts from a Chart Template
- Generate Chart of Accounts from a Chart Template. You will be asked to pass the name of the company, the chart template to follow, the no. of digits to generate the code for your accounts and Bank account, currency to create Journals. Thus,the pure copy of chart Template is generated.
- This is the same wizard that runs from Financial Management/Configuration/Financial Accounting/Financial Accounts/Generate Chart of Accounts from a Chart Template.
-
- automatic
+
+ open
diff --git a/addons/l10n_uy/l10n_uy_wizard.xml b/addons/l10n_uy/l10n_uy_wizard.xml
index 6543664b2b6..49cbeca89f9 100644
--- a/addons/l10n_uy/l10n_uy_wizard.xml
+++ b/addons/l10n_uy/l10n_uy_wizard.xml
@@ -1,9 +1,8 @@
-
-
- automatic
+
+ open
diff --git a/addons/l10n_ve/l10n_chart_ve_wizard.xml b/addons/l10n_ve/l10n_chart_ve_wizard.xml
index 823fa833313..6919eb199b6 100644
--- a/addons/l10n_ve/l10n_chart_ve_wizard.xml
+++ b/addons/l10n_ve/l10n_chart_ve_wizard.xml
@@ -1,15 +1,7 @@
-
-
- Generate Chart of Accounts from a Chart Template
- Generate Chart of Accounts from a Chart Template. You will be asked to pass the name of the company, the chart template to follow, the no. of digits to generate the code for your accounts and Bank account, currency to create Journals. Thus,the pure copy of chart Template is generated.
-This is the same wizard that runs from Financial Management/Configuration/Financial Accounting/Financial Accounts/Generate Chart of Accounts from a Chart Template.
-Genere el Plan de cuentas de una Plantilla de Carta. Le pedirán pasar el nombre de la compania, la plantilla de carta para seguir, el no. de digitos para generar el codigo para sus cuentas y cuenta Bancaria, dinero para crear Diarios. Asi, la copia pura de la carta la Plantilla es generada.
-Esto es el mismo wizard que corre de la Financial Management/Configuration/Financial Accounting/Financial Accounts/Generate Chart of Accounts from a Chart Template.
-
-
- automatic
+
+ open
From 2067192d37bf2c0aed78cc9576a2961e964b2139 Mon Sep 17 00:00:00 2001
From: Fabien Pinckaers
Date: Wed, 24 Oct 2012 10:44:09 +0200
Subject: [PATCH 211/227] [IMP] rename columns for importation
bzr revid: fp@tinyerp.com-20121024084409-ad4kuccw6bki3zdg
---
openerp/addons/base/module/module.py | 3 +--
openerp/addons/base/res/res_partner.py | 4 ++--
2 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/openerp/addons/base/module/module.py b/openerp/addons/base/module/module.py
index 5fbb28d36db..3484b40cee9 100644
--- a/openerp/addons/base/module/module.py
+++ b/openerp/addons/base/module/module.py
@@ -418,13 +418,12 @@ class module(osv.osv):
_, pool = pooler.restart_pool(cr.dbname, update_module=True)
config = pool.get('res.config').next(cr, uid, [], context=context) or {}
- if config.get('type') not in ('ir.actions.reload', 'ir.actions.act_window_close'):
+ if config.get('type') not in ('ir.actions.act_window_close',):
return config
# reload the client; open the first available root menu
menu_obj = self.pool.get('ir.ui.menu')
menu_ids = menu_obj.search(cr, uid, [('parent_id', '=', False)], context=context)
-
return {
'type' : 'ir.actions.client',
'tag' : 'reload',
diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py
index 0c0e3398f88..9ed2333a23b 100644
--- a/openerp/addons/base/res/res_partner.py
+++ b/openerp/addons/base/res/res_partner.py
@@ -186,7 +186,7 @@ class res_partner(osv.osv, format_address):
'name': fields.char('Name', size=128, required=True, select=True),
'date': fields.date('Date', select=1),
'title': fields.many2one('res.partner.title', 'Title'),
- 'parent_id': fields.many2one('res.partner', 'Company'),
+ 'parent_id': fields.many2one('res.partner', 'Related Company'),
'child_ids': fields.one2many('res.partner', 'parent_id', 'Contacts'),
'ref': fields.char('Reference', size=64, select=1),
'lang': fields.selection(_lang_get, 'Language',
@@ -229,7 +229,7 @@ class res_partner(osv.osv, format_address):
'fax': fields.char('Fax', size=64),
'mobile': fields.char('Mobile', size=64),
'birthdate': fields.char('Birthdate', size=64),
- 'is_company': fields.boolean('Company', help="Check if the contact is a company, otherwise it is a person"),
+ 'is_company': fields.boolean('Is a Company', help="Check if the contact is a company, otherwise it is a person"),
'use_parent_address': fields.boolean('Use Company Address', help="Select this if you want to set company's address information for this contact"),
# image: all image fields are base64 encoded and PIL-supported
'image': fields.binary("Image",
From 0445d740a7495afc594cf952822a88df06db84a8 Mon Sep 17 00:00:00 2001
From: Fabien Pinckaers
Date: Wed, 24 Oct 2012 12:29:15 +0200
Subject: [PATCH 212/227] [IMP] CSS import wizard
bzr revid: fp@tinyerp.com-20121024102915-dtfy3dc4ll0ewf90
---
addons/base_import/static/src/css/import.css | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/addons/base_import/static/src/css/import.css b/addons/base_import/static/src/css/import.css
index 07b193c3dc4..47b5506a10f 100644
--- a/addons/base_import/static/src/css/import.css
+++ b/addons/base_import/static/src/css/import.css
@@ -156,5 +156,11 @@
border-right: 1px solid #D0D0D0;
}
+.oe_import .oe_import_error_report > p {
+ background: #efc9cb;
+}
+.oe_import .select2-results {
+ font-size: 12px;
+}
From aebe743964575c9d9a90b8e6dbcd2d7efd4b4db8 Mon Sep 17 00:00:00 2001
From: Antony Lesuisse
Date: Wed, 24 Oct 2012 13:17:46 +0200
Subject: [PATCH 213/227] [FIX] revert remove password fp merge Overriding the
reset password meachnism should be done in auth signup/reset password addons.
bzr revid: al@openerp.com-20121024111746-r94n1uqyb01a4x0m
---
openerp/addons/base/res/res_users.py | 7 +++++++
openerp/addons/base/res/res_users_view.xml | 3 ++-
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/openerp/addons/base/res/res_users.py b/openerp/addons/base/res/res_users.py
index 6b93a6e1e42..27fb7603c7e 100644
--- a/openerp/addons/base/res/res_users.py
+++ b/openerp/addons/base/res/res_users.py
@@ -486,6 +486,13 @@ class res_users(osv.osv):
'tag': 'reload',
}
+ def preference_change_password(self, cr, uid, ids, context=None):
+ return {
+ 'type': 'ir.actions.client',
+ 'tag': 'change_password',
+ 'target': 'new',
+ }
+
def has_group(self, cr, uid, group_ext_id):
"""Checks whether user belongs to given group.
diff --git a/openerp/addons/base/res/res_users_view.xml b/openerp/addons/base/res/res_users_view.xml
index 7c4988bd1f0..78579fc66df 100644
--- a/openerp/addons/base/res/res_users_view.xml
+++ b/openerp/addons/base/res/res_users_view.xml
@@ -213,7 +213,8 @@
From 11c0784d710502447fd86c9aed227c93402d2196 Mon Sep 17 00:00:00 2001
From: Fabien Pinckaers
Date: Wed, 24 Oct 2012 13:37:28 +0200
Subject: [PATCH 214/227] [IMP] hr_timesheet_sheet form view
bzr revid: fp@tinyerp.com-20121024113728-r3nx6p8c8q0mh64q
---
.../hr_timesheet_sheet_view.xml | 34 +++++++++----------
.../static/src/xml/timesheet.xml | 8 ++---
2 files changed, 20 insertions(+), 22 deletions(-)
diff --git a/addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml b/addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml
index fc35a17377f..f5438432927 100644
--- a/addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml
+++ b/addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml
@@ -54,18 +54,18 @@
-
+
- to
+ to
-
+
-
+
@@ -76,8 +76,8 @@
-
-
+
+
@@ -85,21 +85,19 @@
-
-
-
+
+
+
+
-
-
-
-
+
-
+
@@ -123,13 +121,13 @@
-
-
+
+
-
+
-
+
diff --git a/addons/hr_timesheet_sheet/static/src/xml/timesheet.xml b/addons/hr_timesheet_sheet/static/src/xml/timesheet.xml
index 0c4ad857d3b..a5b2f779bd0 100644
--- a/addons/hr_timesheet_sheet/static/src/xml/timesheet.xml
+++ b/addons/hr_timesheet_sheet/static/src/xml/timesheet.xml
@@ -12,7 +12,7 @@
- TOTAL |
+ Total |
|
@@ -36,8 +36,8 @@
-
- TOTAL
+
+ Total
|
@@ -53,4 +53,4 @@
-
\ No newline at end of file
+
From 4c591fa6062cf28d9593e009d5a9ff0c53ab3411 Mon Sep 17 00:00:00 2001
From: Olivier Dony
Date: Wed, 24 Oct 2012 14:47:09 +0200
Subject: [PATCH 215/227] [FIX] ir_attachment: fix regression when counting
attachments (OPW 576295)
Cherry-pick forward-port of rev-id odo@openerp.com-20120816154020-5s6wbwfb5l2xsnyv
from 6.1. Fixes regression introduced by r.4069.
bzr revid: odo@openerp.com-20121024124709-28w8rh8xnelvuhwg
---
openerp/addons/base/ir/ir_attachment.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/openerp/addons/base/ir/ir_attachment.py b/openerp/addons/base/ir/ir_attachment.py
index 4978378f22a..730df212b4c 100644
--- a/openerp/addons/base/ir/ir_attachment.py
+++ b/openerp/addons/base/ir/ir_attachment.py
@@ -57,7 +57,7 @@ class ir_attachment(osv.osv):
def _search(self, cr, uid, args, offset=0, limit=None, order=None, context=None, count=False, access_rights_uid=None):
ids = super(ir_attachment, self)._search(cr, uid, args, offset=offset,
limit=limit, order=order,
- context=context, count=count,
+ context=context, count=False,
access_rights_uid=access_rights_uid)
if not ids:
if count:
From 93056efe991e4113c6094bba0a381547ed700524 Mon Sep 17 00:00:00 2001
From: Fabien Pinckaers
Date: Wed, 24 Oct 2012 15:15:18 +0200
Subject: [PATCH 216/227] [FIX] misc useability fixes
bzr revid: fp@tinyerp.com-20121024131518-jdyd4stnwozzkr8f
---
addons/base_calendar/crm_meeting_view.xml | 7 +------
addons/crm/crm_phonecall_view.xml | 2 +-
addons/mrp/mrp_view.xml | 6 +++---
addons/purchase/purchase.py | 9 +++++----
addons/purchase/purchase_view.xml | 4 ++--
5 files changed, 12 insertions(+), 16 deletions(-)
diff --git a/addons/base_calendar/crm_meeting_view.xml b/addons/base_calendar/crm_meeting_view.xml
index 9dd37afa3d6..e468460e8e3 100644
--- a/addons/base_calendar/crm_meeting_view.xml
+++ b/addons/base_calendar/crm_meeting_view.xml
@@ -170,12 +170,7 @@
-
-
+
diff --git a/addons/crm/crm_phonecall_view.xml b/addons/crm/crm_phonecall_view.xml
index b6e2f09de68..21b0d295476 100644
--- a/addons/crm/crm_phonecall_view.xml
+++ b/addons/crm/crm_phonecall_view.xml
@@ -125,7 +125,7 @@
-
+
diff --git a/addons/mrp/mrp_view.xml b/addons/mrp/mrp_view.xml
index 9e35377986a..1e8cf56b96c 100644
--- a/addons/mrp/mrp_view.xml
+++ b/addons/mrp/mrp_view.xml
@@ -620,10 +620,10 @@
|