* add new column with enum value
* refactor to use display_to column
* add some more specs to application_helper
* test for the backfill DUS
* fix line length
* refactor
Prior to this commit, we were treating all NavigationLink attributes as
unique. So, were we to change a position of one of the NavigationLinks
during the add_navigation_links rake task, we would have created a new
NavigationLink (and the only one would have remained).
With this commit, we're introducing the concept of the NavigationLink's
surrogate identity, that is to say if we have two NavigationLink objects
with the same `url` and `name` we should consider them the same
NavigationLink. This allows us to update properties of those
NavigationLinks (via the rake task) without the risk of creating new
entries.
This unblocks PR #16268 which addresses #16076.
* schema file undelete description
* update with main
* update with origin
* Add "section" enum to navlink model
* create migration for section column
* create migration and data-update script
* update related rake tasks
* add scopes for default_links and other_links
* update E2E seeds
* ran migration; correct enum reference
* fix requests and model specs
* write DUS spec; fix factory and DUS
* yarn install
* address PR review comments
* fix migration; add null: false
* Remove yarn.lock from commit
* remove yarn.lock changes from commit
* sync yarn.lock with main
* newline
* Update copy
* Allow relative URLs and normalize on save
* Update specs
* Move clarification from index to form
* Add data update script
* Update spec
* feat: configure the frontend for sidebar nav links
* chore: add a comment
* changes to the admin interface
* feat: move the temporary task to be in the rake tasks and use it in the dev seeds
* feat: use the task in the rake seeds
* refactor: reuse the form across two modals
* refactor: use the form partial
* feat: change the modal to be large
* fix: naming
* Update db/seeds.rb
Co-authored-by: Michael Kohl <me@citizen428.net>
* chore: make the file readable
* chore: removed the if else as the rake task was run on all forems + i sent out a message to new communities
* oops
* refactor: add a scope
* chore: oops removed this
* feat: add navigation links specs
* spec: fix two failing ones
Co-authored-by: Michael Kohl <me@citizen428.net>
* feat: add the order of the navigational items to the database + admin interface
* refactor: rename :display_when_signed_in to :display_only_when_signed_in
* chore: rename all instances of display_when_signed_in to display_only_when_signed_in
* feat: add a data script that will setup the base urls
* feat: add a temporary rake file that will allow us to seed prod db's
* chore: oops rename file
* chore: remove the index for now
* chore: remove validation
* feat: change the order field to position and add an index o the name and url
* feat: update everything that uses order to position
* refactor: order by name as a secondary attr