Switch to side-by-side view

--- a/ForgeTracker/forgetracker/tracker_main.py
+++ b/ForgeTracker/forgetracker/tracker_main.py
@@ -388,7 +388,7 @@
         for id in post_data['selected'].split(','):
             ticket = model.Ticket.query.get(_id=ObjectId(id), app_config_id=c.app.config._id)
             for k, v in values.iteritems():
-                ticket[k] = v
+                setattr(ticket, k, v)
             for k, v in custom_values.iteritems():
                 ticket.custom_fields[k] = v
 
@@ -459,13 +459,10 @@
             raise Exception('update_ticket must be a POST request')
         if tags: tags = tags.split(',')
         else: tags = []
-        self.ticket.summary = post_data['summary']
-        self.ticket.description = post_data['description']
-        if post_data['assigned_to']:
-            self.ticket.assigned_to_id = post_data['assigned_to']
-        else:
-            self.ticket.assigned_to_id = None
-        self.ticket.status = post_data['status']
+        for k in ['summary', 'description', 'status', 'milestone']:
+            setattr(self.ticket, k, post_data[k])
+        who = post_data['assigned_to']
+        self.ticket.assigned_to_id = ObjectId(who) if who else None
         tag_artifact(self.ticket, c.user, tags)
 
         globals = model.Globals.query.get(app_config_id=c.app.config._id)