70
79
IMAGE_TESTING_PASSED = Item(430, "Passed")
71
80
IMAGE_TESTING_FAILED = Item(440, "Image Testing Failed")
72
81
PKG_PUBLISHING_COMPLETED = Item(510, "Completed")
73
PKG_PUBLISHING_FAILED = Item(520, "Package Publishing Failed")
82
PKG_PUBLISHING_INPROGRESS = Item(520, "In progress")
83
PKG_PUBLISHING_FAILED = Item(540, "Package Publishing Failed")
74
84
COMPLETED = Item(1000, "Completed")
87
return str(self.value)
77
90
def _choices(enum):
157
170
return "{} {}".format(self.ticket, self.source_package_upload)
160
class Artifact(models.Model):
173
class ArtifactBase(models.Model):
162
db_table = 'artifact'
165
('RESULTS', 'Test Results'),
166
('SPU', 'Source Package Upload'),
169
type = models.CharField(choices=ARTIFACT_TYPE, max_length=4096)
170
subticket = models.ForeignKey(SubTicket)
171
177
# 'reference' provided by the artifact manager
172
178
reference = models.CharField(max_length=4096)
173
179
name = models.CharField(max_length=4096)
182
class SubTicketArtifact(ArtifactBase):
183
SUBTICKET_ARTIFACT_TYPE = (
184
('RESULTS', 'Test Results'),
185
('SPU', 'Source Package Upload'),
190
db_table = 'subticket_artifact'
192
type = models.CharField(choices=SUBTICKET_ARTIFACT_TYPE, max_length=4096)
193
subticket = models.ForeignKey(SubTicket, null=True)
195
def __unicode__(self):
196
return "{} {}".format(self.name, self.type)
199
class TicketArtifact(ArtifactBase):
200
TICKET_ARTIFACT_TYPE = (
201
('RESULTS', 'Test Results'),
207
db_table = 'ticket_artifact'
209
type = models.CharField(choices=TICKET_ARTIFACT_TYPE, max_length=4096)
210
ticket = models.ForeignKey(Ticket, null=True)
175
212
def __unicode__(self):
176
213
return "{} {}".format(self.name, self.type)