allura
修订版 | 14febf785fcd56a92944a0009a090a669fa8b6eb (tree) |
---|---|
时间 | 2010-10-21 00:18:18 |
作者 | Rick Copeland <rcopeland@geek...> |
Commiter | Rick Copeland |
[#1067] - fix tracker migrations
@@ -127,6 +127,8 @@ class MoveMilestonesToCustom(TrackerMigration): | ||
127 | 127 | def _custom_field(self, tracker_globals): |
128 | 128 | names = tracker_globals.milestone_names or '' |
129 | 129 | return dict( |
130 | + name='_milestone', | |
131 | + show_in_search=True, | |
130 | 132 | type='milestone', |
131 | 133 | label='Milestone', |
132 | 134 | milestones=[ |
@@ -147,3 +149,20 @@ class MoveMilestonesToCustom(TrackerMigration): | ||
147 | 149 | tracker_globals.custom_fields.pop() |
148 | 150 | self.ormsession.flush() |
149 | 151 | self.ormsession.clear() |
152 | + | |
153 | +class FixMilestonesAndTickets(TrackerMigration): | |
154 | + version = 5 | |
155 | + | |
156 | + def up(self): | |
157 | + for tracker_globals in self.ormsession.find(Globals): | |
158 | + for fld in tracker_globals.custom_fields: | |
159 | + if 'name' not in fld: | |
160 | + fld.name = '_' + fld.label.lower() | |
161 | + if 'show_in_search' not in fld: | |
162 | + fld.show_in_search = True | |
163 | + for ticket in self.ormsession.find(Ticket): | |
164 | + ticket.custom_fields['_milestone'] = ticket.milestone | |
165 | + self.ormsession.flush() | |
166 | + self.ormsession.clear() | |
167 | + | |
168 | + |