mirror of
https://github.com/Kingsrook/qqq.git
synced 2025-07-18 05:01:07 +00:00
Merge pull request #139 from Kingsrook/feature/CE-1946-process-to-allow-post-wms-carton-contents-adjustments
Feature/ce 1946 process to allow post wms carton contents adjustments
This commit is contained in:
@ -40,9 +40,9 @@ import com.kingsrook.qqq.backend.core.model.metadata.dashboard.QWidgetMetaData;
|
|||||||
** - alertType - name of entry in AlertType enum (ERROR, WARNING, SUCCESS)
|
** - alertType - name of entry in AlertType enum (ERROR, WARNING, SUCCESS)
|
||||||
** - alertHtml - html to display inside the alert (other than its icon)
|
** - alertHtml - html to display inside the alert (other than its icon)
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
public class ProcessAlertWidget extends AbstractWidgetRenderer implements MetaDataProducerInterface<QWidgetMetaData>
|
public class AlertWidgetRenderer extends AbstractWidgetRenderer implements MetaDataProducerInterface<QWidgetMetaData>
|
||||||
{
|
{
|
||||||
public static final String NAME = "ProcessAlertWidget";
|
public static final String NAME = "AlertWidgetRenderer";
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -301,6 +301,9 @@ public class ChildRecordListRenderer extends AbstractWidgetRenderer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
widgetData.setAllowRecordEdit(BooleanUtils.isTrue(ValueUtils.getValueAsBoolean(input.getQueryParams().get("allowRecordEdit"))));
|
||||||
|
widgetData.setAllowRecordDelete(BooleanUtils.isTrue(ValueUtils.getValueAsBoolean(input.getQueryParams().get("allowRecordDelete"))));
|
||||||
|
|
||||||
return (new RenderWidgetOutput(widgetData));
|
return (new RenderWidgetOutput(widgetData));
|
||||||
}
|
}
|
||||||
catch(Exception e)
|
catch(Exception e)
|
||||||
|
@ -22,6 +22,9 @@
|
|||||||
package com.kingsrook.qqq.backend.core.model.dashboard.widgets;
|
package com.kingsrook.qqq.backend.core.model.dashboard.widgets;
|
||||||
|
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
** Model containing datastructure expected by frontend alert widget
|
** Model containing datastructure expected by frontend alert widget
|
||||||
**
|
**
|
||||||
@ -40,8 +43,10 @@ public class AlertData extends QWidgetData
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
private String html;
|
private String html;
|
||||||
private AlertType alertType;
|
private AlertType alertType;
|
||||||
|
private Boolean hideWidget = false;
|
||||||
|
private List<String> bulletList;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -139,4 +144,66 @@ public class AlertData extends QWidgetData
|
|||||||
return (this);
|
return (this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
** Getter for hideWidget
|
||||||
|
*******************************************************************************/
|
||||||
|
public boolean getHideWidget()
|
||||||
|
{
|
||||||
|
return (this.hideWidget);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
** Setter for hideWidget
|
||||||
|
*******************************************************************************/
|
||||||
|
public void setHideWidget(boolean hideWidget)
|
||||||
|
{
|
||||||
|
this.hideWidget = hideWidget;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
** Fluent setter for hideWidget
|
||||||
|
*******************************************************************************/
|
||||||
|
public AlertData withHideWidget(boolean hideWidget)
|
||||||
|
{
|
||||||
|
this.hideWidget = hideWidget;
|
||||||
|
return (this);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
** Getter for bulletList
|
||||||
|
*******************************************************************************/
|
||||||
|
public List<String> getBulletList()
|
||||||
|
{
|
||||||
|
return (this.bulletList);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
** Setter for bulletList
|
||||||
|
*******************************************************************************/
|
||||||
|
public void setBulletList(List<String> bulletList)
|
||||||
|
{
|
||||||
|
this.bulletList = bulletList;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
** Fluent setter for bulletList
|
||||||
|
*******************************************************************************/
|
||||||
|
public AlertData withBulletList(List<String> bulletList)
|
||||||
|
{
|
||||||
|
this.bulletList = bulletList;
|
||||||
|
return (this);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -39,9 +39,13 @@ public class ChildRecordListData extends QWidgetData
|
|||||||
private QueryOutput queryOutput;
|
private QueryOutput queryOutput;
|
||||||
private QTableMetaData childTableMetaData;
|
private QTableMetaData childTableMetaData;
|
||||||
|
|
||||||
|
private String tableName;
|
||||||
private String tablePath;
|
private String tablePath;
|
||||||
private String viewAllLink;
|
private String viewAllLink;
|
||||||
private Integer totalRows;
|
private Integer totalRows;
|
||||||
|
private Boolean disableRowClick = false;
|
||||||
|
private Boolean allowRecordEdit = false;
|
||||||
|
private Boolean allowRecordDelete = false;
|
||||||
|
|
||||||
private boolean canAddChildRecord = false;
|
private boolean canAddChildRecord = false;
|
||||||
private Map<String, Serializable> defaultValuesForNewChildRecords;
|
private Map<String, Serializable> defaultValuesForNewChildRecords;
|
||||||
@ -352,4 +356,141 @@ public class ChildRecordListData extends QWidgetData
|
|||||||
return (this);
|
return (this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
** Getter for tableName
|
||||||
|
*******************************************************************************/
|
||||||
|
public String getTableName()
|
||||||
|
{
|
||||||
|
return (this.tableName);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
** Setter for tableName
|
||||||
|
*******************************************************************************/
|
||||||
|
public void setTableName(String tableName)
|
||||||
|
{
|
||||||
|
this.tableName = tableName;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
** Fluent setter for tableName
|
||||||
|
*******************************************************************************/
|
||||||
|
public ChildRecordListData withTableName(String tableName)
|
||||||
|
{
|
||||||
|
this.tableName = tableName;
|
||||||
|
return (this);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
** Fluent setter for tablePath
|
||||||
|
*******************************************************************************/
|
||||||
|
public ChildRecordListData withTablePath(String tablePath)
|
||||||
|
{
|
||||||
|
this.tablePath = tablePath;
|
||||||
|
return (this);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
** Getter for disableRowClick
|
||||||
|
*******************************************************************************/
|
||||||
|
public Boolean getDisableRowClick()
|
||||||
|
{
|
||||||
|
return (this.disableRowClick);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
** Setter for disableRowClick
|
||||||
|
*******************************************************************************/
|
||||||
|
public void setDisableRowClick(Boolean disableRowClick)
|
||||||
|
{
|
||||||
|
this.disableRowClick = disableRowClick;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
** Fluent setter for disableRowClick
|
||||||
|
*******************************************************************************/
|
||||||
|
public ChildRecordListData withDisableRowClick(Boolean disableRowClick)
|
||||||
|
{
|
||||||
|
this.disableRowClick = disableRowClick;
|
||||||
|
return (this);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
** Getter for allowRecordEdit
|
||||||
|
*******************************************************************************/
|
||||||
|
public Boolean getAllowRecordEdit()
|
||||||
|
{
|
||||||
|
return (this.allowRecordEdit);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
** Setter for allowRecordEdit
|
||||||
|
*******************************************************************************/
|
||||||
|
public void setAllowRecordEdit(Boolean allowRecordEdit)
|
||||||
|
{
|
||||||
|
this.allowRecordEdit = allowRecordEdit;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
** Fluent setter for allowRecordEdit
|
||||||
|
*******************************************************************************/
|
||||||
|
public ChildRecordListData withAllowRecordEdit(Boolean allowRecordEdit)
|
||||||
|
{
|
||||||
|
this.allowRecordEdit = allowRecordEdit;
|
||||||
|
return (this);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
** Getter for allowRecordDelete
|
||||||
|
*******************************************************************************/
|
||||||
|
public Boolean getAllowRecordDelete()
|
||||||
|
{
|
||||||
|
return (this.allowRecordDelete);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
** Setter for allowRecordDelete
|
||||||
|
*******************************************************************************/
|
||||||
|
public void setAllowRecordDelete(Boolean allowRecordDelete)
|
||||||
|
{
|
||||||
|
this.allowRecordDelete = allowRecordDelete;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
** Fluent setter for allowRecordDelete
|
||||||
|
*******************************************************************************/
|
||||||
|
public ChildRecordListData withAllowRecordDelete(Boolean allowRecordDelete)
|
||||||
|
{
|
||||||
|
this.allowRecordDelete = allowRecordDelete;
|
||||||
|
return (this);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -31,7 +31,7 @@ import java.util.Map;
|
|||||||
** Base class for the data returned by rendering a Widget.
|
** Base class for the data returned by rendering a Widget.
|
||||||
**
|
**
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
public abstract class QWidgetData
|
public abstract class QWidgetData implements Serializable
|
||||||
{
|
{
|
||||||
private String label;
|
private String label;
|
||||||
private String sublabel;
|
private String sublabel;
|
||||||
|
@ -94,6 +94,29 @@ public class CountingHash<K extends Serializable> extends AbstractMap<K, Integer
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
** increment the value for the specified key
|
||||||
|
**
|
||||||
|
*******************************************************************************/
|
||||||
|
public Integer put(K key)
|
||||||
|
{
|
||||||
|
return (add(key));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
** Set the value for the specified key by the supplied value
|
||||||
|
**
|
||||||
|
*******************************************************************************/
|
||||||
|
public Integer put(K key, Integer value)
|
||||||
|
{
|
||||||
|
this.map.put(key, value);
|
||||||
|
return (value);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
**
|
**
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
@ -35,9 +35,9 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
|
|||||||
|
|
||||||
|
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
** Unit test for ProcessAlertWidget
|
** Unit test for AlertWidgetRenderer
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
class ProcessAlertWidgetTest extends BaseTest
|
class AlertWidgetRendererTest extends BaseTest
|
||||||
{
|
{
|
||||||
|
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
@ -46,10 +46,10 @@ class ProcessAlertWidgetTest extends BaseTest
|
|||||||
@Test
|
@Test
|
||||||
void test() throws QException
|
void test() throws QException
|
||||||
{
|
{
|
||||||
MetaDataProducerHelper.processAllMetaDataProducersInPackage(QContext.getQInstance(), ProcessAlertWidget.class.getPackageName());
|
MetaDataProducerHelper.processAllMetaDataProducersInPackage(QContext.getQInstance(), AlertWidgetRenderer.class.getPackageName());
|
||||||
|
|
||||||
RenderWidgetInput input = new RenderWidgetInput();
|
RenderWidgetInput input = new RenderWidgetInput();
|
||||||
input.setWidgetMetaData(QContext.getQInstance().getWidget(ProcessAlertWidget.NAME));
|
input.setWidgetMetaData(QContext.getQInstance().getWidget(AlertWidgetRenderer.NAME));
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// make sure we run w/o exceptions (and w/ default outputs) if there are no query params //
|
// make sure we run w/o exceptions (and w/ default outputs) if there are no query params //
|
||||||
@ -69,4 +69,4 @@ class ProcessAlertWidgetTest extends BaseTest
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -30,7 +30,7 @@ import static org.junit.jupiter.api.Assertions.assertNull;
|
|||||||
|
|
||||||
|
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
** Unit test for CountingHash
|
** Unit test for CountingHash
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
class CountingHashTest extends BaseTest
|
class CountingHashTest extends BaseTest
|
||||||
{
|
{
|
||||||
@ -73,4 +73,19 @@ class CountingHashTest extends BaseTest
|
|||||||
assertEquals(1, alwaysMutable.get("B"));
|
assertEquals(1, alwaysMutable.get("B"));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
**
|
||||||
|
*******************************************************************************/
|
||||||
|
@Test
|
||||||
|
void testPut()
|
||||||
|
{
|
||||||
|
CountingHash<String> alwaysMutable = new CountingHash<>(Map.of("A", 5));
|
||||||
|
alwaysMutable.put("A", 25);
|
||||||
|
assertEquals(25, alwaysMutable.get("A"));
|
||||||
|
alwaysMutable.put("A");
|
||||||
|
assertEquals(26, alwaysMutable.get("A"));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user