Fix setting prefixed standard fields on the repository form.
Review Request #11005 — Created April 28, 2020 and submitted — Latest diff uploaded
A recent change fixed performing HTTP PUT operations on the repository
resource without providing entire payloads for the form. It computed the
initial data based on a repository and populated the form, trying to
create a solid starting point.This had a bug, though, that prevented actually submitting the
repository form via the administration page. It no longer considered
that some standard fields, likepath
,mirror_path
,username
, etc.,
might be submitted with an SCMTool prefix (e.g.,git-mirror_path
), and
this caused it to override these provided values with the initial data,
preventing these fields from being changed again.This bug did not make it into a release, or into production on
RBCommons.This change fixes the new logic on the repository form to check whether
the prefixed form of a key was posted on the form data before trying to
figure out a fallback value for it. If it's explicitly posted, we use
the existing value. Otherwise, we now normalize a prefixed form, if one
was provided, and then fall back on the initial value.
Unit tests passed.
I was able to successfully modify the formerly-broken fields for
several existing repositories.