Modify ↓
Opened 15 years ago
Closed 15 years ago
#8411 closed defect (fixed)
error when create new type
| Reported by: | okamototk | Owned by: | François Granade |
|---|---|---|---|
| Priority: | normal | Component: | TicketImportPlugin |
| Severity: | normal | Keywords: | |
| Cc: | Trac Release: | 0.12 |
Description
When create new type, plugin output following error:
2011-01-18 22:18:12,101 Trac[main] ERROR: Internal Server Error:
Traceback (most recent call last):
File "build\bdist.win32\egg\trac\web\main.py", line 511, in _dispatch_request
dispatcher.dispatch(req)
File "build\bdist.win32\egg\trac\web\main.py", line 237, in dispatch
resp = chosen_handler.process_request(req)
File "build\bdist.win32\egg\talm_importer\importer.py", line 76, in process_request
return self._do_import(req.session['uploadedfile'], int(req.session['sheet']), req, req.session['uploadedfilename'], tickettime)
File "build\bdist.win32\egg\talm_importer\importer.py", line 118, in _do_import
return self._process(filereader, get_reporter_id(req), ImportProcessor(self.env, req, uploadedfilename, tickettime))
File "build\bdist.win32\egg\talm_importer\importer.py", line 369, in _process
processor.process_new_lookups(newvalues)
File "build\bdist.win32\egg\talm_importer\processors.py", line 156, in process_new_lookups
lookup.insert()
File "build\bdist.win32\egg\trac\ticket\model.py", line 709, in insert
@self.env.with_transaction(db)
File "build\bdist.win32\egg\trac\db\api.py", line 77, in transaction_wrapper
fn(ldb)
File "build\bdist.win32\egg\trac\ticket\model.py", line 720, in do_insert
(self.type, self.name, self.value))
File "build\bdist.win32\egg\trac\db\util.py", line 65, in execute
return self.cursor.execute(sql_escape_percent(sql), args)
File "build\bdist.win32\egg\trac\db\sqlite_backend.py", line 78, in execute
result = PyFormatCursor.execute(self, *args)
File "build\bdist.win32\egg\trac\db\sqlite_backend.py", line 56, in execute
args or [])
File "build\bdist.win32\egg\trac\db\sqlite_backend.py", line 48, in _rollback_on_error
return function(self, *args, **kwargs)
IntegrityError: columns type, name are not unique
ticket type is 'ticket_type' enum but plugin treat just 'type'. Following patch fixed the problem.
Index: processors.py
===================================================================
--- processors.py (revision 9770)
+++ processors.py (working copy)
@@ -134,6 +134,9 @@
elif field == 'version':
class CurrentLookupEnum(model.Version):
pass
+ elif field == 'type':
+ class CurrentLookupEnum(model.Type):
+ pass
else:
class CurrentLookupEnum(model.AbstractEnum):
# here, you shouldn't put 'self.' before the class field.
best regards,
Takashi Okamoto
Attachments (0)
Note: See
TracTickets for help on using
tickets.



Good catch, thank you - patch slighly improved and commited in [9772], with test.