Fix missing value limits for UserRole
position (#33172)
This commit is contained in:
parent
1992c2a4fa
commit
ca2a7d66b8
2 changed files with 13 additions and 0 deletions
|
@ -41,6 +41,8 @@ class UserRole < ApplicationRecord
|
|||
EVERYONE_ROLE_ID = -99
|
||||
NOBODY_POSITION = -1
|
||||
|
||||
POSITION_LIMIT = 2**31
|
||||
|
||||
module Flags
|
||||
NONE = 0
|
||||
ALL = FLAGS.values.reduce(&:|)
|
||||
|
@ -89,6 +91,7 @@ class UserRole < ApplicationRecord
|
|||
|
||||
validates :name, presence: true, unless: :everyone?
|
||||
validates :color, format: { with: /\A#?(?:[A-F0-9]{3}){1,2}\z/i }, unless: -> { color.blank? }
|
||||
validates :position, numericality: { greater_than_or_equal_to: -POSITION_LIMIT, less_than_or_equal_to: POSITION_LIMIT }
|
||||
|
||||
validate :validate_permissions_elevation
|
||||
validate :validate_position_elevation
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue