diff --git a/app/models/account.rb b/app/models/account.rb index 092945d89..98ad8265f 100644 --- a/app/models/account.rb +++ b/app/models/account.rb @@ -1,4 +1,5 @@ class Account < ActiveRecord::Base + include Versions belongs_to :registrar has_many :account_activities diff --git a/app/models/account_activity.rb b/app/models/account_activity.rb index d236f1f5d..d6feb50de 100644 --- a/app/models/account_activity.rb +++ b/app/models/account_activity.rb @@ -1,4 +1,5 @@ class AccountActivity < ActiveRecord::Base + include Versions belongs_to :account belongs_to :bank_transaction belongs_to :invoice diff --git a/app/models/bank_statement.rb b/app/models/bank_statement.rb index dc5f84faf..bb670d227 100644 --- a/app/models/bank_statement.rb +++ b/app/models/bank_statement.rb @@ -1,4 +1,5 @@ class BankStatement < ActiveRecord::Base + include Versions has_many :bank_transactions attr_accessor :th6_file diff --git a/app/models/bank_transaction.rb b/app/models/bank_transaction.rb index fff068914..774ef9e5d 100644 --- a/app/models/bank_transaction.rb +++ b/app/models/bank_transaction.rb @@ -1,4 +1,5 @@ class BankTransaction < ActiveRecord::Base + include Versions belongs_to :bank_statement has_one :account_activity diff --git a/app/models/invoice.rb b/app/models/invoice.rb index fd381a5c7..e50c096ab 100644 --- a/app/models/invoice.rb +++ b/app/models/invoice.rb @@ -1,4 +1,5 @@ class Invoice < ActiveRecord::Base + include Versions belongs_to :seller, class_name: 'Registrar' belongs_to :buyer, class_name: 'Registrar' has_many :invoice_items diff --git a/app/models/invoice_item.rb b/app/models/invoice_item.rb index 0d3489714..e613b4a12 100644 --- a/app/models/invoice_item.rb +++ b/app/models/invoice_item.rb @@ -1,4 +1,5 @@ class InvoiceItem < ActiveRecord::Base + include Versions belongs_to :invoice def item_sum_without_vat diff --git a/app/models/version/account_activity_version.rb b/app/models/version/account_activity_version.rb new file mode 100644 index 000000000..b742f7a63 --- /dev/null +++ b/app/models/version/account_activity_version.rb @@ -0,0 +1,4 @@ +class AccountActivityVersion < PaperTrail::Version + self.table_name = :log_account_activities + self.sequence_name = :log_account_activities_id_seq +end diff --git a/app/models/version/account_version.rb b/app/models/version/account_version.rb new file mode 100644 index 000000000..b68edd4a5 --- /dev/null +++ b/app/models/version/account_version.rb @@ -0,0 +1,4 @@ +class AccountVersion < PaperTrail::Version + self.table_name = :log_accounts + self.sequence_name = :log_accounts_id_seq +end diff --git a/app/models/version/bank_statement_version.rb b/app/models/version/bank_statement_version.rb new file mode 100644 index 000000000..ae66f4efe --- /dev/null +++ b/app/models/version/bank_statement_version.rb @@ -0,0 +1,4 @@ +class BankStatementVersion < PaperTrail::Version + self.table_name = :log_bank_statements + self.sequence_name = :log_bank_statements_id_seq +end diff --git a/app/models/version/bank_transaction_version.rb b/app/models/version/bank_transaction_version.rb new file mode 100644 index 000000000..93e13be74 --- /dev/null +++ b/app/models/version/bank_transaction_version.rb @@ -0,0 +1,4 @@ +class BankTransactionVersion < PaperTrail::Version + self.table_name = :log_bank_transactions + self.sequence_name = :log_bank_transactions_id_seq +end diff --git a/app/models/version/invoice_item_version.rb b/app/models/version/invoice_item_version.rb new file mode 100644 index 000000000..ffdef5d3e --- /dev/null +++ b/app/models/version/invoice_item_version.rb @@ -0,0 +1,4 @@ +class InvoiceItemVersion < PaperTrail::Version + self.table_name = :log_invoice_items + self.sequence_name = :log_invoice_items_id_seq +end diff --git a/app/models/version/invoice_version.rb b/app/models/version/invoice_version.rb new file mode 100644 index 000000000..0b98c873f --- /dev/null +++ b/app/models/version/invoice_version.rb @@ -0,0 +1,4 @@ +class InvoiceVersion < PaperTrail::Version + self.table_name = :log_invoices + self.sequence_name = :log_invoices_id_seq +end diff --git a/config/locales/en.yml b/config/locales/en.yml index 733432322..7f8aee0ff 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -722,3 +722,4 @@ en: admin_head_title_sufix: ' - Estonian Internet Foundation' registrar_head_title: 'EIS Registrar' admin_head_title: 'Estonian Internet Foundation' + bind_manually: 'Bind manually' diff --git a/db/migrate/20150417082723_create_versions_for_billing.rb b/db/migrate/20150417082723_create_versions_for_billing.rb new file mode 100644 index 000000000..84af0f500 --- /dev/null +++ b/db/migrate/20150417082723_create_versions_for_billing.rb @@ -0,0 +1,112 @@ +class CreateVersionsForBilling < ActiveRecord::Migration + def change + + add_column :account_activities, :creator_str, :string + add_column :account_activities, :updator_str, :string + + add_column :accounts, :creator_str, :string + add_column :accounts, :updator_str, :string + + add_column :bank_statements, :creator_str, :string + add_column :bank_statements, :updator_str, :string + + add_column :bank_transactions, :creator_str, :string + add_column :bank_transactions, :updator_str, :string + + add_column :invoices, :creator_str, :string + add_column :invoices, :updator_str, :string + + add_column :invoice_items, :creator_str, :string + add_column :invoice_items, :updator_str, :string + + create_table "log_account_activities", force: :cascade do |t| + t.string "item_type", null: false + t.integer "item_id", null: false + t.string "event", null: false + t.string "whodunnit" + t.json "object" + t.json "object_changes" + t.datetime "created_at" + t.string "session" + t.json "children" + end + + add_index "log_account_activities", ["item_type", "item_id"], name: "index_log_account_activities_on_item_type_and_item_id", using: :btree + add_index "log_account_activities", ["whodunnit"], name: "index_log_account_activities_on_whodunnit", using: :btree + + create_table "log_accounts", force: :cascade do |t| + t.string "item_type", null: false + t.integer "item_id", null: false + t.string "event", null: false + t.string "whodunnit" + t.json "object" + t.json "object_changes" + t.datetime "created_at" + t.string "session" + t.json "children" + end + + add_index "log_accounts", ["item_type", "item_id"], name: "index_log_accounts_on_item_type_and_item_id", using: :btree + add_index "log_accounts", ["whodunnit"], name: "index_log_accounts_on_whodunnit", using: :btree + + create_table "log_bank_statements", force: :cascade do |t| + t.string "item_type", null: false + t.integer "item_id", null: false + t.string "event", null: false + t.string "whodunnit" + t.json "object" + t.json "object_changes" + t.datetime "created_at" + t.string "session" + t.json "children" + end + + add_index "log_bank_statements", ["item_type", "item_id"], name: "index_log_bank_statements_on_item_type_and_item_id", using: :btree + add_index "log_bank_statements", ["whodunnit"], name: "index_log_bank_statements_on_whodunnit", using: :btree + + create_table "log_bank_transactions", force: :cascade do |t| + t.string "item_type", null: false + t.integer "item_id", null: false + t.string "event", null: false + t.string "whodunnit" + t.json "object" + t.json "object_changes" + t.datetime "created_at" + t.string "session" + t.json "children" + end + + add_index "log_bank_transactions", ["item_type", "item_id"], name: "index_log_bank_transactions_on_item_type_and_item_id", using: :btree + add_index "log_bank_transactions", ["whodunnit"], name: "index_log_bank_transactions_on_whodunnit", using: :btree + + create_table "log_invoices", force: :cascade do |t| + t.string "item_type", null: false + t.integer "item_id", null: false + t.string "event", null: false + t.string "whodunnit" + t.json "object" + t.json "object_changes" + t.datetime "created_at" + t.string "session" + t.json "children" + end + + add_index "log_invoices", ["item_type", "item_id"], name: "index_log_invoices_on_item_type_and_item_id", using: :btree + add_index "log_invoices", ["whodunnit"], name: "index_log_invoices_on_whodunnit", using: :btree + + create_table "log_invoice_items", force: :cascade do |t| + t.string "item_type", null: false + t.integer "item_id", null: false + t.string "event", null: false + t.string "whodunnit" + t.json "object" + t.json "object_changes" + t.datetime "created_at" + t.string "session" + t.json "children" + end + + add_index "log_invoice_items", ["item_type", "item_id"], name: "index_log_invoice_items_on_item_type_and_item_id", using: :btree + add_index "log_invoice_items", ["whodunnit"], name: "index_log_invoice_items_on_whodunnit", using: :btree + end +end diff --git a/db/schema.rb b/db/schema.rb index 341d55bd2..9f7501fb5 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20150416094704) do +ActiveRecord::Schema.define(version: 20150417082723) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -25,6 +25,8 @@ ActiveRecord::Schema.define(version: 20150416094704) do t.datetime "created_at" t.datetime "updated_at" t.string "description" + t.string "creator_str" + t.string "updator_str" end add_index "account_activities", ["account_id"], name: "index_account_activities_on_account_id", using: :btree @@ -38,6 +40,8 @@ ActiveRecord::Schema.define(version: 20150416094704) do t.datetime "created_at" t.datetime "updated_at" t.string "currency" + t.string "creator_str" + t.string "updator_str" end add_index "accounts", ["registrar_id"], name: "index_accounts_on_registrar_id", using: :btree @@ -80,6 +84,8 @@ ActiveRecord::Schema.define(version: 20150416094704) do t.datetime "queried_at" t.datetime "created_at" t.datetime "updated_at" + t.string "creator_str" + t.string "updator_str" end create_table "bank_transactions", force: :cascade do |t| @@ -97,6 +103,8 @@ ActiveRecord::Schema.define(version: 20150416094704) do t.datetime "paid_at" t.datetime "created_at" t.datetime "updated_at" + t.string "creator_str" + t.string "updator_str" end create_table "banklink_transactions", force: :cascade do |t| @@ -313,6 +321,8 @@ ActiveRecord::Schema.define(version: 20150416094704) do t.decimal "price" t.datetime "created_at" t.datetime "updated_at" + t.string "creator_str" + t.string "updator_str" end add_index "invoice_items", ["invoice_id"], name: "index_invoice_items_on_invoice_id", using: :btree @@ -355,6 +365,8 @@ ActiveRecord::Schema.define(version: 20150416094704) do t.string "buyer_phone" t.string "buyer_url" t.string "buyer_email" + t.string "creator_str" + t.string "updator_str" end add_index "invoices", ["buyer_id"], name: "index_invoices_on_buyer_id", using: :btree @@ -395,6 +407,36 @@ ActiveRecord::Schema.define(version: 20150416094704) do add_index "legal_documents", ["documentable_type", "documentable_id"], name: "index_legal_documents_on_documentable_type_and_documentable_id", using: :btree + create_table "log_account_activities", force: :cascade do |t| + t.string "item_type", null: false + t.integer "item_id", null: false + t.string "event", null: false + t.string "whodunnit" + t.json "object" + t.json "object_changes" + t.datetime "created_at" + t.string "session" + t.json "children" + end + + add_index "log_account_activities", ["item_type", "item_id"], name: "index_log_account_activities_on_item_type_and_item_id", using: :btree + add_index "log_account_activities", ["whodunnit"], name: "index_log_account_activities_on_whodunnit", using: :btree + + create_table "log_accounts", force: :cascade do |t| + t.string "item_type", null: false + t.integer "item_id", null: false + t.string "event", null: false + t.string "whodunnit" + t.json "object" + t.json "object_changes" + t.datetime "created_at" + t.string "session" + t.json "children" + end + + add_index "log_accounts", ["item_type", "item_id"], name: "index_log_accounts_on_item_type_and_item_id", using: :btree + add_index "log_accounts", ["whodunnit"], name: "index_log_accounts_on_whodunnit", using: :btree + create_table "log_addresses", force: :cascade do |t| t.string "item_type", null: false t.integer "item_id", null: false @@ -425,6 +467,36 @@ ActiveRecord::Schema.define(version: 20150416094704) do add_index "log_api_users", ["item_type", "item_id"], name: "index_log_api_users_on_item_type_and_item_id", using: :btree add_index "log_api_users", ["whodunnit"], name: "index_log_api_users_on_whodunnit", using: :btree + create_table "log_bank_statements", force: :cascade do |t| + t.string "item_type", null: false + t.integer "item_id", null: false + t.string "event", null: false + t.string "whodunnit" + t.json "object" + t.json "object_changes" + t.datetime "created_at" + t.string "session" + t.json "children" + end + + add_index "log_bank_statements", ["item_type", "item_id"], name: "index_log_bank_statements_on_item_type_and_item_id", using: :btree + add_index "log_bank_statements", ["whodunnit"], name: "index_log_bank_statements_on_whodunnit", using: :btree + + create_table "log_bank_transactions", force: :cascade do |t| + t.string "item_type", null: false + t.integer "item_id", null: false + t.string "event", null: false + t.string "whodunnit" + t.json "object" + t.json "object_changes" + t.datetime "created_at" + t.string "session" + t.json "children" + end + + add_index "log_bank_transactions", ["item_type", "item_id"], name: "index_log_bank_transactions_on_item_type_and_item_id", using: :btree + add_index "log_bank_transactions", ["whodunnit"], name: "index_log_bank_transactions_on_whodunnit", using: :btree + create_table "log_certificates", force: :cascade do |t| t.string "item_type", null: false t.integer "item_id", null: false @@ -563,6 +635,36 @@ ActiveRecord::Schema.define(version: 20150416094704) do add_index "log_domains", ["item_type", "item_id"], name: "index_log_domains_on_item_type_and_item_id", using: :btree add_index "log_domains", ["whodunnit"], name: "index_log_domains_on_whodunnit", using: :btree + create_table "log_invoice_items", force: :cascade do |t| + t.string "item_type", null: false + t.integer "item_id", null: false + t.string "event", null: false + t.string "whodunnit" + t.json "object" + t.json "object_changes" + t.datetime "created_at" + t.string "session" + t.json "children" + end + + add_index "log_invoice_items", ["item_type", "item_id"], name: "index_log_invoice_items_on_item_type_and_item_id", using: :btree + add_index "log_invoice_items", ["whodunnit"], name: "index_log_invoice_items_on_whodunnit", using: :btree + + create_table "log_invoices", force: :cascade do |t| + t.string "item_type", null: false + t.integer "item_id", null: false + t.string "event", null: false + t.string "whodunnit" + t.json "object" + t.json "object_changes" + t.datetime "created_at" + t.string "session" + t.json "children" + end + + add_index "log_invoices", ["item_type", "item_id"], name: "index_log_invoices_on_item_type_and_item_id", using: :btree + add_index "log_invoices", ["whodunnit"], name: "index_log_invoices_on_whodunnit", using: :btree + create_table "log_keyrelays", force: :cascade do |t| t.string "item_type", null: false t.integer "item_id", null: false diff --git a/spec/models/bank_statement_spec.rb b/spec/models/bank_statement_spec.rb index 035db9908..2a901adb4 100644 --- a/spec/models/bank_statement_spec.rb +++ b/spec/models/bank_statement_spec.rb @@ -17,9 +17,9 @@ describe BankStatement do ]) end - # it 'should not have any versions' do - # @bank_statement.versions.should == [] - # end + it 'should not have any versions' do + @bank_statement.versions.should == [] + end end context 'with valid attributes' do @@ -99,14 +99,14 @@ describe BankStatement do bs.not_binded?.should == true end - # it 'should have one version' do - # with_versioning do - # @bank_statement.versions.should == [] - # @bank_statement.body = 'New body' - # @bank_statement.save - # @bank_statement.errors.full_messages.should match_array([]) - # @bank_statement.versions.size.should == 1 - # end - # end + it 'should have one version' do + with_versioning do + @bank_statement.versions.should == [] + @bank_statement.bank_code = 'new_code' + @bank_statement.save + @bank_statement.errors.full_messages.should match_array([]) + @bank_statement.versions.size.should == 1 + end + end end end