Procházet zdrojové kódy

defaults cleanup

version-14
Rushabh Mehta před 12 roky
rodič
revize
9849cb31e7
10 změnil soubory, kde provedl 47 přidání a 52 odebrání
  1. +24
    -0
      public/js/wn/defaults.js
  2. +1
    -25
      public/js/wn/misc/user.js
  3. +2
    -2
      public/js/wn/ui/toolbar/bookmarks.js
  4. +2
    -2
      public/js/wn/views/reportview.js
  5. +2
    -2
      webnotes/__init__.py
  6. +9
    -15
      webnotes/defaults.py
  7. +1
    -1
      webnotes/profile.py
  8. +4
    -3
      webnotes/tests/test_defaults.py
  9. +1
    -1
      webnotes/widgets/query_builder.py
  10. +1
    -1
      webnotes/widgets/reportview.py

+ 24
- 0
public/js/wn/defaults.js Zobrazit soubor

@@ -19,4 +19,28 @@ wn.defaults = {
if(!$.isArray(d)) d = [d];
return d;
},
set_default: function(key, value, callback) {
if(typeof value=="string")
value = JSON.stringify(value);
wn.boot.profile.defaults[key] = value;
wn.call({
method: "webnotes.client.set_default",
args: {
key: key,
value: value
},
callback: callback || function(r) {}
});
},
get_default: function(key) {
var value = wn.boot.profile.defaults[key];
if(value) {
try {
return JSON.parse(value)
} catch(e) {
return value;
}
}
},
}

+ 1
- 25
public/js/wn/misc/user.js Zobrazit soubor

@@ -40,33 +40,9 @@ $.extend(wn.user, {
return true;
}
},
set_default: function(key, value, callback) {
if(typeof value=="string")
value = JSON.stringify(value);
wn.boot.profile.defaults[key] = value;
wn.call({
method: "webnotes.client.set_default",
args: {
key: key,
value: value
},
callback: callback || function(r) {}
});
},
get_default: function(key) {
var value = wn.boot.profile.defaults[key];
if(value) {
try {
return JSON.parse(value)
} catch(e) {
return value;
}
}
},
get_desktop_items: function() {
// get user sequence preference
var user_list = wn.user.get_default("_desktop_items");
var user_list = wn.defaults.get_default("_desktop_items");
if(user_list && user_list.length)
var modules_list = user_list;



+ 2
- 2
public/js/wn/ui/toolbar/bookmarks.js Zobrazit soubor

@@ -20,7 +20,7 @@ wn.ui.toolbar.Bookmarks = Class.extend({
setup: function() {
var me = this;

this.bookmarks = wn.user.get_default("_bookmarks") || [];
this.bookmarks = wn.defaults.get_default("_bookmarks") || [];
for(var i=this.bookmarks.length-1; i>=0; i--) {
var bookmark = this.bookmarks[i];
this.add_item(bookmark.route, bookmark.title)
@@ -72,7 +72,7 @@ wn.ui.toolbar.Bookmarks = Class.extend({
return wn.utils.filter_dict(this.bookmarks, {"route": route}).length;
},
save: function() {
wn.user.set_default("_bookmarks", this.bookmarks);
wn.defaults.set_default("_bookmarks", this.bookmarks);
},
remove: function(route) {
this.bookmarks = $.map(this.bookmarks, function(d) {


+ 2
- 2
public/js/wn/views/reportview.js Zobrazit soubor

@@ -98,7 +98,7 @@ wn.views.ReportView = wn.ui.Listing.extend({

set_init_columns: function() {
// pre-select mandatory columns
var columns = wn.user.get_default("_list_settings:" + this.doctype);
var columns = wn.defaults.get_default("_list_settings:" + this.doctype);
if(!columns) {
var columns = [['name', this.doctype],];
$.each(wn.meta.docfield_list[this.doctype], function(i, df) {
@@ -465,7 +465,7 @@ wn.ui.ColumnPicker = Class.extend({
columns.push([$selected.attr('fieldname'),
$selected.attr('table')]);
});
wn.user.set_default("_list_settings:" + me.doctype, columns);
wn.defaults.set_default("_list_settings:" + me.doctype, columns);
me.list.columns = columns;
me.list.run();
});


+ 2
- 2
webnotes/__init__.py Zobrazit soubor

@@ -258,7 +258,7 @@ def get_roles(user=None, with_standard=True):

def has_permission(doctype, ptype="read", doc=None):
"""check if user has permission"""
from webnotes.defaults import get_user_defaults
from webnotes.defaults import get_user_default_as_list
if session.user=="Administrator":
return True
if conn.get_value("DocType", doctype, "istable"):
@@ -280,7 +280,7 @@ def has_permission(doctype, ptype="read", doc=None):
keys = [p.match, p.match]
if doc.fields.get(keys[0],"[No Value]") \
in get_user_defaults(keys[1], session.user):
in get_user_default_as_list(keys[1]):
return True
else:
match_failed[keys[0]] = doc.fields.get(keys[0],"[No Value]")


+ 9
- 15
webnotes/defaults.py Zobrazit soubor

@@ -12,21 +12,18 @@ def add_user_default(key, value, user=None):

def get_user_default(key, user=None):
d = get_defaults(user or webnotes.session.user).get(key, None)
if d is None:
d = get_global_default(key)
return isinstance(d, list) and d[0] or d

def get_user_defaults(key, user=None):
def get_user_default_as_list(key, user=None):
d = get_defaults(user or webnotes.session.user).get(key, None)
if d is None:
d = get_global_defaults(key)
return isinstance(d, basestring) and [d] or d
def get_all_user_defaults(user=None):
userd = get_defaults(user or webnotes.session.user)
globald = get_defaults()
def get_defaults(user=None):
userd = get_defaults_for(user or webnotes.session.user)
globald = get_defaults_for()
globald.update(userd)
return globald

def clear_user_default(key, user=None):
@@ -44,10 +41,6 @@ def get_global_default(key):
d = get_defaults().get(key, None)
return isinstance(d, list) and d[0] or d
def get_global_defaults(key):
d = get_defaults().get(key, None)
return isinstance(d, basestring) and [d] or d
# Common

def set_default(key, value, parent):
@@ -98,7 +91,7 @@ def clear_default(key=None, value=None, parent=None, name=None):
webnotes.conn.sql("""delete from tabDefaultValue where %s""" % " and ".join(conditions), values)
clear_cache()
def get_defaults(parent="Control Panel"):
def get_defaults_for(parent="Control Panel"):
"""get all defaults"""
defaults = webnotes.cache().get_value("__defaults:" + parent)
if not defaults:
@@ -109,9 +102,10 @@ def get_defaults(parent="Control Panel"):
for d in res:
if d.defkey in defaults:
# listify
if isinstance(defaults[d.defkey], basestring):
if isinstance(defaults[d.defkey], basestring) and defaults[d.defkey] != d.defvalue:
defaults[d.defkey] = [defaults[d.defkey]]
defaults[d.defkey].append(d.defvalue)
if d.defvalue not in defaults[d.defkey]:
defaults[d.defkey].append(d.defvalue)
else:
defaults[d.defkey] = d.defvalue



+ 1
- 1
webnotes/profile.py Zobrazit soubor

@@ -133,7 +133,7 @@ class Profile:

def get_defaults(self):
import webnotes.defaults
self.defaults = webnotes.defaults.get_all_user_defaults(self.name)
self.defaults = webnotes.defaults.get_defaults(self.name)
return self.defaults
# update recent documents


+ 4
- 3
webnotes/tests/test_defaults.py Zobrazit soubor

@@ -12,18 +12,19 @@ class TestDefaults(unittest.TestCase):

add_global_default("key1", "value3")
self.assertEquals(get_global_default("key1"), "value2")
self.assertEquals(get_global_defaults("key1"), ["value2", "value3"])
self.assertEquals(get_defaults()["key1"], ["value2", "value3"])
self.assertEquals(get_user_default_as_list("key1"), ["value2", "value3"])

def test_user(self):
set_user_default("key1", "2value1")
self.assertEquals(get_user_defaults("key1"), ["2value1"])
self.assertEquals(get_user_default_as_list("key1"), ["2value1"])

set_user_default("key1", "2value2")
self.assertEquals(get_user_default("key1"), "2value2")

add_user_default("key1", "3value3")
self.assertEquals(get_user_default("key1"), "2value2")
self.assertEquals(get_user_defaults("key1"), ["2value2", "3value3"])
self.assertEquals(get_user_default_as_list("key1"), ["2value2", "3value3"])
def test_global_if_not_user(self):
set_global_default("key4", "value4")


+ 1
- 1
webnotes/widgets/query_builder.py Zobrazit soubor

@@ -103,7 +103,7 @@ def getmatchcondition(dt, ur):
for r in res:
if r[0] in ur: # role applicable to user
if r[1]:
for d in webnotes.defaults.get_user_defaults(default_key) or ["** No Match **"]:
for d in webnotes.defaults.get_user_default_as_list(default_key) or ["** No Match **"]:
cond.append('`tab%s`.`%s`="%s"' % (dt, r[1], d))
else:
return ''


+ 1
- 1
webnotes/widgets/reportview.py Zobrazit soubor

@@ -220,7 +220,7 @@ def build_match_conditions(data):
else:
default_key = document_key = d.match
for v in webnotes.defaults.get_user_defaults(default_key) or ["** No Match **"]:
for v in webnotes.defaults.get_user_default_as_list(default_key) or ["** No Match **"]:
match_conditions.append('`tab%s`.%s="%s"' % (data['doctype'],
document_key, v))


Načítá se…
Zrušit
Uložit