diff --git a/.cz.yaml b/.cz.yaml index 07af30ae1..e7387fa81 100644 --- a/.cz.yaml +++ b/.cz.yaml @@ -17,5 +17,5 @@ commitizen: prerelease_offset: 1 tag_format: $version update_changelog_on_bump: false - version: 1.1.0 + version: 1.2.0 version_scheme: semver diff --git a/CHANGELOG.md b/CHANGELOG.md index fb78f4d27..99640e5af 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,304 @@ +## 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` within `TenancyManager` +- **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