Skip to content

New Model - core.TicketLinkedModel #1012

@jon-nfc

Description

@jon-nfc

Add a new meta model that automagically adds n additional model when a model is added to centurion. This meta model will be used for linking Centurion objects to tickets.

📝 Details

Require a new model that can be used to link an object to a ticket.

🚧 Tasks

  • 🆕 Model Created

  • 🛠️ Migrations added

  • ♻️ Serializer Created

  • 🔄 ViewSet Created

  • 🔗 URL Route Added

  • [ ] 🏷️ Model tag Model not intended to need, skipped

    • [ ] 📘 Tag updated in the docs Model not intended to need, skipped

    • [ ] tag added to class Model not intended to need, skipped

  • Admin Documentation added/updated if applicable

  • Developer Documentation added/updated if applicable

  • User Documentation added/updated


  • Ensure ModelTicket endpoints tested (api field render)
  • Ensure ModelTicket sub-model endpoints tested (api field render)

🧪 Tests

  • Unit Tests
  • Function Test
    • API Metadata
    • API Render (fields)
    • Model
    • Serializer
    • ViewSet

✅ Requirements

A Requirement is a must have. In addition will also be tested.

  • [ ] Must have a model_tag Model not intended to need, skipped
  • Functional Requirements

  • [ ] User must have permission to triage ticket to link an item ♻️ not required as linking ticket<>model has its own permissions

  • must filter linked items by users permissions to view if item is linked

  • model assigned to a ticket must be unique

  • tests for:

    • model attribute _ticket_linkable
    • Every model serializer with _ticket_linkable = True has key _urls.tickets
    • core.ModelTicketMetaModel (the sub model) is tested for ALL models
  • Can add a ticket to a model
    usage: from model details page

  • can add a model to a ticket
    usage: from ticket page

  • Non-Functional Requirements


Metadata

Metadata

Assignees

Labels

task::featureAdds functionalitytriageTag given to issues/merge requests requiring triaging by the team.type::taskIssue Type

Type

Projects

Status

In progress

Relationships

None yet

Development

No branches or pull requests

Issue actions