Fix numbers autoincrement
This commit is contained in:
parent
63590c9e92
commit
1cdf5048c3
6 changed files with 16 additions and 5 deletions
|
|
@ -52,7 +52,9 @@ class Check < ApplicationRecord
|
|||
:standard_text,
|
||||
:powerpoint_text
|
||||
|
||||
after_create { update(number: id) unless number }
|
||||
validates :number, uniqueness: true, presence: true
|
||||
|
||||
before_validation { self.number = self.class.maximum(:id).to_i + 1 unless self.number.present? }
|
||||
|
||||
scope(:search, lambda { |term|
|
||||
# TODO: Search only fields for current locale.
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
= bootstrap_form_with(model: check, remote: true) do |form|
|
||||
h2 Details
|
||||
= multilang_form_field(form, :name)
|
||||
= form.text_field :number
|
||||
= form.text_field :number, required: false
|
||||
.row
|
||||
= form.collection_radio_buttons(:principle_id, Principle.all.sort_by(&:t_name), :id, :t_name) { |b| b.label(class: "col-md-2") { b.radio_button + b.text } }
|
||||
= form.collection_check_boxes :standard_ids, Standard.all.sort_by{ _1.t_name.downcase }, :id, :t_name, include_blank: true
|
||||
|
|
|
|||
|
|
@ -0,0 +1,6 @@
|
|||
class ChangeChecksNumberNullToFalse < ActiveRecord::Migration[7.2]
|
||||
def change
|
||||
change_column :checks, :number, :bigint, null: false
|
||||
change_column :checks, :external_url, :string, null: true
|
||||
end
|
||||
end
|
||||
4
db/schema.rb
generated
4
db/schema.rb
generated
|
|
@ -10,7 +10,7 @@
|
|||
#
|
||||
# It's strongly recommended that you check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema[7.2].define(version: 2024_08_30_134641) do
|
||||
ActiveRecord::Schema[7.2].define(version: 2024_09_11_230623) do
|
||||
create_table "action_text_rich_texts", force: :cascade do |t|
|
||||
t.string "name", null: false
|
||||
t.text "body"
|
||||
|
|
@ -73,7 +73,7 @@ ActiveRecord::Schema[7.2].define(version: 2024_08_30_134641) do
|
|||
t.integer "level"
|
||||
t.datetime "created_at", null: false
|
||||
t.datetime "updated_at", null: false
|
||||
t.integer "number"
|
||||
t.bigint "number", null: false
|
||||
t.string "name_de"
|
||||
t.string "name_en"
|
||||
t.boolean "visual", default: false, null: false
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ class ChecksControllerTest < ActionDispatch::IntegrationTest
|
|||
test "should create check" do
|
||||
assert_difference("Check.count") do
|
||||
post checks_url,
|
||||
params: { check: { principle_id: @principle.id, level: @check.level, name_de: @check.name_de, position: @check.position,
|
||||
params: { check: { principle_id: @principle.id, number: Check.maximum(:number) + 1, level: @check.level, name_de: @check.name_de, position: @check.position,
|
||||
criterion_de: @check.criterion_de } }
|
||||
end
|
||||
|
||||
|
|
|
|||
3
test/fixtures/checks.yml
vendored
3
test/fixtures/checks.yml
vendored
|
|
@ -4,13 +4,16 @@ one:
|
|||
position: MyString
|
||||
name: MyString
|
||||
level: 1
|
||||
number: 1
|
||||
|
||||
two:
|
||||
position: MyString
|
||||
name: MyString
|
||||
level: 1
|
||||
number: 2
|
||||
|
||||
deletable:
|
||||
position: MyString
|
||||
name: MyString
|
||||
level: 1
|
||||
number: 3
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue