PageRenderTime 40ms CodeModel.GetById 9ms RepoModel.GetById 0ms app.codeStats 0ms

/magehelp/application/views/acl/resource_grid.php

https://bitbucket.org/jit_bec/shopifine
PHP | 337 lines | 291 code | 34 blank | 12 comment | 9 complexity | e13dbf1d6978e5bf09fc2c18053ee193 MD5 | raw file
Possible License(s): LGPL-3.0
  1. <html>
  2. <head>
  3. <?php $this->load->view("common/header"); ?>
  4. <!-- <script type="text/javascript" src="http://jzaefferer.github.com/jquery-validation/jquery.validate.js"></script>-->
  5. <link rel="stylesheet" rev="stylesheet" href="<?php echo base_url();?>css/shopifine.css" />
  6. <link rel="stylesheet" type="text/css" media="screen" href="<?php echo base_url(); ?>css/ui.jqgrid.css" />
  7. <script src="<?php echo base_url(); ?>js/i18n/grid.locale-en.js" type="text/javascript"></script>
  8. <script src="<?php echo base_url(); ?>js/jquery.jqGrid.min.js" type="text/javascript" language="javascript" charset="UTF-8"></script>
  9. <!-- <script src="http://crypto-js.googlecode.com/svn/tags/3.0.2/build/rollups/md5.js"></script>-->
  10. <script>
  11. $(document).ready(function(){
  12. //user grid
  13. $("#permissionForm").validate({
  14. rules:{
  15. relativeOrder:{
  16. digits:true
  17. }
  18. }
  19. });
  20. $("#parent").combobox();
  21. var myGrid = $("#resources"),lastsel2;
  22. var editparameters = {
  23. "keys" : true,
  24. "oneditfunc" : null,
  25. "successfunc" : function(){
  26. var successStatus = "Resources successfully edited";
  27. showSuccessMessage(successStatus);
  28. lastsel2=undefined;
  29. myGrid.trigger("reloadGrid");
  30. return true;
  31. },
  32. "aftersavefunc" : null,
  33. "errorfunc": function(response)
  34. {
  35. var errorStatus = " Resources could not be updated due to internal error";
  36. showErrorMessage(errorStatus);
  37. lastsel2=undefined;
  38. },
  39. "afterrestorefunc" : null,
  40. "restoreAfterError" : true,
  41. "mtype" : "POST"
  42. };
  43. myGrid.jqGrid({
  44. url:'index.php/acls/populateResources',
  45. datatype: 'json',
  46. mtype: 'GET',
  47. colNames:['Resource','Resource Type Id','Parent Resource Id','Resource Type','Parent Resource','Description','UI Display Name','Relative Path','Relative Order'],
  48. colModel :[
  49. {name:'resource', index:'resource', width:100, align:'right',editable:false,editrules:{required:true},editoptions:{size:"20",maxlength:"30"}},
  50. {name:'resource_type_id', index:'resource_type_id', hidden:true},
  51. {name:'parent_id', index:'parent_id', hidden:true},
  52. {name:'resource_type', index:'resource_type', width:80, align:'right',editable:false,editrules:{required:true},edittype:"select",editoptions:{dataUrl:"index.php/acls/populateResourceTypesEdit",buildSelect:function(response)
  53. {
  54. var select = "<select name=" + "resOpEdit" + "id =" +"resOpEdit" +">" +
  55. "<option value=" + ">Select one..." + response + "</select>";
  56. return select;
  57. }}},
  58. {name:'parent', index:'parent', width:100, align:'right',editable:false,edittype:"select",editoptions:{dataUrl:"index.php/acls/populateParentResourcesEdit",buildSelect:function(response)
  59. {
  60. var select = "<select name=" + "parentOpEdit" + "id =" +"parentOpEdit" +">" +
  61. "<option value=" + ">Select one..." + response + "</select>";
  62. return select;
  63. }}},
  64. {name:'description',index:'description', width:120, align:'right',editable:true,editoptions:{size:"20",maxlength:"30"}},
  65. {name:'ui_display_name', index:'ui_display_name', width:100, align:'right',editable:true,editrules:{},editoptions:{size:"20",maxlength:"30"}},
  66. {name:'relative_path_link', index:'relative_path_link', width:140, align:'right',editable:true,editoptions:{size:"30",maxlength:"80"}},
  67. {name:'relative_order_in_category', index:'relative_order_in_category', width:80, align:'right',editable:true,editoptions:{size:"20",maxlength:"30"}}
  68. ],
  69. pager: '#pager',
  70. rowNum:10,
  71. rowList:[5,10,20],
  72. sortname: 'id',
  73. sortorder: 'desc',
  74. viewrecords: true,
  75. gridview: true,
  76. ignoreCase:true,
  77. rownumbers:true,
  78. height:'auto',
  79. width:'auto',
  80. caption: 'Resources',
  81. jsonReader : {
  82. root:"resourcedata",
  83. page: "page",
  84. total: "total",
  85. records: "records",
  86. cell: "dprow",
  87. id: "id"
  88. },
  89. // onSelectRow: function(id){if(id && id!==lastsel2){
  90. // myGrid.restoreRow(lastsel2);
  91. // myGrid.editRow(id,editparameters);
  92. // lastsel2=id;
  93. // }
  94. // },
  95. editurl:'index.php/acls/editResource'
  96. }).navGrid("#pager",{edit:false,add:false,del:false,search:false},
  97. /* edit Option*/ {height:280,reloadAfterSubmit:false,closeAfterEdit:true,recreateForm:true,checkOnSubmit:true},
  98. /* Add Option*/ {
  99. },{},{},{});
  100. myGrid.jqGrid('navButtonAdd','pager',{
  101. caption:"",
  102. title:"Add Resource",
  103. buttonicon:"ui-icon-plus",
  104. id:"add_resources",
  105. onClickButton : function () {
  106. //need to pass grid id for dynamic reload;
  107. var gridData ={'oper':'add'}
  108. $( "#permission-form-dialog" ).data('grid_data',gridData).dialog( "open" );
  109. }
  110. });
  111. myGrid.jqGrid('navButtonAdd','pager',{
  112. caption:"",
  113. title:"Edit Resource",
  114. buttonicon:"ui-icon-pencil",
  115. id:"edit_resources",
  116. onClickButton : function () {
  117. //need to pass grid id for dynamic reload;
  118. var rowid = myGrid.getGridParam('selrow');
  119. if (rowid !=null && rowid!=undefined){
  120. var gridData ={'oper':'edit','resource_id':rowid};
  121. $( "#permission-form-dialog" ).data('grid_data',gridData).dialog( "open" );
  122. }
  123. else{
  124. $( "#modal-warning-one" ).dialog('open');
  125. }
  126. }
  127. });
  128. myGrid.jqGrid('filterToolbar', {stringResult: true, searchOnEnter: true, defaultSearch : "cn"});
  129. $( "#permission-form-dialog" ).dialog({
  130. autoOpen: false,
  131. height: 'auto',
  132. width: '35%',
  133. position:[450,25],
  134. modal: true,
  135. buttons: {
  136. "Add Resource": function() {
  137. //default form name
  138. var isvalid = $("#permissionForm").valid();
  139. if (isvalid){
  140. $.ajax({
  141. url:"index.php/acls/editResource",
  142. type:"POST",
  143. data:{
  144. form_data:$("#permissionForm").toObject()
  145. },
  146. success:function (response){
  147. console.log("success" + response)
  148. },
  149. error :function (response){
  150. }
  151. })
  152. $( this ).dialog( "close" );
  153. }
  154. },
  155. Cancel: function() {
  156. $( this ).dialog( "close" );
  157. }
  158. },
  159. open: function(event,ui){
  160. var oper = $(this).data("grid_data").oper;
  161. var resource_id = $(this).data("grid_data").resource_id;
  162. if (oper=='add'){
  163. $("#permTypeCntnr").show();
  164. $("#oper_hidden").val(oper);
  165. }
  166. else if (oper=='edit'){
  167. //no change of default during edit.
  168. $("#permTypeCntnr").hide();
  169. var parent_id = $("#resources").getCell(resource_id,'parent_id');
  170. if (!isEmpty(parent_id)){
  171. $("#parent").combobox("setselected",parent_id);
  172. }
  173. $("#oper_hidden").val(oper);
  174. $("#resource_id_hidden").val(resource_id);
  175. $("#resource").val($("#resources").getCell(resource_id,'resource'));
  176. $("#resourceType").val($("#resources").getCell(resource_id,'resource_type_id'));
  177. $("#description").val($("#resources").getCell(resource_id,'description'));
  178. $("#uiDisplayName").val($("#resources").getCell(resource_id,'ui_display_name'));
  179. $("#relativePath").val($("#resources").getCell(resource_id,'relative_path_link'));
  180. $("#relativeOrder").val($("#resources").getCell(resource_id,'relative_order_in_category'));
  181. }
  182. },
  183. close: function(event,ui) {
  184. $("#permissionForm").data('validator').resetForm();
  185. $('#permissionForm')[0].reset();
  186. $("#resources").trigger('reloadGrid');
  187. }
  188. });
  189. //for submenu parent is required
  190. $("#resourceType").change(function(){
  191. if ($(this).val()=="3"){
  192. $("#parent-input").addClass("required");
  193. }
  194. else {
  195. $("#parent-input").removeClass("required");
  196. }
  197. });
  198. });
  199. $(window).load(function(){
  200. var warningDialogs={one:true,none:true};
  201. initDialogs(warningDialogs);
  202. });
  203. </script>
  204. </head>
  205. <body>
  206. <?php $this->load->view("common/menubar"); ?>
  207. <?php $this->load->view("common/dialogs"); ?>
  208. <div style="display: block;height: 100%;width:90%;left:0em;" class="shopifine-ui-dialog ui-widget ui-widget-content ui-corner-all" tabindex="-1" role="dialog" aria-labelledby="ui-dialog-title-dialog-form">
  209. <?php //$this->load->view("common/message"); ?>
  210. <div class="table-grid">
  211. <h1 id="table header">Resources</h1>
  212. <table id="resources"><tr><td/></tr></table>
  213. <div id="pager"></div>
  214. </div>
  215. </div>
  216. <div id ="permission-form-dialog">
  217. <h1 id="formHeader">Add New Resource</h1>
  218. <form id="permissionForm">
  219. <fieldset>
  220. <div class="row single-column-row">
  221. <div class="column quote-column single-column">
  222. <div class="field">
  223. <label for="resource" class="labeldiv-edit">Resource:</label>
  224. <input id="resource" name ="resource" type="text" class="required"/>
  225. </div>
  226. </div>
  227. </div>
  228. <div class="row single-column-row">
  229. <div class="column quote-column single-column">
  230. <div class="field">
  231. <label for="resourceType" class="labeldiv-edit">Resource Type:</label>
  232. <select name="resourceType" id ="resourceType" class="required">
  233. <option value="">Choose
  234. <?= $resourceTypeOptions ?>
  235. </select>
  236. </div>
  237. </div>
  238. </div>
  239. <div class="row single-column-row" id="permTypeCntnr">
  240. <div class="column quote-column single-column">
  241. <div class="field">
  242. <label for="permissionType" class="labeldiv-edit">Default Permission Type:</label>
  243. <select name="permissionType" id ="permissionType" class="required">
  244. <option value="">Choose
  245. <?= $permissionTypeOptions ?>
  246. </select>
  247. <div id ="permission-help" class="ui-corner-all help-message-left">
  248. (For Administrator Role)
  249. </div>
  250. </div>
  251. </div>
  252. </div>
  253. <div class="row single-column-row">
  254. <div class="column quote-column single-column">
  255. <div class="field">
  256. <label for="parent" class="labeldiv-edit">Parent Resource:</label>
  257. <select name="parent" id ="parent">
  258. <option value="">Choose
  259. <?= $parentOptions ?>
  260. </select>
  261. </div>
  262. </div>
  263. </div>
  264. <div class="row single-column-row">
  265. <div class="column quote-column single-column">
  266. <div class="field">
  267. <label for="description" class="labeldiv-edit">Description:</label>
  268. <input id="description" name="description"/>
  269. </div>
  270. </div>
  271. </div>
  272. <div class="row single-column-row">
  273. <div class="column quote-column single-column">
  274. <div class="field">
  275. <label for="uiDisplayName" class="labeldiv-edit">UI Display Name:</label>
  276. <input id="uiDisplayName" name="uiDisplayName"/>
  277. </div>
  278. </div>
  279. </div>
  280. <div class="row single-column-row">
  281. <div class="column quote-column single-column">
  282. <div class="field">
  283. <label for="relativePath" class="labeldiv-edit">Relative Path:</label>
  284. <input id="relativePath" name="relativePath" size="30" maxlength="100"/>
  285. </div>
  286. </div>
  287. </div>
  288. <div class="row single-column-row">
  289. <div class="column quote-column single-column">
  290. <div class="field">
  291. <label for="relativeOrder" class="labeldiv-edit">Relative Order:</label>
  292. <input id="relativeOrder" name="relativeOrder"/>
  293. </div>
  294. </div>
  295. </div>
  296. </fieldset>
  297. <input id="resource_id_hidden" name="resource_id_hidden" type="hidden"/>
  298. <input id="oper_hidden" name="oper_hidden" type="hidden"/>
  299. </form>
  300. </div>
  301. <?php $this->load->view("partial/footer"); ?>
  302. </body>
  303. </html>