{"push_id":687185654,"size":9,"distinct_size":4,"ref":"refs/heads/dehorusify-registercontroller","head":"c51d663dd6e6bf69dde6fff32f79641dec16402e","before":"1aff46275254e2217fa7ed200ff4f1b8b5303405","commits":[{"sha":"d3626aa3c3f3c645240a9d8a0ef8d6b49c261191","author":{"email":"75ef9faee755c70589550b513ad881e5a603182c@whiteink.com","name":"Nick Stenning"},"message":"Remove error flash handling from ajax_form\n\nWe don't ever use error flash messages in this package, and hopefully we\nwon't ever need to now that it is easy to return errors from view\nfunctions.","distinct":false,"url":"https://api.github.com/repos/hypothesis/h/commits/d3626aa3c3f3c645240a9d8a0ef8d6b49c261191"},{"sha":"3c849948827ed731ae3b1a087c16c5ba31439906","author":{"email":"75ef9faee755c70589550b513ad881e5a603182c@whiteink.com","name":"Nick Stenning"},"message":"Support reporting top-level form validation errors\n\nWhen we call `form.validate()` and the validation fails, the raised\nexception is a `deform.ValidationFailure`. This object has an `error`\nattribute which represents the underlying validation error object for\nthe entire form.\n\nPreviously, if the validation failure were a result of top-level\nvalidation errors (such as the fact that an unactivated user is trying\nto log in), this error would be lost, because we only reported errors\nfor the forms fields, or \"children\".\n\nThis commit changes `h.accounts.views.validate_form` so that it converts\nthe entire `colander.Invalid` object into a dictionary using its\n`asdict()` instance method. By doing this, we get two immediate\nbenefits:\n\n- top-level validation errors are reported in the '' (empty string)\n  field\n- we avoid the need to aggregate form field errors by hand in ajax_form\n\nIn addition, we need to deal with this case on the frontend, so this\ncommit also changes the formRespond directive so that if no overall\n\"reason\" is provided for failure, then an empty-string member of the\n\"errors\" object can set the overall validation status (and error\nmessage) for the form.","distinct":false,"url":"https://api.github.com/repos/hypothesis/h/commits/3c849948827ed731ae3b1a087c16c5ba31439906"},{"sha":"2121a6f4484008f248ab37f20e1e1e1ff2d1aea6","author":{"email":"75ef9faee755c70589550b513ad881e5a603182c@whiteink.com","name":"Nick Stenning"},"message":"Don't record mismatched email errors twice","distinct":false,"url":"https://api.github.com/repos/hypothesis/h/commits/2121a6f4484008f248ab37f20e1e1e1ff2d1aea6"},{"sha":"8866305e0c558d89f0fe4f02b8eee1442db387c7","author":{"email":"75ef9faee755c70589550b513ad881e5a603182c@whiteink.com","name":"Nick Stenning"},"message":"Don't explode if .coverage file is absent","distinct":false,"url":"https://api.github.com/repos/hypothesis/h/commits/8866305e0c558d89f0fe4f02b8eee1442db387c7"},{"sha":"dd55f7b294bf03dd2415cc8cfba8c564fc84828d","author":{"email":"0e4c650382b0f332954ef532789cfd678f0f8dde@users.noreply.github.com","name":"Sean Hammond"},"message":"Merge pull request #2290 from hypothesis/report-form-level-errors\n\nReport form level errors","distinct":false,"url":"https://api.github.com/repos/hypothesis/h/commits/dd55f7b294bf03dd2415cc8cfba8c564fc84828d"},{"sha":"60bd93ceb11d3a2744524fac4f215c79bcb42935","author":{"email":"75ef9faee755c70589550b513ad881e5a603182c@whiteink.com","name":"Nick Stenning"},"message":"Remove support for horus config flags from h.accounts.schemas\n\nThis removes the ability to toggle the requirement for user activation,\nand in so doing simplifies validation of the login form.\n\nWhile the ability to disable the activation requirement in development\nis convenient, after discussion with Sean we agreed that if we're doing\nit in prod we should be doing it in development. Seeing as activation\nemails are printed conveniently to STDOUT when running in development\nmode, this seems reasonable.","distinct":true,"url":"https://api.github.com/repos/hypothesis/h/commits/60bd93ceb11d3a2744524fac4f215c79bcb42935"},{"sha":"ad3aa698788718cb05fdcae9f7581fe9a5ad8c38","author":{"email":"75ef9faee755c70589550b513ad881e5a603182c@whiteink.com","name":"Nick Stenning"},"message":"Add our own ActivationEvent and RegistrationEvent\n\nTo replace those provided by horus.","distinct":true,"url":"https://api.github.com/repos/hypothesis/h/commits/ad3aa698788718cb05fdcae9f7581fe9a5ad8c38"},{"sha":"a9c725e96f9f5b74c98c4992a7de3955174db880","author":{"email":"75ef9faee755c70589550b513ad881e5a603182c@whiteink.com","name":"Nick Stenning"},"message":"Dehorusify the RegisterController\n\nWahey! The last of the bunch. This commit removes the last major\ndependency on horus from our accounts controllers.\n\nNotable changes:\n\n- User activation is no longer optional (i.e. configurable)\n- After initial registration (i.e. while waiting for an email) users are\n  taken to the index. Previously they were taken to the stream, which\n  doesn't make a lot of sense as they can't log in until they've\n  activated their account.\n- Users are now automatically logged in after activation, and are taken\n  to the index page, as before.\n- Hitting the register endpoint as a logged-in user will redirect you to\n  the stream page.","distinct":true,"url":"https://api.github.com/repos/hypothesis/h/commits/a9c725e96f9f5b74c98c4992a7de3955174db880"},{"sha":"c51d663dd6e6bf69dde6fff32f79641dec16402e","author":{"email":"75ef9faee755c70589550b513ad881e5a603182c@whiteink.com","name":"Nick Stenning"},"message":"Remove unnecessary workaround for horus bug\n\nThis code worked around a bug in horus where the activation email would\nbe generated before the new user was flushed to the database, resulting\nin a broken activation link.\n\nSeeing as we now control the code that generates said email, and we are\ncurrently flushing at an appropriate point (as it were...) we no longer\nneed this.","distinct":true,"url":"https://api.github.com/repos/hypothesis/h/commits/c51d663dd6e6bf69dde6fff32f79641dec16402e"}]}