@ -2,7 +2,7 @@ from rest_framework.fields import empty
|
||||
|
||||
from api.serializers.core.ticket import TicketSerializer
|
||||
|
||||
from core.models.ticket.ticket import Ticket
|
||||
from core.models.ticket import Ticket
|
||||
|
||||
|
||||
|
||||
|
@ -6,7 +6,7 @@ from rest_framework.fields import empty
|
||||
from api.serializers.core.ticket_comment import TicketCommentSerializer
|
||||
|
||||
from core.forms.validate_ticket import TicketValidation
|
||||
from core.models.ticket.ticket import Ticket
|
||||
from core.models.ticket import Ticket
|
||||
|
||||
|
||||
|
||||
|
@ -2,7 +2,7 @@ from rest_framework.fields import empty
|
||||
|
||||
from api.serializers.core.ticket import TicketSerializer
|
||||
|
||||
from core.models.ticket.ticket import Ticket
|
||||
from core.models.ticket import Ticket
|
||||
|
||||
|
||||
|
||||
|
@ -2,7 +2,7 @@ from rest_framework.fields import empty
|
||||
|
||||
from api.serializers.core.ticket import TicketSerializer
|
||||
|
||||
from core.models.ticket.ticket import Ticket
|
||||
from core.models.ticket import Ticket
|
||||
|
||||
|
||||
|
||||
|
@ -2,7 +2,7 @@ from rest_framework.fields import empty
|
||||
|
||||
from api.serializers.core.ticket import TicketSerializer
|
||||
|
||||
from core.models.ticket.ticket import Ticket
|
||||
from core.models.ticket import Ticket
|
||||
|
||||
|
||||
|
||||
|
@ -2,7 +2,7 @@ from rest_framework.fields import empty
|
||||
|
||||
from api.serializers.core.ticket import TicketSerializer
|
||||
|
||||
from core.models.ticket.ticket import Ticket
|
||||
from core.models.ticket import Ticket
|
||||
|
||||
|
||||
|
||||
|
@ -11,7 +11,7 @@ from api.serializers.itim.problem import ProblemTicketSerializer
|
||||
from api.serializers.project_management.project_task import ProjectTaskSerializer
|
||||
from api.views.mixin import OrganizationPermissionAPI
|
||||
|
||||
from core.models.ticket.ticket import Ticket
|
||||
from core.models.ticket import Ticket
|
||||
|
||||
|
||||
|
||||
|
@ -6,7 +6,7 @@ from app import settings
|
||||
|
||||
from core.forms.common import CommonModelForm
|
||||
|
||||
from core.models.ticket.ticket import RelatedTickets
|
||||
from core.models.ticket import RelatedTickets
|
||||
|
||||
|
||||
class RelatedTicketForm(CommonModelForm):
|
||||
|
@ -7,7 +7,7 @@ from app import settings
|
||||
from core.forms.common import CommonModelForm
|
||||
from core.forms.validate_ticket import TicketValidation
|
||||
|
||||
from core.models.ticket.ticket import Ticket, RelatedTickets
|
||||
from core.models.ticket import Ticket, RelatedTickets
|
||||
|
||||
|
||||
|
||||
|
@ -54,7 +54,7 @@ def plugin(
|
||||
ticket_id = match.group(1)
|
||||
|
||||
try:
|
||||
from core.models.ticket.ticket import Ticket
|
||||
from core.models.ticket import Ticket
|
||||
|
||||
ticket = Ticket.objects.get(pk=ticket_id)
|
||||
|
||||
|
@ -48,7 +48,7 @@ For this command to process the following conditions must be met:
|
||||
|
||||
if ticket_id is not None:
|
||||
|
||||
from core.models.ticket.ticket import RelatedTickets
|
||||
from core.models.ticket import RelatedTickets
|
||||
|
||||
if command == 'relate':
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
import access.fields
|
||||
import access.models
|
||||
import core.lib.slash_commands
|
||||
import core.models.ticket.ticket
|
||||
import core.models.ticket
|
||||
import core.models.ticket.ticket_comment
|
||||
import django.db.models.deletion
|
||||
import django.utils.timezone
|
||||
@ -114,7 +114,7 @@ class Migration(migrations.Migration):
|
||||
('priority', models.IntegerField(blank=True, choices=[(1, 'Very Low'), (2, 'Low'), (3, 'Medium'), (4, 'High'), (5, 'Very High'), (6, 'Major')], default=1, help_text='What priority should this ticket for its completion', null=True, verbose_name='Priority')),
|
||||
('external_ref', models.IntegerField(blank=True, default=None, help_text='External System reference', null=True, verbose_name='Reference Number')),
|
||||
('external_system', models.IntegerField(blank=True, choices=[(1, 'Github'), (2, 'Gitlab'), (9999, 'Custom #1 (Imported)'), (9998, 'Custom #2 (Imported)'), (9997, 'Custom #3 (Imported)'), (9996, 'Custom #4 (Imported)'), (9995, 'Custom #5 (Imported)'), (9994, 'Custom #6 (Imported)'), (9993, 'Custom #7 (Imported)'), (9992, 'Custom #8 (Imported)'), (9991, 'Custom #9 (Imported)')], default=None, help_text='External system this item derives', null=True, verbose_name='External System')),
|
||||
('ticket_type', models.IntegerField(choices=[(1, 'Request'), (2, 'Incident'), (3, 'Change'), (4, 'Problem'), (5, 'Issue'), (6, 'Merge Request'), (7, 'Project Task')], help_text='The type of ticket this is', validators=[core.models.ticket.ticket.Ticket.validation_ticket_type], verbose_name='Type')),
|
||||
('ticket_type', models.IntegerField(choices=[(1, 'Request'), (2, 'Incident'), (3, 'Change'), (4, 'Problem'), (5, 'Issue'), (6, 'Merge Request'), (7, 'Project Task')], help_text='The type of ticket this is', validators=[core.models.ticket.Ticket.validation_ticket_type], verbose_name='Type')),
|
||||
('is_deleted', models.BooleanField(default=False, help_text='Is the ticket deleted? And ready to be purged', verbose_name='Deleted')),
|
||||
('date_closed', models.DateTimeField(blank=True, help_text='Date ticket closed', null=True, verbose_name='Closed Date')),
|
||||
('planned_start_date', models.DateTimeField(blank=True, help_text='Planned start date.', null=True, verbose_name='Planned Start Date')),
|
||||
|
@ -0,0 +1,49 @@
|
||||
# Generated by Django 5.0.8 on 2024-09-16 05:19
|
||||
|
||||
import core.models.ticket
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('core', '0007_alter_ticket_milestone_alter_ticket_project'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='ticket',
|
||||
name='external_system',
|
||||
field=models.IntegerField(blank=True, choices=[], default=None, help_text='External system this item derives', null=True, verbose_name='External System'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='ticket',
|
||||
name='impact',
|
||||
field=models.IntegerField(blank=True, choices=[], default=('1', 'Very Low'), help_text='End user assessed impact', null=True, verbose_name='Impact'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='ticket',
|
||||
name='priority',
|
||||
field=models.IntegerField(blank=True, choices=[], default=('1', 'Very Low'), help_text='What priority should this ticket for its completion', null=True, verbose_name='Priority'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='ticket',
|
||||
name='status',
|
||||
field=models.IntegerField(choices=[], default=('2', 'New'), help_text='Status of ticket', verbose_name='Status'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='ticket',
|
||||
name='ticket_type',
|
||||
field=models.IntegerField(choices=[], help_text='The type of ticket this is', validators=[core.models.ticket.Ticket.validation_ticket_type], verbose_name='Type'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='ticket',
|
||||
name='urgency',
|
||||
field=models.IntegerField(blank=True, choices=[], default=('1', 'Very Low'), help_text='How urgent is this tickets resolution for the user?', null=True, verbose_name='Urgency'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='ticketcomment',
|
||||
name='external_system',
|
||||
field=models.IntegerField(blank=True, choices=[], default=None, help_text='External system this item derives', null=True, verbose_name='External System'),
|
||||
),
|
||||
]
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -7,7 +7,7 @@ from access.models import TenancyObject, Team
|
||||
|
||||
from core.lib.slash_commands import SlashCommands
|
||||
|
||||
from .ticket import Ticket
|
||||
from . import Ticket
|
||||
from .ticket_comment_category import TicketCommentCategory
|
||||
|
||||
|
||||
|
109
app/core/models/ticket/ticket_enum_values.py
Normal file
109
app/core/models/ticket/ticket_enum_values.py
Normal file
@ -0,0 +1,109 @@
|
||||
|
||||
|
||||
|
||||
class TicketValues:
|
||||
|
||||
|
||||
_DRAFT_INT = '1'
|
||||
_NEW_INT = '2'
|
||||
|
||||
_ASSIGNED_INT = '3'
|
||||
_CLOSED_INT = '4'
|
||||
_INVALID_INT = '5'
|
||||
|
||||
#
|
||||
# ITSM statuses
|
||||
#
|
||||
|
||||
# Requests / Incidents / Problems / Changed
|
||||
_ASSIGNED_PLANNING_INT = '6'
|
||||
_PENDING_INT = '7'
|
||||
|
||||
# Requests / Incidents / Problems
|
||||
_SOLVED_INT = '8'
|
||||
|
||||
# Problem
|
||||
|
||||
_OBSERVATION_INT = '9'
|
||||
|
||||
# Problems / Changes
|
||||
|
||||
_ACCEPTED_INT = '10'
|
||||
|
||||
# Changes
|
||||
|
||||
_EVALUATION_INT = '11'
|
||||
_APPROVALS_INT = '12'
|
||||
_TESTING_INT = '13'
|
||||
_QUALIFICATION_INT = '14'
|
||||
_APPLIED_INT = '15'
|
||||
_REVIEW_INT = '16'
|
||||
_CANCELLED_INT = '17'
|
||||
_REFUSED_INT = '18'
|
||||
|
||||
|
||||
|
||||
|
||||
_DRAFT_STR = 'Draft'
|
||||
_NEW_STR = 'New'
|
||||
|
||||
_ASSIGNED_STR = 'Assigned'
|
||||
_CLOSED_STR = 'Closed'
|
||||
_INVALID_STR = 'Invalid'
|
||||
|
||||
#
|
||||
# ITSM statuses
|
||||
#
|
||||
|
||||
# Requests / Incidents / Problems / Changed
|
||||
_ASSIGNED_PLANNING_STR = 'Assigned (Planning)'
|
||||
_PENDING_STR = 'Pending'
|
||||
|
||||
# Requests / Incidents / Problems
|
||||
_SOLVED_STR = 'Solved'
|
||||
|
||||
# Problem
|
||||
|
||||
_OBSERVATION_STR = 'Under Observation'
|
||||
|
||||
# Problems / Changes
|
||||
|
||||
_ACCEPTED_STR = 'Accepted'
|
||||
|
||||
# Changes
|
||||
|
||||
_EVALUATION_STR = 'Evaluation'
|
||||
_APPROVALS_STR = 'Approvals'
|
||||
_TESTING_STR = 'Testing'
|
||||
_QUALIFICATION_STR = 'Qualification'
|
||||
_APPLIED_STR = 'Applied'
|
||||
_REVIEW_STR = 'Review'
|
||||
_CANCELLED_STR = 'Cancelled'
|
||||
_REFUSED_STR = 'Refused'
|
||||
|
||||
|
||||
class ExternalSystem:
|
||||
|
||||
_GITHUB_INT = '1'
|
||||
_GITHUB_VALUE = 'Github'
|
||||
_GITLAB_INT = '2'
|
||||
_GITLAB_VALUE = 'Gitlab'
|
||||
|
||||
_CUSTOM_1_INT = '9999'
|
||||
_CUSTOM_1_VALUE = 'Custom #1 (Imported)'
|
||||
_CUSTOM_2_INT = '9998'
|
||||
_CUSTOM_2_VALUE = 'Custom #2 (Imported)'
|
||||
_CUSTOM_3_INT = '9997'
|
||||
_CUSTOM_3_VALUE = 'Custom #3 (Imported)'
|
||||
_CUSTOM_4_INT = '9996'
|
||||
_CUSTOM_4_VALUE = 'Custom #4 (Imported)'
|
||||
_CUSTOM_5_INT = '9995'
|
||||
_CUSTOM_5_VALUE = 'Custom #5 (Imported)'
|
||||
_CUSTOM_6_INT = '9994'
|
||||
_CUSTOM_6_VALUE = 'Custom #6 (Imported)'
|
||||
_CUSTOM_7_INT = '9993'
|
||||
_CUSTOM_7_VALUE = 'Custom #7 (Imported)'
|
||||
_CUSTOM_8_INT = '9992'
|
||||
_CUSTOM_8_VALUE = 'Custom #8 (Imported)'
|
||||
_CUSTOM_9_INT = '9991'
|
||||
_CUSTOM_9_VALUE = 'Custom #9 (Imported)'
|
@ -6,7 +6,7 @@ from django.test import TestCase
|
||||
|
||||
from app.tests.abstract.models import TenancyModel
|
||||
|
||||
from core.models.ticket.ticket import Ticket
|
||||
from core.models.ticket import Ticket
|
||||
|
||||
|
||||
class TicketModel(
|
||||
|
@ -16,7 +16,7 @@ from app.tests.abstract.model_permissions import ModelPermissions
|
||||
|
||||
from project_management.models.projects import Project
|
||||
|
||||
from core.models.ticket.ticket import Ticket, RelatedTickets
|
||||
from core.models.ticket import Ticket, RelatedTickets
|
||||
from core.models.ticket.ticket_comment import TicketComment
|
||||
|
||||
from core.tests.unit.ticket.ticket_permission.field_based_permissions import ITSMTicketFieldBasedPermissions, ProjectTicketFieldBasedPermissions
|
||||
|
@ -10,7 +10,7 @@ from access.models import Organization, Team, TeamUsers, Permission
|
||||
|
||||
from api.tests.abstract.api_permissions import APIPermissions
|
||||
|
||||
from core.models.ticket.ticket import Ticket
|
||||
from core.models.ticket import Ticket
|
||||
|
||||
|
||||
class TicketPermissionsAPI(APIPermissions):
|
||||
|
@ -7,7 +7,7 @@ from django.core.exceptions import ValidationError
|
||||
from django.shortcuts import reverse
|
||||
from django.test import Client
|
||||
|
||||
from core.models.ticket.ticket import Ticket
|
||||
from core.models.ticket import Ticket
|
||||
|
||||
|
||||
class TicketFieldPermissionsAddUser:
|
||||
|
@ -16,7 +16,7 @@ from app.tests.abstract.model_permissions import ModelPermissions, ModelPermissi
|
||||
|
||||
from project_management.models.projects import Project
|
||||
|
||||
from core.models.ticket.ticket import Ticket, RelatedTickets
|
||||
from core.models.ticket import Ticket, RelatedTickets
|
||||
from core.models.ticket.ticket_comment import TicketComment
|
||||
|
||||
|
||||
|
@ -11,7 +11,7 @@ from access.models import Organization, Team, TeamUsers, Permission
|
||||
|
||||
from api.tests.abstract.api_permissions import APIPermissions, APIPermissionAdd, APIPermissionChange
|
||||
|
||||
from core.models.ticket.ticket import Ticket
|
||||
from core.models.ticket import Ticket
|
||||
from core.models.ticket.ticket_comment import TicketComment
|
||||
|
||||
|
||||
|
@ -6,7 +6,7 @@ from django_celery_results.models import TaskResult
|
||||
from access.mixin import OrganizationPermission
|
||||
|
||||
from core.forms.related_ticket import RelatedTicketForm
|
||||
from core.models.ticket.ticket import RelatedTickets
|
||||
from core.models.ticket import RelatedTickets
|
||||
from core.views.common import AddView, ChangeView, DeleteView, IndexView
|
||||
|
||||
from settings.models.user_settings import UserSettings
|
||||
|
@ -7,7 +7,7 @@ from django_celery_results.models import TaskResult
|
||||
from access.mixin import OrganizationPermission
|
||||
|
||||
from core.forms.ticket import DetailForm, TicketForm
|
||||
from core.models.ticket.ticket import Ticket
|
||||
from core.models.ticket import Ticket
|
||||
from core.views.common import AddView, ChangeView, DeleteView, IndexView
|
||||
|
||||
from settings.models.user_settings import UserSettings
|
||||
|
@ -112,7 +112,7 @@ class Project(ProjectCommonFieldsName):
|
||||
|
||||
duration_project: int = 0
|
||||
|
||||
from core.models.ticket.ticket import Ticket
|
||||
from core.models.ticket import Ticket
|
||||
|
||||
tickets = Ticket.objects.filter(
|
||||
project = self.id
|
||||
|
@ -10,7 +10,7 @@ from access.mixin import OrganizationPermission
|
||||
|
||||
from core.forms.comment import AddNoteForm
|
||||
from core.models.notes import Notes
|
||||
from core.models.ticket.ticket import Ticket
|
||||
from core.models.ticket import Ticket
|
||||
from core.views.common import AddView, ChangeView, DeleteView, DisplayView, IndexView
|
||||
|
||||
from project_management.forms.project import Project, ProjectForm, DetailForm
|
||||
|
@ -10,7 +10,7 @@ from access.mixin import OrganizationPermission
|
||||
|
||||
from core.forms.comment import AddNoteForm
|
||||
from core.models.notes import Notes
|
||||
from core.models.ticket.ticket import Ticket
|
||||
from core.models.ticket import Ticket
|
||||
from core.views.common import AddView, ChangeView, DeleteView, DisplayView, IndexView
|
||||
|
||||
from project_management.forms.project_milestone import DetailForm, ProjectMilestone, ProjectMilestoneForm
|
||||
|
Reference in New Issue
Block a user