Merge branch '1209' of github.com:webnotes/erpnext into 1209
diff --git a/home/page/profile_settings/profile_settings.js b/home/page/profile_settings/profile_settings.js
index e9cd81f..a0bb49a 100644
--- a/home/page/profile_settings/profile_settings.js
+++ b/home/page/profile_settings/profile_settings.js
@@ -27,7 +27,18 @@
this.wrapper.appframe = new wn.ui.AppFrame($(this.wrapper).find('.layout-appframe'), 'Profile Settings');
this.wrapper.appframe.add_button('Change Password', this.change_password);
this.wrapper.appframe.add_button('Change Background', this.change_background);
-
+ this.wrapper.appframe.add_label("Set Theme:");
+ this.wrapper.appframe.add_select("Theme",
+ ["Default", "Desert", "Sky", "Tropic", "Snow", "Sun"]).change(function() {
+ erpnext.set_theme($(this).val().toLowerCase());
+ }).change(function() {
+ wn.call({
+ module: "home",
+ page: "profile_settings",
+ method: "set_user_theme",
+ args: {theme: $(this).val() }
+ })
+ });
this.tab = make_table($a($(this.wrapper).find('.layout-main').get(0), 'div', '', {marginTop:'19px'}),
1, 2, '90%', ['50%', '50%'], {padding:'11px'})
this.img = $a($td(this.tab, 0, 0), 'img', '', {width: '120px', maxHeight:'200px'});
diff --git a/home/page/profile_settings/profile_settings.py b/home/page/profile_settings/profile_settings.py
index 0de424f..4aed1ce 100644
--- a/home/page/profile_settings/profile_settings.py
+++ b/home/page/profile_settings/profile_settings.py
@@ -110,3 +110,7 @@
webnotes.conn.set_value('Profile', user, 'background_image', fid)
return fid
+
+@webnotes.whitelist()
+def set_user_theme():
+ webnotes.conn.set_default("theme", webnotes.form_dict.theme, webnotes.session.user)
diff --git a/public/build.json b/public/build.json
index 8764bec..7ff8ac0 100644
--- a/public/build.json
+++ b/public/build.json
@@ -1,20 +1,20 @@
{
"public/css/all-web.css": [
- "app/startup/startup.css",
+ "app/public/js/startup.css",
"app/website/css/website.css"
],
"public/css/all-app.css": [
- "app/startup/startup.css"
+ "app/public/js/startup.css"
],
"public/js/all-web.js": [
- "app/startup/startup.js",
+ "app/public/js/startup.js",
"app/public/js/conf.js"
],
"public/js/all-app.js": [
- "app/startup/startup.js",
- "app/startup/js/modules.js",
- "app/startup/js/toolbar.js",
- "app/startup/js/feature_setup.js",
+ "app/public/js/startup.js",
+ "app/public/js/modules.js",
+ "app/public/js/toolbar.js",
+ "app/public/js/feature_setup.js",
"app/public/js/conf.js"
],
}
\ No newline at end of file
diff --git a/startup/js/feature_setup.js b/public/js/feature_setup.js
similarity index 100%
rename from startup/js/feature_setup.js
rename to public/js/feature_setup.js
diff --git a/startup/js/modules.js b/public/js/modules.js
similarity index 100%
rename from startup/js/modules.js
rename to public/js/modules.js
diff --git a/startup/startup.css b/public/js/startup.css
similarity index 100%
rename from startup/startup.css
rename to public/js/startup.css
diff --git a/startup/startup.js b/public/js/startup.js
similarity index 85%
rename from startup/startup.js
rename to public/js/startup.js
index 73938db..0b43183 100644
--- a/startup/startup.js
+++ b/public/js/startup.js
@@ -58,6 +58,9 @@
if(wn.boot.user_background) {
erpnext.set_user_background(wn.boot.user_background);
}
+ if(wn.boot.profile.defaults.theme) {
+ erpnext.set_theme(wn.boot.profile.defaults.theme[0].toLowerCase());
+ }
// always allow apps
wn.boot.profile.allow_modules = wn.boot.profile.allow_modules.concat(
@@ -205,4 +208,48 @@
if(cur_frm)
cur_frm.save();
return false;
-});
\ No newline at end of file
+});
+
+// theme setter
+
+erpnext.themes = {
+ metal: {
+ sidebar: "#f2f2f2",
+ titlebar: "#dfdfdf",
+ toolbar: "#e9e9e9"
+ },
+ desert: {
+ sidebar: "#FFFDF7",
+ titlebar: "#DAD4C2",
+ toolbar: "#FAF6E9"
+ },
+ tropic: {
+ sidebar: "#FAFFF7",
+ toolbar: "#EEFAE9",
+ titlebar: "#D7ECD1"
+ },
+ sky: {
+ sidebar: "#F7FFFE",
+ toolbar: "#E9F9FA",
+ titlebar: "#D7F5F7"
+ },
+ snow: {
+ sidebar: "#fff",
+ titlebar: "#fff",
+ toolbar: "#fff"
+ },
+ sun: {
+ sidebar: "#FFFFEF",
+ titlebar: "lightYellow",
+ toolbar: "#FFFDCA"
+ }
+}
+
+erpnext.set_theme = function(theme) {
+ wn.dom.set_style(repl(".layout-wrapper-background { \
+ background-color: %(sidebar)s !important; }\
+ .appframe-toolbar { \
+ background-color: %(toolbar)s !important; }\
+ .appframe-titlebar { \
+ background-color: %(titlebar)s !important; }", erpnext.themes[theme]));
+}
\ No newline at end of file
diff --git a/public/js/themes.js b/public/js/themes.js
new file mode 100644
index 0000000..a60d3cf
--- /dev/null
+++ b/public/js/themes.js
@@ -0,0 +1,41 @@
+erpnext.themes = {
+ metal: {
+ sidebar: "#f2f2f2",
+ titlebar: "#dfdfdf",
+ toolbar: "#e9e9e9"
+ },
+ desert: {
+ sidebar: "#FFFDF7",
+ titlebar: "#DAD4C2",
+ toolbar: "#FAF6E9"
+ },
+ tropic: {
+ sidebar: "#FAFFF7",
+ toolbar: "#EEFAE9",
+ titlebar: "#D7ECD1"
+ },
+ sky: {
+ sidebar: "#F7FFFE",
+ toolbar: "#E9F9FA",
+ titlebar: "#D7F5F7"
+ },
+ snow: {
+ sidebar: "#fff",
+ titlebar: "#fff",
+ toolbar: "#fff"
+ },
+ sun: {
+ sidebar: "#FFFFEF",
+ titlebar: "lightYellow",
+ toolbar: "#FFFDCA"
+ }
+}
+
+erpnext.set_theme = function(theme) {
+ wn.dom.set_style(repl(".layout-wrapper-background { \
+ background-color: %(sidebar)s !important; }\
+ .appframe-toolbar { \
+ background-color: %(toolbar)s !important; }\
+ .appframe-titlebar { \
+ background-color: %(titlebar)s !important; }", erpnext.themes[theme]));
+}
\ No newline at end of file
diff --git a/startup/js/toolbar.js b/public/js/toolbar.js
similarity index 100%
rename from startup/js/toolbar.js
rename to public/js/toolbar.js