|
2 | 2 |
|
3 | 3 | import org.apache.commons.collections4.MultiValuedMap; |
4 | 4 | import org.apache.commons.io.FileUtils; |
| 5 | +import org.apache.commons.lang3.StringUtils; |
5 | 6 | import org.apache.log4j.Level; |
6 | 7 | import org.apache.log4j.Logger; |
7 | 8 | import org.json.JSONArray; |
|
10 | 11 | import org.labkey.api.data.AbstractTableInfo; |
11 | 12 | import org.labkey.api.data.ColumnInfo; |
12 | 13 | import org.labkey.api.data.Container; |
| 14 | +import org.labkey.api.data.ContainerManager; |
13 | 15 | import org.labkey.api.data.DbSchema; |
14 | 16 | import org.labkey.api.data.SQLFragment; |
15 | 17 | import org.labkey.api.data.Selector; |
|
22 | 24 | import org.labkey.api.ldk.LDKService; |
23 | 25 | import org.labkey.api.ldk.notification.NotificationSection; |
24 | 26 | import org.labkey.api.ldk.table.ButtonConfigFactory; |
| 27 | +import org.labkey.api.module.Module; |
| 28 | +import org.labkey.api.module.ModuleLoader; |
| 29 | +import org.labkey.api.module.ModuleProperty; |
25 | 30 | import org.labkey.api.security.User; |
26 | | -import org.labkey.api.services.ServiceRegistry; |
| 31 | +import org.labkey.api.security.UserManager; |
| 32 | +import org.labkey.api.security.ValidEmail; |
27 | 33 | import org.labkey.ldk.query.BuiltInColumnsCustomizer; |
28 | 34 | import org.labkey.ldk.query.ColumnOrderCustomizer; |
29 | 35 | import org.labkey.ldk.query.DefaultTableCustomizer; |
@@ -54,6 +60,7 @@ public class LDKServiceImpl extends LDKService |
54 | 60 | private List<List<String>> _containerScopedTables = new ArrayList<>(); |
55 | 61 | private Boolean _isNaturalizeInstalled = null; |
56 | 62 | private Map<String, Map<String, List<ButtonConfigFactory>>> _queryButtons = new CaseInsensitiveHashMap<Map<String, List<ButtonConfigFactory>>>(); |
| 63 | + private static final String BACKGROUND_USER_PROPNAME = "BackgroundAdminUser"; |
57 | 64 |
|
58 | 65 | public LDKServiceImpl() |
59 | 66 | { |
@@ -483,4 +490,31 @@ public void setBrowser(String browser) |
483 | 490 | _browser = browser; |
484 | 491 | } |
485 | 492 | } |
| 493 | + |
| 494 | + public User getBackgroundAdminUser() |
| 495 | + { |
| 496 | + Module m = ModuleLoader.getInstance().getModule(LDKModule.NAME); |
| 497 | + ModuleProperty mp = m.getModuleProperties().get(BACKGROUND_USER_PROPNAME); |
| 498 | + String username = StringUtils.trimToNull(mp.getValueContainerSpecific(ContainerManager.getRoot())); |
| 499 | + if (username != null) |
| 500 | + { |
| 501 | + User u = UserManager.getUserByDisplayName(username); |
| 502 | + if (u == null) |
| 503 | + { |
| 504 | + try |
| 505 | + { |
| 506 | + u = UserManager.getUser(new ValidEmail(username)); |
| 507 | + } |
| 508 | + catch (ValidEmail.InvalidEmailException e) |
| 509 | + { |
| 510 | + //ignore |
| 511 | + |
| 512 | + } |
| 513 | + } |
| 514 | + |
| 515 | + return u; |
| 516 | + } |
| 517 | + |
| 518 | + return null; |
| 519 | + } |
486 | 520 | } |
0 commit comments