mobilart_models 1.2.14
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 +7 -0
- data/MIT-LICENSE +20 -0
- data/README.rdoc +3 -0
- data/Rakefile +37 -0
- data/app/models/bundle.rb +39 -0
- data/app/models/chosen_deck.rb +76 -0
- data/app/models/chosen_furniture.rb +114 -0
- data/app/models/chosen_item.rb +187 -0
- data/app/models/chosen_room.rb +114 -0
- data/app/models/commission.rb +58 -0
- data/app/models/deck.rb +25 -0
- data/app/models/furniture.rb +45 -0
- data/app/models/furniture_item.rb +20 -0
- data/app/models/item.rb +25 -0
- data/app/models/room.rb +22 -0
- data/app/models/timetable.rb +171 -0
- data/app/models/workflow.rb +173 -0
- data/config/initializers/mobilart_models_after_initialize.rb +7 -0
- data/config/locales/en.activerecord.yml +36 -0
- data/config/locales/en.yml +38 -0
- data/config/locales/it.activerecord.yml +157 -0
- data/config/locales/it.yml +33 -0
- data/config/routes.rb +2 -0
- data/db/migrate/20150825174853_create_items.rb +13 -0
- data/db/migrate/20150825175219_create_commissions.rb +14 -0
- data/db/migrate/20150825175836_create_decks.rb +13 -0
- data/db/migrate/20150825175853_create_rooms.rb +13 -0
- data/db/migrate/20150825175952_create_furnitures.rb +13 -0
- data/db/migrate/20150825180027_create_furniture_items.rb +10 -0
- data/db/migrate/20150825180510_create_bundles.rb +14 -0
- data/db/migrate/20150827084511_create_chosen_decks.rb +12 -0
- data/db/migrate/20150827084626_create_chosen_rooms.rb +12 -0
- data/db/migrate/20150827084745_create_chosen_furnitures.rb +12 -0
- data/db/migrate/20150827184845_create_chosen_items.rb +12 -0
- data/db/migrate/20150828180910_create_workflows.rb +13 -0
- data/db/migrate/20150903152839_create_timetables.rb +17 -0
- data/db/migrate/20151201145832_add_external_to_user.rb +5 -0
- data/db/migrate/20151202155259_add_external_to_workflow.rb +6 -0
- data/db/migrate/20151218145139_add_closed_to_commission.rb +5 -0
- data/db/migrate/20151221083612_add_checked_to_chosen_item.rb +5 -0
- data/db/migrate/20151221100829_add_bundle_to_chosen_item.rb +5 -0
- data/db/migrate/20151221100914_add_checked_in_bundle_to_chosen_item.rb +5 -0
- data/db/migrate/20160212155936_remove_chosen_furniture_from_timetable.rb +5 -0
- data/db/migrate/20160212160511_add_chosen_item_to_timetable.rb +5 -0
- data/db/migrate/20160331101901_add_code_to_user.rb +6 -0
- data/db/migrate/20160519144818_save_items_to_make_name_code_the_same.rb +7 -0
- data/db/migrate/20160622132452_add_barcode_to_chosen_item.rb +154 -0
- data/db/migrate/20160629135548_edit_index_for_furniture.rb +6 -0
- data/db/migrate/20170723195528_remove_barcode_from_chosen_items.rb +5 -0
- data/lib/mobilart_models.rb +14 -0
- data/lib/mobilart_models/engine.rb +12 -0
- data/lib/mobilart_models/version.rb +3 -0
- data/lib/mobilart_models_abilities.rb +53 -0
- data/lib/mobilart_roles.rb +6 -0
- data/lib/rails_admin_print_jobs_concern.rb +13 -0
- data/lib/rails_admin_printers_concern.rb +13 -0
- data/lib/rails_admin_user_main_concern.rb +11 -0
- data/lib/tasks/mobilart_models_tasks.rake +4 -0
- data/lib/user_model_concerns.rb +13 -0
- data/test/dummy/README.rdoc +28 -0
- data/test/dummy/Rakefile +6 -0
- data/test/dummy/app/assets/javascripts/application.js +13 -0
- data/test/dummy/app/assets/stylesheets/application.css +15 -0
- data/test/dummy/app/controllers/application_controller.rb +5 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/views/layouts/application.html.erb +14 -0
- data/test/dummy/bin/bundle +3 -0
- data/test/dummy/bin/rails +4 -0
- data/test/dummy/bin/rake +4 -0
- data/test/dummy/bin/setup +29 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/config/application.rb +25 -0
- data/test/dummy/config/boot.rb +5 -0
- data/test/dummy/config/database.yml +25 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +41 -0
- data/test/dummy/config/environments/production.rb +79 -0
- data/test/dummy/config/environments/test.rb +42 -0
- data/test/dummy/config/initializers/assets.rb +11 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
- data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/test/dummy/config/initializers/inflections.rb +16 -0
- data/test/dummy/config/initializers/mime_types.rb +4 -0
- data/test/dummy/config/initializers/session_store.rb +3 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +23 -0
- data/test/dummy/config/routes.rb +56 -0
- data/test/dummy/config/secrets.yml +22 -0
- data/test/dummy/log/development.log +1 -0
- data/test/dummy/public/404.html +67 -0
- data/test/dummy/public/422.html +67 -0
- data/test/dummy/public/500.html +66 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/integration/navigation_test.rb +8 -0
- data/test/mobilart_models_test.rb +7 -0
- data/test/test_helper.rb +20 -0
- metadata +206 -0
@@ -0,0 +1,173 @@
|
|
1
|
+
class Workflow < ApplicationRecord
|
2
|
+
belongs_to :chosen_item, inverse_of: :workflows
|
3
|
+
belongs_to :user, inverse_of: :workflows
|
4
|
+
belongs_to :third_party, class_name: 'User', inverse_of: :assigneds
|
5
|
+
|
6
|
+
validates :statuses, presence: true
|
7
|
+
validates :chosen_item, presence: true
|
8
|
+
validates :user, presence: true
|
9
|
+
|
10
|
+
default_scope {
|
11
|
+
joins({
|
12
|
+
chosen_item: [
|
13
|
+
{furniture_item: :item},
|
14
|
+
{
|
15
|
+
chosen_furniture: [
|
16
|
+
:furniture,
|
17
|
+
{
|
18
|
+
chosen_room: [
|
19
|
+
:room,
|
20
|
+
{
|
21
|
+
chosen_deck: [
|
22
|
+
:deck,
|
23
|
+
:commission
|
24
|
+
]
|
25
|
+
}
|
26
|
+
]
|
27
|
+
}
|
28
|
+
]
|
29
|
+
}
|
30
|
+
]
|
31
|
+
})
|
32
|
+
}
|
33
|
+
|
34
|
+
# useful for filters
|
35
|
+
def commission
|
36
|
+
chosen_item.chosen_furniture.chosen_room.chosen_deck.commission.code rescue "-"
|
37
|
+
end
|
38
|
+
|
39
|
+
def deck
|
40
|
+
chosen_item.chosen_furniture.chosen_room.chosen_deck.deck.name rescue "-"
|
41
|
+
end
|
42
|
+
|
43
|
+
def room
|
44
|
+
chosen_item.chosen_furniture.chosen_room.room.name rescue "-"
|
45
|
+
end
|
46
|
+
|
47
|
+
def furniture
|
48
|
+
chosen_item.chosen_furniture.furniture.name rescue "-"
|
49
|
+
end
|
50
|
+
|
51
|
+
def item
|
52
|
+
chosen_item.furniture_item.item.name rescue "-"
|
53
|
+
end
|
54
|
+
|
55
|
+
def barcode
|
56
|
+
chosen_item.barcode
|
57
|
+
end
|
58
|
+
|
59
|
+
STAT = %i[
|
60
|
+
internal_labour
|
61
|
+
external_labour
|
62
|
+
internal_paint
|
63
|
+
external_paint
|
64
|
+
upholstery
|
65
|
+
storage
|
66
|
+
construction_yard
|
67
|
+
]
|
68
|
+
|
69
|
+
STAT_TRANSLATED = STAT.each_with_index.map {|a,i| [I18n.t("statuses.#{a.to_sym}"), (i+1).to_s]}
|
70
|
+
|
71
|
+
def self.stats
|
72
|
+
STAT
|
73
|
+
end
|
74
|
+
|
75
|
+
def self.stats_translated
|
76
|
+
STAT_TRANSLATED
|
77
|
+
end
|
78
|
+
|
79
|
+
def statuses_enum
|
80
|
+
# Array holding all the roles
|
81
|
+
# Do not EDIT below this line
|
82
|
+
# statuses.map {|s| I18n.t("statuses.#{s.to_sym}")}
|
83
|
+
STAT_TRANSLATED
|
84
|
+
end
|
85
|
+
|
86
|
+
def stat
|
87
|
+
I18n.t "statuses.#{STAT[(statuses.to_i-1)].to_sym}"
|
88
|
+
end
|
89
|
+
|
90
|
+
def display_name
|
91
|
+
# [commission, deck, room, furniture, item].compact.join(" - ")
|
92
|
+
chosen_item.barcode
|
93
|
+
end
|
94
|
+
|
95
|
+
rails_admin do
|
96
|
+
navigation_label I18n.t("admin.tools.label")
|
97
|
+
navigation_icon 'fa fa-code-fork'
|
98
|
+
weight 9
|
99
|
+
|
100
|
+
# field :chosen_item
|
101
|
+
field :barcode do
|
102
|
+
read_only true
|
103
|
+
# This is a very sad hack, leveraging on the hackability of
|
104
|
+
# this part of code.
|
105
|
+
# I expect to see it explode in a while, trying to search for a solution,
|
106
|
+
# a true one, meanwhile... I use the hack (rails_admin just adds a dot
|
107
|
+
# between key and value.. thus rebuilding the string as needed)
|
108
|
+
searchable [{ "concat(commissions" => "code,decks.code,chosen_decks.code,rooms.code,chosen_rooms.code,furnitures.code,chosen_furnitures.code,items.code,LPAD(chosen_items.code::text, 5, '0'))"}]
|
109
|
+
end
|
110
|
+
field :statuses
|
111
|
+
field :third_party do
|
112
|
+
searchable [{User => :username}]
|
113
|
+
associated_collection_cache_all false # REQUIRED if you want to SORT the list
|
114
|
+
associated_collection_scope do
|
115
|
+
# bindings[:object] & bindings[:controller] are available, but not in scope's block!
|
116
|
+
workflow = bindings[:object]
|
117
|
+
Proc.new { |scope|
|
118
|
+
# Looking just for third parties
|
119
|
+
scope = scope.where(third_party: true)
|
120
|
+
}
|
121
|
+
end
|
122
|
+
end
|
123
|
+
field :user do
|
124
|
+
searchable [{User => :username}]
|
125
|
+
end
|
126
|
+
field :created_at do
|
127
|
+
read_only true
|
128
|
+
end
|
129
|
+
edit do
|
130
|
+
field :chosen_item
|
131
|
+
field :description
|
132
|
+
end
|
133
|
+
show do
|
134
|
+
field :item
|
135
|
+
field :description
|
136
|
+
end
|
137
|
+
list do
|
138
|
+
field :commission do
|
139
|
+
#column_width 12
|
140
|
+
searchable "commissions.code"
|
141
|
+
read_only true
|
142
|
+
sortable "commissions.code"
|
143
|
+
filterable true
|
144
|
+
end
|
145
|
+
field :deck do
|
146
|
+
#column_width 12
|
147
|
+
searchable "decks.name"
|
148
|
+
sortable "decks.name"
|
149
|
+
read_only true
|
150
|
+
filterable true
|
151
|
+
end
|
152
|
+
field :room do
|
153
|
+
searchable "rooms.name"
|
154
|
+
sortable "rooms.name"
|
155
|
+
read_only true
|
156
|
+
filterable true
|
157
|
+
end
|
158
|
+
field :furniture do
|
159
|
+
searchable "furnitures.name"
|
160
|
+
sortable "furnitures.name"
|
161
|
+
read_only true
|
162
|
+
filterable true
|
163
|
+
end
|
164
|
+
field :item do
|
165
|
+
searchable "items.name"
|
166
|
+
sortable "items.name"
|
167
|
+
read_only true
|
168
|
+
filterable true
|
169
|
+
end
|
170
|
+
end
|
171
|
+
|
172
|
+
end
|
173
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
en:
|
2
|
+
activerecord:
|
3
|
+
models:
|
4
|
+
bundle:
|
5
|
+
one: Bundle
|
6
|
+
other: Bundles
|
7
|
+
deck:
|
8
|
+
one: Deck
|
9
|
+
other: Decks Database
|
10
|
+
furniture:
|
11
|
+
one: Furniture
|
12
|
+
other: Furnitures Database
|
13
|
+
item:
|
14
|
+
one: Item
|
15
|
+
other: Items Database
|
16
|
+
commission:
|
17
|
+
one: Ship
|
18
|
+
other: Ships (Commissions)
|
19
|
+
chosen_deck:
|
20
|
+
one: Selected Deck
|
21
|
+
other: Decks' Choice
|
22
|
+
chosen_furniture:
|
23
|
+
one: Selected Furniture
|
24
|
+
other: Furnitures' Choice
|
25
|
+
chosen_item:
|
26
|
+
one: Selected Item
|
27
|
+
other: Items' Choice
|
28
|
+
chosen_room:
|
29
|
+
one: Selected Room
|
30
|
+
other: Rooms' Choice
|
31
|
+
room:
|
32
|
+
one: Room
|
33
|
+
other: Rooms Database
|
34
|
+
workflow:
|
35
|
+
one: Workflow
|
36
|
+
other: Workflows
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# Files in the config/locales directory are used for internationalization
|
2
|
+
# and are automatically loaded by Rails. If you want to use locales other
|
3
|
+
# than English, add the necessary files in this directory.
|
4
|
+
#
|
5
|
+
# To use the locales, use `I18n.t`:
|
6
|
+
#
|
7
|
+
# I18n.t 'hello'
|
8
|
+
#
|
9
|
+
# In views, this is aliased to just `t`:
|
10
|
+
#
|
11
|
+
# <%= t('hello') %>
|
12
|
+
#
|
13
|
+
# To use a different locale, set it with `I18n.locale`:
|
14
|
+
#
|
15
|
+
# I18n.locale = :es
|
16
|
+
#
|
17
|
+
# This would use the information in config/locales/es.yml.
|
18
|
+
#
|
19
|
+
# To learn more, please read the Rails Internationalization guide
|
20
|
+
# available at http://guides.rubyonrails.org/i18n.html.
|
21
|
+
|
22
|
+
en:
|
23
|
+
hello: "Hello world"
|
24
|
+
dashboard: "Dashboard"
|
25
|
+
contact: "Contact"
|
26
|
+
manage: "Manage"
|
27
|
+
sign_out: "Sign Out"
|
28
|
+
statuses:
|
29
|
+
internal_labour: External Labour
|
30
|
+
external_labour: Internal Labour
|
31
|
+
internal_paint: External Paint
|
32
|
+
external_paint: Internal Paint
|
33
|
+
upholstery: Upholstery
|
34
|
+
storage: Storage
|
35
|
+
construction_yard: Construction Yard
|
36
|
+
status:
|
37
|
+
finished: Finished
|
38
|
+
suspended: Suspended
|
@@ -0,0 +1,157 @@
|
|
1
|
+
it:
|
2
|
+
activerecord:
|
3
|
+
models:
|
4
|
+
bundle:
|
5
|
+
one: Sovracollo
|
6
|
+
other: Sovracolli
|
7
|
+
deck:
|
8
|
+
one: Ponte
|
9
|
+
other: Anagrafica Ponti
|
10
|
+
furniture:
|
11
|
+
one: Mobile
|
12
|
+
other: Anagrafica Mobili
|
13
|
+
furniture_item:
|
14
|
+
one: Particolare
|
15
|
+
other: Particolari
|
16
|
+
item:
|
17
|
+
one: Particolare
|
18
|
+
other: Anagrafica Particolari
|
19
|
+
commission:
|
20
|
+
one: Barca (Commessa)
|
21
|
+
other: Barche (Commesse)
|
22
|
+
chosen_deck:
|
23
|
+
one: Ponte Inserito
|
24
|
+
other: Configurazione dei Ponti
|
25
|
+
chosen_furniture:
|
26
|
+
one: Mobile Inserito
|
27
|
+
other: Mobili Inseriti
|
28
|
+
chosen_item:
|
29
|
+
one: Particolare Inserito
|
30
|
+
other: Particolari Scelti
|
31
|
+
chosen_room:
|
32
|
+
one: Locale Inserito
|
33
|
+
other: Configurazione dei Locali
|
34
|
+
room:
|
35
|
+
one: Locale
|
36
|
+
other: Anagrafica Locali
|
37
|
+
workflow:
|
38
|
+
one: Movimento Lavorazione
|
39
|
+
other: Movimenti Lavorazione
|
40
|
+
timetable:
|
41
|
+
one: Ora Lavorata
|
42
|
+
other: Ore Lavorate
|
43
|
+
attributes:
|
44
|
+
chosen_item:
|
45
|
+
commission: Barca
|
46
|
+
deck: Ponte
|
47
|
+
room: Locale
|
48
|
+
chosen_furniture: Mobile
|
49
|
+
furniture_item: Particolare
|
50
|
+
user: Operaio
|
51
|
+
times: Tempo
|
52
|
+
status: Stato
|
53
|
+
furniture: Mobile
|
54
|
+
item: Particolare
|
55
|
+
bundle:
|
56
|
+
title: Titolo
|
57
|
+
description: Descrizione
|
58
|
+
code: Codice
|
59
|
+
commission: Commessa
|
60
|
+
chosen_items: Particolari Scelti
|
61
|
+
item:
|
62
|
+
name: Nome
|
63
|
+
description: Descrizione
|
64
|
+
code: Codice
|
65
|
+
created_at: Data di Creazione
|
66
|
+
updated_at: Data di Aggiornamento
|
67
|
+
furniture:
|
68
|
+
name: Nome
|
69
|
+
description: Descrizione
|
70
|
+
code: Codice
|
71
|
+
items: Particolari
|
72
|
+
furniture_items: Particolari
|
73
|
+
created_at: Data di Creazione
|
74
|
+
updated_at: Data di Aggiornamento
|
75
|
+
furniture_item:
|
76
|
+
item: Particolare
|
77
|
+
created_at: Data di Creazione
|
78
|
+
updated_at: Data di Aggiornamento
|
79
|
+
room:
|
80
|
+
name: Nome
|
81
|
+
description: Descrizione
|
82
|
+
code: Codice
|
83
|
+
created_at: Data di Creazione
|
84
|
+
updated_at: Data di Aggiornamento
|
85
|
+
deck:
|
86
|
+
name: Nome
|
87
|
+
description: Descrizione
|
88
|
+
code: Codice
|
89
|
+
created_at: Data di Creazione
|
90
|
+
updated_at: Data di Aggiornamento
|
91
|
+
commission:
|
92
|
+
name: Nome
|
93
|
+
issued_on: Emesso il
|
94
|
+
description: Descrizione
|
95
|
+
code: Codice
|
96
|
+
decks: Ponti
|
97
|
+
chosen_decks: Ponti Selezionati
|
98
|
+
closed: Cantiere terminato
|
99
|
+
created_at: Data di Creazione
|
100
|
+
updated_at: Data di Aggiornamento
|
101
|
+
chosen_deck:
|
102
|
+
deck: Ponte
|
103
|
+
commission: Barca (Commessa)
|
104
|
+
code: Codice
|
105
|
+
rooms: Locali
|
106
|
+
chosen_rooms: Locali Selezionati
|
107
|
+
created_at: Data di Creazione
|
108
|
+
updated_at: Data di Aggiornamento
|
109
|
+
chosen_room:
|
110
|
+
commission: Barca (Commessa)
|
111
|
+
chosen_deck: Ponte
|
112
|
+
furnitures: Mobili
|
113
|
+
code: Codice
|
114
|
+
room: Locale
|
115
|
+
chosen_furnitures: Mobili Selezionati
|
116
|
+
created_at: Data di Creazione
|
117
|
+
updated_at: Data di Aggiornamento
|
118
|
+
deck: Ponte
|
119
|
+
chosen_furniture:
|
120
|
+
chosen_room: Locale
|
121
|
+
furniture: Mobile
|
122
|
+
code: Codice
|
123
|
+
chosen_items: Parti Selezionate
|
124
|
+
created_at: Data di Creazione
|
125
|
+
updated_at: Data di Aggiornamento
|
126
|
+
location: Posizione
|
127
|
+
furniture_items: Particolari Scelti
|
128
|
+
commission: Barca (Commessa)
|
129
|
+
deck: Ponte
|
130
|
+
workflow:
|
131
|
+
statuses:
|
132
|
+
one: Stato Corrente
|
133
|
+
other: Stati
|
134
|
+
chosen_item: Particolare
|
135
|
+
user: Utente
|
136
|
+
description: Descrizione
|
137
|
+
third_party: Conto Terzi
|
138
|
+
created_at: Registrato alle
|
139
|
+
commission: Barca (Commessa)
|
140
|
+
deck: Ponte
|
141
|
+
room: Locale
|
142
|
+
furniture: Mobile
|
143
|
+
item: Particolare
|
144
|
+
timetable:
|
145
|
+
user: Utente
|
146
|
+
commission: Barca (Commessa)
|
147
|
+
deck: Ponte
|
148
|
+
room: Locale
|
149
|
+
furniture: Mobile
|
150
|
+
item: Nome del Particolare
|
151
|
+
chosen_item: Particolare
|
152
|
+
job_type: Tipo
|
153
|
+
status: Stato
|
154
|
+
hours: H
|
155
|
+
minutes: M
|
156
|
+
notes: Note
|
157
|
+
created_at: Data
|
@@ -0,0 +1,33 @@
|
|
1
|
+
it:
|
2
|
+
operative_section: Commesse
|
3
|
+
roles:
|
4
|
+
one: "Ruolo Uno"
|
5
|
+
two: "Ruolo Due"
|
6
|
+
three: "Ruolo Tre"
|
7
|
+
administratives: "Amministrativi"
|
8
|
+
production_managers: "Responsabili di Produzione"
|
9
|
+
site_manager: "Responsabili di Cantiere"
|
10
|
+
warehouse_worker: "Magazzinieri"
|
11
|
+
drivers: "Autisti"
|
12
|
+
workers: "Operai"
|
13
|
+
thirds: "Terzi"
|
14
|
+
statuses:
|
15
|
+
internal_labour: Lavorazione Interna
|
16
|
+
external_labour: Lavorazione Esterna
|
17
|
+
internal_paint: Verniciatura Interna
|
18
|
+
external_paint: Verniciatura Esterna
|
19
|
+
upholstery: Tappezzeria
|
20
|
+
storage: Stoccaggio
|
21
|
+
construction_yard: Cantiere
|
22
|
+
status:
|
23
|
+
finished: Finita
|
24
|
+
suspended: Sospesa
|
25
|
+
admin:
|
26
|
+
scopes:
|
27
|
+
commission:
|
28
|
+
_all: Tutte le Commesse
|
29
|
+
is_opened: Commesse Aperte
|
30
|
+
is_closed: Commesse Chiuse
|
31
|
+
timetable:
|
32
|
+
_all: Tutte le Ore
|
33
|
+
last_two_days: Ore degli ultimi due giorni
|