Date: Thu, 18 Oct 2012 16:33:32 +0200
Subject: [PATCH 099/124] [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 100/124] [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 820c2551bba2332677e64899950c53ed9f0e4b1d Mon Sep 17 00:00:00 2001
From: "Quentin (OpenERP)"
Date: Fri, 19 Oct 2012 13:06:04 +0200
Subject: [PATCH 101/124] [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 102/124] [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 b5f8932458fb35c51e26c090df0fad6f50f2acd5 Mon Sep 17 00:00:00 2001
From: "Quentin (OpenERP)"
Date: Fri, 19 Oct 2012 13:54:25 +0200
Subject: [PATCH 103/124] [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 104/124] [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 815100e53593652ae1be68439b08f6db207266e9 Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Mon, 22 Oct 2012 13:37:00 +0200
Subject: [PATCH 105/124] [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 106/124] [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 107/124] [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 108/124] [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 109/124] [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 110/124] [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 111/124] [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 112/124] [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 113/124] [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 114/124] [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 115/124] [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 6280e223be743674b85cb1bc8c1e4dbdcf1a7e75 Mon Sep 17 00:00:00 2001
From: Fabien Meghazi
Date: Mon, 22 Oct 2012 18:16:11 +0200
Subject: [PATCH 116/124] [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 117/124] [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 118/124] [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 119/124] [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 120/124] [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 121/124] [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 122/124] 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 5d7f760a05d3feee54bddc53666daf499ed7edbd Mon Sep 17 00:00:00 2001
From: "olt@tinyerp.com" <>
Date: Tue, 23 Oct 2012 09:23:17 +0200
Subject: [PATCH 123/124] [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 124/124] [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');
+ });
},
});
|