Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 14 additions & 5 deletions query/src/org/labkey/query/controllers/QueryController.java
Original file line numberDiff line numberDiff line change
Expand Up@@ -1806,6 +1806,10 @@ public ModelAndView getView(QueryForm form, boolean reshow, BindException errors
_form = form;

_query = _form.getQueryDef();
if (_query == null)
{
throw new NotFoundException();
}
Map<String, String> props = new HashMap<>();
props.put("schemaName", form.getSchemaName());
props.put("queryName", form.getQueryName());
Expand DownExpand Up@@ -2328,9 +2332,10 @@ public ModelAndView getView(QueryUpdateForm tableForm, boolean reshow, BindExcep

if (_schema != null && _table != null)
{
if (_table.hasPermission(getUser(), UpdatePermission.class))
QueryDefinition queryDef = _form.getQueryDef();
if (queryDef != null && _table.hasPermission(getUser(), UpdatePermission.class))
{
StringExpression updateExpr = _form.getQueryDef().urlExpr(QueryAction.updateQueryRow, _schema.getContainer());
StringExpression updateExpr = queryDef.urlExpr(QueryAction.updateQueryRow, _schema.getContainer());
if (updateExpr != null)
{
String url = updateExpr.eval(tableForm.getTypedValues());
Expand All@@ -2344,16 +2349,16 @@ public ModelAndView getView(QueryUpdateForm tableForm, boolean reshow, BindExcep
}


ActionURL gridUrl;
ActionURL gridUrl = null;
if (_form.getReturnActionURL() != null)
{
// If we have a specific return URL requested, use that
gridUrl = _form.getReturnActionURL();
}
else
else if (queryDef != null)
{
// Otherwise go back to the default grid view
gridUrl = _schema.urlFor(QueryAction.executeQuery, _form.getQueryDef());
gridUrl = _schema.urlFor(QueryAction.executeQuery, queryDef);
}
if (gridUrl != null)
{
Expand DownExpand Up@@ -3241,6 +3246,10 @@ protected void initRequest(QueryForm form) throws ServletException
_form = form;

QueryDefinition query = form.getQueryDef();
if (query == null)
{
throw new NotFoundException();
}
List<QueryException> qpe = new ArrayList<>();
TableInfo t = query.getTable(form.getSchema(), qpe, true);
if (!qpe.isEmpty())
Expand Down
11 changes: 9 additions & 2 deletions query/src/org/labkey/query/controllers/TableInfoForm.java
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,11 +17,13 @@
package org.labkey.query.controllers;

import org.jetbrains.annotations.NotNull;
import org.labkey.api.query.QueryDefinition;
import org.labkey.api.query.QueryForm;
import org.labkey.api.query.FieldKey;
import org.labkey.api.data.TableInfo;
import org.labkey.api.data.ColumnInfo;
import org.labkey.api.data.ForeignKey;
import org.labkey.api.view.NotFoundException;
import org.labkey.query.sql.Query;
import org.labkey.query.QueryDefinitionImpl;
import org.springframework.validation.BindException;
Expand DownExpand Up@@ -86,13 +88,18 @@ public FieldKey[] getFieldKeys()
public Map<FieldKey, TableInfo> getTableInfoMap()
{
Map<FieldKey, TableInfo> ret = new HashMap<>();
QueryDefinition queryDef = getQueryDef();
if (queryDef == null)
{
throw new NotFoundException();
}
if (!isDesign())
{
ret.put(null, getQueryDef().getTable(getSchema(), null, true));
ret.put(null, queryDef.getTable(getSchema(), null, true));
}
else
{
Query query = ((QueryDefinitionImpl) getQueryDef()).getQuery(getSchema());
Query query = ((QueryDefinitionImpl) queryDef).getQuery(getSchema());
for (FieldKey key : query.getFromTables())
{
ret.put(key, query.getFromTable(key));
Expand Down