Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactorize visualization Capacity and Infrastructure #5

Merged
Show file tree
Hide file tree
Changes from 198 commits
Commits
Show all changes
201 commits
Select commit Hold shift + click to select a range
59ac6dd
wip
nicolas-brousse Mar 27, 2024
d178a4d
wip
nicolas-brousse Mar 27, 2024
320e007
wip
nicolas-brousse Mar 27, 2024
41b86c3
cleanup
nicolas-brousse Mar 27, 2024
064058f
wip
B-Rass Mar 27, 2024
4f69f7a
fix js
nicolas-brousse Apr 3, 2024
641429a
wip
nicolas-brousse Apr 3, 2024
4042978
wip js
nicolas-brousse Apr 3, 2024
119b7f8
cleanup
nicolas-brousse Apr 3, 2024
3c528d8
Update layout/navigation
B-Rass Apr 3, 2024
4c95be3
Add breadcrumb
B-Rass Apr 3, 2024
ae7ff2d
Build Sidebar
B-Rass Apr 10, 2024
63aa246
Fix responsive main menu
B-Rass Apr 10, 2024
0396792
Update Logins pages
B-Rass Apr 17, 2024
9236087
Update alerts
B-Rass Apr 17, 2024
a66ef2e
Update views after merge Connection + update icons
B-Rass Apr 24, 2024
680ec6e
Clean inventories indexes
B-Rass Apr 24, 2024
fc08a57
Update kaminari views
B-Rass Apr 24, 2024
58f06e5
Update Changelog#index + debug menu on mobile
B-Rass Apr 24, 2024
231683f
Fixing home
B-Rass May 2, 2024
01e4d7e
Clean sidebar
B-Rass May 2, 2024
416938a
Fixing new list Connections and Cables
B-Rass May 2, 2024
4e157ec
Replace sassc-rails by dartsass-sprockets
nicolas-brousse May 3, 2024
1a1bb1a
Update CardComponent
B-Rass May 15, 2024
3e8fdd7
Update form_errors_component
B-Rass May 15, 2024
9e34551
Update FilterComponent
B-Rass May 15, 2024
ca493ed
Update Rooms views: capacity, infrastructure, show, overview(+filtered)
B-Rass May 16, 2024
a6ffd8a
Fixing Rooms#overview
B-Rass May 17, 2024
6149fb7
improving general layout
B-Rass May 17, 2024
7420e47
Improving general style (background colors)
B-Rass May 17, 2024
904b981
Improve Dark mode for Capacity and overviews
B-Rass May 17, 2024
3492b75
Prevent Inventories menu to show Room as active on Visualization views
B-Rass May 22, 2024
3b1396f
Improve Home page for dark mode
B-Rass May 22, 2024
6f22d62
Debug devices_dropdown + improve dark mode
B-Rass May 22, 2024
0c80277
Upgrade removed "panel" class to "card" one instead
B-Rass May 22, 2024
d54a886
Improve filtered_overview layout + dark-mode rework (for overview also)
B-Rass May 22, 2024
51c3436
Remove bootstrap-generator file
B-Rass May 22, 2024
116000d
Debug related class + improve highlighted style on bays/overview (l/d m)
B-Rass May 22, 2024
6876e1b
js fixes
nicolas-brousse May 23, 2024
1f310a6
fix js
nicolas-brousse May 23, 2024
0c43f31
cleanup
nicolas-brousse May 23, 2024
f00aa34
cleanup
nicolas-brousse May 23, 2024
f5a0f6a
Remove deleted class "well" + clean code
B-Rass May 23, 2024
e0a706d
Update registration#edit page
B-Rass May 23, 2024
7528500
Clean + improve border on sidebar and header
B-Rass May 23, 2024
85c8757
Update about page
B-Rass May 23, 2024
d66f48d
Update Users#new page
B-Rass May 23, 2024
2f07986
Improve bg colors
B-Rass May 23, 2024
8e42b32
Fix active state on rooms_menu in visualization views
B-Rass May 28, 2024
9505bb5
Clean code
B-Rass May 28, 2024
9def61b
Update infrastructure view to make it works on Dark mode + cleans
B-Rass May 28, 2024
54232fe
Update User#show view
B-Rass May 28, 2024
b8cd05c
Update site forms
B-Rass May 29, 2024
13d28f2
Clean
B-Rass May 29, 2024
069628a
Update Site#show
B-Rass May 29, 2024
2ef9f47
fix bootstrap tooltips
nicolas-brousse May 29, 2024
531905b
fix jquery and jquery-ui and some js
nicolas-brousse May 29, 2024
a3a2712
Update Site#index page title
B-Rass May 29, 2024
69b8091
Update Room#new & Room#edit
B-Rass May 29, 2024
929a733
Update Room#index
B-Rass May 29, 2024
ae2b64b
Update Islet#index
B-Rass May 29, 2024
c444597
Clean code
B-Rass May 29, 2024
5bae22e
Update Islet#forms (new & edit)
B-Rass May 29, 2024
986059a
Update Bay#index
B-Rass May 30, 2024
756f366
Clean code
B-Rass May 30, 2024
d73d71c
Update Bay#forms (new/edit)
B-Rass May 30, 2024
f586073
Site, Room, Islet: improve responsive of headers + accessibility
B-Rass May 30, 2024
e4c8850
Debug CaptionComponent
B-Rass May 30, 2024
de14306
Update Bay#show
B-Rass May 30, 2024
5434839
Clean code
B-Rass May 30, 2024
559069e
Update Frame#index
B-Rass May 30, 2024
36c1897
Update Frame forms (edit/new)
B-Rass May 30, 2024
bcd2246
Update Server#index
B-Rass May 30, 2024
f20ce9b
Update Server#import_csv
B-Rass May 30, 2024
1f9d8ba
Fixing tests
B-Rass May 31, 2024
4785ad7
Adding management of theme (user settings + js)
B-Rass Jun 4, 2024
bede05e
Raw fix of infrastructure to make LeaderLine works with scroll
B-Rass Jun 4, 2024
e33164f
Add AnimEvent for LeaderLine scroll
B-Rass Jun 5, 2024
63cfc3e
Server#form (new & edit) except nested_forms
B-Rass Jun 5, 2024
80c5ef7
refactor: update Server documents form to use stimulus nested form co…
nicolas-brousse Jun 5, 2024
e5eba2b
refactor: update Modele enclosures form to use stimulus nested form c…
nicolas-brousse Jun 5, 2024
d250576
refactor: update Server cards form to use stimulus nested form contro…
nicolas-brousse Jun 5, 2024
acc343d
cleanup: create custom nested form controller form nested nested forms
nicolas-brousse Jun 5, 2024
6b5e878
style: code cleanup
nicolas-brousse Jun 5, 2024
d7e4bec
Server: update show + forms (edit, new, duplicate)
B-Rass Jun 5, 2024
7914883
Update Modele#index
B-Rass Jun 6, 2024
0937c24
Update Modele#forms (new + edit), except nested_forms
B-Rass Jun 6, 2024
da6e7b7
Update Modele#show
B-Rass Jun 6, 2024
969e916
Update Category views (index, show, forms) + clean other show updated
B-Rass Jun 6, 2024
0060f2d
Update Architecture views (index, show, forms)
B-Rass Jun 6, 2024
33b2864
Update Manufacturer views (index, show, forms) + clean other show upd…
B-Rass Jun 6, 2024
9c4c01c
Update Stack views (index, show, forms)
B-Rass Jun 6, 2024
efa8754
Update CardType views (index, show, forms)
B-Rass Jun 6, 2024
203f66f
Update PortType views (index, show, forms)
B-Rass Jun 6, 2024
3243cf4
Update DiskType views (index, show, forms)
B-Rass Jun 6, 2024
3420b6a
Update MemoryType views (index, show, forms)
B-Rass Jun 6, 2024
09e8bc2
Update Domaine views (index, show, forms)
B-Rass Jun 6, 2024
2c511dd
Update Gestion views (index, show, forms)
B-Rass Jun 6, 2024
7ae38ce
Update Cluster views (index, show, forms)
B-Rass Jun 6, 2024
04a49b7
Clean shows: add missing closing tag for dd
B-Rass Jun 7, 2024
b46a77e
Update Color views (index, show, edit)
B-Rass Jun 7, 2024
60e1d79
Update Maintainer views (index, show, forms)
B-Rass Jun 7, 2024
fb5ad23
Update ContractType views (index, show, forms)
B-Rass Jun 7, 2024
789147d
Clean code
B-Rass Jun 7, 2024
bd75725
Clean Flash message CSS for devise layout
B-Rass Jun 11, 2024
a70bf58
refactor: update Modele enclosures composants form to use stimulus ne…
nicolas-brousse Jun 12, 2024
bd5389b
style: code cleanup
nicolas-brousse Jun 12, 2024
bea0fc5
Fix Sortable on modeles form enclosures slot
nicolas-brousse Jun 12, 2024
1be5f31
Update Connection#edit form
B-Rass Jun 12, 2024
e2e481b
wip: fixes js on capacity and infrastructure pages
nicolas-brousse Jun 12, 2024
11bdcc7
Update Modele#enclosure nested forms
B-Rass Jun 12, 2024
1d74aff
fix: add missing wrapper clss for Modele enclosures composants nested…
nicolas-brousse Jun 12, 2024
99f88e3
Clean dark mode for TomSelect options
B-Rass Jun 12, 2024
177d921
Css clean on message component (increase z-index)
B-Rass Jun 12, 2024
badb5a5
Clean Server#form and Modele#form: use locales
B-Rass Jun 12, 2024
6a399d3
Clean Sidebar + add AirConditionner
B-Rass Jun 13, 2024
79ba132
Update AirConditionner views (index, show, new, edit, form)
B-Rass Jun 13, 2024
7c6a756
Clean enclosure forms on Modele
B-Rass Jun 13, 2024
139d5ab
Improve Accessibility on Server#form (document_fields)
B-Rass Jun 13, 2024
8814daa
Remove span.caret
B-Rass Jun 13, 2024
756a105
Remove unused page-header class
B-Rass Jun 13, 2024
a57bd4c
Rebase from master + manage updates to AirConditionner views
B-Rass Jun 18, 2024
04cc45a
Update Changelog table + Update diffy css for dark mode
B-Rass Jun 18, 2024
8aa6bc1
Update ChangelogEntry#show
B-Rass Jun 19, 2024
4d18d01
Add missing view Islet#show + move IsletController test to RSpec
B-Rass Jun 19, 2024
8f54e72
Update Move pages (index, new, edit, frame)
B-Rass Jun 19, 2024
11dd8c2
Update Scaffold views
B-Rass Jun 20, 2024
1bfa53d
Improve bay and frame shows
B-Rass Jun 20, 2024
862f793
Fix scroll for LeaderLines on bay views
B-Rass Jun 21, 2024
43e5a2c
Improve PDU responsive and dark mode
B-Rass Jun 21, 2024
a2f36d6
Improve Frames#show and Bays#show responsiveness
B-Rass Jun 21, 2024
a3d7c02
Improve border-style for port (draw_component) for dark mode
B-Rass Jun 21, 2024
97d013b
Improve even/odd lines on bays for dark mode
B-Rass Jun 21, 2024
1404a01
No text-decoration on #back_server_ tags child links
B-Rass Jun 21, 2024
1f5bb74
Improve Server#show responsiveness
B-Rass Jun 21, 2024
2096213
Update Frames#network view
B-Rass Jun 21, 2024
fca4050
Update Room#show header (overview)
B-Rass Jun 21, 2024
1ad1735
Comment failing test
B-Rass Jun 21, 2024
9d1c0cc
Fixing rspec test: wrong indentation
B-Rass Jun 25, 2024
b08d9ac
Rubocop cleans
B-Rass Jun 25, 2024
a1e7e16
Room#show: fixing js update of breadcrumbs
B-Rass Jun 25, 2024
b0f527a
Room#show: add missing background color to overviewed_frame
B-Rass Jun 25, 2024
d0810ec
Clean breadcrumbs
B-Rass Jun 25, 2024
945d113
Room#show: Add expand icon version of collapse/expand button
B-Rass Jun 25, 2024
4380a83
Decrease general website font size
B-Rass Jun 25, 2024
099805b
Fixing css on action_button
B-Rass Jun 25, 2024
0f2cb67
Fixing Move#form: initial_bay div wasn't scrolling
B-Rass Jun 25, 2024
6167ed5
Fixing drawing server responsiveness
B-Rass Jun 25, 2024
443559d
Fix: use right plural for models xxxType
B-Rass Jun 25, 2024
0c1be10
Fixing AirConditioner test
B-Rass Jun 25, 2024
1a56530
Use fieldset on FilterComponent
B-Rass Jun 25, 2024
799a3f8
Fix wrong rebase
B-Rass Jun 26, 2024
6d9da0b
Improve Clim CSS
B-Rass Jun 26, 2024
2a8f1cf
Harmonize flex-column flex-lg-row system
B-Rass Jun 26, 2024
262fa35
Use of container-fluid to harmonize views
B-Rass Jun 26, 2024
b30dcd7
Update all edit buttons to be info type and not primary
B-Rass Jun 26, 2024
dbf22c0
Fix wrong rebase on Connection#index
B-Rass Jun 26, 2024
01674cc
Remove clearfix
B-Rass Jun 26, 2024
393ba82
Improve CSS: removing text-decoration on airconditioner
B-Rass Jun 27, 2024
e1a0e1c
Add use of CardComponent when possible
B-Rass Jun 27, 2024
6a34846
Update Move#moved_connection_form
B-Rass Jun 27, 2024
8076f3f
Update Move#frame page
B-Rass Jun 27, 2024
21248ba
Update Devise#passwords#edit + clean passwords#new
B-Rass Jul 2, 2024
7e148a6
Fix wrong route for unsuspended action on Users#index
B-Rass Jul 2, 2024
2096e43
Fix and Clean ChangelogEntries views
B-Rass Jul 2, 2024
bdcb2b2
Clean Move views
B-Rass Jul 2, 2024
d04ba1e
Fix and clean ServerGrid view
B-Rass Jul 2, 2024
eb0059b
Clean frames#show_frame
B-Rass Jul 2, 2024
7c66cdc
Fix and clean Site, Room and Islets views
B-Rass Jul 2, 2024
c2a2fd8
Check on inventories views (clean + fix)
B-Rass Jul 3, 2024
e555a99
Clean FilterComponent implementation in index views
B-Rass Jul 3, 2024
929775e
Fix and clean vizual. views (servers component alignment + bg colors)
B-Rass Jul 4, 2024
ea686d0
CSS Clean on air_conditioner after rebase
B-Rass Jul 5, 2024
1c12f48
draw_server_compact: fixing server_name too long CSS issue
B-Rass Jul 5, 2024
c0ae185
wip
nicolas-brousse Jun 19, 2024
ff49c11
wip
nicolas-brousse Jun 19, 2024
574f238
wip
nicolas-brousse Jul 3, 2024
79fe0a4
wip
nicolas-brousse Jul 3, 2024
e468eed
cleanups
nicolas-brousse Jul 3, 2024
e0876f3
cleanups
nicolas-brousse Jul 3, 2024
1321285
add leader lines
nicolas-brousse Jul 3, 2024
e2f1cad
cleanups
nicolas-brousse Jul 3, 2024
79b08ae
cleanups
nicolas-brousse Jul 10, 2024
b0e7e11
cleanups
nicolas-brousse Jul 10, 2024
72f0be4
fix tests
nicolas-brousse Jul 10, 2024
1f44fc8
add tests
nicolas-brousse Jul 10, 2024
ae3a8cb
fix tests
nicolas-brousse Jul 10, 2024
84a0796
refactor: update visualization, apply default value on filters
nicolas-brousse Jul 17, 2024
5e3ce7e
fix: make room visualization page tab works
nicolas-brousse Jul 17, 2024
51f3680
fix: make room visualization page tab works
nicolas-brousse Jul 17, 2024
d9b87f1
fix: fix AirConditioner show page
nicolas-brousse Jul 17, 2024
c85c3f2
refactor: auto-submit visualization forms on changes
nicolas-brousse Jul 17, 2024
40ad9be
Improve Stacks selection design
B-Rass Jul 24, 2024
030dd5c
Fix Room#show islet tab switch
B-Rass Jul 31, 2024
e84d6e4
Merge remote-tracking branch 'origin/upgrade-to-bootstrap-4' into ref…
nicolas-brousse Jul 31, 2024
c9520c5
refactor
nicolas-brousse Aug 7, 2024
33eb8eb
code clenaup
nicolas-brousse Aug 7, 2024
e4a651c
Update app/helpers/servers_helper.rb
nicolas-brousse Aug 7, 2024
c33b977
Re-add air_conditionner#show route
B-Rass Aug 7, 2024
05d1ebd
cleanup
nicolas-brousse Aug 7, 2024
8bf3c9b
cleanup
nicolas-brousse Aug 7, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -104,4 +104,5 @@ gem "jquery-ui-rails"
gem "rubanok"
gem "stimulus-rails", "~> 1.2"
gem "store_attribute", "~> 1.2"
gem "turbo-rails"
gem "view_component"
33 changes: 19 additions & 14 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ GEM
bootstrap (5.3.2)
autoprefixer-rails (>= 9.1.0)
popper_js (>= 2.11.8, < 3)
builder (3.2.4)
builder (3.3.0)
byebug (11.1.3)
capybara (3.40.0)
addressable
Expand All @@ -114,7 +114,7 @@ GEM
xpath (~> 3.2)
coercible (1.0.0)
descendants_tracker (~> 0.0.1)
concurrent-ruby (1.3.1)
concurrent-ruby (1.3.3)
connection_pool (2.4.1)
content_disposition (1.0.0)
crass (1.0.6)
Expand Down Expand Up @@ -159,7 +159,7 @@ GEM
drb (2.2.1)
email_validator (2.2.4)
activemodel
erubi (1.12.0)
erubi (1.13.0)
exception_notification (4.5.0)
actionmailer (>= 5.2, < 8)
activesupport (>= 5.2, < 8)
Expand Down Expand Up @@ -197,7 +197,7 @@ GEM
activesupport (>= 6.0.0)
railties (>= 6.0.0)
io-console (0.7.2)
irb (1.13.1)
irb (1.14.0)
rdoc (>= 4.0.0)
reline (>= 0.4.2)
jbuilder (2.11.5)
Expand Down Expand Up @@ -267,7 +267,7 @@ GEM
mini_mime (1.1.5)
mini_racer (0.12.0)
libv8-node (~> 21.7.2.0)
minitest (5.23.1)
minitest (5.24.1)
msgpack (1.7.2)
mutex_m (0.2.0)
net-http (0.4.1)
Expand All @@ -282,11 +282,11 @@ GEM
net-smtp (0.5.0)
net-protocol
nio4r (2.7.1)
nokogiri (1.16.5-arm64-darwin)
nokogiri (1.16.7-arm64-darwin)
racc (~> 1.4)
nokogiri (1.16.5-x86_64-darwin)
nokogiri (1.16.7-x86_64-darwin)
racc (~> 1.4)
nokogiri (1.16.5-x86_64-linux)
nokogiri (1.16.7-x86_64-linux)
racc (~> 1.4)
omniauth (2.1.2)
hashie (>= 3.4.6)
Expand Down Expand Up @@ -331,8 +331,8 @@ GEM
public_suffix (5.0.5)
puma (6.4.2)
nio4r (~> 2.0)
racc (1.8.0)
rack (3.0.11)
racc (1.8.1)
rack (3.1.7)
rack-mini-profiler (3.3.1)
rack (>= 1.2.0)
rack-oauth2 (2.2.1)
Expand Down Expand Up @@ -393,13 +393,13 @@ GEM
rb-fsevent (0.11.2)
rb-inotify (0.10.1)
ffi (~> 1.0)
rdoc (6.6.3.1)
rdoc (6.7.0)
psych (>= 4.0.0)
record_tag_helper (1.0.1)
actionview (>= 5)
redcarpet (3.6.0)
regexp_parser (2.9.1)
reline (0.5.6)
reline (0.5.9)
io-console (~> 0.5)
responders (3.1.1)
actionpack (>= 5.2)
Expand Down Expand Up @@ -511,7 +511,7 @@ GEM
railties (>= 6.0.0)
store_attribute (1.2.0)
activerecord (>= 6.0)
stringio (3.1.0)
stringio (3.1.1)
strscan (3.1.0)
swd (2.0.3)
activesupport (>= 3)
Expand All @@ -526,6 +526,10 @@ GEM
thread_safe (0.3.6)
tilt (2.3.0)
timeout (0.4.1)
turbo-rails (2.0.6)
actionpack (>= 6.0.0)
activejob (>= 6.0.0)
railties (>= 6.0.0)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
unicode-display_width (2.5.0)
Expand Down Expand Up @@ -562,7 +566,7 @@ GEM
xpath (3.2.0)
nokogiri (~> 1.8)
yard (0.9.36)
zeitwerk (2.6.13)
zeitwerk (2.6.17)

PLATFORMS
arm64-darwin-22
Expand Down Expand Up @@ -637,6 +641,7 @@ DEPENDENCIES
stimulus-rails (~> 1.2)
store_attribute (~> 1.2)
terser
turbo-rails
view_component
virtus
web-console (>= 4.1.0)
Expand Down
2 changes: 1 addition & 1 deletion app/controllers/air_conditioners_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ class AirConditionersController < ApplicationController
before_action :set_air_conditioner, only: %i[show edit update destroy]

def index
@filter = Filter.new(AirConditioner.joins(:room, :islet).order('rooms.position, islets.name, air_conditioners.name'), params)
@filter = ProcessorFilter.new(AirConditioner.joins(:room, :islet).order('rooms.position, islets.name, air_conditioners.name'), params)
@air_conditioners = @filter.results
end

Expand Down
2 changes: 1 addition & 1 deletion app/controllers/bays_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ class BaysController < ApplicationController
before_action :set_bay, only: [:edit, :update, :destroy, :show]

def index
@filter = Filter.new(Bay.joins(:room, :islet).order('rooms.position, islets.name, bays.lane, bays.position'), params)
@filter = ProcessorFilter.new(Bay.joins(:room, :islet).order('rooms.position, islets.name, bays.lane, bays.position'), params)
@bays = @filter.results
end

Expand Down
2 changes: 1 addition & 1 deletion app/controllers/clusters_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ class ClustersController < ApplicationController
# GET /clusters
# GET /clusters.json
def index
@filter = Filter.new(Cluster.includes(:servers), params)
@filter = ProcessorFilter.new(Cluster.includes(:servers), params)
@clusters = @filter.results
end

Expand Down
2 changes: 1 addition & 1 deletion app/controllers/frames_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ class FramesController < ApplicationController
include RoomsHelper

def index
@filter = Filter.new(Frame.includes(bay: { islet: :room }).references(bay: { islet: :room }), params)
@filter = ProcessorFilter.new(Frame.includes(bay: { islet: :room }).references(bay: { islet: :room }), params)
@frames = @filter.results
end

Expand Down
2 changes: 1 addition & 1 deletion app/controllers/modeles_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ class ModelesController < ApplicationController
before_action :set_modele, only: [:show, :edit, :update, :destroy]

def index
@filter = Filter.new(Modele.includes(:category, :enclosures).order(:name), params)
@filter = ProcessorFilter.new(Modele.includes(:category, :enclosures).order(:name), params)
@modeles = @filter.results
@types = @modeles.group_by { |m| m.category.name }.sort_by { |categorie, modeles| categorie.to_s }
end
Expand Down
45 changes: 2 additions & 43 deletions app/controllers/rooms_controller.rb
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# frozen_string_literal: true

class RoomsController < ApplicationController # rubocop:disable Metrics/ClassLength
class RoomsController < ApplicationController
include ServersHelper
include RoomsHelper

before_action :set_room, only: %i[show edit update destroy islet]

def index
@filter = Filter.new(Room.joins(:site).order('sites.position asc, rooms.position asc, rooms.name asc'), params)
@filter = ProcessorFilter.new(Room.joins(:site).order('sites.position asc, rooms.position asc, rooms.name asc'), params)
@rooms = @filter.results
end

Expand Down Expand Up @@ -103,47 +103,6 @@ def overview
end
end

def infrastructure
@sites = Site.joins(:rooms).includes(:rooms => [:islets => [:bays => :frames]]).order(:position).distinct
@room = @sites.first.rooms.order(:position).first
@islet = @room.islets.first

@servers = Server.includes(:frame, :stack, :ports, :cards => [:ports])
.where.not(network_types: [])
# .includes(:cards, :ports => [:connection => [:port, :cable =>[:connections => [:port => :card]]]]).
@concentrateurs_ids = [383, 384, 1043, 1044]
@concentrateurs = Server.where(id: @concentrateurs_ids).includes(:ports => :connection, :cards => [:ports => :connection])
@switchs_lan_ids = @concentrateurs_ids | @servers.pluck(:id) # Switch LAN
# TODO: Remove hard-coded values
@hubs = {}

unless Rails.env.test?
@hubs = { "gbe" => { 4 => Server.find(383), 3 => Server.find(384) }, "10gbe" => { 4 => Server.find(1043), 3 => Server.find(1044) } } # Concentrateurs per room
end

@connections = {}
@stacks = @servers.map(&:stack).uniq.compact
@servers.each do |server|
@connections[server.id] = server.directly_connected_servers_ids_with_color.reject { |conn| @switchs_lan_ids.exclude?(conn[:server_id]) }
end
@concentrateurs.each do |hub|
@connections[hub.id] = hub.connected_servers_ids_through_twin_cards_with_color.reject { |conn| @switchs_lan_ids.exclude?(conn[:server_id]) }
end

# TODO: remove when hard-coded system will be removed
@network_types = Modele::Network::TYPES.excluding("fiber")

# puts "@@@connections : #{@connections.inspect}"
end

def capacity
@sites = Site.joins(:rooms).includes(:rooms => [:islets => [:bays => :frames]]).order(:position).distinct
@room = @sites.first.rooms.order(:position).first
@islet = @room.islets.first
@servers_last_update_time = Server.maximum(:updated_at).to_s
@ports_last_update_time = Port.maximum(:updated_at).to_s
end

def filtered_overview; end

def new
Expand Down
8 changes: 4 additions & 4 deletions app/controllers/servers_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ class ServersController < ApplicationController
before_action :set_server, only: [:show, :edit, :update, :destroy]

def index
@servers = Server.includes(:room, :islet, :frame, bay: :frames, modele: :category)
.references(:room, :islet, :bay, :frame, modele: :category)
.order(:name)
@filter = Filter.new(@servers, params)
@servers = Server.includes(:frame, :room, :islet, bay: :frames, modele: :category)
.references(:room, :islet, :bay, modele: :category)
.order(:name)
@filter = ProcessorFilter.new(@servers, params)
@servers = @filter.results
end

Expand Down
2 changes: 1 addition & 1 deletion app/controllers/users_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ class UsersController < ApplicationController
before_action :set_user, only: %i[show update destroy reset_authentication_token suspend unsuspend]

def index
@filter = Filter.new(User.order(sign_in_count: :desc), params)
@filter = ProcessorFilter.new(User.order(sign_in_count: :desc), params)
@users = @filter.results
end

Expand Down
56 changes: 56 additions & 0 deletions app/controllers/visualization/infrastructures_controller.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# frozen_string_literal: true

module Visualization
class InfrastructuresController < ApplicationController
def show
@filter = Filter.new(params, %i[network_type islet_id])

unless @filter.filled?
islet_id = Islet.sorted.not_empty.has_name.distinct.first.id

redirect_to islet_id:, network_type: :gbe
end

load_data! if turbo_frame_request?
end

private

def load_data!
@islet = Islet.find(@filter.islet_id)
@room = @islet.room

@servers = Server.includes(:frame, :stack, :ports, :cards => [:ports])
.where.not(network_types: [])
# .includes(:cards, :ports => [:connection => [:port, :cable =>[:connections => [:port => :card]]]]).
@concentrateurs_ids = [383, 384, 1043, 1044]
@concentrateurs = Server.where(id: @concentrateurs_ids).includes(:ports => :connection, :cards => [:ports => :connection])
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't we want to remove those =>

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could

@switchs_lan_ids = @concentrateurs_ids | @servers.pluck(:id) # Switch LAN
# TODO: Remove hard-coded values
@hubs = {}

unless Rails.env.test?
@hubs = { "gbe" => { 4 => Server.find(383), 3 => Server.find(384) }, "10gbe" => { 4 => Server.find(1043), 3 => Server.find(1044) } } # Concentrateurs per room
end

@connections = {}
@stacks = @servers.map(&:stack).uniq.compact
@servers.each do |server|
@connections[server.id] = server.directly_connected_servers_ids_with_color.reject { |conn| @switchs_lan_ids.exclude?(conn[:server_id]) }
end
@concentrateurs.each do |hub|
@connections[hub.id] = hub.connected_servers_ids_through_twin_cards_with_color.reject { |conn| @switchs_lan_ids.exclude?(conn[:server_id]) }
end

# TODO: remove when hard-coded system will be removed
@network_types = Modele::Network::TYPES.excluding("fiber")
@network = @filter.network_type # TODO: take from params and raise error if not good

return unless @room.id == 4 || @room.id == 3

@hub = @hubs[@network][@room.id]
@second_room = Room.find(@room.id == 4 ? 3 : 4)
@second_hub = @hubs[@network][@second_room.id]
end
end
end
27 changes: 27 additions & 0 deletions app/controllers/visualization/network_capacities_controller.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# frozen_string_literal: true

module Visualization
class NetworkCapacitiesController < ApplicationController
def show
@filter = Filter.new(params, %i[network_type islet_id])
@filter_filled = @filter.filled?

unless @filter.filled?
islet_id = Islet.sorted.not_empty.has_name.distinct.first.id

redirect_to islet_id:, network_type: :gbe
end

load_data! if turbo_frame_request?
end

private

def load_data!
@islet = Islet.find(@filter.islet_id)
@room = @islet.room
@network = @filter.network_type # TODO: take from params and raise error if not good
@bays = @islet.bays.sorted
end
end
end
16 changes: 16 additions & 0 deletions app/decorators/islet_decorator.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# frozen_string_literal: true

class IsletDecorator < ApplicationDecorator
class << self
def grouped_by_sites_options_for_select
Islet.includes(:site, room: :islets).sorted.not_empty.has_name.distinct.group_by(&:site).to_h do |site, islets|
islets = islets.map do |i|
name = i.room.islets.size > 1 ? "#{i.room.name} Ilot #{i.name}" : i.room.name
[name, i.id]
end

[site.name, islets]
end
end
end
end
2 changes: 1 addition & 1 deletion app/helpers/servers_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ def link_to_port_by_type(label, type, port_data, position, card_id, port_id)

link_to label.to_s, edit_port_url, id: port_id, title: (port_data.present? ? "#{port_data.vlans}" : ""),
class: "border border-secondary port port#{port_class} #{port_data.try(:cable_color) ? port_data.try(:cable_color) : "empty"}",
data: { url: edit_port_url, position: position, type: type, controller: 'tooltip', bs_placement: 'top' }
data: { url: edit_port_url, position: , type: , controller: 'tooltip', bs_placement: 'top' }, target: :_top
end

private
Expand Down
4 changes: 3 additions & 1 deletion app/javascript/application.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
// Configure your import map in config/importmap.rb. Read more: https://github.com/rails/importmap-rails

// import "@hotwired/turbo-rails"
import "@hotwired/turbo-rails"
Turbo.session.drive = false

import "controllers"
import "popper"
import "bootstrap"
Expand Down
Loading
Loading