TSK-90 Use task.workbasketKey as foreign key into workbasket and reject implicit creation of distribution targets

This commit is contained in:
BerndBreier 2017-12-19 12:02:11 +01:00 committed by Holger Hagen
parent 791025fde0
commit 193e3c3079
19 changed files with 61 additions and 24 deletions

View File

@ -263,7 +263,7 @@ public class TaskServiceImpl implements TaskService {
@Override @Override
public List<Task> getTasksByWorkbasketKeyAndState(String workbasketKey, TaskState taskState) public List<Task> getTasksByWorkbasketKeyAndState(String workbasketKey, TaskState taskState)
throws WorkbasketNotFoundException, NotAuthorizedException { throws WorkbasketNotFoundException, NotAuthorizedException {
LOGGER.debug("entry to getTasksByWorkbasketKeyAndState(workbasketId = {}, taskState = {})", workbasketKey, LOGGER.debug("entry to getTasksByWorkbasketKeyAndState(workbasketKey = {}, taskState = {})", workbasketKey,
taskState); taskState);
List<Task> results = new ArrayList<>(); List<Task> results = new ArrayList<>();
try { try {

View File

@ -185,6 +185,7 @@ public class WorkbasketServiceImpl implements WorkbasketService {
public Workbasket updateWorkbasket(Workbasket workbasketToUpdate) public Workbasket updateWorkbasket(Workbasket workbasketToUpdate)
throws NotAuthorizedException, WorkbasketNotFoundException, InvalidWorkbasketException { throws NotAuthorizedException, WorkbasketNotFoundException, InvalidWorkbasketException {
LOGGER.debug("entry to updateWorkbasket(workbasket)", workbasketToUpdate); LOGGER.debug("entry to updateWorkbasket(workbasket)", workbasketToUpdate);
Workbasket result = null; Workbasket result = null;
WorkbasketImpl workbasket = (WorkbasketImpl) workbasketToUpdate; WorkbasketImpl workbasket = (WorkbasketImpl) workbasketToUpdate;
try { try {

View File

@ -1,8 +1,7 @@
package pro.taskana.model; package pro.taskana.model;
/** /**
* Entity which contains the most important * Entity which contains the most important informations about a Task.
* informations about a Task.
*/ */
public class TaskSummary { public class TaskSummary {
@ -16,12 +15,15 @@ public class TaskSummary {
public String getTaskId() { public String getTaskId() {
return taskId; return taskId;
} }
public void setTaskId(String taskId) { public void setTaskId(String taskId) {
this.taskId = taskId; this.taskId = taskId;
} }
public String getTaskName() { public String getTaskName() {
return taskName; return taskName;
} }
public void setTaskName(String taskName) { public void setTaskName(String taskName) {
this.taskName = taskName; this.taskName = taskName;
} }
@ -33,21 +35,27 @@ public class TaskSummary {
public void setWorkbasketKey(String workbasketKey) { public void setWorkbasketKey(String workbasketKey) {
this.workbasketKey = workbasketKey; this.workbasketKey = workbasketKey;
} }
public String getWorkbasketName() { public String getWorkbasketName() {
return workbasketName; return workbasketName;
} }
public void setWorkbasketName(String workbasketName) { public void setWorkbasketName(String workbasketName) {
this.workbasketName = workbasketName; this.workbasketName = workbasketName;
} }
public String getClassificationKey() { public String getClassificationKey() {
return classificationKey; return classificationKey;
} }
public void setClassificationKey(String classificationKey) { public void setClassificationKey(String classificationKey) {
this.classificationKey = classificationKey; this.classificationKey = classificationKey;
} }
public String getClassificationName() { public String getClassificationName() {
return classificationName; return classificationName;
} }
public void setClassificationName(String classificationName) { public void setClassificationName(String classificationName) {
this.classificationName = classificationName; this.classificationName = classificationName;
} }
@ -140,4 +148,5 @@ public class TaskSummary {
builder.append("]"); builder.append("]");
return builder.toString(); return builder.toString();
} }
} }

View File

@ -22,7 +22,6 @@ public class WorkbasketAccessItem {
private boolean permCustom7; private boolean permCustom7;
private boolean permCustom8; private boolean permCustom8;
public String getId() { public String getId() {
return id; return id;
} }

View File

@ -13,8 +13,8 @@ import pro.taskana.impl.ObjectReferenceQueryImpl;
import pro.taskana.impl.TaskImpl; import pro.taskana.impl.TaskImpl;
import pro.taskana.impl.TaskQueryImpl; import pro.taskana.impl.TaskQueryImpl;
import pro.taskana.impl.WorkbasketImpl; import pro.taskana.impl.WorkbasketImpl;
import pro.taskana.model.ClassificationImpl;
import pro.taskana.impl.WorkbasketQueryImpl; import pro.taskana.impl.WorkbasketQueryImpl;
import pro.taskana.model.ClassificationImpl;
import pro.taskana.model.ObjectReference; import pro.taskana.model.ObjectReference;
/** /**

View File

@ -1,5 +1,6 @@
package pro.taskana.model.mappings; package pro.taskana.model.mappings;
import java.sql.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -18,6 +19,7 @@ import pro.taskana.Classification;
import pro.taskana.impl.TaskImpl; import pro.taskana.impl.TaskImpl;
import pro.taskana.impl.persistence.MapTypeHandler; import pro.taskana.impl.persistence.MapTypeHandler;
import pro.taskana.model.ClassificationImpl; import pro.taskana.model.ClassificationImpl;
import pro.taskana.model.DueWorkbasketCounter;
import pro.taskana.model.ObjectReference; import pro.taskana.model.ObjectReference;
import pro.taskana.model.TaskState; import pro.taskana.model.TaskState;
import pro.taskana.model.TaskSummary; import pro.taskana.model.TaskSummary;
@ -71,6 +73,12 @@ public interface TaskMapper {
}) })
TaskImpl findById(@Param("id") String id); TaskImpl findById(@Param("id") String id);
@Results({@Result(column = "DUE_DATE", property = "due"),
@Result(column = "WORKBASKET_KEY", property = "workbasketKey"),
@Result(column = "counter", property = "taskCounter")})
List<DueWorkbasketCounter> getTaskCountByWorkbasketIdAndDaysInPastAndState(@Param("fromDate") Date fromDate,
@Param("status") List<TaskState> states);
@Insert("INSERT INTO TASK(ID, CREATED, CLAIMED, COMPLETED, MODIFIED, PLANNED, DUE, NAME, DESCRIPTION, PRIORITY, STATE, CLASSIFICATION_KEY, WORKBASKET_KEY, BUSINESS_PROCESS_ID, PARENT_BUSINESS_PROCESS_ID, OWNER, PRIMARY_OBJ_REF_ID, IS_READ, IS_TRANSFERRED, CUSTOM_ATTRIBUTES, CUSTOM_1, CUSTOM_2, CUSTOM_3, CUSTOM_4, CUSTOM_5, CUSTOM_6, CUSTOM_7, CUSTOM_8, CUSTOM_9, CUSTOM_10) " @Insert("INSERT INTO TASK(ID, CREATED, CLAIMED, COMPLETED, MODIFIED, PLANNED, DUE, NAME, DESCRIPTION, PRIORITY, STATE, CLASSIFICATION_KEY, WORKBASKET_KEY, BUSINESS_PROCESS_ID, PARENT_BUSINESS_PROCESS_ID, OWNER, PRIMARY_OBJ_REF_ID, IS_READ, IS_TRANSFERRED, CUSTOM_ATTRIBUTES, CUSTOM_1, CUSTOM_2, CUSTOM_3, CUSTOM_4, CUSTOM_5, CUSTOM_6, CUSTOM_7, CUSTOM_8, CUSTOM_9, CUSTOM_10) "
+ "VALUES(#{id}, #{created}, #{claimed}, #{completed}, #{modified}, #{planned}, #{due}, #{name}, #{description}, #{priority}, #{state}, #{classification.key}, #{workbasketKey}, #{businessProcessId}, #{parentBusinessProcessId}, #{owner}, #{primaryObjRef.id}, #{isRead}, #{isTransferred}, #{customAttributes,jdbcType=BLOB,javaType=java.util.Map,typeHandler=pro.taskana.impl.persistence.MapTypeHandler}, #{custom1}, #{custom2}, #{custom3}, #{custom4}, #{custom5}, #{custom6}, #{custom7}, #{custom8}, #{custom9}, #{custom10})") + "VALUES(#{id}, #{created}, #{claimed}, #{completed}, #{modified}, #{planned}, #{due}, #{name}, #{description}, #{priority}, #{state}, #{classification.key}, #{workbasketKey}, #{businessProcessId}, #{parentBusinessProcessId}, #{owner}, #{primaryObjRef.id}, #{isRead}, #{isTransferred}, #{customAttributes,jdbcType=BLOB,javaType=java.util.Map,typeHandler=pro.taskana.impl.persistence.MapTypeHandler}, #{custom1}, #{custom2}, #{custom3}, #{custom4}, #{custom5}, #{custom6}, #{custom7}, #{custom8}, #{custom9}, #{custom10})")
@Options(keyProperty = "id", keyColumn = "ID") @Options(keyProperty = "id", keyColumn = "ID")

View File

@ -1,9 +1,18 @@
package pro.taskana.model.mappings; package pro.taskana.model.mappings;
import org.apache.ibatis.annotations.*; import java.util.List;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Options;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Result;
import org.apache.ibatis.annotations.Results;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import pro.taskana.model.WorkbasketAccessItem; import pro.taskana.model.WorkbasketAccessItem;
import java.util.List;
/** /**
* This class is the mybatis mapping of workbasket access items. * This class is the mybatis mapping of workbasket access items.
*/ */

View File

@ -138,7 +138,7 @@ public interface WorkbasketMapper {
+ "<if test=\"authorization.name() == 'CUSTOM_8'\">PERM_CUSTOM_8</if> = 1 </foreach> " + "<if test=\"authorization.name() == 'CUSTOM_8'\">PERM_CUSTOM_8</if> = 1 </foreach> "
+ "ORDER BY id</script>") + "ORDER BY id</script>")
@Results(value = { @Results(value = {
@Result(property = "id", column = "ID"), @Result(property = "id", column = "ID"),
@Result(property = "key", column = "KEY"), @Result(property = "key", column = "KEY"),
@Result(property = "created", column = "CREATED"), @Result(property = "created", column = "CREATED"),
@Result(property = "modified", column = "MODIFIED"), @Result(property = "modified", column = "MODIFIED"),

View File

@ -126,6 +126,7 @@ public class TaskServiceImplTest {
verify(workbasketServiceMock, times(1)).checkAuthorization(any(), any()); verify(workbasketServiceMock, times(1)).checkAuthorization(any(), any());
verify(workbasketServiceMock, times(1)).getWorkbasketByKey(any()); verify(workbasketServiceMock, times(1)).getWorkbasketByKey(any());
verify(taskanaEngineMock, times(1)).getClassificationService(); verify(taskanaEngineMock, times(1)).getClassificationService();
verify(classificationServiceMock, times(1)).getClassification(any(), any()); verify(classificationServiceMock, times(1)).getClassification(any(), any());
verify(taskMapperMock, times(1)).insert(expectedTask); verify(taskMapperMock, times(1)).insert(expectedTask);
verify(taskanaEngineImpl, times(1)).returnConnection(); verify(taskanaEngineImpl, times(1)).returnConnection();

View File

@ -139,7 +139,7 @@ public class TaskServiceImplIntAutocommitTest {
classification.setKey("TEST"); classification.setKey("TEST");
taskanaEngine.getClassificationService().createClassification(classification); taskanaEngine.getClassificationService().createClassification(classification);
Task task = taskServiceImpl.newTask(); TaskImpl task = (TaskImpl) taskServiceImpl.newTask();
task.setName("Unit Test Task"); task.setName("Unit Test Task");
task.setWorkbasketKey(wb.getKey()); task.setWorkbasketKey(wb.getKey());
task.setClassification(classification); task.setClassification(classification);
@ -284,7 +284,10 @@ public class TaskServiceImplIntAutocommitTest {
wb.setName("wb"); wb.setName("wb");
wb.setType(WorkbasketType.GROUP); wb.setType(WorkbasketType.GROUP);
wb.setDomain("novatec"); wb.setDomain("novatec");
workbasketService.createWorkbasket(wb);
taskServiceImpl.getTaskSummariesByWorkbasketKey("1");
wb = (WorkbasketImpl) workbasketService.createWorkbasket(wb); wb = (WorkbasketImpl) workbasketService.createWorkbasket(wb);
workbasketService.createWorkbasket(wb);
taskServiceImpl.getTaskSummariesByWorkbasketKey("1"); taskServiceImpl.getTaskSummariesByWorkbasketKey("1");
} }

View File

@ -252,6 +252,13 @@ public class TaskServiceImplIntExplicitTest {
wb.setKey("k1"); wb.setKey("k1");
workbasketService.createWorkbasket(wb); workbasketService.createWorkbasket(wb);
Task test = taskServiceImpl.newTask();
test.setWorkbasketKey("k1");
test.setPrimaryObjRef(objectReference);
test.setPlanned(tomorrow);
test.setClassification(classification);
test = taskServiceImpl.createTask(test);
Task task = this.generateDummyTask(); Task task = this.generateDummyTask();
task.setClassification(classification); task.setClassification(classification);
task.setName("Name"); task.setName("Name");

View File

@ -384,14 +384,11 @@ public class WorkbasketServiceImplIntAutocommitTest {
throws NotAuthorizedException, InvalidWorkbasketException, WorkbasketNotFoundException { throws NotAuthorizedException, InvalidWorkbasketException, WorkbasketNotFoundException {
generateSampleDataForQuery(); generateSampleDataForQuery();
String userName = "eberhardt"; String userName = "Bernd";
String[] groupNames = {"group2", "group3"}; String[] groupNames = {"group2", "group3"};
List<WorkbasketAuthorization> authorizations = new ArrayList<WorkbasketAuthorization>(); List<WorkbasketAuthorization> authorizations = new ArrayList<WorkbasketAuthorization>();
authorizations.add(WorkbasketAuthorization.OPEN); authorizations.add(WorkbasketAuthorization.OPEN);
Assert.assertTrue(1 == getWorkbasketsForPrincipalesAndPermissions(userName, groupNames, authorizations));
userName = "Bernd";
Assert.assertTrue(2 == getWorkbasketsForPrincipalesAndPermissions(userName, groupNames, authorizations)); Assert.assertTrue(2 == getWorkbasketsForPrincipalesAndPermissions(userName, groupNames, authorizations));
authorizations.add(WorkbasketAuthorization.CUSTOM_4); authorizations.add(WorkbasketAuthorization.CUSTOM_4);

View File

@ -196,10 +196,10 @@ public class WorkbasketServiceImplIntExplicitTest {
workbasket1.setName("Megabasket"); workbasket1.setName("Megabasket");
workbasket1.setDomain("D2"); workbasket1.setDomain("D2");
workbasket1.setType(WorkbasketType.GROUP); workbasket1.setType(WorkbasketType.GROUP);
workBasketService.createWorkbasket(workbasket1);
WorkbasketImpl workbasket2 = (WorkbasketImpl) workBasketService.newWorkbasket();
workbasket1.setType(WorkbasketType.GROUP); workbasket1.setType(WorkbasketType.GROUP);
workbasket1.setDomain("novatec"); workbasket1.setDomain("novatec");
workBasketService.createWorkbasket(workbasket1);
WorkbasketImpl workbasket2 = (WorkbasketImpl) workBasketService.newWorkbasket();
String id2 = IdGenerator.generateWithPrefix("TWB"); String id2 = IdGenerator.generateWithPrefix("TWB");
workbasket2.setId(id2); workbasket2.setId(id2);
workbasket2.setKey("key2"); workbasket2.setKey("key2");
@ -228,8 +228,8 @@ public class WorkbasketServiceImplIntExplicitTest {
workbasket0.setName("Superbasket"); workbasket0.setName("Superbasket");
workbasket0.setType(WorkbasketType.GROUP); workbasket0.setType(WorkbasketType.GROUP);
workbasket0.setDomain("novatec"); workbasket0.setDomain("novatec");
workBasketService.createWorkbasket(workbasket0); workBasketService.createWorkbasket(workbasket0);
WorkbasketImpl workbasket1 = (WorkbasketImpl) workBasketService.newWorkbasket(); WorkbasketImpl workbasket1 = (WorkbasketImpl) workBasketService.newWorkbasket();
workbasket0.setType(WorkbasketType.GROUP); workbasket0.setType(WorkbasketType.GROUP);
workbasket0.setDomain("novatec"); workbasket0.setDomain("novatec");
@ -256,7 +256,7 @@ public class WorkbasketServiceImplIntExplicitTest {
workbasket3.setName("hm ... irgend ein basket"); workbasket3.setName("hm ... irgend ein basket");
workbasket3.setType(WorkbasketType.GROUP); workbasket3.setType(WorkbasketType.GROUP);
workbasket3.setDomain("novatec"); workbasket3.setDomain("novatec");
workbasket3 = workBasketService.createWorkbasket(workbasket3); workBasketService.createWorkbasket(workbasket3);
workbasket2.getDistributionTargets().clear(); workbasket2.getDistributionTargets().clear();
workbasket2.getDistributionTargets().add(workbasket3); workbasket2.getDistributionTargets().add(workbasket3);
Thread.sleep(SLEEP_TIME); Thread.sleep(SLEEP_TIME);

View File

@ -30,4 +30,5 @@ public class TaskanaComponent {
throw new RuntimeException(); throw new RuntimeException();
} }
} }

View File

@ -127,10 +127,10 @@ public class TaskController {
} }
} }
@RequestMapping(method = RequestMethod.POST, value = "/{taskId}/transfer/{workbasketId}") @RequestMapping(method = RequestMethod.POST, value = "/{taskId}/transfer/{workbasketKey}")
public ResponseEntity<Task> transferTask(@PathVariable String taskId, @PathVariable String workbasketId) { public ResponseEntity<Task> transferTask(@PathVariable String taskId, @PathVariable String workbasketKey) {
try { try {
Task updatedTask = taskService.transfer(taskId, workbasketId); Task updatedTask = taskService.transfer(taskId, workbasketKey);
return ResponseEntity.status(HttpStatus.CREATED).body(updatedTask); return ResponseEntity.status(HttpStatus.CREATED).body(updatedTask);
} catch (Exception e) { } catch (Exception e) {
logger.error("Something went wrong: ", e); logger.error("Something went wrong: ", e);

View File

@ -103,10 +103,10 @@ public class WorkbasketController {
} }
} }
@RequestMapping(value = "/{workbasketid}/authorizations", method = RequestMethod.GET) @RequestMapping(value = "/{workbasketkey}/authorizations", method = RequestMethod.GET)
public List<WorkbasketAccessItem> getWorkbasketAuthorizations( public List<WorkbasketAccessItem> getWorkbasketAuthorizations(
@PathVariable(value = "workbasketid") String workbasketId) { @PathVariable(value = "workbasketkey") String workbasketKey) {
return workbasketService.getWorkbasketAuthorizations(workbasketId); return workbasketService.getWorkbasketAuthorizations(workbasketKey);
} }
@RequestMapping(value = "/authorizations", method = RequestMethod.POST) @RequestMapping(value = "/authorizations", method = RequestMethod.POST)

View File

@ -118,7 +118,6 @@ public class TaskFilter {
} }
if (params.containsKey(WORKBASKET_KEY)) { if (params.containsKey(WORKBASKET_KEY)) {
String[] workbaskets = extractCommaSeperatedFields(params.get(WORKBASKET_KEY)); String[] workbaskets = extractCommaSeperatedFields(params.get(WORKBASKET_KEY));
taskQuery.workbasketKeyIn(workbaskets);
} }
if (params.containsKey(OWNER)) { if (params.containsKey(OWNER)) {
String[] owners = extractCommaSeperatedFields(params.get(OWNER)); String[] owners = extractCommaSeperatedFields(params.get(OWNER));

View File

@ -12,5 +12,7 @@ INSERT INTO TASK VALUES('10', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURREN
INSERT INTO TASK VALUES('11', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task11', 'Lorem ipsum dolor sit amet. ', 1, 'COMPLETED', '3', 'key2', 'BPI11', 'PBPI11', 'Stefan', '2', false, false, null, null, null, null, null, null, null, null, null, null, null); INSERT INTO TASK VALUES('11', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task11', 'Lorem ipsum dolor sit amet. ', 1, 'COMPLETED', '3', 'key2', 'BPI11', 'PBPI11', 'Stefan', '2', false, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('12', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task12', 'Lorem ipsum dolor sit amet.', 1, 'COMPLETED', '4', 'key2', 'BPI12', 'PBPI12', 'Frank', '3', false, false, null, null, null, null, null, null, null, null, null, null, null); INSERT INTO TASK VALUES('12', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task12', 'Lorem ipsum dolor sit amet.', 1, 'COMPLETED', '4', 'key2', 'BPI12', 'PBPI12', 'Frank', '3', false, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('13', CURRENT_TIMESTAMP, null, null, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task12', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus massa turpis, pellentesque ut libero sit aet, malesuada suscipit dolor. Sed volutpat euismod felis sit amet molestie. Fusce ornare purus dui. ', 1, 'READY', '13', 'key2', 'BPI13', 'PBPI13', 'Frank', '1', false, false, null, null, null, null, null, null, null, null, null, null, null); INSERT INTO TASK VALUES('13', CURRENT_TIMESTAMP, null, null, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task12', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus massa turpis, pellentesque ut libero sit aet, malesuada suscipit dolor. Sed volutpat euismod felis sit amet molestie. Fusce ornare purus dui. ', 1, 'READY', '13', 'key2', 'BPI13', 'PBPI13', 'Frank', '1', false, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('14', CURRENT_TIMESTAMP, null, null, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task6', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce sagittis vulputate nibh ut malesuada. Etiam ac dictum tellus, nec cursus nunc. Curabitur velit eros, feugiat volutpat laoreet vitae, cursus eu dui. Nulla ut purus sem. Vivamus aliquet odio vitae erat cursus, vitae mattis urna mollis. Nam quam tellus, auctor id volutpat congue, viverra vitae ante. Duis nisi dolor, elementum et mattis at, maximus id velit. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Duis eu condimentum risus. Praesent libero velit, facilisis sit amet maximus non, scelerisque ullamcorper leo. Ut sit amet iaculis eros. Mauris sagittis nibh lacus, at facilisis magna suscipit at. Aliquam finibus tempor odio id commodo. Vivamus aliquam, justo id porta imperdiet, mi.', 1, 'READY', '14', 'key1', 'BPI14', 'PBPI14', 'Frank', '2', false, false, null, null, null, null, null, null, null, null, null, null, null); INSERT INTO TASK VALUES('14', CURRENT_TIMESTAMP, null, null, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task6', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce sagittis vulputate nibh ut malesuada. Etiam ac dictum tellus, nec cursus nunc. Curabitur velit eros, feugiat volutpat laoreet vitae, cursus eu dui. Nulla ut purus sem. Vivamus aliquet odio vitae erat cursus, vitae mattis urna mollis. Nam quam tellus, auctor id volutpat congue, viverra vitae ante. Duis nisi dolor, elementum et mattis at, maximus id velit. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Duis eu condimentum risus. Praesent libero velit, facilisis sit amet maximus non, scelerisque ullamcorper leo. Ut sit amet iaculis eros. Mauris sagittis nibh lacus, at facilisis magna suscipit at. Aliquam finibus tempor odio id commodo. Vivamus aliquam, justo id porta imperdiet, mi.', 1, 'READY', '14', 'key1', 'BPI14', 'PBPI14', 'Frank', '2', false, false, null, null, null, null, null, null, null, null, null, null, null);

View File

@ -1,3 +1,4 @@
INSERT INTO WORKBASKET_ACCESS_LIST VALUES ('1', 'key1', 'Elena', true, true, true, true, true, false, false, false, false, false, false, false, false); INSERT INTO WORKBASKET_ACCESS_LIST VALUES ('1', 'key1', 'Elena', true, true, true, true, true, false, false, false, false, false, false, false, false);
INSERT INTO WORKBASKET_ACCESS_LIST VALUES ('2', 'key2', 'Max', true, true, true, true, true, true, true, true, true, false, false, false, false); INSERT INTO WORKBASKET_ACCESS_LIST VALUES ('2', 'key2', 'Max', true, true, true, true, true, true, true, true, true, false, false, false, false);
INSERT INTO WORKBASKET_ACCESS_LIST VALUES ('3', 'key3', 'Simone', true, true, true, true, true, true, true, true, true, true, true, true, true); INSERT INTO WORKBASKET_ACCESS_LIST VALUES ('3', 'key3', 'Simone', true, true, true, true, true, true, true, true, true, true, true, true, true);