Merge branch 'master' of github.com:webnotes/erpnext
diff --git a/accounts/page/accounts_browser/accounts_browser.js b/accounts/page/accounts_browser/accounts_browser.js
index 78776ce..6a6d97e 100644
--- a/accounts/page/accounts_browser/accounts_browser.js
+++ b/accounts/page/accounts_browser/accounts_browser.js
@@ -22,7 +22,8 @@
pscript['onload_Accounts Browser'] = function(wrapper){
wrapper.appframe = new wn.ui.AppFrame($(wrapper).find('.appframe-area'));
- wrapper.appframe.add_module_tab("Accounts");
+ wrapper.appframe.add_home_breadcrumb()
+ wrapper.appframe.add_module_breadcrumb("Accounts")
if (wn.boot.profile.can_create.indexOf("Company") !== -1) {
wrapper.appframe.add_button('New Company', function() { newdoc('Company'); },
diff --git a/accounts/page/financial_analytics/financial_analytics.js b/accounts/page/financial_analytics/financial_analytics.js
index cf96258..f0bafdb 100644
--- a/accounts/page/financial_analytics/financial_analytics.js
+++ b/accounts/page/financial_analytics/financial_analytics.js
@@ -24,7 +24,9 @@
});
erpnext.trial_balance = new erpnext.FinancialAnalytics(wrapper, 'Financial Analytics');
- wrapper.appframe.add_module_tab("Accounts");
+ wrapper.appframe.add_home_breadcrumb()
+ wrapper.appframe.add_module_breadcrumb("Accounts")
+ wrapper.appframe.add_breadcrumb("icon-bar-chart")
}
erpnext.FinancialAnalytics = erpnext.AccountTreeGrid.extend({
diff --git a/accounts/page/general_ledger/general_ledger.js b/accounts/page/general_ledger/general_ledger.js
index d163021..cee749f 100644
--- a/accounts/page/general_ledger/general_ledger.js
+++ b/accounts/page/general_ledger/general_ledger.js
@@ -23,7 +23,9 @@
erpnext.general_ledger = new erpnext.GeneralLedger(wrapper);
- wrapper.appframe.add_module_tab("Accounts");
+ wrapper.appframe.add_home_breadcrumb()
+ wrapper.appframe.add_module_breadcrumb("Accounts")
+ wrapper.appframe.add_breadcrumb("icon-bar-chart")
}
diff --git a/accounts/page/trial_balance/trial_balance.js b/accounts/page/trial_balance/trial_balance.js
index 3d05d49..9ea7666 100644
--- a/accounts/page/trial_balance/trial_balance.js
+++ b/accounts/page/trial_balance/trial_balance.js
@@ -56,5 +56,7 @@
})
erpnext.trial_balance = new TrialBalance(wrapper, 'Trial Balance');
- wrapper.appframe.add_module_tab("Accounts");
+ wrapper.appframe.add_home_breadcrumb()
+ wrapper.appframe.add_module_breadcrumb("Accounts")
+ wrapper.appframe.add_breadcrumb("icon-bar-chart")
}
\ No newline at end of file
diff --git a/buying/page/purchase_analytics/purchase_analytics.js b/buying/page/purchase_analytics/purchase_analytics.js
index d1af656..6919ad3 100644
--- a/buying/page/purchase_analytics/purchase_analytics.js
+++ b/buying/page/purchase_analytics/purchase_analytics.js
@@ -23,7 +23,9 @@
new erpnext.PurchaseAnalytics(wrapper);
- wrapper.appframe.add_module_tab("Buying");
+ wrapper.appframe.add_home_breadcrumb()
+ wrapper.appframe.add_module_breadcrumb("Buying")
+ wrapper.appframe.add_breadcrumb("icon-bar-chart")
}
erpnext.PurchaseAnalytics = wn.views.TreeGridReport.extend({
diff --git a/home/page/attributions/attributions.css b/home/page/attributions/attributions.css
index e69de29..68ec516 100644
--- a/home/page/attributions/attributions.css
+++ b/home/page/attributions/attributions.css
@@ -0,0 +1,6 @@
+.layout-attributions table {
+ width: 70%;
+}
+.layout-attributions td:first-child {
+ width: 30%;
+}
\ No newline at end of file
diff --git a/home/page/attributions/attributions.html b/home/page/attributions/attributions.html
index ab879b7..37ee25b 100644
--- a/home/page/attributions/attributions.html
+++ b/home/page/attributions/attributions.html
@@ -1,83 +1,99 @@
-<div class="layout-wrapper">
- <a class="close" onclick="window.history.back();">×</a>
- <h1>Attributions</h1>
+<div class="layout-wrapper layout-wrapper-appframe layout-attributions">
+ <div class="layout-appframe"></div>
+ <div class="layout-main">
+ <h3>ERPNext is made using these Awesome Open Source Projects <i class="icon-heart" style="color: red"></i></h3>
<hr>
- <p><b>Source Code:</b> <a href="https://github.com/webnotes/erpnext">
- https://github.com/webnotes/erpnext</a></p>
- <p><b>Website:</b> <a href="https://erpnext.com">
- https://erpnext.com</a></p>
+ <table class="table table-bordered table-striped">
+ <tbody>
+ <tr>
+ <td><a href="https://github.com/webnotes/wnframework">wnframework</a></td>
+ <td>The full stack Python + Javascript web application framework on which ERPNext is built.</td>
+ </tr>
+ <tr>
+ <td><a href="https://github.com/webnotes/erpnext">ERPNext</a></td>
+ <td>Web based, Open Source ERP.</td>
+ </tr>
+ <tr>
+ <td><a href="http://en.wikipedia.org/wiki/Linux">Linux Operating System</a></td>
+ <td>The operating system that brought a revolution in Open Source software.</td>
+ </tr>
+ <tr>
+ <td><a href="http://www.mysql.com/">MySQL Database</a></td>
+ <td>The world's most popular Open Source Database.</td>
+ </tr>
+ <tr>
+ <td><a href="http://httpd.apache.org">Apache HTTPD web server</a></td>
+ <td>The Number One HTTP Server On The Internet.</td>
+ </tr>
+ <tr>
+ <td><a href="http://python.org/">Python Programming Language</a></td>
+ <td>The "batteries included" language that lets you write elegant code, quickly.<br><br>Python Libraries:
+ <ul>
+ <li>MySQLdb
+ <li>pytz
+ <li>jinja2
+ <li>markdown2
+ <li>dateutil
+ <li>termcolor
+ <li>python-memcached
+ </ul>
+ </td>
+ </tr>
+ <tr>
+ <td><a href="http://git-scm.com/">Git - Source Code Management</a></td>
+ <td>Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.<br><br>
+ Kindly hosted on the web by <a href="https://github.com">GitHub</a>: The service that makes it easier for individuals and teams to write better code, faster. </td>
+ </tr>
+ <tr>
+ <td><a href="http://jquery.com/">JQuery Javascript Libary</a></td>
+ <td>The write less, do more Javascript Library.</td>
+ </tr>
+ <tr>
+ <td><a href="http://jqueryui.com/">JQuery UI - User Interface Library</a></td>
+ <td>A curated set of user interface interactions, effects, widgets, and themes built on top of the jQuery JavaScript Library.</td>
+ </tr>
+ <tr>
+ <td><a href="http://twitter.github.com/bootstrap/index.html">Bootstrap CSS Framework</a></td>
+ <td>Sleek, intuitive, and powerful front-end framework for faster and easier web development.</td>
+ </tr>
+ <tr>
+ <td><a href="http://fortawesome.github.com/Font-Awesome/">Font Awesome - Icons</a></td>
+ <td>The iconic font designed for use with Twitter Bootstrap.</td>
+ </tr>
+ <tr>
+ <td><a href="http://www.tinymce.com/">TinyMCE Rich Text Editor</a></td>
+ <td>TinyMCE is a platform independent web based Javascript HTML WYSIWYG editor control released as Open Source under LGPL by Moxiecode Systems AB.</td>
+ </tr>
+ <tr>
+ <td><a href="https://github.com/mleibman/SlickGrid">SlickGrid</a></td>
+ <td>A lightning fast JavaScript grid/spreadsheet.</td>
+ </tr>
+ <tr>
+ <td><a href="http://www.flotcharts.org/">Flot Charting Library</a></td>
+ <td>Attractive JavaScript plotting for jQuery.</td>
+ </tr>
+ <tr>
+ <td><a href="http://ace.ajax.org/">Ace Code Editor</a></td>
+ <td>High Performance Code Editor for the web.</td>
+ </tr>
+ <tr>
+ <td><a href="http://taitems.github.com/jQuery.Gantt/">JQuery.Gantt - Gantt Charts</a></td>
+ <td>Draw Gantt charts with the famous jQuery ease of development.</td>
+ </tr>
+ <tr>
+ <td><a href="http://jscolor.com/">JSColor - Color Picker</a></td>
+ <td>HTML/Javascript Color Picker.</td>
+ </tr>
+ <tr>
+ <td><a href="https://github.com/dcneiner/Downloadify">Downloadify - Flash Download Widget</a></td>
+ <td>A tiny javascript + Flash library that enables the creation and download of text files without server interaction.</td>
+ </tr>
+ </tbody>
+ </table>
+
<hr>
- <p class="help">ERPNext is an Open Source project and is possible because of the work of
- thousands of software developers, companies and designers who have contributed their
- work to the community. We have tried to list as many projects as possible that are
- used by ERPNext, but this list may not be exhaustive.</p>
-
-
- <h4>Server</h4>
- <ul>
- <li>Linux (GNU)</li>
- <li>Apache HTTPD server (web server)</li>
- <li>MySQL (database, Percona build)</li>
- <li>Git (source code control via Github)</li>
- </ul>
-
- <h4>Programming Languages & Libraries</h4>
- <ul>
- <li><a href="http://python.org">Python</a></li>
- <ul>
- <li>Python-MySQL</li>
- <li>pytz (timezones)</li>
- <li>jinja2 (templating)</li>
- <li>markdown2 (markdown parser)</li>
- <li>jsmin (javascript minifier)</li>
- </ul>
- <li>Javascript</li>
- <ul>
- <li>JQuery</li>
- <li>JQuery UI (datepicker, sortable)</li>
- <li>TinyMCE - text editor</li>
- <li>Twitter Bootstrap</li>
- <li>Ace - code editor</li>
- <li>Slick Grid - report grid</li>
- <li>jQPlot - graphs</li>
- <li><a href="http://taitems.github.com/jQuery.Gantt/" target="_blank">
- JQuery.Gantt</a> - Gantt Chart</li>
- <li>JSON2 - JSON builder, parser</li>
- <li>JSColor - color picker</li>
- <li><a href="https://github.com/dcneiner/Downloadify" target="_blank">
- Downloadify</a> - Export CSV files from the browser</li>
- <li><a href="https://github.com/harvesthq/chosen" target="_blank">
- Chosen</a> - a searchable select dropdown</li>
- </ul>
- </ul>
-
- <h4>CSS Frameworks</h4>
- <ul>
- <li>Twitter Bootstrap</li>
- </ul>
-
- <h4>Icons</h4>
- <ul>
- <li>The Noun Project</li>
- <li>Font Awesome: http://fortawesome.github.com/Font-Awesome</li>
- </ul>
-
- <h4>Web Frameworks</h4>
- <ul>
- <li>wnframework</li>
- </ul>
-
- <h4>Web Browsers</h4>
- <ul>
- <li>Mozilla Firefox</li>
- <ul>
- <li>Firebug (debugger)</li>
- </ul>
- <li>Apple Safari</li>
- <li>Google Chorme</li>
- </ul>
- <hr>
- <h2>ERPNext License</h2>
+ <h3>ERPNext License: GNU/General Public License</h3>
+ <div class="well">
<p><b>ERPNext - Open Source, web based ERP</b></p>
<p>Copyright © 2008 onwards, Web Notes Technologies Pvt Ltd, India</p>
@@ -92,6 +108,9 @@
GNU General Public License for more details.</p>
<p>For complete license see <a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a></p>
+ </div>
+ <p class="alert">Note: A link to this page must be easily accessible and all other ERPNext branding must remain as it is.</p>
<hr>
<p>For more information please write to us at support@erpnext.com</p>
+ </div>
</div>
\ No newline at end of file
diff --git a/home/page/attributions/attributions.js b/home/page/attributions/attributions.js
index fc56784..29eb72f 100644
--- a/home/page/attributions/attributions.js
+++ b/home/page/attributions/attributions.js
@@ -1 +1,4 @@
-wn.pages['attributions'].onload = function(wrapper) { }
\ No newline at end of file
+wn.pages['attributions'].onload = function(wrapper) {
+ wrapper.appframe = new wn.ui.AppFrame($(wrapper).find(".layout-appframe"),
+ "Attributions");
+}
\ No newline at end of file
diff --git a/home/page/desktop/desktop.js b/home/page/desktop/desktop.js
index e154b3a..fc5f22b 100644
--- a/home/page/desktop/desktop.js
+++ b/home/page/desktop/desktop.js
@@ -32,7 +32,7 @@
}
// modules
- var modules_list = wn.user.get_default("_desktop_items") || wn.boot.modules_list;
+ var modules_list = wn.user.get_desktop_items();
$.each(modules_list, function(i, m) {
if(!in_list(['Setup', 'Core'], m) && wn.boot.profile.allow_modules.indexOf(m)!=-1)
add_icon(m);
@@ -75,11 +75,11 @@
}
add_circle('module-icon-messages', 'unread_messages', 'Unread Messages');
- add_circle('module-icon-support', 'open_support_tickets', 'Open Support Tickets');
+ add_circle('module-icon-support-home', 'open_support_tickets', 'Open Support Tickets');
add_circle('module-icon-todo', 'things_todo', 'Things To Do');
add_circle('module-icon-calendar', 'todays_events', 'Todays Events');
- add_circle('module-icon-project', 'open_tasks', 'Open Tasks');
- add_circle('module-icon-kb', 'unanswered_questions', 'Unanswered Questions');
+ add_circle('module-icon-projects-home', 'open_tasks', 'Open Tasks');
+ add_circle('module-icon-questions', 'unanswered_questions', 'Unanswered Questions');
erpnext.update_messages();
diff --git a/home/page/latest_updates/latest_updates.js b/home/page/latest_updates/latest_updates.js
index 47d08c7..539d64d 100644
--- a/home/page/latest_updates/latest_updates.js
+++ b/home/page/latest_updates/latest_updates.js
@@ -1,7 +1,7 @@
erpnext.updates = [
["21st December 2012", [
"Manufacturing: For Material Transfer against Production Order, \
- fetch quantity pending to be transferred for each item."
+ fetch quantity pending to be transferred for each item.",
"Desktop: New Icons and now sortable by dragging."
]],
["20th December 2012", [
diff --git a/hr/doctype/attendance/attendance.txt b/hr/doctype/attendance/attendance.txt
index 2ef65ac..bd8b2a3 100644
--- a/hr/doctype/attendance/attendance.txt
+++ b/hr/doctype/attendance/attendance.txt
@@ -2,9 +2,9 @@
{
"owner": "ashwini@webnotestech.com",
"docstatus": 0,
- "creation": "2012-07-03 13:30:41",
+ "creation": "2012-12-14 14:27:05",
"modified_by": "Administrator",
- "modified": "2012-12-13 14:23:24"
+ "modified": "2012-12-23 09:42:45"
},
{
"is_submittable": 1,
@@ -134,7 +134,7 @@
"doctype": "DocField",
"label": "Fiscal Year",
"oldfieldname": "fiscal_year",
- "options": "\n2012\n2013",
+ "options": "link:Fiscal Year",
"fieldname": "fiscal_year",
"fieldtype": "Select",
"reqd": 1,
@@ -146,7 +146,7 @@
"doctype": "DocField",
"label": "Company",
"oldfieldname": "company",
- "options": "\nAlpha\nBeta\nDemo Company",
+ "options": "link:Company",
"fieldname": "company",
"fieldtype": "Select",
"reqd": 1,
@@ -175,15 +175,15 @@
"permlevel": 1
},
{
+ "role": "System Manager",
+ "doctype": "DocPerm"
+ },
+ {
"role": "HR User",
"doctype": "DocPerm"
},
{
"role": "HR Manager",
"doctype": "DocPerm"
- },
- {
- "role": "System Manager",
- "doctype": "DocPerm"
}
]
\ No newline at end of file
diff --git a/projects/doctype/task/task.py b/projects/doctype/task/task.py
index c390806..83f8995 100644
--- a/projects/doctype/task/task.py
+++ b/projects/doctype/task/task.py
@@ -24,8 +24,6 @@
sql = webnotes.conn.sql
-
-
class DocType:
def __init__(self,doc,doclist=[]):
self.doc = doc
@@ -37,7 +35,6 @@
ret = {'customer': cust and cust[0][0] or '', 'customer_name': cust and cust[0][1] or ''}
return ret
- # TODO: Remove these? as the field customer doesn't exists
def get_customer_details(self):
cust = sql("select customer_name from `tabCustomer` where name=%s", self.doc.customer)
if cust:
diff --git a/projects/doctype/task/task.txt b/projects/doctype/task/task.txt
index a7ada4b..f47d2eb 100644
--- a/projects/doctype/task/task.txt
+++ b/projects/doctype/task/task.txt
@@ -2,27 +2,18 @@
{
"owner": "Administrator",
"docstatus": 0,
- "creation": "2012-09-18 11:05:48",
+ "creation": "2012-10-29 14:30:00",
"modified_by": "Administrator",
- "modified": "2012-10-29 14:24:55"
+ "modified": "2012-12-24 10:46:06"
},
{
- "section_style": "Tray",
- "allow_attach": 1,
- "tag_fields": "status",
- "module": "Projects",
- "server_code_error": " ",
- "allow_trash": 1,
- "doctype": "DocType",
- "document_type": "Master",
- "subject": "%(subject)s",
"autoname": "TASK.#####",
- "name": "__common__",
- "colour": "White:FFF",
- "_last_update": "1324880734",
- "show_in_menu": 0,
+ "allow_attach": 1,
+ "doctype": "DocType",
+ "module": "Projects",
"max_attachments": 5,
- "version": 1
+ "document_type": "Master",
+ "name": "__common__"
},
{
"name": "__common__",
@@ -74,13 +65,13 @@
"reqd": 0
},
{
- "search_index": 1,
+ "oldfieldtype": "Date",
"doctype": "DocField",
"label": "Expected End Date",
"oldfieldname": "exp_end_date",
"fieldname": "exp_end_date",
"fieldtype": "Date",
- "oldfieldtype": "Date",
+ "search_index": 1,
"reqd": 0,
"in_filter": 1
},
@@ -93,11 +84,9 @@
},
{
"oldfieldtype": "Link",
- "colour": "White:FFF",
"doctype": "DocField",
"label": "Project",
"oldfieldname": "project",
- "trigger": "Client",
"fieldname": "project",
"fieldtype": "Link",
"options": "Project"
@@ -105,23 +94,21 @@
{
"no_copy": 1,
"oldfieldtype": "Select",
- "colour": "White:FFF",
"doctype": "DocField",
"label": "Status",
"oldfieldname": "status",
- "trigger": "Client",
"fieldname": "status",
"fieldtype": "Select",
"options": "Open\nWorking\nPending Review\nClosed\nCancelled"
},
{
- "search_index": 1,
+ "oldfieldtype": "Select",
"doctype": "DocField",
"label": "Priority",
"oldfieldname": "priority",
"fieldname": "priority",
"fieldtype": "Select",
- "oldfieldtype": "Select",
+ "search_index": 1,
"reqd": 0,
"options": "Low\nMedium\nHigh\nUrgent",
"in_filter": 1
@@ -217,13 +204,12 @@
},
{
"doctype": "DocField",
+ "label": "More Details",
"fieldname": "more_details",
- "fieldtype": "Section Break",
- "label": "More Details"
+ "fieldtype": "Section Break"
},
{
"oldfieldtype": "Date",
- "colour": "White:FFF",
"doctype": "DocField",
"label": "Review Date",
"oldfieldname": "review_date",
@@ -234,7 +220,6 @@
},
{
"oldfieldtype": "Date",
- "colour": "White:FFF",
"doctype": "DocField",
"label": "Closing Date",
"oldfieldname": "closing_date",
@@ -260,7 +245,7 @@
"permlevel": 0
},
{
- "permlevel": 1,
- "doctype": "DocPerm"
+ "doctype": "DocPerm",
+ "permlevel": 1
}
]
\ No newline at end of file
diff --git a/public/js/toolbar.js b/public/js/toolbar.js
index 7ade8f8..f1eddb0 100644
--- a/public/js/toolbar.js
+++ b/public/js/toolbar.js
@@ -54,16 +54,11 @@
</ul>\
</li>').prependTo('.navbar .nav:first');
- // if no modules list then show all
- if(wn.boot.modules_list && typeof(wn.boot.modules_list) == 'string') {
- wn.boot.modules_list = JSON.parse(wn.boot.modules_list);
- }
- else
- wn.boot.modules_list = keys(wn.modules).sort();
+ var modules_list = wn.user.get_desktop_items();
// add to dropdown
- for(var i in wn.boot.modules_list) {
- var m = wn.boot.modules_list[i]
+ for(var i in modules_list) {
+ var m = modules_list[i]
if(m!='Setup' && wn.boot.profile.allow_modules.indexOf(m)!=-1 && wn.modules[m]) {
args = {
diff --git a/selling/page/sales_analytics/sales_analytics.js b/selling/page/sales_analytics/sales_analytics.js
index 6c47133..3d54203 100644
--- a/selling/page/sales_analytics/sales_analytics.js
+++ b/selling/page/sales_analytics/sales_analytics.js
@@ -22,7 +22,9 @@
});
new erpnext.SalesAnalytics(wrapper);
- wrapper.appframe.add_module_tab("Selling");
+ wrapper.appframe.add_home_breadcrumb()
+ wrapper.appframe.add_module_breadcrumb("Selling")
+ wrapper.appframe.add_breadcrumb("icon-bar-chart")
}
erpnext.SalesAnalytics = wn.views.TreeGridReport.extend({
diff --git a/selling/page/sales_browser/sales_browser.js b/selling/page/sales_browser/sales_browser.js
index 8b570d1..4622f24 100644
--- a/selling/page/sales_browser/sales_browser.js
+++ b/selling/page/sales_browser/sales_browser.js
@@ -16,7 +16,8 @@
pscript['onload_Sales Browser'] = function(wrapper){
wrapper.appframe = new wn.ui.AppFrame($(wrapper).find('.appframe-area'));
- wrapper.appframe.add_module_tab("Selling");
+ wrapper.appframe.add_home_breadcrumb()
+ wrapper.appframe.add_module_breadcrumb("Selling")
wrapper.appframe.add_button('Refresh', function() {
wrapper.make_tree();
diff --git a/stock/page/stock_ageing/stock_ageing.js b/stock/page/stock_ageing/stock_ageing.js
index 82ab0bc..c20fa92 100644
--- a/stock/page/stock_ageing/stock_ageing.js
+++ b/stock/page/stock_ageing/stock_ageing.js
@@ -24,7 +24,9 @@
new erpnext.StockAgeing(wrapper);
- wrapper.appframe.add_module_tab("Stock");
+ wrapper.appframe.add_home_breadcrumb()
+ wrapper.appframe.add_module_breadcrumb("Stock")
+ wrapper.appframe.add_breadcrumb("icon-bar-chart")
}
wn.require("app/js/stock_grid_report.js");
diff --git a/stock/page/stock_analytics/stock_analytics.js b/stock/page/stock_analytics/stock_analytics.js
index 8e98de8..3448035 100644
--- a/stock/page/stock_analytics/stock_analytics.js
+++ b/stock/page/stock_analytics/stock_analytics.js
@@ -23,7 +23,9 @@
new erpnext.StockAnalytics(wrapper);
- wrapper.appframe.add_module_tab("Stock");
+ wrapper.appframe.add_home_breadcrumb()
+ wrapper.appframe.add_module_breadcrumb("Stock")
+ wrapper.appframe.add_breadcrumb("icon-bar-chart")
}
wn.require("app/js/stock_grid_report.js");
diff --git a/stock/page/stock_ledger/stock_ledger.js b/stock/page/stock_ledger/stock_ledger.js
index f7427ab..3287bb0 100644
--- a/stock/page/stock_ledger/stock_ledger.js
+++ b/stock/page/stock_ledger/stock_ledger.js
@@ -23,7 +23,9 @@
new erpnext.StockLedger(wrapper);
- wrapper.appframe.add_module_tab("Stock");
+ wrapper.appframe.add_home_breadcrumb()
+ wrapper.appframe.add_module_breadcrumb("Stock")
+ wrapper.appframe.add_breadcrumb("icon-bar-chart")
}
wn.require("app/js/stock_grid_report.js");
diff --git a/website/css/website.css b/website/css/website.css
index 86f0414..112d29c 100644
--- a/website/css/website.css
+++ b/website/css/website.css
@@ -6,7 +6,9 @@
padding: 0px;
min-height: 400px;
margin: 40px auto;
- box-shadow: 1px 1px 3px 3px #ccc;
+ box-shadow: 1px 1px 3px 3px #bbb;
+ border-radius: 5px;
+ overflow: hidden;
}
.navbar-inner {
@@ -23,6 +25,7 @@
box-shadow: none;
-webkit-box-shadow: none;
-moz-box-shadow: none;
+ border-radius: 0px 0px 5px 5px;
}
.layout-main {
diff --git a/website/templates/css/login.css b/website/templates/css/login.css
index 3d64009..710f889 100644
--- a/website/templates/css/login.css
+++ b/website/templates/css/login.css
@@ -10,6 +10,7 @@
box-shadow: 1px 1px 3px 3px #ccc;
font-size: 12px;
min-height: 100px;
+ border-radius: 5px;
}
#login_wrapper h3 {
diff --git a/website/utils.py b/website/utils.py
index 079ad21..bac87ff 100644
--- a/website/utils.py
+++ b/website/utils.py
@@ -210,7 +210,7 @@
from `tabWebsite Product Category` t1, `tabItem Group` t2
where t1.item_group = t2.name
and ifnull(t2.show_in_website,0)=1 order by t1.idx""", as_dict=1)
- products_item = filter(lambda d: d.url.split(".")[0]=="products", top_items)[0]
+ products_item = filter(lambda d: d.url and d.url.split(".")[0]=="products", top_items)[0]
products_item.child_items = products
return {