Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions api/src/org/labkey/api/jsp/JspBase.java
Original file line number Diff line number Diff line change
Expand Up @@ -33,15 +33,15 @@
import org.labkey.api.util.HelpTopic;
import org.labkey.api.util.HtmlString;
import org.labkey.api.util.HtmlStringBuilder;
import org.labkey.api.util.InputBuilder;
import org.labkey.api.util.JavaScriptFragment;
import org.labkey.api.util.LinkBuilder;
import org.labkey.api.util.PageFlowUtil;
import org.labkey.api.util.PageFlowUtil.HelpPopupBuilder;
import org.labkey.api.util.SafeToRender;
import org.labkey.api.util.SelectBuilder;
import org.labkey.api.util.URLHelper;
import org.labkey.api.util.UniqueID;
import org.labkey.api.util.InputBuilder;
import org.labkey.api.util.SelectBuilder;
import org.labkey.api.view.ActionURL;
import org.labkey.api.view.HttpView;
import org.labkey.api.view.ViewContext;
Expand Down
2 changes: 1 addition & 1 deletion api/src/org/labkey/api/security/AuthFilter.java
Original file line number Diff line number Diff line change
Expand Up @@ -256,7 +256,7 @@ private void addRandomHeader(HttpServletRequest req, HttpServletResponse resp)

public static User getGuestUser()
{
if (AppProps.getInstance().isOptionalFeatureEnabled(AppProps.EXPERIMENTAL_NO_GUESTS))
if (AppProps.getInstance().isOptionalFeatureEnabled(AppProps.OPTIONAL_NO_GUESTS))
return User.nobody;
else
return User.guest;
Expand Down
2 changes: 1 addition & 1 deletion api/src/org/labkey/api/settings/AppProps.java
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ public interface AppProps
// Used for all optional features; "experimental" for historical reasons.
String OPTIONAL_FEATURE_PREFIX = "experimentalFeature.";
String SCOPE_OPTIONAL_FEATURE = "ExperimentalFeature"; // Startup property prefix for all optional features; "Experimental" for historical reasons.
String EXPERIMENTAL_NO_GUESTS = "disableGuestAccount";
String OPTIONAL_NO_GUESTS = "disableGuestAccount";
String EXPERIMENTAL_BLOCKER = "blockMaliciousClients";
String DEPRECATED_DERIVE_SAMPLES_NOT_IN_APP = "deriveSamplesNotInApp";
String EXPERIMENTAL_RESOLVE_PROPERTY_URI_COLUMNS = "resolve-property-uri-columns";
Expand Down
2 changes: 1 addition & 1 deletion api/src/org/labkey/api/util/PageFlowUtil.java
Original file line number Diff line number Diff line change
Expand Up @@ -2188,7 +2188,7 @@ public static JSONObject jsInitObject(ContainerUser context, @Nullable PageConfi
// Note: If you update this set of flags please update enum on client in @labkey/api
JSONObject experimental = new JSONObject();
experimental.put("containerRelativeURL", true);
experimental.put(AppProps.EXPERIMENTAL_NO_GUESTS, AppProps.getInstance().isOptionalFeatureEnabled(AppProps.EXPERIMENTAL_NO_GUESTS));
experimental.put(AppProps.OPTIONAL_NO_GUESTS, AppProps.getInstance().isOptionalFeatureEnabled(AppProps.OPTIONAL_NO_GUESTS));
json.put("experimental", experimental);

json.put("contextPath", contextPath);
Expand Down
2 changes: 1 addition & 1 deletion core/src/org/labkey/core/CoreModule.java
Original file line number Diff line number Diff line change
Expand Up @@ -1146,7 +1146,7 @@ public void moduleStartupComplete(ServletContext servletContext)
.filter(DataLoaderFactory::indexable)
.forEach(ss::addDocumentParser);

OptionalFeatureService.get().addExperimentalFeatureFlag(AppProps.EXPERIMENTAL_NO_GUESTS,
OptionalFeatureService.get().addExperimentalFeatureFlag(AppProps.OPTIONAL_NO_GUESTS,
"No Guest Account",
"Disable the guest account",
false);
Expand Down
28 changes: 28 additions & 0 deletions specimen/src/org/labkey/specimen/SpecimenModule.java
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@
import org.labkey.api.query.QueryView;
import org.labkey.api.query.UserSchema;
import org.labkey.api.security.User;
import org.labkey.api.security.permissions.Permission;
import org.labkey.api.security.roles.RoleManager;
import org.labkey.api.specimen.SpecimenMigrationService;
import org.labkey.api.specimen.SpecimenQuerySchema;
Expand All @@ -53,10 +54,14 @@
import org.labkey.api.study.Study;
import org.labkey.api.study.StudyInternalService;
import org.labkey.api.study.StudyService;
import org.labkey.api.study.StudyUrls;
import org.labkey.api.study.importer.SimpleStudyImportContext;
import org.labkey.api.study.importer.SimpleStudyImporterRegistry;
import org.labkey.api.study.writer.SimpleStudyWriterRegistry;
import org.labkey.api.usageMetrics.UsageMetricsService;
import org.labkey.api.util.LinkBuilder;
import org.labkey.api.util.PageFlowUtil;
import org.labkey.api.util.SafeToRender;
import org.labkey.api.util.SystemMaintenance;
import org.labkey.api.util.emailTemplate.EmailTemplateService;
import org.labkey.api.util.logging.LogHelper;
Expand All @@ -81,6 +86,8 @@
import org.labkey.specimen.query.SpecimenQueryView;
import org.labkey.specimen.query.SpecimenUpdateService;
import org.labkey.specimen.requirements.SpecimenRequestRequirementProvider;
import org.labkey.specimen.security.permissions.EditSpecimenDataPermission;
import org.labkey.specimen.security.permissions.ManageRequestSettingsPermission;
import org.labkey.specimen.security.roles.SpecimenCoordinatorRole;
import org.labkey.specimen.security.roles.SpecimenRequesterRole;
import org.labkey.specimen.settings.RepositorySettings;
Expand Down Expand Up @@ -235,6 +242,27 @@ public void addSpecimenPivotTableNames(Set<String> names)
}
return null;
}

@Override
public @Nullable SafeToRender getSpecimenSettingsLink(Container c, User user)
{
// Must have ManageRequestSettingsPermission and requests enabled (otherwise non-admin will see a blank Manage Study page)
if (c.hasPermission(user, ManageRequestSettingsPermission.class) && isEnableRequests(c))
{
return LinkBuilder.labkeyLink(
"Manage Specimen Request Settings",
PageFlowUtil.urlProvider(StudyUrls.class).getManageStudyURL(c)
);
}

return null;
}

@Override
public @NotNull Class<? extends Permission> getEditSpecimenDataPermission()
{
return EditSpecimenDataPermission.class;
}
});

SystemMaintenance.addTask(new QueryBasedSpecimenImportUploadTask());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,6 @@
import org.labkey.api.specimen.importer.RollupInstance;
import org.labkey.api.specimen.importer.VialSpecimenRollup;
import org.labkey.api.specimen.model.SpecimenTablesProvider;
import org.labkey.api.specimen.security.permissions.RequestSpecimensPermission;
import org.labkey.api.study.QueryHelper;
import org.labkey.api.study.QueryHelper.StudyCacheCollections;
import org.labkey.api.study.SpecimenUrls;
Expand All @@ -74,6 +73,7 @@
import org.labkey.specimen.requirements.SpecimenRequestRequirement;
import org.labkey.specimen.requirements.SpecimenRequestRequirementProvider;
import org.labkey.specimen.security.permissions.ManageRequestsPermission;
import org.labkey.specimen.security.permissions.RequestSpecimensPermission;
import org.labkey.specimen.settings.SettingsManager;

import java.io.IOException;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,6 @@
import org.labkey.api.specimen.Vial;
import org.labkey.api.specimen.location.LocationImpl;
import org.labkey.api.specimen.location.LocationManager;
import org.labkey.specimen.model.SpecimenTypeSummary;
import org.labkey.api.specimen.security.permissions.RequestSpecimensPermission;
import org.labkey.api.study.StudyUtils;
import org.labkey.api.util.PageFlowUtil;
import org.labkey.api.view.NotFoundException;
Expand All @@ -48,8 +46,10 @@
import org.labkey.specimen.model.AdditiveType;
import org.labkey.specimen.model.DerivativeType;
import org.labkey.specimen.model.PrimaryType;
import org.labkey.specimen.model.SpecimenTypeSummary;
import org.labkey.specimen.requirements.SpecimenRequest;
import org.labkey.specimen.security.permissions.ManageRequestsPermission;
import org.labkey.specimen.security.permissions.RequestSpecimensPermission;
import org.labkey.specimen.settings.RepositorySettings;
import org.labkey.specimen.settings.SettingsManager;
import org.springframework.validation.BindException;
Expand Down
11 changes: 5 additions & 6 deletions specimen/src/org/labkey/specimen/actions/SpecimenController.java
Original file line number Diff line number Diff line change
Expand Up @@ -107,17 +107,13 @@
import org.labkey.api.security.permissions.AdminPermission;
import org.labkey.api.security.permissions.ReadPermission;
import org.labkey.api.security.permissions.UpdatePermission;
import org.labkey.api.security.roles.ReaderRole;
import org.labkey.api.specimen.SpecimenQuerySchema;
import org.labkey.api.specimen.SpecimenSchema;
import org.labkey.api.specimen.Vial;
import org.labkey.api.specimen.location.LocationImpl;
import org.labkey.api.specimen.location.LocationManager;
import org.labkey.api.specimen.model.SpecimenComment;
import org.labkey.api.specimen.model.SpecimenTablesProvider;
import org.labkey.api.specimen.security.permissions.EditSpecimenDataPermission;
import org.labkey.api.specimen.security.permissions.ManageRequestSettingsPermission;
import org.labkey.api.specimen.security.permissions.RequestSpecimensPermission;
import org.labkey.api.study.CohortFilter;
import org.labkey.api.study.Dataset;
import org.labkey.api.study.MapArrayExcelWriter;
Expand Down Expand Up @@ -171,11 +167,10 @@
import org.labkey.specimen.RequestEventType;
import org.labkey.specimen.RequestedSpecimens;
import org.labkey.specimen.SpecimenManager;
import org.labkey.specimen.SpecimenRequestException;
import org.labkey.specimen.SpecimenModule;
import org.labkey.specimen.SpecimenRequestException;
import org.labkey.specimen.SpecimenRequestManager;
import org.labkey.specimen.SpecimenRequestStatus;
import org.labkey.specimen.security.roles.SpecimenRequesterRole;
import org.labkey.specimen.importer.QueryBasedSpecimenTransform;
import org.labkey.specimen.importer.RequestabilityManager;
import org.labkey.specimen.importer.SimpleSpecimenImporter;
Expand All @@ -194,14 +189,18 @@
import org.labkey.specimen.requirements.SpecimenRequestRequirement;
import org.labkey.specimen.requirements.SpecimenRequestRequirementProvider;
import org.labkey.specimen.requirements.SpecimenRequestRequirementType;
import org.labkey.specimen.security.permissions.EditSpecimenDataPermission;
import org.labkey.specimen.security.permissions.ManageDisplaySettingsPermission;
import org.labkey.specimen.security.permissions.ManageNewRequestFormPermission;
import org.labkey.specimen.security.permissions.ManageNotificationsPermission;
import org.labkey.specimen.security.permissions.ManageRequestRequirementsPermission;
import org.labkey.specimen.security.permissions.ManageRequestSettingsPermission;
import org.labkey.specimen.security.permissions.ManageRequestStatusesPermission;
import org.labkey.specimen.security.permissions.ManageRequestsPermission;
import org.labkey.specimen.security.permissions.ManageSpecimenActorsPermission;
import org.labkey.specimen.security.permissions.RequestSpecimensPermission;
import org.labkey.specimen.security.permissions.SetSpecimenCommentsPermission;
import org.labkey.specimen.security.roles.SpecimenRequesterRole;
import org.labkey.specimen.settings.DisplaySettings;
import org.labkey.specimen.settings.RepositorySettings;
import org.labkey.specimen.settings.RequestNotificationSettings;
Expand Down
4 changes: 2 additions & 2 deletions specimen/src/org/labkey/specimen/query/SpecimenQueryView.java
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,6 @@
import org.labkey.api.specimen.SpecimenSchema;
import org.labkey.api.specimen.Vial;
import org.labkey.api.specimen.model.SpecimenTablesProvider;
import org.labkey.api.specimen.security.permissions.EditSpecimenDataPermission;
import org.labkey.api.specimen.security.permissions.RequestSpecimensPermission;
import org.labkey.api.study.CohortFilter;
import org.labkey.api.study.Study;
import org.labkey.api.study.StudyService;
Expand All @@ -66,6 +64,8 @@
import org.labkey.api.view.ViewContext;
import org.labkey.api.writer.HtmlWriter;
import org.labkey.specimen.actions.SpecimenController;
import org.labkey.specimen.security.permissions.EditSpecimenDataPermission;
import org.labkey.specimen.security.permissions.RequestSpecimensPermission;
import org.labkey.specimen.settings.DisplaySettings;
import org.labkey.specimen.settings.RepositorySettings;
import org.labkey.specimen.settings.SettingsManager;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@
import org.labkey.api.query.UserSchema;
import org.labkey.api.security.User;
import org.labkey.api.specimen.SpecimenQuerySchema;
import org.labkey.api.specimen.security.permissions.RequestSpecimensPermission;
import org.labkey.api.study.Study;
import org.labkey.api.study.StudyService;
import org.labkey.api.study.StudyUtils;
Expand All @@ -44,6 +43,7 @@
import org.labkey.specimen.actions.SpecimenController.ManageRequestAction;
import org.labkey.specimen.actions.SpecimenController.SubmitRequestAction;
import org.labkey.specimen.security.permissions.ManageRequestsPermission;
import org.labkey.specimen.security.permissions.RequestSpecimensPermission;
import org.labkey.specimen.settings.SettingsManager;

import java.util.Set;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,20 +13,19 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.labkey.api.specimen.security.permissions;

package org.labkey.specimen.security.permissions;

import org.labkey.api.security.permissions.AbstractPermission;
import org.labkey.specimen.SpecimenModule;

/**
* User: davebradlee
* Date: 6/10/13
* Time: 2:53 PM
*/
public class EditSpecimenDataPermission extends AbstractPermission
{
public EditSpecimenDataPermission()
{
super("Edit Specimen Data", "Allows editing of specimen data");
super(
"Edit Specimen Data",
"Allows editing of specimen data",
SpecimenModule.class
);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,22 +13,19 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.labkey.api.specimen.security.permissions;
package org.labkey.specimen.security.permissions;

import org.labkey.api.security.permissions.AbstractPermission;
import org.labkey.api.study.StudyService;
import org.labkey.specimen.SpecimenModule;

/*
* User: Dave
* Date: May 18, 2009
* Time: 12:01:15 PM
*/
public class ManageRequestSettingsPermission extends AbstractPermission
{
public ManageRequestSettingsPermission()
{
super("Manage Specimen Request and Tracking Settings",
"Allows management of specimen request and tracking settings",
StudyService.get().getStudyModuleClass()); // TODO: Switch to SpecimenModule.class
super(
"Manage Specimen Request and Tracking Settings",
"Allows management of specimen request and tracking settings",
SpecimenModule.class
);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,22 +13,19 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.labkey.api.specimen.security.permissions;
package org.labkey.specimen.security.permissions;

import org.labkey.api.security.permissions.AbstractPermission;
import org.labkey.api.study.StudyService;
import org.labkey.specimen.SpecimenModule;

/*
* User: Dave
* Date: May 18, 2009
* Time: 11:43:40 AM
*/
public class RequestSpecimensPermission extends AbstractPermission
{
public RequestSpecimensPermission()
{
super("Request Specimens",
"Allows request of specimens",
StudyService.get().getStudyModuleClass()); // TODO: Switch to SpecimenModule.class
super(
"Request Specimens",
"Allows request of specimens",
SpecimenModule.class
);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,18 +17,18 @@

import org.jetbrains.annotations.NotNull;
import org.labkey.api.security.permissions.EditSharedViewPermission;
import org.labkey.api.specimen.security.permissions.EditSpecimenDataPermission;
import org.labkey.api.specimen.security.permissions.ManageRequestSettingsPermission;
import org.labkey.api.specimen.security.permissions.RequestSpecimensPermission;
import org.labkey.api.study.security.permissions.ManageStudyPermission;
import org.labkey.specimen.security.permissions.EditSpecimenDataPermission;
import org.labkey.specimen.security.permissions.LockSpecimensPermission;
import org.labkey.specimen.security.permissions.ManageDisplaySettingsPermission;
import org.labkey.specimen.security.permissions.ManageNewRequestFormPermission;
import org.labkey.specimen.security.permissions.ManageNotificationsPermission;
import org.labkey.specimen.security.permissions.ManageRequestRequirementsPermission;
import org.labkey.specimen.security.permissions.ManageRequestSettingsPermission;
import org.labkey.specimen.security.permissions.ManageRequestStatusesPermission;
import org.labkey.specimen.security.permissions.ManageRequestsPermission;
import org.labkey.specimen.security.permissions.ManageSpecimenActorsPermission;
import org.labkey.specimen.security.permissions.RequestSpecimensPermission;
import org.labkey.specimen.security.permissions.SetSpecimenCommentsPermission;

import java.util.Collection;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
package org.labkey.specimen.security.roles;

import org.jetbrains.annotations.NotNull;
import org.labkey.api.specimen.security.permissions.RequestSpecimensPermission;
import org.labkey.specimen.security.permissions.RequestSpecimensPermission;

import java.util.Collection;
import java.util.Set;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
*/
package org.labkey.specimen.view;

import org.labkey.api.specimen.security.permissions.RequestSpecimensPermission;
import org.labkey.api.study.StudyUrls;
import org.labkey.api.study.security.permissions.ManageStudyPermission;
import org.labkey.api.study.view.StudyToolsWebPart;
Expand All @@ -27,6 +26,7 @@
import org.labkey.specimen.actions.ShowSearchAction;
import org.labkey.specimen.actions.SpecimenController.AutoReportListAction;
import org.labkey.specimen.actions.SpecimenController.ShowCreateSpecimenRequestAction;
import org.labkey.specimen.security.permissions.RequestSpecimensPermission;
import org.labkey.specimen.settings.SettingsManager;

import java.util.ArrayList;
Expand Down
4 changes: 2 additions & 2 deletions specimen/src/org/labkey/specimen/view/manageSpecimens.jsp
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,12 @@
* limitations under the License.
*/
%>
<%@ page import="com.google.common.collect.Iterables"%>
<%@ page import="com.google.common.collect.Iterables" %>
<%@ page import="org.labkey.api.data.Container" %>
<%@ page import="org.labkey.api.exp.property.Domain" %>
<%@ page import="org.labkey.api.security.User" %>
<%@ page import="org.labkey.api.security.permissions.AdminPermission" %>
<%@ page import="org.labkey.api.specimen.model.SpecimenTablesProvider" %>
<%@ page import="org.labkey.api.specimen.security.permissions.ManageRequestSettingsPermission" %>
<%@ page import="org.labkey.api.study.SpecimenService" %>
<%@ page import="org.labkey.api.study.SpecimenTransform" %>
<%@ page import="org.labkey.api.study.Study" %>
Expand All @@ -41,6 +40,7 @@
<%@ page import="org.labkey.specimen.actions.SpecimenController.ManageSpecimenWebPartAction" %>
<%@ page import="org.labkey.specimen.actions.SpecimenController.ManageStatusesAction" %>
<%@ page import="org.labkey.specimen.requirements.SpecimenRequestRequirementProvider" %>
<%@ page import="org.labkey.specimen.security.permissions.ManageRequestSettingsPermission" %>
<%@ page import="org.labkey.specimen.settings.SettingsManager" %>
<%@ page import="java.util.Collection" %>
<%@ page extends="org.labkey.api.jsp.JspBase" %>
Expand Down
Loading