mirror of
https://github.com/Kingsrook/qqq.git
synced 2025-07-18 13:10:44 +00:00
Use sessino from context, not input
This commit is contained in:
@ -436,7 +436,7 @@ public class PermissionsHelper
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(hasPermission(actionInput.getSession(), permissionBaseName, effectivePermissionSubType))
|
if(hasPermission(QContext.getQSession(), permissionBaseName, effectivePermissionSubType))
|
||||||
{
|
{
|
||||||
return (PermissionCheckResult.ALLOW);
|
return (PermissionCheckResult.ALLOW);
|
||||||
}
|
}
|
||||||
@ -534,9 +534,9 @@ public class PermissionsHelper
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!hasPermission(actionInput.getSession(), permissionBaseName, effectivePermissionSubType))
|
if(!hasPermission(QContext.getQSession(), permissionBaseName, effectivePermissionSubType))
|
||||||
{
|
{
|
||||||
// LOG.debug("Throwing permission denied for: " + getPermissionName(permissionBaseName, effectivePermissionSubType) + " for " + actionInput.getSession().getUser());
|
// LOG.debug("Throwing permission denied for: " + getPermissionName(permissionBaseName, effectivePermissionSubType) + " for " + QContext.getQSession().getUser());
|
||||||
throw (new QPermissionDeniedException("Permission denied."));
|
throw (new QPermissionDeniedException("Permission denied."));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -34,6 +34,7 @@ import java.util.Objects;
|
|||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import com.kingsrook.qqq.backend.core.actions.customizers.QCodeLoader;
|
import com.kingsrook.qqq.backend.core.actions.customizers.QCodeLoader;
|
||||||
import com.kingsrook.qqq.backend.core.actions.tables.QueryAction;
|
import com.kingsrook.qqq.backend.core.actions.tables.QueryAction;
|
||||||
|
import com.kingsrook.qqq.backend.core.context.QContext;
|
||||||
import com.kingsrook.qqq.backend.core.exceptions.QValueException;
|
import com.kingsrook.qqq.backend.core.exceptions.QValueException;
|
||||||
import com.kingsrook.qqq.backend.core.logging.QLogger;
|
import com.kingsrook.qqq.backend.core.logging.QLogger;
|
||||||
import com.kingsrook.qqq.backend.core.model.actions.tables.query.QCriteriaOperator;
|
import com.kingsrook.qqq.backend.core.model.actions.tables.query.QCriteriaOperator;
|
||||||
@ -67,28 +68,31 @@ public class QPossibleValueTranslator
|
|||||||
{
|
{
|
||||||
private static final QLogger LOG = QLogger.getLogger(QPossibleValueTranslator.class);
|
private static final QLogger LOG = QLogger.getLogger(QPossibleValueTranslator.class);
|
||||||
|
|
||||||
private final QInstance qInstance;
|
|
||||||
private final QSession session;
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////
|
||||||
// top-level keys are pvsNames (not table names) //
|
// top-level keys are pvsNames (not table names) //
|
||||||
// 2nd-level keys are pkey values from the PVS table //
|
// 2nd-level keys are pkey values from the PVS table //
|
||||||
///////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////
|
||||||
private Map<String, Map<Serializable, String>> possibleValueCache;
|
private Map<String, Map<Serializable, String>> possibleValueCache = new HashMap<>();
|
||||||
|
|
||||||
// todo not commit - remove instance & session - use Context
|
// todo not commit - remove instance & session - use Context
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
** Constructor
|
||||||
|
**
|
||||||
|
*******************************************************************************/
|
||||||
|
public QPossibleValueTranslator()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
**
|
**
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
public QPossibleValueTranslator(QInstance qInstance, QSession session)
|
public QPossibleValueTranslator(QInstance qInstance, QSession session)
|
||||||
{
|
{
|
||||||
this.qInstance = qInstance;
|
|
||||||
this.session = session;
|
|
||||||
|
|
||||||
this.possibleValueCache = new HashMap<>();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -141,7 +145,7 @@ public class QPossibleValueTranslator
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
QTableMetaData joinTable = qInstance.getTable(queryJoin.getJoinTable());
|
QTableMetaData joinTable = QContext.getQInstance().getTable(queryJoin.getJoinTable());
|
||||||
for(QFieldMetaData field : joinTable.getFields().values())
|
for(QFieldMetaData field : joinTable.getFields().values())
|
||||||
{
|
{
|
||||||
String joinFieldName = Objects.requireNonNullElse(queryJoin.getAlias(), joinTable.getName()) + "." + field.getName();
|
String joinFieldName = Objects.requireNonNullElse(queryJoin.getAlias(), joinTable.getName()) + "." + field.getName();
|
||||||
@ -152,7 +156,7 @@ public class QPossibleValueTranslator
|
|||||||
///////////////////////////////////////////////
|
///////////////////////////////////////////////
|
||||||
// avoid circling-back upon the source table //
|
// avoid circling-back upon the source table //
|
||||||
///////////////////////////////////////////////
|
///////////////////////////////////////////////
|
||||||
QPossibleValueSource possibleValueSource = qInstance.getPossibleValueSource(field.getPossibleValueSourceName());
|
QPossibleValueSource possibleValueSource = QContext.getQInstance().getPossibleValueSource(field.getPossibleValueSourceName());
|
||||||
if(QPossibleValueSourceType.TABLE.equals(possibleValueSource.getType()) && table.getName().equals(possibleValueSource.getTableName()))
|
if(QPossibleValueSourceType.TABLE.equals(possibleValueSource.getType()) && table.getName().equals(possibleValueSource.getTableName()))
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
@ -212,7 +216,7 @@ public class QPossibleValueTranslator
|
|||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
public String translatePossibleValue(QFieldMetaData field, Serializable value)
|
public String translatePossibleValue(QFieldMetaData field, Serializable value)
|
||||||
{
|
{
|
||||||
QPossibleValueSource possibleValueSource = qInstance.getPossibleValueSource(field.getPossibleValueSourceName());
|
QPossibleValueSource possibleValueSource = QContext.getQInstance().getPossibleValueSource(field.getPossibleValueSourceName());
|
||||||
if(possibleValueSource == null)
|
if(possibleValueSource == null)
|
||||||
{
|
{
|
||||||
LOG.error("Missing possible value source named [" + field.getPossibleValueSourceName() + "] when formatting value for field [" + field.getName() + "]");
|
LOG.error("Missing possible value source named [" + field.getPossibleValueSourceName() + "] when formatting value for field [" + field.getName() + "]");
|
||||||
@ -414,7 +418,7 @@ public class QPossibleValueTranslator
|
|||||||
if(queryJoin.getSelect())
|
if(queryJoin.getSelect())
|
||||||
{
|
{
|
||||||
String aliasOrTableName = Objects.requireNonNullElse(queryJoin.getAlias(), queryJoin.getJoinTable());
|
String aliasOrTableName = Objects.requireNonNullElse(queryJoin.getAlias(), queryJoin.getJoinTable());
|
||||||
primePvsCacheTableListingHashLoader(qInstance.getTable(queryJoin.getJoinTable()), fieldsByPvsTable, pvsesByTable, aliasOrTableName + ".", queryJoin.getJoinTable(), limitedToFieldNames);
|
primePvsCacheTableListingHashLoader(QContext.getQInstance().getTable(queryJoin.getJoinTable()), fieldsByPvsTable, pvsesByTable, aliasOrTableName + ".", queryJoin.getJoinTable(), limitedToFieldNames);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -474,7 +478,7 @@ public class QPossibleValueTranslator
|
|||||||
{
|
{
|
||||||
for(QFieldMetaData field : table.getFields().values())
|
for(QFieldMetaData field : table.getFields().values())
|
||||||
{
|
{
|
||||||
QPossibleValueSource possibleValueSource = qInstance.getPossibleValueSource(field.getPossibleValueSourceName());
|
QPossibleValueSource possibleValueSource = QContext.getQInstance().getPossibleValueSource(field.getPossibleValueSourceName());
|
||||||
if(possibleValueSource != null && possibleValueSource.getType().equals(QPossibleValueSourceType.TABLE))
|
if(possibleValueSource != null && possibleValueSource.getType().equals(QPossibleValueSourceType.TABLE))
|
||||||
{
|
{
|
||||||
if(limitedToFieldNames != null && !limitedToFieldNames.contains(fieldNamePrefix + field.getName()))
|
if(limitedToFieldNames != null && !limitedToFieldNames.contains(fieldNamePrefix + field.getName()))
|
||||||
@ -510,7 +514,7 @@ public class QPossibleValueTranslator
|
|||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
String primaryKeyField = qInstance.getTable(tableName).getPrimaryKeyField();
|
String primaryKeyField = QContext.getQInstance().getTable(tableName).getPrimaryKeyField();
|
||||||
|
|
||||||
for(List<Serializable> page : CollectionUtils.getPages(values, 1000))
|
for(List<Serializable> page : CollectionUtils.getPages(values, 1000))
|
||||||
{
|
{
|
||||||
@ -531,7 +535,7 @@ public class QPossibleValueTranslator
|
|||||||
{
|
{
|
||||||
if(possibleValueSource.getType().equals(QPossibleValueSourceType.TABLE))
|
if(possibleValueSource.getType().equals(QPossibleValueSourceType.TABLE))
|
||||||
{
|
{
|
||||||
QTableMetaData table = qInstance.getTable(possibleValueSource.getTableName());
|
QTableMetaData table = QContext.getQInstance().getTable(possibleValueSource.getTableName());
|
||||||
for(String recordLabelField : CollectionUtils.nonNullList(table.getRecordLabelFields()))
|
for(String recordLabelField : CollectionUtils.nonNullList(table.getRecordLabelFields()))
|
||||||
{
|
{
|
||||||
QFieldMetaData field = table.getField(recordLabelField);
|
QFieldMetaData field = table.getField(recordLabelField);
|
||||||
|
Reference in New Issue
Block a user