@@ -134,19 +134,17 @@ class Profile: | |||||
self.all_read += self.can_read | self.all_read += self.can_read | ||||
def get_defaults(self): | def get_defaults(self): | ||||
""" | |||||
Get the user's default values based on user and role profile | |||||
""" | |||||
roles = self.get_roles() + [self.name] | |||||
res = webnotes.conn.sql("""select defkey, defvalue | |||||
from `tabDefaultValue` where parent in ("%s") order by idx""" % '", "'.join(roles)) | |||||
if not self.defaults: | |||||
roles = self.get_roles() + [self.name] | |||||
res = webnotes.conn.sql("""select defkey, defvalue | |||||
from `tabDefaultValue` where parent in ("%s") order by idx""" % '", "'.join(roles)) | |||||
self.defaults = {'owner': [self.name], "user": [self.name]} | |||||
self.defaults = {'owner': [self.name], "user": [self.name]} | |||||
for rec in res: | |||||
if not self.defaults.has_key(rec[0]): | |||||
self.defaults[rec[0]] = [] | |||||
self.defaults[rec[0]].append(rec[1] or '') | |||||
for rec in res: | |||||
if not self.defaults.has_key(rec[0]): | |||||
self.defaults[rec[0]] = [] | |||||
self.defaults[rec[0]].append(rec[1] or '') | |||||
return self.defaults | return self.defaults | ||||
@@ -299,7 +299,7 @@ def runquery(q='', ret=0, from_export=0): | |||||
if qm.split()[0].lower() != 'select': | if qm.split()[0].lower() != 'select': | ||||
raise Exception, 'Query (Max) must be a SELECT' | raise Exception, 'Query (Max) must be a SELECT' | ||||
if not webnotes.form_dict.get('simple_query'): | if not webnotes.form_dict.get('simple_query'): | ||||
qm = add_match_conditions(qm, tl, webnotes.user.get_roles(), webnotes.user.defaults) | |||||
qm = add_match_conditions(qm, tl, webnotes.user.get_roles(), webnotes.user.get_defaults()) | |||||
out['n_values'] = webnotes.utils.cint(sql(qm)[0][0]) | out['n_values'] = webnotes.utils.cint(sql(qm)[0][0]) | ||||
@@ -198,7 +198,7 @@ def build_match_conditions(data, conditions): | |||||
else: | else: | ||||
default_key = document_key = d.match | default_key = document_key = d.match | ||||
for v in webnotes.user.defaults.get(default_key, ['**No Match**']): | |||||
for v in webnotes.user.get_defaults().get(default_key, ['**No Match**']): | |||||
match_conditions.append('`tab%s`.%s="%s"' % (data['doctype'], | match_conditions.append('`tab%s`.%s="%s"' % (data['doctype'], | ||||
document_key, v)) | document_key, v)) | ||||