Skip to content

Commit 159451b

Browse files
committed
snprc - Added getActiveProjects to api
SVN r60873 |2018-10-29 15:28:34 +0000
1 parent 25fc727 commit 159451b

6 files changed

Lines changed: 57 additions & 7 deletions

File tree

.gitattributes

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2438,6 +2438,7 @@ snprcEHRModules/snprc_r24/src/org/labkey/snprc_r24/snprc_r24Module.java -text
24382438
snprcEHRModules/snprc_r24/src/org/labkey/snprc_r24/snprc_r24Schema.java -text
24392439
snprcEHRModules/snprc_r24/src/org/labkey/snprc_r24/view/hello.jsp -text
24402440
snprcEHRModules/snprc_scheduler/.babelrc -text
2441+
snprcEHRModules/snprc_scheduler/api-src/org/labkey/api/snprc_scheduler/SNPRC_schedulerService.java -text
24412442
snprcEHRModules/snprc_scheduler/build.gradle -text
24422443
snprcEHRModules/snprc_scheduler/module.properties -text
24432444
snprcEHRModules/snprc_scheduler/package-lock.json -text
@@ -2481,7 +2482,6 @@ snprcEHRModules/snprc_scheduler/src/org/labkey/snprc_scheduler/security/SNPRC_sc
24812482
snprcEHRModules/snprc_scheduler/src/org/labkey/snprc_scheduler/security/SNPRC_schedulerEditorsRole.java -text
24822483
snprcEHRModules/snprc_scheduler/src/org/labkey/snprc_scheduler/security/SNPRC_schedulerReadersPermission.java -text
24832484
snprcEHRModules/snprc_scheduler/src/org/labkey/snprc_scheduler/security/SNPRC_schedulerReadersRole.java -text
2484-
snprcEHRModules/snprc_scheduler/src/org/labkey/snprc_scheduler/services/SNPRC_schedulerService.java -text
24852485
snprcEHRModules/snprc_scheduler/src/org/labkey/snprc_scheduler/services/SNPRC_schedulerServiceImpl.java -text
24862486
snprcEHRModules/snprc_scheduler/src/org/labkey/snprc_scheduler/view/SchedulerWebPart.java -text
24872487
snprcEHRModules/snprc_scheduler/src/org/labkey/snprc_scheduler/view/schedule.jsp -text

snprcEHRModules/snprc_scheduler/src/org/labkey/snprc_scheduler/services/SNPRC_schedulerService.java renamed to snprcEHRModules/snprc_scheduler/api-src/org/labkey/api/snprc_scheduler/SNPRC_schedulerService.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1-
package org.labkey.snprc_scheduler.services;
1+
package org.labkey.api.snprc_scheduler;
22

33

44
import org.jetbrains.annotations.Nullable;
55
import org.json.JSONObject;
66
import org.labkey.api.data.Container;
7+
import org.labkey.api.data.SimpleFilter;
78
import org.labkey.api.query.BatchValidationException;
89
import org.labkey.api.security.User;
910
import org.labkey.api.services.ServiceRegistry;
@@ -24,5 +25,7 @@ static SNPRC_schedulerService get()
2425

2526
List<JSONObject> getActiveTimelines(Container c, User u, int projectId, int revisionNum, BatchValidationException errors);
2627

28+
List<JSONObject> getActiveProjects(Container c, User u, SimpleFilter[] filters);
29+
2730
}
2831

snprcEHRModules/snprc_scheduler/src/org/labkey/snprc_scheduler/SNPRC_schedulerController.java

Lines changed: 39 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,21 @@
2121
import org.labkey.api.action.ApiResponse;
2222
import org.labkey.api.action.ApiSimpleResponse;
2323
import org.labkey.api.action.ApiUsageException;
24+
import org.labkey.api.action.SimpleApiJsonForm;
2425
import org.labkey.api.action.SimpleViewAction;
2526
import org.labkey.api.action.SpringActionController;
27+
import org.labkey.api.data.CompareType;
28+
import org.labkey.api.data.SimpleFilter;
2629
import org.labkey.api.query.BatchValidationException;
30+
import org.labkey.api.query.FieldKey;
2731
import org.labkey.api.security.RequiresPermission;
2832
import org.labkey.api.security.permissions.ReadPermission;
33+
import org.labkey.api.snd.SNDService;
34+
import org.labkey.api.snprc_scheduler.SNPRC_schedulerService;
2935
import org.labkey.api.view.ActionURL;
3036
import org.labkey.api.view.JspView;
3137
import org.labkey.api.view.NavTree;
3238
import org.labkey.snprc_scheduler.domains.Timeline;
33-
import org.labkey.snprc_scheduler.services.SNPRC_schedulerService;
3439
import org.springframework.validation.BindException;
3540
import org.springframework.web.servlet.ModelAndView;
3641

@@ -77,7 +82,7 @@ public ApiResponse execute(Timeline timeline, BindException errors)
7782
{
7883
Map<String, Object> props = new HashMap<>();
7984

80-
if (timeline.getProjectId() != null && timeline.getRevisionNum() != null )
85+
if (timeline.getProjectId() != null && timeline.getRevisionNum() != null)
8186
{
8287
try
8388
{
@@ -93,10 +98,41 @@ public ApiResponse execute(Timeline timeline, BindException errors)
9398
props.put("message", e.getMessage());
9499
}
95100
}
96-
else {
101+
else
102+
{
97103
props.put("success", false);
98104
props.put("message", "ProjectId and RevisionNum are required");
99105
}
106+
return new ApiSimpleResponse(props);
107+
}
108+
}
109+
// http://deepthought:8080/labkey/snprc_scheduler/snprc/getActiveProjects.view?
110+
@RequiresPermission(ReadPermission.class)
111+
public class getActiveProjects extends ApiAction<SimpleApiJsonForm>
112+
{
113+
@Override
114+
public ApiResponse execute(SimpleApiJsonForm simpleApiJsonForm, BindException errors)
115+
{
116+
Map<String, Object> props = new HashMap<>();
117+
118+
// add filters to remove colony maintenance, behavior, clinical, and legacy projects
119+
SimpleFilter [] filters = new SimpleFilter[2];
120+
filters[0] = new SimpleFilter(FieldKey.fromParts("ReferenceId"), 4000, CompareType.LT);
121+
filters[1] = new SimpleFilter(FieldKey.fromParts("ReferenceId"), 0, CompareType.GT);
122+
123+
List<JSONObject> projects = SNDService.get().getActiveProjects(getContainer(), getUser(), filters);
124+
if (projects.size() > 0)
125+
{
126+
props.put("success", true);
127+
props.put("rows", projects);
128+
}
129+
else
130+
{
131+
props.put("success", false);
132+
props.put("message", "No Active Projects");
133+
}
134+
135+
100136
return new ApiSimpleResponse(props);
101137
}
102138
}

snprcEHRModules/snprc_scheduler/src/org/labkey/snprc_scheduler/SNPRC_schedulerModule.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
import org.labkey.api.query.QueryService;
3030
import org.labkey.api.security.roles.RoleManager;
3131
import org.labkey.api.services.ServiceRegistry;
32-
import org.labkey.snprc_scheduler.services.SNPRC_schedulerService;
32+
import org.labkey.api.snprc_scheduler.SNPRC_schedulerService;
3333
import org.labkey.api.view.BaseWebPartFactory;
3434
import org.labkey.api.view.Portal;
3535
import org.labkey.api.view.ViewContext;

snprcEHRModules/snprc_scheduler/src/org/labkey/snprc_scheduler/domains/Timeline.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,7 @@ public void setSchedulerNotes(String schedulerNotes)
228228
}
229229

230230
@NotNull
231-
public Map<String, Object> getTimelineRow(Container c)
231+
public Map<String, Object> toMap(Container c)
232232
{
233233
Map<String, Object> timelineValues = new ArrayListMap<>();
234234
timelineValues.put(TIMELINE_ID, getTimelineId());

snprcEHRModules/snprc_scheduler/src/org/labkey/snprc_scheduler/services/SNPRC_schedulerServiceImpl.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,11 @@
33
import org.json.JSONObject;
44
import org.labkey.api.action.ApiUsageException;
55
import org.labkey.api.data.Container;
6+
import org.labkey.api.data.SimpleFilter;
67
import org.labkey.api.query.BatchValidationException;
78
import org.labkey.api.security.User;
9+
import org.labkey.api.snd.SNDService;
10+
import org.labkey.api.snprc_scheduler.SNPRC_schedulerService;
811
import org.labkey.api.util.GUID;
912
import org.labkey.snprc_scheduler.domains.Timeline;
1013

@@ -24,6 +27,14 @@ private SNPRC_schedulerServiceImpl()
2427
{
2528
}
2629

30+
public List<JSONObject> getActiveProjects(Container c, User u, SimpleFilter[] filters) {
31+
32+
return SNDService.get().getActiveProjects(c,u, filters);
33+
34+
}
35+
36+
37+
2738
/**
2839
* returns a list of active timelines for a projectId/RevisionNum
2940
*/

0 commit comments

Comments
 (0)