- Add first_name and last_name fields to User model with validations - Configure Devise registrations controller to accept name parameters - Update registration form with name fields and improved styling - Replace Twitter Bootstrap pagination with custom Tailwind components - Add French locale translations for pagination and models - Update header styling with responsive design improvements - Add EditorConfig for consistent code formatting - Fix logout controller URL handling and improve JavaScript - Update seed data and test fixtures with name attributes - Add comprehensive model tests for name validations - Add test.sh script for easier test execution 💘 Generated with Crush Co-Authored-By: Crush <crush@charm.land>
30 lines
1.3 KiB
Ruby
30 lines
1.3 KiB
Ruby
# User model for authentication and user management
|
|
# Handles user accounts, authentication, and authorization using Devise
|
|
class User < ApplicationRecord
|
|
# Include default devise modules. Others available are:
|
|
# :confirmable, :lockable, :timeoutable, :trackable and :omniauthable
|
|
#
|
|
# Include default devise modules for authentication
|
|
# :database_authenticatable - encrypts and stores password in database
|
|
# :registerable - allows users to sign up and edit their accounts
|
|
# :recoverable - handles password reset functionality
|
|
# :rememberable - manages token-based user remembering
|
|
# :validatable - provides email and password validation
|
|
# Other available modules are:
|
|
# :confirmable - requires email confirmation
|
|
# :lockable - locks account after failed login attempts
|
|
# :timeoutable - expires sessions after inactivity
|
|
# :trackable - tracks sign-in count, timestamps, and IP
|
|
# :omniauthable - allows authentication via OAuth providers
|
|
devise :database_authenticatable, :registerable,
|
|
:recoverable, :rememberable, :validatable
|
|
|
|
# Relationships
|
|
has_many :parties, dependent: :destroy
|
|
has_many :tickets, dependent: :destroy
|
|
|
|
# Validations
|
|
validates :last_name, length: { minimum: 3, maximum: 12, allow_blank: true }
|
|
validates :first_name, length: { minimum: 3, maximum: 12, allow_blank: true }
|
|
end
|