| Age | Commit message (Collapse) | Author |
|
Introduces autosave_id as a third, unversioned layer above draft/head,
with lock_for_editing!, autosave!, and save_draft! as the new entry
points. Also fixes a real bug in wipe_draft!: its "no draft" branch
unconditionally released the lock, which was safe when "no draft" only
ever meant "nothing is happening" — no longer true now that a lock can
exist with only an autosave beneath it. lock_for_editing! deliberately
does not call wipe_draft! at all, for the same reason: an intruder
calling it while a lock was genuinely held would otherwise silently
steal it via wipe_draft!'s own unlock side effect, caught by the new
two-user lock test.
|
|
New column + unique index, plus ensure_preview_token!/revoke_preview_token!
on Page. Generated lazily (only when explicitly requested) rather than
via has_secure_token's default auto-generate-on-create, so a live,
shareable secret isn't silently minted for every page ever created.
|
|
Forms were already cleaned up in an earlier commit; the column itself
was the last remnant.
Dropping the column surfaced a live reference in events#index (fixed
separately, 970f108) - this migration file itself just never got
staged until now.
|
|
Was the last remaining gap in the occurrence-orphaning fix from earlier
this session: dependent: :destroy on Event#occurrences covers deletion
through ActiveRecord, this covers anything that bypasses it (raw SQL,
Model.delete). Confirmed zero existing orphans and zero NULL event_ids
before adding the constraint (event_id stays nullable - an occurrence
without an event is valid, one with a bogus event_id is not). Also adds
the index that should have existed on this column already - Postgres
needs one for the cascade to be anything other than a full table scan
per delete, and none existed before this. deferrable: :immediate added
so legitimate application code can still defer the check within a
transaction if ever needed - unrelated to, and not a fix for, the
fixture-loading issue below.
Applying this constraint broke fixture loading entirely (config fix:
81a07bf) and exposed a live bug in events#index (fix: 970f108), both
already committed separately - this migration file itself just never
got staged until now.
|
|
|
|
- seed_chapter now accepts events: array instead of flat rrule:/
start_time: params; each event hash supports rrule:, start_time:,
tag_list:, location:, duration_hours:
- Chapters with multiple open days now represented correctly
(Stralsund: Thursday Chaostreff + 2nd/4th Saturday OpenSpace;
Hamburg: 2nd Friday + last Tuesday; Stuttgart: 1st Tuesday +
3rd Wednesday; Freiburg: Mon+Tue open + biweekly Plenum;
Backnang: 3rd Sunday + 1st Tuesday; Tübingen: last Sunday +
2nd Monday at different venues)
- is_primary removed from migration entirely — replaced by
tag_list: 'open-day' on events
- Stale EN descriptions corrected: Berlin, Darmstadt, Erlangen,
Essen, Freiburg, Göttingen, Hamburg, Hannover, Karlsruhe,
Paderborn, Stuttgart, Ulm
- chaostreff-stralsund duplicate entry removed (Port39 is erfa only)
|
|
- 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 -> 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 -> node.events.first in event_test
|
|
|
|
- Fix Page.find(self.head) → self.head in node.rb wipe_draft!
- Migration to delete 407 spurious 'root' locale records from
page_translations (Globalize artefact, all had nil titles and
duplicate de/en translations existed for all affected pages)
|
|
- Restore search vector migration (was parked in doc/ pending PostgreSQL upgrade)
- Restore Node.search using plainto_tsquery with simple dictionary
- Cross-locale keyword search, no stemming, works for both de and en content
|
|
- Bump rails 4.2.11.3 → 5.2.8.1, ruby 2.4.10 → 2.5.8
- Upgrade acts-as-taggable-on ~> 3.5 → ~> 6.0
- Upgrade exception_notification ~> 4.4 → ~> 4.5
- Upgrade globalize ~> 5.0 → ~> 5.2.0
- Upgrade pg ~> 0.17 → ~> 1.0
- Upgrade sass-rails ~> 4.0 → ~> 5.0
- Upgrade libxml-ruby to ~> 3.2 (5.x requires Ruby 3.2+)
- Pin awesome_nested_set ~> 3.4.0 (3.9 has lft/rgt update bug)
- Add rails-controller-testing gem
- Add assets initializer for jquery precompile
- Add acts_as_taggable missing indexes migration
- Set eager_load, serve_static_files, active_record settings
|
|
- Bump acts-as-taggable-on from 2.4.1 to 3.5.0
- Fake engine migrations for pre-existing schema
- Set serve_static_assets in development
- Fix request.fullpath in authenticated_system (request_uri removed in Rails 3.x)
- Fix Paperclip path format to match existing file layout
|
|
- 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
|
|
|
|
|
|
|
|
get staged and are applied once that revision is published
|
|
|
|
|
|
|
|
|
|
|
|
action. Will investigate.
|
|
|
|
|
|
|
|
|
|
idea. added proper migrations
|
|
reoccurrence and intervals etc.
|
|
|
|
|
|
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
|
|
|
|
is in a translation table now. therefor merging
the two separate migrations into on meaningful
|
|
* added permission model
* locked down attributes on page model
|
|
|
|
* added user model
|
|
to introduce the concept of authors.
|
|
which use the new translation facilities.
backend mostly.
|
|
head of the nodes pages collection. modified
tests, importer etc
renamed flags to tags
|
|
acts_as_taggable_on_steroids instead of a
homebrew solution
|
|
custom flagging facilities
|
|
Page has now a named_scope :with_flags which
accepts an array of flag names and returns
corresponding pages. Can be chained with order and
limit
|
|
|
|
|
|
|