PageRenderTime 51ms CodeModel.GetById 25ms RepoModel.GetById 1ms app.codeStats 0ms

/magehelp/application/views/procurement/invoice/purchase_invoice_grid.php

https://bitbucket.org/jit_bec/shopifine
PHP | 404 lines | 329 code | 67 blank | 8 comment | 4 complexity | 39c6cc18745c6240fddcd48ff08f9ba4 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. <style>
  6. .column {
  7. float: left;
  8. padding: 1em;
  9. width:30%;
  10. }
  11. .extra-wide{
  12. width:95%;
  13. }
  14. .field{
  15. width:100%;
  16. }
  17. .ui-widget-header {height:12px;}
  18. .quote-column {
  19. float: left;
  20. padding-bottom: 0.5em;
  21. width: 95%;
  22. }
  23. .ui-combobox {
  24. width:14em;
  25. }
  26. .ui-combobox-input{
  27. width:12em;
  28. }
  29. #supplierOp-input{
  30. width:10em;
  31. }
  32. #warehouseOp-input{
  33. width:10em;
  34. }
  35. .calculated {
  36. color: green;
  37. font-size: 90%;
  38. }
  39. .row{
  40. width:95%;
  41. }
  42. .shopifine-ro-label {
  43. float: left;
  44. padding-right: 0.5em;
  45. width: 50%;
  46. word-wrap: break-word;
  47. color:#2E6E9E;
  48. }
  49. .shopifine-output {
  50. float: right;
  51. width: 45%;
  52. word-wrap: break-word;
  53. font-weight:bold;
  54. }
  55. .ui-tabs {
  56. height: 80%;
  57. margin: 0 auto;
  58. width: 70%;
  59. left:0;
  60. }
  61. #notetab {
  62. height:30em;
  63. }
  64. #details {
  65. height:12em;
  66. }
  67. .ui-tabs-nav{
  68. height:22px;
  69. }
  70. .labeldiv {
  71. color: #2E6E9E;
  72. float: left;
  73. font-size: 110%;
  74. font-weight: bold;
  75. margin-right: .5em;
  76. width: 35%;
  77. word-wrap: break-word;
  78. }
  79. .valuediv {
  80. float: left;
  81. font-weight: bold;
  82. width: 45%;
  83. word-wrap: break-word;
  84. }
  85. label.error {
  86. margin-right: .5em;
  87. }
  88. #status-message-li{
  89. color: red;
  90. font-size: 110%;
  91. font-style: italic;
  92. margin: 0 auto;
  93. width: 80%;
  94. }
  95. .table-grid {
  96. padding-top: 2em;
  97. }
  98. .help-message {
  99. color: green;
  100. float: right;
  101. font-size: 90%;
  102. font-style: italic;
  103. width: 65%;
  104. }
  105. </style>
  106. <script type="text/javascript">
  107. $(function() {
  108. $.validator.addMethod('tallyamount', function (value, el) {
  109. var already_paid = parseFloat($("#amount_paid_form").text());
  110. var pay_amount = parseFloat($("#amount").val());
  111. var total_invoiced_value = parseFloat($("#total_value_form").text());
  112. var prev_amount = $("#prev_amount").val();
  113. var total_paid= already_paid + pay_amount-prev_amount;
  114. if (total_paid>total_invoiced_value){
  115. return false;
  116. }
  117. else {
  118. return true;
  119. }
  120. },"Total Payment Exceeds Invoiced ");
  121. $.validator.addMethod('tallyadvance', function (value, el) {
  122. var advance_value = parseFloat($("#advance_value").text());
  123. var pay_amount = parseFloat($("#amount").val());
  124. var adjusted_advance = parseFloat($("#adjusted_advance").text());
  125. var prev_amount = $("#prev_amount").val();
  126. var total_paid= adjusted_advance + pay_amount - prev_amount;
  127. if (total_paid>advance_value){
  128. return false;
  129. }
  130. else {
  131. return true;
  132. }
  133. },"Total Adjusted Payment Exceeds Advance Payment ");
  134. $("#paymentForm").validate({rules:{
  135. amount:{
  136. required:true,
  137. number:true,
  138. minStrict:0,
  139. tallyamount:true,
  140. tallyadvance:true
  141. }
  142. }}
  143. );
  144. // Main Request For Quotation Grid
  145. var myGrid = $("#orders");
  146. var postData={_status:['pending','partiallypaid']}
  147. var settingsObj = {grid_id:'orders',pager:'pager',multiselect:true};
  148. prepareInvoicesGrid(settingsObj,postData,true,{},{},{});
  149. myGrid.navGrid("#pager",{edit:false,add:false,view:false,del:false,search:false},{},{},{},{},{});
  150. var buttons ={manage:true,assign:true,mark_payer:true,load_owner_all:true};
  151. addCustomButtonsInVoiceGrid(settingsObj, buttons) ;
  152. myGrid.jqGrid('filterToolbar', {stringResult: true, searchOnEnter: true, defaultSearch : "cn"});
  153. //$("#del_orders").insertAfter("#add_orders");
  154. $( "#dialog-form" ).dialog({
  155. autoOpen: false,
  156. height: 'auto',
  157. width: '55%',
  158. position:[300,25],
  159. modal: true,
  160. buttons: {
  161. Cancel: function() {
  162. $( this ).dialog( "close" );
  163. }
  164. },
  165. open: function(event,ui){
  166. var invoice_id = myGrid.getGridParam('selrow');
  167. var settingsObj ={grid_id:'payments',pager:'pagerPayments',multiselect:true};
  168. var postData={invoiceId: myGrid.getGridParam('selrow')};
  169. var owner_id = myGrid.getCell(invoice_id,'owner_id');
  170. preparePaymentsGrid(settingsObj,postData);
  171. $("#payments").navGrid("#pagerPayments",{edit:false,add:false,del:false,search:false,view:true},{},{},{},{},{});
  172. var btns = {add:true,edit:true,adjust:true,data:{type:'general',owner_id:owner_id,invoice_id:invoice_id,order_id:myGrid.getCell(invoice_id,'order_id')}};
  173. addCustomButtonsInPaymentsGrid('payments','pagerPayments',null,btns);
  174. $("#payments").jqGrid('filterToolbar', {stringResult: true, searchOnEnter: true, defaultSearch : "cn"});
  175. console.log(invoice_id);
  176. $("#invoice").text(myGrid.getCell(invoice_id,'reference'));
  177. $("#total_value").text(myGrid.getCell(invoice_id,'total_value'));
  178. $("#order_ref").text(myGrid.getCell(invoice_id,'order_reference'));
  179. $("#amount_paid").text(myGrid.getCell(invoice_id,'amount_paid'));
  180. },
  181. close: function(event,ui) {
  182. $("#estValue").text("");
  183. $("#curPrice").text("");
  184. $("#status-message-li").empty();
  185. $("#payments").jqGrid("GridUnload");
  186. myGrid.trigger("reloadGrid");
  187. }
  188. });
  189. });
  190. $(window).load(function(){
  191. var warningDialogs={one:true,none:true,status:true};
  192. initDialogs(warningDialogs);
  193. initPaymentDialog();
  194. initErrorDialogs({total:true,advance:true});
  195. $("#advance_ref").change(function(){
  196. $.ajax({
  197. url:"index.php/procurement/getPaymentDetails",
  198. type:"POST",
  199. data:{pay_id:$(this).val()
  200. },
  201. success:function (response){
  202. var resObj = JSON.parse(response);
  203. $(".paymentCntnr,#advancePaymentAmountCntnr").show();
  204. $("#oper_payment").val("assign");
  205. $("#payment_id").val(resObj.id);
  206. $("#payment_ref").val(resObj.payment_reference);
  207. $("#payment_mode").val(resObj.payment_mode);
  208. $("#bankcomments").val(resObj.comments);
  209. //$("#amount").val($("#payments").getCell(pay_id,'amount'));
  210. $("#payment_ref").attr('readonly','readonly');
  211. $("#payment_mode").attr('readonly','readonly');
  212. $("#advance_value").text(resObj.amount);
  213. $("#adjusted_advance").text(resObj.invoiced_amount);
  214. },
  215. error:function (response){
  216. }
  217. });
  218. });
  219. });
  220. </script>
  221. </head>
  222. <body>
  223. <?php $this->load->view("common/menubar"); ?>
  224. <?php $this->load->view("common/dialogs"); ?>
  225. <div style="display: block;height: 100%;" class="shopifine-ui-dialog ui-widget ui-widget-content ui-corner-all" tabindex="-1" role="dialog" aria-labelledby="ui-dialog-title-dialog-form">
  226. <?php $this->load->view("common/message"); ?>
  227. <div class="table-grid">
  228. <h1 id="table header">Invoices To Pay</h1>
  229. <table id="orders"><tr><td/></tr></table>
  230. <div id="pager"></div>
  231. </div>
  232. </div>
  233. <div id ="dialog-form">
  234. <h1 id="formHeader">Add Payments For Invoice #: <span id="invoice" name ="invoice" ></span> </h1>
  235. <div id ="status-message-li" class="ui-corner-all">
  236. </div>
  237. <div class="row ">
  238. <div class="column ">
  239. <div class="field">
  240. <div class="labeldiv">Total Value:</div>
  241. <div class="valuediv" id="total_value" name ="total_value" ></div>
  242. </div>
  243. </div>
  244. <div class="column ">
  245. <div class="field">
  246. <div class="labeldiv">Amount Paid :</div>
  247. <div class="valuediv" name="amount_paid" id="amount_paid" ></div>
  248. </div>
  249. </div>
  250. <div class="column ">
  251. <div class="field">
  252. <div class="labeldiv">Order Reference:</div>
  253. <div class="valuediv" name="order_ref" id="order_ref" ></div>
  254. </div>
  255. </div>
  256. </div>
  257. <div id ="status-message-li" class="ui-corner-all">
  258. </div>
  259. <div class="table-grid">
  260. <h1 id="table_header_payment">Payment Details</h1>
  261. <table id="payments"><tr><td/></tr></table>
  262. <div id="pagerPayments"></div>
  263. </div>
  264. </div>
  265. <!-- <div id ="dialog-form-item">
  266. <h1 id="formHeader">Payment Details</h1>
  267. <form id="paymentForm">
  268. <fieldset>
  269. <div class="row single-column-row">
  270. <div class="column quote-column single-column">
  271. <div class="field">
  272. <div class="labeldiv">Total Value:</div>
  273. <div class="valuediv" id="total_value_form" name="total_value_form" ></div>
  274. </div>
  275. </div>
  276. </div>
  277. <div class="row single-column-row">
  278. <div class="column quote-column single-column">
  279. <div class="field">
  280. <div class="labeldiv">Amount Paid:</div>
  281. <div class="valuediv" id="amount_paid_form" name="amount_paid_form" ></div>
  282. </div>
  283. </div>
  284. </div>
  285. <div class="row single-column-row">
  286. <div class="column quote-column single-column">
  287. <div class="field">
  288. <label for="payment_mode" class="labeldiv">Payment Type:</label>
  289. <select id="payment_mode" name ="payment_mode" class="required">
  290. <option value="">Choose..</option>
  291. <option value="cash">Cash</option>
  292. <option value="cheque">Cheque</option>
  293. <option value="draft">Draft</option>
  294. <option value="online">Online</option>
  295. </select>
  296. </div>
  297. </div>
  298. </div>
  299. <div class="row single-column-row">
  300. <div class="column quote-column single-column">
  301. <div class="field">
  302. <label for="payment_ref" class="labeldiv">Payment Reference:</label>
  303. <input id="payment_ref" name="payment_ref" class="required"/>
  304. <div id ="receipt-help" class="ui-corner-all help-message">
  305. (Provide Cheque Number/Draft Number/Online Transaction Id)
  306. </div>
  307. </div>
  308. </div>
  309. </div>
  310. <div class="row single-column-row">
  311. <div class="column quote-column single-column">
  312. <div class="field">
  313. <label for="amount" class="labeldiv">Amount:</label>
  314. <input id="amount" name="amount" />
  315. </div>
  316. </div>
  317. </div>
  318. <div class="row single-column-row">
  319. <div class="column quote-column single-column">
  320. <div class="field">
  321. <label for="comments" class="labeldiv">Bank Details:</label>
  322. <textarea id="bankcomments" name="bankcomments" row="5" col="40"></textarea>
  323. <div id ="receipt-help" class="ui-corner-all help-message">
  324. (Provide Account # , Branch Etc:)
  325. </div>
  326. </div>
  327. </div>
  328. </div>
  329. <input id="oper" name="oper" type="hidden" value=""/>
  330. <input id="type" name="type" type="hidden" value=""/>
  331. <input id="payment_id" name="payment_id" type="hidden" value=""/>
  332. </fieldset>
  333. </form>
  334. </div>-->
  335. <?php $this->load->view("partial/footer"); ?>
  336. </body>
  337. </html>