Large diffs are not rendered by default.

@@ -1,7 +1,10 @@
// Core variables and mixins
@import "bootstrap/variables.less"; // Modify this for custom colors, font-sizes, etc
@import "bootstrap/mixins.less";
@import "page/osc_mixins.less";
// import base bootstrap - separate from frontend
@import url("bootstrap.min.css");
// Unique Fonts
@import url("snowcone.css");
// Core variables and mixins separate from frontend variables and mixins
@import "variables.less"; // Modify this for custom colors, font-sizes, etc
@import "mixins.less";

// OSCAR DASHBOARD UNIQUE STYLES
// -----------
@@ -46,7 +49,7 @@ body {
}
}
}
}
}
.reports .subnav li.Reports > a,
.orders .subnav li.Manage.orders > a,
.users .subnav li.Users > a,
@@ -63,15 +66,9 @@ body {
}
.breadcrumb {
margin-top:100px;
}
}
.content {
background:#fff;
/*-webkit-box-shadow: -5px 5px 7px 0px rgba(0, 0, 0, .2);
-moz-box-shadow: -5px 5px 7px 0px rgba(0, 0, 0, .2);
box-shadow: -5px 5px 7px 0px rgba(0, 0, 0, .2);
-webkit-border-radius: 0 0 6px 6px;
-moz-border-radius: 0 0 6px 6px;
border-radius: 0 0 6px 6px;*/
.page-content {
padding:30px 0px;
}
@@ -83,84 +80,6 @@ button {
.primary-nav ul {
margin:0px;
padding:0px;
}
.primary-nav {
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
padding:0px;
background:#f7f7f7;
border:1px solid #bbb;
width:240px;
position:fixed;
}
.primary-nav li {
display:block;
}
.reports .primary-nav li.Reports > a,
.orders .primary-nav li.Manage.orders > a,
.users .primary-nav li.Users > a,
.content-blocks .primary-nav li.Content.blocks > a,
.catalogue .primary-nav li.Catalogue > a {
color: @blue;
text-shadow: 1px 1px 1px #fff;
filter: dropshadow(color=#fff, offx=1, offy=1);
}
.primary-nav li ul li {
margin:0px;
border-top:1px solid #ddd;
font-size: @baseFontSize - 2;
}
.primary-nav li ul li:first-child {
border-top:1px solid #bbb;
}
.primary-nav a {
display:block;
padding:5px 15px;
}
.primary-nav > li > a {
background:#ddd;
border-top:1px solid #bbb;
-webkit-box-shadow: inset -1px 1px 0px 0px rgba(255, 255, 255, .5);
-moz-box-shadow: inset -1px 1px 0px 0px rgba(255, 255, 255, .5);
box-shadow: inset -1px 1px 0px 0px rgba(255, 255, 255, .5);
font-weight:bold;
color:#444;
}
.primary-nav li:first-child > a {
border-top:none;
-moz-border-radius-topleft: 4px;
-moz-border-radius-topright: 4px;
-moz-border-radius-bottomright: 0px;
-moz-border-radius-bottomleft: 0px;
-webkit-border-radius: 4px 4px 0px 0px;
border-radius: 4px 4px 0px 0px;
}
.primary-nav li ul li a:hover {
background:#efefef;
}
.primary-nav .submenu {
background:url(../img/ui/icon_arrow_left.png) no-repeat 94% 50% #ddd;
}
.primary-nav .viewed {
background:url(../img/ui/icon_arrow_down.png) no-repeat 94% 50% #ddd;
}
.primary-nav li:first-child .submenu {
border-top:none;
-moz-border-radius-topleft: 4px;
-moz-border-radius-topright: 4px;
-moz-border-radius-bottomright: 0px;
-moz-border-radius-bottomleft: 0px;
-webkit-border-radius: 4px 4px 0px 0px;
border-radius: 4px 4px 0px 0px;
}
.primary-nav li:last-child .submenu {
-moz-border-radius-topleft: 0px;
-moz-border-radius-topright: 0px;
-moz-border-radius-bottomright: 4px;
-moz-border-radius-bottomleft: 4px;
-webkit-border-radius: 0px 0px 4px 4px;
border-radius: 0px 0px 4px 4px;
}
.page-header {
background-color: @white;
@@ -183,6 +102,7 @@ h3 {
margin-left: 120px;
> label {
padding-left:0px;
padding-top:0px;
}
.radio {
ul {
@@ -236,7 +156,7 @@ h3 {
}
.tabs .dropdown-menu {
top:48px;
left:10px;
left:10px;
}
.tabs {
border-width:0px;
@@ -324,7 +244,7 @@ h3 {
float:left;
margin-right:10px;
&:first-child {
margin-left:10px;
margin-left:10px;
}
}
table {
@@ -384,4 +304,25 @@ h3 {
textarea {
width:99%;
}
}
// WELLS
// -----
.well {
.clearfix();
}
.well-success {
background-color: @successBackground;
border-color: @successBorder;
}
.well-danger {
background-color: @errorBackground;
border-color: @errorBorder;
}
.well-info {
background-color: @infoBackground;
border-color: @infoBorder;
}
.well-blank {
background-color: @white;
border-color: rgba(0,0,0,.1);
}

Large diffs are not rendered by default.

@@ -0,0 +1,201 @@
// Variables.less
// Variables to customize the look and feel of Bootstrap
// -----------------------------------------------------



// GLOBAL VALUES
// --------------------------------------------------


// Grays
// -------------------------
@black: #000;
@grayDarker: #222;
@grayDark: #333;
@gray: #555;
@grayLight: #999;
@grayLighter: #eee;
@white: #fff;


// Accent colors
// -------------------------
@blue: #049cdb;
@blueDark: #0064cd;
@green: #46a546;
@red: #9d261d;
@yellow: #ffc40d;
@orange: #f89406;
@pink: #c3325f;
@purple: #7a43b6;


// Scaffolding
// -------------------------
@bodyBackground: @white;
@textColor: @grayDark;


// Links
// -------------------------
@linkColor: #08c;
@linkColorHover: darken(@linkColor, 15%);


// Typography
// -------------------------
@baseFontSize: 13px;
@baseFontFamily: "Helvetica Neue", Helvetica, Arial, sans-serif;
@baseLineHeight: 18px;
@altFontFamily: Georgia, "Times New Roman", Times, serif;

@headingsFontFamily: inherit; // empty to use BS default, @baseFontFamily
@headingsFontWeight: bold; // instead of browser default, bold
@headingsColor: inherit; // empty to use BS default, @textColor


// Tables
// -------------------------
@tableBackground: transparent; // overall background-color
@tableBackgroundAccent: #f9f9f9; // for striping
@tableBackgroundHover: #f5f5f5; // for hover
@tableBorder: #ddd; // table and cell border


// Buttons
// -------------------------
@btnBackground: @white;
@btnBackgroundHighlight: darken(@white, 10%);
@btnBorder: darken(@white, 20%);

@btnPrimaryBackground: @linkColor;
@btnPrimaryBackgroundHighlight: spin(@btnPrimaryBackground, 15%);

@btnInfoBackground: #5bc0de;
@btnInfoBackgroundHighlight: #2f96b4;

@btnSuccessBackground: #62c462;
@btnSuccessBackgroundHighlight: #51a351;

@btnWarningBackground: lighten(@orange, 15%);
@btnWarningBackgroundHighlight: @orange;

@btnDangerBackground: #ee5f5b;
@btnDangerBackgroundHighlight: #bd362f;

@btnInverseBackground: @gray;
@btnInverseBackgroundHighlight: @grayDarker;


// Forms
// -------------------------
@inputBackground: @white;
@inputBorder: #ccc;
@inputDisabledBackground: @grayLighter;


// Dropdowns
// -------------------------
@dropdownBackground: @white;
@dropdownBorder: rgba(0,0,0,.2);
@dropdownLinkColor: @grayDark;
@dropdownLinkColorHover: @white;
@dropdownLinkBackgroundHover: @linkColor;




// COMPONENT VARIABLES
// --------------------------------------------------

// Z-index master list
// -------------------------
// Used for a bird's eye view of components dependent on the z-axis
// Try to avoid customizing these :)
@zindexDropdown: 1000;
@zindexPopover: 1010;
@zindexTooltip: 1020;
@zindexFixedNavbar: 1030;
@zindexModalBackdrop: 1040;
@zindexModal: 1050;


// Sprite icons path
// -------------------------
@iconSpritePath: "../img/glyphicons-halflings.png";
@iconWhiteSpritePath: "../img/glyphicons-halflings-white.png";


// Input placeholder text color
// -------------------------
@placeholderText: @grayLight;


// Hr border color
// -------------------------
@hrBorder: @grayLighter;


// Navbar
// -------------------------
@navbarHeight: 40px;
@navbarBackground: @grayDarker;
@navbarBackgroundHighlight: @grayDark;

@navbarText: @grayLight;
@navbarLinkColor: @grayLight;
@navbarLinkColorHover: @white;
@navbarLinkColorActive: @navbarLinkColorHover;
@navbarLinkBackgroundHover: transparent;
@navbarLinkBackgroundActive: @navbarBackground;

@navbarSearchBackground: lighten(@navbarBackground, 25%);
@navbarSearchBackgroundFocus: @white;
@navbarSearchBorder: darken(@navbarSearchBackground, 30%);
@navbarSearchPlaceholderColor: #ccc;


// Hero unit
// -------------------------
@heroUnitBackground: @grayLighter;
@heroUnitHeadingColor: inherit;
@heroUnitLeadColor: inherit;


// Form states and alerts
// -------------------------
@warningText: #c09853;
@warningBackground: #fcf8e3;
@warningBorder: darken(spin(@warningBackground, -10), 3%);

@errorText: #b94a48;
@errorBackground: #f2dede;
@errorBorder: darken(spin(@errorBackground, -10), 3%);

@successText: #468847;
@successBackground: #dff0d8;
@successBorder: darken(spin(@successBackground, -10), 5%);

@infoText: #3a87ad;
@infoBackground: #d9edf7;
@infoBorder: darken(spin(@infoBackground, -10), 7%);




// GRID
// --------------------------------------------------

// Default 940px grid
// -------------------------
@gridColumns: 12;
@gridColumnWidth: 60px;
@gridGutterWidth: 20px;
@gridRowWidth: (@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));


// Fluid grid
// -------------------------
@fluidGridColumnWidth: 6.382978723%;
@fluidGridGutterWidth: 2.127659574%;
@@ -16,6 +16,9 @@
margin-bottom: @baseLineHeight;
border-bottom: 1px solid darken(@grayLighter, 5.5%);
}
.page-header {
margin-bottom: 0px;
}
.sub-header {
background:none;
padding:0px 0px @gridGutterWidth / 2;
@@ -11,13 +11,15 @@
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

{% block favicon %}
<link rel="shortcut icon" href="{{ STATIC_URL }}oscar/favicon.ico" />
{% endblock %}
<!-- Main styles - will need to be minified -->
{% block mainstylesheet %}
<link rel="stylesheet" href="{{ STATIC_URL }}oscar/css/styles.css" />
<link rel="stylesheet" href="{{ STATIC_URL }}oscar/css/styles.css" />
{% endblock %}

{% block extrahead %}{% endblock %}
</head>
<body id="{% block body_id %}default{% endblock %}" class="{% block body_class %}default{% endblock %}">
@@ -26,40 +28,43 @@

{% block tracking %}
{% if google_analytics_id %}
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', '{{ google_analytics_id }}']);
_gaq.push(['_trackPageview']);
{% block extratracking %}{% endblock %}
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', '{{ google_analytics_id }}']);
_gaq.push(['_trackPageview']);
{% block extratracking %}{% endblock %}
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
{% endif %}
{% endblock %}

<!-- Jquery -->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="{{ STATIC_URL }}oscar/js/jquery/jquery-1.7.1.min.js"><\/script>')</script>
<script src="{{ STATIC_URL }}oscar/js/jquery/jquery.easing.1.3.js" type="text/javascript" charset="utf-8"></script>
<!-- Bootstrap -->
<script type="text/javascript" src="{{ STATIC_URL }}oscar/js/bootstrap/bootstrap.min.js"></script>
<!--[if lt IE 8]>
<script src="{{ STATIC_URL }}oscar/js/snowcone/snowcone.js"></script>
<![endif]-->
{% block scripts %}
<!-- Jquery -->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="{{ STATIC_URL }}oscar/js/jquery/jquery-1.7.1.min.js"><\/script>')</script>
<script src="{{ STATIC_URL }}oscar/js/jquery/jquery.easing.1.3.js" type="text/javascript" charset="utf-8"></script>
<!-- Bootstrap -->
<script type="text/javascript" src="{{ STATIC_URL }}oscar/js/bootstrap/bootstrap.min.js"></script>
<!--[if lt IE 8]>
<script src="{{ STATIC_URL }}oscar/js/snowcone/snowcone.js"></script>
<![endif]-->
{% endblock %}

{# Block for additional scripts #}
{% block extrascripts %}{% endblock %}

{# Block for body onload functions #}
<script type="text/javascript">
$(function(){
{% block onbodyload %}

{% endblock %}
$(function() {
{% block onbodyload %}{% endblock %}
});
</script>

{# Page meta-data #}
<!-- Version: {{ version }} -->
</body>
</html>
@@ -192,29 +192,46 @@ <h4>Reviewed by {{ review.get_reviewer_name }} <small>({{ review.date_created }}
</section>
{% endblock product_review %}

{% if product.related_items.count %}
<div class="products">
<h4>Related items</h4>
<ul>
{% for product in product.related_items.all %}
<li><a href="{{ product.get_absolute_url }}">{{ product.get_title }}</a></li>
{% endfor %}
</ul>
</div>
{% endif %}
<div class="row-fluid">
{% if product.related_products.count %}
<div class="span6">
<div class="sub-header">
<h2>Related items</h2>
</div>
<div class="es-carousel-wrapper">
<div class="es-carousel">
<ul>
{% for product in product.related_products.all %}
<li>
{% include "promotions/partials/product_carousel.html" %}
</li>
{% endfor %}
</ul>
</div>
</div>
</div>
{% endif %}

{% if product.recommended_items.count %}
<div class="products">
<h4>Recommended items</h4>
<ul>
{% for product in product.recommended_items.all %}
<li><a href="{{ product.get_absolute_url }}">{{ product.get_title }}</a></li>
{% endfor %}
</ul>
{% if product.recommended_products.count %}
<div class="span6">
<div class="sub-header">
<h2>Recommended items</h2>
</div>
<div class="es-carousel-wrapper">
<div class="es-carousel">
<ul>
{% for product in product.recommended_products.all %}
<li>
{% include "promotions/partials/product_carousel.html" %}
</li>
{% endfor %}
</ul>
</div>
</div>
</div>
{% endif %}
</div>
{% endif %}

{% recently_viewed_products %}
{% recently_viewed_products %}
</article><!-- End of product page -->
{% endblock content %}

@@ -5,8 +5,7 @@
{% load category_tags %}

{% block extrahead %}
<!-- Responsive - will need to be minified -->
<link rel="stylesheet" href="{{ STATIC_URL }}oscar/css/responsive.css" />
{% include "partials/extrahead.html" %}
{% endblock %}

{% block layout %}
@@ -105,64 +105,65 @@ <h3>Order history</h3>
{% endif %}
</div>

<div class="tab-pane" id="3">
<div class="sub-header">
<h3>Address book</h3>
</div>
<table class="table table-striped table-bordered">
<tbody>
<tr>
<th>Number of addresses in addressbook</th>
<td>{{ addressbook_size }}</td>
</tr>
<tr>
<th>Default shipping address</th>
<td>{{ default_shipping_address|default:"-" }}</td>
</tr>
<tr>
<th>Default billing address</th>
<td>{{ default_billing_address|default:"-" }}</td>
</tr>
<tr>
<th></th>
<td>
<a href="{% url customer:address-list %}" class="btn btn-primary">Manage address book</a>
</td>
</tr>
</tbody>
</table>
</div>
<div class="tab-pane" id="4">
<div class="sub-header">
<h3>Email history</h3>
</div>
{% if not emails %}
<div class="tab-pane" id="3">
<div class="sub-header">
<h3>Address book</h3>
</div>
<table class="table table-striped table-bordered">
<tbody>
<tr>
<th>Number of addresses in addressbook</th>
<td>{{ addressbook_size }}</td>
</tr>
<tr>
<th>Default shipping address</th>
<td>{{ default_shipping_address|default:"-" }}</td>
</tr>
<tr>
<th>Default billing address</th>
<td>{{ default_billing_address|default:"-" }}</td>
</tr>
<tr>
<th></th>
<td>
<a href="{% url customer:address-list %}" class="btn btn-primary">Manage address book</a>
</td>
</tr>
</tbody>
</table>
</div>
<div class="tab-pane" id="4">
<div class="sub-header">
<h3>Email history</h3>
</div>
{% if not emails %}

<p>You haven't been sent any emails yet.</p>
<p>You haven't been sent any emails yet.</p>

{% else %}
{% else %}

<table class="table table-striped table-bordered">
<tr>
<th>Date sent</th>
<th>Subject</th>
<th></th>
</tr>
{% for email in emails %}
<tr>
<td>{{ email.date_sent }}</td>
<td>{{ email.subject }}</td>
<td>
<a href="{% url customer:email-detail email.id %}" class="btn btn-info">View</a>
</td>
</tr>
{% endfor %}
</table>
<div class="form-actions">
<a href="{% url customer:email-list %}" class="btn btn-primary">View email history</a>
<div>
{% endif %}
</div>
<table class="table table-striped table-bordered">
<tr>
<th>Date sent</th>
<th>Subject</th>
<th></th>
</tr>
{% for email in emails %}
<tr>
<td>{{ email.date_sent }}</td>
<td>{{ email.subject }}</td>
<td>
<a href="{% url customer:email-detail email.id %}" class="btn btn-info">View</a>
</td>
</tr>
{% endfor %}
</table>
<div class="form-actions">
<a href="{% url customer:email-list %}" class="btn btn-primary">View email history</a>
<div>
{% endif %}
</div>
</div>
</div><!--End of tab-content -->

{% endblock content %}
@@ -5,6 +5,7 @@
{% load dashboard_tags %}

{% block extrahead %}
<link rel="stylesheet" href="{{ STATIC_URL }}oscar/css/bootstrap.min.css" />
<link rel="stylesheet" href="{{ STATIC_URL }}oscar/css/dashboard.css" />
{%endblock extrahead %}

@@ -62,27 +63,6 @@
</ul>
{% endblock %}



<!-- <ul class="primary-nav">
{% for item in nav_items %}
<li class="{{ item.label }}">
{% if item.is_heading %}
<a href="#" class="submenu">{{ item.label }}</a>
{% else %}
<a href="{{ item.url }}">{{ item.label }}</a>
{% endif %}
{% if item.has_children %}
<ul>
{% for subitem in item.children %}
<li><a href="{{ subitem.url }}">{{ subitem.label }}</a></li>
{% endfor %}
</ul>
{% endif %}
</li>
{% endfor %}
</ul> -->

<div class="content">
{% block header %}{% endblock %}
<div class="page-content">
@@ -161,7 +161,7 @@ <h3 class="app-ico ico_shop_bag icon">Items ordered</h3>
<tr>
<td>
<input type="checkbox" name="selected_line" value="{{ line.id }}" />
<input type="text" name="selected_line_qty" value="{{ line.quantity }}" class="span9" size="2" />
<input type="text" name="selected_line_qty" value="{{ line.quantity }}" class="span1" size="2" />
</td>
<td>{{ line.quantity }}</td>
<td>{{ line.title }}</td>
@@ -34,7 +34,7 @@ <h3>Quick Order Search &nbsp;&nbsp;<small><a href="#" class="app-ico ico_magnify
{% if field.is_hidden %}
{{ field }}
{% else %}
{{ field.label_tag }}
<label for="{{ field.auto_id }}" class="control-label">{{ field.label }}</label>
<div class="controls">
{{ field }}
{% for error in field.errors %}
@@ -52,9 +52,9 @@ <h3>Quick Order Search &nbsp;&nbsp;<small><a href="#" class="app-ico ico_magnify
</div>
{% else%}
<div class="control-group {% for error in form.response_format_0.errors %}error{% endfor %} pull-left">
<label for="id_response_format_0">Get results as:</label>
<label for="id_response_format_0" class="control-label">Get results as:</label>
<div class="controls">
<label class="radio inline" for="id_response_format_0">
<label class="radio inline control-label" for="id_response_format_0">
{{ form.response_format }}
{% for error in form.response_format.errors %}
<span class="help-block">
@@ -16,11 +16,11 @@
{% include "partials/nav_primary.html" %}
</header><!-- /header -->
<div class="container-fluid page">
{% block breadcrumbs %}{% endblock %}
{% include "partials/alert_messages.html" %}
{% block header %}
{% endblock %}
<div class="page_inner">
<div class="page_inner">
{% block breadcrumbs %}{% endblock %}
{% include "partials/alert_messages.html" %}
{% block flatpage %}{% endblock %}
{% block content %}{% endblock %}
</div><!-- /page_inner -->
@@ -1,3 +1,5 @@
<!-- Main styles - will need to be minified -->
<link rel="stylesheet" href="{{ STATIC_URL }}oscar/css/styles.css" />
{% if product %}
<!-- Colorbox for image galleries -->
<link rel="stylesheet" href="{{ STATIC_URL }}oscar/js/colorbox/colorbox.css" type="text/css" media="screen" charset="utf-8"/>
@@ -4,7 +4,7 @@
{{ field }}
{% else %}
{% if field.field.required %}
<label for="{{ field.auto_id }}" class="required">{{ field.label }}</label>
<label for="{{ field.auto_id }}" class="control-label required">{{ field.label }}</label>
{% else %}
{{ field.label_tag }}
{% endif %}