ecom_core 1.0.18 → 1.0.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/controllers/ecom/core/access_controller.rb +33 -0
- data/app/controllers/ecom/core/application_controller.rb +40 -1
- data/app/controllers/ecom/core/application_modules_controller.rb +33 -0
- data/app/controllers/ecom/core/menus_controller.rb +26 -0
- data/app/controllers/ecom/core/user_roles_controller.rb +40 -0
- data/app/controllers/ecom/core/users_controller.rb +43 -0
- data/app/models/ecom/core/application_module.rb +1 -1
- data/app/models/ecom/core/crew_time.rb +1 -1
- data/app/models/ecom/core/custom_payment_detail.rb +10 -0
- data/app/models/ecom/core/equipment.rb +10 -0
- data/app/models/ecom/core/equipment_category.rb +9 -0
- data/app/models/ecom/core/equipment_component.rb +9 -0
- data/app/models/ecom/core/equipment_item.rb +14 -0
- data/app/models/ecom/core/equipment_location.rb +10 -0
- data/app/models/ecom/core/equipment_valuation.rb +9 -0
- data/app/models/ecom/core/location_type.rb +6 -0
- data/app/models/ecom/core/menu.rb +1 -0
- data/app/models/ecom/core/payment_detail.rb +1 -1
- data/app/models/ecom/core/user.rb +3 -1
- data/app/serializers/ecom/core/application_module_serializer.rb +9 -0
- data/app/serializers/ecom/core/user_role_serializer.rb +9 -0
- data/app/serializers/ecom/core/user_serializer.rb +9 -0
- data/app/services/ecom/core/token_auth_service.rb +21 -0
- data/config/routes.rb +10 -0
- data/db/migrate/20200210095535_add_advance_column_to_payment_details.rb +5 -0
- data/db/migrate/20200221123207_add_employee_id_to_crew.rb +5 -0
- data/db/migrate/20200307112519_create_ecom_core_custom_payment_details.rb +24 -0
- data/db/migrate/20200315145215_create_ecom_core_equipment_locations.rb +14 -0
- data/db/migrate/20200315150500_create_ecom_core_equipment_categories.rb +14 -0
- data/db/migrate/20200315152143_create_ecom_core_equipment.rb +15 -0
- data/db/migrate/20200315153640_create_ecom_core_equipment_items.rb +23 -0
- data/db/migrate/20200315160810_create_ecom_core_equipment_valuations.rb +21 -0
- data/db/migrate/20200316125323_create_ecom_core_equipment_components.rb +13 -0
- data/lib/ecom/core/version.rb +1 -1
- data/spec/factories/ecom/core/custom_payment_details.rb +18 -0
- data/spec/factories/ecom/core/equipment.rb +8 -0
- data/spec/factories/ecom/core/equipment_categories.rb +7 -0
- data/spec/factories/ecom/core/equipment_components.rb +7 -0
- data/spec/factories/ecom/core/equipment_items.rb +16 -0
- data/spec/factories/ecom/core/equipment_locations.rb +8 -0
- data/spec/factories/ecom/core/equipment_valuations.rb +15 -0
- data/spec/factories/ecom/core/location_types.rb +5 -0
- data/spec/factories/ecom/core/payment_details.rb +1 -0
- metadata +56 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c71dd789c02616763f898bdd8417b5f18e8ed743890d93024506b911142b1934
|
4
|
+
data.tar.gz: 457632bac3ee575a2dd699bb86955b8abf7203795b5d38d420aacc4458859ccf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b55f2bb4e3017e18f3231d39df50d23529e87bc4654b1c9ca3b64a9ffa5f1c99502fedbdff61d55dbca4e0a67a4a5995e7664b579824382dad0ddd2e5b29ac7f
|
7
|
+
data.tar.gz: f19f8aa6b7746d8ccc3887758797dc4f906fc94f3ce82ffd38dbb62908b5f6f33e425e46f5d9f479c9ad6e34ab3445043c529ee6760da25c8898b711d3250c26
|
@@ -0,0 +1,33 @@
|
|
1
|
+
module Ecom
|
2
|
+
module Core
|
3
|
+
class AccessController < ApplicationController
|
4
|
+
skip_before_action :authenticate, only: [:login]
|
5
|
+
|
6
|
+
def login
|
7
|
+
user = User.find_by(email: auth_params[:email])
|
8
|
+
if user
|
9
|
+
if user.authenticate(auth_params[:password])
|
10
|
+
roles = user.user_roles.each_with_object([]) do |role, result|
|
11
|
+
result << role.name
|
12
|
+
end
|
13
|
+
|
14
|
+
payload = { id: user.id, email: user.email, name: user.full_name, roles: roles }
|
15
|
+
jwt = TokenAuthService.issue(payload)
|
16
|
+
render json: { token: jwt, user: payload, error: nil }
|
17
|
+
else
|
18
|
+
render json: { error: 'Invalid username or password' }, status: 400
|
19
|
+
end
|
20
|
+
else
|
21
|
+
render json: { error: 'User does not exist' }, status: 400
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
private
|
26
|
+
|
27
|
+
def auth_params
|
28
|
+
params.require(:auth).permit(:email, :password)
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -1,7 +1,46 @@
|
|
1
1
|
module Ecom
|
2
2
|
module Core
|
3
3
|
class ApplicationController < ActionController::API
|
4
|
-
|
4
|
+
before_action :authenticate
|
5
|
+
|
6
|
+
def logged_in?
|
7
|
+
!current_user.nil?
|
8
|
+
end
|
9
|
+
|
10
|
+
def current_user
|
11
|
+
return unless auth_present?
|
12
|
+
|
13
|
+
user = User.find(auth['id'])
|
14
|
+
@current_user ||= user if user
|
15
|
+
end
|
16
|
+
|
17
|
+
private
|
18
|
+
|
19
|
+
def authenticate
|
20
|
+
render json: { error: 'Unauthorized' }, status: 401 unless logged_in?
|
21
|
+
end
|
22
|
+
|
23
|
+
def token
|
24
|
+
return nil if request.env['HTTP_AUTHORIZATION'].nil?
|
25
|
+
|
26
|
+
request.env['HTTP_AUTHORIZATION'].scan(/Bearer (.*)$/).flatten.last
|
27
|
+
end
|
28
|
+
|
29
|
+
def auth
|
30
|
+
TokenAuthService.decode(token)
|
31
|
+
end
|
32
|
+
|
33
|
+
def auth_present?
|
34
|
+
!token.nil?
|
35
|
+
end
|
36
|
+
|
37
|
+
def generate_error_message(entity)
|
38
|
+
value = entity.errors.details.first[1][0][:value]
|
39
|
+
field = entity.errors.keys[0]
|
40
|
+
message = entity.errors.values[0][0]
|
41
|
+
|
42
|
+
entity.errors.full_message(field, "'#{value}' #{message}")
|
43
|
+
end
|
5
44
|
end
|
6
45
|
end
|
7
46
|
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
module Ecom
|
2
|
+
module Core
|
3
|
+
class ApplicationModulesController < ApplicationController
|
4
|
+
def index
|
5
|
+
render json: ApplicationModuleSerializer.new(ApplicationModule.all)
|
6
|
+
end
|
7
|
+
|
8
|
+
def create
|
9
|
+
application_module = ApplicationModule.new(application_module_params)
|
10
|
+
if application_module.save
|
11
|
+
render json: ApplicationModuleSerializer.new(application_module), status: :created
|
12
|
+
else
|
13
|
+
render json: { success: false, errors: application_module.errors }, status: :unprocessable_entity
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def update
|
18
|
+
application_module = ApplicationModule.find(params[:id])
|
19
|
+
if application_module.update(application_module_params)
|
20
|
+
render json: ApplicationModuleSerializer.new(application_module)
|
21
|
+
else
|
22
|
+
render json: { success: false, errors: application_module.errors }, status: :unprocessable_entity
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
private
|
27
|
+
|
28
|
+
def application_module_params
|
29
|
+
params.require(:application_module).permit(:code, :name)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Ecom
|
2
|
+
module Core
|
3
|
+
class MenusController < ApplicationController
|
4
|
+
def index
|
5
|
+
user = current_user
|
6
|
+
roles = user.user_roles
|
7
|
+
app_module = roles[0].application_module
|
8
|
+
menus = []
|
9
|
+
roles.each do |role|
|
10
|
+
menu_list = role.menus.where(parent: nil, application_module: app_module)
|
11
|
+
menu_list.each do |menu|
|
12
|
+
children = []
|
13
|
+
menu.children.order(:label).each do |child|
|
14
|
+
if role.menus.include? child
|
15
|
+
children << { label: child.label, icon: child.icon, route: child.route }
|
16
|
+
end
|
17
|
+
end
|
18
|
+
menus << { label: menu.label, icon: menu.icon, children: children }
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
render json: menus
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
module Ecom
|
2
|
+
module Core
|
3
|
+
class UserRolesController < ApplicationController
|
4
|
+
before_action :set_user_role, only: [:update]
|
5
|
+
|
6
|
+
def index
|
7
|
+
render json: UserRoleSerializer.new(UserRole.all)
|
8
|
+
end
|
9
|
+
|
10
|
+
def create
|
11
|
+
user_role = UserRole.new(user_role_params)
|
12
|
+
|
13
|
+
if user_role.save
|
14
|
+
render json: UserRoleSerializer.new(user_role), status: :created
|
15
|
+
else
|
16
|
+
render json: { success: false, errors: user_role.errors }, status: :unprocessable_entity
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def update
|
21
|
+
if @user_role.update(user_role_params)
|
22
|
+
render json: UserRoleSerializer.new(@user_role)
|
23
|
+
else
|
24
|
+
render json: { success: false, errors: @user_role.errors }, status: :unprocessable_entity
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
|
29
|
+
private
|
30
|
+
|
31
|
+
def set_user_role
|
32
|
+
@user_role = UserRole.find(params[:id])
|
33
|
+
end
|
34
|
+
|
35
|
+
def user_role_params
|
36
|
+
params.require(:user_role).permit(:name, :application_module_id)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
module Ecom
|
2
|
+
module Core
|
3
|
+
class UsersController < ApplicationController
|
4
|
+
before_action :set_user, only: [:update]
|
5
|
+
|
6
|
+
def index
|
7
|
+
render json: UserSerializer.new(User.all)
|
8
|
+
end
|
9
|
+
|
10
|
+
def active
|
11
|
+
render json: UserSerializer.new(User.active)
|
12
|
+
end
|
13
|
+
|
14
|
+
def create
|
15
|
+
user = User.new(user_params)
|
16
|
+
if user.save
|
17
|
+
render json: UserSerializer.new(user), status: :created
|
18
|
+
else
|
19
|
+
render json: { success: false, errors: user.errors }, status: :unprocessable_entity
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
def update
|
24
|
+
if @user.update(user_params)
|
25
|
+
render json: UserSerializer.new(@user)
|
26
|
+
else
|
27
|
+
render json: { success: false, errors: @user.errors }, status: :unprocessable_entity
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
|
32
|
+
private
|
33
|
+
|
34
|
+
def set_user
|
35
|
+
@user = User.find(params[:id])
|
36
|
+
end
|
37
|
+
|
38
|
+
def user_params
|
39
|
+
params.require(:user).permit(:first_name, :last_name, :email, :password, :active)
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -6,7 +6,7 @@ module Ecom
|
|
6
6
|
|
7
7
|
validates :date, :hours, :converted_hours, presence: true
|
8
8
|
validates_each :date do |record, attr, value|
|
9
|
-
if record.crew && (value < record.crew.employment_date)
|
9
|
+
if record.crew && value && (value < record.crew.employment_date)
|
10
10
|
record.errors.add(attr, 'should be after employment date')
|
11
11
|
end
|
12
12
|
end
|
@@ -0,0 +1,10 @@
|
|
1
|
+
module Ecom
|
2
|
+
module Core
|
3
|
+
class CustomPaymentDetail < ApplicationRecord
|
4
|
+
belongs_to :payment, class_name: 'Ecom::Core::Payment'
|
5
|
+
|
6
|
+
validates :name, :hours, :ot_hours, :base_salary, :overtime, :gross_salary, :tax, :pension, :net_salary, :net_pay,
|
7
|
+
:advance, :wage, presence: true
|
8
|
+
end
|
9
|
+
end
|
10
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module Ecom
|
2
|
+
module Core
|
3
|
+
class EquipmentItem < ApplicationRecord
|
4
|
+
READY = 'Ready'
|
5
|
+
UNDER_MAINTENANCE = 'Under Maintenance'
|
6
|
+
|
7
|
+
belongs_to :equipment
|
8
|
+
belongs_to :current_location, class_name: 'Ecom::Core::EquipmentLocation'
|
9
|
+
|
10
|
+
validates :name, :status, :serial_number, :purchase_date, :purchase_price, presence: true
|
11
|
+
validates :serial_number, uniqueness: true
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -3,6 +3,7 @@ module Ecom
|
|
3
3
|
class Menu < ApplicationRecord
|
4
4
|
belongs_to :parent, class_name: 'Ecom::Core::Menu', optional: true
|
5
5
|
belongs_to :application_module
|
6
|
+
has_many :children, class_name: 'Ecom::Core::Menu', foreign_key: 'parent_id'
|
6
7
|
|
7
8
|
validates :label, :route, presence: true
|
8
9
|
end
|
@@ -8,7 +8,9 @@ module Ecom
|
|
8
8
|
VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i.freeze
|
9
9
|
validates :first_name, :last_name, :active, presence: true
|
10
10
|
validates :email, presence: true, format: { with: VALID_EMAIL_REGEX }, uniqueness: { case_sensitive: false }
|
11
|
-
validates :password, length: { minimum: 6 }
|
11
|
+
validates :password, presence: true, length: { minimum: 6 }, confirmation: true, if: :password
|
12
|
+
|
13
|
+
scope :active, -> { where(active: true) }
|
12
14
|
|
13
15
|
def full_name
|
14
16
|
"#{first_name} #{last_name}"
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'jwt'
|
2
|
+
|
3
|
+
module Ecom
|
4
|
+
module Core
|
5
|
+
class TokenAuthService
|
6
|
+
AUTH_SECRET = '31a70abfaa57e5e77a3fc9f27aeaaf59b9a9f5355b5e16c842ee172035a8ed40bf82c1c971ecc176e4f0b4c9e6141db07fd4a5af3f7db9265e719fbe340b105a'
|
7
|
+
|
8
|
+
def self.issue(payload)
|
9
|
+
JWT.encode(payload, auth_secret, 'HS256')
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.decode(token)
|
13
|
+
JWT.decode(token, auth_secret, true, algorithm: 'HS256').first
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.auth_secret
|
17
|
+
AUTH_SECRET
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
data/config/routes.rb
CHANGED
@@ -1,5 +1,15 @@
|
|
1
1
|
Ecom::Core::Engine.routes.draw do
|
2
|
+
post '/login', controller: :access, action: :login
|
3
|
+
|
4
|
+
resources :application_modules, only: %i[index create update]
|
5
|
+
resources :user_roles, only: %i[index create update]
|
6
|
+
resources :menus, only: %i[index]
|
7
|
+
resources :users, only: %i[index create update]
|
8
|
+
get '/users/active', controller: :users, action: :active
|
9
|
+
|
10
|
+
|
2
11
|
resources :crew_types
|
3
12
|
resources :equipment_types
|
4
13
|
resources :material_types
|
14
|
+
resources :menus, only: %i[index]
|
5
15
|
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
class CreateEcomCoreCustomPaymentDetails < ActiveRecord::Migration[6.0]
|
2
|
+
def change
|
3
|
+
create_table :ecom_core_custom_payment_details do |t|
|
4
|
+
t.string :name, null: false
|
5
|
+
t.float :hours, null: false
|
6
|
+
t.float :ot_hours, null: false, default: 0
|
7
|
+
t.float :base_salary, null: false
|
8
|
+
t.float :overtime, null: false
|
9
|
+
t.float :gross_salary, null: false
|
10
|
+
t.float :tax, null: false, default: 0
|
11
|
+
t.float :pension, null: false, default: 0
|
12
|
+
t.float :net_salary, null: false
|
13
|
+
t.float :net_pay, null: false
|
14
|
+
t.float :advance, null: false
|
15
|
+
t.float :wage, null: false
|
16
|
+
t.string :qualification
|
17
|
+
t.references :payment, null: false, index: { name: 'cpd_on_payment_indx' }
|
18
|
+
|
19
|
+
t.timestamps
|
20
|
+
end
|
21
|
+
|
22
|
+
add_foreign_key :ecom_core_custom_payment_details, :ecom_core_payments, column: :payment_id
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
class CreateEcomCoreEquipmentLocations < ActiveRecord::Migration[6.0]
|
2
|
+
def change
|
3
|
+
create_table :ecom_core_equipment_locations do |t|
|
4
|
+
t.string :name, null: false, unique: true
|
5
|
+
t.string :description
|
6
|
+
t.string :address, null: false
|
7
|
+
t.references :location_type, null: false, index: { name: 'ecel_on_lt_indx' }
|
8
|
+
|
9
|
+
t.timestamps
|
10
|
+
end
|
11
|
+
|
12
|
+
add_foreign_key :ecom_core_equipment_locations, :ecom_core_lookups, column: :location_type_id
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
class CreateEcomCoreEquipmentCategories < ActiveRecord::Migration[6.0]
|
2
|
+
def change
|
3
|
+
create_table :ecom_core_equipment_categories do |t|
|
4
|
+
t.string :name, null: false
|
5
|
+
t.string :description
|
6
|
+
t.references :equipment_type, null: false, index: { name: 'et_on_ecec_indx' }
|
7
|
+
|
8
|
+
t.timestamps
|
9
|
+
end
|
10
|
+
|
11
|
+
add_index :ecom_core_equipment_categories, %i[name equipment_type_id], unique: true, name: 'ecec_name_et_indx'
|
12
|
+
add_foreign_key :ecom_core_equipment_categories, :ecom_core_resource_types, column: :equipment_type_id
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
class CreateEcomCoreEquipment < ActiveRecord::Migration[6.0]
|
2
|
+
def change
|
3
|
+
create_table :ecom_core_equipment do |t|
|
4
|
+
t.string :name, null: false
|
5
|
+
t.string :description
|
6
|
+
t.float :minimum_acquisition_time, null: false, default: 0
|
7
|
+
t.references :equipment_category, null: false, index: { name: 'ec_on_ece_indx' }
|
8
|
+
|
9
|
+
t.timestamps
|
10
|
+
end
|
11
|
+
|
12
|
+
add_index :ecom_core_equipment, %i[name equipment_category_id], unique: true
|
13
|
+
add_foreign_key :ecom_core_equipment, :ecom_core_equipment_categories, column: :equipment_category_id
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
class CreateEcomCoreEquipmentItems < ActiveRecord::Migration[6.0]
|
2
|
+
def change
|
3
|
+
create_table :ecom_core_equipment_items do |t|
|
4
|
+
t.string :name, null: false
|
5
|
+
t.string :description
|
6
|
+
t.string :status, null: false
|
7
|
+
t.string :serial_number, unique: true
|
8
|
+
t.string :brand
|
9
|
+
t.string :item_model
|
10
|
+
t.float :purchase_price, null: false
|
11
|
+
t.date :purchase_date, null: false
|
12
|
+
t.float :license_fee
|
13
|
+
t.float :tax
|
14
|
+
t.references :equipment, null: false, index: { name: 'equipment_on_ei_indx' }
|
15
|
+
t.references :current_location, null: false, index: { name: 'equipment_on_el_indx' }
|
16
|
+
|
17
|
+
t.timestamps
|
18
|
+
end
|
19
|
+
|
20
|
+
add_foreign_key :ecom_core_equipment_items, :ecom_core_equipment, column: :equipment_id
|
21
|
+
add_foreign_key :ecom_core_equipment_items, :ecom_core_equipment_locations, column: :current_location_id
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
class CreateEcomCoreEquipmentValuations < ActiveRecord::Migration[6.0]
|
2
|
+
def change
|
3
|
+
create_table :ecom_core_equipment_valuations do |t|
|
4
|
+
t.float :equipment_value, null: false
|
5
|
+
t.float :residual_value, null: false
|
6
|
+
t.float :work_hrs_per_yr, null: false
|
7
|
+
t.float :life_year, null: false
|
8
|
+
t.float :insurance_premium, null: false
|
9
|
+
t.float :fuel_cost_per_hr
|
10
|
+
t.float :oil_cost
|
11
|
+
t.float :repair_rate
|
12
|
+
t.float :rate_of_return
|
13
|
+
t.boolean :current, null: false, default: true
|
14
|
+
t.references :equipment_item, index: { name: 'ev_on_ei_indx' }
|
15
|
+
|
16
|
+
t.timestamps
|
17
|
+
end
|
18
|
+
|
19
|
+
add_foreign_key :ecom_core_equipment_valuations, :ecom_core_equipment_items, column: :equipment_item_id
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
class CreateEcomCoreEquipmentComponents < ActiveRecord::Migration[6.0]
|
2
|
+
def change
|
3
|
+
create_table :ecom_core_equipment_components do |t|
|
4
|
+
t.string :serial_number
|
5
|
+
t.string :name, null: false
|
6
|
+
t.references :equipment_item, null: false, index: { name: 'ei_on_ec_indx' }
|
7
|
+
|
8
|
+
t.timestamps
|
9
|
+
end
|
10
|
+
|
11
|
+
add_foreign_key :ecom_core_equipment_components, :ecom_core_equipment_items, column: :equipment_item_id
|
12
|
+
end
|
13
|
+
end
|
data/lib/ecom/core/version.rb
CHANGED
@@ -0,0 +1,18 @@
|
|
1
|
+
FactoryBot.define do
|
2
|
+
factory :custom_payment_detail, class: 'Ecom::Core::CustomPaymentDetail' do
|
3
|
+
name { FFaker::Name.name }
|
4
|
+
hours { 1.5 }
|
5
|
+
ot_hours { 1.5 }
|
6
|
+
base_salary { 1.5 }
|
7
|
+
overtime { 1.5 }
|
8
|
+
gross_salary { 100 }
|
9
|
+
tax { 15 }
|
10
|
+
pension { 5 }
|
11
|
+
net_salary { 80 }
|
12
|
+
net_pay { 80 }
|
13
|
+
advance { 0 }
|
14
|
+
wage { 1.5 }
|
15
|
+
qualification { FFaker::Name.name }
|
16
|
+
association :payment
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
FactoryBot.define do
|
2
|
+
factory :equipment_item, class: 'Ecom::Core::EquipmentItem' do
|
3
|
+
name { FFaker::Name.name }
|
4
|
+
description { FFaker::Name.name }
|
5
|
+
status { FFaker::Name.name }
|
6
|
+
serial_number { FFaker::Name.name }
|
7
|
+
brand { FFaker::Name.name }
|
8
|
+
item_model { FFaker::Name.name }
|
9
|
+
purchase_price { 1000 }
|
10
|
+
purchase_date { Date.today }
|
11
|
+
license_fee { 200 }
|
12
|
+
tax { 500 }
|
13
|
+
association :equipment
|
14
|
+
association :current_location, factory: :equipment_location
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
FactoryBot.define do
|
2
|
+
factory :equipment_valuation, class: 'Ecom::Core::EquipmentValuation' do
|
3
|
+
equipment_value { 1500 }
|
4
|
+
residual_value { 150 }
|
5
|
+
work_hrs_per_yr { 150 }
|
6
|
+
life_year { 15 }
|
7
|
+
insurance_premium { 100 }
|
8
|
+
fuel_cost_per_hr { 1.5 }
|
9
|
+
oil_cost { 10 }
|
10
|
+
repair_rate { 1 }
|
11
|
+
rate_of_return { 3 }
|
12
|
+
current { false }
|
13
|
+
association :equipment_item
|
14
|
+
end
|
15
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ecom_core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.23
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Henock L.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-03-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aasm
|
@@ -53,21 +53,21 @@ dependencies:
|
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: fast_jsonapi
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
61
|
+
version: '0'
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - "
|
66
|
+
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
68
|
+
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
70
|
+
name: jwt
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - ">="
|
@@ -80,6 +80,20 @@ dependencies:
|
|
80
80
|
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rails
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 6.0.2
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 6.0.2
|
83
97
|
- !ruby/object:Gem::Dependency
|
84
98
|
name: factory_bot_rails
|
85
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -191,17 +205,30 @@ files:
|
|
191
205
|
- Rakefile
|
192
206
|
- app/controllers/concerns/ecom/core/lookupable.rb
|
193
207
|
- app/controllers/concerns/ecom/core/resource_typeable.rb
|
208
|
+
- app/controllers/ecom/core/access_controller.rb
|
194
209
|
- app/controllers/ecom/core/application_controller.rb
|
210
|
+
- app/controllers/ecom/core/application_modules_controller.rb
|
195
211
|
- app/controllers/ecom/core/crew_types_controller.rb
|
196
212
|
- app/controllers/ecom/core/equipment_types_controller.rb
|
197
213
|
- app/controllers/ecom/core/material_types_controller.rb
|
214
|
+
- app/controllers/ecom/core/menus_controller.rb
|
215
|
+
- app/controllers/ecom/core/user_roles_controller.rb
|
216
|
+
- app/controllers/ecom/core/users_controller.rb
|
198
217
|
- app/models/ecom/core/application_module.rb
|
199
218
|
- app/models/ecom/core/application_record.rb
|
200
219
|
- app/models/ecom/core/crew.rb
|
201
220
|
- app/models/ecom/core/crew_time.rb
|
202
221
|
- app/models/ecom/core/crew_type.rb
|
203
222
|
- app/models/ecom/core/currency.rb
|
223
|
+
- app/models/ecom/core/custom_payment_detail.rb
|
224
|
+
- app/models/ecom/core/equipment.rb
|
225
|
+
- app/models/ecom/core/equipment_category.rb
|
226
|
+
- app/models/ecom/core/equipment_component.rb
|
227
|
+
- app/models/ecom/core/equipment_item.rb
|
228
|
+
- app/models/ecom/core/equipment_location.rb
|
204
229
|
- app/models/ecom/core/equipment_type.rb
|
230
|
+
- app/models/ecom/core/equipment_valuation.rb
|
231
|
+
- app/models/ecom/core/location_type.rb
|
205
232
|
- app/models/ecom/core/lookup.rb
|
206
233
|
- app/models/ecom/core/material_type.rb
|
207
234
|
- app/models/ecom/core/menu.rb
|
@@ -223,8 +250,12 @@ files:
|
|
223
250
|
- app/models/ecom/core/work_component_template.rb
|
224
251
|
- app/models/ecom/core/work_product.rb
|
225
252
|
- app/models/ecom/core/work_product_template.rb
|
253
|
+
- app/serializers/ecom/core/application_module_serializer.rb
|
226
254
|
- app/serializers/ecom/core/lookup_serializer.rb
|
227
255
|
- app/serializers/ecom/core/resource_type_serializer.rb
|
256
|
+
- app/serializers/ecom/core/user_role_serializer.rb
|
257
|
+
- app/serializers/ecom/core/user_serializer.rb
|
258
|
+
- app/services/ecom/core/token_auth_service.rb
|
228
259
|
- config/database.ci.yml
|
229
260
|
- config/routes.rb
|
230
261
|
- db/migrate/20190101112620_create_ecom_core_lookups.rb
|
@@ -254,6 +285,15 @@ files:
|
|
254
285
|
- db/migrate/20200126183218_create_ecom_core_payment_details.rb
|
255
286
|
- db/migrate/20200207035823_add_additional_columns_to_payment.rb
|
256
287
|
- db/migrate/20200207040844_add_net_pay_column_to_payment_details.rb
|
288
|
+
- db/migrate/20200210095535_add_advance_column_to_payment_details.rb
|
289
|
+
- db/migrate/20200221123207_add_employee_id_to_crew.rb
|
290
|
+
- db/migrate/20200307112519_create_ecom_core_custom_payment_details.rb
|
291
|
+
- db/migrate/20200315145215_create_ecom_core_equipment_locations.rb
|
292
|
+
- db/migrate/20200315150500_create_ecom_core_equipment_categories.rb
|
293
|
+
- db/migrate/20200315152143_create_ecom_core_equipment.rb
|
294
|
+
- db/migrate/20200315153640_create_ecom_core_equipment_items.rb
|
295
|
+
- db/migrate/20200315160810_create_ecom_core_equipment_valuations.rb
|
296
|
+
- db/migrate/20200316125323_create_ecom_core_equipment_components.rb
|
257
297
|
- lib/ecom/core.rb
|
258
298
|
- lib/ecom/core/engine.rb
|
259
299
|
- lib/ecom/core/version.rb
|
@@ -264,7 +304,15 @@ files:
|
|
264
304
|
- spec/factories/ecom/core/crew_types.rb
|
265
305
|
- spec/factories/ecom/core/crews.rb
|
266
306
|
- spec/factories/ecom/core/currencies.rb
|
307
|
+
- spec/factories/ecom/core/custom_payment_details.rb
|
308
|
+
- spec/factories/ecom/core/equipment.rb
|
309
|
+
- spec/factories/ecom/core/equipment_categories.rb
|
310
|
+
- spec/factories/ecom/core/equipment_components.rb
|
311
|
+
- spec/factories/ecom/core/equipment_items.rb
|
312
|
+
- spec/factories/ecom/core/equipment_locations.rb
|
267
313
|
- spec/factories/ecom/core/equipment_types.rb
|
314
|
+
- spec/factories/ecom/core/equipment_valuations.rb
|
315
|
+
- spec/factories/ecom/core/location_types.rb
|
268
316
|
- spec/factories/ecom/core/lookups.rb
|
269
317
|
- spec/factories/ecom/core/material_types.rb
|
270
318
|
- spec/factories/ecom/core/menus.rb
|