photo_verification.html 20 KB
Newer Older
1 2
<%! from django.utils.translation import ugettext as _ %>
<%! from django.core.urlresolvers import reverse %>
3

4
<%inherit file="../main.html" />
5
<%namespace name='static' file='/static_content.html'/>
6

7
<%block name="bodyclass">register verification-process step-photos ${'is-upgrading' if upgrade else ''}</%block>
8
<%block name="pagetitle">
9 10 11 12 13 14
    %if upgrade:
      ${_("Upgrade Your Registration for {} | Verification").format(course_name)}
    %else:
      ${_("Register for {} | Verification").format(course_name)}
    %endif
</%block>
15 16

<%block name="js_extra">
17 18
<script src="${static.url('js/vendor/responsive-carousel/responsive-carousel.js')}"></script>
<script src="${static.url('js/vendor/responsive-carousel/responsive-carousel.keybd.js')}"></script>
19
<script src="${static.url('js/verify_student/photocapture.js')}"></script>
20 21 22
</%block>

<%block name="content">
23

24
<div id="no-webcam" style="display: none;" class="wrapper-msg wrapper-msg-activate">
25 26 27 28 29
  <div class=" msg msg-activate">
    <i class="msg-icon icon-warning-sign"></i>
    <div class="msg-content">
      <h3 class="title">${_("No Webcam Detected")}</h3>
      <div class="copy">
30
        <p>${_("You don't seem to have a webcam connected. Double-check that your webcam is connected and working to continue registering, or select to {a_start} audit the course for free {a_end} without verifying.").format(a_start='<a rel="external" href="{}">'.format(course_modes_choose_url), a_end="</a>")}</p>
31 32 33 34 35
      </div>
    </div>
  </div>
</div>

36
<div id="no-flash" style="display: none;" class="wrapper-msg wrapper-msg-activate">
37 38 39 40 41 42 43 44 45 46 47
  <div class=" msg msg-activate">
    <i class="msg-icon icon-warning-sign"></i>
    <div class="msg-content">
      <h3 class="title">${_("No Flash Detected")}</h3>
      <div class="copy">
        <p>${_("You don't seem to have Flash installed. {a_start} Get Flash {a_end} to continue your registration.").format(a_start='<a rel="external" href="http://get.adobe.com/flashplayer/">', a_end="</a>")}</p>
      </div>
    </div>
  </div>
</div>

48 49 50 51 52 53
<div id="order-error" style="display: none;" class="wrapper-msg wrapper-msg-activate">
  <div class=" msg msg-activate">
    <i class="msg-icon icon-warning-sign"></i>
    <div class="msg-content">
      <h3 class="title">${_("Error processing your order")}</h3>
      <div class="copy">
54
        <p>${_("Oops! Something went wrong. Please confirm your details again and click the button to move on to payment. If you are still having trouble, please try again later.")}</p>
55 56 57 58
      </div>
    </div>
  </div>
</div>
59

60
<div class="container">
61 62
  <section class="wrapper">

63
    <%include file="_verification_header.html" args="course_name=course_name" />
64

65 66
    <div class="wrapper-progress">
      <section class="progress">
67
        <h3 class="sr title">${_("Your Progress")}</h3>
68 69 70

        <ol class="progress-steps">
          <li class="progress-step is-completed" id="progress-step0">
71
            <span class="wrapper-step-number"><span class="step-number">0</span></span>
72
            <span class="step-name">${_("Intro")}</span>
73 74
          </li>

75 76
          <li class="progress-step is-current" id="progress-step1">
            <span class="wrapper-step-number"><span class="step-number">1</span></span>
77
            <span class="step-name"><span class="sr">${_("Current Step: ")}</span>${_("Take Photo")}</span>
78 79 80
          </li>

          <li class="progress-step" id="progress-step2">
81
            <span class="wrapper-step-number"><span class="step-number">2</span></span>
82
            <span class="step-name">${_("Take ID Photo")}</span>
83 84 85
          </li>

          <li class="progress-step" id="progress-step3">
86
            <span class="wrapper-step-number"><span class="step-number">3</span></span>
87
            <span class="step-name">${_("Review")}</span>
88 89 90
          </li>

          <li class="progress-step" id="progress-step4">
91
            <span class="wrapper-step-number"><span class="step-number">4</span></span>
92
            <span class="step-name">${_("Make Payment")}</span>
93 94
          </li>

95
          <li class="progress-step progress-step-icon" id="progress-step5">
96 97 98
            <span class="wrapper-step-number"><span class="step-number">
              <i class="icon-ok"></i>
            </span></span>
99
            <span class="step-name">${_("Confirmation")}</span>
100 101
          </li>
        </ol>
102 103 104 105

        <span class="progress-sts">
          <span class="progress-sts-value"></span>
        </span>
106
      </section>
107 108
    </div>

109 110 111 112
    <div class="wrapper-content-main">
      <article class="content-main">

        <section class="wrapper carousel"  data-transition="slide">
113
          <div id="wrapper-facephoto" class="wrapper-view block-photo">
114
            <div class="facephoto view">
115
              <h3 class="title">${_("Take Your Photo")}</h3>
116
              <div class="instruction">
117
                <p>${_("Use your webcam to take a picture of your face so we can match it with the picture on your ID.")}</p>
118 119 120 121
              </div>

              <div class="wrapper-task">
                <div id="facecam" class="task cam">
122
                  <div class="placeholder-cam" id="face_capture_div">
123 124

                    <div class="placeholder-art">
125
                      <p class="copy">${_("Don't see your picture? Make sure to allow your browser to use your camera when it asks for permission.")}</p>
126 127 128
                    </div>

                    <video id="face_video" autoplay></video><br/>
129 130 131 132 133 134 135
                    <canvas id="face_canvas" style="display:none;" width="640" height="480"></canvas>
                  </div>

                  <div class="controls photo-controls">
                    <ul class="list-controls">
                      <li class="control control-redo" id="face_reset_button">
                        <a class="action action-redo" href="">
136
                          <i class="icon-undo"></i> <span class="sr">${_("Retake")}</span>
137 138 139 140 141
                        </a>
                      </li>

                      <li class="control control-do" id="face_capture_button">
                        <a class="action action-do" href="">
142
                          <i class="icon-camera"></i><span class="sr">${_("Take photo")}</span>
143 144 145 146 147
                        </a>
                      </li>

                      <li class="control control-approve" id="face_approve_button">
                        <a class="action action-approve" href="">
148
                          <i class="icon-ok"></i> <span class="sr">${_("Looks good")}</span>
149 150 151 152 153 154 155
                        </a>
                      </li>
                    </ul>
                  </div>
                </div>

                <div class="wrapper-help">
156
                  <div class="help help-task photo-tips facetips">
157
                    <h4 class="title">${_("Tips on taking a successful photo")}</h4>
158 159

                    <div class="copy">
160
                      <ul class="list-help">
161 162 163
                        <li class="help-item">${_("Make sure your face is well-lit")}</li>
                        <li class="help-item">${_("Be sure your entire face is inside the frame")}</li>
                        <li class="help-item">${_("Can we match the photo you took with the one on your ID?")}</li>
164 165
                        <li class="help-item">${_("Once in position, use the camera button")} <span class="example">(<i class="icon-camera"></i>)</span> ${_("to capture your picture")}</li>
                        <li class="help-item">${_("Use the checkmark button")} <span class="example">(<i class="icon-ok"></i>)</span> ${_("once you are happy with the photo")}</li>
166 167 168 169
                      </ul>
                    </div>
                  </div>

170
                  <div class="help help-faq facefaq">
171
                    <h4 class="sr title">${_("Common Questions")}</h4>
172 173 174

                    <div class="copy">
                      <dl class="list-faq">
175
                        <dt class="faq-question">${_("Why do you need my photo?")}</dt>
176
                        <dd class="faq-answer">${_("As part of the verification process, we need your photo to confirm that you are you.")}</dd>
177

178 179
                        <dt class="faq-question">${_("What do you do with this picture?")}</dt>
                        <dd class="faq-answer">${_("We only use it to verify your identity.  It is not displayed anywhere.")}</dd>
180
                        <dt class="faq-question">${_("What if my camera isn't working?")}</dt>
181 182 183 184

                        %if upgrade:
                          <dd class="faq-answer">${_("You can always continue to audit the course without verifying.")}</dd>
                        %else:
185
                          <dd class="faq-answer">${_("You can always {a_start} audit the course for free {a_end} without verifying.").format(a_start='<a rel="external" href="{}">'.format(course_modes_choose_url), a_end="</a>")}</dd>
186
                        %endif
187 188 189 190 191 192
                      </dl>
                    </div>
                  </div>
                </div>
              </div>

193
              <nav class="nav-wizard" id="face_next_button_nav">
194
                <span class="help help-inline">${_("Once you verify your photo looks good, you can move on to step 2.")}</span>
195 196 197

                <ol class="wizard-steps">
                  <li class="wizard-step">
198
                    <a id="face_next_link" class="next action-primary" href="#next" aria-hidden="true" title="Next">${_("Go to Step 2: Take ID Photo")}</a>
199 200 201 202 203 204 205
                  </li>
                </ol>
              </nav>

            </div> <!-- /view -->
          </div> <!-- /wrapper-view -->

206
          <div id="wrapper-idphoto" class="wrapper-view block-photo">
207
            <div class="idphoto view">
208
              <h3 class="title">${_("Show Us Your ID")}</h3>
209
              <div class="instruction">
210
                <p>${_("Use your webcam to take a picture of your ID so we can match it with your photo and the name on your account.")}</p>
211 212 213 214
              </div>

              <div class="wrapper-task">
                <div id="idcam" class="task cam">
215
                  <div class="placeholder-cam" id="photo_id_capture_div">
216 217

                    <div class="placeholder-art">
218
                      <p class="copy">${_("Don't see your picture? Make sure to allow your browser to use your camera when it asks for permission.")}</p>
219 220 221
                    </div>

                    <video id="photo_id_video" autoplay></video><br/>
222 223 224 225 226 227 228
                    <canvas id="photo_id_canvas" style="display:none;" width="640" height="480"></canvas>
                  </div>

                  <div class="controls photo-controls">
                    <ul class="list-controls">
                      <li class="control control-redo" id="photo_id_reset_button">
                        <a class="action action-redo" href="">
229
                          <i class="icon-undo"></i> <span class="sr">${_("Retake")}</span>
230 231 232 233 234
                        </a>
                      </li>

                      <li class="control control-do" id="photo_id_capture_button">
                        <a class="action action-do" href="">
235
                          <i class="icon-camera"></i> <span class="sr">${_("Take photo")}</span>
236 237 238 239 240
                        </a>
                      </li>

                      <li class="control control-approve" id="photo_id_approve_button">
                        <a class="action action-approve" href="">
241
                          <i class="icon-ok"></i> <span class="sr">${_("Looks good")}</span>
242 243 244 245 246 247 248
                        </a>
                      </li>
                    </ul>
                  </div>
                </div>

                <div class="wrapper-help">
249
                  <div class="help help-task photo-tips idtips">
250
                    <h4 class="title">${_("Tips on taking a successful photo")}</h4>
251 252

                    <div class="copy">
253 254 255 256 257 258
                      <ul class="list-help">
                        <li class="help-item">${_("Make sure your ID is well-lit")}</li>
                        <li class="help-item">${_("Check that there isn't any glare")}</li>
                        <li class="help-item">${_("Ensure that you can see your photo and read your name")}</li>
                        <li class="help-item">${_("Try to keep your fingers at the edge to avoid covering important information")}</li>
                        <li class="help-item">${_("Acceptable IDs include drivers licenses, passports, or other goverment-issued IDs that include your name and photo")}</li>
259 260
                        <li class="help-item">${_("Once in position, use the camera button")} <span class="example">(<i class="icon-camera"></i>)</span> ${_("to capture your ID")}</li>
                        <li class="help-item">${_("Use the checkmark button")} <span class="example">(<i class="icon-ok"></i>)</span> ${_("once you are happy with the photo")}</li>
261 262 263 264
                      </ul>
                    </div>
                  </div>

265
                  <div class="help help-faq facefaq">
266
                    <h4 class="sr title">${_("Common Questions")}</h4>
267 268 269

                    <div class="copy">
                      <dl class="list-faq">
270 271
                        <dt class="faq-question">${_("Why do you need a photo of my ID?")}</dt>
                        <dd class="faq-answer">${_("We need to match your ID with your photo and name to confirm that you are you.")}</dd>
272

273 274
                        <dt class="faq-question">${_("What do you do with this picture?")}</dt>
                        <dd class="faq-answer">${_("We encrypt it and send it to our secure authorization service for review. We use the highest levels of security and do not save the photo or information anywhere once the match has been completed.")}</dd>
275 276 277 278 279 280
                      </dl>
                    </div>
                  </div>
                </div>
              </div>

281
              <nav class="nav-wizard" id="photo_id_next_button_nav">
282
                <span class="help help-inline">${_("Once you verify your ID photo looks good, you can move on to step 3.")}</span>
283 284 285

                <ol class="wizard-steps">
                  <li class="wizard-step">
286
                    <a id="photo_id_next_link" class="next action-primary" href="#next" aria-hidden="true" title="Next">${_("Go to Step 3: Review Your Info")}</a>
287 288 289 290 291 292
                  </li>
                </ol>
              </nav>
            </div> <!-- /view -->
          </div> <!-- /wrapper-view -->

293
          <div id="wrapper-review" class="wrapper-view">
294
            <div class="review view">
295
              <h3 class="title">${_("Verify Your Submission")}</h3>
296
              <div class="instruction">
297
                <p>${_("Make sure we can verify your identity with the photos and information below.")}</p>
298 299 300 301 302
              </div>

              <div class="wrapper-task">
                <ol class="review-tasks">

303
                  <li class="review-task review-task-photos">
304
                    <h4 class="title">${_("Review the Photos You've Taken")}</h4>
305 306

                    <div class="copy">
307
                      <p>${_("Please review the photos and verify that they meet the requirements listed below.")}</p>
308 309 310 311 312
                    </div>

                    <ol class="wrapper-photos">
                      <li class="wrapper-photo">
                        <div class="placeholder-photo">
313
                          <img id="face_image" src=""/>
314 315 316
                        </div>

                        <div class="help-tips">
317
                          <h5 class="title">${_("The photo above needs to meet the following requirements:")}</h5>
318
                          <ul class="list-help list-tips copy">
319 320
                            <li class="tip">${_("Be well lit")}</li>
                            <li class="tip">${_("Show your whole face")}</li>
321
                            <li class="tip">${_("The photo on your ID must match the photo of your face")}</li>
322 323 324 325 326 327
                          </ul>
                        </div>
                      </li>

                      <li class="wrapper-photo">
                       <div class="placeholder-photo">
328
                         <img id="photo_id_image" src=""/>
329 330 331
                       </div>

                       <div class="help-tips">
332
                         <h5 class="title">${_("The photo above needs to meet the following requirements:")}</h5>
333
                         <ul class="list-help list-tips copy">
334
                           <li class="tip">${_("Be readable (not too far away, no glare)")}</li>
335
                           <li class="tip">${_("The photo on your ID must match the photo of your face")}</li>
336
                           <li class="tip">${_("The name on your ID must match the name on your account below")}</li>
337 338 339 340
                         </ul>
                       </div>
                      </li>
                    </ol>
341 342 343

                    <div class="msg msg-retake msg-followup">
                      <div class="copy">
344
                        <p>${_("Photos don't meet the requirements?")}</p>
345 346 347 348
                      </div>

                      <ul class="list-actions">
                        <li class="action action-retakephotos">
349
                        <a class="retake-photos" href="javascript:void(0);" onclick="document.location.reload(true);">${_("Retake Your Photos")}</a>
350 351 352
                        </li>
                      </ul>
                    </div>
353 354
                  </li>

355 356 357 358 359 360 361 362 363 364 365 366 367 368
                  <li class="review-task review-task-name">
                    <h4 class="title">${_("Check Your Name")}</h4>

                    <div class="copy">
                        <p>${_("Make sure your full name on your edX account ({full_name}) matches your ID. We will also use this as the name on your certificate.").format(full_name="<span id='full-name'>" + user_full_name + "</span>")}</p>
                    </div>

                    <ul class="list-actions">
                      <li class="action action-editname">
                        <a class="edit-name" rel="leanModal" href="#edit-name">${_("Edit your name")}</a>
                      </li>
                    </ul>
                  </li>

369
                  <li class="review-task  review-task-contribution">
370
                    <h4 class="title">${_("Check Your Contribution Level")}</h4>
371 372

                    <div class="copy">
373
                      <p>${_("Please confirm your contribution for this course (min. $")} ${min_price} <span class="denomination-name">${currency}</span>${_("):")}</p>
374 375
                    </div>

376
                    <%include file="/course_modes/_contribution.html" args="suggested_prices=suggested_prices, currency=currency, chosen_price=chosen_price, min_price=min_price"/>
377

378 379 380 381 382
                  </li>
                </ol>
              </div>

              <nav class="nav-wizard">
383 384 385 386 387 388 389 390 391 392 393 394
                <div class="prompt-verify">
                  <h3 class="title">Before proceeding, please confirm that your details match</h3>

                   <p class="copy"> ${_("Once you verify your details match the requirements, you can move on to step 4, payment on our secure server.")}</p>

                  <ul class="list-actions">
                    <li class="action action-verify">
                      <input type="checkbox" name="match" id="confirm_pics_good" />
                      <label for="confirm_pics_good">${_("Yes! My details all match.")}</label>
                    </li>
                  </ul>
                </div>
395 396

                <ol class="wizard-steps">
397
                  <li class="wizard-step step-proceed">
398 399 400
                    <form id="pay_form" method="post" action="${purchase_endpoint}">
                      <input type="hidden" name="csrfmiddlewaretoken" value="${ csrf_token }">
                      <input type="hidden" name="course_id" value="${course_id | h}" />
401
                      <input class="action-primary disabled" type="button" id="pay_button" value="Go to Step 4: Secure Payment" name="payment">
402 403 404 405 406 407 408 409 410 411
                    </form>
                  </li>
                </ol>
              </nav>
            </div> <!-- /view -->
          </div> <!-- /wrapper-view -->
        </section>
      </article>
    </div> <!-- /wrapper-content-main -->

412
     <%include file="_verification_support.html" />
413 414 415
  </section>
</div>

416
<%include file="_modal_editname.html" />
417
</%block>