Advertisement
Guest User

Untitled

a guest
Dec 11th, 2018
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 17.99 KB | None | 0 0
  1. <html>
  2.  
  3. <head>
  4. <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
  5.  
  6. <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.4.2/css/all.css" integrity="sha384-/rXc/GQVaYpyDdyxK+ecHPVYJSN9bmVFBvjA/9eOB+pb3F2w2N6fc5qB9Ew5yIns" crossorigin="anonymous">
  7.  
  8. <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
  9.  
  10. <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
  11.  
  12. <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
  13.  
  14. <style>
  15. .bg-completed {background-color:#d8ffe1}
  16. .bg-completed-dark {background-color:#9dd2a9}
  17.  
  18. .textarea-text {font-size:11px;}
  19. .btn {border: 1px solid #6f6f6f;}
  20.  
  21.  
  22.  
  23. /* smart progress bar style */
  24. .bs-wizard {margin-top: 40px;}
  25.  
  26. /*Form Wizard*/
  27.  
  28. .bs-wizard > .bs-wizard-step {padding: 0; position: relative;}
  29. .bs-wizard > .bs-wizard-step .bs-wizard-stepnum {color: #595959; font-size: 12px; margin-bottom: 5px; margin:14px;}
  30.  
  31. .bs-wizard > .bs-wizard-step > .bs-wizard-dot {position: absolute; width: 30px; height: 30px; display: block; background: #a2dea7; top: 45px; left: 50%; margin-top: -10px; margin-left: -15px; border-radius: 50%;margin-top:10px;}
  32. .bs-wizard > .bs-wizard-step > .bs-wizard-dot:after {content: ' '; width: 14px; height: 14px; background: #78bb78; border-radius: 50px; position: absolute; top: 8px; left: 8px; }
  33. .bs-wizard > .bs-wizard-step > .progress {position: relative; border-radius: 0px; height: 0px; box-shadow: none; margin: 20px 0;}
  34.  
  35. .bs-wizard > .bs-wizard-step.disabled > .bs-wizard-dot {background-color: #f5f5f5;}
  36. .bs-wizard > .bs-wizard-step.disabled > .bs-wizard-dot:after {opacity: 0;}
  37.  
  38.  
  39. /*END Form Wizard*/
  40.  
  41. .tab-content {
  42. background-color: #f0f0f0;
  43. border-left: 1px solid #ddd;
  44. border-right: 1px solid #ddd;
  45. border-bottom: 1px solid #ddd;
  46. padding: 10px;
  47. }
  48.  
  49. .nav-tabs {
  50.  
  51. margin-bottom: 0;
  52. }
  53.  
  54. .nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active {background-color: #f0f0f0;border-bottom: 1px solid #f0f0f0;}
  55. }
  56.  
  57. </style>
  58.  
  59.  
  60.  
  61.  
  62. <title>Pendergast Portal - {{project.project_name}}</title>
  63.  
  64.  
  65.  
  66. </head>
  67.  
  68. <body>
  69.  
  70. <nav class="navbar navbar-expand-lg navbar-dark bg-dark">
  71. <a class="navbar-brand" href="#">Pendergast Portal</a>
  72. <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavAltMarkup" aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle navigation">
  73. <span class="navbar-toggler-icon"></span>
  74. </button>
  75. <div class="collapse navbar-collapse" id="navbarNavAltMarkup">
  76. <div class="navbar-nav">
  77. <a class="nav-item nav-link" href="../../portal">Dashboard <span class="sr-only">(current)</span></a>
  78. <a class="nav-item nav-link" href="#">Calendar</a>
  79.  
  80. <li class="nav-item dropdown">
  81. <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
  82. Projects
  83. </a>
  84. <div class="dropdown-menu" aria-labelledby="navbarDropdown">
  85. <a class="dropdown-item" href="#">Active Projects</a>
  86. <a class="dropdown-item" href="#">Completed Projects</a>
  87. <div class="dropdown-divider"></div>
  88. <a class="dropdown-item" href="../add">Add Project</a>
  89. </div>
  90. </li>
  91.  
  92.  
  93.  
  94. <a class="nav-item nav-link" href="#">Updates</a>
  95.  
  96. </div>
  97. </div>
  98.  
  99. Logged in as: {{request.user}}
  100. </nav>
  101.  
  102.  
  103.  
  104. <h3 class="card-title text-primary pt-2 font-weight-bold text-center"><a href="{% url 'detail' project.id %}">{{project.project_name}}</a></h3>
  105.  
  106. <div class="container pt-5" style="max-width:95%">
  107.  
  108.  
  109.  
  110.  
  111. <div class="row">
  112.  
  113.  
  114.  
  115. <div class="col-md-12 col-sm-12 col-lg-12">
  116.  
  117. <nav>
  118. <div class="nav nav-tabs" id="nav-tab" role="tablist">
  119.  
  120. <a class="nav-item nav-link active" id="nav-projectinformation-tab" data-toggle="tab" href="#nav-projectinformation" role="tab" aria-controls="nav-projectinformation" aria-selected="true">Project Information</a>
  121.  
  122. <a class="nav-item nav-link" id="nav-projecthistory-tab" data-toggle="tab" href="#nav-projecthistory" role="tab" aria-controls="nav-projecthistory" aria-selected="false">Project History</a>
  123.  
  124. <a class="nav-item nav-link" id="nav-projectnotes-tab" data-toggle="tab" href="#nav-projectnotes" role="tab" aria-controls="nav-projectnotes" aria-selected="false">Project Notes</a>
  125.  
  126. <a class="nav-item nav-link" id="nav-files-tab" data-toggle="tab" href="#nav-files" role="tab" aria-controls="nav-files" aria-selected="false">Files</a>
  127.  
  128. <a class="nav-item nav-link" id="nav-advanced-tab" data-toggle="tab" href="#nav-advanced" role="tab" aria-controls="nav-advanced" aria-selected="false">Advanced</a>
  129.  
  130. </div>
  131. </nav>
  132. <div class="tab-content" id="nav-tabContent">
  133.  
  134.  
  135.  
  136. <div class="tab-pane fade show active" id="nav-projectinformation" role="tabpanel" aria-labelledby="nav-projectinformation">
  137.  
  138. <div class="card small m-3">
  139.  
  140.  
  141.  
  142. <ul class="list-group list-group-flush">
  143. <li class="list-group-item"><strong>Project Status:</strong> {{project.project_status}}</li>
  144. <li class="list-group-item"><strong>Due:</strong> {{project.due_date}} ({{project.due_in}})</li>
  145. <li class="list-group-item"><strong>Address:</strong> {{project.project_address}}</li>
  146. <li class="list-group-item"><strong>Client:</strong> {{project.project_client}}</li>
  147. <li class="list-group-item"><strong>GC Name:</strong> {{project.general_contractor_name}}</li>
  148. <li class="list-group-item"><strong>GC Phone #:</strong> {{project.general_contractor_phone}}</li>
  149. <li class="list-group-item"><strong>GC Email:</strong> {{project.general_contractor_email}}</li>
  150. <li class="list-group-item"><strong>Notes:</strong> {{project.notes}}</li>
  151. </ul>
  152.  
  153. </div>
  154.  
  155.  
  156.  
  157. </div>
  158.  
  159. <div class="tab-pane fade" id="nav-projecthistory" role="tabpanel" aria-labelledby="nav-projecthistory-tab">Project History goes here</div>
  160.  
  161. <div class="tab-pane fade" id="nav-projectnotes" role="tabpanel" aria-labelledby="nav-projectnotes-tab">Project Notes go here</div>
  162.  
  163. <div class="tab-pane fade" id="nav-files" role="tabpanel" aria-labelledby="nav-files-tab">Files will be uploaded/shown here</div>
  164.  
  165. <div class="tab-pane fade small" id="nav-advanced" role="tabpanel" aria-labelledby="nav-advanced-tab">
  166.  
  167.  
  168.  
  169. {{project.created_steps}}
  170.  
  171.  
  172.  
  173. </div>
  174.  
  175.  
  176.  
  177.  
  178. </div>
  179. </nav>
  180.  
  181.  
  182.  
  183. </div>
  184. </div>
  185.  
  186. </div>
  187.  
  188.  
  189. <hr>
  190.  
  191.  
  192. <!-- Smart Progress Bar -->
  193.  
  194. <div class="pl-5 pr-5 pb-5" style="width: 95%;margin-left: auto;margin-right:auto;">
  195.  
  196.  
  197. <div class="row bs-wizard" style="border-bottom:0;">
  198.  
  199. <div style="border:1px solid #dedede;margin:2px;" class="col-xs-2 bs-wizard-step {% if project.tender_documents_step == 'complete' %}complete{% else %}disabled{% endif %}">
  200. <div class="text-center bs-wizard-stepnum">Tender<br>Documents</div>
  201. <div class="progress"><div class="progress-bar"></div></div>
  202. <a href="#" class="bs-wizard-dot"></a>
  203.  
  204. </div>
  205.  
  206. <div style="border:1px solid #dedede;margin:2px;" class="col-xs-2 bs-wizard-step {% if project.verify_spec_step == 'complete' %}complete{% else %}disabled{% endif %}"><!-- complete -->
  207. <div class="text-center bs-wizard-stepnum">Verify <br>Spec</div>
  208. <div class="progress"><div class="progress-bar"></div></div>
  209. <a href="#" class="bs-wizard-dot"></a>
  210.  
  211. </div>
  212.  
  213. <div style="border:1px solid #dedede;margin:2px;" class="col-xs-2 bs-wizard-step {% if project.door_pricing_step == 'complete' %}complete{% else %}disabled{% endif %}"><!-- complete -->
  214. <div class="text-center bs-wizard-stepnum">Door <br>Pricing</div>
  215. <div class="progress"><div class="progress-bar"></div></div>
  216. <a href="#" class="bs-wizard-dot"></a>
  217.  
  218. </div>
  219.  
  220. <div style="border:1px solid #dedede;margin:2px;" class="col-xs-1 bs-wizard-step {% if project.takeoff_step == 'complete' %}complete{% else %}disabled{% endif %}"><!-- active -->
  221. <div class="text-center bs-wizard-stepnum">Takeoff</div>
  222. <div class="progress"><div class="progress-bar"></div></div>
  223. <a href="#" class="bs-wizard-dot"></a>
  224.  
  225. </div>
  226. <div style="border:1px solid #dedede;margin:2px;" class="col-xs-1 bs-wizard-step {% if project.rfq_from_supplier_step == 'complete' %}complete{% else %}disabled{% endif %}"><!-- active -->
  227. <div class="text-center bs-wizard-stepnum">RFQ From <br>Supplier</div>
  228. <div class="progress"><div class="progress-bar"></div></div>
  229. <a href="#" class="bs-wizard-dot"></a>
  230. </div>
  231. <div style="border:1px solid #dedede;margin:2px;" class="col-xs-1 bs-wizard-step {% if project.pendergast_quote_step == 'complete' %}complete{% else %}disabled{% endif %}"><!-- active -->
  232. <div class="text-center bs-wizard-stepnum">Pendergast<br> Quote</div>
  233. <div class="progress"><div class="progress-bar"></div></div>
  234. <a href="#" class="bs-wizard-dot"></a>
  235.  
  236. </div>
  237. <div style="border:1px solid #dedede;margin:2px;" class="col-xs-1 bs-wizard-step {% if project.submission_step == 'complete' %}complete{% else %}disabled{% endif %}"><!-- active -->
  238. <div class="text-center bs-wizard-stepnum">Submission</div>
  239. <div class="progress"><div class="progress-bar"></div></div>
  240. <a href="#" class="bs-wizard-dot"></a>
  241.  
  242. </div>
  243. <div style="border:1px solid #dedede;margin:2px;" class="col-xs-1 bs-wizard-step {% if project.order_acknowledgement_step == 'complete' %}complete{% else %}disabled{% endif %}"><!-- active -->
  244. <div class="text-center bs-wizard-stepnum">Order<br> Acknowledgement</div>
  245. <div class="progress"><div class="progress-bar"></div></div>
  246. <a href="#" class="bs-wizard-dot"></a>
  247.  
  248. </div>
  249. <div style="border:1px solid #dedede;margin:2px;" class="col-xs-1 bs-wizard-step {% if project.po_received_step == 'complete' %}complete{% else %}disabled{% endif %}"><!-- active -->
  250. <div class="text-center bs-wizard-stepnum">PO Received</div>
  251. <div class="progress"><div class="progress-bar"></div></div>
  252. <a href="#" class="bs-wizard-dot"></a>
  253.  
  254. </div>
  255. <div style="border:1px solid #dedede;margin:2px;" class="col-xs-1 bs-wizard-step {% if project.site_verification_step == 'complete' %}complete{% else %}disabled{% endif %}"><!-- active -->
  256. <div class="text-center bs-wizard-stepnum">Site<br> Verification</div>
  257. <div class="progress"><div class="progress-bar"></div></div>
  258. <a href="#" class="bs-wizard-dot"></a>
  259.  
  260. </div>
  261. <div style="border:1px solid #dedede;margin:2px;" class="col-xs-1 bs-wizard-step {% if project.shop_drawing_step == 'complete' %}complete{% else %}disabled{% endif %}"><!-- active -->
  262. <div class="text-center bs-wizard-stepnum">Shop<br> Drawing</div>
  263. <div class="progress"><div class="progress-bar"></div></div>
  264. <a href="#" class="bs-wizard-dot"></a>
  265.  
  266. </div>
  267. <div style="border:1px solid #dedede;margin:2px;" class="col-xs-1 bs-wizard-step {% if project.cutlist_imp_step == 'complete' %}complete{% else %}disabled{% endif %}"><!-- active -->
  268. <div class="text-center bs-wizard-stepnum">Cutlist IMP</div>
  269. <div class="progress"><div class="progress-bar"></div></div>
  270. <a href="#" class="bs-wizard-dot"></a>
  271.  
  272. </div>
  273. <div style="border:1px solid #dedede;margin:2px;" class="col-xs-1 bs-wizard-step {% if project.trim_list_step == 'complete' %}complete{% else %}disabled{% endif %}"><!-- active -->
  274. <div class="text-center bs-wizard-stepnum">Trim List</div>
  275. <div class="progress"><div class="progress-bar"></div></div>
  276. <a href="#" class="bs-wizard-dot"></a>
  277.  
  278. </div>
  279. <div style="border:1px solid #dedede;margin:2px;" class="col-xs-1 bs-wizard-step {% if project.issue_po_step == 'complete' %}complete{% else %}disabled{% endif %}"><!-- active -->
  280. <div class="text-center bs-wizard-stepnum">Issue PO</div>
  281. <div class="progress"><div class="progress-bar"></div></div>
  282. <a href="#" class="bs-wizard-dot"></a>
  283.  
  284. </div>
  285. <div style="border:1px solid #dedede;margin:2px;" class="col-xs-1 bs-wizard-step {% if project.bill_of_materials_to_site_step == 'complete' %}complete{% else %}disabled{% endif %}"><!-- active -->
  286. <div class="text-center bs-wizard-stepnum">Bill of Materials<br> to Site</div>
  287. <div class="progress"><div class="progress-bar"></div></div>
  288. <a href="#" class="bs-wizard-dot"></a>
  289.  
  290. </div>
  291. <div style="border:1px solid #dedede;margin:2px;" class="col-xs-1 bs-wizard-step {% if project.track_delivery_step == 'complete' %}complete{% else %}disabled{% endif %}"><!-- active -->
  292. <div class="text-center bs-wizard-stepnum">Track<br> Delivery</div>
  293. <div class="progress"><div class="progress-bar"></div></div>
  294. <a href="#" class="bs-wizard-dot"></a>
  295.  
  296. </div>
  297. <div style="border:1px solid #dedede;margin:2px;" class="col-xs-1 bs-wizard-step {% if project.invoicing_step == 'complete' %}complete{% else %}disabled{% endif %}"><!-- active -->
  298. <div class="text-center bs-wizard-stepnum">Invoicing</div>
  299. <div class="progress"><div class="progress-bar"></div></div>
  300. <a href="#" class="bs-wizard-dot"></a>
  301.  
  302. </div>
  303. <div style="border:1px solid #dedede;margin:2px;" class="col-xs-1 bs-wizard-step {% if project.verify_receipt_at_site_step == 'complete' %}complete{% else %}disabled{% endif %}"><!-- active -->
  304. <div class="text-center bs-wizard-stepnum">Verify Receipt <br>at Site</div>
  305. <div class="progress"><div class="progress-bar"></div></div>
  306. <a href="#" class="bs-wizard-dot"></a>
  307.  
  308. </div>
  309. <div style="border:1px solid #dedede;margin:2px;" class="col-xs-1 bs-wizard-step {% if project.progress_report_step == 'complete' %}complete{% else %}disabled{% endif %}"><!-- active -->
  310. <div class="text-center bs-wizard-stepnum">Progress<br> Report</div>
  311. <div class="progress"><div class="progress-bar"></div></div>
  312. <a href="#" class="bs-wizard-dot"></a>
  313.  
  314. </div>
  315. <div style="border:1px solid #dedede;margin:2px;" class="col-xs-1 bs-wizard-step {% if project.change_order_step == 'complete' %}complete{% else %}disabled{% endif %}"><!-- active -->
  316. <div class="text-center bs-wizard-stepnum">Change<br> Order</div>
  317. <div class="progress"><div class="progress-bar"></div></div>
  318. <a href="#" class="bs-wizard-dot"></a>
  319.  
  320. </div>
  321. <div style="border:1px solid #dedede;margin:2px;" class="col-xs-1 bs-wizard-step {% if project.close_out_site_inspection_step == 'complete' %}complete{% else %}disabled{% endif %}"><!-- active -->
  322. <div class="text-center bs-wizard-stepnum">Close Out<br> Site Inspection</div>
  323. <div class="progress"><div class="progress-bar"></div></div>
  324. <a href="#" class="bs-wizard-dot"></a>
  325.  
  326. </div>
  327. </div>
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334. </div>
  335.  
  336.  
  337.  
  338. <!-- exerimental section -->
  339.  
  340.  
  341.  
  342.  
  343.  
  344. <div class="row m-3">
  345.  
  346. {% for key, value in created_steps.items %}
  347.  
  348.  
  349.  
  350. <div class="col-lg-3 col-md-6 col-sm-6">
  351.  
  352. <div class="card m-3 {% if value.status == 'complete' %}bg-completed border-success{% else %}border-secondary{% endif %}">
  353.  
  354. <div class="card-header h6 text-center">{{value.name}}<br><span class="small">{{value.status}} | {{value.verification}} | Verified By: {{value.verified_by}} | Required Verifiers: {{value.required_verifiers}}</span></div>
  355.  
  356.  
  357. <div class="card-body text-secondary">
  358.  
  359. <form method="POST" action="{% url 'completeproject' project_id=project.id key=key %}">
  360. {% csrf_token %}
  361. <input class ="btn btn-sm" type="submit" name="{{key}}" value="{% if value.status == 'complete' %}Undo Complete{% else %}Complete{% endif %}">
  362. </form>
  363.  
  364.  
  365. <!-- show verify only if current user is in required verifers list -->
  366.  
  367.  
  368.  
  369.  
  370.  
  371. <form method="POST" action="{% url 'verifyproject' project_id=project.id key=key %}">
  372. {% csrf_token %}
  373. <input class ="btn btn-sm" {% if request.user not in value.required_verifiers %}disabled="disabled"{% endif %} type="submit" name="{{key}}" value="{% if value.verification == 'verified' %}Undo Verify{% else %}Verify{% endif %}">
  374. </form>
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381. </div>
  382. </div></div>
  383.  
  384. {% endfor %}
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400. </div>
  401.  
  402.  
  403.  
  404.  
  405. </body>
  406.  
  407.  
  408.  
  409.  
  410.  
  411.  
  412.  
  413.  
  414. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement