Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
R
re2o
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Nounous
re2o
Commits
de068f6c
Commit
de068f6c
authored
Jan 01, 2019
by
klafyvel
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'sw_port_number' into 'dev'
Sw port number See merge request federez/re2o!375
parents
f27f9521
21f54486
Pipeline
#927
canceled with stage
Changes
3
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
13 additions
and
37 deletions
+13
-37
preferences/forms.py
preferences/forms.py
+0
-5
topologie/models.py
topologie/models.py
+9
-22
topologie/views.py
topologie/views.py
+4
-10
No files found.
preferences/forms.py
View file @
de068f6c
...
...
@@ -115,11 +115,6 @@ class EditOptionalTopologieForm(ModelForm):
prefix
=
prefix
,
**
kwargs
)
self
.
fields
[
'radius_general_policy'
]
.
label
=
_
(
"RADIUS general policy"
)
self
.
fields
[
'vlan_decision_ok'
]
.
label
=
_
(
"VLAN for machines accepted"
" by RADIUS"
)
self
.
fields
[
'vlan_decision_nok'
]
.
label
=
_
(
"VLAN for machines rejected"
" by RADIUS"
)
self
.
initial
[
'automatic_provision_switchs'
]
=
Switch
.
objects
.
filter
(
automatic_provision
=
True
)
.
order_by
(
'interface__domain__name'
)
...
...
topologie/models.py
View file @
de068f6c
...
...
@@ -281,31 +281,18 @@ class Switch(AclMixin, Machine):
def
create_ports
(
self
,
begin
,
end
):
""" Crée les ports de begin à end si les valeurs données
sont cohérentes. """
s_begin
=
s_end
=
0
nb_ports
=
self
.
ports
.
count
()
if
nb_ports
>
0
:
ports
=
self
.
ports
.
order_by
(
'port'
)
.
values
(
'port'
)
s_begin
=
ports
.
first
()
.
get
(
'port'
)
s_end
=
ports
.
last
()
.
get
(
'port'
)
if
end
<
begin
:
raise
ValidationError
(
_
(
"The end port is less than the start"
" port."
))
if
end
-
begin
>
self
.
number
:
ports_to_create
=
range
(
begin
,
end
+
1
)
existing_ports
=
Port
.
objects
.
filter
(
switch
=
self
.
switch
)
.
values_list
(
'port'
,
flat
=
True
)
non_existing_ports
=
list
(
set
(
ports_to_create
)
-
set
(
existing_ports
))
if
len
(
non_existing_ports
)
+
existing_ports
.
count
()
>
self
.
number
:
raise
ValidationError
(
_
(
"This switch can't have that many ports."
))
begin_range
=
range
(
begin
,
s_begin
)
end_range
=
range
(
s_end
+
1
,
end
+
1
)
for
i
in
itertools
.
chain
(
begin_range
,
end_range
):
port
=
Port
()
port
.
switch
=
self
port
.
port
=
i
try
:
with
transaction
.
atomic
(),
reversion
.
create_revision
():
port
.
save
()
reversion
.
set_comment
(
_
(
"Creation"
))
except
IntegrityError
:
ValidationError
(
_
(
"Creation of an existing port."
))
with
transaction
.
atomic
(),
reversion
.
create_revision
():
reversion
.
set_comment
(
_
(
"Creation"
))
Port
.
objects
.
bulk_create
([
Port
(
switch
=
self
.
switch
,
port
=
port_id
)
for
port_id
in
non_existing_ports
])
def
main_interface
(
self
):
""" Returns the 'main' interface of the switch
...
...
@@ -317,7 +304,7 @@ class Switch(AclMixin, Machine):
@
cached_property
def
get_name
(
self
):
return
self
.
name
or
self
.
main_interface
()
.
domain
.
name
return
self
.
name
or
getattr
(
self
.
main_interface
(),
'domain'
,
'Unknown'
)
@
cached_property
def
get_radius_key
(
self
):
...
...
topologie/views.py
View file @
de068f6c
...
...
@@ -533,19 +533,13 @@ def create_ports(request, switchid):
except
Switch
.
DoesNotExist
:
messages
.
error
(
request
,
_
(
"Nonexistent switch"
))
return
redirect
(
reverse
(
'topologie:index'
))
s_begin
=
s_end
=
0
nb_ports
=
switch
.
ports
.
count
()
if
nb_ports
>
0
:
ports
=
switch
.
ports
.
order_by
(
'port'
)
.
values
(
'port'
)
s_begin
=
ports
.
first
()
.
get
(
'port'
)
s_end
=
ports
.
last
()
.
get
(
'port'
)
first_port
=
getattr
(
switch
.
ports
.
order_by
(
'port'
)
.
first
(),
'port'
,
1
)
last_port
=
switch
.
number
+
first_port
-
1
port_form
=
CreatePortsForm
(
request
.
POST
or
None
,
initial
=
{
'begin'
:
s_begin
,
'end'
:
s_end
}
initial
=
{
'begin'
:
first_port
,
'end'
:
last_port
}
)
if
port_form
.
is_valid
():
begin
=
port_form
.
cleaned_data
[
'begin'
]
end
=
port_form
.
cleaned_data
[
'end'
]
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment