git://git.onelab.eu
/
unfold.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fixed bug: select columns all checked in filters, autocomplete based on query_all...
[unfold.git]
/
plugins
/
query_editor
/
__init__.py
diff --git
a/plugins/query_editor/__init__.py
b/plugins/query_editor/__init__.py
index
f5a334e
..
2d73053
100644
(file)
--- a/
plugins/query_editor/__init__.py
+++ b/
plugins/query_editor/__init__.py
@@
-2,7
+2,15
@@
from unfold.plugin import Plugin
from django.template.loader import render_to_string
from django.template.loader import render_to_string
+# XXX We need naming helpers in the python Plugin class also, used in template
+
class QueryEditor(Plugin):
class QueryEditor(Plugin):
+ def __init__ (self, query, query_all = None, **settings):
+ Plugin.__init__ (self, **settings)
+ self.query=query
+ self.query_uuid = query.query_uuid
+ self.query_all = query_all
+ self.query_all_uuid = query_all.query_uuid if query_all else None
def template_file(self):
return "query_editor.html"
def template_file(self):
return "query_editor.html"
@@
-10,31
+18,27
@@
class QueryEditor(Plugin):
def requirements (self):
reqs = {
'js_files' : [
def requirements (self):
reqs = {
'js_files' : [
+ # XXX datatables
'js/query_editor.js',
] ,
'css_files': [
'css/query_editor.css',
'js/query_editor.js',
] ,
'css_files': [
'css/query_editor.css',
- 'css/demo_page.css',
- 'css/demo_table.css',
+ 'css/jquery-ui.css',
]
}
return reqs
]
}
return reqs
- def json_settings_list (self):
- return ['plugin_uuid', 'domid', 'query_uuid']
-
def export_json_settings (self):
return True
def template_env(self, request):
fields = []
def export_json_settings (self):
return True
def template_env(self, request):
fields = []
+ #hidden_columns = self.hidden_columns
metadata = self.page.get_metadata()
md_fields = metadata.details_by_object('resource')
metadata = self.page.get_metadata()
md_fields = metadata.details_by_object('resource')
- print "METADATA FIELDS", md_fields
# XXX use django templating system here
for md_field in md_fields['column']:
# XXX use django templating system here
for md_field in md_fields['column']:
-
if md_field['type'] == 'string':
if 'allowed_values' in md_field:
allowed_values = md_field['allowed_values'].split(',')
if md_field['type'] == 'string':
if 'allowed_values' in md_field:
allowed_values = md_field['allowed_values'].split(',')
@@
-44,18
+48,32
@@
class QueryEditor(Plugin):
v_desc = v.split('-')
options.append(v_desc[0])
v_desc = v.split('-')
options.append(v_desc[0])
- env = {'options': options}
+ env = {
+ 'domid': self.domid,
+ 'options': options
+ }
filter_input = render_to_string('filter_input_string_values.html', env)
else:
filter_input = render_to_string('filter_input_string_values.html', env)
else:
- env = {'filter_id': "%s-filter-%s" % (self.domid, md_field['name'])}
+ env = {
+ 'domid': self.domid,
+ 'field': md_field['name']
+ }
filter_input = render_to_string('filter_input_string.html', env)
elif md_field['type'] == 'int':
allowed_values = md_field.get('allowed_values', '0,0').split(',')
filter_input = render_to_string('filter_input_string.html', env)
elif md_field['type'] == 'int':
allowed_values = md_field.get('allowed_values', '0,0').split(',')
- env = {'min': allowed_values[0], 'max': allowed_values[1]}
+ env = {
+ 'domid': self.domid,
+ 'field': md_field['name'],
+ 'min' : allowed_values[0],
+ 'max' : allowed_values[1]
+ }
filter_input = render_to_string('filter_input_integer.html', env)
else:
filter_input = render_to_string('filter_input_integer.html', env)
else:
- env = {'filter_id': "%s-filter-%s" % (self.domid, md_field['name'])}
+ env = {
+ 'domid': self.domid,
+ 'field': md_field['name']
+ }
filter_input = render_to_string('filter_input_others.html', env)
fields.append({
filter_input = render_to_string('filter_input_others.html', env)
fields.append({
@@
-64,5
+82,10
@@
class QueryEditor(Plugin):
'resource_type': 'N/A',
'filter_input': filter_input,
'header': None,
'resource_type': 'N/A',
'filter_input': filter_input,
'header': None,
+ 'checked': md_field['name'] in self.query.get_select()
})
})
+ #return { 'fields': fields, 'hidden_columns': hidden_columns }
+ #return { 'fields': fields , 'query_uuid': self.query_uuid, 'query_all_uuid': self.query_all_uuid }
return { 'fields': fields }
return { 'fields': fields }
+
+ def json_settings_list (self): return ['plugin_uuid', 'domid', 'query_uuid', 'query_all_uuid', ]