|
@@ -229,11 +229,11 @@ def list_designs(request):
|
|
|
prefix = 'q-'
|
|
prefix = 'q-'
|
|
|
querydict_query = _copy_prefix(prefix, request.GET)
|
|
querydict_query = _copy_prefix(prefix, request.GET)
|
|
|
# Manually limit up the user filter.
|
|
# Manually limit up the user filter.
|
|
|
- querydict_query[ prefix + 'type' ] = app_name
|
|
|
|
|
|
|
+ querydict_query[prefix + 'type'] = app_name
|
|
|
# Get search filter input if any
|
|
# Get search filter input if any
|
|
|
search_filter = request.GET.get('text', None)
|
|
search_filter = request.GET.get('text', None)
|
|
|
if search_filter is not None:
|
|
if search_filter is not None:
|
|
|
- querydict_query[ prefix + 'text' ] = search_filter
|
|
|
|
|
|
|
+ querydict_query[prefix + 'text'] = search_filter
|
|
|
|
|
|
|
|
paginator, page, filter_params = _list_designs(request.user, querydict_query, DEFAULT_PAGE_SIZE, prefix)
|
|
paginator, page, filter_params = _list_designs(request.user, querydict_query, DEFAULT_PAGE_SIZE, prefix)
|
|
|
designs_json = []
|
|
designs_json = []
|
|
@@ -252,7 +252,7 @@ def list_designs(request):
|
|
|
|
|
|
|
|
def list_trashed_designs(request):
|
|
def list_trashed_designs(request):
|
|
|
DEFAULT_PAGE_SIZE = 20
|
|
DEFAULT_PAGE_SIZE = 20
|
|
|
- app_name= get_app_name(request)
|
|
|
|
|
|
|
+ app_name = get_app_name(request)
|
|
|
|
|
|
|
|
user = request.user
|
|
user = request.user
|
|
|
|
|
|
|
@@ -260,11 +260,11 @@ def list_trashed_designs(request):
|
|
|
prefix = 'q-'
|
|
prefix = 'q-'
|
|
|
querydict_query = _copy_prefix(prefix, request.GET)
|
|
querydict_query = _copy_prefix(prefix, request.GET)
|
|
|
# Manually limit up the user filter.
|
|
# Manually limit up the user filter.
|
|
|
- querydict_query[ prefix + 'type' ] = app_name
|
|
|
|
|
|
|
+ querydict_query[prefix + 'type'] = app_name
|
|
|
# Get search filter input if any
|
|
# Get search filter input if any
|
|
|
search_filter = request.GET.get('text', None)
|
|
search_filter = request.GET.get('text', None)
|
|
|
if search_filter is not None:
|
|
if search_filter is not None:
|
|
|
- querydict_query[ prefix + 'text' ] = search_filter
|
|
|
|
|
|
|
+ querydict_query[prefix + 'text'] = search_filter
|
|
|
|
|
|
|
|
paginator, page, filter_params = _list_designs(user, querydict_query, DEFAULT_PAGE_SIZE, prefix, is_trashed=True)
|
|
paginator, page, filter_params = _list_designs(user, querydict_query, DEFAULT_PAGE_SIZE, prefix, is_trashed=True)
|
|
|
designs_json = []
|
|
designs_json = []
|
|
@@ -289,25 +289,27 @@ def my_queries(request):
|
|
|
is the ``user`` filter, since this view only shows what belongs to the user.
|
|
is the ``user`` filter, since this view only shows what belongs to the user.
|
|
|
"""
|
|
"""
|
|
|
DEFAULT_PAGE_SIZE = 30
|
|
DEFAULT_PAGE_SIZE = 30
|
|
|
- app_name= get_app_name(request)
|
|
|
|
|
|
|
+ app_name = get_app_name(request)
|
|
|
|
|
|
|
|
# Extract the history list.
|
|
# Extract the history list.
|
|
|
prefix = 'h-'
|
|
prefix = 'h-'
|
|
|
querydict_history = _copy_prefix(prefix, request.GET)
|
|
querydict_history = _copy_prefix(prefix, request.GET)
|
|
|
# Manually limit up the user filter.
|
|
# Manually limit up the user filter.
|
|
|
- querydict_history[ prefix + 'user' ] = request.user
|
|
|
|
|
- querydict_history[ prefix + 'type' ] = app_name
|
|
|
|
|
-
|
|
|
|
|
- hist_paginator, hist_page, hist_filter = _list_query_history(request.user,
|
|
|
|
|
- querydict_history,
|
|
|
|
|
- DEFAULT_PAGE_SIZE,
|
|
|
|
|
- prefix)
|
|
|
|
|
|
|
+ querydict_history[prefix + 'user'] = request.user
|
|
|
|
|
+ querydict_history[prefix + 'type'] = app_name
|
|
|
|
|
+
|
|
|
|
|
+ hist_paginator, hist_page, hist_filter = _list_query_history(
|
|
|
|
|
+ request.user,
|
|
|
|
|
+ querydict_history,
|
|
|
|
|
+ DEFAULT_PAGE_SIZE,
|
|
|
|
|
+ prefix
|
|
|
|
|
+ )
|
|
|
# Extract the saved query list.
|
|
# Extract the saved query list.
|
|
|
prefix = 'q-'
|
|
prefix = 'q-'
|
|
|
querydict_query = _copy_prefix(prefix, request.GET)
|
|
querydict_query = _copy_prefix(prefix, request.GET)
|
|
|
# Manually limit up the user filter.
|
|
# Manually limit up the user filter.
|
|
|
- querydict_query[ prefix + 'user' ] = request.user
|
|
|
|
|
- querydict_query[ prefix + 'type' ] = app_name
|
|
|
|
|
|
|
+ querydict_query[prefix + 'user'] = request.user
|
|
|
|
|
+ querydict_query[prefix + 'type'] = app_name
|
|
|
|
|
|
|
|
query_paginator, query_page, query_filter = _list_designs(request.user, querydict_query, DEFAULT_PAGE_SIZE, prefix)
|
|
query_paginator, query_page, query_filter = _list_designs(request.user, querydict_query, DEFAULT_PAGE_SIZE, prefix)
|
|
|
designs_json = []
|
|
designs_json = []
|
|
@@ -385,7 +387,9 @@ def massage_query_history_for_json(app_name, query_history):
|
|
|
'timeInMs': time.mktime(query_history.submission_date.timetuple()),
|
|
'timeInMs': time.mktime(query_history.submission_date.timetuple()),
|
|
|
'timeFormatted': query_history.submission_date.strftime("%x %X"),
|
|
'timeFormatted': query_history.submission_date.strftime("%x %X"),
|
|
|
'designUrl': reverse(app_name + ':execute_design', kwargs={'design_id': query_history.design.id}),
|
|
'designUrl': reverse(app_name + ':execute_design', kwargs={'design_id': query_history.design.id}),
|
|
|
- 'resultsUrl': not query_history.is_failure() and reverse(app_name + ':watch_query_history', kwargs={'query_history_id': query_history.id}) or ""
|
|
|
|
|
|
|
+ 'resultsUrl': not query_history.is_failure() and reverse(
|
|
|
|
|
+ app_name + ':watch_query_history', kwargs={'query_history_id': query_history.id}
|
|
|
|
|
+ ) or ""
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@@ -425,7 +429,9 @@ def execute_query(request, design_id=None, query_history_id=None):
|
|
|
handle, state = _get_query_handle_and_state(query_history)
|
|
handle, state = _get_query_handle_and_state(query_history)
|
|
|
|
|
|
|
|
if 'on_success_url' in request.GET:
|
|
if 'on_success_url' in request.GET:
|
|
|
- if request.GET.get('on_success_url') and any([regexp.match(request.GET.get('on_success_url')) for regexp in REDIRECT_WHITELIST.get()]):
|
|
|
|
|
|
|
+ if request.GET.get('on_success_url') and any(
|
|
|
|
|
+ [regexp.match(request.GET.get('on_success_url')) for regexp in REDIRECT_WHITELIST.get()]
|
|
|
|
|
+ ):
|
|
|
action = 'watch-redirect'
|
|
action = 'watch-redirect'
|
|
|
else:
|
|
else:
|
|
|
action = 'watch-results'
|
|
action = 'watch-results'
|
|
@@ -884,7 +890,7 @@ def _list_designs(user, querydict, page_size, prefix="", is_trashed=False):
|
|
|
page = None
|
|
page = None
|
|
|
|
|
|
|
|
# We need to pass the parameters back to the template to generate links
|
|
# We need to pass the parameters back to the template to generate links
|
|
|
- keys_to_copy = [ prefix + key for key in ('user', 'type', 'sort', 'text') ]
|
|
|
|
|
|
|
+ keys_to_copy = [prefix + key for key in ('user', 'type', 'sort', 'text')]
|
|
|
filter_params = copy_query_dict(querydict, keys_to_copy)
|
|
filter_params = copy_query_dict(querydict, keys_to_copy)
|
|
|
|
|
|
|
|
return paginator, page, filter_params
|
|
return paginator, page, filter_params
|
|
@@ -917,7 +923,7 @@ def parse_query_context(context):
|
|
|
LOG.error("Invalid query context data: %s" % (context,))
|
|
LOG.error("Invalid query context data: %s" % (context,))
|
|
|
return None
|
|
return None
|
|
|
|
|
|
|
|
- if pair[0] == 'design': # Translate design id to design obj
|
|
|
|
|
|
|
+ if pair[0] == 'design': # Translate design id to design obj
|
|
|
pair[1] = models.SavedQuery.get(int(pair[1]))
|
|
pair[1] = models.SavedQuery.get(int(pair[1]))
|
|
|
return pair
|
|
return pair
|
|
|
|
|
|
|
@@ -1052,7 +1058,11 @@ def _list_query_history(user, querydict, page_size, prefix=""):
|
|
|
# Search
|
|
# Search
|
|
|
search_filter = querydict.get(prefix + 'search')
|
|
search_filter = querydict.get(prefix + 'search')
|
|
|
if search_filter:
|
|
if search_filter:
|
|
|
- db_queryset = db_queryset.filter(Q(design__name__icontains=search_filter) | Q(query__icontains=search_filter) | Q(owner__username__icontains=search_filter))
|
|
|
|
|
|
|
+ db_queryset = db_queryset.filter(
|
|
|
|
|
+ Q(design__name__icontains=search_filter) |
|
|
|
|
|
+ Q(query__icontains=search_filter) |
|
|
|
|
|
+ Q(owner__username__icontains=search_filter)
|
|
|
|
|
+ )
|
|
|
|
|
|
|
|
# Design type
|
|
# Design type
|
|
|
d_type = querydict.get(prefix + 'type')
|
|
d_type = querydict.get(prefix + 'type')
|
|
@@ -1088,7 +1098,7 @@ def _list_query_history(user, querydict, page_size, prefix=""):
|
|
|
pagenum = int(querydict.get(prefix + 'page', 1))
|
|
pagenum = int(querydict.get(prefix + 'page', 1))
|
|
|
if pagenum < 1:
|
|
if pagenum < 1:
|
|
|
pagenum = 1
|
|
pagenum = 1
|
|
|
- db_queryset = db_queryset[ page_size * (pagenum - 1) : page_size * pagenum ]
|
|
|
|
|
|
|
+ db_queryset = db_queryset[page_size * (pagenum - 1) : page_size * pagenum]
|
|
|
paginator = Paginator(db_queryset, page_size, allow_empty_first_page=True)
|
|
paginator = Paginator(db_queryset, page_size, allow_empty_first_page=True)
|
|
|
|
|
|
|
|
try:
|
|
try:
|
|
@@ -1103,7 +1113,7 @@ def _list_query_history(user, querydict, page_size, prefix=""):
|
|
|
_update_query_state(history.get_full_object())
|
|
_update_query_state(history.get_full_object())
|
|
|
|
|
|
|
|
# We need to pass the parameters back to the template to generate links
|
|
# We need to pass the parameters back to the template to generate links
|
|
|
- keys_to_copy = [ prefix + key for key in ('user', 'type', 'sort', 'design_id', 'auto_query', 'search') ]
|
|
|
|
|
|
|
+ keys_to_copy = [prefix + key for key in ('user', 'type', 'sort', 'design_id', 'auto_query', 'search')]
|
|
|
filter_params = copy_query_dict(querydict, keys_to_copy)
|
|
filter_params = copy_query_dict(querydict, keys_to_copy)
|
|
|
|
|
|
|
|
return paginator, page, filter_params
|
|
return paginator, page, filter_params
|