176 KiB
176 KiB
1.18.0 (2025-07-03)
feat
- python: upgrade django 5.1.9 -> 5.1.10
Fixes
- itim: Correct config that is in the incorrect format
1.17.1 (2025-06-02)
Fixes
- base: Add python metrics to prometheus exporter
1.17.0 (2025-05-16)
feat
- access: model access.Company feature flag
2025-00008
- access: URL route for model access.Company
- access: Migration for model access.Company
- access: Serializer for model access.Company
- access: New model access.Company
- access: Organization -> Tenant Permission Migration
- docker: Serve a robots.txt file for NO indexing
- access: Organization -> Tenant Permission Migration
- base: Add var
AUTH_USER_MODEL
to settings - core: Add Action comments on ticket change
- core: Remove add, change and delete permissions for model TicketCommentAction from permission selector
- core: Serializer for model TicketCommentAction
- core: Migrations for model TicketCommentAction
- core: New model TicketCommentAction
- core: Setup serializer to meet requirements
- core: Setup model to meet requirements
- api: Add exception logging to ViewSetCommon
- python: Upgrade DRF Spectacular 0.27.2 -> 0.28.0
- python: Upgrade DRF 3.15.2 -> 3.16.0
- core: When processing slash command duration, cater for new ticket models
- api: Add Logging function to Common ViewSet
- access: Add Logging function to Tenancy model
- base: Enable user to customize log file location
- core: Do validate the comment_type field for TicketCommentBase
- itam: Add Feature Flag
2025-00007
ITAMAssetBase - itam: Add endpoint for ITAMAssetBase
- Model tag migration for Asset and IT Asset
- itam: Model tag for ITAsset
- accounting: Model tag for Asset
- accounting: Add app label to kb articles for notes
- accounting: Migrations for notes model for AssetBase
- accounting: Migrations for history model for AssetBase
- accounting: Notes Viewset for AssetBase
- accounting: Notes Serializer for AssetBase
- accounting: Notes model for AssetBase
- accounting: History model for AssetBase
- itam: Serializer for ITAssetBase
- itam: Migrations for ITAssetBase
- itam: Add Model ITAssetBase
- accounting: Viewset for Assets
- accounting: Serializer for model AssetBase
- accounting: Migrations for model AssetBase
- accounting: Add Model AssetBase
Fixes
- api: Dont try to access attribute if not exist in common viewset
- api: Dont try to access attribute if not exist in common viewset
- api: Correct ViewSet Sub-Model lookup
- core: Only take action on ticket comment if view exists
- api: Ensure multi-nested searching for sub-models works
- core: ensure slash command is called on ticket description
- core: Spent slash command is valid for time spent
- core: Correct logic for TicketCommentSolution
- core: Correct logic for TicketCommentBase
- accounting: Ensure correct sub-model check is conducted within model type
- itam: ensure RO field asset_type is set
- itim: Ensure that itam base model is always imported
Refactoring
- human_resources: Update Functional ViewSet to use PyTest for Employee Model
- Access: Update Functional ViewSet to use PyTest for Person Model
- Access: Update Functional ViewSet to use PyTest for Entity Model
- Access: Update Functional ViewSet to use PyTest for Contact Model
- Access: Update Functional Permission to use PyTest for Person Model
- Access: Update Functional Permission to use PyTest for Entity Model
- Access: Update Functional Permission to use PyTest for Contact Model
- Access: Update Functional Serializer to use PyTest for Contact Model
- Access: Update Functional Serializer to use PyTest for Entity Model
- Access: Update Functional Serializer to use PyTest for Person Model
- human_resources: Update Functional Serializer to use PyTest for Employee Model
- human_resources: Update Functional Permissions to use PyTest for Employee Model
- human_resources: Update Functional Metadata to use PyTest for Employee Model
- access: Update Functional Metadata to use PyTest for Person Model
- access: Update Functional Metadata to use PyTest for Entity Model
- access: Update Functional Metadata to use PyTest for Contact Model
- access: Update Model Entity to use PyTest for Model Test Suite
- access: Update Model Contact to use PyTest for Model Test Suite
- access: Update Model Person to use PyTest for Model Test Suite
- human_resources: Update Model Employee to use PyTest for Model Test Suite
- human_resources: Update Model Employee to use PyTest API Fields Render
- access: Update Model Person to use PyTest API Fields Render
- access: Update Model Contact to use PyTest API Fields Render
- access: Update Model Entity to use PyTest API Fields Render
- access: Rename model Organization -> Tenant
- settings: Update all references to
User
to useget_user_model()
- project_management: Update all references to
User
to useget_user_model()
- itam: Update all references to
User
to useget_user_model()
- devops: Update all references to
User
to useget_user_model()
- core: Update all references to
User
to useget_user_model()
- config_management: Update all references to
User
to useget_user_model()
- assistance: Update all references to
User
to useget_user_model()
- app: Update all references to
User
to useget_user_model()
- api: Update all references to
User
to useget_user_model()
- accounting: Update all references to
User
to useget_user_model()
- access: Update all references to
User
to useget_user_model()
- access: when fetching parent object, use the parent_model get function
- api: Limit url pk regex to ensure the value is a number
Tests
- access: Functional ViewSet Test Suite Company model
- access: Functional Serializer Test Suite Company model
- access: Functional Permissions Test Suite Company model
- access: Functional MetaData Test Suite Company model
- access: ViewSet Test Suite Company model
- access: API field render Test Suite Company model
- access: Model Test Suite Company model
- core: Unit viewset Test Cases for TicketCommentAction model
- core: Unit model Test Cases for TicketCommentAction model
- core: Unit API Render Test Cases for TicketCommentAction model
- core: Interim Functional model Test Case TicketCommentAction
- core: Ensure that a ticket milestone comes from the same assigned project
- core: SKIP Tests TicketBase Description Slash command Checks
- core: TicketBase Description Slash command Checks
- core: TicketBase Remaining Serializer Chacks
- core: Partial functional Model Test Suite covering some slash commande for TicketCommentSolution
- core: ensure ticket is un-solved for ticketcomment unit api render fields check
- core: ensure slash command is called on ticket comment
- core: Unit ViewSet Test Suite for TicketCommentSolution
- core: Unit ViewSet Test Suite for TicketCommentBase
- core: Skip Related slash command checks until migrating tickets to new model
- core: Add ability to unit api field rendering test case for second api request if required
- core: Partial Functional Model test cases (Slash Commands) for TicketCommentBase
- core: Functional Model test cases (Slash Commands) for TicketBaseModel
- core: Partial Slash Command re-write
- core: correct field so its valid for unit TicketCommentBase model
- core: Unit API Fields Render for TicketCommentSolution model
- core: Unit API Fields Render for TicketCommentBase model
- core: Unit Model assert save and call are called for TicketBase
- core: Unit Model Checks for TicketCommentSolution
- core: Unit Model Checks for TicketCommentBase
- itam: test meta attribute itam_sub_model_type for ITAMBaseModel
- itam: Dont use constants where variables should be used
- itam: Remaining Unit Model test cases for AssetBase
- accounting: Remaining Unit Model test cases for AssetBase
- itam: Functional ViewSet Test Cases for ITAMAssetBase
- itam: Functional Serializer Test Cases for ITAMAssetBase
- itam: Functional Permissions Test Cases for ITAMAssetBase
- itam: Functional Metadata Test Cases for ITAMAssetBase
- itam: Functional History Test Cases for ITAMAssetBase
- accounting: Functional ViewSet Test Cases for AssetBase
- accounting: Functional Serializer Test Cases for AssetBase
- accounting: Functional Permissions Test Cases for AssetBase
- accounting: Functional Metadata Test Cases for AssetBase
- accounting: History Test Cases for AssetBase
- add missing merge of add_data for api permissions tests
- remove ticket only vars from api permissions tests
- api: dont use constants for variable data
- correct viewset tests
- itam: Unit Viewset checks for AssetBase Model
- core: Add missing fields is_global checks for ticket base
- api: Add submodel url resolution for metadata
- itam: Unit API Fields checks for ITAM AssetBase Model
- accounting: Unit API Fields checks for AssetBase Model
- Support variables that were defined as properties.
- api: Ensure that model notes is added to model create for api field tests
- accounting: Unit Viewset checks for AssetBase Model
- itam: Unit Model checks for ITAMAssetBase Model
- base: update Model base test suite for model_notes field
- accounting: Unit Model checks for AssetBase Model
1.16.0 (2025-05-04)
feat
- core: Add ViewSet for Ticket Comments
- project_management: Depreciate Project Task Ticket Endpoint
- itim: Depreciate Problem Ticket Endpoint
- itim: Depreciate Incident Ticket Endpoint
- itim: Depreciate Change Ticket Endpoint
- assistance: Depreciate Ticket Comment
- assistance: Depreciate Request Ticket Endpoint
- core: Add routes for Ticket Comments
- core: update ticket serializer to use new comment base url
- core: Add permissions
import
,purge
andtriage
to model TicketCommentSolution - core: Add permissions
import
,purge
andtriage
to model TicketCommentBase - core: Filter ticket_comment_model routes to those defined in
Meta.sub_model_type
- core: Filter ticket_model routes to those defined in
Meta.sub_model_type
- access: Filter entity_model routes to thos defined in
Meta.sub_model_type
- core: Serializer for TicketCommentBase
- core: Serializer for TicketCommentSolution
- core: Ticket Comment Get URL functions
- core: Ticket Comment Validation for comment_type
- core: Update choices fields for TicketCommentBase model
- core: init for model TicketCommentSolution
- core: Migrations for choice fields for TicketBase model
- core: Migrations for model TicketCommentSolution
- core: Update choice fields for TicketBase model
- core: New model TicketCommentSolution
- api: when fetching related_object, default to base_model for SubModelViewSet
- Add field
Meta.sub_model_type
to sub-models - core: New interim model TicketCommentSolution
- core: add ticket routes
- itim: serializer for SLMTicketBase
- itim: Serializer for RequestTicket
- itim: migrations for RequestTicket
- itim: New Model RequestTicket
- itim: migration for SLMTicketBase
- itim: New Model SLMTicketBase
- core: migrations for TicketCommentBase
- core: New Model TicketCommentBase
- core: viewset for TicketBase
- core: serializer for TicketBase
- core: migrations for TicketBase
- core: New Model TicketBase
- project_management: add estimation field to project api fields
- human_resources: nav menu entries for Employee
- human_resources: Serializer for Employee
- human_resources: Migration for Employee
- human_resources: New model Employee
- devops: add missing api index menu entry for devops
- access: add missing nav menu entries for entities
- human_resources: add module to perms selector
Fixes
- test: correct typo in attribute parameterized_
- core: Ticktet comment can have empty body
- core: If model does not save history, dont attempt to cache before
- itam: provide return_url as part of software version meta
- itim: correct ticket_slm serializer
- itim: correct ticket_request serializer
- api: SubModelViewSet.related_objects must be the same class as the base model
- access: Ensure related model is a sub-model
- human_resources: Correct history link generation and add docs
- human_resources: Correct history link generation
- access: add missing attribute to Tenancy object
Refactoring
- test: rewrite model unit tests to use PyTest
- test: Update test parameterization
- api: SubModelViewSet must inherit from ModelViewSet as it's an extension
- core: rename ticket model filename in preparation for base ticket model
- access: migrate sub-model viewset logic to common
- project_management: add duration field to project api fields
- human_resources: Move employee details to its own section
Tests
- core: Serializer Validation for ticket status change for TicketBase model
- core: Prevent Closing / Solving of TicketBase Model if not ready
- itim: Incomplete Model Unit Tests for RequestTicket
- itim: Incomplete Model Unit Tests for SLMTicketBase
- core: Incomplete Model Unit Tests for TicketBase
- itim: RequestTicket Updated, yet incomplete Test Suite for Serializer
- itim: SLMTicketBase Updated, yet incomplete Test Suite for Serializer
- core: TicketBase Updated, yet incomplete Test Suite for Serializer
- Correct Test Suite for Serializer for models TicketBase, TicketRequest and TicketSLM
- itim: RequestTicket Initial Test Suite for Serializer
- itim: SLMTicket Initial Test Suite for Serializer
- core: TicketBase Initial Test Suite for Serializer
- core: SLMTicket Test Suite for ViewSet
- core: SLMTicket Test Suite for Metadata
- core: Request Test Suite for ViewSet
- core: Request Test Suite for Metadata
- core: TicketBase Test Suite for ViewSet
- core: TicketBase Test Suite for Metadata
- api: update test cases for SubModelViewSet Base Test Class
- itim: RequestTicket ViewSet Test Suite
- core: TicketBase ViewSet Test Suite
- api: Incomplete SubModelViewSet Test Cases
- api: SubModelViewSet Test Suite Setup
- correct tests from Meta.sub_model_type changes
- correct serializer imports from recent file renames
- Fixture for creating model with random data
- itim: API Field checks for TicketSLMBase
- itim: API Field checks for TicketRequest
- core: API fields Tests for TicketBase
- core: API fields Unit Test Suite
- core: Correct model notes test suite
- core: API Permission Test Cases for ticket_base model
- api: add API Permission Test Cases
- access: Correct history link test cases
- project_management: Add test cases for api field render for model fields
estimation_project
andduration_project
- human_resources: History Serializer and ViewSet Functional test suites for employee
- human_resources: APIv2, History, Model and ViewSet Unit test suites for employee
- Migrate models to use refactored model tests
- Consolidate All model tests to remove duplicates and to simplify
1.15.1 (2025-04-10)
Fixes
- python: Downgrade django 5.2 -> 5.1.8
1.15.0 (2025-04-10)
feat
- settings: Move Ticket Comment Category from settings to ITOps menu
- settings: Move Ticket Category from settings to ITOps menu
- access: place roles nav behind feature flag 2025-00003
- access: place directory nav behind feature flag 2025-00002
- accounting: add new module
- access: Ensure that the same person cant be created more than once
- access: Place Roles Model behind feature flag
2025-00003
- access: When querying permissions, select related field
content_type
- core: Model tag for Access/Role
- access: Model Role notes endpoint
- access: Add navigation entry for roles
- access: Model Role History migrations
- access: Add model Role History
- access: Role Notes model viewset
- access: Role Notes model serializer
- access: Model Role Notes migrations
- access: Add model Role Notes
- access: Role model viewset
- access: Role model serializer
- access: Model Role migrations
- access: Add model Role
- python: Upgrade Django 5.1.7 -> 5.2
- access: Place Entity URLs behind feature flag
2025-00002
- access: Add detail page layout for contact model
- access: Add Menu entry for corporate directory
- access: Add back_url to Entity metadata
- core: Add Entity model tag
- access: Update Entity field
entity_type
if it does not match the entity type - access: All Entity models to use the entity history endpoint
- access: Enable specifying the history model to use for audit history for a model
- access: Enable specifying the kb model to use for linking kb article to a model
- access: All Entity models to use the entity notes endpoint
- access: Enable specifying the notes
basename
for a model - access: ViewSet for Entity Notes model
- access: Serializer for Entity Notes model
- access: new model Entity Notes
- access: New model Entity History
- access: Add Entity URL routes
- access: new serializer Contact
- access: new model Contact
- access: new serializer Person
- access: new model Person
- access: new ViewSet for for Entity and sub-entities
- access: new serializer Entity
- access: new model Entity
- human_resources: Add navigation menu entry for Human Resources (HR)
- human_resources: Add module Human Resources (HR) to API Urls
- base: Add module Human Resources (HR) to installed apps
- Add module Human Resources (HR)
Fixes
- api: Correct documentation link to use models verbose name
- feature_flag: cater for settings flag overrides
- access: Add missing field directory to contact model
- settings: Add Application Settings to Admin page
- access: Remove app_namespace from Entity
- access: add missing tenancy object fields to non-tenancy object models
- core: Dont attempt to fetch history related objects if no history exists
- api: Dont attempt to access kwargs if not exists within common serializer
Refactoring
- core: When saving history, ensure field
_prefetched_objects_cache
is not included
Tests
- settings: Correct nav menu entry for Ticket Category and Ticket Comment Category
- access: Ensure Model Contacts inherits from Person Model
- access: Functional Test Suite for Contact API Metadata, API Permissions and ViewSet
- access: Functional Test Suite for Contact serializer
- access: Functional Test Suite for Contact history
- access: Correct Entity and person functional Test Suite so sub-model testing works
- access: Correct table_fields test case to cater for dynamic field
- access: Unit Test for Contact ViewSet
- access: Unit Test for Contact model
- access: Unit Test for Contact history API field checks
- access: Unit Test for Contact API field checks
- access: Unit Test for Person Tenancy Object
- access: Correct Entity and person unit Test Suite so sub-model testing works
- access: Entity Function Serializer test cases
- access: Person Model field test cases
- access: Functional Test for Person ViewSet, Permissions and Metadata
- access: Functional Test for Person History
- access: Correct Entity Function Test Suite so sub-model testing works
- access: Unit Test for Person ViewSet
- access: Unit Test for Person Model
- access: Unit Test for Person History API fields
- access: Unit Test for Person API fields
- access: Unit Test for Person Tenancy Object
- access: Correct Entity Test Suite so sub-model testing works
- app: exclude any field check that ends in
_ptr_id
- access: Remove teardown from Function Test cases for Role serializer
- access: Test cases for Role serializer
- access: Function Test cases for Role SPI Permissions, ViewSet and Metadata
- access: Function Test cases for Role History
- access: Unit Test case to ensure Role is by organization
- access: Unit Test case to ensure Role cant be set as global object
- access: Unit Test cases for Role ViewSet
- access: Unit Test cases for Role model
- access: Unit Test cases for Role History API v2
- access: Unit Test cases for Role API v2
- access: Unit Test cases for Role Tenancy Object
- During testing add debug_feature_flags so object behind can be tested
- access: Notes ViewSet Functional Tests for Entity Model
- access: Notes API Field Functional Tests for Entity Model
- access: Correct functional ViewSet test suite for Entity model
- access: History functional Tests for Entity model
- access: PermissionsAPI, ViewSet and Metadata Tests for Entity model
- access: Model test cases for Entity
- access: API Rendering test cases for Entity model
- api: Ensure that when mocking the request the viewset is instantiated
- access: History tests for Entity model
- access: ViewSet tests for Entity model
- access: Tenancy object test for Entity model
1.14.0 (2025-03-29)
feat
- itops: Add navigation menu
- New Module ITOps
- devops: Ensure GitHub Groups can't be nested
- devops: Models Git Repository must use organization from
git_group
as must group if parent set - devops: Add git provider badge to git_group table fields
- devops: Add git provider badge to git_repository table fields
- devops: Add Git GRoup to navigation
- itam: Add
back_url
to Software Version ViewSet - itam: Add
back_url
to Operating System ViewSet - devops: Add
page_layout
to Git Group model - devops: Add
page_layout
to GitLab repository model - devops: Add
page_layout
to GitHub repository model - devops: git_repository ViewSet updated to fetch queryset based off of repository provider
- devops: Add ti git_repository ViewSet return and back urls
- devops: Make fields
provider
andprovider_id
unique_together for git_repository model - devops: Add fields to ALL git_repository serializers
- devops: Add fetching of URL to base git_repository model
- api: Enable fetching of app_namespace from model
- access: Add function get_page_layout
- feature_flag: Provide user with ability to override feature flags
- base: Add middleware feature_flag
- devops: Disable notes for GIT Repository Base Model
- devops: Add git_repository model tag migration
- devops: Add git_repository as a model that can be linked to a ticket
- devops: Git Group Notes Migration
- devops: Git Group Notes ViewSet
- devops: Git Group Notes Serializer
- devops: Git Group Notes Model
- devops: GitHub and GitLab Repository Notes Migrations
- devops: GitLab Repository Notes Viewset
- devops: GitHub Repository Notes Viewset
- devops: GitLab Repository Notes Serializer
- devops: GitHub Repository Notes Serializer
- devops: GitLab Repository Notes Model
- devops: GitHub Repository Notes Model
- devops: Git Group History Migrations
- devops: Git Group History
- devops: GitLab and GitHub Repository History Migrations
- devops: GitLab Repository History
- devops: GitHub Repository History
- devops: [2025-00001] Git Group and Repositories URLs
- devops: Git Group and Repositories Migrations
- devops: GIT Group ViewSet
- devops: GIT Group Serializer
- devops: GIT Group Model
- devops: GIT Repositories Viewset
- devops: GitLab Serializer for git repositories
- devops: GitHub Serializer for git repositories
- devops: Base Serializer for git repositories
- devops: GitLab Repository Model
- devops: GitHub Repository Model
- devops: Base model for git repositories
- core: Enable slash command related ticket to have multiple ticket references
- core: Enable slash command linked model to have multiple models
- core: process ticket slash commands by line
- core: Migrations for new slash commands
- project_management: Add project_state slash command
- core: Add ticket_comment_category slash command
- core: Add ticket_category slash command
- itam: when displaying software version, add prefix with software name
- itam: Add markdown tag $software_version
- itam: Enable ticket tab on software version page
Fixes
- devops: Correct git_group serializer parameter name
- devops: Correct field path to no be unique for git_repository
- feature_flag: if over_rides not set ensure val set to empty dict
- devops: git_group serializers must define fields
- devops: git_group serializers must return urls
- devops: Correct git_repository notes urls
- devops: Correct git_repository url regex
- devops: Correct ViewSerializer for GitLab Repository
- devops: Correct ViewSerializer for GitHib Repository
- devops: Correct model git_group modified field name part 2
- devops: Correct model git_group modified field name
- api: Fetching of serializer_class must be dynamic
- core: Don't create an empty ticket comment if the body is empty when slash commands removed
- core: when processing slash commands trim each line prior to processing
- core: slash command NL char is
\r\n
not\n
, however support both - core: When processing slash commands trim whitespace on return
- core: Ensure linked ticket models are unique
- itam: Add back url to software_version model
Refactoring
- devops: remove model unique_together constraint for git group and repository
- devops: Field
provider_id
must not be user editable for git group or repository - api: mv _nav property to function get_nav_items
Tests
- api: Correct test cases for view_name and view_description
- Refactor all ViewSet Unit Test cases to use new test cases class
- api: Common ViewSet classes Tests and Test cases for classes that inherit them
- api: correct nav menu setup to use mock request
- core: un-mark tests as skipped so that multiple linked items per ticket can be tested
- core: correct ticket linked item to prevent duplicate creation
1.13.1 (2025-03-17)
Fixes
- devops: After fetching feature flags dont attempt to access results unless status=200
- docker: only download feature flags when not a worker
- devops: Use correct stderr function when using feature_flag management command
- devops: Cater for connection timeout when fetching feature flags
- when building feature flag version, use first 8 chars of build hash
Refactoring
- docker: Use crontabs not cron.d
1.13.0 (2025-03-16)
feat
- devops: Add ability for user to turn off feature flagging check-in
- devops: When displaying the feature_flag deployments, limit to last 24-hours
- devops: During feature flag
Checkin
derive the version from the last field of the user-agent - devops: Add missing column to model
Checkin
- devops: Remove model
Checkin
permissions from permissions selector - devops: Display the days total unique check-ins for feature flags within software feature flagging tab
- devops: Record to check-in table every time feature flags are obtained
- devops: Migrations for model
CheckIns
- devops: New model
CheckIns
- Generate a deployment unique ID
- devops: Provide user with option to disable downloading feature flags
- devops: Feature Flagging url.path wrapper
- docker: Configure cron to download feature flags every four hours
- docker: Start and run crond within container
- docker: Download feature flags on container start
- devops: Feature Flagging DRF Router wrapper
- devops: Feature Flagging middleware
- devops: Feature Flagging management command
- devops: Add Feature Flagging lib
- devops: add temp application for feature flag client
- devops: public feature flag endpoint pagination limited to 20 results
- devops: Add support for
if-modified-since
header for Feature Flags public endpoint - api: Add public API feature flag index endpoint
- api: Add public API endpoint
- devops: Add feature flag public ViewSet
- devops: Add feature flag public serializer
- api: Add common viewset for public RO list
- Remove serializer caching from ALL viewsets
- devops: Add delete col to software enabled feature flags
- devops: Prevent deletion of software when it has feature flagging enabled and/or feature flags
- devops: limit feature_flag to organizations that's had feature flags enabled
- devops: limit feature_flag to software that's had feature flags enabled
- python: Update Django 5.1.5 -> 5.1.7
- devops: Serializer limiting of software and os disabled for time being
- devops: Serializer validate software and org
- devops: Serializer software filter to enabled feature_flag software
- devops: Serializer org filter to enabled feature_flag organizations
- devops: Add endpoint for enabling software for feature flagging
- devops: Add serializer for enabling software for feature flagging
- devops: Add model for enabling software for feature flagging
- devops: Add model tag feature_flag to ticket linked item
- devops: Add KB tab to feature flag model
- devops: Add Notes to feature flag model
- core: Migration for feature_flag model reference
- core: url endpoints added for ticket comment category and ticket category notes
- itam: disable model notes for model device os
- api: disable model notes for model auth token
- core: disable model notes for model teamuser
- core: disable model notes for model notes
- core: Migrations for adding notes to ticket category and ticket comment category
- core: Add Feature Flag model reference
- devops: Add devops module to installed applications
- devops: Add Feature Flag viewset
- devops: Add Feature Flag serializer
- devops: Add devops Navigation menu
- devops: Add devops module URL includes
- devops: Add devops to permissions
- devops: DB Migrations for Feature Flag and History model
- devops: Add Feature Flag History model
- devops: Add Feature Flag model
- access: add support for nested application namespaces
- devops: Add devops module
Fixes
- devops: Only track checkin if no other error occured
- devops: during feature flag checkin, if no
client-id
provided, use valuenot-provided
- devops: When init the feature flag clients, look for all args within settings
- devops: Only add
Last-Modified
header to response if exists - devops: Correct logic for data changed check for public endpoint for feature flagging
- devops: feature flag public ViewSet serializer name correction and qs cache correction
- devops: feature flag public endpoint field modified name typo
- devops: Filter public feature flag endpoint to org and software where software is enabled
- devops: Move software field filter for feature flag to the serializer
- devops: Dont attempt to validate feature flag software or organization if it is absent
- devops: Correct feature flagging validation for enabled software and enabled orgs
- devops: dont cache serializer for featureflag
- devops: Correct Feature Flag serializer validation to cater for edit
- devops: Feature Flag field is mandatory
- api: make history url dynamic. only display if history should save
- devops: if software is deleted delete feature flags
- core: disable of notes for models not requiring it
- api: when generating notes url, use correct object
- api: Add missing import for featurenotused
- core: Add ability to add notes for ticket comment category
- core: Add ability to add notes for ticket category
- core: Serializer
_urls.notes
URL generation now dynamic - api: Dont attempt to access model.get_app_namespace if it doesnt exist
Tests
- devops: Feature Flag History API render checks
- devops: Feature Flag Serializer checks
- devops: CheckIn Entry created of fetching feature flags
- devops: CheckIn model test cases
- devops: public feature flag fields corrections
- devops: public feature flag functional ViewSet checks
- devops: feature flag ViewSet checks
- api: Update vieset test cases to cater for mockrequest to contain headers attribute
- devops: feature flag public endpoint API field, header checks
- devops: Ensure that only enabled org and enabled software is possible
- devops: software_feature_flag_enable ViewSet checks
- devops: software_feature_flag_enable Serializer checks
- devops: Update feature flag test case setup to enable feature flag for testing software
- devops: Update feature flag test case setup to enable feature flag for testing software
- api: Remove serializer cache test cases
- devops: software_feature_flag_enable api field checks
- devops: software_feature_flag_enable viewset checks
- devops: software_feature_flag_enable model checks
- devops: software_feature_flag_enable tenancy object checks
- devops: correct dir name for tests
- devops: Notes feature flag model checks
- core: Ticket Comment Category Notes checks
- core: Ticket Category Notes checks
- app: Model test cases for api field rendering
_urls.notes
- app: Model test cases for get_url_kwargs_notes function
- access: Correct Team notes url route name
- devops: Feature Flag viewset unit Checks
- devops: Feature Flag model Checks
- devops: Feature Flag api Checks
- devops: Feature Flag tenancy object Checks
- devops: Feature Flag viewset functional Checks
- devops: Feature Flag serializer Checks
- devops: Feature Flag History Checks
1.12.0 (2025-03-01)
feat
- api: Add delete column to AuthToken Table
- docker: Upgrade system packages on build
- api: AuthToken requires viewset get_back_url
- api: Add auth token api endpoint
- settings: Add section title to auth tokens
- settings: Add tokens url to user settings
_urls
- api: Update Auth Token model for use with serializer
- api: Add user Auth Token viewset
- api: Add user Auth Token serializer
- settings: Add
page_layout
attribute to User Settings
Fixes
- api: correct usage of
AuthToken.generate
to a property
Tests
- api: AuthToken ViewSet checks (unit)
- api: AuthToken API Field checks
- api: AuthToken Serializer checks
- api: AuthToken ViewSet checks
1.11.0 (2025-02-21)
feat
- core: Enable App settings History to save without specifying an organization
- settings: save_history method added to App Settings
- settings: History Model for App Settings Version added
- core: Migration for history data to new history tables
- access: save_history method added to Team
- access: History Model for Team added
- access: save_history method added to Organization
- access: History Model for Organization added
- core: add org field History Model api rendering
- core: Show the model name within history
- project_management: Project Milestone added to modelhistory.child_history_models
- settings: History Model migrations for External Link
- settings: save_history method added to External Link
- settings: History Model for External Link added
- project_management: History Model migrations for Project Type
- project_management: save_history method added to Project Type
- project_management: History Model for Project TYpe added
- project_management: History Model migrations for Project State
- project_management: save_history method added to Project State
- project_management: History Model for Project State added
- project_management: History Model migrations for Project Milestone
- project_management: save_history method added to Project Milestonr
- project_management: History Model for Project Milestone added
- project_management: History Model migrations for Project
- project_management: save_history method added to Project
- project_management: History Model for Project added
- itim: History Model migrations for Service
- itim: save_history method added to Service
- itim: History Model for Service added
- itim: History Model migrations for Port
- itim: save_history method added to Port
- itim: History Model for Port added
- itim: History Model migrations for Cluster Type
- itim: save_history method added to Cluster TYpe
- itim: History Model for Cluster Type added
- itim: History Model migrations for Cluster
- itim: save_history method added to Cluster
- itim: History Model for Cluster added
- itam: History Model migrations for Software Version
- itam: save_history method added to Software Version
- itam: History Model for Software Version added
- itam: History Model migrations for Software Category
- itam: save_history method added to Software Category
- itam: History Model for Software Category added
- itam: History Model migrations for Software
- itam: save_history method added to Software
- itam: History Model for Software added
- itam: History Model migrations for Operating System Version
- itam: save_history method added to Operating System Version
- itam: History Model for Operating System Version added
- itam: History Model migrations for Device Type
- itam: save_history method added to Device Type
- itam: History Model for Device Type added
- itam: History Model migrations for Device Operating System
- itam: save_history method added to Device Operating System
- itam: History Model for Device Operating System added
- itam: History Model migrations for Operating System
- itam: save_history method added to Operating System
- itam: History Model migrations for Operating System
- itam: History Model migrations for Device Software
- itam: History Model for Device Software added
- itam: save_history method added to Device
- itam: History Model migrations for Device Model
- itam: save_history method added to Device Model
- itam: History Model for Device Model added
- core: History Model migrations for Ticket Comment Category
- core: save_history method added to Ticket Comment Category
- core: History Model for Ticket Comment Category added
- config_management: Child History Models added to child model lists for config group hosts and software
- core: History Model migrations for Ticket Category
- core: save_history method added to Ticket Category
- core: History Model for Ticket Category added
- core: History Model migrations for Manufacturer
- core: save_history method added to Manufacturer
- core: History Model for Manufacturer added
- config_management: save_history method added to Config Group Software
- config_management: save_history method added to Config Group Hosts
- config_management: save_history method added to Config Groups
- assistance: save_history method added to Knowledge base
- assistance: save_history method added to Knowledge base category
- config_management: History Model migrations for Config Groupse + children
- config_management: History Model for Config Group Software added
- config_management: History Model for Config Group Hosts added
- config_management: History Model for Config Groups added
- assistance: History Model migrations for Knowledge base + children
- assistance: History Model for Knowledge base category added
- assistance: History Model for Knowledge base added
- itam: Add device history model
- core: History view to only display objects from the model being requested
- core: Add new history model to History Serializer
- core: Add new history model
- development: lint for un-used imports
- development: add pylit settings
- core: added new history model
- api: Device Software Viewset requires its own function to obtain the model view serializer
- api: Ticket Comment Viewset requires its own function to obtain the model view serializer
- api: Ticket Viewset requires its own function to obtain the model view serializer
- api: Always use a models
View
serializer for the response - core: Add logic to ensure when organization changes, an action comment is created
- core: Add logic to ensure when parnet ticket changes, an action comment is created
Fixes
- settings: App settings serializer fielad name does not exist
- access: dont use organization property within organization model
- project_management: Project milestone is not a child model
- core: Child models on delete must make model field null
- project_management: Project Milestone History is a primaryu model
- core: When a child model is deleted ensure entry is still created on parent model history
- core: when fetching url_kwargs for model history, make it dynamic for related field name
- core: Xorrect logic for determining view_action
- core: dynamically search for history object name
- config_management: Remove parent property from config groups
- tests: Correct Permission Import due to removing from access.models
- project_management: project Model serializer must inherit common serializer
- core: History audit objects must be a valid dict
- api: history app names can contain an underscore
- core: when saving history, use audit_model for content type
- core: add missing functions for fetching item url
- project_management: Opened by field set to read only for project task ticket
- itim: Opened by field set to read only for problem ticket
- itim: Opened by field set to read only for incident ticket
- itim: Opened by field set to read only for change ticket
- assistance: Opened by field set to read only for request ticket
- core: Ensure that if the parent ticket changes, that the logic caters for none
- assistance: Category can be empty for Project Task Ticket
- assistance: Category can be empty for Problem Ticket
- assistance: Category can be empty for Incident Ticket
- assistance: Category can be empty for Change Ticket
- assistance: Category can be empty for Request Ticket
- core: Ticket Action comment for category change must use category field
Refactoring
- core: Update access imports to new path
- core: Update access imports to new path
- Update migrations imports to new path
- config_management: Update access imports to new path
- api: Update access imports to neew path
- settings: Update access imports to new path
- project_management: Update access imports to new path
- itim: Update access imports to new path
- itam: Update access imports to new path
- core: Update access imports to new path
- config_management: Update access imports to new path
- assistance: Update access imports to new path
- base: Update access imports to new path
- api: Update access imports to neew path
- access: Update access imports to neew path
- access: Move models to their own file
- core: move get_url to common serializer
- api: Update history url kwargs to use vals from model._meta
- core: superuser changed from import to triage access
- core: Ticket action comment logic only requires a single check
Tests
- settings: History Entry checks for App Settings History
- settings: API Field Checks for App Settings History
- Model History not to save history on self
- core: Correct lookup for model history test setup
- access: remove test cases for Team prarent_object
- access: History Entry checks for Team model
- access: API Field Checks for Team History
- access: History Entry checks for Organization model
- access: API Field Checks for Organization History
- Fix History API checks for kb
- Fix History API checks for project milestone
- Fix History Entry checks for models
- config_management: History Entry checks for Config_group_hosts model
- settings: History Entry checks for External Link model
- project_management: History Entry checks for Project Type model
- project_management: History Entry checks for Project State model
- project_management: History Entry checks for Project Milestone model
- project_management: History Entry checks for Project model
- itim: History Entry checks for Service model
- itim: History Entry checks for Cluster Type model
- itim: History Entry checks for Port model
- itim: History Entry checks for Cluster model
- itam: History Entry checks for Software Version model
- itam: History Entry checks for Software Category model
- itam: History Entry checks for Software model
- itam: History Entry checks for Operating System Version model
- itam: History Entry checks for Operating System model
- itam: History Entry checks for Device Type model
- itam: History Entry checks for Device OS model
- itam: History Entry checks for Device Model model
- itam: History Entry checks for Device model
- core: History Entry checks for Ticket Comment Category model
- core: History Entry checks forTicket Category model
- config_management: History Entry checks for Config Groups Software model
- config_management: History Entry checks for Config Groups model
- assistance: History Entry checks for Knowledge base category model
- assistance: History Entry checks for Knowledge base model
- itam: Device Software History Entry checks
- core: Manufacturer History Entry checks
- core: Model History Entries Test Suite
- core: History Model Unit test cases for model and tenancy checks
- settings: API Field Checks for External Links History
- project_management: API Field Checks for Project Type History
- project_management: API Field Checks for Project State History
- project_management: API Field Checks for Project Milestone History
- project_management: API Field Checks for Project History
- itim: API Field Checks for Service History
- itim: API Field Checks for Port History
- itim: API Field Checks for Cluster Type History
- itim: API Field Checks for Cluster History
- core: API Field Checks for Ticket Comment Category History
- core: API Field Checks for Ticket Category History
- config_management: API Field Checks for Config Group Software History
- config_management: API Field Checks for Config Group Hosts History
- config_management: API Field Checks for Config Group History
- assistance: API Field Checks for Knowledge base category History
- assistance: API Field Checks for Knowledge base History
- itam: API Field Checks for Software Version History
- itam: API Field Checks for Software Category History
- itam: API Field Checks for Software History
- itam: API Field Checks for Operating System Version History
- itam: API Field Checks for Operating System History
- itam: API Field Checks for Device Type History
- itam: API Field Checks for Device OS History
- itam: API Field Checks for Device Model History
- itam: API Field Checks for Device History
- core: Unit Test Suite for History Model API field checks urls can either be str or hyperlink
- itam: API Field Checks for Device Software History
- core: API Field Checks for Manufacturer History
- core: API Field Checks for Model History
- core: Unit Test Suite for History Model API field checks
- core: Functional Test for History Model APIPermission updated to cater for tenancy obj
- core: Functional Test for History Model API Permissions and Metadata
- core: Unit Test for History Model Viewset
- itam: remove test cases for os version model.parent_object as it's not required
- core: disable hisotry viewset function test
- core: correct kwargs for history tests
- core: Remove old history model viewset tests
- Disable Old History Model test suites
- core: Ensure that when parent_ticket changes on a ticket an action comment is created
- core: Confirm on category change to ticket that an action comment is created
1.10.1 (2025-02-14)
Fixes
- python: Dont use system TimeZone data, use python zoneinfo module zone data
1.10.0 (2025-02-10)
feat
- settings: Provide user with the ability to set browser mode
- core: Parent Ticket validation added to ticket serializer
- core: Add to ticket endpoint the ability to filter using
parent_ticket
- core: Add to ticket model a function for circular dependecy check of parent ticket
- core: Migrate Notes data to new table
- project_management: Add notes tab to Project Milestone details page
- itam: Add notes tab to Software Version details page
- itam: Add notes tab to Operating System details page
- core: Ensure when editing a model note, the modified user is updated.
- assistance: Knowledge Base Category Notes viewset
- assistance: Knowledge Base Category Notes Serializer
- assistance: Knowledge Base Category Notes Model
- project_management: Project Type Notes ViewSet
- project_management: Project Type Notes Serializer
- project_management: Project Type Notes Model
- project_management: Project State Notes ViewSet
- project_management: Project State Notes Serializer
- project_management: Project State Notes Model
- project_management: Project Milestone Notes ViewSet
- project_management: Project Milestone Notes Serializer
- project_management: Project Milestone Notes Model
- itam: Software Version Notes ViewSet
- itam: Software Version Notes Serializer
- itam: Software Version Notes Model
- itam: Software Category Notes ViewSet
- itam: Software Category Notes Serializer
- itam: Software Category Notes Model
- itam: Operating System Version Notes ViewSet
- itam: Operating System Version Notes Serializer
- itam: Operating System Version Notes Model
- settings: External Link Notes ViewSet
- settings: External Link Notes Serializer
- settings: External Link Notes Model
- itam: Device Model Notes ViewSet
- itam: Device Model Notes Serializer
- itam: Device Model Notes Model
- itam: Device Type Notes ViewSet
- itam: Device Type Notes Serializer
- itam: Device Type Notes Model
- core: Create an action comment on a ticket when the category changes
- itim: Porte Notes ViewSet
- itim: Porte Notes Serializer
- itim: Porte Notes Model
- itim: Cluster Type Notes ViewSet
- itim: Cluster Type Notes Serializer
- itim: Cluster Type Notes Model
- project_management: Project Notes ViewSet
- project_management: Project Notes Serializer
- project_management: Project Notes Model
- itim: Service Notes ViewSet
- itim: Service Notes Serializer
- itim: Service Notes Model
- itim: Cluster Notes ViewSet
- itim: Cluster Notes Serializer
- itim: Cluster Notes Model
- itam: Software Notes ViewSet
- itam: Software Notes Serilaizer
- itam: Software Notes Model
- itam: Operating System Notes ViewSet
- itam: Operating System Notes Serializer
- itam: Operating System Notes Model
- core: Manufacturer Notes viewset
- core: Manufacturer Notes serializer
- core: Manufacturer Notes Model
- config_management: Config Group Notes ViewSet
- config_management: Config Group Notes Serializer
- config_management: Config Group Notes Model
- assistance: Knowledge Base Notes ViewSet
- assistance: Knowledge Base Notes Serializer
- assistance: Knowledge Base Notes Model
- access: Team Notes ViewSet
- access: Team Notes Serializer
- access: Team Notes Model
- access: Organization Notes ViewSet
- access: Organization Notes Serializer
- access: Organization Notes Model
- itam: Device Notes ViewSet
- itam: Device Notes Serializer
- itam: Device Notes Model
- core: Base viewset for model notes
- core: Base serializer for model notes
- core: Base model for model notes
- core: Add failsafe to throw an exception if no action comment will be created
- core: Add field parent_ticket to base ticket view serializer
- project_management: Add field parent_ticket to project task ticket view serializer
- itim: Add field parent_ticket to problem ticket view serializer
- itim: Add field parent_ticket to incident ticket view serializer
- itim: Add field parent_ticket to change ticket view serializer
- assistance: Add field parent_ticket to request ticket view serializer
- core: Add field parent to ticket model
Fixes
- core: Dont attempt to access parent_ticket field during ticket validation if it does not exist
- core: Permissions require the parent model for model notes
- access: field organization requires team related_model for org
- core: Use generic APIError for ticket save when no action comment will be created
Refactoring
- Squash migrations so there is less of them for model notes
- access: Dont add releationship from tenancyObject.organization to organization model
Tests
- settings: Test User Settings API render to ensure browser_model exists and is the correct type
- settings: Test User Settings model to ensure
browser_mode
field exists - access: Team Note Model Check object requires org
- settings: External Links Note Model Checks
- project_management: Project Type Note Model Checks
- project_management: Project State Note Model Checks
- project_management: Project Note Model Checks
- project_management: Project Milestone Note Model Checks
- itim: Service Note Model Checks
- itim: Port Note Model Checks
- itim: Cluster Type Note Model Checks
- itim: Cluster Note Model Checks
- itam: Software Version Note Model Checks
- itam: Software Note Model Checks
- itam: Software Category Note Model Checks
- itam: Operating System Version Note Model Checks
- itam: Operating System Note Model Checks
- itam: Device Type Note Model Checks
- itam: Device Note Model Checks
- itam: Device Model Note Model Checks
- core: Manufacturer Note Model Checks
- config_management: Config Group Note Model Checks
- assistance: KB Note Model Checks
- assistance: KB Category Note Model Checks
- access: Team Note Model Checks
- access: Organization Note Model Checks
- core: Model Notes Test Suite
- settings: Serializer Checks for External Links Notes
- Project_management: Serializer Checks for Project Type Notes
- Project_management: Serializer Checks for Project State Notes
- Project_management: Serializer Checks for Project Notes
- Project_management: Serializer Checks for Project Milestone Notes
- itim: Serializer Checks for Service Notes
- itim: Serializer Checks for Port Notes
- itim: Serializer Checks for Cluster Type Notes
- itim: Serializer Checks for Cluster Notes
- itam: Serializer Checks for Software Version Notes
- itam: Serializer Checks for Software Notes
- itam: Serializer Checks for Software Category Notes
- itam: Serializer Checks for Operating System Version Notes
- itam: Serializer Checks for Operating System Notes
- itam: Serializer Checks for Device Type Notes
- itam: Serializer Checks for Device Notes
- itam: Serializer Checks for Device Model Notes
- core: Serializer Checks for Manufacturer Notes
- config_management: Serializer Checks for Config Groups Notes
- assistance: Serializer Checks for KB Notes
- assistance: Serializer Checks for KB Category Notes
- access: Serializer Checks for Team Notes
- access: Serializer Checks for Organization Notes
- core: Test Suite for Model Notes checks
- api: API Fileds user to be super user for tests to run
- settings: External Links Notes Function Viewset Tests
- project_management: Project Type Notes Function Viewset Tests
- project_management: Project State Notes Function Viewset Tests
- project_management: Project Notes Function Viewset Tests
- project_management: Project Milestone Notes Function Viewset Tests
- itim: Service Notes Function Viewset Tests
- itim: Port Notes Function Viewset Tests
- itim: Cluster Types Notes Function Viewset Tests
- itim: Cluster Notes Function Viewset Tests
- itam: Software Version Notes Function Viewset Tests
- itam: Software Notes Function Viewset Tests
- itam: Software Category Notes Function Viewset Tests
- itam: Operating System Version Notes Function Viewset Tests
- itam: Operating System Notes Function Viewset Tests
- itam: Device Type Notes Function Viewset Tests
- itam: Device Notes Function Viewset Tests
- itam: Device Model Notes Function Viewset Tests
- core: Manufacturer Notes Function Viewset Tests
- config_management: Config Groups Notes Function Viewset Tests
- assistance: Knowledge Base Notes Function Viewset Tests
- assistance: Knowledge Base Category Notes Function Viewset Tests
- access: Team Notes Function Viewset Tests
- access: Organization Notes Function Viewset Tests
- core: Model Notes Test Cases
- Remove old notes model tests
- settings: External Notes Test Cases for ViewSet
- project_management: Project Type Notes Test Cases for ViewSet
- project_management: Project State Notes Test Cases for ViewSet
- project_management: Project Notes Test Cases for ViewSet
- project_management: Project Milestone Notes Test Cases for ViewSet
- itim: Service Notes Test Cases for ViewSet
- itim: Port Notes Test Cases for ViewSet
- itim: Cluster Type Notes Test Cases for ViewSet
- itim: Cluster Notes Test Cases for ViewSet
- itam: Software Version Notes Test Cases for ViewSet
- itam: Software Notes Test Cases for ViewSet
- itam: Software Category Notes Test Cases for ViewSet
- itam: Operating System Version Notes Test Cases for ViewSet
- itam: Operating_system Notes Test Cases for ViewSet
- itam: Device Type Notes Test Cases for ViewSet
- itam: Device Notes Test Cases for ViewSet
- itam: Device Model Notes Test Cases for ViewSet
- core: Manufacturer Notes Test Cases for ViewSet
- config_management: Config Groups Notes Test Cases for ViewSet
- assistance: Knowledge Base Notes Test Cases for ViewSet
- assistance: Knowledge Base Category Notes Test Cases for ViewSet
- access: Team Notes Test Cases for ViewSet
- access: Organization Notes Test Cases for ViewSet
- project_management: Correct kwargs for Project Milestone Notes Test Cases for API Field Checks
- assistance: Knowledge Base Category Notes Test Cases for API Field Checks
- Settings: External Link Notes Test Cases for API Field Checks
- project_management: Project Type Notes Test Cases for API Field Checks
- project_management: Project State Notes Test Cases for API Field Checks
- project_management: Project Notes Test Cases for API Field Checks
- project_management: Project Milestone Notes Test Cases for API Field Checks
- itim: Service Notes Test Cases for API Field Checks
- itim: Port Notes Test Cases for API Field Checks
- itim: Cluster Types Notes Test Cases for API Field Checks
- itim: Cluster Notes Test Cases for API Field Checks
- itam: Software Version Notes Test Cases for API Field Checks
- itam: Software Notes Test Cases for API Field Checks
- itam: Software Category Notes Test Cases for API Field Checks
- itam: Device Type Notes Test Cases for API Field Checks
- itam: Device Notes Test Cases for API Field Checks
- itam: Device Model Notes Test Cases for API Field Checks
- itam: Operating System Test Cases for API Field Checks
- itam: Operating System Version Test Cases for API Field Checks
- core: Manufacturer Test Cases for API Field Checks
- config_management: Config Group Test Cases for API Field Checks
- assistance: KB Test Cases for API Field Checks
- access: Team Test Cases for API Field Checks
- access: Organization Test Cases for API Field Checks
- core: Model Notes Base Test Cases for API Field Checks
- remove old notes model tests
- Update url_name to match new notes endpoint
- config_Management: Update url_name to match new notes endpoint
- core: Remove notes test cases for previous notes model
1.9.0 (2025-02-06)
feat
- core: Validate user field to ensure ticket comments always have user who added comment
- core: Cache ticket linked item queryset
- Views to cache discovered serializer
- core: When changing ticket description create an action comment with the details
- core: When changing a ticket real finish date create an action comment with the details
- core: When changing a ticket real start date create an action comment with the details
- core: When changing a ticket planned finish date create an action comment with the details
- core: When changing a ticket planned start date create an action comment with the details
- core: When changing a ticket milestone create an action comment with the changed details
- core: Add Priority badge field to ALL ticket types
- core: Add Impact badge field to ALL ticket types
- core: Add urgency badge field to ALL ticket types
Fixes
- project_management: Add missing attribute
view_description
to project tasks viewset - settings: Add missing attribute
view_description
to user settings viewset - settings: Add missing attribute
view_description
to app settings viewset - itim: Add missing attribuite to problem ticket viewset
- itim: Add missing attribuite to incident ticket viewset
- itim: Add missing attribuite to change ticket viewset
- itimm: correct truthy check for service device ViewSet property when evaluating queryset
- itam: correct truthy check for service cluster ViewSet property when evaluating queryset
- itam: correct truthy check for service cluster ViewSet property when evaluating serializer_class
- itam: correct truthy check for service device ViewSet property when evaluating serializer_class
- itam: add missing attribute view_name to celery log viewset
- api: correct get_view_name to prioritize view_name over model.verbose_name
- itam: correct truthy check for software version ViewSet property when evaluating queryset
- itam: correct truthy check for os version ViewSet property when evaluating queryset
- itam: correct truthy check for device software ViewSet property when evaluating queryset
- itam: correct truthy check for device os ViewSet property when evaluating queryset
- itam: correct truthy check for software version ViewSet property when evaluating serializer_class
- itam: correct truthy check for software category ViewSet property when evaluating serializer_class
- itam: correct truthy check for os version ViewSet property when evaluating serializer_class
- itam: correct truthy check for device software ViewSet property when evaluating serializer_class
- itam: correct truthy check for device os ViewSet property when evaluating serializer_class
- core: correct varname for queryset within notes queryset
- core: add missing attribute view_description to ticket linked item viewset
- core: add missing attribute view_description to ticket comment viewset
- core: add missing attribute view_description to note viewset
- core: add missing attribute view_description to related ticket log viewset
- core: add missing attribute view_description to celery log viewset
- core: add missing attribute view_description to history viewset
- core: correct truthy check for notes ViewSet property when evaluating serializer_class
- core: correct truthy check for history ViewSet property when evaluating queryset
- core: correct truthy check for notes ViewSet property when evaluating queryset
- core: correct truthy check for related ticket ViewSet property when evaluating queryset
- core: correct truthy check for ticket comment ViewSet property when evaluating queryset
- core: correct truthy check for ticket linked items ViewSet property when evaluating queryset
- core: correct truthy check for ticket linked items ViewSet property when evaluating queryset
- core: correct truthy check for ticket comment ViewSet property when evaluating queryset
- core: correct truthy check for related ticket ViewSet property when evaluating queryset
- core: correct truthy check for history ViewSet property when evaluating queryset
- core: correct truthy check for celery log ViewSet property when evaluating queryset
- core: correct truthy check for Ticket Base ViewSet property when evaluating queryset
- core: correct truthy check for ticket base ViewSet property when evaluating serializer_class
- assistance: Add missing attribute
view_description
to request ticket ViewSet - settinggs: Add missing attribute
view_description
to external links ViewSet - core: Add missing attribute
view_description
to ticket comment category ViewSet - core: Add missing attribute
view_description
to ticekt category ViewSet - core: Add missing attribute
view_description
to Manufacturer ViewSet - project_management: correct truthy check for project milestone ViewSet property when evaluating queryset
- settings: correct truthy check for user settings ViewSet property when evaluating serializer_class
- settings: correct truthy check for external links ViewSet property when evaluating serializer_class
- settings: correct truthy check for app settings ViewSet property when evaluating serializer_class
- project_management: correct truthy check for project milestone ViewSet property when evaluating queryset
- project_management: correct truthy check for project ViewSet property when evaluating serializer_class
- project_management: correct truthy check for project type ViewSet property when evaluating serializer_class
- project_management: correct truthy check for project state ViewSet property when evaluating serializer_class
- project_management: correct truthy check for project milestone ViewSet property when evaluating serializer_class
- itam: correct truthy check for service ViewSet property when evaluating serializer_class
- itam: correct truthy check for port ViewSet property when evaluating serializer_class
- itam: correct truthy check for cluster ViewSet property when evaluating serializer_class
- itam: correct truthy check for cluster type ViewSet property when evaluating serializer_class
- itam: correct truthy check for software ViewSet property when evaluating serializer_class
- itam: correct truthy check for os ViewSet property when evaluating serializer_class
- itam: correct truthy check for device ViewSet property when evaluating serializer_class
- itam: correct truthy check for device type ViewSet property when evaluating serializer_class
- itam: correct truthy check for device model ViewSet property when evaluating serializer_class
- core: correct truthy check for ticket comment category ViewSet property when evaluating serializer_class
- core: correct truthy check for ticket category ViewSet property when evaluating serializer_class
- core: correct truthy check for manufacturer ViewSet property when evaluating serializer_class
- config_management: correct truthy check for config group ViewSet property when evaluating queryset
- config_management: correct truthy check for config group ViewSet property when evaluating serializer_class
- config_management: correct truthy check for config group software ViewSet property when evaluating serializer_class
- config_management: correct truthy check for config group software ViewSet property when evaluating queryset
- assistance: correct truthy check for model kb article ViewSet property when evaluating queryset
- assistance: correct truthy check for model kb article ViewSet property when evaluating serializer_class
- assistance: correct truthy check for kb ViewSet property when evaluating serializer_class
- assistance: correct truthy check for kb ViewSet property when evaluating serializer_class
- access: correct truthy check for team ViewSet property when evaluating serializer_class
- access: correct truthy check for team ViewSet property when evaluating queryset
- access: correct truthy check for team user ViewSet property when evaluating queryset
- access: correct truthy check for team user ViewSet property when evaluating serializer_class
- access: correct truthy check for organization ViewSet property when evaluating serializer_class
- api: correct truthy check for set property when evaluating serializer_class
- api: correct truthy check for set property when evaluating queryset
- api: correct variable name in common viewset for queryset
- config_management: config group software viewset must cache queryset
- config_management: config group viewset must cache queryset
- assistance: Knowledge base category viewset must cache serializer_class
- access: Team viewset must cache serializer_class
- access: Team viewset must cach queryset
- access: Team User viewset must cach queryset
- api: Add missing property
bacjk_url
to Common viewset - api: Common viewset to cache and use queryset Object
- access: When conduting permission check for user settings, if user not owner of settings, deny access
- access: when checking object permissions, dont cast obj to int untill checking it exists
- access: org mixin get_obj_org not to call get_object
- core: ensure item_type exists before trying to get queryset
- core: Ticket Action comment date fields must be checked if empty before use
- settings: grant the user access to their own settings object
- settings: grant the user access to their own settings
Refactoring
- access: when checking obj permission use view cached obj organization
- access: When fetching obj org, if pk exist attempt to fetch object
- core: When fetching a ticket, fetch related fields
- core: Ticket action comment for changing milestone to use item tasg
- core: Ticket action comment for changing project to use item tasg
Tests
- core: Add missing unit tests for notes ticket viewset
- settings: Add missing unit tests for user settings ticket viewset
- settings: Add missing unit tests for app settings ticket viewset
- project_management: Add missing unit tests for project task ticket viewset
- api: Add kwargs as arg to test cases
- itim: Add missing unit tests for problem ticket viewset
- itim: Add missing unit tests for incident ticket viewset
- itim: Add missing unit tests for change ticket viewset
- core: add permisssion class override test case for celery results
- Add empty kwargs to ViewSet index page test cases
- itam: Add missing unit tests for software version viewset
- itam: Add missing unit tests for software categories viewset
- itam: Add missing unit tests for os versions viewset
- itam: Add missing unit tests for software installs viewset
- itam: Add missing unit tests for os installs viewset
- itam: Add missing unit tests for device software viewset
- itam: Add missing unit tests for device operating system viewset
- api: Add kwargs as arg to test cases
- core: Add missing unit tests for ticket linked items viewset
- core: Add missing unit tests for ticket comment viewset
- core: Add missing unit tests for celery log viewset
- core: Add missing unit tests for history viewset
- core: Add missing unit tests for related tickets viewset
- assistance: Add missing unit tests for request ticket viewset
- api: queryset and serializer_class test cases updated to use Fake request object
- settings: Add missing unit tests for external links viewset
- project_management: Add missing unit tests for project type viewset
- project_management: Add missing unit tests for project state viewset
- project_management: Add missing unit tests for project milestone viewset
- project_management: Add missing unit tests for project viewset
- itim: Add missing unit tests for service viewset
- itim: Add missing unit tests for ports viewset
- itim: Add missing unit tests for cluster types viewset
- itim: Add missing unit tests for cluster viewset
- itam: Add missing unit tests for Software viewset
- itam: Add missing unit tests for Operating System viewset
- itam: Add missing unit tests for Device Type viewset
- itam: Add missing unit tests for Device Model viewset
- itam: Add missing unit tests for Device viewset
- api: dont mock the qs bool
- core: Add missing unit tests for Ticket Comment Category viewset
- core: Add missing unit tests for Ticket Category viewset
- core: Add missing unit tests for manufacturer viewset
- config_management: Add missing unit tests for config groups software viewset
- config_management: Add missing unit tests for config groups viewset
- assistance: Add missing unit tests for Model Knowledge Base Article viewset
- assistance: Add missing unit tests for Knowledge Base Category viewset
- assistance: Add missing unit tests for Knowledge Base viewset
- access: Add missing unit tests for team user viewset
- access: Add missing unit tests for team viewset
- access: Add missing unit tests for organization viewset
- base: Ensure viewsets are caching and using the serializer_class object
- base: Ensure viewsets are caching and using the queryset object
- core: Test case to ensure ticket comment always has user added
- settings: when checking if user can delete own settings, user must be owner of settings
- settings: regardless of permissions a user can change their own settings
- access: during permission check function has_permission ensure
get_object
not called - core: Ensure that an action comment is created when ticket description is edited
- core: Ticket Action comment test cases for real_finish_date actions
- core: Ticket Action comment test cases for real_start_date actions
- core: Ticket Action comment test cases for planned_finish_date actions
- core: Ticket Action comment test cases for planned_start_date actions
- core: Ticket Action comment test cases for milestone actions
- core: Ticket Action comment test cases for project actions
- core: Ticket Action comment tests moved to their own suite
- core: Unit test cases for ticket urgency_badge field checks
- core: Unit test cases for ticket priority_badge field checks
- core: Unit test cases for ticket impact_badge field checks
- settings: Remove no-permission failure test as user settings require no permissions
1.8.0 (2025-01-23)
feat
- python: update django 5.1.4 -> 5.1.5
- access: TenancyManager object to cache the users team lokkup
- access: if organization object casted to int, return organization.id
- base: Dont enable metrics by default
- base: Add exporter to celery
- base: Add exporter to gunicorn
- base: Add django-prometheus for metrics export
- api: fetch doc path for view metadata
- settings: Add new field button text
- itim: Ability to add external link to a service
- access: Add organization to team display_name
- assistance: add category and org to model articles tab
- api: Enable fetching related ticket metadata for the other side of the related ticket
- core: Add ticket comment field metadata to api meta
- core: Add ticket linked item field metadata to api meta
- core: Add related ticket field metadata to api meta
- api: Add option to viewset to render field markdown metadata
- api: Add item metadata to markdown field for renderable items
- api: Add item metadata to markdown field for renderable items
Fixes
- core: triage user requires access to date fields for change, incident, problem and project task tickets
- core: triage user requires access to date fields for tickets
- core: User must be a required field for ticket comment
- access: use request object passed to has_object_permission
- core: ensure when updating, reques.tenancy object perm checking is used
- project: when creating a project, fetch the organization object
- api: Only attempt to access a app_settings object for org field if request object exists
- core: When adding a ticket, query for org
- access: use the request user teams within Manager
- access: cached orgs is an int list
- base: metrics dir env var PROMETHEUS_MULTIPROC_DIR must ALWAYS exist
- base: Dynammic settings determined by if metrics are enabled
- access: Return API exception, not django
- api: correctly return API exceptions for user to rectify
- core: Set user whom added comment as comment user
- core: display_name is not a mandatory field for related ticket
- core: display_name is not a mandatory field for ticket linked item
- api: Ensure ALL required classes for viewset are inherited
Refactoring
- access: Dont override django middleware, create own for access tenancy
- access: Move user perm logic to request.tenancy object
- Move app_settings object to request object
- access: cache app settings during perm check
- access: prefetch team related fields
Tests
- core: Correct ticket tests as triage user is supposed to have access to ticket date fields
- update to cater for tenancy object in request
- Initial k6s individual page speed test cases
- app: metrics_enabled setings checks
- app: refactor. order tests alphanumerical
- api: ensure documentation key and data is added to API metadata
- settings: check to ensure API fields returned are present and correct type for external_links model
- assistance: Ensure category fields are present for model articles
1.7.0 (2025-01-04)
feat
- access: Enable Objects from global organization to be viewable by user with the permission
- access: Enable Objects from globally set organization to return within query
- access: Enable the calling of the dynamic permissions function to obtain permissions
- itam: Cater for RabbitMQ errors when uploading inventory
- itam: On Inventory upload validate existing device
- access: During permission checking also capture Http404
- access: Super User to be granted permission
- access: Cache the permission required during permission checking
- api: Add
IndexViewset
to ViewSet mixin - access: If the user lacks the permission during permission checks, return sooner
- access: Enforce view action and HTTP/Method match for permission checks
- itim: External Links to display on cluster details page
- api: Add API v2 Endpoint for cluster services
- api: distinguish between read-only and authenticateed user permissions
Fixes
- api: Ensure ALL required classes for viewset are inherited
- itam: Dont query parent class for permissions
- core: If no org specified serializer fetch, dont attempt to access
- access: If no org specified during permission check, rtn false for permission
- itam: return serializer for inventory endpoint
- api: base index must inherit from IndexViewset
- core: Dont attempt to access the object if it doesn't exist when fetching ticket permissions
- access: Cached list objects must be a list including an empty one as required
- core: when gather ticket permissions, use getter as object may not exist
- core: action metadata to use view permission for tickets
- access: Use request.method for determining the HTTP/Method for permission checks
- access: Add HTTP/Method=DELETE as valid option for object delete/destroy.
- access: Ensure Object permission are checked when an object is having an action performed against it.
- core: History View is a read-only view
- core: Permissions for Related ticket to be derived from ticket org
- access: Team User permission organiztion is team org
Refactoring
- itam: Device UUID field requires no default
- itam: mv inventory task to itam app
- access: Use exceptions for permission flow as required
- api: dedup code within viewset mixin
- access: Object permission checking moved to
has_object_permission
function - access: move ability to get required permissions from permissions mixin to organization mixin
- core: move ticket linked item to dynamic parent model
- api: Use new re-writen Mixins for Tenancy and Permission checks
- access: Organization Permission Mixin now caters for API ONLY
- access: Organization Mixin now caters for API ONLY
Tests
- access: Skip test case for appsettings different organization due to model not being tenancy model.
- access: Ensure items returned from query are from user organization and/or globally set organization
- itam: API v2 Inventory Permission Check skip diff org
- itam: API v2 Inventory Permission Checks
- mv inventory test to itam app
- access: Test Cases for Organization Permission Mixin
- api: Adjust test case for metadata visibility
- core: remove different org testcase from history checks
- core: When testing if history access is possible for user with perms, correct status is HTTP/200
- access: When adding org, test case must use non-super user
- itim: Ensure external_links are returned as part of _urls
- itim: Add API v2 permission checks for cluster services
- itim: Add API v2 permission checks for device services
1.6.0 (2024-12-23)
feat
- access: Check if organization field is read-only during permission check
- access: Ability to specify parent model for permission to do
- information_management: add cluster type kb article linking
- information_management: Ability to link Knowledge Base article to a Software
- information_management: Ability to link Knowledge Base article to a Software
- information_management: Ability to link Knowledge Base article to a Software Category
- information_management: Ability to link Knowledge Base article to a Operating System Version
- information_management: Ability to link Knowledge Base article to a Operating System
- information_management: Ability to link Knowledge Base article to a Device
- information_management: Ability to link Knowledge Base article to a Device Type
- information_management: Ability to link Knowledge Base article to a Device Model
- information_management: Ability to link Knowledge Base article to an External Link
- information_management: Ability to link Knowledge Base article to a Project
- information_management: Ability to link Knowledge Base article to a Project Type
- information_management: Ability to link Knowledge Base article to a Project State
- information_management: Ability to link Knowledge Base article to a Project Milestone
- information_management: Ability to link Knowledge Base article to a Service
- information_management: Ability to link Knowledge Base article to a Port
- information_management: Ability to link Knowledge Base article to a Cluster Type
- information_management: Ability to link Knowledge Base article to a Cluster
- information_management: Ability to link Knowledge Base article to a Ticket Category
- information_management: Ability to link Knowledge Base article to a Manufacturer
- information_management: Ability to link Knowledge Base article to a Config Group
- information_management: Ability to link Knowledge Base article to a Team
- information_management: Ability to link Knowledge Base article to an Organization
- information_management: Add API v2 Endpoint for model KB articles
- information_management: Add method
get_url
to model kb article - information_management: DB Model for linking KB articles to models
- assistanace: remove kb article content from details tab
- core: call models
clean
method prior to saving model to DB - api: during permission checking, if model is an organization and the user is a manager allow access to the organization.
- api: If user is organization manager of any org, show organization within navigation
- core: Link Team to ticket
- core: Link Organization to ticket
- core: Link KB to ticket
- access: Add project_management permissions to teams avail permissions
Fixes
- core: Add missing KB article delete signal for ticket linking cleanup
- core: Ensure for KB article permissions can be correctly checked
- core: use cooorect model name for choices
- itam: Use Device organization for device operating system
- settings: remove field
owner_organization
from App Settings - core: Use object organization for ticket linked items
- itam: Use Software organization for Software Version
- itam: Use Operating System organization for OS Version
- itam: Use Device organization for device software
- core: Use Ticket organization for ticket linked items
- core: Use parent model organization for object notes
- access: During permission checking also use
get_serializer
if avail - access: default to empty when attempting to get view attribute
- core: Use ticket organization for permission checking for adding a comment
- itam: KB url must use
obj
notitem
when building ursl for device type - itam: KB url must use
obj
notitem
when building ursl for device model - core: Add missing migrations for linking kb to ticket
- core: Ensure that a user cant reply to a discussion reply
- core: Add Org, Team and KB article to ticket linked Item serializer
- core: Ticket Linked Item serializer removed from inheriting from common serializer.
- core: Ticket model serializer must inherit from common serializer
- core: Ticket Related Item model serializer must inherit from common serializer
- core: Ticket Linked Item model serializer must inherit from common serializer
- core: Ticket Comment model serializer must inherit from common serializer
- core: Notes model serializer must inherit from common serializer
- docker: Correct nginx proxy headers passed to gunicorn
- core: Generate the correct url for a ticket comment when it's a discussion
- core: organization field set to
write_only=True
- core: If ticket comment is a reply, add the parent id post validation
Refactoring
- access: Adjust permission check logic to use try..catch instead of gettattr due to base method throwing exception
- base: move model calling of clean to tenancy model class
- docker: gunicorn config moved to con file
- core: Add ticket comment organization post validation
Tests
- core: KB article delete ticket link clean up checks
- core: KB Ticket linking serializer checks
- core: KB Ticket linking permission checks
- core: Add data for ticket comment does not use organization field
- revert test case changes from
1c065601f6
- information_management: Add model test cases for Model KB Article
- information_management: Add API v2 Endpoint test cases for Model KB Article
- information_management: Add Viewset test cases for Model KB Article
- information_management: Add Serializer test cases for Model KB Article
- api: mv test case change denied delete to apipermissionchange test cases
- base: Ensure Models inherit from Tenancy and SaveHistory Classes
- core: test to ensure that a user cant reply to a comment that is already part of a discussion
- core: test to ensure that a user can reply to a comment (start comment)
1.5.0 (2024-12-09)
feat
- python: update django 5.1.2 -> 5.1.4
- api: If global organization defined, filter from ALL organization fields
- api: Add nav menu permission checks for settings
- api: When fething an items url dueing metadata creation, used named parameters
- access: Modify Admin User panel by removing perms and adding teams
- access: filter permissions available
- api: Filter navigation menu by user permissions
- api: Add API version details to the metadata
- access: add
back
andreturn_url
urls to team user metadata - access: add
back
andreturn_url
urls to team metadata - api: Add
back
url to metadata - api: Add
return_url
to metadata
Fixes
- settings: Add missing
get_url
function to user_settings model - settings: Add missing
get_url
function to app_settings model - core: correctr the required parameters for related ticket serializer when fetching own url
- core: Remove requirement that ticket be specified for related tickets
get_url
- access: Add missing
table_fields
attribute to team users model - api: during metadata navigation permission checks, cater for non-existant keys
- core: Remove superfluous check from ticket viewset
- access: Team permissions is not a required field
- core: History query must also be for self, not just children
- access: correct team users table to correct data key
Refactoring
- access: Settings must be an available permissions when setting team permissions
- itam: set deviceoperatingsystem model, device field to be type
onetoone
- assistance: make content the first tab for kb articles
- api: move metadata url_return -> urls.self
Tests
- api: Nav menu permission checks for settings
- api: Nav menu permission checks
- core: Correct
url.self
checks to use list view - core: Dont test History for table view
- settings: Dont test user settings for table view
- steeings: Dont test app settings for table view
- core: Dont test related ticket for table or detail view
- api: Refactor test so that endpoints not expected to have an endpoint or be rendered in a table wont be tested for it.
- settings: API Metadata checks for user settings
- settings: API Metadata checks for external links
- settings: API Metadata checks for app settings
- project_management: API Metadata checks for project type
- project_management: API Metadata checks for project task
- project_management: API Metadata checks for project state
- project_management: API Metadata checks for project milestone
- project_management: API Metadata checks for project
- itim: API Metadata checks for problem ticket
- itim: API Metadata checks for incident ticket
- itim: API Metadata checks for change ticket
- itim: API Metadata checks for service
- itim: API Metadata checks for port
- itim: API Metadata checks for cluster type
- itim: API Metadata checks for cluster
- itam: API Metadata checks for software version
- itam: API Metadata checks for software category
- itam: API Metadata checks for software
- itam: API Metadata checks for operating system version
- itam: API Metadata checks for operating system
- itam: API Metadata checks for software
- itam: API Metadata checks for operating system
- itam: API Metadata checks for device type
- itam: API Metadata checks for device OS
- itam: API Metadata checks for device model
- itam: API Metadata checks for device
- core: API Metadata checks for ticket comment category
- core: API Metadata checks for ticket comment
- core: API Metadata checks for ticket category
- core: API Metadata checks for history
- core: API Metadata checks for related tickets
- core: API Metadata checks for manufacturers
- config_management: API Metadata checks for config group software
- config_management: API Metadata checks for config groups
- access: API Metadata checks for request ticket
- access: API Metadata checks for kb category
- access: API Metadata checks for kb
- api: correct metadata testcases
- access: API Metadata checks for organization
- api: API Metadata test cases for navigation menu rendering
- api: correct logic for test class attribute fetching
- access: API Metadata checks for Team User model
- access: API Metadata checks for Team model
- api: API Metadata functional Test Cases
1.4.1 (2024-11-30)
Fixes
- itam: When validating device config, only do so if there is config defined
1.4.0 (2024-11-28)
feat
- project_management: add project completed field
- api: Implement Sanity error handling for uncaught exceptions
- itam: Split device software serializer to include seperate software installs serializer
- itam: Add Operating System Installs API v2 endpoint
- itam: based off of the request kwaargs, adjust device serializer fields accordingly
- itam: Add Software installs endpoint
- itim: add cluster and device to Services in new UI
- config_management: add hosts to new UI
- api: add ticket icons
- itim: Add nodes and devices to detail view
- api: return_url to default to list view
- base: move setting
SECURE_SSL_REDIRECT = True
to etc/settings - base: use senisible settings for SSL
- itam: Add device operating system API v2 endpoint
- api: Add return URL to metadata if model has attribute
get_url
- config_management: Add field child group count to table fields for groups
- itam: Add
page_layout
to SoftwareVersion model - itam: Add
page_layout
to OperatingSystemVersion model - project_management: Add
page_layout
to Milestone model - settings: Add
page_layout
to AppSettings model - access: render team_name field as anchor
- api: Support setting char field as an anchor field using .urls._self
- api: Added abilty to specify a css class for markdown field
- Add timezone support
- api: Add a Common Model serializer to be inherited by all model serializers
- core: new field type markdown
- core: new field type char
- core: add RElated Items choices to metadata
- itam: Add Inventory API v2 endpoint
- api: Depreciate API V1 endpoint /api/config
- core: New signal for cleaning linked ticket items when the item is deleted
- core: Show milestone using base serializer for all ticket types
- core: Show project using base serializer for all ticket types
- core: Add Parse error to exceptions
- core: Ticket serializer to ensure user who opens ticket is subscribed to it
- core: Ticket serializer to validate milestone
- core: Ticket serializer to validate organization
- itim: Add Project Task API v2 endpoint
- itim: Add Problem Ticket API v2 endpoint
- itim: Add Incident Ticket API v2 endpoint
- itim: Add Change Ticket API v2 endpoint
- api: Depreciate v1 API Endpoint Assistance
- api: Depreciate v1 API Endpoint Request Ticket
- api: Depreciate v1 API Endpoint Assistance
- api: Depreciate v1 API Endpoint Ticket Comments
- api: Depreciate v1 API Endpoint Ticket Comment Categories
- api: Depreciate v1 API Endpoint Ticket Categories
- core: Ensure Related Tickets validate against duplicate entries
- core: Add MethodNot Allowed to Centurion exceptions
- core: Determine serializer from action and user permissions for Ticket Comments
- core: Add custom exception class
- core: Ensure ticket comment Serializer validates for existance of comment_type and ticket id
- core: Ensure ticket comment Serializer is picked based off of comment_type
- core: Ensure that ticket linked item validates if ticket supplied
- core: Ensure that ticket comment category cant assign self as parent
- core: Ensure that ticket category cant assign self as parent
- core: Add Ticket Comment Category API v2 endpoint
- core: Add Item Ticket API v2 endpoint
- core: Add Related Ticket API v2 endpoint
- core: Add Ticket Linked Item API v2 endpoint
- core: Add url function to Ticket Linked Items model
- itim: Add url function to Service model
- itim: Add url function to Cluster model
- itam: Add url function to Software model
- itam: Add url function to Operating System model
- itam: Add url function to Device model
- config_management: Add url function to Config Groups model
- core: Add Ticket Comment API v2 endpoint
- core: Add Ticket Category API v2 endpoint
- assistance: Add Request Ticket API v2 endpoint
- api: Custom exception UnknownTicketType
- core: Add Base Ticket Serializer and ViewSet
- api: Setup API to be correctly versioned
- settings: Add get_organization function to app settings model
- settings: Add Celery Task Logs API v2 endpoint
- api: Added ability to specify table fields within the viewset.
- settings: Add User Settings API v2 endpoint
- settings: Add App Settings API v2 endpoint
- project_management: Add remaining Project base serializers for API v2
- project_management: Project Validation for API v2
- project_management: Add Project Type API v2 endpoint
- project_management: Add Project State API v2 endpoint
- project_management: Add Project Milestone API v2 endpoint
- project_management: Add Project API v2 endpoint
- itim: Port Serializer Validations
- itim: Service Serializer Validations
- itim: Ensure cluster cant assign itself as parent on api v2 endpoint
- itim: Add Port API v2 endpoint
- itim: Add Cluster API v2 endpoint
- itim: Add Cluster Type API v2 endpoint
- itim: Add Service API v2 endpoint
- itam: Depreciate API v1 Software Endpoint
- core: Add Operating System Version API v2 endpoint
- core: Add Operating System API v2 endpoint
- core: Add External Link API v2 endpoint
- itam: Add Device Software API v2 endpoint
- itam: Add Device API v2 endpoint
- itam: Add Device Type API v2 endpoint
- itam: Add Software Version API v2 endpoint
- itam: Depreciate API v1 device endpoint
- itam: Add Software API v2 endpoint
- itam: Add Device Model API v2 endpoint
- itam: Add Device API v2 endpoint
- itim: Add Service Notes API v2 endpoint
- core: Add Software Notes API v2 endpoint
- core: Add Manufacturer API v2 endpoint
- itim: Add Service base serializer
- itam: Add operating system Base Serializer
- config_management: Add Notes API v2 endpoint
- config_management: Add History API v2 endpoint
- config_management: Depreciate API v1 config endpoint
- config_management: Add config groups to config api endpoint
- config_management: Add Device Base Serializer
- itam: Add Software Version Base Serializer
- itam: Add Software Base Serializer
- config_management: Add Config Group Software API v2 endpoint
- config_management: Add Config Group API v2 endpoint
- assistance: Ensure Knowledge Base Category cant assign self as parent category
- assistance: Knowledge Base Serializer Validation method added
- assistance: Add Knowledge Base Category API v2 endpoint
- assistance: Add Knowledge Base API v2 endpoint
- api: Depreciate API v1 permission endpoint
- access: Add Team Users API endpoint
- access: Depreciate Team API v1 endpoint
- access: Depreciate Organization API v1 endpoint
- access: Add Organization API endpoint
- base: Add Team API endpoint
- base: Add Permission API endpoint
- base: Add Content Type API endpoint
- api: Add Read Only abstract ViewSet
- base: Add user API endpoint
- api: add v2 endpoint
- project_management: Add attribute table_fields to Project Type model
- project_management: Add attribute page_layout to Project Type model
- project_management: Add attribute table_fields to Project State model
- project_management: Add attribute page_layout to Project State model
- project_management: Add attribute page_layout to Project Milestone model
- project_management: Add attribute table_fields to Project Milestone model
- project_management: Add attribute table_fields to Project model
- project_management: Add attribute page_layout to Project model
- itim: Add attribute table_fields to Service model
- itim: Add attribute page_layout to Service model
- itim: Add attribute table_fields to Service Port model
- itim: Add attribute page_layout to Service Port model
- itim: Add attribute table_fields to Cluster Type model
- itim: Add attribute page_layout to Cluster Type model
- itim: Add attribute table_field to Cluster model
- itim: Add attribute page_layout to Cluster model
- itam: Add attribute table_field to Software Category model
- itam: Add attribute table_fields to Software model
- itam: Add attribute page_layout to Software model
- itam: Add attribute table_fields to Operating System Version model
- itam: Add attribute page_layout to Operating System Version model
- itam: Add attribute table_field to Operating System model
- itam: Add attribute page_layout to Operating System model
- itam: Add attribute table_fields to "Device Type" model
- itam: Add attribute page_layout to "Device Type" model
- itam: Add attribute page_layout to "Device Software" model
- itam: Add attribute table_fields to "Device Software" model
- itam: Add attribute page_layout to "Device Software" model
- core: Add attribute table_fields to Ticket Comment Category model
- core: Add attribute page_layout to Ticket Comment Category model
- core: Add attribute page_layout to Ticket comment model
- core: Add attribute table_fields to Ticket Category model
- core: Add attribute page_layout to Ticket Category model
- core: Add attribute page_layout to Ticket model
- core: Add attribute page_layout to Notes model
- core: Add attribute table_fields to Manufacturer model
- core: Add attribute page_layout to Manufacturer model
- access: Add attribute table_fields to Config Group Software model
- access: Add attribute page_layout to Config Group Software model
- access: Add attribute table_fields to Config Groups model
- access: Add attribute page_layout to Config Groups model
- access: Add attribute table_fields to KB model
- access: Add attribute page_layout to KB model
- access: Add attribute table_fields to KB Category model
- access: Add attribute page_layout to KB Category model
- access: Add attribute table_fields to Team model
- access: Add attribute page_layout to Team model
- core: Add
table_fields
to Ticket Model - itam: Add v2 endpoint ITAM
- base: Add User Serializer
- settings: Add v2 endpoint Settings
- project_management: Add v2 endpoint Project Management
- itim: Add v2 endpoint ITIM
- config_management: Add v2 endpoint Config Management
- assistance: Add v2 endpoint Assistance
- access: Add v2 endpoint Access
- itim: Add
table_fields
to Service Model - core: Add
table_fields
to Device Software Model - core: Add
table_fields
to Notes Model - core: Add
table_fields
to History Model - itam: Add
table_fields
andpage_layout
to Device Model - itam: Add
table_fields
andpage_layout
to Device Model - core: Add
table_fields
to Ticket Linked Item - core: Add
table_fields
to Ticket Comment - core: Add
table_fields
to Ticket - core: Add attribute
staatus_badge
to ticket model - access: Add
table_fields
andpage_layout
to Organization - api: Add React UI metadata class
- api: Add API v2 Endpoint
- api: add API login template to use current login form
- api: Update API template to use name Centurion
- itam: Add category property to device software model
- itam: Add action badge property to device software model
- itam: Add status badge property to device model
- core: Add a icon serializer field.
- core: Add a badge serializer field.
- api: Add common ViewSet class for inheritence
- Add dependency django-cors-headers
Fixes
- project_management: Correct All tickets query for calculating project completion
- core: Prevent a ticket from being related to itself
- core: when fetching ticket serializer set org=None
- core: use the view pk to filter self out for ticket category update
- core: Ensure for update of ticket the correct serializer is selected
- core: dont exclude self for ticket comment category if not exists
- itam: Add Operating System API v2 field typo
- core: Enusure project_task serializer sets the project_id
- itam: device os serializer not to show org and device
- core: ticket comment to use model serializer for meta
- core: add kwargs to notes
- core: correct get_url function notes
- core: add missing dep to notes
- access: correct team users get_url
- access: correct team get_url requires kwargs
- core: correct notes get_url
- access: correct team get_url
- core: ticket model url requires kwargs
- core: ticket comment model url requires kwargs
- core: dont attempt to fetch org for ticket comment if no data supplied
- core: Always set the organization to the ticket org when adding a ticket comment when org not specified.
- api: Ensure queryset filters to actual item if pk is defined
- core: Automagic fetch data for fields and only require ticket id to link item to ticket
- core: Always set the organization to the ticket org when adding a ticket comment.
- config_management: show parent groups only on index
- core: Set notes _self url to empty val then attempt to sset
- core: Ensure API v1 Ticket sets the ticket type prior to validation
- core: Dont attempt to use ticket instance organization if it's a new ticket being created
- access: Ensure organization is a mandatory field
- core: Ensure ticket and comment bodies are set to required
- core: correct navigation metadata
- task: Ensure if inventory RX is a string, serialize it
- access: Team User serializer not to capture exceptions
- access: Team User team and user fields required when creating, don't use default value.
- access: Team name required when creating, don't use default value.
- access: Dont capture exceptions within team serializer
- core: Ensure import user can set field
opened_by
when importing tickets - core: Correct duration slash command regex
- core: When an item that may be linked to a ticket is deleted, remove the ticket link
- core: Related ticket slash command requires model to be imported
- core: correct missing or incomplete ticket model fields
- core: When creating a ticket, by default give it a status of new
- core: Ensure that when creating a ticket an organization is specified
- core: Correct Ticket read-only fields
- core: Correct inheritence order for ticket serializers
- core: Ensure Organization can be set when creating a ticket
- core: Ensure that when fetching ticket permission, spaces are replaced with '_'
- core: Ticket serializer org validator to access correct data
- core: Add project URL to all Ticket Types
- core: Add Ticket Category URL to all Ticket Types
- core: When obtaining ticket type use it's enum value
- core: Ensure triage and import permissions are catered for Tickets
- core: Ensure Ticket Linked Item slash command works for ticket comments
- core: Only use Import Serializer on Ticket Comment Create if user has perms
- core: Ensure related ticket slash command works for ticket comments
- api: Ensure
METHOD_NOT_ALLOWED
exception is thrown - core: Correct serializer item field to be for view serializer ONLY
- config_management: Correct ticket url in group serializer
- core: Add missing ticket comment category url
- core: Add missing permissions function to ticket viewset
- core: Ensure that when checking linked ticket class name, spaces are replaced
- core: Ensure item tickets class can have underscore in name
- Dont attempt to access request within serializers when no context is present
- core: Add Ticket Category API v2 endpoint to urls
- core: Correct ticket comment model name
- api: Ensure read-only fields have choices added to metadata
- api: Correct inheritance order for ModelViewSet
- settings: Populate user_settings Meta
- settings: Populate app_settings Meta
- project_management: For Project use a separate Import Serializer
- project_management: use the post data dict for fetching edit organisation
- project_management: use the post data or existing object for fetching edit organisation
- project_management: Dont use init to adjust read_only_fields for project
- project_management: if user not hav org specified dont attempt to access
- project_management: for project serializer (api v1) ensure org is id
- itim: Ensure service config from template is not gathered if not defined
- itim: Ensure params passed to super when validating cluster
- itim: Correct Device Service API v2 endpoint
- itam: Don't attempt to include manufacturer in name for Device Model if not defined
- itam: Ensure software version model has page_layout field
- core: notes field must be mandatory
- core: Add missing attributes name to history model
- config_management: ensure validation uses software.id for config group software serializer
- config_management: Config Groups Serializer Validation checks
- assistance: Correct Knowledge Base Category serializer Validation
- itam: Correct inventory validation response data
- itam: Correct inventory api upload to use API exceptions instead of django base
- assistance: Add missing fields
display_name
andmodel_notes
to Knowledge Base Category serializer - assistance: correct KB category serializer validation
- assistance: Correct Knowledge Base serialaizer Validation
- api: on permission check error, return authorized=false
- access: Add missing parameters to Team User fields
- api: Add missing organization url routes
- access: ensure org id is an integer during permission checks
- access: if permission_required attribute doesn't exist during permission check, return empty list
- Ensure all Model fields are created with attributes
help_text
andverbose_name
- api: correct logic for permission check to use either queryset or get_queryset
- settings: Add attribute table_fields to External Links model
- settings: Add attribute page_layout to External Links model
- settings: Add missing attribute Meta.verbose_name to External Links model
- settingns: Add missing attribute Meta.ordering to External Links model
- itam: Add missing attribute Meta.verbose_name to Software Category model
- itam: Add missing attribute Meta.ordering to Software Category model
- itam: Add missing attribute Meta.verbose_name to Software model
- itam: Add missing attribute Meta.ordering to Software model
- itam: Add missing attribute Meta.verbose_name to Operating System Version model
- itam: Add missing attribute Meta.ordering to Operating System Version model
- itam: Add missing attribute Meta.verbose_name to Operating System model
- itam: Add missing attribute Meta.ordering to Operating System model
- itam: Add missing attribute Meta.verbose_name to "Device Type" model
- itam: Add missing attribute Meta.ordering to "Device Software" model
- itam: Add missing attribute Meta.verbose_name to "Device Software" model
- itam: Add missing attribute Meta.verbose_name to "Device Software" model
- itam: Add missing attribute Meta.ordering to "Device Software" model
- itama: Add missing attribute Meta.verbose_name to "Device Model" model
- core: Add missing attribute Meta.verbose_name to Notes model
- core: Add missing attribute Meta.verbose_name to Manufacturer model
- access: Add missing attribute Meta.verbos_name to Config Group Software model
- access: Add missing attribute Meta.verbos_name to Config Groups model
- access: Add missing attribute Meta.ordering Config Groups model
- access: Add missing meta field verbose_name to Team model
- api: during permission checking if request is HTTP/Options and user is authenticated, allow access
- api: during permission checking dont attempt to access view obj if it doesn't exist
- itam: Add missing model.Meta attributes ordering and verbose_name
Refactoring
- itam: update device software serializer validator
- itam: update device software serializer validator
- itam: ensure device is unique for device os model
- ensure filed organization is required
- config_management: config_group ref to use full model name
- update serializers to use model
get_url
function - core: ticket comment url name updated to match model name
- Add function
get_url
to tenancy models - api: set fields that are for markdown to use the markdown field
- task: Adjust inventory to use API v2 serializer
- core: Move ticket validation from is_valid -> validate method
- core: Ensure Ticket Linked Serializer works for Item Tickets
- core: Ticket Linked Item slash command to use serializer
- core: Related ticket slash command to use serializer
- core: Ticket Comments to use a single API Endpoint
- core: Adjust action choices to be integer
- config_management: Adjust rendered config str -> dict
- itam: Software Action field changed char -> integer
- itam: rename dir viewset -> viewsets
- config_management: move config_group_hosts to related table
- update model fields
- config_management: update serializer dir name
- access: add name to modified field
- api: Adjust viewset common so that page_layout is available for base
- assistance: Correct viewset dir name to viwsets
- itam: Cleanup Device Software model field names.
- core: Change history fields after and before to be JSON fields
- api: Split common ViewSet class into index/model classes
- itam: remove requirement to specify the pk when fetching config
Tests
- project_management: Ensure that project field completed exists when API v2 is rendere
- core: Ensure a ticket cant be related to itself
- itam: correct test setup for device note viewset
- settings: Ensure items returned are from users orgs only for API v2 endpoints
- project_management: Ensure items returned are from users orgs only for API v2 endpoints
- itim: Correct test case for ticket category returned serializer checks
- core: Correct test case for ticket category returned serializer checks
- core: Ensure items returned are from users orgs only for API v2 endpoints
- config_management: Ensure items returned are from users orgs only for API v2 endpoints
- assistance: Ensure items returned are from users orgs only for API v2 endpoints
- access: Ensure items returned are from users orgs only for API v2 endpoints
- itam: Ensure items returned are from users orgs only for API v2 endpoints
- Test Case for viewsets that confirms returned results from user orgs only
- itam: update device model test name Device -> DeviceModel
- Core: Ticket linked items API V2 Serializer returned checks
- Core: Remove duplicate test for ticket linked items
- assistance: Project Taask ticket Viewset Serializer checks
- assistance: Problem ticket Viewset Serializer checks
- assistance: Incident ticket Viewset Serializer checks
- assistance: Change ticket Viewset Serializer checks
- assistance: Request ticket Viewset Serializer checks
- core: Ticket Test Cases for Viewset Serializer returned
- during delete operation dont include data
- Add ViewSet Returned Serializer Checks to a majority of models
- Test Cases to confirm the correct serializer is returned from ViewSet
- Added skipped test for checking model mandatory values.
- itam: Operating System Installs API v2 Field checks
- itam: Software Installs API v2 Permission checks
- itam: Operating_system Installs API v2 Validation checks
- itam: Software Installs API v2 Permission checks
- itam: Software Installs API v2 Validation checks
- itam: Software Installs API v2 Field checks
- core: Ticket serializer checks corrected to use project_id within mock view
- core: Ticket comment serializer checks corrected to use mock view
- core: Ticket comment category field checks corrected
- itam: Update Device Operating System history checks to cater for unique device constratint
- itam: Device Operating System API field checks checks
- itim: Device Operating System API v2 ViewSet permission checks
- itam: Device Operating System Serializer Validation checks
- core: remove duplicate functional slash commands
- model get_url function checks
- core: move unit tests that check functionality to func test for ticket
- itam: Inventory API v2 Serializer Checks
- core: Ensure that when ticket is assigned it's status is updated to assigned
- settings: External Link API ViewSet permission checks
- access: External Link API v2 Serializer Checks
- functional: Move request ticket checks from unit
- functional: Move functional test cases to relevant functional test dir
- access: Organization API v2 Serializer Checks, only super user can create
- access: Team User API v2 Serializer Checks
- access: Team API v2 Serializer Checks
- access: Organization API v2 Serializer Checks
- project_management: Organization API v2 ViewSet permission checks
- core: Ensure test setup correctly for ticket checks
- core: Spend Slash command Checks.
- core: Relate Slash command Checks.
- core: Ensure that an item that may be linked to a ticket, when its deleted, the ticket link is removed
- core: Ensure a non-existing item cant be Linked to a Ticket.
- core: Action command Related Item Ticket Slash command checks.
- core: Blocked by Slash command Checks.
- core: Blocks Slash command Checks.
- core: Related Item Ticket Slash command checks.
- project_management: Project Task API v2 Serializer Checks
- itim: Incident Ticket API v2 Serializer Checks
- itim: Problem Ticket API v2 Serializer Checks
- itim: Change Ticket API v2 Serializer Checks
- core: Request Ticket API v2 Serializer Checks
- core: Common Ticket Test Cases for API v2 serializers
- project_management: Project Task API field checks
- itim: Problem Ticket API field checks
- itim: Incident Ticket API field checks
- itim: Change Ticket API field checks
- assistance: Update request field checks to cater for project and milestone as dicts
- project_management: Ensure ticket assigned project for all API v2 ViewSet permission checks
- project_management: PRoject_task API v2 ViewSet permission checks
- itim: Problem Ticket API v2 ViewSet permission checks
- itim: Incident Ticket API v2 ViewSet permission checks
- itim: Change Ticket API v2 ViewSet permission checks
- core: fix broken tests from
8b701785b3
changes - core: Item Ticket API v2 Serializer checks
- core: Item Linked Ticket API v2 ViewSet permission checks
- core: Related Ticket API v2 Serializer checks
- core: Related Ticket API v2 ViewSet permission checks
- core: Ticket Comment API v2 Serializer checks
- core: Ticket Linked Item API v2 Serializer checks
- core: Ticket Comment Category API v2 Serializer checks
- core: Ticket Category API v2 Serializer checks
- itim: Ticket Linked Item API field checks
- itim: Service Ticket URL API field checks
- itim: Cluster Ticket URL API field checks
- itam: Software Ticket URL API field checks
- itam: Operating System Ticket URL API field checks
- itam: Device Ticket URL API field checks
- config_management: Group Ticket URL API field checks
- core: Ticket Comment API v2 ViewSet permission checks
- core: Ticket Comment Category API v2 ViewSet permission checks
- core: Ticket Category API v2 ViewSet permission checks
- assistance: Request Ticket API v2 ViewSet permission checks
- core: Ticket Common API v2 ViewSet permission checks
- core: Ticket Comment Category API field checks
- core: Related Tickets API field checks
- itim: Service Linked Tickets API field checks
- itim: Cluster Linked Tickets API field checks
- itam: Software Linked Tickets API field checks
- itam: Operating System Linked Tickets API field checks
- itam: device Linked Tickets API field checks
- core: Config Group Linked Tickets API field checks
- core: Linked Ticket Common API field checks
- core: Ticket Linked Items API field checks
- core: Ticket Comment API field checks
- core: Ticket Category API field checks
- assistance: Request Ticket API field checks
- core: Ticket Common API field checks
- settings: Celery Log API v2 ViewSet permission checks
- settings: Celery Log API field checks
- settings: User Settings API v2 ViewSet permission checks
- settings: User Settings API field checks
- settings: App Settings API v2 ViewSet permission checks
- settings: App Settings API field checks
- project_management: Project API v2 ViewSet permission checks for import user
- project_management: Project Serializer Validation clean up
- project_management: Project Type API v2 ViewSet permission checks
- project_management: Project Type Serializer Validation checks
- project_management: Project Type API field checks
- project_management: Project State API v2 ViewSet permission checks
- project_management: Project state Serializer Validation checks
- project_management: Project state API field checks
- project_management: Project Milestone API v2 ViewSet permission checks
- project_management: Project milestone Serializer Validation checks
- project_management: add trace output to Project serializer
- project_management: Project Milestone API field checks
- project_management: Project API v2 ViewSet permission checks
- project_management: Project Serializer Validation checks
- project_management: Project API field checks
- itim: Port API v2 ViewSet permission checks
- itim: Port API field checks
- itim: Service API v2 ViewSet permission checks
- itim: Service Serializer Validation checks
- itim: Service API field checks
- itim: Cluster Type API v2 ViewSet permission checks
- itim: Cluster Type Serializer Validation checks
- itam: Cluster Type API field checks
- itim: Cluster API ViewSet permission checks
- itim: Cluster Serializer Validation checks
- itam: Cluster API field checks
- itam: remove Device Ticket API field checks
- itam: Device Service API field checks
- itam: Device Software API ViewSet permission checks
- itam: Device Software Serializer Validation checks
- itam: Device Software API field checks
- itam: Device Model API ViewSet permission checks
- itam: Device Model Serializer Validation checks
- itam: Device Model API field checks
- itam: Device Type API ViewSet permission checks
- itam: Device Type Serializer Validation checks
- itam: Device Type API field checks
- itam: Software Version Tenancy Model Checks
- itam: Software Version API ViewSet permission checks
- itam: Software Version Serializer Validation checks
- itam: Software Version API field checks
- itam: Software Category Version API ViewSet permission checks
- itam: Software Category Serializer Validation checks
- itam: Software Category Version API field checks
- itam: Operating System Version API ViewSet permission checks
- itam: Operating System Version Serializer Validation checks
- itam: Operating System Version API field checks
- itam: Software API ViewSet permission checks
- itam: Software Serializer Validation checks
- itam: Software API field checks
- itam: Operating System Serializer Validation checks
- itam: Operating_system API ViewSet permission checks
- itam: Operating System API field checks
- itam: Device API field checks
- itam: Device Serializer Validation checks
- core: Device API ViewSet permission checks
- enure correct type checks for url
- core: Manufacturer API ViewSet permission checks
- core: Manufacturer Serializer Validation checks
- assistance: Manufacturer API field checks
- assistance: Notes API field checks
- core: Notes Serializer Validation checks
- itim: Service Note API ViewSet permission checks
- itam: Softwaare Note API ViewSet permission checks
- itam: Operating System Note API ViewSet permission checks
- config_management: Device Note API ViewSet permission checks
- Adjust tests to cater for action choices now being an integer
- config_management: Config Groups Note API ViewSet permission checks
- config_management: History API ViewSet permission checks
- config_management: Config Groups Software API ViewSet permission checks
- config_management: Config Groups Software Serializer Validation checks
- config_management: Config Groups Software Serializer Validation checks
- config_management: Config Groups Serializer Validation checks
- config_management: Config Groups API ViewSet permission checks
- assistance: Config Group API field checks
- assistance: Knowledge Base Category Serializer Validation checks
- assistance: ensure is_valid raises exceptions for Knowledge Base Serializer Validation checks
- assistance: Knowledge Base Serializer Validation checks
- assistance: Knowledge Base Category API field checks
- assistance: Knowledge Base API field checks
- access: correct organization permission checks to have HTTP/403 not HTTP/405
- assistance: Knowledge Base Category API ViewSet permission checks
- assistance: Knowledge Base API ViewSet permission checks
- base: User API ViewSet permission checks
- base: Permission API ViewSet permission checks
- base: Content Type API ViewSet permission checks
- access: Add missing test cases to Team Users Model
- access: Team Users API v2 field checks
- access: Team User API ViewSet permission checks
- access: Team API v2 field checks
- api: API Response Field checks Abstract Class added
- access: Organization API v2 field checks
- access: Team API ViewSet permission checks
- access: Organization API ViewSet permission checks
- api: API Permission ViewSet Abstract Class added
- access: Team custom tests to ensure that during model field creation, attribute verbose_name is defined and not empty
- itim: port placeholder test for invalid port number
- use correct logic when testin field parameters as not being empty or none
- Ensure that during model field creation, attribute verbose_name is defined and not empty
- Ensure that during model field creation, attribute help_text is defined and not empty
- api: Ensure models have
Meta.ordering
set and not empty - api: viewset documentation attr check
- api: fix index import to correct viewset
- itam: Add index viewset checks
- Settings: Add index viewset checks
- project_management: Add index viewset checks
- itim: Add index viewset checks
- config_management: Add index viewset checks
- assistance: Add index viewset checks
- access: Add index viewset checks
- api: Add API v2 Endpoint
- api: ViewSet checks
- Ensure Models have attribute
page_layout
- Ensure Models have attribute
table_fields
- Ensure Models have meta attribute
verbose_name
1.3.1 (2024-11-27)
Fixes
- core: Ensure user cant view tickets in orgs they are not part of
Tests
- access: Add dummy functional test for CI to complete
1.3.0 (2024-10-31)
feat
- docker: Add worker service config for SupervisorD
- docker: ensure supervisor starts
- docker: use correct file location for nginx config
- docker: Fail the build if django is not found
- docker: Install NginX to serve site
- docker: Add supervisord for install
- docker: Add gunicorn for install
- update docker image alpine 3.19 ->3.20
Fixes
- docker: Ensure SupervisorD daemon config directory exists.
- docker: use alias for static
- access: testing of param causing gunicorn to fail
- docker: place nginx conf in correct path
- docker: gunicorn must call method
- docker: Ensure NginX config applied after it's installed
- docker: Add proxy params for NginX
- docker: Make centurion the default nginx conf
- docker: Correct NginX start command
Refactoring
- docker: Switch to entrypoint
1.2.2 (2024-10-29)
Fixes
- docker: adjust pyyaml to >-6.0.1
1.2.1 (2024-10-22)
Fixes
- project_management: Ensure user cant see projects for organizations they are apart of
Refactoring
- project_management: dont order queryset for project
1.2.0 (2024-10-11)
feat
- update django 5.0.8 -> 5.1.2
- settings: Add API filter and search
- core: Add API filter of fields external_system and external_ref for projects
- core: Add API filter of fields external_system and external_ref to tickets
- project_management: increase project field length 50 -> 100 chars
- core: increase ticket title field length 50 -> 100 chars
- core: Add ability track ticket estimation time for completion
- core: Add ability to delete a ticket
- core: [Templating Engine] Add template tag concat_strings
- itim: Add ticket tab to services
- itim: Add ticket tab to clusters
- itam: Add ticket tab to software
- itam: Add ticket tab to operating systems
- itam: Add ticket tab to devices
- config_management: Add ticket tab to conf groups
- core: Add slash command
link
for linking items to tickets - core: Add to markdown rendering model references
- core: Ability to link items to all ticket types
- core: add model ticket linked items
- project_management: Add project milestones api endpoint
- project_management: Add import_project permission and add api serializer
- core: great odins beard, remove the checkbox formatting
- project_management: Add field is_deleted to projects
- project_management: Calculate project completion percentage and display
- core: order project categories with parent name if applicable
- project_management: Add Project Type to the UI
- project_management: Add Project State to the UI
- project_management: add priority field to project model, form and api endpoint
- project_management: add organization field to project form and api endpoint
- project_management: add project_type field to project form
- project_management: add external_ref and external_system field to project model
- project_management: add project type field to project model
- project_management: add project type api endpoint
- project_management: new model project type
- project_management: add project state api endpoint
- project_management: add project state field to project model
- project_managemenet: new model project state
- project_management: add field external system to projects
- core: validate field milestone for all ticket types
- core: Add field milestone to all ticket types
- project_management: Add project milestones
- core: Add slash command "related ticket" for ticket and ticket comments
- core: Suffix username to action comments
- core: Add slash command
/spend
for ticket and ticket comments - core: Disable HTML tag rendering for markdown
- project_management: remove requirement for code field to be populated
- core: Add ticket comment category API endpoint
- core: Ability to assign categories to ticket comments
- core: Add ticket comment categories
- core: Extend all ticket endpoints to contain ticket categories
- core: Add ticket category API endpoint
- core: Ability to assign categories to tickets
- core: Addpage titles to view abstract classes
- core: Add ticket categories
- core: during markdown render, if ticket ID not found return the tag
- core: Add heading anchor plugin to markdown
- core: correct markdown formatting for KB articles
- core: remove project field from being editable when creating project task
- core: Add admonition style
- project_management: Validate project task has project set
- core: set project ID to match url kwarg
- core: Add action comment on title change
- core: Add task listts plugin to markdowm
- core: Add footnote plugin to markdowm
- core: Add admonition plugin to markdowm
- core: Add table extension to markdowm
- core: Add strikethrough extension to markdowm
- core: Add linkify extension to markdowm
- core: move markdown parser py-markdown -> markdown-it
- core: Add organization column to ticket pages
- core: Allow super-user to edit ticket comment source
- core: Render linked tickets the same as the rendered markdown link
- core: Add project task link for related project task
- project_management: Add project duration field
- core: Add external ref to tickets if populated
- core: Add project task permissions
- project_management: Add project tasks
- api: Add project tasks endpoint
- api: Add projects endpoint
- api: Add project management endpoint
- core: support negative numbers when Calculating ticket duration for ticket meta and comments
- core: Caclulate ticket duration for ticket meta and comments
- core: Add edit details to ticket and comments
- core: Don't save model history for ticket models
- core: add option to allow the prevention of history saving for tenancy models
- core: Add project field to tickets allowed fields
- core: Update ticket status when assigned/unassigned users/teams
- core: Create action comment for subscribed users/teams
- core: Create action comment for assigned users/teams
- core: adding of more ticket status icons
- api: Ticket endpoint dynamic permissions
- core: add ticket status badge
- access: add ability to fetch dynamic permissions
- core: Add delete view for ticket types: request, incident, change and problem
- api: when attempting to create a device and it's found within DB, dont recreate, return it.
- core: When solution comment posted to ticket update status to solved
- core: Add opened by column to ticket indexes
- core: permit user to add comment to own ticket
- core: Allow OP to edit own Ticket Comment
- core: Ticket Comment form submission validation
- core: Ticket Comment can be edited by owner
- core: Ticket Comment source hidden for non-triage users
- core: When fetching allowed ticket comment fields, check against permissions
- core: pass request to ticket comment form
- itam: Accept device UUID in any case.
- core: Add ticket status icon
- core: Enable ticket comment created date can be set when an import user
- api: Set default values for ticket comment form to match ticket
- core: render ticket number
#\d+
links within markdown - core: Use common function for markdown rendering for ticket objects
- api: Ensure device can add/edit organization
- core: Add api validation for ticket
- core: Ensure for tenancy objects that the organization is set
- core: Ticket comment orgaanization set to ticket organization
- core: colour code related ticket background to ticket type
- core: Validate ticket related and prevent duel related entries
- core: Validate ticket status field for all ticket types
- core: Add ticket action comments on ticket update
- core: Add Title bar to ticket form
- core: Add field level permission and validation checks
- core: Add permission checking to Tickets form
- access: add dynamic permissions to Tenancy Permissions
- api: Add Tickets endpoint
- itim: Add Problem ticket to navigation
- itim: Add Incident ticket to navigation
- itim: Add Change ticket to navigation
- assistance: Add Request ticket to navigation
- core: add basic ticketing system
- development: add option for including additional stylesheets
- ui: add project management icon
- project_management: Add manager and users for projects and tasks
- project_management: Project task view "view"
- project_management: Project task edit view
- project_management: Project task delete view
- project_management: Project task add view
- project_management: Add project task model
- project_management: save project history
- project_management: add project delete page
- project_management: add project edit page
- project_management: add project view page
- project_management: add project add page
- project_management: add project index page
- project_management: add interim project model
Fixes
- ensure model mandatory fields don't specify a default value
- api: Ensure user is set to current user for ticket comment
- core: remove org field when editing a ticket
- core: during validation, if subscribed users not specified, use empty list
- core: add missing pagination to ticket comment categories index
- core: add missing pagination to ticket categories index
- project_management: Ensure project type and state show on index page
- core: Add replacement function within ticket validation as
cleaned_data
attribute replacement - core: Ensure the ticket clears project field on project removal
- core: Remove ticket fields user has no access to
- core: correct logic for slash command
/spend
- project_management: correct project view permissions
- core: Correct view permissions for ticket comment category
- core: correct url typo for ticket category API endpoint
- core: dont attempt to modify field for ticket category API list
- core: Dont attempt to render ticket category if none
- core: Correct the delete permission
- core: correct project task reply link for comments
- core: correct project task comment buttons
- project_management: correct comment reply url name
- core: Generate the correct edit url for tickets
- core: Generate the correct comment urls for tickets
- core: Redirect to correct url for itim tickets after adding comment
- core: correct linked tickets hyperlink address
- core: order ticket comments by creation date
- core: Ensure for both ticket and comment, external details are unique.
- core: Ensure on ticket comment create and update a response is returned
- core: Ensure related tricket action comment is trimmed
- core: Team assigned to ticket status update
- api: ensure ticket_type is set from view var
- core: Add ticket fields to ticket types
- core: During ticket form validation confirm if value specified/different then default
- core: Correctly set the ticket type initial value
- core: prevent import user from having permssions within UI
- api: correct ticket view links
- core: Correct display of ticket status within ticket interface
- api: Ensure if device found it is returned
- core: Ensure status field remains as part of ticket
- core: Correct modified field to correct type for ticket comment
- api: Filter ticket comments to match ticket
- core: Correct modified field to correct type
- core: Ensure new ticket can be created
- core: Add
ticket_type
field to import_permissions - core: Ensure that the organization field is available
- core: dont remove hidden fields on ticket comment form
- core: Correct ticket comment permissions
- access: correct permission check to cater for is_global=None
- core: return correct redirect path for related ticket form
- core: use from ticket title for "blocked by"
- access: Don't query for
is_global=None
withinTenancyManager
- core: ensure is_global check does not process null value
Refactoring
- core: Ticket Linked ref render as template
- core: migrate ticket enums to own class
- core: Ticket validation errors setup for both api and ui
- core: for tickets use validation for organization field
- core: refine ticket field permission and validation
- reduce action comment spacing
- core: update markdown styles
- core: migrate ticket number rendering as markdown_it plugin
- core: move markdown functions out of ticket model
- core: Adjust test layout for itsm and project field based permissions
- project_management: migrate projects to new style for views
- core: REmove constraint on setting user for ticket comment
- core: cache fields allowed during ticket validation
- core: dont require specifying ticket status
- core: move id to end for rendered ticket link.
- api: Ticket (change, incident, problem and request) to static api endpoints
- api: make ticket status field mandatory
- api: Move core tickets to own ticket endpoints
- core: During form validation for a ticket, use defaults if not defined for mandatory fields
- core: Ticket form ticket_type to use class var
- core: cache permission check for ticket types
- core: Move allowed fields logic to own function
- access: Add definable parameters to organization mixin
- access: cache user_organizations on lookup
- access: cache object_organization on lookup
Tests
- core: Ticket Linked item view checks
- core: Ticket Linked item permission checks
- project_management: Project Milestone api permission checks
- project_management: Project TYpe tenancy model checks
- project_management: Project Type view checks
- project_management: Project Type permission checks
- project_management: Project Type core history checks
- project_management: Project Type tenancy object checks
- project_management: Project State permission checks
- project_management: Project State tenancy model checks
- project_management: Project State view checks
- project_management: Project State core history checks
- project_management: Project State tenancy object checks
- project_management: Project type API permission checks
- project_management: Project state API permission checks
- project_management: Project miletone skipped api checks
- project_management: Project Milestone tenancy model checks
- project_management: Project Milestone view checks
- project_management: Project Milestone ui permission checks
- project_management: Project Milestone core history checks
- project_management: Project Milestone Tenancy object checks
- core: Project tenancy model checks
- core: Project view checks
- core: Project UI permission checks
- core: Project API permission checks
- core: Project history checks
- core: Project Tenancy object checks
- core: Ticket comment category API permission checks
- core: add missing ticket category view checks
- core: ticket comment category tenancy model checks
- core: ticket comment category view checks
- core: ticket comment category ui permission checks
- core: ticket comment category history checks
- core: ticket comment category tenancy model checks
- core: ticket category API permission checks
- core: ticket category history checks
- core: ticket category tenancy model checks
- core: ticket category model checks
- core: view checks
- core: ui permissions
- core: correct project tests for triage user
- core: Project task permission checks
- core: Ticket comment API permission checks
- core: Ticket comment permission checks
- core: Ticket comment Views
- core: Tenancy model tests for ticket comment
- core: ensure history for ticket models is not saved
- Ensure tenancy models save model history
- core: remove duplicated tenancy object tests for ticket model
- core: correct triage user test names for allowed field permissions
- core: project field permission check for triage user
- core: Ticket Action comment checks for related tickets
- core: Ticket Action comment checks for subscribing team
- core: Ticket Action comment checks for subscribing user
- core: Ticket Action comment checks for unassigning team
- core: Ticket Action comment checks for assigning team
- core: Ticket Action comment checks for un-assigning user
- core: Ticket Action comment checks for assigning user
- core: Add ticket project field permission check
- core: ensure ticket_type tests dont have change value that matches ticket type
- core: field based permission tests for add, change, import and triage user
- api: Ticket (change, incident, problem and request) api permission checks
- core: interim ticket unit tests
- itam: Ensure if an attempt to add an existing device via API, it's not recreated and is returned.
- correct typo in test description for
test_model_add_has_permission
- Add view must have function
get_initial
- itam: Refactor Device tests organization field to be editable.
- Ensure tests add organization to tenancy objects on creation
1.1.0 (2024-08-23)
feat
- itim: Dont attempt to apply cluster type config if no type specified.
- itim: Service config rendered as part of cluster config
- itim: dont force config key, validate when it's required
- itim: Services assignable to cluster
- itim: Ability to add configuration to cluster type
- itim: Ability to add external link to cluster
- itim: Ability to add and configure Cluster Types
- itim: Add cluster to history save
- itim: prevent cluster from setting itself as parent
- itim: Ability to add and configure cluster
- itam: Track if device is virtual
- api: Endpoint to fetch user permissions
- development: Add function to filter permissions to those used by centurion
- development: Add new template tag
choice_ids
for string list casting - development: Render
model_name_plural
as part of back button - development: add to form field
model_name_plural
- development: render heading if section included
- base: create detail view templates
- itam: Render Service Config with device config
- itam: Display deployed services for devices
- itim: Prevent circular service dependencies
- itim: Port number validation to check for valid port numbers
- itim: Prevent Service template from being assigned as dependent service
- itim: Add service template support
- itim: Ports for service management
- itim: Service Management
- assistance: Filter KB articles to target user
- assistance: Add date picker to date fields for KB articles
- assistance: Dont display expired articles for "view" users
- base: add code highlighting to markdown
- assistance: Categorised Knowledge base articles
- itim: Add menu entry
- itam: Ability to add device configuration
- settings: New model to allow adding templated links to devices and software
Fixes
- settings: return the rendering of external links to models
- core: Ensure when saving history json is correctly formatted
- itim: Fix name typo in Add Service button
- Ensure tenancy models have
Meta.verbose_name_plural
attribute - base: Use correct url for back button
- itim: ensure that the service template config is also rendered as part of device config
- itim: dont render link if no device
- itim: Dont show self within service dependencies
- assistance: Only return distinct values when limiting KB articles
Refactoring
- itim: Add Cluster type to index page
- itam: Knowledge Base now uses details template
- itam: Device Type now uses details template
- itam: Operating System now uses details template
- itim: Service Port now uses details template
- itam: Device Model now uses details template
- config_management: Config Groups now uses details template
- itam: Software Categories now uses details template
- itam: manufacturer now uses details template
- itam: software now uses details template
- itam: device now use details template
- itim: services now use details template
Tests
- itim: Cluster Types unit tests
- itim: Cluster unit tests
- itam: Correct Device Type Model permissions test to use "change" view
- itam: Correct Operating System Model permissions test to use "change" view
- config_management: Correct Device Model permissions test to use "change" view
- config_management: Correct Config Group permissions test to use "change" view
- itam: Correct Software Category permissions test to use "change" view
- core: Correct manufacturer permissions test to use "change" view
- itam: Correct software permissions test to use "change" view
- model: test for checking if Meta sub-class has variable verbose_name_plural
- external_link: add tests
1.0.0 (2024-08-23)
1.0.0-b14 (2024-08-12)
Fixes
- api: ensure model_notes is an available field
Tests
- access: test field model_notes
1.0.0-b13 (2024-08-11)
Fixes
- Audit models for validations
- itam: Ensure device name is formatted according to RFC1035 2.3.1
- itam: Ensure device UUID is correctly formatted
- config_management: Ensure that config group can't set self as parent
- settings: ensure that the api token cant be saved to notes field
Tests
- api field checks
- software: api field checks
1.0.0-b12 (2024-08-10)
Fixes
- api: ensure org mixin is inherited by software view
- base: correct project links to github
Tests
- api field checks
#128 #162
- teams: api field checks
- organization: api field checks
1.0.0-b11 (2024-08-10)
1.0.0-b10 (2024-08-09)
1.0.0-b9 (2024-08-09)
1.0.0-b8 (2024-08-09)
1.0.0-b7 (2024-08-09)
1.0.0-b6 (2024-08-09)
1.0.0-b5 (2024-07-31)
feat
- add Config groups to API
- api: Add device config groups to devices
- api: Ability to fetch configgroups from api along with config
Fixes
- api: Ensure device groups is read only
Tests
- api: Field existence and type checks for device
- api: test configgroups API fields
1.0.0-b4 (2024-07-29)
feat
- swagger: remove
{format}
suffixed doc entries
Fixes
- release-b3 fixes
- api: cleanup team post/get
- api: confirm HTTP method is allowed before permission check
- api: Ensure that organizations can't be created via the API
- access: Team model class inheritance order corrected
Tests
- confirm that the tenancymanager is called
1.0.0-b3 (2024-07-21)
Fixes
- itam: Limit os version count to devices user has access to
1.0.0-b2 (2024-07-19)
Fixes
- itam: only show os version once
1.0.0-b1 (2024-07-19)
Fixes
- itam: ensure installed operating system count is limited to users organizations
- itam: ensure installed software count is limited to users organizations
1.0.0-a4 (2024-07-18)
feat
- api: When processing uploaded inventory and name does not match, update name to one within inventory file
- config_management: Group name to be entire breadcrumb
Tests
- ensure inventory upload matches by both serial number and uuid if device name different
- placeholder for moving organization
1.0.0-a3 (2024-07-18)
feat
- config_management: Prevent a config group from being able to change organization
- itam: On device organization change remove config groups
Fixes
- config_management: dont attempt to do action during save if group being created
- itam: remove org filter for device so that user can see installations
- itam: remove org filter for operating systems so that user can see installations
- itam: remove org filter for software so that user can see installations
- itam: Device related items should not be global.
- itam: When changing device organization move related items too.
1.0.0-a2 (2024-07-17)
feat
- api: Inventory matching of device second by uuid
- api: Inventory matching of device first by serial number
- base: show warning bar if the user has not set a default organization
Fixes
- base: dont show user warning bar for non-authenticated user
- api: correct inventory operating system selection by name
- api: correct inventory operating system and it's linking to device
- api: correct inventory device search to be case insensitive
1.0.0-a1 (2024-07-16)
BREAKING CHANGE
- squashed DB migrations in preparation for v1.0 release.
feat
- Administratively set global items org/is_global field now read-only
- access: Add multi-tennant manager
Fixes
- core: migrate manufacturer to use new form/view logic
- settings: correct the permission to view manufacturers
- access: Correct team form fields
- config_management: don't exclude parent from field, only self
Refactoring
- repo preperation for v1.0.0-Alpha-1
- Squash database migrations
Tests
- tenancy objects
- refactor to single abstract model for inclusion.
0.7.0 (2024-07-14)
feat
- core: Filter every form field if associated with an organization to users organizations only
- core: add var
template_name
to common view template for all views that require it - core: add Display view to common forms abstract class
- navigation: always show every menu for super admin
- core: only display navigation menu item if use can view model
- django: update 5.0.6 -> 5.0.7
- core: add common forms abstract class
- core: add common views abstract class
- add postgreSQL database support
- ui: add config groups navigation icon
- ui: add some navigation icons
- itam: update inventory status icon
- itam: ensure device software pagination links keep interface on software tab
- "Migrate inventory processing to background worker"
- access: enable non-organization django permission checks
- settings: Add celery task results index and view page
- base: Add background worker
- itam: Update Serial Number from inventory if present and Serial Number not set
- itam: Update UUID from inventory if present and UUID not set
Fixes
- config_management: Don't allow a config group to assign itself as its parent
- config_management: correct permission for deleting a host from config group
- config_management: use parent group details to work out permissions when adding a host
- config_management: use parent group details to work out permissions
- itam: Add missing permissions to software categories index view
- itam: Add missing permissions to device types index view
- itam: Add missing permissions to device model index view
- settings: Add missing permissions to app settings view
- itam: Add missing permissions to software index view
- itam: Add missing permissions to operating system index view
- itam: Add missing permissions to device index view
- config_management: Add missing permissions to group views
- navigation: always show settings menu entry
- itam: cater for fields that are prefixed
- itam: Ability to view software category
- itam: correct view permission
- access: When adding a new team to org ensure parent model is fetched
- access: enable org manager to view orgs
- settings: restrict user visible organizations to ones they are part of
- access: enable org manager to view orgs
- access: fetch object if method exists
- docs: update docs link to new path
- access: correctly set team user parent model to team
- access: fallback to django permissions if org permissions check is false
- access: Correct logic so that org managers can see orgs they manage
- base: add missing content_title to context
- access: Enable Organization Manager to view organisations they are assigned to
- api: correct logic for adding inventory UUID and serial number to device
- ui: navigation alignment and software icon
- ui: display organization manager name instead of ID
- access: ensure name param exists before attempting to access
- itam: dont show none/nil for device fields containing no value
- itam: show device model name instead of ID
- api: Ensure if serial number from inventory is
null
that it's not used - api: ensure checked uuid and serial number is used for updating
- inventory
- itam: only remove device software when not found during inventory upload
- itam: only update software version if different
- existing device without uuid not updated when uploading an inventory
- Device Software tab pagination does not work
- itam: correct device software pagination
Refactoring
- adjust views missing add/change form to now use forms
- add navigation menu expand arrows
- migrate views to use new abstract model view classes
- migrate forms to use new abstract model form class
- access: Rename Team Button "new user" -> "Assign User"
- access: model pk and name not required context for adding a device
- rename field "model notes" -> "Notes"
- remove settings model
- ui: increase indentation to sub-menu items
- itam: rename old inventory status icon for use with security
- api: migrate inventory processing to background worker
- itam: only perform actions on device inventory if DB matches inventory item
Tests
- add test test_view_*_attribute_not_exists_fields for add and change views
- fix test_view_change_attribute_type_form_class to test if type class
- views: add test cases for model views
- Add Test case abstract classes to models
- inventory: add mocks?? for calling background worker
- view: view permission checks
- inventory: update tests for background worker changes
0.6.0 (2024-06-30)
feat
- user api token
- api: API token authentication
- api: abilty for user to create/delete api token
- api: create token model
Fixes
- user_token: conduct user check on token view access
- itam: use same form for edit and add
- itam: dont add field inventorydate if adding new item
- api: inventory upload requires sanitization
Refactoring
- settings: use seperate change/view views
- settings: use form for user settings
- tests: move unit tests to unit test sub-directory
Tests
- token_auth: test authentication method token
- more tests
- add .coveragerc to remove non-code files from coverage report
- Unit Tests TenancyObjects
- Test Cases for TenancyObjects
- tests for checking links from rendered templetes
- core: test cases for notes permissions
- config_management: config groups history permissions
- api: Majority of Inventory upload tests
- access: TenancyObject field tests
- access: remove skipped api tests for team users
0.5.0 (2024-06-17)
feat
- Setup Organization Managers
- access: add notes field to organization
- access: add organization manger
- config_management: Use breadcrumbs for child group name display
- config_management: ability to add host to global group
- itam: add a status of "bad" for devices
- itam: paginate device software tab
- itam: status of device visible on device index page
- API Browser
- core: add skeleton http browser
- core: Add a notes field to manufacturer/ publisher
- itam: Add a notes field to software category
- itam: Add a notes field to device types
- itam: Add a notes field to device models
- itam: Add a notes field to software
- itam: Add a notes field to operating system
- itam: Add a notes field to devices
- access: Add a notes field to teams
- base: Add a notes field to
TenancyObjetcs
class - settings: add docs icon to application settings page
- itam: add docs icon to software page
- itam: add docs icon to operating system page
- itam: add docs icon to devices page
- config_management: add docs icon to config groups page
- base: add dynamic docs icon
- config group software
- models: add property parent_object to models that have a parent
- config_management: add config group software to group history
- itam: render group software config within device rendered config
- config_management: assign software action to config group
- sso
- add configuration value 'SESSION_COOKIE_AGE'
- remove development SECRET_KEY and enforce checking for user configured one
- base: build CSRF trusted origins from configuration
- base: Enforceable SSO ONLY
- base: configurable SSO
Fixes
- itam: remove requirement that user needs change device to add notes
- core: dont attempt to access parent_object if 'None' during history save
- config_management: Add missing parent item getter to model
- core: overridden save within SaveHistory to use default attributes
- access: overridden save to use default attributes
- History does not delete when item deleted
- core: on object delete remove history entries
- inventory upload cant determin object organization
- api: ensure proper permission checking
- dont throw an exception during settings load for an item django already checks
- core: Add overrides for delete so delete history saved for items with parent model
- config_management: correct delete success url
- base: remove social auth from nav menu
- access: add a team user permissions to use team organization
Refactoring
- access: relocate permission check to own function
- itam: move device os tab to details tab
- itam: add device change form and adjust view to be non-form
- itam: migrate device vie to use manual entered fields in two columns
- access: migrate team users view to use forms
- access: migrate teams view to use forms
- access: migrate organization view to use form
- base: cleanup form and prettyfy
- config_management: relocate groups views to own directory
- login to use base template
- adjust template block names
Tests
- access: team user model permission check for organization manager
- access: team model permission check for organization manager
- access: organization model permission check for organization manager
- access: add test cases for model delete as organization manager
- access: add test cases for model addd as organization manager
- access: add test cases for model change as organization manager
- access: add test cases for model view as organization manager
- write some more
- core: skip invalid tests
- itam: tests for device type history entries
- core: tests for manufacturer history entries
- move manufacturer to it's parent
- refactor api model permission tests to use an abstract class of test cases
- move tests to the module they belong to
- refactor history permission tests to use an abstract class of test cases
- refactor model permission tests to use an abstract class of test cases
- refactor history entry to have test cases in abstract classes
- itam: history entry tests for software category
- itam: history entry tests for device operating system version
- itam: history entry tests for device operating system
- itam: history entry tests for device software
- itam: ensure child history is removed on config group software delete
- add placeholder tests
- itam: ensure history is removed on software delete
- itam: ensure history is removed on operating system delete
- itam: ensure history is removed on device model delete
- config_management: test history on delete for config groups
- itam: ensure history is removed on device delete
- access: test team history
- access: ensure team user history is created and removed as required
- access: ensure history is removed on team delete
- access: ensure history is removed on item delete
- api: Inventory upload permission checks
- config_management: testing of config_groups rendered config
- config_management: history save tests for config groups software
- config_management: config group software permission for add, change and delete
- base: placeholder tests for config groups software
- base: basic test for merge_software helper
- during unit tests add SECRET_KEY
0.4.0 (2024-06-05)
feat
- 2024 06 05
- database: add mysql support
- api: move invneotry api endpoint to '/api/device/inventory'
- core: support more history types
- core: function to fetch history entry item
- 2024 06 02
- config_management: Add button to groups ui for adding child group
- access: throw error if no organization added
- itam: add delete button to config group within ui
- itam: Config groups rendered configuration now part of devices rendered configuration
- config_management: Ability to delete a host from a config group
- config_management: Ability to add a host to a config group
- config_management: ensure config doesn't use reserved config keys
- config_management: Config groups rendered config
- config_management: add configuration groups
- api: add swagger ui for documentation
- api: filter software to users organizations
- api: filter devices to users organizations
- randomz
- api: add org team view page
- API configuration of permissions
- api: configure team permissions
Fixes
- itam: ensure device type saves history
- core: correct history view permissions
- config_management: set config dict keys to be valid ansible variables
- itam: correct logic for device add dynamic success url
- itam: correct config group link for device
- config_management: correct model permissions
- config_management: add config management to navigation
- ui: remove api entries from navigation
- api: check for org must by by type None
- api: correct software permissions
- api: corrct device permissions
- api: permissions for teams
- api: correct reverse url lookup to use NS API
- api: permissions for organization
Refactoring
- access: cache object so it doesnt have to be called multiple times
- config_management: move groups to nav menu
- api: migrate devices and software to viewsets
- api: move permission check to mixin
- access: add team option to org permission check
Tests
- api: placeholder test for inventory
- settings: access permission check for app settings
- settings: history view permission check for software category
- settings: history view permission check for manufacturer
- settings: history view permission check for device type
- settings: user settings
- settings: view permission check for user settings
- refactor core test layout
- itam: view permission check for software
- itam: view permission check for operating system
- itam: view permission check for device model
- itam: view permission check for device
- config_management: view permission check for config_groups
- access: view permission check for team
- access: view permission check for organization
- add history entry creation tests for most models
- config_management: when adding a host to config group filter out host that are already members of the group
- config_management: unit test for config groups model to ensure permissions are working
- api: remove tests for os and manufacturer as they are not used in api
- api: check model permissions for software
- api: check model permissions for devices
- api: check model permissions for teams
- api: check model permissions for organizations
0.3.0 (2024-05-29)
feat
- Randomz
- access: during organization permission check, check to ensure user is logged on
- history: always create an entry even if user=none
- itam: device uuid must be unique
- itam: device serial number must be unique
- 2024 05 26
- setting: Enable super admin to set ALL manufacturer/publishers as global
- setting: Enable super admin to set ALL device types as global
- setting: Enable super admin to set ALL device models as global
- setting: Enable super admin to set ALL software categories as global
- UI: show build details with page footer
- software: Add output to stdout to show what is and has occurred
- 2024 05 25
- base: Add delete icon to content header
- itam: Populate initial organization value from user default organization for software category creation
- itam: Populate initial organization value from user default organization for device type creation
- itam: Populate initial organization value from user default organization for device model creation
- api: Populate initial organization value from user default organization inventory
- itam: Populate initial organization value from user default organization for Software creation
- itam: Populate initial organization value from user default organization for operating system creation
- device: Populate initial organization value from user default organization
- Add management command software
- setting: Enable super admin to set ALL software as global
- user: Add user settings panel
- Manufacturer and Model Information
- itam: Add publisher to software
- itam: Add publisher to operating system
- itam: Add device model
- core: Add manufacturers
- settings: add dummy model for permissions
- settings: new module for whole of application settings/globals
- 2024 05 21-23
- access: Save changes to history for organization and teams
- software: Save changes to history
- operating_system: Save changes to history
- device: Save changes to history
- core: history model for saving model history
- 2024 05 19/20
- itam: Ability to add notes to software
- itam: Ability to add notes to operating systems
- itam: Ability to add notes on devices
- core: notes model added to core
- device: Record inventory date and show as part of details
- ui: Show inventory details if they exist
- api: API accept computer inventory
Fixes
- settings: Add correct permissions for team user delete
- settings: Add correct permissions for team user view/change
- settings: Add correct permissions for team view/change
- settings: Add correct permissions for team add
- settings: Add correct permissions for team delete
- access: correct back link within team view
- access: correct url name to be within naming conventions
- settings: Add correct permissions for manufacturer / publisher delete
- settings: Add correct permissions for manufacturer / publisher add
- settings: Add correct permissions for manufacturer / publisher view/update
- settings: Add correct permissions for software category delete
- settings: Add correct permissions for software category add
- settings: Add correct permissions for software category view/update
- settings: Add correct permissions for device type delete
- settings: Add correct permissions for device type add
- settings: Add correct permissions for device type view/update
- settings: Add correct permissions for device model delete
- settings: Add correct permissions for device model add
- settings: Add correct permissions for device model view/update
- access: Add correct permissions for organization view/update
- access: use established view naming
- itam: Add correct permissions for operating system delete
- itam: Add correct permissions for operating system add
- itam: Add correct permissions for operating system view/update
- itam: Add correct permissions for software delete
- itam: Add correct permissions for software add
- itam: for non-admin user use correct order by fields for software view/update
- itam: Add correct permissions for software view/update
- itam: ensure permission_required parameter for view is a list
- core: dont save history when no user information available
- access: during organization permission check, check the entire list of permissions
- core: dont save history for anonymous user
- access: during permission check use post request params for an add action
- user: on new-user signal create settings row if not exist
- itam: ensure only user with change permission can change a device
- user: if user settings row doesn't exist on access create
- access: adding/deleting team group actions moved to model save/delete method override
- api: add teams and permissions to org and teams respectively
- ui: correct repo url used
- api: device inventory date set to read only
- software: ensure management command query correct for migration
- device: OS form trying to add last inventory date when empty
- add static files path to urls
- inventory: Dont select device_type, use 'null'
- base: show "content_title - SITE_TITLE" as site title
- device: Read Only field set as required=false
- correct typo in notes templates
- ui: Ensure navigation menu entry highlighted for sub items
Refactoring
- access: add to models a get_organization function
- access: remove change view
- itam: relocation item delete from list to inside device
- context_processor: relocate as base
- itam: software index does not require created and modified date
- organizations: set org field to null if not set
- itam: move software categories to settings app
- itam: move device types to settings app
- template: content_title can be rendered in base
Tests
- cleanup duplicate tests and minor reshuffle
- access: unit testing team user permissions
- access: unit testing team permissions
- settings: unit testing manufacturer permissions
- settings: unit testing software category permissions
- device_model: unit testing device type permissions
- device_model: unit testing device model permissions
- organization: unit testing organization permissions
- operating_system: unit testing operating system permissions
- software: unit testing software permissions
- device: unit testing device permissions
- adjust test layout and update contributing
- core: placeholder tests for history component
- core: place holder tests for notes model
- api: add placeholder tests for inventory
0.2.0 (2024-05-18)
feat
- 2024 05 18
- itam: Add Operating System to ITAM models
- api: force content type to be JSON for req/resp
- software: view software
- 2024 05 17
- device: Prevent devices from being set global
- software: if no installations found, denote
- device: configurable software version
- software_version: name does not need to be unique
- software_version: set is_global to match software
- software: prettify device software action
- software: ability to add software versions
- base: add stylised action button/text
- software: add pagination for index
- device: add pagination for index
Fixes
- device: correct software link
0.1.0 (2024-05-17)
feat
- API token auth
- api: initial token authentication implementation
- itam and API setup
- docker: add settings to store data in separate volume
- django: add split settings for specifying additional settings paths
- api: Add device config to device
- itam: add organization to device installs
- itam: migrate app from own repo
- Enable API by default
- Genesis
- admin: remove team management
- admin: remove group management
- access: adjustable team permissions
- api: initial work on API
- template: add header content icon block
- tenancy: Add is_ global field
- access: when modifying a team ad/remove user from linked group
- auth: include python social auth django application
- Build docker container for release
- access: add permissions to team and user
- style: format check boxes
- access: delete team user form
- view: new user
- user who is 'is_superuser' to view everything and not be denied access
- access: add org mixin to current views
- access: add views for each action for teams
- access: add mixin to check organization permissions against user and object
- account: show admin site link if user is staff
- development: added the debug django app
- access: rename structure to access and remove organization app in favour of own implementation
- account: Add user password change form
- urls: provide option to exclude navigation items
- structure: unregister admin pages from organization app not required
- auth: Custom Login Page
- auth: Add User Account Menu
- auth: Setup Login required
- Dyno-magic build navigation from application urls.py
- structure: Select and View an individual Organization
- structure: View Organizations
- app: Add new app structure for organizations and teams
- template: add base template
- django: add organizations app
Fixes
- itam: device software to come from device org or global not users orgs
- access: correct team required permissions
- fields: correct autoslug field so it works
- docker: build wheels then install
Refactoring
- button to use same selection colour
- access: remove inline form for org teams
- rename app from itsm -> app
- access: dont use inline formset
- views: move views to own directory
- access: addjust org and teams to use different view per action
Tests
- interim unit tests