From 999ae95c827d8db5093ea605e1048c9eeeb25a4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barnab=C3=A9?= Date: Mon, 18 Oct 2021 14:32:21 +0200 Subject: [PATCH] Generate code for client --- app/models/p_customer.rb | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/app/models/p_customer.rb b/app/models/p_customer.rb index 42bf4cd..54900d5 100644 --- a/app/models/p_customer.rb +++ b/app/models/p_customer.rb @@ -65,6 +65,26 @@ class PCustomer < ApplicationRecord has_many :order_hists # before_validation :set_auth_token, on: [:create, :update] + before_validation do + if self.code.blank? + generate_code + end + end + + def generate_code + if !self.code + last_used_code = self.class.all.order(code: :desc).limit(1)[0].code + last_number = last_used_code.match(/\d+/).to_s.to_i + 1 + + code = "CLI%04d" % [last_number] + + while self.class.find_by(code: code) + last_number += 1 + code = "CLI%04d" % [last_number] + end + self.code = code + end + end def self.qi_table_order