Procházet zdrojové kódy

[link selector] fixes

version-14
Rushabh Mehta před 12 roky
rodič
revize
b3cbabf0a2
4 změnil soubory, kde provedl 18 přidání a 12 odebrání
  1. +2
    -0
      public/js/wn/form/control.js
  2. +2
    -1
      public/js/wn/form/link_selector.js
  3. +4
    -3
      webnotes/widgets/reportview.py
  4. +10
    -8
      webnotes/widgets/search.py

+ 2
- 0
public/js/wn/form/control.js Zobrazit soubor

@@ -604,6 +604,7 @@ wn.ui.form.ControlLink = wn.ui.form.ControlData.extend({
me.set_custom_query(args);

wn.call({
type: "GET",
method:'webnotes.widgets.search.search_link',
args: args,
callback: function(r) {
@@ -660,6 +661,7 @@ wn.ui.form.ControlLink = wn.ui.form.ControlData.extend({

wn.call({
method:'webnotes.widgets.form.utils.validate_link',
type: "GET",
args: {
'value': value,
'options':me.df.options,


+ 2
- 1
public/js/wn/form/link_selector.js Zobrazit soubor

@@ -60,7 +60,7 @@ wn.ui.form.LinkSelector = Class.extend({
search: function(btn) {
var args = {
txt: this.dialog.fields_dict.txt.get_value(),
doctype: this.target.doctype,
doctype: this.doctype,
searchfield: this.dialog.fields_dict.search_field.get_value()
},
me = this;
@@ -69,6 +69,7 @@ wn.ui.form.LinkSelector = Class.extend({
wn.call({
method: "webnotes.widgets.search.search_widget",
type: "GET",
args: args,
callback: function(r) {
var parent = me.dialog.fields_dict.results.$wrapper;


+ 4
- 3
webnotes/widgets/reportview.py Zobrazit soubor

@@ -49,11 +49,12 @@ def get_form_params():
return data
def execute(doctype, query=None, filters=None, fields=None, docstatus=None,
group_by=None, order_by=None, limit_start=0, limit_page_length=None):
group_by=None, order_by=None, limit_start=0, limit_page_length=None,
as_list=False, debug=False):

if query:
return run_custom_query(query)
if not filters: filters = []
if not docstatus: docstatus = []

@@ -63,7 +64,7 @@ def execute(doctype, query=None, filters=None, fields=None, docstatus=None,
query = """select %(fields)s from %(tables)s where %(conditions)s
%(group_by)s order by %(order_by)s %(limit)s""" % args
return webnotes.conn.sql(query, as_dict=1)
return webnotes.conn.sql(query, as_dict=not as_list, debug=debug)
def prepare_args(doctype, filters, fields, docstatus, group_by, order_by):
global tables


+ 10
- 8
webnotes/widgets/search.py Zobrazit soubor

@@ -41,6 +41,8 @@ def search_widget(doctype, txt, query=None, searchfield="name", start=0,
if isinstance(filters, basestring):
import json
filters = json.loads(filters)
if isinstance(filters, dict):
filters = map(lambda f: [doctype, f[0], "=", f[1]], filters.items())

meta = webnotes.get_doctype(doctype)
@@ -60,24 +62,24 @@ def search_widget(doctype, txt, query=None, searchfield="name", start=0,
else:
# build from doctype
if txt:
filters.append([searchfield, "like", txt])
if meta.get({"parent":dt, "fieldname":"enabled", "fieldtype":"Check"}):
filters.append(["ifnull(enabled, 0)", "=", 1])
if meta.get({"parent":dt, "fieldname":"disabled", "fieldtype":"Check"}):
filters.append(["ifnull(disabled, 0)", "!=", 1])
filters.append([doctype, searchfield, "like", txt + "%"])
if meta.get({"parent":doctype, "fieldname":"enabled", "fieldtype":"Check"}):
filters.append([doctype, "enabled", "=", 1])
if meta.get({"parent":doctype, "fieldname":"disabled", "fieldtype":"Check"}):
filters.append([doctype, "disabled", "!=", 1])

webnotes.response["values"] = webnotes.widgets.reportview.execute(doctype,
filters=filters, fields = get_std_fields_list(meta, searchfield),
limit_start = start, limit_page_length=page_len)
limit_start = start, limit_page_length=page_len, as_list=True, debug=True)

def get_std_fields_list(meta, key):
# get additional search fields
sflist = meta.doc.search_fields and meta.doc.search_fields.split(",") or []
sflist = meta[0].search_fields and meta[0].search_fields.split(",") or []
sflist = ['name'] + sflist
if not key in sflist:
sflist = sflist + [key]

return ['`tab%s`.`%s`' % (meta.doc.name, f.strip()) for f in sflist]
return ['`tab%s`.`%s`' % (meta[0].name, f.strip()) for f in sflist]

def build_for_autosuggest(res):
results = []


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