Advertisement
Guest User

Untitled

a guest
Jul 1st, 2013
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.91 KB | None | 0 0
  1. <%@ include file="/WEB-INF/template/include.jsp" %>
  2.  
  3. <openmrs:require privilege="Manage Modules" otherwise="/login.htm" redirect="/admin/modules/module.list" />
  4.  
  5. <%@ include file="/WEB-INF/template/header.jsp" %>
  6. <%@ include file="localHeader.jsp" %>
  7. <openmrs:htmlInclude file="/scripts/jquery/dataTables/css/dataTables.css" />
  8. <openmrs:htmlInclude file="/scripts/jquery/dataTables/js/jquery.dataTables.min.js" />
  9. <openmrs:htmlInclude file="/scripts/jquery-ui/js/jquery-ui-1.7.2.custom.min.js" />
  10. <link href="<openmrs:contextPath/>/scripts/jquery-ui/css/<spring:theme code='jqueryui.theme.name' />/jquery-ui.custom.css" type="text/css" rel="stylesheet" />
  11. <script type="text/javascript">
  12. var oTable;
  13.  
  14. function validateDependencies(module){
  15.  
  16. var moduleId = module.parentNode.parentNode.id;
  17. var path = "${pageContext.request.contextPath}/admin/modules/manage/checkdependencies.form";
  18. var result = false;
  19. path = path + "?moduleId=" + moduleId;
  20. alert(path);
  21.  
  22. $j.ajax({
  23. async: false,
  24. type : "GET",
  25. url : path,
  26. dataType : "text",
  27. success : function(data) {
  28. if(data != ""){ //If conflicting dependencies found, then display confirmation message
  29. var message = '<openmrs:message code="Module.dependencyShutdownNotice" javaScriptEscape="true"/>';
  30. message += '<br/><br/>' + data;
  31.  
  32.  
  33. document.getElementById('dependency-confirmation-message').innerHTML = message;
  34. $j( "#dialog-confirm" ).dialog({
  35. async: false,
  36. resizable: false,
  37. width: '50%',
  38. modal: true,
  39. buttons: {
  40. "Stop module": function() {
  41. $j( this ).dialog( "close" );
  42. return true;
  43. },
  44. Cancel: function() {
  45. $j( this ).dialog( "close" );
  46. return false;
  47. }
  48. }
  49. });
  50. }else{
  51. alert('no dependencies detected !');
  52. //Directly shutdown module if It has no conflicting dependencies
  53. result = true;
  54. }
  55. }
  56. });
  57.  
  58. alert('exiting' + result);
  59. return result;
  60.  
  61. }
  62.  
  63.  
  64. $("#yesno").easyconfirm({locale: { title: 'Select Yes or No', button: ['No','Yes']}});
  65. $("#yesno").click(function() {
  66. alert("You clicked yes");
  67. });
  68.  
  69. $j('#errorDetailsX').dialog({
  70. autoOpen: false,
  71. modal: true,
  72. title: 'eeeeeeeeeeeeeeeeeeeeeeeeeee',
  73. width: '90%'
  74. });
  75.  
  76. $j(document).ready(function() {
  77. $j('#addUpgradePopup').dialog({
  78. autoOpen: false,
  79. modal: true,
  80. title: '<openmrs:message code="Module.addOrUpgrade" javaScriptEscape="true"/>',
  81. width: '90%'
  82. });
  83.  
  84. $j('#addUpgradeButton').click(function() {
  85. $j('#addUpgradePopup').dialog('open');
  86. });
  87.  
  88. $j('.errorDetailsButton').click(function() {
  89. var detailsNum = $j(this).attr('id').substring(118); // strip 'errorDetailsButton'
  90. $j('#errorDetails' + detailsNum).dialog('open');
  91. });
  92.  
  93. oTable = $j('#findModuleTable').dataTable({
  94. "aoColumns": [ { "sName": "Action", "bSortable": false,
  95. "fnRender": function ( oObj ) {
  96. var downloadURL = oObj.aData[0];
  97. return '<form action="module.list" method="post"><input type="hidden" name="download" value="true" /><input type="hidden" name="action" value="upload" /><input type="hidden" name="downloadURL" value="' + downloadURL + '" /><input type="submit" value="<openmrs:message code="Module.install" />" /></form>';
  98. }
  99. },
  100. { "sName": "Name" },
  101. { "sName": "Version" },
  102. { "sName": "Author" },
  103. { "sName": "Description" }
  104. ],
  105. "bLengthChange": false,
  106. "aaSorting": [[1,'asc'], [2,'desc']],
  107. "bAutoWidth": false,
  108. "sPaginationType": "two_button",
  109. "bProcessing": true,
  110. "bServerSide": true,
  111. "fnServerData": function ( sSource, aoData, fnCallback ) {
  112. aoData.push( { "name": "openmrs_version", "value": "${openmrsVersion}" } );
  113.  
  114. <c:forEach var="module" items="${loadedModules}">
  115. aoData.push( { "name": "excludeModule", "value": "${module.moduleId}" } );
  116. </c:forEach>
  117.  
  118. $j.ajax( {
  119. "dataType": 'jsonp',
  120. "type": "GET",
  121. "url": "${moduleRepositoryURL}/findModules",
  122. "data": aoData,
  123. "success": fnCallback
  124. } );
  125. }
  126. });
  127. });
  128. </script>
  129.  
  130. <h2><openmrs:message code="Module.header" /></h2>
  131.  
  132. <p><openmrs:message code="Module.notice" /></p>
  133. <div class="errorDetailsX" id="errorDetailsX">
  134. <pre style="margin: 0px;">XRT</pre>
  135. </div>
  136. <div id="dialog-confirm" title="<openmrs:message code="Module.dependencyValidationNotice"/>"><p id="dependency-confirmation-message"></p></div>
  137. <a href="#" id="yesno">Normal test with yes and no</a>
  138.  
  139. <c:choose>
  140. <c:when test="${allowAdmin == 'true'}">
  141. <div id="buttonPanel">
  142. <div style="float:left">
  143. <input type="button" id="addUpgradeButton" value="<openmrs:message code="Module.addOrUpgrade" javaScriptEscape="true"/>"/>
  144. <div id="addUpgradePopup">
  145. <b class="boxHeader"><openmrs:message code="Module.add"/></b>
  146. <div class="box">
  147. <form id="moduleAddForm" action="module.list" method="post" enctype="multipart/form-data">
  148. <input type="file" name="moduleFile" size="40" <c:if test="${allowAdmin!='true'}">disabled="disabled"</c:if> />
  149. <input type="hidden" name="action" value="upload"/>
  150. <input type="submit" value='<openmrs:message code="Module.upload"/>'/>
  151. </form>
  152. </div>
  153. <br/>
  154.  
  155. <b class="boxHeader"><openmrs:message code="Module.upgrade"/></b>
  156. <div class="box">
  157. <form method="post" id="uploadUpdateForm" enctype="multipart/form-data">
  158. <input type="file" name="moduleFile" size="40" />
  159. <input type="hidden" name="action" value="upload"/>
  160. <input type="hidden" name="update" value="true"/>
  161. <input type="submit" value='<openmrs:message code="Module.upload"/>'/>
  162. </form>
  163. </div>
  164. <br/>
  165.  
  166. <div id="findModule">
  167. <b class="boxHeader"><openmrs:message code="Module.findAndDownload" arguments="${moduleRepositoryURL}" /></b>
  168. <div class="box">
  169. <table id="findModuleTable" cellpadding="5" cellspacing="0">
  170. <thead>
  171. <tr>
  172. <th><openmrs:message code="general.action"/></th>
  173. <th><openmrs:message code="general.name"/></th>
  174. <th><openmrs:message code="general.version"/></th>
  175. <th><openmrs:message code="general.author"/></th>
  176. <th><openmrs:message code="general.description"/></th>
  177. </tr>
  178. </thead>
  179. <tbody>
  180. </tbody>
  181. </table>
  182. </div>
  183. </div>
  184. <br/>
  185. </div>
  186. </div>
  187. <div style="float:left">
  188. <form method="post"><input type="submit" value='<openmrs:message code="Module.checkForUpdates"/>'/></form>
  189. </div>
  190. <div style="clear:both">&nbsp;</div>
  191. </div>
  192. </c:when>
  193. <c:otherwise>
  194. ${disallowUploads}
  195. </c:otherwise>
  196. </c:choose>
  197.  
  198. <c:forEach var="module" items="${moduleList}" varStatus="varStatus">
  199. <c:if test="${varStatus.first}">
  200. <b class="boxHeader"><openmrs:message code="Module.manage" /></b>
  201. <div class="box" id="moduleListing">
  202. <table cellpadding="5" cellspacing="0">
  203. <thead>
  204. <tr>
  205. <c:if test="${allowAdmin=='true'}">
  206. <th colspan="2"><openmrs:message code="general.action"/></th>
  207. </c:if>
  208. <th><openmrs:message code="general.name"/></th>
  209. <th><openmrs:message code="general.version"/></th>
  210. <th><openmrs:message code="general.author"/></th>
  211. <th><openmrs:message code="general.description"/></th>
  212. <th></th>
  213. <th></th>
  214. </tr>
  215. </thead>
  216. <tbody>
  217. </c:if>
  218.  
  219. <form id="moduleManagement" method="post">
  220. <input type="hidden" name="moduleId" value="${module.moduleId}" />
  221. <tr class='${varStatus.index % 2 == 0 ? "oddRow" : "evenRow" }' id="${module.moduleId}">
  222. ${module.moduleId}
  223. <c:choose>
  224. <c:when test="${allowAdmin=='true' && module.mandatory == false && module.coreModule == false}">
  225. <td valign="top">
  226. <c:choose>
  227. <c:when test="${not module.started}">
  228. <input type="image" src="${pageContext.request.contextPath}/images/play.gif" name="start" onclick="document.getElementById('hiddenAction').value = this.value" title="<openmrs:message code="Module.start.help"/>" alt="<openmrs:message code="Module.start"/>" />
  229. </c:when>
  230. <c:otherwise>
  231. <input type="image" src="${pageContext.request.contextPath}/images/stop.gif" name="stop" onclick="return validateDependencies(this);" title="<openmrs:message code="Module.stop.help"/>" alt="<openmrs:message code="Module.stop"/>" />
  232. </c:otherwise>
  233. </c:choose>
  234. </td>
  235. <td valign="top"><input type="image" src="${pageContext.request.contextPath}/images/trash.gif" name="unload" onclick="return confirm('<openmrs:message code="Module.unloadWarning"/>');" title="<openmrs:message code="Module.unload.help"/>" title="<openmrs:message code="Module.unload"/>" alt="<openmrs:message code="Module.unload"/>" /></td>
  236. </c:when>
  237. <c:otherwise>
  238. <td valign="top">
  239. <img src="${pageContext.request.contextPath}/images/lock.gif" title="<openmrs:message code="Module.locked.help"/>" alt="<openmrs:message code="Module.locked"/>" />
  240. </td>
  241. <td></td>
  242. </c:otherwise>
  243. </c:choose>
  244. <td valign="top">${module.name} <c:if test="${not module.started}"><b id="moduleNotStarted" style="white-space: nowrap">[<openmrs:message code="Module.notStarted"/>]</b></c:if></td>
  245. <td valign="top">${module.version}</td>
  246. <td valign="top">${module.author}</td>
  247. <td valign="top">${fn:substring(fn:escapeXml(module.description),0, 200)}...</td>
  248. <td valign="top"<c:if test="${module.startupErrorMessage != null}">class="error"</c:if> >
  249. <c:if test="${module.startupErrorMessage != null}">
  250. <span class="errorDetailsButton" id="errorDetailsButton${varStatus.index}">
  251. <openmrs:message code="Module.errorClickForDetails"/>
  252. </span>
  253. <div class="errorDetailsDialog" id="errorDetails${varStatus.index}">
  254. <pre style="margin: 0px;">${module.startupErrorMessage}</pre>
  255. </div>
  256. <script type="text/javascript">
  257. $j('#errorDetails${varStatus.index}').dialog({
  258. autoOpen: false,
  259. modal: true,
  260. title: '<openmrs:message code="Module.errorStarting" arguments="${module.name}" javaScriptEscape="true"/>',
  261. width: '90%'
  262. });
  263. </script>
  264. </c:if>
  265. </td>
  266. <td>
  267. <c:if test="${module.downloadURL != null}">
  268. ${module.updateVersion}
  269. <openmrs:message code="Module.updateAvailable" />
  270. <c:if test="${allowAdmin=='true'}">
  271. <input type="submit" name="action" value='<openmrs:message code="Module.installUpdate"/>'>
  272. <openmrs:message code="general.or"/>
  273. </c:if>
  274. <a href="${module.downloadURL}"><openmrs:message code="Module.downloadUpdate"/></a>
  275. </c:if>
  276. </td>
  277. </tr>
  278. </form>
  279.  
  280. <c:if test="${varStatus.last}">
  281. </tbody>
  282. </table>
  283. </div>
  284.  
  285. </c:if>
  286.  
  287. </c:forEach>
  288.  
  289. <c:if test="${fn:length(moduleList) == 0}">
  290. <i> &nbsp; <openmrs:message code="Module.noLoadedModules"/></i><br/>
  291. </c:if>
  292.  
  293. <br/>
  294.  
  295. <b class="boxHeader"><openmrs:message code="Module.help" /></b>
  296. <div class="box">
  297. <ul>
  298. <li><i><openmrs:message code="Module.help.load"/></i></li>
  299. <c:if test="${fn:length(moduleList) > 0}">
  300. <li><i><openmrs:message code="Module.help.unload"/></i></li>
  301. <li><i><openmrs:message code="Module.help.startStop"/></i></li>
  302. <li><i><openmrs:message code="Module.help.update"/></i></li>
  303. </c:if>
  304. <li><i><openmrs:message code="Module.help.findMore"/></i></li>
  305. </ul>
  306. </div>
  307.  
  308. <%@ include file="/WEB-INF/template/footer.jsp" %>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement