mirror of
https://github.com/Kingsrook/qqq.git
synced 2025-07-18 13:10:44 +00:00
CE-881 - Add USER_ID to DynamicDefaultValueBehavior
This commit is contained in:
@ -28,11 +28,14 @@ import java.time.LocalDate;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import com.kingsrook.qqq.backend.core.actions.values.ValueBehaviorApplier;
|
import com.kingsrook.qqq.backend.core.actions.values.ValueBehaviorApplier;
|
||||||
|
import com.kingsrook.qqq.backend.core.context.QContext;
|
||||||
import com.kingsrook.qqq.backend.core.logging.QLogger;
|
import com.kingsrook.qqq.backend.core.logging.QLogger;
|
||||||
import com.kingsrook.qqq.backend.core.model.data.QRecord;
|
import com.kingsrook.qqq.backend.core.model.data.QRecord;
|
||||||
import com.kingsrook.qqq.backend.core.model.metadata.QInstance;
|
import com.kingsrook.qqq.backend.core.model.metadata.QInstance;
|
||||||
import com.kingsrook.qqq.backend.core.model.metadata.tables.QTableMetaData;
|
import com.kingsrook.qqq.backend.core.model.metadata.tables.QTableMetaData;
|
||||||
import com.kingsrook.qqq.backend.core.utils.CollectionUtils;
|
import com.kingsrook.qqq.backend.core.utils.CollectionUtils;
|
||||||
|
import com.kingsrook.qqq.backend.core.utils.ObjectUtils;
|
||||||
|
import com.kingsrook.qqq.backend.core.utils.StringUtils;
|
||||||
import static com.kingsrook.qqq.backend.core.logging.LogUtils.logPair;
|
import static com.kingsrook.qqq.backend.core.logging.LogUtils.logPair;
|
||||||
|
|
||||||
|
|
||||||
@ -45,6 +48,7 @@ public enum DynamicDefaultValueBehavior implements FieldBehavior<DynamicDefaultV
|
|||||||
{
|
{
|
||||||
CREATE_DATE,
|
CREATE_DATE,
|
||||||
MODIFY_DATE,
|
MODIFY_DATE,
|
||||||
|
USER_ID,
|
||||||
NONE;
|
NONE;
|
||||||
|
|
||||||
private static final QLogger LOG = QLogger.getLogger(ValueTooLongBehavior.class);
|
private static final QLogger LOG = QLogger.getLogger(ValueTooLongBehavior.class);
|
||||||
@ -81,6 +85,7 @@ public enum DynamicDefaultValueBehavior implements FieldBehavior<DynamicDefaultV
|
|||||||
{
|
{
|
||||||
case CREATE_DATE -> applyCreateDate(action, recordList, table, field);
|
case CREATE_DATE -> applyCreateDate(action, recordList, table, field);
|
||||||
case MODIFY_DATE -> applyModifyDate(action, recordList, table, field);
|
case MODIFY_DATE -> applyModifyDate(action, recordList, table, field);
|
||||||
|
case USER_ID -> applyUserId(action, recordList, table, field);
|
||||||
default -> throw new IllegalStateException("Unexpected enum value: " + this);
|
default -> throw new IllegalStateException("Unexpected enum value: " + this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -136,6 +141,27 @@ public enum DynamicDefaultValueBehavior implements FieldBehavior<DynamicDefaultV
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
**
|
||||||
|
*******************************************************************************/
|
||||||
|
private void applyUserId(ValueBehaviorApplier.Action action, List<QRecord> recordList, QTableMetaData table, QFieldMetaData field)
|
||||||
|
{
|
||||||
|
String fieldName = field.getName();
|
||||||
|
String userId = ObjectUtils.tryElse(() -> QContext.getQSession().getUser().getIdReference(), null);
|
||||||
|
if(StringUtils.hasContent(userId))
|
||||||
|
{
|
||||||
|
for(QRecord record : CollectionUtils.nonNullList(recordList))
|
||||||
|
{
|
||||||
|
if(!StringUtils.hasContent(record.getValueString(fieldName)))
|
||||||
|
{
|
||||||
|
record.setValue(field.getName(), userId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
**
|
**
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
Reference in New Issue
Block a user