| 29 | | def save_ticket_change( db, ticket_id, author, change_time, field, oldvalue, newvalue, log): |
|---|
| | 29 | |
|---|
| | 30 | DONTUPDATE = "DONTUPDATE" |
|---|
| | 31 | |
|---|
| | 32 | def save_ticket_change( db, ticket_id, author, change_time, field, oldvalue, newvalue, log, dontinsert=False): |
|---|
| 40 | | (oldvalue, newvalue, ticket_id, author, change_time, field)) |
|---|
| | 44 | ( newvalue, ticket_id, author, change_time, field)) |
|---|
| | 45 | |
|---|
| | 46 | else: |
|---|
| | 47 | cursor.execute("""UPDATE ticket_change SET oldvalue=%s, newvalue=%s |
|---|
| | 48 | WHERE ticket=%s and author=%s and time=%s and field=%s""", |
|---|
| | 49 | (oldvalue, newvalue, ticket_id, author, change_time, field)) |
|---|
| 69 | | if not hours == 0: |
|---|
| 70 | | db = self.env.get_db_cnx() |
|---|
| 71 | | ticket_id = ticket.id |
|---|
| 72 | | cl = ticket.get_changelog() |
|---|
| 73 | | #self.log.debug("hours: "+str(hours )); |
|---|
| 74 | | #self.log.debug("Dir_ticket:"+str(dir(ticket))) |
|---|
| 75 | | #self.log.debug("ticket.values:"+str(ticket.values)) |
|---|
| 76 | | #self.log.debug("changelog:"+str(cl)) |
|---|
| | 81 | db = self.env.get_db_cnx() |
|---|
| | 82 | ticket_id = ticket.id |
|---|
| | 83 | cl = ticket.get_changelog() |
|---|
| | 84 | #self.log.debug("hours: "+str(hours )); |
|---|
| | 85 | #self.log.debug("Dir_ticket:"+str(dir(ticket))) |
|---|
| | 86 | #self.log.debug("ticket.values:"+str(ticket.values)) |
|---|
| | 87 | #self.log.debug("changelog:"+str(cl)) |
|---|
| 78 | | if cl: |
|---|
| 79 | | most_recent_change = cl[-1]; |
|---|
| 80 | | change_time = most_recent_change[0] |
|---|
| 81 | | author = most_recent_change[1] |
|---|
| 82 | | else: |
|---|
| 83 | | change_time = ticket.time_created |
|---|
| 84 | | author = ticket.values["reporter"] |
|---|
| 85 | | save_ticket_change( db, ticket_id, author, change_time, "hours", str(0.0), str(hours), self.log) |
|---|
| 86 | | |
|---|
| | 89 | savedTime = False |
|---|
| | 90 | most_recent_change = None |
|---|
| | 91 | if cl: |
|---|
| | 92 | most_recent_change = cl[-1]; |
|---|
| | 93 | change_time = most_recent_change[0] |
|---|
| | 94 | author = most_recent_change[1] |
|---|
| | 95 | else: |
|---|
| | 96 | change_time = ticket.time_created |
|---|
| | 97 | author = ticket.values["reporter"] |
|---|
| | 98 | savedTime = True |
|---|
| | 99 | save_ticket_change( db, ticket_id, author, change_time, "hours", str(0.0), str(hours), self.log) |
|---|
| | 100 | |
|---|
| | 101 | estimatedhours = readTicketValue("estimatedhours", convertfloat) |
|---|
| | 102 | self.log.debug("changelog:"+str(cl)) |
|---|
| | 103 | self.log.debug("Estimated:"+str(estimatedhours)) |
|---|
| | 104 | db = self.env.get_db_cnx() |
|---|
| | 105 | save_ticket_change( db, ticket_id, author, change_time, "estimatedhours", DONTUPDATE, str(hours), self.log, True) |
|---|
| | 106 | save_custom_field_value( db, ticket.id, "estimatedhours", str(estimatedhours)) |
|---|
| | 107 | db.commit(); |
|---|
| | 108 | |
|---|
| | 109 | if not hours == 0: |
|---|