From f8d47a4a1d6ce1f44fc5f5f86d135cdb413e11bf Mon Sep 17 00:00:00 2001
From: "Ravi Gohil (OpenERP)"
Date: Wed, 7 Aug 2013 15:16:30 +0530
Subject: [PATCH 01/75] [FIX] crm: While processing the 'Convert to
Opportunity' wizard in leads view, if the system found matching partner from
the information provided in lead and suggested that partner in the wizard,
and later if we decided not to link the opportunity to existing partner but
to create a new one, it never create one, but will link to the priorly
suggested partner: (Maintenance Case : 596231)
lp bug: https://launchpad.net/bugs/1208436 fixed
bzr revid: rgo@tinyerp.com-20130807094630-efk7yo1ia27vpq5i
---
addons/crm/wizard/crm_lead_to_opportunity.py | 3 +++
addons/crm/wizard/crm_lead_to_opportunity_view.xml | 2 +-
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/addons/crm/wizard/crm_lead_to_opportunity.py b/addons/crm/wizard/crm_lead_to_opportunity.py
index 3c847ade42a..1c8b8331b47 100644
--- a/addons/crm/wizard/crm_lead_to_opportunity.py
+++ b/addons/crm/wizard/crm_lead_to_opportunity.py
@@ -37,6 +37,9 @@ class crm_lead2opportunity_partner(osv.osv_memory):
'opportunity_ids': fields.many2many('crm.lead', string='Opportunities'),
}
+ def onchange_action(self, cr, uid, ids, action, context=None):
+ return {'value': {'partner_id': False if action != 'exist' else self._find_matching_partner(cr, uid, context=context)}}
+
def default_get(self, cr, uid, fields, context=None):
"""
Default get for name, opportunity_ids.
diff --git a/addons/crm/wizard/crm_lead_to_opportunity_view.xml b/addons/crm/wizard/crm_lead_to_opportunity_view.xml
index 00686de1c8e..9f7701a1752 100644
--- a/addons/crm/wizard/crm_lead_to_opportunity_view.xml
+++ b/addons/crm/wizard/crm_lead_to_opportunity_view.xml
@@ -27,7 +27,7 @@
-
+
From 6f71304ad6ef6e85c11b11efaebf104bad868e38 Mon Sep 17 00:00:00 2001
From: Paramjit Singh Sahota
Date: Wed, 13 Nov 2013 16:20:53 +0530
Subject: [PATCH 02/75] [IMP] Improved code according to the changes of
bootstrap3 in web.
bzr revid: psa@tinyerp.com-20131113105053-80qelj2buiehd6fl
---
addons/im/static/src/js/im.js | 2 +-
addons/portal_anonymous/static/src/js/portal_anonymous.js | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/addons/im/static/src/js/im.js b/addons/im/static/src/js/im.js
index 6fbf452f974..870e32f4bc6 100644
--- a/addons/im/static/src/js/im.js
+++ b/addons/im/static/src/js/im.js
@@ -83,7 +83,7 @@
});
},
calc_box: function() {
- var $topbar = instance.client.$(".oe_topbar");
+ var $topbar = instance.client.$(".navbar");
var top = $topbar.offset().top + $topbar.height();
top = Math.max(top - $(window).scrollTop(), 0);
this.$el.css("top", top);
diff --git a/addons/portal_anonymous/static/src/js/portal_anonymous.js b/addons/portal_anonymous/static/src/js/portal_anonymous.js
index d4f6351efc9..b289db2053f 100644
--- a/addons/portal_anonymous/static/src/js/portal_anonymous.js
+++ b/addons/portal_anonymous/static/src/js/portal_anonymous.js
@@ -71,7 +71,7 @@ openerp.portal_anonymous = function(instance) {
this.$el.find('a.login').click(function() {
var p = self.getParent();
var am = p.action_manager;
- p.$el.find('.oe_leftbar, .oe_topbar').hide();
+ p.$el.find('.oe_leftbar, .navbar').hide();
self.session.session_logout().done(function () {
am.do_action({
type:'ir.actions.client',
From f726a07c1157bc7458a6ea7a3897dd761542573d Mon Sep 17 00:00:00 2001
From: Paramjit Singh Sahota
Date: Thu, 14 Nov 2013 11:57:43 +0530
Subject: [PATCH 03/75] [FIX] Fixed the issue of positioning of signin icon in
navbar,
bzr revid: psa@tinyerp.com-20131114062743-zku2t3lpoyyc8451
---
addons/hr_attendance/static/src/css/slider.css | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/hr_attendance/static/src/css/slider.css b/addons/hr_attendance/static/src/css/slider.css
index 664d4f96e41..849cd33a894 100644
--- a/addons/hr_attendance/static/src/css/slider.css
+++ b/addons/hr_attendance/static/src/css/slider.css
@@ -5,7 +5,7 @@
display: inline-block;
}
.openerp .oe_attendance_signin {
- float:left;
+ float: right;
height: 32px;
width: 32px;
background: url(/hr_attendance/static/src/img/emp-out32.png);
From 1098f7021ecc9a1ee81c02532570a2f47ddef628 Mon Sep 17 00:00:00 2001
From: ima-openerp
Date: Thu, 14 Nov 2013 17:35:29 +0530
Subject: [PATCH 04/75] [IMP]improved css for sales team kanban, sale order
payment_acquirers and attach file button.
bzr revid: ima@tinyerp.com-20131114120529-5ltoe9aoglsx92vv
---
addons/crm/static/src/css/crm.css | 7 +++++--
addons/im/static/src/js/im.js | 2 +-
addons/mail/static/src/css/mail.css | 4 +---
addons/portal/static/src/css/portal.css | 2 +-
addons/portal_anonymous/static/src/js/portal_anonymous.js | 2 +-
5 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/addons/crm/static/src/css/crm.css b/addons/crm/static/src/css/crm.css
index ba4473edc26..cce8248bc8b 100644
--- a/addons/crm/static/src/css/crm.css
+++ b/addons/crm/static/src/css/crm.css
@@ -1,5 +1,8 @@
.openerp .oe_kanban_view .oe_kanban_crm_salesteams {
- width: 345px;
+ /* Customize width and height of kanban according bootstrap3 */
+ width: 357px;
+ min-height: 254px !important;
+ /* End of customize */
}
.openerp .oe_kanban_view .oe_kanban_crm_salesteams .oe_avatars {
text-align: right;
@@ -21,7 +24,7 @@
.openerp .oe_kanban_view .oe_kanban_crm_salesteams .oe_items_list {
position: relative;
- margin: 10px;
+ margin: 10px 0 10px 9px; /* Improved margin to set alignment of list items according bootstrap3 */
}
.openerp .oe_kanban_view .oe_kanban_crm_salesteams .oe_items_list div {
width: 160px;
diff --git a/addons/im/static/src/js/im.js b/addons/im/static/src/js/im.js
index 870e32f4bc6..93069fd0276 100644
--- a/addons/im/static/src/js/im.js
+++ b/addons/im/static/src/js/im.js
@@ -83,7 +83,7 @@
});
},
calc_box: function() {
- var $topbar = instance.client.$(".navbar");
+ var $topbar = instance.client.$(".navbar"); // .oe_topbar is replaced with .navbar of bootstrap3
var top = $topbar.offset().top + $topbar.height();
top = Math.max(top - $(window).scrollTop(), 0);
this.$el.css("top", top);
diff --git a/addons/mail/static/src/css/mail.css b/addons/mail/static/src/css/mail.css
index e4b7f9247e3..e25bc816a95 100644
--- a/addons/mail/static/src/css/mail.css
+++ b/addons/mail/static/src/css/mail.css
@@ -94,9 +94,7 @@
}
.openerp .oe_mail .oe_msg .oe_msg_footer{
margin-left: 4px;
- padding-top: 3px;
overflow: hidden;
- margin-bottom: 4px;
font-size: 11px;
}
.openerp .oe_mail .oe_msg .oe_msg_content{
@@ -478,7 +476,7 @@
}
.openerp .oe_mail .oe_msg_footer button.oe_attach{
width: 24px;
- overflow: hidden;
+ margin-bottom: 8px; /* improved margin of file attach button according bootstrap3 */
filter:none;
}
.openerp .oe_mail .oe_msg_footer button.oe_attach .oe_e{
diff --git a/addons/portal/static/src/css/portal.css b/addons/portal/static/src/css/portal.css
index 45c0cdd7805..e32f3b0e639 100644
--- a/addons/portal/static/src/css/portal.css
+++ b/addons/portal/static/src/css/portal.css
@@ -10,7 +10,7 @@
margin: -40px 0 -32px -24px;
position: relative;
padding: 10px 15px;
- right: -153px;
+ right: -125px; /* improved margin according bootstrap3 */
background: #729FCF;
background-image: -webkit-gradient(linear, left top, left bottom, from(#729FCF), to(#3465A4));
diff --git a/addons/portal_anonymous/static/src/js/portal_anonymous.js b/addons/portal_anonymous/static/src/js/portal_anonymous.js
index b289db2053f..f6b41eb59f0 100644
--- a/addons/portal_anonymous/static/src/js/portal_anonymous.js
+++ b/addons/portal_anonymous/static/src/js/portal_anonymous.js
@@ -71,7 +71,7 @@ openerp.portal_anonymous = function(instance) {
this.$el.find('a.login').click(function() {
var p = self.getParent();
var am = p.action_manager;
- p.$el.find('.oe_leftbar, .navbar').hide();
+ p.$el.find('.oe_leftbar, .navbar').hide(); // .oe_topbar is replaced with .navbar of bootstrap3
self.session.session_logout().done(function () {
am.do_action({
type:'ir.actions.client',
From 88a79fdaf361822aa0634bf0ae828c9758416217 Mon Sep 17 00:00:00 2001
From: ima-openerp
Date: Fri, 15 Nov 2013 15:43:17 +0530
Subject: [PATCH 05/75] [IMP]improved css for survey kanban, file attach button
and my current timesheet in hr.
bzr revid: ima@tinyerp.com-20131115101317-3jb422klc3jgdwps
---
addons/hr_timesheet_sheet/static/src/css/timesheet.css | 2 +-
addons/mail/static/src/css/mail.css | 2 +-
addons/survey/static/src/css/survey.css | 6 ++++--
3 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/addons/hr_timesheet_sheet/static/src/css/timesheet.css b/addons/hr_timesheet_sheet/static/src/css/timesheet.css
index 36ea9a34db9..dca253cd9fc 100644
--- a/addons/hr_timesheet_sheet/static/src/css/timesheet.css
+++ b/addons/hr_timesheet_sheet/static/src/css/timesheet.css
@@ -19,7 +19,7 @@
text-align: center;
color: #006699;
font-family: "Helvetica Neue", Arial, Verdana, "Nimbus Sans L", sans-serif;
- font-size: 10px;
+ font-size: 11px;
background: #eeeeee;
min-width: 47px;
}
diff --git a/addons/mail/static/src/css/mail.css b/addons/mail/static/src/css/mail.css
index e25bc816a95..6f4c6361e95 100644
--- a/addons/mail/static/src/css/mail.css
+++ b/addons/mail/static/src/css/mail.css
@@ -476,7 +476,7 @@
}
.openerp .oe_mail .oe_msg_footer button.oe_attach{
width: 24px;
- margin-bottom: 8px; /* improved margin of file attach button according bootstrap3 */
+ margin-bottom: 5px; /* improved margin of file attach button according bootstrap3 */
filter:none;
}
.openerp .oe_mail .oe_msg_footer button.oe_attach .oe_e{
diff --git a/addons/survey/static/src/css/survey.css b/addons/survey/static/src/css/survey.css
index 34d686c6e77..15899533213 100644
--- a/addons/survey/static/src/css/survey.css
+++ b/addons/survey/static/src/css/survey.css
@@ -6,6 +6,8 @@
}
.openerp .oe_kanban_survey {
- width: 200px;
-
+ /* Customize height and width according bootstrap3 */
+ width: 212px;
+ min-height: 86px !important;
+ /* End of customize */
}
From 926ff04ed83f466cc1ec675b926656b61a9fb110 Mon Sep 17 00:00:00 2001
From: ima-openerp
Date: Mon, 18 Nov 2013 11:03:59 +0530
Subject: [PATCH 06/75] [IMP]improved css for pos screen header.
bzr revid: ima@tinyerp.com-20131118053359-ccc5w6zrunagx2v6
---
addons/point_of_sale/static/src/css/pos.css | 2 ++
1 file changed, 2 insertions(+)
diff --git a/addons/point_of_sale/static/src/css/pos.css b/addons/point_of_sale/static/src/css/pos.css
index 89ab429c4f4..71d2cf6d58f 100644
--- a/addons/point_of_sale/static/src/css/pos.css
+++ b/addons/point_of_sale/static/src/css/pos.css
@@ -126,6 +126,7 @@
background: #393939;
background: -moz-linear-gradient(#7b7979, #393939);
background: -webkit-gradient(linear, left top, left bottom, from(#7b7979), to(#393939));
+ z-index: 2; /* Customize according bootstrap3 navbar */
}
/* a) The left part of the top-bar */
@@ -659,6 +660,7 @@
.point-of-sale .screen header h2 {
margin-top: 0px;
padding-top: 7px;
+ font-size: 1.5em /* Customize font according bootstrap3 */
}
.point-of-sale .screen p{
font-size: 18px;
From 3bf3bc38957ffd9fcc82cdd9fe33400c67faac6b Mon Sep 17 00:00:00 2001
From: ima-openerp
Date: Mon, 18 Nov 2013 17:46:05 +0530
Subject: [PATCH 07/75] [IMP]improved css for base_import, mass_mailing and
idea module.
bzr revid: ima@tinyerp.com-20131118121605-1rn0z4hojxblngbu
---
addons/base_import/static/src/css/import.css | 10 ++++++++++
addons/idea/static/src/css/idea_idea.css | 2 +-
addons/mass_mailing/static/src/css/mass_mailing.css | 12 +++++++++---
3 files changed, 20 insertions(+), 4 deletions(-)
diff --git a/addons/base_import/static/src/css/import.css b/addons/base_import/static/src/css/import.css
index 3913619b6c9..3d3c60d957b 100644
--- a/addons/base_import/static/src/css/import.css
+++ b/addons/base_import/static/src/css/import.css
@@ -1,12 +1,14 @@
.oe_import > p {
margin-left: 8px;
margin-right: 8px;
+ margin-top: 13px; /* Customize space according bootstrap3 */
text-align: justify
}
.oe_import h2 {
margin-top: 0;
margin-bottom: 5px;
+ font-size: 1.5em; /* Customize according bootstrap3 */
}
.oe_padding {
@@ -22,6 +24,14 @@
border: solid 1px #dddddd;
width: 600px;
}
+/* Customize according bootstrap3 */
+.oe_import .oe_import_box label{
+ font-weight: normal;
+}
+.oe_import .oe_import_box .oe_import_file {
+ display: inline-block;
+}
+/* End of Customize */
.oe_import .oe_import_toggle{
margin-top: 8px;
}
diff --git a/addons/idea/static/src/css/idea_idea.css b/addons/idea/static/src/css/idea_idea.css
index 08daffd902a..ff146bd189d 100644
--- a/addons/idea/static/src/css/idea_idea.css
+++ b/addons/idea/static/src/css/idea_idea.css
@@ -1,5 +1,5 @@
.openerp .oe_kanban_view .oe_kanban_idea_idea {
- width: 200px;
+ width: 212px; /* Customize width according bootstrap3 */
}
.openerp .oe_kanban_view .oe_kanban_idea_idea .oe_avatars {
diff --git a/addons/mass_mailing/static/src/css/mass_mailing.css b/addons/mass_mailing/static/src/css/mass_mailing.css
index ca5455d6323..e54ce46c025 100644
--- a/addons/mass_mailing/static/src/css/mass_mailing.css
+++ b/addons/mass_mailing/static/src/css/mass_mailing.css
@@ -1,13 +1,19 @@
.openerp .oe_kanban_view .oe_kanban_mass_mailing.oe_kanban_mass_mailing_campaign {
- width: 540px;
+ /* Customize to manage content */
+ width: 552px;
+ min-height: 278px !important;
+ /* End of customize */
}
.openerp .oe_kanban_view .oe_kanban_mass_mailing.oe_kanban_mass_mailing_segment {
- width: 270px;
+ /* Customize to manage content */
+ width: 282px;
+ min-height: 246px !important;
+ /* End of customize */
}
.openerp .oe_kanban_view .oe_kanban_mass_mailing .oe_mail_stats {
- width: 120px;
+ width: 122px; /* Manage space in between stats */
display: inline-block;
margin: 2px 5px 0px 5px;
text-align: center;
From beea089c21cbdf77a5ac041145db85fc9b411ade Mon Sep 17 00:00:00 2001
From: ima-openerp
Date: Tue, 19 Nov 2013 17:28:40 +0530
Subject: [PATCH 08/75] [IMP]improved css of base_import module for dd, label
and p tags.
bzr revid: ima@tinyerp.com-20131119115840-o8evs0ap85xf7ybp
---
addons/base_import/static/src/css/import.css | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/addons/base_import/static/src/css/import.css b/addons/base_import/static/src/css/import.css
index 3d3c60d957b..579b6e26999 100644
--- a/addons/base_import/static/src/css/import.css
+++ b/addons/base_import/static/src/css/import.css
@@ -50,7 +50,7 @@
}
.oe_import .oe_import_options p {
- margin: 0;
+ margin: 0 0 -7px 0; /* Customize margin-bottom of according bootstrap3 */
padding: 0;
}
.oe_import .oe_import_options label {
@@ -79,6 +79,14 @@
.oe_import .oe_import_report_more {
display: none;
}
+/* Customize dd and label according bootstrap3 */
+.oe_import dd {
+ -webkit-margin-start: 40px;
+}
+.oe_import .oe_import_with_file label {
+ font-weight: normal;
+}
+/* End of customize */
.oe_import.oe_import_preview .oe_import_grid {
display: table;
From 41ca7536e02093211b65342afd3fb44ed25c1c09 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?=
Date: Tue, 26 Nov 2013 10:56:32 +0100
Subject: [PATCH 09/75] [FIX] mail: when performing pure email mass mailing
attachments were not formatted as a m2m command but a list of ids. This is
now fixed.
bzr revid: tde@openerp.com-20131126095632-txuy00xc1cmqjqcn
---
addons/mail/wizard/mail_compose_message.py | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/addons/mail/wizard/mail_compose_message.py b/addons/mail/wizard/mail_compose_message.py
index f129e5bf0f9..7c63dbd23fa 100644
--- a/addons/mail/wizard/mail_compose_message.py
+++ b/addons/mail/wizard/mail_compose_message.py
@@ -260,6 +260,10 @@ class mail_compose_message(osv.TransientModel):
for res_id, mail_values in all_mail_values.iteritems():
if mass_mail_mode and not wizard.post:
+ # Attachments are still formatted as a list of ids, because message_post will process them
+ # We have to put them back as a m2m command if we want attachments to be sent
+ if mail_values.get('attachment_ids'):
+ mail_values['attachment_ids'] = [(4, id) for id in mail_values['attachment_ids']]
self.pool.get('mail.mail').create(cr, uid, mail_values, context=context)
else:
subtype = 'mail.mt_comment'
From 6f322004cc4c5ea886231fb18c17cc9310802f8a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?=
Date: Tue, 26 Nov 2013 12:07:42 +0100
Subject: [PATCH 10/75] [FIX] email_template: when generating reports in batch,
update the values for all res_ids, not only the last one of the current
template.
bzr revid: tde@openerp.com-20131126110742-aecac7r0zyappo0a
---
addons/email_template/email_template.py | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/addons/email_template/email_template.py b/addons/email_template/email_template.py
index efa1387435a..ab95613c283 100644
--- a/addons/email_template/email_template.py
+++ b/addons/email_template/email_template.py
@@ -369,7 +369,7 @@ class email_template(osv.osv):
attachment_ids=[attach.id for attach in template.attachment_ids],
)
- # Add report in attachments
+ # Add report in attachments: generate once for all template_res_ids
if template.report_template:
for res_id in template_res_ids:
attachments = []
@@ -388,7 +388,8 @@ class email_template(osv.osv):
report_name += ext
attachments.append((report_name, result))
- values['attachments'] = attachments
+ for res_id in template_res_ids:
+ results[res_id]['attachments'] = attachments
return results
From cf214ed7244207f1fd5d377ab69d85a6441ff665 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?=
Date: Tue, 26 Nov 2013 12:09:42 +0100
Subject: [PATCH 11/75] [FIX] mail: when generating pure email mass mailing we
have to process attachments as well as attachment_ids in the values generated
by the composer and the optional template. As this behavior is the same as
the one already implemented for message_post, this feature has been moved
into its dedicated method to be called by message_post or before calling
mail_mail.create(). This also allows to have attachments in pure email mass
mailing that are attached to mail.message, not to mail.compose.message model.
When unlinking those emails, the attachments will be also removed, and not
lost in the database anymore.
bzr revid: tde@openerp.com-20131126110942-h8p0d9sbjtk0hwlu
---
addons/mail/mail_thread.py | 57 +++++++++++++---------
addons/mail/wizard/mail_compose_message.py | 12 +++--
2 files changed, 43 insertions(+), 26 deletions(-)
diff --git a/addons/mail/mail_thread.py b/addons/mail/mail_thread.py
index 33d7f81024f..5d81d9c98f5 100644
--- a/addons/mail/mail_thread.py
+++ b/addons/mail/mail_thread.py
@@ -1287,6 +1287,40 @@ class mail_thread(osv.AbstractModel):
mail_message_obj.write(cr, SUPERUSER_ID, message_ids, {'author_id': partner_info['partner_id']}, context=context)
return result
+ def _message_preprocess_attachments(self, cr, uid, attachments, attachment_ids, attach_model, attach_res_id, context=None):
+ """ Preprocess attachments for mail_thread.message_post() or mail_mail.create().
+
+ :param list attachments: list of attachment tuples in the form ``(name,content)``,
+ where content is NOT base64 encoded
+ :param list attachment_ids: a list of attachment ids, not in tomany command form
+ :param str attach_model: the model of the attachments parent record
+ :param integer attach_res_id: the id of the attachments parent record
+ """
+ Attachment = self.pool['ir.attachment']
+ m2m_attachment_ids = []
+ if attachment_ids:
+ filtered_attachment_ids = Attachment.search(cr, SUPERUSER_ID, [
+ ('res_model', '=', 'mail.compose.message'),
+ ('create_uid', '=', uid),
+ ('id', 'in', attachment_ids)], context=context)
+ if filtered_attachment_ids:
+ Attachment.write(cr, SUPERUSER_ID, filtered_attachment_ids, {'res_model': attach_model, 'res_id': attach_res_id}, context=context)
+ m2m_attachment_ids += [(4, id) for id in attachment_ids]
+ # Handle attachments parameter, that is a dictionary of attachments
+ for name, content in attachments:
+ if isinstance(content, unicode):
+ content = content.encode('utf-8')
+ data_attach = {
+ 'name': name,
+ 'datas': base64.b64encode(str(content)),
+ 'datas_fname': name,
+ 'description': name,
+ 'res_model': attach_model,
+ 'res_id': attach_res_id,
+ }
+ m2m_attachment_ids.append((0, 0, data_attach))
+ return m2m_attachment_ids
+
def message_post(self, cr, uid, thread_id, body='', subject=None, type='notification',
subtype=None, parent_id=False, attachments=None, context=None,
content_subtype='html', **kwargs):
@@ -1365,28 +1399,7 @@ class mail_thread(osv.AbstractModel):
# 3. Attachments
# - HACK TDE FIXME: Chatter: attachments linked to the document (not done JS-side), load the message
- attachment_ids = kwargs.pop('attachment_ids', []) or [] # because we could receive None (some old code sends None)
- if attachment_ids:
- filtered_attachment_ids = ir_attachment.search(cr, SUPERUSER_ID, [
- ('res_model', '=', 'mail.compose.message'),
- ('create_uid', '=', uid),
- ('id', 'in', attachment_ids)], context=context)
- if filtered_attachment_ids:
- ir_attachment.write(cr, SUPERUSER_ID, filtered_attachment_ids, {'res_model': model, 'res_id': thread_id}, context=context)
- attachment_ids = [(4, id) for id in attachment_ids]
- # Handle attachments parameter, that is a dictionary of attachments
- for name, content in attachments:
- if isinstance(content, unicode):
- content = content.encode('utf-8')
- data_attach = {
- 'name': name,
- 'datas': base64.b64encode(str(content)),
- 'datas_fname': name,
- 'description': name,
- 'res_model': model,
- 'res_id': thread_id,
- }
- attachment_ids.append((0, 0, data_attach))
+ attachment_ids = self._message_preprocess_attachments(cr, uid, attachments, kwargs.pop('attachment_ids', []), model, thread_id, context)
# 4: mail.message.subtype
subtype_id = False
diff --git a/addons/mail/wizard/mail_compose_message.py b/addons/mail/wizard/mail_compose_message.py
index 7c63dbd23fa..f9e3ff52f28 100644
--- a/addons/mail/wizard/mail_compose_message.py
+++ b/addons/mail/wizard/mail_compose_message.py
@@ -20,6 +20,7 @@
##############################################################################
import re
+
from openerp import tools
from openerp import SUPERUSER_ID
from openerp.osv import osv
@@ -260,10 +261,13 @@ class mail_compose_message(osv.TransientModel):
for res_id, mail_values in all_mail_values.iteritems():
if mass_mail_mode and not wizard.post:
- # Attachments are still formatted as a list of ids, because message_post will process them
- # We have to put them back as a m2m command if we want attachments to be sent
- if mail_values.get('attachment_ids'):
- mail_values['attachment_ids'] = [(4, id) for id in mail_values['attachment_ids']]
+ # process attachments and attachment_ids before sending values to mail_mail.Lcreat
+ m2m_attachment_ids = self.pool['mail.thread']._message_preprocess_attachments(
+ cr, uid, mail_values.pop('attachments', []),
+ mail_values.pop('attachment_ids', []),
+ 'mail.message', 0,
+ context=context)
+ mail_values['attachment_ids'] = m2m_attachment_ids
self.pool.get('mail.mail').create(cr, uid, mail_values, context=context)
else:
subtype = 'mail.mt_comment'
From 974675bcbf3235b48fbe8c98267677f4929003d0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?=
Date: Tue, 26 Nov 2013 13:03:36 +0100
Subject: [PATCH 12/75] [FIX] mail: attachments encoding issue: posting process
waits not encoded attachments: email_template encodes them. So de-encoding is
necessary.
bzr revid: tde@openerp.com-20131126120336-5lcp9ii7z9lru5vr
---
addons/mail/wizard/mail_compose_message.py | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/addons/mail/wizard/mail_compose_message.py b/addons/mail/wizard/mail_compose_message.py
index f9e3ff52f28..d7d5ae9bae1 100644
--- a/addons/mail/wizard/mail_compose_message.py
+++ b/addons/mail/wizard/mail_compose_message.py
@@ -19,6 +19,7 @@
#
##############################################################################
+import base64
import re
from openerp import tools
@@ -261,7 +262,6 @@ class mail_compose_message(osv.TransientModel):
for res_id, mail_values in all_mail_values.iteritems():
if mass_mail_mode and not wizard.post:
- # process attachments and attachment_ids before sending values to mail_mail.Lcreat
m2m_attachment_ids = self.pool['mail.thread']._message_preprocess_attachments(
cr, uid, mail_values.pop('attachments', []),
mail_values.pop('attachment_ids', []),
@@ -306,7 +306,12 @@ class mail_compose_message(osv.TransientModel):
if mass_mail_mode and wizard.model:
email_dict = rendered_values[res_id]
mail_values['partner_ids'] += email_dict.pop('partner_ids', [])
- mail_values['attachments'] = email_dict.pop('attachments', [])
+ # process attachments and attachment_ids before sending values to mail_mail.create()
+ attachments = []
+ if email_dict.get('attachments'):
+ for name, enc_cont in email_dict.pop('attachments'):
+ attachments.append((name, base64.b64decode(enc_cont)))
+ mail_values['attachments'] = attachments
attachment_ids = []
for attach_id in mail_values.pop('attachment_ids'):
new_attach_id = self.pool.get('ir.attachment').copy(cr, uid, attach_id, {'res_model': self._name, 'res_id': wizard.id}, context=context)
From f2c23488c3a29416582cdcd9c2ec993025c20e47 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?=
Date: Tue, 26 Nov 2013 13:08:43 +0100
Subject: [PATCH 13/75] [FIX] email_template: fixing to have the correct report
suppose to correctly fix. So, fix the fix to fix it
bzr revid: tde@openerp.com-20131126120843-gt8vdhl3yn61vd8r
---
addons/email_template/email_template.py | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/addons/email_template/email_template.py b/addons/email_template/email_template.py
index ab95613c283..6e19b1eb8aa 100644
--- a/addons/email_template/email_template.py
+++ b/addons/email_template/email_template.py
@@ -387,9 +387,7 @@ class email_template(osv.osv):
if not report_name.endswith(ext):
report_name += ext
attachments.append((report_name, result))
-
- for res_id in template_res_ids:
- results[res_id]['attachments'] = attachments
+ results[res_id]['attachments'] = attachments
return results
From 4468d522836bcb1f70311942ab9b7ba5de33dc69 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?=
Date: Tue, 26 Nov 2013 13:16:49 +0100
Subject: [PATCH 14/75] [DOC] mail: cleaned a comment
bzr revid: tde@openerp.com-20131126121649-nywrh4hc1mcpwleh
---
addons/mail/wizard/mail_compose_message.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/mail/wizard/mail_compose_message.py b/addons/mail/wizard/mail_compose_message.py
index d7d5ae9bae1..833811c07a1 100644
--- a/addons/mail/wizard/mail_compose_message.py
+++ b/addons/mail/wizard/mail_compose_message.py
@@ -306,7 +306,7 @@ class mail_compose_message(osv.TransientModel):
if mass_mail_mode and wizard.model:
email_dict = rendered_values[res_id]
mail_values['partner_ids'] += email_dict.pop('partner_ids', [])
- # process attachments and attachment_ids before sending values to mail_mail.create()
+ # process attachments: should not be encoded before being processed by message_post / mail_mail create
attachments = []
if email_dict.get('attachments'):
for name, enc_cont in email_dict.pop('attachments'):
From ae7fcfb5646051c33ef4876c5c6784169604c5dd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?=
Date: Tue, 26 Nov 2013 18:17:52 +0100
Subject: [PATCH 15/75] [IMP] [FIX] mail: mail_thread : - avoid having to
browse the record in message_subscribe: refactored message_subscribe to work
on ids without browsing, try to lessen the number of queries to do - update
_set_followers, method of the function field message_follower_ids, to use
message_subscribe and message_unsibscribe - in create: add author as follower
in creation values, not after create, allowing create access rules based on
followers - updated message_unsubscribe to be the lower method, not calling
_set_followers anymore
bzr revid: tde@openerp.com-20131126171752-1irizm7mhv2y1wrn
---
addons/mail/mail_thread.py | 77 +++++++++++++++++++++-----------------
1 file changed, 43 insertions(+), 34 deletions(-)
diff --git a/addons/mail/mail_thread.py b/addons/mail/mail_thread.py
index eac8df8ebbf..a8755cd1abd 100644
--- a/addons/mail/mail_thread.py
+++ b/addons/mail/mail_thread.py
@@ -188,13 +188,10 @@ class mail_thread(osv.AbstractModel):
new = set(command[2])
# remove partners that are no longer followers
- fol_ids = fol_obj.search(cr, SUPERUSER_ID,
- [('res_model', '=', self._name), ('res_id', '=', id), ('partner_id', 'not in', list(new))])
- fol_obj.unlink(cr, SUPERUSER_ID, fol_ids)
+ self.message_unsubscribe(cr, uid, [id], list(old-new))
# add new followers
- for partner_id in new - old:
- fol_obj.create(cr, SUPERUSER_ID, {'res_model': self._name, 'res_id': id, 'partner_id': partner_id})
+ self.message_subscribe(cr, uid, [id], list(new-old))
def _search_followers(self, cr, uid, obj, name, args, context):
fol_obj = self.pool.get('mail.followers')
@@ -240,15 +237,22 @@ class mail_thread(osv.AbstractModel):
"""
if context is None:
context = {}
+
+ # subscribe uid unless asked not to
+ if not context.get('mail_create_nosubscribe'):
+ pid = self.pool['res.users'].browse(cr, SUPERUSER_ID, uid).partner_id.id
+ message_follower_ids = values.get('message_follower_ids')
+ if message_follower_ids is False or message_follower_ids is None: # web client seems to send False as message_follower_ids value
+ message_follower_ids = []
+ message_follower_ids.append([4, pid])
+ values['message_follower_ids'] = message_follower_ids
+
thread_id = super(mail_thread, self).create(cr, uid, values, context=context)
# automatic logging unless asked not to (mainly for various testing purpose)
if not context.get('mail_create_nolog'):
self.message_post(cr, uid, thread_id, body=_('%s created') % (self._description), context=context)
- # subscribe uid unless asked not to
- if not context.get('mail_create_nosubscribe'):
- self.message_subscribe_users(cr, uid, [thread_id], [uid], context=context)
# auto_subscribe: take values and defaults into account
create_values = dict(values)
for key, val in context.iteritems():
@@ -1189,35 +1193,33 @@ class mail_thread(osv.AbstractModel):
else:
self.check_access_rights(cr, uid, 'write')
- for record in self.browse(cr, SUPERUSER_ID, ids, context=context):
- existing_pids = set([f.id for f in record.message_follower_ids
- if f.id in partner_ids])
+ existing_pids_dict = {}
+ fol_ids = mail_followers_obj.search(cr, SUPERUSER_ID, [('res_model', '=', self._name), ('res_id', 'in', ids)])
+ for fol in mail_followers_obj.browse(cr, SUPERUSER_ID, fol_ids, context=context):
+ existing_pids_dict.setdefault(fol.res_id, set()).add(fol.partner_id.id)
+
+ # subtype_ids specified: update already subscribed partners
+ if subtype_ids and fol_ids:
+ mail_followers_obj.write(cr, SUPERUSER_ID, fol_ids, {'subtype_ids': [(6, 0, subtype_ids)]}, context=context)
+ # subtype_ids not specified: do not update already subscribed partner, fetch default subtypes for new partners
+ if subtype_ids is None:
+ subtype_ids = subtype_obj.search(
+ cr, uid, [
+ ('default', '=', True), '|', ('res_model', '=', self._name), ('res_model', '=', False)], context=context)
+
+ for id in ids:
+ existing_pids = existing_pids_dict.get(id, set())
new_pids = set(partner_ids) - existing_pids
- # subtype_ids specified: update already subscribed partners
- if subtype_ids and existing_pids:
- fol_ids = mail_followers_obj.search(cr, SUPERUSER_ID, [
- ('res_model', '=', self._name),
- ('res_id', '=', record.id),
- ('partner_id', 'in', list(existing_pids)),
- ], context=context)
- mail_followers_obj.write(cr, SUPERUSER_ID, fol_ids, {'subtype_ids': [(6, 0, subtype_ids)]}, context=context)
- # subtype_ids not specified: do not update already subscribed partner, fetch default subtypes for new partners
- elif subtype_ids is None:
- subtype_ids = subtype_obj.search(cr, uid, [
- ('default', '=', True),
- '|',
- ('res_model', '=', self._name),
- ('res_model', '=', False)
- ], context=context)
# subscribe new followers
for new_pid in new_pids:
- mail_followers_obj.create(cr, SUPERUSER_ID, {
- 'res_model': self._name,
- 'res_id': record.id,
- 'partner_id': new_pid,
- 'subtype_ids': [(6, 0, subtype_ids)],
- }, context=context)
+ mail_followers_obj.create(
+ cr, SUPERUSER_ID, {
+ 'res_model': self._name,
+ 'res_id': id,
+ 'partner_id': new_pid,
+ 'subtype_ids': [(6, 0, subtype_ids)],
+ }, context=context)
return True
@@ -1236,7 +1238,14 @@ class mail_thread(osv.AbstractModel):
self.check_access_rights(cr, uid, 'read')
else:
self.check_access_rights(cr, uid, 'write')
- return self.write(cr, SUPERUSER_ID, ids, {'message_follower_ids': [(3, pid) for pid in partner_ids]}, context=context)
+ fol_obj = self.pool['mail.followers']
+ fol_ids = fol_obj.search(
+ cr, SUPERUSER_ID, [
+ ('res_model', '=', self._name),
+ ('res_id', 'in', ids),
+ ('partner_id', 'in', partner_ids)
+ ], context=context)
+ return fol_obj.unlink(cr, SUPERUSER_ID, fol_ids, context=context)
def _message_get_auto_subscribe_fields(self, cr, uid, updated_fields, auto_follow_fields=['user_id'], context=None):
""" Returns the list of relational fields linking to res.users that should
From 727b188eac4eb61134aca3666e861af3923776e9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?=
Date: Wed, 27 Nov 2013 10:50:37 +0100
Subject: [PATCH 16/75] [IMP] form_view: statusbar widget: folded back as an
option.
The widget option 'fold_field' allows to tell the widget to use this field on
the model used for stages to compute the folded selection.
If not set, no stage is folded.
bzr revid: tde@openerp.com-20131127095037-me1cvl272ex1e6r9
---
addons/web/static/src/js/view_form.js | 33 +++++++++++++++------------
1 file changed, 18 insertions(+), 15 deletions(-)
diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js
index 8b985695860..683cdebbbf4 100644
--- a/addons/web/static/src/js/view_form.js
+++ b/addons/web/static/src/js/view_form.js
@@ -5552,23 +5552,23 @@ instance.web.form.FieldStatus = instance.web.form.AbstractField.extend({
var self = this;
var selection_unfolded = [];
var selection_folded = [];
+ var fold_field = this.options.fold_field;
var calculation = _.bind(function() {
if (this.field.type == "many2one") {
- /* :deprecated: fold feature will probably be removed */
- // return self.get_distant_fields().then(function(fields) {
- self.distant_fields = {};
- return new instance.web.DataSetSearch(self, self.field.relation, self.build_context(), self.get("evaluated_selection_domain"))
- .read_slice(_.union(_.keys(self.distant_fields), ['id']), {}).then(function (records) {
- var ids = _.pluck(records, 'id');
- return self.dataset.name_get(ids).then(function (records_name) {
- _.each(records, function (record) {
- var name = _.find(records_name, function (val) {return val[0] == record.id;})[1];
- if (record.fold && record.id != self.get('value')) {
- selection_folded.push([record.id, name]);
- } else {
- selection_unfolded.push([record.id, name]);
- }
+ return self.get_distant_fields().then(function (fields) {
+ return new instance.web.DataSetSearch(self, self.field.relation, self.build_context(), self.get("evaluated_selection_domain"))
+ .read_slice(_.union(_.keys(self.distant_fields), ['id']), {}).then(function (records) {
+ var ids = _.pluck(records, 'id');
+ return self.dataset.name_get(ids).then(function (records_name) {
+ _.each(records, function (record) {
+ var name = _.find(records_name, function (val) {return val[0] == record.id;})[1];
+ if (fold_field && record[fold_field] && record.id != self.get('value')) {
+ selection_folded.push([record.id, name]);
+ } else {
+ selection_unfolded.push([record.id, name]);
+ }
+ });
});
});
});
@@ -5598,10 +5598,13 @@ instance.web.form.FieldStatus = instance.web.form.AbstractField.extend({
*/
get_distant_fields: function() {
var self = this;
+ if (! this.options.fold_field) {
+ this.distant_fields = {}
+ }
if (this.distant_fields) {
return $.when(this.distant_fields);
}
- return new instance.web.Model(self.field.relation).call("fields_get", [["fold"]]).then(function(fields) {
+ return new instance.web.Model(self.field.relation).call("fields_get", [[this.options.fold_field]]).then(function(fields) {
self.distant_fields = fields;
return fields;
});
From a8beece158d27148245c9ee1070dac6b6a624288 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?=
Date: Wed, 27 Nov 2013 10:53:00 +0100
Subject: [PATCH 17/75] [IMP] [REV] crm, addons: still stage/state tweaking -
crm: Mark Won / Lost buttons are back - crm: now using the new 'fold_field'
option to fold some stages on the fold field of stages. Back to saas-1
bebavhior. - project, project_issue: task and issue also use the fold_field
option. - project: fixed 'X Tasks' display on the project vignette: now
always displaying 'X Tasks at plural form to simplify the view.
bzr revid: tde@openerp.com-20131127095300-9onzlt5pl9u82zt6
---
addons/crm/crm_lead_view.xml | 12 +++++-------
addons/project/project_view.xml | 7 +++----
addons/project_issue/project_issue_view.xml | 3 ++-
3 files changed, 10 insertions(+), 12 deletions(-)
diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml
index f3e424e3e37..8d9cba60284 100644
--- a/addons/crm/crm_lead_view.xml
+++ b/addons/crm/crm_lead_view.xml
@@ -99,6 +99,7 @@
help="Convert to Opportunity" class="oe_highlight"/>
@@ -379,14 +380,11 @@
\n"
" "
msgstr ""
+"\n"
+" Pritisnite za kreiranje cjenika dostave za određenu regiju.\n"
+"
\n"
+" Cjenik dostave omogućava izračun nabavne i prodajne cijene\n"
+" dostave sukladno težini proizvoda i ostalim kriterijima.\n"
+" Možete definirati nekoliko cjenika za svaku vrstu dostave:\n"
+" za državu ili regiju u određenoj državi\n"
+"
\n"
+" "
#. module: delivery
#: report:sale.shipping:0
@@ -170,12 +179,12 @@ msgstr "Način Dostave"
#: code:addons/delivery/delivery.py:221
#, python-format
msgid "No price available!"
-msgstr ""
+msgstr "Cijena nije dostupna !"
#. module: delivery
#: model:ir.model,name:delivery.model_stock_move
msgid "Stock Move"
-msgstr ""
+msgstr "Skladišni prijenos"
#. module: delivery
#: field:stock.picking,carrier_tracking_ref:0
@@ -237,7 +246,7 @@ msgstr ""
#. module: delivery
#: field:delivery.carrier,partner_id:0
msgid "Transport Company"
-msgstr ""
+msgstr "Dostavljačka tvrtka"
#. module: delivery
#: model:ir.model,name:delivery.model_delivery_grid
@@ -247,12 +256,12 @@ msgstr "Dostavna Mreža"
#. module: delivery
#: report:sale.shipping:0
msgid "Invoiced to"
-msgstr ""
+msgstr "Fakturirano na"
#. module: delivery
#: model:ir.model,name:delivery.model_stock_picking
msgid "Picking List"
-msgstr ""
+msgstr "Skladišni dokument"
#. module: delivery
#: field:delivery.grid.line,name:0
@@ -299,12 +308,12 @@ msgstr "Na Pošt. Broj"
#: code:addons/delivery/delivery.py:147
#, python-format
msgid "Default price"
-msgstr ""
+msgstr "Predefinirana cijena"
#. module: delivery
#: field:delivery.carrier,normal_price:0
msgid "Normal Price"
-msgstr ""
+msgstr "Standardna cijena"
#. module: delivery
#: report:sale.shipping:0
@@ -379,7 +388,7 @@ msgstr "Aktivno"
#. module: delivery
#: report:sale.shipping:0
msgid "Shipping Date"
-msgstr ""
+msgstr "Datum Otpreme"
#. module: delivery
#: field:delivery.carrier,product_id:0
@@ -427,6 +436,21 @@ msgid ""
"
\n"
" "
msgstr ""
+"\n"
+" Pritisnite za kreiranje novog načina dostave. \n"
+"
\n"
+" Svaki dostavljač (npr. UPS, Overseas ...) može imati više "
+"vrsta dostave (npr.\n"
+" Ekspresna dostava, Standardna dostava) sa različitim "
+"cijenama.\n"
+"
\n"
+" Svaka metoda dostave omogućava automatski izračun cijene "
+"dostave\n"
+" sukladno postavkama; na prodajnom nalogu (baziranom na "
+"ponudi) \n"
+" ili računu (baziran na otpremnicama).\n"
+"
\n"
+" "
#. module: delivery
#: field:delivery.grid.line,max_value:0
@@ -526,7 +550,7 @@ msgstr ""
#. module: delivery
#: field:delivery.carrier,use_detailed_pricelist:0
msgid "Advanced Pricing per Destination"
-msgstr ""
+msgstr "Napredna cijene po odredištu"
#. module: delivery
#: view:delivery.carrier:0
@@ -542,7 +566,7 @@ msgstr "Prijevoznik"
#: model:ir.actions.act_window,name:delivery.action_delivery_carrier_form
#: model:ir.ui.menu,name:delivery.menu_action_delivery_carrier_form
msgid "Delivery Methods"
-msgstr ""
+msgstr "Načini dostave"
#. module: delivery
#: code:addons/delivery/sale.py:57
diff --git a/addons/email_template/i18n/ro.po b/addons/email_template/i18n/ro.po
index f0db4737c57..04842e77221 100644
--- a/addons/email_template/i18n/ro.po
+++ b/addons/email_template/i18n/ro.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2013-06-07 19:37+0000\n"
-"PO-Revision-Date: 2013-03-13 18:52+0000\n"
-"Last-Translator: ERPSystems.ro \n"
+"PO-Revision-Date: 2013-12-06 20:25+0000\n"
+"Last-Translator: Dorin \n"
"Language-Team: Romanian \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-11-21 06:08+0000\n"
-"X-Generator: Launchpad (build 16831)\n"
+"X-Launchpad-Export-Date: 2013-12-07 06:32+0000\n"
+"X-Generator: Launchpad (build 16869)\n"
#. module: email_template
#: field:email.template,email_from:0
@@ -57,7 +57,7 @@ msgstr ""
#: field:email.template,mail_server_id:0
#: field:email_template.preview,mail_server_id:0
msgid "Outgoing Mail Server"
-msgstr "Server Iesire E-mail-uri"
+msgstr "Server Ieșire E-mail-uri"
#. module: email_template
#: help:email.template,ref_ir_act_window:0
@@ -73,7 +73,7 @@ msgstr ""
#: field:email.template,model_object_field:0
#: field:email_template.preview,model_object_field:0
msgid "Field"
-msgstr "Camp"
+msgstr "Câmp"
#. module: email_template
#: view:email.template:0
diff --git a/addons/fetchmail/i18n/ro.po b/addons/fetchmail/i18n/ro.po
index 8ec13926af3..225d25fe2c3 100644
--- a/addons/fetchmail/i18n/ro.po
+++ b/addons/fetchmail/i18n/ro.po
@@ -8,19 +8,19 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2013-06-07 19:37+0000\n"
-"PO-Revision-Date: 2013-01-23 21:38+0000\n"
-"Last-Translator: ERPSystems.ro \n"
+"PO-Revision-Date: 2013-12-07 04:16+0000\n"
+"Last-Translator: Dorin \n"
"Language-Team: Romanian \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-11-21 06:09+0000\n"
-"X-Generator: Launchpad (build 16831)\n"
+"X-Launchpad-Export-Date: 2013-12-08 05:46+0000\n"
+"X-Generator: Launchpad (build 16869)\n"
#. module: fetchmail
#: selection:fetchmail.server,state:0
msgid "Confirmed"
-msgstr "Confirmat(a)"
+msgstr "Confirmat(ă)"
#. module: fetchmail
#: field:fetchmail.server,server:0
@@ -50,7 +50,7 @@ msgstr ""
#. module: fetchmail
#: field:fetchmail.server,attach:0
msgid "Keep Attachments"
-msgstr "Pastrati Atasamentele"
+msgstr "Pastrați Atașamentele"
#. module: fetchmail
#: field:fetchmail.server,is_ssl:0
@@ -76,7 +76,7 @@ msgstr "Configureaza gateway intrare email-uri"
#. module: fetchmail
#: view:fetchmail.server:0
msgid "Fetch Now"
-msgstr "Aduceti acum"
+msgstr "Aduceți acum"
#. module: fetchmail
#: model:ir.actions.act_window,name:fetchmail.action_email_server_tree
diff --git a/addons/hr_evaluation/i18n/sl.po b/addons/hr_evaluation/i18n/sl.po
index 3988c8070ff..b6d276b40ef 100644
--- a/addons/hr_evaluation/i18n/sl.po
+++ b/addons/hr_evaluation/i18n/sl.po
@@ -8,24 +8,24 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2013-06-07 19:36+0000\n"
-"PO-Revision-Date: 2013-11-28 10:26+0000\n"
+"PO-Revision-Date: 2013-12-07 09:07+0000\n"
"Last-Translator: Darja Zorman \n"
"Language-Team: Slovenian \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-11-29 05:29+0000\n"
-"X-Generator: Launchpad (build 16847)\n"
+"X-Launchpad-Export-Date: 2013-12-08 05:46+0000\n"
+"X-Generator: Launchpad (build 16869)\n"
#. module: hr_evaluation
#: help:hr_evaluation.plan.phase,send_anonymous_manager:0
msgid "Send an anonymous summary to the manager"
-msgstr ""
+msgstr "Pošlji anonimni povzetek vodji"
#. module: hr_evaluation
#: view:hr_evaluation.evaluation:0
msgid "Start Appraisal"
-msgstr ""
+msgstr "Prični ocenjevanje"
#. module: hr_evaluation
#: view:hr.evaluation.interview:0
@@ -37,13 +37,13 @@ msgstr "Združeno po..."
#. module: hr_evaluation
#: view:hr_evaluation.evaluation:0
msgid "Cancel Appraisal"
-msgstr ""
+msgstr "Prekliči ocenjevanje"
#. module: hr_evaluation
#: field:hr.evaluation.interview,request_id:0
#: field:hr.evaluation.report,request_id:0
msgid "Request_id"
-msgstr ""
+msgstr "Id zahevka"
#. module: hr_evaluation
#: selection:hr.evaluation.report,month:0
@@ -53,7 +53,7 @@ msgstr "Marec"
#. module: hr_evaluation
#: field:hr.evaluation.report,delay_date:0
msgid "Delay to Start"
-msgstr ""
+msgstr "Zamuda do pričetka"
#. module: hr_evaluation
#: view:hr_evaluation.evaluation:0
@@ -71,7 +71,7 @@ msgstr "Podjetje"
#: field:hr.evaluation.interview,evaluation_id:0
#: field:hr_evaluation.plan.phase,survey_id:0
msgid "Appraisal Form"
-msgstr ""
+msgstr "Obrazec ocenjevanja"
#. module: hr_evaluation
#: view:hr.evaluation.report:0
@@ -83,7 +83,7 @@ msgstr "Dan"
#: view:hr_evaluation.plan:0
#: field:hr_evaluation.plan,phase_ids:0
msgid "Appraisal Phases"
-msgstr ""
+msgstr "Faze ocenjevanja"
#. module: hr_evaluation
#: view:hr.evaluation.interview:0
@@ -101,12 +101,12 @@ msgstr ""
#: view:hr.employee:0
#: model:ir.ui.menu,name:hr_evaluation.menu_open_view_hr_evaluation_tree
msgid "Appraisals"
-msgstr ""
+msgstr "Ocenjevanja"
#. module: hr_evaluation
#: view:hr_evaluation.plan.phase:0
msgid "(eval_name)s:Appraisal Name"
-msgstr ""
+msgstr "(eval_name)s:ime ocenitve"
#. module: hr_evaluation
#: field:hr.evaluation.interview,message_ids:0
@@ -117,7 +117,7 @@ msgstr "Sporočila"
#. module: hr_evaluation
#: view:hr_evaluation.plan.phase:0
msgid "Mail Body"
-msgstr ""
+msgstr "Vsebina elektronskega sporočila"
#. module: hr_evaluation
#: field:hr_evaluation.plan.phase,wait:0
@@ -127,7 +127,7 @@ msgstr ""
#. module: hr_evaluation
#: model:ir.model,name:hr_evaluation.model_hr_evaluation_evaluation
msgid "Employee Appraisal"
-msgstr ""
+msgstr "Ocenjevanje zaposlenega"
#. module: hr_evaluation
#: selection:hr.evaluation.report,state:0
@@ -139,14 +139,14 @@ msgstr "Preklicano"
#: selection:hr.evaluation.report,rating:0
#: selection:hr_evaluation.evaluation,rating:0
msgid "Did not meet expectations"
-msgstr ""
+msgstr "Ni zadostil pričakovanj"
#. module: hr_evaluation
#: view:hr_evaluation.evaluation:0
#: model:ir.actions.act_window,name:hr_evaluation.open_view_hr_evaluation_tree
#: model:ir.ui.menu,name:hr_evaluation.menu_eval_hr
msgid "Appraisal"
-msgstr ""
+msgstr "Ocenjevanje"
#. module: hr_evaluation
#: help:hr.evaluation.interview,message_unread:0
@@ -157,7 +157,7 @@ msgstr "Če je izbrano, zahtevajo nova sporočila vašo pozornost."
#. module: hr_evaluation
#: view:hr_evaluation.plan.phase:0
msgid "Send to Managers"
-msgstr ""
+msgstr "Pošlji vodjem"
#. module: hr_evaluation
#: field:hr_evaluation.evaluation,date_close:0
@@ -167,12 +167,12 @@ msgstr "Končni datum"
#. module: hr_evaluation
#: field:hr_evaluation.plan,month_first:0
msgid "First Appraisal in (months)"
-msgstr ""
+msgstr "Prva ocenitev v (meseci)"
#. module: hr_evaluation
#: view:hr_evaluation.plan.phase:0
msgid "Send to Employees"
-msgstr ""
+msgstr "Pošlji zaposlenim"
#. module: hr_evaluation
#: code:addons/hr_evaluation/hr_evaluation.py:84
@@ -198,7 +198,7 @@ msgstr ""
#. module: hr_evaluation
#: view:hr_evaluation.evaluation:0
msgid "Appraisal that are in Plan In Progress state"
-msgstr ""
+msgstr "Planirana ocenjevanja v obdelavi"
#. module: hr_evaluation
#: help:hr.evaluation.interview,message_summary:0
@@ -240,23 +240,23 @@ msgstr "survey.request"
#. module: hr_evaluation
#: view:hr.evaluation.interview:0
msgid "Cancel Survey"
-msgstr ""
+msgstr "Prekliči anketo"
#. module: hr_evaluation
#: view:hr_evaluation.plan.phase:0
msgid "(date)s: Current Date"
-msgstr ""
+msgstr "(date)s: Trenutni datum"
#. module: hr_evaluation
#: model:ir.actions.act_window,name:hr_evaluation.act_hr_employee_2_hr__evaluation_interview
msgid "Interviews"
-msgstr ""
+msgstr "Razgovori"
#. module: hr_evaluation
#: code:addons/hr_evaluation/hr_evaluation.py:83
#, python-format
msgid "Regarding "
-msgstr ""
+msgstr "Glede na "
#. module: hr_evaluation
#: field:hr.evaluation.interview,message_follower_ids:0
@@ -293,13 +293,14 @@ msgstr "Elektronska pošta"
#: selection:hr.evaluation.report,rating:0
#: selection:hr_evaluation.evaluation,rating:0
msgid "Exceeds expectations"
-msgstr ""
+msgstr "Presega pričakovanja"
#. module: hr_evaluation
#: help:hr_evaluation.plan.phase,mail_feature:0
msgid ""
"Check this box if you want to send mail to employees coming under this phase"
msgstr ""
+"Kliknite okence, če želite poslati elektronsko sporočilo zaposlenim s te faze"
#. module: hr_evaluation
#: view:hr.evaluation.report:0
@@ -309,23 +310,23 @@ msgstr "Ustvarjeno dne"
#. module: hr_evaluation
#: help:hr_evaluation.plan.phase,send_answer_manager:0
msgid "Send all answers to the manager"
-msgstr ""
+msgstr "Pošlji vse odgovore vodji"
#. module: hr_evaluation
#: selection:hr.evaluation.report,state:0
#: selection:hr_evaluation.evaluation,state:0
msgid "Plan In Progress"
-msgstr ""
+msgstr "Plan v obdelavi"
#. module: hr_evaluation
#: view:hr_evaluation.evaluation:0
msgid "Public Notes"
-msgstr ""
+msgstr "Javne beležke"
#. module: hr_evaluation
#: view:hr.evaluation.interview:0
msgid "Send Reminder Email"
-msgstr ""
+msgstr "Pošlji opomnik po elektronski pošti"
#. module: hr_evaluation
#: view:hr.evaluation.report:0
@@ -336,7 +337,7 @@ msgstr ""
#. module: hr_evaluation
#: view:hr_evaluation.evaluation:0
msgid "Print Interview"
-msgstr ""
+msgstr "Natisni vprašalnik"
#. module: hr_evaluation
#: field:hr.evaluation.report,closed:0
@@ -347,13 +348,13 @@ msgstr "zaprto"
#: selection:hr.evaluation.report,rating:0
#: selection:hr_evaluation.evaluation,rating:0
msgid "Meet expectations"
-msgstr ""
+msgstr "Ustreza pričakovanjem"
#. module: hr_evaluation
#: view:hr.evaluation.report:0
#: field:hr.evaluation.report,nbr:0
msgid "# of Requests"
-msgstr ""
+msgstr "# zahtevkov"
#. module: hr_evaluation
#: selection:hr.evaluation.report,month:0
@@ -372,7 +373,7 @@ msgstr "Status"
#. module: hr_evaluation
#: model:ir.actions.act_window,name:hr_evaluation.action_evaluation_plans_installer
msgid "Review Appraisal Plans"
-msgstr ""
+msgstr "Pregled plana ocenjevanja"
#. module: hr_evaluation
#: model:ir.actions.act_window,help:hr_evaluation.action_evaluation_plans_installer
@@ -389,6 +390,17 @@ msgid ""
" \n"
" "
msgstr ""
+"\n"
+" Kliknite za definiranje novega plana ocenjevanja.\n"
+"
\n"
+" Plane ocenjevanja lahko določite (npr: prvo ocenjevanje po 6 "
+"\n"
+" mesecih, potem vsako leto). Potem je lahko vsak zaposleni "
+"povezan\n"
+" s planom ocenjevanja, tako da OpenERP avtomatično generira\n"
+" anketna vprašanja vodje in/ali podrejenim.\n"
+"
\n"
+" "
#. module: hr_evaluation
#: view:hr_evaluation.plan.phase:0
@@ -398,12 +410,12 @@ msgstr ""
#. module: hr_evaluation
#: field:hr_evaluation.evaluation,note_action:0
msgid "Action Plan"
-msgstr ""
+msgstr "Načrt aktivnosti"
#. module: hr_evaluation
#: model:ir.ui.menu,name:hr_evaluation.menu_eval_hr_config
msgid "Periodic Appraisal"
-msgstr ""
+msgstr "Periodično ocenjevanje"
#. module: hr_evaluation
#: field:hr_evaluation.plan,month_next:0
@@ -414,7 +426,7 @@ msgstr ""
#: selection:hr.evaluation.report,rating:0
#: selection:hr_evaluation.evaluation,rating:0
msgid "Significantly exceeds expectations"
-msgstr ""
+msgstr "Opazno presega pričakovanja"
#. module: hr_evaluation
#: view:hr_evaluation.evaluation:0
@@ -424,13 +436,13 @@ msgstr "V teku"
#. module: hr_evaluation
#: view:hr.evaluation.interview:0
msgid "Interview Request"
-msgstr ""
+msgstr "Zahteva za razgovor"
#. module: hr_evaluation
#: field:hr_evaluation.plan.phase,send_answer_employee:0
#: field:hr_evaluation.plan.phase,send_answer_manager:0
msgid "All Answers"
-msgstr ""
+msgstr "Vsi odgovori"
#. module: hr_evaluation
#: view:hr.evaluation.interview:0
@@ -462,12 +474,12 @@ msgstr "Grupiraj po..."
#. module: hr_evaluation
#: view:hr_evaluation.plan.phase:0
msgid "Mail Settings"
-msgstr ""
+msgstr "Nastavitve elektronske pošte"
#. module: hr_evaluation
#: model:ir.actions.act_window,name:hr_evaluation.evaluation_reminders
msgid "Appraisal Reminders"
-msgstr ""
+msgstr "Opomniki ocenjevanja"
#. module: hr_evaluation
#: help:hr_evaluation.plan.phase,wait:0
@@ -475,6 +487,8 @@ msgid ""
"Check this box if you want to wait that all preceding phases are finished "
"before launching this phase."
msgstr ""
+"Označite okence, če želite počakati, da so vse predhodne faze zaključne "
+"preden se prične ta faza."
#. module: hr_evaluation
#: view:hr_evaluation.plan.phase:0
@@ -487,6 +501,7 @@ msgid ""
"If the evaluation does not meet the expectations, you can proposean action "
"plan"
msgstr ""
+"Če ocenitev ne ustreza pričakovanjem, lahko predvidite akcijski načrt"
#. module: hr_evaluation
#: selection:hr.evaluation.report,state:0
@@ -497,7 +512,7 @@ msgstr "Osnutek"
#: field:hr_evaluation.plan.phase,send_anonymous_employee:0
#: field:hr_evaluation.plan.phase,send_anonymous_manager:0
msgid "Anonymous Summary"
-msgstr ""
+msgstr "Anonimni povzetek"
#. module: hr_evaluation
#: view:hr_evaluation.evaluation:0
@@ -512,12 +527,12 @@ msgstr "Na čakanju"
#: field:hr_evaluation.plan.phase,plan_id:0
#: model:ir.model,name:hr_evaluation.model_hr_evaluation_plan
msgid "Appraisal Plan"
-msgstr ""
+msgstr "Načrt ocenjevanja"
#. module: hr_evaluation
#: view:hr.evaluation.interview:0
msgid "Print Survey"
-msgstr ""
+msgstr "Tisk ankete"
#. module: hr_evaluation
#: selection:hr.evaluation.report,month:0
@@ -533,12 +548,12 @@ msgstr "Junij"
#: selection:hr.evaluation.report,rating:0
#: selection:hr_evaluation.evaluation,rating:0
msgid "Significantly bellow expectations"
-msgstr ""
+msgstr "Znatno pod pričakovanji"
#. module: hr_evaluation
#: view:hr_evaluation.evaluation:0
msgid "Validate Appraisal"
-msgstr ""
+msgstr "Potrditev ocenitve"
#. module: hr_evaluation
#: view:hr_evaluation.plan.phase:0
@@ -577,7 +592,7 @@ msgstr "Razširjeni filtri..."
#. module: hr_evaluation
#: help:hr_evaluation.plan.phase,send_anonymous_employee:0
msgid "Send an anonymous summary to the employee"
-msgstr ""
+msgstr "Pošlji anonimni povzetek zaposlenemu"
#. module: hr_evaluation
#: model:ir.model,name:hr_evaluation.model_hr_evaluation_plan_phase
@@ -592,7 +607,7 @@ msgstr "Januar"
#. module: hr_evaluation
#: view:hr.employee:0
msgid "Appraisal Interviews"
-msgstr ""
+msgstr "Ocenjevalni vprašalniki"
#. module: hr_evaluation
#: field:hr.evaluation.interview,message_summary:0
@@ -619,7 +634,7 @@ msgstr "Dejanje"
#: view:hr.evaluation.report:0
#: selection:hr.evaluation.report,state:0
msgid "Final Validation"
-msgstr ""
+msgstr "Končno ovrednotenje"
#. module: hr_evaluation
#: selection:hr_evaluation.evaluation,state:0
@@ -631,17 +646,17 @@ msgstr ""
#: model:ir.actions.act_window,name:hr_evaluation.action_evaluation_report_all
#: model:ir.ui.menu,name:hr_evaluation.menu_evaluation_report_all
msgid "Appraisal Analysis"
-msgstr ""
+msgstr "Analiza ocenitev"
#. module: hr_evaluation
#: field:hr_evaluation.evaluation,date:0
msgid "Appraisal Deadline"
-msgstr ""
+msgstr "Končni rok ocenitve"
#. module: hr_evaluation
#: field:hr.evaluation.report,rating:0
msgid "Overall Rating"
-msgstr ""
+msgstr "Splošna ocena"
#. module: hr_evaluation
#: view:hr.evaluation.interview:0
@@ -657,7 +672,7 @@ msgstr ""
#. module: hr_evaluation
#: view:hr.evaluation.interview:0
msgid "Deadline Date"
-msgstr ""
+msgstr "Končni rok"
#. module: hr_evaluation
#: help:hr_evaluation.evaluation,rating:0
@@ -677,7 +692,7 @@ msgstr "Splošno"
#. module: hr_evaluation
#: help:hr_evaluation.plan.phase,send_answer_employee:0
msgid "Send all answers to the employee"
-msgstr ""
+msgstr "Pošlji vse odgovore zaposlenemu"
#. module: hr_evaluation
#: view:hr.evaluation.interview:0
@@ -693,7 +708,7 @@ msgstr "Končano"
#: model:ir.actions.act_window,name:hr_evaluation.open_view_hr_evaluation_plan_tree
#: model:ir.ui.menu,name:hr_evaluation.menu_open_view_hr_evaluation_plan_tree
msgid "Appraisal Plans"
-msgstr ""
+msgstr "Plani ocenjevanja"
#. module: hr_evaluation
#: model:ir.model,name:hr_evaluation.model_hr_evaluation_interview
@@ -718,7 +733,7 @@ msgstr ""
#. module: hr_evaluation
#: field:hr_evaluation.plan.phase,mail_feature:0
msgid "Send mail for this phase"
-msgstr ""
+msgstr "Pošlji elektronsko sporočilo za to fazo"
#. module: hr_evaluation
#: field:hr_evaluation.plan.phase,email_subject:0
@@ -740,7 +755,7 @@ msgstr ""
#. module: hr_evaluation
#: field:hr.evaluation.report,overpass_delay:0
msgid "Overpassed Deadline"
-msgstr ""
+msgstr "Presežen končni rok"
#. module: hr_evaluation
#: help:hr_evaluation.plan,month_next:0
@@ -748,6 +763,8 @@ msgid ""
"The number of month that depicts the delay between each evaluation of this "
"plan (after the first one)."
msgstr ""
+"Število mesecev, ki prikazuje zamudo med posameznimi ocenitvami tega plana "
+"(po prvem)."
#. module: hr_evaluation
#: selection:hr_evaluation.plan.phase,action:0
@@ -791,7 +808,7 @@ msgstr "Interni zaznamki"
#. module: hr_evaluation
#: selection:hr_evaluation.plan.phase,action:0
msgid "Final Interview"
-msgstr ""
+msgstr "Končni razgovor"
#. module: hr_evaluation
#: field:hr_evaluation.plan.phase,name:0
@@ -817,7 +834,7 @@ msgstr ""
#. module: hr_evaluation
#: field:survey.request,is_evaluation:0
msgid "Is Appraisal?"
-msgstr ""
+msgstr "Je ocenjevanje?"
#. module: hr_evaluation
#: code:addons/hr_evaluation/hr_evaluation.py:320
@@ -828,7 +845,7 @@ msgstr ""
#. module: hr_evaluation
#: view:hr_evaluation.evaluation:0
msgid "Appraisal Summary..."
-msgstr ""
+msgstr "Pozvetek ocenitve..."
#. module: hr_evaluation
#: field:hr.evaluation.interview,user_to_review_id:0
@@ -897,7 +914,7 @@ msgstr "(user_signature)s: Ime uporabnika"
#: model:ir.actions.act_window,name:hr_evaluation.action_hr_evaluation_interview_tree
#: model:ir.ui.menu,name:hr_evaluation.menu_open_hr_evaluation_interview_requests
msgid "Interview Requests"
-msgstr ""
+msgstr "Zahtevki za razgovor"
#. module: hr_evaluation
#: field:hr.evaluation.report,create_date:0
@@ -913,7 +930,7 @@ msgstr "Leto"
#. module: hr_evaluation
#: field:hr_evaluation.evaluation,note_summary:0
msgid "Appraisal Summary"
-msgstr ""
+msgstr "Povzetek ocenitve"
#. module: hr_evaluation
#: field:hr.employee,evaluation_date:0
@@ -923,7 +940,7 @@ msgstr "Naslednji datum ocenitve"
#. module: hr_evaluation
#: view:hr_evaluation.evaluation:0
msgid "Action Plan..."
-msgstr ""
+msgstr "Plan aktivnosti..."
#~ msgid "Cancel"
#~ msgstr "Prekliči"
diff --git a/addons/hr_holidays/i18n/sl.po b/addons/hr_holidays/i18n/sl.po
index 9aac76d7b35..9bbd213e934 100644
--- a/addons/hr_holidays/i18n/sl.po
+++ b/addons/hr_holidays/i18n/sl.po
@@ -8,29 +8,29 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2013-06-07 19:36+0000\n"
-"PO-Revision-Date: 2013-11-22 10:12+0000\n"
+"PO-Revision-Date: 2013-12-07 09:01+0000\n"
"Last-Translator: Darja Zorman \n"
"Language-Team: Slovenian \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-11-23 06:26+0000\n"
-"X-Generator: Launchpad (build 16831)\n"
+"X-Launchpad-Export-Date: 2013-12-08 05:46+0000\n"
+"X-Generator: Launchpad (build 16869)\n"
#. module: hr_holidays
#: selection:hr.holidays.status,color_name:0
msgid "Blue"
-msgstr ""
+msgstr "Modro"
#. module: hr_holidays
#: field:hr.holidays,linked_request_ids:0
msgid "Linked Requests"
-msgstr ""
+msgstr "Povezan zahtevek"
#. module: hr_holidays
#: selection:hr.employee,current_leave_state:0
msgid "Waiting Second Approval"
-msgstr ""
+msgstr "Čakanje na drugo potrditev"
#. module: hr_holidays
#: code:addons/hr_holidays/hr_holidays.py:309
@@ -39,6 +39,8 @@ msgid ""
"You cannot modify a leave request that has been approved. Contact a human "
"resource manager."
msgstr ""
+"Ne morete spremeniti zahtevka za odhod, ki je bil potrjen. Kontaktirajte "
+"vodjo kadrovske službe."
#. module: hr_holidays
#: help:hr.holidays.status,remaining_leaves:0
@@ -53,7 +55,7 @@ msgstr ""
#. module: hr_holidays
#: view:hr.holidays:0
msgid "Group By..."
-msgstr ""
+msgstr "Združi po ..."
#. module: hr_holidays
#: field:hr.holidays,holiday_type:0
@@ -63,13 +65,13 @@ msgstr ""
#. module: hr_holidays
#: field:hr.employee,leave_date_from:0
msgid "From Date"
-msgstr ""
+msgstr "Od datuma"
#. module: hr_holidays
#: view:hr.holidays:0
#: field:hr.holidays,department_id:0
msgid "Department"
-msgstr ""
+msgstr "Oddelek"
#. module: hr_holidays
#: model:ir.actions.act_window,name:hr_holidays.request_approve_allocation
@@ -80,7 +82,7 @@ msgstr ""
#. module: hr_holidays
#: help:hr.holidays,category_id:0
msgid "Category of Employee"
-msgstr ""
+msgstr "Kategorija zaposlenega"
#. module: hr_holidays
#: selection:hr.holidays.status,color_name:0
@@ -90,7 +92,7 @@ msgstr "Rjava"
#. module: hr_holidays
#: view:hr.holidays:0
msgid "Remaining Days"
-msgstr ""
+msgstr "Preostali dnevi"
#. module: hr_holidays
#: xsl:holidays.summary:0
@@ -100,7 +102,7 @@ msgstr ""
#. module: hr_holidays
#: selection:hr.holidays,holiday_type:0
msgid "By Employee"
-msgstr ""
+msgstr "Po zaposlenih"
#. module: hr_holidays
#: view:hr.holidays:0
@@ -108,11 +110,13 @@ msgid ""
"The default duration interval between the start date and the end date is 8 "
"hours. Feel free to adapt it to your needs."
msgstr ""
+"Privzeto trajanje med začetnim in končnim datumom je 8 ur. Prilagodite, če "
+"je potrebno."
#. module: hr_holidays
#: model:mail.message.subtype,description:hr_holidays.mt_holidays_refused
msgid "Request refused"
-msgstr ""
+msgstr "Zahtevek zavrnjen"
#. module: hr_holidays
#: field:hr.holidays,number_of_days_temp:0
@@ -122,7 +126,7 @@ msgstr ""
#. module: hr_holidays
#: xsl:holidays.summary:0
msgid "to"
-msgstr ""
+msgstr "za"
#. module: hr_holidays
#: selection:hr.holidays.status,color_name:0
diff --git a/addons/hr_payroll/i18n/sl.po b/addons/hr_payroll/i18n/sl.po
index 0887fec1a69..5294aaef1fc 100644
--- a/addons/hr_payroll/i18n/sl.po
+++ b/addons/hr_payroll/i18n/sl.po
@@ -8,20 +8,20 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2013-06-07 19:36+0000\n"
-"PO-Revision-Date: 2013-12-04 11:06+0000\n"
+"PO-Revision-Date: 2013-12-07 07:13+0000\n"
"Last-Translator: Darja Zorman \n"
"Language-Team: Slovenian \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-12-05 06:10+0000\n"
-"X-Generator: Launchpad (build 16863)\n"
+"X-Launchpad-Export-Date: 2013-12-08 05:46+0000\n"
+"X-Generator: Launchpad (build 16869)\n"
#. module: hr_payroll
#: field:hr.payslip.line,condition_select:0
#: field:hr.salary.rule,condition_select:0
msgid "Condition Based on"
-msgstr ""
+msgstr "Pogoji temeljijo na"
#. module: hr_payroll
#: selection:hr.contract,schedule_pay:0
@@ -38,7 +38,7 @@ msgstr "Stopnja (%)"
#: model:ir.model,name:hr_payroll.model_hr_salary_rule_category
#: report:paylip.details:0
msgid "Salary Rule Category"
-msgstr ""
+msgstr "Kategorija plačnih pravil"
#. module: hr_payroll
#: field:hr.payslip.worked_days,number_of_days:0
@@ -51,6 +51,8 @@ msgid ""
"Linking a salary category to its parent is used only for the reporting "
"purpose."
msgstr ""
+"Povezava plačne kategorije z nadrejenim se uporablja samo za potrebe "
+"poročanja."
#. module: hr_payroll
#: view:hr.payslip:0
@@ -69,13 +71,13 @@ msgstr "Pokrajine"
#: view:hr.salary.rule:0
#: field:hr.salary.rule,input_ids:0
msgid "Inputs"
-msgstr ""
+msgstr "Vnosi"
#. module: hr_payroll
#: field:hr.payslip.line,parent_rule_id:0
#: field:hr.salary.rule,parent_rule_id:0
msgid "Parent Salary Rule"
-msgstr ""
+msgstr "Nadrejeno plačno pravilo"
#. module: hr_payroll
#: view:hr.employee:0
@@ -185,7 +187,7 @@ msgstr "Vsa podrejena pravila"
#: view:hr.payslip:0
#: view:hr.salary.rule:0
msgid "Input Data"
-msgstr ""
+msgstr "Vhodni podatki"
#. module: hr_payroll
#: constraint:hr.payslip:0
@@ -272,13 +274,13 @@ msgstr "Sklic"
#. module: hr_payroll
#: view:hr.payslip:0
msgid "Draft Slip"
-msgstr ""
+msgstr "Osnutek kuverte"
#. module: hr_payroll
#: code:addons/hr_payroll/hr_payroll.py:432
#, python-format
msgid "Normal Working Days paid at 100%"
-msgstr ""
+msgstr "Normalni delovni dan plačan 100%"
#. module: hr_payroll
#: field:hr.payslip.line,condition_range_max:0
@@ -305,7 +307,7 @@ msgstr "Partner"
#. module: hr_payroll
#: view:hr.payslip:0
msgid "Total Working Days"
-msgstr ""
+msgstr "Skupaj delovnih dni"
#. module: hr_payroll
#: constraint:hr.payroll.structure:0
@@ -473,13 +475,13 @@ msgstr "Zavrnjeno"
#: model:ir.actions.act_window,name:hr_payroll.action_salary_rule_form
#: model:ir.ui.menu,name:hr_payroll.menu_action_hr_salary_rule_form
msgid "Salary Rules"
-msgstr ""
+msgstr "Plačna pravila"
#. module: hr_payroll
#: code:addons/hr_payroll/hr_payroll.py:341
#, python-format
msgid "Refund: "
-msgstr ""
+msgstr "Povračilo: "
#. module: hr_payroll
#: model:ir.model,name:hr_payroll.model_payslip_lines_contribution_register
@@ -505,7 +507,7 @@ msgstr "Se izpiše na plačilni kuverti"
#: field:hr.salary.rule,amount_fix:0
#: selection:hr.salary.rule,amount_select:0
msgid "Fixed Amount"
-msgstr ""
+msgstr "Fiksni znesek"
#. module: hr_payroll
#: code:addons/hr_payroll/hr_payroll.py:370
@@ -520,6 +522,8 @@ msgid ""
"If the active field is set to false, it will allow you to hide the salary "
"rule without removing it."
msgstr ""
+"Če je aktivno polje neoznačeno, bo dovoljeno skriti plačno pravilo, ne da ga "
+"brišete."
#. module: hr_payroll
#: field:hr.payslip,state:0
@@ -535,7 +539,7 @@ msgstr ""
#. module: hr_payroll
#: field:hr.payslip,details_by_salary_rule_category:0
msgid "Details by Salary Rule Category"
-msgstr ""
+msgstr "Podrobnosti po kategorijah plačnih pravil"
#. module: hr_payroll
#: model:ir.actions.act_window,name:hr_payroll.action_payslip_lines_contribution_register
@@ -556,7 +560,7 @@ msgstr "Število ur"
#. module: hr_payroll
#: view:hr.payslip:0
msgid "PaySlip Batch"
-msgstr ""
+msgstr "Paket plačilnih kuvert"
#. module: hr_payroll
#: field:hr.payslip.line,condition_range_min:0
@@ -568,7 +572,7 @@ msgstr ""
#: field:hr.payslip.line,child_ids:0
#: field:hr.salary.rule,child_ids:0
msgid "Child Salary Rule"
-msgstr ""
+msgstr "Podrejeno plačno pravilo"
#. module: hr_payroll
#: report:contribution.register.lines:0
@@ -590,7 +594,7 @@ msgstr "Območje"
#: model:ir.actions.act_window,name:hr_payroll.action_view_hr_payroll_structure_tree
#: model:ir.ui.menu,name:hr_payroll.menu_hr_payroll_structure_tree
msgid "Salary Structures Hierarchy"
-msgstr ""
+msgstr "Hierarhija plačne strukture"
#. module: hr_payroll
#: help:hr.employee,total_wage:0
diff --git a/addons/hr_timesheet/i18n/sl.po b/addons/hr_timesheet/i18n/sl.po
index c3f79258bb3..b2532396c55 100644
--- a/addons/hr_timesheet/i18n/sl.po
+++ b/addons/hr_timesheet/i18n/sl.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2013-06-07 19:36+0000\n"
-"PO-Revision-Date: 2013-11-11 13:27+0000\n"
+"PO-Revision-Date: 2013-12-07 08:06+0000\n"
"Last-Translator: Darja Zorman \n"
"Language-Team: Slovenian \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-11-21 06:13+0000\n"
-"X-Generator: Launchpad (build 16831)\n"
+"X-Launchpad-Export-Date: 2013-12-08 05:46+0000\n"
+"X-Generator: Launchpad (build 16869)\n"
#. module: hr_timesheet
#: model:ir.actions.act_window,help:hr_timesheet.act_analytic_cost_revenue
@@ -100,7 +100,7 @@ msgstr "Časovnica"
#: code:addons/hr_timesheet/wizard/hr_timesheet_print_employee.py:43
#, python-format
msgid "Please define employee for this user!"
-msgstr ""
+msgstr "Prosimo, določite zaposlenega za tega uporabnika!"
#. module: hr_timesheet
#: code:addons/hr_timesheet/report/user_timesheet.py:44
@@ -163,7 +163,7 @@ msgstr ""
#: code:addons/hr_timesheet/wizard/hr_timesheet_sign_in_out.py:132
#, python-format
msgid "Please define employee for your user."
-msgstr ""
+msgstr "Prosimo, določite zaposlenega za vašega uporabnika."
#. module: hr_timesheet
#: model:ir.actions.act_window,name:hr_timesheet.act_analytic_cost_revenue
@@ -241,6 +241,17 @@ msgid ""
" \n"
" "
msgstr ""
+"\n"
+" Kliknite za beleženje aktivnosti.\n"
+"
\n"
+" Vaše delovne ure lahko beležite in spremljate po projektu "
+"vsak\n"
+" dan. Čas, porabljen na projektu bo postal strošek v "
+"analitičnem\n"
+" knjigovodstvu/pogodbi in je lahko zaračunan (fakturiran)\n"
+" kupcu, če se to zahteva.\n"
+"
\n"
+" "
#. module: hr_timesheet
#: view:hr.analytical.timesheet.employee:0
diff --git a/addons/mail/i18n/ro.po b/addons/mail/i18n/ro.po
index 9a46893d319..c742937f6b0 100644
--- a/addons/mail/i18n/ro.po
+++ b/addons/mail/i18n/ro.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2013-06-07 19:36+0000\n"
-"PO-Revision-Date: 2013-11-23 21:01+0000\n"
+"PO-Revision-Date: 2013-12-07 06:08+0000\n"
"Last-Translator: Dorin \n"
"Language-Team: Romanian \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-11-24 05:47+0000\n"
-"X-Generator: Launchpad (build 16831)\n"
+"X-Launchpad-Export-Date: 2013-12-08 05:46+0000\n"
+"X-Generator: Launchpad (build 16869)\n"
#. module: mail
#: view:mail.followers:0
@@ -954,10 +954,10 @@ msgid ""
" "
msgstr ""
"\n"
-" Bună Treabă! Căsuța dumneavoastră postala este "
+" Bună Treabă! Căsuța dumneavoastră poștală este "
"goală.\n"
"
\n"
-" Căsuța dumneavoastră poștala conține mesaje sau email-"
+" Căsuța dumneavoastră poștală conține mesaje sau email-"
"uri personale care v-au fost trimise dumneavoastră,\n"
" precum și informații legate de documentele sau "
"persoanele pe care le urmăriți.\n"
@@ -1471,7 +1471,7 @@ msgstr "Cc (copie carbon)"
#. module: mail
#: help:mail.notification,starred:0
msgid "Starred message that goes into the todo mailbox"
-msgstr "Mesaj marcat cu asterisc care ajunge în cutia poștala de efectuat"
+msgstr "Mesaj marcat cu asterisc care ajunge în cutia poștală de efectuat"
#. module: mail
#: view:mail.group:0
diff --git a/addons/mrp/i18n/hr.po b/addons/mrp/i18n/hr.po
index 78972a61a0c..47ac7263e29 100644
--- a/addons/mrp/i18n/hr.po
+++ b/addons/mrp/i18n/hr.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2013-06-07 19:36+0000\n"
-"PO-Revision-Date: 2013-10-25 10:54+0000\n"
+"PO-Revision-Date: 2013-12-07 14:07+0000\n"
"Last-Translator: Krešimir Jeđud \n"
"Language-Team: Croatian
\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-11-21 06:21+0000\n"
-"X-Generator: Launchpad (build 16831)\n"
+"X-Launchpad-Export-Date: 2013-12-08 05:46+0000\n"
+"X-Generator: Launchpad (build 16869)\n"
#. module: mrp
#: help:mrp.config.settings,module_mrp_repair:0
@@ -198,7 +198,7 @@ msgstr "Za nabavljeni materijal"
#. module: mrp
#: model:ir.ui.menu,name:mrp.menu_mrp_production_order_action
msgid "Order Planning"
-msgstr ""
+msgstr "Planiranje proizvodnje"
#. module: mrp
#: field:mrp.config.settings,module_mrp_operations:0
@@ -209,7 +209,7 @@ msgstr "Detaljno planiranje radova za radne naloge"
#: code:addons/mrp/mrp.py:633
#, python-format
msgid "Cannot cancel manufacturing order!"
-msgstr ""
+msgstr "Nije moguće otkazati proizvodni nalog!"
#. module: mrp
#: field:mrp.workcenter,costs_cycle_account_id:0
@@ -739,6 +739,16 @@ msgid ""
"
\n"
" "
msgstr ""
+"\n"
+" Pritisnite za kreiranje nove komponente sastavnice.\n"
+"
\n"
+" Komponente sastavnice su dijelovi sastavnica koje se koriste "
+"za\n"
+" kreiranje glavnih sastavnica. Kroz ovaj izbornik možete "
+"pronaći\n"
+" u kojim se sastavnicama koristi određena komponenta.\n"
+"
\n"
+" "
#. module: mrp
#: constraint:mrp.bom:0
@@ -962,7 +972,7 @@ msgstr ""
#. module: mrp
#: field:mrp.bom,type:0
msgid "BoM Type"
-msgstr "BoM Type"
+msgstr "Tip sastavnice"
#. module: mrp
#: code:addons/mrp/procurement.py:57
@@ -1612,6 +1622,26 @@ msgid ""
" \n"
" "
msgstr ""
+"\n"
+" Pritisnite za kreiranje grupe svojstava.\n"
+"
\n"
+" Definirajte specifične grupe svojstava koje se mogu "
+"dodijeliti\n"
+" vašim sastavnicama i prodajnim nalozima. Svojstva "
+"dozvoljavaju\n"
+" OpenERP-u da automatski odabere ispravnu sastavnicu "
+"sukladno\n"
+" svojstvima odabranim u prodajnim nalozima.\n"
+"
\n"
+" Na primjer, grupi svojstava \"Garancija\", imate dva "
+"svojstva:\n"
+" Garancija 1 godinu,i Garancija 3 godine. Ovisno o odabranom "
+"svojstvu\n"
+" u prodajnom nalogu, OpenERP će zakazati proizvodnju "
+"koristeći\n"
+" odgovarajuću sastavnicu.\n"
+"
\n"
+" "
#. module: mrp
#: field:mrp.workcenter,capacity_per_cycle:0
@@ -1845,7 +1875,7 @@ msgstr "Time for 1 cycle (hour)"
#. module: mrp
#: view:mrp.production:0
msgid "Cancel Production"
-msgstr ""
+msgstr "Otkaži proizvodnju"
#. module: mrp
#: model:ir.actions.report.xml,name:mrp.report_mrp_production_report
@@ -1885,7 +1915,7 @@ msgstr "Greška!"
#: view:mrp.bom:0
#, python-format
msgid "Components"
-msgstr "Components"
+msgstr "Komponente"
#. module: mrp
#: report:bom.structure:0
@@ -1901,12 +1931,12 @@ msgstr ""
#. module: mrp
#: field:mrp.bom,date_stop:0
msgid "Valid Until"
-msgstr "Valid Until"
+msgstr "Vrijedi do"
#. module: mrp
#: field:mrp.bom,date_start:0
msgid "Valid From"
-msgstr "Valid From"
+msgstr "Vrijedi od"
#. module: mrp
#: selection:mrp.bom,type:0
@@ -1932,7 +1962,7 @@ msgstr "Količina JP"
#. module: mrp
#: field:mrp.production,move_prod_id:0
msgid "Product Move"
-msgstr ""
+msgstr "Prijenos"
#. module: mrp
#: model:ir.actions.act_window,help:mrp.action_report_in_out_picking_tree
@@ -2066,6 +2096,17 @@ msgid ""
" \n"
" "
msgstr ""
+"\n"
+" Pritisnite za kreiranje nove sastavnice. \n"
+"
\n"
+" Sastavnice omogućuju definiranje liste potrenih sirovina\n"
+" koje se koriste u procesu proizvodnje;\n"
+"
\n"
+" OpenERP koristi ove sastavnice kako bi automatski predložio "
+"proizvodni\n"
+" nalog sukladno potrebama nabavke.\n"
+"
\n"
+" "
#. module: mrp
#: field:mrp.routing.workcenter,routing_id:0
@@ -2179,7 +2220,7 @@ msgstr "Product type is Stockable or Consumable."
#. module: mrp
#: selection:mrp.production,state:0
msgid "Production Started"
-msgstr ""
+msgstr "Započeta proizvodnja"
#. module: mrp
#: model:process.node,name:mrp.process_node_procureproducts0
diff --git a/addons/portal_crm/i18n/sl.po b/addons/portal_crm/i18n/sl.po
index ca04aec799c..5e6eeb1da76 100644
--- a/addons/portal_crm/i18n/sl.po
+++ b/addons/portal_crm/i18n/sl.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2013-06-07 19:37+0000\n"
-"PO-Revision-Date: 2013-01-26 12:47+0000\n"
-"Last-Translator: Dušan Laznik (Mentis) \n"
+"PO-Revision-Date: 2013-12-07 07:35+0000\n"
+"Last-Translator: Darja Zorman \n"
"Language-Team: Slovenian \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-11-21 06:25+0000\n"
-"X-Generator: Launchpad (build 16831)\n"
+"X-Launchpad-Export-Date: 2013-12-08 05:46+0000\n"
+"X-Generator: Launchpad (build 16869)\n"
#. module: portal_crm
#: selection:portal_crm.crm_contact_us,type:0
@@ -30,7 +30,7 @@ msgstr "Naziv"
#. module: portal_crm
#: field:portal_crm.crm_contact_us,probability:0
msgid "Success Rate (%)"
-msgstr ""
+msgstr "Uspešnost (%)"
#. module: portal_crm
#: view:portal_crm.crm_contact_us:0
@@ -40,7 +40,7 @@ msgstr "Kontakt"
#. module: portal_crm
#: field:portal_crm.crm_contact_us,date_action:0
msgid "Next Action Date"
-msgstr ""
+msgstr "Datum naslednje aktivnosti"
#. module: portal_crm
#: field:portal_crm.crm_contact_us,fax:0
@@ -70,7 +70,7 @@ msgstr "Prodajalec"
#. module: portal_crm
#: view:portal_crm.crm_contact_us:0
msgid "Thank you for your interest, we'll respond to your request shortly."
-msgstr ""
+msgstr "Hvala za vaše zanimanje, v kratkem vam bomo odgovorili."
#. module: portal_crm
#: selection:portal_crm.crm_contact_us,priority:0
@@ -100,7 +100,7 @@ msgstr "Barvvni index"
#. module: portal_crm
#: field:portal_crm.crm_contact_us,partner_name:0
msgid "Customer Name"
-msgstr ""
+msgstr "Ime kupca"
#. module: portal_crm
#: selection:portal_crm.crm_contact_us,state:0
@@ -115,7 +115,7 @@ msgstr "Če je izbrano, zahtevajo nova sporočila vašo pozornost."
#. module: portal_crm
#: help:portal_crm.crm_contact_us,channel_id:0
msgid "Communication channel (mail, direct, phone, ...)"
-msgstr ""
+msgstr "Komunikacijski kanal (elektronska pošta, direktno, telefon, ...)"
#. module: portal_crm
#: field:portal_crm.crm_contact_us,type_id:0
@@ -131,7 +131,7 @@ msgstr "Reference"
#: field:portal_crm.crm_contact_us,date_action_next:0
#: field:portal_crm.crm_contact_us,title_action:0
msgid "Next Action"
-msgstr ""
+msgstr "Naslednja aktivnost"
#. module: portal_crm
#: help:portal_crm.crm_contact_us,message_summary:0
@@ -139,6 +139,8 @@ msgid ""
"Holds the Chatter summary (number of messages, ...). This summary is "
"directly in html format in order to be inserted in kanban views."
msgstr ""
+"Povzetek klepeta (število sporočil,..). Ta zbir je v html formatu, da se "
+"lahko vključi v kanban poglede."
#. module: portal_crm
#: field:portal_crm.crm_contact_us,partner_id:0
@@ -148,7 +150,7 @@ msgstr "Partner"
#. module: portal_crm
#: model:ir.actions.act_window,name:portal_crm.action_contact_us
msgid "Contact Us"
-msgstr ""
+msgstr "Kontakt"
#. module: portal_crm
#: field:portal_crm.crm_contact_us,name:0
@@ -179,6 +181,7 @@ msgstr "Sledilci"
#: help:portal_crm.crm_contact_us,partner_id:0
msgid "Linked partner (optional). Usually created when converting the lead."
msgstr ""
+"Povezan partner (opcijsko). Običajno je kreiran ob spremembi v priložnost."
#. module: portal_crm
#: field:portal_crm.crm_contact_us,payment_mode:0
@@ -218,7 +221,7 @@ msgstr "Ustvarjeno dne"
#. module: portal_crm
#: view:portal_crm.crm_contact_us:0
msgid "Content..."
-msgstr ""
+msgstr "Vsebina..."
#. module: portal_crm
#: help:portal_crm.crm_contact_us,opt_out:0
@@ -227,11 +230,15 @@ msgid ""
"mailing and marketing campaign. Filter 'Available for Mass Mailing' allows "
"users to filter the leads when performing mass mailing."
msgstr ""
+"Če je označeno opt-out, je ta kontakt zavrnil prejemanje masovnih "
+"elektronskih sporočil in marketinških kampanj. Filter 'Dostopen za masovno "
+"pošiljanje pošte' omogoča uporabniku filtriranje možnosti pri izvajanju "
+"masovnega pošiljanja pošte."
#. module: portal_crm
#: help:portal_crm.crm_contact_us,type:0
msgid "Type is used to separate Leads and Opportunities"
-msgstr ""
+msgstr "Tip se uporablja za ločevanje možnosti in priložnosti"
#. module: portal_crm
#: field:portal_crm.crm_contact_us,categ_ids:0
@@ -261,7 +268,7 @@ msgstr "Stik"
#. module: portal_crm
#: view:portal_crm.crm_contact_us:0
msgid "Your name..."
-msgstr ""
+msgstr "Vaše ime..."
#. module: portal_crm
#: field:portal_crm.crm_contact_us,partner_address_email:0
@@ -281,7 +288,7 @@ msgstr "Naloge"
#. module: portal_crm
#: view:portal_crm.crm_contact_us:0
msgid "Contact form"
-msgstr ""
+msgstr "Kontaktni obrazec"
#. module: portal_crm
#: field:portal_crm.crm_contact_us,company_currency:0
@@ -296,12 +303,12 @@ msgstr "Datum posodobitve"
#. module: portal_crm
#: view:portal_crm.crm_contact_us:0
msgid "Your email..."
-msgstr ""
+msgstr "Vaš e-mail..."
#. module: portal_crm
#: field:portal_crm.crm_contact_us,date_deadline:0
msgid "Expected Closing"
-msgstr ""
+msgstr "Pričakovan zaključek"
#. module: portal_crm
#: field:portal_crm.crm_contact_us,ref2:0
@@ -311,7 +318,7 @@ msgstr "Sklic 2"
#. module: portal_crm
#: field:portal_crm.crm_contact_us,user_email:0
msgid "User Email"
-msgstr ""
+msgstr "Uporabnikov elektronski naslov"
#. module: portal_crm
#: field:portal_crm.crm_contact_us,date_open:0
@@ -329,6 +336,8 @@ msgid ""
"The name of the future partner company that will be created while converting "
"the lead into opportunity"
msgstr ""
+"Ime bodoče partnerjeve firme, ki bo kreirana ob spremembi možnosti v "
+"priložnost"
#. module: portal_crm
#: field:portal_crm.crm_contact_us,planned_cost:0
@@ -338,7 +347,7 @@ msgstr "Načrtovani stroški"
#. module: portal_crm
#: help:portal_crm.crm_contact_us,date_deadline:0
msgid "Estimate of the date on which the opportunity will be won."
-msgstr ""
+msgstr "Ocena datuma, ko bo priložnost pridobljena"
#. module: portal_crm
#: help:portal_crm.crm_contact_us,email_cc:0
@@ -347,6 +356,9 @@ msgid ""
"outbound emails for this record before being sent. Separate multiple email "
"addresses with a comma"
msgstr ""
+"Ti poštni naslovi bodo dodani v CC polje vseh vhodnih in izhodnih sporočil "
+"za ta zapis, preden bodo razposlana. V primeru večih elektronskih naslovov "
+"jih ločite z vejico."
#. module: portal_crm
#: selection:portal_crm.crm_contact_us,priority:0
@@ -377,7 +389,7 @@ msgstr "Običajno"
#. module: portal_crm
#: field:portal_crm.crm_contact_us,email_cc:0
msgid "Global CC"
-msgstr ""
+msgstr "Globalni CC"
#. module: portal_crm
#: field:portal_crm.crm_contact_us,street2:0
@@ -407,12 +419,12 @@ msgstr "Aktivno"
#. module: portal_crm
#: field:portal_crm.crm_contact_us,day_open:0
msgid "Days to Open"
-msgstr ""
+msgstr "Dni do odprtja"
#. module: portal_crm
#: field:portal_crm.crm_contact_us,day_close:0
msgid "Days to Close"
-msgstr ""
+msgstr "Dnevi do končanja"
#. module: portal_crm
#: field:portal_crm.crm_contact_us,company_ids:0
@@ -427,23 +439,24 @@ msgstr "Povzetek"
#. module: portal_crm
#: view:portal_crm.crm_contact_us:0
msgid "Subject..."
-msgstr ""
+msgstr "Zadeva..."
#. module: portal_crm
#: help:portal_crm.crm_contact_us,section_id:0
msgid ""
"When sending mails, the default email address is taken from the sales team."
msgstr ""
+"Pri pošiljanju elektronske pošte je privzeti naslov tisti od prodajne ekipe."
#. module: portal_crm
#: field:portal_crm.crm_contact_us,partner_address_name:0
msgid "Partner Contact Name"
-msgstr ""
+msgstr "Ime kontakta"
#. module: portal_crm
#: view:portal_crm.crm_contact_us:0
msgid "Your phone number..."
-msgstr ""
+msgstr "Vaša telefonska številka..."
#. module: portal_crm
#: view:portal_crm.crm_contact_us:0
@@ -503,6 +516,9 @@ msgid ""
"set to 'Done'. If the case needs to be reviewed then the Status is set to "
"'Pending'."
msgstr ""
+"Status je nastavljen na 'Osnutek', ko je primer kreiran. Če je primer v "
+"napredovanju, je status spremenjen v 'Odprt'. Ko je primer zaključen, je "
+"status 'Končan'. Če je treba primer pregledati, je status 'V urejanju'."
#. module: portal_crm
#: help:portal_crm.crm_contact_us,message_ids:0
@@ -515,6 +531,8 @@ msgid ""
"From which campaign (seminar, marketing campaign, mass mailing, ...) did "
"this contact come from?"
msgstr ""
+"Iz katere kampanje (seminar, marketinška kampanja, masovno pošiljanje pošte "
+"...) izvira ta kontakt?"
#. module: portal_crm
#: selection:portal_crm.crm_contact_us,priority:0
@@ -534,7 +552,7 @@ msgstr "Ulica"
#. module: portal_crm
#: field:portal_crm.crm_contact_us,date_action_last:0
msgid "Last Action"
-msgstr ""
+msgstr "Zadnja aktivnost"
#. module: portal_crm
#: model:ir.model,name:portal_crm.model_portal_crm_crm_contact_us
diff --git a/addons/procurement/i18n/ja.po b/addons/procurement/i18n/ja.po
index cc5ac6abcde..5d7a02f1bef 100644
--- a/addons/procurement/i18n/ja.po
+++ b/addons/procurement/i18n/ja.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2013-06-07 19:37+0000\n"
-"PO-Revision-Date: 2013-11-08 17:17+0000\n"
+"PO-Revision-Date: 2013-12-06 23:52+0000\n"
"Last-Translator: Yoshi Tashiro \n"
"Language-Team: Japanese \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-11-21 06:26+0000\n"
-"X-Generator: Launchpad (build 16831)\n"
+"X-Launchpad-Export-Date: 2013-12-07 06:32+0000\n"
+"X-Generator: Launchpad (build 16869)\n"
#. module: procurement
#: model:ir.ui.menu,name:procurement.menu_stock_sched
@@ -141,12 +141,12 @@ msgstr "調達計算"
#. module: procurement
#: field:procurement.order,message:0
msgid "Latest error"
-msgstr "最新のエラー"
+msgstr "直近のエラー"
#. module: procurement
#: field:stock.warehouse.orderpoint,product_min_qty:0
msgid "Minimum Quantity"
-msgstr ""
+msgstr "最小数量"
#. module: procurement
#: help:mrp.property,composition:0
@@ -156,7 +156,7 @@ msgstr "情報目的のみであるため、計算には使用されません。
#. module: procurement
#: field:stock.warehouse.orderpoint,procurement_id:0
msgid "Latest procurement"
-msgstr "最新の調達"
+msgstr "直近の調達"
#. module: procurement
#: field:procurement.order,message_ids:0
@@ -166,7 +166,7 @@ msgstr ""
#. module: procurement
#: view:procurement.order:0
msgid "Cancel Procurement"
-msgstr ""
+msgstr "調達取消"
#. module: procurement
#: view:product.product:0
@@ -268,7 +268,7 @@ msgstr "確認"
#. module: procurement
#: view:stock.warehouse.orderpoint:0
msgid "Quantity Multiple"
-msgstr ""
+msgstr "倍乗基準数量"
#. module: procurement
#: help:procurement.order,origin:0
@@ -282,7 +282,7 @@ msgstr ""
#. module: procurement
#: view:stock.warehouse.orderpoint:0
msgid "Procurement Orders to Process"
-msgstr "調達オーダーの処理"
+msgstr "未処理調達オーダ"
#. module: procurement
#: model:ir.model,name:procurement.model_stock_warehouse_orderpoint
@@ -303,7 +303,7 @@ msgstr "優先度"
#. module: procurement
#: view:stock.warehouse.orderpoint:0
msgid "Reordering Rules Search"
-msgstr ""
+msgstr "再発注規則検索"
#. module: procurement
#: selection:procurement.order,state:0
@@ -532,7 +532,7 @@ msgstr "製品の在庫が0未満の時は、それは発注点のように動
#: field:procurement.order,product_uom:0
#: field:stock.warehouse.orderpoint,product_uom:0
msgid "Product Unit of Measure"
-msgstr ""
+msgstr "製品単位"
#. module: procurement
#: constraint:stock.warehouse.orderpoint:0
@@ -576,7 +576,7 @@ msgstr "ドラフト"
#: model:ir.ui.menu,name:procurement.menu_stock_proc_schedulers
#: view:procurement.order.compute.all:0
msgid "Run Schedulers"
-msgstr ""
+msgstr "スケジューラ実行"
#. module: procurement
#: view:procurement.order.compute:0
@@ -587,7 +587,7 @@ msgstr "ウィザードは調達をスケジュールします。"
#: view:procurement.order:0
#: field:procurement.order,state:0
msgid "Status"
-msgstr "状態"
+msgstr "ステータス"
#. module: procurement
#: selection:product.template,supply_method:0
@@ -615,7 +615,7 @@ msgstr ""
#. module: procurement
#: field:stock.warehouse.orderpoint,product_max_qty:0
msgid "Maximum Quantity"
-msgstr ""
+msgstr "最大数量"
#. module: procurement
#: field:procurement.order,message_is_follower:0
@@ -631,7 +631,7 @@ msgstr "十分な在庫ではありません。"
#. module: procurement
#: field:stock.warehouse.orderpoint,active:0
msgid "Active"
-msgstr "アクティブ"
+msgstr "有効"
#. module: procurement
#: model:process.node,name:procurement.process_node_procureproducts0
@@ -780,7 +780,7 @@ msgstr "完了"
#: view:procurement.order.compute.all:0
#: view:procurement.orderpoint.compute:0
msgid "Cancel"
-msgstr "キャンセル"
+msgstr "取消"
#. module: procurement
#: field:stock.warehouse.orderpoint,logic:0
@@ -790,7 +790,7 @@ msgstr "再オーダーのモード"
#. module: procurement
#: field:procurement.order,origin:0
msgid "Source Document"
-msgstr "基となるドキュメント"
+msgstr "参照元"
#. module: procurement
#: selection:procurement.order,priority:0
@@ -804,7 +804,7 @@ msgstr "緊急外"
#: model:ir.ui.menu,name:procurement.menu_stock_procurement_action
#: view:procurement.order:0
msgid "Procurement Exceptions"
-msgstr "調達の例外"
+msgstr "調達例外"
#. module: procurement
#: help:stock.warehouse.orderpoint,product_max_qty:0
@@ -928,7 +928,7 @@ msgstr "一時的な調達例外"
#: field:mrp.property,name:0
#: field:stock.warehouse.orderpoint,name:0
msgid "Name"
-msgstr "名前"
+msgstr "名称"
#. module: procurement
#: selection:mrp.property,composition:0
@@ -942,7 +942,7 @@ msgstr "最大"
#: model:ir.ui.menu,name:procurement.menu_stock_order_points
#: view:stock.warehouse.orderpoint:0
msgid "Reordering Rules"
-msgstr ""
+msgstr "再発注規則"
#. module: procurement
#: code:addons/procurement/procurement.py:139
@@ -1007,7 +1007,7 @@ msgstr "最小"
#: view:procurement.order.compute.all:0
#: view:procurement.orderpoint.compute:0
msgid "or"
-msgstr ""
+msgstr "または"
#. module: procurement
#: code:addons/procurement/schedulers.py:134
diff --git a/addons/project_issue/i18n/sl.po b/addons/project_issue/i18n/sl.po
index aa0a4e39cf0..26cde33400b 100644
--- a/addons/project_issue/i18n/sl.po
+++ b/addons/project_issue/i18n/sl.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2013-06-07 19:36+0000\n"
-"PO-Revision-Date: 2013-10-21 06:49+0000\n"
+"PO-Revision-Date: 2013-12-07 07:10+0000\n"
"Last-Translator: Matjaž Mozetič (Matmoz) \n"
"Language-Team: Slovenian \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-11-21 06:30+0000\n"
-"X-Generator: Launchpad (build 16831)\n"
+"X-Launchpad-Export-Date: 2013-12-08 05:46+0000\n"
+"X-Generator: Launchpad (build 16869)\n"
#. module: project_issue
#: model:project.category,name:project_issue.project_issue_category_03
@@ -99,6 +99,11 @@ msgid ""
" * Ready for next stage indicates the issue is ready to be pulled to the "
"next stage"
msgstr ""
+"Kanban stanje zadev prikazuje dotične situacije:\n"
+" * Normalno je privzeta situacija\n"
+" * Blokirano pomeni da nekaj preprečuje napredovanje zadeve\n"
+" * Pripravljeno na naslednjo stopnjo kaže, da jezadeve pripravljena na "
+"prehod v naslednjo stopnjo"
#. module: project_issue
#: help:project.issue,message_unread:0
@@ -122,6 +127,8 @@ msgid ""
"You cannot escalate this issue.\n"
"The relevant Project has not configured the Escalation Project!"
msgstr ""
+"Te zadeve ne morete stopnjevati.\n"
+"Dotični projekt nima nastavljenega stopnjevalnega projekta!"
#. module: project_issue
#: constraint:project.project:0
@@ -900,6 +907,13 @@ msgid ""
" \n"
" "
msgstr ""
+"\n"
+" Kliknite za dodajanje novega tipa zadeve.\n"
+"
\n"
+" Tu določite različne tipe zadev\n"
+" na katerih delate.\n"
+"
\n"
+" "
#. module: project_issue
#: help:project.issue,section_id:0
@@ -958,7 +972,7 @@ msgstr "project.issue.report"
#. module: project_issue
#: help:project.issue.report,delay_close:0
msgid "Number of Days to close the project issue"
-msgstr "Število dni do zaprtja projektne zadeve"
+msgstr "Število dni do zaprtja projektne razprave"
#. module: project_issue
#: field:project.issue.report,working_hours_close:0
diff --git a/addons/stock/i18n/ja.po b/addons/stock/i18n/ja.po
index ce145adfc09..bcc0d69b8e6 100644
--- a/addons/stock/i18n/ja.po
+++ b/addons/stock/i18n/ja.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2013-06-07 19:36+0000\n"
-"PO-Revision-Date: 2013-11-10 08:42+0000\n"
+"PO-Revision-Date: 2013-12-06 23:47+0000\n"
"Last-Translator: Yoshi Tashiro \n"
"Language-Team: Japanese \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-11-21 06:35+0000\n"
-"X-Generator: Launchpad (build 16831)\n"
+"X-Launchpad-Export-Date: 2013-12-07 06:32+0000\n"
+"X-Generator: Launchpad (build 16869)\n"
#. module: stock
#: field:stock.inventory.line.split,line_exist_ids:0
@@ -210,7 +210,7 @@ msgstr ""
#: view:report.stock.move:0
#: field:stock.change.standard.price,stock_journal:0
msgid "Stock journal"
-msgstr "在庫仕訳帳"
+msgstr "在庫記録簿"
#. module: stock
#: view:report.stock.move:0
@@ -245,12 +245,12 @@ msgstr "あなたはどのレコードも削除できません。"
#. module: stock
#: view:stock.picking:0
msgid "Delivery orders to invoice"
-msgstr "未請求配送オーダ"
+msgstr "未請求配送"
#. module: stock
#: view:stock.picking:0
msgid "Assigned Delivery Orders"
-msgstr "割当済配送オーダ"
+msgstr "割当済配送"
#. module: stock
#: code:addons/stock/wizard/stock_change_standard_price.py:107
@@ -470,7 +470,7 @@ msgstr "遅れ(日数)"
#. module: stock
#: selection:stock.picking.out,state:0
msgid "Ready to Deliver"
-msgstr ""
+msgstr "配送待ち"
#. module: stock
#: code:addons/stock/stock.py:2481
@@ -646,7 +646,7 @@ msgstr ""
#. module: stock
#: model:ir.ui.menu,name:stock.menu_stock_products_moves
msgid "Receive/Deliver Products"
-msgstr ""
+msgstr "製品入荷/配送"
#. module: stock
#: field:stock.move,move_history_ids:0
@@ -698,7 +698,7 @@ msgstr "オーダー(基点)"
#. module: stock
#: model:ir.ui.menu,name:stock.menu_stock_uom_categ_form_action
msgid "Unit of Measure Categories"
-msgstr ""
+msgstr "単位カテゴリ"
#. module: stock
#: report:lot.stock.overview:0
@@ -910,7 +910,7 @@ msgstr "緊急"
#. module: stock
#: selection:stock.picking.out,state:0
msgid "Delivered"
-msgstr ""
+msgstr "配送済"
#. module: stock
#: field:stock.move,move_dest_id:0
@@ -1047,7 +1047,7 @@ msgstr ""
#. module: stock
#: view:stock.move:0
msgid "Details"
-msgstr ""
+msgstr "詳細"
#. module: stock
#: selection:stock.picking,state:0
@@ -1129,7 +1129,7 @@ msgstr "場所別の在庫"
#. module: stock
#: model:ir.ui.menu,name:stock.menu_stock_warehouse_mgmt
msgid "Receive/Deliver By Orders"
-msgstr ""
+msgstr "オーダ入荷/配送"
#. module: stock
#: view:stock.production.lot:0
@@ -1301,7 +1301,7 @@ msgstr "手動操作"
#: view:report.stock.move:0
#: field:report.stock.move,picking_id:0
msgid "Shipment"
-msgstr ""
+msgstr "出荷"
#. module: stock
#: view:stock.location:0
@@ -1546,7 +1546,7 @@ msgstr "顧客リードタイム"
#. module: stock
#: view:stock.picking:0
msgid "Additional Info"
-msgstr "付加情報"
+msgstr "追加情報"
#. module: stock
#: code:addons/stock/stock.py:2653
@@ -1604,7 +1604,7 @@ msgstr "分割"
#. module: stock
#: model:ir.actions.report.xml,name:stock.report_picking_list_out
msgid "Delivery Slip"
-msgstr ""
+msgstr "配送伝票"
#. module: stock
#: model:ir.actions.act_window,name:stock.open_board_warehouse
@@ -1869,7 +1869,7 @@ msgstr "送付商品"
#. module: stock
#: model:ir.ui.menu,name:stock.menu_product_category_config_stock
msgid "Product Categories"
-msgstr "製品分類"
+msgstr "製品カテゴリ"
#. module: stock
#: view:stock.move:0
@@ -2251,7 +2251,7 @@ msgstr "在庫のインポート"
#: field:stock.incoterms,name:0
#: field:stock.warehouse,name:0
msgid "Name"
-msgstr "名前"
+msgstr "名称"
#. module: stock
#: report:stock.picking.list:0
@@ -2474,7 +2474,7 @@ msgstr "ドラフトに設定"
#: model:ir.actions.act_window,name:stock.action_stock_journal_form
#: model:ir.ui.menu,name:stock.menu_action_stock_journal_form
msgid "Stock Journals"
-msgstr "在庫仕訳帳"
+msgstr "在庫記録簿"
#. module: stock
#: view:product.product:0
@@ -2860,7 +2860,7 @@ msgstr "在庫レベルの予測"
#: field:stock.picking.in,stock_journal_id:0
#: field:stock.picking.out,stock_journal_id:0
msgid "Stock Journal"
-msgstr "在庫仕訳帳"
+msgstr "在庫記録簿"
#. module: stock
#: code:addons/stock/wizard/stock_return_picking.py:174
@@ -2914,7 +2914,7 @@ msgstr "調達"
#: model:ir.ui.menu,name:stock.menu_action_pdct_out
#, python-format
msgid "Deliver Products"
-msgstr "製品を配送"
+msgstr "製品配送"
#. module: stock
#: view:stock.location.product:0
@@ -3062,7 +3062,7 @@ msgstr ""
#: field:stock.location,active:0
#: field:stock.tracking,active:0
msgid "Active"
-msgstr "アクティブ"
+msgstr "有効"
#. module: stock
#: view:product.template:0
@@ -3461,7 +3461,7 @@ msgstr "合計価値"
#. module: stock
#: model:ir.ui.menu,name:stock.menu_product_by_category_stock_form
msgid "Products by Category"
-msgstr "分類別製品"
+msgstr "カテゴリ別製品"
#. module: stock
#: selection:stock.picking,state:0
@@ -3839,7 +3839,7 @@ msgstr "キャンセル済"
#. module: stock
#: view:stock.picking:0
msgid "Confirmed Delivery Orders"
-msgstr "確認済配送オーダ"
+msgstr "確認済配送"
#. module: stock
#: view:stock.move:0
@@ -3916,12 +3916,12 @@ msgstr "シリアル番号改訂"
#: model:ir.ui.menu,name:stock.menu_action_picking_tree
#: view:stock.picking.out:0
msgid "Delivery Orders"
-msgstr "配送オーダ"
+msgstr "配送"
#. module: stock
#: view:stock.picking:0
msgid "Delivery orders already processed"
-msgstr "処理済配送オーダ"
+msgstr "処理済配送"
#. module: stock
#: field:product.template,loc_case:0
@@ -3993,7 +3993,7 @@ msgstr "出庫数量合計"
#: field:stock.picking.in,backorder_id:0
#: field:stock.picking.out,backorder_id:0
msgid "Back Order of"
-msgstr "バックオーダー"
+msgstr "バックオーダ繰越元"
#. module: stock
#: model:ir.model,name:stock.model_action_traceability
@@ -4013,7 +4013,7 @@ msgstr "この製品ラインの単位原価"
#: view:report.stock.move:0
#: field:report.stock.move,categ_id:0
msgid "Product Category"
-msgstr "製品分類"
+msgstr "製品カテゴリ"
#. module: stock
#: view:stock.move:0
@@ -4321,7 +4321,7 @@ msgstr "これらの棚卸を統合しますか?"
#. module: stock
#: view:stock.picking.out:0
msgid "Date of Delivery"
-msgstr ""
+msgstr "配送日"
#. module: stock
#: field:stock.location,posy:0
@@ -4813,7 +4813,7 @@ msgstr "オプション:連鎖する場合の次の在庫移動"
#. module: stock
#: view:stock.picking.out:0
msgid "Print Delivery Slip"
-msgstr ""
+msgstr "配送伝票印刷"
#. module: stock
#: view:report.stock.inventory:0
diff --git a/addons/stock_location/i18n/sl.po b/addons/stock_location/i18n/sl.po
index ca897e71ab0..892c0526a50 100644
--- a/addons/stock_location/i18n/sl.po
+++ b/addons/stock_location/i18n/sl.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: 2013-06-07 19:37+0000\n"
-"PO-Revision-Date: 2013-11-21 11:37+0000\n"
+"PO-Revision-Date: 2013-12-07 09:03+0000\n"
"Last-Translator: Darja Zorman \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: 2013-11-22 06:03+0000\n"
-"X-Generator: Launchpad (build 16831)\n"
+"X-Launchpad-Export-Date: 2013-12-08 05:46+0000\n"
+"X-Generator: Launchpad (build 16869)\n"
#. module: stock_location
#: help:product.pulled.flow,company_id:0
@@ -364,7 +364,7 @@ msgstr ""
#. module: stock_location
#: model:stock.location,name:stock_location.location_order
msgid "Order Processing"
-msgstr ""
+msgstr "Procesiranje nalogov"
#. module: stock_location
#: field:stock.location.path,name:0
diff --git a/addons/web/i18n/et.po b/addons/web/i18n/et.po
index d023c2cf08f..c0b83d8bd2f 100644
--- a/addons/web/i18n/et.po
+++ b/addons/web/i18n/et.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openerp-web\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2013-06-07 19:37+0000\n"
-"PO-Revision-Date: 2013-04-25 14:18+0000\n"
-"Last-Translator: Illimar Saatväli \n"
+"PO-Revision-Date: 2013-11-25 22:46+0000\n"
+"Last-Translator: Ott Maaten \n"
"Language-Team: Estonian \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-06-08 07:49+0000\n"
-"X-Generator: Launchpad (build 16667)\n"
+"X-Launchpad-Export-Date: 2013-11-26 06:07+0000\n"
+"X-Generator: Launchpad (build 16840)\n"
#. module: web
#. openerp-web
@@ -264,14 +264,14 @@ msgstr "Vidina tüüp '% s' ei ole rakendatud"
#: code:addons/web/static/src/xml/base.xml:134
#, python-format
msgid "e.g. mycompany"
-msgstr ""
+msgstr "näit minufirma"
#. module: web
#. openerp-web
#: code:addons/web/static/src/js/view_list_editable.js:793
#, python-format
msgid "The form's data can not be discarded"
-msgstr ""
+msgstr "Vormi andmed tuleb salvestada"
#. module: web
#. openerp-web
@@ -286,7 +286,7 @@ msgstr "Vorm"
#: code:addons/web/static/src/xml/base.xml:1352
#, python-format
msgid "(no string)"
-msgstr ""
+msgstr "(ei ole rida)"
#. module: web
#. openerp-web
@@ -469,7 +469,7 @@ msgstr "Keeled"
#: code:addons/web/static/src/js/view_form.js:2438
#, python-format
msgid "Show the next month"
-msgstr ""
+msgstr "Näita järgmist kuud"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/fi.po b/addons/web/i18n/fi.po
index 58f0daeb8ba..c6cbeadf257 100644
--- a/addons/web/i18n/fi.po
+++ b/addons/web/i18n/fi.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openerp-web\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2013-06-07 19:37+0000\n"
-"PO-Revision-Date: 2013-10-17 16:10+0000\n"
-"Last-Translator: Miku Laitinen \n"
+"PO-Revision-Date: 2013-12-06 16:04+0000\n"
+"Last-Translator: Harri Luuppala \n"
"Language-Team: Finnish \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-10-18 06:11+0000\n"
-"X-Generator: Launchpad (build 16799)\n"
+"X-Launchpad-Export-Date: 2013-12-07 06:32+0000\n"
+"X-Generator: Launchpad (build 16869)\n"
#. module: web
#. openerp-web
@@ -36,7 +36,7 @@ msgstr "%d minuuttia sitten"
#: code:addons/web/static/src/js/coresetup.js:620
#, python-format
msgid "Still loading...
Please be patient."
-msgstr "Ladataan...
Olkaa hyvä ja odottakaa."
+msgstr "Ladataan edelleen...
Ole hyvä ja odota."
#. module: web
#. openerp-web
@@ -66,6 +66,11 @@ msgid ""
"created,\n"
" you will be able to install your first application."
msgstr ""
+"Täytä tämä lomake luodaksesi OpenERP-tietokannan. Voit luoda\n"
+" tietokantoja eri yrityksille tai eri tarpeisiin (testi, "
+"tuotanto).\n"
+" Kun tietokanta on luotu, voit asentaa ensimmäisen "
+"sovelluksesi."
#. module: web
#. openerp-web
@@ -88,7 +93,7 @@ msgstr "Vaihda pääsalasana"
#: code:addons/web/static/src/js/view_form.js:2439
#, python-format
msgid "Today"
-msgstr ""
+msgstr "Tänään"
#. module: web
#. openerp-web
@@ -116,7 +121,7 @@ msgstr "Pääsy evätty"
#: code:addons/web/static/src/js/view_form.js:2462
#, python-format
msgid "Now"
-msgstr ""
+msgstr "Nyt"
#. module: web
#. openerp-web
@@ -130,7 +135,7 @@ msgstr "noin tunti sitten"
#: code:addons/web/static/src/js/view_form.js:2446
#, python-format
msgid "Week of the year"
-msgstr ""
+msgstr "Viikkonumero"
#. module: web
#. openerp-web
@@ -161,7 +166,7 @@ msgstr "\"%s\" ei ole kelvollinen päivämäärä"
#: code:addons/web/static/src/js/view_form.js:2437
#, python-format
msgid "Next>"
-msgstr ""
+msgstr "Seuraava >"
#. module: web
#. openerp-web
@@ -219,7 +224,7 @@ msgstr "Valitse"
#: code:addons/web/static/src/js/chrome.js:571
#, python-format
msgid "Database restored successfully"
-msgstr "Tietokanta palautettu"
+msgstr "Tietokanta palautettu onnistuneesti"
#. module: web
#. openerp-web
@@ -233,28 +238,28 @@ msgstr "Versio"
#: code:addons/web/static/src/xml/base.xml:592
#, python-format
msgid "Latest Modification Date:"
-msgstr "Viimeisin muutospäivämäärä:"
+msgstr "Viimeisin muokkauspäivä:"
#. module: web
#. openerp-web
#: code:addons/web/static/src/js/search.js:1566
#, python-format
msgid "M2O search fields do not currently handle multiple default values"
-msgstr "Monesta yhteen hakukentät eivät salli useita oletusarvoja."
+msgstr "Monesta-yhteen -hakukentät eivät salli useita oletusarvoja."
#. module: web
#. openerp-web
#: code:addons/web/static/src/js/view_form.js:1241
#, python-format
msgid "Widget type '%s' is not implemented"
-msgstr "Pienohjelman tyyppiä '%s' ei ole asennettu"
+msgstr "Sovelmatyyppiä \"%s\" ei ole asennettu"
#. module: web
#. openerp-web
#: code:addons/web/static/src/xml/base.xml:134
#, python-format
msgid "e.g. mycompany"
-msgstr ""
+msgstr "esim. omayritys"
#. module: web
#. openerp-web
@@ -425,14 +430,14 @@ msgstr "Ryhmä"
#: code:addons/web/static/src/js/view_form.js:2445
#, python-format
msgid "Wk"
-msgstr ""
+msgstr "Vko"
#. module: web
#. openerp-web
#: code:addons/web/static/src/xml/base.xml:949
#, python-format
msgid "Unhandled widget"
-msgstr "Käsittelemätön widgetti"
+msgstr "Käsittelemätön sovelma"
#. module: web
#. openerp-web
@@ -459,7 +464,7 @@ msgstr "Kielet"
#: code:addons/web/static/src/js/view_form.js:2438
#, python-format
msgid "Show the next month"
-msgstr ""
+msgstr "Näytä seuraava kuukausi"
#. module: web
#. openerp-web
@@ -579,7 +584,7 @@ msgstr "alle minuutti sitten"
#: code:addons/web/static/src/js/view_form.js:2453
#, python-format
msgid "Select a date"
-msgstr ""
+msgstr "Valitse päivä"
#. module: web
#. openerp-web
@@ -593,7 +598,7 @@ msgstr "Ehto:"
#: code:addons/web/static/src/js/view_form.js:2458
#, python-format
msgid "Time"
-msgstr ""
+msgstr "Aika"
#. module: web
#. openerp-web
@@ -817,7 +822,7 @@ msgstr "Tallenna & Uusi"
#: code:addons/web/static/src/js/view_form.js:2432
#, python-format
msgid "Erase the current date"
-msgstr ""
+msgstr "Poista valittu päivä"
#. module: web
#. openerp-web
@@ -832,7 +837,7 @@ msgstr "Tallenna nimellä"
#: code:addons/web/static/src/xml/base.xml:109
#, python-format
msgid "Create a New Database"
-msgstr ""
+msgstr "Luo uusi tietokanta"
#. module: web
#. openerp-web
@@ -853,7 +858,7 @@ msgstr "päivä sitten"
#: code:addons/web/static/src/xml/base.xml:138
#, python-format
msgid "Load demonstration data:"
-msgstr ""
+msgstr "Lataa esittelydata:"
#. module: web
#. openerp-web
@@ -894,7 +899,7 @@ msgstr "Etsi: "
#: code:addons/web/static/src/xml/base.xml:141
#, python-format
msgid "Check this box to evaluate OpenERP."
-msgstr ""
+msgstr "Valitse tämä valintaruutu koekäyttääksesi OpenERP:iä."
#. module: web
#. openerp-web
@@ -981,7 +986,7 @@ msgstr "Asetukset"
#: code:addons/web/static/src/xml/base.xml:1704
#, python-format
msgid "Only export selection:"
-msgstr ""
+msgstr "Vaihtoehtona vain vie-valinta:"
#. module: web
#. openerp-web
@@ -1072,14 +1077,14 @@ msgstr "Salasana vaihdettu"
#: code:addons/web/static/src/js/view_form.js:2379
#, python-format
msgid "Resource Error"
-msgstr ""
+msgstr "Resurssivirhe"
#. module: web
#. openerp-web
#: code:addons/web/static/src/js/view_form.js:2459
#, python-format
msgid "Hour"
-msgstr ""
+msgstr "Tunti"
#. module: web
#. openerp-web
@@ -1109,7 +1114,7 @@ msgstr "Poista"
#: code:addons/web/static/src/xml/base.xml:425
#, python-format
msgid "My OpenERP.com account"
-msgstr ""
+msgstr "Oma OpenERP.com -tilini"
#. module: web
#. openerp-web
@@ -1195,14 +1200,14 @@ msgstr "Etsi"
#: code:addons/web/static/src/js/view_form.js:2435
#, python-format
msgid "\n"
"POT-Creation-Date: 2013-06-07 19:37+0000\n"
-"PO-Revision-Date: 2013-11-21 03:38+0000\n"
+"PO-Revision-Date: 2013-11-28 11:11+0000\n"
"Last-Translator: Yoshi Tashiro \n"
"Language-Team: Japanese \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-11-22 06:03+0000\n"
-"X-Generator: Launchpad (build 16831)\n"
+"X-Launchpad-Export-Date: 2013-11-29 05:30+0000\n"
+"X-Generator: Launchpad (build 16847)\n"
#. module: web
#. openerp-web
@@ -36,7 +36,7 @@ msgstr "%d分前"
#: code:addons/web/static/src/js/coresetup.js:620
#, python-format
msgid "Still loading...
Please be patient."
-msgstr "ロード中です...
今しばらくお待ちください。"
+msgstr "引き続き読込中...
今しばらくお待ちください。"
#. module: web
#. openerp-web
@@ -530,7 +530,7 @@ msgstr "開発者モードを有効化"
#: code:addons/web/static/src/js/chrome.js:341
#, python-format
msgid "Loading (%d)"
-msgstr "ロード中 (%d)"
+msgstr "読込中(%d)"
#. module: web
#. openerp-web
@@ -649,7 +649,7 @@ msgstr "は次ではない"
#: code:addons/web/static/src/xml/base.xml:572
#, python-format
msgid "Print Workflow"
-msgstr ""
+msgstr "印刷ワークフロー"
#. module: web
#. openerp-web
@@ -670,7 +670,7 @@ msgstr "UTF-8"
#: code:addons/web/static/src/xml/base.xml:443
#, python-format
msgid "For more information visit"
-msgstr "もっと詳しい情報はこちらへ"
+msgstr "詳細の確認はこちらにて:"
#. module: web
#. openerp-web
@@ -1082,7 +1082,7 @@ msgstr ""
#: code:addons/web/static/src/xml/base.xml:555
#, python-format
msgid "Debug View#"
-msgstr "ビューをデバッグ"
+msgstr "デバッグ対象ビュー#"
#. module: web
#. openerp-web
@@ -1376,7 +1376,7 @@ msgstr ""
#: code:addons/web/static/src/xml/base.xml:442
#, python-format
msgid "Licenced under the terms of"
-msgstr "ライセンスに準拠"
+msgstr "準拠ライセンス:"
#. module: web
#. openerp-web
@@ -2568,7 +2568,7 @@ msgstr "条件追加"
#: code:addons/web/static/src/js/coresetup.js:619
#, python-format
msgid "Still loading..."
-msgstr ""
+msgstr "引き続き読込..."
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/ro.po b/addons/web/i18n/ro.po
index c8dc4ac66b4..561c4e71c06 100644
--- a/addons/web/i18n/ro.po
+++ b/addons/web/i18n/ro.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openerp-web\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2013-06-07 19:37+0000\n"
-"PO-Revision-Date: 2013-04-17 17:57+0000\n"
+"PO-Revision-Date: 2013-12-07 04:14+0000\n"
"Last-Translator: Dorin \n"
"Language-Team: Romanian \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-06-08 07:50+0000\n"
-"X-Generator: Launchpad (build 16667)\n"
+"X-Launchpad-Export-Date: 2013-12-08 05:46+0000\n"
+"X-Generator: Launchpad (build 16869)\n"
#. module: web
#. openerp-web
@@ -88,7 +88,7 @@ msgstr "Schimbă parola principală"
#: code:addons/web/static/src/js/view_form.js:2439
#, python-format
msgid "Today"
-msgstr "Astazi"
+msgstr "Astăzi"
#. module: web
#. openerp-web
@@ -130,7 +130,7 @@ msgstr "aproximativ o oră în urmă"
#: code:addons/web/static/src/js/view_form.js:2446
#, python-format
msgid "Week of the year"
-msgstr "Saptamana din an"
+msgstr "Saptămâna din an"
#. module: web
#. openerp-web
@@ -161,7 +161,7 @@ msgstr "'%s' nu este o dată validă"
#: code:addons/web/static/src/js/view_form.js:2437
#, python-format
msgid "Next>"
-msgstr "Urmator>"
+msgstr "Următor>"
#. module: web
#. openerp-web
@@ -212,7 +212,7 @@ msgstr "Parolă Administrator:"
#: code:addons/web/static/src/xml/base.xml:1402
#, python-format
msgid "Select"
-msgstr "Selectează"
+msgstr "Selectați"
#. module: web
#. openerp-web
@@ -474,7 +474,7 @@ msgstr "...Descărcare în curs..."
#: code:addons/web/static/src/xml/base.xml:1789
#, python-format
msgid "Import"
-msgstr "Importă"
+msgstr "Importați"
#. module: web
#. openerp-web
@@ -580,7 +580,7 @@ msgstr "cu mai puțin de un minut în urmă"
#: code:addons/web/static/src/js/view_form.js:2453
#, python-format
msgid "Select a date"
-msgstr "Selectati o data"
+msgstr "Selectați o data"
#. module: web
#. openerp-web
@@ -834,7 +834,7 @@ msgstr "Salvează ca"
#: code:addons/web/static/src/xml/base.xml:109
#, python-format
msgid "Create a New Database"
-msgstr ""
+msgstr "Creează o Bază de Date Nouă"
#. module: web
#. openerp-web
@@ -1664,7 +1664,7 @@ msgstr "nu conține"
#: code:addons/web/static/src/xml/base.xml:1806
#, python-format
msgid "Import Options"
-msgstr "Importă Opțiuni"
+msgstr "Opțiuni Import"
#. module: web
#. openerp-web
@@ -1685,14 +1685,14 @@ msgstr "Inchideti fara modificari"
#: code:addons/web/static/src/xml/base.xml:159
#, python-format
msgid "Choose a password:"
-msgstr ""
+msgstr "Alegeți o parolă:"
#. module: web
#. openerp-web
#: code:addons/web/static/src/js/view_form.js:2451
#, python-format
msgid "Select D, M d"
-msgstr "Selectati ziua, luna, an"
+msgstr "Selectați ziua, luna, an"
#. module: web
#. openerp-web
@@ -1827,7 +1827,7 @@ msgstr "---Nu Importa ---"
#: code:addons/web/static/src/xml/base.xml:1697
#, python-format
msgid "Import-Compatible Export"
-msgstr "Import-Export Compatibil"
+msgstr "Compatibil Import-Export"
#. module: web
#. openerp-web
@@ -2244,7 +2244,7 @@ msgstr "Ștergeți"
#: code:addons/web/static/src/xml/base.xml:132
#, python-format
msgid "Select a database name:"
-msgstr ""
+msgstr "Selectați numele bazei de date"
#. module: web
#. openerp-web
@@ -2844,7 +2844,7 @@ msgstr "Elimină"
#: code:addons/web/static/src/xml/base.xml:1090
#, python-format
msgid "Select date"
-msgstr "Selectează data"
+msgstr "Selectați data"
#. module: web
#. openerp-web
diff --git a/addons/web_gantt/i18n/lo.po b/addons/web_gantt/i18n/lo.po
index 4ec9b70502b..e9f8bf9b6a7 100644
--- a/addons/web_gantt/i18n/lo.po
+++ b/addons/web_gantt/i18n/lo.po
@@ -8,25 +8,25 @@ msgstr ""
"Project-Id-Version: openerp-web\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2013-06-07 19:37+0000\n"
-"PO-Revision-Date: 2012-12-21 23:00+0000\n"
-"Last-Translator: Brice Muangkhot ສຸພາ ເມືອງໂຄຕ \n"
+"PO-Revision-Date: 2013-11-25 04:29+0000\n"
+"Last-Translator: Anousak \n"
"Language-Team: Lao \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-06-08 07:50+0000\n"
-"X-Generator: Launchpad (build 16667)\n"
+"X-Launchpad-Export-Date: 2013-11-26 06:07+0000\n"
+"X-Generator: Launchpad (build 16840)\n"
#. module: web_gantt
#. openerp-web
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
#, python-format
msgid "Create"
-msgstr "ສ້າງຂື້ນ"
+msgstr "ເເກ້ນ"
#. module: web_gantt
#. openerp-web
#: code:addons/web_gantt/static/src/js/gantt.js:11
#, python-format
msgid "Gantt"
-msgstr "ກັນຕໍ່"
+msgstr "ເເກ້ນ"
diff --git a/addons/web_kanban/i18n/ja.po b/addons/web_kanban/i18n/ja.po
index 2bed7b24c18..d59fa62dcba 100644
--- a/addons/web_kanban/i18n/ja.po
+++ b/addons/web_kanban/i18n/ja.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openerp-web\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2013-06-07 19:38+0000\n"
-"PO-Revision-Date: 2013-11-10 05:14+0000\n"
+"PO-Revision-Date: 2013-11-24 08:36+0000\n"
"Last-Translator: Yoshi Tashiro \n"
"Language-Team: Japanese \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-11-11 05:39+0000\n"
-"X-Generator: Launchpad (build 16820)\n"
+"X-Launchpad-Export-Date: 2013-11-25 06:01+0000\n"
+"X-Generator: Launchpad (build 16831)\n"
#. module: web_kanban
#. openerp-web
@@ -86,7 +86,7 @@ msgstr "カラムを追加"
#: code:addons/web_kanban/static/src/xml/web_kanban.xml:45
#, python-format
msgid "Fold"
-msgstr ""
+msgstr "折畳"
#. module: web_kanban
#. openerp-web
@@ -114,7 +114,7 @@ msgstr "このレコードを削除しますか?"
#: code:addons/web_kanban/static/src/js/kanban.js:680
#, python-format
msgid "Unfold"
-msgstr ""
+msgstr "展開"
#. module: web_kanban
#. openerp-web
diff --git a/addons/web_view_editor/i18n/nl.po b/addons/web_view_editor/i18n/nl.po
index f6a17cf0d36..c339f47a6b3 100644
--- a/addons/web_view_editor/i18n/nl.po
+++ b/addons/web_view_editor/i18n/nl.po
@@ -8,21 +8,21 @@ msgstr ""
"Project-Id-Version: openerp-web\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2013-06-07 19:38+0000\n"
-"PO-Revision-Date: 2012-12-21 23:00+0000\n"
-"Last-Translator: Erwin van der Ploeg (Endian Solutions) \n"
+"PO-Revision-Date: 2013-11-26 13:17+0000\n"
+"Last-Translator: Jan Jurkus (GCE CAD-Service) \n"
"Language-Team: Dutch \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-06-08 07:51+0000\n"
-"X-Generator: Launchpad (build 16667)\n"
+"X-Launchpad-Export-Date: 2013-11-27 05:39+0000\n"
+"X-Generator: Launchpad (build 16845)\n"
#. module: web_view_editor
#. openerp-web
#: code:addons/web_view_editor/static/src/js/view_editor.js:164
#, python-format
msgid "The following fields are invalid :"
-msgstr "De volgende velden zijn ongeldig."
+msgstr "De volgende velden zijn ongeldig:"
#. module: web_view_editor
#. openerp-web
@@ -129,7 +129,7 @@ msgstr "Kan huidige weergave declaratie niet vinden"
#: code:addons/web_view_editor/static/src/js/view_editor.js:383
#, python-format
msgid "Inherited View"
-msgstr "Afgeleide weergave"
+msgstr "Overerfde weergave"
#. module: web_view_editor
#. openerp-web
diff --git a/openerp/addons/base/i18n/lv.po b/openerp/addons/base/i18n/lv.po
index e590a43ae33..396435687cb 100644
--- a/openerp/addons/base/i18n/lv.po
+++ b/openerp/addons/base/i18n/lv.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-server\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2013-06-07 19:35+0000\n"
-"PO-Revision-Date: 2013-03-10 11:54+0000\n"
-"Last-Translator: Arnis Putniņš \n"
+"PO-Revision-Date: 2013-12-07 17:05+0000\n"
+"Last-Translator: Normunds (Alistek) \n"
"Language-Team: Latvian \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-10-08 06:13+0000\n"
-"X-Generator: Launchpad (build 16799)\n"
+"X-Launchpad-Export-Date: 2013-12-08 05:45+0000\n"
+"X-Generator: Launchpad (build 16869)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing
@@ -180,7 +180,7 @@ msgstr ""
#. module: base
#: model:ir.module.module,shortdesc:base.module_sale_analytic_plans
msgid "Sales Analytic Distribution"
-msgstr ""
+msgstr "Pāŗdošanas Analītika"
#. module: base
#: model:ir.module.module,description:base.module_hr_timesheet_invoice
@@ -307,7 +307,7 @@ msgstr ""
#. module: base
#: model:res.groups,name:base.group_multi_currency
msgid "Multi Currencies"
-msgstr ""
+msgstr "MultiValūtas"
#. module: base
#: model:ir.module.module,description:base.module_l10n_cl
@@ -433,7 +433,7 @@ msgstr ""
#. module: base
#: field:ir.module.category,child_ids:0
msgid "Child Applications"
-msgstr ""
+msgstr "Apakšaplikācijas"
#. module: base
#: field:res.partner,credit_limit:0
@@ -504,6 +504,7 @@ msgid ""
"One of the records you are trying to modify has already been deleted "
"(Document type: %s)."
msgstr ""
+"Kāds no ierakstiem, ko mēģināt labot ir jau dzēsts (Dokumenta Tips: %s)."
#. module: base
#: help:ir.actions.act_window,views:0
@@ -562,7 +563,7 @@ msgstr ""
#. module: base
#: view:workflow.transition:0
msgid "Workflow Transition"
-msgstr ""
+msgstr "Darbplūsmas Pāreja"
#. module: base
#: model:res.country,name:base.gf
@@ -639,7 +640,7 @@ msgstr "Spāņu (VE) / Español (VE)"
#. module: base
#: model:ir.module.module,shortdesc:base.module_hr_timesheet_invoice
msgid "Invoice on Timesheets"
-msgstr ""
+msgstr "Rēķinu piestādīšana pēc darba tabelēm"
#. module: base
#: view:base.module.upgrade:0
@@ -665,7 +666,7 @@ msgstr "Kolumbija"
#. module: base
#: model:res.partner.title,name:base.res_partner_title_mister
msgid "Mister"
-msgstr ""
+msgstr "Kungs"
#. module: base
#: help:res.country,code:0
@@ -689,7 +690,7 @@ msgstr "Tirdzniecība un Iepirkumi"
#. module: base
#: view:res.partner:0
msgid "Put an internal note..."
-msgstr ""
+msgstr "Iekšējā piezīme..."
#. module: base
#: view:ir.translation:0
@@ -699,7 +700,7 @@ msgstr "Neiztulkots"
#. module: base
#: view:ir.mail_server:0
msgid "Outgoing Mail Server"
-msgstr ""
+msgstr "Izejošā Pasta Serveris"
#. module: base
#: help:ir.actions.act_window,context:0
@@ -787,6 +788,9 @@ msgid ""
"Contains the installer for marketing-related modules.\n"
" "
msgstr ""
+"\n"
+"Izvēlne Mārketingam.\n"
+" "
#. module: base
#: model:ir.module.module,description:base.module_web_linkedin
@@ -847,7 +851,7 @@ msgstr "Automatizētas darbības"
#. module: base
#: model:ir.module.module,shortdesc:base.module_l10n_ro
msgid "Romania - Accounting"
-msgstr ""
+msgstr "Rumānija - Grāmatvedība"
#. module: base
#: model:ir.model,name:base.model_res_config_settings
@@ -881,7 +885,7 @@ msgstr "Drošība un Autentifikācija"
#. module: base
#: model:ir.module.module,shortdesc:base.module_web_calendar
msgid "Web Calendar"
-msgstr ""
+msgstr "Web Kalendārs"
#. module: base
#: selection:base.language.install,lang:0
@@ -919,7 +923,7 @@ msgstr "Aizstāt Esošos Nosacījumus"
#: code:addons/base/res/res_currency.py:52
#, python-format
msgid "No currency rate associated for currency %d for the given period"
-msgstr ""
+msgstr "Valūtai %d nav kursa attiecīgajā periodā"
#. module: base
#: model:ir.module.module,description:base.module_hr_holidays
@@ -979,12 +983,12 @@ msgstr ""
#. module: base
#: model:ir.module.module,shortdesc:base.module_document_webdav
msgid "Shared Repositories (WebDAV)"
-msgstr ""
+msgstr "Koplietošanas Krātuves (WebDAV)"
#. module: base
#: view:res.users:0
msgid "Email Preferences"
-msgstr ""
+msgstr "E-pasta Uzstādījumi"
#. module: base
#: code:addons/base/ir/ir_fields.py:195
@@ -1036,7 +1040,7 @@ msgstr "Moduļu atjaunināšana"
#: view:res.partner.bank:0
#: view:res.users:0
msgid "ZIP"
-msgstr ""
+msgstr "PASTA KODS"
#. module: base
#: selection:base.language.install,lang:0
@@ -1056,7 +1060,7 @@ msgstr "Omāna"
#. module: base
#: model:ir.module.module,shortdesc:base.module_mrp
msgid "MRP"
-msgstr ""
+msgstr "Ražošana"
#. module: base
#: model:ir.module.module,description:base.module_hr_attendance
@@ -1078,7 +1082,7 @@ msgstr "Niue"
#. module: base
#: model:ir.module.module,shortdesc:base.module_membership
msgid "Membership Management"
-msgstr ""
+msgstr "Biedru Pārvaldība"
#. module: base
#: selection:ir.module.module,license:0
@@ -1088,7 +1092,7 @@ msgstr "Cita OSI apstiprināta licence"
#. module: base
#: model:ir.module.module,shortdesc:base.module_web_gantt
msgid "Web Gantt"
-msgstr ""
+msgstr "WWW Gant Diagramma"
#. module: base
#: model:ir.actions.act_window,name:base.act_menu_create
@@ -1115,7 +1119,7 @@ msgstr "Google Lietotāji"
#. module: base
#: model:ir.module.module,shortdesc:base.module_fleet
msgid "Fleet Management"
-msgstr ""
+msgstr "Autoparka Vadība"
#. module: base
#: help:ir.server.object.lines,value:0
@@ -1197,7 +1201,7 @@ msgstr ""
#. module: base
#: view:res.users:0
msgid "Change the user password."
-msgstr ""
+msgstr "Mainīt lietotāja paroli."
#. module: base
#: view:res.lang:0
@@ -1292,7 +1296,7 @@ msgstr "Valsts nosaukumam jābūt unikālam!"
#. module: base
#: field:ir.module.module,installed_version:0
msgid "Latest Version"
-msgstr ""
+msgstr "Jaunākā versija"
#. module: base
#: view:ir.rule:0
@@ -1339,7 +1343,7 @@ msgstr ""
#: code:addons/orm.py:4920
#, python-format
msgid "Record #%d of %s not found, cannot copy!"
-msgstr ""
+msgstr "Ieraksts #%d %s nav atrasts, nevar kopēt!"
#. module: base
#: field:ir.module.module,contributors:0
@@ -1359,7 +1363,7 @@ msgstr "Char"
#. module: base
#: field:ir.module.category,visible:0
msgid "Visible"
-msgstr ""
+msgstr "Redzams"
#. module: base
#: model:ir.actions.client,name:base.action_client_base_menu
@@ -1409,7 +1413,7 @@ msgstr "Spāņu (GT) / Español (GT)"
#. module: base
#: field:ir.mail_server,smtp_port:0
msgid "SMTP Port"
-msgstr ""
+msgstr "SMTP Ports"
#. module: base
#: help:res.users,login:0
@@ -1441,7 +1445,7 @@ msgstr ""
#: code:addons/base/module/wizard/base_language_install.py:53
#, python-format
msgid "Language Pack"
-msgstr ""
+msgstr "Valodu Paka"
#. module: base
#: model:ir.module.module,shortdesc:base.module_web_tests
@@ -1451,7 +1455,7 @@ msgstr "Pārbaudes"
#. module: base
#: field:ir.actions.report.xml,attachment:0
msgid "Save as Attachment Prefix"
-msgstr ""
+msgstr "Saglabāt kā pielikuma Prefiksu."
#. module: base
#: field:ir.ui.view_sc,res_id:0
@@ -1509,7 +1513,7 @@ msgstr ""
#. module: base
#: field:ir.module.category,parent_id:0
msgid "Parent Application"
-msgstr ""
+msgstr "Galvenā Aplikācija"
#. module: base
#: model:ir.actions.act_window,name:base.ir_action_wizard
@@ -1527,12 +1531,12 @@ msgstr "Darbība atcelta"
#. module: base
#: model:ir.module.module,shortdesc:base.module_document
msgid "Document Management System"
-msgstr ""
+msgstr "Dokumentu Pārvaldes Sistēma"
#. module: base
#: model:ir.module.module,shortdesc:base.module_crm_claim
msgid "Claims Management"
-msgstr ""
+msgstr "Klientu pieteikumu Vadība"
#. module: base
#: model:ir.module.module,description:base.module_document_webdav
@@ -2059,6 +2063,8 @@ msgstr "Kreisais vecāks"
#: model:ir.module.module,shortdesc:base.module_project_mrp
msgid "Create Tasks on SO"
msgstr ""
+"Veidot uzdevumus projektu vadības modulī, kas bāzēti uz tirdzniecības "
+"pasūtījumiem"
#. module: base
#: code:addons/base/ir/ir_model.py:320
@@ -2069,7 +2075,7 @@ msgstr ""
#. module: base
#: field:res.partner.bank,footer:0
msgid "Display on Reports"
-msgstr ""
+msgstr "Attēlot Atskaitēs"
#. module: base
#: model:ir.module.module,description:base.module_project_timesheet
@@ -2156,7 +2162,7 @@ msgstr "%s (kopēt)"
#. module: base
#: model:ir.module.module,shortdesc:base.module_account_chart
msgid "Template of Charts of Accounts"
-msgstr ""
+msgstr "Kontu plānu veidne"
#. module: base
#: field:res.partner,type:0
@@ -2274,7 +2280,7 @@ msgstr ""
#. module: base
#: model:ir.module.module,shortdesc:base.module_subscription
msgid "Recurring Documents"
-msgstr ""
+msgstr "Dokumenti, kas periodiski atkārtojas"
#. module: base
#: model:res.country,name:base.bs
@@ -2477,7 +2483,7 @@ msgstr ""
#: code:addons/orm.py:3843
#, python-format
msgid "A document was modified since you last viewed it (%s:%d)"
-msgstr ""
+msgstr "Dokuments ir modificēts, kopš pēdējās apskates (%s:%d)"
#. module: base
#: view:workflow:0
@@ -2546,7 +2552,7 @@ msgstr "Grupas (ja nav = globāla)"
#. module: base
#: view:ir.module.module:0
msgid "Extra"
-msgstr ""
+msgstr "Papildus"
#. module: base
#: model:res.country,name:base.st
@@ -2725,12 +2731,12 @@ msgstr "Angilja"
#. module: base
#: model:ir.actions.report.xml,name:base.report_ir_model_overview
msgid "Model Overview"
-msgstr ""
+msgstr "Modelis"
#. module: base
#: model:ir.module.module,shortdesc:base.module_product_margin
msgid "Margins by Products"
-msgstr ""
+msgstr "Peļņa pēc Produktiem"
#. module: base
#: model:ir.ui.menu,name:base.menu_invoiced
@@ -2823,7 +2829,7 @@ msgstr ""
#: field:ir.translation,res_id:0
#: field:ir.values,res_id:0
msgid "Record ID"
-msgstr ""
+msgstr "Ieraksta ID"
#. module: base
#: field:ir.actions.server,email:0
@@ -3002,7 +3008,7 @@ msgstr ""
#. module: base
#: view:res.groups:0
msgid "Inherited"
-msgstr ""
+msgstr "Mantotais"
#. module: base
#: code:addons/base/ir/ir_fields.py:146
@@ -3283,7 +3289,7 @@ msgstr "Kuba"
#: code:addons/report_sxw.py:443
#, python-format
msgid "Unknown report type: %s"
-msgstr ""
+msgstr "Nezināms atskaites tips: %s"
#. module: base
#: model:ir.module.module,summary:base.module_hr_expense
@@ -3480,7 +3486,7 @@ msgstr ""
#. module: base
#: model:res.groups,name:base.group_survey_user
msgid "Survey / User"
-msgstr ""
+msgstr "Aptauja / Lietotājs"
#. module: base
#: view:ir.module.module:0
@@ -3536,7 +3542,7 @@ msgstr "Kontaktpersonu Uzrunas"
#. module: base
#: model:ir.module.module,shortdesc:base.module_product_manufacturer
msgid "Products Manufacturers"
-msgstr ""
+msgstr "Produktu Ražotāji"
#. module: base
#: code:addons/base/ir/ir_mail_server.py:240
@@ -3783,7 +3789,7 @@ msgstr "Majota"
#. module: base
#: model:ir.module.module,shortdesc:base.module_crm_todo
msgid "Tasks on CRM"
-msgstr ""
+msgstr "Uzdevumi bāzēti uz CRM"
#. module: base
#: model:ir.module.category,name:base.module_category_generic_modules_accounting
@@ -3917,7 +3923,7 @@ msgstr ""
#. module: base
#: selection:ir.sequence,implementation:0
msgid "Standard"
-msgstr ""
+msgstr "Standarta"
#. module: base
#: model:res.country,name:base.ru
@@ -4272,7 +4278,7 @@ msgstr "Portugāle"
#. module: base
#: model:ir.module.module,shortdesc:base.module_share
msgid "Share any Document"
-msgstr ""
+msgstr "Koplietot jebkuru dokumentu"
#. module: base
#: field:workflow.transition,group_id:0
@@ -4343,7 +4349,7 @@ msgstr "Xor"
#. module: base
#: model:ir.module.category,name:base.module_category_localization_account_charts
msgid "Account Charts"
-msgstr ""
+msgstr "Kontu Plāni"
#. module: base
#: model:ir.ui.menu,name:base.menu_event_main
@@ -4445,7 +4451,7 @@ msgstr "Kopsavilkums"
#. module: base
#: model:ir.module.category,name:base.module_category_hidden_dependency
msgid "Dependency"
-msgstr ""
+msgstr "Atkarīgie moduļi"
#. module: base
#: model:ir.module.module,description:base.module_portal
@@ -4534,7 +4540,7 @@ msgstr "Darbību izraisošais Objekts"
#. module: base
#: sql_constraint:ir.sequence.type:0
msgid "`code` must be unique."
-msgstr ""
+msgstr "'kods' laukam jābūt unikālam."
#. module: base
#: code:addons/base/ir/workflow/workflow.py:99
@@ -4592,7 +4598,7 @@ msgstr ""
#. module: base
#: model:ir.module.module,shortdesc:base.module_project_timesheet
msgid "Bill Time on Tasks"
-msgstr ""
+msgstr "Izrakstīt rēķinus par patērēto laiku"
#. module: base
#: model:ir.module.category,name:base.module_category_marketing
@@ -4888,7 +4894,7 @@ msgstr ""
#. module: base
#: model:ir.module.category,description:base.module_category_marketing
msgid "Helps you manage your marketing campaigns step by step."
-msgstr ""
+msgstr "Palīdz pārvaldīt mārketinga kampaņas soli pa solim."
#. module: base
#: selection:base.language.install,lang:0
@@ -4940,7 +4946,7 @@ msgstr "Noteikumi"
#. module: base
#: field:ir.mail_server,smtp_host:0
msgid "SMTP Server"
-msgstr ""
+msgstr "SMTP serveris"
#. module: base
#: code:addons/base/module/module.py:320
@@ -4952,7 +4958,7 @@ msgstr ""
#. module: base
#: view:base.module.upgrade:0
msgid "The selected modules have been updated / installed !"
-msgstr ""
+msgstr "Izvēlētie moduļi ir atjaunināti / uzinstalēti!"
#. module: base
#: selection:base.language.install,lang:0
@@ -5106,7 +5112,7 @@ msgstr ""
#. module: base
#: model:ir.module.module,shortdesc:base.module_crm_partner_assign
msgid "Partners Geo-Localization"
-msgstr ""
+msgstr "Partneru Ģeo-lokācija"
#. module: base
#: model:res.country,name:base.ke
@@ -5117,7 +5123,7 @@ msgstr "Kenija"
#: model:ir.actions.act_window,name:base.action_translation
#: model:ir.ui.menu,name:base.menu_action_translation
msgid "Translated Terms"
-msgstr ""
+msgstr "Tulkotie Termini"
#. module: base
#: selection:base.language.install,lang:0
@@ -5184,7 +5190,7 @@ msgstr "Benina"
#: model:ir.actions.act_window,name:base.action_res_partner_bank_type_form
#: model:ir.ui.menu,name:base.menu_action_res_partner_bank_typeform
msgid "Bank Account Types"
-msgstr ""
+msgstr "Bankas Kontu Tipi"
#. module: base
#: help:ir.sequence,suffix:0
@@ -5320,7 +5326,7 @@ msgstr ""
#. module: base
#: model:ir.module.module,shortdesc:base.module_hr_recruitment
msgid "Recruitment Process"
-msgstr ""
+msgstr "Darbā pieņemšanas Process"
#. module: base
#: model:res.country,name:base.br
@@ -5904,7 +5910,7 @@ msgstr "Angļu (CA)"
#. module: base
#: model:ir.module.category,name:base.module_category_human_resources
msgid "Human Resources"
-msgstr ""
+msgstr "Personāla Vadība"
#. module: base
#: model:ir.module.module,description:base.module_l10n_syscohada
@@ -8735,7 +8741,7 @@ msgstr ""
#. module: base
#: model:ir.module.module,shortdesc:base.module_warning
msgid "Warning Messages and Alerts"
-msgstr ""
+msgstr "Brīdinājumi"
#. module: base
#: model:ir.actions.act_window,name:base.action_ui_view_custom
@@ -10463,7 +10469,7 @@ msgstr ""
#: view:base.module.upgrade:0
msgid ""
"We suggest to reload the menu tab to see the new menus (Ctrl+T then Ctrl+R)."
-msgstr ""
+msgstr "Lai redzētu jaunās izvēlnes, pārlādējiet logus (Ctrl+T tad Ctrl+R)."
#. module: base
#: model:ir.actions.act_window,name:base.action_rule
@@ -14932,7 +14938,7 @@ msgstr ""
#. module: base
#: model:ir.module.module,shortdesc:base.module_base_vat
msgid "VAT Number Validation"
-msgstr ""
+msgstr "PVN numura pārbaude"
#. module: base
#: field:ir.model.fields,complete_name:0
diff --git a/openerp/addons/base/i18n/ro.po b/openerp/addons/base/i18n/ro.po
index 7a6ff0b31a8..43b23fcfdcb 100644
--- a/openerp/addons/base/i18n/ro.po
+++ b/openerp/addons/base/i18n/ro.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-server\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2013-06-07 19:35+0000\n"
-"PO-Revision-Date: 2013-12-01 10:01+0000\n"
+"PO-Revision-Date: 2013-12-07 04:09+0000\n"
"Last-Translator: Dorin \n"
"Language-Team: Romanian \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-12-02 05:51+0000\n"
-"X-Generator: Launchpad (build 16856)\n"
+"X-Launchpad-Export-Date: 2013-12-08 05:45+0000\n"
+"X-Generator: Launchpad (build 16869)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing
@@ -422,7 +422,7 @@ msgstr ""
#. module: base
#: sql_constraint:res.lang:0
msgid "The name of the language must be unique !"
-msgstr "Numele limbii trebuie sa fie unic !"
+msgstr "Numele limbii trebuie să fie unic !"
#. module: base
#: selection:res.request,state:0
@@ -5332,7 +5332,7 @@ msgstr ""
#: model:ir.ui.menu,name:base.menu_res_lang_act_window
#: view:res.lang:0
msgid "Languages"
-msgstr "Limbi"
+msgstr "Limba"
#. module: base
#: selection:workflow.activity,join_mode:0
@@ -9037,7 +9037,7 @@ msgstr "Cod judet"
#. module: base
#: model:ir.module.module,shortdesc:base.module_l10n_multilang
msgid "Multi Language Chart of Accounts"
-msgstr "Plan de Conturi multi limbi"
+msgstr "Plan de Conturi multi limbă"
#. module: base
#: model:ir.module.module,description:base.module_l10n_gt
@@ -9156,7 +9156,7 @@ msgstr "Contabilitate si Finante"
#. module: base
#: view:ir.module.module:0
msgid "Upgrade"
-msgstr "Actualizare"
+msgstr "Actualizați"
#. module: base
#: model:ir.module.module,description:base.module_base_action_rule
@@ -9928,7 +9928,7 @@ msgstr "init"
#: view:res.partner:0
#: field:res.partner,user_id:0
msgid "Salesperson"
-msgstr "Agest de vanzari"
+msgstr "Agent de vânzări"
#. module: base
#: view:res.lang:0
@@ -10869,7 +10869,7 @@ msgstr ""
#. module: base
#: model:ir.ui.menu,name:base.menu_view_base_module_update
msgid "Update Modules List"
-msgstr "Actualizati Lista de Module"
+msgstr "Actualizați lista de module"
#. module: base
#: code:addons/base/module/module.py:359
@@ -11738,7 +11738,7 @@ msgstr "Tip de vizualizare"
#. module: base
#: model:ir.ui.menu,name:base.next_id_2
msgid "User Interface"
-msgstr "Interfata Utilizator"
+msgstr "Interfață utilizator"
#. module: base
#: model:ir.module.module,shortdesc:base.module_mrp_byproduct
@@ -12789,7 +12789,7 @@ msgstr "Aceasta metoda nu mai exista"
#: model:ir.actions.act_window,name:base.action_wizard_update_translations
#: model:ir.ui.menu,name:base.menu_wizard_update_translations
msgid "Synchronize Terms"
-msgstr "Sincronizati Termenii"
+msgstr "Sincronizați termenii"
#. module: base
#: field:res.lang,thousands_sep:0
@@ -13114,7 +13114,7 @@ msgstr "Conturile bancare asociate acestei companii"
#: model:ir.ui.menu,name:base.menu_sales
#: model:ir.ui.menu,name:base.next_id_64
msgid "Sales"
-msgstr "Vanzari"
+msgstr "Vânzări"
#. module: base
#: field:ir.actions.server,child_ids:0
@@ -15626,7 +15626,7 @@ msgstr "ir.valori"
#. module: base
#: model:ir.model,name:base.model_base_module_update
msgid "Update Module"
-msgstr "Actualizati Modulul"
+msgstr "Actualizați modulul"
#. module: base
#: view:ir.model.fields:0
@@ -16228,7 +16228,7 @@ msgstr "Administrare"
#. module: base
#: view:base.module.update:0
msgid "Click on Update below to start the process..."
-msgstr "Faceti click pe Actualizare pentru a porni procesul..."
+msgstr "Faceți clic pe Actualizați pentru a porni procesul..."
#. module: base
#: model:res.country,name:base.ir
@@ -16267,7 +16267,7 @@ msgstr ""
#. module: base
#: view:base.update.translations:0
msgid "Synchronize Translation"
-msgstr "Sincronizati Traducerea"
+msgstr "Sincronizați traducerea"
#. module: base
#: view:res.partner.bank:0
@@ -16555,7 +16555,7 @@ msgstr ""
#. module: base
#: field:ir.actions.act_window,auto_refresh:0
msgid "Auto-Refresh"
-msgstr "Actualizare automata"
+msgstr "Actualizare automată"
#. module: base
#: model:ir.module.module,description:base.module_product_expiry
@@ -16839,7 +16839,7 @@ msgstr "Program de depistare Probleme"
#: view:base.module.upgrade:0
#: view:base.update.translations:0
msgid "Update"
-msgstr "Actualizare"
+msgstr "Actualizați"
#. module: base
#: model:ir.module.module,description:base.module_plugin
From 2382710f6f7324ec2989ea88b9629cb32d9a1413 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?=
Date: Mon, 9 Dec 2013 10:08:02 +0100
Subject: [PATCH 52/75] [REV] mail: removed some changes to be done in trunk,
not in 7.0
bzr revid: tde@openerp.com-20131209090802-q8fzn88ia9w6o5pq
---
addons/mail/mail_thread.py | 13 ++++---------
1 file changed, 4 insertions(+), 9 deletions(-)
diff --git a/addons/mail/mail_thread.py b/addons/mail/mail_thread.py
index a8755cd1abd..04385c75a59 100644
--- a/addons/mail/mail_thread.py
+++ b/addons/mail/mail_thread.py
@@ -238,21 +238,16 @@ class mail_thread(osv.AbstractModel):
if context is None:
context = {}
- # subscribe uid unless asked not to
- if not context.get('mail_create_nosubscribe'):
- pid = self.pool['res.users'].browse(cr, SUPERUSER_ID, uid).partner_id.id
- message_follower_ids = values.get('message_follower_ids')
- if message_follower_ids is False or message_follower_ids is None: # web client seems to send False as message_follower_ids value
- message_follower_ids = []
- message_follower_ids.append([4, pid])
- values['message_follower_ids'] = message_follower_ids
-
thread_id = super(mail_thread, self).create(cr, uid, values, context=context)
# automatic logging unless asked not to (mainly for various testing purpose)
if not context.get('mail_create_nolog'):
self.message_post(cr, uid, thread_id, body=_('%s created') % (self._description), context=context)
+ # subscribe uid unless asked not to
+ if not context.get('mail_create_nosubscribe'):
+ self.message_subscribe_users(cr, uid, [thread_id], [uid], context=context)
+
# auto_subscribe: take values and defaults into account
create_values = dict(values)
for key, val in context.iteritems():
From 3be327c0aef39ce2dfbdd312a9ff1e4488cbf452 Mon Sep 17 00:00:00 2001
From: Denis Ledoux
Date: Mon, 9 Dec 2013 15:56:52 +0100
Subject: [PATCH 53/75] [FIX] point_of_sale: ignore TOTAlY returns
Returns were partially ignored when typing keystrokes, thanks to a return; when event which equaled 13, but the default behaviour (press on the focused input/button) was not prevented. This is now the case thanks to preventDefault. For instance, just after a discount set, the focused input was pressed and the associated value was added when scanning a new product with the scanner. Therefore, if we entered a discount of 30%, scanning a new product added '0', the last pushed button, to the discount, and then added the product.
bzr revid: dle@openerp.com-20131209145652-3g9rgnfz1w8k0whw
---
addons/point_of_sale/static/src/js/devices.js | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/addons/point_of_sale/static/src/js/devices.js b/addons/point_of_sale/static/src/js/devices.js
index 0326d71d792..cdd24156c30 100644
--- a/addons/point_of_sale/static/src/js/devices.js
+++ b/addons/point_of_sale/static/src/js/devices.js
@@ -438,6 +438,10 @@ function openerp_pos_devices(instance,module){ //module is instance.point_of_sal
// The barcode readers acts as a keyboard, we catch all keyup events and try to find a
// barcode sequence in the typed keys, then act accordingly.
this.handler = function(e){
+ if(e.which === 13){ //ignore returns
+ e.preventDefault();
+ return;
+ }
//We only care about numbers
if (e.which >= 48 && e.which < 58){
From d6c6f31231070213bfabf0afdadc7a45d6fd626a Mon Sep 17 00:00:00 2001
From: Antony Lesuisse
Date: Mon, 2 Dec 2013 14:19:43 +0100
Subject: [PATCH 54/75] [MERGE] boostrap3 manually merged
bzr revid: al@openerp.com-20131202131943-b01fb56u0qsgcs53
---
addons/web/__openerp__.py | 2 +-
.../lib/bootstrap/css/bootstrap-theme.css | 459 ++
.../static/lib/bootstrap/css/bootstrap.css | 7098 +++++++++++++++++
.../web/static/lib/bootstrap/js/bootstrap.js | 2002 +++++
addons/web/static/src/css/base.css | 368 +-
addons/web/static/src/css/base.sass | 287 +-
addons/web/static/src/css/data_export.css | 5 +
addons/web/static/src/js/chrome.js | 24 +-
addons/web/static/src/xml/base.xml | 44 +-
.../static/src/css/web_calendar.css | 21 +
.../static/src/css/web_calendar.sass | 14 +
11 files changed, 10090 insertions(+), 234 deletions(-)
create mode 100644 addons/web/static/lib/bootstrap/css/bootstrap-theme.css
create mode 100644 addons/web/static/lib/bootstrap/css/bootstrap.css
create mode 100644 addons/web/static/lib/bootstrap/js/bootstrap.js
diff --git a/addons/web/__openerp__.py b/addons/web/__openerp__.py
index bb9fcaa0dbd..7c0b303061e 100644
--- a/addons/web/__openerp__.py
+++ b/addons/web/__openerp__.py
@@ -66,6 +66,7 @@ This module provides the core of the OpenERP Web Client.
"static/lib/jquery.tipsy/tipsy.css",
"static/lib/jquery.textext/jquery.textext.css",
"static/lib/fontawesome/css/font-awesome.css",
+ "static/lib/bootstrap/css/bootstrap.css",
"static/src/css/base.css",
"static/src/css/data_export.css",
"static/lib/cleditor/jquery.cleditor.css",
@@ -89,5 +90,4 @@ This module provides the core of the OpenERP Web Client.
"static/test/list-editable.js",
"static/test/mutex.js"
],
- 'bootstrap': True,
}
diff --git a/addons/web/static/lib/bootstrap/css/bootstrap-theme.css b/addons/web/static/lib/bootstrap/css/bootstrap-theme.css
new file mode 100644
index 00000000000..c9c347e4160
--- /dev/null
+++ b/addons/web/static/lib/bootstrap/css/bootstrap-theme.css
@@ -0,0 +1,459 @@
+/*!
+ * Bootstrap v3.0.2 by @fat and @mdo
+ * Copyright 2013 Twitter, Inc.
+ * Licensed under http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Designed and built with all the love in the world by @mdo and @fat.
+ */
+
+.btn-default,
+.btn-primary,
+.btn-success,
+.btn-info,
+.btn-warning,
+.btn-danger {
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
+ -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
+}
+
+.btn-default:active,
+.btn-primary:active,
+.btn-success:active,
+.btn-info:active,
+.btn-warning:active,
+.btn-danger:active,
+.btn-default.active,
+.btn-primary.active,
+.btn-success.active,
+.btn-info.active,
+.btn-warning.active,
+.btn-danger.active {
+ -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+}
+
+.btn:active,
+.btn.active {
+ background-image: none;
+}
+
+.btn-default {
+ text-shadow: 0 1px 0 #fff;
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#ffffff), to(#e0e0e0));
+ background-image: -webkit-linear-gradient(top, #ffffff 0%, #e0e0e0 100%);
+ background-image: -moz-linear-gradient(top, #ffffff 0%, #e0e0e0 100%);
+ background-image: linear-gradient(to bottom, #ffffff 0%, #e0e0e0 100%);
+ background-repeat: repeat-x;
+ border-color: #dbdbdb;
+ border-color: #ccc;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
+}
+
+.btn-default:hover,
+.btn-default:focus {
+ background-color: #e0e0e0;
+ background-position: 0 -15px;
+}
+
+.btn-default:active,
+.btn-default.active {
+ background-color: #e0e0e0;
+ border-color: #dbdbdb;
+}
+
+.btn-primary {
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#428bca), to(#2d6ca2));
+ background-image: -webkit-linear-gradient(top, #428bca 0%, #2d6ca2 100%);
+ background-image: -moz-linear-gradient(top, #428bca 0%, #2d6ca2 100%);
+ background-image: linear-gradient(to bottom, #428bca 0%, #2d6ca2 100%);
+ background-repeat: repeat-x;
+ border-color: #2b669a;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff2d6ca2', GradientType=0);
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
+}
+
+.btn-primary:hover,
+.btn-primary:focus {
+ background-color: #2d6ca2;
+ background-position: 0 -15px;
+}
+
+.btn-primary:active,
+.btn-primary.active {
+ background-color: #2d6ca2;
+ border-color: #2b669a;
+}
+
+.btn-success {
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#5cb85c), to(#419641));
+ background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);
+ background-image: -moz-linear-gradient(top, #5cb85c 0%, #419641 100%);
+ background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);
+ background-repeat: repeat-x;
+ border-color: #3e8f3e;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
+}
+
+.btn-success:hover,
+.btn-success:focus {
+ background-color: #419641;
+ background-position: 0 -15px;
+}
+
+.btn-success:active,
+.btn-success.active {
+ background-color: #419641;
+ border-color: #3e8f3e;
+}
+
+.btn-warning {
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#f0ad4e), to(#eb9316));
+ background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
+ background-image: -moz-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
+ background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);
+ background-repeat: repeat-x;
+ border-color: #e38d13;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
+}
+
+.btn-warning:hover,
+.btn-warning:focus {
+ background-color: #eb9316;
+ background-position: 0 -15px;
+}
+
+.btn-warning:active,
+.btn-warning.active {
+ background-color: #eb9316;
+ border-color: #e38d13;
+}
+
+.btn-danger {
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#d9534f), to(#c12e2a));
+ background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
+ background-image: -moz-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
+ background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);
+ background-repeat: repeat-x;
+ border-color: #b92c28;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
+}
+
+.btn-danger:hover,
+.btn-danger:focus {
+ background-color: #c12e2a;
+ background-position: 0 -15px;
+}
+
+.btn-danger:active,
+.btn-danger.active {
+ background-color: #c12e2a;
+ border-color: #b92c28;
+}
+
+.btn-info {
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#5bc0de), to(#2aabd2));
+ background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
+ background-image: -moz-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
+ background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);
+ background-repeat: repeat-x;
+ border-color: #28a4c9;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
+}
+
+.btn-info:hover,
+.btn-info:focus {
+ background-color: #2aabd2;
+ background-position: 0 -15px;
+}
+
+.btn-info:active,
+.btn-info.active {
+ background-color: #2aabd2;
+ border-color: #28a4c9;
+}
+
+.thumbnail,
+.img-thumbnail {
+ -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
+}
+
+.dropdown-menu > li > a:hover,
+.dropdown-menu > li > a:focus {
+ background-color: #e8e8e8;
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#f5f5f5), to(#e8e8e8));
+ background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
+ background-image: -moz-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
+ background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
+}
+
+.dropdown-menu > .active > a,
+.dropdown-menu > .active > a:hover,
+.dropdown-menu > .active > a:focus {
+ background-color: #357ebd;
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#428bca), to(#357ebd));
+ background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%);
+ background-image: -moz-linear-gradient(top, #428bca 0%, #357ebd 100%);
+ background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);
+}
+
+.navbar-default {
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#ffffff), to(#f8f8f8));
+ background-image: -webkit-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);
+ background-image: -moz-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);
+ background-image: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%);
+ background-repeat: repeat-x;
+ border-radius: 4px;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
+ -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);
+}
+
+.navbar-default .navbar-nav > .active > a {
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#ebebeb), to(#f3f3f3));
+ background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f3f3f3 100%);
+ background-image: -moz-linear-gradient(top, #ebebeb 0%, #f3f3f3 100%);
+ background-image: linear-gradient(to bottom, #ebebeb 0%, #f3f3f3 100%);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff3f3f3', GradientType=0);
+ -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);
+ box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);
+}
+
+.navbar-brand,
+.navbar-nav > li > a {
+ text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);
+}
+
+.navbar-inverse {
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#3c3c3c), to(#222222));
+ background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222222 100%);
+ background-image: -moz-linear-gradient(top, #3c3c3c 0%, #222222 100%);
+ background-image: linear-gradient(to bottom, #3c3c3c 0%, #222222 100%);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
+}
+
+.navbar-inverse .navbar-nav > .active > a {
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#222222), to(#282828));
+ background-image: -webkit-linear-gradient(top, #222222 0%, #282828 100%);
+ background-image: -moz-linear-gradient(top, #222222 0%, #282828 100%);
+ background-image: linear-gradient(to bottom, #222222 0%, #282828 100%);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff282828', GradientType=0);
+ -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);
+ box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);
+}
+
+.navbar-inverse .navbar-brand,
+.navbar-inverse .navbar-nav > li > a {
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+}
+
+.navbar-static-top,
+.navbar-fixed-top,
+.navbar-fixed-bottom {
+ border-radius: 0;
+}
+
+.alert {
+ text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);
+ -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);
+}
+
+.alert-success {
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#dff0d8), to(#c8e5bc));
+ background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
+ background-image: -moz-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
+ background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);
+ background-repeat: repeat-x;
+ border-color: #b2dba1;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);
+}
+
+.alert-info {
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#d9edf7), to(#b9def0));
+ background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
+ background-image: -moz-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
+ background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);
+ background-repeat: repeat-x;
+ border-color: #9acfea;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);
+}
+
+.alert-warning {
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#fcf8e3), to(#f8efc0));
+ background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
+ background-image: -moz-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
+ background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);
+ background-repeat: repeat-x;
+ border-color: #f5e79e;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);
+}
+
+.alert-danger {
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#f2dede), to(#e7c3c3));
+ background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
+ background-image: -moz-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
+ background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);
+ background-repeat: repeat-x;
+ border-color: #dca7a7;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);
+}
+
+.progress {
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#ebebeb), to(#f5f5f5));
+ background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
+ background-image: -moz-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
+ background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);
+}
+
+.progress-bar {
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#428bca), to(#3071a9));
+ background-image: -webkit-linear-gradient(top, #428bca 0%, #3071a9 100%);
+ background-image: -moz-linear-gradient(top, #428bca 0%, #3071a9 100%);
+ background-image: linear-gradient(to bottom, #428bca 0%, #3071a9 100%);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0);
+}
+
+.progress-bar-success {
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#5cb85c), to(#449d44));
+ background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);
+ background-image: -moz-linear-gradient(top, #5cb85c 0%, #449d44 100%);
+ background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);
+}
+
+.progress-bar-info {
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#5bc0de), to(#31b0d5));
+ background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
+ background-image: -moz-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
+ background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);
+}
+
+.progress-bar-warning {
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#f0ad4e), to(#ec971f));
+ background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
+ background-image: -moz-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
+ background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);
+}
+
+.progress-bar-danger {
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#d9534f), to(#c9302c));
+ background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);
+ background-image: -moz-linear-gradient(top, #d9534f 0%, #c9302c 100%);
+ background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);
+}
+
+.list-group {
+ border-radius: 4px;
+ -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
+}
+
+.list-group-item.active,
+.list-group-item.active:hover,
+.list-group-item.active:focus {
+ text-shadow: 0 -1px 0 #3071a9;
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#428bca), to(#3278b3));
+ background-image: -webkit-linear-gradient(top, #428bca 0%, #3278b3 100%);
+ background-image: -moz-linear-gradient(top, #428bca 0%, #3278b3 100%);
+ background-image: linear-gradient(to bottom, #428bca 0%, #3278b3 100%);
+ background-repeat: repeat-x;
+ border-color: #3278b3;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0);
+}
+
+.panel {
+ -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
+}
+
+.panel-default > .panel-heading {
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#f5f5f5), to(#e8e8e8));
+ background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
+ background-image: -moz-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
+ background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
+}
+
+.panel-primary > .panel-heading {
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#428bca), to(#357ebd));
+ background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%);
+ background-image: -moz-linear-gradient(top, #428bca 0%, #357ebd 100%);
+ background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);
+}
+
+.panel-success > .panel-heading {
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#dff0d8), to(#d0e9c6));
+ background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
+ background-image: -moz-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
+ background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);
+}
+
+.panel-info > .panel-heading {
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#d9edf7), to(#c4e3f3));
+ background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
+ background-image: -moz-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
+ background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);
+}
+
+.panel-warning > .panel-heading {
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#fcf8e3), to(#faf2cc));
+ background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
+ background-image: -moz-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
+ background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);
+}
+
+.panel-danger > .panel-heading {
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#f2dede), to(#ebcccc));
+ background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
+ background-image: -moz-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
+ background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);
+}
+
+.well {
+ background-image: -webkit-gradient(linear, left 0%, left 100%, from(#e8e8e8), to(#f5f5f5));
+ background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
+ background-image: -moz-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
+ background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);
+ background-repeat: repeat-x;
+ border-color: #dcdcdc;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);
+ -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);
+ box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);
+}
\ No newline at end of file
diff --git a/addons/web/static/lib/bootstrap/css/bootstrap.css b/addons/web/static/lib/bootstrap/css/bootstrap.css
new file mode 100644
index 00000000000..6aef1f6fd65
--- /dev/null
+++ b/addons/web/static/lib/bootstrap/css/bootstrap.css
@@ -0,0 +1,7098 @@
+/*!
+ * Bootstrap v3.0.2 by @fat and @mdo
+ * Copyright 2013 Twitter, Inc.
+ * Licensed under http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Designed and built with all the love in the world by @mdo and @fat.
+ */
+
+/*! normalize.css v2.1.3 | MIT License | git.io/normalize */
+
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+main,
+nav,
+section,
+summary {
+ display: block;
+}
+
+audio,
+canvas,
+video {
+ display: inline-block;
+}
+
+audio:not([controls]) {
+ display: none;
+ height: 0;
+}
+
+[hidden],
+template {
+ display: none;
+}
+
+html {
+ font-family: sans-serif;
+ -webkit-text-size-adjust: 100%;
+ -ms-text-size-adjust: 100%;
+}
+
+body {
+ margin: 0;
+}
+
+a {
+ background: transparent;
+}
+
+a:focus {
+ outline: thin dotted;
+}
+
+a:active,
+a:hover {
+ outline: 0;
+}
+
+h1 {
+ margin: 0.67em 0;
+ font-size: 2em;
+}
+
+abbr[title] {
+ border-bottom: 1px dotted;
+}
+
+b,
+strong {
+ font-weight: bold;
+}
+
+dfn {
+ font-style: italic;
+}
+
+hr {
+ height: 0;
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+}
+
+mark {
+ color: #000;
+ background: #ff0;
+}
+
+code,
+kbd,
+pre,
+samp {
+ font-family: monospace, serif;
+ font-size: 1em;
+}
+
+pre {
+ white-space: pre-wrap;
+}
+
+q {
+ quotes: "\201C" "\201D" "\2018" "\2019";
+}
+
+small {
+ font-size: 80%;
+}
+
+sub,
+sup {
+ position: relative;
+ font-size: 75%;
+ line-height: 0;
+ vertical-align: baseline;
+}
+
+sup {
+ top: -0.5em;
+}
+
+sub {
+ bottom: -0.25em;
+}
+
+img {
+ border: 0;
+}
+
+svg:not(:root) {
+ overflow: hidden;
+}
+
+figure {
+ margin: 0;
+}
+
+fieldset {
+ padding: 0.35em 0.625em 0.75em;
+ margin: 0 2px;
+ border: 1px solid #c0c0c0;
+}
+
+legend {
+ padding: 0;
+ border: 0;
+}
+
+button,
+input,
+select,
+textarea {
+ margin: 0;
+ font-family: inherit;
+ font-size: 100%;
+}
+
+button,
+input {
+ line-height: normal;
+}
+
+button,
+select {
+ text-transform: none;
+}
+
+button,
+html input[type="button"],
+input[type="reset"],
+input[type="submit"] {
+ cursor: pointer;
+ -webkit-appearance: button;
+}
+
+button[disabled],
+html input[disabled] {
+ cursor: default;
+}
+
+input[type="checkbox"],
+input[type="radio"] {
+ padding: 0;
+ box-sizing: border-box;
+}
+
+input[type="search"] {
+ -webkit-box-sizing: content-box;
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ -webkit-appearance: textfield;
+}
+
+input[type="search"]::-webkit-search-cancel-button,
+input[type="search"]::-webkit-search-decoration {
+ -webkit-appearance: none;
+}
+
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+ padding: 0;
+ border: 0;
+}
+
+textarea {
+ overflow: auto;
+ vertical-align: top;
+}
+
+table {
+ border-collapse: collapse;
+ border-spacing: 0;
+}
+
+@media print {
+ * {
+ color: #000 !important;
+ text-shadow: none !important;
+ background: transparent !important;
+ box-shadow: none !important;
+ }
+ a,
+ a:visited {
+ text-decoration: underline;
+ }
+ a[href]:after {
+ content: " (" attr(href) ")";
+ }
+ abbr[title]:after {
+ content: " (" attr(title) ")";
+ }
+ a[href^="javascript:"]:after,
+ a[href^="#"]:after {
+ content: "";
+ }
+ pre,
+ blockquote {
+ border: 1px solid #999;
+ page-break-inside: avoid;
+ }
+ thead {
+ display: table-header-group;
+ }
+ tr,
+ img {
+ page-break-inside: avoid;
+ }
+ img {
+ max-width: 100% !important;
+ }
+ @page {
+ margin: 2cm .5cm;
+ }
+ p,
+ h2,
+ h3 {
+ orphans: 3;
+ widows: 3;
+ }
+ h2,
+ h3 {
+ page-break-after: avoid;
+ }
+ select {
+ background: #fff !important;
+ }
+ .navbar {
+ display: none;
+ }
+ .table td,
+ .table th {
+ background-color: #fff !important;
+ }
+ .btn > .caret,
+ .dropup > .btn > .caret {
+ border-top-color: #000 !important;
+ }
+ .label {
+ border: 1px solid #000;
+ }
+ .table {
+ border-collapse: collapse !important;
+ }
+ .table-bordered th,
+ .table-bordered td {
+ border: 1px solid #ddd !important;
+ }
+}
+
+*,
+*:before,
+*:after {
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+}
+
+html {
+ font-size: 62.5%;
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+}
+
+body {
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-size: 14px;
+ line-height: 1.428571429;
+ color: #333333;
+ background-color: #ffffff;
+}
+
+input,
+button,
+select,
+textarea {
+ font-family: inherit;
+ font-size: inherit;
+ line-height: inherit;
+}
+
+a {
+ color: #428bca;
+ text-decoration: none;
+}
+
+a:hover,
+a:focus {
+ color: #2a6496;
+ text-decoration: underline;
+}
+
+a:focus {
+ outline: thin dotted #333;
+ outline: 5px auto -webkit-focus-ring-color;
+ outline-offset: -2px;
+}
+
+img {
+ vertical-align: middle;
+}
+
+.img-responsive {
+ display: block;
+ height: auto;
+ max-width: 100%;
+}
+
+.img-rounded {
+ border-radius: 6px;
+}
+
+.img-thumbnail {
+ display: inline-block;
+ height: auto;
+ max-width: 100%;
+ padding: 4px;
+ line-height: 1.428571429;
+ background-color: #ffffff;
+ border: 1px solid #dddddd;
+ border-radius: 4px;
+ -webkit-transition: all 0.2s ease-in-out;
+ transition: all 0.2s ease-in-out;
+}
+
+.img-circle {
+ border-radius: 50%;
+}
+
+hr {
+ margin-top: 20px;
+ margin-bottom: 20px;
+ border: 0;
+ border-top: 1px solid #eeeeee;
+}
+
+.sr-only {
+ position: absolute;
+ width: 1px;
+ height: 1px;
+ padding: 0;
+ margin: -1px;
+ overflow: hidden;
+ clip: rect(0, 0, 0, 0);
+ border: 0;
+}
+
+p {
+ margin: 0 0 10px;
+}
+
+.lead {
+ margin-bottom: 20px;
+ font-size: 16px;
+ font-weight: 200;
+ line-height: 1.4;
+}
+
+@media (min-width: 768px) {
+ .lead {
+ font-size: 21px;
+ }
+}
+
+small,
+.small {
+ font-size: 85%;
+}
+
+cite {
+ font-style: normal;
+}
+
+.text-muted {
+ color: #999999;
+}
+
+.text-primary {
+ color: #428bca;
+}
+
+.text-primary:hover {
+ color: #3071a9;
+}
+
+.text-warning {
+ color: #c09853;
+}
+
+.text-warning:hover {
+ color: #a47e3c;
+}
+
+.text-danger {
+ color: #b94a48;
+}
+
+.text-danger:hover {
+ color: #953b39;
+}
+
+.text-success {
+ color: #468847;
+}
+
+.text-success:hover {
+ color: #356635;
+}
+
+.text-info {
+ color: #3a87ad;
+}
+
+.text-info:hover {
+ color: #2d6987;
+}
+
+.text-left {
+ text-align: left;
+}
+
+.text-right {
+ text-align: right;
+}
+
+.text-center {
+ text-align: center;
+}
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6,
+.h1,
+.h2,
+.h3,
+.h4,
+.h5,
+.h6 {
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-weight: 500;
+ line-height: 1.1;
+ color: inherit;
+}
+
+h1 small,
+h2 small,
+h3 small,
+h4 small,
+h5 small,
+h6 small,
+.h1 small,
+.h2 small,
+.h3 small,
+.h4 small,
+.h5 small,
+.h6 small,
+h1 .small,
+h2 .small,
+h3 .small,
+h4 .small,
+h5 .small,
+h6 .small,
+.h1 .small,
+.h2 .small,
+.h3 .small,
+.h4 .small,
+.h5 .small,
+.h6 .small {
+ font-weight: normal;
+ line-height: 1;
+ color: #999999;
+}
+
+h1,
+h2,
+h3 {
+ margin-top: 20px;
+ margin-bottom: 10px;
+}
+
+h1 small,
+h2 small,
+h3 small,
+h1 .small,
+h2 .small,
+h3 .small {
+ font-size: 65%;
+}
+
+h4,
+h5,
+h6 {
+ margin-top: 10px;
+ margin-bottom: 10px;
+}
+
+h4 small,
+h5 small,
+h6 small,
+h4 .small,
+h5 .small,
+h6 .small {
+ font-size: 75%;
+}
+
+h1,
+.h1 {
+ font-size: 36px;
+}
+
+h2,
+.h2 {
+ font-size: 30px;
+}
+
+h3,
+.h3 {
+ font-size: 24px;
+}
+
+h4,
+.h4 {
+ font-size: 18px;
+}
+
+h5,
+.h5 {
+ font-size: 14px;
+}
+
+h6,
+.h6 {
+ font-size: 12px;
+}
+
+.page-header {
+ padding-bottom: 9px;
+ margin: 40px 0 20px;
+ border-bottom: 1px solid #eeeeee;
+}
+
+ul,
+ol {
+ margin-top: 0;
+ margin-bottom: 10px;
+}
+
+ul ul,
+ol ul,
+ul ol,
+ol ol {
+ margin-bottom: 0;
+}
+
+.list-unstyled {
+ padding-left: 0;
+ list-style: none;
+}
+
+.list-inline {
+ padding-left: 0;
+ list-style: none;
+}
+
+.list-inline > li {
+ display: inline-block;
+ padding-right: 5px;
+ padding-left: 5px;
+}
+
+.list-inline > li:first-child {
+ padding-left: 0;
+}
+
+dl {
+ margin-bottom: 20px;
+}
+
+dt,
+dd {
+ line-height: 1.428571429;
+}
+
+dt {
+ font-weight: bold;
+}
+
+dd {
+ margin-left: 0;
+}
+
+@media (min-width: 768px) {
+ .dl-horizontal dt {
+ float: left;
+ width: 160px;
+ overflow: hidden;
+ clear: left;
+ text-align: right;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ }
+ .dl-horizontal dd {
+ margin-left: 180px;
+ }
+ .dl-horizontal dd:before,
+ .dl-horizontal dd:after {
+ display: table;
+ content: " ";
+ }
+ .dl-horizontal dd:after {
+ clear: both;
+ }
+ .dl-horizontal dd:before,
+ .dl-horizontal dd:after {
+ display: table;
+ content: " ";
+ }
+ .dl-horizontal dd:after {
+ clear: both;
+ }
+}
+
+abbr[title],
+abbr[data-original-title] {
+ cursor: help;
+ border-bottom: 1px dotted #999999;
+}
+
+abbr.initialism {
+ font-size: 90%;
+ text-transform: uppercase;
+}
+
+blockquote {
+ padding: 10px 20px;
+ margin: 0 0 20px;
+ border-left: 5px solid #eeeeee;
+}
+
+blockquote p {
+ font-size: 17.5px;
+ font-weight: 300;
+ line-height: 1.25;
+}
+
+blockquote p:last-child {
+ margin-bottom: 0;
+}
+
+blockquote small {
+ display: block;
+ line-height: 1.428571429;
+ color: #999999;
+}
+
+blockquote small:before {
+ content: '\2014 \00A0';
+}
+
+blockquote.pull-right {
+ padding-right: 15px;
+ padding-left: 0;
+ border-right: 5px solid #eeeeee;
+ border-left: 0;
+}
+
+blockquote.pull-right p,
+blockquote.pull-right small,
+blockquote.pull-right .small {
+ text-align: right;
+}
+
+blockquote.pull-right small:before,
+blockquote.pull-right .small:before {
+ content: '';
+}
+
+blockquote.pull-right small:after,
+blockquote.pull-right .small:after {
+ content: '\00A0 \2014';
+}
+
+blockquote:before,
+blockquote:after {
+ content: "";
+}
+
+address {
+ margin-bottom: 20px;
+ font-style: normal;
+ line-height: 1.428571429;
+}
+
+code,
+kbd,
+pre,
+samp {
+ font-family: Monaco, Menlo, Consolas, "Courier New", monospace;
+}
+
+code {
+ padding: 2px 4px;
+ font-size: 90%;
+ color: #c7254e;
+ white-space: nowrap;
+ background-color: #f9f2f4;
+ border-radius: 4px;
+}
+
+pre {
+ display: block;
+ padding: 9.5px;
+ margin: 0 0 10px;
+ font-size: 13px;
+ line-height: 1.428571429;
+ color: #333333;
+ word-break: break-all;
+ word-wrap: break-word;
+ background-color: #f5f5f5;
+ border: 1px solid #cccccc;
+ border-radius: 4px;
+}
+
+pre code {
+ padding: 0;
+ font-size: inherit;
+ color: inherit;
+ white-space: pre-wrap;
+ background-color: transparent;
+ border-radius: 0;
+}
+
+.pre-scrollable {
+ max-height: 340px;
+ overflow-y: scroll;
+}
+
+.container {
+ padding-right: 15px;
+ padding-left: 15px;
+ margin-right: auto;
+ margin-left: auto;
+}
+
+.container:before,
+.container:after {
+ display: table;
+ content: " ";
+}
+
+.container:after {
+ clear: both;
+}
+
+.container:before,
+.container:after {
+ display: table;
+ content: " ";
+}
+
+.container:after {
+ clear: both;
+}
+
+.row {
+ margin-right: -15px;
+ margin-left: -15px;
+}
+
+.row:before,
+.row:after {
+ display: table;
+ content: " ";
+}
+
+.row:after {
+ clear: both;
+}
+
+.row:before,
+.row:after {
+ display: table;
+ content: " ";
+}
+
+.row:after {
+ clear: both;
+}
+
+.col-xs-1,
+.col-sm-1,
+.col-md-1,
+.col-lg-1,
+.col-xs-2,
+.col-sm-2,
+.col-md-2,
+.col-lg-2,
+.col-xs-3,
+.col-sm-3,
+.col-md-3,
+.col-lg-3,
+.col-xs-4,
+.col-sm-4,
+.col-md-4,
+.col-lg-4,
+.col-xs-5,
+.col-sm-5,
+.col-md-5,
+.col-lg-5,
+.col-xs-6,
+.col-sm-6,
+.col-md-6,
+.col-lg-6,
+.col-xs-7,
+.col-sm-7,
+.col-md-7,
+.col-lg-7,
+.col-xs-8,
+.col-sm-8,
+.col-md-8,
+.col-lg-8,
+.col-xs-9,
+.col-sm-9,
+.col-md-9,
+.col-lg-9,
+.col-xs-10,
+.col-sm-10,
+.col-md-10,
+.col-lg-10,
+.col-xs-11,
+.col-sm-11,
+.col-md-11,
+.col-lg-11,
+.col-xs-12,
+.col-sm-12,
+.col-md-12,
+.col-lg-12 {
+ position: relative;
+ min-height: 1px;
+ padding-right: 15px;
+ padding-left: 15px;
+}
+
+.col-xs-1,
+.col-xs-2,
+.col-xs-3,
+.col-xs-4,
+.col-xs-5,
+.col-xs-6,
+.col-xs-7,
+.col-xs-8,
+.col-xs-9,
+.col-xs-10,
+.col-xs-11 {
+ float: left;
+}
+
+.col-xs-12 {
+ width: 100%;
+}
+
+.col-xs-11 {
+ width: 91.66666666666666%;
+}
+
+.col-xs-10 {
+ width: 83.33333333333334%;
+}
+
+.col-xs-9 {
+ width: 75%;
+}
+
+.col-xs-8 {
+ width: 66.66666666666666%;
+}
+
+.col-xs-7 {
+ width: 58.333333333333336%;
+}
+
+.col-xs-6 {
+ width: 50%;
+}
+
+.col-xs-5 {
+ width: 41.66666666666667%;
+}
+
+.col-xs-4 {
+ width: 33.33333333333333%;
+}
+
+.col-xs-3 {
+ width: 25%;
+}
+
+.col-xs-2 {
+ width: 16.666666666666664%;
+}
+
+.col-xs-1 {
+ width: 8.333333333333332%;
+}
+
+.col-xs-pull-12 {
+ right: 100%;
+}
+
+.col-xs-pull-11 {
+ right: 91.66666666666666%;
+}
+
+.col-xs-pull-10 {
+ right: 83.33333333333334%;
+}
+
+.col-xs-pull-9 {
+ right: 75%;
+}
+
+.col-xs-pull-8 {
+ right: 66.66666666666666%;
+}
+
+.col-xs-pull-7 {
+ right: 58.333333333333336%;
+}
+
+.col-xs-pull-6 {
+ right: 50%;
+}
+
+.col-xs-pull-5 {
+ right: 41.66666666666667%;
+}
+
+.col-xs-pull-4 {
+ right: 33.33333333333333%;
+}
+
+.col-xs-pull-3 {
+ right: 25%;
+}
+
+.col-xs-pull-2 {
+ right: 16.666666666666664%;
+}
+
+.col-xs-pull-1 {
+ right: 8.333333333333332%;
+}
+
+.col-xs-pull-0 {
+ right: 0;
+}
+
+.col-xs-push-12 {
+ left: 100%;
+}
+
+.col-xs-push-11 {
+ left: 91.66666666666666%;
+}
+
+.col-xs-push-10 {
+ left: 83.33333333333334%;
+}
+
+.col-xs-push-9 {
+ left: 75%;
+}
+
+.col-xs-push-8 {
+ left: 66.66666666666666%;
+}
+
+.col-xs-push-7 {
+ left: 58.333333333333336%;
+}
+
+.col-xs-push-6 {
+ left: 50%;
+}
+
+.col-xs-push-5 {
+ left: 41.66666666666667%;
+}
+
+.col-xs-push-4 {
+ left: 33.33333333333333%;
+}
+
+.col-xs-push-3 {
+ left: 25%;
+}
+
+.col-xs-push-2 {
+ left: 16.666666666666664%;
+}
+
+.col-xs-push-1 {
+ left: 8.333333333333332%;
+}
+
+.col-xs-push-0 {
+ left: 0;
+}
+
+.col-xs-offset-12 {
+ margin-left: 100%;
+}
+
+.col-xs-offset-11 {
+ margin-left: 91.66666666666666%;
+}
+
+.col-xs-offset-10 {
+ margin-left: 83.33333333333334%;
+}
+
+.col-xs-offset-9 {
+ margin-left: 75%;
+}
+
+.col-xs-offset-8 {
+ margin-left: 66.66666666666666%;
+}
+
+.col-xs-offset-7 {
+ margin-left: 58.333333333333336%;
+}
+
+.col-xs-offset-6 {
+ margin-left: 50%;
+}
+
+.col-xs-offset-5 {
+ margin-left: 41.66666666666667%;
+}
+
+.col-xs-offset-4 {
+ margin-left: 33.33333333333333%;
+}
+
+.col-xs-offset-3 {
+ margin-left: 25%;
+}
+
+.col-xs-offset-2 {
+ margin-left: 16.666666666666664%;
+}
+
+.col-xs-offset-1 {
+ margin-left: 8.333333333333332%;
+}
+
+.col-xs-offset-0 {
+ margin-left: 0;
+}
+
+@media (min-width: 768px) {
+ .container {
+ width: 750px;
+ }
+ .col-sm-1,
+ .col-sm-2,
+ .col-sm-3,
+ .col-sm-4,
+ .col-sm-5,
+ .col-sm-6,
+ .col-sm-7,
+ .col-sm-8,
+ .col-sm-9,
+ .col-sm-10,
+ .col-sm-11 {
+ float: left;
+ }
+ .col-sm-12 {
+ width: 100%;
+ }
+ .col-sm-11 {
+ width: 91.66666666666666%;
+ }
+ .col-sm-10 {
+ width: 83.33333333333334%;
+ }
+ .col-sm-9 {
+ width: 75%;
+ }
+ .col-sm-8 {
+ width: 66.66666666666666%;
+ }
+ .col-sm-7 {
+ width: 58.333333333333336%;
+ }
+ .col-sm-6 {
+ width: 50%;
+ }
+ .col-sm-5 {
+ width: 41.66666666666667%;
+ }
+ .col-sm-4 {
+ width: 33.33333333333333%;
+ }
+ .col-sm-3 {
+ width: 25%;
+ }
+ .col-sm-2 {
+ width: 16.666666666666664%;
+ }
+ .col-sm-1 {
+ width: 8.333333333333332%;
+ }
+ .col-sm-pull-12 {
+ right: 100%;
+ }
+ .col-sm-pull-11 {
+ right: 91.66666666666666%;
+ }
+ .col-sm-pull-10 {
+ right: 83.33333333333334%;
+ }
+ .col-sm-pull-9 {
+ right: 75%;
+ }
+ .col-sm-pull-8 {
+ right: 66.66666666666666%;
+ }
+ .col-sm-pull-7 {
+ right: 58.333333333333336%;
+ }
+ .col-sm-pull-6 {
+ right: 50%;
+ }
+ .col-sm-pull-5 {
+ right: 41.66666666666667%;
+ }
+ .col-sm-pull-4 {
+ right: 33.33333333333333%;
+ }
+ .col-sm-pull-3 {
+ right: 25%;
+ }
+ .col-sm-pull-2 {
+ right: 16.666666666666664%;
+ }
+ .col-sm-pull-1 {
+ right: 8.333333333333332%;
+ }
+ .col-sm-pull-0 {
+ right: 0;
+ }
+ .col-sm-push-12 {
+ left: 100%;
+ }
+ .col-sm-push-11 {
+ left: 91.66666666666666%;
+ }
+ .col-sm-push-10 {
+ left: 83.33333333333334%;
+ }
+ .col-sm-push-9 {
+ left: 75%;
+ }
+ .col-sm-push-8 {
+ left: 66.66666666666666%;
+ }
+ .col-sm-push-7 {
+ left: 58.333333333333336%;
+ }
+ .col-sm-push-6 {
+ left: 50%;
+ }
+ .col-sm-push-5 {
+ left: 41.66666666666667%;
+ }
+ .col-sm-push-4 {
+ left: 33.33333333333333%;
+ }
+ .col-sm-push-3 {
+ left: 25%;
+ }
+ .col-sm-push-2 {
+ left: 16.666666666666664%;
+ }
+ .col-sm-push-1 {
+ left: 8.333333333333332%;
+ }
+ .col-sm-push-0 {
+ left: 0;
+ }
+ .col-sm-offset-12 {
+ margin-left: 100%;
+ }
+ .col-sm-offset-11 {
+ margin-left: 91.66666666666666%;
+ }
+ .col-sm-offset-10 {
+ margin-left: 83.33333333333334%;
+ }
+ .col-sm-offset-9 {
+ margin-left: 75%;
+ }
+ .col-sm-offset-8 {
+ margin-left: 66.66666666666666%;
+ }
+ .col-sm-offset-7 {
+ margin-left: 58.333333333333336%;
+ }
+ .col-sm-offset-6 {
+ margin-left: 50%;
+ }
+ .col-sm-offset-5 {
+ margin-left: 41.66666666666667%;
+ }
+ .col-sm-offset-4 {
+ margin-left: 33.33333333333333%;
+ }
+ .col-sm-offset-3 {
+ margin-left: 25%;
+ }
+ .col-sm-offset-2 {
+ margin-left: 16.666666666666664%;
+ }
+ .col-sm-offset-1 {
+ margin-left: 8.333333333333332%;
+ }
+ .col-sm-offset-0 {
+ margin-left: 0;
+ }
+}
+
+@media (min-width: 992px) {
+ .container {
+ width: 970px;
+ }
+ .col-md-1,
+ .col-md-2,
+ .col-md-3,
+ .col-md-4,
+ .col-md-5,
+ .col-md-6,
+ .col-md-7,
+ .col-md-8,
+ .col-md-9,
+ .col-md-10,
+ .col-md-11 {
+ float: left;
+ }
+ .col-md-12 {
+ width: 100%;
+ }
+ .col-md-11 {
+ width: 91.66666666666666%;
+ }
+ .col-md-10 {
+ width: 83.33333333333334%;
+ }
+ .col-md-9 {
+ width: 75%;
+ }
+ .col-md-8 {
+ width: 66.66666666666666%;
+ }
+ .col-md-7 {
+ width: 58.333333333333336%;
+ }
+ .col-md-6 {
+ width: 50%;
+ }
+ .col-md-5 {
+ width: 41.66666666666667%;
+ }
+ .col-md-4 {
+ width: 33.33333333333333%;
+ }
+ .col-md-3 {
+ width: 25%;
+ }
+ .col-md-2 {
+ width: 16.666666666666664%;
+ }
+ .col-md-1 {
+ width: 8.333333333333332%;
+ }
+ .col-md-pull-12 {
+ right: 100%;
+ }
+ .col-md-pull-11 {
+ right: 91.66666666666666%;
+ }
+ .col-md-pull-10 {
+ right: 83.33333333333334%;
+ }
+ .col-md-pull-9 {
+ right: 75%;
+ }
+ .col-md-pull-8 {
+ right: 66.66666666666666%;
+ }
+ .col-md-pull-7 {
+ right: 58.333333333333336%;
+ }
+ .col-md-pull-6 {
+ right: 50%;
+ }
+ .col-md-pull-5 {
+ right: 41.66666666666667%;
+ }
+ .col-md-pull-4 {
+ right: 33.33333333333333%;
+ }
+ .col-md-pull-3 {
+ right: 25%;
+ }
+ .col-md-pull-2 {
+ right: 16.666666666666664%;
+ }
+ .col-md-pull-1 {
+ right: 8.333333333333332%;
+ }
+ .col-md-pull-0 {
+ right: 0;
+ }
+ .col-md-push-12 {
+ left: 100%;
+ }
+ .col-md-push-11 {
+ left: 91.66666666666666%;
+ }
+ .col-md-push-10 {
+ left: 83.33333333333334%;
+ }
+ .col-md-push-9 {
+ left: 75%;
+ }
+ .col-md-push-8 {
+ left: 66.66666666666666%;
+ }
+ .col-md-push-7 {
+ left: 58.333333333333336%;
+ }
+ .col-md-push-6 {
+ left: 50%;
+ }
+ .col-md-push-5 {
+ left: 41.66666666666667%;
+ }
+ .col-md-push-4 {
+ left: 33.33333333333333%;
+ }
+ .col-md-push-3 {
+ left: 25%;
+ }
+ .col-md-push-2 {
+ left: 16.666666666666664%;
+ }
+ .col-md-push-1 {
+ left: 8.333333333333332%;
+ }
+ .col-md-push-0 {
+ left: 0;
+ }
+ .col-md-offset-12 {
+ margin-left: 100%;
+ }
+ .col-md-offset-11 {
+ margin-left: 91.66666666666666%;
+ }
+ .col-md-offset-10 {
+ margin-left: 83.33333333333334%;
+ }
+ .col-md-offset-9 {
+ margin-left: 75%;
+ }
+ .col-md-offset-8 {
+ margin-left: 66.66666666666666%;
+ }
+ .col-md-offset-7 {
+ margin-left: 58.333333333333336%;
+ }
+ .col-md-offset-6 {
+ margin-left: 50%;
+ }
+ .col-md-offset-5 {
+ margin-left: 41.66666666666667%;
+ }
+ .col-md-offset-4 {
+ margin-left: 33.33333333333333%;
+ }
+ .col-md-offset-3 {
+ margin-left: 25%;
+ }
+ .col-md-offset-2 {
+ margin-left: 16.666666666666664%;
+ }
+ .col-md-offset-1 {
+ margin-left: 8.333333333333332%;
+ }
+ .col-md-offset-0 {
+ margin-left: 0;
+ }
+}
+
+@media (min-width: 1200px) {
+ .container {
+ width: 1170px;
+ }
+ .col-lg-1,
+ .col-lg-2,
+ .col-lg-3,
+ .col-lg-4,
+ .col-lg-5,
+ .col-lg-6,
+ .col-lg-7,
+ .col-lg-8,
+ .col-lg-9,
+ .col-lg-10,
+ .col-lg-11 {
+ float: left;
+ }
+ .col-lg-12 {
+ width: 100%;
+ }
+ .col-lg-11 {
+ width: 91.66666666666666%;
+ }
+ .col-lg-10 {
+ width: 83.33333333333334%;
+ }
+ .col-lg-9 {
+ width: 75%;
+ }
+ .col-lg-8 {
+ width: 66.66666666666666%;
+ }
+ .col-lg-7 {
+ width: 58.333333333333336%;
+ }
+ .col-lg-6 {
+ width: 50%;
+ }
+ .col-lg-5 {
+ width: 41.66666666666667%;
+ }
+ .col-lg-4 {
+ width: 33.33333333333333%;
+ }
+ .col-lg-3 {
+ width: 25%;
+ }
+ .col-lg-2 {
+ width: 16.666666666666664%;
+ }
+ .col-lg-1 {
+ width: 8.333333333333332%;
+ }
+ .col-lg-pull-12 {
+ right: 100%;
+ }
+ .col-lg-pull-11 {
+ right: 91.66666666666666%;
+ }
+ .col-lg-pull-10 {
+ right: 83.33333333333334%;
+ }
+ .col-lg-pull-9 {
+ right: 75%;
+ }
+ .col-lg-pull-8 {
+ right: 66.66666666666666%;
+ }
+ .col-lg-pull-7 {
+ right: 58.333333333333336%;
+ }
+ .col-lg-pull-6 {
+ right: 50%;
+ }
+ .col-lg-pull-5 {
+ right: 41.66666666666667%;
+ }
+ .col-lg-pull-4 {
+ right: 33.33333333333333%;
+ }
+ .col-lg-pull-3 {
+ right: 25%;
+ }
+ .col-lg-pull-2 {
+ right: 16.666666666666664%;
+ }
+ .col-lg-pull-1 {
+ right: 8.333333333333332%;
+ }
+ .col-lg-pull-0 {
+ right: 0;
+ }
+ .col-lg-push-12 {
+ left: 100%;
+ }
+ .col-lg-push-11 {
+ left: 91.66666666666666%;
+ }
+ .col-lg-push-10 {
+ left: 83.33333333333334%;
+ }
+ .col-lg-push-9 {
+ left: 75%;
+ }
+ .col-lg-push-8 {
+ left: 66.66666666666666%;
+ }
+ .col-lg-push-7 {
+ left: 58.333333333333336%;
+ }
+ .col-lg-push-6 {
+ left: 50%;
+ }
+ .col-lg-push-5 {
+ left: 41.66666666666667%;
+ }
+ .col-lg-push-4 {
+ left: 33.33333333333333%;
+ }
+ .col-lg-push-3 {
+ left: 25%;
+ }
+ .col-lg-push-2 {
+ left: 16.666666666666664%;
+ }
+ .col-lg-push-1 {
+ left: 8.333333333333332%;
+ }
+ .col-lg-push-0 {
+ left: 0;
+ }
+ .col-lg-offset-12 {
+ margin-left: 100%;
+ }
+ .col-lg-offset-11 {
+ margin-left: 91.66666666666666%;
+ }
+ .col-lg-offset-10 {
+ margin-left: 83.33333333333334%;
+ }
+ .col-lg-offset-9 {
+ margin-left: 75%;
+ }
+ .col-lg-offset-8 {
+ margin-left: 66.66666666666666%;
+ }
+ .col-lg-offset-7 {
+ margin-left: 58.333333333333336%;
+ }
+ .col-lg-offset-6 {
+ margin-left: 50%;
+ }
+ .col-lg-offset-5 {
+ margin-left: 41.66666666666667%;
+ }
+ .col-lg-offset-4 {
+ margin-left: 33.33333333333333%;
+ }
+ .col-lg-offset-3 {
+ margin-left: 25%;
+ }
+ .col-lg-offset-2 {
+ margin-left: 16.666666666666664%;
+ }
+ .col-lg-offset-1 {
+ margin-left: 8.333333333333332%;
+ }
+ .col-lg-offset-0 {
+ margin-left: 0;
+ }
+}
+
+table {
+ max-width: 100%;
+ background-color: transparent;
+}
+
+th {
+ text-align: left;
+}
+
+.table {
+ width: 100%;
+ margin-bottom: 20px;
+}
+
+.table > thead > tr > th,
+.table > tbody > tr > th,
+.table > tfoot > tr > th,
+.table > thead > tr > td,
+.table > tbody > tr > td,
+.table > tfoot > tr > td {
+ padding: 8px;
+ line-height: 1.428571429;
+ vertical-align: top;
+ border-top: 1px solid #dddddd;
+}
+
+.table > thead > tr > th {
+ vertical-align: bottom;
+ border-bottom: 2px solid #dddddd;
+}
+
+.table > caption + thead > tr:first-child > th,
+.table > colgroup + thead > tr:first-child > th,
+.table > thead:first-child > tr:first-child > th,
+.table > caption + thead > tr:first-child > td,
+.table > colgroup + thead > tr:first-child > td,
+.table > thead:first-child > tr:first-child > td {
+ border-top: 0;
+}
+
+.table > tbody + tbody {
+ border-top: 2px solid #dddddd;
+}
+
+.table .table {
+ background-color: #ffffff;
+}
+
+.table-condensed > thead > tr > th,
+.table-condensed > tbody > tr > th,
+.table-condensed > tfoot > tr > th,
+.table-condensed > thead > tr > td,
+.table-condensed > tbody > tr > td,
+.table-condensed > tfoot > tr > td {
+ padding: 5px;
+}
+
+.table-bordered {
+ border: 1px solid #dddddd;
+}
+
+.table-bordered > thead > tr > th,
+.table-bordered > tbody > tr > th,
+.table-bordered > tfoot > tr > th,
+.table-bordered > thead > tr > td,
+.table-bordered > tbody > tr > td,
+.table-bordered > tfoot > tr > td {
+ border: 1px solid #dddddd;
+}
+
+.table-bordered > thead > tr > th,
+.table-bordered > thead > tr > td {
+ border-bottom-width: 2px;
+}
+
+.table-striped > tbody > tr:nth-child(odd) > td,
+.table-striped > tbody > tr:nth-child(odd) > th {
+ background-color: #f9f9f9;
+}
+
+.table-hover > tbody > tr:hover > td,
+.table-hover > tbody > tr:hover > th {
+ background-color: #f5f5f5;
+}
+
+table col[class*="col-"] {
+ display: table-column;
+ float: none;
+}
+
+table td[class*="col-"],
+table th[class*="col-"] {
+ display: table-cell;
+ float: none;
+}
+
+.table > thead > tr > td.active,
+.table > tbody > tr > td.active,
+.table > tfoot > tr > td.active,
+.table > thead > tr > th.active,
+.table > tbody > tr > th.active,
+.table > tfoot > tr > th.active,
+.table > thead > tr.active > td,
+.table > tbody > tr.active > td,
+.table > tfoot > tr.active > td,
+.table > thead > tr.active > th,
+.table > tbody > tr.active > th,
+.table > tfoot > tr.active > th {
+ background-color: #f5f5f5;
+}
+
+.table > thead > tr > td.success,
+.table > tbody > tr > td.success,
+.table > tfoot > tr > td.success,
+.table > thead > tr > th.success,
+.table > tbody > tr > th.success,
+.table > tfoot > tr > th.success,
+.table > thead > tr.success > td,
+.table > tbody > tr.success > td,
+.table > tfoot > tr.success > td,
+.table > thead > tr.success > th,
+.table > tbody > tr.success > th,
+.table > tfoot > tr.success > th {
+ background-color: #dff0d8;
+}
+
+.table-hover > tbody > tr > td.success:hover,
+.table-hover > tbody > tr > th.success:hover,
+.table-hover > tbody > tr.success:hover > td,
+.table-hover > tbody > tr.success:hover > th {
+ background-color: #d0e9c6;
+}
+
+.table > thead > tr > td.danger,
+.table > tbody > tr > td.danger,
+.table > tfoot > tr > td.danger,
+.table > thead > tr > th.danger,
+.table > tbody > tr > th.danger,
+.table > tfoot > tr > th.danger,
+.table > thead > tr.danger > td,
+.table > tbody > tr.danger > td,
+.table > tfoot > tr.danger > td,
+.table > thead > tr.danger > th,
+.table > tbody > tr.danger > th,
+.table > tfoot > tr.danger > th {
+ background-color: #f2dede;
+}
+
+.table-hover > tbody > tr > td.danger:hover,
+.table-hover > tbody > tr > th.danger:hover,
+.table-hover > tbody > tr.danger:hover > td,
+.table-hover > tbody > tr.danger:hover > th {
+ background-color: #ebcccc;
+}
+
+.table > thead > tr > td.warning,
+.table > tbody > tr > td.warning,
+.table > tfoot > tr > td.warning,
+.table > thead > tr > th.warning,
+.table > tbody > tr > th.warning,
+.table > tfoot > tr > th.warning,
+.table > thead > tr.warning > td,
+.table > tbody > tr.warning > td,
+.table > tfoot > tr.warning > td,
+.table > thead > tr.warning > th,
+.table > tbody > tr.warning > th,
+.table > tfoot > tr.warning > th {
+ background-color: #fcf8e3;
+}
+
+.table-hover > tbody > tr > td.warning:hover,
+.table-hover > tbody > tr > th.warning:hover,
+.table-hover > tbody > tr.warning:hover > td,
+.table-hover > tbody > tr.warning:hover > th {
+ background-color: #faf2cc;
+}
+
+@media (max-width: 767px) {
+ .table-responsive {
+ width: 100%;
+ margin-bottom: 15px;
+ overflow-x: scroll;
+ overflow-y: hidden;
+ border: 1px solid #dddddd;
+ -ms-overflow-style: -ms-autohiding-scrollbar;
+ -webkit-overflow-scrolling: touch;
+ }
+ .table-responsive > .table {
+ margin-bottom: 0;
+ }
+ .table-responsive > .table > thead > tr > th,
+ .table-responsive > .table > tbody > tr > th,
+ .table-responsive > .table > tfoot > tr > th,
+ .table-responsive > .table > thead > tr > td,
+ .table-responsive > .table > tbody > tr > td,
+ .table-responsive > .table > tfoot > tr > td {
+ white-space: nowrap;
+ }
+ .table-responsive > .table-bordered {
+ border: 0;
+ }
+ .table-responsive > .table-bordered > thead > tr > th:first-child,
+ .table-responsive > .table-bordered > tbody > tr > th:first-child,
+ .table-responsive > .table-bordered > tfoot > tr > th:first-child,
+ .table-responsive > .table-bordered > thead > tr > td:first-child,
+ .table-responsive > .table-bordered > tbody > tr > td:first-child,
+ .table-responsive > .table-bordered > tfoot > tr > td:first-child {
+ border-left: 0;
+ }
+ .table-responsive > .table-bordered > thead > tr > th:last-child,
+ .table-responsive > .table-bordered > tbody > tr > th:last-child,
+ .table-responsive > .table-bordered > tfoot > tr > th:last-child,
+ .table-responsive > .table-bordered > thead > tr > td:last-child,
+ .table-responsive > .table-bordered > tbody > tr > td:last-child,
+ .table-responsive > .table-bordered > tfoot > tr > td:last-child {
+ border-right: 0;
+ }
+ .table-responsive > .table-bordered > tbody > tr:last-child > th,
+ .table-responsive > .table-bordered > tfoot > tr:last-child > th,
+ .table-responsive > .table-bordered > tbody > tr:last-child > td,
+ .table-responsive > .table-bordered > tfoot > tr:last-child > td {
+ border-bottom: 0;
+ }
+}
+
+fieldset {
+ padding: 0;
+ margin: 0;
+ border: 0;
+}
+
+legend {
+ display: block;
+ width: 100%;
+ padding: 0;
+ margin-bottom: 20px;
+ font-size: 21px;
+ line-height: inherit;
+ color: #333333;
+ border: 0;
+ border-bottom: 1px solid #e5e5e5;
+}
+
+label {
+ display: inline-block;
+ margin-bottom: 5px;
+ font-weight: bold;
+}
+
+input[type="search"] {
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+}
+
+input[type="radio"],
+input[type="checkbox"] {
+ margin: 4px 0 0;
+ margin-top: 1px \9;
+ /* IE8-9 */
+
+ line-height: normal;
+}
+
+input[type="file"] {
+ display: block;
+}
+
+select[multiple],
+select[size] {
+ height: auto;
+}
+
+select optgroup {
+ font-family: inherit;
+ font-size: inherit;
+ font-style: inherit;
+}
+
+input[type="file"]:focus,
+input[type="radio"]:focus,
+input[type="checkbox"]:focus {
+ outline: thin dotted #333;
+ outline: 5px auto -webkit-focus-ring-color;
+ outline-offset: -2px;
+}
+
+input[type="number"]::-webkit-outer-spin-button,
+input[type="number"]::-webkit-inner-spin-button {
+ height: auto;
+}
+
+output {
+ display: block;
+ padding-top: 7px;
+ font-size: 14px;
+ line-height: 1.428571429;
+ color: #555555;
+ vertical-align: middle;
+}
+
+.form-control {
+ display: block;
+ width: 100%;
+ height: 34px;
+ padding: 6px 12px;
+ font-size: 14px;
+ line-height: 1.428571429;
+ color: #555555;
+ vertical-align: middle;
+ background-color: #ffffff;
+ background-image: none;
+ border: 1px solid #cccccc;
+ border-radius: 4px;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+ -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
+ transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
+}
+
+.form-control:focus {
+ border-color: #66afe9;
+ outline: 0;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
+}
+
+.form-control:-moz-placeholder {
+ color: #999999;
+}
+
+.form-control::-moz-placeholder {
+ color: #999999;
+}
+
+.form-control:-ms-input-placeholder {
+ color: #999999;
+}
+
+.form-control::-webkit-input-placeholder {
+ color: #999999;
+}
+
+.form-control[disabled],
+.form-control[readonly],
+fieldset[disabled] .form-control {
+ cursor: not-allowed;
+ background-color: #eeeeee;
+}
+
+textarea.form-control {
+ height: auto;
+}
+
+.form-group {
+ margin-bottom: 15px;
+}
+
+.radio,
+.checkbox {
+ display: block;
+ min-height: 20px;
+ padding-left: 20px;
+ margin-top: 10px;
+ margin-bottom: 10px;
+ vertical-align: middle;
+}
+
+.radio label,
+.checkbox label {
+ display: inline;
+ margin-bottom: 0;
+ font-weight: normal;
+ cursor: pointer;
+}
+
+.radio input[type="radio"],
+.radio-inline input[type="radio"],
+.checkbox input[type="checkbox"],
+.checkbox-inline input[type="checkbox"] {
+ float: left;
+ margin-left: -20px;
+}
+
+.radio + .radio,
+.checkbox + .checkbox {
+ margin-top: -5px;
+}
+
+.radio-inline,
+.checkbox-inline {
+ display: inline-block;
+ padding-left: 20px;
+ margin-bottom: 0;
+ font-weight: normal;
+ vertical-align: middle;
+ cursor: pointer;
+}
+
+.radio-inline + .radio-inline,
+.checkbox-inline + .checkbox-inline {
+ margin-top: 0;
+ margin-left: 10px;
+}
+
+input[type="radio"][disabled],
+input[type="checkbox"][disabled],
+.radio[disabled],
+.radio-inline[disabled],
+.checkbox[disabled],
+.checkbox-inline[disabled],
+fieldset[disabled] input[type="radio"],
+fieldset[disabled] input[type="checkbox"],
+fieldset[disabled] .radio,
+fieldset[disabled] .radio-inline,
+fieldset[disabled] .checkbox,
+fieldset[disabled] .checkbox-inline {
+ cursor: not-allowed;
+}
+
+.input-sm {
+ height: 30px;
+ padding: 5px 10px;
+ font-size: 12px;
+ line-height: 1.5;
+ border-radius: 3px;
+}
+
+select.input-sm {
+ height: 30px;
+ line-height: 30px;
+}
+
+textarea.input-sm {
+ height: auto;
+}
+
+.input-lg {
+ height: 45px;
+ padding: 10px 16px;
+ font-size: 18px;
+ line-height: 1.33;
+ border-radius: 6px;
+}
+
+select.input-lg {
+ height: 45px;
+ line-height: 45px;
+}
+
+textarea.input-lg {
+ height: auto;
+}
+
+.has-warning .help-block,
+.has-warning .control-label,
+.has-warning .radio,
+.has-warning .checkbox,
+.has-warning .radio-inline,
+.has-warning .checkbox-inline {
+ color: #c09853;
+}
+
+.has-warning .form-control {
+ border-color: #c09853;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+}
+
+.has-warning .form-control:focus {
+ border-color: #a47e3c;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
+}
+
+.has-warning .input-group-addon {
+ color: #c09853;
+ background-color: #fcf8e3;
+ border-color: #c09853;
+}
+
+.has-error .help-block,
+.has-error .control-label,
+.has-error .radio,
+.has-error .checkbox,
+.has-error .radio-inline,
+.has-error .checkbox-inline {
+ color: #b94a48;
+}
+
+.has-error .form-control {
+ border-color: #b94a48;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+}
+
+.has-error .form-control:focus {
+ border-color: #953b39;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
+}
+
+.has-error .input-group-addon {
+ color: #b94a48;
+ background-color: #f2dede;
+ border-color: #b94a48;
+}
+
+.has-success .help-block,
+.has-success .control-label,
+.has-success .radio,
+.has-success .checkbox,
+.has-success .radio-inline,
+.has-success .checkbox-inline {
+ color: #468847;
+}
+
+.has-success .form-control {
+ border-color: #468847;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+}
+
+.has-success .form-control:focus {
+ border-color: #356635;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
+}
+
+.has-success .input-group-addon {
+ color: #468847;
+ background-color: #dff0d8;
+ border-color: #468847;
+}
+
+.form-control-static {
+ margin-bottom: 0;
+}
+
+.help-block {
+ display: block;
+ margin-top: 5px;
+ margin-bottom: 10px;
+ color: #737373;
+}
+
+@media (min-width: 768px) {
+ .form-inline .form-group {
+ display: inline-block;
+ margin-bottom: 0;
+ vertical-align: middle;
+ }
+ .form-inline .form-control {
+ display: inline-block;
+ }
+ .form-inline .radio,
+ .form-inline .checkbox {
+ display: inline-block;
+ padding-left: 0;
+ margin-top: 0;
+ margin-bottom: 0;
+ }
+ .form-inline .radio input[type="radio"],
+ .form-inline .checkbox input[type="checkbox"] {
+ float: none;
+ margin-left: 0;
+ }
+}
+
+.form-horizontal .control-label,
+.form-horizontal .radio,
+.form-horizontal .checkbox,
+.form-horizontal .radio-inline,
+.form-horizontal .checkbox-inline {
+ padding-top: 7px;
+ margin-top: 0;
+ margin-bottom: 0;
+}
+
+.form-horizontal .form-group {
+ margin-right: -15px;
+ margin-left: -15px;
+}
+
+.form-horizontal .form-group:before,
+.form-horizontal .form-group:after {
+ display: table;
+ content: " ";
+}
+
+.form-horizontal .form-group:after {
+ clear: both;
+}
+
+.form-horizontal .form-group:before,
+.form-horizontal .form-group:after {
+ display: table;
+ content: " ";
+}
+
+.form-horizontal .form-group:after {
+ clear: both;
+}
+
+.form-horizontal .form-control-static {
+ padding-top: 7px;
+}
+
+@media (min-width: 768px) {
+ .form-horizontal .control-label {
+ text-align: right;
+ }
+}
+
+.btn {
+ display: inline-block;
+ padding: 6px 12px;
+ margin-bottom: 0;
+ font-size: 14px;
+ font-weight: normal;
+ line-height: 1.428571429;
+ text-align: center;
+ white-space: nowrap;
+ vertical-align: middle;
+ cursor: pointer;
+ background-image: none;
+ border: 1px solid transparent;
+ border-radius: 4px;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ -o-user-select: none;
+ user-select: none;
+}
+
+.btn:focus {
+ outline: thin dotted #333;
+ outline: 5px auto -webkit-focus-ring-color;
+ outline-offset: -2px;
+}
+
+.btn:hover,
+.btn:focus {
+ color: #333333;
+ text-decoration: none;
+}
+
+.btn:active,
+.btn.active {
+ background-image: none;
+ outline: 0;
+ -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+}
+
+.btn.disabled,
+.btn[disabled],
+fieldset[disabled] .btn {
+ pointer-events: none;
+ cursor: not-allowed;
+ opacity: 0.65;
+ filter: alpha(opacity=65);
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+
+.btn-default {
+ color: #333333;
+ background-color: #ffffff;
+ border-color: #cccccc;
+}
+
+.btn-default:hover,
+.btn-default:focus,
+.btn-default:active,
+.btn-default.active,
+.open .dropdown-toggle.btn-default {
+ color: #333333;
+ background-color: #ebebeb;
+ border-color: #adadad;
+}
+
+.btn-default:active,
+.btn-default.active,
+.open .dropdown-toggle.btn-default {
+ background-image: none;
+}
+
+.btn-default.disabled,
+.btn-default[disabled],
+fieldset[disabled] .btn-default,
+.btn-default.disabled:hover,
+.btn-default[disabled]:hover,
+fieldset[disabled] .btn-default:hover,
+.btn-default.disabled:focus,
+.btn-default[disabled]:focus,
+fieldset[disabled] .btn-default:focus,
+.btn-default.disabled:active,
+.btn-default[disabled]:active,
+fieldset[disabled] .btn-default:active,
+.btn-default.disabled.active,
+.btn-default[disabled].active,
+fieldset[disabled] .btn-default.active {
+ background-color: #ffffff;
+ border-color: #cccccc;
+}
+
+.btn-primary {
+ color: #ffffff;
+ background-color: #428bca;
+ border-color: #357ebd;
+}
+
+.btn-primary:hover,
+.btn-primary:focus,
+.btn-primary:active,
+.btn-primary.active,
+.open .dropdown-toggle.btn-primary {
+ color: #ffffff;
+ background-color: #3276b1;
+ border-color: #285e8e;
+}
+
+.btn-primary:active,
+.btn-primary.active,
+.open .dropdown-toggle.btn-primary {
+ background-image: none;
+}
+
+.btn-primary.disabled,
+.btn-primary[disabled],
+fieldset[disabled] .btn-primary,
+.btn-primary.disabled:hover,
+.btn-primary[disabled]:hover,
+fieldset[disabled] .btn-primary:hover,
+.btn-primary.disabled:focus,
+.btn-primary[disabled]:focus,
+fieldset[disabled] .btn-primary:focus,
+.btn-primary.disabled:active,
+.btn-primary[disabled]:active,
+fieldset[disabled] .btn-primary:active,
+.btn-primary.disabled.active,
+.btn-primary[disabled].active,
+fieldset[disabled] .btn-primary.active {
+ background-color: #428bca;
+ border-color: #357ebd;
+}
+
+.btn-warning {
+ color: #ffffff;
+ background-color: #f0ad4e;
+ border-color: #eea236;
+}
+
+.btn-warning:hover,
+.btn-warning:focus,
+.btn-warning:active,
+.btn-warning.active,
+.open .dropdown-toggle.btn-warning {
+ color: #ffffff;
+ background-color: #ed9c28;
+ border-color: #d58512;
+}
+
+.btn-warning:active,
+.btn-warning.active,
+.open .dropdown-toggle.btn-warning {
+ background-image: none;
+}
+
+.btn-warning.disabled,
+.btn-warning[disabled],
+fieldset[disabled] .btn-warning,
+.btn-warning.disabled:hover,
+.btn-warning[disabled]:hover,
+fieldset[disabled] .btn-warning:hover,
+.btn-warning.disabled:focus,
+.btn-warning[disabled]:focus,
+fieldset[disabled] .btn-warning:focus,
+.btn-warning.disabled:active,
+.btn-warning[disabled]:active,
+fieldset[disabled] .btn-warning:active,
+.btn-warning.disabled.active,
+.btn-warning[disabled].active,
+fieldset[disabled] .btn-warning.active {
+ background-color: #f0ad4e;
+ border-color: #eea236;
+}
+
+.btn-danger {
+ color: #ffffff;
+ background-color: #d9534f;
+ border-color: #d43f3a;
+}
+
+.btn-danger:hover,
+.btn-danger:focus,
+.btn-danger:active,
+.btn-danger.active,
+.open .dropdown-toggle.btn-danger {
+ color: #ffffff;
+ background-color: #d2322d;
+ border-color: #ac2925;
+}
+
+.btn-danger:active,
+.btn-danger.active,
+.open .dropdown-toggle.btn-danger {
+ background-image: none;
+}
+
+.btn-danger.disabled,
+.btn-danger[disabled],
+fieldset[disabled] .btn-danger,
+.btn-danger.disabled:hover,
+.btn-danger[disabled]:hover,
+fieldset[disabled] .btn-danger:hover,
+.btn-danger.disabled:focus,
+.btn-danger[disabled]:focus,
+fieldset[disabled] .btn-danger:focus,
+.btn-danger.disabled:active,
+.btn-danger[disabled]:active,
+fieldset[disabled] .btn-danger:active,
+.btn-danger.disabled.active,
+.btn-danger[disabled].active,
+fieldset[disabled] .btn-danger.active {
+ background-color: #d9534f;
+ border-color: #d43f3a;
+}
+
+.btn-success {
+ color: #ffffff;
+ background-color: #5cb85c;
+ border-color: #4cae4c;
+}
+
+.btn-success:hover,
+.btn-success:focus,
+.btn-success:active,
+.btn-success.active,
+.open .dropdown-toggle.btn-success {
+ color: #ffffff;
+ background-color: #47a447;
+ border-color: #398439;
+}
+
+.btn-success:active,
+.btn-success.active,
+.open .dropdown-toggle.btn-success {
+ background-image: none;
+}
+
+.btn-success.disabled,
+.btn-success[disabled],
+fieldset[disabled] .btn-success,
+.btn-success.disabled:hover,
+.btn-success[disabled]:hover,
+fieldset[disabled] .btn-success:hover,
+.btn-success.disabled:focus,
+.btn-success[disabled]:focus,
+fieldset[disabled] .btn-success:focus,
+.btn-success.disabled:active,
+.btn-success[disabled]:active,
+fieldset[disabled] .btn-success:active,
+.btn-success.disabled.active,
+.btn-success[disabled].active,
+fieldset[disabled] .btn-success.active {
+ background-color: #5cb85c;
+ border-color: #4cae4c;
+}
+
+.btn-info {
+ color: #ffffff;
+ background-color: #5bc0de;
+ border-color: #46b8da;
+}
+
+.btn-info:hover,
+.btn-info:focus,
+.btn-info:active,
+.btn-info.active,
+.open .dropdown-toggle.btn-info {
+ color: #ffffff;
+ background-color: #39b3d7;
+ border-color: #269abc;
+}
+
+.btn-info:active,
+.btn-info.active,
+.open .dropdown-toggle.btn-info {
+ background-image: none;
+}
+
+.btn-info.disabled,
+.btn-info[disabled],
+fieldset[disabled] .btn-info,
+.btn-info.disabled:hover,
+.btn-info[disabled]:hover,
+fieldset[disabled] .btn-info:hover,
+.btn-info.disabled:focus,
+.btn-info[disabled]:focus,
+fieldset[disabled] .btn-info:focus,
+.btn-info.disabled:active,
+.btn-info[disabled]:active,
+fieldset[disabled] .btn-info:active,
+.btn-info.disabled.active,
+.btn-info[disabled].active,
+fieldset[disabled] .btn-info.active {
+ background-color: #5bc0de;
+ border-color: #46b8da;
+}
+
+.btn-link {
+ font-weight: normal;
+ color: #428bca;
+ cursor: pointer;
+ border-radius: 0;
+}
+
+.btn-link,
+.btn-link:active,
+.btn-link[disabled],
+fieldset[disabled] .btn-link {
+ background-color: transparent;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+
+.btn-link,
+.btn-link:hover,
+.btn-link:focus,
+.btn-link:active {
+ border-color: transparent;
+}
+
+.btn-link:hover,
+.btn-link:focus {
+ color: #2a6496;
+ text-decoration: underline;
+ background-color: transparent;
+}
+
+.btn-link[disabled]:hover,
+fieldset[disabled] .btn-link:hover,
+.btn-link[disabled]:focus,
+fieldset[disabled] .btn-link:focus {
+ color: #999999;
+ text-decoration: none;
+}
+
+.btn-lg {
+ padding: 10px 16px;
+ font-size: 18px;
+ line-height: 1.33;
+ border-radius: 6px;
+}
+
+.btn-sm,
+.btn-xs {
+ padding: 5px 10px;
+ font-size: 12px;
+ line-height: 1.5;
+ border-radius: 3px;
+}
+
+.btn-xs {
+ padding: 1px 5px;
+}
+
+.btn-block {
+ display: block;
+ width: 100%;
+ padding-right: 0;
+ padding-left: 0;
+}
+
+.btn-block + .btn-block {
+ margin-top: 5px;
+}
+
+input[type="submit"].btn-block,
+input[type="reset"].btn-block,
+input[type="button"].btn-block {
+ width: 100%;
+}
+
+.fade {
+ opacity: 0;
+ -webkit-transition: opacity 0.15s linear;
+ transition: opacity 0.15s linear;
+}
+
+.fade.in {
+ opacity: 1;
+}
+
+.collapse {
+ display: none;
+}
+
+.collapse.in {
+ display: block;
+}
+
+.collapsing {
+ position: relative;
+ height: 0;
+ overflow: hidden;
+ -webkit-transition: height 0.35s ease;
+ transition: height 0.35s ease;
+}
+
+@font-face {
+ font-family: 'Glyphicons Halflings';
+ src: url('../fonts/glyphicons-halflings-regular.eot');
+ src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
+}
+
+.glyphicon {
+ position: relative;
+ top: 1px;
+ display: inline-block;
+ font-family: 'Glyphicons Halflings';
+ -webkit-font-smoothing: antialiased;
+ font-style: normal;
+ font-weight: normal;
+ line-height: 1;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+.glyphicon:empty {
+ width: 1em;
+}
+
+.glyphicon-asterisk:before {
+ content: "\2a";
+}
+
+.glyphicon-plus:before {
+ content: "\2b";
+}
+
+.glyphicon-euro:before {
+ content: "\20ac";
+}
+
+.glyphicon-minus:before {
+ content: "\2212";
+}
+
+.glyphicon-cloud:before {
+ content: "\2601";
+}
+
+.glyphicon-envelope:before {
+ content: "\2709";
+}
+
+.glyphicon-pencil:before {
+ content: "\270f";
+}
+
+.glyphicon-glass:before {
+ content: "\e001";
+}
+
+.glyphicon-music:before {
+ content: "\e002";
+}
+
+.glyphicon-search:before {
+ content: "\e003";
+}
+
+.glyphicon-heart:before {
+ content: "\e005";
+}
+
+.glyphicon-star:before {
+ content: "\e006";
+}
+
+.glyphicon-star-empty:before {
+ content: "\e007";
+}
+
+.glyphicon-user:before {
+ content: "\e008";
+}
+
+.glyphicon-film:before {
+ content: "\e009";
+}
+
+.glyphicon-th-large:before {
+ content: "\e010";
+}
+
+.glyphicon-th:before {
+ content: "\e011";
+}
+
+.glyphicon-th-list:before {
+ content: "\e012";
+}
+
+.glyphicon-ok:before {
+ content: "\e013";
+}
+
+.glyphicon-remove:before {
+ content: "\e014";
+}
+
+.glyphicon-zoom-in:before {
+ content: "\e015";
+}
+
+.glyphicon-zoom-out:before {
+ content: "\e016";
+}
+
+.glyphicon-off:before {
+ content: "\e017";
+}
+
+.glyphicon-signal:before {
+ content: "\e018";
+}
+
+.glyphicon-cog:before {
+ content: "\e019";
+}
+
+.glyphicon-trash:before {
+ content: "\e020";
+}
+
+.glyphicon-home:before {
+ content: "\e021";
+}
+
+.glyphicon-file:before {
+ content: "\e022";
+}
+
+.glyphicon-time:before {
+ content: "\e023";
+}
+
+.glyphicon-road:before {
+ content: "\e024";
+}
+
+.glyphicon-download-alt:before {
+ content: "\e025";
+}
+
+.glyphicon-download:before {
+ content: "\e026";
+}
+
+.glyphicon-upload:before {
+ content: "\e027";
+}
+
+.glyphicon-inbox:before {
+ content: "\e028";
+}
+
+.glyphicon-play-circle:before {
+ content: "\e029";
+}
+
+.glyphicon-repeat:before {
+ content: "\e030";
+}
+
+.glyphicon-refresh:before {
+ content: "\e031";
+}
+
+.glyphicon-list-alt:before {
+ content: "\e032";
+}
+
+.glyphicon-lock:before {
+ content: "\e033";
+}
+
+.glyphicon-flag:before {
+ content: "\e034";
+}
+
+.glyphicon-headphones:before {
+ content: "\e035";
+}
+
+.glyphicon-volume-off:before {
+ content: "\e036";
+}
+
+.glyphicon-volume-down:before {
+ content: "\e037";
+}
+
+.glyphicon-volume-up:before {
+ content: "\e038";
+}
+
+.glyphicon-qrcode:before {
+ content: "\e039";
+}
+
+.glyphicon-barcode:before {
+ content: "\e040";
+}
+
+.glyphicon-tag:before {
+ content: "\e041";
+}
+
+.glyphicon-tags:before {
+ content: "\e042";
+}
+
+.glyphicon-book:before {
+ content: "\e043";
+}
+
+.glyphicon-bookmark:before {
+ content: "\e044";
+}
+
+.glyphicon-print:before {
+ content: "\e045";
+}
+
+.glyphicon-camera:before {
+ content: "\e046";
+}
+
+.glyphicon-font:before {
+ content: "\e047";
+}
+
+.glyphicon-bold:before {
+ content: "\e048";
+}
+
+.glyphicon-italic:before {
+ content: "\e049";
+}
+
+.glyphicon-text-height:before {
+ content: "\e050";
+}
+
+.glyphicon-text-width:before {
+ content: "\e051";
+}
+
+.glyphicon-align-left:before {
+ content: "\e052";
+}
+
+.glyphicon-align-center:before {
+ content: "\e053";
+}
+
+.glyphicon-align-right:before {
+ content: "\e054";
+}
+
+.glyphicon-align-justify:before {
+ content: "\e055";
+}
+
+.glyphicon-list:before {
+ content: "\e056";
+}
+
+.glyphicon-indent-left:before {
+ content: "\e057";
+}
+
+.glyphicon-indent-right:before {
+ content: "\e058";
+}
+
+.glyphicon-facetime-video:before {
+ content: "\e059";
+}
+
+.glyphicon-picture:before {
+ content: "\e060";
+}
+
+.glyphicon-map-marker:before {
+ content: "\e062";
+}
+
+.glyphicon-adjust:before {
+ content: "\e063";
+}
+
+.glyphicon-tint:before {
+ content: "\e064";
+}
+
+.glyphicon-edit:before {
+ content: "\e065";
+}
+
+.glyphicon-share:before {
+ content: "\e066";
+}
+
+.glyphicon-check:before {
+ content: "\e067";
+}
+
+.glyphicon-move:before {
+ content: "\e068";
+}
+
+.glyphicon-step-backward:before {
+ content: "\e069";
+}
+
+.glyphicon-fast-backward:before {
+ content: "\e070";
+}
+
+.glyphicon-backward:before {
+ content: "\e071";
+}
+
+.glyphicon-play:before {
+ content: "\e072";
+}
+
+.glyphicon-pause:before {
+ content: "\e073";
+}
+
+.glyphicon-stop:before {
+ content: "\e074";
+}
+
+.glyphicon-forward:before {
+ content: "\e075";
+}
+
+.glyphicon-fast-forward:before {
+ content: "\e076";
+}
+
+.glyphicon-step-forward:before {
+ content: "\e077";
+}
+
+.glyphicon-eject:before {
+ content: "\e078";
+}
+
+.glyphicon-chevron-left:before {
+ content: "\e079";
+}
+
+.glyphicon-chevron-right:before {
+ content: "\e080";
+}
+
+.glyphicon-plus-sign:before {
+ content: "\e081";
+}
+
+.glyphicon-minus-sign:before {
+ content: "\e082";
+}
+
+.glyphicon-remove-sign:before {
+ content: "\e083";
+}
+
+.glyphicon-ok-sign:before {
+ content: "\e084";
+}
+
+.glyphicon-question-sign:before {
+ content: "\e085";
+}
+
+.glyphicon-info-sign:before {
+ content: "\e086";
+}
+
+.glyphicon-screenshot:before {
+ content: "\e087";
+}
+
+.glyphicon-remove-circle:before {
+ content: "\e088";
+}
+
+.glyphicon-ok-circle:before {
+ content: "\e089";
+}
+
+.glyphicon-ban-circle:before {
+ content: "\e090";
+}
+
+.glyphicon-arrow-left:before {
+ content: "\e091";
+}
+
+.glyphicon-arrow-right:before {
+ content: "\e092";
+}
+
+.glyphicon-arrow-up:before {
+ content: "\e093";
+}
+
+.glyphicon-arrow-down:before {
+ content: "\e094";
+}
+
+.glyphicon-share-alt:before {
+ content: "\e095";
+}
+
+.glyphicon-resize-full:before {
+ content: "\e096";
+}
+
+.glyphicon-resize-small:before {
+ content: "\e097";
+}
+
+.glyphicon-exclamation-sign:before {
+ content: "\e101";
+}
+
+.glyphicon-gift:before {
+ content: "\e102";
+}
+
+.glyphicon-leaf:before {
+ content: "\e103";
+}
+
+.glyphicon-fire:before {
+ content: "\e104";
+}
+
+.glyphicon-eye-open:before {
+ content: "\e105";
+}
+
+.glyphicon-eye-close:before {
+ content: "\e106";
+}
+
+.glyphicon-warning-sign:before {
+ content: "\e107";
+}
+
+.glyphicon-plane:before {
+ content: "\e108";
+}
+
+.glyphicon-calendar:before {
+ content: "\e109";
+}
+
+.glyphicon-random:before {
+ content: "\e110";
+}
+
+.glyphicon-comment:before {
+ content: "\e111";
+}
+
+.glyphicon-magnet:before {
+ content: "\e112";
+}
+
+.glyphicon-chevron-up:before {
+ content: "\e113";
+}
+
+.glyphicon-chevron-down:before {
+ content: "\e114";
+}
+
+.glyphicon-retweet:before {
+ content: "\e115";
+}
+
+.glyphicon-shopping-cart:before {
+ content: "\e116";
+}
+
+.glyphicon-folder-close:before {
+ content: "\e117";
+}
+
+.glyphicon-folder-open:before {
+ content: "\e118";
+}
+
+.glyphicon-resize-vertical:before {
+ content: "\e119";
+}
+
+.glyphicon-resize-horizontal:before {
+ content: "\e120";
+}
+
+.glyphicon-hdd:before {
+ content: "\e121";
+}
+
+.glyphicon-bullhorn:before {
+ content: "\e122";
+}
+
+.glyphicon-bell:before {
+ content: "\e123";
+}
+
+.glyphicon-certificate:before {
+ content: "\e124";
+}
+
+.glyphicon-thumbs-up:before {
+ content: "\e125";
+}
+
+.glyphicon-thumbs-down:before {
+ content: "\e126";
+}
+
+.glyphicon-hand-right:before {
+ content: "\e127";
+}
+
+.glyphicon-hand-left:before {
+ content: "\e128";
+}
+
+.glyphicon-hand-up:before {
+ content: "\e129";
+}
+
+.glyphicon-hand-down:before {
+ content: "\e130";
+}
+
+.glyphicon-circle-arrow-right:before {
+ content: "\e131";
+}
+
+.glyphicon-circle-arrow-left:before {
+ content: "\e132";
+}
+
+.glyphicon-circle-arrow-up:before {
+ content: "\e133";
+}
+
+.glyphicon-circle-arrow-down:before {
+ content: "\e134";
+}
+
+.glyphicon-globe:before {
+ content: "\e135";
+}
+
+.glyphicon-wrench:before {
+ content: "\e136";
+}
+
+.glyphicon-tasks:before {
+ content: "\e137";
+}
+
+.glyphicon-filter:before {
+ content: "\e138";
+}
+
+.glyphicon-briefcase:before {
+ content: "\e139";
+}
+
+.glyphicon-fullscreen:before {
+ content: "\e140";
+}
+
+.glyphicon-dashboard:before {
+ content: "\e141";
+}
+
+.glyphicon-paperclip:before {
+ content: "\e142";
+}
+
+.glyphicon-heart-empty:before {
+ content: "\e143";
+}
+
+.glyphicon-link:before {
+ content: "\e144";
+}
+
+.glyphicon-phone:before {
+ content: "\e145";
+}
+
+.glyphicon-pushpin:before {
+ content: "\e146";
+}
+
+.glyphicon-usd:before {
+ content: "\e148";
+}
+
+.glyphicon-gbp:before {
+ content: "\e149";
+}
+
+.glyphicon-sort:before {
+ content: "\e150";
+}
+
+.glyphicon-sort-by-alphabet:before {
+ content: "\e151";
+}
+
+.glyphicon-sort-by-alphabet-alt:before {
+ content: "\e152";
+}
+
+.glyphicon-sort-by-order:before {
+ content: "\e153";
+}
+
+.glyphicon-sort-by-order-alt:before {
+ content: "\e154";
+}
+
+.glyphicon-sort-by-attributes:before {
+ content: "\e155";
+}
+
+.glyphicon-sort-by-attributes-alt:before {
+ content: "\e156";
+}
+
+.glyphicon-unchecked:before {
+ content: "\e157";
+}
+
+.glyphicon-expand:before {
+ content: "\e158";
+}
+
+.glyphicon-collapse-down:before {
+ content: "\e159";
+}
+
+.glyphicon-collapse-up:before {
+ content: "\e160";
+}
+
+.glyphicon-log-in:before {
+ content: "\e161";
+}
+
+.glyphicon-flash:before {
+ content: "\e162";
+}
+
+.glyphicon-log-out:before {
+ content: "\e163";
+}
+
+.glyphicon-new-window:before {
+ content: "\e164";
+}
+
+.glyphicon-record:before {
+ content: "\e165";
+}
+
+.glyphicon-save:before {
+ content: "\e166";
+}
+
+.glyphicon-open:before {
+ content: "\e167";
+}
+
+.glyphicon-saved:before {
+ content: "\e168";
+}
+
+.glyphicon-import:before {
+ content: "\e169";
+}
+
+.glyphicon-export:before {
+ content: "\e170";
+}
+
+.glyphicon-send:before {
+ content: "\e171";
+}
+
+.glyphicon-floppy-disk:before {
+ content: "\e172";
+}
+
+.glyphicon-floppy-saved:before {
+ content: "\e173";
+}
+
+.glyphicon-floppy-remove:before {
+ content: "\e174";
+}
+
+.glyphicon-floppy-save:before {
+ content: "\e175";
+}
+
+.glyphicon-floppy-open:before {
+ content: "\e176";
+}
+
+.glyphicon-credit-card:before {
+ content: "\e177";
+}
+
+.glyphicon-transfer:before {
+ content: "\e178";
+}
+
+.glyphicon-cutlery:before {
+ content: "\e179";
+}
+
+.glyphicon-header:before {
+ content: "\e180";
+}
+
+.glyphicon-compressed:before {
+ content: "\e181";
+}
+
+.glyphicon-earphone:before {
+ content: "\e182";
+}
+
+.glyphicon-phone-alt:before {
+ content: "\e183";
+}
+
+.glyphicon-tower:before {
+ content: "\e184";
+}
+
+.glyphicon-stats:before {
+ content: "\e185";
+}
+
+.glyphicon-sd-video:before {
+ content: "\e186";
+}
+
+.glyphicon-hd-video:before {
+ content: "\e187";
+}
+
+.glyphicon-subtitles:before {
+ content: "\e188";
+}
+
+.glyphicon-sound-stereo:before {
+ content: "\e189";
+}
+
+.glyphicon-sound-dolby:before {
+ content: "\e190";
+}
+
+.glyphicon-sound-5-1:before {
+ content: "\e191";
+}
+
+.glyphicon-sound-6-1:before {
+ content: "\e192";
+}
+
+.glyphicon-sound-7-1:before {
+ content: "\e193";
+}
+
+.glyphicon-copyright-mark:before {
+ content: "\e194";
+}
+
+.glyphicon-registration-mark:before {
+ content: "\e195";
+}
+
+.glyphicon-cloud-download:before {
+ content: "\e197";
+}
+
+.glyphicon-cloud-upload:before {
+ content: "\e198";
+}
+
+.glyphicon-tree-conifer:before {
+ content: "\e199";
+}
+
+.glyphicon-tree-deciduous:before {
+ content: "\e200";
+}
+
+.caret {
+ display: inline-block;
+ width: 0;
+ height: 0;
+ margin-left: 2px;
+ vertical-align: middle;
+ border-top: 4px solid #000000;
+ border-right: 4px solid transparent;
+ border-bottom: 0 dotted;
+ border-left: 4px solid transparent;
+}
+
+.dropdown {
+ position: relative;
+}
+
+.dropdown-toggle:focus {
+ outline: 0;
+}
+
+.dropdown-menu {
+ position: absolute;
+ top: 100%;
+ left: 0;
+ z-index: 1000;
+ display: none;
+ float: left;
+ min-width: 160px;
+ padding: 5px 0;
+ margin: 2px 0 0;
+ font-size: 14px;
+ list-style: none;
+ background-color: #ffffff;
+ border: 1px solid #cccccc;
+ border: 1px solid rgba(0, 0, 0, 0.15);
+ border-radius: 4px;
+ -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
+ box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
+ background-clip: padding-box;
+}
+
+.dropdown-menu.pull-right {
+ right: 0;
+ left: auto;
+}
+
+.dropdown-menu .divider {
+ height: 1px;
+ margin: 9px 0;
+ overflow: hidden;
+ background-color: #e5e5e5;
+}
+
+.dropdown-menu > li > a {
+ display: block;
+ padding: 3px 20px;
+ clear: both;
+ font-weight: normal;
+ line-height: 1.428571429;
+ color: #333333;
+ white-space: nowrap;
+}
+
+.dropdown-menu > li > a:hover,
+.dropdown-menu > li > a:focus {
+ color: #262626;
+ text-decoration: none;
+ background-color: #f5f5f5;
+}
+
+.dropdown-menu > .active > a,
+.dropdown-menu > .active > a:hover,
+.dropdown-menu > .active > a:focus {
+ color: #ffffff;
+ text-decoration: none;
+ background-color: #428bca;
+ outline: 0;
+}
+
+.dropdown-menu > .disabled > a,
+.dropdown-menu > .disabled > a:hover,
+.dropdown-menu > .disabled > a:focus {
+ color: #999999;
+}
+
+.dropdown-menu > .disabled > a:hover,
+.dropdown-menu > .disabled > a:focus {
+ text-decoration: none;
+ cursor: not-allowed;
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
+}
+
+.open > .dropdown-menu {
+ display: block;
+}
+
+.open > a {
+ outline: 0;
+}
+
+.dropdown-header {
+ display: block;
+ padding: 3px 20px;
+ font-size: 12px;
+ line-height: 1.428571429;
+ color: #999999;
+}
+
+.dropdown-backdrop {
+ position: fixed;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 990;
+}
+
+.pull-right > .dropdown-menu {
+ right: 0;
+ left: auto;
+}
+
+.dropup .caret,
+.navbar-fixed-bottom .dropdown .caret {
+ border-top: 0 dotted;
+ border-bottom: 4px solid #000000;
+ content: "";
+}
+
+.dropup .dropdown-menu,
+.navbar-fixed-bottom .dropdown .dropdown-menu {
+ top: auto;
+ bottom: 100%;
+ margin-bottom: 1px;
+}
+
+@media (min-width: 768px) {
+ .navbar-right .dropdown-menu {
+ right: 0;
+ left: auto;
+ }
+}
+
+.btn-default .caret {
+ border-top-color: #333333;
+}
+
+.btn-primary .caret,
+.btn-success .caret,
+.btn-warning .caret,
+.btn-danger .caret,
+.btn-info .caret {
+ border-top-color: #fff;
+}
+
+.dropup .btn-default .caret {
+ border-bottom-color: #333333;
+}
+
+.dropup .btn-primary .caret,
+.dropup .btn-success .caret,
+.dropup .btn-warning .caret,
+.dropup .btn-danger .caret,
+.dropup .btn-info .caret {
+ border-bottom-color: #fff;
+}
+
+.btn-group,
+.btn-group-vertical {
+ position: relative;
+ display: inline-block;
+ vertical-align: middle;
+}
+
+.btn-group > .btn,
+.btn-group-vertical > .btn {
+ position: relative;
+ float: left;
+}
+
+.btn-group > .btn:hover,
+.btn-group-vertical > .btn:hover,
+.btn-group > .btn:focus,
+.btn-group-vertical > .btn:focus,
+.btn-group > .btn:active,
+.btn-group-vertical > .btn:active,
+.btn-group > .btn.active,
+.btn-group-vertical > .btn.active {
+ z-index: 2;
+}
+
+.btn-group > .btn:focus,
+.btn-group-vertical > .btn:focus {
+ outline: none;
+}
+
+.btn-group .btn + .btn,
+.btn-group .btn + .btn-group,
+.btn-group .btn-group + .btn,
+.btn-group .btn-group + .btn-group {
+ margin-left: -1px;
+}
+
+.btn-toolbar:before,
+.btn-toolbar:after {
+ display: table;
+ content: " ";
+}
+
+.btn-toolbar:after {
+ clear: both;
+}
+
+.btn-toolbar:before,
+.btn-toolbar:after {
+ display: table;
+ content: " ";
+}
+
+.btn-toolbar:after {
+ clear: both;
+}
+
+.btn-toolbar .btn-group {
+ float: left;
+}
+
+.btn-toolbar > .btn + .btn,
+.btn-toolbar > .btn-group + .btn,
+.btn-toolbar > .btn + .btn-group,
+.btn-toolbar > .btn-group + .btn-group {
+ margin-left: 5px;
+}
+
+.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
+ border-radius: 0;
+}
+
+.btn-group > .btn:first-child {
+ margin-left: 0;
+}
+
+.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+}
+
+.btn-group > .btn:last-child:not(:first-child),
+.btn-group > .dropdown-toggle:not(:first-child) {
+ border-bottom-left-radius: 0;
+ border-top-left-radius: 0;
+}
+
+.btn-group > .btn-group {
+ float: left;
+}
+
+.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
+ border-radius: 0;
+}
+
+.btn-group > .btn-group:first-child > .btn:last-child,
+.btn-group > .btn-group:first-child > .dropdown-toggle {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+}
+
+.btn-group > .btn-group:last-child > .btn:first-child {
+ border-bottom-left-radius: 0;
+ border-top-left-radius: 0;
+}
+
+.btn-group .dropdown-toggle:active,
+.btn-group.open .dropdown-toggle {
+ outline: 0;
+}
+
+.btn-group-xs > .btn {
+ padding: 5px 10px;
+ padding: 1px 5px;
+ font-size: 12px;
+ line-height: 1.5;
+ border-radius: 3px;
+}
+
+.btn-group-sm > .btn {
+ padding: 5px 10px;
+ font-size: 12px;
+ line-height: 1.5;
+ border-radius: 3px;
+}
+
+.btn-group-lg > .btn {
+ padding: 10px 16px;
+ font-size: 18px;
+ line-height: 1.33;
+ border-radius: 6px;
+}
+
+.btn-group > .btn + .dropdown-toggle {
+ padding-right: 8px;
+ padding-left: 8px;
+}
+
+.btn-group > .btn-lg + .dropdown-toggle {
+ padding-right: 12px;
+ padding-left: 12px;
+}
+
+.btn-group.open .dropdown-toggle {
+ -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+}
+
+.btn-group.open .dropdown-toggle.btn-link {
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+
+.btn .caret {
+ margin-left: 0;
+}
+
+.btn-lg .caret {
+ border-width: 5px 5px 0;
+ border-bottom-width: 0;
+}
+
+.dropup .btn-lg .caret {
+ border-width: 0 5px 5px;
+}
+
+.btn-group-vertical > .btn,
+.btn-group-vertical > .btn-group {
+ display: block;
+ float: none;
+ width: 100%;
+ max-width: 100%;
+}
+
+.btn-group-vertical > .btn-group:before,
+.btn-group-vertical > .btn-group:after {
+ display: table;
+ content: " ";
+}
+
+.btn-group-vertical > .btn-group:after {
+ clear: both;
+}
+
+.btn-group-vertical > .btn-group:before,
+.btn-group-vertical > .btn-group:after {
+ display: table;
+ content: " ";
+}
+
+.btn-group-vertical > .btn-group:after {
+ clear: both;
+}
+
+.btn-group-vertical > .btn-group > .btn {
+ float: none;
+}
+
+.btn-group-vertical > .btn + .btn,
+.btn-group-vertical > .btn + .btn-group,
+.btn-group-vertical > .btn-group + .btn,
+.btn-group-vertical > .btn-group + .btn-group {
+ margin-top: -1px;
+ margin-left: 0;
+}
+
+.btn-group-vertical > .btn:not(:first-child):not(:last-child) {
+ border-radius: 0;
+}
+
+.btn-group-vertical > .btn:first-child:not(:last-child) {
+ border-top-right-radius: 4px;
+ border-bottom-right-radius: 0;
+ border-bottom-left-radius: 0;
+}
+
+.btn-group-vertical > .btn:last-child:not(:first-child) {
+ border-top-right-radius: 0;
+ border-bottom-left-radius: 4px;
+ border-top-left-radius: 0;
+}
+
+.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
+ border-radius: 0;
+}
+
+.btn-group-vertical > .btn-group:first-child > .btn:last-child,
+.btn-group-vertical > .btn-group:first-child > .dropdown-toggle {
+ border-bottom-right-radius: 0;
+ border-bottom-left-radius: 0;
+}
+
+.btn-group-vertical > .btn-group:last-child > .btn:first-child {
+ border-top-right-radius: 0;
+ border-top-left-radius: 0;
+}
+
+.btn-group-justified {
+ display: table;
+ width: 100%;
+ border-collapse: separate;
+ table-layout: fixed;
+}
+
+.btn-group-justified .btn {
+ display: table-cell;
+ float: none;
+ width: 1%;
+}
+
+[data-toggle="buttons"] > .btn > input[type="radio"],
+[data-toggle="buttons"] > .btn > input[type="checkbox"] {
+ display: none;
+}
+
+.input-group {
+ position: relative;
+ display: table;
+ border-collapse: separate;
+}
+
+.input-group.col {
+ float: none;
+ padding-right: 0;
+ padding-left: 0;
+}
+
+.input-group .form-control {
+ width: 100%;
+ margin-bottom: 0;
+}
+
+.input-group-lg > .form-control,
+.input-group-lg > .input-group-addon,
+.input-group-lg > .input-group-btn > .btn {
+ height: 45px;
+ padding: 10px 16px;
+ font-size: 18px;
+ line-height: 1.33;
+ border-radius: 6px;
+}
+
+select.input-group-lg > .form-control,
+select.input-group-lg > .input-group-addon,
+select.input-group-lg > .input-group-btn > .btn {
+ height: 45px;
+ line-height: 45px;
+}
+
+textarea.input-group-lg > .form-control,
+textarea.input-group-lg > .input-group-addon,
+textarea.input-group-lg > .input-group-btn > .btn {
+ height: auto;
+}
+
+.input-group-sm > .form-control,
+.input-group-sm > .input-group-addon,
+.input-group-sm > .input-group-btn > .btn {
+ height: 30px;
+ padding: 5px 10px;
+ font-size: 12px;
+ line-height: 1.5;
+ border-radius: 3px;
+}
+
+select.input-group-sm > .form-control,
+select.input-group-sm > .input-group-addon,
+select.input-group-sm > .input-group-btn > .btn {
+ height: 30px;
+ line-height: 30px;
+}
+
+textarea.input-group-sm > .form-control,
+textarea.input-group-sm > .input-group-addon,
+textarea.input-group-sm > .input-group-btn > .btn {
+ height: auto;
+}
+
+.input-group-addon,
+.input-group-btn,
+.input-group .form-control {
+ display: table-cell;
+}
+
+.input-group-addon:not(:first-child):not(:last-child),
+.input-group-btn:not(:first-child):not(:last-child),
+.input-group .form-control:not(:first-child):not(:last-child) {
+ border-radius: 0;
+}
+
+.input-group-addon,
+.input-group-btn {
+ width: 1%;
+ white-space: nowrap;
+ vertical-align: middle;
+}
+
+.input-group-addon {
+ padding: 6px 12px;
+ font-size: 14px;
+ font-weight: normal;
+ line-height: 1;
+ color: #555555;
+ text-align: center;
+ background-color: #eeeeee;
+ border: 1px solid #cccccc;
+ border-radius: 4px;
+}
+
+.input-group-addon.input-sm {
+ padding: 5px 10px;
+ font-size: 12px;
+ border-radius: 3px;
+}
+
+.input-group-addon.input-lg {
+ padding: 10px 16px;
+ font-size: 18px;
+ border-radius: 6px;
+}
+
+.input-group-addon input[type="radio"],
+.input-group-addon input[type="checkbox"] {
+ margin-top: 0;
+}
+
+.input-group .form-control:first-child,
+.input-group-addon:first-child,
+.input-group-btn:first-child > .btn,
+.input-group-btn:first-child > .dropdown-toggle,
+.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle) {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+}
+
+.input-group-addon:first-child {
+ border-right: 0;
+}
+
+.input-group .form-control:last-child,
+.input-group-addon:last-child,
+.input-group-btn:last-child > .btn,
+.input-group-btn:last-child > .dropdown-toggle,
+.input-group-btn:first-child > .btn:not(:first-child) {
+ border-bottom-left-radius: 0;
+ border-top-left-radius: 0;
+}
+
+.input-group-addon:last-child {
+ border-left: 0;
+}
+
+.input-group-btn {
+ position: relative;
+ white-space: nowrap;
+}
+
+.input-group-btn:first-child > .btn {
+ margin-right: -1px;
+}
+
+.input-group-btn:last-child > .btn {
+ margin-left: -1px;
+}
+
+.input-group-btn > .btn {
+ position: relative;
+}
+
+.input-group-btn > .btn + .btn {
+ margin-left: -4px;
+}
+
+.input-group-btn > .btn:hover,
+.input-group-btn > .btn:active {
+ z-index: 2;
+}
+
+.nav {
+ padding-left: 0;
+ margin-bottom: 0;
+ list-style: none;
+}
+
+.nav:before,
+.nav:after {
+ display: table;
+ content: " ";
+}
+
+.nav:after {
+ clear: both;
+}
+
+.nav:before,
+.nav:after {
+ display: table;
+ content: " ";
+}
+
+.nav:after {
+ clear: both;
+}
+
+.nav > li {
+ position: relative;
+ display: block;
+}
+
+.nav > li > a {
+ position: relative;
+ display: block;
+ padding: 10px 15px;
+}
+
+.nav > li > a:hover,
+.nav > li > a:focus {
+ text-decoration: none;
+ background-color: #eeeeee;
+}
+
+.nav > li.disabled > a {
+ color: #999999;
+}
+
+.nav > li.disabled > a:hover,
+.nav > li.disabled > a:focus {
+ color: #999999;
+ text-decoration: none;
+ cursor: not-allowed;
+ background-color: transparent;
+}
+
+.nav .open > a,
+.nav .open > a:hover,
+.nav .open > a:focus {
+ background-color: #eeeeee;
+ border-color: #428bca;
+}
+
+.nav .open > a .caret,
+.nav .open > a:hover .caret,
+.nav .open > a:focus .caret {
+ border-top-color: #2a6496;
+ border-bottom-color: #2a6496;
+}
+
+.nav .nav-divider {
+ height: 1px;
+ margin: 9px 0;
+ overflow: hidden;
+ background-color: #e5e5e5;
+}
+
+.nav > li > a > img {
+ max-width: none;
+}
+
+.nav-tabs {
+ border-bottom: 1px solid #dddddd;
+}
+
+.nav-tabs > li {
+ float: left;
+ margin-bottom: -1px;
+}
+
+.nav-tabs > li > a {
+ margin-right: 2px;
+ line-height: 1.428571429;
+ border: 1px solid transparent;
+ border-radius: 4px 4px 0 0;
+}
+
+.nav-tabs > li > a:hover {
+ border-color: #eeeeee #eeeeee #dddddd;
+}
+
+.nav-tabs > li.active > a,
+.nav-tabs > li.active > a:hover,
+.nav-tabs > li.active > a:focus {
+ color: #555555;
+ cursor: default;
+ background-color: #ffffff;
+ border: 1px solid #dddddd;
+ border-bottom-color: transparent;
+}
+
+.nav-tabs.nav-justified {
+ width: 100%;
+ border-bottom: 0;
+}
+
+.nav-tabs.nav-justified > li {
+ float: none;
+}
+
+.nav-tabs.nav-justified > li > a {
+ margin-bottom: 5px;
+ text-align: center;
+}
+
+.nav-tabs.nav-justified > .dropdown .dropdown-menu {
+ top: auto;
+ left: auto;
+}
+
+@media (min-width: 768px) {
+ .nav-tabs.nav-justified > li {
+ display: table-cell;
+ width: 1%;
+ }
+ .nav-tabs.nav-justified > li > a {
+ margin-bottom: 0;
+ }
+}
+
+.nav-tabs.nav-justified > li > a {
+ margin-right: 0;
+ border-radius: 4px;
+}
+
+.nav-tabs.nav-justified > .active > a,
+.nav-tabs.nav-justified > .active > a:hover,
+.nav-tabs.nav-justified > .active > a:focus {
+ border: 1px solid #dddddd;
+}
+
+@media (min-width: 768px) {
+ .nav-tabs.nav-justified > li > a {
+ border-bottom: 1px solid #dddddd;
+ border-radius: 4px 4px 0 0;
+ }
+ .nav-tabs.nav-justified > .active > a,
+ .nav-tabs.nav-justified > .active > a:hover,
+ .nav-tabs.nav-justified > .active > a:focus {
+ border-bottom-color: #ffffff;
+ }
+}
+
+.nav-pills > li {
+ float: left;
+}
+
+.nav-pills > li > a {
+ border-radius: 4px;
+}
+
+.nav-pills > li + li {
+ margin-left: 2px;
+}
+
+.nav-pills > li.active > a,
+.nav-pills > li.active > a:hover,
+.nav-pills > li.active > a:focus {
+ color: #ffffff;
+ background-color: #428bca;
+}
+
+.nav-pills > li.active > a .caret,
+.nav-pills > li.active > a:hover .caret,
+.nav-pills > li.active > a:focus .caret {
+ border-top-color: #ffffff;
+ border-bottom-color: #ffffff;
+}
+
+.nav-stacked > li {
+ float: none;
+}
+
+.nav-stacked > li + li {
+ margin-top: 2px;
+ margin-left: 0;
+}
+
+.nav-justified {
+ width: 100%;
+}
+
+.nav-justified > li {
+ float: none;
+}
+
+.nav-justified > li > a {
+ margin-bottom: 5px;
+ text-align: center;
+}
+
+.nav-justified > .dropdown .dropdown-menu {
+ top: auto;
+ left: auto;
+}
+
+@media (min-width: 768px) {
+ .nav-justified > li {
+ display: table-cell;
+ width: 1%;
+ }
+ .nav-justified > li > a {
+ margin-bottom: 0;
+ }
+}
+
+.nav-tabs-justified {
+ border-bottom: 0;
+}
+
+.nav-tabs-justified > li > a {
+ margin-right: 0;
+ border-radius: 4px;
+}
+
+.nav-tabs-justified > .active > a,
+.nav-tabs-justified > .active > a:hover,
+.nav-tabs-justified > .active > a:focus {
+ border: 1px solid #dddddd;
+}
+
+@media (min-width: 768px) {
+ .nav-tabs-justified > li > a {
+ border-bottom: 1px solid #dddddd;
+ border-radius: 4px 4px 0 0;
+ }
+ .nav-tabs-justified > .active > a,
+ .nav-tabs-justified > .active > a:hover,
+ .nav-tabs-justified > .active > a:focus {
+ border-bottom-color: #ffffff;
+ }
+}
+
+.tab-content > .tab-pane {
+ display: none;
+}
+
+.tab-content > .active {
+ display: block;
+}
+
+.nav .caret {
+ border-top-color: #428bca;
+ border-bottom-color: #428bca;
+}
+
+.nav a:hover .caret {
+ border-top-color: #2a6496;
+ border-bottom-color: #2a6496;
+}
+
+.nav-tabs .dropdown-menu {
+ margin-top: -1px;
+ border-top-right-radius: 0;
+ border-top-left-radius: 0;
+}
+
+.navbar {
+ position: relative;
+ min-height: 50px;
+ margin-bottom: 20px;
+ border: 1px solid transparent;
+}
+
+.navbar:before,
+.navbar:after {
+ display: table;
+ content: " ";
+}
+
+.navbar:after {
+ clear: both;
+}
+
+.navbar:before,
+.navbar:after {
+ display: table;
+ content: " ";
+}
+
+.navbar:after {
+ clear: both;
+}
+
+@media (min-width: 768px) {
+ .navbar {
+ border-radius: 4px;
+ }
+}
+
+.navbar-header:before,
+.navbar-header:after {
+ display: table;
+ content: " ";
+}
+
+.navbar-header:after {
+ clear: both;
+}
+
+.navbar-header:before,
+.navbar-header:after {
+ display: table;
+ content: " ";
+}
+
+.navbar-header:after {
+ clear: both;
+}
+
+@media (min-width: 768px) {
+ .navbar-header {
+ float: left;
+ }
+}
+
+.navbar-collapse {
+ max-height: 340px;
+ padding-right: 15px;
+ padding-left: 15px;
+ overflow-x: visible;
+ border-top: 1px solid transparent;
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
+ -webkit-overflow-scrolling: touch;
+}
+
+.navbar-collapse:before,
+.navbar-collapse:after {
+ display: table;
+ content: " ";
+}
+
+.navbar-collapse:after {
+ clear: both;
+}
+
+.navbar-collapse:before,
+.navbar-collapse:after {
+ display: table;
+ content: " ";
+}
+
+.navbar-collapse:after {
+ clear: both;
+}
+
+.navbar-collapse.in {
+ overflow-y: auto;
+}
+
+@media (min-width: 768px) {
+ .navbar-collapse {
+ width: auto;
+ border-top: 0;
+ box-shadow: none;
+ }
+ .navbar-collapse.collapse {
+ display: block !important;
+ height: auto !important;
+ padding-bottom: 0;
+ overflow: visible !important;
+ }
+ .navbar-collapse.in {
+ overflow-y: auto;
+ }
+ .navbar-collapse .navbar-nav.navbar-left:first-child {
+ margin-left: -15px;
+ }
+ .navbar-collapse .navbar-nav.navbar-right:last-child {
+ margin-right: -15px;
+ }
+ .navbar-collapse .navbar-text:last-child {
+ margin-right: 0;
+ }
+}
+
+.container > .navbar-header,
+.container > .navbar-collapse {
+ margin-right: -15px;
+ margin-left: -15px;
+}
+
+@media (min-width: 768px) {
+ .container > .navbar-header,
+ .container > .navbar-collapse {
+ margin-right: 0;
+ margin-left: 0;
+ }
+}
+
+.navbar-static-top {
+ z-index: 1000;
+ border-width: 0 0 1px;
+}
+
+@media (min-width: 768px) {
+ .navbar-static-top {
+ border-radius: 0;
+ }
+}
+
+.navbar-fixed-top,
+.navbar-fixed-bottom {
+ position: fixed;
+ right: 0;
+ left: 0;
+ z-index: 1030;
+}
+
+@media (min-width: 768px) {
+ .navbar-fixed-top,
+ .navbar-fixed-bottom {
+ border-radius: 0;
+ }
+}
+
+.navbar-fixed-top {
+ top: 0;
+ border-width: 0 0 1px;
+}
+
+.navbar-fixed-bottom {
+ bottom: 0;
+ margin-bottom: 0;
+ border-width: 1px 0 0;
+}
+
+.navbar-brand {
+ float: left;
+ padding: 15px 15px;
+ font-size: 18px;
+ line-height: 20px;
+}
+
+.navbar-brand:hover,
+.navbar-brand:focus {
+ text-decoration: none;
+}
+
+@media (min-width: 768px) {
+ .navbar > .container .navbar-brand {
+ margin-left: -15px;
+ }
+}
+
+.navbar-toggle {
+ position: relative;
+ float: right;
+ padding: 9px 10px;
+ margin-top: 8px;
+ margin-right: 15px;
+ margin-bottom: 8px;
+ background-color: transparent;
+ border: 1px solid transparent;
+ border-radius: 4px;
+}
+
+.navbar-toggle .icon-bar {
+ display: block;
+ width: 22px;
+ height: 2px;
+ border-radius: 1px;
+}
+
+.navbar-toggle .icon-bar + .icon-bar {
+ margin-top: 4px;
+}
+
+@media (min-width: 768px) {
+ .navbar-toggle {
+ display: none;
+ }
+}
+
+.navbar-nav {
+ margin: 7.5px -15px;
+}
+
+.navbar-nav > li > a {
+ padding-top: 10px;
+ padding-bottom: 10px;
+ line-height: 20px;
+}
+
+@media (max-width: 767px) {
+ .navbar-nav .open .dropdown-menu {
+ position: static;
+ float: none;
+ width: auto;
+ margin-top: 0;
+ background-color: transparent;
+ border: 0;
+ box-shadow: none;
+ }
+ .navbar-nav .open .dropdown-menu > li > a,
+ .navbar-nav .open .dropdown-menu .dropdown-header {
+ padding: 5px 15px 5px 25px;
+ }
+ .navbar-nav .open .dropdown-menu > li > a {
+ line-height: 20px;
+ }
+ .navbar-nav .open .dropdown-menu > li > a:hover,
+ .navbar-nav .open .dropdown-menu > li > a:focus {
+ background-image: none;
+ }
+}
+
+@media (min-width: 768px) {
+ .navbar-nav {
+ float: left;
+ margin: 0;
+ }
+ .navbar-nav > li {
+ float: left;
+ }
+ .navbar-nav > li > a {
+ padding-top: 15px;
+ padding-bottom: 15px;
+ }
+}
+
+@media (min-width: 768px) {
+ .navbar-left {
+ float: left !important;
+ }
+ .navbar-right {
+ float: right !important;
+ }
+}
+
+.navbar-form {
+ padding: 10px 15px;
+ margin-top: 8px;
+ margin-right: -15px;
+ margin-bottom: 8px;
+ margin-left: -15px;
+ border-top: 1px solid transparent;
+ border-bottom: 1px solid transparent;
+ -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
+}
+
+@media (min-width: 768px) {
+ .navbar-form .form-group {
+ display: inline-block;
+ margin-bottom: 0;
+ vertical-align: middle;
+ }
+ .navbar-form .form-control {
+ display: inline-block;
+ }
+ .navbar-form .radio,
+ .navbar-form .checkbox {
+ display: inline-block;
+ padding-left: 0;
+ margin-top: 0;
+ margin-bottom: 0;
+ }
+ .navbar-form .radio input[type="radio"],
+ .navbar-form .checkbox input[type="checkbox"] {
+ float: none;
+ margin-left: 0;
+ }
+}
+
+@media (max-width: 767px) {
+ .navbar-form .form-group {
+ margin-bottom: 5px;
+ }
+}
+
+@media (min-width: 768px) {
+ .navbar-form {
+ width: auto;
+ padding-top: 0;
+ padding-bottom: 0;
+ margin-right: 0;
+ margin-left: 0;
+ border: 0;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+ }
+}
+
+.navbar-nav > li > .dropdown-menu {
+ margin-top: 0;
+ border-top-right-radius: 0;
+ border-top-left-radius: 0;
+}
+
+.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
+ border-bottom-right-radius: 0;
+ border-bottom-left-radius: 0;
+}
+
+.navbar-nav.pull-right > li > .dropdown-menu,
+.navbar-nav > li > .dropdown-menu.pull-right {
+ right: 0;
+ left: auto;
+}
+
+.navbar-btn {
+ margin-top: 8px;
+ margin-bottom: 8px;
+}
+
+.navbar-text {
+ float: left;
+ margin-top: 15px;
+ margin-bottom: 15px;
+}
+
+@media (min-width: 768px) {
+ .navbar-text {
+ margin-right: 15px;
+ margin-left: 15px;
+ }
+}
+
+.navbar-default {
+ background-color: #f8f8f8;
+ border-color: #e7e7e7;
+}
+
+.navbar-default .navbar-brand {
+ color: #777777;
+}
+
+.navbar-default .navbar-brand:hover,
+.navbar-default .navbar-brand:focus {
+ color: #5e5e5e;
+ background-color: transparent;
+}
+
+.navbar-default .navbar-text {
+ color: #777777;
+}
+
+.navbar-default .navbar-nav > li > a {
+ color: #777777;
+}
+
+.navbar-default .navbar-nav > li > a:hover,
+.navbar-default .navbar-nav > li > a:focus {
+ color: #333333;
+ background-color: transparent;
+}
+
+.navbar-default .navbar-nav > .active > a,
+.navbar-default .navbar-nav > .active > a:hover,
+.navbar-default .navbar-nav > .active > a:focus {
+ color: #555555;
+ background-color: #e7e7e7;
+}
+
+.navbar-default .navbar-nav > .disabled > a,
+.navbar-default .navbar-nav > .disabled > a:hover,
+.navbar-default .navbar-nav > .disabled > a:focus {
+ color: #cccccc;
+ background-color: transparent;
+}
+
+.navbar-default .navbar-toggle {
+ border-color: #dddddd;
+}
+
+.navbar-default .navbar-toggle:hover,
+.navbar-default .navbar-toggle:focus {
+ background-color: #dddddd;
+}
+
+.navbar-default .navbar-toggle .icon-bar {
+ background-color: #cccccc;
+}
+
+.navbar-default .navbar-collapse,
+.navbar-default .navbar-form {
+ border-color: #e7e7e7;
+}
+
+.navbar-default .navbar-nav > .dropdown > a:hover .caret,
+.navbar-default .navbar-nav > .dropdown > a:focus .caret {
+ border-top-color: #333333;
+ border-bottom-color: #333333;
+}
+
+.navbar-default .navbar-nav > .open > a,
+.navbar-default .navbar-nav > .open > a:hover,
+.navbar-default .navbar-nav > .open > a:focus {
+ color: #555555;
+ background-color: #e7e7e7;
+}
+
+.navbar-default .navbar-nav > .open > a .caret,
+.navbar-default .navbar-nav > .open > a:hover .caret,
+.navbar-default .navbar-nav > .open > a:focus .caret {
+ border-top-color: #555555;
+ border-bottom-color: #555555;
+}
+
+.navbar-default .navbar-nav > .dropdown > a .caret {
+ border-top-color: #777777;
+ border-bottom-color: #777777;
+}
+
+@media (max-width: 767px) {
+ .navbar-default .navbar-nav .open .dropdown-menu > li > a {
+ color: #777777;
+ }
+ .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
+ .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
+ color: #333333;
+ background-color: transparent;
+ }
+ .navbar-default .navbar-nav .open .dropdown-menu > .active > a,
+ .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,
+ .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
+ color: #555555;
+ background-color: #e7e7e7;
+ }
+ .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,
+ .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,
+ .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {
+ color: #cccccc;
+ background-color: transparent;
+ }
+}
+
+.navbar-default .navbar-link {
+ color: #777777;
+}
+
+.navbar-default .navbar-link:hover {
+ color: #333333;
+}
+
+.navbar-inverse {
+ background-color: #222222;
+ border-color: #080808;
+}
+
+.navbar-inverse .navbar-brand {
+ color: #999999;
+}
+
+.navbar-inverse .navbar-brand:hover,
+.navbar-inverse .navbar-brand:focus {
+ color: #ffffff;
+ background-color: transparent;
+}
+
+.navbar-inverse .navbar-text {
+ color: #999999;
+}
+
+.navbar-inverse .navbar-nav > li > a {
+ color: #999999;
+}
+
+.navbar-inverse .navbar-nav > li > a:hover,
+.navbar-inverse .navbar-nav > li > a:focus {
+ color: #ffffff;
+ background-color: transparent;
+}
+
+.navbar-inverse .navbar-nav > .active > a,
+.navbar-inverse .navbar-nav > .active > a:hover,
+.navbar-inverse .navbar-nav > .active > a:focus {
+ color: #ffffff;
+ background-color: #080808;
+}
+
+.navbar-inverse .navbar-nav > .disabled > a,
+.navbar-inverse .navbar-nav > .disabled > a:hover,
+.navbar-inverse .navbar-nav > .disabled > a:focus {
+ color: #444444;
+ background-color: transparent;
+}
+
+.navbar-inverse .navbar-toggle {
+ border-color: #333333;
+}
+
+.navbar-inverse .navbar-toggle:hover,
+.navbar-inverse .navbar-toggle:focus {
+ background-color: #333333;
+}
+
+.navbar-inverse .navbar-toggle .icon-bar {
+ background-color: #ffffff;
+}
+
+.navbar-inverse .navbar-collapse,
+.navbar-inverse .navbar-form {
+ border-color: #101010;
+}
+
+.navbar-inverse .navbar-nav > .open > a,
+.navbar-inverse .navbar-nav > .open > a:hover,
+.navbar-inverse .navbar-nav > .open > a:focus {
+ color: #ffffff;
+ background-color: #080808;
+}
+
+.navbar-inverse .navbar-nav > .dropdown > a:hover .caret {
+ border-top-color: #ffffff;
+ border-bottom-color: #ffffff;
+}
+
+.navbar-inverse .navbar-nav > .dropdown > a .caret {
+ border-top-color: #999999;
+ border-bottom-color: #999999;
+}
+
+.navbar-inverse .navbar-nav > .open > a .caret,
+.navbar-inverse .navbar-nav > .open > a:hover .caret,
+.navbar-inverse .navbar-nav > .open > a:focus .caret {
+ border-top-color: #ffffff;
+ border-bottom-color: #ffffff;
+}
+
+@media (max-width: 767px) {
+ .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
+ border-color: #080808;
+ }
+ .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
+ color: #999999;
+ }
+ .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,
+ .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
+ color: #ffffff;
+ background-color: transparent;
+ }
+ .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,
+ .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,
+ .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {
+ color: #ffffff;
+ background-color: #080808;
+ }
+ .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,
+ .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,
+ .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {
+ color: #444444;
+ background-color: transparent;
+ }
+}
+
+.navbar-inverse .navbar-link {
+ color: #999999;
+}
+
+.navbar-inverse .navbar-link:hover {
+ color: #ffffff;
+}
+
+.breadcrumb {
+ padding: 8px 15px;
+ margin-bottom: 20px;
+ list-style: none;
+ background-color: #f5f5f5;
+ border-radius: 4px;
+}
+
+.breadcrumb > li {
+ display: inline-block;
+}
+
+.breadcrumb > li + li:before {
+ padding: 0 5px;
+ color: #cccccc;
+ content: "/\00a0";
+}
+
+.breadcrumb > .active {
+ color: #999999;
+}
+
+.pagination {
+ display: inline-block;
+ padding-left: 0;
+ margin: 20px 0;
+ border-radius: 4px;
+}
+
+.pagination > li {
+ display: inline;
+}
+
+.pagination > li > a,
+.pagination > li > span {
+ position: relative;
+ float: left;
+ padding: 6px 12px;
+ margin-left: -1px;
+ line-height: 1.428571429;
+ text-decoration: none;
+ background-color: #ffffff;
+ border: 1px solid #dddddd;
+}
+
+.pagination > li:first-child > a,
+.pagination > li:first-child > span {
+ margin-left: 0;
+ border-bottom-left-radius: 4px;
+ border-top-left-radius: 4px;
+}
+
+.pagination > li:last-child > a,
+.pagination > li:last-child > span {
+ border-top-right-radius: 4px;
+ border-bottom-right-radius: 4px;
+}
+
+.pagination > li > a:hover,
+.pagination > li > span:hover,
+.pagination > li > a:focus,
+.pagination > li > span:focus {
+ background-color: #eeeeee;
+}
+
+.pagination > .active > a,
+.pagination > .active > span,
+.pagination > .active > a:hover,
+.pagination > .active > span:hover,
+.pagination > .active > a:focus,
+.pagination > .active > span:focus {
+ z-index: 2;
+ color: #ffffff;
+ cursor: default;
+ background-color: #428bca;
+ border-color: #428bca;
+}
+
+.pagination > .disabled > span,
+.pagination > .disabled > span:hover,
+.pagination > .disabled > span:focus,
+.pagination > .disabled > a,
+.pagination > .disabled > a:hover,
+.pagination > .disabled > a:focus {
+ color: #999999;
+ cursor: not-allowed;
+ background-color: #ffffff;
+ border-color: #dddddd;
+}
+
+.pagination-lg > li > a,
+.pagination-lg > li > span {
+ padding: 10px 16px;
+ font-size: 18px;
+}
+
+.pagination-lg > li:first-child > a,
+.pagination-lg > li:first-child > span {
+ border-bottom-left-radius: 6px;
+ border-top-left-radius: 6px;
+}
+
+.pagination-lg > li:last-child > a,
+.pagination-lg > li:last-child > span {
+ border-top-right-radius: 6px;
+ border-bottom-right-radius: 6px;
+}
+
+.pagination-sm > li > a,
+.pagination-sm > li > span {
+ padding: 5px 10px;
+ font-size: 12px;
+}
+
+.pagination-sm > li:first-child > a,
+.pagination-sm > li:first-child > span {
+ border-bottom-left-radius: 3px;
+ border-top-left-radius: 3px;
+}
+
+.pagination-sm > li:last-child > a,
+.pagination-sm > li:last-child > span {
+ border-top-right-radius: 3px;
+ border-bottom-right-radius: 3px;
+}
+
+.pager {
+ padding-left: 0;
+ margin: 20px 0;
+ text-align: center;
+ list-style: none;
+}
+
+.pager:before,
+.pager:after {
+ display: table;
+ content: " ";
+}
+
+.pager:after {
+ clear: both;
+}
+
+.pager:before,
+.pager:after {
+ display: table;
+ content: " ";
+}
+
+.pager:after {
+ clear: both;
+}
+
+.pager li {
+ display: inline;
+}
+
+.pager li > a,
+.pager li > span {
+ display: inline-block;
+ padding: 5px 14px;
+ background-color: #ffffff;
+ border: 1px solid #dddddd;
+ border-radius: 15px;
+}
+
+.pager li > a:hover,
+.pager li > a:focus {
+ text-decoration: none;
+ background-color: #eeeeee;
+}
+
+.pager .next > a,
+.pager .next > span {
+ float: right;
+}
+
+.pager .previous > a,
+.pager .previous > span {
+ float: left;
+}
+
+.pager .disabled > a,
+.pager .disabled > a:hover,
+.pager .disabled > a:focus,
+.pager .disabled > span {
+ color: #999999;
+ cursor: not-allowed;
+ background-color: #ffffff;
+}
+
+.label {
+ display: inline;
+ padding: .2em .6em .3em;
+ font-size: 75%;
+ font-weight: bold;
+ line-height: 1;
+ color: #ffffff;
+ text-align: center;
+ white-space: nowrap;
+ vertical-align: baseline;
+ border-radius: .25em;
+}
+
+.label[href]:hover,
+.label[href]:focus {
+ color: #ffffff;
+ text-decoration: none;
+ cursor: pointer;
+}
+
+.label:empty {
+ display: none;
+}
+
+.label-default {
+ background-color: #999999;
+}
+
+.label-default[href]:hover,
+.label-default[href]:focus {
+ background-color: #808080;
+}
+
+.label-primary {
+ background-color: #428bca;
+}
+
+.label-primary[href]:hover,
+.label-primary[href]:focus {
+ background-color: #3071a9;
+}
+
+.label-success {
+ background-color: #5cb85c;
+}
+
+.label-success[href]:hover,
+.label-success[href]:focus {
+ background-color: #449d44;
+}
+
+.label-info {
+ background-color: #5bc0de;
+}
+
+.label-info[href]:hover,
+.label-info[href]:focus {
+ background-color: #31b0d5;
+}
+
+.label-warning {
+ background-color: #f0ad4e;
+}
+
+.label-warning[href]:hover,
+.label-warning[href]:focus {
+ background-color: #ec971f;
+}
+
+.label-danger {
+ background-color: #d9534f;
+}
+
+.label-danger[href]:hover,
+.label-danger[href]:focus {
+ background-color: #c9302c;
+}
+
+.badge {
+ display: inline-block;
+ min-width: 10px;
+ padding: 3px 7px;
+ font-size: 12px;
+ font-weight: bold;
+ line-height: 1;
+ color: #ffffff;
+ text-align: center;
+ white-space: nowrap;
+ vertical-align: baseline;
+ background-color: #999999;
+ border-radius: 10px;
+}
+
+.badge:empty {
+ display: none;
+}
+
+a.badge:hover,
+a.badge:focus {
+ color: #ffffff;
+ text-decoration: none;
+ cursor: pointer;
+}
+
+.btn .badge {
+ position: relative;
+ top: -1px;
+}
+
+a.list-group-item.active > .badge,
+.nav-pills > .active > a > .badge {
+ color: #428bca;
+ background-color: #ffffff;
+}
+
+.nav-pills > li > a > .badge {
+ margin-left: 3px;
+}
+
+.jumbotron {
+ padding: 30px;
+ margin-bottom: 30px;
+ font-size: 21px;
+ font-weight: 200;
+ line-height: 2.1428571435;
+ color: inherit;
+ background-color: #eeeeee;
+}
+
+.jumbotron h1 {
+ line-height: 1;
+ color: inherit;
+}
+
+.jumbotron p {
+ line-height: 1.4;
+}
+
+.container .jumbotron {
+ border-radius: 6px;
+}
+
+@media screen and (min-width: 768px) {
+ .jumbotron {
+ padding-top: 48px;
+ padding-bottom: 48px;
+ }
+ .container .jumbotron {
+ padding-right: 60px;
+ padding-left: 60px;
+ }
+ .jumbotron h1 {
+ font-size: 63px;
+ }
+}
+
+.thumbnail {
+ display: inline-block;
+ display: block;
+ height: auto;
+ max-width: 100%;
+ padding: 4px;
+ margin-bottom: 20px;
+ line-height: 1.428571429;
+ background-color: #ffffff;
+ border: 1px solid #dddddd;
+ border-radius: 4px;
+ -webkit-transition: all 0.2s ease-in-out;
+ transition: all 0.2s ease-in-out;
+}
+
+.thumbnail > img {
+ display: block;
+ height: auto;
+ max-width: 100%;
+ margin-right: auto;
+ margin-left: auto;
+}
+
+a.thumbnail:hover,
+a.thumbnail:focus,
+a.thumbnail.active {
+ border-color: #428bca;
+}
+
+.thumbnail .caption {
+ padding: 9px;
+ color: #333333;
+}
+
+.alert {
+ padding: 15px;
+ margin-bottom: 20px;
+ border: 1px solid transparent;
+ border-radius: 4px;
+}
+
+.alert h4 {
+ margin-top: 0;
+ color: inherit;
+}
+
+.alert .alert-link {
+ font-weight: bold;
+}
+
+.alert > p,
+.alert > ul {
+ margin-bottom: 0;
+}
+
+.alert > p + p {
+ margin-top: 5px;
+}
+
+.alert-dismissable {
+ padding-right: 35px;
+}
+
+.alert-dismissable .close {
+ position: relative;
+ top: -2px;
+ right: -21px;
+ color: inherit;
+}
+
+.alert-success {
+ color: #468847;
+ background-color: #dff0d8;
+ border-color: #d6e9c6;
+}
+
+.alert-success hr {
+ border-top-color: #c9e2b3;
+}
+
+.alert-success .alert-link {
+ color: #356635;
+}
+
+.alert-info {
+ color: #3a87ad;
+ background-color: #d9edf7;
+ border-color: #bce8f1;
+}
+
+.alert-info hr {
+ border-top-color: #a6e1ec;
+}
+
+.alert-info .alert-link {
+ color: #2d6987;
+}
+
+.alert-warning {
+ color: #c09853;
+ background-color: #fcf8e3;
+ border-color: #faebcc;
+}
+
+.alert-warning hr {
+ border-top-color: #f7e1b5;
+}
+
+.alert-warning .alert-link {
+ color: #a47e3c;
+}
+
+.alert-danger {
+ color: #b94a48;
+ background-color: #f2dede;
+ border-color: #ebccd1;
+}
+
+.alert-danger hr {
+ border-top-color: #e4b9c0;
+}
+
+.alert-danger .alert-link {
+ color: #953b39;
+}
+
+@-webkit-keyframes progress-bar-stripes {
+ from {
+ background-position: 40px 0;
+ }
+ to {
+ background-position: 0 0;
+ }
+}
+
+@-moz-keyframes progress-bar-stripes {
+ from {
+ background-position: 40px 0;
+ }
+ to {
+ background-position: 0 0;
+ }
+}
+
+@-o-keyframes progress-bar-stripes {
+ from {
+ background-position: 0 0;
+ }
+ to {
+ background-position: 40px 0;
+ }
+}
+
+@keyframes progress-bar-stripes {
+ from {
+ background-position: 40px 0;
+ }
+ to {
+ background-position: 0 0;
+ }
+}
+
+.progress {
+ height: 20px;
+ margin-bottom: 20px;
+ overflow: hidden;
+ background-color: #f5f5f5;
+ border-radius: 4px;
+ -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
+ box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
+}
+
+.progress-bar {
+ float: left;
+ width: 0;
+ height: 100%;
+ font-size: 12px;
+ line-height: 20px;
+ color: #ffffff;
+ text-align: center;
+ background-color: #428bca;
+ -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
+ box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
+ -webkit-transition: width 0.6s ease;
+ transition: width 0.6s ease;
+}
+
+.progress-striped .progress-bar {
+ background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-size: 40px 40px;
+}
+
+.progress.active .progress-bar {
+ -webkit-animation: progress-bar-stripes 2s linear infinite;
+ animation: progress-bar-stripes 2s linear infinite;
+}
+
+.progress-bar-success {
+ background-color: #5cb85c;
+}
+
+.progress-striped .progress-bar-success {
+ background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+}
+
+.progress-bar-info {
+ background-color: #5bc0de;
+}
+
+.progress-striped .progress-bar-info {
+ background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+}
+
+.progress-bar-warning {
+ background-color: #f0ad4e;
+}
+
+.progress-striped .progress-bar-warning {
+ background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+}
+
+.progress-bar-danger {
+ background-color: #d9534f;
+}
+
+.progress-striped .progress-bar-danger {
+ background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+}
+
+.media,
+.media-body {
+ overflow: hidden;
+ zoom: 1;
+}
+
+.media,
+.media .media {
+ margin-top: 15px;
+}
+
+.media:first-child {
+ margin-top: 0;
+}
+
+.media-object {
+ display: block;
+}
+
+.media-heading {
+ margin: 0 0 5px;
+}
+
+.media > .pull-left {
+ margin-right: 10px;
+}
+
+.media > .pull-right {
+ margin-left: 10px;
+}
+
+.media-list {
+ padding-left: 0;
+ list-style: none;
+}
+
+.list-group {
+ padding-left: 0;
+ margin-bottom: 20px;
+}
+
+.list-group-item {
+ position: relative;
+ display: block;
+ padding: 10px 15px;
+ margin-bottom: -1px;
+ background-color: #ffffff;
+ border: 1px solid #dddddd;
+}
+
+.list-group-item:first-child {
+ border-top-right-radius: 4px;
+ border-top-left-radius: 4px;
+}
+
+.list-group-item:last-child {
+ margin-bottom: 0;
+ border-bottom-right-radius: 4px;
+ border-bottom-left-radius: 4px;
+}
+
+.list-group-item > .badge {
+ float: right;
+}
+
+.list-group-item > .badge + .badge {
+ margin-right: 5px;
+}
+
+a.list-group-item {
+ color: #555555;
+}
+
+a.list-group-item .list-group-item-heading {
+ color: #333333;
+}
+
+a.list-group-item:hover,
+a.list-group-item:focus {
+ text-decoration: none;
+ background-color: #f5f5f5;
+}
+
+a.list-group-item.active,
+a.list-group-item.active:hover,
+a.list-group-item.active:focus {
+ z-index: 2;
+ color: #ffffff;
+ background-color: #428bca;
+ border-color: #428bca;
+}
+
+a.list-group-item.active .list-group-item-heading,
+a.list-group-item.active:hover .list-group-item-heading,
+a.list-group-item.active:focus .list-group-item-heading {
+ color: inherit;
+}
+
+a.list-group-item.active .list-group-item-text,
+a.list-group-item.active:hover .list-group-item-text,
+a.list-group-item.active:focus .list-group-item-text {
+ color: #e1edf7;
+}
+
+.list-group-item-heading {
+ margin-top: 0;
+ margin-bottom: 5px;
+}
+
+.list-group-item-text {
+ margin-bottom: 0;
+ line-height: 1.3;
+}
+
+.panel {
+ margin-bottom: 20px;
+ background-color: #ffffff;
+ border: 1px solid transparent;
+ border-radius: 4px;
+ -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
+}
+
+.panel-body {
+ padding: 15px;
+}
+
+.panel-body:before,
+.panel-body:after {
+ display: table;
+ content: " ";
+}
+
+.panel-body:after {
+ clear: both;
+}
+
+.panel-body:before,
+.panel-body:after {
+ display: table;
+ content: " ";
+}
+
+.panel-body:after {
+ clear: both;
+}
+
+.panel > .list-group {
+ margin-bottom: 0;
+}
+
+.panel > .list-group .list-group-item {
+ border-width: 1px 0;
+}
+
+.panel > .list-group .list-group-item:first-child {
+ border-top-right-radius: 0;
+ border-top-left-radius: 0;
+}
+
+.panel > .list-group .list-group-item:last-child {
+ border-bottom: 0;
+}
+
+.panel-heading + .list-group .list-group-item:first-child {
+ border-top-width: 0;
+}
+
+.panel > .table,
+.panel > .table-responsive {
+ margin-bottom: 0;
+}
+
+.panel > .panel-body + .table,
+.panel > .panel-body + .table-responsive {
+ border-top: 1px solid #dddddd;
+}
+
+.panel > .table-bordered,
+.panel > .table-responsive > .table-bordered {
+ border: 0;
+}
+
+.panel > .table-bordered > thead > tr > th:first-child,
+.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,
+.panel > .table-bordered > tbody > tr > th:first-child,
+.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
+.panel > .table-bordered > tfoot > tr > th:first-child,
+.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,
+.panel > .table-bordered > thead > tr > td:first-child,
+.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
+.panel > .table-bordered > tbody > tr > td:first-child,
+.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
+.panel > .table-bordered > tfoot > tr > td:first-child,
+.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {
+ border-left: 0;
+}
+
+.panel > .table-bordered > thead > tr > th:last-child,
+.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,
+.panel > .table-bordered > tbody > tr > th:last-child,
+.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
+.panel > .table-bordered > tfoot > tr > th:last-child,
+.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,
+.panel > .table-bordered > thead > tr > td:last-child,
+.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
+.panel > .table-bordered > tbody > tr > td:last-child,
+.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
+.panel > .table-bordered > tfoot > tr > td:last-child,
+.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
+ border-right: 0;
+}
+
+.panel > .table-bordered > thead > tr:last-child > th,
+.panel > .table-responsive > .table-bordered > thead > tr:last-child > th,
+.panel > .table-bordered > tbody > tr:last-child > th,
+.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
+.panel > .table-bordered > tfoot > tr:last-child > th,
+.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th,
+.panel > .table-bordered > thead > tr:last-child > td,
+.panel > .table-responsive > .table-bordered > thead > tr:last-child > td,
+.panel > .table-bordered > tbody > tr:last-child > td,
+.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
+.panel > .table-bordered > tfoot > tr:last-child > td,
+.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td {
+ border-bottom: 0;
+}
+
+.panel-heading {
+ padding: 10px 15px;
+ border-bottom: 1px solid transparent;
+ border-top-right-radius: 3px;
+ border-top-left-radius: 3px;
+}
+
+.panel-heading > .dropdown .dropdown-toggle {
+ color: inherit;
+}
+
+.panel-title {
+ margin-top: 0;
+ margin-bottom: 0;
+ font-size: 16px;
+}
+
+.panel-title > a {
+ color: inherit;
+}
+
+.panel-footer {
+ padding: 10px 15px;
+ background-color: #f5f5f5;
+ border-top: 1px solid #dddddd;
+ border-bottom-right-radius: 3px;
+ border-bottom-left-radius: 3px;
+}
+
+.panel-group .panel {
+ margin-bottom: 0;
+ overflow: hidden;
+ border-radius: 4px;
+}
+
+.panel-group .panel + .panel {
+ margin-top: 5px;
+}
+
+.panel-group .panel-heading {
+ border-bottom: 0;
+}
+
+.panel-group .panel-heading + .panel-collapse .panel-body {
+ border-top: 1px solid #dddddd;
+}
+
+.panel-group .panel-footer {
+ border-top: 0;
+}
+
+.panel-group .panel-footer + .panel-collapse .panel-body {
+ border-bottom: 1px solid #dddddd;
+}
+
+.panel-default {
+ border-color: #dddddd;
+}
+
+.panel-default > .panel-heading {
+ color: #333333;
+ background-color: #f5f5f5;
+ border-color: #dddddd;
+}
+
+.panel-default > .panel-heading + .panel-collapse .panel-body {
+ border-top-color: #dddddd;
+}
+
+.panel-default > .panel-heading > .dropdown .caret {
+ border-color: #333333 transparent;
+}
+
+.panel-default > .panel-footer + .panel-collapse .panel-body {
+ border-bottom-color: #dddddd;
+}
+
+.panel-primary {
+ border-color: #428bca;
+}
+
+.panel-primary > .panel-heading {
+ color: #ffffff;
+ background-color: #428bca;
+ border-color: #428bca;
+}
+
+.panel-primary > .panel-heading + .panel-collapse .panel-body {
+ border-top-color: #428bca;
+}
+
+.panel-primary > .panel-heading > .dropdown .caret {
+ border-color: #ffffff transparent;
+}
+
+.panel-primary > .panel-footer + .panel-collapse .panel-body {
+ border-bottom-color: #428bca;
+}
+
+.panel-success {
+ border-color: #d6e9c6;
+}
+
+.panel-success > .panel-heading {
+ color: #468847;
+ background-color: #dff0d8;
+ border-color: #d6e9c6;
+}
+
+.panel-success > .panel-heading + .panel-collapse .panel-body {
+ border-top-color: #d6e9c6;
+}
+
+.panel-success > .panel-heading > .dropdown .caret {
+ border-color: #468847 transparent;
+}
+
+.panel-success > .panel-footer + .panel-collapse .panel-body {
+ border-bottom-color: #d6e9c6;
+}
+
+.panel-warning {
+ border-color: #faebcc;
+}
+
+.panel-warning > .panel-heading {
+ color: #c09853;
+ background-color: #fcf8e3;
+ border-color: #faebcc;
+}
+
+.panel-warning > .panel-heading + .panel-collapse .panel-body {
+ border-top-color: #faebcc;
+}
+
+.panel-warning > .panel-heading > .dropdown .caret {
+ border-color: #c09853 transparent;
+}
+
+.panel-warning > .panel-footer + .panel-collapse .panel-body {
+ border-bottom-color: #faebcc;
+}
+
+.panel-danger {
+ border-color: #ebccd1;
+}
+
+.panel-danger > .panel-heading {
+ color: #b94a48;
+ background-color: #f2dede;
+ border-color: #ebccd1;
+}
+
+.panel-danger > .panel-heading + .panel-collapse .panel-body {
+ border-top-color: #ebccd1;
+}
+
+.panel-danger > .panel-heading > .dropdown .caret {
+ border-color: #b94a48 transparent;
+}
+
+.panel-danger > .panel-footer + .panel-collapse .panel-body {
+ border-bottom-color: #ebccd1;
+}
+
+.panel-info {
+ border-color: #bce8f1;
+}
+
+.panel-info > .panel-heading {
+ color: #3a87ad;
+ background-color: #d9edf7;
+ border-color: #bce8f1;
+}
+
+.panel-info > .panel-heading + .panel-collapse .panel-body {
+ border-top-color: #bce8f1;
+}
+
+.panel-info > .panel-heading > .dropdown .caret {
+ border-color: #3a87ad transparent;
+}
+
+.panel-info > .panel-footer + .panel-collapse .panel-body {
+ border-bottom-color: #bce8f1;
+}
+
+.well {
+ min-height: 20px;
+ padding: 19px;
+ margin-bottom: 20px;
+ background-color: #f5f5f5;
+ border: 1px solid #e3e3e3;
+ border-radius: 4px;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
+}
+
+.well blockquote {
+ border-color: #ddd;
+ border-color: rgba(0, 0, 0, 0.15);
+}
+
+.well-lg {
+ padding: 24px;
+ border-radius: 6px;
+}
+
+.well-sm {
+ padding: 9px;
+ border-radius: 3px;
+}
+
+.close {
+ float: right;
+ font-size: 21px;
+ font-weight: bold;
+ line-height: 1;
+ color: #000000;
+ text-shadow: 0 1px 0 #ffffff;
+ opacity: 0.2;
+ filter: alpha(opacity=20);
+}
+
+.close:hover,
+.close:focus {
+ color: #000000;
+ text-decoration: none;
+ cursor: pointer;
+ opacity: 0.5;
+ filter: alpha(opacity=50);
+}
+
+button.close {
+ padding: 0;
+ cursor: pointer;
+ background: transparent;
+ border: 0;
+ -webkit-appearance: none;
+}
+
+.modal-open {
+ overflow: hidden;
+}
+
+.modal {
+ position: fixed;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 1040;
+ display: none;
+ overflow: auto;
+ overflow-y: scroll;
+}
+
+.modal.fade .modal-dialog {
+ -webkit-transform: translate(0, -25%);
+ -ms-transform: translate(0, -25%);
+ transform: translate(0, -25%);
+ -webkit-transition: -webkit-transform 0.3s ease-out;
+ -moz-transition: -moz-transform 0.3s ease-out;
+ -o-transition: -o-transform 0.3s ease-out;
+ transition: transform 0.3s ease-out;
+}
+
+.modal.in .modal-dialog {
+ -webkit-transform: translate(0, 0);
+ -ms-transform: translate(0, 0);
+ transform: translate(0, 0);
+}
+
+.modal-dialog {
+ position: relative;
+ z-index: 1050;
+ width: auto;
+ padding: 10px;
+ margin-right: auto;
+ margin-left: auto;
+}
+
+.modal-content {
+ position: relative;
+ background-color: #ffffff;
+ border: 1px solid #999999;
+ border: 1px solid rgba(0, 0, 0, 0.2);
+ border-radius: 6px;
+ outline: none;
+ -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
+ box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
+ background-clip: padding-box;
+}
+
+.modal-backdrop {
+ position: fixed;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 1030;
+ background-color: #000000;
+}
+
+.modal-backdrop.fade {
+ opacity: 0;
+ filter: alpha(opacity=0);
+}
+
+.modal-backdrop.in {
+ opacity: 0.5;
+ filter: alpha(opacity=50);
+}
+
+.modal-header {
+ min-height: 16.428571429px;
+ padding: 15px;
+ border-bottom: 1px solid #e5e5e5;
+}
+
+.modal-header .close {
+ margin-top: -2px;
+}
+
+.modal-title {
+ margin: 0;
+ line-height: 1.428571429;
+}
+
+.modal-body {
+ position: relative;
+ padding: 20px;
+}
+
+.modal-footer {
+ padding: 19px 20px 20px;
+ margin-top: 15px;
+ text-align: right;
+ border-top: 1px solid #e5e5e5;
+}
+
+.modal-footer:before,
+.modal-footer:after {
+ display: table;
+ content: " ";
+}
+
+.modal-footer:after {
+ clear: both;
+}
+
+.modal-footer:before,
+.modal-footer:after {
+ display: table;
+ content: " ";
+}
+
+.modal-footer:after {
+ clear: both;
+}
+
+.modal-footer .btn + .btn {
+ margin-bottom: 0;
+ margin-left: 5px;
+}
+
+.modal-footer .btn-group .btn + .btn {
+ margin-left: -1px;
+}
+
+.modal-footer .btn-block + .btn-block {
+ margin-left: 0;
+}
+
+@media screen and (min-width: 768px) {
+ .modal-dialog {
+ width: 600px;
+ padding-top: 30px;
+ padding-bottom: 30px;
+ }
+ .modal-content {
+ -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
+ box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
+ }
+}
+
+.tooltip {
+ position: absolute;
+ z-index: 1030;
+ display: block;
+ font-size: 12px;
+ line-height: 1.4;
+ opacity: 0;
+ filter: alpha(opacity=0);
+ visibility: visible;
+}
+
+.tooltip.in {
+ opacity: 0.9;
+ filter: alpha(opacity=90);
+}
+
+.tooltip.top {
+ padding: 5px 0;
+ margin-top: -3px;
+}
+
+.tooltip.right {
+ padding: 0 5px;
+ margin-left: 3px;
+}
+
+.tooltip.bottom {
+ padding: 5px 0;
+ margin-top: 3px;
+}
+
+.tooltip.left {
+ padding: 0 5px;
+ margin-left: -3px;
+}
+
+.tooltip-inner {
+ max-width: 200px;
+ padding: 3px 8px;
+ color: #ffffff;
+ text-align: center;
+ text-decoration: none;
+ background-color: #000000;
+ border-radius: 4px;
+}
+
+.tooltip-arrow {
+ position: absolute;
+ width: 0;
+ height: 0;
+ border-color: transparent;
+ border-style: solid;
+}
+
+.tooltip.top .tooltip-arrow {
+ bottom: 0;
+ left: 50%;
+ margin-left: -5px;
+ border-top-color: #000000;
+ border-width: 5px 5px 0;
+}
+
+.tooltip.top-left .tooltip-arrow {
+ bottom: 0;
+ left: 5px;
+ border-top-color: #000000;
+ border-width: 5px 5px 0;
+}
+
+.tooltip.top-right .tooltip-arrow {
+ right: 5px;
+ bottom: 0;
+ border-top-color: #000000;
+ border-width: 5px 5px 0;
+}
+
+.tooltip.right .tooltip-arrow {
+ top: 50%;
+ left: 0;
+ margin-top: -5px;
+ border-right-color: #000000;
+ border-width: 5px 5px 5px 0;
+}
+
+.tooltip.left .tooltip-arrow {
+ top: 50%;
+ right: 0;
+ margin-top: -5px;
+ border-left-color: #000000;
+ border-width: 5px 0 5px 5px;
+}
+
+.tooltip.bottom .tooltip-arrow {
+ top: 0;
+ left: 50%;
+ margin-left: -5px;
+ border-bottom-color: #000000;
+ border-width: 0 5px 5px;
+}
+
+.tooltip.bottom-left .tooltip-arrow {
+ top: 0;
+ left: 5px;
+ border-bottom-color: #000000;
+ border-width: 0 5px 5px;
+}
+
+.tooltip.bottom-right .tooltip-arrow {
+ top: 0;
+ right: 5px;
+ border-bottom-color: #000000;
+ border-width: 0 5px 5px;
+}
+
+.popover {
+ position: absolute;
+ top: 0;
+ left: 0;
+ z-index: 1010;
+ display: none;
+ max-width: 276px;
+ padding: 1px;
+ text-align: left;
+ white-space: normal;
+ background-color: #ffffff;
+ border: 1px solid #cccccc;
+ border: 1px solid rgba(0, 0, 0, 0.2);
+ border-radius: 6px;
+ -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
+ box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
+ background-clip: padding-box;
+}
+
+.popover.top {
+ margin-top: -10px;
+}
+
+.popover.right {
+ margin-left: 10px;
+}
+
+.popover.bottom {
+ margin-top: 10px;
+}
+
+.popover.left {
+ margin-left: -10px;
+}
+
+.popover-title {
+ padding: 8px 14px;
+ margin: 0;
+ font-size: 14px;
+ font-weight: normal;
+ line-height: 18px;
+ background-color: #f7f7f7;
+ border-bottom: 1px solid #ebebeb;
+ border-radius: 5px 5px 0 0;
+}
+
+.popover-content {
+ padding: 9px 14px;
+}
+
+.popover .arrow,
+.popover .arrow:after {
+ position: absolute;
+ display: block;
+ width: 0;
+ height: 0;
+ border-color: transparent;
+ border-style: solid;
+}
+
+.popover .arrow {
+ border-width: 11px;
+}
+
+.popover .arrow:after {
+ border-width: 10px;
+ content: "";
+}
+
+.popover.top .arrow {
+ bottom: -11px;
+ left: 50%;
+ margin-left: -11px;
+ border-top-color: #999999;
+ border-top-color: rgba(0, 0, 0, 0.25);
+ border-bottom-width: 0;
+}
+
+.popover.top .arrow:after {
+ bottom: 1px;
+ margin-left: -10px;
+ border-top-color: #ffffff;
+ border-bottom-width: 0;
+ content: " ";
+}
+
+.popover.right .arrow {
+ top: 50%;
+ left: -11px;
+ margin-top: -11px;
+ border-right-color: #999999;
+ border-right-color: rgba(0, 0, 0, 0.25);
+ border-left-width: 0;
+}
+
+.popover.right .arrow:after {
+ bottom: -10px;
+ left: 1px;
+ border-right-color: #ffffff;
+ border-left-width: 0;
+ content: " ";
+}
+
+.popover.bottom .arrow {
+ top: -11px;
+ left: 50%;
+ margin-left: -11px;
+ border-bottom-color: #999999;
+ border-bottom-color: rgba(0, 0, 0, 0.25);
+ border-top-width: 0;
+}
+
+.popover.bottom .arrow:after {
+ top: 1px;
+ margin-left: -10px;
+ border-bottom-color: #ffffff;
+ border-top-width: 0;
+ content: " ";
+}
+
+.popover.left .arrow {
+ top: 50%;
+ right: -11px;
+ margin-top: -11px;
+ border-left-color: #999999;
+ border-left-color: rgba(0, 0, 0, 0.25);
+ border-right-width: 0;
+}
+
+.popover.left .arrow:after {
+ right: 1px;
+ bottom: -10px;
+ border-left-color: #ffffff;
+ border-right-width: 0;
+ content: " ";
+}
+
+.carousel {
+ position: relative;
+}
+
+.carousel-inner {
+ position: relative;
+ width: 100%;
+ overflow: hidden;
+}
+
+.carousel-inner > .item {
+ position: relative;
+ display: none;
+ -webkit-transition: 0.6s ease-in-out left;
+ transition: 0.6s ease-in-out left;
+}
+
+.carousel-inner > .item > img,
+.carousel-inner > .item > a > img {
+ display: block;
+ height: auto;
+ max-width: 100%;
+ line-height: 1;
+}
+
+.carousel-inner > .active,
+.carousel-inner > .next,
+.carousel-inner > .prev {
+ display: block;
+}
+
+.carousel-inner > .active {
+ left: 0;
+}
+
+.carousel-inner > .next,
+.carousel-inner > .prev {
+ position: absolute;
+ top: 0;
+ width: 100%;
+}
+
+.carousel-inner > .next {
+ left: 100%;
+}
+
+.carousel-inner > .prev {
+ left: -100%;
+}
+
+.carousel-inner > .next.left,
+.carousel-inner > .prev.right {
+ left: 0;
+}
+
+.carousel-inner > .active.left {
+ left: -100%;
+}
+
+.carousel-inner > .active.right {
+ left: 100%;
+}
+
+.carousel-control {
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ width: 15%;
+ font-size: 20px;
+ color: #ffffff;
+ text-align: center;
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
+ opacity: 0.5;
+ filter: alpha(opacity=50);
+}
+
+.carousel-control.left {
+ background-image: -webkit-gradient(linear, 0 top, 100% top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0.0001)));
+ background-image: -webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, 0.5) 0), color-stop(rgba(0, 0, 0, 0.0001) 100%));
+ background-image: -moz-linear-gradient(left, rgba(0, 0, 0, 0.5) 0, rgba(0, 0, 0, 0.0001) 100%);
+ background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0, rgba(0, 0, 0, 0.0001) 100%);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
+}
+
+.carousel-control.right {
+ right: 0;
+ left: auto;
+ background-image: -webkit-gradient(linear, 0 top, 100% top, from(rgba(0, 0, 0, 0.0001)), to(rgba(0, 0, 0, 0.5)));
+ background-image: -webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, 0.0001) 0), color-stop(rgba(0, 0, 0, 0.5) 100%));
+ background-image: -moz-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0, rgba(0, 0, 0, 0.5) 100%);
+ background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0, rgba(0, 0, 0, 0.5) 100%);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
+}
+
+.carousel-control:hover,
+.carousel-control:focus {
+ color: #ffffff;
+ text-decoration: none;
+ opacity: 0.9;
+ filter: alpha(opacity=90);
+}
+
+.carousel-control .icon-prev,
+.carousel-control .icon-next,
+.carousel-control .glyphicon-chevron-left,
+.carousel-control .glyphicon-chevron-right {
+ position: absolute;
+ top: 50%;
+ z-index: 5;
+ display: inline-block;
+}
+
+.carousel-control .icon-prev,
+.carousel-control .glyphicon-chevron-left {
+ left: 50%;
+}
+
+.carousel-control .icon-next,
+.carousel-control .glyphicon-chevron-right {
+ right: 50%;
+}
+
+.carousel-control .icon-prev,
+.carousel-control .icon-next {
+ width: 20px;
+ height: 20px;
+ margin-top: -10px;
+ margin-left: -10px;
+ font-family: serif;
+}
+
+.carousel-control .icon-prev:before {
+ content: '\2039';
+}
+
+.carousel-control .icon-next:before {
+ content: '\203a';
+}
+
+.carousel-indicators {
+ position: absolute;
+ bottom: 10px;
+ left: 50%;
+ z-index: 15;
+ width: 60%;
+ padding-left: 0;
+ margin-left: -30%;
+ text-align: center;
+ list-style: none;
+}
+
+.carousel-indicators li {
+ display: inline-block;
+ width: 10px;
+ height: 10px;
+ margin: 1px;
+ text-indent: -999px;
+ cursor: pointer;
+ background-color: #000 \9;
+ background-color: rgba(0, 0, 0, 0);
+ border: 1px solid #ffffff;
+ border-radius: 10px;
+}
+
+.carousel-indicators .active {
+ width: 12px;
+ height: 12px;
+ margin: 0;
+ background-color: #ffffff;
+}
+
+.carousel-caption {
+ position: absolute;
+ right: 15%;
+ bottom: 20px;
+ left: 15%;
+ z-index: 10;
+ padding-top: 20px;
+ padding-bottom: 20px;
+ color: #ffffff;
+ text-align: center;
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
+}
+
+.carousel-caption .btn {
+ text-shadow: none;
+}
+
+@media screen and (min-width: 768px) {
+ .carousel-control .glyphicons-chevron-left,
+ .carousel-control .glyphicons-chevron-right,
+ .carousel-control .icon-prev,
+ .carousel-control .icon-next {
+ width: 30px;
+ height: 30px;
+ margin-top: -15px;
+ margin-left: -15px;
+ font-size: 30px;
+ }
+ .carousel-caption {
+ right: 20%;
+ left: 20%;
+ padding-bottom: 30px;
+ }
+ .carousel-indicators {
+ bottom: 20px;
+ }
+}
+
+.clearfix:before,
+.clearfix:after {
+ display: table;
+ content: " ";
+}
+
+.clearfix:after {
+ clear: both;
+}
+
+.center-block {
+ display: block;
+ margin-right: auto;
+ margin-left: auto;
+}
+
+.pull-right {
+ float: right !important;
+}
+
+.pull-left {
+ float: left !important;
+}
+
+.hide {
+ display: none !important;
+}
+
+.show {
+ display: block !important;
+}
+
+.invisible {
+ visibility: hidden;
+}
+
+.text-hide {
+ font: 0/0 a;
+ color: transparent;
+ text-shadow: none;
+ background-color: transparent;
+ border: 0;
+}
+
+.hidden {
+ display: none !important;
+ visibility: hidden !important;
+}
+
+.affix {
+ position: fixed;
+}
+
+@-ms-viewport {
+ width: device-width;
+}
+
+.visible-xs,
+tr.visible-xs,
+th.visible-xs,
+td.visible-xs {
+ display: none !important;
+}
+
+@media (max-width: 767px) {
+ .visible-xs {
+ display: block !important;
+ }
+ tr.visible-xs {
+ display: table-row !important;
+ }
+ th.visible-xs,
+ td.visible-xs {
+ display: table-cell !important;
+ }
+}
+
+@media (min-width: 768px) and (max-width: 991px) {
+ .visible-xs.visible-sm {
+ display: block !important;
+ }
+ tr.visible-xs.visible-sm {
+ display: table-row !important;
+ }
+ th.visible-xs.visible-sm,
+ td.visible-xs.visible-sm {
+ display: table-cell !important;
+ }
+}
+
+@media (min-width: 992px) and (max-width: 1199px) {
+ .visible-xs.visible-md {
+ display: block !important;
+ }
+ tr.visible-xs.visible-md {
+ display: table-row !important;
+ }
+ th.visible-xs.visible-md,
+ td.visible-xs.visible-md {
+ display: table-cell !important;
+ }
+}
+
+@media (min-width: 1200px) {
+ .visible-xs.visible-lg {
+ display: block !important;
+ }
+ tr.visible-xs.visible-lg {
+ display: table-row !important;
+ }
+ th.visible-xs.visible-lg,
+ td.visible-xs.visible-lg {
+ display: table-cell !important;
+ }
+}
+
+.visible-sm,
+tr.visible-sm,
+th.visible-sm,
+td.visible-sm {
+ display: none !important;
+}
+
+@media (max-width: 767px) {
+ .visible-sm.visible-xs {
+ display: block !important;
+ }
+ tr.visible-sm.visible-xs {
+ display: table-row !important;
+ }
+ th.visible-sm.visible-xs,
+ td.visible-sm.visible-xs {
+ display: table-cell !important;
+ }
+}
+
+@media (min-width: 768px) and (max-width: 991px) {
+ .visible-sm {
+ display: block !important;
+ }
+ tr.visible-sm {
+ display: table-row !important;
+ }
+ th.visible-sm,
+ td.visible-sm {
+ display: table-cell !important;
+ }
+}
+
+@media (min-width: 992px) and (max-width: 1199px) {
+ .visible-sm.visible-md {
+ display: block !important;
+ }
+ tr.visible-sm.visible-md {
+ display: table-row !important;
+ }
+ th.visible-sm.visible-md,
+ td.visible-sm.visible-md {
+ display: table-cell !important;
+ }
+}
+
+@media (min-width: 1200px) {
+ .visible-sm.visible-lg {
+ display: block !important;
+ }
+ tr.visible-sm.visible-lg {
+ display: table-row !important;
+ }
+ th.visible-sm.visible-lg,
+ td.visible-sm.visible-lg {
+ display: table-cell !important;
+ }
+}
+
+.visible-md,
+tr.visible-md,
+th.visible-md,
+td.visible-md {
+ display: none !important;
+}
+
+@media (max-width: 767px) {
+ .visible-md.visible-xs {
+ display: block !important;
+ }
+ tr.visible-md.visible-xs {
+ display: table-row !important;
+ }
+ th.visible-md.visible-xs,
+ td.visible-md.visible-xs {
+ display: table-cell !important;
+ }
+}
+
+@media (min-width: 768px) and (max-width: 991px) {
+ .visible-md.visible-sm {
+ display: block !important;
+ }
+ tr.visible-md.visible-sm {
+ display: table-row !important;
+ }
+ th.visible-md.visible-sm,
+ td.visible-md.visible-sm {
+ display: table-cell !important;
+ }
+}
+
+@media (min-width: 992px) and (max-width: 1199px) {
+ .visible-md {
+ display: block !important;
+ }
+ tr.visible-md {
+ display: table-row !important;
+ }
+ th.visible-md,
+ td.visible-md {
+ display: table-cell !important;
+ }
+}
+
+@media (min-width: 1200px) {
+ .visible-md.visible-lg {
+ display: block !important;
+ }
+ tr.visible-md.visible-lg {
+ display: table-row !important;
+ }
+ th.visible-md.visible-lg,
+ td.visible-md.visible-lg {
+ display: table-cell !important;
+ }
+}
+
+.visible-lg,
+tr.visible-lg,
+th.visible-lg,
+td.visible-lg {
+ display: none !important;
+}
+
+@media (max-width: 767px) {
+ .visible-lg.visible-xs {
+ display: block !important;
+ }
+ tr.visible-lg.visible-xs {
+ display: table-row !important;
+ }
+ th.visible-lg.visible-xs,
+ td.visible-lg.visible-xs {
+ display: table-cell !important;
+ }
+}
+
+@media (min-width: 768px) and (max-width: 991px) {
+ .visible-lg.visible-sm {
+ display: block !important;
+ }
+ tr.visible-lg.visible-sm {
+ display: table-row !important;
+ }
+ th.visible-lg.visible-sm,
+ td.visible-lg.visible-sm {
+ display: table-cell !important;
+ }
+}
+
+@media (min-width: 992px) and (max-width: 1199px) {
+ .visible-lg.visible-md {
+ display: block !important;
+ }
+ tr.visible-lg.visible-md {
+ display: table-row !important;
+ }
+ th.visible-lg.visible-md,
+ td.visible-lg.visible-md {
+ display: table-cell !important;
+ }
+}
+
+@media (min-width: 1200px) {
+ .visible-lg {
+ display: block !important;
+ }
+ tr.visible-lg {
+ display: table-row !important;
+ }
+ th.visible-lg,
+ td.visible-lg {
+ display: table-cell !important;
+ }
+}
+
+.hidden-xs {
+ display: block !important;
+}
+
+tr.hidden-xs {
+ display: table-row !important;
+}
+
+th.hidden-xs,
+td.hidden-xs {
+ display: table-cell !important;
+}
+
+@media (max-width: 767px) {
+ .hidden-xs,
+ tr.hidden-xs,
+ th.hidden-xs,
+ td.hidden-xs {
+ display: none !important;
+ }
+}
+
+@media (min-width: 768px) and (max-width: 991px) {
+ .hidden-xs.hidden-sm,
+ tr.hidden-xs.hidden-sm,
+ th.hidden-xs.hidden-sm,
+ td.hidden-xs.hidden-sm {
+ display: none !important;
+ }
+}
+
+@media (min-width: 992px) and (max-width: 1199px) {
+ .hidden-xs.hidden-md,
+ tr.hidden-xs.hidden-md,
+ th.hidden-xs.hidden-md,
+ td.hidden-xs.hidden-md {
+ display: none !important;
+ }
+}
+
+@media (min-width: 1200px) {
+ .hidden-xs.hidden-lg,
+ tr.hidden-xs.hidden-lg,
+ th.hidden-xs.hidden-lg,
+ td.hidden-xs.hidden-lg {
+ display: none !important;
+ }
+}
+
+.hidden-sm {
+ display: block !important;
+}
+
+tr.hidden-sm {
+ display: table-row !important;
+}
+
+th.hidden-sm,
+td.hidden-sm {
+ display: table-cell !important;
+}
+
+@media (max-width: 767px) {
+ .hidden-sm.hidden-xs,
+ tr.hidden-sm.hidden-xs,
+ th.hidden-sm.hidden-xs,
+ td.hidden-sm.hidden-xs {
+ display: none !important;
+ }
+}
+
+@media (min-width: 768px) and (max-width: 991px) {
+ .hidden-sm,
+ tr.hidden-sm,
+ th.hidden-sm,
+ td.hidden-sm {
+ display: none !important;
+ }
+}
+
+@media (min-width: 992px) and (max-width: 1199px) {
+ .hidden-sm.hidden-md,
+ tr.hidden-sm.hidden-md,
+ th.hidden-sm.hidden-md,
+ td.hidden-sm.hidden-md {
+ display: none !important;
+ }
+}
+
+@media (min-width: 1200px) {
+ .hidden-sm.hidden-lg,
+ tr.hidden-sm.hidden-lg,
+ th.hidden-sm.hidden-lg,
+ td.hidden-sm.hidden-lg {
+ display: none !important;
+ }
+}
+
+.hidden-md {
+ display: block !important;
+}
+
+tr.hidden-md {
+ display: table-row !important;
+}
+
+th.hidden-md,
+td.hidden-md {
+ display: table-cell !important;
+}
+
+@media (max-width: 767px) {
+ .hidden-md.hidden-xs,
+ tr.hidden-md.hidden-xs,
+ th.hidden-md.hidden-xs,
+ td.hidden-md.hidden-xs {
+ display: none !important;
+ }
+}
+
+@media (min-width: 768px) and (max-width: 991px) {
+ .hidden-md.hidden-sm,
+ tr.hidden-md.hidden-sm,
+ th.hidden-md.hidden-sm,
+ td.hidden-md.hidden-sm {
+ display: none !important;
+ }
+}
+
+@media (min-width: 992px) and (max-width: 1199px) {
+ .hidden-md,
+ tr.hidden-md,
+ th.hidden-md,
+ td.hidden-md {
+ display: none !important;
+ }
+}
+
+@media (min-width: 1200px) {
+ .hidden-md.hidden-lg,
+ tr.hidden-md.hidden-lg,
+ th.hidden-md.hidden-lg,
+ td.hidden-md.hidden-lg {
+ display: none !important;
+ }
+}
+
+.hidden-lg {
+ display: block !important;
+}
+
+tr.hidden-lg {
+ display: table-row !important;
+}
+
+th.hidden-lg,
+td.hidden-lg {
+ display: table-cell !important;
+}
+
+@media (max-width: 767px) {
+ .hidden-lg.hidden-xs,
+ tr.hidden-lg.hidden-xs,
+ th.hidden-lg.hidden-xs,
+ td.hidden-lg.hidden-xs {
+ display: none !important;
+ }
+}
+
+@media (min-width: 768px) and (max-width: 991px) {
+ .hidden-lg.hidden-sm,
+ tr.hidden-lg.hidden-sm,
+ th.hidden-lg.hidden-sm,
+ td.hidden-lg.hidden-sm {
+ display: none !important;
+ }
+}
+
+@media (min-width: 992px) and (max-width: 1199px) {
+ .hidden-lg.hidden-md,
+ tr.hidden-lg.hidden-md,
+ th.hidden-lg.hidden-md,
+ td.hidden-lg.hidden-md {
+ display: none !important;
+ }
+}
+
+@media (min-width: 1200px) {
+ .hidden-lg,
+ tr.hidden-lg,
+ th.hidden-lg,
+ td.hidden-lg {
+ display: none !important;
+ }
+}
+
+.visible-print,
+tr.visible-print,
+th.visible-print,
+td.visible-print {
+ display: none !important;
+}
+
+@media print {
+ .visible-print {
+ display: block !important;
+ }
+ tr.visible-print {
+ display: table-row !important;
+ }
+ th.visible-print,
+ td.visible-print {
+ display: table-cell !important;
+ }
+ .hidden-print,
+ tr.hidden-print,
+ th.hidden-print,
+ td.hidden-print {
+ display: none !important;
+ }
+}
\ No newline at end of file
diff --git a/addons/web/static/lib/bootstrap/js/bootstrap.js b/addons/web/static/lib/bootstrap/js/bootstrap.js
new file mode 100644
index 00000000000..1c638ab4410
--- /dev/null
+++ b/addons/web/static/lib/bootstrap/js/bootstrap.js
@@ -0,0 +1,2002 @@
+/*!
+ * Bootstrap v3.0.2 by @fat and @mdo
+ * Copyright 2013 Twitter, Inc.
+ * Licensed under http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Designed and built with all the love in the world by @mdo and @fat.
+ */
+
+if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery") }
+
+/* ========================================================================
+ * Bootstrap: transition.js v3.0.2
+ * http://getbootstrap.com/javascript/#transitions
+ * ========================================================================
+ * Copyright 2013 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ======================================================================== */
+
+
++function ($) { "use strict";
+
+ // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/)
+ // ============================================================
+
+ function transitionEnd() {
+ var el = document.createElement('bootstrap')
+
+ var transEndEventNames = {
+ 'WebkitTransition' : 'webkitTransitionEnd'
+ , 'MozTransition' : 'transitionend'
+ , 'OTransition' : 'oTransitionEnd otransitionend'
+ , 'transition' : 'transitionend'
+ }
+
+ for (var name in transEndEventNames) {
+ if (el.style[name] !== undefined) {
+ return { end: transEndEventNames[name] }
+ }
+ }
+ }
+
+ // http://blog.alexmaccaw.com/css-transitions
+ $.fn.emulateTransitionEnd = function (duration) {
+ var called = false, $el = this
+ $(this).one($.support.transition.end, function () { called = true })
+ var callback = function () { if (!called) $($el).trigger($.support.transition.end) }
+ setTimeout(callback, duration)
+ return this
+ }
+
+ $(function () {
+ $.support.transition = transitionEnd()
+ })
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: alert.js v3.0.2
+ * http://getbootstrap.com/javascript/#alerts
+ * ========================================================================
+ * Copyright 2013 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ======================================================================== */
+
+
++function ($) { "use strict";
+
+ // ALERT CLASS DEFINITION
+ // ======================
+
+ var dismiss = '[data-dismiss="alert"]'
+ var Alert = function (el) {
+ $(el).on('click', dismiss, this.close)
+ }
+
+ Alert.prototype.close = function (e) {
+ var $this = $(this)
+ var selector = $this.attr('data-target')
+
+ if (!selector) {
+ selector = $this.attr('href')
+ selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
+ }
+
+ var $parent = $(selector)
+
+ if (e) e.preventDefault()
+
+ if (!$parent.length) {
+ $parent = $this.hasClass('alert') ? $this : $this.parent()
+ }
+
+ $parent.trigger(e = $.Event('close.bs.alert'))
+
+ if (e.isDefaultPrevented()) return
+
+ $parent.removeClass('in')
+
+ function removeElement() {
+ $parent.trigger('closed.bs.alert').remove()
+ }
+
+ $.support.transition && $parent.hasClass('fade') ?
+ $parent
+ .one($.support.transition.end, removeElement)
+ .emulateTransitionEnd(150) :
+ removeElement()
+ }
+
+
+ // ALERT PLUGIN DEFINITION
+ // =======================
+
+ var old = $.fn.alert
+
+ $.fn.alert = function (option) {
+ return this.each(function () {
+ var $this = $(this)
+ var data = $this.data('bs.alert')
+
+ if (!data) $this.data('bs.alert', (data = new Alert(this)))
+ if (typeof option == 'string') data[option].call($this)
+ })
+ }
+
+ $.fn.alert.Constructor = Alert
+
+
+ // ALERT NO CONFLICT
+ // =================
+
+ $.fn.alert.noConflict = function () {
+ $.fn.alert = old
+ return this
+ }
+
+
+ // ALERT DATA-API
+ // ==============
+
+ $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close)
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: button.js v3.0.2
+ * http://getbootstrap.com/javascript/#buttons
+ * ========================================================================
+ * Copyright 2013 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ======================================================================== */
+
+
++function ($) { "use strict";
+
+ // BUTTON PUBLIC CLASS DEFINITION
+ // ==============================
+
+ var Button = function (element, options) {
+ this.$element = $(element)
+ this.options = $.extend({}, Button.DEFAULTS, options)
+ }
+
+ Button.DEFAULTS = {
+ loadingText: 'loading...'
+ }
+
+ Button.prototype.setState = function (state) {
+ var d = 'disabled'
+ var $el = this.$element
+ var val = $el.is('input') ? 'val' : 'html'
+ var data = $el.data()
+
+ state = state + 'Text'
+
+ if (!data.resetText) $el.data('resetText', $el[val]())
+
+ $el[val](data[state] || this.options[state])
+
+ // push to event loop to allow forms to submit
+ setTimeout(function () {
+ state == 'loadingText' ?
+ $el.addClass(d).attr(d, d) :
+ $el.removeClass(d).removeAttr(d);
+ }, 0)
+ }
+
+ Button.prototype.toggle = function () {
+ var $parent = this.$element.closest('[data-toggle="buttons"]')
+
+ if ($parent.length) {
+ var $input = this.$element.find('input')
+ .prop('checked', !this.$element.hasClass('active'))
+ .trigger('change')
+ if ($input.prop('type') === 'radio') $parent.find('.active').removeClass('active')
+ }
+
+ this.$element.toggleClass('active')
+ }
+
+
+ // BUTTON PLUGIN DEFINITION
+ // ========================
+
+ var old = $.fn.button
+
+ $.fn.button = function (option) {
+ return this.each(function () {
+ var $this = $(this)
+ var data = $this.data('bs.button')
+ var options = typeof option == 'object' && option
+
+ if (!data) $this.data('bs.button', (data = new Button(this, options)))
+
+ if (option == 'toggle') data.toggle()
+ else if (option) data.setState(option)
+ })
+ }
+
+ $.fn.button.Constructor = Button
+
+
+ // BUTTON NO CONFLICT
+ // ==================
+
+ $.fn.button.noConflict = function () {
+ $.fn.button = old
+ return this
+ }
+
+
+ // BUTTON DATA-API
+ // ===============
+
+ $(document).on('click.bs.button.data-api', '[data-toggle^=button]', function (e) {
+ var $btn = $(e.target)
+ if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
+ $btn.button('toggle')
+ e.preventDefault()
+ })
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: carousel.js v3.0.2
+ * http://getbootstrap.com/javascript/#carousel
+ * ========================================================================
+ * Copyright 2013 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ======================================================================== */
+
+
++function ($) { "use strict";
+
+ // CAROUSEL CLASS DEFINITION
+ // =========================
+
+ var Carousel = function (element, options) {
+ this.$element = $(element)
+ this.$indicators = this.$element.find('.carousel-indicators')
+ this.options = options
+ this.paused =
+ this.sliding =
+ this.interval =
+ this.$active =
+ this.$items = null
+
+ this.options.pause == 'hover' && this.$element
+ .on('mouseenter', $.proxy(this.pause, this))
+ .on('mouseleave', $.proxy(this.cycle, this))
+ }
+
+ Carousel.DEFAULTS = {
+ interval: 5000
+ , pause: 'hover'
+ , wrap: true
+ }
+
+ Carousel.prototype.cycle = function (e) {
+ e || (this.paused = false)
+
+ this.interval && clearInterval(this.interval)
+
+ this.options.interval
+ && !this.paused
+ && (this.interval = setInterval($.proxy(this.next, this), this.options.interval))
+
+ return this
+ }
+
+ Carousel.prototype.getActiveIndex = function () {
+ this.$active = this.$element.find('.item.active')
+ this.$items = this.$active.parent().children()
+
+ return this.$items.index(this.$active)
+ }
+
+ Carousel.prototype.to = function (pos) {
+ var that = this
+ var activeIndex = this.getActiveIndex()
+
+ if (pos > (this.$items.length - 1) || pos < 0) return
+
+ if (this.sliding) return this.$element.one('slid', function () { that.to(pos) })
+ if (activeIndex == pos) return this.pause().cycle()
+
+ return this.slide(pos > activeIndex ? 'next' : 'prev', $(this.$items[pos]))
+ }
+
+ Carousel.prototype.pause = function (e) {
+ e || (this.paused = true)
+
+ if (this.$element.find('.next, .prev').length && $.support.transition.end) {
+ this.$element.trigger($.support.transition.end)
+ this.cycle(true)
+ }
+
+ this.interval = clearInterval(this.interval)
+
+ return this
+ }
+
+ Carousel.prototype.next = function () {
+ if (this.sliding) return
+ return this.slide('next')
+ }
+
+ Carousel.prototype.prev = function () {
+ if (this.sliding) return
+ return this.slide('prev')
+ }
+
+ Carousel.prototype.slide = function (type, next) {
+ var $active = this.$element.find('.item.active')
+ var $next = next || $active[type]()
+ var isCycling = this.interval
+ var direction = type == 'next' ? 'left' : 'right'
+ var fallback = type == 'next' ? 'first' : 'last'
+ var that = this
+
+ if (!$next.length) {
+ if (!this.options.wrap) return
+ $next = this.$element.find('.item')[fallback]()
+ }
+
+ this.sliding = true
+
+ isCycling && this.pause()
+
+ var e = $.Event('slide.bs.carousel', { relatedTarget: $next[0], direction: direction })
+
+ if ($next.hasClass('active')) return
+
+ if (this.$indicators.length) {
+ this.$indicators.find('.active').removeClass('active')
+ this.$element.one('slid', function () {
+ var $nextIndicator = $(that.$indicators.children()[that.getActiveIndex()])
+ $nextIndicator && $nextIndicator.addClass('active')
+ })
+ }
+
+ if ($.support.transition && this.$element.hasClass('slide')) {
+ this.$element.trigger(e)
+ if (e.isDefaultPrevented()) return
+ $next.addClass(type)
+ $next[0].offsetWidth // force reflow
+ $active.addClass(direction)
+ $next.addClass(direction)
+ $active
+ .one($.support.transition.end, function () {
+ $next.removeClass([type, direction].join(' ')).addClass('active')
+ $active.removeClass(['active', direction].join(' '))
+ that.sliding = false
+ setTimeout(function () { that.$element.trigger('slid') }, 0)
+ })
+ .emulateTransitionEnd(600)
+ } else {
+ this.$element.trigger(e)
+ if (e.isDefaultPrevented()) return
+ $active.removeClass('active')
+ $next.addClass('active')
+ this.sliding = false
+ this.$element.trigger('slid')
+ }
+
+ isCycling && this.cycle()
+
+ return this
+ }
+
+
+ // CAROUSEL PLUGIN DEFINITION
+ // ==========================
+
+ var old = $.fn.carousel
+
+ $.fn.carousel = function (option) {
+ return this.each(function () {
+ var $this = $(this)
+ var data = $this.data('bs.carousel')
+ var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option)
+ var action = typeof option == 'string' ? option : options.slide
+
+ if (!data) $this.data('bs.carousel', (data = new Carousel(this, options)))
+ if (typeof option == 'number') data.to(option)
+ else if (action) data[action]()
+ else if (options.interval) data.pause().cycle()
+ })
+ }
+
+ $.fn.carousel.Constructor = Carousel
+
+
+ // CAROUSEL NO CONFLICT
+ // ====================
+
+ $.fn.carousel.noConflict = function () {
+ $.fn.carousel = old
+ return this
+ }
+
+
+ // CAROUSEL DATA-API
+ // =================
+
+ $(document).on('click.bs.carousel.data-api', '[data-slide], [data-slide-to]', function (e) {
+ var $this = $(this), href
+ var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
+ var options = $.extend({}, $target.data(), $this.data())
+ var slideIndex = $this.attr('data-slide-to')
+ if (slideIndex) options.interval = false
+
+ $target.carousel(options)
+
+ if (slideIndex = $this.attr('data-slide-to')) {
+ $target.data('bs.carousel').to(slideIndex)
+ }
+
+ e.preventDefault()
+ })
+
+ $(window).on('load', function () {
+ $('[data-ride="carousel"]').each(function () {
+ var $carousel = $(this)
+ $carousel.carousel($carousel.data())
+ })
+ })
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: collapse.js v3.0.2
+ * http://getbootstrap.com/javascript/#collapse
+ * ========================================================================
+ * Copyright 2013 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ======================================================================== */
+
+
++function ($) { "use strict";
+
+ // COLLAPSE PUBLIC CLASS DEFINITION
+ // ================================
+
+ var Collapse = function (element, options) {
+ this.$element = $(element)
+ this.options = $.extend({}, Collapse.DEFAULTS, options)
+ this.transitioning = null
+
+ if (this.options.parent) this.$parent = $(this.options.parent)
+ if (this.options.toggle) this.toggle()
+ }
+
+ Collapse.DEFAULTS = {
+ toggle: true
+ }
+
+ Collapse.prototype.dimension = function () {
+ var hasWidth = this.$element.hasClass('width')
+ return hasWidth ? 'width' : 'height'
+ }
+
+ Collapse.prototype.show = function () {
+ if (this.transitioning || this.$element.hasClass('in')) return
+
+ var startEvent = $.Event('show.bs.collapse')
+ this.$element.trigger(startEvent)
+ if (startEvent.isDefaultPrevented()) return
+
+ var actives = this.$parent && this.$parent.find('> .panel > .in')
+
+ if (actives && actives.length) {
+ var hasData = actives.data('bs.collapse')
+ if (hasData && hasData.transitioning) return
+ actives.collapse('hide')
+ hasData || actives.data('bs.collapse', null)
+ }
+
+ var dimension = this.dimension()
+
+ this.$element
+ .removeClass('collapse')
+ .addClass('collapsing')
+ [dimension](0)
+
+ this.transitioning = 1
+
+ var complete = function () {
+ this.$element
+ .removeClass('collapsing')
+ .addClass('in')
+ [dimension]('auto')
+ this.transitioning = 0
+ this.$element.trigger('shown.bs.collapse')
+ }
+
+ if (!$.support.transition) return complete.call(this)
+
+ var scrollSize = $.camelCase(['scroll', dimension].join('-'))
+
+ this.$element
+ .one($.support.transition.end, $.proxy(complete, this))
+ .emulateTransitionEnd(350)
+ [dimension](this.$element[0][scrollSize])
+ }
+
+ Collapse.prototype.hide = function () {
+ if (this.transitioning || !this.$element.hasClass('in')) return
+
+ var startEvent = $.Event('hide.bs.collapse')
+ this.$element.trigger(startEvent)
+ if (startEvent.isDefaultPrevented()) return
+
+ var dimension = this.dimension()
+
+ this.$element
+ [dimension](this.$element[dimension]())
+ [0].offsetHeight
+
+ this.$element
+ .addClass('collapsing')
+ .removeClass('collapse')
+ .removeClass('in')
+
+ this.transitioning = 1
+
+ var complete = function () {
+ this.transitioning = 0
+ this.$element
+ .trigger('hidden.bs.collapse')
+ .removeClass('collapsing')
+ .addClass('collapse')
+ }
+
+ if (!$.support.transition) return complete.call(this)
+
+ this.$element
+ [dimension](0)
+ .one($.support.transition.end, $.proxy(complete, this))
+ .emulateTransitionEnd(350)
+ }
+
+ Collapse.prototype.toggle = function () {
+ this[this.$element.hasClass('in') ? 'hide' : 'show']()
+ }
+
+
+ // COLLAPSE PLUGIN DEFINITION
+ // ==========================
+
+ var old = $.fn.collapse
+
+ $.fn.collapse = function (option) {
+ return this.each(function () {
+ var $this = $(this)
+ var data = $this.data('bs.collapse')
+ var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option)
+
+ if (!data) $this.data('bs.collapse', (data = new Collapse(this, options)))
+ if (typeof option == 'string') data[option]()
+ })
+ }
+
+ $.fn.collapse.Constructor = Collapse
+
+
+ // COLLAPSE NO CONFLICT
+ // ====================
+
+ $.fn.collapse.noConflict = function () {
+ $.fn.collapse = old
+ return this
+ }
+
+
+ // COLLAPSE DATA-API
+ // =================
+
+ $(document).on('click.bs.collapse.data-api', '[data-toggle=collapse]', function (e) {
+ var $this = $(this), href
+ var target = $this.attr('data-target')
+ || e.preventDefault()
+ || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7
+ var $target = $(target)
+ var data = $target.data('bs.collapse')
+ var option = data ? 'toggle' : $this.data()
+ var parent = $this.attr('data-parent')
+ var $parent = parent && $(parent)
+
+ if (!data || !data.transitioning) {
+ if ($parent) $parent.find('[data-toggle=collapse][data-parent="' + parent + '"]').not($this).addClass('collapsed')
+ $this[$target.hasClass('in') ? 'addClass' : 'removeClass']('collapsed')
+ }
+
+ $target.collapse(option)
+ })
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: dropdown.js v3.0.2
+ * http://getbootstrap.com/javascript/#dropdowns
+ * ========================================================================
+ * Copyright 2013 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ======================================================================== */
+
+
++function ($) { "use strict";
+
+ // DROPDOWN CLASS DEFINITION
+ // =========================
+
+ var backdrop = '.dropdown-backdrop'
+ var toggle = '[data-toggle=dropdown]'
+ var Dropdown = function (element) {
+ var $el = $(element).on('click.bs.dropdown', this.toggle)
+ }
+
+ Dropdown.prototype.toggle = function (e) {
+ var $this = $(this)
+
+ if ($this.is('.disabled, :disabled')) return
+
+ var $parent = getParent($this)
+ var isActive = $parent.hasClass('open')
+
+ clearMenus()
+
+ if (!isActive) {
+ if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) {
+ // if mobile we we use a backdrop because click events don't delegate
+ $('').insertAfter($(this)).on('click', clearMenus)
+ }
+
+ $parent.trigger(e = $.Event('show.bs.dropdown'))
+
+ if (e.isDefaultPrevented()) return
+
+ $parent
+ .toggleClass('open')
+ .trigger('shown.bs.dropdown')
+
+ $this.focus()
+ }
+
+ return false
+ }
+
+ Dropdown.prototype.keydown = function (e) {
+ if (!/(38|40|27)/.test(e.keyCode)) return
+
+ var $this = $(this)
+
+ e.preventDefault()
+ e.stopPropagation()
+
+ if ($this.is('.disabled, :disabled')) return
+
+ var $parent = getParent($this)
+ var isActive = $parent.hasClass('open')
+
+ if (!isActive || (isActive && e.keyCode == 27)) {
+ if (e.which == 27) $parent.find(toggle).focus()
+ return $this.click()
+ }
+
+ var $items = $('[role=menu] li:not(.divider):visible a', $parent)
+
+ if (!$items.length) return
+
+ var index = $items.index($items.filter(':focus'))
+
+ if (e.keyCode == 38 && index > 0) index-- // up
+ if (e.keyCode == 40 && index < $items.length - 1) index++ // down
+ if (!~index) index=0
+
+ $items.eq(index).focus()
+ }
+
+ function clearMenus() {
+ $(backdrop).remove()
+ $(toggle).each(function (e) {
+ var $parent = getParent($(this))
+ if (!$parent.hasClass('open')) return
+ $parent.trigger(e = $.Event('hide.bs.dropdown'))
+ if (e.isDefaultPrevented()) return
+ $parent.removeClass('open').trigger('hidden.bs.dropdown')
+ })
+ }
+
+ function getParent($this) {
+ var selector = $this.attr('data-target')
+
+ if (!selector) {
+ selector = $this.attr('href')
+ selector = selector && /#/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
+ }
+
+ var $parent = selector && $(selector)
+
+ return $parent && $parent.length ? $parent : $this.parent()
+ }
+
+
+ // DROPDOWN PLUGIN DEFINITION
+ // ==========================
+
+ var old = $.fn.dropdown
+
+ $.fn.dropdown = function (option) {
+ return this.each(function () {
+ var $this = $(this)
+ var data = $this.data('dropdown')
+
+ if (!data) $this.data('dropdown', (data = new Dropdown(this)))
+ if (typeof option == 'string') data[option].call($this)
+ })
+ }
+
+ $.fn.dropdown.Constructor = Dropdown
+
+
+ // DROPDOWN NO CONFLICT
+ // ====================
+
+ $.fn.dropdown.noConflict = function () {
+ $.fn.dropdown = old
+ return this
+ }
+
+
+ // APPLY TO STANDARD DROPDOWN ELEMENTS
+ // ===================================
+
+ $(document)
+ .on('click.bs.dropdown.data-api', clearMenus)
+ .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
+ .on('click.bs.dropdown.data-api' , toggle, Dropdown.prototype.toggle)
+ .on('keydown.bs.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: modal.js v3.0.2
+ * http://getbootstrap.com/javascript/#modals
+ * ========================================================================
+ * Copyright 2013 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ======================================================================== */
+
+
++function ($) { "use strict";
+
+ // MODAL CLASS DEFINITION
+ // ======================
+
+ var Modal = function (element, options) {
+ this.options = options
+ this.$element = $(element)
+ this.$backdrop =
+ this.isShown = null
+
+ if (this.options.remote) this.$element.load(this.options.remote)
+ }
+
+ Modal.DEFAULTS = {
+ backdrop: true
+ , keyboard: true
+ , show: true
+ }
+
+ Modal.prototype.toggle = function (_relatedTarget) {
+ return this[!this.isShown ? 'show' : 'hide'](_relatedTarget)
+ }
+
+ Modal.prototype.show = function (_relatedTarget) {
+ var that = this
+ var e = $.Event('show.bs.modal', { relatedTarget: _relatedTarget })
+
+ this.$element.trigger(e)
+
+ if (this.isShown || e.isDefaultPrevented()) return
+
+ this.isShown = true
+
+ this.escape()
+
+ this.$element.on('click.dismiss.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this))
+
+ this.backdrop(function () {
+ var transition = $.support.transition && that.$element.hasClass('fade')
+
+ if (!that.$element.parent().length) {
+ that.$element.appendTo(document.body) // don't move modals dom position
+ }
+
+ that.$element.show()
+
+ if (transition) {
+ that.$element[0].offsetWidth // force reflow
+ }
+
+ that.$element
+ .addClass('in')
+ .attr('aria-hidden', false)
+
+ that.enforceFocus()
+
+ var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget })
+
+ transition ?
+ that.$element.find('.modal-dialog') // wait for modal to slide in
+ .one($.support.transition.end, function () {
+ that.$element.focus().trigger(e)
+ })
+ .emulateTransitionEnd(300) :
+ that.$element.focus().trigger(e)
+ })
+ }
+
+ Modal.prototype.hide = function (e) {
+ if (e) e.preventDefault()
+
+ e = $.Event('hide.bs.modal')
+
+ this.$element.trigger(e)
+
+ if (!this.isShown || e.isDefaultPrevented()) return
+
+ this.isShown = false
+
+ this.escape()
+
+ $(document).off('focusin.bs.modal')
+
+ this.$element
+ .removeClass('in')
+ .attr('aria-hidden', true)
+ .off('click.dismiss.modal')
+
+ $.support.transition && this.$element.hasClass('fade') ?
+ this.$element
+ .one($.support.transition.end, $.proxy(this.hideModal, this))
+ .emulateTransitionEnd(300) :
+ this.hideModal()
+ }
+
+ Modal.prototype.enforceFocus = function () {
+ $(document)
+ .off('focusin.bs.modal') // guard against infinite focus loop
+ .on('focusin.bs.modal', $.proxy(function (e) {
+ if (this.$element[0] !== e.target && !this.$element.has(e.target).length) {
+ this.$element.focus()
+ }
+ }, this))
+ }
+
+ Modal.prototype.escape = function () {
+ if (this.isShown && this.options.keyboard) {
+ this.$element.on('keyup.dismiss.bs.modal', $.proxy(function (e) {
+ e.which == 27 && this.hide()
+ }, this))
+ } else if (!this.isShown) {
+ this.$element.off('keyup.dismiss.bs.modal')
+ }
+ }
+
+ Modal.prototype.hideModal = function () {
+ var that = this
+ this.$element.hide()
+ this.backdrop(function () {
+ that.removeBackdrop()
+ that.$element.trigger('hidden.bs.modal')
+ })
+ }
+
+ Modal.prototype.removeBackdrop = function () {
+ this.$backdrop && this.$backdrop.remove()
+ this.$backdrop = null
+ }
+
+ Modal.prototype.backdrop = function (callback) {
+ var that = this
+ var animate = this.$element.hasClass('fade') ? 'fade' : ''
+
+ if (this.isShown && this.options.backdrop) {
+ var doAnimate = $.support.transition && animate
+
+ this.$backdrop = $('')
+ .appendTo(document.body)
+
+ this.$element.on('click.dismiss.modal', $.proxy(function (e) {
+ if (e.target !== e.currentTarget) return
+ this.options.backdrop == 'static'
+ ? this.$element[0].focus.call(this.$element[0])
+ : this.hide.call(this)
+ }, this))
+
+ if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
+
+ this.$backdrop.addClass('in')
+
+ if (!callback) return
+
+ doAnimate ?
+ this.$backdrop
+ .one($.support.transition.end, callback)
+ .emulateTransitionEnd(150) :
+ callback()
+
+ } else if (!this.isShown && this.$backdrop) {
+ this.$backdrop.removeClass('in')
+
+ $.support.transition && this.$element.hasClass('fade')?
+ this.$backdrop
+ .one($.support.transition.end, callback)
+ .emulateTransitionEnd(150) :
+ callback()
+
+ } else if (callback) {
+ callback()
+ }
+ }
+
+
+ // MODAL PLUGIN DEFINITION
+ // =======================
+
+ var old = $.fn.modal
+
+ $.fn.modal = function (option, _relatedTarget) {
+ return this.each(function () {
+ var $this = $(this)
+ var data = $this.data('bs.modal')
+ var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option)
+
+ if (!data) $this.data('bs.modal', (data = new Modal(this, options)))
+ if (typeof option == 'string') data[option](_relatedTarget)
+ else if (options.show) data.show(_relatedTarget)
+ })
+ }
+
+ $.fn.modal.Constructor = Modal
+
+
+ // MODAL NO CONFLICT
+ // =================
+
+ $.fn.modal.noConflict = function () {
+ $.fn.modal = old
+ return this
+ }
+
+
+ // MODAL DATA-API
+ // ==============
+
+ $(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (e) {
+ var $this = $(this)
+ var href = $this.attr('href')
+ var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) //strip for ie7
+ var option = $target.data('modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())
+
+ e.preventDefault()
+
+ $target
+ .modal(option, this)
+ .one('hide', function () {
+ $this.is(':visible') && $this.focus()
+ })
+ })
+
+ $(document)
+ .on('show.bs.modal', '.modal', function () { $(document.body).addClass('modal-open') })
+ .on('hidden.bs.modal', '.modal', function () { $(document.body).removeClass('modal-open') })
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: tooltip.js v3.0.2
+ * http://getbootstrap.com/javascript/#tooltip
+ * Inspired by the original jQuery.tipsy by Jason Frame
+ * ========================================================================
+ * Copyright 2013 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ======================================================================== */
+
+
++function ($) { "use strict";
+
+ // TOOLTIP PUBLIC CLASS DEFINITION
+ // ===============================
+
+ var Tooltip = function (element, options) {
+ this.type =
+ this.options =
+ this.enabled =
+ this.timeout =
+ this.hoverState =
+ this.$element = null
+
+ this.init('tooltip', element, options)
+ }
+
+ Tooltip.DEFAULTS = {
+ animation: true
+ , placement: 'top'
+ , selector: false
+ , template: ''
+ , trigger: 'hover focus'
+ , title: ''
+ , delay: 0
+ , html: false
+ , container: false
+ }
+
+ Tooltip.prototype.init = function (type, element, options) {
+ this.enabled = true
+ this.type = type
+ this.$element = $(element)
+ this.options = this.getOptions(options)
+
+ var triggers = this.options.trigger.split(' ')
+
+ for (var i = triggers.length; i--;) {
+ var trigger = triggers[i]
+
+ if (trigger == 'click') {
+ this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
+ } else if (trigger != 'manual') {
+ var eventIn = trigger == 'hover' ? 'mouseenter' : 'focus'
+ var eventOut = trigger == 'hover' ? 'mouseleave' : 'blur'
+
+ this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
+ this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
+ }
+ }
+
+ this.options.selector ?
+ (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :
+ this.fixTitle()
+ }
+
+ Tooltip.prototype.getDefaults = function () {
+ return Tooltip.DEFAULTS
+ }
+
+ Tooltip.prototype.getOptions = function (options) {
+ options = $.extend({}, this.getDefaults(), this.$element.data(), options)
+
+ if (options.delay && typeof options.delay == 'number') {
+ options.delay = {
+ show: options.delay
+ , hide: options.delay
+ }
+ }
+
+ return options
+ }
+
+ Tooltip.prototype.getDelegateOptions = function () {
+ var options = {}
+ var defaults = this.getDefaults()
+
+ this._options && $.each(this._options, function (key, value) {
+ if (defaults[key] != value) options[key] = value
+ })
+
+ return options
+ }
+
+ Tooltip.prototype.enter = function (obj) {
+ var self = obj instanceof this.constructor ?
+ obj : $(obj.currentTarget)[this.type](this.getDelegateOptions()).data('bs.' + this.type)
+
+ clearTimeout(self.timeout)
+
+ self.hoverState = 'in'
+
+ if (!self.options.delay || !self.options.delay.show) return self.show()
+
+ self.timeout = setTimeout(function () {
+ if (self.hoverState == 'in') self.show()
+ }, self.options.delay.show)
+ }
+
+ Tooltip.prototype.leave = function (obj) {
+ var self = obj instanceof this.constructor ?
+ obj : $(obj.currentTarget)[this.type](this.getDelegateOptions()).data('bs.' + this.type)
+
+ clearTimeout(self.timeout)
+
+ self.hoverState = 'out'
+
+ if (!self.options.delay || !self.options.delay.hide) return self.hide()
+
+ self.timeout = setTimeout(function () {
+ if (self.hoverState == 'out') self.hide()
+ }, self.options.delay.hide)
+ }
+
+ Tooltip.prototype.show = function () {
+ var e = $.Event('show.bs.'+ this.type)
+
+ if (this.hasContent() && this.enabled) {
+ this.$element.trigger(e)
+
+ if (e.isDefaultPrevented()) return
+
+ var $tip = this.tip()
+
+ this.setContent()
+
+ if (this.options.animation) $tip.addClass('fade')
+
+ var placement = typeof this.options.placement == 'function' ?
+ this.options.placement.call(this, $tip[0], this.$element[0]) :
+ this.options.placement
+
+ var autoToken = /\s?auto?\s?/i
+ var autoPlace = autoToken.test(placement)
+ if (autoPlace) placement = placement.replace(autoToken, '') || 'top'
+
+ $tip
+ .detach()
+ .css({ top: 0, left: 0, display: 'block' })
+ .addClass(placement)
+
+ this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
+
+ var pos = this.getPosition()
+ var actualWidth = $tip[0].offsetWidth
+ var actualHeight = $tip[0].offsetHeight
+
+ if (autoPlace) {
+ var $parent = this.$element.parent()
+
+ var orgPlacement = placement
+ var docScroll = document.documentElement.scrollTop || document.body.scrollTop
+ var parentWidth = this.options.container == 'body' ? window.innerWidth : $parent.outerWidth()
+ var parentHeight = this.options.container == 'body' ? window.innerHeight : $parent.outerHeight()
+ var parentLeft = this.options.container == 'body' ? 0 : $parent.offset().left
+
+ placement = placement == 'bottom' && pos.top + pos.height + actualHeight - docScroll > parentHeight ? 'top' :
+ placement == 'top' && pos.top - docScroll - actualHeight < 0 ? 'bottom' :
+ placement == 'right' && pos.right + actualWidth > parentWidth ? 'left' :
+ placement == 'left' && pos.left - actualWidth < parentLeft ? 'right' :
+ placement
+
+ $tip
+ .removeClass(orgPlacement)
+ .addClass(placement)
+ }
+
+ var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight)
+
+ this.applyPlacement(calculatedOffset, placement)
+ this.$element.trigger('shown.bs.' + this.type)
+ }
+ }
+
+ Tooltip.prototype.applyPlacement = function(offset, placement) {
+ var replace
+ var $tip = this.tip()
+ var width = $tip[0].offsetWidth
+ var height = $tip[0].offsetHeight
+
+ // manually read margins because getBoundingClientRect includes difference
+ var marginTop = parseInt($tip.css('margin-top'), 10)
+ var marginLeft = parseInt($tip.css('margin-left'), 10)
+
+ // we must check for NaN for ie 8/9
+ if (isNaN(marginTop)) marginTop = 0
+ if (isNaN(marginLeft)) marginLeft = 0
+
+ offset.top = offset.top + marginTop
+ offset.left = offset.left + marginLeft
+
+ $tip
+ .offset(offset)
+ .addClass('in')
+
+ // check to see if placing tip in new offset caused the tip to resize itself
+ var actualWidth = $tip[0].offsetWidth
+ var actualHeight = $tip[0].offsetHeight
+
+ if (placement == 'top' && actualHeight != height) {
+ replace = true
+ offset.top = offset.top + height - actualHeight
+ }
+
+ if (/bottom|top/.test(placement)) {
+ var delta = 0
+
+ if (offset.left < 0) {
+ delta = offset.left * -2
+ offset.left = 0
+
+ $tip.offset(offset)
+
+ actualWidth = $tip[0].offsetWidth
+ actualHeight = $tip[0].offsetHeight
+ }
+
+ this.replaceArrow(delta - width + actualWidth, actualWidth, 'left')
+ } else {
+ this.replaceArrow(actualHeight - height, actualHeight, 'top')
+ }
+
+ if (replace) $tip.offset(offset)
+ }
+
+ Tooltip.prototype.replaceArrow = function(delta, dimension, position) {
+ this.arrow().css(position, delta ? (50 * (1 - delta / dimension) + "%") : '')
+ }
+
+ Tooltip.prototype.setContent = function () {
+ var $tip = this.tip()
+ var title = this.getTitle()
+
+ $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title)
+ $tip.removeClass('fade in top bottom left right')
+ }
+
+ Tooltip.prototype.hide = function () {
+ var that = this
+ var $tip = this.tip()
+ var e = $.Event('hide.bs.' + this.type)
+
+ function complete() {
+ if (that.hoverState != 'in') $tip.detach()
+ }
+
+ this.$element.trigger(e)
+
+ if (e.isDefaultPrevented()) return
+
+ $tip.removeClass('in')
+
+ $.support.transition && this.$tip.hasClass('fade') ?
+ $tip
+ .one($.support.transition.end, complete)
+ .emulateTransitionEnd(150) :
+ complete()
+
+ this.$element.trigger('hidden.bs.' + this.type)
+
+ return this
+ }
+
+ Tooltip.prototype.fixTitle = function () {
+ var $e = this.$element
+ if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') {
+ $e.attr('data-original-title', $e.attr('title') || '').attr('title', '')
+ }
+ }
+
+ Tooltip.prototype.hasContent = function () {
+ return this.getTitle()
+ }
+
+ Tooltip.prototype.getPosition = function () {
+ var el = this.$element[0]
+ return $.extend({}, (typeof el.getBoundingClientRect == 'function') ? el.getBoundingClientRect() : {
+ width: el.offsetWidth
+ , height: el.offsetHeight
+ }, this.$element.offset())
+ }
+
+ Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) {
+ return placement == 'bottom' ? { top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 } :
+ placement == 'top' ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } :
+ placement == 'left' ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } :
+ /* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width }
+ }
+
+ Tooltip.prototype.getTitle = function () {
+ var title
+ var $e = this.$element
+ var o = this.options
+
+ title = $e.attr('data-original-title')
+ || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title)
+
+ return title
+ }
+
+ Tooltip.prototype.tip = function () {
+ return this.$tip = this.$tip || $(this.options.template)
+ }
+
+ Tooltip.prototype.arrow = function () {
+ return this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow')
+ }
+
+ Tooltip.prototype.validate = function () {
+ if (!this.$element[0].parentNode) {
+ this.hide()
+ this.$element = null
+ this.options = null
+ }
+ }
+
+ Tooltip.prototype.enable = function () {
+ this.enabled = true
+ }
+
+ Tooltip.prototype.disable = function () {
+ this.enabled = false
+ }
+
+ Tooltip.prototype.toggleEnabled = function () {
+ this.enabled = !this.enabled
+ }
+
+ Tooltip.prototype.toggle = function (e) {
+ var self = e ? $(e.currentTarget)[this.type](this.getDelegateOptions()).data('bs.' + this.type) : this
+ self.tip().hasClass('in') ? self.leave(self) : self.enter(self)
+ }
+
+ Tooltip.prototype.destroy = function () {
+ this.hide().$element.off('.' + this.type).removeData('bs.' + this.type)
+ }
+
+
+ // TOOLTIP PLUGIN DEFINITION
+ // =========================
+
+ var old = $.fn.tooltip
+
+ $.fn.tooltip = function (option) {
+ return this.each(function () {
+ var $this = $(this)
+ var data = $this.data('bs.tooltip')
+ var options = typeof option == 'object' && option
+
+ if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)))
+ if (typeof option == 'string') data[option]()
+ })
+ }
+
+ $.fn.tooltip.Constructor = Tooltip
+
+
+ // TOOLTIP NO CONFLICT
+ // ===================
+
+ $.fn.tooltip.noConflict = function () {
+ $.fn.tooltip = old
+ return this
+ }
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: popover.js v3.0.2
+ * http://getbootstrap.com/javascript/#popovers
+ * ========================================================================
+ * Copyright 2013 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ======================================================================== */
+
+
++function ($) { "use strict";
+
+ // POPOVER PUBLIC CLASS DEFINITION
+ // ===============================
+
+ var Popover = function (element, options) {
+ this.init('popover', element, options)
+ }
+
+ if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')
+
+ Popover.DEFAULTS = $.extend({} , $.fn.tooltip.Constructor.DEFAULTS, {
+ placement: 'right'
+ , trigger: 'click'
+ , content: ''
+ , template: ''
+ })
+
+
+ // NOTE: POPOVER EXTENDS tooltip.js
+ // ================================
+
+ Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype)
+
+ Popover.prototype.constructor = Popover
+
+ Popover.prototype.getDefaults = function () {
+ return Popover.DEFAULTS
+ }
+
+ Popover.prototype.setContent = function () {
+ var $tip = this.tip()
+ var title = this.getTitle()
+ var content = this.getContent()
+
+ $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)
+ $tip.find('.popover-content')[this.options.html ? 'html' : 'text'](content)
+
+ $tip.removeClass('fade top bottom left right in')
+
+ // IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do
+ // this manually by checking the contents.
+ if (!$tip.find('.popover-title').html()) $tip.find('.popover-title').hide()
+ }
+
+ Popover.prototype.hasContent = function () {
+ return this.getTitle() || this.getContent()
+ }
+
+ Popover.prototype.getContent = function () {
+ var $e = this.$element
+ var o = this.options
+
+ return $e.attr('data-content')
+ || (typeof o.content == 'function' ?
+ o.content.call($e[0]) :
+ o.content)
+ }
+
+ Popover.prototype.arrow = function () {
+ return this.$arrow = this.$arrow || this.tip().find('.arrow')
+ }
+
+ Popover.prototype.tip = function () {
+ if (!this.$tip) this.$tip = $(this.options.template)
+ return this.$tip
+ }
+
+
+ // POPOVER PLUGIN DEFINITION
+ // =========================
+
+ var old = $.fn.popover
+
+ $.fn.popover = function (option) {
+ return this.each(function () {
+ var $this = $(this)
+ var data = $this.data('bs.popover')
+ var options = typeof option == 'object' && option
+
+ if (!data) $this.data('bs.popover', (data = new Popover(this, options)))
+ if (typeof option == 'string') data[option]()
+ })
+ }
+
+ $.fn.popover.Constructor = Popover
+
+
+ // POPOVER NO CONFLICT
+ // ===================
+
+ $.fn.popover.noConflict = function () {
+ $.fn.popover = old
+ return this
+ }
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: scrollspy.js v3.0.2
+ * http://getbootstrap.com/javascript/#scrollspy
+ * ========================================================================
+ * Copyright 2013 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ======================================================================== */
+
+
++function ($) { "use strict";
+
+ // SCROLLSPY CLASS DEFINITION
+ // ==========================
+
+ function ScrollSpy(element, options) {
+ var href
+ var process = $.proxy(this.process, this)
+
+ this.$element = $(element).is('body') ? $(window) : $(element)
+ this.$body = $('body')
+ this.$scrollElement = this.$element.on('scroll.bs.scroll-spy.data-api', process)
+ this.options = $.extend({}, ScrollSpy.DEFAULTS, options)
+ this.selector = (this.options.target
+ || ((href = $(element).attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
+ || '') + ' .nav li > a'
+ this.offsets = $([])
+ this.targets = $([])
+ this.activeTarget = null
+
+ this.refresh()
+ this.process()
+ }
+
+ ScrollSpy.DEFAULTS = {
+ offset: 10
+ }
+
+ ScrollSpy.prototype.refresh = function () {
+ var offsetMethod = this.$element[0] == window ? 'offset' : 'position'
+
+ this.offsets = $([])
+ this.targets = $([])
+
+ var self = this
+ var $targets = this.$body
+ .find(this.selector)
+ .map(function () {
+ var $el = $(this)
+ var href = $el.data('target') || $el.attr('href')
+ var $href = /^#\w/.test(href) && $(href)
+
+ return ($href
+ && $href.length
+ && [[ $href[offsetMethod]().top + (!$.isWindow(self.$scrollElement.get(0)) && self.$scrollElement.scrollTop()), href ]]) || null
+ })
+ .sort(function (a, b) { return a[0] - b[0] })
+ .each(function () {
+ self.offsets.push(this[0])
+ self.targets.push(this[1])
+ })
+ }
+
+ ScrollSpy.prototype.process = function () {
+ var scrollTop = this.$scrollElement.scrollTop() + this.options.offset
+ var scrollHeight = this.$scrollElement[0].scrollHeight || this.$body[0].scrollHeight
+ var maxScroll = scrollHeight - this.$scrollElement.height()
+ var offsets = this.offsets
+ var targets = this.targets
+ var activeTarget = this.activeTarget
+ var i
+
+ if (scrollTop >= maxScroll) {
+ return activeTarget != (i = targets.last()[0]) && this.activate(i)
+ }
+
+ for (i = offsets.length; i--;) {
+ activeTarget != targets[i]
+ && scrollTop >= offsets[i]
+ && (!offsets[i + 1] || scrollTop <= offsets[i + 1])
+ && this.activate( targets[i] )
+ }
+ }
+
+ ScrollSpy.prototype.activate = function (target) {
+ this.activeTarget = target
+
+ $(this.selector)
+ .parents('.active')
+ .removeClass('active')
+
+ var selector = this.selector
+ + '[data-target="' + target + '"],'
+ + this.selector + '[href="' + target + '"]'
+
+ var active = $(selector)
+ .parents('li')
+ .addClass('active')
+
+ if (active.parent('.dropdown-menu').length) {
+ active = active
+ .closest('li.dropdown')
+ .addClass('active')
+ }
+
+ active.trigger('activate')
+ }
+
+
+ // SCROLLSPY PLUGIN DEFINITION
+ // ===========================
+
+ var old = $.fn.scrollspy
+
+ $.fn.scrollspy = function (option) {
+ return this.each(function () {
+ var $this = $(this)
+ var data = $this.data('bs.scrollspy')
+ var options = typeof option == 'object' && option
+
+ if (!data) $this.data('bs.scrollspy', (data = new ScrollSpy(this, options)))
+ if (typeof option == 'string') data[option]()
+ })
+ }
+
+ $.fn.scrollspy.Constructor = ScrollSpy
+
+
+ // SCROLLSPY NO CONFLICT
+ // =====================
+
+ $.fn.scrollspy.noConflict = function () {
+ $.fn.scrollspy = old
+ return this
+ }
+
+
+ // SCROLLSPY DATA-API
+ // ==================
+
+ $(window).on('load', function () {
+ $('[data-spy="scroll"]').each(function () {
+ var $spy = $(this)
+ $spy.scrollspy($spy.data())
+ })
+ })
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: tab.js v3.0.2
+ * http://getbootstrap.com/javascript/#tabs
+ * ========================================================================
+ * Copyright 2013 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ======================================================================== */
+
+
++function ($) { "use strict";
+
+ // TAB CLASS DEFINITION
+ // ====================
+
+ var Tab = function (element) {
+ this.element = $(element)
+ }
+
+ Tab.prototype.show = function () {
+ var $this = this.element
+ var $ul = $this.closest('ul:not(.dropdown-menu)')
+ var selector = $this.data('target')
+
+ if (!selector) {
+ selector = $this.attr('href')
+ selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
+ }
+
+ if ($this.parent('li').hasClass('active')) return
+
+ var previous = $ul.find('.active:last a')[0]
+ var e = $.Event('show.bs.tab', {
+ relatedTarget: previous
+ })
+
+ $this.trigger(e)
+
+ if (e.isDefaultPrevented()) return
+
+ var $target = $(selector)
+
+ this.activate($this.parent('li'), $ul)
+ this.activate($target, $target.parent(), function () {
+ $this.trigger({
+ type: 'shown.bs.tab'
+ , relatedTarget: previous
+ })
+ })
+ }
+
+ Tab.prototype.activate = function (element, container, callback) {
+ var $active = container.find('> .active')
+ var transition = callback
+ && $.support.transition
+ && $active.hasClass('fade')
+
+ function next() {
+ $active
+ .removeClass('active')
+ .find('> .dropdown-menu > .active')
+ .removeClass('active')
+
+ element.addClass('active')
+
+ if (transition) {
+ element[0].offsetWidth // reflow for transition
+ element.addClass('in')
+ } else {
+ element.removeClass('fade')
+ }
+
+ if (element.parent('.dropdown-menu')) {
+ element.closest('li.dropdown').addClass('active')
+ }
+
+ callback && callback()
+ }
+
+ transition ?
+ $active
+ .one($.support.transition.end, next)
+ .emulateTransitionEnd(150) :
+ next()
+
+ $active.removeClass('in')
+ }
+
+
+ // TAB PLUGIN DEFINITION
+ // =====================
+
+ var old = $.fn.tab
+
+ $.fn.tab = function ( option ) {
+ return this.each(function () {
+ var $this = $(this)
+ var data = $this.data('bs.tab')
+
+ if (!data) $this.data('bs.tab', (data = new Tab(this)))
+ if (typeof option == 'string') data[option]()
+ })
+ }
+
+ $.fn.tab.Constructor = Tab
+
+
+ // TAB NO CONFLICT
+ // ===============
+
+ $.fn.tab.noConflict = function () {
+ $.fn.tab = old
+ return this
+ }
+
+
+ // TAB DATA-API
+ // ============
+
+ $(document).on('click.bs.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
+ e.preventDefault()
+ $(this).tab('show')
+ })
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: affix.js v3.0.2
+ * http://getbootstrap.com/javascript/#affix
+ * ========================================================================
+ * Copyright 2013 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ======================================================================== */
+
+
++function ($) { "use strict";
+
+ // AFFIX CLASS DEFINITION
+ // ======================
+
+ var Affix = function (element, options) {
+ this.options = $.extend({}, Affix.DEFAULTS, options)
+ this.$window = $(window)
+ .on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this))
+ .on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this))
+
+ this.$element = $(element)
+ this.affixed =
+ this.unpin = null
+
+ this.checkPosition()
+ }
+
+ Affix.RESET = 'affix affix-top affix-bottom'
+
+ Affix.DEFAULTS = {
+ offset: 0
+ }
+
+ Affix.prototype.checkPositionWithEventLoop = function () {
+ setTimeout($.proxy(this.checkPosition, this), 1)
+ }
+
+ Affix.prototype.checkPosition = function () {
+ if (!this.$element.is(':visible')) return
+
+ var scrollHeight = $(document).height()
+ var scrollTop = this.$window.scrollTop()
+ var position = this.$element.offset()
+ var offset = this.options.offset
+ var offsetTop = offset.top
+ var offsetBottom = offset.bottom
+
+ if (typeof offset != 'object') offsetBottom = offsetTop = offset
+ if (typeof offsetTop == 'function') offsetTop = offset.top()
+ if (typeof offsetBottom == 'function') offsetBottom = offset.bottom()
+
+ var affix = this.unpin != null && (scrollTop + this.unpin <= position.top) ? false :
+ offsetBottom != null && (position.top + this.$element.height() >= scrollHeight - offsetBottom) ? 'bottom' :
+ offsetTop != null && (scrollTop <= offsetTop) ? 'top' : false
+
+ if (this.affixed === affix) return
+ if (this.unpin) this.$element.css('top', '')
+
+ this.affixed = affix
+ this.unpin = affix == 'bottom' ? position.top - scrollTop : null
+
+ this.$element.removeClass(Affix.RESET).addClass('affix' + (affix ? '-' + affix : ''))
+
+ if (affix == 'bottom') {
+ this.$element.offset({ top: document.body.offsetHeight - offsetBottom - this.$element.height() })
+ }
+ }
+
+
+ // AFFIX PLUGIN DEFINITION
+ // =======================
+
+ var old = $.fn.affix
+
+ $.fn.affix = function (option) {
+ return this.each(function () {
+ var $this = $(this)
+ var data = $this.data('bs.affix')
+ var options = typeof option == 'object' && option
+
+ if (!data) $this.data('bs.affix', (data = new Affix(this, options)))
+ if (typeof option == 'string') data[option]()
+ })
+ }
+
+ $.fn.affix.Constructor = Affix
+
+
+ // AFFIX NO CONFLICT
+ // =================
+
+ $.fn.affix.noConflict = function () {
+ $.fn.affix = old
+ return this
+ }
+
+
+ // AFFIX DATA-API
+ // ==============
+
+ $(window).on('load', function () {
+ $('[data-spy="affix"]').each(function () {
+ var $spy = $(this)
+ var data = $spy.data()
+
+ data.offset = data.offset || {}
+
+ if (data.offsetBottom) data.offset.bottom = data.offsetBottom
+ if (data.offsetTop) data.offset.top = data.offsetTop
+
+ $spy.affix(data)
+ })
+ })
+
+}(jQuery);
diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css
index a9b4934e4da..010585ee4a0 100644
--- a/addons/web/static/src/css/base.css
+++ b/addons/web/static/src/css/base.css
@@ -111,6 +111,8 @@
}
.openerp h4 {
margin: 4px 0;
+ font-weight: bold;
+ font-size: inherit;
}
.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;
@@ -199,6 +201,7 @@
}
.openerp.ui-dialog {
display: none;
+ height: auto !important;
padding: 6px;
background-color: rgba(60, 60, 60, 0.7);
border: 1px solid;
@@ -241,6 +244,7 @@
}
.openerp.ui-dialog .ui-dialog-content {
background: white;
+ width: auto !important;
}
.openerp.ui-dialog .ui-dialog-buttonpane {
border-top: 1px solid #e0e0e0;
@@ -529,6 +533,15 @@
.openerp .oe_grey {
color: #aaaaaa;
}
+.openerp .oe_error_detail hr {
+ display: block;
+ -webkit-margin-before: 0.5em;
+ -webkit-margin-after: 0.5em;
+ -webkit-margin-start: auto;
+ -webkit-margin-end: auto;
+ border-style: inset;
+ border-width: 1px;
+}
.openerp .oe_tag {
border: 1px solid #afafb6;
font-size: 11px;
@@ -680,6 +693,9 @@
.openerp .oe_notebook_page {
padding: 0;
}
+.openerp .oe_notebook_page > label:not([for]) {
+ font-weight: normal !important;
+}
.openerp div.ui-tabs {
padding: 3px 0px 3px 0px;
}
@@ -976,7 +992,7 @@
}
.openerp .oe_login .oe_login_footer a {
color: #eeeeee;
- margin: 0 8px;
+ margin: 0 6px;
}
.openerp .oe_login .oe_login_footer a:hover {
text-decoration: underline;
@@ -1022,19 +1038,7 @@
.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: #454343;
- 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_anonymous_login {
+.openerp .navbar .oe_topbar_anonymous_login {
background-color: #dc5f59;
color: #eeeeee;
background-color: #be4343;
@@ -1045,11 +1049,11 @@
background-image: -o-linear-gradient(top, #fc8787, maroon);
background-image: linear-gradient(to bottom, #fc8787, maroon);
}
-.openerp .oe_topbar .oe_topbar_anonymous_login a {
+.openerp .navbar .oe_topbar_anonymous_login a {
display: block;
padding: 5px 10px 7px;
line-height: 20px;
- height: 20px;
+ height: 30px;
text-decoration: none;
color: white;
background: transparent;
@@ -1059,7 +1063,7 @@
-o-transition: all 0.2s ease-out;
transition: all 0.2s ease-out;
}
-.openerp .oe_topbar .oe_topbar_anonymous_login a:hover {
+.openerp .navbar .oe_topbar_anonymous_login a:hover {
background: rgba(0, 0, 0, 0.1);
color: white;
text-shadow: 0px 0px 3px rgba(0, 0, 0, 0.2);
@@ -1067,9 +1071,9 @@
-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_topbar .oe_topbar_item {
+.openerp .navbar .oe_topbar_item {
display: block;
- padding: 5px 10px 7px;
+ padding: 5px 10px 26px;
line-height: 20px;
height: 20px;
text-decoration: none;
@@ -1082,7 +1086,7 @@
-o-transition: all 0.2s ease-out;
transition: all 0.2s ease-out;
}
-.openerp .oe_topbar .oe_topbar_item:hover {
+.openerp .navbar .oe_topbar_item:hover {
background: rgba(0, 0, 0, 0.2);
text-shadow: black 0px 0px 3px;
color: white;
@@ -1090,7 +1094,7 @@
-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 {
+.openerp .navbar .oe_topbar_avatar {
width: 24px;
height: 24px;
margin: -2px 2px 0 0;
@@ -1098,13 +1102,13 @@
-webkit-border-radius: 3px;
border-radius: 3px;
}
-.openerp .oe_topbar .oe_topbar_avatar {
+.openerp .navbar .oe_topbar_avatar {
vertical-align: top;
}
-.openerp .oe_topbar .oe_dropdown_arrow:after {
+.openerp .navbar .oe_dropdown_arrow:after {
border-top: 4px solid white;
}
-.openerp .oe_topbar .oe_dropdown_menu {
+.openerp .navbar .dropdown_menu {
top: 32px;
background: #333333;
background: rgba(37, 37, 37, 0.9);
@@ -1119,14 +1123,14 @@
-moz-background-clip: padding-box;
background-clip: padding-box;
}
-.openerp .oe_topbar .oe_dropdown_menu li {
+.openerp .navbar .dropdown_menu li {
float: none;
padding: 3px 12px;
}
-.openerp .oe_topbar .oe_dropdown_menu li a {
+.openerp .navbar .dropdown_menu li a {
color: #eeeeee;
}
-.openerp .oe_topbar .oe_dropdown_menu li:hover {
+.openerp .navbar .dropdown_menu li:hover {
background-color: #212121;
background-image: -webkit-gradient(linear, left top, left bottom, from(#292929), to(#191919));
background-image: -webkit-linear-gradient(top, #292929, #191919);
@@ -1138,21 +1142,21 @@
-webkit-box-shadow: none;
box-shadow: none;
}
-.openerp .oe_topbar .oe_topbar_name {
+.openerp .navbar .oe_topbar_name {
max-width: 150px;
- overflow: hidden;
display: inline-block;
- max-height: 100%;
+ height: 15px;
text-overflow: ellipsis;
white-space: nowrap;
+ overflow: hidden;
}
-.openerp .oe_menu {
+.openerp .navbar-nav {
float: left;
padding: 0;
margin: 0;
font-size: 13px;
}
-.openerp .oe_menu > li {
+.openerp .navbar-nav > li {
list-style-type: none;
padding: 0;
margin: 0;
@@ -1160,13 +1164,13 @@
display: block;
color: #eeeeee;
}
-.openerp .oe_menu > li > a {
+.openerp .navbar-nav > li > a {
display: block;
- padding: 5px 10px 7px;
+ padding: 5px 10px 26px !important;
line-height: 20px;
height: 20px;
text-decoration: none;
- color: #eeeeee;
+ color: #eeeeee !important;
vertical-align: top;
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
-webkit-transition: all 0.2s ease-out;
@@ -1175,7 +1179,7 @@
-o-transition: all 0.2s ease-out;
transition: all 0.2s ease-out;
}
-.openerp .oe_menu > li > a:hover {
+.openerp .navbar-nav > li > a:hover {
background: rgba(0, 0, 0, 0.2);
text-shadow: black 0px 0px 3px;
color: white;
@@ -1183,7 +1187,7 @@
-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 {
+.openerp .navbar-nav > li > .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;
@@ -1214,7 +1218,7 @@
width: 220px;
background: #f0eeee;
border-right: 1px solid #afafb6;
- text-shadow: 0 1px 1px white;
+ text-shadow: none;
padding-bottom: 16px;
}
.openerp a.oe_logo {
@@ -1266,37 +1270,9 @@
color: #7c7bad;
}
.openerp .oe_secondary_submenu {
- padding: 2px 0 8px 0;
- margin: 0;
-}
-.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 lightgrey;
- 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);
+ margin-bottom: 10px !important;
+ line-height: 1.1em;
+ margin-top: 3px;
}
.openerp .oe_secondary_submenu .oe_menu_text {
white-space: nowrap;
@@ -1304,15 +1280,9 @@
display: inline-block;
text-overflow: ellipsis;
max-width: 85%;
+ margin-top: 1px;
}
-.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 {
+.openerp .oe_secondary_submenu .badge:hover {
cursor: pointer;
-webkit-transform: scale(1.1);
-moz-transform: scale(1.1);
@@ -1320,33 +1290,6 @@
-o-transform: scale(1.1);
transform: scale(1.1);
}
-.openerp .oe_secondary_submenu .oe_active {
- border-top: 1px solid lightgrey;
- 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;
@@ -1371,9 +1314,6 @@
border-right: 4px solid transparent;
border-top: 4px solid #4c4c4c;
}
-.openerp .oe_secondary_submenu .oe_secondary_submenu {
- margin-left: -20px;
-}
.openerp .oe_secondary_submenu .oe_secondary_submenu li {
margin-left: 20px;
}
@@ -1440,6 +1380,7 @@
.openerp .oe_application .oe_breadcrumb_title > * {
display: inline-block;
overflow: hidden;
+ font-weight: bold;
}
.openerp .oe_view_manager {
display: table;
@@ -1482,6 +1423,7 @@
font-size: 18px;
margin: 0;
float: left;
+ line-height: 30px;
}
.openerp .oe_view_manager table.oe_view_manager_header h2 a {
color: #7c7bad;
@@ -1652,9 +1594,12 @@
.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 {
+.openerp .oe_popup_form .oe_formview .oe_form_pager {
display: none !important;
}
+.openerp .oe_popup_form table label {
+ font-weight: normal;
+}
.openerp .oe_popup_list_pager {
float: right;
}
@@ -1680,6 +1625,16 @@
font-size: 12px;
line-height: 18px;
}
+.openerp .oe_searchview input:not([type]), .openerp .oe_searchview input[type="text"], .openerp .oe_searchview input[type="number"] {
+ width: 156px;
+ height: 22px;
+}
+.openerp .oe_searchview input[type="checkbox"] {
+ margin: 3px 3px 3px 4px;
+}
+.openerp .oe_searchview select {
+ margin: 2px 4px 2px 0;
+}
.openerp .oe_searchview.oe_focused {
border-color: #a6a6fe;
-moz-box-shadow: 0 1px 2px #a6a6fe inset;
@@ -1904,6 +1859,7 @@
box-sizing: border-box;
display: table-cell;
width: 50%;
+ padding-left: 2px;
}
.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_section ul {
margin: 0 8px 8px;
@@ -1939,7 +1895,7 @@
line-height: 18px;
}
.openerp .oe_searchview .oe_searchview_drawer form button {
- margin: 0 0 8px 0;
+ margin: 0 0 8px -3px;
}
.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_custom {
padding: 0 8px 8px 8px;
@@ -1967,6 +1923,9 @@
top: 0;
right: 5px;
}
+.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_custom label {
+ font-weight: normal;
+}
.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_dashboard form {
display: none;
margin-top: 2px;
@@ -1994,6 +1953,7 @@
}
.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_advanced li:first-child .searchview_extended_prop_or {
visibility: hidden;
+ margin-left: -14px;
}
.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_advanced .searchview_extended_prop_or {
opacity: 0.5;
@@ -2185,6 +2145,12 @@
background: url(/web/static/src/img/form_sheetbg.png);
border-bottom: 1px solid #dddddd;
}
+.openerp .oe_application .oe_form_sheetbg .oe_subtotal_footer label {
+ font-weight: bold;
+}
+.openerp .oe_application .oe_form_sheetbg table label {
+ font-weight: normal;
+}
.openerp .oe_application .oe_form_sheet {
border: 1px solid #c8c8d3;
-moz-box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
@@ -2273,7 +2239,7 @@
padding: 2px 11px 2px 0px !important;
}
.openerp .oe_form .oe_subtotal_footer label.oe_form_label_help {
- font-weight: normal;
+ font-weight: normal !important;
}
.openerp .oe_form .oe_form_box_info {
background: #ffee99;
@@ -2305,7 +2271,8 @@
.openerp .oe_form td.oe_form_group_cell_label label {
line-height: 18px;
display: block;
- min-width: 140px;
+ min-width: 150px;
+ font-weight: bold !important;
}
.openerp .oe_form td.oe_form_group_cell + .oe_form_group_cell {
padding: 2px 0 2px 8px;
@@ -2318,13 +2285,12 @@
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;
+ color: darkGreen;
vertical-align: top;
position: relative;
top: -4px;
@@ -2402,6 +2368,18 @@
height: inherit !important;
font-size: inherit;
}
+.openerp .oe_form .oe_title h1, .openerp .oe_form h1 {
+ font-weight: bold;
+ font-size: 2em;
+}
+.openerp .oe_form h2 {
+ font-size: 1.5em;
+}
+.openerp .oe_form label {
+ font-weight: bold;
+ margin-bottom: 0px;
+ display: inline;
+}
.openerp .oe_form .oe_form_field {
width: 100%;
display: inline-block;
@@ -2539,6 +2517,9 @@
margin: 0;
padding: 0;
}
+.openerp .oe_form .oe_form_field_binary {
+ display: inline-block;
+}
.openerp .oe_form .oe_form_field_image {
padding: 0;
position: relative;
@@ -2570,13 +2551,14 @@
display: inline-block;
clear: both;
width: 100%;
+ margin-bottom: -15px;
}
.openerp .oe_fileupload .oe_add {
float: left;
position: relative;
width: 100%;
left: 2px;
- top: 7px;
+ margin: 9px 0;
overflow: hidden;
}
.openerp .oe_fileupload .oe_add button {
@@ -2588,9 +2570,6 @@
}
.openerp .oe_fileupload .oe_add button.oe_attach {
width: 24px;
- overflow: hidden;
- width: 24px;
- overflow: hidden;
background: transparent;
color: #7c7bad;
box-shadow: none;
@@ -2639,6 +2618,9 @@
.openerp .oe_fileupload .oe_attachments .oe_attachment:nth-child(even) {
background: #f4f5fa;
}
+.openerp .oe_form_field_many2one {
+ display: inline-block;
+}
.openerp .oe_form_field_many2one td:first-child {
position: relative;
}
@@ -2701,9 +2683,13 @@
padding-left: 24px;
margin: 0;
position: relative;
+ line-height: normal;
+ font-size: 100%;
+ font-weight: normal;
}
.openerp ul.oe_form_status li > .arrow, .openerp ul.oe_form_status_clickable li > .arrow {
width: 17px;
+ height: 30px;
display: inline-block;
vertical-align: top;
overflow: hidden;
@@ -3201,9 +3187,6 @@
.openerp .oe_form_field_many2one .oe_m2o_cm_button {
line-height: 18px;
}
- .openerp .oe_secondary_submenu {
- line-height: 14px;
- }
.openerp .oe_webclient .oe_star_on, .openerp .oe_webclient .oe_star_off {
top: 0px;
}
@@ -3451,6 +3434,151 @@ div.ui-widget-overlay {
overflow: hidden !important;
}
}
+
+.nav li > a {
+ padding: 3px 4px 2px 18px;
+ color: #4c4c4c;
+}
+.nav nav-pills.nav-stacked > li > ul {
+ padding-left: 16px;
+}
+
+.nav-pills > li.active > a, a.list-group-item.active > a {
+ background-color: #7c7bad;
+ color: white;
+ border-radius: 0;
+}
+.nav-pills > li.active a:hover, .nav-pills > li.active a:focus, a.list-group-item.active a:hover, a.list-group-item.active a:focus {
+ background-color: #7c7bad;
+}
+.nav-pills > li.active .badge, a.list-group-item.active .badge {
+ background-color: white;
+ color: #7c7bad;
+ text-shadow: none;
+}
+
+.badge {
+ font-weight: normal;
+ font-size: 11px;
+ background-color: #7c7bad;
+}
+
+button, body {
+ line-height: normal;
+}
+
+h1, h2 {
+ font-weight: bold;
+}
+
+h3 {
+ font-size: 1.17em;
+ font-weight: bold;
+}
+
+p {
+ display: block;
+ -webkit-margin-before: 1em;
+ -webkit-margin-after: 1em;
+ -webkit-margin-start: 0px;
+ -webkit-margin-end: 0px;
+}
+
+pre {
+ background-color: white;
+ border: none;
+ padding: 10px 0 3px 0;
+}
+
+.jqstooltip {
+ height: auto !important;
+ width: auto !important;
+}
+
+h5 {
+ font-weight: bold;
+ font-size: smaller;
+}
+
+.oe_form .oe_subtype label, .oe_subtype label {
+ font-weight: normal;
+}
+
+.oe_msg_subtype_check {
+ margin: 3px 3px 0 !important;
+}
+
+.oe_view_manager_new .oe_form_nosheet {
+ margin-top: 8px;
+}
+.oe_view_manager_new .oe_form_nosheet .oe_form_label {
+ font-weight: normal;
+}
+
+.navbar {
+ min-height: 32px;
+ margin-bottom: 0px;
+ border: none;
+ z-index: 1;
+ background-color: #414141;
+ background-color: #454343;
+ 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);
+}
+
+.navbar-default .navbar-nav li a:hover, .navbar-default .navbar-nav li a:focus {
+ background: rgba(0, 0, 0, 0.3);
+}
+.navbar-default .navbar-nav .open > a, .navbar-default .navbar-nav a:hover, .navbar-default .navbar-nav a:focus {
+ background: rgba(0, 0, 0, 0.3) !important;
+}
+.navbar-default .navbar-nav .dropdown > a .caret {
+ border-top-color: #777777 !important;
+ border-bottom-color: #777777 !important;
+}
+
+.navbar-nav li a {
+ padding: 4px 32px 4px 12px;
+}
+
+.dropdown-menu {
+ font-size: 13px;
+ padding: 4px 0;
+ background: #333333 !important;
+ background: rgba(37, 37, 37, 0.9) !important;
+ border-color: #999999;
+ border-color: rgba(0, 0, 0, 0.2);
+ background-color: #414141;
+ text-shadow: none;
+ background-color: #454343;
+ 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);
+ -moz-border-radius: 3px;
+ -webkit-border-radius: 3px;
+ border-radius: 3px;
+}
+.dropdown-menu li a, .dropdown-menu li a:hover, .dropdown-menu li a:focus {
+ color: #eeeeee;
+}
+
+.ui-icon {
+ width: 18px;
+ height: 18px;
+}
+
+input[type="radio"], input[type="checkbox"] {
+ margin-right: 4px;
+ margin-left: 4px;
+}
+
.blockUI.blockOverlay {
background-color: black;
opacity: 0.6;
diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass
index 57d2a855512..e9a51370192 100644
--- a/addons/web/static/src/css/base.sass
+++ b/addons/web/static/src/css/base.sass
@@ -204,6 +204,8 @@ $sheet-padding: 16px
vertical-align: middle
h4
margin: 4px 0
+ font-weight: bold
+ font-size: inherit
// }}}
// Button style {{{
a.button:link, a.button:visited, button, input[type='submit'], .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button
@@ -263,6 +265,7 @@ $sheet-padding: 16px
// Modal box
&.ui-dialog
display: none
+ height: auto !important
padding: 6px
//overflow: hidden
background-color: rgba(60,60,60,0.7)
@@ -287,6 +290,7 @@ $sheet-padding: 16px
border: none
.ui-dialog-content
background: white
+ width: auto !important
.ui-dialog-buttonpane
border-top: 1px solid #e0e0e0
background: #f5f7f9
@@ -467,7 +471,16 @@ $sheet-padding: 16px
max-width: 650px
.oe_grey
color: #aaa
-
+ // Added for generic error message and customize bootstrap3 ,
+ .oe_error_detail
+ hr
+ display: block
+ -webkit-margin-before: 0.5em
+ -webkit-margin-after: 0.5em
+ -webkit-margin-start: auto
+ -webkit-margin-end: auto
+ border-style: inset
+ border-width: 1px
// }}}
// Tags (for many2many tags, among others) {{{
@@ -589,6 +602,10 @@ $sheet-padding: 16px
cursor: default
.oe_notebook_page
padding: 0
+ //Customize label weight according bootstrap3
+ > label:not([for])
+ font-weight: normal !important
+ // End of customize
div.ui-tabs
padding: 3px 0px 3px 0px
.ui-tabs-hide
@@ -811,7 +828,7 @@ $sheet-padding: 16px
text-align: center
a
color: #eee
- margin: 0 8px
+ margin: 0 6px
&:hover
text-decoration: underline
span
@@ -854,11 +871,7 @@ $sheet-padding: 16px
// }}}
// Top Menu {{{
- .oe_topbar
- width: 100%
- height: 32px
- background-color: #414141
- @include vertical-gradient(#646060, #262626)
+ .navbar
.oe_topbar_anonymous_login
background-color: #dc5f59
color: #eeeeee
@@ -867,7 +880,7 @@ $sheet-padding: 16px
display: block
padding: 5px 10px 7px
line-height: 20px
- height: 20px
+ height: 30px
text-decoration: none
color: white
background: transparent
@@ -879,7 +892,7 @@ $sheet-padding: 16px
@include box-shadow(0 1px 2px rgba(0,0,0,0.2) inset)
.oe_topbar_item
display: block
- padding: 5px 10px 7px
+ padding: 5px 10px 26px
line-height: 20px
height: 20px
text-decoration: none
@@ -902,7 +915,7 @@ $sheet-padding: 16px
vertical-align: top
.oe_dropdown_arrow:after
border-top: 4px solid white
- .oe_dropdown_menu
+ .dropdown_menu
top: 32px
background: #333
background: rgba(37,37,37,0.9)
@@ -922,17 +935,17 @@ $sheet-padding: 16px
@include box-shadow(none)
.oe_topbar_name
max-width: 150px
- overflow: hidden
display: inline-block
- max-height: 100%
+ height: 15px // Customize to manage caret when topbar_name is over sized.
text-overflow: ellipsis
white-space: nowrap
+ overflow: hidden // Customize to bring ellipsis when topbar_name is over sized.
// oe menu is the list of the buttons on the left side of the bar.
// So why aren't the buttons oe_topbar_items ? This sad state of affairs
// is a leftover from an uncomplete refactoring when the left and top menu
// were merged. You are welcome to refactor and clean this up
- .oe_menu
+ .navbar-nav
float: left
padding: 0
margin: 0
@@ -946,11 +959,11 @@ $sheet-padding: 16px
color: #eeeeee
> a
display: block
- padding: 5px 10px 7px
+ padding: 5px 10px 26px !important
line-height: 20px
height: 20px
text-decoration: none
- color: #eee
+ color: #eee !important
vertical-align: top
text-shadow: 0 1px 1px rgba(0,0,0,0.2)
@include transition(all 0.2s ease-out)
@@ -959,7 +972,7 @@ $sheet-padding: 16px
text-shadow: black 0px 0px 3px
color: white
@include box-shadow(0 1px 2px rgba(0,0,0,0.4) inset)
- > .oe_active
+ > .active
background: rgba(0,0,0,0.30)
text-shadow: black 0px 0px 3px
@include box-shadow(0 1px 2px rgba(0,0,0,0.4) inset)
@@ -987,7 +1000,7 @@ $sheet-padding: 16px
width: 220px
background: #f0eeee
border-right: 1px solid $tag-border
- text-shadow: 0 1px 1px white
+ text-shadow: none
padding-bottom: 16px
a.oe_logo
position: relative
@@ -1030,62 +1043,20 @@ $sheet-padding: 16px
margin-left: 8px
color: $link-color
.oe_secondary_submenu
- padding: 2px 0 8px 0
- margin: 0
- li
- position: relative
- margin: 0
- padding: 1px 0 1px 20px !important
- list-style-type: none
- a
- display: block
- color: #4c4c4c
- padding: 2px 4px 2px 0
- .oe_menu_label
- position: absolute
- top: 1px
- right: 1px
- font-size: 10px
- background: $link-color
- 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)
- @include radius(4px)
- @include box-shadow(inset 0 1px 1px rgba(0, 0, 0, 0.2))
+ margin-bottom: 10px !important
+ line-height: 1.1em
+ margin-top: 3px
.oe_menu_text
white-space: nowrap
overflow: hidden
display: inline-block
text-overflow: ellipsis
max-width: 85%
- .oe_menu_counter
- float: right
- text-shadow: 0 1px 1px rgba(0,0,0,0.2)
- margin: 1px
- padding: 1px 4px
- border: none
+ margin-top: 1px
+ .badge
&:hover
cursor: pointer
@include transform(scale(1.1))
- .oe_active
- border-top: 1px solid lightGray
- border-bottom: 1px solid #dedede
- text-shadow: 0 1px 1px rgba(0,0,0,0.2)
- @include box-shadow((inset 0 1px 3px rgba(0, 0, 0, 0.2), inset 0 -1px 3px rgba(40, 40, 40, 0.2)))
- background: $link-color
- a
- color: white
- .oe_menu_label
- background: #eee
- color: $link-color
- text-shadow: 0 1px 1px white
- @include box-shadow(0 1px 1px rgba(0, 0, 0, 0.2))
- .oe_menu_counter
- background: #eee
- color: $link-color
- @include box-shadow(inset 0 1px 2px rgba(0, 0, 0, 0.2))
.oe_menu_toggler:before
width: 0
height: 0
@@ -1107,11 +1078,8 @@ $sheet-padding: 16px
border-left: 4px solid transparent
border-right: 4px solid transparent
border-top: 4px solid #4c4c4c
- .oe_secondary_submenu
- margin-left: -20px
.oe_secondary_submenu li
margin-left: 20px
-
// }}}
// About openerp {{{
.oe_about
@@ -1157,6 +1125,7 @@ $sheet-padding: 16px
.oe_breadcrumb_title > *
display: inline-block
overflow: hidden
+ font-weight: bold
// }}}
// ViewManager common {{{
.oe_view_manager
@@ -1195,6 +1164,7 @@ $sheet-padding: 16px
font-size: 18px
margin: 0
float: left
+ line-height: 30px
a
color: $link-color
.oe_dropdown_menu
@@ -1323,8 +1293,13 @@ $sheet-padding: 16px
display: none
// }}}
// FormPopup {{{
- .oe_popup_form > .oe_formview > .oe_form_pager
- display: none !important
+ .oe_popup_form
+ .oe_formview .oe_form_pager
+ display: none !important
+ // Customize label weight for popup wizard appear from another wizard according bootstrap3
+ table label
+ font-weight: normal
+ // End of customize
.oe_popup_list_pager
float: right
// }}}
@@ -1345,6 +1320,15 @@ $sheet-padding: 16px
height: 14px
font-size: 12px
line-height: 18px
+ //Customize searchview input, select
+ input:not([type]), input[type="text"], input[type="number"]
+ width: 156px
+ height: 22px
+ input[type="checkbox"]
+ margin: 3px 3px 3px 4px
+ select
+ margin: 2px 4px 2px 0
+ //End of customize
&.oe_focused
border-color: $tag-border-selected
@include box-shadow(0 1px 2px $tag-border-selected inset)
@@ -1509,6 +1493,7 @@ $sheet-padding: 16px
@include box-sizing(border)
display: table-cell
width: 50%
+ padding-left: 2px // Managed padding-left according bootstrap3
ul
margin: 0 8px 8px
padding: 0
@@ -1538,7 +1523,7 @@ $sheet-padding: 16px
margin: 4px 0
line-height: 18px
button
- margin: 0 0 8px 0
+ margin: 0 0 8px -3px // Managed margin-left according bootstrap3
.oe_searchview_custom
padding: 0 8px 8px 8px
div
@@ -1558,6 +1543,10 @@ $sheet-padding: 16px
position: absolute
top: 0
right: 5px
+ //Customize for searchview label
+ label
+ font-weight: normal
+ //End of Customize
.oe_searchview_dashboard
form
display: none
@@ -1583,9 +1572,10 @@ $sheet-padding: 16px
white-space: nowrap
&:first-child .searchview_extended_prop_or
visibility: hidden
+ margin-left: -14px
.searchview_extended_prop_or
opacity: 0.5
- margin-left: -14px
+ margin-left: -14px //Customize 'or' in searchview
.oe_opened
h4:before
content: "▾ "
@@ -1732,6 +1722,12 @@ $sheet-padding: 16px
.oe_form_sheetbg
background: url(/web/static/src/img/form_sheetbg.png)
border-bottom: 1px solid #ddd
+ // Customize font weight according bootstrap3
+ .oe_subtotal_footer label
+ font-weight: bold
+ table label
+ font-weight: normal
+ // End of customize
.oe_form_sheet
border: 1px solid #c8c8d3 //$tag-border
@include box-shadow(0 4px 20px rgba(0,0,0,0.15))
@@ -1799,7 +1795,7 @@ $sheet-padding: 16px
font-weight: bold !important
padding: 2px 11px 2px 0px !important
label.oe_form_label_help
- font-weight: normal
+ font-weight: normal !important
.oe_form_box_info
background: #fe9
border-bottom: 1px solid #cb6
@@ -1826,7 +1822,8 @@ $sheet-padding: 16px
label
line-height: 18px
display: block
- min-width: 140px
+ min-width: 150px
+ font-weight: bold !important
td.oe_form_group_cell + .oe_form_group_cell
padding: 2px 0 2px 8px
.oe_form_group
@@ -1838,7 +1835,6 @@ $sheet-padding: 16px
// FormView.label {{{
.oe_form
.oe_form_label_help[for], .oe_form_label[for]
- font-weight: bold
white-space: nowrap
padding-right: 8px
span
@@ -1907,6 +1903,17 @@ $sheet-padding: 16px
input
height: inherit !important
font-size: inherit
+ // Customize for formview
+ .oe_title h1, h1
+ font-weight: bold
+ font-size: 2em
+ h2
+ font-size: 1.5em
+ label
+ font-weight: bold
+ margin-bottom: 0px
+ display: inline
+ // End of customize
.oe_form_field
width: 100%
display: inline-block
@@ -2022,6 +2029,8 @@ $sheet-padding: 16px
margin: 0
padding: 0
.oe_form
+ .oe_form_field_binary
+ display: inline-block
.oe_form_field_image
padding: 0
position: relative
@@ -2045,12 +2054,13 @@ $sheet-padding: 16px
display: inline-block
clear: both
width: 100%
+ margin-bottom: -15px
.oe_add
float: left
position: relative
width: 100%
left: +2px
- top: +7px
+ margin: 9px 0 /* Customize margin according bootstrap3 */
overflow: hidden
button
display: inline
@@ -2060,9 +2070,6 @@ $sheet-padding: 16px
vertical-align: middle
button.oe_attach
width: 24px
- overflow: hidden
- width: 24px
- overflow: hidden
background: transparent
color: #7C7BAD
box-shadow: none
@@ -2104,6 +2111,7 @@ $sheet-padding: 16px
// }}}
// FormView.many2one {{{
.oe_form_field_many2one
+ display: inline-block
td:first-child
position: relative
span.oe_m2o_drop_down_button
@@ -2152,8 +2160,14 @@ $sheet-padding: 16px
padding-left: 24px
margin: 0
position: relative
+ // Customize for statusbar label
+ line-height: normal
+ font-size: 100%
+ font-weight: normal
+ // End of customize
> .arrow
width: 17px
+ height: 30px
display: inline-block
vertical-align: top
overflow: hidden
@@ -2522,8 +2536,6 @@ $sheet-padding: 16px
top: -1px
.oe_form_field_many2one .oe_m2o_cm_button
line-height: 18px
- .oe_secondary_submenu
- line-height: 14px
.oe_webclient
.oe_star_on, .oe_star_off
top: 0px
@@ -2728,6 +2740,121 @@ div.ui-widget-overlay
overflow: hidden !important
// }}}
+// Customize bootstrap3 for leftbar
+.nav
+ li > a
+ padding: 3px 4px 2px 18px
+ color: #4c4c4c
+ nav-pills.nav-stacked > li > ul
+ padding-left: 16px
+.nav-pills > li.active,a.list-group-item.active
+ > a
+ background-color: #7c7bad
+ color: white
+ border-radius: 0
+ a:hover,a:focus
+ background-color: #7c7bad
+ .badge
+ background-color: white
+ color: #7c7bad
+ text-shadow: none
+.badge
+ font-weight: normal
+ font-size: 11px
+ background-color: #7c7bad
+// End of customize
+
+// Customize for global tags
+button, body
+ line-height: normal
+h1,h2
+ font-weight: bold
+h3
+ font-size: 1.17em
+ font-weight: bold
+p
+ display: block
+ -webkit-margin-before: 1em
+ -webkit-margin-after: 1em
+ -webkit-margin-start: 0px
+ -webkit-margin-end: 0px
+pre
+ background-color: #FFFFFF
+ border: none
+ padding: 10px 0 3px 0
+// End of customize
+
+// Customize for kanban tooltip
+.jqstooltip
+ height: auto !important
+ width: auto !important
+// End of kanban tooltip
+
+// Customize for chatter
+h5
+ font-weight: bold
+ font-size: smaller
+.oe_form .oe_subtype label, .oe_subtype label
+ font-weight: normal
+.oe_msg_subtype_check
+ margin: 3px 3px 0 !important
+// End of customize
+
+// Minimized unused white space and label weight for wizard popup
+.oe_view_manager_new .oe_form_nosheet
+ margin-top: 8px
+ .oe_form_label
+ font-weight: normal
+// End of customize
+
+// navbar hack {{{
+.navbar
+ min-height: 32px
+ margin-bottom: 0px
+ border: none
+ z-index: 1
+ background-color: #414141
+ @include vertical-gradient(#646060, #262626)
+.navbar-default
+ .navbar-nav
+ li
+ a:hover,a:focus
+ background: rgba(0, 0, 0, 0.3)
+ .open > a,a:hover,a:focus
+ background: rgba(0, 0, 0, 0.3) !important
+ .dropdown > a .caret
+ border-top-color: #777 !important
+ border-bottom-color: #777 !important
+.navbar-nav
+ li
+ a
+ padding: 4px 32px 4px 12px
+.dropdown-menu
+ font-size: 13px
+ padding: 4px 0
+ background: #333333 !important
+ background: rgba(37, 37, 37, 0.9) !important
+ border-color: #999999
+ border-color: rgba(0, 0, 0, 0.2)
+ background-color: #414141
+ text-shadow: none
+ @include vertical-gradient(#646060, #262626)
+ @include radius(3px)
+ li
+ a,a:hover,a:focus
+ color: #eeeeee
+// End hack }}}
+
+// Hack for ui icon {{{
+.ui-icon
+ width: 18px
+ height: 18px
+// End hack}}}
+
+input[type="radio"], input[type="checkbox"]
+ margin-right: 4px
+ margin-left: 4px
+
.blockUI.blockOverlay
background-color: black
opacity: 0.6000000238418579
diff --git a/addons/web/static/src/css/data_export.css b/addons/web/static/src/css/data_export.css
index 3fa24265b45..b9b885cd8e9 100644
--- a/addons/web/static/src/css/data_export.css
+++ b/addons/web/static/src/css/data_export.css
@@ -1,6 +1,11 @@
.openerp .oe_export {
width: 100%;
}
+/* Customize according bootstrap3 */
+.openerp .oe_export label {
+ font-weight: normal;
+}
+/* End of customize */
.openerp .oe_export_row tr{
background-color: #FFFFFF;
font-size: 0.8em;
diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js
index 56559e9edb9..abbd4767361 100644
--- a/addons/web/static/src/js/chrome.js
+++ b/addons/web/static/src/js/chrome.js
@@ -442,10 +442,10 @@ instance.web.DatabaseManager = instance.web.Widget.extend({
self.$el.html(QWeb.render("DatabaseManager", { widget : self }));
$('.oe_user_menu_placeholder').append(QWeb.render("DatabaseManager.user_menu",{ widget : self }));
$('.oe_secondary_menus_container').append(QWeb.render("DatabaseManager.menu",{ widget : self }));
- $('ul.oe_secondary_submenu > li:first').addClass('oe_active');
+ $('ul.oe_secondary_submenu > li:first').addClass('active');
$('ul.oe_secondary_submenu > li').bind('click', function (event) {
var menuitem = $(this);
- menuitem.addClass('oe_active').siblings().removeClass('oe_active');
+ menuitem.addClass('active').siblings().removeClass('active');
var form_id =menuitem.find('a').attr('href');
$(form_id).show().siblings().hide();
event.preventDefault();
@@ -969,7 +969,7 @@ instance.web.Menu = instance.web.Widget.extend({
this.needaction_data = data;
_.each(this.needaction_data, function (item, menu_id) {
var $item = self.$secondary_menus.find('a[data-menu="' + menu_id + '"]');
- $item.find('.oe_menu_counter').remove();
+ $item.find('.badge').remove();
if (item.needaction_counter && item.needaction_counter > 0) {
$item.append(QWeb.render("Menu.needaction_counter", { widget : item }));
}
@@ -982,8 +982,8 @@ instance.web.Menu = instance.web.Widget.extend({
reflow: function() {
var self = this;
this.$el.height('auto').show();
- var $more_container = this.$('.oe_menu_more_container').hide();
- var $more = this.$('.oe_menu_more');
+ var $more_container = this.$('#menu_more_container').hide();
+ var $more = this.$('#menu_more');
$more.children('li').insertBefore($more_container);
var $toplevel_items = this.$el.children('li').not($more_container).hide();
$toplevel_items.each(function() {
@@ -1026,8 +1026,8 @@ instance.web.Menu = instance.web.Widget.extend({
}
// Activate current main menu
- this.$el.find('.oe_active').removeClass('oe_active');
- $main_menu.addClass('oe_active');
+ this.$el.find('.active').removeClass('active');
+ $main_menu.addClass('active');
// Show current sub menu
this.$secondary_menus.find('.oe_secondary_menu').hide();
@@ -1037,13 +1037,13 @@ instance.web.Menu = instance.web.Widget.extend({
this.$secondary_menus.parent('.oe_leftbar').toggle(!!$sub_menu.children().length);
// Activate current menu item and show parents
- this.$secondary_menus.find('.oe_active').removeClass('oe_active');
+ this.$secondary_menus.find('.active').removeClass('active');
if ($main_menu !== $clicked_menu) {
$clicked_menu.parents().show();
if ($clicked_menu.is('.oe_menu_toggler')) {
$clicked_menu.toggleClass('oe_menu_opened').siblings('.oe_secondary_submenu:first').toggle();
} else {
- $clicked_menu.parent().addClass('oe_active');
+ $clicked_menu.parent().addClass('active');
}
}
},
@@ -1129,7 +1129,7 @@ instance.web.Menu = instance.web.Widget.extend({
},
on_menu_click: function(ev) {
ev.preventDefault();
- var needaction = $(ev.target).is('div.oe_menu_counter');
+ var needaction = $(ev.target).is('div#menu_counter');
this.menu_click($(ev.currentTarget).data('menu'), needaction);
},
});
@@ -1143,7 +1143,7 @@ instance.web.UserMenu = instance.web.Widget.extend({
start: function() {
var self = this;
this._super.apply(this, arguments);
- this.$el.on('click', '.oe_dropdown_menu li a[data-menu]', function(ev) {
+ this.$el.on('click', '.dropdown-menu li a[data-menu]', function(ev) {
ev.preventDefault();
var f = self['on_menu_' + $(this).data('menu')];
if (f) {
@@ -1304,7 +1304,7 @@ instance.web.Client = instance.web.Widget.extend({
self.action_manager.appendTo(self.$('.oe_application'));
},
toggle_bars: function(value) {
- this.$('tr:has(td.oe_topbar),.oe_leftbar').toggle(value);
+ this.$('tr:has(td.navbar),.oe_leftbar').toggle(value);
},
has_uncommitted_changes: function() {
return false;
diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml
index 60a344467c0..ae7a4f279b0 100644
--- a/addons/web/static/src/xml/base.xml
+++ b/addons/web/static/src/xml/base.xml
@@ -320,7 +320,7 @@
-
-
@@ -389,7 +387,7 @@
-
-