Guest User

Untitled

a guest
Jan 26th, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 120.09 KB | None | 0 0
  1.  
  2. <!DOCTYPE html>
  3. <!-- saved from url=(0055)https://tesserae-portal.crc.nd.edu/portal/issues/create -->
  4. <html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  5.  
  6. <meta name="robots" content="NONE,NOARCHIVE">
  7. <title>SMTPAuthenticationError at /portal/issues/create</title>
  8. <style type="text/css">
  9. html * { padding:0; margin:0; }
  10. body * { padding:10px 20px; }
  11. body * * { padding:0; }
  12. body { font:small sans-serif; }
  13. body>div { border-bottom:1px solid #ddd; }
  14. h1 { font-weight:normal; }
  15. h2 { margin-bottom:.8em; }
  16. h2 span { font-size:80%; color:#666; font-weight:normal; }
  17. h3 { margin:1em 0 .5em 0; }
  18. h4 { margin:0 0 .5em 0; font-weight: normal; }
  19. code, pre { font-size: 100%; white-space: pre-wrap; }
  20. table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
  21. tbody td, tbody th { vertical-align:top; padding:2px 3px; }
  22. thead th {
  23. padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
  24. font-weight:normal; font-size:11px; border:1px solid #ddd;
  25. }
  26. tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
  27. table.vars { margin:5px 0 2px 40px; }
  28. table.vars td, table.req td { font-family:monospace; }
  29. table td.code { width:100%; }
  30. table td.code pre { overflow:hidden; }
  31. table.source th { color:#666; }
  32. table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
  33. ul.traceback { list-style-type:none; color: #222; }
  34. ul.traceback li.frame { padding-bottom:1em; color:#666; }
  35. ul.traceback li.user { background-color:#e0e0e0; color:#000 }
  36. div.context { padding:10px 0; overflow:hidden; }
  37. div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
  38. div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
  39. div.context ol li pre { display:inline; }
  40. div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
  41. div.context ol.context-line li span { position:absolute; right:32px; }
  42. .user div.context ol.context-line li { background-color:#bbb; color:#000; }
  43. .user div.context ol li { color:#666; }
  44. div.commands { margin-left: 40px; }
  45. div.commands a { color:#555; text-decoration:none; }
  46. .user div.commands a { color: black; }
  47. #summary { background: #ffc; }
  48. #summary h2 { font-weight: normal; color: #666; }
  49. #explanation { background:#eee; }
  50. #template, #template-not-exist { background:#f6f6f6; }
  51. #template-not-exist ul { margin: 0 0 10px 20px; }
  52. #template-not-exist .postmortem-section { margin-bottom: 3px; }
  53. #unicode-hint { background:#eee; }
  54. #traceback { background:#eee; }
  55. #requestinfo { background:#f6f6f6; padding-left:120px; }
  56. #summary table { border:none; background:transparent; }
  57. #requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
  58. #requestinfo h3 { margin-bottom:-1em; }
  59. .error { background: #ffc; }
  60. .specific { color:#cc3300; font-weight:bold; }
  61. h2 span.commands { font-size:.7em;}
  62. span.commands a:link {color:#5E5694;}
  63. pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
  64. .append-bottom { margin-bottom: 10px; }
  65. </style>
  66.  
  67. <script type="text/javascript">
  68. //<!--
  69. function getElementsByClassName(oElm, strTagName, strClassName){
  70. // Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
  71. var arrElements = (strTagName == "*" && document.all)? document.all :
  72. oElm.getElementsByTagName(strTagName);
  73. var arrReturnElements = new Array();
  74. strClassName = strClassName.replace(/\-/g, "\-");
  75. var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
  76. var oElement;
  77. for(var i=0; i<arrElements.length; i++){
  78. oElement = arrElements[i];
  79. if(oRegExp.test(oElement.className)){
  80. arrReturnElements.push(oElement);
  81. }
  82. }
  83. return (arrReturnElements)
  84. }
  85. function hideAll(elems) {
  86. for (var e = 0; e < elems.length; e++) {
  87. elems[e].style.display = 'none';
  88. }
  89. }
  90. window.onload = function() {
  91. hideAll(getElementsByClassName(document, 'table', 'vars'));
  92. hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
  93. hideAll(getElementsByClassName(document, 'ol', 'post-context'));
  94. hideAll(getElementsByClassName(document, 'div', 'pastebin'));
  95. }
  96. function toggle() {
  97. for (var i = 0; i < arguments.length; i++) {
  98. var e = document.getElementById(arguments[i]);
  99. if (e) {
  100. e.style.display = e.style.display == 'none' ? 'block': 'none';
  101. }
  102. }
  103. return false;
  104. }
  105. function varToggle(link, id) {
  106. toggle('v' + id);
  107. var s = link.getElementsByTagName('span')[0];
  108. var uarr = String.fromCharCode(0x25b6);
  109. var darr = String.fromCharCode(0x25bc);
  110. s.textContent = s.textContent == uarr ? darr : uarr;
  111. return false;
  112. }
  113. function switchPastebinFriendly(link) {
  114. s1 = "Switch to copy-and-paste view";
  115. s2 = "Switch back to interactive view";
  116. link.textContent = link.textContent.trim() == s1 ? s2: s1;
  117. toggle('browserTraceback', 'pastebinTraceback');
  118. return false;
  119. }
  120. //-->
  121. </script>
  122.  
  123. </head>
  124. <body>
  125. <div id="summary">
  126. <h1>SMTPAuthenticationError at /portal/issues/create</h1>
  127. <pre class="exception_value">(535, '5.7.8 Username and Password not accepted. Learn more at\n5.7.8 https://support.google.com/mail/?p=BadCredentials k75sm603835iod.27 - gsmtp')</pre>
  128. <table class="meta">
  129.  
  130. <tbody><tr>
  131. <th>Request Method:</th>
  132. <td>POST</td>
  133. </tr>
  134. <tr>
  135. <th>Request URL:</th>
  136. <td>https://tesserae-portal.crc.nd.edu/portal/issues/create</td>
  137. </tr>
  138.  
  139. <tr>
  140. <th>Django Version:</th>
  141. <td>1.10.7</td>
  142. </tr>
  143.  
  144. <tr>
  145. <th>Exception Type:</th>
  146. <td>SMTPAuthenticationError</td>
  147. </tr>
  148.  
  149.  
  150. <tr>
  151. <th>Exception Value:</th>
  152. <td><pre>(535, '5.7.8 Username and Password not accepted. Learn more at\n5.7.8 https://support.google.com/mail/?p=BadCredentials k75sm603835iod.27 - gsmtp')</pre></td>
  153. </tr>
  154.  
  155.  
  156. <tr>
  157. <th>Exception Location:</th>
  158. <td>/usr/lib/python2.7/smtplib.py in login, line 622</td>
  159. </tr>
  160.  
  161. <tr>
  162. <th>Python Executable:</th>
  163. <td>/usr/bin/python</td>
  164. </tr>
  165. <tr>
  166. <th>Python Version:</th>
  167. <td>2.7.12</td>
  168. </tr>
  169. <tr>
  170. <th>Python Path:</th>
  171. <td><pre>['/opt/tesserae-portal',
  172. '/opt',
  173. '/opt/tesserae-portal/venv/lib/python2.7/dist-packages',
  174. '/usr/lib/python2.7',
  175. '/usr/lib/python2.7/plat-x86_64-linux-gnu',
  176. '/usr/lib/python2.7/lib-tk',
  177. '/usr/lib/python2.7/lib-old',
  178. '/usr/lib/python2.7/lib-dynload',
  179. '/usr/local/lib/python2.7/dist-packages',
  180. '/usr/lib/python2.7/dist-packages']</pre></td>
  181. </tr>
  182. <tr>
  183. <th>Server time:</th>
  184. <td>Fri, 26 Jan 2018 09:48:45 -0500</td>
  185. </tr>
  186. </tbody></table>
  187. </div>
  188.  
  189.  
  190.  
  191.  
  192. <div id="traceback">
  193. <h2>Traceback <span class="commands"><a href="https://tesserae-portal.crc.nd.edu/portal/issues/create#" onclick="return switchPastebinFriendly(this);">
  194. Switch to copy-and-paste view</a></span>
  195. </h2>
  196.  
  197. <div id="browserTraceback">
  198. <ul class="traceback">
  199.  
  200.  
  201. <li class="frame django">
  202. <code>/usr/local/lib/python2.7/dist-packages/django/core/handlers/exception.py</code> in <code>inner</code>
  203.  
  204.  
  205. <div class="context" id="c140638663030760">
  206.  
  207. <ol start="35" class="pre-context" id="pre140638663030760" style="display: none;">
  208.  
  209. <li onclick="toggle(&#39;pre140638663030760&#39;, &#39;post140638663030760&#39;)"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
  210.  
  211. <li onclick="toggle(&#39;pre140638663030760&#39;, &#39;post140638663030760&#39;)"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
  212.  
  213. <li onclick="toggle(&#39;pre140638663030760&#39;, &#39;post140638663030760&#39;)"><pre> can rely on getting a response instead of an exception.</pre></li>
  214.  
  215. <li onclick="toggle(&#39;pre140638663030760&#39;, &#39;post140638663030760&#39;)"><pre> """</pre></li>
  216.  
  217. <li onclick="toggle(&#39;pre140638663030760&#39;, &#39;post140638663030760&#39;)"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
  218.  
  219. <li onclick="toggle(&#39;pre140638663030760&#39;, &#39;post140638663030760&#39;)"><pre> def inner(request):</pre></li>
  220.  
  221. <li onclick="toggle(&#39;pre140638663030760&#39;, &#39;post140638663030760&#39;)"><pre> try:</pre></li>
  222.  
  223. </ol>
  224.  
  225. <ol start="42" class="context-line">
  226. <li onclick="toggle(&#39;pre140638663030760&#39;, &#39;post140638663030760&#39;)"><pre> response = get_response(request)</pre> <span>...</span></li></ol>
  227.  
  228. <ol start="43" class="post-context" id="post140638663030760" style="display: none;">
  229.  
  230. <li onclick="toggle(&#39;pre140638663030760&#39;, &#39;post140638663030760&#39;)"><pre> except Exception as exc:</pre></li>
  231.  
  232. <li onclick="toggle(&#39;pre140638663030760&#39;, &#39;post140638663030760&#39;)"><pre> response = response_for_exception(request, exc)</pre></li>
  233.  
  234. <li onclick="toggle(&#39;pre140638663030760&#39;, &#39;post140638663030760&#39;)"><pre> return response</pre></li>
  235.  
  236. <li onclick="toggle(&#39;pre140638663030760&#39;, &#39;post140638663030760&#39;)"><pre> return inner</pre></li>
  237.  
  238. <li onclick="toggle(&#39;pre140638663030760&#39;, &#39;post140638663030760&#39;)"><pre></pre></li>
  239.  
  240. <li onclick="toggle(&#39;pre140638663030760&#39;, &#39;post140638663030760&#39;)"><pre></pre></li>
  241.  
  242. </ol>
  243.  
  244. </div>
  245.  
  246.  
  247.  
  248. <div class="commands">
  249.  
  250. <a href="https://tesserae-portal.crc.nd.edu/portal/issues/create#" onclick="return varToggle(this, &#39;140638663030760&#39;)"><span>▼</span> Local vars</a>
  251.  
  252. </div>
  253. <table class="vars" id="v140638663030760" style="display: block;">
  254. <thead>
  255. <tr>
  256. <th>Variable</th>
  257. <th>Value</th>
  258. </tr>
  259. </thead>
  260. <tbody>
  261.  
  262. <tr>
  263. <td>exc</td>
  264. <td class="code"><pre>SMTPAuthenticationError(535, '5.7.8 Username and Password not accepted. Learn more at\n5.7.8 https://support.google.com/mail/?p=BadCredentials k75sm603835iod.27 - gsmtp')</pre></td>
  265. </tr>
  266.  
  267. <tr>
  268. <td>get_response</td>
  269. <td class="code"><pre>&lt;bound method WSGIHandler._get_response of &lt;django.core.handlers.wsgi.WSGIHandler object at 0x7fe906128cd0&gt;&gt;</pre></td>
  270. </tr>
  271.  
  272. <tr>
  273. <td>request</td>
  274. <td class="code"><pre>&lt;WSGIRequest: POST '/portal/issues/create'&gt;</pre></td>
  275. </tr>
  276.  
  277. </tbody>
  278. </table>
  279.  
  280. </li>
  281.  
  282.  
  283. <li class="frame django">
  284. <code>/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
  285.  
  286.  
  287. <div class="context" id="c140638663031840">
  288.  
  289. <ol start="180" class="pre-context" id="pre140638663031840" style="display: none;">
  290.  
  291. <li onclick="toggle(&#39;pre140638663031840&#39;, &#39;post140638663031840&#39;)"><pre> break</pre></li>
  292.  
  293. <li onclick="toggle(&#39;pre140638663031840&#39;, &#39;post140638663031840&#39;)"><pre></pre></li>
  294.  
  295. <li onclick="toggle(&#39;pre140638663031840&#39;, &#39;post140638663031840&#39;)"><pre> if response is None:</pre></li>
  296.  
  297. <li onclick="toggle(&#39;pre140638663031840&#39;, &#39;post140638663031840&#39;)"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
  298.  
  299. <li onclick="toggle(&#39;pre140638663031840&#39;, &#39;post140638663031840&#39;)"><pre> try:</pre></li>
  300.  
  301. <li onclick="toggle(&#39;pre140638663031840&#39;, &#39;post140638663031840&#39;)"><pre> response = wrapped_callback(request, *callback_args, **callback_kwargs)</pre></li>
  302.  
  303. <li onclick="toggle(&#39;pre140638663031840&#39;, &#39;post140638663031840&#39;)"><pre> except Exception as e:</pre></li>
  304.  
  305. </ol>
  306.  
  307. <ol start="187" class="context-line">
  308. <li onclick="toggle(&#39;pre140638663031840&#39;, &#39;post140638663031840&#39;)"><pre> response = self.process_exception_by_middleware(e, request)</pre> <span>...</span></li></ol>
  309.  
  310. <ol start="188" class="post-context" id="post140638663031840" style="display: none;">
  311.  
  312. <li onclick="toggle(&#39;pre140638663031840&#39;, &#39;post140638663031840&#39;)"><pre></pre></li>
  313.  
  314. <li onclick="toggle(&#39;pre140638663031840&#39;, &#39;post140638663031840&#39;)"><pre> # Complain if the view returned None (a common error).</pre></li>
  315.  
  316. <li onclick="toggle(&#39;pre140638663031840&#39;, &#39;post140638663031840&#39;)"><pre> if response is None:</pre></li>
  317.  
  318. <li onclick="toggle(&#39;pre140638663031840&#39;, &#39;post140638663031840&#39;)"><pre> if isinstance(callback, types.FunctionType): # FBV</pre></li>
  319.  
  320. <li onclick="toggle(&#39;pre140638663031840&#39;, &#39;post140638663031840&#39;)"><pre> view_name = callback.__name__</pre></li>
  321.  
  322. <li onclick="toggle(&#39;pre140638663031840&#39;, &#39;post140638663031840&#39;)"><pre> else: # CBV</pre></li>
  323.  
  324. </ol>
  325.  
  326. </div>
  327.  
  328.  
  329.  
  330. <div class="commands">
  331.  
  332. <a href="https://tesserae-portal.crc.nd.edu/portal/issues/create#" onclick="return varToggle(this, &#39;140638663031840&#39;)"><span>▼</span> Local vars</a>
  333.  
  334. </div>
  335. <table class="vars" id="v140638663031840" style="display: block;">
  336. <thead>
  337. <tr>
  338. <th>Variable</th>
  339. <th>Value</th>
  340. </tr>
  341. </thead>
  342. <tbody>
  343.  
  344. <tr>
  345. <td>callback</td>
  346. <td class="code"><pre>&lt;function IssueCreate at 0x7fe8fe80daa0&gt;</pre></td>
  347. </tr>
  348.  
  349. <tr>
  350. <td>callback_args</td>
  351. <td class="code"><pre>()</pre></td>
  352. </tr>
  353.  
  354. <tr>
  355. <td>callback_kwargs</td>
  356. <td class="code"><pre>{}</pre></td>
  357. </tr>
  358.  
  359. <tr>
  360. <td>e</td>
  361. <td class="code"><pre>SMTPAuthenticationError(535, '5.7.8 Username and Password not accepted. Learn more at\n5.7.8 https://support.google.com/mail/?p=BadCredentials k75sm603835iod.27 - gsmtp')</pre></td>
  362. </tr>
  363.  
  364. <tr>
  365. <td>middleware_method</td>
  366. <td class="code"><pre>&lt;bound method CsrfViewMiddleware.process_view of &lt;django.middleware.csrf.CsrfViewMiddleware object at 0x7fe904068f10&gt;&gt;</pre></td>
  367. </tr>
  368.  
  369. <tr>
  370. <td>request</td>
  371. <td class="code"><pre>&lt;WSGIRequest: POST '/portal/issues/create'&gt;</pre></td>
  372. </tr>
  373.  
  374. <tr>
  375. <td>resolver</td>
  376. <td class="code"><pre>&lt;RegexURLResolver 'config.urls' (None:None) ^/&gt;</pre></td>
  377. </tr>
  378.  
  379. <tr>
  380. <td>resolver_match</td>
  381. <td class="code"><pre>ResolverMatch(func=tesserae.apps.issue_app.views.IssueCreate, args=(), kwargs={}, url_name=new_issue, app_names=[], namespaces=['portal', 'issues'])</pre></td>
  382. </tr>
  383.  
  384. <tr>
  385. <td>response</td>
  386. <td class="code"><pre>None</pre></td>
  387. </tr>
  388.  
  389. <tr>
  390. <td>self</td>
  391. <td class="code"><pre>&lt;django.core.handlers.wsgi.WSGIHandler object at 0x7fe906128cd0&gt;</pre></td>
  392. </tr>
  393.  
  394. <tr>
  395. <td>wrapped_callback</td>
  396. <td class="code"><pre>&lt;function IssueCreate at 0x7fe8fe80daa0&gt;</pre></td>
  397. </tr>
  398.  
  399. </tbody>
  400. </table>
  401.  
  402. </li>
  403.  
  404.  
  405. <li class="frame django">
  406. <code>/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
  407.  
  408.  
  409. <div class="context" id="c140638663030184">
  410.  
  411. <ol start="178" class="pre-context" id="pre140638663030184" style="display: none;">
  412.  
  413. <li onclick="toggle(&#39;pre140638663030184&#39;, &#39;post140638663030184&#39;)"><pre> response = middleware_method(request, callback, callback_args, callback_kwargs)</pre></li>
  414.  
  415. <li onclick="toggle(&#39;pre140638663030184&#39;, &#39;post140638663030184&#39;)"><pre> if response:</pre></li>
  416.  
  417. <li onclick="toggle(&#39;pre140638663030184&#39;, &#39;post140638663030184&#39;)"><pre> break</pre></li>
  418.  
  419. <li onclick="toggle(&#39;pre140638663030184&#39;, &#39;post140638663030184&#39;)"><pre></pre></li>
  420.  
  421. <li onclick="toggle(&#39;pre140638663030184&#39;, &#39;post140638663030184&#39;)"><pre> if response is None:</pre></li>
  422.  
  423. <li onclick="toggle(&#39;pre140638663030184&#39;, &#39;post140638663030184&#39;)"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
  424.  
  425. <li onclick="toggle(&#39;pre140638663030184&#39;, &#39;post140638663030184&#39;)"><pre> try:</pre></li>
  426.  
  427. </ol>
  428.  
  429. <ol start="185" class="context-line">
  430. <li onclick="toggle(&#39;pre140638663030184&#39;, &#39;post140638663030184&#39;)"><pre> response = wrapped_callback(request, *callback_args, **callback_kwargs)</pre> <span>...</span></li></ol>
  431.  
  432. <ol start="186" class="post-context" id="post140638663030184" style="display: none;">
  433.  
  434. <li onclick="toggle(&#39;pre140638663030184&#39;, &#39;post140638663030184&#39;)"><pre> except Exception as e:</pre></li>
  435.  
  436. <li onclick="toggle(&#39;pre140638663030184&#39;, &#39;post140638663030184&#39;)"><pre> response = self.process_exception_by_middleware(e, request)</pre></li>
  437.  
  438. <li onclick="toggle(&#39;pre140638663030184&#39;, &#39;post140638663030184&#39;)"><pre></pre></li>
  439.  
  440. <li onclick="toggle(&#39;pre140638663030184&#39;, &#39;post140638663030184&#39;)"><pre> # Complain if the view returned None (a common error).</pre></li>
  441.  
  442. <li onclick="toggle(&#39;pre140638663030184&#39;, &#39;post140638663030184&#39;)"><pre> if response is None:</pre></li>
  443.  
  444. <li onclick="toggle(&#39;pre140638663030184&#39;, &#39;post140638663030184&#39;)"><pre> if isinstance(callback, types.FunctionType): # FBV</pre></li>
  445.  
  446. </ol>
  447.  
  448. </div>
  449.  
  450.  
  451.  
  452. <div class="commands">
  453.  
  454. <a href="https://tesserae-portal.crc.nd.edu/portal/issues/create#" onclick="return varToggle(this, &#39;140638663030184&#39;)"><span>▶</span> Local vars</a>
  455.  
  456. </div>
  457. <table class="vars" id="v140638663030184" style="display: none;">
  458. <thead>
  459. <tr>
  460. <th>Variable</th>
  461. <th>Value</th>
  462. </tr>
  463. </thead>
  464. <tbody>
  465.  
  466. <tr>
  467. <td>callback</td>
  468. <td class="code"><pre>&lt;function IssueCreate at 0x7fe8fe80daa0&gt;</pre></td>
  469. </tr>
  470.  
  471. <tr>
  472. <td>callback_args</td>
  473. <td class="code"><pre>()</pre></td>
  474. </tr>
  475.  
  476. <tr>
  477. <td>callback_kwargs</td>
  478. <td class="code"><pre>{}</pre></td>
  479. </tr>
  480.  
  481. <tr>
  482. <td>e</td>
  483. <td class="code"><pre>SMTPAuthenticationError(535, '5.7.8 Username and Password not accepted. Learn more at\n5.7.8 https://support.google.com/mail/?p=BadCredentials k75sm603835iod.27 - gsmtp')</pre></td>
  484. </tr>
  485.  
  486. <tr>
  487. <td>middleware_method</td>
  488. <td class="code"><pre>&lt;bound method CsrfViewMiddleware.process_view of &lt;django.middleware.csrf.CsrfViewMiddleware object at 0x7fe904068f10&gt;&gt;</pre></td>
  489. </tr>
  490.  
  491. <tr>
  492. <td>request</td>
  493. <td class="code"><pre>&lt;WSGIRequest: POST '/portal/issues/create'&gt;</pre></td>
  494. </tr>
  495.  
  496. <tr>
  497. <td>resolver</td>
  498. <td class="code"><pre>&lt;RegexURLResolver 'config.urls' (None:None) ^/&gt;</pre></td>
  499. </tr>
  500.  
  501. <tr>
  502. <td>resolver_match</td>
  503. <td class="code"><pre>ResolverMatch(func=tesserae.apps.issue_app.views.IssueCreate, args=(), kwargs={}, url_name=new_issue, app_names=[], namespaces=['portal', 'issues'])</pre></td>
  504. </tr>
  505.  
  506. <tr>
  507. <td>response</td>
  508. <td class="code"><pre>None</pre></td>
  509. </tr>
  510.  
  511. <tr>
  512. <td>self</td>
  513. <td class="code"><pre>&lt;django.core.handlers.wsgi.WSGIHandler object at 0x7fe906128cd0&gt;</pre></td>
  514. </tr>
  515.  
  516. <tr>
  517. <td>wrapped_callback</td>
  518. <td class="code"><pre>&lt;function IssueCreate at 0x7fe8fe80daa0&gt;</pre></td>
  519. </tr>
  520.  
  521. </tbody>
  522. </table>
  523.  
  524. </li>
  525.  
  526.  
  527. <li class="frame django">
  528. <code>/usr/local/lib/python2.7/dist-packages/django/views/generic/base.py</code> in <code>view</code>
  529.  
  530.  
  531. <div class="context" id="c140638663031696">
  532.  
  533. <ol start="61" class="pre-context" id="pre140638663031696" style="display: none;">
  534.  
  535. <li onclick="toggle(&#39;pre140638663031696&#39;, &#39;post140638663031696&#39;)"><pre> def view(request, *args, **kwargs):</pre></li>
  536.  
  537. <li onclick="toggle(&#39;pre140638663031696&#39;, &#39;post140638663031696&#39;)"><pre> self = cls(**initkwargs)</pre></li>
  538.  
  539. <li onclick="toggle(&#39;pre140638663031696&#39;, &#39;post140638663031696&#39;)"><pre> if hasattr(self, 'get') and not hasattr(self, 'head'):</pre></li>
  540.  
  541. <li onclick="toggle(&#39;pre140638663031696&#39;, &#39;post140638663031696&#39;)"><pre> self.head = self.get</pre></li>
  542.  
  543. <li onclick="toggle(&#39;pre140638663031696&#39;, &#39;post140638663031696&#39;)"><pre> self.request = request</pre></li>
  544.  
  545. <li onclick="toggle(&#39;pre140638663031696&#39;, &#39;post140638663031696&#39;)"><pre> self.args = args</pre></li>
  546.  
  547. <li onclick="toggle(&#39;pre140638663031696&#39;, &#39;post140638663031696&#39;)"><pre> self.kwargs = kwargs</pre></li>
  548.  
  549. </ol>
  550.  
  551. <ol start="68" class="context-line">
  552. <li onclick="toggle(&#39;pre140638663031696&#39;, &#39;post140638663031696&#39;)"><pre> return self.dispatch(request, *args, **kwargs)</pre> <span>...</span></li></ol>
  553.  
  554. <ol start="69" class="post-context" id="post140638663031696" style="display: none;">
  555.  
  556. <li onclick="toggle(&#39;pre140638663031696&#39;, &#39;post140638663031696&#39;)"><pre> view.view_class = cls</pre></li>
  557.  
  558. <li onclick="toggle(&#39;pre140638663031696&#39;, &#39;post140638663031696&#39;)"><pre> view.view_initkwargs = initkwargs</pre></li>
  559.  
  560. <li onclick="toggle(&#39;pre140638663031696&#39;, &#39;post140638663031696&#39;)"><pre></pre></li>
  561.  
  562. <li onclick="toggle(&#39;pre140638663031696&#39;, &#39;post140638663031696&#39;)"><pre> # take name and docstring from class</pre></li>
  563.  
  564. <li onclick="toggle(&#39;pre140638663031696&#39;, &#39;post140638663031696&#39;)"><pre> update_wrapper(view, cls, updated=())</pre></li>
  565.  
  566. <li onclick="toggle(&#39;pre140638663031696&#39;, &#39;post140638663031696&#39;)"><pre></pre></li>
  567.  
  568. </ol>
  569.  
  570. </div>
  571.  
  572.  
  573.  
  574. <div class="commands">
  575.  
  576. <a href="https://tesserae-portal.crc.nd.edu/portal/issues/create#" onclick="return varToggle(this, &#39;140638663031696&#39;)"><span>▶</span> Local vars</a>
  577.  
  578. </div>
  579. <table class="vars" id="v140638663031696" style="display: none;">
  580. <thead>
  581. <tr>
  582. <th>Variable</th>
  583. <th>Value</th>
  584. </tr>
  585. </thead>
  586. <tbody>
  587.  
  588. <tr>
  589. <td>args</td>
  590. <td class="code"><pre>()</pre></td>
  591. </tr>
  592.  
  593. <tr>
  594. <td>cls</td>
  595. <td class="code"><pre>&lt;class 'tesserae.apps.issue_app.views.IssueCreate'&gt;</pre></td>
  596. </tr>
  597.  
  598. <tr>
  599. <td>initkwargs</td>
  600. <td class="code"><pre>{}</pre></td>
  601. </tr>
  602.  
  603. <tr>
  604. <td>kwargs</td>
  605. <td class="code"><pre>{}</pre></td>
  606. </tr>
  607.  
  608. <tr>
  609. <td>request</td>
  610. <td class="code"><pre>&lt;WSGIRequest: POST '/portal/issues/create'&gt;</pre></td>
  611. </tr>
  612.  
  613. <tr>
  614. <td>self</td>
  615. <td class="code"><pre>&lt;tesserae.apps.issue_app.views.IssueCreate object at 0x7fe8fd948610&gt;</pre></td>
  616. </tr>
  617.  
  618. </tbody>
  619. </table>
  620.  
  621. </li>
  622.  
  623.  
  624. <li class="frame django">
  625. <code>/usr/local/lib/python2.7/dist-packages/django/contrib/auth/mixins.py</code> in <code>dispatch</code>
  626.  
  627.  
  628. <div class="context" id="c140638663030832">
  629.  
  630. <ol start="49" class="pre-context" id="pre140638663030832" style="display: none;">
  631.  
  632. <li onclick="toggle(&#39;pre140638663030832&#39;, &#39;post140638663030832&#39;)"><pre>class LoginRequiredMixin(AccessMixin):</pre></li>
  633.  
  634. <li onclick="toggle(&#39;pre140638663030832&#39;, &#39;post140638663030832&#39;)"><pre> """</pre></li>
  635.  
  636. <li onclick="toggle(&#39;pre140638663030832&#39;, &#39;post140638663030832&#39;)"><pre> CBV mixin which verifies that the current user is authenticated.</pre></li>
  637.  
  638. <li onclick="toggle(&#39;pre140638663030832&#39;, &#39;post140638663030832&#39;)"><pre> """</pre></li>
  639.  
  640. <li onclick="toggle(&#39;pre140638663030832&#39;, &#39;post140638663030832&#39;)"><pre> def dispatch(self, request, *args, **kwargs):</pre></li>
  641.  
  642. <li onclick="toggle(&#39;pre140638663030832&#39;, &#39;post140638663030832&#39;)"><pre> if not request.user.is_authenticated:</pre></li>
  643.  
  644. <li onclick="toggle(&#39;pre140638663030832&#39;, &#39;post140638663030832&#39;)"><pre> return self.handle_no_permission()</pre></li>
  645.  
  646. </ol>
  647.  
  648. <ol start="56" class="context-line">
  649. <li onclick="toggle(&#39;pre140638663030832&#39;, &#39;post140638663030832&#39;)"><pre> return super(LoginRequiredMixin, self).dispatch(request, *args, **kwargs)</pre> <span>...</span></li></ol>
  650.  
  651. <ol start="57" class="post-context" id="post140638663030832" style="display: none;">
  652.  
  653. <li onclick="toggle(&#39;pre140638663030832&#39;, &#39;post140638663030832&#39;)"><pre></pre></li>
  654.  
  655. <li onclick="toggle(&#39;pre140638663030832&#39;, &#39;post140638663030832&#39;)"><pre></pre></li>
  656.  
  657. <li onclick="toggle(&#39;pre140638663030832&#39;, &#39;post140638663030832&#39;)"><pre>class PermissionRequiredMixin(AccessMixin):</pre></li>
  658.  
  659. <li onclick="toggle(&#39;pre140638663030832&#39;, &#39;post140638663030832&#39;)"><pre> """</pre></li>
  660.  
  661. <li onclick="toggle(&#39;pre140638663030832&#39;, &#39;post140638663030832&#39;)"><pre> CBV mixin which verifies that the current user has all specified</pre></li>
  662.  
  663. <li onclick="toggle(&#39;pre140638663030832&#39;, &#39;post140638663030832&#39;)"><pre> permissions.</pre></li>
  664.  
  665. </ol>
  666.  
  667. </div>
  668.  
  669.  
  670.  
  671. <div class="commands">
  672.  
  673. <a href="https://tesserae-portal.crc.nd.edu/portal/issues/create#" onclick="return varToggle(this, &#39;140638663030832&#39;)"><span>▶</span> Local vars</a>
  674.  
  675. </div>
  676. <table class="vars" id="v140638663030832" style="display: none;">
  677. <thead>
  678. <tr>
  679. <th>Variable</th>
  680. <th>Value</th>
  681. </tr>
  682. </thead>
  683. <tbody>
  684.  
  685. <tr>
  686. <td>args</td>
  687. <td class="code"><pre>()</pre></td>
  688. </tr>
  689.  
  690. <tr>
  691. <td>kwargs</td>
  692. <td class="code"><pre>{}</pre></td>
  693. </tr>
  694.  
  695. <tr>
  696. <td>request</td>
  697. <td class="code"><pre>&lt;WSGIRequest: POST '/portal/issues/create'&gt;</pre></td>
  698. </tr>
  699.  
  700. <tr>
  701. <td>self</td>
  702. <td class="code"><pre>&lt;tesserae.apps.issue_app.views.IssueCreate object at 0x7fe8fd948610&gt;</pre></td>
  703. </tr>
  704.  
  705. </tbody>
  706. </table>
  707.  
  708. </li>
  709.  
  710.  
  711. <li class="frame django">
  712. <code>/usr/local/lib/python2.7/dist-packages/django/contrib/auth/mixins.py</code> in <code>dispatch</code>
  713.  
  714.  
  715. <div class="context" id="c140638663029896">
  716.  
  717. <ol start="109" class="pre-context" id="pre140638663029896" style="display: none;">
  718.  
  719. <li onclick="toggle(&#39;pre140638663029896&#39;, &#39;post140638663029896&#39;)"><pre> """</pre></li>
  720.  
  721. <li onclick="toggle(&#39;pre140638663029896&#39;, &#39;post140638663029896&#39;)"><pre> return self.test_func</pre></li>
  722.  
  723. <li onclick="toggle(&#39;pre140638663029896&#39;, &#39;post140638663029896&#39;)"><pre></pre></li>
  724.  
  725. <li onclick="toggle(&#39;pre140638663029896&#39;, &#39;post140638663029896&#39;)"><pre> def dispatch(self, request, *args, **kwargs):</pre></li>
  726.  
  727. <li onclick="toggle(&#39;pre140638663029896&#39;, &#39;post140638663029896&#39;)"><pre> user_test_result = self.get_test_func()()</pre></li>
  728.  
  729. <li onclick="toggle(&#39;pre140638663029896&#39;, &#39;post140638663029896&#39;)"><pre> if not user_test_result:</pre></li>
  730.  
  731. <li onclick="toggle(&#39;pre140638663029896&#39;, &#39;post140638663029896&#39;)"><pre> return self.handle_no_permission()</pre></li>
  732.  
  733. </ol>
  734.  
  735. <ol start="116" class="context-line">
  736. <li onclick="toggle(&#39;pre140638663029896&#39;, &#39;post140638663029896&#39;)"><pre> return super(UserPassesTestMixin, self).dispatch(request, *args, **kwargs)</pre> <span>...</span></li></ol>
  737.  
  738. </div>
  739.  
  740.  
  741.  
  742. <div class="commands">
  743.  
  744. <a href="https://tesserae-portal.crc.nd.edu/portal/issues/create#" onclick="return varToggle(this, &#39;140638663029896&#39;)"><span>▶</span> Local vars</a>
  745.  
  746. </div>
  747. <table class="vars" id="v140638663029896" style="display: none;">
  748. <thead>
  749. <tr>
  750. <th>Variable</th>
  751. <th>Value</th>
  752. </tr>
  753. </thead>
  754. <tbody>
  755.  
  756. <tr>
  757. <td>args</td>
  758. <td class="code"><pre>()</pre></td>
  759. </tr>
  760.  
  761. <tr>
  762. <td>kwargs</td>
  763. <td class="code"><pre>{}</pre></td>
  764. </tr>
  765.  
  766. <tr>
  767. <td>request</td>
  768. <td class="code"><pre>&lt;WSGIRequest: POST '/portal/issues/create'&gt;</pre></td>
  769. </tr>
  770.  
  771. <tr>
  772. <td>self</td>
  773. <td class="code"><pre>&lt;tesserae.apps.issue_app.views.IssueCreate object at 0x7fe8fd948610&gt;</pre></td>
  774. </tr>
  775.  
  776. <tr>
  777. <td>user_test_result</td>
  778. <td class="code"><pre>True</pre></td>
  779. </tr>
  780.  
  781. </tbody>
  782. </table>
  783.  
  784. </li>
  785.  
  786.  
  787. <li class="frame django">
  788. <code>/usr/local/lib/python2.7/dist-packages/django/views/generic/base.py</code> in <code>dispatch</code>
  789.  
  790.  
  791. <div class="context" id="c140638663030904">
  792.  
  793. <ol start="81" class="pre-context" id="pre140638663030904" style="display: none;">
  794.  
  795. <li onclick="toggle(&#39;pre140638663030904&#39;, &#39;post140638663030904&#39;)"><pre> # Try to dispatch to the right method; if a method doesn't exist,</pre></li>
  796.  
  797. <li onclick="toggle(&#39;pre140638663030904&#39;, &#39;post140638663030904&#39;)"><pre> # defer to the error handler. Also defer to the error handler if the</pre></li>
  798.  
  799. <li onclick="toggle(&#39;pre140638663030904&#39;, &#39;post140638663030904&#39;)"><pre> # request method isn't on the approved list.</pre></li>
  800.  
  801. <li onclick="toggle(&#39;pre140638663030904&#39;, &#39;post140638663030904&#39;)"><pre> if request.method.lower() in self.http_method_names:</pre></li>
  802.  
  803. <li onclick="toggle(&#39;pre140638663030904&#39;, &#39;post140638663030904&#39;)"><pre> handler = getattr(self, request.method.lower(), self.http_method_not_allowed)</pre></li>
  804.  
  805. <li onclick="toggle(&#39;pre140638663030904&#39;, &#39;post140638663030904&#39;)"><pre> else:</pre></li>
  806.  
  807. <li onclick="toggle(&#39;pre140638663030904&#39;, &#39;post140638663030904&#39;)"><pre> handler = self.http_method_not_allowed</pre></li>
  808.  
  809. </ol>
  810.  
  811. <ol start="88" class="context-line">
  812. <li onclick="toggle(&#39;pre140638663030904&#39;, &#39;post140638663030904&#39;)"><pre> return handler(request, *args, **kwargs)</pre> <span>...</span></li></ol>
  813.  
  814. <ol start="89" class="post-context" id="post140638663030904" style="display: none;">
  815.  
  816. <li onclick="toggle(&#39;pre140638663030904&#39;, &#39;post140638663030904&#39;)"><pre></pre></li>
  817.  
  818. <li onclick="toggle(&#39;pre140638663030904&#39;, &#39;post140638663030904&#39;)"><pre> def http_method_not_allowed(self, request, *args, **kwargs):</pre></li>
  819.  
  820. <li onclick="toggle(&#39;pre140638663030904&#39;, &#39;post140638663030904&#39;)"><pre> logger.warning(</pre></li>
  821.  
  822. <li onclick="toggle(&#39;pre140638663030904&#39;, &#39;post140638663030904&#39;)"><pre> 'Method Not Allowed (%s): %s', request.method, request.path,</pre></li>
  823.  
  824. <li onclick="toggle(&#39;pre140638663030904&#39;, &#39;post140638663030904&#39;)"><pre> extra={'status_code': 405, 'request': request}</pre></li>
  825.  
  826. <li onclick="toggle(&#39;pre140638663030904&#39;, &#39;post140638663030904&#39;)"><pre> )</pre></li>
  827.  
  828. </ol>
  829.  
  830. </div>
  831.  
  832.  
  833.  
  834. <div class="commands">
  835.  
  836. <a href="https://tesserae-portal.crc.nd.edu/portal/issues/create#" onclick="return varToggle(this, &#39;140638663030904&#39;)"><span>▶</span> Local vars</a>
  837.  
  838. </div>
  839. <table class="vars" id="v140638663030904" style="display: none;">
  840. <thead>
  841. <tr>
  842. <th>Variable</th>
  843. <th>Value</th>
  844. </tr>
  845. </thead>
  846. <tbody>
  847.  
  848. <tr>
  849. <td>args</td>
  850. <td class="code"><pre>()</pre></td>
  851. </tr>
  852.  
  853. <tr>
  854. <td>handler</td>
  855. <td class="code"><pre>&lt;bound method IssueCreate.post of &lt;tesserae.apps.issue_app.views.IssueCreate object at 0x7fe8fd948610&gt;&gt;</pre></td>
  856. </tr>
  857.  
  858. <tr>
  859. <td>kwargs</td>
  860. <td class="code"><pre>{}</pre></td>
  861. </tr>
  862.  
  863. <tr>
  864. <td>request</td>
  865. <td class="code"><pre>&lt;WSGIRequest: POST '/portal/issues/create'&gt;</pre></td>
  866. </tr>
  867.  
  868. <tr>
  869. <td>self</td>
  870. <td class="code"><pre>&lt;tesserae.apps.issue_app.views.IssueCreate object at 0x7fe8fd948610&gt;</pre></td>
  871. </tr>
  872.  
  873. </tbody>
  874. </table>
  875.  
  876. </li>
  877.  
  878.  
  879. <li class="frame django">
  880. <code>/usr/local/lib/python2.7/dist-packages/django/views/generic/edit.py</code> in <code>post</code>
  881.  
  882.  
  883. <div class="context" id="c140638663030040">
  884.  
  885. <ol start="210" class="pre-context" id="pre140638663030040" style="display: none;">
  886.  
  887. <li onclick="toggle(&#39;pre140638663030040&#39;, &#39;post140638663030040&#39;)"><pre> """</pre></li>
  888.  
  889. <li onclick="toggle(&#39;pre140638663030040&#39;, &#39;post140638663030040&#39;)"><pre> def get(self, request, *args, **kwargs):</pre></li>
  890.  
  891. <li onclick="toggle(&#39;pre140638663030040&#39;, &#39;post140638663030040&#39;)"><pre> self.object = None</pre></li>
  892.  
  893. <li onclick="toggle(&#39;pre140638663030040&#39;, &#39;post140638663030040&#39;)"><pre> return super(BaseCreateView, self).get(request, *args, **kwargs)</pre></li>
  894.  
  895. <li onclick="toggle(&#39;pre140638663030040&#39;, &#39;post140638663030040&#39;)"><pre></pre></li>
  896.  
  897. <li onclick="toggle(&#39;pre140638663030040&#39;, &#39;post140638663030040&#39;)"><pre> def post(self, request, *args, **kwargs):</pre></li>
  898.  
  899. <li onclick="toggle(&#39;pre140638663030040&#39;, &#39;post140638663030040&#39;)"><pre> self.object = None</pre></li>
  900.  
  901. </ol>
  902.  
  903. <ol start="217" class="context-line">
  904. <li onclick="toggle(&#39;pre140638663030040&#39;, &#39;post140638663030040&#39;)"><pre> return super(BaseCreateView, self).post(request, *args, **kwargs)</pre> <span>...</span></li></ol>
  905.  
  906. <ol start="218" class="post-context" id="post140638663030040" style="display: none;">
  907.  
  908. <li onclick="toggle(&#39;pre140638663030040&#39;, &#39;post140638663030040&#39;)"><pre></pre></li>
  909.  
  910. <li onclick="toggle(&#39;pre140638663030040&#39;, &#39;post140638663030040&#39;)"><pre></pre></li>
  911.  
  912. <li onclick="toggle(&#39;pre140638663030040&#39;, &#39;post140638663030040&#39;)"><pre>class CreateView(SingleObjectTemplateResponseMixin, BaseCreateView):</pre></li>
  913.  
  914. <li onclick="toggle(&#39;pre140638663030040&#39;, &#39;post140638663030040&#39;)"><pre> """</pre></li>
  915.  
  916. <li onclick="toggle(&#39;pre140638663030040&#39;, &#39;post140638663030040&#39;)"><pre> View for creating a new object instance,</pre></li>
  917.  
  918. <li onclick="toggle(&#39;pre140638663030040&#39;, &#39;post140638663030040&#39;)"><pre> with a response rendered by template.</pre></li>
  919.  
  920. </ol>
  921.  
  922. </div>
  923.  
  924.  
  925.  
  926. <div class="commands">
  927.  
  928. <a href="https://tesserae-portal.crc.nd.edu/portal/issues/create#" onclick="return varToggle(this, &#39;140638663030040&#39;)"><span>▶</span> Local vars</a>
  929.  
  930. </div>
  931. <table class="vars" id="v140638663030040" style="display: none;">
  932. <thead>
  933. <tr>
  934. <th>Variable</th>
  935. <th>Value</th>
  936. </tr>
  937. </thead>
  938. <tbody>
  939.  
  940. <tr>
  941. <td>args</td>
  942. <td class="code"><pre>()</pre></td>
  943. </tr>
  944.  
  945. <tr>
  946. <td>kwargs</td>
  947. <td class="code"><pre>{}</pre></td>
  948. </tr>
  949.  
  950. <tr>
  951. <td>request</td>
  952. <td class="code"><pre>&lt;WSGIRequest: POST '/portal/issues/create'&gt;</pre></td>
  953. </tr>
  954.  
  955. <tr>
  956. <td>self</td>
  957. <td class="code"><pre>&lt;tesserae.apps.issue_app.views.IssueCreate object at 0x7fe8fd948610&gt;</pre></td>
  958. </tr>
  959.  
  960. </tbody>
  961. </table>
  962.  
  963. </li>
  964.  
  965.  
  966. <li class="frame django">
  967. <code>/usr/local/lib/python2.7/dist-packages/django/views/generic/edit.py</code> in <code>post</code>
  968.  
  969.  
  970. <div class="context" id="c140638663032128">
  971.  
  972. <ol start="176" class="pre-context" id="pre140638663032128" style="display: none;">
  973.  
  974. <li onclick="toggle(&#39;pre140638663032128&#39;, &#39;post140638663032128&#39;)"><pre> def post(self, request, *args, **kwargs):</pre></li>
  975.  
  976. <li onclick="toggle(&#39;pre140638663032128&#39;, &#39;post140638663032128&#39;)"><pre> """</pre></li>
  977.  
  978. <li onclick="toggle(&#39;pre140638663032128&#39;, &#39;post140638663032128&#39;)"><pre> Handles POST requests, instantiating a form instance with the passed</pre></li>
  979.  
  980. <li onclick="toggle(&#39;pre140638663032128&#39;, &#39;post140638663032128&#39;)"><pre> POST variables and then checked for validity.</pre></li>
  981.  
  982. <li onclick="toggle(&#39;pre140638663032128&#39;, &#39;post140638663032128&#39;)"><pre> """</pre></li>
  983.  
  984. <li onclick="toggle(&#39;pre140638663032128&#39;, &#39;post140638663032128&#39;)"><pre> form = self.get_form()</pre></li>
  985.  
  986. <li onclick="toggle(&#39;pre140638663032128&#39;, &#39;post140638663032128&#39;)"><pre> if form.is_valid():</pre></li>
  987.  
  988. </ol>
  989.  
  990. <ol start="183" class="context-line">
  991. <li onclick="toggle(&#39;pre140638663032128&#39;, &#39;post140638663032128&#39;)"><pre> return self.form_valid(form)</pre> <span>...</span></li></ol>
  992.  
  993. <ol start="184" class="post-context" id="post140638663032128" style="display: none;">
  994.  
  995. <li onclick="toggle(&#39;pre140638663032128&#39;, &#39;post140638663032128&#39;)"><pre> else:</pre></li>
  996.  
  997. <li onclick="toggle(&#39;pre140638663032128&#39;, &#39;post140638663032128&#39;)"><pre> return self.form_invalid(form)</pre></li>
  998.  
  999. <li onclick="toggle(&#39;pre140638663032128&#39;, &#39;post140638663032128&#39;)"><pre></pre></li>
  1000.  
  1001. <li onclick="toggle(&#39;pre140638663032128&#39;, &#39;post140638663032128&#39;)"><pre> # PUT is a valid HTTP verb for creating (with a known URL) or editing an</pre></li>
  1002.  
  1003. <li onclick="toggle(&#39;pre140638663032128&#39;, &#39;post140638663032128&#39;)"><pre> # object, note that browsers only support POST for now.</pre></li>
  1004.  
  1005. <li onclick="toggle(&#39;pre140638663032128&#39;, &#39;post140638663032128&#39;)"><pre> def put(self, *args, **kwargs):</pre></li>
  1006.  
  1007. </ol>
  1008.  
  1009. </div>
  1010.  
  1011.  
  1012.  
  1013. <div class="commands">
  1014.  
  1015. <a href="https://tesserae-portal.crc.nd.edu/portal/issues/create#" onclick="return varToggle(this, &#39;140638663032128&#39;)"><span>▶</span> Local vars</a>
  1016.  
  1017. </div>
  1018. <table class="vars" id="v140638663032128" style="display: none;">
  1019. <thead>
  1020. <tr>
  1021. <th>Variable</th>
  1022. <th>Value</th>
  1023. </tr>
  1024. </thead>
  1025. <tbody>
  1026.  
  1027. <tr>
  1028. <td>args</td>
  1029. <td class="code"><pre>()</pre></td>
  1030. </tr>
  1031.  
  1032. <tr>
  1033. <td>form</td>
  1034. <td class="code"><pre>&lt;ParticipantIssueForm bound=True, valid=True, fields=(category;subject;description;preferred_contact_method)&gt;</pre></td>
  1035. </tr>
  1036.  
  1037. <tr>
  1038. <td>kwargs</td>
  1039. <td class="code"><pre>{}</pre></td>
  1040. </tr>
  1041.  
  1042. <tr>
  1043. <td>request</td>
  1044. <td class="code"><pre>&lt;WSGIRequest: POST '/portal/issues/create'&gt;</pre></td>
  1045. </tr>
  1046.  
  1047. <tr>
  1048. <td>self</td>
  1049. <td class="code"><pre>&lt;tesserae.apps.issue_app.views.IssueCreate object at 0x7fe8fd948610&gt;</pre></td>
  1050. </tr>
  1051.  
  1052. </tbody>
  1053. </table>
  1054.  
  1055. </li>
  1056.  
  1057.  
  1058. <li class="frame user">
  1059. <code>/opt/tesserae-portal/tesserae/apps/issue_app/views.py</code> in <code>form_valid</code>
  1060.  
  1061.  
  1062. <div class="context" id="c140638662930232">
  1063.  
  1064. <ol start="37" class="pre-context" id="pre140638662930232" style="display: none;">
  1065.  
  1066. <li onclick="toggle(&#39;pre140638662930232&#39;, &#39;post140638662930232&#39;)"><pre></pre></li>
  1067.  
  1068. <li onclick="toggle(&#39;pre140638662930232&#39;, &#39;post140638662930232&#39;)"><pre> logged_in_participant = Participant.objects.get(gmail=self.request.user.email)</pre></li>
  1069.  
  1070. <li onclick="toggle(&#39;pre140638662930232&#39;, &#39;post140638662930232&#39;)"><pre></pre></li>
  1071.  
  1072. <li onclick="toggle(&#39;pre140638662930232&#39;, &#39;post140638662930232&#39;)"><pre> self.object.reported_by_participant = logged_in_participant</pre></li>
  1073.  
  1074. <li onclick="toggle(&#39;pre140638662930232&#39;, &#39;post140638662930232&#39;)"><pre> self.object.reported_by_user = self.request.user</pre></li>
  1075.  
  1076. <li onclick="toggle(&#39;pre140638662930232&#39;, &#39;post140638662930232&#39;)"><pre> self.object.status = IssueStatus.objects.get(is_default=True)</pre></li>
  1077.  
  1078. <li onclick="toggle(&#39;pre140638662930232&#39;, &#39;post140638662930232&#39;)"><pre> self.object.save()</pre></li>
  1079.  
  1080. </ol>
  1081.  
  1082. <ol start="44" class="context-line">
  1083. <li onclick="toggle(&#39;pre140638662930232&#39;, &#39;post140638662930232&#39;)"><pre> issue_create_notification_email(self.request, self.object)</pre> <span>...</span></li></ol>
  1084.  
  1085. <ol start="45" class="post-context" id="post140638662930232" style="display: none;">
  1086.  
  1087. <li onclick="toggle(&#39;pre140638662930232&#39;, &#39;post140638662930232&#39;)"><pre></pre></li>
  1088.  
  1089. <li onclick="toggle(&#39;pre140638662930232&#39;, &#39;post140638662930232&#39;)"><pre> return HttpResponseRedirect(self.get_success_url())</pre></li>
  1090.  
  1091. <li onclick="toggle(&#39;pre140638662930232&#39;, &#39;post140638662930232&#39;)"><pre></pre></li>
  1092.  
  1093. <li onclick="toggle(&#39;pre140638662930232&#39;, &#39;post140638662930232&#39;)"><pre> def test_func(self):</pre></li>
  1094.  
  1095. <li onclick="toggle(&#39;pre140638662930232&#39;, &#39;post140638662930232&#39;)"><pre> if self.request.user.is_staff:</pre></li>
  1096.  
  1097. <li onclick="toggle(&#39;pre140638662930232&#39;, &#39;post140638662930232&#39;)"><pre> return False</pre></li>
  1098.  
  1099. </ol>
  1100.  
  1101. </div>
  1102.  
  1103.  
  1104.  
  1105. <div class="commands">
  1106.  
  1107. <a href="https://tesserae-portal.crc.nd.edu/portal/issues/create#" onclick="return varToggle(this, &#39;140638662930232&#39;)"><span>▶</span> Local vars</a>
  1108.  
  1109. </div>
  1110. <table class="vars" id="v140638662930232" style="display: none;">
  1111. <thead>
  1112. <tr>
  1113. <th>Variable</th>
  1114. <th>Value</th>
  1115. </tr>
  1116. </thead>
  1117. <tbody>
  1118.  
  1119. <tr>
  1120. <td>form</td>
  1121. <td class="code"><pre>&lt;ParticipantIssueForm bound=True, valid=True, fields=(category;subject;description;preferred_contact_method)&gt;</pre></td>
  1122. </tr>
  1123.  
  1124. <tr>
  1125. <td>logged_in_participant</td>
  1126. <td class="code"><pre>&lt;Participant: 10669620731290400678&gt;</pre></td>
  1127. </tr>
  1128.  
  1129. <tr>
  1130. <td>self</td>
  1131. <td class="code"><pre>&lt;tesserae.apps.issue_app.views.IssueCreate object at 0x7fe8fd948610&gt;</pre></td>
  1132. </tr>
  1133.  
  1134. </tbody>
  1135. </table>
  1136.  
  1137. </li>
  1138.  
  1139.  
  1140. <li class="frame user">
  1141. <code>/opt/tesserae-portal/tesserae/apps/issue_app/views.py</code> in <code>issue_create_notification_email</code>
  1142.  
  1143.  
  1144. <div class="context" id="c140638662929224">
  1145.  
  1146. <ol start="226" class="pre-context" id="pre140638662929224" style="display: none;">
  1147.  
  1148. <li onclick="toggle(&#39;pre140638662929224&#39;, &#39;post140638662929224&#39;)"><pre> 'Created: ' + issue.subject,</pre></li>
  1149.  
  1150. <li onclick="toggle(&#39;pre140638662929224&#39;, &#39;post140638662929224&#39;)"><pre> msg_body,</pre></li>
  1151.  
  1152. <li onclick="toggle(&#39;pre140638662929224&#39;, &#39;post140638662929224&#39;)"><pre> 'tesserae@nd.edu',</pre></li>
  1153.  
  1154. <li onclick="toggle(&#39;pre140638662929224&#39;, &#39;post140638662929224&#39;)"><pre> ['tesserae-staff-list@nd.edu']</pre></li>
  1155.  
  1156. <li onclick="toggle(&#39;pre140638662929224&#39;, &#39;post140638662929224&#39;)"><pre> )</pre></li>
  1157.  
  1158. <li onclick="toggle(&#39;pre140638662929224&#39;, &#39;post140638662929224&#39;)"><pre></pre></li>
  1159.  
  1160. <li onclick="toggle(&#39;pre140638662929224&#39;, &#39;post140638662929224&#39;)"><pre> msg.content_subtype = "html"</pre></li>
  1161.  
  1162. </ol>
  1163.  
  1164. <ol start="233" class="context-line">
  1165. <li onclick="toggle(&#39;pre140638662929224&#39;, &#39;post140638662929224&#39;)"><pre> msg.send()</pre> <span>...</span></li></ol>
  1166.  
  1167. <ol start="234" class="post-context" id="post140638662929224" style="display: none;">
  1168.  
  1169. <li onclick="toggle(&#39;pre140638662929224&#39;, &#39;post140638662929224&#39;)"><pre></pre></li>
  1170.  
  1171. <li onclick="toggle(&#39;pre140638662929224&#39;, &#39;post140638662929224&#39;)"><pre></pre></li>
  1172.  
  1173. <li onclick="toggle(&#39;pre140638662929224&#39;, &#39;post140638662929224&#39;)"><pre>def build_issue_detail_url(request, id):</pre></li>
  1174.  
  1175. <li onclick="toggle(&#39;pre140638662929224&#39;, &#39;post140638662929224&#39;)"><pre> """</pre></li>
  1176.  
  1177. <li onclick="toggle(&#39;pre140638662929224&#39;, &#39;post140638662929224&#39;)"><pre> Builds the link that will be used to go directly to an issue detail's page</pre></li>
  1178.  
  1179. <li onclick="toggle(&#39;pre140638662929224&#39;, &#39;post140638662929224&#39;)"><pre> :param id:</pre></li>
  1180.  
  1181. </ol>
  1182.  
  1183. </div>
  1184.  
  1185.  
  1186.  
  1187. <div class="commands">
  1188.  
  1189. <a href="https://tesserae-portal.crc.nd.edu/portal/issues/create#" onclick="return varToggle(this, &#39;140638662929224&#39;)"><span>▶</span> Local vars</a>
  1190.  
  1191. </div>
  1192. <table class="vars" id="v140638662929224" style="display: none;">
  1193. <thead>
  1194. <tr>
  1195. <th>Variable</th>
  1196. <th>Value</th>
  1197. </tr>
  1198. </thead>
  1199. <tbody>
  1200.  
  1201. <tr>
  1202. <td>issue</td>
  1203. <td class="code"><pre>&lt;Issue: Error screen after submitting issue, issue still submits - 2018-01-26 14:48:45.447685+00:00&gt;</pre></td>
  1204. </tr>
  1205.  
  1206. <tr>
  1207. <td>issue_detail</td>
  1208. <td class="code"><pre>'https://tesserae-portal.crc.nd.edu/portal/issues/detail/9'</pre></td>
  1209. </tr>
  1210.  
  1211. <tr>
  1212. <td>msg</td>
  1213. <td class="code"><pre>&lt;django.core.mail.message.EmailMessage object at 0x7fe8fe21efd0&gt;</pre></td>
  1214. </tr>
  1215.  
  1216. <tr>
  1217. <td>msg_body</td>
  1218. <td class="code"><pre>u'Participant 10669620731290400678 has created a the following issue&lt;br&gt;&lt;br&gt;Error screen after submitting issue, issue still submits&lt;br&gt;After submitting an issue, I am presented with an error page (will attach screenshot if I am able after submitting this one)&lt;br&gt;&lt;br&gt;To view this issue please use the following link:&lt;br&gt;https://tesserae-portal.crc.nd.edu/portal/issues/detail/9'</pre></td>
  1219. </tr>
  1220.  
  1221. <tr>
  1222. <td>request</td>
  1223. <td class="code"><pre>&lt;WSGIRequest: POST '/portal/issues/create'&gt;</pre></td>
  1224. </tr>
  1225.  
  1226. </tbody>
  1227. </table>
  1228.  
  1229. </li>
  1230.  
  1231.  
  1232. <li class="frame django">
  1233. <code>/usr/local/lib/python2.7/dist-packages/django/core/mail/message.py</code> in <code>send</code>
  1234.  
  1235.  
  1236. <div class="context" id="c140638662928864">
  1237.  
  1238. <ol start="335" class="pre-context" id="pre140638662928864" style="display: none;">
  1239.  
  1240. <li onclick="toggle(&#39;pre140638662928864&#39;, &#39;post140638662928864&#39;)"><pre></pre></li>
  1241.  
  1242. <li onclick="toggle(&#39;pre140638662928864&#39;, &#39;post140638662928864&#39;)"><pre> def send(self, fail_silently=False):</pre></li>
  1243.  
  1244. <li onclick="toggle(&#39;pre140638662928864&#39;, &#39;post140638662928864&#39;)"><pre> """Sends the email message."""</pre></li>
  1245.  
  1246. <li onclick="toggle(&#39;pre140638662928864&#39;, &#39;post140638662928864&#39;)"><pre> if not self.recipients():</pre></li>
  1247.  
  1248. <li onclick="toggle(&#39;pre140638662928864&#39;, &#39;post140638662928864&#39;)"><pre> # Don't bother creating the network connection if there's nobody to</pre></li>
  1249.  
  1250. <li onclick="toggle(&#39;pre140638662928864&#39;, &#39;post140638662928864&#39;)"><pre> # send to.</pre></li>
  1251.  
  1252. <li onclick="toggle(&#39;pre140638662928864&#39;, &#39;post140638662928864&#39;)"><pre> return 0</pre></li>
  1253.  
  1254. </ol>
  1255.  
  1256. <ol start="342" class="context-line">
  1257. <li onclick="toggle(&#39;pre140638662928864&#39;, &#39;post140638662928864&#39;)"><pre> return self.get_connection(fail_silently).send_messages([self])</pre> <span>...</span></li></ol>
  1258.  
  1259. <ol start="343" class="post-context" id="post140638662928864" style="display: none;">
  1260.  
  1261. <li onclick="toggle(&#39;pre140638662928864&#39;, &#39;post140638662928864&#39;)"><pre></pre></li>
  1262.  
  1263. <li onclick="toggle(&#39;pre140638662928864&#39;, &#39;post140638662928864&#39;)"><pre> def attach(self, filename=None, content=None, mimetype=None):</pre></li>
  1264.  
  1265. <li onclick="toggle(&#39;pre140638662928864&#39;, &#39;post140638662928864&#39;)"><pre> """</pre></li>
  1266.  
  1267. <li onclick="toggle(&#39;pre140638662928864&#39;, &#39;post140638662928864&#39;)"><pre> Attaches a file with the given filename and content. The filename can</pre></li>
  1268.  
  1269. <li onclick="toggle(&#39;pre140638662928864&#39;, &#39;post140638662928864&#39;)"><pre> be omitted and the mimetype is guessed, if not provided.</pre></li>
  1270.  
  1271. <li onclick="toggle(&#39;pre140638662928864&#39;, &#39;post140638662928864&#39;)"><pre></pre></li>
  1272.  
  1273. </ol>
  1274.  
  1275. </div>
  1276.  
  1277.  
  1278.  
  1279. <div class="commands">
  1280.  
  1281. <a href="https://tesserae-portal.crc.nd.edu/portal/issues/create#" onclick="return varToggle(this, &#39;140638662928864&#39;)"><span>▶</span> Local vars</a>
  1282.  
  1283. </div>
  1284. <table class="vars" id="v140638662928864" style="display: none;">
  1285. <thead>
  1286. <tr>
  1287. <th>Variable</th>
  1288. <th>Value</th>
  1289. </tr>
  1290. </thead>
  1291. <tbody>
  1292.  
  1293. <tr>
  1294. <td>fail_silently</td>
  1295. <td class="code"><pre>False</pre></td>
  1296. </tr>
  1297.  
  1298. <tr>
  1299. <td>self</td>
  1300. <td class="code"><pre>&lt;django.core.mail.message.EmailMessage object at 0x7fe8fe21efd0&gt;</pre></td>
  1301. </tr>
  1302.  
  1303. </tbody>
  1304. </table>
  1305.  
  1306. </li>
  1307.  
  1308.  
  1309. <li class="frame django">
  1310. <code>/usr/local/lib/python2.7/dist-packages/django/core/mail/backends/smtp.py</code> in <code>send_messages</code>
  1311.  
  1312.  
  1313. <div class="context" id="c140638662927424">
  1314.  
  1315. <ol start="93" class="pre-context" id="pre140638662927424" style="display: none;">
  1316.  
  1317. <li onclick="toggle(&#39;pre140638662927424&#39;, &#39;post140638662927424&#39;)"><pre> """</pre></li>
  1318.  
  1319. <li onclick="toggle(&#39;pre140638662927424&#39;, &#39;post140638662927424&#39;)"><pre> Sends one or more EmailMessage objects and returns the number of email</pre></li>
  1320.  
  1321. <li onclick="toggle(&#39;pre140638662927424&#39;, &#39;post140638662927424&#39;)"><pre> messages sent.</pre></li>
  1322.  
  1323. <li onclick="toggle(&#39;pre140638662927424&#39;, &#39;post140638662927424&#39;)"><pre> """</pre></li>
  1324.  
  1325. <li onclick="toggle(&#39;pre140638662927424&#39;, &#39;post140638662927424&#39;)"><pre> if not email_messages:</pre></li>
  1326.  
  1327. <li onclick="toggle(&#39;pre140638662927424&#39;, &#39;post140638662927424&#39;)"><pre> return</pre></li>
  1328.  
  1329. <li onclick="toggle(&#39;pre140638662927424&#39;, &#39;post140638662927424&#39;)"><pre> with self._lock:</pre></li>
  1330.  
  1331. </ol>
  1332.  
  1333. <ol start="100" class="context-line">
  1334. <li onclick="toggle(&#39;pre140638662927424&#39;, &#39;post140638662927424&#39;)"><pre> new_conn_created = self.open()</pre> <span>...</span></li></ol>
  1335.  
  1336. <ol start="101" class="post-context" id="post140638662927424" style="display: none;">
  1337.  
  1338. <li onclick="toggle(&#39;pre140638662927424&#39;, &#39;post140638662927424&#39;)"><pre> if not self.connection:</pre></li>
  1339.  
  1340. <li onclick="toggle(&#39;pre140638662927424&#39;, &#39;post140638662927424&#39;)"><pre> # We failed silently on open().</pre></li>
  1341.  
  1342. <li onclick="toggle(&#39;pre140638662927424&#39;, &#39;post140638662927424&#39;)"><pre> # Trying to send would be pointless.</pre></li>
  1343.  
  1344. <li onclick="toggle(&#39;pre140638662927424&#39;, &#39;post140638662927424&#39;)"><pre> return</pre></li>
  1345.  
  1346. <li onclick="toggle(&#39;pre140638662927424&#39;, &#39;post140638662927424&#39;)"><pre> num_sent = 0</pre></li>
  1347.  
  1348. <li onclick="toggle(&#39;pre140638662927424&#39;, &#39;post140638662927424&#39;)"><pre> for message in email_messages:</pre></li>
  1349.  
  1350. </ol>
  1351.  
  1352. </div>
  1353.  
  1354.  
  1355.  
  1356. <div class="commands">
  1357.  
  1358. <a href="https://tesserae-portal.crc.nd.edu/portal/issues/create#" onclick="return varToggle(this, &#39;140638662927424&#39;)"><span>▶</span> Local vars</a>
  1359.  
  1360. </div>
  1361. <table class="vars" id="v140638662927424" style="display: none;">
  1362. <thead>
  1363. <tr>
  1364. <th>Variable</th>
  1365. <th>Value</th>
  1366. </tr>
  1367. </thead>
  1368. <tbody>
  1369.  
  1370. <tr>
  1371. <td>email_messages</td>
  1372. <td class="code"><pre>[&lt;django.core.mail.message.EmailMessage object at 0x7fe8fe21efd0&gt;]</pre></td>
  1373. </tr>
  1374.  
  1375. <tr>
  1376. <td>self</td>
  1377. <td class="code"><pre>&lt;django.core.mail.backends.smtp.EmailBackend object at 0x7fe8fe21ee90&gt;</pre></td>
  1378. </tr>
  1379.  
  1380. </tbody>
  1381. </table>
  1382.  
  1383. </li>
  1384.  
  1385.  
  1386. <li class="frame django">
  1387. <code>/usr/local/lib/python2.7/dist-packages/django/core/mail/backends/smtp.py</code> in <code>open</code>
  1388.  
  1389.  
  1390. <div class="context" id="c140638662927280">
  1391.  
  1392. <ol start="60" class="pre-context" id="pre140638662927280" style="display: none;">
  1393.  
  1394. <li onclick="toggle(&#39;pre140638662927280&#39;, &#39;post140638662927280&#39;)"><pre> # TLS/SSL are mutually exclusive, so only attempt TLS over</pre></li>
  1395.  
  1396. <li onclick="toggle(&#39;pre140638662927280&#39;, &#39;post140638662927280&#39;)"><pre> # non-secure connections.</pre></li>
  1397.  
  1398. <li onclick="toggle(&#39;pre140638662927280&#39;, &#39;post140638662927280&#39;)"><pre> if not self.use_ssl and self.use_tls:</pre></li>
  1399.  
  1400. <li onclick="toggle(&#39;pre140638662927280&#39;, &#39;post140638662927280&#39;)"><pre> self.connection.ehlo()</pre></li>
  1401.  
  1402. <li onclick="toggle(&#39;pre140638662927280&#39;, &#39;post140638662927280&#39;)"><pre> self.connection.starttls(keyfile=self.ssl_keyfile, certfile=self.ssl_certfile)</pre></li>
  1403.  
  1404. <li onclick="toggle(&#39;pre140638662927280&#39;, &#39;post140638662927280&#39;)"><pre> self.connection.ehlo()</pre></li>
  1405.  
  1406. <li onclick="toggle(&#39;pre140638662927280&#39;, &#39;post140638662927280&#39;)"><pre> if self.username and self.password:</pre></li>
  1407.  
  1408. </ol>
  1409.  
  1410. <ol start="67" class="context-line">
  1411. <li onclick="toggle(&#39;pre140638662927280&#39;, &#39;post140638662927280&#39;)"><pre> self.connection.login(self.username, self.password)</pre> <span>...</span></li></ol>
  1412.  
  1413. <ol start="68" class="post-context" id="post140638662927280" style="display: none;">
  1414.  
  1415. <li onclick="toggle(&#39;pre140638662927280&#39;, &#39;post140638662927280&#39;)"><pre> return True</pre></li>
  1416.  
  1417. <li onclick="toggle(&#39;pre140638662927280&#39;, &#39;post140638662927280&#39;)"><pre> except smtplib.SMTPException:</pre></li>
  1418.  
  1419. <li onclick="toggle(&#39;pre140638662927280&#39;, &#39;post140638662927280&#39;)"><pre> if not self.fail_silently:</pre></li>
  1420.  
  1421. <li onclick="toggle(&#39;pre140638662927280&#39;, &#39;post140638662927280&#39;)"><pre> raise</pre></li>
  1422.  
  1423. <li onclick="toggle(&#39;pre140638662927280&#39;, &#39;post140638662927280&#39;)"><pre></pre></li>
  1424.  
  1425. <li onclick="toggle(&#39;pre140638662927280&#39;, &#39;post140638662927280&#39;)"><pre> def close(self):</pre></li>
  1426.  
  1427. </ol>
  1428.  
  1429. </div>
  1430.  
  1431.  
  1432.  
  1433. <div class="commands">
  1434.  
  1435. <a href="https://tesserae-portal.crc.nd.edu/portal/issues/create#" onclick="return varToggle(this, &#39;140638662927280&#39;)"><span>▶</span> Local vars</a>
  1436.  
  1437. </div>
  1438. <table class="vars" id="v140638662927280" style="display: none;">
  1439. <thead>
  1440. <tr>
  1441. <th>Variable</th>
  1442. <th>Value</th>
  1443. </tr>
  1444. </thead>
  1445. <tbody>
  1446.  
  1447. <tr>
  1448. <td>connection_class</td>
  1449. <td class="code"><pre>&lt;class smtplib.SMTP at 0x7fe8fe8489a8&gt;</pre></td>
  1450. </tr>
  1451.  
  1452. <tr>
  1453. <td>connection_params</td>
  1454. <td class="code"><pre>{'local_hostname': 'tesserae-portal.virtual.crc.nd.edu'}</pre></td>
  1455. </tr>
  1456.  
  1457. <tr>
  1458. <td>self</td>
  1459. <td class="code"><pre>&lt;django.core.mail.backends.smtp.EmailBackend object at 0x7fe8fe21ee90&gt;</pre></td>
  1460. </tr>
  1461.  
  1462. </tbody>
  1463. </table>
  1464.  
  1465. </li>
  1466.  
  1467.  
  1468. <li class="frame user">
  1469. <code>/usr/lib/python2.7/smtplib.py</code> in <code>login</code>
  1470.  
  1471.  
  1472. <div class="context" id="c140638662927856">
  1473.  
  1474. <ol start="615" class="pre-context" id="pre140638662927856" style="display: none;">
  1475.  
  1476. <li onclick="toggle(&#39;pre140638662927856&#39;, &#39;post140638662927856&#39;)"><pre> raise SMTPAuthenticationError(code, resp)</pre></li>
  1477.  
  1478. <li onclick="toggle(&#39;pre140638662927856&#39;, &#39;post140638662927856&#39;)"><pre> (code, resp) = self.docmd(encode_base64(password, eol=""))</pre></li>
  1479.  
  1480. <li onclick="toggle(&#39;pre140638662927856&#39;, &#39;post140638662927856&#39;)"><pre> elif authmethod is None:</pre></li>
  1481.  
  1482. <li onclick="toggle(&#39;pre140638662927856&#39;, &#39;post140638662927856&#39;)"><pre> raise SMTPException("No suitable authentication method found.")</pre></li>
  1483.  
  1484. <li onclick="toggle(&#39;pre140638662927856&#39;, &#39;post140638662927856&#39;)"><pre> if code not in (235, 503):</pre></li>
  1485.  
  1486. <li onclick="toggle(&#39;pre140638662927856&#39;, &#39;post140638662927856&#39;)"><pre> # 235 == 'Authentication successful'</pre></li>
  1487.  
  1488. <li onclick="toggle(&#39;pre140638662927856&#39;, &#39;post140638662927856&#39;)"><pre> # 503 == 'Error: already authenticated'</pre></li>
  1489.  
  1490. </ol>
  1491.  
  1492. <ol start="622" class="context-line">
  1493. <li onclick="toggle(&#39;pre140638662927856&#39;, &#39;post140638662927856&#39;)"><pre> raise SMTPAuthenticationError(code, resp)</pre> <span>...</span></li></ol>
  1494.  
  1495. <ol start="623" class="post-context" id="post140638662927856" style="display: none;">
  1496.  
  1497. <li onclick="toggle(&#39;pre140638662927856&#39;, &#39;post140638662927856&#39;)"><pre> return (code, resp)</pre></li>
  1498.  
  1499. <li onclick="toggle(&#39;pre140638662927856&#39;, &#39;post140638662927856&#39;)"><pre></pre></li>
  1500.  
  1501. <li onclick="toggle(&#39;pre140638662927856&#39;, &#39;post140638662927856&#39;)"><pre> def starttls(self, keyfile=None, certfile=None):</pre></li>
  1502.  
  1503. <li onclick="toggle(&#39;pre140638662927856&#39;, &#39;post140638662927856&#39;)"><pre> """Puts the connection to the SMTP server into TLS mode.</pre></li>
  1504.  
  1505. <li onclick="toggle(&#39;pre140638662927856&#39;, &#39;post140638662927856&#39;)"><pre></pre></li>
  1506.  
  1507. <li onclick="toggle(&#39;pre140638662927856&#39;, &#39;post140638662927856&#39;)"><pre> If there has been no previous EHLO or HELO command this session, this</pre></li>
  1508.  
  1509. </ol>
  1510.  
  1511. </div>
  1512.  
  1513.  
  1514.  
  1515. <div class="commands">
  1516.  
  1517. <a href="https://tesserae-portal.crc.nd.edu/portal/issues/create#" onclick="return varToggle(this, &#39;140638662927856&#39;)"><span>▶</span> Local vars</a>
  1518.  
  1519. </div>
  1520. <table class="vars" id="v140638662927856" style="display: none;">
  1521. <thead>
  1522. <tr>
  1523. <th>Variable</th>
  1524. <th>Value</th>
  1525. </tr>
  1526. </thead>
  1527. <tbody>
  1528.  
  1529. <tr>
  1530. <td>AUTH_CRAM_MD5</td>
  1531. <td class="code"><pre>'CRAM-MD5'</pre></td>
  1532. </tr>
  1533.  
  1534. <tr>
  1535. <td>AUTH_LOGIN</td>
  1536. <td class="code"><pre>'LOGIN'</pre></td>
  1537. </tr>
  1538.  
  1539. <tr>
  1540. <td>AUTH_PLAIN</td>
  1541. <td class="code"><pre>'PLAIN'</pre></td>
  1542. </tr>
  1543.  
  1544. <tr>
  1545. <td>authlist</td>
  1546. <td class="code"><pre>['LOGIN', 'PLAIN', 'XOAUTH2', 'PLAIN-CLIENTTOKEN', 'OAUTHBEARER', 'XOAUTH']</pre></td>
  1547. </tr>
  1548.  
  1549. <tr>
  1550. <td>authmethod</td>
  1551. <td class="code"><pre>'PLAIN'</pre></td>
  1552. </tr>
  1553.  
  1554. <tr>
  1555. <td>code</td>
  1556. <td class="code"><pre>535</pre></td>
  1557. </tr>
  1558.  
  1559. <tr>
  1560. <td>encode_cram_md5</td>
  1561. <td class="code"><pre>&lt;function encode_cram_md5 at 0x7fe8feae37d0&gt;</pre></td>
  1562. </tr>
  1563.  
  1564. <tr>
  1565. <td>encode_plain</td>
  1566. <td class="code"><pre>&lt;function encode_plain at 0x7fe8feae3c80&gt;</pre></td>
  1567. </tr>
  1568.  
  1569. <tr>
  1570. <td>method</td>
  1571. <td class="code"><pre>'PLAIN'</pre></td>
  1572. </tr>
  1573.  
  1574. <tr>
  1575. <td>password</td>
  1576. <td class="code"><pre>'&lt;password_token&gt;'</pre></td>
  1577. </tr>
  1578.  
  1579. <tr>
  1580. <td>preferred_auths</td>
  1581. <td class="code"><pre>['CRAM-MD5', 'PLAIN', 'LOGIN']</pre></td>
  1582. </tr>
  1583.  
  1584. <tr>
  1585. <td>resp</td>
  1586. <td class="code"><pre>'5.7.8 Username and Password not accepted. Learn more at\n5.7.8 https://support.google.com/mail/?p=BadCredentials k75sm603835iod.27 - gsmtp'</pre></td>
  1587. </tr>
  1588.  
  1589. <tr>
  1590. <td>self</td>
  1591. <td class="code"><pre>&lt;smtplib.SMTP instance at 0x7fe8fe1d4e18&gt;</pre></td>
  1592. </tr>
  1593.  
  1594. <tr>
  1595. <td>user</td>
  1596. <td class="code"><pre>'&lt;e-mail&gt;'</pre></td>
  1597. </tr>
  1598.  
  1599. </tbody>
  1600. </table>
  1601.  
  1602. </li>
  1603.  
  1604. </ul>
  1605. </div>
  1606.  
  1607. <form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
  1608.  
  1609. <div id="pastebinTraceback" class="pastebin" style="display: none;">
  1610. <input type="hidden" name="language" value="PythonConsole">
  1611. <input type="hidden" name="title" value="SMTPAuthenticationError at /portal/issues/create">
  1612. <input type="hidden" name="source" value="Django Dpaste Agent">
  1613. <input type="hidden" name="poster" value="Django">
  1614. <textarea name="content" id="traceback_area" cols="140" rows="25">Environment:
  1615.  
  1616.  
  1617. Request Method: POST
  1618. Request URL: https://tesserae-portal.crc.nd.edu/portal/issues/create
  1619.  
  1620. Django Version: 1.10.7
  1621. Python Version: 2.7.12
  1622. Installed Applications:
  1623. ['django.contrib.admin',
  1624. 'django.contrib.auth',
  1625. 'django.contrib.contenttypes',
  1626. 'django.contrib.sessions',
  1627. 'django.contrib.messages',
  1628. 'django.contrib.staticfiles',
  1629. 'django.contrib.sites',
  1630. 'allauth',
  1631. 'allauth.account',
  1632. 'allauth.socialaccount',
  1633. 'allauth.socialaccount.providers.google',
  1634. 'crispy_forms',
  1635. 'tesserae.apps.users.apps.UsersConfig',
  1636. 'tesserae.apps.issue_app.apps.IssueAppConfig',
  1637. 'tesserae.apps.compliance_app.apps.ComplianceAppConfig',
  1638. 'tesserae.apps.payment_app.apps.PaymentAppConfig',
  1639. 'tesserae.apps.participant_app.apps.ParticipantsConfig',
  1640. 'tesserae.apps.staff_app.apps.StaffAppConfig']
  1641. Installed Middleware:
  1642. ['django.middleware.security.SecurityMiddleware',
  1643. 'django.contrib.sessions.middleware.SessionMiddleware',
  1644. 'django.middleware.common.CommonMiddleware',
  1645. 'django.middleware.csrf.CsrfViewMiddleware',
  1646. 'django.contrib.auth.middleware.AuthenticationMiddleware',
  1647. 'django.contrib.messages.middleware.MessageMiddleware',
  1648. 'django.middleware.clickjacking.XFrameOptionsMiddleware']
  1649.  
  1650.  
  1651.  
  1652. Traceback:
  1653.  
  1654. File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/exception.py" in inner
  1655. 42. response = get_response(request)
  1656.  
  1657. File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py" in _get_response
  1658. 187. response = self.process_exception_by_middleware(e, request)
  1659.  
  1660. File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py" in _get_response
  1661. 185. response = wrapped_callback(request, *callback_args, **callback_kwargs)
  1662.  
  1663. File "/usr/local/lib/python2.7/dist-packages/django/views/generic/base.py" in view
  1664. 68. return self.dispatch(request, *args, **kwargs)
  1665.  
  1666. File "/usr/local/lib/python2.7/dist-packages/django/contrib/auth/mixins.py" in dispatch
  1667. 56. return super(LoginRequiredMixin, self).dispatch(request, *args, **kwargs)
  1668.  
  1669. File "/usr/local/lib/python2.7/dist-packages/django/contrib/auth/mixins.py" in dispatch
  1670. 116. return super(UserPassesTestMixin, self).dispatch(request, *args, **kwargs)
  1671.  
  1672. File "/usr/local/lib/python2.7/dist-packages/django/views/generic/base.py" in dispatch
  1673. 88. return handler(request, *args, **kwargs)
  1674.  
  1675. File "/usr/local/lib/python2.7/dist-packages/django/views/generic/edit.py" in post
  1676. 217. return super(BaseCreateView, self).post(request, *args, **kwargs)
  1677.  
  1678. File "/usr/local/lib/python2.7/dist-packages/django/views/generic/edit.py" in post
  1679. 183. return self.form_valid(form)
  1680.  
  1681. File "/opt/tesserae-portal/tesserae/apps/issue_app/views.py" in form_valid
  1682. 44. issue_create_notification_email(self.request, self.object)
  1683.  
  1684. File "/opt/tesserae-portal/tesserae/apps/issue_app/views.py" in issue_create_notification_email
  1685. 233. msg.send()
  1686.  
  1687. File "/usr/local/lib/python2.7/dist-packages/django/core/mail/message.py" in send
  1688. 342. return self.get_connection(fail_silently).send_messages([self])
  1689.  
  1690. File "/usr/local/lib/python2.7/dist-packages/django/core/mail/backends/smtp.py" in send_messages
  1691. 100. new_conn_created = self.open()
  1692.  
  1693. File "/usr/local/lib/python2.7/dist-packages/django/core/mail/backends/smtp.py" in open
  1694. 67. self.connection.login(self.username, self.password)
  1695.  
  1696. File "/usr/lib/python2.7/smtplib.py" in login
  1697. 622. raise SMTPAuthenticationError(code, resp)
  1698.  
  1699. Exception Type: SMTPAuthenticationError at /portal/issues/create
  1700. Exception Value: (535, '5.7.8 Username and Password not accepted. Learn more at\n5.7.8 https://support.google.com/mail/?p=BadCredentials k75sm603835iod.27 - gsmtp')
  1701. </textarea>
  1702. <br><br>
  1703. <input type="submit" value="Share this traceback on a public website">
  1704. </div>
  1705. </form>
  1706. </div>
  1707.  
  1708.  
  1709.  
  1710. <div id="requestinfo">
  1711. <h2>Request information</h2>
  1712.  
  1713.  
  1714.  
  1715. <h3 id="user-info">USER</h3>
  1716. <p>c</p>
  1717.  
  1718.  
  1719. <h3 id="get-info">GET</h3>
  1720.  
  1721. <p>No GET data</p>
  1722.  
  1723.  
  1724. <h3 id="post-info">POST</h3>
  1725.  
  1726. <table class="req">
  1727. <thead>
  1728. <tr>
  1729. <th>Variable</th>
  1730. <th>Value</th>
  1731. </tr>
  1732. </thead>
  1733. <tbody>
  1734.  
  1735. <tr>
  1736. <td>category</td>
  1737. <td class="code"><pre>u'2'</pre></td>
  1738. </tr>
  1739.  
  1740. <tr>
  1741. <td>description</td>
  1742. <td class="code"><pre>u'After submitting an issue, I am presented with an error page (will attach screenshot if I am able after submitting this one)'</pre></td>
  1743. </tr>
  1744.  
  1745. <tr>
  1746. <td>submit</td>
  1747. <td class="code"><pre>u'Report Issue'</pre></td>
  1748. </tr>
  1749.  
  1750. <tr>
  1751. <td>csrfmiddlewaretoken</td>
  1752. <td class="code"><pre>u'32sDyeDbWHEsoiPRGdIuhTpM2LOOAPY1Akk9OQ2zjuE4dxcF2BTMORfbDPrpGTby'</pre></td>
  1753. </tr>
  1754.  
  1755. <tr>
  1756. <td>preferred_contact_method</td>
  1757. <td class="code"><pre>u'1'</pre></td>
  1758. </tr>
  1759.  
  1760. <tr>
  1761. <td>subject</td>
  1762. <td class="code"><pre>u'Error screen after submitting issue, issue still submits'</pre></td>
  1763. </tr>
  1764.  
  1765. </tbody>
  1766. </table>
  1767.  
  1768. <h3 id="files-info">FILES</h3>
  1769.  
  1770. <p>No FILES data</p>
  1771.  
  1772.  
  1773.  
  1774. <h3 id="cookie-info">COOKIES</h3>
  1775.  
  1776. <table class="req">
  1777. <thead>
  1778. <tr>
  1779. <th>Variable</th>
  1780. <th>Value</th>
  1781. </tr>
  1782. </thead>
  1783. <tbody>
  1784.  
  1785. <tr>
  1786. <td>csrftoken</td>
  1787. <td class="code"><pre>'SXqrUXQcvRNOb6wBZT45mbF18OZphI4QpfiXazfASENq0lTplhfnT9vqJSC0nMhn'</pre></td>
  1788. </tr>
  1789.  
  1790. <tr>
  1791. <td>sessionid</td>
  1792. <td class="code"><pre>'jaeer7k6dkfjte15x2uda3a8iv6d9ufu'</pre></td>
  1793. </tr>
  1794.  
  1795. <tr>
  1796. <td>messages</td>
  1797. <td class="code"><pre>'5493b8ca173614c6dc66571f498fdad9f2aea841$[["__json_message",0,25,"Successfully signed in as c."]]'</pre></td>
  1798. </tr>
  1799.  
  1800. </tbody>
  1801. </table>
  1802.  
  1803.  
  1804. <h3 id="meta-info">META</h3>
  1805. <table class="req">
  1806. <thead>
  1807. <tr>
  1808. <th>Variable</th>
  1809. <th>Value</th>
  1810. </tr>
  1811. </thead>
  1812. <tbody>
  1813.  
  1814. <tr>
  1815. <td>CONTENT_LENGTH</td>
  1816. <td class="code"><pre>'437'</pre></td>
  1817. </tr>
  1818.  
  1819. <tr>
  1820. <td>CONTENT_TYPE</td>
  1821. <td class="code"><pre>'application/x-www-form-urlencoded'</pre></td>
  1822. </tr>
  1823.  
  1824. <tr>
  1825. <td>CONTEXT_DOCUMENT_ROOT</td>
  1826. <td class="code"><pre>'/var/www/html'</pre></td>
  1827. </tr>
  1828.  
  1829. <tr>
  1830. <td>CONTEXT_PREFIX</td>
  1831. <td class="code"><pre>''</pre></td>
  1832. </tr>
  1833.  
  1834. <tr>
  1835. <td>CSRF_COOKIE</td>
  1836. <td class="code"><pre>'SXqrUXQcvRNOb6wBZT45mbF18OZphI4QpfiXazfASENq0lTplhfnT9vqJSC0nMhn'</pre></td>
  1837. </tr>
  1838.  
  1839. <tr>
  1840. <td>DOCUMENT_ROOT</td>
  1841. <td class="code"><pre>'/var/www/html'</pre></td>
  1842. </tr>
  1843.  
  1844. <tr>
  1845. <td>GATEWAY_INTERFACE</td>
  1846. <td class="code"><pre>'CGI/1.1'</pre></td>
  1847. </tr>
  1848.  
  1849. <tr>
  1850. <td>HTTP_ACCEPT</td>
  1851. <td class="code"><pre>'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8'</pre></td>
  1852. </tr>
  1853.  
  1854. <tr>
  1855. <td>HTTP_ACCEPT_ENCODING</td>
  1856. <td class="code"><pre>'gzip, deflate, br'</pre></td>
  1857. </tr>
  1858.  
  1859. <tr>
  1860. <td>HTTP_ACCEPT_LANGUAGE</td>
  1861. <td class="code"><pre>'en-US,en;q=0.9'</pre></td>
  1862. </tr>
  1863.  
  1864. <tr>
  1865. <td>HTTP_CACHE_CONTROL</td>
  1866. <td class="code"><pre>'max-age=0'</pre></td>
  1867. </tr>
  1868.  
  1869. <tr>
  1870. <td>HTTP_CONNECTION</td>
  1871. <td class="code"><pre>'keep-alive'</pre></td>
  1872. </tr>
  1873.  
  1874. <tr>
  1875. <td>HTTP_COOKIE</td>
  1876. <td class="code"><pre>'csrftoken=SXqrUXQcvRNOb6wBZT45mbF18OZphI4QpfiXazfASENq0lTplhfnT9vqJSC0nMhn; sessionid=jaeer7k6dkfjte15x2uda3a8iv6d9ufu; messages="5493b8ca173614c6dc66571f498fdad9f2aea841$[[\\"__json_message\\"\\0540\\05425\\054\\"Successfully signed in as c.\\"]]"'</pre></td>
  1877. </tr>
  1878.  
  1879. <tr>
  1880. <td>HTTP_HOST</td>
  1881. <td class="code"><pre>'tesserae-portal.crc.nd.edu'</pre></td>
  1882. </tr>
  1883.  
  1884. <tr>
  1885. <td>HTTP_ORIGIN</td>
  1886. <td class="code"><pre>'https://tesserae-portal.crc.nd.edu'</pre></td>
  1887. </tr>
  1888.  
  1889. <tr>
  1890. <td>HTTP_REFERER</td>
  1891. <td class="code"><pre>'https://tesserae-portal.crc.nd.edu/portal/issues/create'</pre></td>
  1892. </tr>
  1893.  
  1894. <tr>
  1895. <td>HTTP_UPGRADE_INSECURE_REQUESTS</td>
  1896. <td class="code"><pre>'1'</pre></td>
  1897. </tr>
  1898.  
  1899. <tr>
  1900. <td>HTTP_USER_AGENT</td>
  1901. <td class="code"><pre>'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'</pre></td>
  1902. </tr>
  1903.  
  1904. <tr>
  1905. <td>PATH_INFO</td>
  1906. <td class="code"><pre>u'/portal/issues/create'</pre></td>
  1907. </tr>
  1908.  
  1909. <tr>
  1910. <td>PATH_TRANSLATED</td>
  1911. <td class="code"><pre>'/opt/tesserae-portal/config/wsgi.py/portal/issues/create'</pre></td>
  1912. </tr>
  1913.  
  1914. <tr>
  1915. <td>QUERY_STRING</td>
  1916. <td class="code"><pre>''</pre></td>
  1917. </tr>
  1918.  
  1919. <tr>
  1920. <td>REMOTE_ADDR</td>
  1921. <td class="code"><pre>'69.2.31.54'</pre></td>
  1922. </tr>
  1923.  
  1924. <tr>
  1925. <td>REMOTE_PORT</td>
  1926. <td class="code"><pre>'32825'</pre></td>
  1927. </tr>
  1928.  
  1929. <tr>
  1930. <td>REQUEST_METHOD</td>
  1931. <td class="code"><pre>'POST'</pre></td>
  1932. </tr>
  1933.  
  1934. <tr>
  1935. <td>REQUEST_SCHEME</td>
  1936. <td class="code"><pre>'https'</pre></td>
  1937. </tr>
  1938.  
  1939. <tr>
  1940. <td>REQUEST_URI</td>
  1941. <td class="code"><pre>'/portal/issues/create'</pre></td>
  1942. </tr>
  1943.  
  1944. <tr>
  1945. <td>SCRIPT_FILENAME</td>
  1946. <td class="code"><pre>'/opt/tesserae-portal/config/wsgi.py'</pre></td>
  1947. </tr>
  1948.  
  1949. <tr>
  1950. <td>SCRIPT_NAME</td>
  1951. <td class="code"><pre>u''</pre></td>
  1952. </tr>
  1953.  
  1954. <tr>
  1955. <td>SERVER_ADDR</td>
  1956. <td class="code"><pre>'129.74.246.56'</pre></td>
  1957. </tr>
  1958.  
  1959. <tr>
  1960. <td>SERVER_ADMIN</td>
  1961. <td class="code"><pre>'webmaster@localhost'</pre></td>
  1962. </tr>
  1963.  
  1964. <tr>
  1965. <td>SERVER_NAME</td>
  1966. <td class="code"><pre>'tesserae-portal.crc.nd.edu'</pre></td>
  1967. </tr>
  1968.  
  1969. <tr>
  1970. <td>SERVER_PORT</td>
  1971. <td class="code"><pre>'443'</pre></td>
  1972. </tr>
  1973.  
  1974. <tr>
  1975. <td>SERVER_PROTOCOL</td>
  1976. <td class="code"><pre>'HTTP/1.1'</pre></td>
  1977. </tr>
  1978.  
  1979. <tr>
  1980. <td>SERVER_SIGNATURE</td>
  1981. <td class="code"><pre>'&lt;address&gt;Apache/2.4.18 (Ubuntu) Server at tesserae-portal.crc.nd.edu Port 443&lt;/address&gt;\n'</pre></td>
  1982. </tr>
  1983.  
  1984. <tr>
  1985. <td>SERVER_SOFTWARE</td>
  1986. <td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
  1987. </tr>
  1988.  
  1989. <tr>
  1990. <td>SSL_TLS_SNI</td>
  1991. <td class="code"><pre>'tesserae-portal.crc.nd.edu'</pre></td>
  1992. </tr>
  1993.  
  1994. <tr>
  1995. <td>apache.version</td>
  1996. <td class="code"><pre>(2, 4, 18)</pre></td>
  1997. </tr>
  1998.  
  1999. <tr>
  2000. <td>mod_wsgi.application_group</td>
  2001. <td class="code"><pre>'tesserae-portal.virtual.crc.nd.edu|'</pre></td>
  2002. </tr>
  2003.  
  2004. <tr>
  2005. <td>mod_wsgi.callable_object</td>
  2006. <td class="code"><pre>'application'</pre></td>
  2007. </tr>
  2008.  
  2009. <tr>
  2010. <td>mod_wsgi.daemon_connects</td>
  2011. <td class="code"><pre>'1'</pre></td>
  2012. </tr>
  2013.  
  2014. <tr>
  2015. <td>mod_wsgi.daemon_restarts</td>
  2016. <td class="code"><pre>'0'</pre></td>
  2017. </tr>
  2018.  
  2019. <tr>
  2020. <td>mod_wsgi.daemon_start</td>
  2021. <td class="code"><pre>'1516978125419450'</pre></td>
  2022. </tr>
  2023.  
  2024. <tr>
  2025. <td>mod_wsgi.enable_sendfile</td>
  2026. <td class="code"><pre>'0'</pre></td>
  2027. </tr>
  2028.  
  2029. <tr>
  2030. <td>mod_wsgi.handler_script</td>
  2031. <td class="code"><pre>''</pre></td>
  2032. </tr>
  2033.  
  2034. <tr>
  2035. <td>mod_wsgi.input_chunked</td>
  2036. <td class="code"><pre>'0'</pre></td>
  2037. </tr>
  2038.  
  2039. <tr>
  2040. <td>mod_wsgi.listener_host</td>
  2041. <td class="code"><pre>''</pre></td>
  2042. </tr>
  2043.  
  2044. <tr>
  2045. <td>mod_wsgi.listener_port</td>
  2046. <td class="code"><pre>'443'</pre></td>
  2047. </tr>
  2048.  
  2049. <tr>
  2050. <td>mod_wsgi.process_group</td>
  2051. <td class="code"><pre>'portal'</pre></td>
  2052. </tr>
  2053.  
  2054. <tr>
  2055. <td>mod_wsgi.queue_start</td>
  2056. <td class="code"><pre>'1516978125419245'</pre></td>
  2057. </tr>
  2058.  
  2059. <tr>
  2060. <td>mod_wsgi.request_handler</td>
  2061. <td class="code"><pre>'wsgi-script'</pre></td>
  2062. </tr>
  2063.  
  2064. <tr>
  2065. <td>mod_wsgi.request_start</td>
  2066. <td class="code"><pre>'1516978125419051'</pre></td>
  2067. </tr>
  2068.  
  2069. <tr>
  2070. <td>mod_wsgi.script_reloading</td>
  2071. <td class="code"><pre>'1'</pre></td>
  2072. </tr>
  2073.  
  2074. <tr>
  2075. <td>mod_wsgi.script_start</td>
  2076. <td class="code"><pre>'1516978125419492'</pre></td>
  2077. </tr>
  2078.  
  2079. <tr>
  2080. <td>mod_wsgi.version</td>
  2081. <td class="code"><pre>(4, 3, 0)</pre></td>
  2082. </tr>
  2083.  
  2084. <tr>
  2085. <td>wsgi.errors</td>
  2086. <td class="code"><pre>&lt;mod_wsgi.Log object at 0x7fe8fe203198&gt;</pre></td>
  2087. </tr>
  2088.  
  2089. <tr>
  2090. <td>wsgi.file_wrapper</td>
  2091. <td class="code"><pre>''</pre></td>
  2092. </tr>
  2093.  
  2094. <tr>
  2095. <td>wsgi.input</td>
  2096. <td class="code"><pre>&lt;mod_wsgi.Input object at 0x7fe8fd948fb0&gt;</pre></td>
  2097. </tr>
  2098.  
  2099. <tr>
  2100. <td>wsgi.multiprocess</td>
  2101. <td class="code"><pre>False</pre></td>
  2102. </tr>
  2103.  
  2104. <tr>
  2105. <td>wsgi.multithread</td>
  2106. <td class="code"><pre>True</pre></td>
  2107. </tr>
  2108.  
  2109. <tr>
  2110. <td>wsgi.run_once</td>
  2111. <td class="code"><pre>False</pre></td>
  2112. </tr>
  2113.  
  2114. <tr>
  2115. <td>wsgi.url_scheme</td>
  2116. <td class="code"><pre>'https'</pre></td>
  2117. </tr>
  2118.  
  2119. <tr>
  2120. <td>wsgi.version</td>
  2121. <td class="code"><pre>(1, 0)</pre></td>
  2122. </tr>
  2123.  
  2124. </tbody>
  2125. </table>
  2126.  
  2127.  
  2128. <h3 id="settings-info">Settings</h3>
  2129. <h4>Using settings module <code>config.settings.production</code></h4>
  2130. <table class="req">
  2131. <thead>
  2132. <tr>
  2133. <th>Setting</th>
  2134. <th>Value</th>
  2135. </tr>
  2136. </thead>
  2137. <tbody>
  2138.  
  2139. <tr>
  2140. <td>ABSOLUTE_URL_OVERRIDES</td>
  2141. <td class="code"><pre>{}</pre></td>
  2142. </tr>
  2143.  
  2144. <tr>
  2145. <td>ACCOUNT_ADAPTER</td>
  2146. <td class="code"><pre>'tesserae.apps.base_portal.views.adapter.CustomAccountAdapter'</pre></td>
  2147. </tr>
  2148.  
  2149. <tr>
  2150. <td>ADMINS</td>
  2151. <td class="code"><pre>[]</pre></td>
  2152. </tr>
  2153.  
  2154. <tr>
  2155. <td>ADMIN_URL</td>
  2156. <td class="code"><pre>'^admin/'</pre></td>
  2157. </tr>
  2158.  
  2159. <tr>
  2160. <td>ALLOWED_HOSTS</td>
  2161. <td class="code"><pre>['tesserae-portal.crc.nd.edu']</pre></td>
  2162. </tr>
  2163.  
  2164. <tr>
  2165. <td>APPEND_SLASH</td>
  2166. <td class="code"><pre>True</pre></td>
  2167. </tr>
  2168.  
  2169. <tr>
  2170. <td>AUTHENTICATION_BACKENDS</td>
  2171. <td class="code"><pre>('django.contrib.auth.backends.ModelBackend',
  2172. 'allauth.account.auth_backends.AuthenticationBackend')</pre></td>
  2173. </tr>
  2174.  
  2175. <tr>
  2176. <td>AUTH_PASSWORD_VALIDATORS</td>
  2177. <td class="code"><pre>u'********************'</pre></td>
  2178. </tr>
  2179.  
  2180. <tr>
  2181. <td>AUTH_USER_MODEL</td>
  2182. <td class="code"><pre>'users.User'</pre></td>
  2183. </tr>
  2184.  
  2185. <tr>
  2186. <td>BASE_DIR</td>
  2187. <td class="code"><pre>'/opt/tesserae-portal/config'</pre></td>
  2188. </tr>
  2189.  
  2190. <tr>
  2191. <td>CACHES</td>
  2192. <td class="code"><pre>{u'default': {u'BACKEND': u'django.core.cache.backends.locmem.LocMemCache'}}</pre></td>
  2193. </tr>
  2194.  
  2195. <tr>
  2196. <td>CACHE_MIDDLEWARE_ALIAS</td>
  2197. <td class="code"><pre>u'default'</pre></td>
  2198. </tr>
  2199.  
  2200. <tr>
  2201. <td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
  2202. <td class="code"><pre>u'********************'</pre></td>
  2203. </tr>
  2204.  
  2205. <tr>
  2206. <td>CACHE_MIDDLEWARE_SECONDS</td>
  2207. <td class="code"><pre>600</pre></td>
  2208. </tr>
  2209.  
  2210. <tr>
  2211. <td>CRISPY_FAIL_SILENTLY</td>
  2212. <td class="code"><pre>False</pre></td>
  2213. </tr>
  2214.  
  2215. <tr>
  2216. <td>CRISPY_TEMPLATE_PACK</td>
  2217. <td class="code"><pre>'bootstrap4'</pre></td>
  2218. </tr>
  2219.  
  2220. <tr>
  2221. <td>CSRF_COOKIE_AGE</td>
  2222. <td class="code"><pre>31449600</pre></td>
  2223. </tr>
  2224.  
  2225. <tr>
  2226. <td>CSRF_COOKIE_DOMAIN</td>
  2227. <td class="code"><pre>None</pre></td>
  2228. </tr>
  2229.  
  2230. <tr>
  2231. <td>CSRF_COOKIE_HTTPONLY</td>
  2232. <td class="code"><pre>False</pre></td>
  2233. </tr>
  2234.  
  2235. <tr>
  2236. <td>CSRF_COOKIE_NAME</td>
  2237. <td class="code"><pre>u'csrftoken'</pre></td>
  2238. </tr>
  2239.  
  2240. <tr>
  2241. <td>CSRF_COOKIE_PATH</td>
  2242. <td class="code"><pre>u'/'</pre></td>
  2243. </tr>
  2244.  
  2245. <tr>
  2246. <td>CSRF_COOKIE_SECURE</td>
  2247. <td class="code"><pre>False</pre></td>
  2248. </tr>
  2249.  
  2250. <tr>
  2251. <td>CSRF_FAILURE_VIEW</td>
  2252. <td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
  2253. </tr>
  2254.  
  2255. <tr>
  2256. <td>CSRF_HEADER_NAME</td>
  2257. <td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
  2258. </tr>
  2259.  
  2260. <tr>
  2261. <td>CSRF_TRUSTED_ORIGINS</td>
  2262. <td class="code"><pre>[]</pre></td>
  2263. </tr>
  2264.  
  2265. <tr>
  2266. <td>DATABASES</td>
  2267. <td class="code"><pre>{'default': {'ATOMIC_REQUESTS': False,
  2268. 'AUTOCOMMIT': True,
  2269. 'CONN_MAX_AGE': 0,
  2270. 'ENGINE': 'django.db.backends.postgresql_psycopg2',
  2271. 'HOST': 'localhost',
  2272. 'NAME': 'tesserae_portal',
  2273. 'OPTIONS': {},
  2274. 'PASSWORD': u'********************',
  2275. 'PORT': '5432',
  2276. 'TEST': {'CHARSET': None,
  2277. 'COLLATION': None,
  2278. 'MIRROR': None,
  2279. 'NAME': None},
  2280. 'TIME_ZONE': None,
  2281. 'USER': 'portal_admin'}}</pre></td>
  2282. </tr>
  2283.  
  2284. <tr>
  2285. <td>DATABASE_ROUTERS</td>
  2286. <td class="code"><pre>[]</pre></td>
  2287. </tr>
  2288.  
  2289. <tr>
  2290. <td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
  2291. <td class="code"><pre>2621440</pre></td>
  2292. </tr>
  2293.  
  2294. <tr>
  2295. <td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
  2296. <td class="code"><pre>1000</pre></td>
  2297. </tr>
  2298.  
  2299. <tr>
  2300. <td>DATETIME_FORMAT</td>
  2301. <td class="code"><pre>u'N j, Y, P'</pre></td>
  2302. </tr>
  2303.  
  2304. <tr>
  2305. <td>DATETIME_INPUT_FORMATS</td>
  2306. <td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
  2307. u'%Y-%m-%d %H:%M:%S.%f',
  2308. u'%Y-%m-%d %H:%M',
  2309. u'%Y-%m-%d',
  2310. u'%m/%d/%Y %H:%M:%S',
  2311. u'%m/%d/%Y %H:%M:%S.%f',
  2312. u'%m/%d/%Y %H:%M',
  2313. u'%m/%d/%Y',
  2314. u'%m/%d/%y %H:%M:%S',
  2315. u'%m/%d/%y %H:%M:%S.%f',
  2316. u'%m/%d/%y %H:%M',
  2317. u'%m/%d/%y']</pre></td>
  2318. </tr>
  2319.  
  2320. <tr>
  2321. <td>DATE_FORMAT</td>
  2322. <td class="code"><pre>u'N j, Y'</pre></td>
  2323. </tr>
  2324.  
  2325. <tr>
  2326. <td>DATE_INPUT_FORMATS</td>
  2327. <td class="code"><pre>[u'%Y-%m-%d',
  2328. u'%m/%d/%Y',
  2329. u'%m/%d/%y',
  2330. u'%b %d %Y',
  2331. u'%b %d, %Y',
  2332. u'%d %b %Y',
  2333. u'%d %b, %Y',
  2334. u'%B %d %Y',
  2335. u'%B %d, %Y',
  2336. u'%d %B %Y',
  2337. u'%d %B, %Y']</pre></td>
  2338. </tr>
  2339.  
  2340. <tr>
  2341. <td>DEBUG</td>
  2342. <td class="code"><pre>True</pre></td>
  2343. </tr>
  2344.  
  2345. <tr>
  2346. <td>DEBUG_PROPAGATE_EXCEPTIONS</td>
  2347. <td class="code"><pre>False</pre></td>
  2348. </tr>
  2349.  
  2350. <tr>
  2351. <td>DECIMAL_SEPARATOR</td>
  2352. <td class="code"><pre>u'.'</pre></td>
  2353. </tr>
  2354.  
  2355. <tr>
  2356. <td>DEFAULT_CHARSET</td>
  2357. <td class="code"><pre>u'utf-8'</pre></td>
  2358. </tr>
  2359.  
  2360. <tr>
  2361. <td>DEFAULT_CONTENT_TYPE</td>
  2362. <td class="code"><pre>u'text/html'</pre></td>
  2363. </tr>
  2364.  
  2365. <tr>
  2366. <td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
  2367. <td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
  2368. </tr>
  2369.  
  2370. <tr>
  2371. <td>DEFAULT_FILE_STORAGE</td>
  2372. <td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
  2373. </tr>
  2374.  
  2375. <tr>
  2376. <td>DEFAULT_FROM_EMAIL</td>
  2377. <td class="code"><pre>u'webmaster@localhost'</pre></td>
  2378. </tr>
  2379.  
  2380. <tr>
  2381. <td>DEFAULT_INDEX_TABLESPACE</td>
  2382. <td class="code"><pre>u''</pre></td>
  2383. </tr>
  2384.  
  2385. <tr>
  2386. <td>DEFAULT_TABLESPACE</td>
  2387. <td class="code"><pre>u''</pre></td>
  2388. </tr>
  2389.  
  2390. <tr>
  2391. <td>DISALLOWED_USER_AGENTS</td>
  2392. <td class="code"><pre>[]</pre></td>
  2393. </tr>
  2394.  
  2395. <tr>
  2396. <td>EMAIL_BACKEND</td>
  2397. <td class="code"><pre>'django.core.mail.backends.smtp.EmailBackend'</pre></td>
  2398. </tr>
  2399.  
  2400. <tr>
  2401. <td>EMAIL_HOST</td>
  2402. <td class="code"><pre>'smtp.gmail.com'</pre></td>
  2403. </tr>
  2404.  
  2405. <tr>
  2406. <td>EMAIL_HOST_PASSWORD</td>
  2407. <td class="code"><pre>u'********************'</pre></td>
  2408. </tr>
  2409.  
  2410. <tr>
  2411. <td>EMAIL_HOST_USER</td>
  2412. <td class="code"><pre>'&lt;e-mail&gt;'</pre></td>
  2413. </tr>
  2414.  
  2415. <tr>
  2416. <td>EMAIL_PORT</td>
  2417. <td class="code"><pre>587</pre></td>
  2418. </tr>
  2419.  
  2420. <tr>
  2421. <td>EMAIL_SSL_CERTFILE</td>
  2422. <td class="code"><pre>None</pre></td>
  2423. </tr>
  2424.  
  2425. <tr>
  2426. <td>EMAIL_SSL_KEYFILE</td>
  2427. <td class="code"><pre>u'********************'</pre></td>
  2428. </tr>
  2429.  
  2430. <tr>
  2431. <td>EMAIL_SUBJECT_PREFIX</td>
  2432. <td class="code"><pre>u'[Django] '</pre></td>
  2433. </tr>
  2434.  
  2435. <tr>
  2436. <td>EMAIL_TIMEOUT</td>
  2437. <td class="code"><pre>None</pre></td>
  2438. </tr>
  2439.  
  2440. <tr>
  2441. <td>EMAIL_USE_SSL</td>
  2442. <td class="code"><pre>False</pre></td>
  2443. </tr>
  2444.  
  2445. <tr>
  2446. <td>EMAIL_USE_TLS</td>
  2447. <td class="code"><pre>True</pre></td>
  2448. </tr>
  2449.  
  2450. <tr>
  2451. <td>FILE_CHARSET</td>
  2452. <td class="code"><pre>u'utf-8'</pre></td>
  2453. </tr>
  2454.  
  2455. <tr>
  2456. <td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
  2457. <td class="code"><pre>None</pre></td>
  2458. </tr>
  2459.  
  2460. <tr>
  2461. <td>FILE_UPLOAD_HANDLERS</td>
  2462. <td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
  2463. u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
  2464. </tr>
  2465.  
  2466. <tr>
  2467. <td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
  2468. <td class="code"><pre>2621440</pre></td>
  2469. </tr>
  2470.  
  2471. <tr>
  2472. <td>FILE_UPLOAD_PERMISSIONS</td>
  2473. <td class="code"><pre>None</pre></td>
  2474. </tr>
  2475.  
  2476. <tr>
  2477. <td>FILE_UPLOAD_TEMP_DIR</td>
  2478. <td class="code"><pre>None</pre></td>
  2479. </tr>
  2480.  
  2481. <tr>
  2482. <td>FIRST_DAY_OF_WEEK</td>
  2483. <td class="code"><pre>0</pre></td>
  2484. </tr>
  2485.  
  2486. <tr>
  2487. <td>FIXTURE_DIRS</td>
  2488. <td class="code"><pre>[]</pre></td>
  2489. </tr>
  2490.  
  2491. <tr>
  2492. <td>FORCE_SCRIPT_NAME</td>
  2493. <td class="code"><pre>None</pre></td>
  2494. </tr>
  2495.  
  2496. <tr>
  2497. <td>FORMAT_MODULE_PATH</td>
  2498. <td class="code"><pre>None</pre></td>
  2499. </tr>
  2500.  
  2501. <tr>
  2502. <td>IGNORABLE_404_URLS</td>
  2503. <td class="code"><pre>[]</pre></td>
  2504. </tr>
  2505.  
  2506. <tr>
  2507. <td>INSTALLED_APPS</td>
  2508. <td class="code"><pre>['django.contrib.admin',
  2509. 'django.contrib.auth',
  2510. 'django.contrib.contenttypes',
  2511. 'django.contrib.sessions',
  2512. 'django.contrib.messages',
  2513. 'django.contrib.staticfiles',
  2514. 'django.contrib.sites',
  2515. 'allauth',
  2516. 'allauth.account',
  2517. 'allauth.socialaccount',
  2518. 'allauth.socialaccount.providers.google',
  2519. 'crispy_forms',
  2520. 'tesserae.apps.users.apps.UsersConfig',
  2521. 'tesserae.apps.issue_app.apps.IssueAppConfig',
  2522. 'tesserae.apps.compliance_app.apps.ComplianceAppConfig',
  2523. 'tesserae.apps.payment_app.apps.PaymentAppConfig',
  2524. 'tesserae.apps.participant_app.apps.ParticipantsConfig',
  2525. 'tesserae.apps.staff_app.apps.StaffAppConfig']</pre></td>
  2526. </tr>
  2527.  
  2528. <tr>
  2529. <td>INTERNAL_IPS</td>
  2530. <td class="code"><pre>[]</pre></td>
  2531. </tr>
  2532.  
  2533. <tr>
  2534. <td>LANGUAGES</td>
  2535. <td class="code"><pre>[(u'af', u'Afrikaans'),
  2536. (u'ar', u'Arabic'),
  2537. (u'ast', u'Asturian'),
  2538. (u'az', u'Azerbaijani'),
  2539. (u'bg', u'Bulgarian'),
  2540. (u'be', u'Belarusian'),
  2541. (u'bn', u'Bengali'),
  2542. (u'br', u'Breton'),
  2543. (u'bs', u'Bosnian'),
  2544. (u'ca', u'Catalan'),
  2545. (u'cs', u'Czech'),
  2546. (u'cy', u'Welsh'),
  2547. (u'da', u'Danish'),
  2548. (u'de', u'German'),
  2549. (u'dsb', u'Lower Sorbian'),
  2550. (u'el', u'Greek'),
  2551. (u'en', u'English'),
  2552. (u'en-au', u'Australian English'),
  2553. (u'en-gb', u'British English'),
  2554. (u'eo', u'Esperanto'),
  2555. (u'es', u'Spanish'),
  2556. (u'es-ar', u'Argentinian Spanish'),
  2557. (u'es-co', u'Colombian Spanish'),
  2558. (u'es-mx', u'Mexican Spanish'),
  2559. (u'es-ni', u'Nicaraguan Spanish'),
  2560. (u'es-ve', u'Venezuelan Spanish'),
  2561. (u'et', u'Estonian'),
  2562. (u'eu', u'Basque'),
  2563. (u'fa', u'Persian'),
  2564. (u'fi', u'Finnish'),
  2565. (u'fr', u'French'),
  2566. (u'fy', u'Frisian'),
  2567. (u'ga', u'Irish'),
  2568. (u'gd', u'Scottish Gaelic'),
  2569. (u'gl', u'Galician'),
  2570. (u'he', u'Hebrew'),
  2571. (u'hi', u'Hindi'),
  2572. (u'hr', u'Croatian'),
  2573. (u'hsb', u'Upper Sorbian'),
  2574. (u'hu', u'Hungarian'),
  2575. (u'ia', u'Interlingua'),
  2576. (u'id', u'Indonesian'),
  2577. (u'io', u'Ido'),
  2578. (u'is', u'Icelandic'),
  2579. (u'it', u'Italian'),
  2580. (u'ja', u'Japanese'),
  2581. (u'ka', u'Georgian'),
  2582. (u'kk', u'Kazakh'),
  2583. (u'km', u'Khmer'),
  2584. (u'kn', u'Kannada'),
  2585. (u'ko', u'Korean'),
  2586. (u'lb', u'Luxembourgish'),
  2587. (u'lt', u'Lithuanian'),
  2588. (u'lv', u'Latvian'),
  2589. (u'mk', u'Macedonian'),
  2590. (u'ml', u'Malayalam'),
  2591. (u'mn', u'Mongolian'),
  2592. (u'mr', u'Marathi'),
  2593. (u'my', u'Burmese'),
  2594. (u'nb', u'Norwegian Bokm\xe5l'),
  2595. (u'ne', u'Nepali'),
  2596. (u'nl', u'Dutch'),
  2597. (u'nn', u'Norwegian Nynorsk'),
  2598. (u'os', u'Ossetic'),
  2599. (u'pa', u'Punjabi'),
  2600. (u'pl', u'Polish'),
  2601. (u'pt', u'Portuguese'),
  2602. (u'pt-br', u'Brazilian Portuguese'),
  2603. (u'ro', u'Romanian'),
  2604. (u'ru', u'Russian'),
  2605. (u'sk', u'Slovak'),
  2606. (u'sl', u'Slovenian'),
  2607. (u'sq', u'Albanian'),
  2608. (u'sr', u'Serbian'),
  2609. (u'sr-latn', u'Serbian Latin'),
  2610. (u'sv', u'Swedish'),
  2611. (u'sw', u'Swahili'),
  2612. (u'ta', u'Tamil'),
  2613. (u'te', u'Telugu'),
  2614. (u'th', u'Thai'),
  2615. (u'tr', u'Turkish'),
  2616. (u'tt', u'Tatar'),
  2617. (u'udm', u'Udmurt'),
  2618. (u'uk', u'Ukrainian'),
  2619. (u'ur', u'Urdu'),
  2620. (u'vi', u'Vietnamese'),
  2621. (u'zh-hans', u'Simplified Chinese'),
  2622. (u'zh-hant', u'Traditional Chinese')]</pre></td>
  2623. </tr>
  2624.  
  2625. <tr>
  2626. <td>LANGUAGES_BIDI</td>
  2627. <td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
  2628. </tr>
  2629.  
  2630. <tr>
  2631. <td>LANGUAGE_CODE</td>
  2632. <td class="code"><pre>'en-us'</pre></td>
  2633. </tr>
  2634.  
  2635. <tr>
  2636. <td>LANGUAGE_COOKIE_AGE</td>
  2637. <td class="code"><pre>None</pre></td>
  2638. </tr>
  2639.  
  2640. <tr>
  2641. <td>LANGUAGE_COOKIE_DOMAIN</td>
  2642. <td class="code"><pre>None</pre></td>
  2643. </tr>
  2644.  
  2645. <tr>
  2646. <td>LANGUAGE_COOKIE_NAME</td>
  2647. <td class="code"><pre>u'django_language'</pre></td>
  2648. </tr>
  2649.  
  2650. <tr>
  2651. <td>LANGUAGE_COOKIE_PATH</td>
  2652. <td class="code"><pre>u'/'</pre></td>
  2653. </tr>
  2654.  
  2655. <tr>
  2656. <td>LOCALE_PATHS</td>
  2657. <td class="code"><pre>[]</pre></td>
  2658. </tr>
  2659.  
  2660. <tr>
  2661. <td>LOGGING</td>
  2662. <td class="code"><pre>{}</pre></td>
  2663. </tr>
  2664.  
  2665. <tr>
  2666. <td>LOGGING_CONFIG</td>
  2667. <td class="code"><pre>u'logging.config.dictConfig'</pre></td>
  2668. </tr>
  2669.  
  2670. <tr>
  2671. <td>LOGIN_REDIRECT_URL</td>
  2672. <td class="code"><pre>u'/accounts/profile/'</pre></td>
  2673. </tr>
  2674.  
  2675. <tr>
  2676. <td>LOGIN_URL</td>
  2677. <td class="code"><pre>'/accounts/login/'</pre></td>
  2678. </tr>
  2679.  
  2680. <tr>
  2681. <td>LOGOUT_REDIRECT_URL</td>
  2682. <td class="code"><pre>None</pre></td>
  2683. </tr>
  2684.  
  2685. <tr>
  2686. <td>MANAGERS</td>
  2687. <td class="code"><pre>[]</pre></td>
  2688. </tr>
  2689.  
  2690. <tr>
  2691. <td>MEDIA_ROOT</td>
  2692. <td class="code"><pre>u''</pre></td>
  2693. </tr>
  2694.  
  2695. <tr>
  2696. <td>MEDIA_URL</td>
  2697. <td class="code"><pre>u''</pre></td>
  2698. </tr>
  2699.  
  2700. <tr>
  2701. <td>MESSAGE_STORAGE</td>
  2702. <td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
  2703. </tr>
  2704.  
  2705. <tr>
  2706. <td>MIDDLEWARE</td>
  2707. <td class="code"><pre>['django.middleware.security.SecurityMiddleware',
  2708. 'django.contrib.sessions.middleware.SessionMiddleware',
  2709. 'django.middleware.common.CommonMiddleware',
  2710. 'django.middleware.csrf.CsrfViewMiddleware',
  2711. 'django.contrib.auth.middleware.AuthenticationMiddleware',
  2712. 'django.contrib.messages.middleware.MessageMiddleware',
  2713. 'django.middleware.clickjacking.XFrameOptionsMiddleware']</pre></td>
  2714. </tr>
  2715.  
  2716. <tr>
  2717. <td>MIDDLEWARE_CLASSES</td>
  2718. <td class="code"><pre>[u'django.middleware.common.CommonMiddleware',
  2719. u'django.middleware.csrf.CsrfViewMiddleware']</pre></td>
  2720. </tr>
  2721.  
  2722. <tr>
  2723. <td>MIGRATION_MODULES</td>
  2724. <td class="code"><pre>{}</pre></td>
  2725. </tr>
  2726.  
  2727. <tr>
  2728. <td>MONTH_DAY_FORMAT</td>
  2729. <td class="code"><pre>u'F j'</pre></td>
  2730. </tr>
  2731.  
  2732. <tr>
  2733. <td>NOSE_ARGS</td>
  2734. <td class="code"><pre>['--with-coverage',
  2735. '--cover-package=tesserae.apps.base_portal.auth, tesserae.apps.base_portal.views, tesserae.apps.issue_app.forms, tesserae.apps.issue_app.views, tesserae.apps.compliance_app.views',
  2736. '--cover-html',
  2737. '--cover-erase']</pre></td>
  2738. </tr>
  2739.  
  2740. <tr>
  2741. <td>NUMBER_GROUPING</td>
  2742. <td class="code"><pre>0</pre></td>
  2743. </tr>
  2744.  
  2745. <tr>
  2746. <td>PASSWORD_HASHERS</td>
  2747. <td class="code"><pre>u'********************'</pre></td>
  2748. </tr>
  2749.  
  2750. <tr>
  2751. <td>PASSWORD_RESET_TIMEOUT_DAYS</td>
  2752. <td class="code"><pre>u'********************'</pre></td>
  2753. </tr>
  2754.  
  2755. <tr>
  2756. <td>PREPEND_WWW</td>
  2757. <td class="code"><pre>False</pre></td>
  2758. </tr>
  2759.  
  2760. <tr>
  2761. <td>PREREQUISITE_APPS</td>
  2762. <td class="code"><pre>['django.contrib.admin',
  2763. 'django.contrib.auth',
  2764. 'django.contrib.contenttypes',
  2765. 'django.contrib.sessions',
  2766. 'django.contrib.messages',
  2767. 'django.contrib.staticfiles',
  2768. 'django.contrib.sites',
  2769. 'allauth',
  2770. 'allauth.account',
  2771. 'allauth.socialaccount',
  2772. 'allauth.socialaccount.providers.google']</pre></td>
  2773. </tr>
  2774.  
  2775. <tr>
  2776. <td>PROJECT_APPS</td>
  2777. <td class="code"><pre>['tesserae.apps.users.apps.UsersConfig',
  2778. 'tesserae.apps.issue_app.apps.IssueAppConfig',
  2779. 'tesserae.apps.compliance_app.apps.ComplianceAppConfig',
  2780. 'tesserae.apps.payment_app.apps.PaymentAppConfig',
  2781. 'tesserae.apps.participant_app.apps.ParticipantsConfig',
  2782. 'tesserae.apps.staff_app.apps.StaffAppConfig']</pre></td>
  2783. </tr>
  2784.  
  2785. <tr>
  2786. <td>ROOT_URLCONF</td>
  2787. <td class="code"><pre>'config.urls'</pre></td>
  2788. </tr>
  2789.  
  2790. <tr>
  2791. <td>SECRET_KEY</td>
  2792. <td class="code"><pre>u'********************'</pre></td>
  2793. </tr>
  2794.  
  2795. <tr>
  2796. <td>SECURE_BROWSER_XSS_FILTER</td>
  2797. <td class="code"><pre>False</pre></td>
  2798. </tr>
  2799.  
  2800. <tr>
  2801. <td>SECURE_CONTENT_TYPE_NOSNIFF</td>
  2802. <td class="code"><pre>False</pre></td>
  2803. </tr>
  2804.  
  2805. <tr>
  2806. <td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
  2807. <td class="code"><pre>False</pre></td>
  2808. </tr>
  2809.  
  2810. <tr>
  2811. <td>SECURE_HSTS_SECONDS</td>
  2812. <td class="code"><pre>0</pre></td>
  2813. </tr>
  2814.  
  2815. <tr>
  2816. <td>SECURE_PROXY_SSL_HEADER</td>
  2817. <td class="code"><pre>None</pre></td>
  2818. </tr>
  2819.  
  2820. <tr>
  2821. <td>SECURE_REDIRECT_EXEMPT</td>
  2822. <td class="code"><pre>[]</pre></td>
  2823. </tr>
  2824.  
  2825. <tr>
  2826. <td>SECURE_SSL_HOST</td>
  2827. <td class="code"><pre>None</pre></td>
  2828. </tr>
  2829.  
  2830. <tr>
  2831. <td>SECURE_SSL_REDIRECT</td>
  2832. <td class="code"><pre>False</pre></td>
  2833. </tr>
  2834.  
  2835. <tr>
  2836. <td>SERVER_EMAIL</td>
  2837. <td class="code"><pre>u'root@localhost'</pre></td>
  2838. </tr>
  2839.  
  2840. <tr>
  2841. <td>SESSION_CACHE_ALIAS</td>
  2842. <td class="code"><pre>u'default'</pre></td>
  2843. </tr>
  2844.  
  2845. <tr>
  2846. <td>SESSION_COOKIE_AGE</td>
  2847. <td class="code"><pre>1209600</pre></td>
  2848. </tr>
  2849.  
  2850. <tr>
  2851. <td>SESSION_COOKIE_DOMAIN</td>
  2852. <td class="code"><pre>None</pre></td>
  2853. </tr>
  2854.  
  2855. <tr>
  2856. <td>SESSION_COOKIE_HTTPONLY</td>
  2857. <td class="code"><pre>True</pre></td>
  2858. </tr>
  2859.  
  2860. <tr>
  2861. <td>SESSION_COOKIE_NAME</td>
  2862. <td class="code"><pre>u'sessionid'</pre></td>
  2863. </tr>
  2864.  
  2865. <tr>
  2866. <td>SESSION_COOKIE_PATH</td>
  2867. <td class="code"><pre>u'/'</pre></td>
  2868. </tr>
  2869.  
  2870. <tr>
  2871. <td>SESSION_COOKIE_SECURE</td>
  2872. <td class="code"><pre>False</pre></td>
  2873. </tr>
  2874.  
  2875. <tr>
  2876. <td>SESSION_ENGINE</td>
  2877. <td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
  2878. </tr>
  2879.  
  2880. <tr>
  2881. <td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
  2882. <td class="code"><pre>False</pre></td>
  2883. </tr>
  2884.  
  2885. <tr>
  2886. <td>SESSION_FILE_PATH</td>
  2887. <td class="code"><pre>None</pre></td>
  2888. </tr>
  2889.  
  2890. <tr>
  2891. <td>SESSION_SAVE_EVERY_REQUEST</td>
  2892. <td class="code"><pre>False</pre></td>
  2893. </tr>
  2894.  
  2895. <tr>
  2896. <td>SESSION_SERIALIZER</td>
  2897. <td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
  2898. </tr>
  2899.  
  2900. <tr>
  2901. <td>SETTINGS_MODULE</td>
  2902. <td class="code"><pre>'config.settings.production'</pre></td>
  2903. </tr>
  2904.  
  2905. <tr>
  2906. <td>SHORT_DATETIME_FORMAT</td>
  2907. <td class="code"><pre>u'm/d/Y P'</pre></td>
  2908. </tr>
  2909.  
  2910. <tr>
  2911. <td>SHORT_DATE_FORMAT</td>
  2912. <td class="code"><pre>u'm/d/Y'</pre></td>
  2913. </tr>
  2914.  
  2915. <tr>
  2916. <td>SIGNING_BACKEND</td>
  2917. <td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
  2918. </tr>
  2919.  
  2920. <tr>
  2921. <td>SILENCED_SYSTEM_CHECKS</td>
  2922. <td class="code"><pre>[]</pre></td>
  2923. </tr>
  2924.  
  2925. <tr>
  2926. <td>SITE_ID</td>
  2927. <td class="code"><pre>1</pre></td>
  2928. </tr>
  2929.  
  2930. <tr>
  2931. <td>SOCIALACCOUNT_PROVIDERS</td>
  2932. <td class="code"><pre>{'google': {'AUTH_PARAMS': {'access_type': 'online'},
  2933. 'SCOPE': ['profile', 'email']}}</pre></td>
  2934. </tr>
  2935.  
  2936. <tr>
  2937. <td>STATICFILES_DIRS</td>
  2938. <td class="code"><pre>['tesserae/static/']</pre></td>
  2939. </tr>
  2940.  
  2941. <tr>
  2942. <td>STATICFILES_FINDERS</td>
  2943. <td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
  2944. u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
  2945. </tr>
  2946.  
  2947. <tr>
  2948. <td>STATICFILES_STORAGE</td>
  2949. <td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
  2950. </tr>
  2951.  
  2952. <tr>
  2953. <td>STATIC_ROOT</td>
  2954. <td class="code"><pre>'/var/www/static/'</pre></td>
  2955. </tr>
  2956.  
  2957. <tr>
  2958. <td>STATIC_URL</td>
  2959. <td class="code"><pre>'/static/'</pre></td>
  2960. </tr>
  2961.  
  2962. <tr>
  2963. <td>TEMPLATES</td>
  2964. <td class="code"><pre>[{'APP_DIRS': True,
  2965. 'BACKEND': 'django.template.backends.django.DjangoTemplates',
  2966. 'DIRS': ['/opt/tesserae-portal/config/tesserae/../../tesserae/templates'],
  2967. 'OPTIONS': {'context_processors': ['django.template.context_processors.debug',
  2968. 'django.template.context_processors.request',
  2969. 'django.contrib.auth.context_processors.auth',
  2970. 'django.contrib.messages.context_processors.messages']}}]</pre></td>
  2971. </tr>
  2972.  
  2973. <tr>
  2974. <td>TEST_NON_SERIALIZED_APPS</td>
  2975. <td class="code"><pre>[]</pre></td>
  2976. </tr>
  2977.  
  2978. <tr>
  2979. <td>TEST_RUNNER</td>
  2980. <td class="code"><pre>'django_nose.NoseTestSuiteRunner'</pre></td>
  2981. </tr>
  2982.  
  2983. <tr>
  2984. <td>THIRD_PARTY_APPS</td>
  2985. <td class="code"><pre>['crispy_forms']</pre></td>
  2986. </tr>
  2987.  
  2988. <tr>
  2989. <td>THOUSAND_SEPARATOR</td>
  2990. <td class="code"><pre>u','</pre></td>
  2991. </tr>
  2992.  
  2993. <tr>
  2994. <td>TIME_FORMAT</td>
  2995. <td class="code"><pre>u'P'</pre></td>
  2996. </tr>
  2997.  
  2998. <tr>
  2999. <td>TIME_INPUT_FORMATS</td>
  3000. <td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
  3001. </tr>
  3002.  
  3003. <tr>
  3004. <td>TIME_ZONE</td>
  3005. <td class="code"><pre>'EST'</pre></td>
  3006. </tr>
  3007.  
  3008. <tr>
  3009. <td>USE_ETAGS</td>
  3010. <td class="code"><pre>False</pre></td>
  3011. </tr>
  3012.  
  3013. <tr>
  3014. <td>USE_I18N</td>
  3015. <td class="code"><pre>True</pre></td>
  3016. </tr>
  3017.  
  3018. <tr>
  3019. <td>USE_L10N</td>
  3020. <td class="code"><pre>True</pre></td>
  3021. </tr>
  3022.  
  3023. <tr>
  3024. <td>USE_THOUSAND_SEPARATOR</td>
  3025. <td class="code"><pre>False</pre></td>
  3026. </tr>
  3027.  
  3028. <tr>
  3029. <td>USE_TZ</td>
  3030. <td class="code"><pre>True</pre></td>
  3031. </tr>
  3032.  
  3033. <tr>
  3034. <td>USE_X_FORWARDED_HOST</td>
  3035. <td class="code"><pre>False</pre></td>
  3036. </tr>
  3037.  
  3038. <tr>
  3039. <td>USE_X_FORWARDED_PORT</td>
  3040. <td class="code"><pre>False</pre></td>
  3041. </tr>
  3042.  
  3043. <tr>
  3044. <td>WSGI_APPLICATION</td>
  3045. <td class="code"><pre>'config.wsgi.application'</pre></td>
  3046. </tr>
  3047.  
  3048. <tr>
  3049. <td>X_FRAME_OPTIONS</td>
  3050. <td class="code"><pre>u'SAMEORIGIN'</pre></td>
  3051. </tr>
  3052.  
  3053. <tr>
  3054. <td>YEAR_MONTH_FORMAT</td>
  3055. <td class="code"><pre>u'F Y'</pre></td>
  3056. </tr>
  3057.  
  3058. </tbody>
  3059. </table>
  3060.  
  3061. </div>
  3062.  
  3063. <div id="explanation">
  3064. <p>
  3065. You're seeing this error because you have <code>DEBUG = True</code> in your
  3066. Django settings file. Change that to <code>False</code>, and Django will
  3067. display a standard page generated by the handler for this status code.
  3068. </p>
  3069. </div>
  3070.  
  3071.  
  3072.  
  3073. </body></html>
Add Comment
Please, Sign In to add comment