summaryrefslogtreecommitdiff
path: root/app/views/nodes/edit.html.erb
AgeCommit message (Collapse)Author
2026-07-10Add head/draft/autosave layer comparison at three UI entry pointserdgeist
Node#resolve_page_reference and #available_layer_pairs let Page#diff_against compare named layers (head/draft/autosave), not just numbered revisions -- autosave was never part of Node#pages, so this was the missing piece. Wired into nodes#show's Status section, nodes#edit right after an autosave gets resurrected ("What changed?"), and the admin wizard's current-drafts table, which now also lists autosave-only nodes it previously never showed. revisions#diff hides the numbered-revision picker when comparing named layers (it can't represent them), shows a plain label instead, and offers buttons to switch between whichever other pairs make sense for the node's current state. Destroying the topmost layer is available directly from the diff view, reusing the existing revert! path. "Discard changes" is renamed "Discard Autosave" everywhere it appears, to match "Destroy Draft".
2026-07-08Add the Status section to nodes#show and rebuild nodes#edit's action barerdgeist
Retires content_for :subnavigation on nodes#show entirely -- Preview was fully redundant with Links' own preview URLs in every state, and Edit is now a permanent, always-rendered action inside the new Status section rather than a link floating at the top, consistent with the "action lives next to the info" pattern People already established for Unlock. Status surfaces head/draft/autosave plainly and gates Edit/Publish/Destroy/Discard on lock ownership specifically, not mere lock presence -- @node.locked? alone would have blocked the lock owner's own session, caught by the click-test and fixed here rather than shipped. nodes#edit's action bar is rebuilt to sit outside form_for (both button_to calls render their own nested form, invalid HTML the browser was silently stripping) with Save wired back in via form="..." rather than needing to live inside the form tag at all. Also brings the locked-and-ready-to-edit flash message, and the visual polish from this session's click-test: consistent button heights across the bordered and pill-shaped variants sharing a row, spacing between Status's data and its actions, and error_messages styling reusing the destructive-red vocabulary already established elsewhere.
2026-07-08Add a action bar to the node edit view. This is the first application of a proposed new layouterdgeist
2026-07-08Autosave posts to its own endpoint surface lock loss immediatelyerdgeist
Previously piggybacked on the main form's action and relied on a .js.erb response to update #flash; now posts to the dedicated autosave route with an explicit _method=put override, and reacts to a 423 by stopping the timer and showing a persistent banner rather than letting the next Save discover the conflict on its own.
2026-07-08Tuck away metadata section in nodes#edit behind a summary/detail cascadeerdgeist
2026-07-07Adopt button pills in viewserdgeist
2026-07-05Surface node-kind conventions in the admin UIerdgeist
nodes#new: each kind's radio button now shows a label plus a smaller, muted .field_hint explaining what happens automatically (parent, tags, template) - previously a single undifferentiated string mixing a short label with a long parenthetical, cluttering the smaller kinds (erfa/chaostreff) worst. Title field gets the same hint treatment, telling editors up front that the slug is auto-generated and where to adjust it later - the previous silence here meant editors only discovered slug generation after already committing to a title, with no visible way to fix it. New "Resulting path" row live-previews the full URL (origin + kind's path prefix + a debounced call to the new parameterize_preview route, reusing the exact same slug_for helper "create" now calls, so the preview can never diverge from what actually gets created) as the editor types, plus a copy-to-clipboard button. For "generic", the prefix comes from whichever parent gets chosen via the search widget, not the registry - parent_search.link_closure now stashes the chosen node's unique_name as a data attribute for exactly this. New read-only admin/conventions view dumps the NODE_KINDS registry as a reference table for whoever's confused later about how a given kind behaves - deliberately just renders the same label/hint text used on nodes#new rather than re-describing parent/tags/template separately, since decomposing the parent Proc would mean either invoking it (Update's has a real side effect - creates the year folder) or re-stating its logic a second time in a different shape, either of which risks drifting from the actual behavior. nodes#edit's Template field gets a one-line hint noting the value may already be pre-filled based on how the node was created - the one place the previous commit's new inheritance mechanism actually surfaces on this view.
2026-07-04Retire event_information, superseded by nodes#show's event managererdgeist
The metadata-panel "Event" field on nodes#edit called event_information, a second, tag-less implementation of "list events + add one" - now redundant now that nodes#show has the tag-aware version with the auto-tag flash explanation. Confirmed via grep this was the only call site before removing both it and the method definition.
2026-06-28Fix tag list rendering in node editorerdgeist
tag_list.to_s produces space-separated output which acts-as-taggable-on 13.0.0 (comma delimiter only) treats as a single tag on re-save. Use join(', ') to render comma-separated tags in the input field.
2026-06-27Stop forcing escaped HTML into the database just because XML Builder was used wrongerdgeist
2026-06-26Stage 5 click-testing fixeserdgeist
- Fix link_to :method → button_to for all PUT/DELETE actions - Add button_to CSS reset to admin.css for visual consistency - Fix admin layout: replace broken jquery/jquery_ujs pipeline refs with admin_bundle via sprockets; add sprockets-rails, jquery-ui-rails gems - Add app/assets/javascripts/admin_bundle.js pipeline manifest - Fix event_information helper: use safe_join to avoid double-escaping - Fix nodes_helper: to_s(:db) → to_fs(:db) for event times - Fix revisions view: eliminate nested forms; diff button uses vanilla JS to collect radio button values before POST - Fix config/environments/development.rb and test.rb: cache_classes → enable_reloading - Add routing_filter_rails71_patch.rb version guard - Move LockedByAnotherUser to own file for Zeitwerk autoloading - Fix Globalize fallbacks via config.i18n.fallbacks in application.rb
2026-06-25Rails 4.2 view fixeserdgeist
- Replace :confirm => with :data => { :confirm => } in all link_to calls - Fix link_to_path helper: use content_path named route instead of hash-style routing - Fix admin/_menu.html.erb: use named routes for logout and admin index - Fix admin layout: load jquery/jquery_ujs before jquery-ui, remove duplicate jQuery 1.3.2 - Add csrf_meta_tags to admin layout
2026-06-24Stage 1 complete: Rails 2.3.5 to Rails 3.2.22.5 upgradeerdgeist
- Converted plugins to gems (Gemfile) - Updated config structure (application.rb, boot.rb, environment.rb) - Converted routes to Rails 3 DSL - Converted named_scope to scope throughout models - Converted find(:all, :conditions) to where() chains - Fixed has_many :order to use ordering scope - Updated session store and secret token configuration - Fixed exception_notification middleware configuration - Patched Ruby 2.4 / Rails 3.2 incompatibilities: - Integer/Float duration arithmetic (ActiveSupport) - Arel visit_Integer for PostgreSQL adapter - create_database String/Integer coercion - ActionController consider_all_requests_local - Migrated taggings schema for acts-as-taggable-on - Replaced dynamic_form gem with custom form_error_messages helper - Fixed Rails 3 block helper syntax (form_for, form_tag, fields_for) - Fixed admin layout yield - Updated test suite for Rails 3 APIs
2026-06-23Update deployed state to what's currently runningerdgeist
2025-02-05Add warner if theres unescaped entities inside the Title fieldserdgeist
2025-01-28Big overhaul patch and style changesCharlie Root
2009-10-20allow to overwrite the original user in edit viewhukl
2009-10-07refactored revsions controller to act as a nested resource of nodes. boy that cleaned up some stuff quite a bit. also having tests for that is just feeling ↵hukl
great
2009-09-12changed the ui click flow a bithukl
2009-09-09added editing of slugs and moving of nodes. to edit a slug or move a node you edit that node, make your changes and save. the slug and parent node changes ↵hukl
get staged and are applied once that revision is published
2009-09-02renaming and restructuringhukl
2009-09-02further interface improvementshukl
2009-09-02some drag and drop refinementshukl
2009-09-01Added javascript goodness to add and sort and drag and drop images on pageshukl
2009-09-01slight interface changeshukl
2009-08-16migration to add missing columns and indexes for acts_as_taggable_redux as well as other related modificationshukl
2009-06-13added js search widget with clickable results that will take the user to the brand new "show" version of the page. so the user doesn't create new revisions ↵hukl
and locks all the time when he / she only wants to take a look at it.
2009-05-08removed the render :partial call as it no longer exists hukl
2009-04-18adding event information to the metadata section allowing to add and edit eventshukl
2009-04-16added autosave to node edit view. saves every 15 secondshukl
2009-04-13beautified the revision and diff interface. so pretty and so functional. i'm happyhukl
2009-04-13slight modificationshukl
2009-04-13rebuilding the admin interfacehukl
2009-03-15interface interlinkshukl
2009-03-08added a prompt for the template selecthukl
2009-03-08added date selector for published_at. Also removed the part that reset the published_at attribute to Time.now. Some cleanupshukl
2009-03-03introducing page templates - need to add edit capabilitieshukl
renamed the custom template folder forgot one fix for the new custom template path page templates refined renamed page attribute template to template_name as i suspected it to be a reserved word. it still didn't work until i discovered that simon defined the accessible attributes! That costed me 40 minutes of lifetime. But he apologized ;) tests for public and custom page templates
2009-02-26the locale stuff as well as the cloning should work now entirely as expected although the cloning itself isn't really a beautyhukl
2009-02-22tags !hukl
2009-02-22another round of view updateshukl
2009-02-22lots of view improvements - not ready thoughhukl
2009-02-21adding @node filter for publish action and settinghukl
a new member route for the nodes resource so that a put request on /nodes/id/publish will publish the current draft of a node
2009-02-21getting rid of the useless values partshukl
2009-02-17modified edit form to work with translated hukl
attributes. there seems to be something bogus with form for - to be investigated
2009-02-15using real users now that we have a real user modelhukl
2009-02-15added implementation details for nodeshukl
2009-02-08added nodes controller and made it a resource.hukl
since the node is the proxy for the pages behind it, it makes sense to operate on nodes rather than on the pages themselves.