in kinto-remote-settings/src/kinto_remote_settings/signer/updater.py [0:0]
def update_source_status(self, status, request, old_status=None):
current_userid = request.prefixed_userid
current_date = datetime.datetime.now(datetime.timezone.utc).isoformat()
attrs = {"status": status.value}
if status == STATUS.WORK_IN_PROGRESS:
attrs[TRACKING_FIELDS.LAST_EDIT_BY.value] = current_userid
attrs[TRACKING_FIELDS.LAST_EDIT_DATE.value] = current_date
if status == STATUS.TO_REVIEW:
attrs[TRACKING_FIELDS.LAST_REVIEW_REQUEST_BY.value] = current_userid
attrs[TRACKING_FIELDS.LAST_REVIEW_REQUEST_DATE.value] = current_date
# Make sure we reset the review comments if none is specified.
if "last_editor_comment" not in request.validated["body"].get("data", {}):
attrs["last_editor_comment"] = ""
if status == STATUS.SIGNED:
if old_status != STATUS.SIGNED:
# Do not keep track of reviewer when refreshing signature.
attrs[TRACKING_FIELDS.LAST_REVIEW_BY.value] = current_userid
attrs[TRACKING_FIELDS.LAST_REVIEW_DATE.value] = current_date
attrs[TRACKING_FIELDS.LAST_SIGNATURE_BY.value] = current_userid
attrs[TRACKING_FIELDS.LAST_SIGNATURE_DATE.value] = current_date
return self._update_source_attributes(request, **attrs)