Няма описание

myuses.html 49KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569
  1. <!--
  2. * Copyright (c) 2015 Mountainstorm
  3. *
  4. * Permission is hereby granted, free of charge, to any person obtaining a copy
  5. * of this software and associated documentation files (the "Software"), to deal
  6. * in the Software without restriction, including without limitation the rights
  7. * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  8. * copies of the Software, and to permit persons to whom the Software is
  9. * furnished to do so, subject to the following conditions:
  10. *
  11. * The above copyright notice and this permission notice shall be included in all
  12. * copies or substantial portions of the Software.
  13. *
  14. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  15. * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  16. * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  17. * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  18. * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  19. * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  20. * SOFTWARE.
  21. *
  22. * Original from https://github.com/mountainstorm/jquery.graphviz.svg/blob/master/demo.html
  23. -->
  24. <html>
  25. <head>
  26. <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.4/css/bootstrap.min.css">
  27. <!-- <link rel="stylesheet" href="css/graphviz.svg.css"> -->
  28. </head>
  29. <style>
  30. #instructions {
  31. color: #000000;
  32. position: absolute;
  33. z-index: 100;
  34. bottom: 0px;
  35. left: 0px;
  36. }
  37. </style>
  38. <body>
  39. <h4 id="instructions">Click node to highlight; Shift-scroll to zoom; Esc to unhighlight</h4>
  40. <div id="graph" style="width: 100%; height: 100%; overflow: scroll;"></div>
  41. <script type="text/javascript" src="https://code.jquery.com/jquery-2.1.3.min.js"></script>
  42. <script src="https://cdn.jsdelivr.net/npm/jquery-mousewheel@3.1.13/jquery.mousewheel.min.js"></script>
  43. <script type="text/javascript" src="https://cdn.rawgit.com/jquery/jquery-color/master/jquery.color.js"></script>
  44. <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.4/js/bootstrap.min.js"></script>
  45. <script type="text/javascript">!function(t){"use strict";String.prototype.startsWith=function(t){return 0==this.indexOf(t)},String.prototype.endsWith=function(t){return-1!==this.indexOf(t,this.length-t.length)};var e=function(t,e){this.type=null,this.options=null,this.enabled=null,this.$element=null,this.init("graphviz.svg",t,e)};e.VERSION="1.0.1",e.GVPT_2_PX=32.5,e.DEFAULTS={url:null,svg:null,shrink:"0.125pt",tooltips:{init:function(e){var i=t(this);i.tooltip({container:e,placement:"auto left",animation:!1,viewport:null}).on("hide.bs.tooltip",function(){if(i.attr("data-tooltip-keepvisible"))return!1})},show:function(){var e=t(this);e.attr("data-tooltip-keepvisible",!0),e.tooltip("show")},hide:function(){var e=t(this);e.removeAttr("data-tooltip-keepvisible"),e.tooltip("hide")},update:function(){var e=t(this);e.attr("data-tooltip-keepvisible")&&e.tooltip("show")}},zoom:!0,highlight:{selected:function(t,e){return t},unselected:function(t,e){return jQuery.Color(t).transition(e,.9)}},ready:null},e.prototype.init=function(e,i,n){if(this.enabled=!0,this.type=e,this.$element=t(i),this.options=this.getOptions(n),n.url){var o=this;t.get(n.url,null,function(e){var i=t("svg",e);o.$element.html(document.adoptNode(i[0])),o.setup()},"xml")}else n.svg&&this.$element.html(n.svg),this.setup()},e.prototype.getDefaults=function(){return e.DEFAULTS},e.prototype.getOptions=function(e){return(e=t.extend({},this.getDefaults(),this.$element.data(),e)).shrink&&("object"!=typeof e.shrink&&(e.shrink={x:e.shrink,y:e.shrink}),e.shrink.x=this.convertToPx(e.shrink.x),e.shrink.y=this.convertToPx(e.shrink.y)),e},e.prototype.setup=function(){var e=this.options,i=t(this.$element.children("svg")),n=i.children("g:first");this.$svg=i,this.$graph=n,this.$background=n.children("polygon:first"),this.$nodes=n.children(".node"),this.$edges=n.children(".edge"),this._nodesByName={},this._edgesByName={},this.$element.addClass("graphviz-svg"),this.$background.length&&this.$element.css("background",this.$background.attr("fill"));var o=this;this.$nodes.each(function(){o.setupNodesEdges(t(this),!0)}),this.$edges.each(function(){o.setupNodesEdges(t(this),!1)});var r=this.$graph.children("title");this.$graph.attr("data-name",r.text()),r.remove(),e.zoom&&this.setupZoom(),e.ready&&e.ready.call(this)},e.prototype.setupNodesEdges=function(e,i){var n=this,o=this.options;e.find("polygon, ellipse, path").each(function(){var e=t(this);e.data("graphviz.svg.color",{fill:e.attr("fill"),stroke:e.attr("stroke")}),i&&o.shrink&&n.scaleNode(e)});var r,s,h=e.children("title");if(h[0]){var a=h.text().replace(/:[snew][ew]?/g,"");e.attr("data-name",a),h.remove(),i?this._nodesByName[a]=e[0]:this._edgesByName[a]=e[0];for(var l=e[0].previousSibling;l&&8!=l.nodeType;)l=l.previousSibling;if(null!=l&&8==l.nodeType){var p=(r=l.nodeValue.trim(),(s=document.createElement("div")).innerHTML=r,s.childNodes[0].nodeValue);p!=a&&e.attr("data-comment",p)}}e.children("a").filter(function(){return t(this).attr("xlink:title")}).each(function(){var e=t(this);e.attr("title",e.attr("xlink:title")),e.removeAttr("xlink:title"),o.tooltips&&o.tooltips.init.call(this,n.$element)})},e.prototype.setupZoom=function(){var t=this,e=this.$element,i=this.$svg;this.zoom={width:i.attr("width"),height:i.attr("height"),percentage:null},this.scaleView(100),e.mousewheel(function(n){if(n.shiftKey){var o=t.zoom.percentage;(o-=n.deltaY*n.deltaFactor)<100&&(o=100);var r=n.pageX-i.offset().left,s=n.pageY-i.offset().top,h=r/i.width(),a=s/i.height(),l=n.pageX-e.offset().left,p=n.pageY-e.offset().top;return t.scaleView(o),e.scrollLeft(h*i.width()+.5-l),e.scrollTop(a*i.height()+.5-p),!1}})},e.prototype.scaleView=function(t){var e=this,i=this.$svg;i.attr("width",t+"%"),i.attr("height",t+"%"),this.zoom.percentage=t,this.$nodes.add(this.$edges).children("a[title]").each(function(){e.options.tooltips.update.call(this)})},e.prototype.scaleNode=function(t){var e=this.options.shrink.x,i=this.options.shrink.y,n=t.prop("tagName");if("ellipse"==n)t.attr("rx",parseFloat(t.attr("rx"))-e),t.attr("ry",parseFloat(t.attr("ry"))-i);else if("polygon"==n){var o=t[0].getBBox(),r=o.x+o.width/2,s=o.y+o.height/2,h=t.attr("points").split(" "),a="";for(var l in h){var p=h[l].split(","),d=parseFloat(p[0]),u=parseFloat(p[1]);a+=(r-d)/(o.width/2)*e+d+","+((s-u)/(o.height/2)*i+u)+" "}t.attr("points",a)}},e.prototype.convertToPx=function(t){var i=t;if("string"==typeof t){var n=t.length,o=1;t.endsWith("px")?n-=2:t.endsWith("pt")&&(n-=2,o=e.GVPT_2_PX),i=parseFloat(t.substring(0,n))*o}return i},e.prototype.findEdge=function(t,e,i){var n=[];for(var o in this._edgesByName){var r=e(t,o);r&&(i&&i.push(this._edgesByName[o]),n.push(r))}return n},e.prototype.findLinked=function(e,i,n,o){var r=t(e),s=null;i&&(s=o);var h=this.findEdge(r.attr("data-name"),n,s);for(var a in h){var l=this._nodesByName[h[a]];o.is(l)||(o.push(l),this.findLinked(l,i,n,o))}},e.prototype.colorElement=function(e,i){var n=this.$element.css("background");e.find("polygon, ellipse, path").each(function(){var e=t(this),o=e.data("graphviz.svg.color");o.fill&&"path"!=e.prop("tagName")&&e.attr("fill",i(o.fill,n)),o.stroke&&e.attr("stroke",i(o.stroke,n))})},e.prototype.restoreElement=function(e){e.find("polygon, ellipse, path").each(function(){var e=t(this),i=e.data("graphviz.svg.color");i.fill&&e.attr("fill",i.fill),i.stroke&&e.attr("stroke",i.stroke)})},e.prototype.nodes=function(){return this.$nodes},e.prototype.edges=function(){return this.$edges},e.prototype.nodesByName=function(){return this._nodesByName},e.prototype.edgesByName=function(){return this._edgesByName},e.prototype.linkedTo=function(e,i){var n=t();return this.findLinked(e,i,function(t,e){var i=null,n="->"+t;return e.endsWith(n)&&(i=e.substring(0,e.length-n.length)),i},n),n},e.prototype.linkedFrom=function(e,i){var n=t();return this.findLinked(e,i,function(t,e){var i=null,n=t+"->";return e.startsWith(n)&&(i=e.substring(n.length)),i},n),n},e.prototype.linked=function(e,i){var n=t();return this.findLinked(e,i,function(t,e){return"^"+name+"--(.*)$"},n),this.findLinked(e,i,function(t,e){return"^(.*)--"+name+"$"},n),n},e.prototype.tooltip=function(e,i){var n=this.options;e.each(function(){t(this).children("a[title]").each(function(){i?n.tooltips.show.call(this):n.tooltips.hide.call(this)})})},e.prototype.bringToFront=function(t){t.detach().appendTo(this.$graph)},e.prototype.sendToBack=function(t){this.$background.length?$element.insertAfter(this.$background):t.detach().prependTo(this.$graph)},e.prototype.highlight=function(e,i){var n=this,o=this.options,r=this.$nodes.add(this.$edges);e&&e.length>0?(r.not(e).each(function(){n.colorElement(t(this),o.highlight.unselected),n.tooltip(t(this))}),e.each(function(){n.colorElement(t(this),o.highlight.selected)}),i&&this.tooltip(e,!0)):(r.each(function(){n.restoreElement(t(this))}),this.tooltip(r))},e.prototype.destroy=function(){var t=this;this.hide(function(){t.$element.off("."+t.type).removeData(t.type)})};var i=t.fn.graphviz;t.fn.graphviz=function(i){return this.each(function(){var n=t(this),o=n.data("graphviz.svg"),r="object"==typeof i&&i;!o&&/destroy/.test(i)||(o||n.data("graphviz.svg",o=new e(this,r)),"string"==typeof i&&o[i]())})},t.fn.graphviz.Constructor=e,t.fn.graphviz.noConflict=function(){return t.fn.graphviz=i,this}}(jQuery);</script>
  46. <script type="text/javascript">
  47. $(document).ready(function(){
  48. $("#graph").graphviz({
  49. svg: `<?xml version="1.0" encoding="UTF-8" standalone="no"?>
  50. <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
  51. "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
  52. <!-- Generated by graphviz version 13.1.2 (20250808.2320)
  53. -->
  54. <!-- Title: G Pages: 1 -->
  55. <svg width="4445pt" height="633pt"
  56. viewBox="0.00 0.00 4445.00 633.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
  57. <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 629.4)">
  58. <title>G</title>
  59. <polygon fill="white" stroke="none" points="-4,4 -4,-629.4 4441,-629.4 4441,4 -4,4"/>
  60. <g id="clust1" class="cluster">
  61. <title>cluster_G</title>
  62. <path fill="#808080" fill-opacity="0.094118" stroke="black" d="M20,-8C20,-8 4417,-8 4417,-8 4423,-8 4429,-14 4429,-20 4429,-20 4429,-605.4 4429,-605.4 4429,-611.4 4423,-617.4 4417,-617.4 4417,-617.4 20,-617.4 20,-617.4 14,-617.4 8,-611.4 8,-605.4 8,-605.4 8,-20 8,-20 8,-14 14,-8 20,-8"/>
  63. </g>
  64. <g id="clust2" class="cluster">
  65. <title>cluster_report__views</title>
  66. <path fill="#808080" fill-opacity="0.094118" stroke="black" d="M28,-16C28,-16 4409,-16 4409,-16 4415,-16 4421,-22 4421,-28 4421,-28 4421,-384.43 4421,-384.43 4421,-390.43 4415,-396.43 4409,-396.43 4409,-396.43 28,-396.43 28,-396.43 22,-396.43 16,-390.43 16,-384.43 16,-384.43 16,-28 16,-28 16,-22 22,-16 28,-16"/>
  67. <text xml:space="preserve" text-anchor="middle" x="2218.5" y="-379.13" font-family="Times,serif" font-size="14.00">report.views</text>
  68. </g>
  69. <g id="clust3" class="cluster">
  70. <title>cluster_report__views__CustomerTemplateCRUDView</title>
  71. <path fill="#808080" fill-opacity="0.094118" stroke="black" d="M74,-510.91C74,-510.91 309,-510.91 309,-510.91 315,-510.91 321,-516.91 321,-522.91 321,-522.91 321,-597.4 321,-597.4 321,-603.4 315,-609.4 309,-609.4 309,-609.4 74,-609.4 74,-609.4 68,-609.4 62,-603.4 62,-597.4 62,-597.4 62,-522.91 62,-522.91 62,-516.91 68,-510.91 74,-510.91"/>
  72. <text xml:space="preserve" text-anchor="middle" x="191.5" y="-592.1" font-family="Times,serif" font-size="14.00">report.views.CustomerTemplateCRUDView</text>
  73. </g>
  74. <g id="clust4" class="cluster">
  75. <title>cluster_report__views__CustomerTemplateCRUDView__get_list_view</title>
  76. <path fill="#808080" fill-opacity="0.094118" stroke="black" d="M28,-404.43C28,-404.43 338,-404.43 338,-404.43 344,-404.43 350,-410.43 350,-416.43 350,-416.43 350,-490.91 350,-490.91 350,-496.91 344,-502.91 338,-502.91 338,-502.91 28,-502.91 28,-502.91 22,-502.91 16,-496.91 16,-490.91 16,-490.91 16,-416.43 16,-416.43 16,-410.43 22,-404.43 28,-404.43"/>
  77. <text xml:space="preserve" text-anchor="middle" x="183" y="-485.61" font-family="Times,serif" font-size="14.00">report.views.CustomerTemplateCRUDView.get_list_view</text>
  78. </g>
  79. <g id="clust5" class="cluster">
  80. <title>cluster_report__views__CustomerTemplateCRUDView__get_list_view__ListViewClass</title>
  81. <path fill="#808080" fill-opacity="0.094118" stroke="black" d="M370,-404.43C370,-404.43 763,-404.43 763,-404.43 769,-404.43 775,-410.43 775,-416.43 775,-416.43 775,-490.91 775,-490.91 775,-496.91 769,-502.91 763,-502.91 763,-502.91 370,-502.91 370,-502.91 364,-502.91 358,-496.91 358,-490.91 358,-490.91 358,-416.43 358,-416.43 358,-410.43 364,-404.43 370,-404.43"/>
  82. <text xml:space="preserve" text-anchor="middle" x="566.5" y="-485.61" font-family="Times,serif" font-size="14.00">report.views.CustomerTemplateCRUDView.get_list_view.ListViewClass</text>
  83. </g>
  84. <!-- report__views -->
  85. <g id="node1" class="node">
  86. <title>report__views</title>
  87. <ellipse fill="#ffffff" fill-opacity="0.698039" stroke="black" cx="2389" cy="-547.91" rx="56.98" ry="18"/>
  88. <text xml:space="preserve" text-anchor="middle" x="2389" y="-542.86" font-family="Times,serif" font-size="14.00" fill="#000000">report.views</text>
  89. </g>
  90. <!-- report__views__CustomerTemplateCRUDView -->
  91. <g id="node2" class="node">
  92. <title>report__views__CustomerTemplateCRUDView</title>
  93. <ellipse fill="#ff9999" fill-opacity="0.698039" stroke="black" cx="191" cy="-334.94" rx="132.76" ry="28.99"/>
  94. <text xml:space="preserve" text-anchor="middle" x="191" y="-338.14" font-family="Times,serif" font-size="14.00" fill="#000000">CustomerTemplateCRUDView</text>
  95. <text xml:space="preserve" text-anchor="middle" x="191" y="-321.64" font-family="Times,serif" font-size="14.00" fill="#000000">(app/report/views.py:1336)</text>
  96. </g>
  97. <!-- report__views__MksCodeMapCRUDView -->
  98. <g id="node3" class="node">
  99. <title>report__views__MksCodeMapCRUDView</title>
  100. <ellipse fill="#ff9999" fill-opacity="0.698039" stroke="black" cx="458" cy="-334.94" rx="115.79" ry="28.99"/>
  101. <text xml:space="preserve" text-anchor="middle" x="458" y="-338.14" font-family="Times,serif" font-size="14.00" fill="#000000">MksCodeMapCRUDView</text>
  102. <text xml:space="preserve" text-anchor="middle" x="458" y="-321.64" font-family="Times,serif" font-size="14.00" fill="#000000">(app/report/views.py:1411)</text>
  103. </g>
  104. <!-- report__views__ProductDrawingCRUDView -->
  105. <g id="node4" class="node">
  106. <title>report__views__ProductDrawingCRUDView</title>
  107. <ellipse fill="#ff9999" fill-opacity="0.698039" stroke="black" cx="713" cy="-334.94" rx="121.62" ry="28.99"/>
  108. <text xml:space="preserve" text-anchor="middle" x="713" y="-338.14" font-family="Times,serif" font-size="14.00" fill="#000000">ProductDrawingCRUDView</text>
  109. <text xml:space="preserve" text-anchor="middle" x="713" y="-321.64" font-family="Times,serif" font-size="14.00" fill="#000000">(app/report/views.py:1388)</text>
  110. </g>
  111. <!-- report__views__ReportCRUDView -->
  112. <g id="node5" class="node">
  113. <title>report__views__ReportCRUDView</title>
  114. <ellipse fill="#ff9999" fill-opacity="0.698039" stroke="black" cx="959" cy="-334.94" rx="106.24" ry="28.99"/>
  115. <text xml:space="preserve" text-anchor="middle" x="959" y="-338.14" font-family="Times,serif" font-size="14.00" fill="#000000">ReportCRUDView</text>
  116. <text xml:space="preserve" text-anchor="middle" x="959" y="-321.64" font-family="Times,serif" font-size="14.00" fill="#000000">(app/report/views.py:63)</text>
  117. </g>
  118. <!-- report__views__clear_values -->
  119. <g id="node6" class="node">
  120. <title>report__views__clear_values</title>
  121. <ellipse fill="#ff9999" fill-opacity="0.698039" stroke="black" cx="2093" cy="-52.99" rx="111.02" ry="28.99"/>
  122. <text xml:space="preserve" text-anchor="middle" x="2093" y="-56.19" font-family="Times,serif" font-size="14.00" fill="#000000">clear_values</text>
  123. <text xml:space="preserve" text-anchor="middle" x="2093" y="-39.69" font-family="Times,serif" font-size="14.00" fill="#000000">(app/report/views.py:114)</text>
  124. </g>
  125. <!-- report__views__coi_view -->
  126. <g id="node7" class="node">
  127. <title>report__views__coi_view</title>
  128. <ellipse fill="#ff9999" fill-opacity="0.698039" stroke="black" cx="1199" cy="-334.94" rx="115.79" ry="28.99"/>
  129. <text xml:space="preserve" text-anchor="middle" x="1199" y="-338.14" font-family="Times,serif" font-size="14.00" fill="#000000">coi_view</text>
  130. <text xml:space="preserve" text-anchor="middle" x="1199" y="-321.64" font-family="Times,serif" font-size="14.00" fill="#000000">(app/report/views.py:1201)</text>
  131. </g>
  132. <!-- report__views__filter_by_lot_no -->
  133. <g id="node10" class="node">
  134. <title>report__views__filter_by_lot_no</title>
  135. <ellipse fill="#ff9999" fill-opacity="0.698039" stroke="black" cx="669" cy="-240.96" rx="115.79" ry="28.99"/>
  136. <text xml:space="preserve" text-anchor="middle" x="669" y="-244.16" font-family="Times,serif" font-size="14.00" fill="#000000">filter_by_lot_no</text>
  137. <text xml:space="preserve" text-anchor="middle" x="669" y="-227.66" font-family="Times,serif" font-size="14.00" fill="#000000">(app/report/views.py:1175)</text>
  138. </g>
  139. <!-- report__views__coi_view&#45;&gt;report__views__filter_by_lot_no -->
  140. <g id="edge34" class="edge">
  141. <title>report__views__coi_view&#45;&gt;report__views__filter_by_lot_no</title>
  142. <path fill="none" stroke="#000000" d="M1115.44,-314.46C1101.63,-311.46 1087.43,-308.51 1074,-305.95 974.99,-287.06 861.61,-269.49 780.05,-257.56"/>
  143. <polygon fill="#000000" stroke="#000000" points="780.65,-254.11 770.25,-256.13 779.64,-261.04 780.65,-254.11"/>
  144. </g>
  145. <!-- report__views__convert_sheet_data -->
  146. <g id="node8" class="node">
  147. <title>report__views__convert_sheet_data</title>
  148. <ellipse fill="#ff9999" fill-opacity="0.698039" stroke="black" cx="3036" cy="-146.97" rx="106.24" ry="28.99"/>
  149. <text xml:space="preserve" text-anchor="middle" x="3036" y="-150.17" font-family="Times,serif" font-size="14.00" fill="#000000">convert_sheet_data</text>
  150. <text xml:space="preserve" text-anchor="middle" x="3036" y="-133.67" font-family="Times,serif" font-size="14.00" fill="#000000">(app/report/views.py:84)</text>
  151. </g>
  152. <!-- report__views__create_coi_file -->
  153. <g id="node9" class="node">
  154. <title>report__views__create_coi_file</title>
  155. <ellipse fill="#ff9999" fill-opacity="0.698039" stroke="black" cx="2308" cy="-240.96" rx="115.79" ry="28.99"/>
  156. <text xml:space="preserve" text-anchor="middle" x="2308" y="-244.16" font-family="Times,serif" font-size="14.00" fill="#000000">create_coi_file</text>
  157. <text xml:space="preserve" text-anchor="middle" x="2308" y="-227.66" font-family="Times,serif" font-size="14.00" fill="#000000">(app/report/views.py:1039)</text>
  158. </g>
  159. <!-- report__views__create_coi_file&#45;&gt;report__views__convert_sheet_data -->
  160. <g id="edge29" class="edge">
  161. <title>report__views__create_coi_file&#45;&gt;report__views__convert_sheet_data</title>
  162. <path fill="none" stroke="#000000" d="M2419.64,-232.84C2542.98,-223.93 2747.17,-206.05 2921,-175.97 2930.31,-174.35 2939.99,-172.42 2949.61,-170.32"/>
  163. <polygon fill="#000000" stroke="#000000" points="2950.37,-173.74 2959.36,-168.14 2948.84,-166.91 2950.37,-173.74"/>
  164. </g>
  165. <!-- report__views__generate_centering_values -->
  166. <g id="node12" class="node">
  167. <title>report__views__generate_centering_values</title>
  168. <ellipse fill="#ff9999" fill-opacity="0.698039" stroke="black" cx="1723" cy="-146.97" rx="113.14" ry="28.99"/>
  169. <text xml:space="preserve" text-anchor="middle" x="1723" y="-150.17" font-family="Times,serif" font-size="14.00" fill="#000000">generate_centering_values</text>
  170. <text xml:space="preserve" text-anchor="middle" x="1723" y="-133.67" font-family="Times,serif" font-size="14.00" fill="#000000">(app/report/views.py:948)</text>
  171. </g>
  172. <!-- report__views__create_coi_file&#45;&gt;report__views__generate_centering_values -->
  173. <g id="edge25" class="edge">
  174. <title>report__views__create_coi_file&#45;&gt;report__views__generate_centering_values</title>
  175. <path fill="none" stroke="#000000" d="M2203.69,-228.21C2109.57,-216.97 1967.51,-198.44 1845,-175.97 1835.19,-174.17 1824.98,-172.11 1814.82,-169.95"/>
  176. <polygon fill="#000000" stroke="#000000" points="1815.83,-166.59 1805.32,-167.89 1814.35,-173.43 1815.83,-166.59"/>
  177. </g>
  178. <!-- report__views__generate_dim_bal_app_hard_values -->
  179. <g id="node13" class="node">
  180. <title>report__views__generate_dim_bal_app_hard_values</title>
  181. <ellipse fill="#ff9999" fill-opacity="0.698039" stroke="black" cx="746" cy="-146.97" rx="149.73" ry="28.99"/>
  182. <text xml:space="preserve" text-anchor="middle" x="746" y="-150.17" font-family="Times,serif" font-size="14.00" fill="#000000">generate_dim_bal_app_hard_values</text>
  183. <text xml:space="preserve" text-anchor="middle" x="746" y="-133.67" font-family="Times,serif" font-size="14.00" fill="#000000">(app/report/views.py:668)</text>
  184. </g>
  185. <!-- report__views__create_coi_file&#45;&gt;report__views__generate_dim_bal_app_hard_values -->
  186. <g id="edge21" class="edge">
  187. <title>report__views__create_coi_file&#45;&gt;report__views__generate_dim_bal_app_hard_values</title>
  188. <path fill="none" stroke="#000000" d="M2192.12,-239.7C1951.53,-238.08 1380.63,-228.46 905,-175.97 890.68,-174.39 875.7,-172.31 860.91,-170.01"/>
  189. <polygon fill="#000000" stroke="#000000" points="861.56,-166.57 851.13,-168.44 860.46,-173.48 861.56,-166.57"/>
  190. </g>
  191. <!-- report__views__generate_dim_bal_app_rot_hard_values -->
  192. <g id="node14" class="node">
  193. <title>report__views__generate_dim_bal_app_rot_hard_values</title>
  194. <ellipse fill="#ff9999" fill-opacity="0.698039" stroke="black" cx="1079" cy="-146.97" rx="165.11" ry="28.99"/>
  195. <text xml:space="preserve" text-anchor="middle" x="1079" y="-150.17" font-family="Times,serif" font-size="14.00" fill="#000000">generate_dim_bal_app_rot_hard_values</text>
  196. <text xml:space="preserve" text-anchor="middle" x="1079" y="-133.67" font-family="Times,serif" font-size="14.00" fill="#000000">(app/report/views.py:800)</text>
  197. </g>
  198. <!-- report__views__create_coi_file&#45;&gt;report__views__generate_dim_bal_app_rot_hard_values -->
  199. <g id="edge23" class="edge">
  200. <title>report__views__create_coi_file&#45;&gt;report__views__generate_dim_bal_app_rot_hard_values</title>
  201. <path fill="none" stroke="#000000" d="M2192.94,-236.7C1998.7,-230.38 1593.61,-213.6 1253,-175.97 1237.43,-174.25 1221.13,-172.09 1205.02,-169.75"/>
  202. <polygon fill="#000000" stroke="#000000" points="1205.81,-166.33 1195.4,-168.33 1204.78,-173.26 1205.81,-166.33"/>
  203. </g>
  204. <!-- report__views__generate_dimension_app_drawing_values -->
  205. <g id="node15" class="node">
  206. <title>report__views__generate_dimension_app_drawing_values</title>
  207. <ellipse fill="#ff9999" fill-opacity="0.698039" stroke="black" cx="4240" cy="-146.97" rx="172.53" ry="28.99"/>
  208. <text xml:space="preserve" text-anchor="middle" x="4240" y="-150.17" font-family="Times,serif" font-size="14.00" fill="#000000">generate_dimension_app_drawing_values</text>
  209. <text xml:space="preserve" text-anchor="middle" x="4240" y="-133.67" font-family="Times,serif" font-size="14.00" fill="#000000">(app/report/views.py:463)</text>
  210. </g>
  211. <!-- report__views__create_coi_file&#45;&gt;report__views__generate_dimension_app_drawing_values -->
  212. <g id="edge19" class="edge">
  213. <title>report__views__create_coi_file&#45;&gt;report__views__generate_dimension_app_drawing_values</title>
  214. <path fill="none" stroke="#000000" d="M2424.26,-240.36C2705.48,-240.32 3444.54,-234.16 4058,-175.97 4074.71,-174.38 4092.22,-172.27 4109.5,-169.91"/>
  215. <polygon fill="#000000" stroke="#000000" points="4109.89,-173.39 4119.31,-168.54 4108.92,-166.46 4109.89,-173.39"/>
  216. </g>
  217. <!-- report__views__generate_dimension_app_values -->
  218. <g id="node16" class="node">
  219. <title>report__views__generate_dimension_app_values</title>
  220. <ellipse fill="#ff9999" fill-opacity="0.698039" stroke="black" cx="3913" cy="-146.97" rx="136.47" ry="28.99"/>
  221. <text xml:space="preserve" text-anchor="middle" x="3913" y="-150.17" font-family="Times,serif" font-size="14.00" fill="#000000">generate_dimension_app_values</text>
  222. <text xml:space="preserve" text-anchor="middle" x="3913" y="-133.67" font-family="Times,serif" font-size="14.00" fill="#000000">(app/report/views.py:376)</text>
  223. </g>
  224. <!-- report__views__create_coi_file&#45;&gt;report__views__generate_dimension_app_values -->
  225. <g id="edge31" class="edge">
  226. <title>report__views__create_coi_file&#45;&gt;report__views__generate_dimension_app_values</title>
  227. <path fill="none" stroke="#000000" d="M2423.92,-240.64C2671.58,-240.84 3270.35,-234.58 3768,-175.97 3780.83,-174.45 3794.23,-172.45 3807.47,-170.21"/>
  228. <polygon fill="#000000" stroke="#000000" points="3807.8,-173.71 3817.05,-168.54 3806.6,-166.81 3807.8,-173.71"/>
  229. </g>
  230. <!-- report__views__generate_dimension_bal_weight_values -->
  231. <g id="node17" class="node">
  232. <title>report__views__generate_dimension_bal_weight_values</title>
  233. <ellipse fill="#ff9999" fill-opacity="0.698039" stroke="black" cx="1427" cy="-146.97" rx="165.11" ry="28.99"/>
  234. <text xml:space="preserve" text-anchor="middle" x="1427" y="-150.17" font-family="Times,serif" font-size="14.00" fill="#000000">generate_dimension_bal_weight_values</text>
  235. <text xml:space="preserve" text-anchor="middle" x="1427" y="-133.67" font-family="Times,serif" font-size="14.00" fill="#000000">(app/report/views.py:569)</text>
  236. </g>
  237. <!-- report__views__create_coi_file&#45;&gt;report__views__generate_dimension_bal_weight_values -->
  238. <g id="edge20" class="edge">
  239. <title>report__views__create_coi_file&#45;&gt;report__views__generate_dimension_bal_weight_values</title>
  240. <path fill="none" stroke="#000000" d="M2196.92,-232.29C2057.46,-222.12 1811.02,-202.33 1601,-175.97 1585.98,-174.08 1570.26,-171.88 1554.68,-169.55"/>
  241. <polygon fill="#000000" stroke="#000000" points="1555.27,-166.1 1544.86,-168.06 1554.23,-173.02 1555.27,-166.1"/>
  242. </g>
  243. <!-- report__views__generate_dimension_values -->
  244. <g id="node18" class="node">
  245. <title>report__views__generate_dimension_values</title>
  246. <ellipse fill="#ff9999" fill-opacity="0.698039" stroke="black" cx="3641" cy="-146.97" rx="117.91" ry="28.99"/>
  247. <text xml:space="preserve" text-anchor="middle" x="3641" y="-150.17" font-family="Times,serif" font-size="14.00" fill="#000000">generate_dimension_values</text>
  248. <text xml:space="preserve" text-anchor="middle" x="3641" y="-133.67" font-family="Times,serif" font-size="14.00" fill="#000000">(app/report/views.py:235)</text>
  249. </g>
  250. <!-- report__views__create_coi_file&#45;&gt;report__views__generate_dimension_values -->
  251. <g id="edge28" class="edge">
  252. <title>report__views__create_coi_file&#45;&gt;report__views__generate_dimension_values</title>
  253. <path fill="none" stroke="#000000" d="M2423.85,-240.17C2639.59,-239.17 3117.11,-230.33 3515,-175.97 3525.74,-174.5 3536.92,-172.59 3547.99,-170.45"/>
  254. <polygon fill="#000000" stroke="#000000" points="3548.4,-173.94 3557.52,-168.54 3547.03,-167.07 3548.4,-173.94"/>
  255. </g>
  256. <!-- report__views__generate_dimension_weight_warp_values -->
  257. <g id="node19" class="node">
  258. <title>report__views__generate_dimension_weight_warp_values</title>
  259. <ellipse fill="#ff9999" fill-opacity="0.698039" stroke="black" cx="3333" cy="-146.97" rx="172.53" ry="28.99"/>
  260. <text xml:space="preserve" text-anchor="middle" x="3333" y="-150.17" font-family="Times,serif" font-size="14.00" fill="#000000">generate_dimension_weight_warp_values</text>
  261. <text xml:space="preserve" text-anchor="middle" x="3333" y="-133.67" font-family="Times,serif" font-size="14.00" fill="#000000">(app/report/views.py:296)</text>
  262. </g>
  263. <!-- report__views__create_coi_file&#45;&gt;report__views__generate_dimension_weight_warp_values -->
  264. <g id="edge30" class="edge">
  265. <title>report__views__create_coi_file&#45;&gt;report__views__generate_dimension_weight_warp_values</title>
  266. <path fill="none" stroke="#000000" d="M2421.09,-234.14C2583.12,-225.18 2890.53,-205.84 3151,-175.97 3167.15,-174.11 3184.07,-171.89 3200.81,-169.52"/>
  267. <polygon fill="#000000" stroke="#000000" points="3200.88,-173.05 3210.28,-168.16 3199.89,-166.12 3200.88,-173.05"/>
  268. </g>
  269. <!-- report__views__generate_hardness_both_size_values -->
  270. <g id="node20" class="node">
  271. <title>report__views__generate_hardness_both_size_values</title>
  272. <ellipse fill="#ff9999" fill-opacity="0.698039" stroke="black" cx="426" cy="-146.97" rx="152.38" ry="28.99"/>
  273. <text xml:space="preserve" text-anchor="middle" x="426" y="-150.17" font-family="Times,serif" font-size="14.00" fill="#000000">generate_hardness_both_size_values</text>
  274. <text xml:space="preserve" text-anchor="middle" x="426" y="-133.67" font-family="Times,serif" font-size="14.00" fill="#000000">(app/report/views.py:202)</text>
  275. </g>
  276. <!-- report__views__create_coi_file&#45;&gt;report__views__generate_hardness_both_size_values -->
  277. <g id="edge27" class="edge">
  278. <title>report__views__create_coi_file&#45;&gt;report__views__generate_hardness_both_size_values</title>
  279. <path fill="none" stroke="#000000" d="M2192.7,-237.7C1859.57,-230.86 899.59,-208.8 587,-175.97 572.36,-174.43 557.03,-172.36 541.9,-170.05"/>
  280. <polygon fill="#000000" stroke="#000000" points="542.86,-166.65 532.43,-168.56 541.77,-173.57 542.86,-166.65"/>
  281. </g>
  282. <!-- report__views__generate_hardness_out_in_values -->
  283. <g id="node21" class="node">
  284. <title>report__views__generate_hardness_out_in_values</title>
  285. <ellipse fill="#ff9999" fill-opacity="0.698039" stroke="black" cx="2508" cy="-146.97" rx="140.18" ry="28.99"/>
  286. <text xml:space="preserve" text-anchor="middle" x="2508" y="-150.17" font-family="Times,serif" font-size="14.00" fill="#000000">generate_hardness_out_in_values</text>
  287. <text xml:space="preserve" text-anchor="middle" x="2508" y="-133.67" font-family="Times,serif" font-size="14.00" fill="#000000">(app/report/views.py:153)</text>
  288. </g>
  289. <!-- report__views__create_coi_file&#45;&gt;report__views__generate_hardness_out_in_values -->
  290. <g id="edge24" class="edge">
  291. <title>report__views__create_coi_file&#45;&gt;report__views__generate_hardness_out_in_values</title>
  292. <path fill="none" stroke="#000000" d="M2362.39,-214.94C2386.68,-203.77 2415.55,-190.49 2441.16,-178.72"/>
  293. <polygon fill="#000000" stroke="#000000" points="2442.53,-181.94 2450.16,-174.58 2439.61,-175.58 2442.53,-181.94"/>
  294. </g>
  295. <!-- report__views__generate_hardness_out_values -->
  296. <g id="node22" class="node">
  297. <title>report__views__generate_hardness_out_values</title>
  298. <ellipse fill="#ff9999" fill-opacity="0.698039" stroke="black" cx="2222" cy="-146.97" rx="127.99" ry="28.99"/>
  299. <text xml:space="preserve" text-anchor="middle" x="2222" y="-150.17" font-family="Times,serif" font-size="14.00" fill="#000000">generate_hardness_out_values</text>
  300. <text xml:space="preserve" text-anchor="middle" x="2222" y="-133.67" font-family="Times,serif" font-size="14.00" fill="#000000">(app/report/views.py:121)</text>
  301. </g>
  302. <!-- report__views__create_coi_file&#45;&gt;report__views__generate_hardness_out_values -->
  303. <g id="edge22" class="edge">
  304. <title>report__views__create_coi_file&#45;&gt;report__views__generate_hardness_out_values</title>
  305. <path fill="none" stroke="#000000" d="M2282.2,-212.36C2273.78,-203.35 2264.31,-193.22 2255.41,-183.71"/>
  306. <polygon fill="#000000" stroke="#000000" points="2258.2,-181.57 2248.82,-176.66 2253.09,-186.35 2258.2,-181.57"/>
  307. </g>
  308. <!-- report__views__generate_t8_values -->
  309. <g id="node23" class="node">
  310. <title>report__views__generate_t8_values</title>
  311. <ellipse fill="#ff9999" fill-opacity="0.698039" stroke="black" cx="1965" cy="-146.97" rx="111.02" ry="28.99"/>
  312. <text xml:space="preserve" text-anchor="middle" x="1965" y="-150.17" font-family="Times,serif" font-size="14.00" fill="#000000">generate_t8_values</text>
  313. <text xml:space="preserve" text-anchor="middle" x="1965" y="-133.67" font-family="Times,serif" font-size="14.00" fill="#000000">(app/report/views.py:983)</text>
  314. </g>
  315. <!-- report__views__create_coi_file&#45;&gt;report__views__generate_t8_values -->
  316. <g id="edge26" class="edge">
  317. <title>report__views__create_coi_file&#45;&gt;report__views__generate_t8_values</title>
  318. <path fill="none" stroke="#000000" d="M2230.17,-219.08C2177.28,-204.9 2107.25,-186.12 2052.44,-171.42"/>
  319. <polygon fill="#000000" stroke="#000000" points="2053.37,-168.05 2042.8,-168.84 2051.56,-174.81 2053.37,-168.05"/>
  320. </g>
  321. <!-- report__views__merge_sheet_data_with_data -->
  322. <g id="node28" class="node">
  323. <title>report__views__merge_sheet_data_with_data</title>
  324. <ellipse fill="#ff9999" fill-opacity="0.698039" stroke="black" cx="2789" cy="-146.97" rx="123.21" ry="28.99"/>
  325. <text xml:space="preserve" text-anchor="middle" x="2789" y="-150.17" font-family="Times,serif" font-size="14.00" fill="#000000">merge_sheet_data_with_data</text>
  326. <text xml:space="preserve" text-anchor="middle" x="2789" y="-133.67" font-family="Times,serif" font-size="14.00" fill="#000000">(app/report/views.py:1026)</text>
  327. </g>
  328. <!-- report__views__create_coi_file&#45;&gt;report__views__merge_sheet_data_with_data -->
  329. <g id="edge32" class="edge">
  330. <title>report__views__create_coi_file&#45;&gt;report__views__merge_sheet_data_with_data</title>
  331. <path fill="none" stroke="#000000" d="M2401.45,-223.54C2471.81,-211.01 2570.58,-193.05 2657,-175.97 2667.23,-173.94 2677.9,-171.78 2688.54,-169.58"/>
  332. <polygon fill="#000000" stroke="#000000" points="2689.04,-173.05 2698.12,-167.59 2687.62,-166.2 2689.04,-173.05"/>
  333. </g>
  334. <!-- report__views__get_fields -->
  335. <g id="node24" class="node">
  336. <title>report__views__get_fields</title>
  337. <ellipse fill="#ff9999" fill-opacity="0.698039" stroke="black" cx="140" cy="-146.97" rx="115.79" ry="28.99"/>
  338. <text xml:space="preserve" text-anchor="middle" x="140" y="-150.17" font-family="Times,serif" font-size="14.00" fill="#000000">get_fields</text>
  339. <text xml:space="preserve" text-anchor="middle" x="140" y="-133.67" font-family="Times,serif" font-size="14.00" fill="#000000">(app/report/views.py:1168)</text>
  340. </g>
  341. <!-- report__views__filter_by_lot_no&#45;&gt;report__views__get_fields -->
  342. <g id="edge33" class="edge">
  343. <title>report__views__filter_by_lot_no&#45;&gt;report__views__get_fields</title>
  344. <path fill="none" stroke="#000000" d="M569.08,-225.93C487.13,-213.99 368.23,-195.68 265,-175.97 255.13,-174.08 244.86,-171.99 234.63,-169.83"/>
  345. <polygon fill="#000000" stroke="#000000" points="235.55,-166.44 225.04,-167.77 234.08,-173.29 235.55,-166.44"/>
  346. </g>
  347. <!-- report__views__gen_report_view -->
  348. <g id="node11" class="node">
  349. <title>report__views__gen_report_view</title>
  350. <ellipse fill="#ff9999" fill-opacity="0.698039" stroke="black" cx="2308" cy="-334.94" rx="115.79" ry="28.99"/>
  351. <text xml:space="preserve" text-anchor="middle" x="2308" y="-338.14" font-family="Times,serif" font-size="14.00" fill="#000000">gen_report_view</text>
  352. <text xml:space="preserve" text-anchor="middle" x="2308" y="-321.64" font-family="Times,serif" font-size="14.00" fill="#000000">(app/report/views.py:1301)</text>
  353. </g>
  354. <!-- report__views__gen_report_view&#45;&gt;report__views__create_coi_file -->
  355. <g id="edge35" class="edge">
  356. <title>report__views__gen_report_view&#45;&gt;report__views__create_coi_file</title>
  357. <path fill="none" stroke="#000000" d="M2308,-305.59C2308,-298.07 2308,-289.81 2308,-281.8"/>
  358. <polygon fill="#000000" stroke="#000000" points="2311.5,-281.88 2308,-271.88 2304.5,-281.88 2311.5,-281.88"/>
  359. </g>
  360. <!-- report__views__generate_centering_values&#45;&gt;report__views__clear_values -->
  361. <g id="edge17" class="edge">
  362. <title>report__views__generate_centering_values&#45;&gt;report__views__clear_values</title>
  363. <path fill="none" stroke="#000000" d="M1802.83,-126.13C1861.75,-111.48 1941.98,-91.53 2003.15,-76.33"/>
  364. <polygon fill="#000000" stroke="#000000" points="2003.62,-79.82 2012.48,-74.01 2001.93,-73.02 2003.62,-79.82"/>
  365. </g>
  366. <!-- report__views__generate_dim_bal_app_hard_values&#45;&gt;report__views__clear_values -->
  367. <g id="edge15" class="edge">
  368. <title>report__views__generate_dim_bal_app_hard_values&#45;&gt;report__views__clear_values</title>
  369. <path fill="none" stroke="#000000" d="M850.08,-125.8C868.33,-122.79 887.18,-120.02 905,-117.98 1292.58,-73.59 1754.91,-59.87 1970.73,-55.73"/>
  370. <polygon fill="#000000" stroke="#000000" points="1970.63,-59.23 1980.56,-55.54 1970.5,-52.23 1970.63,-59.23"/>
  371. </g>
  372. <!-- report__views__generate_dim_bal_app_rot_hard_values&#45;&gt;report__views__clear_values -->
  373. <g id="edge16" class="edge">
  374. <title>report__views__generate_dim_bal_app_rot_hard_values&#45;&gt;report__views__clear_values</title>
  375. <path fill="none" stroke="#000000" d="M1194.87,-125.95C1214.24,-123 1234.16,-120.21 1253,-117.98 1508.74,-87.72 1810.07,-68.82 1973.29,-59.96"/>
  376. <polygon fill="#000000" stroke="#000000" points="1973.01,-63.48 1982.81,-59.45 1972.63,-56.49 1973.01,-63.48"/>
  377. </g>
  378. <!-- report__views__generate_dimension_app_drawing_values&#45;&gt;report__views__clear_values -->
  379. <g id="edge13" class="edge">
  380. <title>report__views__generate_dimension_app_drawing_values&#45;&gt;report__views__clear_values</title>
  381. <path fill="none" stroke="#000000" d="M4121.31,-125.62C4100.27,-122.61 4078.53,-119.89 4058,-117.98 3697.65,-84.53 2586.03,-62.59 2214.98,-56.04"/>
  382. <polygon fill="#000000" stroke="#000000" points="2215.27,-52.55 2205.21,-55.87 2215.14,-59.55 2215.27,-52.55"/>
  383. </g>
  384. <!-- report__views__hide_con -->
  385. <g id="node25" class="node">
  386. <title>report__views__hide_con</title>
  387. <ellipse fill="#ff9999" fill-opacity="0.698039" stroke="black" cx="3641" cy="-52.99" rx="111.02" ry="28.99"/>
  388. <text xml:space="preserve" text-anchor="middle" x="3641" y="-56.19" font-family="Times,serif" font-size="14.00" fill="#000000">hide_con</text>
  389. <text xml:space="preserve" text-anchor="middle" x="3641" y="-39.69" font-family="Times,serif" font-size="14.00" fill="#000000">(app/report/views.py:101)</text>
  390. </g>
  391. <!-- report__views__generate_dimension_app_drawing_values&#45;&gt;report__views__hide_con -->
  392. <g id="edge12" class="edge">
  393. <title>report__views__generate_dimension_app_drawing_values&#45;&gt;report__views__hide_con</title>
  394. <path fill="none" stroke="#000000" d="M4114.68,-126.69C4095.69,-123.77 4076.33,-120.8 4058,-117.98 3952,-101.7 3830.83,-83.11 3746.53,-70.18"/>
  395. <polygon fill="#000000" stroke="#000000" points="3747.31,-66.75 3736.9,-68.7 3746.25,-73.67 3747.31,-66.75"/>
  396. </g>
  397. <!-- report__views__safe_strip -->
  398. <g id="node30" class="node">
  399. <title>report__views__safe_strip</title>
  400. <ellipse fill="#ff9999" fill-opacity="0.698039" stroke="black" cx="4240" cy="-52.99" rx="111.02" ry="28.99"/>
  401. <text xml:space="preserve" text-anchor="middle" x="4240" y="-56.19" font-family="Times,serif" font-size="14.00" fill="#000000">safe_strip</text>
  402. <text xml:space="preserve" text-anchor="middle" x="4240" y="-39.69" font-family="Times,serif" font-size="14.00" fill="#000000">(app/report/views.py:459)</text>
  403. </g>
  404. <!-- report__views__generate_dimension_app_drawing_values&#45;&gt;report__views__safe_strip -->
  405. <g id="edge11" class="edge">
  406. <title>report__views__generate_dimension_app_drawing_values&#45;&gt;report__views__safe_strip</title>
  407. <path fill="none" stroke="#000000" d="M4240,-117.63C4240,-110.11 4240,-101.85 4240,-93.84"/>
  408. <polygon fill="#000000" stroke="#000000" points="4243.5,-93.92 4240,-83.92 4236.5,-93.92 4243.5,-93.92"/>
  409. </g>
  410. <!-- report__views__generate_dimension_app_values&#45;&gt;report__views__clear_values -->
  411. <g id="edge10" class="edge">
  412. <title>report__views__generate_dimension_app_values&#45;&gt;report__views__clear_values</title>
  413. <path fill="none" stroke="#000000" d="M3818.94,-125.66C3802.05,-122.63 3784.56,-119.89 3768,-117.98 3467.04,-83.39 2547.74,-62.74 2214.92,-56.23"/>
  414. <polygon fill="#000000" stroke="#000000" points="2215.38,-52.74 2205.32,-56.05 2215.25,-59.74 2215.38,-52.74"/>
  415. </g>
  416. <!-- report__views__generate_dimension_app_values&#45;&gt;report__views__hide_con -->
  417. <g id="edge9" class="edge">
  418. <title>report__views__generate_dimension_app_values&#45;&gt;report__views__hide_con</title>
  419. <path fill="none" stroke="#000000" d="M3841.89,-121.93C3803.91,-109.08 3757.1,-93.25 3718.23,-80.11"/>
  420. <polygon fill="#000000" stroke="#000000" points="3719.52,-76.85 3708.92,-76.96 3717.28,-83.48 3719.52,-76.85"/>
  421. </g>
  422. <!-- report__views__generate_dimension_bal_weight_values&#45;&gt;report__views__clear_values -->
  423. <g id="edge14" class="edge">
  424. <title>report__views__generate_dimension_bal_weight_values&#45;&gt;report__views__clear_values</title>
  425. <path fill="none" stroke="#000000" d="M1545.33,-126.45C1563.94,-123.52 1582.98,-120.6 1601,-117.98 1731.71,-98.97 1882.35,-79.78 1982.15,-67.44"/>
  426. <polygon fill="#000000" stroke="#000000" points="1982.47,-70.93 1991.96,-66.23 1981.61,-63.98 1982.47,-70.93"/>
  427. </g>
  428. <!-- report__views__generate_dimension_values&#45;&gt;report__views__clear_values -->
  429. <g id="edge6" class="edge">
  430. <title>report__views__generate_dimension_values&#45;&gt;report__views__clear_values</title>
  431. <path fill="none" stroke="#000000" d="M3559.36,-125.68C3544.67,-122.64 3529.44,-119.9 3515,-117.98 3265.27,-84.88 2511.4,-63.92 2214.78,-56.75"/>
  432. <polygon fill="#000000" stroke="#000000" points="2215.16,-53.26 2205.08,-56.52 2214.99,-60.26 2215.16,-53.26"/>
  433. </g>
  434. <!-- report__views__generate_dimension_values&#45;&gt;report__views__hide_con -->
  435. <g id="edge5" class="edge">
  436. <title>report__views__generate_dimension_values&#45;&gt;report__views__hide_con</title>
  437. <path fill="none" stroke="#000000" d="M3641,-117.63C3641,-110.11 3641,-101.85 3641,-93.84"/>
  438. <polygon fill="#000000" stroke="#000000" points="3644.5,-93.92 3641,-83.92 3637.5,-93.92 3644.5,-93.92"/>
  439. </g>
  440. <!-- report__views__generate_dimension_weight_warp_values&#45;&gt;report__views__clear_values -->
  441. <g id="edge8" class="edge">
  442. <title>report__views__generate_dimension_weight_warp_values&#45;&gt;report__views__clear_values</title>
  443. <path fill="none" stroke="#000000" d="M3212.79,-125.88C3192.22,-122.91 3171.03,-120.12 3151,-117.98 2812.66,-81.81 2411.11,-64.51 2214.18,-57.69"/>
  444. <polygon fill="#000000" stroke="#000000" points="2214.57,-54.2 2204.45,-57.35 2214.33,-61.19 2214.57,-54.2"/>
  445. </g>
  446. <!-- report__views__generate_dimension_weight_warp_values&#45;&gt;report__views__hide_con -->
  447. <g id="edge7" class="edge">
  448. <title>report__views__generate_dimension_weight_warp_values&#45;&gt;report__views__hide_con</title>
  449. <path fill="none" stroke="#000000" d="M3415.94,-121.2C3460.05,-108.03 3514.11,-91.89 3558.19,-78.72"/>
  450. <polygon fill="#000000" stroke="#000000" points="3559.14,-82.09 3567.72,-75.88 3557.13,-75.38 3559.14,-82.09"/>
  451. </g>
  452. <!-- report__views__generate_hardness_both_size_values&#45;&gt;report__views__clear_values -->
  453. <g id="edge4" class="edge">
  454. <title>report__views__generate_hardness_both_size_values&#45;&gt;report__views__clear_values</title>
  455. <path fill="none" stroke="#000000" d="M531.38,-125.64C549.86,-122.65 568.95,-119.93 587,-117.98 1098.79,-62.85 1713.22,-54.66 1970.4,-53.83"/>
  456. <polygon fill="#000000" stroke="#000000" points="1970.13,-57.33 1980.12,-53.8 1970.11,-50.33 1970.13,-57.33"/>
  457. </g>
  458. <!-- report__views__generate_hardness_out_in_values&#45;&gt;report__views__clear_values -->
  459. <g id="edge3" class="edge">
  460. <title>report__views__generate_hardness_out_in_values&#45;&gt;report__views__clear_values</title>
  461. <path fill="none" stroke="#000000" d="M2413.83,-125.1C2346.1,-110.09 2255.12,-89.92 2187.35,-74.9"/>
  462. <polygon fill="#000000" stroke="#000000" points="2188.25,-71.52 2177.73,-72.77 2186.74,-78.35 2188.25,-71.52"/>
  463. </g>
  464. <!-- report__views__generate_hardness_out_in_values&#45;&gt;report__views__hide_con -->
  465. <g id="edge2" class="edge">
  466. <title>report__views__generate_hardness_out_in_values&#45;&gt;report__views__hide_con</title>
  467. <path fill="none" stroke="#000000" d="M2605.92,-125.84C2622.89,-122.85 2640.42,-120.07 2657,-117.98 2966.03,-79.05 3332.82,-63.14 3519.18,-57.18"/>
  468. <polygon fill="#000000" stroke="#000000" points="3519.25,-60.68 3529.13,-56.87 3519.03,-53.69 3519.25,-60.68"/>
  469. </g>
  470. <!-- report__views__generate_hardness_out_values&#45;&gt;report__views__clear_values -->
  471. <g id="edge1" class="edge">
  472. <title>report__views__generate_hardness_out_values&#45;&gt;report__views__clear_values</title>
  473. <path fill="none" stroke="#000000" d="M2183.99,-118.87C2170.09,-108.96 2154.21,-97.63 2139.64,-87.25"/>
  474. <polygon fill="#000000" stroke="#000000" points="2141.7,-84.42 2131.52,-81.46 2137.63,-90.12 2141.7,-84.42"/>
  475. </g>
  476. <!-- report__views__generate_t8_values&#45;&gt;report__views__clear_values -->
  477. <g id="edge18" class="edge">
  478. <title>report__views__generate_t8_values&#45;&gt;report__views__clear_values</title>
  479. <path fill="none" stroke="#000000" d="M2002.02,-119.37C2016.09,-109.26 2032.28,-97.63 2047.06,-87"/>
  480. <polygon fill="#000000" stroke="#000000" points="2048.75,-90.1 2054.83,-81.42 2044.67,-84.41 2048.75,-90.1"/>
  481. </g>
  482. <!-- report__views__index -->
  483. <g id="node26" class="node">
  484. <title>report__views__index</title>
  485. <ellipse fill="#ff9999" fill-opacity="0.698039" stroke="black" cx="3235" cy="-334.94" rx="106.24" ry="28.99"/>
  486. <text xml:space="preserve" text-anchor="middle" x="3235" y="-338.14" font-family="Times,serif" font-size="14.00" fill="#000000">index</text>
  487. <text xml:space="preserve" text-anchor="middle" x="3235" y="-321.64" font-family="Times,serif" font-size="14.00" fill="#000000">(app/report/views.py:35)</text>
  488. </g>
  489. <!-- report__views__is_ok -->
  490. <g id="node27" class="node">
  491. <title>report__views__is_ok</title>
  492. <ellipse fill="#ff9999" fill-opacity="0.698039" stroke="black" cx="3814" cy="-334.94" rx="111.02" ry="28.99"/>
  493. <text xml:space="preserve" text-anchor="middle" x="3814" y="-338.14" font-family="Times,serif" font-size="14.00" fill="#000000">is_ok</text>
  494. <text xml:space="preserve" text-anchor="middle" x="3814" y="-321.64" font-family="Times,serif" font-size="14.00" fill="#000000">(app/report/views.py:366)</text>
  495. </g>
  496. <!-- report__views__report_create_view -->
  497. <g id="node29" class="node">
  498. <title>report__views__report_create_view</title>
  499. <ellipse fill="#ff9999" fill-opacity="0.698039" stroke="black" cx="4221" cy="-334.94" rx="106.24" ry="28.99"/>
  500. <text xml:space="preserve" text-anchor="middle" x="4221" y="-338.14" font-family="Times,serif" font-size="14.00" fill="#000000">report_create_view</text>
  501. <text xml:space="preserve" text-anchor="middle" x="4221" y="-321.64" font-family="Times,serif" font-size="14.00" fill="#000000">(app/report/views.py:50)</text>
  502. </g>
  503. <!-- report__views__CustomerTemplateCRUDView__get_list_view -->
  504. <g id="node31" class="node">
  505. <title>report__views__CustomerTemplateCRUDView__get_list_view</title>
  506. <ellipse fill="#ff6565" fill-opacity="0.698039" stroke="black" cx="191" cy="-547.91" rx="115.79" ry="28.99"/>
  507. <text xml:space="preserve" text-anchor="middle" x="191" y="-551.11" font-family="Times,serif" font-size="14.00" fill="#000000">get_list_view</text>
  508. <text xml:space="preserve" text-anchor="middle" x="191" y="-534.61" font-family="Times,serif" font-size="14.00" fill="#000000">(app/report/views.py:1359)</text>
  509. </g>
  510. <!-- report__views__CustomerTemplateCRUDView__get_list_view__ListViewClass -->
  511. <g id="node32" class="node">
  512. <title>report__views__CustomerTemplateCRUDView__get_list_view__ListViewClass</title>
  513. <ellipse fill="#ff3232" fill-opacity="0.698039" stroke="black" cx="191" cy="-441.42" rx="115.79" ry="28.99"/>
  514. <text xml:space="preserve" text-anchor="middle" x="191" y="-444.62" font-family="Times,serif" font-size="14.00" fill="#000000">ListViewClass</text>
  515. <text xml:space="preserve" text-anchor="middle" x="191" y="-428.12" font-family="Times,serif" font-size="14.00" fill="#000000">(app/report/views.py:1360)</text>
  516. </g>
  517. <!-- report__views__CustomerTemplateCRUDView__get_list_view&#45;&gt;report__views__CustomerTemplateCRUDView__get_list_view__ListViewClass -->
  518. <g id="edge38" class="edge">
  519. <title>report__views__CustomerTemplateCRUDView__get_list_view&#45;&gt;report__views__CustomerTemplateCRUDView__get_list_view__ListViewClass</title>
  520. <path fill="none" stroke="#000000" d="M191,-518.63C191,-507.36 191,-494.2 191,-482.01"/>
  521. <polygon fill="#000000" stroke="#000000" points="194.5,-482.23 191,-472.23 187.5,-482.23 194.5,-482.23"/>
  522. </g>
  523. <!-- report__views__CustomerTemplateCRUDView__get_list_view__ListViewClass&#45;&gt;report__views__CustomerTemplateCRUDView -->
  524. <g id="edge36" class="edge">
  525. <title>report__views__CustomerTemplateCRUDView__get_list_view__ListViewClass&#45;&gt;report__views__CustomerTemplateCRUDView</title>
  526. <path fill="none" stroke="#000000" d="M191,-412.15C191,-400.88 191,-387.72 191,-375.53"/>
  527. <polygon fill="#000000" stroke="#000000" points="194.5,-375.75 191,-365.75 187.5,-375.75 194.5,-375.75"/>
  528. </g>
  529. <!-- report__views__CustomerTemplateCRUDView__get_list_view__ListViewClass__get_context_data -->
  530. <g id="node33" class="node">
  531. <title>report__views__CustomerTemplateCRUDView__get_list_view__ListViewClass__get_context_data</title>
  532. <ellipse fill="#ff0000" fill-opacity="0.698039" stroke="black" cx="482" cy="-441.42" rx="115.79" ry="28.99"/>
  533. <text xml:space="preserve" text-anchor="middle" x="482" y="-444.62" font-family="Times,serif" font-size="14.00" fill="#000000">get_context_data</text>
  534. <text xml:space="preserve" text-anchor="middle" x="482" y="-428.12" font-family="Times,serif" font-size="14.00" fill="#000000">(app/report/views.py:1367)</text>
  535. </g>
  536. <!-- report__views__CustomerTemplateCRUDView__get_list_view__ListViewClass__get_context_data&#45;&gt;report__views__CustomerTemplateCRUDView -->
  537. <g id="edge37" class="edge">
  538. <title>report__views__CustomerTemplateCRUDView__get_list_view__ListViewClass__get_context_data&#45;&gt;report__views__CustomerTemplateCRUDView</title>
  539. <path fill="none" stroke="#000000" d="M404.88,-419.5C381.6,-412.69 356.1,-404.73 333,-396.43 307.96,-387.43 280.98,-376.31 257.33,-366.07"/>
  540. <polygon fill="#000000" stroke="#000000" points="259.02,-362.99 248.45,-362.2 256.22,-369.41 259.02,-362.99"/>
  541. </g>
  542. </g>
  543. </svg>
  544. `,
  545. ready: function() {
  546. var gv = this
  547. gv.nodes().click(function () {
  548. var $set = $()
  549. $set.push(this)
  550. $set = $set.add(gv.linkedFrom(this, true))
  551. $set = $set.add(gv.linkedTo(this, true))
  552. gv.highlight($set, true)
  553. gv.bringToFront($set)
  554. })
  555. $(document).keydown(function (evt) {
  556. if (evt.keyCode == 27) {
  557. gv.highlight()
  558. }
  559. })
  560. }
  561. });
  562. });
  563. </script>
  564. </body>
  565. </html>