Browse Source

Fixes in listing.js in usage of query

Allow field type "Long Text", with db definition as longtext
version-14
Anand Doshi 13 years ago
parent
commit
68b56a8d1f
4 changed files with 11 additions and 10 deletions
  1. +3
    -3
      js/core.min.js
  2. +6
    -5
      js/wn/ui/listing.js
  3. +1
    -1
      py/webnotes/model/db_schema.py
  4. +1
    -1
      py/webnotes/widgets/query_builder.py

+ 3
- 3
js/core.min.js View File

@@ -188,13 +188,13 @@ if(me.show_filters){this.add_button('Show Filters',function(){me.filter_list.sho
if(me.no_toolbar||me.hide_toolbar){me.$w.find('.list-toolbar-wrapper').toggle(false);}},make_new_doc:function(new_doctype){new_doc(new_doctype);},make_filters:function(){this.filter_list=new wn.ui.FilterList({listobj:this,$parent:this.$w.find('.list-filters').toggle(true),doctype:this.doctype,filter_fields:this.filter_fields});},clear:function(){this.data=[];this.$w.find('.result-list').empty();this.$w.find('.result').toggle(true);this.$w.find('.no-result').toggle(false);this.start=0;},run:function(){var me=this;var a0=arguments[0];var a1=arguments[1];if(a0&&typeof a0=='function')
this.onrun=a0;if(a0&&a0.callback)
this.onrun=a0.callback;if(!a1&&!(a0&&a0.append))
this.start=0;me.set_working(true);wn.call({method:this.opts.method||'webnotes.widgets.query_builder.runquery',args:this.get_call_args(a0),callback:function(r){me.set_working(false);me.render_results(r)},no_spinner:this.opts.no_loading});},set_working:function(flag){this.$w.find('.img-load').toggle(flag);},get_call_args:function(opts){if(!this.method){this.query=this.get_query?this.get_query():this.query;this.add_limits();var args={query_max:this.query_max,as_dict:1}
args.simple_query=this.query;}else{var args={limit_start:this.start,limit_page_length:this.page_length}}
this.start=0;me.set_working(true);wn.call({method:this.opts.method||'webnotes.widgets.query_builder.runquery',args:this.get_call_args(a0),callback:function(r){me.set_working(false);me.render_results(r)},no_spinner:this.opts.no_loading});},set_working:function(flag){this.$w.find('.img-load').toggle(flag);},get_call_args:function(opts){if(!this.method){var query=this.get_query?this.get_query():this.query;query=this.add_limits(query);var args={query_max:this.query_max,as_dict:1}
args.simple_query=query;}else{var args={limit_start:this.start,limit_page_length:this.page_length}}
if(this.args)
$.extend(args,this.args)
if(this.get_args){$.extend(args,this.get_args(opts));}
return args;},render_results:function(r){if(this.start==0)this.clear();this.$w.find('.btn-more').toggle(false);if(r.message)r.values=r.message;if(r.values&&r.values.length){this.data=this.data.concat(r.values);this.render_list(r.values);this.update_paging(r.values);}else{if(this.start==0){this.$w.find('.result').toggle(false);this.$w.find('.no-result').toggle(true);}}
if(this.onrun)this.onrun();if(this.callback)this.callback(r);},render_list:function(values){var m=Math.min(values.length,this.page_length);for(var i=0;i<m;i++){this.render_row(this.add_row(),values[i],this,i);}},update_paging:function(values){if(values.length>=this.page_length){this.$w.find('.btn-more').toggle(true);this.start+=this.page_length;}},add_row:function(){return $('<div class="list-row">').appendTo(this.$w.find('.result-list')).get(0);},refresh:function(){this.run();},add_limits:function(){this.query+=' LIMIT '+this.start+','+(this.page_length+1);}});
if(this.onrun)this.onrun();if(this.callback)this.callback(r);},render_list:function(values){var m=Math.min(values.length,this.page_length);for(var i=0;i<m;i++){this.render_row(this.add_row(),values[i],this,i);}},update_paging:function(values){if(values.length>=this.page_length){this.$w.find('.btn-more').toggle(true);this.start+=this.page_length;}},add_row:function(){return $('<div class="list-row">').appendTo(this.$w.find('.result-list')).get(0);},refresh:function(){this.run();},add_limits:function(query){query+=' LIMIT '+this.start+','+(this.page_length+1);return query}});
/*
* lib/js/wn/ui/filters.js
*/


+ 6
- 5
js/wn/ui/listing.js View File

@@ -238,13 +238,13 @@ wn.ui.Listing = Class.extend({
get_call_args: function(opts) {
// load query
if(!this.method) {
this.query = this.get_query ? this.get_query() : this.query;
this.add_limits();
var query = this.get_query ? this.get_query() : this.query;
query = this.add_limits(query);
var args={
query_max: this.query_max,
as_dict: 1
}
args.simple_query = this.query;
args.simple_query = query;
} else {
var args = {
limit_start: this.start,
@@ -304,7 +304,8 @@ wn.ui.Listing = Class.extend({
refresh: function() {
this.run();
},
add_limits: function() {
this.query += ' LIMIT ' + this.start + ',' + (this.page_length+1);
add_limits: function(query) {
query += ' LIMIT ' + this.start + ',' + (this.page_length+1);
return query
}
});

+ 1
- 1
py/webnotes/model/db_schema.py View File

@@ -35,7 +35,7 @@ type_map = {
,'float': ('decimal', '18,6')
,'check': ('int', '1')
,'small text': ('text', '')
,'long text': ('text', '')
,'long text': ('longtext', '')
,'code': ('text', '')
,'text editor': ('text', '')
,'date': ('date', '')


+ 1
- 1
py/webnotes/widgets/query_builder.py View File

@@ -115,7 +115,7 @@ def add_match_conditions(q, tl, ur, ud):
q = q[0] + condition_st + '(' + ' OR '.join(sl) + ') ' + condition_end + q[1]
else:
q = q + condition_st + '(' + ' OR '.join(sl) + ')'
return q

# execute server-side script from Search Criteria


Loading…
Cancel
Save