Sha256: 5502769ed75ca322491c1e203d4ebfc4596aa7e6a220b325d33af313ff569ba7
Contents?: true
Size: 1.04 KB
Versions: 4
Compression:
Stored size: 1.04 KB
Contents
# frozen_string_literal: true class CreateDefaultProposalStates < ActiveRecord::Migration[6.1] class Proposal < ApplicationRecord belongs_to :proposal_state, class_name: "Decidim::Proposals::ProposalState", foreign_key: "decidim_proposals_proposal_state_id", inverse_of: :proposals, optional: true self.table_name = :decidim_proposals_proposals STATES = { not_answered: 0, evaluating: 10, accepted: 20, rejected: -10 }.freeze enum old_state: STATES, _default: "not_answered" end def up Decidim::Component.where(manifest_name: "proposals").find_each do |component| admin_user = component.organization.admins.first default_states = Decidim::Proposals.create_default_states!(component, admin_user) Proposal.where(decidim_component_id: component.id).find_each do |proposal| proposal.update!(proposal_state: default_states.dig(proposal.old_state.to_sym, :object)) end end end def down raise ActiveRecord::IrreversibleMigration end end
Version data entries
4 entries across 4 versions & 1 rubygems