Skip to content

Releases: nofusscomputing/centurion_erp

1.17.1

02 Jun 00:42
Compare
Choose a tag to compare

1.17.1 (2025-06-02)

Fixes

  • base: Add python metrics to prometheus exporter

Images part of this release

The following images were built and published:

  • docker pull docker.io/nofusscomputing/centurion-erp:dev
  • docker pull docker.io/nofusscomputing/centurion-erp:4fb94bdd6dae9cf23b924f52b9df20686d739ac8
  • docker pull docker.io/nofusscomputing/centurion-erp:1.17.1

1.17.0

16 May 11:13
Compare
Choose a tag to compare

1.17.0 (2025-05-16)

⚠️ Important 🛑

As Organizations was renamed to Tenant the migrations will have to be done in two stages. The migrations commands are:

  1. python manage.py migrate access 0007_rename_organization_tenant
    This does the table rename and triggers the creation of the new permissions.
  2. python manage.py migrate
    This will complete the migrations

Note: If you fail to do the migrations in two steps you will receive an error stating django.contrib.auth.models.Permission.DoesNotExist: Permission matching query does not exist. If you jumped the gun and failed to run the migrations as above. Roll the migrations back by running python manage.py migrate access 0007_rename_organization_tenant

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 use get_user_model()
  • project_management: Update all references to User to use get_user_model()
  • itam: Update all references to User to use get_user_model()
  • devops: Update all references to User to use get_user_model()
  • core: Update all references to User to use get_user_model()
  • config_management: Update all references to User to use get_user_model()
  • assistance: Update all references to User to use get_user_model()
  • app: Update all references to User to use get_user_model()
  • api: Update all references to User to use get_user_model()
  • accounting: Update all references to User to use get_user_model()
  • access: Update all references to User to use get_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
  • **ac...
Read more

1.16.0

04 May 11:17
Compare
Choose a tag to compare

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 and triage to model TicketCommentSolution
  • core: Add permissions import, purge and triage 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 and duration_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

Images part of this release

The following images were built and published:

  • docker pull docker.io/nofusscomputing/centurion-erp:dev
  • docker pull docker.io/nofusscomputing/centurion-erp:975a71bdd695c7c20eb9a804cb277805c82e5a94
  • docker pull docker.io/nofusscomputing/centurion-erp:1.16.0

1.15.1

10 Apr 05:54
Compare
Choose a tag to compare

1.15.1 (2025-04-10)

Fixes

  • python: Downgrade django 5.2 -> 5.1.8

Images part of this release

The following images were built and published:

  • docker pull docker.io/nofusscomputing/centurion-erp:dev
  • docker pull docker.io/nofusscomputing/centurion-erp:04780767c006d128d9b5ce217001c6192b8b0bf3
  • docker pull docker.io/nofusscomputing/centurion-erp:1.15.1

Images part of this release

The following images were built and published:

  • docker pull docker.io/nofusscomputing/centurion-erp:dev
  • docker pull docker.io/nofusscomputing/centurion-erp:04780767c006d128d9b5ce217001c6192b8b0bf3
  • docker pull docker.io/nofusscomputing/centurion-erp:1.15.1

1.15.0

10 Apr 03:54
Compare
Choose a tag to compare

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

Images part of this release

The following images were built and published:

  • docker pull docker.io/nofusscomputing/centurion-erp:dev
  • docker pull docker.io/nofusscomputing/centurion-erp:db25eabfdd0662c9f56aeb1d6466a3c8e5711748
  • docker pull docker.io/nofusscomputing/centurion-erp:1.15.0

1.14.0

29 Mar 05:50
Compare
Choose a tag to compare

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 and provider_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

Images part of this release

The following images were built and published:

  • docker pull docker.io/nofusscomputing/centurion-erp:dev
  • docker pull docker.io/nofusscomputing/centurion-erp:b7880de54d55be7b5ceb4256df753351ced6fcf2
  • docker pull docker.io/nofusscomputing/centurion-erp:1.14.0

1.13.1

17 Mar 04:57
Compare
Choose a tag to compare

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

Images part of this release

The following images were built and published:

  • docker pull docker.io/nofusscomputing/centurion-erp:dev
  • docker pull docker.io/nofusscomputing/centurion-erp:7a9680d988b4ae13f68f9d6fba413efebd039938
  • docker pull docker.io/nofusscomputing/centurion-erp:1.13.1

Images part of this release

The following images were built and published:

  • docker pull docker.io/nofusscomputing/centurion-erp:dev
  • docker pull docker.io/nofusscomputing/centurion-erp:7a9680d988b4ae13f68f9d6fba413efebd039938
  • docker pull docker.io/nofusscomputing/centurion-erp:1.13.1

1.13.0

16 Mar 02:59
Compare
Choose a tag to compare

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 value not-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

Images part of this release

The following images were built and published:

  • docker pull docker.io/nofusscomputing/centurion-erp:dev
  • docker pull docker.io/nofusscomputing/centurion-erp:3925b96cb0eba94141f10de9b357a0c07ac25203
  • docker pull docker.io/nofusscomputing/centurion-erp:1.13.0

1.12.0

01 Mar 11:10
Compare
Choose a tag to compare

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

Images part of this release

The following images were built and published:

  • docker pull docker.io/nofusscomputing/centurion-erp:dev
  • docker pull docker.io/nofusscomputing/centurion-erp:fa03f7471bf49f5792c67ce03e6608c7f358e4ec
  • docker pull docker.io/nofusscomputing/centurion-erp:1.12.0

1.11.0

21 Feb 13:55
Compare
Choose a tag to compare

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...
Read more