In the new navigation header, when a user uploads a custom header
logo GitLab will still show the 'GitLab' type logo. This is often
undesirable as the user may want to upload a logo with their own
name present. This change will toggle the GitLab type logo if a
custom header logo is present.
This caches the result of Appearance.first in a similar fashion to how
ApplicationSetting instances are cached. We also add some NOT NULL
constraints to the table and correct the timestamp types.
Fixesgitlab-org/gitlab-ce#36066, fixesgitlab-org/gitlab-ce#31698
This commit alters views for the following models to use the markdown cache if
present:
* AbuseReport
* Appearance
* ApplicationSetting
* BroadcastMessage
* Group
* Issue
* Label
* MergeRequest
* Milestone
* Project
At the same time, calls to `escape_once` have been moved into the `single_line`
Banzai pipeline, so they can't be missed out by accident and the work is done
at save, rather than render, time.
The only major difference with the EE version is the change from a light and dark logo to only a header logo
The dark logo wasn't used anyway, so it seemed to make sense to me to rename the field to the actual function of it
The logo is now rendered as pure SVG, rather than image referencing a
svg. The SVG has an id and the shapes of the logo have a shared class.
The shapes change their fill color on hover with a transition.