Changeset 4632
- Timestamp:
- Nov 22, 2017, 1:45:39 PM (6 years ago)
- Location:
- extensions/net.sf.basedb.relax/trunk
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
extensions/net.sf.basedb.relax/trunk/resources/admin/install.jsp
r4630 r4632 2 2 pageEncoding="UTF-8" 3 3 session="false" 4 import="net.sf.basedb.core.Application"5 import="net.sf.basedb.core.User"6 import="net.sf.basedb.core.Role"7 import="net.sf.basedb.core.DbControl"8 4 import="net.sf.basedb.core.SessionControl" 9 import="net.sf.basedb.core.SystemItems"10 import="net.sf.basedb.core.PermissionDeniedException"11 5 import="net.sf.basedb.clients.web.Base" 12 6 import="net.sf.basedb.clients.web.util.HTML" … … 22 16 final float scale = Base.getScale(sc); 23 17 final String home = ExtensionsControl.getHomeUrl("net.sf.basedb.relax.admin"); 24 DbControl dc = null;25 try26 {27 dc = sc.newDbControl();28 final User user = User.getById(dc, sc.getLoggedInUserId());29 boolean isAdmin = user.getId() == SystemItems.getId(User.ROOT)30 || sc.getActiveRoles().contains(SystemItems.getId(Role.ADMINISTRATOR));31 32 if (!isAdmin)33 {34 throw new PermissionDeniedException("This page requires Administrator privileges.");35 }36 37 18 %> 38 <base:page type="default" 19 <base:page type="default"> 39 20 <base:head 40 21 scripts="~../relax.js,~install.js" … … 182 163 </base:buttongroup> 183 164 </div> 184 185 <div id="wizard-status" style="display:none; margin-top: 1em;"></div>186 165 </div> 166 <div id="wizard-status" style="display:none; margin-top: 1em;"></div> 187 167 188 168 </div> … … 190 170 </base:body> 191 171 </base:page> 192 <%193 }194 finally195 {196 if (dc != null) dc.close();197 }198 %> -
extensions/net.sf.basedb.relax/trunk/resources/export/map-external-data.js
r4631 r4632 19 19 Events.addEventHandler('wizard', 'wizard-submit', map.submit); 20 20 21 Doc.show('step-1'); 22 Doc.show('goexport'); 21 Relax.checkIsAdmin('"MapDataToReleases" wizard', 22 function() 23 { 24 Doc.show('step-1'); 25 Doc.show('goexport'); 26 }); 23 27 } 24 28 -
extensions/net.sf.basedb.relax/trunk/resources/export/map-external-data.jsp
r4631 r4632 2 2 pageEncoding="UTF-8" 3 3 session="false" 4 import="net.sf.basedb.core.Application"5 import="net.sf.basedb.core.User"6 import="net.sf.basedb.core.Role"7 import="net.sf.basedb.core.SystemItems"8 import="net.sf.basedb.core.DbControl"9 4 import="net.sf.basedb.core.SessionControl" 10 import="net.sf.basedb.core.PermissionDeniedException"11 5 import="net.sf.basedb.clients.web.Base" 12 6 import="net.sf.basedb.clients.web.util.HTML" … … 21 15 final float scale = Base.getScale(sc); 22 16 final String home = ExtensionsControl.getHomeUrl("net.sf.basedb.relax.admin"); 23 DbControl dc = null;24 try25 {26 dc = sc.newDbControl();27 final User user = User.getById(dc, sc.getLoggedInUserId());28 boolean isAdmin = user.getId() == SystemItems.getId(User.ROOT)29 || sc.getActiveRoles().contains(SystemItems.getId(Role.ADMINISTRATOR));30 31 if (!isAdmin)32 {33 throw new PermissionDeniedException("This page requires Administrator privileges.");34 }35 17 %> 36 18 <base:page type="default" > … … 95 77 </base:body> 96 78 </base:page> 97 <%98 }99 finally100 {101 if (dc != null) dc.close();102 }103 %> -
extensions/net.sf.basedb.relax/trunk/resources/index-admin.js
r4630 r4632 6 6 index.initPage = function() 7 7 { 8 // Nothing to do yet!8 Relax.checkIsAdmin('Relax (admin)', null, './'); 9 9 } 10 10 -
extensions/net.sf.basedb.relax/trunk/resources/index-admin.jsp
r4630 r4632 2 2 pageEncoding="UTF-8" 3 3 session="false" 4 import="net.sf.basedb.core.Application"5 import="net.sf.basedb.core.User"6 import="net.sf.basedb.core.Role"7 import="net.sf.basedb.core.DbControl"8 4 import="net.sf.basedb.core.SessionControl" 9 import="net.sf.basedb.core.SystemItems"10 import="net.sf.basedb.core.PermissionDeniedException"11 5 import="net.sf.basedb.clients.web.Base" 12 6 import="net.sf.basedb.clients.web.util.HTML" … … 22 16 final float scale = Base.getScale(sc); 23 17 final String home = ExtensionsControl.getHomeUrl("net.sf.basedb.relax.admin"); 24 DbControl dc = null;25 try26 {27 dc = sc.newDbControl();28 final User user = User.getById(dc, sc.getLoggedInUserId());29 boolean isAdmin = user.getId() == SystemItems.getId(User.ROOT)30 || sc.getActiveRoles().contains(SystemItems.getId(Role.ADMINISTRATOR));31 32 if (!isAdmin)33 {34 throw new PermissionDeniedException("This page requires Administrator privileges.");35 }36 18 %> 37 19 <base:page type="default" > … … 84 66 font-size: 1em; 85 67 } 68 69 #wizard.disabled > div > div 70 { 71 display: none; 72 } 86 73 </style> 87 74 </base:head> … … 90 77 <p:path><p:pathelement title="Relax" /></p:path> 91 78 92 <div class="content"> 93 79 <div class="content" id="wizard"> 80 <div id="wizard-status"></div> 81 94 82 <div class="absolutefull" style="width: 50%; right: auto;"> 95 83 <div class="absolutefull" style="left: 0.5em; right: 0.5em;"> … … 123 111 </base:body> 124 112 </base:page> 125 <%126 }127 finally128 {129 if (dc != null) dc.close();130 }131 %> -
extensions/net.sf.basedb.relax/trunk/resources/relax.js
r4631 r4632 6 6 relax.VERSION = '1.1-beta-2'; 7 7 8 9 relax.checkIsAdmin = function(message, callback, servletDir) 10 { 11 var url = (servletDir || '../') + 'Session.servlet?ID='+App.getSessionId(); 12 url += '&cmd=CheckIsAdmin'; 13 if (message) url += '&message='+encodeURIComponent(message); 14 if (!callback) callback = function() {}; 15 Wizard.asyncJsonRequest(url, callback); 16 } 17 8 18 return relax; 9 19 }(); … … 674 684 { 675 685 container = Doc.element(container); 686 if (!container) return; 676 687 var input = container.getElementsByTagName('input'); 677 688 for (var i = 0; i < input.length; i++) -
extensions/net.sf.basedb.relax/trunk/src/net/sf/basedb/relax/Relax.java
r4610 r4632 18 18 import net.sf.basedb.core.Include; 19 19 import net.sf.basedb.core.ItemQuery; 20 import net.sf.basedb.core.Permission; 21 import net.sf.basedb.core.PermissionDeniedException; 22 import net.sf.basedb.core.Role; 20 23 import net.sf.basedb.core.SessionControl; 24 import net.sf.basedb.core.SystemItems; 25 import net.sf.basedb.core.User; 21 26 import net.sf.basedb.relax.converter.DateToStringConverter; 22 27 import net.sf.basedb.relax.converter.StringToDateConverter; … … 140 145 } 141 146 147 /** 148 Check if the logged in user is an administrator. 149 @since 1.1 150 */ 151 public static boolean isAdmin(SessionControl sc) 152 { 153 boolean isAdmin = sc.getLoggedInUserId() == SystemItems.getId(User.ROOT) 154 || sc.getActiveRoles().contains(SystemItems.getId(Role.ADMINISTRATOR)); 155 return isAdmin; 156 } 157 158 /** 159 Throws a PermissionDeniedException if the logged in user is not an administrator 160 @since 1.1 161 */ 162 public static void checkIsAdmin(SessionControl sc, String message) 163 { 164 if (!isAdmin(sc)) throw new PermissionDeniedException(Permission.USE, message); 165 } 166 142 167 private static synchronized void loadConfig() 143 168 { -
extensions/net.sf.basedb.relax/trunk/src/net/sf/basedb/relax/servlet/InstallServlet.java
r4608 r4632 82 82 if ("Validate".equals(cmd) || "Install".equals(cmd)) 83 83 { 84 Relax.checkIsAdmin(sc, "'" + cmd + "' wizard"); 85 84 86 dc = sc.newDbControl(); 87 85 88 boolean createIfMissing = "Install".equals(cmd); 86 89 JSONArray jsonChecks = new JSONArray(); -
extensions/net.sf.basedb.relax/trunk/src/net/sf/basedb/relax/servlet/SessionServlet.java
r4631 r4632 15 15 import net.sf.basedb.relax.JsonUtil; 16 16 import net.sf.basedb.relax.Relax; 17 import net.sf.basedb.util.Values; 17 18 import net.sf.basedb.util.error.ThrowableUtil; 18 19 … … 72 73 } 73 74 } 75 else if ("CheckIsAdmin".equals(cmd)) 76 { 77 String message = Values.getString(req.getParameter("message"), "this wizard"); 78 sc = Relax.getSessionControl(req); 79 Relax.checkIsAdmin(sc, message); 80 } 74 81 75 82 }
Note: See TracChangeset
for help on using the changeset viewer.