From 5b4cc79173ccd35495f783e18ca027abc2f7fe36 Mon Sep 17 00:00:00 2001 From: DJ Howard Date: Mon, 12 Aug 2024 16:43:34 -0400 Subject: [PATCH 1/8] Added option to define step values for use in the labeling of FloorPlan Grids. Updated documentation and tests. --- changes/8.added | 1 + docs/images/add-floor-plan-form.png | Bin 42613 -> 231077 bytes docs/user/app_getting_started.md | 8 ++++++ docs/user/app_overview.md | 3 +++ nautobot_floor_plan/forms.py | 14 ++++++++++ .../migrations/0008_add_axis_step.py | 23 +++++++++++++++++ nautobot_floor_plan/models.py | 20 +++++++++++++-- nautobot_floor_plan/svg.py | 24 ++++++++++++++++-- .../floorplan_retrieve.html | 8 ++++++ nautobot_floor_plan/tests/test_forms.py | 4 +++ nautobot_floor_plan/tests/test_models.py | 11 ++++++++ nautobot_floor_plan/utils.py | 8 ++++++ 12 files changed, 120 insertions(+), 4 deletions(-) create mode 100644 changes/8.added create mode 100644 nautobot_floor_plan/migrations/0008_add_axis_step.py diff --git a/changes/8.added b/changes/8.added new file mode 100644 index 0000000..9921a92 --- /dev/null +++ b/changes/8.added @@ -0,0 +1 @@ +Added grid step option to FloorPlan. \ No newline at end of file diff --git a/docs/images/add-floor-plan-form.png b/docs/images/add-floor-plan-form.png index 535eee9b9f9a0540a8c5e3a9584d697f8d9e3f21..51a8ebd768e692dad3abbbd44aafa9acfd0447aa 100644 GIT binary patch literal 231077 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

)jUYsn``QPz_q5K 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� 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

*W0j(h7WL!+^?Z1R8F8Go(QsCaRm!<}^Ps0 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%0DNNo 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 R_pXC~XHO}~;ZGXf{C~IzG?@SZ literal 42613 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

!lBcqSZNZ>zjKA|d7FYYq=tVDER+x$Q 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 diff --git a/docs/user/app_getting_started.md b/docs/user/app_getting_started.md index e35d8ce..f05bd17 100644 --- a/docs/user/app_getting_started.md +++ b/docs/user/app_getting_started.md @@ -10,6 +10,8 @@ To install the App, please follow the instructions detailed in the [Installation As a first step you will want to define which Status(es) can be applied to individual tiles in a floor plan. This can be done by navigating to "Organization > Statuses" in the Nautobot UI, and creating or updating the desired Status records to include `nautobot_floor_plan | floor plan tile` as one of the Status's "Content Types". +The app installs with the the following statuses by default. `"Active", "Reserved", "Decommissioning", "Unavailable", "Planned"` + ![Status definition](../images/status-definition.png) ## What are the next steps? @@ -24,6 +26,12 @@ Clicking this button will bring you to a standard Nautobot create/edit form, in The "X size" and "Y size" parameters define the number of Tiles in the Floor Plan, and the "Tile width" and "Tile depth" parameters define the relative proportions of each Tile when rendered in the Nautobot UI. You can leave the tile parameters as defaults for a square grid, or set them as desired for a off-square rectangular grid. +The "X Axis Labels" and "Y Axis Labels" parameters can be used to represent "Numbers" or "Letters" for grid labeling. The default setting is "Numbers". + +The "X Axis Seed" and "Y Axis Seed" parameters allow you to define the starting location for a grid label. The default setting is "1". + +The "X Axis Step" and "Y Axis Step" parameters allow you to choose a positive or negative integer step value that are used to skip numbers or letters for grid labeling. The default setting is "1". + After clicking "Create", you will be presented with a new floor plan render: ![Empty floor plan](../images/floor-plan-empty.png) diff --git a/docs/user/app_overview.md b/docs/user/app_overview.md index 2fdf3b1..cc33195 100644 --- a/docs/user/app_overview.md +++ b/docs/user/app_overview.md @@ -35,6 +35,9 @@ Included is a non-exhaustive list of capabilites beyond a standard MVC (model vi - Provides the ability to span multiple adjacent tiles by a single rack. - Provides the ability to place racks in a group that spans multiple tiles. - Provides custom layout size in any rectangular shape using X & Y axis. +- Provides the abililty to choose Numbers or Letters for grid labels. +- Provides the ability for a user to define a specific number or letter as a starting point for grid labels. +- Provides the ability for a user to define a positive or negative integer to allow for the skipping of letters or numbers for grid labels. - Provides the ability to save the generated SVG from a click of a "Save SVG" link. ## Nautobot Features Used diff --git a/nautobot_floor_plan/forms.py b/nautobot_floor_plan/forms.py index ed88318..43a2986 100644 --- a/nautobot_floor_plan/forms.py +++ b/nautobot_floor_plan/forms.py @@ -37,6 +37,18 @@ class FloorPlanForm(NautobotModelForm): help_text="The first value to begin Y Axis at.", required=False, ) + x_axis_step = forms.IntegerField( + label="X Axis Step", + help_text="A positive or negative integer, excluding zero", + required=False, + validators=[utils.validate_not_zero], + ) + y_axis_step = forms.IntegerField( + label="Y Axis Step", + help_text="A positive or negative integer, excluding zero", + required=False, + validators=[utils.validate_not_zero], + ) class Meta: """Meta attributes.""" @@ -50,8 +62,10 @@ class Meta: "tile_depth", "x_axis_labels", "x_origin_seed", + "x_axis_step", "y_axis_labels", "y_origin_seed", + "y_axis_step", "tags", ] diff --git a/nautobot_floor_plan/migrations/0008_add_axis_step.py b/nautobot_floor_plan/migrations/0008_add_axis_step.py new file mode 100644 index 0000000..54e16e7 --- /dev/null +++ b/nautobot_floor_plan/migrations/0008_add_axis_step.py @@ -0,0 +1,23 @@ +# Generated by Django 3.2.25 on 2024-08-12 18:59 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("nautobot_floor_plan", "0007_add_axis_origin_seed"), + ] + + operations = [ + migrations.AddField( + model_name="floorplan", + name="x_axis_step", + field=models.IntegerField(default=1), + ), + migrations.AddField( + model_name="floorplan", + name="y_axis_step", + field=models.IntegerField(default=1), + ), + ] diff --git a/nautobot_floor_plan/models.py b/nautobot_floor_plan/models.py index c2068fc..be5d89f 100644 --- a/nautobot_floor_plan/models.py +++ b/nautobot_floor_plan/models.py @@ -13,6 +13,8 @@ from nautobot_floor_plan.choices import RackOrientationChoices, AxisLabelsChoices, AllocationTypeChoices from nautobot_floor_plan.svg import FloorPlanSVG +from nautobot_floor_plan.utils import validate_not_zero + logger = logging.getLogger(__name__) @@ -65,8 +67,20 @@ class FloorPlan(PrimaryModel): default=AxisLabelsChoices.NUMBERS, help_text="Grid labels of Y axis (vertical).", ) - x_origin_seed = models.PositiveSmallIntegerField(validators=[MinValueValidator(0)], default=1) - y_origin_seed = models.PositiveSmallIntegerField(validators=[MinValueValidator(0)], default=1) + x_origin_seed = models.PositiveSmallIntegerField( + validators=[MinValueValidator(0)], default=1, help_text="User defined starting value for grid labeling" + ) + y_origin_seed = models.PositiveSmallIntegerField( + validators=[MinValueValidator(0)], default=1, help_text="User defined starting value for grid labeling" + ) + x_axis_step = models.IntegerField( + default=1, + help_text="Positive or negative integer that will be used to step labeling.", + ) + y_axis_step = models.IntegerField( + default=1, + help_text="Positive or negative integer that will be used to step labeling.", + ) class Meta: """Metaclass attributes.""" @@ -83,6 +97,8 @@ def get_svg(self, *, user, base_url): def save(self, *args, **kwargs): """Override save in order to update any existing tiles.""" + validate_not_zero(self.x_axis_step) + validate_not_zero(self.y_axis_step) if self.present_in_database: # Get origin_seed pre/post values initial_instance = self.__class__.objects.get(pk=self.pk) diff --git a/nautobot_floor_plan/svg.py b/nautobot_floor_plan/svg.py index 8297cf8..58712bd 100644 --- a/nautobot_floor_plan/svg.py +++ b/nautobot_floor_plan/svg.py @@ -89,8 +89,18 @@ def _setup_drawing(self, width, depth): return drawing + def _label_text(self, label_text_out, step, seed, label_text_in): + """Change label based off defined increment or decrement step.""" + if label_text_out == seed: + return label_text_out + label_text_out = label_text_in + step + return label_text_out + def _draw_grid(self, drawing): """Render the grid underlying all tiles.""" + # Set inital values for x and y axis label location + x_label_text = 0 + y_label_text = 0 # Vertical lines for x in range(0, self.floor_plan.x_size + 1): drawing.add( @@ -117,7 +127,12 @@ def _draw_grid(self, drawing): ) # Axis labels for x in range(self.floor_plan.x_origin_seed, self.floor_plan.x_size + self.floor_plan.x_origin_seed): - label = grid_number_to_letter(x) if self.floor_plan.x_axis_labels == AxisLabelsChoices.LETTERS else str(x) + x_label_text = self._label_text(x, self.floor_plan.x_axis_step, self.floor_plan.x_origin_seed, x_label_text) + label = ( + grid_number_to_letter(x_label_text) + if self.floor_plan.x_axis_labels == AxisLabelsChoices.LETTERS + else str(x_label_text) + ) drawing.add( drawing.text( label, @@ -129,7 +144,12 @@ def _draw_grid(self, drawing): ) ) for y in range(self.floor_plan.y_origin_seed, self.floor_plan.y_size + self.floor_plan.y_origin_seed): - label = grid_number_to_letter(y) if self.floor_plan.y_axis_labels == AxisLabelsChoices.LETTERS else str(y) + y_label_text = self._label_text(y, self.floor_plan.y_axis_step, self.floor_plan.y_origin_seed, y_label_text) + label = ( + grid_number_to_letter(y_label_text) + if self.floor_plan.y_axis_labels == AxisLabelsChoices.LETTERS + else str(y_label_text) + ) drawing.add( drawing.text( label, diff --git a/nautobot_floor_plan/templates/nautobot_floor_plan/floorplan_retrieve.html b/nautobot_floor_plan/templates/nautobot_floor_plan/floorplan_retrieve.html index fdc470b..4946755 100644 --- a/nautobot_floor_plan/templates/nautobot_floor_plan/floorplan_retrieve.html +++ b/nautobot_floor_plan/templates/nautobot_floor_plan/floorplan_retrieve.html @@ -42,6 +42,10 @@ X Axis Seed {{ object|seed_conversion:'x' }} + + X Axis Step + {{ object.x_axis_step }} + Y Axis Labels {{ object.y_axis_labels }} @@ -50,6 +54,10 @@ Y Axis Seed {{ object|seed_conversion:'y' }} + + Y Axis Step + {{ object.y_axis_step }} + Tiles {{ object.tiles.count }} diff --git a/nautobot_floor_plan/tests/test_forms.py b/nautobot_floor_plan/tests/test_forms.py index 20671e7..15388b3 100644 --- a/nautobot_floor_plan/tests/test_forms.py +++ b/nautobot_floor_plan/tests/test_forms.py @@ -51,6 +51,8 @@ def test_valid_extra_inputs(self): "tile_width": 2, "x_axis_labels": choices.AxisLabelsChoices.NUMBERS, "y_axis_labels": choices.AxisLabelsChoices.NUMBERS, + "x_axis_step": 2, + "y_axis_step": 1, "tags": [tag], } ) @@ -63,6 +65,8 @@ def test_valid_extra_inputs(self): self.assertEqual(floor_plan.tile_depth, 1) self.assertEqual(floor_plan.x_axis_labels, choices.AxisLabelsChoices.NUMBERS) self.assertEqual(floor_plan.y_axis_labels, choices.AxisLabelsChoices.NUMBERS) + self.assertEqual(floor_plan.x_axis_step, 2) + self.assertEqual(floor_plan.y_axis_step, 1) self.assertEqual(list(floor_plan.tags.all()), [tag]) def test_invalid_required_fields(self): diff --git a/nautobot_floor_plan/tests/test_models.py b/nautobot_floor_plan/tests/test_models.py index a2fbbae..120c01c 100644 --- a/nautobot_floor_plan/tests/test_models.py +++ b/nautobot_floor_plan/tests/test_models.py @@ -24,6 +24,10 @@ def test_create_floor_plan_valid(self): floor_plan_minimal.validated_save() floor_plan_huge = models.FloorPlan(location=self.floors[1], x_size=100, y_size=100) floor_plan_huge.validated_save() + floor_plan_pos_neg_step = models.FloorPlan( + location=self.floors[2], x_size=20, y_size=20, x_axis_step=-1, y_axis_step=2 + ) + floor_plan_pos_neg_step.validated_save() def test_create_floor_plan_invalid_no_location(self): """Can't create a FloorPlan with no Location.""" @@ -103,6 +107,13 @@ def test_origin_seed_x_increase_y_decrease(self): self.assertEqual(floor_plan.tiles.get(id=ids[3]).x_origin, 5) self.assertEqual(floor_plan.tiles.get(id=ids[3]).y_origin, 4) + def test_create_floor_plan_invalid_step(self): + """A FloorPlan must not use a step value of zero.""" + with self.assertRaises(ValidationError): + models.FloorPlan( + location=self.floors[1], x_size=100, y_size=100, x_axis_step=0, y_axis_step=2 + ).validated_save() + class TestFloorPlanTile(TestCase): """Test FloorPlanTile model.""" diff --git a/nautobot_floor_plan/utils.py b/nautobot_floor_plan/utils.py index a9a12da..f38c876 100644 --- a/nautobot_floor_plan/utils.py +++ b/nautobot_floor_plan/utils.py @@ -1,5 +1,7 @@ """Utilities module.""" +from django.core.exceptions import ValidationError + def grid_number_to_letter(number): """Returns letter for number [1 - 26] --> [A - Z], [27 - 52] --> [AA - AZ].""" @@ -20,3 +22,9 @@ def grid_letter_to_number(letter): if letter[:-1]: return 26 * (grid_letter_to_number(letter[:-1])) + number return number + + +def validate_not_zero(value): + """Prevent the usage of 0 as a value in the step form field or model attribute.""" + if value == 0: + raise ValidationError(("Value must be a positive or negative Integer not equal to zero")) From 5bc36d8eb363f58233f66ee4846e0788bed1a6d7 Mon Sep 17 00:00:00 2001 From: DJ Howard Date: Sun, 18 Aug 2024 11:46:03 -0400 Subject: [PATCH 2/8] step and seed required, No zero for negative step on letters. --- nautobot_floor_plan/forms.py | 8 ++++---- nautobot_floor_plan/svg.py | 4 ++++ 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/nautobot_floor_plan/forms.py b/nautobot_floor_plan/forms.py index 43a2986..4ed5fc7 100644 --- a/nautobot_floor_plan/forms.py +++ b/nautobot_floor_plan/forms.py @@ -30,23 +30,23 @@ class FloorPlanForm(NautobotModelForm): x_origin_seed = forms.CharField( label="X Axis Seed", help_text="The first value to begin X Axis at.", - required=False, + required=True, ) y_origin_seed = forms.CharField( label="Y Axis Seed", help_text="The first value to begin Y Axis at.", - required=False, + required=True, ) x_axis_step = forms.IntegerField( label="X Axis Step", help_text="A positive or negative integer, excluding zero", - required=False, + required=True, validators=[utils.validate_not_zero], ) y_axis_step = forms.IntegerField( label="Y Axis Step", help_text="A positive or negative integer, excluding zero", - required=False, + required=True, validators=[utils.validate_not_zero], ) diff --git a/nautobot_floor_plan/svg.py b/nautobot_floor_plan/svg.py index 58712bd..11e23e6 100644 --- a/nautobot_floor_plan/svg.py +++ b/nautobot_floor_plan/svg.py @@ -128,6 +128,8 @@ def _draw_grid(self, drawing): # Axis labels for x in range(self.floor_plan.x_origin_seed, self.floor_plan.x_size + self.floor_plan.x_origin_seed): x_label_text = self._label_text(x, self.floor_plan.x_axis_step, self.floor_plan.x_origin_seed, x_label_text) + if self.floor_plan.x_axis_labels == AxisLabelsChoices.LETTERS and x_label_text == 0: + x_label_text = 26 label = ( grid_number_to_letter(x_label_text) if self.floor_plan.x_axis_labels == AxisLabelsChoices.LETTERS @@ -145,6 +147,8 @@ def _draw_grid(self, drawing): ) for y in range(self.floor_plan.y_origin_seed, self.floor_plan.y_size + self.floor_plan.y_origin_seed): y_label_text = self._label_text(y, self.floor_plan.y_axis_step, self.floor_plan.y_origin_seed, y_label_text) + if self.floor_plan.y_axis_labels == AxisLabelsChoices.LETTERS and y_label_text == 0: + y_label_text = 26 label = ( grid_number_to_letter(y_label_text) if self.floor_plan.y_axis_labels == AxisLabelsChoices.LETTERS From ed748b0b6c58b180d3b1e915d00c2b970774b109 Mon Sep 17 00:00:00 2001 From: DJ Howard Date: Sun, 18 Aug 2024 16:42:23 -0400 Subject: [PATCH 3/8] Updated tests for new required fields --- nautobot_floor_plan/tests/test_forms.py | 34 ++++++++++++++++++++++--- nautobot_floor_plan/tests/test_views.py | 12 ++++++--- 2 files changed, 38 insertions(+), 8 deletions(-) diff --git a/nautobot_floor_plan/tests/test_forms.py b/nautobot_floor_plan/tests/test_forms.py index 15388b3..d45c428 100644 --- a/nautobot_floor_plan/tests/test_forms.py +++ b/nautobot_floor_plan/tests/test_forms.py @@ -27,7 +27,11 @@ def test_valid_minimal_inputs(self): "tile_depth": 100, "tile_width": 200, "x_axis_labels": choices.AxisLabelsChoices.NUMBERS, + "x_origin_seed": 1, + "x_axis_step": 1, "y_axis_labels": choices.AxisLabelsChoices.NUMBERS, + "y_origin_seed": 1, + "y_axis_step": 1, } ) self.assertTrue(form.is_valid()) @@ -37,6 +41,12 @@ def test_valid_minimal_inputs(self): self.assertEqual(floor_plan.y_size, 2) self.assertEqual(floor_plan.tile_depth, 100) self.assertEqual(floor_plan.tile_width, 200) + self.assertEqual(floor_plan.x_axis_labels, choices.AxisLabelsChoices.NUMBERS) + self.assertEqual(floor_plan.y_axis_labels, choices.AxisLabelsChoices.NUMBERS) + self.assertEqual(floor_plan.x_origin_seed, 1) + self.assertEqual(floor_plan.y_origin_seed, 1) + self.assertEqual(floor_plan.x_axis_step, 1) + self.assertEqual(floor_plan.y_axis_step, 1) def test_valid_extra_inputs(self): """Test creation with additional optional input data.""" @@ -50,8 +60,10 @@ def test_valid_extra_inputs(self): "tile_depth": 1, "tile_width": 2, "x_axis_labels": choices.AxisLabelsChoices.NUMBERS, + "x_origin_seed": 1, + "x_axis_step": 1, "y_axis_labels": choices.AxisLabelsChoices.NUMBERS, - "x_axis_step": 2, + "y_origin_seed": 1, "y_axis_step": 1, "tags": [tag], } @@ -65,8 +77,10 @@ def test_valid_extra_inputs(self): self.assertEqual(floor_plan.tile_depth, 1) self.assertEqual(floor_plan.x_axis_labels, choices.AxisLabelsChoices.NUMBERS) self.assertEqual(floor_plan.y_axis_labels, choices.AxisLabelsChoices.NUMBERS) - self.assertEqual(floor_plan.x_axis_step, 2) - self.assertEqual(floor_plan.y_axis_step, 1) + self.assertEqual(floor_plan.x_origin_seed, 1) + self.assertEqual(floor_plan.y_origin_seed, 1) + self.assertEqual(floor_plan.x_axis_step, 1) + self.assertEqual(floor_plan.x_axis_step, 1) self.assertEqual(list(floor_plan.tags.all()), [tag]) def test_invalid_required_fields(self): @@ -74,7 +88,19 @@ def test_invalid_required_fields(self): form = forms.FloorPlanForm(data={}) self.assertFalse(form.is_valid()) self.assertEqual( - ["location", "tile_depth", "tile_width", "x_axis_labels", "x_size", "y_axis_labels", "y_size"], + [ + "location", + "tile_depth", + "tile_width", + "x_axis_labels", + "x_axis_step", + "x_origin_seed", + "x_size", + "y_axis_labels", + "y_axis_step", + "y_origin_seed", + "y_size", + ], sorted(form.errors.keys()), ) for message in form.errors.values(): diff --git a/nautobot_floor_plan/tests/test_views.py b/nautobot_floor_plan/tests/test_views.py index fd2c77e..de54223 100644 --- a/nautobot_floor_plan/tests/test_views.py +++ b/nautobot_floor_plan/tests/test_views.py @@ -12,10 +12,10 @@ class FloorPlanViewTest(ViewTestCases.PrimaryObjectViewTestCase): model = models.FloorPlan bulk_edit_data = {"x_size": 10, "y_size": 10, "tile_width": 200, "tile_depth": 200} csv_data = ( - "location__name,x_size,y_size,tile_width,tile_depth", - "Floor 4,1,2,100,100", - "Floor 5,2,4,100,200", - "Floor 6,3,6,200,100", + "location__name,x_size,x_origin_seed,x_axis_step,y_size,y_origin_seed,y_axis_step,tile_width,tile_depth", + "Floor 4,1,1,1,2,1,1,100,100", + "Floor 5,2,1,1,4,1,2,100,200", + "Floor 6,3,1,1,6,1,-2,200,100", ) @classmethod @@ -27,7 +27,11 @@ def setUpTestData(cls): "tile_depth": 100, "tile_width": 100, "x_size": 1, + "x_origin_seed": 1, + "x_axis_step": 1, "y_size": 2, + "y_origin_seed": 1, + "y_axis_step": 1, "x_axis_labels": choices.AxisLabelsChoices.NUMBERS, "y_axis_labels": choices.AxisLabelsChoices.NUMBERS, } From 113e3a529960b5c4bffefca9a1718070d61ad67a Mon Sep 17 00:00:00 2001 From: DJ Howard Date: Tue, 20 Aug 2024 09:39:57 -0400 Subject: [PATCH 4/8] resolving merge conflicts and formating models.py --- nautobot_floor_plan/models.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/nautobot_floor_plan/models.py b/nautobot_floor_plan/models.py index 9322348..5717977 100644 --- a/nautobot_floor_plan/models.py +++ b/nautobot_floor_plan/models.py @@ -9,10 +9,8 @@ from nautobot_floor_plan.choices import AllocationTypeChoices, AxisLabelsChoices, RackOrientationChoices from nautobot_floor_plan.svg import FloorPlanSVG - from nautobot_floor_plan.utils import validate_not_zero - logger = logging.getLogger(__name__) From 64ed1bc2c403f6cad79d5ab48b150c5011a030ca Mon Sep 17 00:00:00 2001 From: DJ Howard Date: Wed, 4 Sep 2024 18:31:12 -0400 Subject: [PATCH 5/8] Updating model to use validator and resolving merge conflicts from previous PRs. --- nautobot_floor_plan/forms.py | 2 -- .../migrations/0008_add_axis_step.py | 18 ++++++++++-------- nautobot_floor_plan/models.py | 6 ++---- nautobot_floor_plan/svg.py | 10 +++++++++- 4 files changed, 21 insertions(+), 15 deletions(-) diff --git a/nautobot_floor_plan/forms.py b/nautobot_floor_plan/forms.py index 8d091ea..b978b75 100644 --- a/nautobot_floor_plan/forms.py +++ b/nautobot_floor_plan/forms.py @@ -40,13 +40,11 @@ class FloorPlanForm(NautobotModelForm): label="X Axis Step", help_text="A positive or negative integer, excluding zero", required=True, - validators=[utils.validate_not_zero], ) y_axis_step = forms.IntegerField( label="Y Axis Step", help_text="A positive or negative integer, excluding zero", required=True, - validators=[utils.validate_not_zero], ) class Meta: diff --git a/nautobot_floor_plan/migrations/0008_add_axis_step.py b/nautobot_floor_plan/migrations/0008_add_axis_step.py index 54e16e7..f73fe73 100644 --- a/nautobot_floor_plan/migrations/0008_add_axis_step.py +++ b/nautobot_floor_plan/migrations/0008_add_axis_step.py @@ -1,23 +1,25 @@ -# Generated by Django 3.2.25 on 2024-08-12 18:59 +# Generated by Django 3.2.25 on 2024-09-04 20:21 from django.db import migrations, models +import nautobot_floor_plan.utils + class Migration(migrations.Migration): dependencies = [ - ("nautobot_floor_plan", "0007_add_axis_origin_seed"), + ('nautobot_floor_plan', '0007_add_axis_origin_seed'), ] operations = [ migrations.AddField( - model_name="floorplan", - name="x_axis_step", - field=models.IntegerField(default=1), + model_name='floorplan', + name='x_axis_step', + field=models.IntegerField(default=1, validators=[nautobot_floor_plan.utils.validate_not_zero]), ), migrations.AddField( - model_name="floorplan", - name="y_axis_step", - field=models.IntegerField(default=1), + model_name='floorplan', + name='y_axis_step', + field=models.IntegerField(default=1, validators=[nautobot_floor_plan.utils.validate_not_zero]), ), ] diff --git a/nautobot_floor_plan/models.py b/nautobot_floor_plan/models.py index 5717977..db75303 100644 --- a/nautobot_floor_plan/models.py +++ b/nautobot_floor_plan/models.py @@ -69,12 +69,10 @@ class FloorPlan(PrimaryModel): validators=[MinValueValidator(0)], default=1, help_text="User defined starting value for grid labeling" ) x_axis_step = models.IntegerField( - default=1, - help_text="Positive or negative integer that will be used to step labeling.", + validators=[validate_not_zero], default=1, help_text="Positive or negative integer that will be used to step labeling.", ) y_axis_step = models.IntegerField( - default=1, - help_text="Positive or negative integer that will be used to step labeling.", + validators=[validate_not_zero], default=1, help_text="Positive or negative integer that will be used to step labeling." ) class Meta: diff --git a/nautobot_floor_plan/svg.py b/nautobot_floor_plan/svg.py index fe5d5fe..0a3bfa4 100644 --- a/nautobot_floor_plan/svg.py +++ b/nautobot_floor_plan/svg.py @@ -31,6 +31,7 @@ class FloorPlanSVG: RACK_BORDER_OFFSET = 8 RACK_ORIENTATION_OFFSET = 14 RACKGROUP_TEXT_OFFSET = 12 + Y_LABEL_TEXT_OFFSET = 34 def __init__(self, *, floor_plan, user, base_url): """ @@ -99,6 +100,8 @@ def _draw_grid(self, drawing): # Set inital values for x and y axis label location x_label_text = 0 y_label_text = 0 + # Setting intial value for y axis label text to 0 + y_label_text_offset = 0 # Vertical lines for x in range(0, self.floor_plan.x_size + 1): drawing.add( @@ -152,11 +155,16 @@ def _draw_grid(self, drawing): if self.floor_plan.y_axis_labels == AxisLabelsChoices.LETTERS else str(y_label_text) ) + # Adjust the starting position of the y_axis_label text if the length of the inital SEED value is greater than 1 + if len(str(self.floor_plan.y_origin_seed)) > 1: + y_label_text_offset = self.Y_LABEL_TEXT_OFFSET - (6 - len(str(self.floor_plan.y_origin_seed))) + if len(str(self.floor_plan.y_origin_seed)) > 4: + y_label_text_offset = self.Y_LABEL_TEXT_OFFSET + 4 drawing.add( drawing.text( label, insert=( - self.BORDER_WIDTH + self.TEXT_LINE_HEIGHT / 2, + self.BORDER_WIDTH + self.TEXT_LINE_HEIGHT / 2 - y_label_text_offset, (y - self.floor_plan.y_origin_seed + 0.5) * self.GRID_SIZE_Y + self.GRID_OFFSET, ), class_="grid-label", From 4a15dcef2030328e3e4d8e1e7e6def9c671cb02f Mon Sep 17 00:00:00 2001 From: DJ Howard Date: Thu, 5 Sep 2024 08:33:45 -0400 Subject: [PATCH 6/8] Removing unneeded function calls in save method --- nautobot_floor_plan/models.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/nautobot_floor_plan/models.py b/nautobot_floor_plan/models.py index db75303..bb64c11 100644 --- a/nautobot_floor_plan/models.py +++ b/nautobot_floor_plan/models.py @@ -69,7 +69,7 @@ class FloorPlan(PrimaryModel): validators=[MinValueValidator(0)], default=1, help_text="User defined starting value for grid labeling" ) x_axis_step = models.IntegerField( - validators=[validate_not_zero], default=1, help_text="Positive or negative integer that will be used to step labeling.", + validators=[validate_not_zero], default=1,help_text="Positive or negative integer that will be used to step labeling.", ) y_axis_step = models.IntegerField( validators=[validate_not_zero], default=1, help_text="Positive or negative integer that will be used to step labeling." @@ -90,8 +90,6 @@ def get_svg(self, *, user, base_url): def save(self, *args, **kwargs): """Override save in order to update any existing tiles.""" - validate_not_zero(self.x_axis_step) - validate_not_zero(self.y_axis_step) if self.present_in_database: # Get origin_seed pre/post values initial_instance = self.__class__.objects.get(pk=self.pk) From 3386452928f614d67ae22321fda46ea842a9f33b Mon Sep 17 00:00:00 2001 From: DJ Howard Date: Thu, 5 Sep 2024 09:50:58 -0400 Subject: [PATCH 7/8] added message to validate_not_zero method --- nautobot_floor_plan/models.py | 2 +- nautobot_floor_plan/utils.py | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/nautobot_floor_plan/models.py b/nautobot_floor_plan/models.py index bb64c11..de4d165 100644 --- a/nautobot_floor_plan/models.py +++ b/nautobot_floor_plan/models.py @@ -69,7 +69,7 @@ class FloorPlan(PrimaryModel): validators=[MinValueValidator(0)], default=1, help_text="User defined starting value for grid labeling" ) x_axis_step = models.IntegerField( - validators=[validate_not_zero], default=1,help_text="Positive or negative integer that will be used to step labeling.", + validators=[validate_not_zero], default=1, help_text="Positive or negative integer that will be used to step labeling.", ) y_axis_step = models.IntegerField( validators=[validate_not_zero], default=1, help_text="Positive or negative integer that will be used to step labeling." diff --git a/nautobot_floor_plan/utils.py b/nautobot_floor_plan/utils.py index f38c876..36ff45c 100644 --- a/nautobot_floor_plan/utils.py +++ b/nautobot_floor_plan/utils.py @@ -1,6 +1,7 @@ """Utilities module.""" from django.core.exceptions import ValidationError +from django.utils.translation import gettext_lazy as _ def grid_number_to_letter(number): @@ -27,4 +28,8 @@ def grid_letter_to_number(letter): def validate_not_zero(value): """Prevent the usage of 0 as a value in the step form field or model attribute.""" if value == 0: - raise ValidationError(("Value must be a positive or negative Integer not equal to zero")) + raise ValidationError( + _("%(value)s is not a positive or negative Integer not equal to zero"), + params={"value": value}, + ) +validate_not_zero.message = "Must be a positive or negative Integer not equal to zero." From f6a150b1ca6044a6571fa4b3130fbb9fe554ff92 Mon Sep 17 00:00:00 2001 From: DJ Howard Date: Wed, 11 Sep 2024 08:48:35 -0400 Subject: [PATCH 8/8] adding seed_conversion to floorplan table --- nautobot_floor_plan/tables.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/nautobot_floor_plan/tables.py b/nautobot_floor_plan/tables.py index 0d9e053..fba2a94 100644 --- a/nautobot_floor_plan/tables.py +++ b/nautobot_floor_plan/tables.py @@ -5,7 +5,7 @@ from nautobot.core.templatetags.helpers import hyperlinked_object from nautobot_floor_plan import models -from nautobot_floor_plan.templatetags.seed_helpers import grid_location_conversion +from nautobot_floor_plan.templatetags.seed_helpers import grid_location_conversion, seed_conversion class FloorPlanTable(BaseTable): @@ -15,6 +15,8 @@ class FloorPlanTable(BaseTable): pk = ToggleColumn() floor_plan = tables.Column(empty_values=[]) location = tables.Column(linkify=True) + x_origin_seed = tables.Column() + y_origin_seed = tables.Column() tags = TagColumn() actions = ButtonsColumn(models.FloorPlan) @@ -22,6 +24,15 @@ def render_floor_plan(self, record): """Render a link to the detail view for the FloorPlan record itself.""" return hyperlinked_object(record) + def render_x_origin_seed(self, record): + """Render x_origin in letters if requried.""" + return seed_conversion(record, "x") + + def render_y_origin_seed(self, record): + """Render y_origin in letters if requried.""" + return seed_conversion(record, "y") + + class Meta(BaseTable.Meta): """Meta attributes."""