<feed xmlns='http://www.w3.org/2005/Atom'>
<title>cccms/app/models/occurrence.rb, 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-30T17:22:24Z</updated>
<entry>
<title>Fix events CRUD for standalone events and add events to admin menu</title>
<updated>2026-06-30T17:22:24Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-06-30T01:55:42Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=51629c5c42270a346885057a441095c964101cc1'/>
<id>urn:sha1:51629c5c42270a346885057a441095c964101cc1</id>
<content type='text'>
- event_params now permits title, description, is_primary
- event_information helper lists all node.events, not just the first
- Occurrence.generate handles nil node (standalone events)
- Page.aggregate order_by title uses correlated subquery to avoid
  GROUP BY conflict with tag-filter path; order_direction whitelisted
  to ASC/DESC to prevent SQL injection
- Events link added to admin menu bar
- events/index shows title, is_primary; drops latitude/longitude columns
</content>
</entry>
<entry>
<title>Phase 1: standalone events, external_url on nodes</title>
<updated>2026-06-30T17:22:24Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-06-30T17:15:22Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=a7a6ad786eeb9f94f7882462bccbdd31e1bb4743'/>
<id>urn:sha1:a7a6ad786eeb9f94f7882462bccbdd31e1bb4743</id>
<content type='text'>
- Migration: node_id nullable on events and occurrences, add
  title/description/is_primary to events, external_url to nodes
- Existing events marked is_primary: true (were all 1:1 with nodes)
- Node: has_one :event -&gt; has_many :events
- Event: belongs_to :node optional, validates title presence for
  standalone events, is_primary uniqueness scoped to node_id,
  display_title helper falling back through node title
- Occurrence: belongs_to :node optional, summary falls back to
  event.display_title
- nodes_helper: event_information uses events.first (interim; will
  be replaced in Phase 3 event UI)
- Tests: fix node.event -&gt; node.events.first in event_test
</content>
</entry>
<entry>
<title>Stage 4: Rails 5.2 -&gt; 6.1 on Ruby 2.7.2</title>
<updated>2026-06-25T23:59:57Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-06-25T23:59:57Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=c06723ee715512c2033c7786c48f15674585b56b'/>
<id>urn:sha1:c06723ee715512c2033c7786c48f15674585b56b</id>
<content type='text'>
- routing-filter 0.6.3 -&gt; 0.7.0 (Rails 6.1 compatibility)
- RSS named routes rss_xml/rss_rdf added
- RouteWithParams workarounds: will_paginate_patch, content_path shim, safe_path helper
- Paperclip removed, replaced with FileAttachment concern (preserves URL scheme)
- Assets resource moved to /admin/assets (Sprockets middleware conflict)
- ApplicationRecord base class added, all models migrated
- Strong parameters added to Assets, Occurrences, Events, MenuItems controllers
- update_attributes -&gt; update throughout
- render :nothing -&gt; head :ok/:not_found throughout
- language_selector rewritten (removes :overwrite_params)
- Environment files updated for Rails 6.1 (eager_load, public_file_server, ActionMailer)
- Arel::Visitors::DepthFirst and Integer/Float duration patches removed from test_helper
- AssetsController tests added (10 tests covering upload, variants, destroy, auth)
- ImageMagick geometry: 460x250! for headline crop (not # which is invalid in IM6)

129 runs, 311 assertions, 5 failures (all pre-existing), 0 errors
</content>
</entry>
<entry>
<title>Rails 5.2 application fixes</title>
<updated>2026-06-25T15:50:55Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-06-25T15:50:55Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=26030c71c7b300c30367222f263d74b8d2142ecf'/>
<id>urn:sha1:26030c71c7b300c30367222f263d74b8d2142ecf</id>
<content type='text'>
- Rename before_filter → before_action across all controllers
- Fix string conditions in validators to lambda syntax (node.rb)
- Fix publish_draft!: move staged slug/parent logic outside draft guard,
  use move_to_child_of for parent changes, add nil guard for no-op calls
- Fix update_unique_names_of_children: use parent_id traversal instead
  of lft/rgt descendants (awesome_nested_set 3.x lft/rgt update bug)
- Fix unique_path to return Array instead of String
- Fix Occurrence.delete_all syntax for Rails 5
- Fix Page.find_with_outdated_translations: use includes instead of all
- Fix outdated_translations?: use find instead of splat array
</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>Big overhaul patch and style changes</title>
<updated>2025-01-28T21:47:15Z</updated>
<author>
<name>Charlie Root</name>
<email>root@web.ccc.local</email>
</author>
<published>2025-01-28T21:47:15Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=c4296b59a7f9d667d295f9c37b71f7849b818fb3'/>
<id>urn:sha1:c4296b59a7f9d667d295f9c37b71f7849b818fb3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>show the next event if none are found for the next 14 days. Closes #19</title>
<updated>2009-09-10T11:29:14Z</updated>
<author>
<name>hukl</name>
<email>contact@smyck.org</email>
</author>
<published>2009-09-10T11:29:14Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=8194cd82d7cb70c5b81bec8ee7a82b542c2570e9'/>
<id>urn:sha1:8194cd82d7cb70c5b81bec8ee7a82b542c2570e9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>there was actually a small glitch here</title>
<updated>2009-04-18T12:23:16Z</updated>
<author>
<name>hukl</name>
<email>contact@smyck.org</email>
</author>
<published>2009-04-18T12:23:16Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=4b4846dc762df76ea82c3ef22787a7b193e357c6'/>
<id>urn:sha1:4b4846dc762df76ea82c3ef22787a7b193e357c6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>removed lib/chaos_calendar as we now have the erdgeist-chaos_calendar gem on github - YAY!</title>
<updated>2009-04-10T22:32:20Z</updated>
<author>
<name>hukl</name>
<email>contact@smyck.org</email>
</author>
<published>2009-04-10T22:32:20Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=fb1b58233df206fff3ec4237caf5fe5576b80a9b'/>
<id>urn:sha1:fb1b58233df206fff3ec4237caf5fe5576b80a9b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>adding proper link</title>
<updated>2009-03-19T12:41:01Z</updated>
<author>
<name>hukl</name>
<email>contact@smyck.org</email>
</author>
<published>2009-03-19T12:41:01Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=662e975c40cb380d884a4f44c06c29cc022c48af'/>
<id>urn:sha1:662e975c40cb380d884a4f44c06c29cc022c48af</id>
<content type='text'>
</content>
</entry>
</feed>
