|
@@ -142,10 +142,10 @@ class ConsentResource(Resource):
|
|
|
userhmac = None
|
|
|
has_consented = False
|
|
|
public_version = username == ""
|
|
|
- if not public_version or not self.hs.config.user_consent_at_registration:
|
|
|
- userhmac = parse_string(request, "h", required=True, encoding=None)
|
|
|
+ if not public_version:
|
|
|
+ userhmac_bytes = parse_string(request, "h", required=True, encoding=None)
|
|
|
|
|
|
- self._check_hash(username, userhmac)
|
|
|
+ self._check_hash(username, userhmac_bytes)
|
|
|
|
|
|
if username.startswith('@'):
|
|
|
qualified_user_id = username
|
|
@@ -155,15 +155,18 @@ class ConsentResource(Resource):
|
|
|
u = yield self.store.get_user_by_id(qualified_user_id)
|
|
|
if u is None:
|
|
|
raise NotFoundError("Unknown user")
|
|
|
+
|
|
|
has_consented = u["consent_version"] == version
|
|
|
+ userhmac = userhmac_bytes.decode("ascii")
|
|
|
|
|
|
try:
|
|
|
self._render_template(
|
|
|
request, "%s.html" % (version,),
|
|
|
user=username,
|
|
|
- userhmac=userhmac.decode('ascii'),
|
|
|
+ userhmac=userhmac,
|
|
|
version=version,
|
|
|
- has_consented=has_consented, public_version=public_version,
|
|
|
+ has_consented=has_consented,
|
|
|
+ public_version=public_version,
|
|
|
)
|
|
|
except TemplateNotFound:
|
|
|
raise NotFoundError("Unknown policy version")
|