Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Use settings-based dashboard nav

Replace the import-time nav set-up with a settings-based one.  This is
more flexible ultimately although it doesn't allow extensions to easily
add their node automatically.  However this is probably a good thing
overall as it isn't easy to remove nodes in the previous impl.

Fixes 426
  • Loading branch information...
commit 3ec3307ab6f3385dcb1f5578b3c3bb3181a08c29 1 parent e9722a8
Sebastian Vetter elbaschid authored codeinthehole committed
1  docs/source/recipes.rst
View
@@ -16,6 +16,7 @@ Customisation
recipes/how_to_override_a_core_class
recipes/how_to_customise_templates
recipes/how_to_disable_an_app
+ recipes/how_to_configure_the_dashboard_navigation
Catalogue
---------
78 docs/source/recipes/how_to_configure_the_dashboard_navigation.rst
View
@@ -0,0 +1,78 @@
+=========================================
+How to configure the dashboard navigation
+=========================================
+
+Oscar comes with a pre-configured dashboard navigation that gives you access
+to its individual pages. If you have your own dashboard app that you would like
+to show up in the dashboard navigation or want to arrange it differently,
+that's very easy. All you have to do is override the
+``OSCAR_DASHBOARD_NAVIGATION`` setting in you settings file.
+
+
+Add your own dashboard menu item
+--------------------------------
+
+Assuming that you just want to append a new menu item to the dashboard, all
+you have to do is open up your settings file and somewhere below the import
+of the Oscar default settings::
+
+ from oscar.defaults import *
+
+add your custom dashboard configuration. Let's assume you would like to add
+a new item "Store Manager" with a submenu item "Stores". The way you would
+do that is::
+
+ OSCAR_DASHBOARD_NAVIGATION += [
+ {
+ 'label': _('Store manager'),
+ 'children': [
+ {
+ 'label': _('Stores'),
+ 'url_name': 'your-reverse-url-lookup-name',
+ },
+ ]
+ },
+ ]
+
+That's it. You should now have *Store manager > Stores* in you dashboard
+menu.
+
+
+Add an icon to your dashboard menu
+----------------------------------
+
+Although you have your menu in the dashboard now, it doesn't look as
+nice as the other menu items that have icons displayed next to them. So
+you probably want to add an icon to your heading.
+
+Oscar uses `Font Awesome`_ for its icons which makes it very simple to
+an icon to your dashboard menu. All you need to do is find the right icon
+for your menu item. Check out `the icon list`_ to find one.
+
+Now that you have decided for an icon to use, all you need to do add the
+icon class for the icon to your menu heading::
+
+ OSCAR_DASHBOARD_NAVIGATION += [
+ {
+ 'label': _('Store manager'),
+ 'icon': 'icon-map-marker',
+ 'children': [
+ {
+ 'label': _('Stores'),
+ 'url_name': 'your-reverse-url-lookup-name',
+ },
+ ]
+ },
+ ]
+
+You are not resticted to use `Font Awesome`_ icons for you menu heading. Other
+web fonts will work as well as long as they support the same markup::
+
+ <i class="icon-map-marker"></i>
+
+The class is of the ``<i>`` is defined by the *icon* setting in the
+configuration of your dashboard navigation above.
+
+
+.. _`Font Awesome`: http://fortawesome.github.com/Font-Awesome/
+.. _`this icon list`: http://fortawesome.github.com/Font-Awesome/#all-icons
10 oscar/apps/dashboard/catalogue/app.py
View
@@ -1,16 +1,8 @@
from django.conf.urls import patterns, url
-from django.utils.translation import ugettext_lazy as _
+from oscar.views.decorators import staff_member_required
from oscar.core.application import Application
from oscar.apps.dashboard.catalogue import views
-from oscar.apps.dashboard.nav import register, Node
-from oscar.views.decorators import staff_member_required
-
-node = Node(_('Catalogue'))
-node.add_child(Node(_('Products'), 'dashboard:catalogue-product-list'))
-node.add_child(Node(_('Categories'), 'dashboard:catalogue-category-list'))
-node.add_child(Node(_('Stock alerts'), 'dashboard:stock-alert-list'))
-register(node, 10)
class CatalogueApplication(Application):
6 oscar/apps/dashboard/communications/app.py
View
@@ -1,14 +1,8 @@
from django.conf.urls import patterns, url
-from django.utils.translation import ugettext_lazy as _
from oscar.views.decorators import staff_member_required
from oscar.core.application import Application
from oscar.apps.dashboard.communications import views
-from oscar.apps.dashboard.nav import register, Node
-
-node = Node(_('Communications'))
-node.add_child(Node(_('Emails'), 'dashboard:comms-list'))
-register(node, 35)
class CommsDashboardApplication(Application):
45 oscar/apps/dashboard/nav.py
View
@@ -1,12 +1,16 @@
from django.core.urlresolvers import reverse
+from django.core.exceptions import ImproperlyConfigured
+from django.conf import settings
_nodes = []
class Node(object):
- def __init__(self, label, url_name=None, url_args=None, url_kwargs=None, access_fn=None):
+ def __init__(self, label, url_name=None, url_args=None, url_kwargs=None,
+ access_fn=None, icon=None):
self.label = label
+ self.icon = icon
self.url_name = url_name
self.url_args = url_args
self.url_kwargs = url_kwargs
@@ -19,7 +23,8 @@ def is_heading(self):
@property
def url(self):
- return reverse(self.url_name, args=self.url_args, kwargs=self.url_kwargs)
+ return reverse(self.url_name, args=self.url_args,
+ kwargs=self.url_kwargs)
def add_child(self, node):
self.children.append(node)
@@ -41,20 +46,54 @@ def filter(self, user):
def has_children(self):
return len(self.children) > 0
+
def register(node, display_order=5):
# We use tuples so we can sort later on. The lower the display order, the
# closer to the left the node appears.
_nodes.append((display_order, node))
+
def flush():
+ global _nodes
_nodes = []
+
def get_nodes(user):
+ """
+ Return the visible navigation nodes for the passed user
+ """
+ if not _nodes:
+ dashboard_nav = settings.OSCAR_DASHBOARD_NAVIGATION
+ create_menu(dashboard_nav)
nodes = []
- for _, node in sorted(_nodes):
+ for __, node in sorted(_nodes):
filtered_node = node.filter(user)
if filtered_node:
nodes.append(node)
return nodes
+def create_menu(menu_items, parent=None):
+ """
+ Create the navigation nodes based on a passed list of dicts
+ """
+ for menu_dict in menu_items:
+ try:
+ label = menu_dict['label']
+ except KeyError:
+ raise ImproperlyConfigured(
+ "No label specified for menu item in dashboard")
+
+ children = menu_dict.get('children', [])
+ if children:
+ node = Node(label=label, icon=menu_dict.get('icon', None))
+ create_menu(children, parent=node)
+ else:
+ node = Node(label=label, icon=menu_dict.get('icon', None),
+ url_name=menu_dict.get('url_name', None),
+ url_kwargs=menu_dict.get('url_kwargs', None),
+ url_args=menu_dict.get('url_args', None))
+ if parent is None:
+ register(node, len(_nodes))
+ else:
+ parent.add_child(node)
5 oscar/apps/dashboard/offers/app.py
View
@@ -1,13 +1,8 @@
from django.conf.urls import patterns, url
from oscar.views.decorators import staff_member_required
-from django.utils.translation import ugettext_lazy as _
from oscar.core.application import Application
from oscar.apps.dashboard.offers import views
-from oscar.apps.dashboard.nav import register, Node
-
-node = Node(_('Offers'), 'dashboard:offer-list')
-register(node, 50)
class OffersDashboardApplication(Application):
9 oscar/apps/dashboard/orders/app.py
View
@@ -1,15 +1,8 @@
from django.conf.urls import patterns, url
-from oscar.views.decorators import staff_member_required
-from django.utils.translation import ugettext_lazy as _
+from oscar.views.decorators import staff_member_required
from oscar.core.application import Application
from oscar.apps.dashboard.orders import views
-from oscar.apps.dashboard.nav import register, Node
-
-node = Node(_('Orders'))
-node.add_child(Node(_('Orders'), 'dashboard:order-list'))
-node.add_child(Node(_('Statistics'), 'dashboard:order-stats'))
-register(node, 80)
class OrdersDashboardApplication(Application):
2  oscar/apps/dashboard/pages/app.py
View
@@ -1,6 +1,6 @@
from django.conf.urls import patterns, url
-from oscar.views.decorators import staff_member_required
+from oscar.views.decorators import staff_member_required
from oscar.core.application import Application
from oscar.apps.dashboard.pages import views
16 oscar/apps/dashboard/promotions/app.py
View
@@ -1,17 +1,9 @@
from django.conf.urls import patterns, url
-from oscar.views.decorators import staff_member_required
-from django.utils.translation import ugettext_lazy as _
+from oscar.views.decorators import staff_member_required
from oscar.core.application import Application
from oscar.apps.dashboard.promotions import views
from oscar.apps.promotions.conf import PROMOTION_CLASSES
-from oscar.apps.dashboard.nav import register, Node
-
-node = Node(_('Content'))
-node.add_child(Node(_('Re-usable content blocks'), 'dashboard:promotion-list'))
-node.add_child(Node(_('Content blocks by page'), 'dashboard:promotion-list-by-page'))
-node.add_child(Node(_('Pages'), 'dashboard:page-list'))
-register(node, 20)
class PromotionsDashboardApplication(Application):
@@ -35,10 +27,10 @@ def get_urls(self):
url(r'^$', self.list_view.as_view(), name='promotion-list'),
url(r'^pages/$', self.page_list.as_view(), name='promotion-list-by-page'),
url(r'^pages/(?P<path>.+)/$', self.page_detail.as_view(), name='promotion-list-by-url'),
- url(r'^create/$',
- self.create_redirect_view.as_view(),
+ url(r'^create/$',
+ self.create_redirect_view.as_view(),
name='promotion-create-redirect'),
- url(r'^page-promotion/(?P<pk>\d+)/$',
+ url(r'^page-promotion/(?P<pk>\d+)/$',
self.delete_page_promotion_view.as_view(), name='pagepromotion-delete')
)
7 oscar/apps/dashboard/ranges/app.py
View
@@ -1,13 +1,8 @@
from django.conf.urls import patterns, url
-from oscar.views.decorators import staff_member_required
-from django.utils.translation import ugettext_lazy as _
+from oscar.views.decorators import staff_member_required
from oscar.core.application import Application
from oscar.apps.dashboard.ranges import views
-from oscar.apps.dashboard.nav import register, Node
-
-node = Node(_('Ranges'), 'dashboard:range-list')
-register(node, 70)
class RangeDashboardApplication(Application):
7 oscar/apps/dashboard/reports/app.py
View
@@ -1,13 +1,8 @@
from django.conf.urls import patterns, url
-from oscar.views.decorators import staff_member_required
-from django.utils.translation import ugettext_lazy as _
+from oscar.views.decorators import staff_member_required
from oscar.core.application import Application
from oscar.apps.dashboard.reports import views
-from oscar.apps.dashboard.nav import register, Node
-
-node = Node(_('Reports'), 'dashboard:reports-index')
-register(node, 90)
class ReportsApplication(Application):
7 oscar/apps/dashboard/reviews/app.py
View
@@ -1,14 +1,9 @@
from django.conf.urls import patterns, url
-from oscar.views.decorators import staff_member_required
-from django.utils.translation import ugettext_lazy as _
+from oscar.views.decorators import staff_member_required
from oscar.core.application import Application
-from oscar.apps.dashboard.nav import register, Node
from oscar.apps.dashboard.reviews import views
-node = Node(_('Reviews'), 'dashboard:reviews-list')
-register(node, 35)
-
class ReviewsApplication(Application):
name = None
9 oscar/apps/dashboard/users/app.py
View
@@ -1,15 +1,8 @@
from django.conf.urls import patterns, url
-from oscar.views.decorators import staff_member_required
-from django.utils.translation import ugettext_lazy as _
from oscar.core.application import Application
+from oscar.views.decorators import staff_member_required
from oscar.apps.dashboard.users import views
-from oscar.apps.dashboard.nav import register, Node
-
-node = Node(_('Customers'))
-node.add_child(Node(_('Customers'), 'dashboard:users-index'))
-node.add_child(Node(_('Alerts'), 'dashboard:user-alert-list'))
-register(node, 30)
class UserManagementApplication(Application):
19 oscar/apps/dashboard/vouchers/app.py
View
@@ -1,13 +1,8 @@
from django.conf.urls import patterns, url
-from oscar.views.decorators import staff_member_required
-from django.utils.translation import ugettext_lazy as _
+from oscar.views.decorators import staff_member_required
from oscar.core.application import Application
from oscar.apps.dashboard.vouchers import views
-from oscar.apps.dashboard.nav import register, Node
-
-node = Node(_('Vouchers'), 'dashboard:voucher-list')
-register(node, 60)
class VoucherDashboardApplication(Application):
@@ -22,10 +17,14 @@ class VoucherDashboardApplication(Application):
def get_urls(self):
urlpatterns = patterns('',
url(r'^$', self.list_view.as_view(), name='voucher-list'),
- url(r'^create/$', self.create_view.as_view(), name='voucher-create'),
- url(r'^update/(?P<pk>\d+)/$', self.update_view.as_view(), name='voucher-update'),
- url(r'^delete/(?P<pk>\d+)/$', self.delete_view.as_view(), name='voucher-delete'),
- url(r'^stats/(?P<pk>\d+)/$', self.stats_view.as_view(), name='voucher-stats'),
+ url(r'^create/$', self.create_view.as_view(),
+ name='voucher-create'),
+ url(r'^update/(?P<pk>\d+)/$', self.update_view.as_view(),
+ name='voucher-update'),
+ url(r'^delete/(?P<pk>\d+)/$', self.delete_view.as_view(),
+ name='voucher-delete'),
+ url(r'^stats/(?P<pk>\d+)/$', self.stats_view.as_view(),
+ name='voucher-stats'),
)
return self.post_process_urls(urlpatterns)
116 oscar/defaults.py
View
@@ -1,3 +1,5 @@
+from django.utils.translation import ugettext_lazy as _
+
OSCAR_SHOP_NAME = 'Oscar'
OSCAR_SHOP_TAGLINE = 'Domain-driven e-Commerce for Django'
@@ -68,5 +70,119 @@
# Cookies
OSCAR_COOKIES_DELETE_ON_LOGOUT = ['oscar_recently_viewed_products', ]
+# Menu structure of the dashboard navigation
+OSCAR_DASHBOARD_NAVIGATION = [
+ {
+ 'label': _('Dashboard'),
+ 'icon': 'icon-th-list',
+ 'url_name': 'dashboard:index',
+ },
+ {
+ 'label': _('Catalogue'),
+ 'icon': 'icon-sitemap',
+ 'children': [
+ {
+ 'label': _('Products'),
+ 'url_name': 'dashboard:catalogue-product-list',
+ },
+ {
+ 'label': _('Categories'),
+ 'url_name': 'dashboard:catalogue-category-list',
+ },
+ {
+ 'label': _('Ranges'),
+ 'url_name': 'dashboard:range-list',
+ },
+ {
+ 'label': _('Reviews'),
+ 'url_name': 'dashboard:reviews-list',
+ },
+ {
+ 'label': _('Stock alerts'),
+ 'url_name': 'dashboard:stock-alert-list',
+ },
+ ]
+ },
+ {
+ 'label': _('Content'),
+ 'icon': 'icon-folder-close',
+ 'children': [
+ {
+ 'label': _('Re-usable content blocks'),
+ 'url_name': 'dashboard:promotion-list',
+ },
+ {
+ 'label': _('Content blocks by page'),
+ 'url_name': 'dashboard:promotion-list-by-page',
+ },
+ {
+ 'label': _('Pages'),
+ 'url_name': 'dashboard:page-list',
+ },
+ ]
+ },
+ {
+ 'label': _('Promotions'),
+ 'icon': 'icon-bullhorn',
+ 'children': [
+ {
+ 'label': _('Offers'),
+ 'url_name': 'dashboard:offer-list',
+ },
+ {
+ 'label': _('Vouchers'),
+ 'url_name': 'dashboard:voucher-list',
+ },
+ ],
+ },
+ {
+ 'label': _('Fulfilment'),
+ 'icon': 'icon-shopping-cart',
+ 'children': [
+ {
+ 'label': _('Orders'),
+ 'url_name': 'dashboard:order-list',
+ },
+ {
+ 'label': _('Statistics'),
+ 'url_name': 'dashboard:order-stats',
+ },
+ ]
+ },
+ {
+ 'label': _('Communications'),
+ 'icon': 'icon-globe',
+ 'children': [
+ {
+ 'label': _('Site emails'),
+ 'url_name': 'dashboard:comms-list',
+ },
+ {
+ 'label': _('Support'),
+ 'url_name': 'ticketing-dashboard:ticket-list',
+ },
+ ]
+ },
+ {
+ 'label': _('Customers'),
+ 'icon': 'icon-group',
+ 'children': [
+ {
+ 'label': _('Customers'),
+ 'url_name': 'dashboard:users-index',
+ },
+ {
+ 'label': _('Alerts'),
+ 'url_name': 'dashboard:user-alert-list',
+ },
+ ]
+ },
+ {
+ 'label': _('Reports'),
+ 'icon': 'icon-bar-chart',
+ 'url_name': 'dashboard:reports-index',
+ },
+]
+
OSCAR_SETTINGS = dict(
[(k, v) for k, v in locals().items() if k.startswith('OSCAR_')])
3,316 oscar/static/oscar/css/dashboard.css
View
623 additions, 2,693 deletions not shown
1,254 oscar/static/oscar/css/responsive.css
View
@@ -1,1244 +1,10 @@
-/*!
- * Bootstrap Responsive v2.1.1
- *
- * Copyright 2012 Twitter, Inc
- * Licensed under the Apache License v2.0
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Designed and built with all the love in the world @twitter by @mdo and @fat.
- */
-.clearfix {
- *zoom: 1;
-}
-.clearfix:before,
-.clearfix:after {
- display: table;
- content: "";
- line-height: 0;
-}
-.clearfix:after {
- clear: both;
-}
-.hide-text {
- font: 0/0 a;
- color: transparent;
- text-shadow: none;
- background-color: transparent;
- border: 0;
-}
-.input-block-level {
- display: block;
- width: 100%;
- min-height: 30px;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
-}
-.hidden {
- display: none;
- visibility: hidden;
-}
-.visible-phone {
- display: none !important;
-}
-.visible-tablet {
- display: none !important;
-}
-.hidden-desktop {
- display: none !important;
-}
-.visible-desktop {
- display: inherit !important;
-}
-@media (min-width: 768px) and (max-width: 979px) {
- .hidden-desktop {
- display: inherit !important;
- }
- .visible-desktop {
- display: none !important ;
- }
- .visible-tablet {
- display: inherit !important;
- }
- .hidden-tablet {
- display: none !important;
- }
-}
-@media (max-width: 767px) {
- .hidden-desktop {
- display: inherit !important;
- }
- .visible-desktop {
- display: none !important;
- }
- .visible-phone {
- display: inherit !important;
- }
- .hidden-phone {
- display: none !important;
- }
-}
-@media (min-width: 1200px) {
- .row {
- margin-left: -30px;
- *zoom: 1;
- }
- .row:before,
- .row:after {
- display: table;
- content: "";
- line-height: 0;
- }
- .row:after {
- clear: both;
- }
- [class*="span"] {
- float: left;
- min-height: 1px;
- margin-left: 30px;
- }
- .container,
- .navbar-static-top .container,
- .navbar-fixed-top .container,
- .navbar-fixed-bottom .container {
- width: 1170px;
- }
- .span12 {
- width: 1170px;
- }
- .span11 {
- width: 1070px;
- }
- .span10 {
- width: 970px;
- }
- .span9 {
- width: 870px;
- }
- .span8 {
- width: 770px;
- }
- .span7 {
- width: 670px;
- }
- .span6 {
- width: 570px;
- }
- .span5 {
- width: 470px;
- }
- .span4 {
- width: 370px;
- }
- .span3 {
- width: 270px;
- }
- .span2 {
- width: 170px;
- }
- .span1 {
- width: 70px;
- }
- .offset12 {
- margin-left: 1230px;
- }
- .offset11 {
- margin-left: 1130px;
- }
- .offset10 {
- margin-left: 1030px;
- }
- .offset9 {
- margin-left: 930px;
- }
- .offset8 {
- margin-left: 830px;
- }
- .offset7 {
- margin-left: 730px;
- }
- .offset6 {
- margin-left: 630px;
- }
- .offset5 {
- margin-left: 530px;
- }
- .offset4 {
- margin-left: 430px;
- }
- .offset3 {
- margin-left: 330px;
- }
- .offset2 {
- margin-left: 230px;
- }
- .offset1 {
- margin-left: 130px;
- }
- .row-fluid {
- width: 100%;
- *zoom: 1;
- }
- .row-fluid:before,
- .row-fluid:after {
- display: table;
- content: "";
- line-height: 0;
- }
- .row-fluid:after {
- clear: both;
- }
- .row-fluid [class*="span"] {
- display: block;
- width: 100%;
- min-height: 30px;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- float: left;
- margin-left: 2.564102564102564%;
- *margin-left: 2.5109110747408616%;
- }
- .row-fluid [class*="span"]:first-child {
- margin-left: 0;
- }
- .row-fluid .span12 {
- width: 100%;
- *width: 99.94680851063829%;
- }
- .row-fluid .span11 {
- width: 91.45299145299145%;
- *width: 91.39979996362975%;
- }
- .row-fluid .span10 {
- width: 82.90598290598291%;
- *width: 82.8527914166212%;
- }
- .row-fluid .span9 {
- width: 74.35897435897436%;
- *width: 74.30578286961266%;
- }
- .row-fluid .span8 {
- width: 65.81196581196582%;
- *width: 65.75877432260411%;
- }
- .row-fluid .span7 {
- width: 57.26495726495726%;
- *width: 57.21176577559556%;
- }
- .row-fluid .span6 {
- width: 48.717948717948715%;
- *width: 48.664757228587014%;
- }
- .row-fluid .span5 {
- width: 40.17094017094017%;
- *width: 40.11774868157847%;
- }
- .row-fluid .span4 {
- width: 31.623931623931625%;
- *width: 31.570740134569924%;
- }
- .row-fluid .span3 {
- width: 23.076923076923077%;
- *width: 23.023731587561375%;
- }
- .row-fluid .span2 {
- width: 14.52991452991453%;
- *width: 14.476723040552828%;
- }
- .row-fluid .span1 {
- width: 5.982905982905983%;
- *width: 5.929714493544281%;
- }
- .row-fluid .offset12 {
- margin-left: 105.12820512820512%;
- *margin-left: 105.02182214948171%;
- }
- .row-fluid .offset12:first-child {
- margin-left: 102.56410256410257%;
- *margin-left: 102.45771958537915%;
- }
- .row-fluid .offset11 {
- margin-left: 96.58119658119658%;
- *margin-left: 96.47481360247316%;
- }
- .row-fluid .offset11:first-child {
- margin-left: 94.01709401709402%;
- *margin-left: 93.91071103837061%;
- }
- .row-fluid .offset10 {
- margin-left: 88.03418803418803%;
- *margin-left: 87.92780505546462%;
- }
- .row-fluid .offset10:first-child {
- margin-left: 85.47008547008548%;
- *margin-left: 85.36370249136206%;
- }
- .row-fluid .offset9 {
- margin-left: 79.48717948717949%;
- *margin-left: 79.38079650845607%;
- }
- .row-fluid .offset9:first-child {
- margin-left: 76.92307692307693%;
- *margin-left: 76.81669394435352%;
- }
- .row-fluid .offset8 {
- margin-left: 70.94017094017094%;
- *margin-left: 70.83378796144753%;
- }
- .row-fluid .offset8:first-child {
- margin-left: 68.37606837606839%;
- *margin-left: 68.26968539734497%;
- }
- .row-fluid .offset7 {
- margin-left: 62.393162393162385%;
- *margin-left: 62.28677941443899%;
- }
- .row-fluid .offset7:first-child {
- margin-left: 59.82905982905982%;
- *margin-left: 59.72267685033642%;
- }
- .row-fluid .offset6 {
- margin-left: 53.84615384615384%;
- *margin-left: 53.739770867430444%;
- }
- .row-fluid .offset6:first-child {
- margin-left: 51.28205128205128%;
- *margin-left: 51.175668303327875%;
- }
- .row-fluid .offset5 {
- margin-left: 45.299145299145295%;
- *margin-left: 45.1927623204219%;
- }
- .row-fluid .offset5:first-child {
- margin-left: 42.73504273504273%;
- *margin-left: 42.62865975631933%;
- }
- .row-fluid .offset4 {
- margin-left: 36.75213675213675%;
- *margin-left: 36.645753773413354%;
- }
- .row-fluid .offset4:first-child {
- margin-left: 34.18803418803419%;
- *margin-left: 34.081651209310785%;
- }
- .row-fluid .offset3 {
- margin-left: 28.205128205128204%;
- *margin-left: 28.0987452264048%;
- }
- .row-fluid .offset3:first-child {
- margin-left: 25.641025641025642%;
- *margin-left: 25.53464266230224%;
- }
- .row-fluid .offset2 {
- margin-left: 19.65811965811966%;
- *margin-left: 19.551736679396257%;
- }
- .row-fluid .offset2:first-child {
- margin-left: 17.094017094017094%;
- *margin-left: 16.98763411529369%;
- }
- .row-fluid .offset1 {
- margin-left: 11.11111111111111%;
- *margin-left: 11.004728132387708%;
- }
- .row-fluid .offset1:first-child {
- margin-left: 8.547008547008547%;
- *margin-left: 8.440625568285142%;
- }
- input,
- textarea,
- .uneditable-input {
- margin-left: 0;
- }
- .controls-row [class*="span"] + [class*="span"] {
- margin-left: 30px;
- }
- input.span12, textarea.span12, .uneditable-input.span12 {
- width: 1156px;
- }
- input.span11, textarea.span11, .uneditable-input.span11 {
- width: 1056px;
- }
- input.span10, textarea.span10, .uneditable-input.span10 {
- width: 956px;
- }
- input.span9, textarea.span9, .uneditable-input.span9 {
- width: 856px;
- }
- input.span8, textarea.span8, .uneditable-input.span8 {
- width: 756px;
- }
- input.span7, textarea.span7, .uneditable-input.span7 {
- width: 656px;
- }
- input.span6, textarea.span6, .uneditable-input.span6 {
- width: 556px;
- }
- input.span5, textarea.span5, .uneditable-input.span5 {
- width: 456px;
- }
- input.span4, textarea.span4, .uneditable-input.span4 {
- width: 356px;
- }
- input.span3, textarea.span3, .uneditable-input.span3 {
- width: 256px;
- }
- input.span2, textarea.span2, .uneditable-input.span2 {
- width: 156px;
- }
- input.span1, textarea.span1, .uneditable-input.span1 {
- width: 56px;
- }
- .thumbnails {
- margin-left: -30px;
- }
- .thumbnails > li {
- margin-left: 30px;
- }
- .row-fluid .thumbnails {
- margin-left: 0;
- }
-}
-@media (min-width: 768px) and (max-width: 979px) {
- .row {
- margin-left: -20px;
- *zoom: 1;
- }
- .row:before,
- .row:after {
- display: table;
- content: "";
- line-height: 0;
- }
- .row:after {
- clear: both;
- }
- [class*="span"] {
- float: left;
- min-height: 1px;
- margin-left: 20px;
- }
- .container,
- .navbar-static-top .container,
- .navbar-fixed-top .container,
- .navbar-fixed-bottom .container {
- width: 724px;
- }
- .span12 {
- width: 724px;
- }
- .span11 {
- width: 662px;
- }
- .span10 {
- width: 600px;
- }
- .span9 {
- width: 538px;
- }
- .span8 {
- width: 476px;
- }
- .span7 {
- width: 414px;
- }
- .span6 {
- width: 352px;
- }
- .span5 {
- width: 290px;
- }
- .span4 {
- width: 228px;
- }
- .span3 {
- width: 166px;
- }
- .span2 {
- width: 104px;
- }
- .span1 {
- width: 42px;
- }
- .offset12 {
- margin-left: 764px;
- }
- .offset11 {
- margin-left: 702px;
- }
- .offset10 {
- margin-left: 640px;
- }
- .offset9 {
- margin-left: 578px;
- }
- .offset8 {
- margin-left: 516px;
- }
- .offset7 {
- margin-left: 454px;
- }
- .offset6 {
- margin-left: 392px;
- }
- .offset5 {
- margin-left: 330px;
- }
- .offset4 {
- margin-left: 268px;
- }
- .offset3 {
- margin-left: 206px;
- }
- .offset2 {
- margin-left: 144px;
- }
- .offset1 {
- margin-left: 82px;
- }
- .row-fluid {
- width: 100%;
- *zoom: 1;
- }
- .row-fluid:before,
- .row-fluid:after {
- display: table;
- content: "";
- line-height: 0;
- }
- .row-fluid:after {
- clear: both;
- }
- .row-fluid [class*="span"] {
- display: block;
- width: 100%;
- min-height: 30px;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- float: left;
- margin-left: 2.7624309392265194%;
- *margin-left: 2.709239449864817%;
- }
- .row-fluid [class*="span"]:first-child {
- margin-left: 0;
- }
- .row-fluid .span12 {
- width: 100%;
- *width: 99.94680851063829%;
- }
- .row-fluid .span11 {
- width: 91.43646408839778%;
- *width: 91.38327259903608%;
- }
- .row-fluid .span10 {
- width: 82.87292817679558%;
- *width: 82.81973668743387%;
- }
- .row-fluid .span9 {
- width: 74.30939226519337%;
- *width: 74.25620077583166%;
- }
- .row-fluid .span8 {
- width: 65.74585635359117%;
- *width: 65.69266486422946%;
- }
- .row-fluid .span7 {
- width: 57.18232044198895%;
- *width: 57.12912895262725%;
- }
- .row-fluid .span6 {
- width: 48.61878453038674%;
- *width: 48.56559304102504%;
- }
- .row-fluid .span5 {
- width: 40.05524861878453%;
- *width: 40.00205712942283%;
- }
- .row-fluid .span4 {
- width: 31.491712707182323%;
- *width: 31.43852121782062%;
- }
- .row-fluid .span3 {
- width: 22.92817679558011%;
- *width: 22.87498530621841%;
- }
- .row-fluid .span2 {
- width: 14.3646408839779%;
- *width: 14.311449394616199%;
- }
- .row-fluid .span1 {
- width: 5.801104972375691%;
- *width: 5.747913483013988%;
- }
- .row-fluid .offset12 {
- margin-left: 105.52486187845304%;
- *margin-left: 105.41847889972962%;
- }
- .row-fluid .offset12:first-child {
- margin-left: 102.76243093922652%;
- *margin-left: 102.6560479605031%;
- }
- .row-fluid .offset11 {
- margin-left: 96.96132596685082%;
- *margin-left: 96.8549429881274%;
- }
- .row-fluid .offset11:first-child {
- margin-left: 94.1988950276243%;
- *margin-left: 94.09251204890089%;
- }
- .row-fluid .offset10 {
- margin-left: 88.39779005524862%;
- *margin-left: 88.2914070765252%;
- }
- .row-fluid .offset10:first-child {
- margin-left: 85.6353591160221%;
- *margin-left: 85.52897613729868%;
- }
- .row-fluid .offset9 {
- margin-left: 79.8342541436464%;
- *margin-left: 79.72787116492299%;
- }
- .row-fluid .offset9:first-child {
- margin-left: 77.07182320441989%;
- *margin-left: 76.96544022569647%;
- }
- .row-fluid .offset8 {
- margin-left: 71.2707182320442%;
- *margin-left: 71.16433525332079%;
- }
- .row-fluid .offset8:first-child {
- margin-left: 68.50828729281768%;
- *margin-left: 68.40190431409427%;
- }
- .row-fluid .offset7 {
- margin-left: 62.70718232044199%;
- *margin-left: 62.600799341718584%;
- }
- .row-fluid .offset7:first-child {
- margin-left: 59.94475138121547%;
- *margin-left: 59.838368402492065%;
- }
- .row-fluid .offset6 {
- margin-left: 54.14364640883978%;
- *margin-left: 54.037263430116376%;
- }
- .row-fluid .offset6:first-child {
- margin-left: 51.38121546961326%;
- *margin-left: 51.27483249088986%;
- }
- .row-fluid .offset5 {
- margin-left: 45.58011049723757%;
- *margin-left: 45.47372751851417%;
- }
- .row-fluid .offset5:first-child {
- margin-left: 42.81767955801105%;
- *margin-left: 42.71129657928765%;
- }
- .row-fluid .offset4 {
- margin-left: 37.01657458563536%;
- *margin-left: 36.91019160691196%;
- }
- .row-fluid .offset4:first-child {
- margin-left: 34.25414364640884%;
- *margin-left: 34.14776066768544%;
- }
- .row-fluid .offset3 {
- margin-left: 28.45303867403315%;
- *margin-left: 28.346655695309746%;
- }
- .row-fluid .offset3:first-child {
- margin-left: 25.69060773480663%;
- *margin-left: 25.584224756083227%;
- }
- .row-fluid .offset2 {
- margin-left: 19.88950276243094%;
- *margin-left: 19.783119783707537%;
- }
- .row-fluid .offset2:first-child {
- margin-left: 17.12707182320442%;
- *margin-left: 17.02068884448102%;
- }
- .row-fluid .offset1 {
- margin-left: 11.32596685082873%;
- *margin-left: 11.219583872105325%;
- }
- .row-fluid .offset1:first-child {
- margin-left: 8.56353591160221%;
- *margin-left: 8.457152932878806%;
- }
- input,
- textarea,
- .uneditable-input {
- margin-left: 0;
- }
- .controls-row [class*="span"] + [class*="span"] {
- margin-left: 20px;
- }
- input.span12, textarea.span12, .uneditable-input.span12 {
- width: 710px;
- }
- input.span11, textarea.span11, .uneditable-input.span11 {
- width: 648px;
- }
- input.span10, textarea.span10, .uneditable-input.span10 {
- width: 586px;
- }
- input.span9, textarea.span9, .uneditable-input.span9 {
- width: 524px;
- }
- input.span8, textarea.span8, .uneditable-input.span8 {
- width: 462px;
- }
- input.span7, textarea.span7, .uneditable-input.span7 {
- width: 400px;
- }
- input.span6, textarea.span6, .uneditable-input.span6 {
- width: 338px;
- }
- input.span5, textarea.span5, .uneditable-input.span5 {
- width: 276px;
- }
- input.span4, textarea.span4, .uneditable-input.span4 {
- width: 214px;
- }
- input.span3, textarea.span3, .uneditable-input.span3 {
- width: 152px;
- }
- input.span2, textarea.span2, .uneditable-input.span2 {
- width: 90px;
- }
- input.span1, textarea.span1, .uneditable-input.span1 {
- width: 28px;
- }
- .header .page_inner {
- padding: 50px 20px 40px;
- }
-}
-@media (max-width: 767px) {
- body {
- /* padding-left: 20px;
- padding-right: 20px;*/
-
- }
- .navbar-fixed-top,
- .navbar-fixed-bottom,
- .navbar-static-top {
- margin-left: -20px;
- margin-right: -20px;
- }
- .container-fluid {
- padding: 0;
- }
- .dl-horizontal dt {
- float: none;
- clear: none;
- width: auto;
- text-align: left;
- }
- .dl-horizontal dd {
- margin-left: 0;
- }
- .container {
- width: auto;
- }
- .row-fluid {
- width: 100%;
- }
- .row,
- .thumbnails {
- margin-left: 0;
- }
- .thumbnails > li {
- float: none;
- margin-left: 0;
- }
- [class*="span"],
- .row-fluid [class*="span"] {
- float: none;
- display: block;
- width: 100%;
- margin-left: 0;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- }
- .span12,
- .row-fluid .span12 {
- width: 100%;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- }
- .input-large,
- .input-xlarge,
- .input-xxlarge,
- input[class*="span"],
- select[class*="span"],
- textarea[class*="span"],
- .uneditable-input {
- display: block;
- width: 100%;
- min-height: 30px;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- }
- .input-prepend input,
- .input-append input,
- .input-prepend input[class*="span"],
- .input-append input[class*="span"] {
- display: inline-block;
- width: auto;
- }
- .controls-row [class*="span"] + [class*="span"] {
- margin-left: 0;
- }
- .modal {
- position: fixed;
- top: 20px;
- left: 20px;
- right: 20px;
- width: auto;
- margin: 0;
- }
- .modal.fade.in {
- top: auto;
- }
- .navbar-static-top {
- margin-left: 0;
- margin-right: 0;
- }
- .navbar.primary .pull-left,
- .navbar.primary .pull-right {
- float: none;
- }
- .pull-left.btn-full,
- .pull-right.btn-full {
- float: none;
- }
- .btn-full {
- padding-left: 0;
- padding-right: 0;
- width: 100%;
- float: none;
- }
- a.btn-full {
- display: block;
- width: auto!important;
- }
- .header h1 {
- text-align: center;
- }
- .header small {
- display: block;
- margin-top: 10px;
- }
- .header .page_inner {
- padding: 30px 0;
- }
- .basket-items {
- padding: 0;
- }
- .basket-items [class*="span"] .image_container {
- width: 20%;
- float: right;
- min-height: 100px;
- line-height: 100px;
- margin: 0;
- }
- .basket-items [class*="span"] .image_container img {
- max-height: 100px;
- margin: 0;
- float: right;
- }
- .basket-items a.btn {
- margin-bottom: 20px;
- }
- .basket-items .align-right,
- .basket-items .align-center {
- text-align: left;
- margin-top: 20px;
- }
- .basket-items:nth-child(even),
- .basket-items {
- background: none;
- }
- .product_title,
- .product_assets,
- .product_description,
- .product_related,
- .review_content,
- .review_votes,
- .main,
- .products li,
- .five li,
- .four li,
- .three li,
- .two li,
- .product_pod .product_price,
- .footer_links li,
- .footer_links .top_page {
- float: none;
- margin: 0px;
- width: auto;
- height: auto;
- }
- .products li,
- .es-carousel > ul li {
- border-bottom: 1px solid #eeeeee;
- padding-bottom: 20px;
- margin-bottom: 20px;
- }
- .products li .product_pod,
- .es-carousel > ul li .product_pod {
- margin-bottom: 0px;
- height: auto!important;
- padding: 0px;
- text-align: left;
- }
- .products li .product_pod .star,
- .es-carousel > ul li .product_pod .star {
- clear: none;
- margin: 0px;
- }
- .products li .product_pod .availability,
- .es-carousel > ul li .product_pod .availability {
- text-align: left;
- }
- .products li .product_pod .group-price,
- .es-carousel > ul li .product_pod .group-price {
- position: static;
- border: none;
- color: #f89406;
- text-transform: capitalize;
- background-color: none;
- -webkit-border-radius: none;
- -moz-border-radius: none;
- border-radius: none;
- -webkit-box-shadow: none;
- -moz-box-shadow: none;
- box-shadow: none;
- background: none;
- margin: 0px;
- }
- .products li .product_pod .group-price span,
- .es-carousel > ul li .product_pod .group-price span {
- display: inline;
- font-size: 14px;
- background: none;
- padding: 0px;
- color: inherit;
- }
- .products li .product_pod .group-price strong,
- .es-carousel > ul li .product_pod .group-price strong {
- padding: 0px;
- display: inline;
- }
- .products li .product_pod .product_price,
- .es-carousel > ul li .product_pod .product_price {
- position: static;
- }
- .products li .product_pod .product_price h4,
- .es-carousel > ul li .product_pod .product_price h4 {
- margin-bottom: 0px;
- display: inline;
- }
- .products li .product_pod .product_price h4 span,
- .es-carousel > ul li .product_pod .product_price h4 span,
- .products li .product_pod .product_price h4 del,
- .es-carousel > ul li .product_pod .product_price h4 del {
- float: none;
- }
- .products li .product_pod .product_price form,
- .es-carousel > ul li .product_pod .product_price form {
- clear: both;
- }
- .products li .product_pod .product_price form input#id_quantity,
- .es-carousel > ul li .product_pod .product_price form input#id_quantity {
- width: auto;
- }
- .products li .product_pod .product_price form .btn,
- .es-carousel > ul li .product_pod .product_price form .btn {
- margin-top: 5px;
- }
- .products li .product_pod .image_container,
- .es-carousel > ul li .product_pod .image_container {
- width: 25%;
- float: right;
- margin-left: 15px;
- margin-bottom: 0;
- }
- .es-carousel > ul li {
- border-bottom: 1px solid #eeeeee;
- padding-bottom: 20px;
- margin-bottom: 20px;
- }
- .es-carousel-wrapper {
- padding: 0px;
- border: 0px;
- }
- .es-carousel {
- border: 0px;
- }
- .es-carousel ul {
- display: block;
- margin: 0;
- }
- .es-carousel ul li {
- float: none;
- }
- .rg-thumbs .es-carousel-wrapper {
- padding: 1px 20px;
- border: 1px solid #DDD;
- }
- .rg-thumbs .es-carousel > ul li {
- border-bottom-width: 0;
- padding-bottom: 0;
- margin-bottom: 0;
- float: left;
- }
-}
-@media (max-width: 480px) {
- .nav-collapse {
- -webkit-transform: translate3d(0, 0, 0);
- }
- .page-header h1 small {
- display: block;
- line-height: 20px;
- }
- input[type="checkbox"],
- input[type="radio"] {
- border: 1px solid #ccc;
- }
- .form-horizontal .control-label {
- float: none;
- width: auto;
- padding-top: 0;
- text-align: left;
- }
- .form-horizontal .controls {
- margin-left: 0;
- }
- .form-horizontal .control-list {
- padding-top: 0;
- }
- .form-horizontal .form-actions {
- padding-left: 10px;
- padding-right: 10px;
- }
- .modal {
- top: 10px;
- left: 10px;
- right: 10px;
- }
- .modal-header .close {
- padding: 10px;
- margin: -10px;
- }
- .carousel-caption {
- position: static;
- }
- .thumbnail {
- border: 0;
- padding: 0;
- -webkit-border-radius: 0;
- -moz-border-radius: 0;
- border-radius: 0;
- }
- .star {
- padding-left: 70px;
- background: url(../img/ui/bg-stars-small.png) 0px -4px no-repeat;
- height: 11px;
- line-height: 11px;
- }
- .star.One {
- background-position: 0px -18px;
- }
- .star.Two {
- background-position: 0px -32px;
- }
- .star.Three {
- background-position: 0px -47px;
- }
- .star.Four {
- background-position: 0px -61px;
- }
- .star.Five {
- background-position: 0px -75px;
- }
- .review_content div {
- border: none;
- }
- .review_votes div {
- padding: 0px;
- }
- .footer_links {
- border-bottom: none;
- }
- .footer_links li {
- border-left: none;
- margin: 0px;
- padding: 0px;
- }
- .footer_links li a {
- display: block;
- padding: 10px 0;
- border-bottom: 1px solid #d9d9d9;
- }
- .alert {
- /* Position alerts at the bottom of the browser window*/
-
- position: static;
- width: auto;
- margin-bottom: 0px;
- }
-}
-@media (max-width: 767px) {
- body {
- padding-top: 0;
- }
- .navbar-fixed-top,
- .navbar-fixed-bottom {
- position: static;
- }
- .navbar-fixed-top {
- margin-bottom: 20px;
- }
- .navbar-fixed-bottom {
- margin-top: 20px;
- }
- .navbar-fixed-top .navbar-inner,
- .navbar-fixed-bottom .navbar-inner {
- padding: 5px;
- }
- .navbar .container {
- width: auto;
- padding: 0;
- }
- .navbar .brand {
- padding-left: 10px;
- padding-right: 10px;
- margin: 0 0 0 -5px;
- }
- .nav-collapse {
- clear: both;
- }
- .nav-collapse .nav {
- float: none;
- margin: 0 0 10px;
- }
- .nav-collapse .nav > li {
- float: none;
- }
- .nav-collapse .nav > li > a {
- margin-bottom: 2px;
- }
- .nav-collapse .nav > .divider-vertical {
- display: none;
- }
- .nav-collapse .nav .nav-header {
- color: #777777;
- text-shadow: none;
- }
- .nav-collapse .nav > li > a,
- .nav-collapse .dropdown-menu a {
- padding: 9px 15px;
- font-weight: bold;
- color: #777777;
- -webkit-border-radius: 3px;
- -moz-border-radius: 3px;
- border-radius: 3px;
- }
- .nav-collapse .btn {
- padding: 4px 10px 4px;
- font-weight: normal;
- -webkit-border-radius: 4px;
- -moz-border-radius: 4px;
- border-radius: 4px;
- }
- .nav-collapse .dropdown-menu li + li a {
- margin-bottom: 2px;
- }
- .nav-collapse .nav > li > a:hover,
- .nav-collapse .dropdown-menu a:hover {
- background-color: #f2f2f2;
- }
- .navbar-inverse .nav-collapse .nav > li > a:hover,
- .navbar-inverse .nav-collapse .dropdown-menu a:hover {
- background-color: #111111;
- }
- .nav-collapse.in .btn-group {
- margin-top: 5px;
- padding: 0;
- }
- .nav-collapse .dropdown-menu {
- position: static;
- top: auto;
- left: auto;
- float: none;
- display: block;
- max-width: none;
- margin: 0 15px;
- padding: 0;
- background-color: transparent;
- border: none;
- -webkit-border-radius: 0;
- -moz-border-radius: 0;
- border-radius: 0;
- -webkit-box-shadow: none;
- -moz-box-shadow: none;
- box-shadow: none;
- }
- .nav-collapse .dropdown-menu:before,
- .nav-collapse .dropdown-menu:after {
- display: none;
- }
- .nav-collapse .dropdown-menu .divider {
- display: none;
- }
- .nav-collapse .nav > li > .dropdown-menu:before,
- .nav-collapse .nav > li > .dropdown-menu:after {
- display: none;
- }
- .nav-collapse .navbar-form,
- .nav-collapse .navbar-search {
- float: none;
- padding: 10px 15px;
- margin: 10px 0;
- border-top: 1px solid #f2f2f2;
- border-bottom: 1px solid #f2f2f2;
- -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
- -moz-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);
- }
- .navbar-inverse .nav-collapse .navbar-form,
- .navbar-inverse .nav-collapse .navbar-search {
- border-top-color: #111111;
- border-bottom-color: #111111;
- }
- .navbar .nav-collapse .nav.pull-right {
- float: none;
- margin-left: 0;
- }
- .nav-collapse,
- .nav-collapse.collapse {
- overflow: hidden;
- height: 0;
- }
- .navbar .btn-navbar {
- display: block;
- line-height: 11px;
- }
- .navbar-static .navbar-inner {
- padding-left: 10px;
- padding-right: 10px;
- }
-}
-@media (min-width: 980px) {
- .nav-collapse.collapse {
- height: auto !important;
- overflow: visible !important;
- }
-}
+.clearfix{*zoom:1;}.clearfix:before,.clearfix:after{display:table;content:"";line-height:0;}
+.clearfix:after{clear:both;}
+.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0;}
+.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}
+.hidden{display:none;visibility:hidden;}
+.visible-phone{display:none !important;}
+.visible-tablet{display:none !important;}
+.hidden-desktop{display:none !important;}
+.visible-desktop{display:inherit !important;}
+@media (min-width:768px) and (max-width:979px){.hidden-desktop{display:inherit !important;} .visible-desktop{display:none !important ;} .visible-tablet{display:inherit !important;} .hidden-tablet{display:none !important;}}@media (max-width:767px){.hidden-desktop{display:inherit !important;} .visible-desktop{display:none !important;} .visible-phone{display:inherit !important;} .hidden-phone{display:none !important;}}@media (min-width:1200px){.row{margin-left:-30px;*zoom:1;}.row:before,.row:after{display:table;content:"";line-height:0;} .row:after{clear:both;} [class*="span"]{float:left;min-height:1px;margin-left:30px;} .container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:1170px;} .span12{width:1170px;} .span11{width:1070px;} .span10{width:970px;} .span9{width:870px;} .span8{width:770px;} .span7{width:670px;} .span6{width:570px;} .span5{width:470px;} .span4{width:370px;} .span3{width:270px;} .span2{width:170px;} .span1{width:70px;} .offset12{margin-left:1230px;} .offset11{margin-left:1130px;} .offset10{margin-left:1030px;} .offset9{margin-left:930px;} .offset8{margin-left:830px;} .offset7{margin-left:730px;} .offset6{margin-left:630px;} .offset5{margin-left:530px;} .offset4{margin-left:430px;} .offset3{margin-left:330px;} .offset2{margin-left:230px;} .offset1{margin-left:130px;} .row-fluid{width:100%;*zoom:1;}.row-fluid:before,.row-fluid:after{display:table;content:"";line-height:0;} .row-fluid:after{clear:both;} .row-fluid [class*="span"]{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;margin-left:2.564102564102564%;*margin-left:2.5109110747408616%;} .row-fluid [class*="span"]:first-child{margin-left:0;} .row-fluid .span12{width:100%;*width:99.94680851063829%;} .row-fluid .span11{width:91.45299145299145%;*width:91.39979996362975%;} .row-fluid .span10{width:82.90598290598291%;*width:82.8527914166212%;} .row-fluid .span9{width:74.35897435897436%;*width:74.30578286961266%;} .row-fluid .span8{width:65.81196581196582%;*width:65.75877432260411%;} .row-fluid .span7{width:57.26495726495726%;*width:57.21176577559556%;} .row-fluid .span6{width:48.717948717948715%;*width:48.664757228587014%;} .row-fluid .span5{width:40.17094017094017%;*width:40.11774868157847%;} .row-fluid .span4{width:31.623931623931625%;*width:31.570740134569924%;} .row-fluid .span3{width:23.076923076923077%;*width:23.023731587561375%;} .row-fluid .span2{width:14.52991452991453%;*width:14.476723040552828%;} .row-fluid .span1{width:5.982905982905983%;*width:5.929714493544281%;} .row-fluid .offset12{margin-left:105.12820512820512%;*margin-left:105.02182214948171%;} .row-fluid .offset12:first-child{margin-left:102.56410256410257%;*margin-left:102.45771958537915%;} .row-fluid .offset11{margin-left:96.58119658119658%;*margin-left:96.47481360247316%;} .row-fluid .offset11:first-child{margin-left:94.01709401709402%;*margin-left:93.91071103837061%;} .row-fluid .offset10{margin-left:88.03418803418803%;*margin-left:87.92780505546462%;} .row-fluid .offset10:first-child{margin-left:85.47008547008548%;*margin-left:85.36370249136206%;} .row-fluid .offset9{margin-left:79.48717948717949%;*margin-left:79.38079650845607%;} .row-fluid .offset9:first-child{margin-left:76.92307692307693%;*margin-left:76.81669394435352%;} .row-fluid .offset8{margin-left:70.94017094017094%;*margin-left:70.83378796144753%;} .row-fluid .offset8:first-child{margin-left:68.37606837606839%;*margin-left:68.26968539734497%;} .row-fluid .offset7{margin-left:62.393162393162385%;*margin-left:62.28677941443899%;} .row-fluid .offset7:first-child{margin-left:59.82905982905982%;*margin-left:59.72267685033642%;} .row-fluid .offset6{margin-left:53.84615384615384%;*margin-left:53.739770867430444%;} .row-fluid .offset6:first-child{margin-left:51.28205128205128%;*margin-left:51.175668303327875%;} .row-fluid .offset5{margin-left:45.299145299145295%;*margin-left:45.1927623204219%;} .row-fluid .offset5:first-child{margin-left:42.73504273504273%;*margin-left:42.62865975631933%;} .row-fluid .offset4{margin-left:36.75213675213675%;*margin-left:36.645753773413354%;} .row-fluid .offset4:first-child{margin-left:34.18803418803419%;*margin-left:34.081651209310785%;} .row-fluid .offset3{margin-left:28.205128205128204%;*margin-left:28.0987452264048%;} .row-fluid .offset3:first-child{margin-left:25.641025641025642%;*margin-left:25.53464266230224%;} .row-fluid .offset2{margin-left:19.65811965811966%;*margin-left:19.551736679396257%;} .row-fluid .offset2:first-child{margin-left:17.094017094017094%;*margin-left:16.98763411529369%;} .row-fluid .offset1{margin-left:11.11111111111111%;*margin-left:11.004728132387708%;} .row-fluid .offset1:first-child{margin-left:8.547008547008547%;*margin-left:8.440625568285142%;} input,textarea,.uneditable-input{margin-left:0;} .controls-row [class*="span"]+[class*="span"]{margin-left:30px;} input.span12, textarea.span12, .uneditable-input.span12{width:1156px;} input.span11, textarea.span11, .uneditable-input.span11{width:1056px;} input.span10, textarea.span10, .uneditable-input.span10{width:956px;} input.span9, textarea.span9, .uneditable-input.span9{width:856px;} input.span8, textarea.span8, .uneditable-input.span8{width:756px;} input.span7, textarea.span7, .uneditable-input.span7{width:656px;} input.span6, textarea.span6, .uneditable-input.span6{width:556px;} input.span5, textarea.span5, .uneditable-input.span5{width:456px;} input.span4, textarea.span4, .uneditable-input.span4{width:356px;} input.span3, textarea.span3, .uneditable-input.span3{width:256px;} input.span2, textarea.span2, .uneditable-input.span2{width:156px;} input.span1, textarea.span1, .uneditable-input.span1{width:56px;} .thumbnails{margin-left:-30px;} .thumbnails>li{margin-left:30px;} .row-fluid .thumbnails{margin-left:0;}}@media (min-width:768px) and (max-width:979px){.row{margin-left:-20px;*zoom:1;}.row:before,.row:after{display:table;content:"";line-height:0;} .row:after{clear:both;} [class*="span"]{float:left;min-height:1px;margin-left:20px;} .container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:724px;} .span12{width:724px;} .span11{width:662px;} .span10{width:600px;} .span9{width:538px;} .span8{width:476px;} .span7{width:414px;} .span6{width:352px;} .span5{width:290px;} .span4{width:228px;} .span3{width:166px;} .span2{width:104px;} .span1{width:42px;} .offset12{margin-left:764px;} .offset11{margin-left:702px;} .offset10{margin-left:640px;} .offset9{margin-left:578px;} .offset8{margin-left:516px;} .offset7{margin-left:454px;} .offset6{margin-left:392px;} .offset5{margin-left:330px;} .offset4{margin-left:268px;} .offset3{margin-left:206px;} .offset2{margin-left:144px;} .offset1{margin-left:82px;} .row-fluid{width:100%;*zoom:1;}.row-fluid:before,.row-fluid:after{display:table;content:"";line-height:0;} .row-fluid:after{clear:both;} .row-fluid [class*="span"]{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;margin-left:2.7624309392265194%;*margin-left:2.709239449864817%;} .row-fluid [class*="span"]:first-child{margin-left:0;} .row-fluid .span12{width:100%;*width:99.94680851063829%;} .row-fluid .span11{width:91.43646408839778%;*width:91.38327259903608%;} .row-fluid .span10{width:82.87292817679558%;*width:82.81973668743387%;} .row-fluid .span9{width:74.30939226519337%;*width:74.25620077583166%;} .row-fluid .span8{width:65.74585635359117%;*width:65.69266486422946%;} .row-fluid .span7{width:57.18232044198895%;*width:57.12912895262725%;} .row-fluid .span6{width:48.61878453038674%;*width:48.56559304102504%;} .row-fluid .span5{width:40.05524861878453%;*width:40.00205712942283%;} .row-fluid .span4{width:31.491712707182323%;*width:31.43852121782062%;} .row-fluid .span3{width:22.92817679558011%;*width:22.87498530621841%;} .row-fluid .span2{width:14.3646408839779%;*width:14.311449394616199%;} .row-fluid .span1{width:5.801104972375691%;*width:5.747913483013988%;} .row-fluid .offset12{margin-left:105.52486187845304%;*margin-left:105.41847889972962%;} .row-fluid .offset12:first-child{margin-left:102.76243093922652%;*margin-left:102.6560479605031%;} .row-fluid .offset11{margin-left:96.96132596685082%;*margin-left:96.8549429881274%;} .row-fluid .offset11:first-child{margin-left:94.1988950276243%;*margin-left:94.09251204890089%;} .row-fluid .offset10{margin-left:88.39779005524862%;*margin-left:88.2914070765252%;} .row-fluid .offset10:first-child{margin-left:85.6353591160221%;*margin-left:85.52897613729868%;} .row-fluid .offset9{margin-left:79.8342541436464%;*margin-left:79.72787116492299%;} .row-fluid .offset9:first-child{margin-left:77.07182320441989%;*margin-left:76.96544022569647%;} .row-fluid .offset8{margin-left:71.2707182320442%;*margin-left:71.16433525332079%;} .row-fluid .offset8:first-child{margin-left:68.50828729281768%;*margin-left:68.40190431409427%;} .row-fluid .offset7{margin-left:62.70718232044199%;*margin-left:62.600799341718584%;} .row-fluid .offset7:first-child{margin-left:59.94475138121547%;*margin-left:59.838368402492065%;} .row-fluid .offset6{margin-left:54.14364640883978%;*margin-left:54.037263430116376%;} .row-fluid .offset6:first-child{margin-left:51.38121546961326%;*margin-left:51.27483249088986%;} .row-fluid .offset5{margin-left:45.58011049723757%;*margin-left:45.47372751851417%;} .row-fluid .offset5:first-child{margin-left:42.81767955801105%;*margin-left:42.71129657928765%;} .row-fluid .offset4{margin-left:37.01657458563536%;*margin-left:36.91019160691196%;} .row-fluid .offset4:first-child{margin-left:34.25414364640884%;*margin-left:34.14776066768544%;} .row-fluid .offset3{margin-left:28.45303867403315%;*margin-left:28.346655695309746%;} .row-fluid .offset3:first-child{margin-left:25.69060773480663%;*margin-left:25.584224756083227%;} .row-fluid .offset2{margin-left:19.88950276243094%;*margin-left:19.783119783707537%;} .row-fluid .offset2:first-child{margin-left:17.12707182320442%;*margin-left:17.02068884448102%;} .row-fluid .offset1{margin-left:11.32596685082873%;*margin-left:11.219583872105325%;} .row-fluid .offset1:first-child{margin-left:8.56353591160221%;*margin-left:8.457152932878806%;} input,textarea,.uneditable-input{margin-left:0;} .controls-row [class*="span"]+[class*="span"]{margin-left:20px;} input.span12, textarea.span12, .uneditable-input.span12{width:710px;} input.span11, textarea.span11, .uneditable-input.span11{width:648px;} input.span10, textarea.span10, .uneditable-input.span10{width:586px;} input.span9, textarea.span9, .uneditable-input.span9{width:524px;} input.span8, textarea.span8, .uneditable-input.span8{width:462px;} input.span7, textarea.span7, .uneditable-input.span7{width:400px;} input.span6, textarea.span6, .uneditable-input.span6{width:338px;} input.span5, textarea.span5, .uneditable-input.span5{width:276px;} input.span4, textarea.span4, .uneditable-input.span4{width:214px;} input.span3, textarea.span3, .uneditable-input.span3{width:152px;} input.span2, textarea.span2, .uneditable-input.span2{width:90px;} input.span1, textarea.span1, .uneditable-input.span1{width:28px;} .header .page_inner{padding:50px 20px 40px;}}@media (max-width:767px){body{} .navbar-fixed-top,.navbar-fixed-bottom,.navbar-static-top{margin-left:-20px;margin-right:-20px;} .container-fluid{padding:0;} .dl-horizontal dt{float:none;clear:none;width:auto;text-align:left;} .dl-horizontal dd{margin-left:0;} .container{width:auto;} .row-fluid{width:100%;} .row,.thumbnails{margin-left:0;} .thumbnails>li{float:none;margin-left:0;} [class*="span"],.row-fluid [class*="span"]{float:none;display:block;width:100%;margin-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;} .span12,.row-fluid .span12{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;} .input-large,.input-xlarge,.input-xxlarge,input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;} .input-prepend input,.input-append input,.input-prepend input[class*="span"],.input-append input[class*="span"]{display:inline-block;width:auto;} .controls-row [class*="span"]+[class*="span"]{margin-left:0;} .modal{position:fixed;top:20px;left:20px;right:20px;width:auto;margin:0;}.modal.fade.in{top:auto;} .navbar-static-top{margin-left:0;margin-right:0;} .navbar.primary .pull-left,.navbar.primary .pull-right{float:none;} .pull-left.btn-full,.pull-right.btn-full{float:none;} .btn-full{padding-left:0;padding-right:0;width:100%;float:none;} a.btn-full{display:block;width:auto!important;} .header h1{text-align:center;} .header small{display:block;margin-top:10px;} .header .page_inner{padding:30px 0;} .basket-items{padding:0;}.basket-items [class*="span"] .image_container{width:20%;float:right;min-height:100px;line-height:100px;margin:0;}.basket-items [class*="span"] .image_container img{max-height:100px;margin:0;float:right;} .basket-items a.btn{margin-bottom:20px;} .basket-items .align-right,.basket-items .align-center{text-align:left;margin-top:20px;} .basket-items:nth-child(even),.basket-items{background:none;} .product_title,.product_assets,.product_description,.product_related,.review_content,.review_votes,.main,.products li,.five li,.four li,.three li,.two li,.product_pod .product_price,.footer_links li,.footer_links .top_page{float:none;margin:0px;width:auto;height:auto;} .products li,.es-carousel>ul li{border-bottom:1px solid #eeeeee;padding-bottom:20px;margin-bottom:20px;}.products li .product_pod,.es-carousel>ul li .product_pod{margin-bottom:0px;height:auto!important;padding:0px;text-align:left;}.products li .product_pod .star,.es-carousel>ul li .product_pod .star{clear:none;margin:0px;} .products li .product_pod .availability,.es-carousel>ul li .product_pod .availability{text-align:left;} .products li .product_pod .group-price,.es-carousel>ul li .product_pod .group-price{position:static;border:none;color:#f89406;text-transform:capitalize;background-color:none;-webkit-border-radius:none;-moz-border-radius:none;border-radius:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;background:none;margin:0px;}.products li .product_pod .group-price span,.es-carousel>ul li .product_pod .group-price span{display:inline;font-size:14px;background:none;padding:0px;color:inherit;} .products li .product_pod .group-price strong,.es-carousel>ul li .product_pod .group-price strong{padding:0px;display:inline;} .products li .product_pod .product_price,.es-carousel>ul li .product_pod .product_price{position:static;}.products li .product_pod .product_price h4,.es-carousel>ul li .product_pod .product_price h4{margin-bottom:0px;display:inline;}.products li .product_pod .product_price h4 span,.es-carousel>ul li .product_pod .product_price h4 span,.products li .product_pod .product_price h4 del,.es-carousel>ul li .product_pod .product_price h4 del{float:none;} .products li .product_pod .product_price form,.es-carousel>ul li .product_pod .product_price form{clear:both;}.products li .product_pod .product_price form input#id_quantity,.es-carousel>ul li .product_pod .product_price form input#id_quantity{width:auto;} .products li .product_pod .product_price form .btn,.es-carousel>ul li .product_pod .product_price form .btn{margin-top:5px;} .products li .product_pod .image_container,.es-carousel>ul li .product_pod .image_container{width:25%;float:right;margin-left:15px;margin-bottom:0;} .es-carousel>ul li{border-bottom:1px solid #eeeeee;padding-bottom:20px;margin-bottom:20px;} .es-carousel-wrapper{padding:0px;border:0px;} .es-carousel{border:0px;}.es-carousel ul{display:block;margin:0;}.es-carousel ul li{float:none;} .rg-thumbs .es-carousel-wrapper{padding:1px 20px;border:1px solid #DDD;} .rg-thumbs .es-carousel>ul li{border-bottom-width:0;padding-bottom:0;margin-bottom:0;float:left;}}@media (max-width:480px){.nav-collapse{-webkit-transform:translate3d(0, 0, 0);} .page-header h1 small{display:block;line-height:20px;} input[type="checkbox"],input[type="radio"]{border:1px solid #ccc;} .form-horizontal .control-label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:10px;padding-right:10px;} .modal{top:10px;left:10px;right:10px;} .modal-header .close{padding:10px;margin:-10px;} .carousel-caption{position:static;} .thumbnail{border:0;padding:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;} .star{padding-left:70px;background:url(../img/ui/bg-stars-small.png) 0px -4px no-repeat;height:11px;line-height:11px;} .star.One{background-position:0px -18px;} .star.Two{background-position:0px -32px;} .star.Three{background-position:0px -47px;} .star.Four{background-position:0px -61px;} .star.Five{background-position:0px -75px;} .review_content div{border:none;} .review_votes div{padding:0px;} .footer_links{border-bottom:none;}.footer_links li{border-left:none;margin:0px;padding:0px;}.footer_links li a{display:block;padding:10px 0;border-bottom:1px solid #d9d9d9;} .alert{position:static;width:auto;margin-bottom:0px;}}@media (max-width:767px){body{padding-top:0;} .navbar-fixed-top,.navbar-fixed-bottom{position:static;} .navbar-fixed-top{margin-bottom:20px;} .navbar-fixed-bottom{margin-top:20px;} .navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding:5px;} .navbar .container{width:auto;padding:0;} .navbar .brand{padding-left:10px;padding-right:10px;margin:0 0 0 -5px;} .nav-collapse{clear:both;} .nav-collapse .nav{float:none;margin:0 0 10px;} .nav-collapse .nav>li{float:none;} .nav-collapse .nav>li>a{margin-bottom:2px;} .nav-collapse .nav>.divider-vertical{display:none;} .nav-collapse .nav .nav-header{color:#777777;text-shadow:none;} .nav-collapse .nav>li>a,.nav-collapse .dropdown-menu a{padding:9px 15px;font-weight:bold;color:#777777;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;} .nav-collapse .btn{padding:4px 10px 4px;font-weight:normal;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;} .nav-collapse .dropdown-menu li+li a{margin-bottom:2px;} .nav-collapse .nav>li>a:hover,.nav-collapse .dropdown-menu a:hover{background-color:#f2f2f2;} .navbar-inverse .nav-collapse .nav>li>a:hover,.navbar-inverse .nav-collapse .dropdown-menu a:hover{background-color:#111111;} .nav-collapse.in .btn-group{margin-top:5px;padding:0;} .nav-collapse .dropdown-menu{position:static;top:auto;left:auto;float:none;display:block;max-width:none;margin:0 15px;padding:0;background-color:transparent;border:none;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;} .nav-collapse .dropdown-menu:before,.nav-collapse .dropdown-menu:after{display:none;} .nav-collapse .dropdown-menu .divider{display:none;} .nav-collapse .nav>li>.dropdown-menu:before,.nav-collapse .nav>li>.dropdown-menu:after{display:none;} .nav-collapse .navbar-form,.nav-collapse .navbar-search{float:none;padding:10px 15px;margin:10px 0;border-top:1px solid #f2f2f2;border-bottom:1px solid #f2f2f2;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);-moz-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);} .navbar-inverse .nav-collapse .navbar-form,.navbar-inverse .nav-collapse .navbar-search{border-top-color:#111111;border-bottom-color:#111111;} .navbar .nav-collapse .nav.pull-right{float:none;margin-left:0;} .nav-collapse,.nav-collapse.collapse{overflow:hidden;height:0;} .navbar .btn-navbar{display:block;line-height:11px;} .navbar-static .navbar-inner{padding-left:10px;padding-right:10px;}}@media (min-width:980px){.nav-collapse.collapse{height:auto !important;overflow:visible !important;}}
8,231 oscar/static/oscar/css/styles.css
View
1,301 additions, 6,930 deletions not shown
83 oscar/static/oscar/less/dashboard.less
View
@@ -44,7 +44,7 @@ h3.app-ico:before {
.btn {
font-weight:normal;
}
-.btn-group > .btn,
+.btn-group > .btn,
.btn-group > .dropdown-menu,
.btn {
font-size:12px;
@@ -58,7 +58,7 @@ h3.app-ico:before {
&:hover,
&:active {
color:inherit;
- *color: #333;
+ *color: #333;
}
}
.btn-primary {
@@ -71,9 +71,6 @@ h3.app-ico:before {
td .btn-toolbar {
margin:0;
}
-/*.btn + a {
- margin-left:10px;
-}*/
//ICONS
.icon-large:before {
font-size: 18px;
@@ -88,7 +85,7 @@ td .btn-toolbar {
// FORM CHANGES
// -----------
-.form-horizontal,
+.form-horizontal,
.form-stacked {
.control-label {
   text-align: left;
@@ -151,7 +148,7 @@ td .btn-toolbar {
}
}
.create-page {
- .form-horizontal,
+ .form-horizontal,
.form-stacked {
input[type=text],
textarea,
@@ -220,7 +217,7 @@ input[type=text].hasDatepicker,
.table-striped tbody tr:nth-child(odd) th {
background-color: #efefef;
}
-.table-hover tbody tr:hover td,
+.table-hover tbody tr:hover td,
.table-hover tbody tr:hover th {
background-color: #FFF49F;
}
@@ -238,7 +235,6 @@ body {
margin-top: @baseLineHeight;
}
.fancypages .dashboard > .content {
-/* margin-top: 96px;*/
}
.navbar-accounts {
.navbar-inner {
@@ -286,8 +282,6 @@ body {
.navbar-inner {
#gradient > .vertical(#353535, #373737);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false) !important;
-/* height: 45px;
- width: 100%;*/
border-top: 1px solid #5B5B5B;
*position:relative;
*z-index:10;
@@ -333,73 +327,17 @@ body {
}
}
}
+
+
.navbar-primary .nav {
- > li a:before {
- color: #dcdcdc;
+ > li i {
+ color: #dcdcdc;
font-family: 'FontAwesome';
padding-right: 12px;
font-size: 16px;
}
- .Dashboard > a:before {
- content: "\f00b";
- }
- .Catalogue > a:before {
- content: "\f0e8";
- }
- .Content > a:before {
- content: "\f07b";
- }
- .Customers > a:before {
- content: "\f0c0";
- }
- .Reviews > a:before {
- content: "\f087";
- }
- .Communications > a:before {
- content: "\f0ac";
- }
- .Offers > a:before {
- content: "\f06b";
- }
- .Vouchers > a:before {
- content: "\f0d6";
- }
- .Ranges > a:before {
- content: "\f0c9";
- }
- .Orders > a:before {
- content: "\f07a";
- }
- .Reports > a:before {
- content: "\f080";
- }
- .dash > a:before {
- content: "\f015";
- }
}
-/*.reports .subnav li.Reports > a,
-.orders .subnav li.Manage.orders > a,
-.users .subnav li.Users > a,
-.content-blocks .subnav li.Content.blocks > a,
-.catalogue .subnav li.Catalogue > a,
-.subnav .nav > .active > a,
-.subnav .nav > .active > a:hover,
-.subnav .nav > li > a:hover,
-.nav-pills .open .dropdown-toggle,
-.subnav .nav > li,
-.home .subnav li.dash > a,
-.users .subnav li.Customers > a,
-.reviews .subnav li.Reviews > a,
-.content-blocks .subnav li.Content > a,
-.fancypages .subnav li.Page > a {
- color: #B2DEF2;
- background-color: #373737;
- border-right-color: @grayDarker;
- .box-shadow(inset 0 3px 5px rgba(0,0,0,.05));
- #gradient > .vertical(#1F1F1F, #373737);
-}*/
-
.navbar-primary .nav > li > a:hover .caret {
border-top-color: #B2DEF2;
border-bottom-color: #B2DEF2;
@@ -530,7 +468,7 @@ caption,
.tab-content {
display:block;
width:auto;
- border:1px #E1E1E1 solid;
+ border:1px #E1E1E1 solid;
border-top-width:0;
padding:30px;
}
@@ -620,7 +558,6 @@ caption,
width: 98%;
height: @barHeight;
-/* padding-left: 5em;*/
}
.bar-chart dd{
position: relative;
34 oscar/templates/oscar/dashboard/layout.html
View
@@ -18,13 +18,12 @@
<div class="navbar-inner">
<div class="dashboard">
<span class="brand">{{ shop_name }}</span>
-
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-accounts">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
-
+
<div class="nav-collapse nav-accounts collapse">
<ul class="nav pull-right">
<li><span>{% trans "Welcome" %} <em>{{ request.user.get_full_name|default:'Guest' }}</em></span></li>
@@ -37,10 +36,10 @@
</div><!-- /navbar-inner -->
</div><!-- /navbar -->
{% endblock navbar %}
-
+
{% block dashboard_nav %}
{% dashboard_navigation request.user %}
-
+
<div class="navbar navbar-static-top navbar-inverse navbar-primary">
<div class="navbar-inner">
<div class="dashboard">
@@ -55,16 +54,27 @@
<ul class="nav nav-pills dashboard">
<li class="Dashboard"><a href="{% url dashboard:index %}">{% trans "Dashboard" %}</a></li>
{% for item in nav_items %}
- <li class="{{ item.label }} dropdown">
+ <li class="dropdown">
{% if item.is_heading %}
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">{{ item.label }} <b class="caret"></b></a>
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">
+ {% if item.icon %}<i class="{{ item.icon }}"></i>{% endif %}
+ {{ item.label }} <b class="caret"></b>
+ </a>
{% else %}
- <a href="{{ item.url }}">{{ item.label }}</a>
+ <a href="{{ item.url }}">
+ {% if item.icon %}<i class="{{ item.icon }}"></i>{% endif %}
+ {{ item.label }}
+ </a>
{% endif %}
{% if item.has_children %}
<ul class="dropdown-menu">
{% for subitem in item.children %}
- <li><a href="{{ subitem.url }}">{{ subitem.label }}</a></li>
+ <li>
+ <a href="{{ subitem.url }}">
+ {% if subitem.icon %}<i class="{{ subitem.icon }}"></i>{% endif %}
+ {{ subitem.label }}
+ </a>
+ </li>
{% endfor %}
</ul>
{% endif %}
@@ -79,11 +89,11 @@
<div class="container-fluid dashboard">
{% block breadcrumbs %}
- <ul class="breadcrumb">
- <li><a href="{% url dashboard:index %}">{% trans "Dashboard" %}</a> <span class="divider">/</span></li>
+ <ul class="breadcrumb">
+ <li><a href="{% url dashboard:index %}">{% trans "Dashboard" %}</a> <span class="divider">/</span></li>
</ul>
{% endblock %}
-
+
<div class="content">
{% include 'partials/alert_messages.html' %}
{% block header %}{% endblock %}
@@ -93,7 +103,7 @@
{% endblock content %}
</div>
</div>
- </div><!-- /container -->
+ </div><!-- /container -->
{% endblock %}
{% block extrahead %}
3  oscar/templatetags/dashboard_tags.py
View
@@ -34,8 +34,7 @@ def dashboard_navigation(parser, token):
class DashboardNavigationNode(template.Node):
def render(self, context):
- user = context['user']
- context['nav_items'] = get_nodes(user)
+ context['nav_items'] = get_nodes(context['user'])
return ''
Please sign in to comment.
Something went wrong with that request. Please try again.