<feed xmlns='http://www.w3.org/2005/Atom'>
<title>cccms/app/views/nodes, branch erdgeist-revive-events</title>
<subtitle>[no description]</subtitle>
<id>https://erdgeist.org/gitweb/cccms/atom?h=erdgeist-revive-events</id>
<link rel='self' href='https://erdgeist.org/gitweb/cccms/atom?h=erdgeist-revive-events'/>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/'/>
<updated>2026-06-30T22:24:10Z</updated>
<entry>
<title>Add RRULE humanizer and wire events into nodes#show</title>
<updated>2026-06-30T22:24:10Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-06-30T22:24:10Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=95955abaa339098755a214cfcadf87c90211fe64'/>
<id>urn:sha1:95955abaa339098755a214cfcadf87c90211fe64</id>
<content type='text'>
- app/models/concerns/rrule_humanizer.rb: new concern included into
  Event, renders recurring schedule as natural-language German or
  English from RRULE string; handles WEEKLY/MONTHLY, biweekly
  (INTERVAL=2), ordinal weekday positions (1TU, -1TH, -2WE),
  BYMONTH single-month exclusions (December pause convention);
  gracefully returns nil for COUNT/UNTIL/unrecognized shapes
- test/models/concerns/rrule_humanizer_test.rb: 15 tests covering
  all distinct RRULE shapes found in production data
- app/helpers/nodes_helper.rb: add event_schedule_text helper
  combining humanize_rrule with start_time formatting
- app/views/nodes/show.html.erb: add events row, conditionally
  rendered when node has associated events
- config/locales/de.yml, en.yml: add event_schedule_time,
  event_schedule_unrecognized, event_schedule_none keys
</content>
</entry>
<entry>
<title>Remove obsolete partial</title>
<updated>2026-06-30T17:20:43Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-06-29T19:27:04Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=98bfc2c01cb802a6857252568876a7af64edbe8f'/>
<id>urn:sha1:98bfc2c01cb802a6857252568876a7af64edbe8f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix tag list rendering in node editor</title>
<updated>2026-06-28T14:37:20Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-06-28T02:56:08Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=c96fbbb701ec97f9f6c69ca0d51ed3cd895b260e'/>
<id>urn:sha1:c96fbbb701ec97f9f6c69ca0d51ed3cd895b260e</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Fix flash delete for empty flashes</title>
<updated>2026-06-27T18:30:12Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-06-27T18:30:12Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=a3eb6c52abc896697df1c79ff27137075e558123'/>
<id>urn:sha1:a3eb6c52abc896697df1c79ff27137075e558123</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Stop forcing escaped HTML into the database just because XML Builder was used wrong</title>
<updated>2026-06-27T18:29:25Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-06-27T18:29:25Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=e86897c7c3ce7dea169be7f2c027aae3a7a4edab'/>
<id>urn:sha1:e86897c7c3ce7dea169be7f2c027aae3a7a4edab</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Stage 5 click-testing fixes</title>
<updated>2026-06-26T11:40:55Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-06-26T11:40:55Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=811bb04649365b0faaa00b1e0810bb101a4d19b1'/>
<id>urn:sha1:811bb04649365b0faaa00b1e0810bb101a4d19b1</id>
<content type='text'>
- 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
</content>
</entry>
<entry>
<title>Rails 4.2 view fixes</title>
<updated>2026-06-25T02:35:21Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-06-25T02:35:21Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=5f8cc4fa269dadc895d99eec9ef3a82b17c5890a'/>
<id>urn:sha1:5f8cc4fa269dadc895d99eec9ef3a82b17c5890a</id>
<content type='text'>
- Replace :confirm =&gt; with :data =&gt; { :confirm =&gt; } 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
</content>
</entry>
<entry>
<title>Stage 1 complete: Rails 2.3.5 to Rails 3.2.22.5 upgrade</title>
<updated>2026-06-24T02:13:16Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-06-24T02:13:16Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=e0a7e0fec760ba12c8067a37e10c96f1f05876e2'/>
<id>urn:sha1:e0a7e0fec760ba12c8067a37e10c96f1f05876e2</id>
<content type='text'>
- 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
</content>
</entry>
<entry>
<title>Update deployed state to what's currently running</title>
<updated>2026-06-23T16:04:37Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-06-23T16:04:37Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=6424e10be5a89f175a74c71c55660412a169b8b8'/>
<id>urn:sha1:6424e10be5a89f175a74c71c55660412a169b8b8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Improve worklflow</title>
<updated>2025-02-06T15:49:06Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2025-02-06T15:49:06Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=375ed745052148faeb34763087fe04214105f1b8'/>
<id>urn:sha1:375ed745052148faeb34763087fe04214105f1b8</id>
<content type='text'>
</content>
</entry>
</feed>
