<commit_before>div(ng-include='"components/navbar/navbar.html"')
.container
  .row
    .col-sm-12
      h1 Sign up
    .col-sm-12
      form.form(name='form', ng-submit='register(form)', novalidate='')
        .form-group(ng-class='{ "has-success": form.firstname.$valid && submitted,\
        "has-error": form.firstname.$invalid && submitted }')
          label Firstname
          input.form-control(type='text', name='firstname', ng-model='user.firstname', required='')
          p.help-block(ng-show='form.firstname.$error.required && submitted')
            | A firstname is required


        .form-group(ng-class='{ "has-success": form.surname.$valid && submitted,\
        "has-error": form.surname.$invalid && submitted }')
          label Surname
          input.form-control(type='text', name='surname', ng-model='user.surname', required='')
          p.help-block(ng-show='form.surname.$error.required && submitted')
            | A surname is required

        .form-group(ng-class='{ "has-success": form.username.$valid && submitted,\
        "has-error": form.username.$invalid && submitted }')
          label Username
          input.form-control(type='text', name='username', ng-model='user.username', required='')
          p.help-block(ng-show='form.username.$error.required && submitted')
            | A username is required

        .form-group(ng-class='{ "has-success": form.email.$valid && submitted,\
        "has-error": form.email.$invalid && submitted }')
          label Email
          input.form-control(type='email', name='email', ng-model='user.email', required='', mongoose-error='')
          p.help-block(ng-show='form.email.$error.email && submitted')
            | Doesn't look like a valid email.
          p.help-block(ng-show='form.email.$error.required && submitted')
            | What's your email address?
          p.help-block(ng-show='form.email.$error.mongoose')
            | {{ errors.email }}

        .form-group(ng-class='{ "has-success": form.password.$valid && submitted,\
        "has-error": form.password.$invalid && submitted }')
          label Password
          input.form-control(type='password', name='password', ng-model='user.password', ng-minlength='3', required='', mongoose-error='')
          p.help-block(ng-show='(form.password.$error.minlength || form.password.$error.required) && submitted')
            | Password must be at least 3 characters.
          p.help-block(ng-show='form.password.$error.mongoose')
            | {{ errors.password }}
        .form-group(ng-class='{ "has-success": form.confirmPassword.$valid && submitted,\
        "has-error": form.confirmPassword.$error.match }')
          label Password confirmation
          input.form-control(type='password', name='confirmPassword', ng-model='user.confirmPassword', data-match="user.password", ng-minlength='3', required='', mongoose-error='')
          p.help-block(ng-show='form.confirmPassword.$error.match')
            | Passwords do not match!

        div
          button.btn.btn-inverse.btn-lg.btn-login(type='submit')
            | Sign up
          = ' '
          a.btn.btn-default.btn-lg.btn-register(href='/login')
            | Login



        hr

        div
          a.btn.btn-facebook(href='', ng-click='loginOauth("facebook")')
            i.fa.fa-facebook
            |  Connect with Facebook
          = ' '
          a.btn.btn-google-plus(href='', ng-click='loginOauth("google")')
            i.fa.fa-google-plus
            |  Connect with Google+
          = ' '
          a.btn.btn-twitter(href='', ng-click='loginOauth("twitter")')
            i.fa.fa-twitter
            |  Connect with Twitter
  hr<commit_msg>Adding password confirmation<commit_after>div(ng-include='"components/navbar/navbar.html"')
.container
  .row
    .col-sm-12
      h1 Sign up
    .col-sm-12
      form.form(name='form', ng-submit='register(form)', novalidate='')
        .form-group(ng-class='{ "has-success": form.firstname.$valid && submitted,\
        "has-error": form.firstname.$invalid && submitted }')
          label Firstname
          input.form-control(type='text', name='firstname', ng-model='user.firstname', required='')
          p.help-block(ng-show='form.firstname.$error.required && submitted')
            | A firstname is required


        .form-group(ng-class='{ "has-success": form.surname.$valid && submitted,\
        "has-error": form.surname.$invalid && submitted }')
          label Surname
          input.form-control(type='text', name='surname', ng-model='user.surname', required='')
          p.help-block(ng-show='form.surname.$error.required && submitted')
            | A surname is required

        .form-group(ng-class='{ "has-success": form.username.$valid && submitted,\
        "has-error": form.username.$invalid && submitted }')
          label Username
          input.form-control(type='text', name='username', ng-model='user.username', required='')
          p.help-block(ng-show='form.username.$error.required && submitted')
            | A username is required

        .form-group(ng-class='{ "has-success": form.email.$valid && submitted,\
        "has-error": form.email.$invalid && submitted }')
          label Email
          input.form-control(type='email', name='email', ng-model='user.email', required='', mongoose-error='')
          p.help-block(ng-show='form.email.$error.email && submitted')
            | Doesn't look like a valid email.
          p.help-block(ng-show='form.email.$error.required && submitted')
            | What's your email address?
          p.help-block(ng-show='form.email.$error.mongoose')
            | {{ errors.email }}

        .form-group(ng-class='{ "has-success": form.confirmEmail.$valid && submitted,\
        "has-error": form.confirmEmail.$error.match }')
          label Email confirmation
          input.form-control(type='email', name='confirmEmail', ng-model='user.confirmEmail', data-match="user.email", required='', mongoose-error='')
          p.help-block(ng-show='form.confirmEmail.$error.match')
            | Emails do not match!


        .form-group(ng-class='{ "has-success": form.password.$valid && submitted,\
        "has-error": form.password.$invalid && submitted }')
          label Password
          input.form-control(type='password', name='password', ng-model='user.password', ng-minlength='3', required='', mongoose-error='')
          p.help-block(ng-show='(form.password.$error.minlength || form.password.$error.required) && submitted')
            | Password must be at least 3 characters.
          p.help-block(ng-show='form.password.$error.mongoose')
            | {{ errors.password }}

        .form-group(ng-class='{ "has-success": form.confirmPassword.$valid && submitted,\
        "has-error": form.confirmPassword.$error.match }')
          label Password confirmation
          input.form-control(type='password', name='confirmPassword', ng-model='user.confirmPassword', data-match="user.password", required='', mongoose-error='')
          p.help-block(ng-show='form.confirmPassword.$error.match')
            | Passwords do not match!

        div
          button.btn.btn-inverse.btn-lg.btn-login(type='submit')
            | Sign up
          = ' '
          a.btn.btn-default.btn-lg.btn-register(href='/login')
            | Login



        hr

        div
          a.btn.btn-facebook(href='', ng-click='loginOauth("facebook")')
            i.fa.fa-facebook
            |  Connect with Facebook
          = ' '
          a.btn.btn-google-plus(href='', ng-click='loginOauth("google")')
            i.fa.fa-google-plus
            |  Connect with Google+
          = ' '
          a.btn.btn-twitter(href='', ng-click='loginOauth("twitter")')
            i.fa.fa-twitter
            |  Connect with Twitter
  hr
{'fraction_non_alphanumeric': 0.17040358744394618, 'fraction_numerical': 0.0019218449711723255, 'mean_word_length': 2.443317159241288, 'pattern_counts': {'":': 26, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3852806', 'n_tokens_mistral': 2293, 'n_tokens_neox': 2237, 'n_words': 366}