Commit Graph

3012 Commits

Author SHA1 Message Date
Jeremy Stretch
2c73acd75d Updated changelog for #2400 2018-11-27 16:18:57 -05:00
Tatsushi Demachi
51ecc03d46 Fix type mismatches in API view (#2429)
* Fix tags field to be shown as array in API view

`tags` field in serializers is defineded as `TagListSerializerField`.
It should be shown as an array value in API view but actually, it is a
simple string value.

This fixes it by introducing a new `FieldInspector` to handle
`TagListSerializerField` type field as an array. It doesn't affects any
other type fields.

* Fix SerializedPKRelatedField type API expression

A field definded as `SerializedPKRelatedField` should be shown as an
array of child serializer objects in a response value definition in API
view but it is shown as an array of primary key values (usually
`integer` type) of a child serializer.

This fixes it by introducing a new `FieldInspector` to handle the field.
It doesn't affect any other type fields.

* Fix request parameter representation in API view

In API view, representation of a parameter defined as a sub class of
`WritableNestedSerializer` should be vary between a request and a
response. For example, `tenant` field in `IPAddressSerializer` should be
shown like following as a request body:

```
tenant: integer ...
```

while it should be shown like following as a response body:

```
tenant: {
    id: integer ...,
    url: string ...,
    name: string ...,
    slug: string ...
}
```

But in both cases, it is shown as a response body type expression. This
causes an error at sending an API request with that type value.

It is only an API view issue, API can handle a request if a request
parameter is structured as an expected request body by ignoring the
wrong expression.

This fixes the issue by replacing an implicitly used default auto schema
generator class by its sub class and returning a pseudo serializer with
'Writable' prefix at generating a request body. The reason to introduce
a new generator class is that there is no other point which can
distinguish a request and a response. It is not enough to distinguish
POST, PUT, PATCH methods from GET because former cases may return a JSON
object as a response but it is also represented as same as a request
body, causes another mismatch.

This also fixes `SerializedPKRelatedField` type field representation. It
should be shown as an array of primary keys in a request body.

Fixed #2400
2018-11-27 16:14:45 -05:00
Jeremy Stretch
627bcda5bd Fixes #2615: Tweak live search widget to use brief format for API requests 2018-11-27 12:41:00 -05:00
Jeremy Stretch
5156de92b9 Fixes #2613: Decrease live search minimum characters to three 2018-11-27 12:20:52 -05:00
Jeremy Stretch
f1a2a724b4 Formatting cleanup 2018-11-27 11:57:29 -05:00
Jeremy Stretch
6b1abd6a65 Closes #2614: Simplify calls of super() for Python 3 2018-11-27 10:52:24 -05:00
Jeremy Stretch
5d7f316f4f Add developer guidance for the introduction of new dependencies 2018-11-27 10:45:10 -05:00
Jeremy Stretch
1157b7f776 Added a description and repo URL for each dependency 2018-11-27 09:51:48 -05:00
Jeremy Stretch
b442722238 Release v2.5-beta2 2018-11-26 16:27:57 -05:00
Jeremy Stretch
0ffc441295 Changelog for #2606 2018-11-26 14:41:09 -05:00
Daniel Sheppard
7e0ab90ee4 Fixes #2606 - Added MultipleChoiceFilter for form_factor (#2610)
* Fixes #2606 - Added MultipleChoiceFilter for form_factor

* Fixes #2606 - Add MultipleChoiceField for form_factor
Fixes error with too many lines.
2018-11-26 14:19:05 -05:00
Tyler Bigler
c98de8e348 Refactor Extras Migration Version Check (#2604)
* Add constant for DB_MINIMUM_VERSION

* Refactor verify_postgresql_version to use Django connection pg_version method for comparing versions.

* Remove StrictVersion import

* Remove DB_MINIMUM_VERSION as not necessary in constants.

* Define DB_MINIMUM_VERSION locally to freeze to migration.

* Refactor database version verification to use django builtin methods.
2018-11-26 14:16:37 -05:00
Jeremy Stretch
73a6583722 Fixes #2609: Fixed exception when ChoiceField integer value is passed as a string 2018-11-26 14:05:57 -05:00
Jeremy Stretch
9d8b36bf91 Enforce consistent ordering of value/label keys for ChoiceField 2018-11-26 14:02:38 -05:00
Jeremy Stretch
c31c2fd04b Fixes #2608: Fixed null outer_unit error on rack import 2018-11-26 13:41:35 -05:00
Jeremy Stretch
a0b8e05653 Closes #2601: Added a description field to pass-through ports 2018-11-20 21:28:19 -05:00
Jeremy Stretch
89d90b5548 Strip annotations from queryset when retrieving object count for API pagination 2018-11-20 21:02:06 -05:00
Jeremy Stretch
1891329c77 Changelog for #2602 2018-11-20 13:21:38 -05:00
Jeremy Stretch
a45e774f71 Fixes #2602: Return HTTP 204 when no new IPs/prefixes are available for provisioning 2018-11-20 13:03:59 -05:00
Jeremy Stretch
b5ef607224 Merge v2.4.8 2018-11-20 12:28:24 -05:00
Jeremy Stretch
280ee97d91 Post-release version bump 2018-11-20 11:58:19 -05:00
Jeremy Stretch
674ca55769 Release v2.4.8 2018-11-20 11:56:14 -05:00
Jeremy Stretch
b18c0055e5 Added missing import buttons to cables list 2018-11-20 09:41:38 -05:00
Jeremy Stretch
ee3ec467e5 Fixed toggling of connection status for cable path endpoints 2018-11-20 09:23:30 -05:00
Jeremy Stretch
8ce3a4b1f8 Standardized behavior and display of connection_status 2018-11-19 15:26:06 -05:00
Jeremy Stretch
657080fac1 Updated migrations 2018-11-19 13:44:18 -05:00
Jeremy Stretch
cad0925c7a Improved logic for recording cable path connection status 2018-11-19 12:37:53 -05:00
Jeremy Stretch
83cac4c90c Closes #2557: Added object view for tags 2018-11-15 16:47:41 -05:00
Jeremy Stretch
b94800f568 Fixes #2593: Fix toggling of connected cable's status 2018-11-15 14:23:23 -05:00
John Anderson
035fc97ed0 #2583 changelog 2018-11-15 00:55:47 -05:00
John Anderson
b1aa52305b cleanup component filters and UI filter forms for device and device type - #2583 2018-11-15 00:42:01 -05:00
John Anderson
39ff4b40ac added logic to append &type=physical to interface API query for cable creation - #2585 2018-11-14 23:35:15 -05:00
Jeremy Stretch
3acb0ef865 Closes #2053: Introduced the LOGIN_TIMEOUT configuration setting 2018-11-14 14:18:32 -05:00
Jeremy Stretch
1945fdace1 Clean up cable termination types 2018-11-14 12:17:18 -05:00
Jeremy Stretch
be0690c77c Fixes #2589: Virtual machine API serializer should require cluster assignment 2018-11-14 10:38:53 -05:00
Jeremy Stretch
d813e374e8 Fixes #2588: Catch all exceptions from failed NAPALM API Calls 2018-11-14 10:12:35 -05:00
Jeremy Stretch
fb37af673b Closes #2490: Added bulk editing for config contexts 2018-11-13 15:08:55 -05:00
Jeremy Stretch
e18c3cff80 Expanded device interfaces display to include MTU, MAC address, and tags 2018-11-13 14:18:00 -05:00
Jeremy Stretch
1fecfc46ca Fixes #2565: Improved rendering of Markdown tables 2018-11-13 11:02:48 -05:00
Jeremy Stretch
b2243977ed Closes #2426: Introduced SESSION_FILE_PATH configuration setting for authentication without write access to database 2018-11-13 10:31:44 -05:00
John Anderson
631ebb831d removed blank line 2018-11-12 23:34:14 -05:00
John Anderson
3ffb5ac9ae #2586 changelog 2018-11-12 23:27:14 -05:00
John Anderson
084c59cb9d resolved #2586 - tests for the Cable model clean method 2018-11-12 23:26:08 -05:00
John Anderson
8d60a571d9 #2585 changelog 2018-11-12 23:20:17 -05:00
John Anderson
15df6a1557 fixed #2585 - connections with virtual interfaces 2018-11-12 23:18:23 -05:00
John Anderson
2a77bd56dc #2584 changelog 2018-11-12 22:19:30 -05:00
John Anderson
df281fe61b fixed #2584 - validation for connecting front port to corresponding rear port 2018-11-12 22:15:06 -05:00
Jeremy Stretch
6a85f38f11 Merge branch 'develop' into develop-2.5 2018-11-12 16:03:52 -05:00
Jeremy Stretch
574ddedc22 Fixes #2558: Filter on all tags when multiple are passed 2018-11-12 15:48:58 -05:00
Jeremy Stretch
cbdd0e3678 Expanded the development style guide 2018-11-12 14:36:09 -05:00