def GET(self, id): ticket = tmt.get_ticket_by_id(int(id)) history = tmt.get_changes_by_id(int(id)) changes = [] for i in history: i.comment = json.loads(i.comment) changes.append(i) # print changes[0]['author'] form = self.form() form.fill(ticket) form2 = self.form2() form2.fill(ticket) return render.edit(ticket, form, form2, changes)
def POST(self, id): form2 = self.form2() ticket = tmt.get_ticket_by_id(int(id)) if not form2.validates(): return render.edit(ticket, form2) fields = copy.copy(form2.d) del fields['Update ticket'] notes = fields.pop('notes') tmt.update_ticket(int(id), **fields) diff = [] for k, v in fields.iteritems(): oldValue = getattr(ticket, k) if v != oldValue: diff.append([k, v, oldValue]) if diff or notes: change = { 'author': web.ctx.session.user.username, 'ticketId': id, 'time': '%s' % datetime.datetime.now(), 'comment': json.dumps(diff), 'notes': notes } tmt.new_change(**change) raise web.seeother('/ticket/edit/%s' % id)
def GET(self, id): ticket = tmt.get_ticket_by_id(id) if not ticket: raise web.seeother('/new?id=%s' % web.websafe(id)) return render.view(ticket)