PageRenderTime 46ms CodeModel.GetById 17ms RepoModel.GetById 0ms app.codeStats 0ms

/magehelp/application/views/acl/role_grid.php

https://bitbucket.org/jit_bec/shopifine
PHP | 215 lines | 178 code | 21 blank | 16 comment | 5 complexity | 7cc430d63cc0d8d0ac211aa0ccec2b0f 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. <link rel="stylesheet" rev="stylesheet" href="<?php echo base_url();?>css/chosen.css" />
  8. <script src="<?php echo base_url(); ?>js/i18n/grid.locale-en.js" type="text/javascript"></script>
  9. <script src="<?php echo base_url(); ?>js/jquery.jqGrid.min.js" type="text/javascript" language="javascript" charset="UTF-8"></script>
  10. <script src="<?php echo base_url();?>js/chosen.jquery.min.js" type="text/javascript" language="javascript" charset="UTF-8"></script>
  11. <!-- <script src="http://crypto-js.googlecode.com/svn/tags/3.0.2/build/rollups/md5.js"></script>-->
  12. <script>
  13. $(document).ready(function(){
  14. //user grid
  15. $("#roleform").validate();
  16. var myGrid = $("#roles"),lastsel2;
  17. var editparameters = {
  18. "keys" : true,
  19. "oneditfunc" : null,
  20. "successfunc" : function(){
  21. var successStatus = "Roles successfully edited";
  22. showSuccessMessage(successStatus);
  23. lastsel2=undefined;
  24. myGrid.trigger("reloadGrid");
  25. return true;
  26. },
  27. "aftersavefunc" : null,
  28. "errorfunc": function(response)
  29. {
  30. var errorStatus = " Roles could not be updated due to internal error";
  31. showErrorMessage(errorStatus);
  32. lastsel2=undefined;
  33. },
  34. "afterrestorefunc" : null,
  35. "restoreAfterError" : true,
  36. "mtype" : "POST"
  37. };
  38. myGrid.jqGrid({
  39. url:'index.php/acls/populateRoles',
  40. datatype: 'json',
  41. mtype: 'GET',
  42. colNames:['Role','Parent Role'],
  43. colModel :[
  44. {name:'role_id', index:'role_id', width:120, align:'right',editable:true,edittype:"select",editoptions:{dataUrl:"index.php/acls/populateRolesEdit",buildSelect:function(response)
  45. {
  46. var select = "<select name=" + "parentOpEdit" + "id =" +"parentOpEdit" +">" +
  47. "<option value=" + ">Select one..." + response + "</select>";
  48. return select;
  49. }}},
  50. /*{name:'description',index:'description', width:120, align:'right',editable:true,editoptions:{size:"20",maxlength:"30"}},*/
  51. {name:'parent_role_id', index:'parent_role_id', width:120, align:'right',editable:true,edittype:"select",editoptions:{dataUrl:"index.php/acls/populateRolesEdit",buildSelect:function(response)
  52. {
  53. var select = "<select name=" + "parentOpEdit" + "id =" +"parentOpEdit" +">" +
  54. "<option value=" + ">Select one..." + response + "</select>";
  55. return select;
  56. }}},
  57. ],
  58. pager: '#pager',
  59. rowNum:10,
  60. rowList:[5,10,20],
  61. sortname: 'id',
  62. sortorder: 'desc',
  63. viewrecords: true,
  64. gridview: true,
  65. ignoreCase:true,
  66. rownumbers:true,
  67. height:'auto',
  68. width:'300px',
  69. caption: 'Roles',
  70. jsonReader : {
  71. root:"roledata",
  72. page: "page",
  73. total: "total",
  74. records: "records",
  75. cell: "dprow",
  76. id: "id"
  77. },
  78. onSelectRow: function(id){if(id && id!==lastsel2){
  79. myGrid.restoreRow(lastsel2);
  80. myGrid.editRow(id,editparameters);
  81. lastsel2=id;
  82. }
  83. },
  84. editurl:'index.php/acls/editRoleInheritance'
  85. }).navGrid("#pager",{edit:false,add:true,del:false,search:false},
  86. /* edit Option*/ {height:280,reloadAfterSubmit:false,closeAfterEdit:true,recreateForm:true,checkOnSubmit:true},
  87. /* Add Option*/ {reloadAfterSubmit:true,recreateForm:true /*, beforeShowForm:function(form){
  88. var roleElem = $("#tr_role_name",form);
  89. $('<tr class="FormData" id="tr_username" disply>\n\
  90. <td class="CaptionTD">User Name</td>\n\
  91. <td class="DataTD">&nbsp;<input type="text" size="20" maxlength="30" id="username" \n\
  92. name="username" role="textbox" class="FormElement ui-widget-content ui-corner-all">\n\
  93. </td></tr>').insertBefore(roleElem);
  94. $('<tr class="FormData" id="tr_password">\n\
  95. <td class="CaptionTD">Temporary Password</td>\n\
  96. <td class="DataTD">&nbsp;<input type="text" size="20" maxlength="30" id="password" \n\
  97. name="password" role="textbox" class="FormElement ui-widget-content ui-corner-all">\n\
  98. </td></tr>').insertBefore(roleElem);
  99. } */
  100. ,afterSubmit: function (response,postdata){
  101. var success = false;
  102. var message;
  103. var res = response.responseText;
  104. if (res == 'error')
  105. return [false,'This Parent Already Exists for Role'];
  106. else {
  107. return [true,''];
  108. }
  109. }
  110. },{},{},{});
  111. myGrid.jqGrid('filterToolbar', {stringResult: true, searchOnEnter: true, defaultSearch : "cn"});
  112. $("#addBtn").click(function(e){
  113. //e.preventDefault();
  114. var bValid = $("#roleform").valid();
  115. if (bValid ){
  116. var name = $("#name").val();
  117. var parent = $("#parentOptions").val();
  118. console.log(parent);
  119. $.ajax({url:"index.php/acls/createRole",
  120. type:"POST",
  121. data:{name:name,parent:parent},
  122. success:function(response)
  123. {
  124. var successStatus = "Role successfully added";
  125. showSuccessMessage(successStatus);
  126. myGrid.trigger("reloadGrid");
  127. },
  128. error:function(response)
  129. {
  130. var errorStatus = " Role could not be added due to internal error";
  131. showErrorMessage(errorStatus);
  132. }
  133. })
  134. }
  135. });
  136. });
  137. </script>
  138. </head>
  139. <body>
  140. <?php $this->load->view("common/menubar"); ?>
  141. <div style="display: block;height: 500px;width:50%;left:0em;margin:0 auto;" class="shopifine-ui-dialog ui-widget ui-widget-content ui-corner-all" tabindex="-1" role="dialog" aria-labelledby="ui-dialog-title-dialog-form">
  142. <div class="form-container">
  143. <div class="ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix">
  144. <span class="ui-dialog-title" id="ui-dialog-title-dialog-form">&nbsp;</span>
  145. <a href="#" class="ui-dialog-titlebar-close ui-corner-all" role="button">
  146. </a>
  147. </div>
  148. <div class="ui-dialog-content" style="width: auto; min-height: 65.1333px; height: auto;" scrolltop="0" scrollleft="0">
  149. <h1 id="formHeader">Add Role </h1>
  150. <form id="roleform" class="single-column-form" style="left:0%">
  151. <fieldset>
  152. <div class="row single-column-row">
  153. <div class="column single-column">
  154. <div class="field">
  155. <label for="name">Name of Role :</label>
  156. <input id="name" name ="name" type="text" class="required"/>
  157. </div>
  158. </div>
  159. </div>
  160. <div class="row single-column-row">
  161. <div class="column single-column">
  162. <div class="field">
  163. <label for="parentOptions">Choose Parents :</label>
  164. <select name="parentOptions[]" id ="parentOptions" class="chzn-select" multiple="multiple" style="width:200px;height:20px;">
  165. <option value="">Choose
  166. <?=$roleOptions?>
  167. </select>
  168. </div>
  169. </div>
  170. </div>
  171. </fieldset>
  172. </form>
  173. </div>
  174. <div class="ui-dialog-buttonpane shopifine-ui-widget-content ui-helper-clearfix">
  175. <div class="shopifine-ui-dialog-buttonset">
  176. <button id="addBtn" type="button" class="shopifine-ui-button ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" role="button" aria-disabled="false">
  177. <span class="ui-button-text">Add Roles</span>
  178. </div>
  179. </div>
  180. </div>
  181. <?php $this->load->view("common/message"); ?>
  182. <div class="table-grid" style="margin: 0 auto; width:65%">
  183. <h1 id="table header">Parents to Roles</h1>
  184. <table id="roles"><tr><td/></tr></table>
  185. <div id="pager"></div>
  186. </div>
  187. </div>
  188. <?php $this->load->view("partial/footer"); ?>
  189. </body>
  190. </html>
  191. <script>
  192. $(".chzn-select").chosen();
  193. </script>