MultipleObjectsReturned at _subject_subject_dashboard_B142-040991124-4_.html

Ame Diphoko, 27/06/2023 14:17

Download (121 KB)

 
1
<!DOCTYPE html>
2
<!-- saved from url=(0074)http://flourish-dev.bhp.org.bw/subject/subject_dashboard/B142-040991124-4/ -->
3
<html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4
  
5
  <meta name="robots" content="NONE,NOARCHIVE">
6
  <title>MultipleObjectsReturned
7
          at /subject/subject_dashboard/B142-040991124-4/</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; background-color:#fff; color:#000; }
13
    body>div { border-bottom:1px solid #ddd; }
14
    h1 { font-weight:normal; }
15
    h2 { margin-bottom:.8em; }
16
    h3 { margin:1em 0 .5em 0; }
17
    h4 { margin:0 0 .5em 0; font-weight: normal; }
18
    code, pre { font-size: 100%; white-space: pre-wrap; }
19
    table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
20
    tbody td, tbody th { vertical-align:top; padding:2px 3px; }
21
    thead th {
22
      padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
23
      font-weight:normal; font-size:11px; border:1px solid #ddd;
24
    }
25
    tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
26
    table.vars { margin:5px 0 2px 40px; }
27
    table.vars td, table.req td { font-family:monospace; }
28
    table td.code { width:100%; }
29
    table td.code pre { overflow:hidden; }
30
    table.source th { color:#666; }
31
    table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
32
    ul.traceback { list-style-type:none; color: #222; }
33
    ul.traceback li.frame { padding-bottom:1em; color:#4f4f4f; }
34
    ul.traceback li.user { background-color:#e0e0e0; color:#000 }
35
    div.context { padding:10px 0; overflow:hidden; }
36
    div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
37
    div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
38
    div.context ol li pre { display:inline; }
39
    div.context ol.context-line li { color:#464646; background-color:#dfdfdf; padding: 3px 2px; }
40
    div.context ol.context-line li span { position:absolute; right:32px; }
41
    .user div.context ol.context-line li { background-color:#bbb; color:#000; }
42
    .user div.context ol li { color:#666; }
43
    div.commands { margin-left: 40px; }
44
    div.commands a { color:#555; text-decoration:none; }
45
    .user div.commands a { color: black; }
46
    #summary { background: #ffc; }
47
    #summary h2 { font-weight: normal; color: #666; }
48
    #explanation { background:#eee; }
49
    #template, #template-not-exist { background:#f6f6f6; }
50
    #template-not-exist ul { margin: 0 0 10px 20px; }
51
    #template-not-exist .postmortem-section { margin-bottom: 3px; }
52
    #unicode-hint { background:#eee; }
53
    #traceback { background:#eee; }
54
    #requestinfo { background:#f6f6f6; padding-left:120px; }
55
    #summary table { border:none; background:transparent; }
56
    #requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
57
    #requestinfo h3 { margin-bottom:-1em; }
58
    .error { background: #ffc; }
59
    .specific { color:#cc3300; font-weight:bold; }
60
    h2 span.commands { font-size:.7em; font-weight:normal; }
61
    span.commands a:link {color:#5E5694;}
62
    pre.exception_value { font-family: sans-serif; color: #575757; font-size: 1.5em; margin: 10px 0 10px 0; }
63
    .append-bottom { margin-bottom: 10px; }
64
    .fname { user-select: all; }
65
  </style>
66
  
67
  <script>
68
    function hideAll(elems) {
69
      for (var e = 0; e < elems.length; e++) {
70
        elems[e].style.display = 'none';
71
      }
72
    }
73
    window.onload = function() {
74
      hideAll(document.querySelectorAll('table.vars'));
75
      hideAll(document.querySelectorAll('ol.pre-context'));
76
      hideAll(document.querySelectorAll('ol.post-context'));
77
      hideAll(document.querySelectorAll('div.pastebin'));
78
    }
79
    function toggle() {
80
      for (var i = 0; i < arguments.length; i++) {
81
        var e = document.getElementById(arguments[i]);
82
        if (e) {
83
          e.style.display = e.style.display == 'none' ? 'block': 'none';
84
        }
85
      }
86
      return false;
87
    }
88
    function varToggle(link, id) {
89
      toggle('v' + id);
90
      var s = link.getElementsByTagName('span')[0];
91
      var uarr = String.fromCharCode(0x25b6);
92
      var darr = String.fromCharCode(0x25bc);
93
      s.textContent = s.textContent == uarr ? darr : uarr;
94
      return false;
95
    }
96
    function switchPastebinFriendly(link) {
97
      s1 = "Switch to copy-and-paste view";
98
      s2 = "Switch back to interactive view";
99
      link.textContent = link.textContent.trim() == s1 ? s2: s1;
100
      toggle('browserTraceback', 'pastebinTraceback');
101
      return false;
102
    }
103
  </script>
104
  
105
<script type="text/javascript" src="chrome-extension://flfnfojnbchmpkapielimhjblcmjlloh/inject.js"></script></head>
106
<body style="padding-top: initial;"><div class="myus-shopping"><div class="my-core-extension" id="myus-mall-extension-is-installed" style="display: none;"><div class=" "><div class="myus-header-container fadeInSlideDown is-hidden" id="myus-header-container"><div class="flex-nav"><div class="myus-flex-item brand-image-container"><div target="_blank" class="brand-image-container-link pointer"><a href="https://shopping.myus.com/stores/"><span><img class="brandImage" src="chrome-extension://jdohdiappiakacbmckagohongolonbpj/img/banner-logo.png" alt="MyUS Shopping Logo"></span></a></div></div><div class="myus-flex-item line-spacer"><span class="line"></span></div><div></div><div class="margin-left browse-button nav-hover myus-flex-item " id="browse-button"><a role="button" tabindex="0" class="myus-flex-item" id="browse-button-click" style="height: 100%;"><img class="is-hidden noclick" src="chrome-extension://jdohdiappiakacbmckagohongolonbpj/img/shop-icon.png" alt="Browse Stores by Hovering Over Item" style="width: 23px; height: 23px; margin-right: 3px;"><span class="noclick">Browse Stores</span></a></div><div class="myus-flex-item myus-add-to-cart-container" style="margin-left: auto;"><div id="add-to-myus-and-minicart-button"><div role="button" id="add-to-myus-cart-button" tabindex="0" class="add-to-cart-button "><span>Add to MyUS cart</span></div><div class="verticalSeparator"></div><div role="button" tabindex="0" id="myus-minicart-button" class="add-to-cart-button "><div class="cart-button-container margin-left myus-flex-item "><a id="view-cart-button-click" class="badgeContainerNav myus-flex-item" rel="noopener noreferrer" style="overflow: visible; padding-right: 1.5em; padding-left: 1em;"><div></div><div></div><img class="noclick" src="chrome-extension://jdohdiappiakacbmckagohongolonbpj/img/cart-icon.png" alt="View Cart" style="width: 30px; height: 30px;"></a></div></div></div></div><a role="button" class="myus-flex-item" tabindex="0" id="close-extension-button">X</a><a aria-label="newInstall" id="newInstallPage" href="https://shopping.myus.com/stores?newInstall=true" target="_blank" rel="noopener noreferrer"></a></div></div><div class="modals-container"><div class="is-hidden"><div aria-label="modalBG" role="button" tabindex="0" class=" modal-background fadeInFaster"></div><div><div><div class="modalContainer fadeIn" style="width: 900px;"><div class="modalContainer-inner" style="max-width: 900px;"><div style="display: flex; justify-content: flex-end; margin-bottom: 0.5em;"><a role="link" tabindex="0" style="font-family: &quot;Open Sans&quot;, sans-serif; cursor: pointer; text-decoration-line: underline;">Close</a></div><div class="manual-entry-modal"><form class="custom-form"><h3 id="manualEntryTitle" class="margin-bottom-small">YOU CAN SHOP HERE!</h3><p class="myus-small">Find the product you want to buy and give us the details.</p><div class="is-hidden"><div class=""><div class="custom-form-group undefined"><label class="is-hidden" for="ProductURL">:</label><input name="ProductURL" id="ProductURL" type="hidden" label="ProductURL" title="Product URL" placeholder="Product URL" class="" value="http://flourish-dev.bhp.org.bw/subject/subject_dashboard/B142-040991124-4/"></div></div></div><div><div class=""><div style="display: flex; width: 100%;"><div style="flex: 5 1 0%;"><div style="display: flex;"><div class="custom-form-group margin-right-small"><label class="" for="Description">*Product Title:</label><input name="Description" id="Description" type="text" label="Description" title="Enter product title" placeholder="Enter product title" class="" value=""></div><div class="custom-form-group margin-right-small"><label class="" for="Value">*Price (USD):</label><input name="Value" id="Value" type="text" label="Value" title="Enter price" placeholder="Enter price" class="" value=""></div><div class="custom-form-group undefined"><label class="" for="Size">Size:</label><input name="Size" id="Size" type="text" label="Size" title="Enter size" placeholder="Enter size" class="" value=""></div></div><div style="display: flex;"><div class="custom-form-group margin-right-small"><label class="" for="Color">Color:</label><input name="Color" id="Color" type="text" label="Color" title="Enter color" placeholder="Enter color" class="" value=""></div><div class="custom-form-group undefined"><label class="" for="Note">Notes:</label><input name="Note" id="Note" type="text" label="Note" title="For Example: Order blue if black runs out of stock." placeholder="For Example: Order blue if black runs out of stock." class="" value=""></div></div></div><div style="margin-left: 15px; flex: 1 1 0%;"><div class="" style="margin-top: 10px; display: flex; align-items: center;"><div class="margin-bottom" style="flex: 1 1 0%;"><div class="form-quantity-container"><div class="quantity-title "><p class="myus-small">Quantity</p></div><div><span role="button" tabindex="0" class="myus-minus unselectable">-</span><span class="myus-counter unselectable">1</span><span role="button" tabindex="-1" class="myus-plus unselectable">+</span></div></div></div></div><div><div class="button-container " style="padding: 3px;"><div role="button" tabindex="0" class="width myus-custom-button add-to-cart-button"><span>Add to Cart</span></div></div></div></div></div></div></div><div class="is-hidden"><div class="custom-form-group undefined"><label class="is-hidden" for="Quantity">:</label><input name="Quantity" id="Quantity" type="hidden" label="Quantity" title="Quantity" placeholder="Quantity" class="" value="1"></div></div></form></div></div></div></div></div></div><div></div></div></div></div></div>
107
<div id="summary">
108
  <h1>MultipleObjectsReturned
109
       at /subject/subject_dashboard/B142-040991124-4/</h1>
110
  <pre class="exception_value">get() returned more than one TbAdolEligibility -- it returned 3!</pre>
111
  <table class="meta">
112

    
113
    <tbody><tr>
114
      <th>Request Method:</th>
115
      <td>GET</td>
116
    </tr>
117
    <tr>
118
      <th>Request URL:</th>
119
      <td>http://127.0.0.1:9000/subject/subject_dashboard/B142-040991124-4/</td>
120
    </tr>
121

    
122
    <tr>
123
      <th>Django Version:</th>
124
      <td>3.1.4</td>
125
    </tr>
126

    
127
    <tr>
128
      <th>Exception Type:</th>
129
      <td>MultipleObjectsReturned</td>
130
    </tr>
131

    
132

    
133
    <tr>
134
      <th>Exception Value:</th>
135
      <td><pre>get() returned more than one TbAdolEligibility -- it returned 3!</pre></td>
136
    </tr>
137

    
138

    
139
    <tr>
140
      <th>Exception Location:</th>
141
      <td><span class="fname">/home/flourish/.venvs/flourish/lib/python3.8/site-packages/django/db/models/query.py</span>, line 433, in get</td>
142
    </tr>
143

    
144
    <tr>
145
      <th>Python Executable:</th>
146
      <td>/home/flourish/.venvs/flourish/bin/python3.8</td>
147
    </tr>
148
    <tr>
149
      <th>Python Version:</th>
150
      <td>3.8.0</td>
151
    </tr>
152
    <tr>
153
      <th>Python Path:</th>
154
      <td><pre>['/home/flourish/source/flourish',
155
 '/home/flourish/.venvs/flourish/lib/python3.8/site-packages/git/ext/gitdb',
156
 '/home/flourish/source/flourish',
157
 '/home/flourish/.venvs/flourish/bin',
158
 '/usr/lib/python38.zip',
159
 '/usr/lib/python3.8',
160
 '/usr/lib/python3.8/lib-dynload',
161
 '/home/flourish/.venvs/flourish/lib/python3.8/site-packages',
162
 '/home/flourish/.venvs/flourish/lib/python3.8/site-packages/gitdb/ext/smmap']</pre></td>
163
    </tr>
164
    <tr>
165
      <th>Server time:</th>
166
      <td>Tue, 27 Jun 2023 13:45:12 +0200</td>
167
    </tr>
168
  </tbody></table>
169
</div>
170

    
171

    
172

    
173

    
174
<div id="traceback">
175
  <h2>Traceback <span class="commands"><a href="http://flourish-dev.bhp.org.bw/subject/subject_dashboard/B142-040991124-4/#" onclick="return switchPastebinFriendly(this);">
176
    Switch to copy-and-paste view</a></span>
177
  </h2>
178
  <div id="browserTraceback">
179
    <ul class="traceback">
180
      
181
        
182
        <li class="frame django">
183
          <code class="fname">/home/flourish/.venvs/flourish/lib/python3.8/site-packages/django/core/handlers/exception.py</code>, line 47, in inner
184

    
185
          
186
            <div class="context" id="c140609299273088">
187
              
188
                <ol start="40" class="pre-context" id="pre140609299273088" style="display: none;">
189
                
190
                  <li onclick="toggle(&#39;pre140609299273088&#39;, &#39;post140609299273088&#39;)"><pre>                response = await sync_to_async(response_for_exception, thread_sensitive=False)(request, exc)</pre></li>
191
                
192
                  <li onclick="toggle(&#39;pre140609299273088&#39;, &#39;post140609299273088&#39;)"><pre>            return response</pre></li>
193
                
194
                  <li onclick="toggle(&#39;pre140609299273088&#39;, &#39;post140609299273088&#39;)"><pre>        return inner</pre></li>
195
                
196
                  <li onclick="toggle(&#39;pre140609299273088&#39;, &#39;post140609299273088&#39;)"><pre>    else:</pre></li>
197
                
198
                  <li onclick="toggle(&#39;pre140609299273088&#39;, &#39;post140609299273088&#39;)"><pre>        @wraps(get_response)</pre></li>
199
                
200
                  <li onclick="toggle(&#39;pre140609299273088&#39;, &#39;post140609299273088&#39;)"><pre>        def inner(request):</pre></li>
201
                
202
                  <li onclick="toggle(&#39;pre140609299273088&#39;, &#39;post140609299273088&#39;)"><pre>            try:</pre></li>
203
                
204
                </ol>
205
              
206
              <ol start="47" class="context-line">
207
                <li onclick="toggle(&#39;pre140609299273088&#39;, &#39;post140609299273088&#39;)"><pre>                response = get_response(request)</pre> <span>…</span></li>
208
              </ol>
209
              
210
                <ol start="48" class="post-context" id="post140609299273088" style="display: none;">
211
                  
212
                  <li onclick="toggle(&#39;pre140609299273088&#39;, &#39;post140609299273088&#39;)"><pre>            except Exception as exc:</pre></li>
213
                  
214
                  <li onclick="toggle(&#39;pre140609299273088&#39;, &#39;post140609299273088&#39;)"><pre>                response = response_for_exception(request, exc)</pre></li>
215
                  
216
                  <li onclick="toggle(&#39;pre140609299273088&#39;, &#39;post140609299273088&#39;)"><pre>            return response</pre></li>
217
                  
218
                  <li onclick="toggle(&#39;pre140609299273088&#39;, &#39;post140609299273088&#39;)"><pre>        return inner</pre></li>
219
                  
220
                  <li onclick="toggle(&#39;pre140609299273088&#39;, &#39;post140609299273088&#39;)"><pre></pre></li>
221
                  
222
                  <li onclick="toggle(&#39;pre140609299273088&#39;, &#39;post140609299273088&#39;)"><pre></pre></li>
223
                  
224
              </ol>
225
              
226
            </div>
227
          
228

    
229
          
230
            <div class="commands">
231
                
232
                    <a href="http://flourish-dev.bhp.org.bw/subject/subject_dashboard/B142-040991124-4/#" onclick="return varToggle(this, &#39;140609299273088&#39;)"><span>â–¶</span> Local vars</a>
233
                
234
            </div>
235
            <table class="vars" id="v140609299273088" style="display: none;">
236
              <thead>
237
                <tr>
238
                  <th>Variable</th>
239
                  <th>Value</th>
240
                </tr>
241
              </thead>
242
              <tbody>
243
                
244
                  <tr>
245
                    <td>exc</td>
246
                    <td class="code"><pre>MultipleObjectsReturned('get() returned more than one TbAdolEligibility -- it returned 3!')</pre></td>
247
                  </tr>
248
                
249
                  <tr>
250
                    <td>get_response</td>
251
                    <td class="code"><pre>&lt;bound method BaseHandler._get_response of &lt;django.core.handlers.wsgi.WSGIHandler object at 0x7fe2313f8850&gt;&gt;</pre></td>
252
                  </tr>
253
                
254
                  <tr>
255
                    <td>request</td>
256
                    <td class="code"><pre>&lt;WSGIRequest: GET '/subject/subject_dashboard/B142-040991124-4/'&gt;</pre></td>
257
                  </tr>
258
                
259
              </tbody>
260
            </table>
261
          
262
        </li>
263
      
264
        
265
        <li class="frame django">
266
          <code class="fname">/home/flourish/.venvs/flourish/lib/python3.8/site-packages/django/core/handlers/base.py</code>, line 179, in _get_response
267

    
268
          
269
            <div class="context" id="c140609299273024">
270
              
271
                <ol start="172" class="pre-context" id="pre140609299273024" style="display: none;">
272
                
273
                  <li onclick="toggle(&#39;pre140609299273024&#39;, &#39;post140609299273024&#39;)"><pre></pre></li>
274
                
275
                  <li onclick="toggle(&#39;pre140609299273024&#39;, &#39;post140609299273024&#39;)"><pre>        if response is None:</pre></li>
276
                
277
                  <li onclick="toggle(&#39;pre140609299273024&#39;, &#39;post140609299273024&#39;)"><pre>            wrapped_callback = self.make_view_atomic(callback)</pre></li>
278
                
279
                  <li onclick="toggle(&#39;pre140609299273024&#39;, &#39;post140609299273024&#39;)"><pre>            # If it is an asynchronous view, run it in a subthread.</pre></li>
280
                
281
                  <li onclick="toggle(&#39;pre140609299273024&#39;, &#39;post140609299273024&#39;)"><pre>            if asyncio.iscoroutinefunction(wrapped_callback):</pre></li>
282
                
283
                  <li onclick="toggle(&#39;pre140609299273024&#39;, &#39;post140609299273024&#39;)"><pre>                wrapped_callback = async_to_sync(wrapped_callback)</pre></li>
284
                
285
                  <li onclick="toggle(&#39;pre140609299273024&#39;, &#39;post140609299273024&#39;)"><pre>            try:</pre></li>
286
                
287
                </ol>
288
              
289
              <ol start="179" class="context-line">
290
                <li onclick="toggle(&#39;pre140609299273024&#39;, &#39;post140609299273024&#39;)"><pre>                response = wrapped_callback(request, *callback_args, **callback_kwargs)</pre> <span>…</span></li>
291
              </ol>
292
              
293
                <ol start="180" class="post-context" id="post140609299273024" style="display: none;">
294
                  
295
                  <li onclick="toggle(&#39;pre140609299273024&#39;, &#39;post140609299273024&#39;)"><pre>            except Exception as e:</pre></li>
296
                  
297
                  <li onclick="toggle(&#39;pre140609299273024&#39;, &#39;post140609299273024&#39;)"><pre>                response = self.process_exception_by_middleware(e, request)</pre></li>
298
                  
299
                  <li onclick="toggle(&#39;pre140609299273024&#39;, &#39;post140609299273024&#39;)"><pre>                if response is None:</pre></li>
300
                  
301
                  <li onclick="toggle(&#39;pre140609299273024&#39;, &#39;post140609299273024&#39;)"><pre>                    raise</pre></li>
302
                  
303
                  <li onclick="toggle(&#39;pre140609299273024&#39;, &#39;post140609299273024&#39;)"><pre></pre></li>
304
                  
305
                  <li onclick="toggle(&#39;pre140609299273024&#39;, &#39;post140609299273024&#39;)"><pre>        # Complain if the view returned None (a common error).</pre></li>
306
                  
307
              </ol>
308
              
309
            </div>
310
          
311

    
312
          
313
            <div class="commands">
314
                
315
                    <a href="http://flourish-dev.bhp.org.bw/subject/subject_dashboard/B142-040991124-4/#" onclick="return varToggle(this, &#39;140609299273024&#39;)"><span>â–¶</span> Local vars</a>
316
                
317
            </div>
318
            <table class="vars" id="v140609299273024" style="display: none;">
319
              <thead>
320
                <tr>
321
                  <th>Variable</th>
322
                  <th>Value</th>
323
                </tr>
324
              </thead>
325
              <tbody>
326
                
327
                  <tr>
328
                    <td>callback</td>
329
                    <td class="code"><pre>&lt;function DashboardView at 0x7fe229089ee0&gt;</pre></td>
330
                  </tr>
331
                
332
                  <tr>
333
                    <td>callback_args</td>
334
                    <td class="code"><pre>()</pre></td>
335
                  </tr>
336
                
337
                  <tr>
338
                    <td>callback_kwargs</td>
339
                    <td class="code"><pre>{'subject_identifier': 'B142-040991124-4'}</pre></td>
340
                  </tr>
341
                
342
                  <tr>
343
                    <td>middleware_method</td>
344
                    <td class="code"><pre>&lt;bound method DashboardMiddleware.process_view of &lt;edc_subject_dashboard.middleware.DashboardMiddleware object at 0x7fe227a566a0&gt;&gt;</pre></td>
345
                  </tr>
346
                
347
                  <tr>
348
                    <td>request</td>
349
                    <td class="code"><pre>&lt;WSGIRequest: GET '/subject/subject_dashboard/B142-040991124-4/'&gt;</pre></td>
350
                  </tr>
351
                
352
                  <tr>
353
                    <td>response</td>
354
                    <td class="code"><pre>None</pre></td>
355
                  </tr>
356
                
357
                  <tr>
358
                    <td>self</td>
359
                    <td class="code"><pre>&lt;django.core.handlers.wsgi.WSGIHandler object at 0x7fe2313f8850&gt;</pre></td>
360
                  </tr>
361
                
362
                  <tr>
363
                    <td>wrapped_callback</td>
364
                    <td class="code"><pre>&lt;function DashboardView at 0x7fe229089ee0&gt;</pre></td>
365
                  </tr>
366
                
367
              </tbody>
368
            </table>
369
          
370
        </li>
371
      
372
        
373
        <li class="frame django">
374
          <code class="fname">/home/flourish/.venvs/flourish/lib/python3.8/site-packages/django/views/generic/base.py</code>, line 70, in view
375

    
376
          
377
            <div class="context" id="c140609299272960">
378
              
379
                <ol start="63" class="pre-context" id="pre140609299272960" style="display: none;">
380
                
381
                  <li onclick="toggle(&#39;pre140609299272960&#39;, &#39;post140609299272960&#39;)"><pre>            self = cls(**initkwargs)</pre></li>
382
                
383
                  <li onclick="toggle(&#39;pre140609299272960&#39;, &#39;post140609299272960&#39;)"><pre>            self.setup(request, *args, **kwargs)</pre></li>
384
                
385
                  <li onclick="toggle(&#39;pre140609299272960&#39;, &#39;post140609299272960&#39;)"><pre>            if not hasattr(self, 'request'):</pre></li>
386
                
387
                  <li onclick="toggle(&#39;pre140609299272960&#39;, &#39;post140609299272960&#39;)"><pre>                raise AttributeError(</pre></li>
388
                
389
                  <li onclick="toggle(&#39;pre140609299272960&#39;, &#39;post140609299272960&#39;)"><pre>                    "%s instance has no 'request' attribute. Did you override "</pre></li>
390
                
391
                  <li onclick="toggle(&#39;pre140609299272960&#39;, &#39;post140609299272960&#39;)"><pre>                    "setup() and forget to call super()?" % cls.__name__</pre></li>
392
                
393
                  <li onclick="toggle(&#39;pre140609299272960&#39;, &#39;post140609299272960&#39;)"><pre>                )</pre></li>
394
                
395
                </ol>
396
              
397
              <ol start="70" class="context-line">
398
                <li onclick="toggle(&#39;pre140609299272960&#39;, &#39;post140609299272960&#39;)"><pre>            return self.dispatch(request, *args, **kwargs)</pre> <span>…</span></li>
399
              </ol>
400
              
401
                <ol start="71" class="post-context" id="post140609299272960" style="display: none;">
402
                  
403
                  <li onclick="toggle(&#39;pre140609299272960&#39;, &#39;post140609299272960&#39;)"><pre>        view.view_class = cls</pre></li>
404
                  
405
                  <li onclick="toggle(&#39;pre140609299272960&#39;, &#39;post140609299272960&#39;)"><pre>        view.view_initkwargs = initkwargs</pre></li>
406
                  
407
                  <li onclick="toggle(&#39;pre140609299272960&#39;, &#39;post140609299272960&#39;)"><pre></pre></li>
408
                  
409
                  <li onclick="toggle(&#39;pre140609299272960&#39;, &#39;post140609299272960&#39;)"><pre>        # take name and docstring from class</pre></li>
410
                  
411
                  <li onclick="toggle(&#39;pre140609299272960&#39;, &#39;post140609299272960&#39;)"><pre>        update_wrapper(view, cls, updated=())</pre></li>
412
                  
413
                  <li onclick="toggle(&#39;pre140609299272960&#39;, &#39;post140609299272960&#39;)"><pre></pre></li>
414
                  
415
              </ol>
416
              
417
            </div>
418
          
419

    
420
          
421
            <div class="commands">
422
                
423
                    <a href="http://flourish-dev.bhp.org.bw/subject/subject_dashboard/B142-040991124-4/#" onclick="return varToggle(this, &#39;140609299272960&#39;)"><span>â–¶</span> Local vars</a>
424
                
425
            </div>
426
            <table class="vars" id="v140609299272960" style="display: none;">
427
              <thead>
428
                <tr>
429
                  <th>Variable</th>
430
                  <th>Value</th>
431
                </tr>
432
              </thead>
433
              <tbody>
434
                
435
                  <tr>
436
                    <td>args</td>
437
                    <td class="code"><pre>()</pre></td>
438
                  </tr>
439
                
440
                  <tr>
441
                    <td>cls</td>
442
                    <td class="code"><pre>&lt;class 'flourish_dashboard.views.maternal_subject.dashboard.dashboard_view.DashboardView'&gt;</pre></td>
443
                  </tr>
444
                
445
                  <tr>
446
                    <td>initkwargs</td>
447
                    <td class="code"><pre>{}</pre></td>
448
                  </tr>
449
                
450
                  <tr>
451
                    <td>kwargs</td>
452
                    <td class="code"><pre>{'subject_identifier': 'B142-040991124-4'}</pre></td>
453
                  </tr>
454
                
455
                  <tr>
456
                    <td>request</td>
457
                    <td class="code"><pre>&lt;WSGIRequest: GET '/subject/subject_dashboard/B142-040991124-4/'&gt;</pre></td>
458
                  </tr>
459
                
460
                  <tr>
461
                    <td>self</td>
462
                    <td class="code"><pre>&lt;flourish_dashboard.views.maternal_subject.dashboard.dashboard_view.DashboardView object at 0x7fe2278fe7f0&gt;</pre></td>
463
                  </tr>
464
                
465
              </tbody>
466
            </table>
467
          
468
        </li>
469
      
470
        
471
        <li class="frame django">
472
          <code class="fname">/home/flourish/.venvs/flourish/lib/python3.8/site-packages/django/contrib/auth/mixins.py</code>, line 52, in dispatch
473

    
474
          
475
            <div class="context" id="c140609299254592">
476
              
477
                <ol start="45" class="pre-context" id="pre140609299254592" style="display: none;">
478
                
479
                  <li onclick="toggle(&#39;pre140609299254592&#39;, &#39;post140609299254592&#39;)"><pre></pre></li>
480
                
481
                  <li onclick="toggle(&#39;pre140609299254592&#39;, &#39;post140609299254592&#39;)"><pre></pre></li>
482
                
483
                  <li onclick="toggle(&#39;pre140609299254592&#39;, &#39;post140609299254592&#39;)"><pre>class LoginRequiredMixin(AccessMixin):</pre></li>
484
                
485
                  <li onclick="toggle(&#39;pre140609299254592&#39;, &#39;post140609299254592&#39;)"><pre>    """Verify that the current user is authenticated."""</pre></li>
486
                
487
                  <li onclick="toggle(&#39;pre140609299254592&#39;, &#39;post140609299254592&#39;)"><pre>    def dispatch(self, request, *args, **kwargs):</pre></li>
488
                
489
                  <li onclick="toggle(&#39;pre140609299254592&#39;, &#39;post140609299254592&#39;)"><pre>        if not request.user.is_authenticated:</pre></li>
490
                
491
                  <li onclick="toggle(&#39;pre140609299254592&#39;, &#39;post140609299254592&#39;)"><pre>            return self.handle_no_permission()</pre></li>
492
                
493
                </ol>
494
              
495
              <ol start="52" class="context-line">
496
                <li onclick="toggle(&#39;pre140609299254592&#39;, &#39;post140609299254592&#39;)"><pre>        return super().dispatch(request, *args, **kwargs)</pre> <span>…</span></li>
497
              </ol>
498
              
499
                <ol start="53" class="post-context" id="post140609299254592" style="display: none;">
500
                  
501
                  <li onclick="toggle(&#39;pre140609299254592&#39;, &#39;post140609299254592&#39;)"><pre></pre></li>
502
                  
503
                  <li onclick="toggle(&#39;pre140609299254592&#39;, &#39;post140609299254592&#39;)"><pre></pre></li>
504
                  
505
                  <li onclick="toggle(&#39;pre140609299254592&#39;, &#39;post140609299254592&#39;)"><pre>class PermissionRequiredMixin(AccessMixin):</pre></li>
506
                  
507
                  <li onclick="toggle(&#39;pre140609299254592&#39;, &#39;post140609299254592&#39;)"><pre>    """Verify that the current user has all specified permissions."""</pre></li>
508
                  
509
                  <li onclick="toggle(&#39;pre140609299254592&#39;, &#39;post140609299254592&#39;)"><pre>    permission_required = None</pre></li>
510
                  
511
                  <li onclick="toggle(&#39;pre140609299254592&#39;, &#39;post140609299254592&#39;)"><pre></pre></li>
512
                  
513
              </ol>
514
              
515
            </div>
516
          
517

    
518
          
519
            <div class="commands">
520
                
521
                    <a href="http://flourish-dev.bhp.org.bw/subject/subject_dashboard/B142-040991124-4/#" onclick="return varToggle(this, &#39;140609299254592&#39;)"><span>â–¶</span> Local vars</a>
522
                
523
            </div>
524
            <table class="vars" id="v140609299254592" style="display: none;">
525
              <thead>
526
                <tr>
527
                  <th>Variable</th>
528
                  <th>Value</th>
529
                </tr>
530
              </thead>
531
              <tbody>
532
                
533
                  <tr>
534
                    <td>__class__</td>
535
                    <td class="code"><pre>&lt;class 'django.contrib.auth.mixins.LoginRequiredMixin'&gt;</pre></td>
536
                  </tr>
537
                
538
                  <tr>
539
                    <td>args</td>
540
                    <td class="code"><pre>()</pre></td>
541
                  </tr>
542
                
543
                  <tr>
544
                    <td>kwargs</td>
545
                    <td class="code"><pre>{'subject_identifier': 'B142-040991124-4'}</pre></td>
546
                  </tr>
547
                
548
                  <tr>
549
                    <td>request</td>
550
                    <td class="code"><pre>&lt;WSGIRequest: GET '/subject/subject_dashboard/B142-040991124-4/'&gt;</pre></td>
551
                  </tr>
552
                
553
                  <tr>
554
                    <td>self</td>
555
                    <td class="code"><pre>&lt;flourish_dashboard.views.maternal_subject.dashboard.dashboard_view.DashboardView object at 0x7fe2278fe7f0&gt;</pre></td>
556
                  </tr>
557
                
558
              </tbody>
559
            </table>
560
          
561
        </li>
562
      
563
        
564
        <li class="frame django">
565
          <code class="fname">/home/flourish/.venvs/flourish/lib/python3.8/site-packages/django/views/generic/base.py</code>, line 98, in dispatch
566

    
567
          
568
            <div class="context" id="c140609299252608">
569
              
570
                <ol start="91" class="pre-context" id="pre140609299252608" style="display: none;">
571
                
572
                  <li onclick="toggle(&#39;pre140609299252608&#39;, &#39;post140609299252608&#39;)"><pre>        # Try to dispatch to the right method; if a method doesn't exist,</pre></li>
573
                
574
                  <li onclick="toggle(&#39;pre140609299252608&#39;, &#39;post140609299252608&#39;)"><pre>        # defer to the error handler. Also defer to the error handler if the</pre></li>
575
                
576
                  <li onclick="toggle(&#39;pre140609299252608&#39;, &#39;post140609299252608&#39;)"><pre>        # request method isn't on the approved list.</pre></li>
577
                
578
                  <li onclick="toggle(&#39;pre140609299252608&#39;, &#39;post140609299252608&#39;)"><pre>        if request.method.lower() in self.http_method_names:</pre></li>
579
                
580
                  <li onclick="toggle(&#39;pre140609299252608&#39;, &#39;post140609299252608&#39;)"><pre>            handler = getattr(self, request.method.lower(), self.http_method_not_allowed)</pre></li>
581
                
582
                  <li onclick="toggle(&#39;pre140609299252608&#39;, &#39;post140609299252608&#39;)"><pre>        else:</pre></li>
583
                
584
                  <li onclick="toggle(&#39;pre140609299252608&#39;, &#39;post140609299252608&#39;)"><pre>            handler = self.http_method_not_allowed</pre></li>
585
                
586
                </ol>
587
              
588
              <ol start="98" class="context-line">
589
                <li onclick="toggle(&#39;pre140609299252608&#39;, &#39;post140609299252608&#39;)"><pre>        return handler(request, *args, **kwargs)</pre> <span>…</span></li>
590
              </ol>
591
              
592
                <ol start="99" class="post-context" id="post140609299252608" style="display: none;">
593
                  
594
                  <li onclick="toggle(&#39;pre140609299252608&#39;, &#39;post140609299252608&#39;)"><pre></pre></li>
595
                  
596
                  <li onclick="toggle(&#39;pre140609299252608&#39;, &#39;post140609299252608&#39;)"><pre>    def http_method_not_allowed(self, request, *args, **kwargs):</pre></li>
597
                  
598
                  <li onclick="toggle(&#39;pre140609299252608&#39;, &#39;post140609299252608&#39;)"><pre>        logger.warning(</pre></li>
599
                  
600
                  <li onclick="toggle(&#39;pre140609299252608&#39;, &#39;post140609299252608&#39;)"><pre>            'Method Not Allowed (%s): %s', request.method, request.path,</pre></li>
601
                  
602
                  <li onclick="toggle(&#39;pre140609299252608&#39;, &#39;post140609299252608&#39;)"><pre>            extra={'status_code': 405, 'request': request}</pre></li>
603
                  
604
                  <li onclick="toggle(&#39;pre140609299252608&#39;, &#39;post140609299252608&#39;)"><pre>        )</pre></li>
605
                  
606
              </ol>
607
              
608
            </div>
609
          
610

    
611
          
612
            <div class="commands">
613
                
614
                    <a href="http://flourish-dev.bhp.org.bw/subject/subject_dashboard/B142-040991124-4/#" onclick="return varToggle(this, &#39;140609299252608&#39;)"><span>â–¶</span> Local vars</a>
615
                
616
            </div>
617
            <table class="vars" id="v140609299252608" style="display: none;">
618
              <thead>
619
                <tr>
620
                  <th>Variable</th>
621
                  <th>Value</th>
622
                </tr>
623
              </thead>
624
              <tbody>
625
                
626
                  <tr>
627
                    <td>args</td>
628
                    <td class="code"><pre>()</pre></td>
629
                  </tr>
630
                
631
                  <tr>
632
                    <td>handler</td>
633
                    <td class="code"><pre>&lt;bound method TemplateView.get of &lt;flourish_dashboard.views.maternal_subject.dashboard.dashboard_view.DashboardView object at 0x7fe2278fe7f0&gt;&gt;</pre></td>
634
                  </tr>
635
                
636
                  <tr>
637
                    <td>kwargs</td>
638
                    <td class="code"><pre>{'subject_identifier': 'B142-040991124-4'}</pre></td>
639
                  </tr>
640
                
641
                  <tr>
642
                    <td>request</td>
643
                    <td class="code"><pre>&lt;WSGIRequest: GET '/subject/subject_dashboard/B142-040991124-4/'&gt;</pre></td>
644
                  </tr>
645
                
646
                  <tr>
647
                    <td>self</td>
648
                    <td class="code"><pre>&lt;flourish_dashboard.views.maternal_subject.dashboard.dashboard_view.DashboardView object at 0x7fe2278fe7f0&gt;</pre></td>
649
                  </tr>
650
                
651
              </tbody>
652
            </table>
653
          
654
        </li>
655
      
656
        
657
        <li class="frame django">
658
          <code class="fname">/home/flourish/.venvs/flourish/lib/python3.8/site-packages/django/views/generic/base.py</code>, line 159, in get
659

    
660
          
661
            <div class="context" id="c140609299251968">
662
              
663
                <ol start="152" class="pre-context" id="pre140609299251968" style="display: none;">
664
                
665
                  <li onclick="toggle(&#39;pre140609299251968&#39;, &#39;post140609299251968&#39;)"><pre></pre></li>
666
                
667
                  <li onclick="toggle(&#39;pre140609299251968&#39;, &#39;post140609299251968&#39;)"><pre></pre></li>
668
                
669
                  <li onclick="toggle(&#39;pre140609299251968&#39;, &#39;post140609299251968&#39;)"><pre>class TemplateView(TemplateResponseMixin, ContextMixin, View):</pre></li>
670
                
671
                  <li onclick="toggle(&#39;pre140609299251968&#39;, &#39;post140609299251968&#39;)"><pre>    """</pre></li>
672
                
673
                  <li onclick="toggle(&#39;pre140609299251968&#39;, &#39;post140609299251968&#39;)"><pre>    Render a template. Pass keyword arguments from the URLconf to the context.</pre></li>
674
                
675
                  <li onclick="toggle(&#39;pre140609299251968&#39;, &#39;post140609299251968&#39;)"><pre>    """</pre></li>
676
                
677
                  <li onclick="toggle(&#39;pre140609299251968&#39;, &#39;post140609299251968&#39;)"><pre>    def get(self, request, *args, **kwargs):</pre></li>
678
                
679
                </ol>
680
              
681
              <ol start="159" class="context-line">
682
                <li onclick="toggle(&#39;pre140609299251968&#39;, &#39;post140609299251968&#39;)"><pre>        context = self.get_context_data(**kwargs)</pre> <span>…</span></li>
683
              </ol>
684
              
685
                <ol start="160" class="post-context" id="post140609299251968" style="display: none;">
686
                  
687
                  <li onclick="toggle(&#39;pre140609299251968&#39;, &#39;post140609299251968&#39;)"><pre>        return self.render_to_response(context)</pre></li>
688
                  
689
                  <li onclick="toggle(&#39;pre140609299251968&#39;, &#39;post140609299251968&#39;)"><pre></pre></li>
690
                  
691
                  <li onclick="toggle(&#39;pre140609299251968&#39;, &#39;post140609299251968&#39;)"><pre></pre></li>
692
                  
693
                  <li onclick="toggle(&#39;pre140609299251968&#39;, &#39;post140609299251968&#39;)"><pre>class RedirectView(View):</pre></li>
694
                  
695
                  <li onclick="toggle(&#39;pre140609299251968&#39;, &#39;post140609299251968&#39;)"><pre>    """Provide a redirect on any GET request."""</pre></li>
696
                  
697
                  <li onclick="toggle(&#39;pre140609299251968&#39;, &#39;post140609299251968&#39;)"><pre>    permanent = False</pre></li>
698
                  
699
              </ol>
700
              
701
            </div>
702
          
703

    
704
          
705
            <div class="commands">
706
                
707
                    <a href="http://flourish-dev.bhp.org.bw/subject/subject_dashboard/B142-040991124-4/#" onclick="return varToggle(this, &#39;140609299251968&#39;)"><span>â–¶</span> Local vars</a>
708
                
709
            </div>
710
            <table class="vars" id="v140609299251968" style="display: none;">
711
              <thead>
712
                <tr>
713
                  <th>Variable</th>
714
                  <th>Value</th>
715
                </tr>
716
              </thead>
717
              <tbody>
718
                
719
                  <tr>
720
                    <td>args</td>
721
                    <td class="code"><pre>()</pre></td>
722
                  </tr>
723
                
724
                  <tr>
725
                    <td>kwargs</td>
726
                    <td class="code"><pre>{'subject_identifier': 'B142-040991124-4'}</pre></td>
727
                  </tr>
728
                
729
                  <tr>
730
                    <td>request</td>
731
                    <td class="code"><pre>&lt;WSGIRequest: GET '/subject/subject_dashboard/B142-040991124-4/'&gt;</pre></td>
732
                  </tr>
733
                
734
                  <tr>
735
                    <td>self</td>
736
                    <td class="code"><pre>&lt;flourish_dashboard.views.maternal_subject.dashboard.dashboard_view.DashboardView object at 0x7fe2278fe7f0&gt;</pre></td>
737
                  </tr>
738
                
739
              </tbody>
740
            </table>
741
          
742
        </li>
743
      
744
        
745
        <li class="frame user">
746
          <code class="fname">/home/flourish/.venvs/flourish/lib/python3.8/site-packages/flourish_dashboard/views/maternal_subject/dashboard/dashboard_view.py</code>, line 307, in get_context_data
747

    
748
          
749
            <div class="context" id="c140609299254272">
750
              
751
                <ol start="300" class="pre-context" id="pre140609299254272" style="display: none;">
752
                
753
                  <li onclick="toggle(&#39;pre140609299254272&#39;, &#39;post140609299254272&#39;)"><pre></pre></li>
754
                
755
                  <li onclick="toggle(&#39;pre140609299254272&#39;, &#39;post140609299254272&#39;)"><pre>        locator_obj = self.get_locator_info()</pre></li>
756
                
757
                  <li onclick="toggle(&#39;pre140609299254272&#39;, &#39;post140609299254272&#39;)"><pre></pre></li>
758
                
759
                  <li onclick="toggle(&#39;pre140609299254272&#39;, &#39;post140609299254272&#39;)"><pre>        offstudy_cls_model = self.consent_wrapped.caregiver_offstudy</pre></li>
760
                
761
                  <li onclick="toggle(&#39;pre140609299254272&#39;, &#39;post140609299254272&#39;)"><pre></pre></li>
762
                
763
                  <li onclick="toggle(&#39;pre140609299254272&#39;, &#39;post140609299254272&#39;)"><pre>        tb_eligibility = self.tb_eligibility</pre></li>
764
                
765
                  <li onclick="toggle(&#39;pre140609299254272&#39;, &#39;post140609299254272&#39;)"><pre></pre></li>
766
                
767
                </ol>
768
              
769
              <ol start="307" class="context-line">
770
                <li onclick="toggle(&#39;pre140609299254272&#39;, &#39;post140609299254272&#39;)"><pre>        tb_adol_eligibility = self.consent_wrapped.tb_adol_eligibility</pre> <span>…</span></li>
771
              </ol>
772
              
773
                <ol start="308" class="post-context" id="post140609299254272" style="display: none;">
774
                  
775
                  <li onclick="toggle(&#39;pre140609299254272&#39;, &#39;post140609299254272&#39;)"><pre></pre></li>
776
                  
777
                  <li onclick="toggle(&#39;pre140609299254272&#39;, &#39;post140609299254272&#39;)"><pre>        context.update(</pre></li>
778
                  
779
                  <li onclick="toggle(&#39;pre140609299254272&#39;, &#39;post140609299254272&#39;)"><pre>            locator_obj=locator_obj,</pre></li>
780
                  
781
                  <li onclick="toggle(&#39;pre140609299254272&#39;, &#39;post140609299254272&#39;)"><pre>            schedule_names=[model.schedule_name for model in</pre></li>
782
                  
783
                  <li onclick="toggle(&#39;pre140609299254272&#39;, &#39;post140609299254272&#39;)"><pre>                            self.onschedule_models],</pre></li>
784
                  
785
                  <li onclick="toggle(&#39;pre140609299254272&#39;, &#39;post140609299254272&#39;)"><pre>            cohorts=self.get_cohorts,</pre></li>
786
                  
787
              </ol>
788
              
789
            </div>
790
          
791

    
792
          
793
            <div class="commands">
794
                
795
                    <a href="http://flourish-dev.bhp.org.bw/subject/subject_dashboard/B142-040991124-4/#" onclick="return varToggle(this, &#39;140609299254272&#39;)"><span>â–¶</span> Local vars</a>
796
                
797
            </div>
798
            <table class="vars" id="v140609299254272" style="display: none;">
799
              <thead>
800
                <tr>
801
                  <th>Variable</th>
802
                  <th>Value</th>
803
                </tr>
804
              </thead>
805
              <tbody>
806
                
807
                  <tr>
808
                    <td>__class__</td>
809
                    <td class="code"><pre>&lt;class 'flourish_dashboard.views.maternal_subject.dashboard.dashboard_view.DashboardView'&gt;</pre></td>
810
                  </tr>
811
                
812
                  <tr>
813
                    <td>caregiver_offstudy_cls</td>
814
                    <td class="code"><pre>&lt;class 'flourish_prn.models.caregiver_off_study.CaregiverOffStudy'&gt;</pre></td>
815
                  </tr>
816
                
817
                  <tr>
818
                    <td>caregiver_visit_cls</td>
819
                    <td class="code"><pre>&lt;class 'flourish_caregiver.models.maternal_visit.MaternalVisit'&gt;</pre></td>
820
                  </tr>
821
                
822
                  <tr>
823
                    <td>context</td>
824
                    <td class="code"><pre>{'COMPLETE_APPT': 'done',
825
 'DEBUG': True,
826
 'INCOMPLETE_APPT': 'incomplete',
827
 'IN_PROGRESS_APPT': 'in_progress',
828
 'NEW_APPT': 'new',
829
 'appointment': None,
830
 'appointments': [AppointmentModelWrapper(2000M.0 id=12eb2eaf-562b-4798-9929-c0313de651dc)],
831
 'consent': SubjectConsentModelWrapper(B142-040991124-4 V1 id=None),
832
 'consent_object': &lt;Consent(flourish_caregiver.subjectconsent, 1) from 2020-07-01 00:00:00+00:00 to 2025-06-30 23:59:59+00:00&gt;,
833
 'consents': &lt;generator object DashboardView.consents_wrapped.&lt;locals&gt;.&lt;genexpr&gt; at 0x7fe2276dd740&gt;,
834
 'copyright': '2010-2023',
835
 'current_onschedule_model': &lt;OnScheduleCohortCSec: B142-040991124-4 2023-06-15&gt;,
836
 'current_schedule': Schedule(c_sec1_schedule1),
837
 'current_visit_schedule': VisitSchedule('c1_visit_schedule1'),
838
 'dashboard_url_name': 'flourish_dashboard:subject_dashboard_url',
839
 'data_action_item_add_url': '/admin/edc_data_manager/dataactionitem/add/?next=flourish_dashboard:subject_dashboard_url,subject_identifier&amp;subject_identifier=B142-040991124-4&amp;',
840
 'data_action_item_template': 'flourish_dashboard/maternal_subject/dashboard/data_manager.html',
841
 'data_action_items': &lt;bound method DataActionItemsViewMixin.data_action_items of &lt;flourish_dashboard.views.maternal_subject.dashboard.dashboard_view.DashboardView object at 0x7fe2278fe7f0&gt;&gt;,
842
 'default_navbar': Navbar(name=default, items='[NavbarItem(name=home, title=Home, url_name=home_url), NavbarItem(name=administration, title=Administration, url_name=administration_url), NavbarItem(name=logout, title=Logout, url_name=logout)]'),
843
 'default_navbar_name': 'default',
844
 'device_id': '99',
845
 'device_role': 'CentralServer',
846
 'disclaimer': 'For research purposes only.',
847
 'dob': datetime.date(1984, 7, 31),
848
 'firstname': 'ORAPELENG MMANTSHO',
849
 'gender': 'F',
850
 'identity': '600826312',
851
 'infant_birth': None,
852
 'infant_dashboard_include_value': 'flourish_dashboard/maternal_subject/dashboard/infant_dashboard_links.html',
853
 'infant_links': True,
854
 'infant_registered_subject': None,
855
 'infant_subject_dashboard_url': 'child_dashboard_url',
856
 'initials': 'OMN',
857
 'institution': 'Botswana-Harvard AIDS Institute',
858
 'lastname': 'NCHOLOKO',
859
 'license': 'GNU GENERAL PUBLIC LICENSE Version 3',
860
 'live_system': None,
861
 'maternal_dashboard_include_value': None,
862
 'maternal_links': False,
863
 'metadata_show_status': ['REQUIRED', 'KEYED'],
864
 'mother_infant_study': True,
865
 'navbar': Navbar(name=flourish_dashboard, items='[NavbarItem(name=maternal_dataset, title=Maternal Dataset, url_name=flourish_dashboard:maternal_dataset_listboard_url), NavbarItem(name=anc_screening, title=ANC Screening, url_name=flourish_dashboard:maternal_screening_listboard_url), NavbarItem(name=consented_subject, title=Maternal Subjects, url_name=flourish_dashboard:subject_listboard_url), NavbarItem(name=child_subject, title=Child Subjects, url_name=flourish_dashboard:child_listboard_url)]'),
866
 'odk_archive_forms_include_value': 'flourish_dashboard/maternal_subject/dashboard/odk_archives.html',
867
 'onschedule_models': [&lt;OnScheduleCohortCSec: B142-040991124-4 2023-06-15&gt;,
868
                       &lt;OnScheduleCohortCSec: B142-040991124-4 2023-06-15&gt;],
869
 'open_action_items': [],
870
 'project_name': 'Flourish',
871
 'revision': 'no revision info! Check GIT_DIR=/home/flourish/source.',
872
 'scanning': None,
873
 'special_forms_include_value': 'flourish_dashboard/maternal_subject/dashboard/special_forms.html',
874
 'subject_identifier': 'B142-040991124-4',
875
 'subject_locator': CaregiverLocatorModelWrapper(CaregiverLocator object (95180ac4-d073-40c8-845a-99d44ace5389) id=95180ac4-d073-40c8-845a-99d44ace5389),
876
 'view': &lt;flourish_dashboard.views.maternal_subject.dashboard.dashboard_view.DashboardView object at 0x7fe2278fe7f0&gt;,
877
 'visit_schedules': {'c1_visit_schedule1': VisitSchedule('c1_visit_schedule1')},
878
 'wrapped_infant_birth': None}</pre></td>
879
                  </tr>
880
                
881
                  <tr>
882
                    <td>kwargs</td>
883
                    <td class="code"><pre>{'subject_identifier': 'B142-040991124-4'}</pre></td>
884
                  </tr>
885
                
886
                  <tr>
887
                    <td>locator_obj</td>
888
                    <td class="code"><pre>&lt;CaregiverLocator: CaregiverLocator object (95180ac4-d073-40c8-845a-99d44ace5389)&gt;</pre></td>
889
                  </tr>
890
                
891
                  <tr>
892
                    <td>msg</td>
893
                    <td class="code"><pre>'Please complete the TB Off study form to take the subject Off study'</pre></td>
894
                  </tr>
895
                
896
                  <tr>
897
                    <td>offstudy_cls_model</td>
898
                    <td class="code"><pre>CaregiverOffstudyModelWrapper(None 2023-06-27 id=None)</pre></td>
899
                  </tr>
900
                
901
                  <tr>
902
                    <td>offstudy_model_wrapper_cls</td>
903
                    <td class="code"><pre>None</pre></td>
904
                  </tr>
905
                
906
                  <tr>
907
                    <td>self</td>
908
                    <td class="code"><pre>&lt;flourish_dashboard.views.maternal_subject.dashboard.dashboard_view.DashboardView object at 0x7fe2278fe7f0&gt;</pre></td>
909
                  </tr>
910
                
911
                  <tr>
912
                    <td>tb_eligibility</td>
913
                    <td class="code"><pre>False</pre></td>
914
                  </tr>
915
                
916
                  <tr>
917
                    <td>tb_off_study_cls</td>
918
                    <td class="code"><pre>&lt;class 'flourish_caregiver.models.tb_off_study.TbOffStudy'&gt;</pre></td>
919
                  </tr>
920
                
921
              </tbody>
922
            </table>
923
          
924
        </li>
925
      
926
        
927
        <li class="frame user">
928
          <code class="fname">/home/flourish/.venvs/flourish/lib/python3.8/site-packages/flourish_dashboard/model_wrappers/tb_adol_screening_model_wrapper_mixin.py</code>, line 36, in tb_adol_eligibility
929

    
930
          
931
            <div class="context" id="c140609299255232">
932
              
933
                <ol start="29" class="pre-context" id="pre140609299255232" style="display: none;">
934
                
935
                  <li onclick="toggle(&#39;pre140609299255232&#39;, &#39;post140609299255232&#39;)"><pre></pre></li>
936
                
937
                  <li onclick="toggle(&#39;pre140609299255232&#39;, &#39;post140609299255232&#39;)"><pre>    @property</pre></li>
938
                
939
                  <li onclick="toggle(&#39;pre140609299255232&#39;, &#39;post140609299255232&#39;)"><pre>    def tb_adol_screening_cls(self):</pre></li>
940
                
941
                  <li onclick="toggle(&#39;pre140609299255232&#39;, &#39;post140609299255232&#39;)"><pre>        return django_apps.get_model('flourish_caregiver.tbadoleligibility')</pre></li>
942
                
943
                  <li onclick="toggle(&#39;pre140609299255232&#39;, &#39;post140609299255232&#39;)"><pre></pre></li>
944
                
945
                  <li onclick="toggle(&#39;pre140609299255232&#39;, &#39;post140609299255232&#39;)"><pre>    @property</pre></li>
946
                
947
                  <li onclick="toggle(&#39;pre140609299255232&#39;, &#39;post140609299255232&#39;)"><pre>    def tb_adol_eligibility(self):</pre></li>
948
                
949
                </ol>
950
              
951
              <ol start="36" class="context-line">
952
                <li onclick="toggle(&#39;pre140609299255232&#39;, &#39;post140609299255232&#39;)"><pre>        if self.tb_adol_screening_model_obj:</pre> <span>…</span></li>
953
              </ol>
954
              
955
                <ol start="37" class="post-context" id="post140609299255232" style="display: none;">
956
                  
957
                  <li onclick="toggle(&#39;pre140609299255232&#39;, &#39;post140609299255232&#39;)"><pre>            return self.tb_adol_screening_model_obj.tb_adol_participation == YES</pre></li>
958
                  
959
                  <li onclick="toggle(&#39;pre140609299255232&#39;, &#39;post140609299255232&#39;)"><pre></pre></li>
960
                  
961
                  <li onclick="toggle(&#39;pre140609299255232&#39;, &#39;post140609299255232&#39;)"><pre>    @property</pre></li>
962
                  
963
                  <li onclick="toggle(&#39;pre140609299255232&#39;, &#39;post140609299255232&#39;)"><pre>    def create_tb_adol_screening_options(self):</pre></li>
964
                  
965
                  <li onclick="toggle(&#39;pre140609299255232&#39;, &#39;post140609299255232&#39;)"><pre>        """Returns a dictionary of options to create a new</pre></li>
966
                  
967
                  <li onclick="toggle(&#39;pre140609299255232&#39;, &#39;post140609299255232&#39;)"><pre>        unpersisted tb adolescent screening model instance.</pre></li>
968
                  
969
              </ol>
970
              
971
            </div>
972
          
973

    
974
          
975
            <div class="commands">
976
                
977
                    <a href="http://flourish-dev.bhp.org.bw/subject/subject_dashboard/B142-040991124-4/#" onclick="return varToggle(this, &#39;140609299255232&#39;)"><span>â–¶</span> Local vars</a>
978
                
979
            </div>
980
            <table class="vars" id="v140609299255232" style="display: none;">
981
              <thead>
982
                <tr>
983
                  <th>Variable</th>
984
                  <th>Value</th>
985
                </tr>
986
              </thead>
987
              <tbody>
988
                
989
                  <tr>
990
                    <td>self</td>
991
                    <td class="code"><pre>SubjectConsentModelWrapper(B142-040991124-4 V1 id=None)</pre></td>
992
                  </tr>
993
                
994
              </tbody>
995
            </table>
996
          
997
        </li>
998
      
999
        
1000
        <li class="frame user">
1001
          <code class="fname">/home/flourish/.venvs/flourish/lib/python3.8/site-packages/flourish_dashboard/model_wrappers/tb_adol_screening_model_wrapper_mixin.py</code>, line 17, in tb_adol_screening_model_obj
1002

    
1003
          
1004
            <div class="context" id="c140609299253888">
1005
              
1006
                <ol start="10" class="pre-context" id="pre140609299253888" style="display: block;">
1007
                
1008
                  <li onclick="toggle(&#39;pre140609299253888&#39;, &#39;post140609299253888&#39;)"><pre>    adol_screening_model_wrapper_cls = TbAdolScreeningModelWrapper</pre></li>
1009
                
1010
                  <li onclick="toggle(&#39;pre140609299253888&#39;, &#39;post140609299253888&#39;)"><pre></pre></li>
1011
                
1012
                  <li onclick="toggle(&#39;pre140609299253888&#39;, &#39;post140609299253888&#39;)"><pre>    @property</pre></li>
1013
                
1014
                  <li onclick="toggle(&#39;pre140609299253888&#39;, &#39;post140609299253888&#39;)"><pre>    def tb_adol_screening_model_obj(self):</pre></li>
1015
                
1016
                  <li onclick="toggle(&#39;pre140609299253888&#39;, &#39;post140609299253888&#39;)"><pre>        """Returns a tb adolescent screening model instance or None.</pre></li>
1017
                
1018
                  <li onclick="toggle(&#39;pre140609299253888&#39;, &#39;post140609299253888&#39;)"><pre>        """</pre></li>
1019
                
1020
                  <li onclick="toggle(&#39;pre140609299253888&#39;, &#39;post140609299253888&#39;)"><pre>        try:</pre></li>
1021
                
1022
                </ol>
1023
              
1024
              <ol start="17" class="context-line">
1025
                <li onclick="toggle(&#39;pre140609299253888&#39;, &#39;post140609299253888&#39;)"><pre>            return self.tb_adol_screening_cls.objects.get(</pre> <span>…</span></li>
1026
              </ol>
1027
              
1028
                <ol start="18" class="post-context" id="post140609299253888" style="display: block;">
1029
                  
1030
                  <li onclick="toggle(&#39;pre140609299253888&#39;, &#39;post140609299253888&#39;)"><pre>                **self.tb_adol_screening_options)</pre></li>
1031
                  
1032
                  <li onclick="toggle(&#39;pre140609299253888&#39;, &#39;post140609299253888&#39;)"><pre>        except ObjectDoesNotExist:</pre></li>
1033
                  
1034
                  <li onclick="toggle(&#39;pre140609299253888&#39;, &#39;post140609299253888&#39;)"><pre>            return None</pre></li>
1035
                  
1036
                  <li onclick="toggle(&#39;pre140609299253888&#39;, &#39;post140609299253888&#39;)"><pre></pre></li>
1037
                  
1038
                  <li onclick="toggle(&#39;pre140609299253888&#39;, &#39;post140609299253888&#39;)"><pre>    @property</pre></li>
1039
                  
1040
                  <li onclick="toggle(&#39;pre140609299253888&#39;, &#39;post140609299253888&#39;)"><pre>    def tb_adol_screening(self):</pre></li>
1041
                  
1042
              </ol>
1043
              
1044
            </div>
1045
          
1046

    
1047
          
1048
            <div class="commands">
1049
                
1050
                    <a href="http://flourish-dev.bhp.org.bw/subject/subject_dashboard/B142-040991124-4/#" onclick="return varToggle(this, &#39;140609299253888&#39;)"><span>â–¼</span> Local vars</a>
1051
                
1052
            </div>
1053
            <table class="vars" id="v140609299253888" style="display: block;">
1054
              <thead>
1055
                <tr>
1056
                  <th>Variable</th>
1057
                  <th>Value</th>
1058
                </tr>
1059
              </thead>
1060
              <tbody>
1061
                
1062
                  <tr>
1063
                    <td>self</td>
1064
                    <td class="code"><pre>SubjectConsentModelWrapper(B142-040991124-4 V1 id=None)</pre></td>
1065
                  </tr>
1066
                
1067
              </tbody>
1068
            </table>
1069
          
1070
        </li>
1071
      
1072
        
1073
        <li class="frame django">
1074
          <code class="fname">/home/flourish/.venvs/flourish/lib/python3.8/site-packages/django/db/models/manager.py</code>, line 85, in manager_method
1075

    
1076
          
1077
            <div class="context" id="c140609299250624">
1078
              
1079
                <ol start="78" class="pre-context" id="pre140609299250624" style="display: none;">
1080
                
1081
                  <li onclick="toggle(&#39;pre140609299250624&#39;, &#39;post140609299250624&#39;)"><pre>    def check(self, **kwargs):</pre></li>
1082
                
1083
                  <li onclick="toggle(&#39;pre140609299250624&#39;, &#39;post140609299250624&#39;)"><pre>        return []</pre></li>
1084
                
1085
                  <li onclick="toggle(&#39;pre140609299250624&#39;, &#39;post140609299250624&#39;)"><pre></pre></li>
1086
                
1087
                  <li onclick="toggle(&#39;pre140609299250624&#39;, &#39;post140609299250624&#39;)"><pre>    @classmethod</pre></li>
1088
                
1089
                  <li onclick="toggle(&#39;pre140609299250624&#39;, &#39;post140609299250624&#39;)"><pre>    def _get_queryset_methods(cls, queryset_class):</pre></li>
1090
                
1091
                  <li onclick="toggle(&#39;pre140609299250624&#39;, &#39;post140609299250624&#39;)"><pre>        def create_method(name, method):</pre></li>
1092
                
1093
                  <li onclick="toggle(&#39;pre140609299250624&#39;, &#39;post140609299250624&#39;)"><pre>            def manager_method(self, *args, **kwargs):</pre></li>
1094
                
1095
                </ol>
1096
              
1097
              <ol start="85" class="context-line">
1098
                <li onclick="toggle(&#39;pre140609299250624&#39;, &#39;post140609299250624&#39;)"><pre>                return getattr(self.get_queryset(), name)(*args, **kwargs)</pre> <span>…</span></li>
1099
              </ol>
1100
              
1101
                <ol start="86" class="post-context" id="post140609299250624" style="display: none;">
1102
                  
1103
                  <li onclick="toggle(&#39;pre140609299250624&#39;, &#39;post140609299250624&#39;)"><pre>            manager_method.__name__ = method.__name__</pre></li>
1104
                  
1105
                  <li onclick="toggle(&#39;pre140609299250624&#39;, &#39;post140609299250624&#39;)"><pre>            manager_method.__doc__ = method.__doc__</pre></li>
1106
                  
1107
                  <li onclick="toggle(&#39;pre140609299250624&#39;, &#39;post140609299250624&#39;)"><pre>            return manager_method</pre></li>
1108
                  
1109
                  <li onclick="toggle(&#39;pre140609299250624&#39;, &#39;post140609299250624&#39;)"><pre></pre></li>
1110
                  
1111
                  <li onclick="toggle(&#39;pre140609299250624&#39;, &#39;post140609299250624&#39;)"><pre>        new_methods = {}</pre></li>
1112
                  
1113
                  <li onclick="toggle(&#39;pre140609299250624&#39;, &#39;post140609299250624&#39;)"><pre>        for name, method in inspect.getmembers(queryset_class, predicate=inspect.isfunction):</pre></li>
1114
                  
1115
              </ol>
1116
              
1117
            </div>
1118
          
1119

    
1120
          
1121
            <div class="commands">
1122
                
1123
                    <a href="http://flourish-dev.bhp.org.bw/subject/subject_dashboard/B142-040991124-4/#" onclick="return varToggle(this, &#39;140609299250624&#39;)"><span>â–¶</span> Local vars</a>
1124
                
1125
            </div>
1126
            <table class="vars" id="v140609299250624" style="display: none;">
1127
              <thead>
1128
                <tr>
1129
                  <th>Variable</th>
1130
                  <th>Value</th>
1131
                </tr>
1132
              </thead>
1133
              <tbody>
1134
                
1135
                  <tr>
1136
                    <td>args</td>
1137
                    <td class="code"><pre>()</pre></td>
1138
                  </tr>
1139
                
1140
                  <tr>
1141
                    <td>kwargs</td>
1142
                    <td class="code"><pre>{'subject_identifier': 'B142-040991124-4'}</pre></td>
1143
                  </tr>
1144
                
1145
                  <tr>
1146
                    <td>name</td>
1147
                    <td class="code"><pre>'get'</pre></td>
1148
                  </tr>
1149
                
1150
                  <tr>
1151
                    <td>self</td>
1152
                    <td class="code"><pre>&lt;django.db.models.manager.Manager object at 0x7fe235ef09a0&gt;</pre></td>
1153
                  </tr>
1154
                
1155
              </tbody>
1156
            </table>
1157
          
1158
        </li>
1159
      
1160
        
1161
        <li class="frame user">
1162
          <code class="fname">/home/flourish/.venvs/flourish/lib/python3.8/site-packages/cacheops/query.py</code>, line 353, in get
1163

    
1164
          
1165
            <div class="context" id="c140609299248384">
1166
              
1167
                <ol start="346" class="pre-context" id="pre140609299248384" style="display: none;">
1168
                
1169
                  <li onclick="toggle(&#39;pre140609299248384&#39;, &#39;post140609299248384&#39;)"><pre>            if 'fetch' in self._cacheprofile['ops']:</pre></li>
1170
                
1171
                  <li onclick="toggle(&#39;pre140609299248384&#39;, &#39;post140609299248384&#39;)"><pre>                qs = self</pre></li>
1172
                
1173
                  <li onclick="toggle(&#39;pre140609299248384&#39;, &#39;post140609299248384&#39;)"><pre>            else:</pre></li>
1174
                
1175
                  <li onclick="toggle(&#39;pre140609299248384&#39;, &#39;post140609299248384&#39;)"><pre>                qs = self._clone().cache()</pre></li>
1176
                
1177
                  <li onclick="toggle(&#39;pre140609299248384&#39;, &#39;post140609299248384&#39;)"><pre>        else:</pre></li>
1178
                
1179
                  <li onclick="toggle(&#39;pre140609299248384&#39;, &#39;post140609299248384&#39;)"><pre>            qs = self</pre></li>
1180
                
1181
                  <li onclick="toggle(&#39;pre140609299248384&#39;, &#39;post140609299248384&#39;)"><pre></pre></li>
1182
                
1183
                </ol>
1184
              
1185
              <ol start="353" class="context-line">
1186
                <li onclick="toggle(&#39;pre140609299248384&#39;, &#39;post140609299248384&#39;)"><pre>        return qs._no_monkey.get(qs, *args, **kwargs)</pre> <span>…</span></li>
1187
              </ol>
1188
              
1189
                <ol start="354" class="post-context" id="post140609299248384" style="display: none;">
1190
                  
1191
                  <li onclick="toggle(&#39;pre140609299248384&#39;, &#39;post140609299248384&#39;)"><pre></pre></li>
1192
                  
1193
                  <li onclick="toggle(&#39;pre140609299248384&#39;, &#39;post140609299248384&#39;)"><pre>    def first(self):</pre></li>
1194
                  
1195
                  <li onclick="toggle(&#39;pre140609299248384&#39;, &#39;post140609299248384&#39;)"><pre>        if self._should_cache('get'):</pre></li>
1196
                  
1197
                  <li onclick="toggle(&#39;pre140609299248384&#39;, &#39;post140609299248384&#39;)"><pre>            return self._no_monkey.first(self._clone().cache())</pre></li>
1198
                  
1199
                  <li onclick="toggle(&#39;pre140609299248384&#39;, &#39;post140609299248384&#39;)"><pre>        return self._no_monkey.first(self)</pre></li>
1200
                  
1201
                  <li onclick="toggle(&#39;pre140609299248384&#39;, &#39;post140609299248384&#39;)"><pre></pre></li>
1202
                  
1203
              </ol>
1204
              
1205
            </div>
1206
          
1207

    
1208
          
1209
            <div class="commands">
1210
                
1211
                    <a href="http://flourish-dev.bhp.org.bw/subject/subject_dashboard/B142-040991124-4/#" onclick="return varToggle(this, &#39;140609299248384&#39;)"><span>â–¶</span> Local vars</a>
1212
                
1213
            </div>
1214
            <table class="vars" id="v140609299248384" style="display: none;">
1215
              <thead>
1216
                <tr>
1217
                  <th>Variable</th>
1218
                  <th>Value</th>
1219
                </tr>
1220
              </thead>
1221
              <tbody>
1222
                
1223
                  <tr>
1224
                    <td>args</td>
1225
                    <td class="code"><pre>()</pre></td>
1226
                  </tr>
1227
                
1228
                  <tr>
1229
                    <td>kwargs</td>
1230
                    <td class="code"><pre>{'subject_identifier': 'B142-040991124-4'}</pre></td>
1231
                  </tr>
1232
                
1233
                  <tr>
1234
                    <td>qs</td>
1235
                    <td class="code"><pre>&lt;QuerySet [&lt;TbAdolEligibility: TbAdolEligibility object (03d8805d-2fd4-40b1-b770-edb15a4bbd82)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (047bbcea-7806-4c65-96e1-b9972a251bf6)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (08391277-12db-4d3b-a32c-f934591c363c)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (2b61d2ad-b808-4292-b907-7f0fd5f4aa16)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (30559c52-a350-4c51-9269-bbc7e485535f)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (3304cef8-52f6-40b8-9a90-2858e686009e)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (37f97316-a227-4081-a417-8352ca82164c)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (3ef9d075-109a-4ec7-a081-f770f52da21b)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (42061921-f595-41ae-9dbc-0c6cd55622f3)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (4502f96c-ebd4-47d8-896b-f90a389aeddb)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (4e2c6201-e441-4b7c-8e0e-2bf45ffd7ebb)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (532a0bfa-5033-4f70-b40c-fb8b39838ee4)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (5b862df3-59c9-4ba7-ad4b-e97243bd7641)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (64739889-4054-4829-8353-f94d687521f4)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (64862555-8d89-42b9-9e3b-b8f08755c972)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (7cc0bb07-603b-44ac-adc6-cf7247e0ef69)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (8048250e-be34-414e-bc1e-4cbe4d9cb0ff)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (8609ffc9-634f-41b9-8108-e9afa76898db)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (8e2fc218-1d5e-43f1-912e-90f167c941ed)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (90f955dd-48b6-4553-9724-1ec42e00af02)&gt;, '...(remaining elements truncated)...']&gt;</pre></td>
1236
                  </tr>
1237
                
1238
                  <tr>
1239
                    <td>self</td>
1240
                    <td class="code"><pre>&lt;QuerySet [&lt;TbAdolEligibility: TbAdolEligibility object (03d8805d-2fd4-40b1-b770-edb15a4bbd82)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (047bbcea-7806-4c65-96e1-b9972a251bf6)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (08391277-12db-4d3b-a32c-f934591c363c)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (2b61d2ad-b808-4292-b907-7f0fd5f4aa16)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (30559c52-a350-4c51-9269-bbc7e485535f)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (3304cef8-52f6-40b8-9a90-2858e686009e)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (37f97316-a227-4081-a417-8352ca82164c)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (3ef9d075-109a-4ec7-a081-f770f52da21b)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (42061921-f595-41ae-9dbc-0c6cd55622f3)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (4502f96c-ebd4-47d8-896b-f90a389aeddb)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (4e2c6201-e441-4b7c-8e0e-2bf45ffd7ebb)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (532a0bfa-5033-4f70-b40c-fb8b39838ee4)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (5b862df3-59c9-4ba7-ad4b-e97243bd7641)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (64739889-4054-4829-8353-f94d687521f4)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (64862555-8d89-42b9-9e3b-b8f08755c972)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (7cc0bb07-603b-44ac-adc6-cf7247e0ef69)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (8048250e-be34-414e-bc1e-4cbe4d9cb0ff)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (8609ffc9-634f-41b9-8108-e9afa76898db)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (8e2fc218-1d5e-43f1-912e-90f167c941ed)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (90f955dd-48b6-4553-9724-1ec42e00af02)&gt;, '...(remaining elements truncated)...']&gt;</pre></td>
1241
                  </tr>
1242
                
1243
              </tbody>
1244
            </table>
1245
          
1246
        </li>
1247
      
1248
        
1249
        <li class="frame django">
1250
          <code class="fname">/home/flourish/.venvs/flourish/lib/python3.8/site-packages/django/db/models/query.py</code>, line 433, in get
1251

    
1252
          
1253
            <div class="context" id="c140609299577600">
1254
              
1255
                <ol start="426" class="pre-context" id="pre140609299577600" style="display: none;">
1256
                
1257
                  <li onclick="toggle(&#39;pre140609299577600&#39;, &#39;post140609299577600&#39;)"><pre>        if num == 1:</pre></li>
1258
                
1259
                  <li onclick="toggle(&#39;pre140609299577600&#39;, &#39;post140609299577600&#39;)"><pre>            return clone._result_cache[0]</pre></li>
1260
                
1261
                  <li onclick="toggle(&#39;pre140609299577600&#39;, &#39;post140609299577600&#39;)"><pre>        if not num:</pre></li>
1262
                
1263
                  <li onclick="toggle(&#39;pre140609299577600&#39;, &#39;post140609299577600&#39;)"><pre>            raise self.model.DoesNotExist(</pre></li>
1264
                
1265
                  <li onclick="toggle(&#39;pre140609299577600&#39;, &#39;post140609299577600&#39;)"><pre>                "%s matching query does not exist." %</pre></li>
1266
                
1267
                  <li onclick="toggle(&#39;pre140609299577600&#39;, &#39;post140609299577600&#39;)"><pre>                self.model._meta.object_name</pre></li>
1268
                
1269
                  <li onclick="toggle(&#39;pre140609299577600&#39;, &#39;post140609299577600&#39;)"><pre>            )</pre></li>
1270
                
1271
                </ol>
1272
              
1273
              <ol start="433" class="context-line">
1274
                <li onclick="toggle(&#39;pre140609299577600&#39;, &#39;post140609299577600&#39;)"><pre>        raise self.model.MultipleObjectsReturned(</pre> <span>…</span></li>
1275
              </ol>
1276
              
1277
                <ol start="434" class="post-context" id="post140609299577600" style="display: none;">
1278
                  
1279
                  <li onclick="toggle(&#39;pre140609299577600&#39;, &#39;post140609299577600&#39;)"><pre>            'get() returned more than one %s -- it returned %s!' % (</pre></li>
1280
                  
1281
                  <li onclick="toggle(&#39;pre140609299577600&#39;, &#39;post140609299577600&#39;)"><pre>                self.model._meta.object_name,</pre></li>
1282
                  
1283
                  <li onclick="toggle(&#39;pre140609299577600&#39;, &#39;post140609299577600&#39;)"><pre>                num if not limit or num &lt; limit else 'more than %s' % (limit - 1),</pre></li>
1284
                  
1285
                  <li onclick="toggle(&#39;pre140609299577600&#39;, &#39;post140609299577600&#39;)"><pre>            )</pre></li>
1286
                  
1287
                  <li onclick="toggle(&#39;pre140609299577600&#39;, &#39;post140609299577600&#39;)"><pre>        )</pre></li>
1288
                  
1289
                  <li onclick="toggle(&#39;pre140609299577600&#39;, &#39;post140609299577600&#39;)"><pre></pre></li>
1290
                  
1291
              </ol>
1292
              
1293
            </div>
1294
          
1295

    
1296
          
1297
            <div class="commands">
1298
                
1299
                    <a href="http://flourish-dev.bhp.org.bw/subject/subject_dashboard/B142-040991124-4/#" onclick="return varToggle(this, &#39;140609299577600&#39;)"><span>â–¶</span> Local vars</a>
1300
                
1301
            </div>
1302
            <table class="vars" id="v140609299577600" style="display: none;">
1303
              <thead>
1304
                <tr>
1305
                  <th>Variable</th>
1306
                  <th>Value</th>
1307
                </tr>
1308
              </thead>
1309
              <tbody>
1310
                
1311
                  <tr>
1312
                    <td>args</td>
1313
                    <td class="code"><pre>()</pre></td>
1314
                  </tr>
1315
                
1316
                  <tr>
1317
                    <td>clone</td>
1318
                    <td class="code"><pre>&lt;QuerySet [&lt;TbAdolEligibility: TbAdolEligibility object (08391277-12db-4d3b-a32c-f934591c363c)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (532a0bfa-5033-4f70-b40c-fb8b39838ee4)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (94030f36-7ce4-4223-9ab7-f1da78abfcf3)&gt;]&gt;</pre></td>
1319
                  </tr>
1320
                
1321
                  <tr>
1322
                    <td>kwargs</td>
1323
                    <td class="code"><pre>{'subject_identifier': 'B142-040991124-4'}</pre></td>
1324
                  </tr>
1325
                
1326
                  <tr>
1327
                    <td>limit</td>
1328
                    <td class="code"><pre>21</pre></td>
1329
                  </tr>
1330
                
1331
                  <tr>
1332
                    <td>num</td>
1333
                    <td class="code"><pre>3</pre></td>
1334
                  </tr>
1335
                
1336
                  <tr>
1337
                    <td>self</td>
1338
                    <td class="code"><pre>&lt;QuerySet [&lt;TbAdolEligibility: TbAdolEligibility object (03d8805d-2fd4-40b1-b770-edb15a4bbd82)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (047bbcea-7806-4c65-96e1-b9972a251bf6)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (08391277-12db-4d3b-a32c-f934591c363c)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (2b61d2ad-b808-4292-b907-7f0fd5f4aa16)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (30559c52-a350-4c51-9269-bbc7e485535f)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (3304cef8-52f6-40b8-9a90-2858e686009e)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (37f97316-a227-4081-a417-8352ca82164c)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (3ef9d075-109a-4ec7-a081-f770f52da21b)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (42061921-f595-41ae-9dbc-0c6cd55622f3)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (4502f96c-ebd4-47d8-896b-f90a389aeddb)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (4e2c6201-e441-4b7c-8e0e-2bf45ffd7ebb)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (532a0bfa-5033-4f70-b40c-fb8b39838ee4)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (5b862df3-59c9-4ba7-ad4b-e97243bd7641)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (64739889-4054-4829-8353-f94d687521f4)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (64862555-8d89-42b9-9e3b-b8f08755c972)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (7cc0bb07-603b-44ac-adc6-cf7247e0ef69)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (8048250e-be34-414e-bc1e-4cbe4d9cb0ff)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (8609ffc9-634f-41b9-8108-e9afa76898db)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (8e2fc218-1d5e-43f1-912e-90f167c941ed)&gt;, &lt;TbAdolEligibility: TbAdolEligibility object (90f955dd-48b6-4553-9724-1ec42e00af02)&gt;, '...(remaining elements truncated)...']&gt;</pre></td>
1339
                  </tr>
1340
                
1341
              </tbody>
1342
            </table>
1343
          
1344
        </li>
1345
      
1346
    </ul>
1347
  </div>
1348
  <form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
1349

    
1350
  <div id="pastebinTraceback" class="pastebin" style="display: none;">
1351
    <input type="hidden" name="language" value="PythonConsole">
1352
    <input type="hidden" name="title" value="MultipleObjectsReturned at /subject/subject_dashboard/B142-040991124-4/">
1353
    <input type="hidden" name="source" value="Django Dpaste Agent">
1354
    <input type="hidden" name="poster" value="Django">
1355
    <textarea name="content" id="traceback_area" cols="140" rows="25">Environment:
1356

    
1357

    
1358
Request Method: GET
1359
Request URL: http://127.0.0.1:9000/subject/subject_dashboard/B142-040991124-4/
1360

    
1361
Django Version: 3.1.4
1362
Python Version: 3.8.0
1363
Installed Applications:
1364
['django.contrib.admin',
1365
 'django.contrib.auth',
1366
 'django.contrib.contenttypes',
1367
 'django.contrib.sessions',
1368
 'django.contrib.sites',
1369
 'django.contrib.messages',
1370
 'django.contrib.staticfiles',
1371
 'django_crypto_fields.apps.AppConfig',
1372
 'django_q',
1373
 'django_extensions',
1374
 'crispy_forms',
1375
 'multiselectfield',
1376
 'edc_action_item.apps.AppConfig',
1377
 'edc_consent.apps.AppConfig',
1378
 'edc_dashboard.apps.AppConfig',
1379
 'edc_device.apps.AppConfig',
1380
 'edc_identifier.apps.AppConfig',
1381
 'edc_lab.apps.AppConfig',
1382
 'edc_model_admin.apps.AppConfig',
1383
 'edc_navbar.apps.AppConfig',
1384
 'edc_prn.apps.AppConfig',
1385
 'edc_registration.apps.AppConfig',
1386
 'edc_reference.apps.AppConfig',
1387
 'edc_subject_dashboard.apps.AppConfig',
1388
 'edc_visit_schedule.apps.AppConfig',
1389
 'edc_call_manager.apps.AppConfig',
1390
 'edc_metadata_rules.apps.AppConfig',
1391
 'flourish_export.apps.AppConfig',
1392
 'flourish_dashboard.apps.AppConfig',
1393
 'flourish_prn.apps.AppConfig',
1394
 'flourish_caregiver.apps.AppConfig',
1395
 'flourish_child.apps.AppConfig',
1396
 'flourish_follow.apps.AppConfig',
1397
 'pre_flourish_follow.apps.AppConfig',
1398
 'flourish_reports.apps.AppConfig',
1399
 'flourish_metadata_rules.apps.AppConfig',
1400
 'flourish_labs.apps.AppConfig',
1401
 'flourish_reference.apps.AppConfig',
1402
 'flourish_visit_schedule.apps.AppConfig',
1403
 'flourish.apps.EdcAppointmentAppConfig',
1404
 'flourish.apps.EdcBaseAppConfig',
1405
 'flourish.apps.EdcDataManagerAppConfig',
1406
 'flourish.apps.EdcFacilityAppConfig',
1407
 'flourish.apps.EdcLocatorAppConfig',
1408
 'flourish.apps.EdcMetadataAppConfig',
1409
 'flourish.apps.EdcOdkAppConfig',
1410
 'flourish.apps.EdcProtocolAppConfig',
1411
 'flourish.apps.EdcVisitTrackingAppConfig',
1412
 'flourish.apps.EdcTimepointAppConfig',
1413
 'flourish.apps.EdcSenaiteInterfaceAppConfig',
1414
 'pre_flourish.apps.AppConfig',
1415
 'flourish_calendar.apps.AppConfig',
1416
 'flourish.apps.AppConfig',
1417
 'rest_framework',
1418
 'rest_framework.authtoken',
1419
 'cacheops']
1420
Installed Middleware:
1421
['django.middleware.security.SecurityMiddleware',
1422
 'django.contrib.sessions.middleware.SessionMiddleware',
1423
 'django.middleware.common.CommonMiddleware',
1424
 'django.middleware.csrf.CsrfViewMiddleware',
1425
 'django.contrib.auth.middleware.AuthenticationMiddleware',
1426
 'django.contrib.sites.middleware.CurrentSiteMiddleware',
1427
 'django.contrib.messages.middleware.MessageMiddleware',
1428
 'django.middleware.clickjacking.XFrameOptionsMiddleware',
1429
 'edc_dashboard.middleware.DashboardMiddleware',
1430
 'edc_subject_dashboard.middleware.DashboardMiddleware']
1431

    
1432

    
1433

    
1434
Traceback (most recent call last):
1435
  File "/home/flourish/.venvs/flourish/lib/python3.8/site-packages/django/core/handlers/exception.py", line 47, in inner
1436
    response = get_response(request)
1437
  File "/home/flourish/.venvs/flourish/lib/python3.8/site-packages/django/core/handlers/base.py", line 179, in _get_response
1438
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
1439
  File "/home/flourish/.venvs/flourish/lib/python3.8/site-packages/django/views/generic/base.py", line 70, in view
1440
    return self.dispatch(request, *args, **kwargs)
1441
  File "/home/flourish/.venvs/flourish/lib/python3.8/site-packages/django/contrib/auth/mixins.py", line 52, in dispatch
1442
    return super().dispatch(request, *args, **kwargs)
1443
  File "/home/flourish/.venvs/flourish/lib/python3.8/site-packages/django/views/generic/base.py", line 98, in dispatch
1444
    return handler(request, *args, **kwargs)
1445
  File "/home/flourish/.venvs/flourish/lib/python3.8/site-packages/django/views/generic/base.py", line 159, in get
1446
    context = self.get_context_data(**kwargs)
1447
  File "/home/flourish/.venvs/flourish/lib/python3.8/site-packages/flourish_dashboard/views/maternal_subject/dashboard/dashboard_view.py", line 307, in get_context_data
1448
    tb_adol_eligibility = self.consent_wrapped.tb_adol_eligibility
1449
  File "/home/flourish/.venvs/flourish/lib/python3.8/site-packages/flourish_dashboard/model_wrappers/tb_adol_screening_model_wrapper_mixin.py", line 36, in tb_adol_eligibility
1450
    if self.tb_adol_screening_model_obj:
1451
  File "/home/flourish/.venvs/flourish/lib/python3.8/site-packages/flourish_dashboard/model_wrappers/tb_adol_screening_model_wrapper_mixin.py", line 17, in tb_adol_screening_model_obj
1452
    return self.tb_adol_screening_cls.objects.get(
1453
  File "/home/flourish/.venvs/flourish/lib/python3.8/site-packages/django/db/models/manager.py", line 85, in manager_method
1454
    return getattr(self.get_queryset(), name)(*args, **kwargs)
1455
  File "/home/flourish/.venvs/flourish/lib/python3.8/site-packages/cacheops/query.py", line 353, in get
1456
    return qs._no_monkey.get(qs, *args, **kwargs)
1457
  File "/home/flourish/.venvs/flourish/lib/python3.8/site-packages/django/db/models/query.py", line 433, in get
1458
    raise self.model.MultipleObjectsReturned(
1459

    
1460
Exception Type: MultipleObjectsReturned at /subject/subject_dashboard/B142-040991124-4/
1461
Exception Value: get() returned more than one TbAdolEligibility -- it returned 3!
1462
</textarea>
1463
  <br><br>
1464
  <input type="submit" value="Share this traceback on a public website">
1465
  </div>
1466
</form>
1467
</div>
1468

    
1469

    
1470

    
1471
<div id="requestinfo">
1472
  <h2>Request information</h2>
1473

    
1474

    
1475
  
1476
    <h3 id="user-info">USER</h3>
1477
    <p>ame</p>
1478
  
1479

    
1480
  <h3 id="get-info">GET</h3>
1481
  
1482
    <p>No GET data</p>
1483
  
1484

    
1485
  <h3 id="post-info">POST</h3>
1486
  
1487
    <p>No POST data</p>
1488
  
1489
  <h3 id="files-info">FILES</h3>
1490
  
1491
    <p>No FILES data</p>
1492
  
1493

    
1494

    
1495
  <h3 id="cookie-info">COOKIES</h3>
1496
  
1497
    <table class="req">
1498
      <thead>
1499
        <tr>
1500
          <th>Variable</th>
1501
          <th>Value</th>
1502
        </tr>
1503
      </thead>
1504
      <tbody>
1505
        
1506
          <tr>
1507
            <td>csrftoken</td>
1508
            <td class="code"><pre>'SnM8mFR61bBGpt17oJI0GiG1q6NuvupPuLMctHFAbPndpoQ2Of6A0ie71orCthxZ'</pre></td>
1509
          </tr>
1510
        
1511
          <tr>
1512
            <td>sessionid</td>
1513
            <td class="code"><pre>'5tnpk1qtcd056pwg8dbo62uwcb57xeqh'</pre></td>
1514
          </tr>
1515
        
1516
      </tbody>
1517
    </table>
1518
  
1519

    
1520
  <h3 id="meta-info">META</h3>
1521
  <table class="req">
1522
    <thead>
1523
      <tr>
1524
        <th>Variable</th>
1525
        <th>Value</th>
1526
      </tr>
1527
    </thead>
1528
    <tbody>
1529
      
1530
        <tr>
1531
          <td>CSRF_COOKIE</td>
1532
          <td class="code"><pre>'SnM8mFR61bBGpt17oJI0GiG1q6NuvupPuLMctHFAbPndpoQ2Of6A0ie71orCthxZ'</pre></td>
1533
        </tr>
1534
      
1535
        <tr>
1536
          <td>HTTP_ACCEPT</td>
1537
          <td class="code"><pre>'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7'</pre></td>
1538
        </tr>
1539
      
1540
        <tr>
1541
          <td>HTTP_ACCEPT_ENCODING</td>
1542
          <td class="code"><pre>'gzip, deflate'</pre></td>
1543
        </tr>
1544
      
1545
        <tr>
1546
          <td>HTTP_ACCEPT_LANGUAGE</td>
1547
          <td class="code"><pre>'en-GB,en-US;q=0.9,en;q=0.8'</pre></td>
1548
        </tr>
1549
      
1550
        <tr>
1551
          <td>HTTP_CONNECTION</td>
1552
          <td class="code"><pre>'close'</pre></td>
1553
        </tr>
1554
      
1555
        <tr>
1556
          <td>HTTP_COOKIE</td>
1557
          <td class="code"><pre>('csrftoken=SnM8mFR61bBGpt17oJI0GiG1q6NuvupPuLMctHFAbPndpoQ2Of6A0ie71orCthxZ; '
1558
 'sessionid=5tnpk1qtcd056pwg8dbo62uwcb57xeqh')</pre></td>
1559
        </tr>
1560
      
1561
        <tr>
1562
          <td>HTTP_HOST</td>
1563
          <td class="code"><pre>'127.0.0.1:9000'</pre></td>
1564
        </tr>
1565
      
1566
        <tr>
1567
          <td>HTTP_REFERER</td>
1568
          <td class="code"><pre>'http://flourish-dev.bhp.org.bw/subject/maternal_subject_listboard/?q=1124-4'</pre></td>
1569
        </tr>
1570
      
1571
        <tr>
1572
          <td>HTTP_UPGRADE_INSECURE_REQUESTS</td>
1573
          <td class="code"><pre>'1'</pre></td>
1574
        </tr>
1575
      
1576
        <tr>
1577
          <td>HTTP_USER_AGENT</td>
1578
          <td class="code"><pre>('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, '
1579
 'like Gecko) Chrome/114.0.0.0 Safari/537.36')</pre></td>
1580
        </tr>
1581
      
1582
        <tr>
1583
          <td>PATH_INFO</td>
1584
          <td class="code"><pre>'/subject/subject_dashboard/B142-040991124-4/'</pre></td>
1585
        </tr>
1586
      
1587
        <tr>
1588
          <td>QUERY_STRING</td>
1589
          <td class="code"><pre>''</pre></td>
1590
        </tr>
1591
      
1592
        <tr>
1593
          <td>RAW_URI</td>
1594
          <td class="code"><pre>'/subject/subject_dashboard/B142-040991124-4/'</pre></td>
1595
        </tr>
1596
      
1597
        <tr>
1598
          <td>REMOTE_ADDR</td>
1599
          <td class="code"><pre>'127.0.0.1'</pre></td>
1600
        </tr>
1601
      
1602
        <tr>
1603
          <td>REMOTE_PORT</td>
1604
          <td class="code"><pre>'55050'</pre></td>
1605
        </tr>
1606
      
1607
        <tr>
1608
          <td>REQUEST_METHOD</td>
1609
          <td class="code"><pre>'GET'</pre></td>
1610
        </tr>
1611
      
1612
        <tr>
1613
          <td>SCRIPT_NAME</td>
1614
          <td class="code"><pre>''</pre></td>
1615
        </tr>
1616
      
1617
        <tr>
1618
          <td>SERVER_NAME</td>
1619
          <td class="code"><pre>'127.0.0.1'</pre></td>
1620
        </tr>
1621
      
1622
        <tr>
1623
          <td>SERVER_PORT</td>
1624
          <td class="code"><pre>'9000'</pre></td>
1625
        </tr>
1626
      
1627
        <tr>
1628
          <td>SERVER_PROTOCOL</td>
1629
          <td class="code"><pre>'HTTP/1.0'</pre></td>
1630
        </tr>
1631
      
1632
        <tr>
1633
          <td>SERVER_SOFTWARE</td>
1634
          <td class="code"><pre>'gunicorn/20.1.0'</pre></td>
1635
        </tr>
1636
      
1637
        <tr>
1638
          <td>gunicorn.socket</td>
1639
          <td class="code"><pre>&lt;socket.socket fd=14, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('127.0.0.1', 9000), raddr=('127.0.0.1', 55050)&gt;</pre></td>
1640
        </tr>
1641
      
1642
        <tr>
1643
          <td>wsgi.errors</td>
1644
          <td class="code"><pre>&lt;gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7fe2278fe880&gt;</pre></td>
1645
        </tr>
1646
      
1647
        <tr>
1648
          <td>wsgi.file_wrapper</td>
1649
          <td class="code"><pre>&lt;class 'gunicorn.http.wsgi.FileWrapper'&gt;</pre></td>
1650
        </tr>
1651
      
1652
        <tr>
1653
          <td>wsgi.input</td>
1654
          <td class="code"><pre>&lt;gunicorn.http.body.Body object at 0x7fe2278fea00&gt;</pre></td>
1655
        </tr>
1656
      
1657
        <tr>
1658
          <td>wsgi.input_terminated</td>
1659
          <td class="code"><pre>True</pre></td>
1660
        </tr>
1661
      
1662
        <tr>
1663
          <td>wsgi.multiprocess</td>
1664
          <td class="code"><pre>True</pre></td>
1665
        </tr>
1666
      
1667
        <tr>
1668
          <td>wsgi.multithread</td>
1669
          <td class="code"><pre>False</pre></td>
1670
        </tr>
1671
      
1672
        <tr>
1673
          <td>wsgi.run_once</td>
1674
          <td class="code"><pre>False</pre></td>
1675
        </tr>
1676
      
1677
        <tr>
1678
          <td>wsgi.url_scheme</td>
1679
          <td class="code"><pre>'http'</pre></td>
1680
        </tr>
1681
      
1682
        <tr>
1683
          <td>wsgi.version</td>
1684
          <td class="code"><pre>(1, 0)</pre></td>
1685
        </tr>
1686
      
1687
    </tbody>
1688
  </table>
1689

    
1690

    
1691
  <h3 id="settings-info">Settings</h3>
1692
  <h4>Using settings module <code>flourish.settings</code></h4>
1693
  <table class="req">
1694
    <thead>
1695
      <tr>
1696
        <th>Setting</th>
1697
        <th>Value</th>
1698
      </tr>
1699
    </thead>
1700
    <tbody>
1701
      
1702
        <tr>
1703
          <td>ABSOLUTE_URL_OVERRIDES</td>
1704
          <td class="code"><pre>{}</pre></td>
1705
        </tr>
1706
      
1707
        <tr>
1708
          <td>ADMINS</td>
1709
          <td class="code"><pre>[]</pre></td>
1710
        </tr>
1711
      
1712
        <tr>
1713
          <td>ALLOWED_HOSTS</td>
1714
          <td class="code"><pre>['127.0.0.1',
1715
 'localhost',
1716
 'flourish-dev.bhp.org.bw',
1717
 '10.113.201.239',
1718
 '192.168.8.102']</pre></td>
1719
        </tr>
1720
      
1721
        <tr>
1722
          <td>APPEND_SLASH</td>
1723
          <td class="code"><pre>True</pre></td>
1724
        </tr>
1725
      
1726
        <tr>
1727
          <td>APP_NAME</td>
1728
          <td class="code"><pre>'flourish'</pre></td>
1729
        </tr>
1730
      
1731
        <tr>
1732
          <td>AUTHENTICATION_BACKENDS</td>
1733
          <td class="code"><pre>['django.contrib.auth.backends.ModelBackend']</pre></td>
1734
        </tr>
1735
      
1736
        <tr>
1737
          <td>AUTH_PASSWORD_VALIDATORS</td>
1738
          <td class="code"><pre>'********************'</pre></td>
1739
        </tr>
1740
      
1741
        <tr>
1742
          <td>AUTH_USER_MODEL</td>
1743
          <td class="code"><pre>'auth.User'</pre></td>
1744
        </tr>
1745
      
1746
        <tr>
1747
          <td>BASE_DIR</td>
1748
          <td class="code"><pre>PosixPath('/home/flourish/source/flourish')</pre></td>
1749
        </tr>
1750
      
1751
        <tr>
1752
          <td>BASE_FORMAT</td>
1753
          <td class="code"><pre>'https://%(host)s/v1/projects/2/forms/%(form_id)s/%(api)s'</pre></td>
1754
        </tr>
1755
      
1756
        <tr>
1757
          <td>CACHEOPS</td>
1758
          <td class="code"><pre>{'*.*': {'timeout': 3600},
1759
 'edc_appointments.*': None,
1760
 'flourish_calendar.*': {'ops': 'all', 'timeout': 86400},
1761
 'flourish_caregiver.*': {'ops': 'all', 'timeout': 86400},
1762
 'flourish_child.*': {'ops': 'all', 'timeout': 86400},
1763
 'flourish_child.models.child_appointment.Appointment': None,
1764
 'flourish_follow.*': {'ops': 'all', 'timeout': 86400},
1765
 'flourish_prn.*': {'ops': 'all', 'timeout': 86400}}</pre></td>
1766
        </tr>
1767
      
1768
        <tr>
1769
          <td>CACHEOPS_REDIS</td>
1770
          <td class="code"><pre>'redis://localhost:6379/1'</pre></td>
1771
        </tr>
1772
      
1773
        <tr>
1774
          <td>CACHES</td>
1775
          <td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}</pre></td>
1776
        </tr>
1777
      
1778
        <tr>
1779
          <td>CACHE_MIDDLEWARE_ALIAS</td>
1780
          <td class="code"><pre>'default'</pre></td>
1781
        </tr>
1782
      
1783
        <tr>
1784
          <td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
1785
          <td class="code"><pre>'********************'</pre></td>
1786
        </tr>
1787
      
1788
        <tr>
1789
          <td>CACHE_MIDDLEWARE_SECONDS</td>
1790
          <td class="code"><pre>600</pre></td>
1791
        </tr>
1792
      
1793
        <tr>
1794
          <td>CELERY_BROKER_URL</td>
1795
          <td class="code"><pre>'amqp://localhost'</pre></td>
1796
        </tr>
1797
      
1798
        <tr>
1799
          <td>CELERY_INCLUDE</td>
1800
          <td class="code"><pre>['flourish_child.utils', 'edc_odk.tasks']</pre></td>
1801
        </tr>
1802
      
1803
        <tr>
1804
          <td>CELERY_TIMEZONE</td>
1805
          <td class="code"><pre>'Africa/Gaborone'</pre></td>
1806
        </tr>
1807
      
1808
        <tr>
1809
          <td>CELLPHONE_REGEX</td>
1810
          <td class="code"><pre>'^[7]{1}[12345678]{1}[0-9]{6}$'</pre></td>
1811
        </tr>
1812
      
1813
        <tr>
1814
          <td>CONFIG_FILE</td>
1815
          <td class="code"><pre>'flourish.ini'</pre></td>
1816
        </tr>
1817
      
1818
        <tr>
1819
          <td>CONFIG_PATH</td>
1820
          <td class="code"><pre>'/etc/flourish/flourish.ini'</pre></td>
1821
        </tr>
1822
      
1823
        <tr>
1824
          <td>COUNTRY</td>
1825
          <td class="code"><pre>'botswana'</pre></td>
1826
        </tr>
1827
      
1828
        <tr>
1829
          <td>CSRF_COOKIE_AGE</td>
1830
          <td class="code"><pre>31449600</pre></td>
1831
        </tr>
1832
      
1833
        <tr>
1834
          <td>CSRF_COOKIE_DOMAIN</td>
1835
          <td class="code"><pre>None</pre></td>
1836
        </tr>
1837
      
1838
        <tr>
1839
          <td>CSRF_COOKIE_HTTPONLY</td>
1840
          <td class="code"><pre>False</pre></td>
1841
        </tr>
1842
      
1843
        <tr>
1844
          <td>CSRF_COOKIE_NAME</td>
1845
          <td class="code"><pre>'csrftoken'</pre></td>
1846
        </tr>
1847
      
1848
        <tr>
1849
          <td>CSRF_COOKIE_PATH</td>
1850
          <td class="code"><pre>'/'</pre></td>
1851
        </tr>
1852
      
1853
        <tr>
1854
          <td>CSRF_COOKIE_SAMESITE</td>
1855
          <td class="code"><pre>'Lax'</pre></td>
1856
        </tr>
1857
      
1858
        <tr>
1859
          <td>CSRF_COOKIE_SECURE</td>
1860
          <td class="code"><pre>False</pre></td>
1861
        </tr>
1862
      
1863
        <tr>
1864
          <td>CSRF_FAILURE_VIEW</td>
1865
          <td class="code"><pre>'django.views.csrf.csrf_failure'</pre></td>
1866
        </tr>
1867
      
1868
        <tr>
1869
          <td>CSRF_HEADER_NAME</td>
1870
          <td class="code"><pre>'HTTP_X_CSRFTOKEN'</pre></td>
1871
        </tr>
1872
      
1873
        <tr>
1874
          <td>CSRF_TRUSTED_ORIGINS</td>
1875
          <td class="code"><pre>[]</pre></td>
1876
        </tr>
1877
      
1878
        <tr>
1879
          <td>CSRF_USE_SESSIONS</td>
1880
          <td class="code"><pre>False</pre></td>
1881
        </tr>
1882
      
1883
        <tr>
1884
          <td>DASHBOARD_BASE_TEMPLATES</td>
1885
          <td class="code"><pre>{'child_listboard_template': 'flourish_dashboard/child_subject/listboard.html',
1886
 'child_screening_listboard_template': 'flourish_dashboard/child_subject/screening_listboard.html',
1887
 'child_subject_dashboard_template': 'flourish_dashboard/child_subject/dashboard.html',
1888
 'dashboard_base_template': 'flourish/base.html',
1889
 'data_manager_listboard_template': 'edc_data_manager/listboard.html',
1890
 'export_listboard_template': 'flourish_export/listboard.html',
1891
 'flourish_follow_appt_listboard_template': 'flourish_follow/appointments_windows_listboards.html',
1892
 'flourish_follow_book_listboard_template': 'flourish_follow/book_listboard.html',
1893
 'flourish_follow_booking_listboard_template': 'flourish_follow/bookings_listboard.html',
1894
 'flourish_follow_listboard_template': 'flourish_follow/follow_listboard.html',
1895
 'listboard_base_template': 'flourish/base.html',
1896
 'maternal_dataset_listboard_template': 'flourish_dashboard/maternal_dataset/maternal_listboard.html',
1897
 'maternal_screening_listboard_template': 'flourish_dashboard/screening/maternal_listboard.html',
1898
 'missing_crf_report_template': 'flourish_reports/missing_crfs/missing_crf_report.html',
1899
 'odk_listboard_template': 'edc_odk/odk_forms/listboard.html',
1900
 'pre_flourish_caragiver_locator_listboard_template': 'pre_flourish/caregiver_locator_listboard.html',
1901
 'pre_flourish_child_dashboard_template': 'pre_flourish/child/dashboard.html',
1902
 'pre_flourish_child_listboard_template': 'pre_flourish/child/child_listboard.html',
1903
 'pre_flourish_follow_appt_listboard_template': 'pre_flourish_follow/appointments_windows_listboards.html',
1904
 'pre_flourish_follow_book_listboard_template': 'pre_flourish_follow/book_listboard.html',
1905
 'pre_flourish_follow_booking_listboard_template': 'pre_flourish_follow/bookings_listboard.html',
1906
 'pre_flourish_follow_listboard_template': 'pre_flourish_follow/follow_listboard.html',
1907
 'pre_flourish_screening_listboard_template': 'pre_flourish/caregiver/listboard.html',
1908
 'pre_flourish_subject_dashboard_template': 'pre_flourish/caregiver/dashboard.html',
1909
 'pre_flourish_subject_listboard_template': 'pre_flourish/caregiver/subject_listboard.html',
1910
 'senaite_result_listboard_template': 'flourish_dashboard/result_listboard.html',
1911
 'subject_dashboard_template': 'flourish_dashboard/maternal_subject/dashboard.html',
1912
 'subject_listboard_template': 'flourish_dashboard/maternal_subject/listboard.html'}</pre></td>
1913
        </tr>
1914
      
1915
        <tr>
1916
          <td>DASHBOARD_URL_NAMES</td>
1917
          <td class="code"><pre>{'child_dashboard_url': 'flourish_dashboard:child_dashboard_url',
1918
 'child_listboard_url': 'flourish_dashboard:child_listboard_url',
1919
 'child_result_listboard_url': 'flourish_dashboard:child_result_listboard_url',
1920
 'child_screening_listboard_url': 'flourish_dashboard:child_screening_listboard_url',
1921
 'data_manager_listboard_url': 'edc_data_manager:data_manager_listboard_url',
1922
 'export_listboard_url': 'flourish_export:export_listboard_url',
1923
 'flourish_calendar_url': 'flourish_calendar:calendar',
1924
 'flourish_follow_appt_listboard_url': 'flourish_follow:flourish_follow_appt_listboard_url',
1925
 'flourish_follow_book_listboard_url': 'flourish_follow:flourish_follow_book_listboard_url',
1926
 'flourish_follow_booking_listboard_url': 'flourish_follow:flourish_follow_booking_listboard_url',
1927
 'flourish_follow_listboard_url': 'flourish_follow:flourish_follow_listboard_url',
1928
 'maternal_dataset_listboard_url': 'flourish_dashboard:maternal_dataset_listboard_url',
1929
 'maternal_screening_listboard_url': 'flourish_dashboard:maternal_screening_listboard_url',
1930
 'missing_crf_report_url': 'flourish_reports:missing_crf_report_url',
1931
 'odk_listboard_url': 'edc_odk:odk_listboard_url',
1932
 'pre_flourish_caregiver_locator_listboard_url': 'pre_flourish:pre_flourish_caregiver_locator_listboard_url',
1933
 'pre_flourish_child_dashboard_url': 'pre_flourish:pre_flourish_child_dashboard_url',
1934
 'pre_flourish_child_listboard_url': 'pre_flourish:pre_flourish_child_listboard_url',
1935
 'pre_flourish_consent_listboard_url': 'pre_flourish:pre_flourish_consent_listboard_url',
1936
 'pre_flourish_follow_appt_listboard_url': 'pre_flourish_follow:pre_flourish_follow_appt_listboard_url',
1937
 'pre_flourish_follow_book_listboard_url': 'pre_flourish_follow:pre_flourish_follow_book_listboard_url',
1938
 'pre_flourish_follow_booking_listboard_url': 'pre_flourish_follow:pre_flourish_follow_booking_listboard_url',
1939
 'pre_flourish_follow_listboard_url': 'pre_flourish_follow:pre_flourish_follow_listboard_url',
1940
 'pre_flourish_maternal_dataset_listboard_url': 'pre_flourish:pre_flourish_maternal_dataset_listboard_url',
1941
 'pre_flourish_screening_listboard_url': 'pre_flourish:pre_flourish_screening_listboard_url',
1942
 'pre_flourish_subject_dashboard_url': 'pre_flourish:pre_flourish_subject_dashboard_url',
1943
 'senaite_result_listboard_url': 'flourish_dashboard:caregiver_result_listboard_url',
1944
 'subject_dashboard_url': 'flourish_dashboard:subject_dashboard_url',
1945
 'subject_listboard_url': 'flourish_dashboard:subject_listboard_url'}</pre></td>
1946
        </tr>
1947
      
1948
        <tr>
1949
          <td>DATABASES</td>
1950
          <td class="code"><pre>{'default': {'ATOMIC_REQUESTS': False,
1951
             'AUTOCOMMIT': True,
1952
             'CONN_MAX_AGE': 0,
1953
             'ENGINE': 'django.db.backends.mysql',
1954
             'HOST': '127.0.0.1',
1955
             'NAME': 'flourish',
1956
             'OPTIONS': {},
1957
             'PASSWORD': '********************',
1958
             'PORT': '3306',
1959
             'TEST': {'CHARSET': None,
1960
                      'COLLATION': None,
1961
                      'MIGRATE': True,
1962
                      'MIRROR': None,
1963
                      'NAME': None},
1964
             'TIME_ZONE': None,
1965
             'USER': 'root'}}</pre></td>
1966
        </tr>
1967
      
1968
        <tr>
1969
          <td>DATABASE_ROUTERS</td>
1970
          <td class="code"><pre>[]</pre></td>
1971
        </tr>
1972
      
1973
        <tr>
1974
          <td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
1975
          <td class="code"><pre>2621440</pre></td>
1976
        </tr>
1977
      
1978
        <tr>
1979
          <td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
1980
          <td class="code"><pre>1000</pre></td>
1981
        </tr>
1982
      
1983
        <tr>
1984
          <td>DATETIME_FORMAT</td>
1985
          <td class="code"><pre>'N j, Y, P'</pre></td>
1986
        </tr>
1987
      
1988
        <tr>
1989
          <td>DATETIME_INPUT_FORMATS</td>
1990
          <td class="code"><pre>['%Y-%m-%d %H:%M:%S',
1991
 '%Y-%m-%d %H:%M:%S.%f',
1992
 '%Y-%m-%d %H:%M',
1993
 '%m/%d/%Y %H:%M:%S',
1994
 '%m/%d/%Y %H:%M:%S.%f',
1995
 '%m/%d/%Y %H:%M',
1996
 '%m/%d/%y %H:%M:%S',
1997
 '%m/%d/%y %H:%M:%S.%f',
1998
 '%m/%d/%y %H:%M']</pre></td>
1999
        </tr>
2000
      
2001
        <tr>
2002
          <td>DATE_FORMAT</td>
2003
          <td class="code"><pre>'Y-m-d'</pre></td>
2004
        </tr>
2005
      
2006
        <tr>
2007
          <td>DATE_INPUT_FORMATS</td>
2008
          <td class="code"><pre>['%Y-%m-%d',
2009
 '%m/%d/%Y',
2010
 '%m/%d/%y',
2011
 '%b %d %Y',
2012
 '%b %d, %Y',
2013
 '%d %b %Y',
2014
 '%d %b, %Y',
2015
 '%B %d %Y',
2016
 '%B %d, %Y',
2017
 '%d %B %Y',
2018
 '%d %B, %Y']</pre></td>
2019
        </tr>
2020
      
2021
        <tr>
2022
          <td>DB_NAME</td>
2023
          <td class="code"><pre>'flourish'</pre></td>
2024
        </tr>
2025
      
2026
        <tr>
2027
          <td>DB_PASSWORD</td>
2028
          <td class="code"><pre>'********************'</pre></td>
2029
        </tr>
2030
      
2031
        <tr>
2032
          <td>DB_USER</td>
2033
          <td class="code"><pre>'root'</pre></td>
2034
        </tr>
2035
      
2036
        <tr>
2037
          <td>DEBUG</td>
2038
          <td class="code"><pre>True</pre></td>
2039
        </tr>
2040
      
2041
        <tr>
2042
          <td>DEBUG_PROPAGATE_EXCEPTIONS</td>
2043
          <td class="code"><pre>False</pre></td>
2044
        </tr>
2045
      
2046
        <tr>
2047
          <td>DECIMAL_SEPARATOR</td>
2048
          <td class="code"><pre>'.'</pre></td>
2049
        </tr>
2050
      
2051
        <tr>
2052
          <td>DEFAULT_CHARSET</td>
2053
          <td class="code"><pre>'utf-8'</pre></td>
2054
        </tr>
2055
      
2056
        <tr>
2057
          <td>DEFAULT_EXCEPTION_REPORTER</td>
2058
          <td class="code"><pre>'django.views.debug.ExceptionReporter'</pre></td>
2059
        </tr>
2060
      
2061
        <tr>
2062
          <td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
2063
          <td class="code"><pre>'django.views.debug.SafeExceptionReporterFilter'</pre></td>
2064
        </tr>
2065
      
2066
        <tr>
2067
          <td>DEFAULT_FILE_STORAGE</td>
2068
          <td class="code"><pre>'django.core.files.storage.FileSystemStorage'</pre></td>
2069
        </tr>
2070
      
2071
        <tr>
2072
          <td>DEFAULT_FROM_EMAIL</td>
2073
          <td class="code"><pre>'se-dmc@bhp.org.bw'</pre></td>
2074
        </tr>
2075
      
2076
        <tr>
2077
          <td>DEFAULT_HASHING_ALGORITHM</td>
2078
          <td class="code"><pre>'sha256'</pre></td>
2079
        </tr>
2080
      
2081
        <tr>
2082
          <td>DEFAULT_INDEX_TABLESPACE</td>
2083
          <td class="code"><pre>''</pre></td>
2084
        </tr>
2085
      
2086
        <tr>
2087
          <td>DEFAULT_STUDY_SITE</td>
2088
          <td class="code"><pre>40</pre></td>
2089
        </tr>
2090
      
2091
        <tr>
2092
          <td>DEFAULT_TABLESPACE</td>
2093
          <td class="code"><pre>''</pre></td>
2094
        </tr>
2095
      
2096
        <tr>
2097
          <td>DEVICE_ID</td>
2098
          <td class="code"><pre>'99'</pre></td>
2099
        </tr>
2100
      
2101
        <tr>
2102
          <td>DEVICE_ROLE</td>
2103
          <td class="code"><pre>'CentralServer'</pre></td>
2104
        </tr>
2105
      
2106
        <tr>
2107
          <td>DISALLOWED_USER_AGENTS</td>
2108
          <td class="code"><pre>[]</pre></td>
2109
        </tr>
2110
      
2111
        <tr>
2112
          <td>EMAIL_BACKEND</td>
2113
          <td class="code"><pre>'django.core.mail.backends.smtp.EmailBackend'</pre></td>
2114
        </tr>
2115
      
2116
        <tr>
2117
          <td>EMAIL_HOST</td>
2118
          <td class="code"><pre>'mail.bhp.org.bw'</pre></td>
2119
        </tr>
2120
      
2121
        <tr>
2122
          <td>EMAIL_HOST_PASSWORD</td>
2123
          <td class="code"><pre>'********************'</pre></td>
2124
        </tr>
2125
      
2126
        <tr>
2127
          <td>EMAIL_HOST_USER</td>
2128
          <td class="code"><pre>'se-dmc'</pre></td>
2129
        </tr>
2130
      
2131
        <tr>
2132
          <td>EMAIL_PORT</td>
2133
          <td class="code"><pre>'25'</pre></td>
2134
        </tr>
2135
      
2136
        <tr>
2137
          <td>EMAIL_SSL_CERTFILE</td>
2138
          <td class="code"><pre>None</pre></td>
2139
        </tr>
2140
      
2141
        <tr>
2142
          <td>EMAIL_SSL_KEYFILE</td>
2143
          <td class="code"><pre>'********************'</pre></td>
2144
        </tr>
2145
      
2146
        <tr>
2147
          <td>EMAIL_SUBJECT_PREFIX</td>
2148
          <td class="code"><pre>'[Django] '</pre></td>
2149
        </tr>
2150
      
2151
        <tr>
2152
          <td>EMAIL_TIMEOUT</td>
2153
          <td class="code"><pre>None</pre></td>
2154
        </tr>
2155
      
2156
        <tr>
2157
          <td>EMAIL_USE_LOCALTIME</td>
2158
          <td class="code"><pre>False</pre></td>
2159
        </tr>
2160
      
2161
        <tr>
2162
          <td>EMAIL_USE_SSL</td>
2163
          <td class="code"><pre>False</pre></td>
2164
        </tr>
2165
      
2166
        <tr>
2167
          <td>EMAIL_USE_TLS</td>
2168
          <td class="code"><pre>'True'</pre></td>
2169
        </tr>
2170
      
2171
        <tr>
2172
          <td>ETC_DIR</td>
2173
          <td class="code"><pre>'/etc/flourish'</pre></td>
2174
        </tr>
2175
      
2176
        <tr>
2177
          <td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
2178
          <td class="code"><pre>None</pre></td>
2179
        </tr>
2180
      
2181
        <tr>
2182
          <td>FILE_UPLOAD_HANDLERS</td>
2183
          <td class="code"><pre>['django.core.files.uploadhandler.MemoryFileUploadHandler',
2184
 'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
2185
        </tr>
2186
      
2187
        <tr>
2188
          <td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
2189
          <td class="code"><pre>2621440</pre></td>
2190
        </tr>
2191
      
2192
        <tr>
2193
          <td>FILE_UPLOAD_PERMISSIONS</td>
2194
          <td class="code"><pre>420</pre></td>
2195
        </tr>
2196
      
2197
        <tr>
2198
          <td>FILE_UPLOAD_TEMP_DIR</td>
2199
          <td class="code"><pre>None</pre></td>
2200
        </tr>
2201
      
2202
        <tr>
2203
          <td>FIRST_DAY_OF_WEEK</td>
2204
          <td class="code"><pre>0</pre></td>
2205
        </tr>
2206
      
2207
        <tr>
2208
          <td>FIXTURE_DIRS</td>
2209
          <td class="code"><pre>[]</pre></td>
2210
        </tr>
2211
      
2212
        <tr>
2213
          <td>FORCE_SCRIPT_NAME</td>
2214
          <td class="code"><pre>None</pre></td>
2215
        </tr>
2216
      
2217
        <tr>
2218
          <td>FORMAT_MODULE_PATH</td>
2219
          <td class="code"><pre>None</pre></td>
2220
        </tr>
2221
      
2222
        <tr>
2223
          <td>FORM_RENDERER</td>
2224
          <td class="code"><pre>'django.forms.renderers.DjangoTemplates'</pre></td>
2225
        </tr>
2226
      
2227
        <tr>
2228
          <td>HOLIDAY_FILE</td>
2229
          <td class="code"><pre>'/home/flourish/source/flourish/holidays.csv'</pre></td>
2230
        </tr>
2231
      
2232
        <tr>
2233
          <td>HOST</td>
2234
          <td class="code"><pre>'127.0.0.1'</pre></td>
2235
        </tr>
2236
      
2237
        <tr>
2238
          <td>IGNORABLE_404_URLS</td>
2239
          <td class="code"><pre>[]</pre></td>
2240
        </tr>
2241
      
2242
        <tr>
2243
          <td>INDEX_PAGE</td>
2244
          <td class="code"><pre>'flourish.bhp.org.bw'</pre></td>
2245
        </tr>
2246
      
2247
        <tr>
2248
          <td>INSTALLED_APPS</td>
2249
          <td class="code"><pre>['django.contrib.admin',
2250
 'django.contrib.auth',
2251
 'django.contrib.contenttypes',
2252
 'django.contrib.sessions',
2253
 'django.contrib.sites',
2254
 'django.contrib.messages',
2255
 'django.contrib.staticfiles',
2256
 'django_crypto_fields.apps.AppConfig',
2257
 'django_q',
2258
 'django_extensions',
2259
 'crispy_forms',
2260
 'multiselectfield',
2261
 'edc_action_item.apps.AppConfig',
2262
 'edc_consent.apps.AppConfig',
2263
 'edc_dashboard.apps.AppConfig',
2264
 'edc_device.apps.AppConfig',
2265
 'edc_identifier.apps.AppConfig',
2266
 'edc_lab.apps.AppConfig',
2267
 'edc_model_admin.apps.AppConfig',
2268
 'edc_navbar.apps.AppConfig',
2269
 'edc_prn.apps.AppConfig',
2270
 'edc_registration.apps.AppConfig',
2271
 'edc_reference.apps.AppConfig',
2272
 'edc_subject_dashboard.apps.AppConfig',
2273
 'edc_visit_schedule.apps.AppConfig',
2274
 'edc_call_manager.apps.AppConfig',
2275
 'edc_metadata_rules.apps.AppConfig',
2276
 'flourish_export.apps.AppConfig',
2277
 'flourish_dashboard.apps.AppConfig',
2278
 'flourish_prn.apps.AppConfig',
2279
 'flourish_caregiver.apps.AppConfig',
2280
 'flourish_child.apps.AppConfig',
2281
 'flourish_follow.apps.AppConfig',
2282
 'pre_flourish_follow.apps.AppConfig',
2283
 'flourish_reports.apps.AppConfig',
2284
 'flourish_metadata_rules.apps.AppConfig',
2285
 'flourish_labs.apps.AppConfig',
2286
 'flourish_reference.apps.AppConfig',
2287
 'flourish_visit_schedule.apps.AppConfig',
2288
 'flourish.apps.EdcAppointmentAppConfig',
2289
 'flourish.apps.EdcBaseAppConfig',
2290
 'flourish.apps.EdcDataManagerAppConfig',
2291
 'flourish.apps.EdcFacilityAppConfig',
2292
 'flourish.apps.EdcLocatorAppConfig',
2293
 'flourish.apps.EdcMetadataAppConfig',
2294
 'flourish.apps.EdcOdkAppConfig',
2295
 'flourish.apps.EdcProtocolAppConfig',
2296
 'flourish.apps.EdcVisitTrackingAppConfig',
2297
 'flourish.apps.EdcTimepointAppConfig',
2298
 'flourish.apps.EdcSenaiteInterfaceAppConfig',
2299
 'pre_flourish.apps.AppConfig',
2300
 'flourish_calendar.apps.AppConfig',
2301
 'flourish.apps.AppConfig',
2302
 'rest_framework',
2303
 'rest_framework.authtoken',
2304
 'cacheops']</pre></td>
2305
        </tr>
2306
      
2307
        <tr>
2308
          <td>INTERNAL_IPS</td>
2309
          <td class="code"><pre>[]</pre></td>
2310
        </tr>
2311
      
2312
        <tr>
2313
          <td>LANGUAGES</td>
2314
          <td class="code"><pre>(('tn', 'Setswana'), ('en', 'English'))</pre></td>
2315
        </tr>
2316
      
2317
        <tr>
2318
          <td>LANGUAGES_BIDI</td>
2319
          <td class="code"><pre>['he', 'ar', 'ar-dz', 'fa', 'ur']</pre></td>
2320
        </tr>
2321
      
2322
        <tr>
2323
          <td>LANGUAGE_CODE</td>
2324
          <td class="code"><pre>'en-us'</pre></td>
2325
        </tr>
2326
      
2327
        <tr>
2328
          <td>LANGUAGE_COOKIE_AGE</td>
2329
          <td class="code"><pre>None</pre></td>
2330
        </tr>
2331
      
2332
        <tr>
2333
          <td>LANGUAGE_COOKIE_DOMAIN</td>
2334
          <td class="code"><pre>None</pre></td>
2335
        </tr>
2336
      
2337
        <tr>
2338
          <td>LANGUAGE_COOKIE_HTTPONLY</td>
2339
          <td class="code"><pre>False</pre></td>
2340
        </tr>
2341
      
2342
        <tr>
2343
          <td>LANGUAGE_COOKIE_NAME</td>
2344
          <td class="code"><pre>'django_language'</pre></td>
2345
        </tr>
2346
      
2347
        <tr>
2348
          <td>LANGUAGE_COOKIE_PATH</td>
2349
          <td class="code"><pre>'/'</pre></td>
2350
        </tr>
2351
      
2352
        <tr>
2353
          <td>LANGUAGE_COOKIE_SAMESITE</td>
2354
          <td class="code"><pre>None</pre></td>
2355
        </tr>
2356
      
2357
        <tr>
2358
          <td>LANGUAGE_COOKIE_SECURE</td>
2359
          <td class="code"><pre>False</pre></td>
2360
        </tr>
2361
      
2362
        <tr>
2363
          <td>LOCALE_PATHS</td>
2364
          <td class="code"><pre>[]</pre></td>
2365
        </tr>
2366
      
2367
        <tr>
2368
          <td>LOGGING</td>
2369
          <td class="code"><pre>{}</pre></td>
2370
        </tr>
2371
      
2372
        <tr>
2373
          <td>LOGGING_CONFIG</td>
2374
          <td class="code"><pre>'logging.config.dictConfig'</pre></td>
2375
        </tr>
2376
      
2377
        <tr>
2378
          <td>LOGIN_REDIRECT_URL</td>
2379
          <td class="code"><pre>'home_url'</pre></td>
2380
        </tr>
2381
      
2382
        <tr>
2383
          <td>LOGIN_URL</td>
2384
          <td class="code"><pre>'/accounts/login/'</pre></td>
2385
        </tr>
2386
      
2387
        <tr>
2388
          <td>LOGOUT_REDIRECT_URL</td>
2389
          <td class="code"><pre>None</pre></td>
2390
        </tr>
2391
      
2392
        <tr>
2393
          <td>MANAGERS</td>
2394
          <td class="code"><pre>[]</pre></td>
2395
        </tr>
2396
      
2397
        <tr>
2398
          <td>MEDIA_ROOT</td>
2399
          <td class="code"><pre>'/home/flourish/source/flourish/media'</pre></td>
2400
        </tr>
2401
      
2402
        <tr>
2403
          <td>MEDIA_URL</td>
2404
          <td class="code"><pre>'/media/'</pre></td>
2405
        </tr>
2406
      
2407
        <tr>
2408
          <td>MESSAGE_STORAGE</td>
2409
          <td class="code"><pre>'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
2410
        </tr>
2411
      
2412
        <tr>
2413
          <td>MIDDLEWARE</td>
2414
          <td class="code"><pre>['django.middleware.security.SecurityMiddleware',
2415
 'django.contrib.sessions.middleware.SessionMiddleware',
2416
 'django.middleware.common.CommonMiddleware',
2417
 'django.middleware.csrf.CsrfViewMiddleware',
2418
 'django.contrib.auth.middleware.AuthenticationMiddleware',
2419
 'django.contrib.sites.middleware.CurrentSiteMiddleware',
2420
 'django.contrib.messages.middleware.MessageMiddleware',
2421
 'django.middleware.clickjacking.XFrameOptionsMiddleware',
2422
 'edc_dashboard.middleware.DashboardMiddleware',
2423
 'edc_subject_dashboard.middleware.DashboardMiddleware']</pre></td>
2424
        </tr>
2425
      
2426
        <tr>
2427
          <td>MIGRATION_MODULES</td>
2428
          <td class="code"><pre>{}</pre></td>
2429
        </tr>
2430
      
2431
        <tr>
2432
          <td>MONTH_DAY_FORMAT</td>
2433
          <td class="code"><pre>'F j'</pre></td>
2434
        </tr>
2435
      
2436
        <tr>
2437
          <td>NUMBER_GROUPING</td>
2438
          <td class="code"><pre>0</pre></td>
2439
        </tr>
2440
      
2441
        <tr>
2442
          <td>ODK_CONFIGURATION</td>
2443
          <td class="code"><pre>{'OPTIONS': {'read_default_file': '/etc/odk/odk.cnf'}}</pre></td>
2444
        </tr>
2445
      
2446
        <tr>
2447
          <td>ODK_SERVER_TYPE</td>
2448
          <td class="code"><pre>'central'</pre></td>
2449
        </tr>
2450
      
2451
        <tr>
2452
          <td>PARENT_REFERENCE_MODEL1</td>
2453
          <td class="code"><pre>''</pre></td>
2454
        </tr>
2455
      
2456
        <tr>
2457
          <td>PARENT_REFERENCE_MODEL2</td>
2458
          <td class="code"><pre>''</pre></td>
2459
        </tr>
2460
      
2461
        <tr>
2462
          <td>PASSWORD_HASHERS</td>
2463
          <td class="code"><pre>'********************'</pre></td>
2464
        </tr>
2465
      
2466
        <tr>
2467
          <td>PASSWORD_RESET_TIMEOUT</td>
2468
          <td class="code"><pre>'********************'</pre></td>
2469
        </tr>
2470
      
2471
        <tr>
2472
          <td>PASSWORD_RESET_TIMEOUT_DAYS</td>
2473
          <td class="code"><pre>'********************'</pre></td>
2474
        </tr>
2475
      
2476
        <tr>
2477
          <td>PORT</td>
2478
          <td class="code"><pre>'3306'</pre></td>
2479
        </tr>
2480
      
2481
        <tr>
2482
          <td>PREPEND_WWW</td>
2483
          <td class="code"><pre>False</pre></td>
2484
        </tr>
2485
      
2486
        <tr>
2487
          <td>REVIEWER_SITE_ID</td>
2488
          <td class="code"><pre>1</pre></td>
2489
        </tr>
2490
      
2491
        <tr>
2492
          <td>ROOT_URLCONF</td>
2493
          <td class="code"><pre>'flourish.urls'</pre></td>
2494
        </tr>
2495
      
2496
        <tr>
2497
          <td>SECRET_KEY</td>
2498
          <td class="code"><pre>'********************'</pre></td>
2499
        </tr>
2500
      
2501
        <tr>
2502
          <td>SECURE_BROWSER_XSS_FILTER</td>
2503
          <td class="code"><pre>False</pre></td>
2504
        </tr>
2505
      
2506
        <tr>
2507
          <td>SECURE_CONTENT_TYPE_NOSNIFF</td>
2508
          <td class="code"><pre>True</pre></td>
2509
        </tr>
2510
      
2511
        <tr>
2512
          <td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
2513
          <td class="code"><pre>False</pre></td>
2514
        </tr>
2515
      
2516
        <tr>
2517
          <td>SECURE_HSTS_PRELOAD</td>
2518
          <td class="code"><pre>False</pre></td>
2519
        </tr>
2520
      
2521
        <tr>
2522
          <td>SECURE_HSTS_SECONDS</td>
2523
          <td class="code"><pre>0</pre></td>
2524
        </tr>
2525
      
2526
        <tr>
2527
          <td>SECURE_PROXY_SSL_HEADER</td>
2528
          <td class="code"><pre>None</pre></td>
2529
        </tr>
2530
      
2531
        <tr>
2532
          <td>SECURE_REDIRECT_EXEMPT</td>
2533
          <td class="code"><pre>[]</pre></td>
2534
        </tr>
2535
      
2536
        <tr>
2537
          <td>SECURE_REFERRER_POLICY</td>
2538
          <td class="code"><pre>'same-origin'</pre></td>
2539
        </tr>
2540
      
2541
        <tr>
2542
          <td>SECURE_SSL_HOST</td>
2543
          <td class="code"><pre>None</pre></td>
2544
        </tr>
2545
      
2546
        <tr>
2547
          <td>SECURE_SSL_REDIRECT</td>
2548
          <td class="code"><pre>False</pre></td>
2549
        </tr>
2550
      
2551
        <tr>
2552
          <td>SENAITE_CONFIGURATION</td>
2553
          <td class="code"><pre>{'OPTIONS': {'read_default_file': '/etc/edc_senaite_interface/senaite.conf'}}</pre></td>
2554
        </tr>
2555
      
2556
        <tr>
2557
          <td>SERVER_EMAIL</td>
2558
          <td class="code"><pre>'root@localhost'</pre></td>
2559
        </tr>
2560
      
2561
        <tr>
2562
          <td>SESSION_CACHE_ALIAS</td>
2563
          <td class="code"><pre>'default'</pre></td>
2564
        </tr>
2565
      
2566
        <tr>
2567
          <td>SESSION_COOKIE_AGE</td>
2568
          <td class="code"><pre>1209600</pre></td>
2569
        </tr>
2570
      
2571
        <tr>
2572
          <td>SESSION_COOKIE_DOMAIN</td>
2573
          <td class="code"><pre>None</pre></td>
2574
        </tr>
2575
      
2576
        <tr>
2577
          <td>SESSION_COOKIE_HTTPONLY</td>
2578
          <td class="code"><pre>True</pre></td>
2579
        </tr>
2580
      
2581
        <tr>
2582
          <td>SESSION_COOKIE_NAME</td>
2583
          <td class="code"><pre>'sessionid'</pre></td>
2584
        </tr>
2585
      
2586
        <tr>
2587
          <td>SESSION_COOKIE_PATH</td>
2588
          <td class="code"><pre>'/'</pre></td>
2589
        </tr>
2590
      
2591
        <tr>
2592
          <td>SESSION_COOKIE_SAMESITE</td>
2593
          <td class="code"><pre>'Lax'</pre></td>
2594
        </tr>
2595
      
2596
        <tr>
2597
          <td>SESSION_COOKIE_SECURE</td>
2598
          <td class="code"><pre>False</pre></td>
2599
        </tr>
2600
      
2601
        <tr>
2602
          <td>SESSION_ENGINE</td>
2603
          <td class="code"><pre>'django.contrib.sessions.backends.db'</pre></td>
2604
        </tr>
2605
      
2606
        <tr>
2607
          <td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
2608
          <td class="code"><pre>False</pre></td>
2609
        </tr>
2610
      
2611
        <tr>
2612
          <td>SESSION_FILE_PATH</td>
2613
          <td class="code"><pre>None</pre></td>
2614
        </tr>
2615
      
2616
        <tr>
2617
          <td>SESSION_SAVE_EVERY_REQUEST</td>
2618
          <td class="code"><pre>False</pre></td>
2619
        </tr>
2620
      
2621
        <tr>
2622
          <td>SESSION_SERIALIZER</td>
2623
          <td class="code"><pre>'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
2624
        </tr>
2625
      
2626
        <tr>
2627
          <td>SETTINGS_MODULE</td>
2628
          <td class="code"><pre>'flourish.settings'</pre></td>
2629
        </tr>
2630
      
2631
        <tr>
2632
          <td>SHORT_DATETIME_FORMAT</td>
2633
          <td class="code"><pre>'Y-m-d h:m'</pre></td>
2634
        </tr>
2635
      
2636
        <tr>
2637
          <td>SHORT_DATE_FORMAT</td>
2638
          <td class="code"><pre>'Y-m-d'</pre></td>
2639
        </tr>
2640
      
2641
        <tr>
2642
          <td>SIGNING_BACKEND</td>
2643
          <td class="code"><pre>'django.core.signing.TimestampSigner'</pre></td>
2644
        </tr>
2645
      
2646
        <tr>
2647
          <td>SILENCED_SYSTEM_CHECKS</td>
2648
          <td class="code"><pre>[]</pre></td>
2649
        </tr>
2650
      
2651
        <tr>
2652
          <td>SITE_ID</td>
2653
          <td class="code"><pre>40</pre></td>
2654
        </tr>
2655
      
2656
        <tr>
2657
          <td>STATICFILES_DIRS</td>
2658
          <td class="code"><pre>[]</pre></td>
2659
        </tr>
2660
      
2661
        <tr>
2662
          <td>STATICFILES_FINDERS</td>
2663
          <td class="code"><pre>['django.contrib.staticfiles.finders.FileSystemFinder',
2664
 'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
2665
        </tr>
2666
      
2667
        <tr>
2668
          <td>STATICFILES_STORAGE</td>
2669
          <td class="code"><pre>'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
2670
        </tr>
2671
      
2672
        <tr>
2673
          <td>STATIC_ROOT</td>
2674
          <td class="code"><pre>'/home/flourish/source/flourish/flourish/static'</pre></td>
2675
        </tr>
2676
      
2677
        <tr>
2678
          <td>STATIC_URL</td>
2679
          <td class="code"><pre>'/static/'</pre></td>
2680
        </tr>
2681
      
2682
        <tr>
2683
          <td>TELEPHONE_REGEX</td>
2684
          <td class="code"><pre>'^[2-8]{1}[0-9]{6}$'</pre></td>
2685
        </tr>
2686
      
2687
        <tr>
2688
          <td>TEMPLATES</td>
2689
          <td class="code"><pre>[{'APP_DIRS': True,
2690
  'BACKEND': 'django.template.backends.django.DjangoTemplates',
2691
  'DIRS': [],
2692
  'OPTIONS': {'context_processors': ['django.template.context_processors.debug',
2693
                                     'django.template.context_processors.request',
2694
                                     'django.contrib.auth.context_processors.auth',
2695
                                     'django.contrib.messages.context_processors.messages']}}]</pre></td>
2696
        </tr>
2697
      
2698
        <tr>
2699
          <td>TEST_NON_SERIALIZED_APPS</td>
2700
          <td class="code"><pre>[]</pre></td>
2701
        </tr>
2702
      
2703
        <tr>
2704
          <td>TEST_RUNNER</td>
2705
          <td class="code"><pre>'django.test.runner.DiscoverRunner'</pre></td>
2706
        </tr>
2707
      
2708
        <tr>
2709
          <td>THOUSAND_SEPARATOR</td>
2710
          <td class="code"><pre>','</pre></td>
2711
        </tr>
2712
      
2713
        <tr>
2714
          <td>TIME_FORMAT</td>
2715
          <td class="code"><pre>'P'</pre></td>
2716
        </tr>
2717
      
2718
        <tr>
2719
          <td>TIME_INPUT_FORMATS</td>
2720
          <td class="code"><pre>['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']</pre></td>
2721
        </tr>
2722
      
2723
        <tr>
2724
          <td>TIME_ZONE</td>
2725
          <td class="code"><pre>'Africa/Gaborone'</pre></td>
2726
        </tr>
2727
      
2728
        <tr>
2729
          <td>USE_I18N</td>
2730
          <td class="code"><pre>True</pre></td>
2731
        </tr>
2732
      
2733
        <tr>
2734
          <td>USE_L10N</td>
2735
          <td class="code"><pre>False</pre></td>
2736
        </tr>
2737
      
2738
        <tr>
2739
          <td>USE_THOUSAND_SEPARATOR</td>
2740
          <td class="code"><pre>False</pre></td>
2741
        </tr>
2742
      
2743
        <tr>
2744
          <td>USE_TZ</td>
2745
          <td class="code"><pre>True</pre></td>
2746
        </tr>
2747
      
2748
        <tr>
2749
          <td>USE_X_FORWARDED_HOST</td>
2750
          <td class="code"><pre>False</pre></td>
2751
        </tr>
2752
      
2753
        <tr>
2754
          <td>USE_X_FORWARDED_PORT</td>
2755
          <td class="code"><pre>False</pre></td>
2756
        </tr>
2757
      
2758
        <tr>
2759
          <td>WSGI_APPLICATION</td>
2760
          <td class="code"><pre>'flourish.wsgi.application'</pre></td>
2761
        </tr>
2762
      
2763
        <tr>
2764
          <td>X_FRAME_OPTIONS</td>
2765
          <td class="code"><pre>'DENY'</pre></td>
2766
        </tr>
2767
      
2768
        <tr>
2769
          <td>YEAR_MONTH_FORMAT</td>
2770
          <td class="code"><pre>'F Y'</pre></td>
2771
        </tr>
2772
      
2773
    </tbody>
2774
  </table>
2775

    
2776
</div>
2777

    
2778
  <div id="explanation">
2779
    <p>
2780
      You're seeing this error because you have <code>DEBUG = True</code> in your
2781
      Django settings file. Change that to <code>False</code>, and Django will
2782
      display a standard page generated by the handler for this status code.
2783
    </p>
2784
  </div>
2785

    
2786

    
2787

    
2788
<div id="mfa_inject_cartdata" hidden="hidden"></div><div id="mfa_inject" hidden="hidden"></div></body></html>