diff --git a/erpnext/home/page/desktop/__init__.py b/erpnext/home/page/desktop/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/erpnext/home/page/desktop/desktop.css b/erpnext/home/page/desktop/desktop.css new file mode 100644 index 00000000000..4a8d128bee8 --- /dev/null +++ b/erpnext/home/page/desktop/desktop.css @@ -0,0 +1,95 @@ +/* Sprite CSS */ +.sprite-account{ background-position: 0 0; width: 32px; height: 40px; } +.sprite-selling{ background-position: 0 -90px; width: 40px; height: 40px; } +.sprite-calendar{ background-position: 0 -180px; width: 35px; height: 40px; } +.sprite-dashboard{ background-position: 0 -270px; width: 40px; height: 29px; } +.sprite-feed{ background-position: 0 -349px; width: 32px; height: 40px; } +.sprite-hr{ background-position: 0 -439px; width: 40px; height: 32px; } +.sprite-kb{ background-position: 0 -521px; width: 24px; height: 39px; } +.sprite-messages{ background-position: 0 -610px; width: 40px; height: 26px; } +.sprite-production{ background-position: 0 -686px; width: 40px; height: 33px; } +.sprite-project{ background-position: 0 -769px; width: 40px; height: 22px; } +.sprite-report{ background-position: 0 -841px; width: 29px; height: 40px; } +.sprite-buying{ background-position: 0 -931px; width: 34px; height: 40px; } +.sprite-setting{ background-position: 0 -1021px; width: 37px; height: 40px; } +.sprite-stock{ background-position: 0 -1111px; width: 34px; height: 39px; } +.sprite-support{ background-position: 0 -1200px; width: 40px; height: 40px; } +.sprite-todo{ background-position: 0 -1290px; width: 40px; height: 34px; } +.sprite-website{ background-position: 0 -1374px; width: 40px; height: 40px; } + +.sprite-image { background-image: url("images/sprite-desktop.png"); } + + +.sprite-account{ margin-top: 8px; margin-left: 12px; } +.sprite-selling{ margin-top: 8px; margin-left: 8px; } +.sprite-stock{ margin-top: 8px; margin-left: 8px; } +.sprite-buying{ margin-top: 8px; margin-left: 12px; } +.sprite-support{ margin-top: 8px; margin-left: 8px; } +.sprite-hr{ margin-top: 12px; margin-left: 8px; } +.sprite-project{ margin-top: 16px; margin-left: 8px; } +.sprite-production{ margin-top: 10px; margin-left: 8px; } +.sprite-website{ margin-top: 8px; margin-left: 8px; } +.sprite-setting{ margin-top: 8px; margin-left: 8px; } +.sprite-dashboard{ margin-top: 14px; margin-left: 8px; } +.sprite-report{ margin-top: 8px; margin-left: 14px; } + +.sprite-messages{ margin-top: 14px; margin-left: 8px; } +.sprite-todo{ margin-top: 10px; margin-left: 10px; } +.sprite-calendar{ margin-top: 8px; margin-left: 10px; } +.sprite-kb{ margin-top: 8px; margin-left: 16px; } +.sprite-feed{ margin-top: 8px; margin-left: 14px; } + +.case-border { + border-radius: 10px; + width: 56px; + height: 56px; + border: 4px solid white; + box-shadow: 0 0 10px 1px black; + margin: auto; +} + +.case-wrapper { + margin: 24px; + float: left; + width: 100px; + height: 100px; +} + +.case-label { + color: white; + font-size: 14px; + padding-top: 10px; + text-align: center; + text-shadow: 1px 1px 5px #000, 3px 3px 5px #000; +} + +/* Hover and click effects */ +.case-border:hover { + animation: hover-effect 0.5s; + -moz-animation: hover-effect 0.5s; /* Firefox */ + -webkit-animation: hover-effect 0.5s; /* Safari and Chrome */ + box-shadow: 0 0 2px 0 black, 0 0 10px 1px white; +} + +.case-border:active, .case-border:focus { + box-shadow: 0 0 5px 2px black; +} + +@keyframes hover-effect +{ + from {box-shadow: 0 0 10px 1px black} + to {box-shadow: 0 0 2px 0 black, 0 0 10px 1px white;} +} + +@-moz-keyframes hover-effect /* Firefox */ +{ + from {box-shadow: 0 0 10px 1px black} + to {box-shadow: 0 0 2px 0 black, 0 0 10px 1px white;} +} + +@-webkit-keyframes hover-effect /* Safari and Chrome */ +{ + from {box-shadow: 0 0 10px 1px black} + to {box-shadow: 0 0 2px 0 black, 0 0 10px 1px white;} +} + diff --git a/erpnext/home/page/desktop/desktop.html b/erpnext/home/page/desktop/desktop.html new file mode 100644 index 00000000000..52af1c59356 --- /dev/null +++ b/erpnext/home/page/desktop/desktop.html @@ -0,0 +1,6 @@ +
+
+
+
+
diff --git a/erpnext/home/page/desktop/desktop.js b/erpnext/home/page/desktop/desktop.js new file mode 100644 index 00000000000..2595869e9aa --- /dev/null +++ b/erpnext/home/page/desktop/desktop.js @@ -0,0 +1,79 @@ +wn.provide('erpnext.desktop'); + +erpnext.desktop.gradient = "" + +erpnext.desktop.refresh = function() { + erpnext.desktop.add_classes(); + erpnext.desktop.render(); +} + +erpnext.desktop.add_classes = function() { + var classes = [ + { name: 'red', start: '#A90329', middle: '#8F0222', end: '#6D0019' }, + { name: 'brown', start: '#723e02', middle: '#633501', end: '#4a2700' }, + { name: 'green', start: '#4b5602', middle: '#3f4901', end: '#313800' }, + { name: 'blue', start: '#026584', middle: '#025770', end: '#004256' }, + { name: 'yellow', start: '#be7902', middle: '#a66a02', end: '#865500' }, + { name: 'purple', start: '#4d017d', middle: '#410169', end: '#310050' }, + { name: 'ocean', start: '#02a47e', middle: '#018d6c', end: '#006a51' }, + { name: 'pink', start: '#a40281', middle: '#8d016e', end: '#6a0053' }, + { name: 'grey', start: '#545454', middle: '#484848', end: '#363636' }, + { name: 'dark-red', start: '#68021a', middle: '#590116', end: '#440010' }, + { name: 'leaf-green', start: '#b0a400', middle: '#968c00', end: '#726a00' }, + { name: 'dark-blue', start: '#023bae', middle: '#013295', end: '#002672' }, + { name: 'bright-green', start: '#03ad1f', middle: '#02941a', end: '#007213' }, + { name: 'bright-yellow', start: '#ffd65e', middle: '#febf04', end: '#ed9017' }, + ]; + $.each(classes, function(i, v) { + $(repl(erpnext.desktop.gradient, v)).appendTo('head'); + }); +} + +erpnext.desktop.render = function() { + var icons = [ + { gradient: 'brown', sprite: 'feed', label: 'Activity', link: '#!Event Updates' }, + { gradient: 'blue', sprite: 'account', label: 'Accounts', link: '#!accounts-home' }, + { gradient: 'green', sprite: 'selling', label: 'Selling', link: '#!selling-home' }, + { gradient: 'yellow', sprite: 'stock', label: 'Stock', link: '#!stock-home' }, + { gradient: 'red', sprite: 'buying', label: 'Buying', link: '#!buying-home' }, + { gradient: 'purple', sprite: 'support', label: 'Support', link: '#!support-home' }, + { gradient: 'ocean', sprite: 'hr', label: 'Human
Resources', link: '#!hr-home' }, + { gradient: 'red', sprite: 'project', label: 'Projects', link: '#!projects-home' }, + { gradient: 'dark-red', sprite: 'production', label: 'Production', link: '#!production-home' }, + { gradient: 'leaf-green', sprite: 'website', label: 'Website', link: '#!website-home' }, + { gradient: 'grey', sprite: 'setting', label: 'Settings', link: '#!Setup' }, + { gradient: 'bright-green', sprite: 'dashboard', label: 'Dashboard', link: '#!dashboard' }, + //{ gradient: 'dark-blue', sprite: 'report', label: 'Report' }, + { gradient: 'pink', sprite: 'messages', label: 'Messages', link: '#!messages' }, + { gradient: 'bright-yellow', sprite: 'todo', label: 'To Do', link: '#!todo' }, + { gradient: 'red', sprite: 'calendar', label: 'Calendar', link: '#!calendar' }, + { gradient: 'red', sprite: 'kb', label: 'Knowledge
Base', link: '#!questions' }, + ] + + $.each(icons, function(i, v) { + var icon_case = $('#icon-grid').append(repl('\ +
\ +
\ +
\ +
\ +
%(label)s
\ +
', v)); + }); + +} + +pscript.onload_desktop = function() { + // load desktop + erpnext.desktop.refresh(); +} + diff --git a/erpnext/home/page/desktop/desktop.txt b/erpnext/home/page/desktop/desktop.txt new file mode 100644 index 00000000000..f1918b9a843 --- /dev/null +++ b/erpnext/home/page/desktop/desktop.txt @@ -0,0 +1,28 @@ +# Page, desktop +[ + + # These values are common in all dictionaries + { + 'creation': '2012-02-24 11:37:43', + 'docstatus': 0, + 'modified': '2012-02-24 11:37:43', + 'modified_by': u'Administrator', + 'owner': u'Administrator' + }, + + # These values are common for all Page + { + 'doctype': 'Page', + 'module': u'Home', + 'name': '__common__', + 'page_name': u'desktop', + 'standard': u'Yes', + 'title': u'Desktop' + }, + + # Page, desktop + { + 'doctype': 'Page', + 'name': u'desktop' + } +] \ No newline at end of file diff --git a/erpnext/patches/jan_mar_2012/navupdate.py b/erpnext/patches/jan_mar_2012/navupdate.py index 7d8665002e2..483ba2a967b 100644 --- a/erpnext/patches/jan_mar_2012/navupdate.py +++ b/erpnext/patches/jan_mar_2012/navupdate.py @@ -27,10 +27,11 @@ def execute(): reload_doc('production', 'page', 'production_home') reload_doc('projects', 'page', 'projects_home') reload_doc('website', 'page', 'website_home') + reload_doc('home', 'page', 'desktop') webnotes.conn.commit() webnotes.conn.sql("""create table __SchedulerLog ( `timestamp` timestamp, method varchar(200), error text - ) engine=MyISAM""") \ No newline at end of file + ) engine=MyISAM""") diff --git a/images/sprite-desktop.png b/images/sprite-desktop.png new file mode 100644 index 00000000000..cb8fc6ecfef Binary files /dev/null and b/images/sprite-desktop.png differ