~larry-e-works/uci-engine/write-exitcode-to-file

« back to all changes in this revision

Viewing changes to ticket_system/ticket/models.py

  • Committer: Joe Talbott
  • Date: 2014-01-27 14:54:08 UTC
  • mfrom: (126.3.8 webui)
  • mto: This revision was merged to the branch mainline in revision 161.
  • Revision ID: joe.talbott@canonical.com-20140127145408-zpubebx02y6oumxq
merge doanac's cleanup branch

Show diffs side-by-side

added added

removed removed

Lines of Context:
31
31
    PKG_BUILDING = Item(200, "Package building")
32
32
    COMPLETED = Item(1000, "Completed")
33
33
 
 
34
    def __str__(self):
 
35
        return str(self.value)
 
36
 
34
37
 
35
38
class SubTicketWorkflowStepStatus(DBEnumeratedType):
36
39
 
40
43
    PKG_BUILDING_COMPLETED = Item(230, "Completed")
41
44
    PKG_BUILDING_FAILED = Item(240, "Failed")
42
45
 
 
46
    def __str__(self):
 
47
        return str(self.value)
 
48
 
43
49
 
44
50
class TicketWorkflowStep(DBEnumeratedType):
45
51
 
52
58
    FAILED = Item(999, "Failed")
53
59
    COMPLETED = Item(1000, "Completed")
54
60
 
 
61
    def __str__(self):
 
62
        return str(self.value)
 
63
 
55
64
 
56
65
class TicketWorkflowStepStatus(DBEnumeratedType):
57
66
 
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")
75
85
 
 
86
    def __str__(self):
 
87
        return str(self.value)
 
88
 
76
89
 
77
90
def _choices(enum):
78
91
    return [
157
170
        return "{} {}".format(self.ticket, self.source_package_upload)
158
171
 
159
172
 
160
 
class Artifact(models.Model):
 
173
class ArtifactBase(models.Model):
161
174
    class Meta:
162
 
        db_table = 'artifact'
 
175
        abstract = True
163
176
 
164
 
    ARTIFACT_TYPE = (
165
 
        ('RESULTS', 'Test Results'),
166
 
        ('SPU', 'Source Package Upload'),
167
 
        ('LOGS', 'Logs'),
168
 
    )
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)
174
180
 
 
181
 
 
182
class SubTicketArtifact(ArtifactBase):
 
183
    SUBTICKET_ARTIFACT_TYPE = (
 
184
        ('RESULTS', 'Test Results'),
 
185
        ('SPU', 'Source Package Upload'),
 
186
        ('LOGS', 'Logs'),
 
187
    )
 
188
 
 
189
    class Meta:
 
190
        db_table = 'subticket_artifact'
 
191
 
 
192
    type = models.CharField(choices=SUBTICKET_ARTIFACT_TYPE, max_length=4096)
 
193
    subticket = models.ForeignKey(SubTicket, null=True)
 
194
 
 
195
    def __unicode__(self):
 
196
        return "{} {}".format(self.name, self.type)
 
197
 
 
198
 
 
199
class TicketArtifact(ArtifactBase):
 
200
    TICKET_ARTIFACT_TYPE = (
 
201
        ('RESULTS', 'Test Results'),
 
202
        ('LOGS', 'Logs'),
 
203
        ('IMAGE', 'Image'),
 
204
    )
 
205
 
 
206
    class Meta:
 
207
        db_table = 'ticket_artifact'
 
208
 
 
209
    type = models.CharField(choices=TICKET_ARTIFACT_TYPE, max_length=4096)
 
210
    ticket = models.ForeignKey(Ticket, null=True)
 
211
 
175
212
    def __unicode__(self):
176
213
        return "{} {}".format(self.name, self.type)