mirror of https://github.com/jumpserver/jumpserver
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
78 lines
2.1 KiB
78 lines
2.1 KiB
from django.conf import settings
|
|
from django.db.models import TextChoices, IntegerChoices
|
|
from django.utils.translation import gettext_lazy as _
|
|
|
|
TICKET_DETAIL_URL = '/ui/#/tickets/tickets/{id}?type={type}'
|
|
|
|
|
|
class TicketType(TextChoices):
|
|
general = 'general', _("General")
|
|
apply_asset = 'apply_asset', _('Apply for asset')
|
|
login_confirm = 'login_confirm', _("Login confirm")
|
|
command_confirm = 'command_confirm', _('Command confirm')
|
|
login_asset_confirm = 'login_asset_confirm', _('Login asset confirm')
|
|
|
|
|
|
class TicketState(TextChoices):
|
|
pending = 'pending', _('Open')
|
|
closed = 'closed', _("Cancel")
|
|
reopen = 'reopen', _("Reopen")
|
|
approved = 'approved', _('Approved')
|
|
rejected = 'rejected', _('Rejected')
|
|
|
|
|
|
class TicketStatus(TextChoices):
|
|
open = 'open', _("Open")
|
|
closed = 'closed', _("Finished")
|
|
|
|
|
|
class StepState(TextChoices):
|
|
pending = 'pending', _('Pending')
|
|
closed = 'closed', _("Closed")
|
|
reopen = 'reopen', _("Reopen")
|
|
approved = 'approved', _('Approved')
|
|
rejected = 'rejected', _('Rejected')
|
|
|
|
|
|
class StepStatus(TextChoices):
|
|
active = 'active', _('Active')
|
|
closed = 'closed', _("Closed")
|
|
pending = 'pending', _('Pending')
|
|
|
|
|
|
class TicketAction(TextChoices):
|
|
open = 'open', _("Open")
|
|
close = 'close', _("Close")
|
|
reject = 'reject', _('Reject')
|
|
approve = 'approve', _('Approve')
|
|
|
|
|
|
class TicketLevel(IntegerChoices):
|
|
one = 1, _("One level")
|
|
two = 2, _("Two level")
|
|
|
|
|
|
class TicketApprovalStrategy(TextChoices):
|
|
org_admin = 'org_admin', _("Org admin")
|
|
custom_user = 'custom_user', _("Custom user")
|
|
super_admin = 'super_admin', _("Super admin")
|
|
super_org_admin = 'super_org_admin', _("Super admin and org admin")
|
|
|
|
|
|
class TicketApplyAssetScope(TextChoices):
|
|
all = 'all', _("All assets")
|
|
permed = 'permed', _("Permed assets")
|
|
permed_valid = 'permed_valid', _('Permed valid assets')
|
|
|
|
@classmethod
|
|
def get_scope(cls):
|
|
return settings.TICKET_APPLY_ASSET_SCOPE.lower()
|
|
|
|
@classmethod
|
|
def is_permed(cls):
|
|
return cls.get_scope() == cls.permed
|
|
|
|
@classmethod
|
|
def is_permed_valid(cls):
|
|
return cls.get_scope() == cls.permed_valid
|