Commit 1185515f1ea59454fdf4c1acb401b04a23a14bb6

Authored by Luan
1 parent e7d91a5e

using raw sql to update trac profile info - Updates #104

Showing 1 changed file with 9 additions and 21 deletions   Show diff stats
src/proxy/models.py
@@ -4,7 +4,7 @@ import os @@ -4,7 +4,7 @@ import os
4 import urllib2 4 import urllib2
5 5
6 from django.conf import settings 6 from django.conf import settings
7 -from django.db import models 7 +from django.db import models, connections
8 from django.db.models.signals import post_save 8 from django.db.models.signals import post_save
9 from django.dispatch import receiver 9 from django.dispatch import receiver
10 10
@@ -152,25 +152,13 @@ class TicketCollabCount(models.Model): @@ -152,25 +152,13 @@ class TicketCollabCount(models.Model):
152 db_table = 'ticket_collab_count_view' 152 db_table = 'ticket_collab_count_view'
153 153
154 154
155 -class SessionAttribute(models.Model):  
156 - sid = models.TextField(primary_key=True)  
157 - authenticated = models.IntegerField()  
158 - name = models.TextField()  
159 - value = models.TextField(blank=True)  
160 -  
161 - class Meta:  
162 - managed = False  
163 - db_table = 'session_attribute'  
164 -  
165 -  
166 @receiver(post_save, sender=User) 155 @receiver(post_save, sender=User)
167 def change_session_attribute_email(sender, instance, **kwargs): 156 def change_session_attribute_email(sender, instance, **kwargs):
168 - try:  
169 - session_attr = SessionAttribute.objects.get(  
170 - sid=instance.username, name='email'  
171 - )  
172 - except SessionAttribute.DoesNotExist:  
173 - pass  
174 - else:  
175 - session_attr.value = instance.email  
176 - session_attr.save() 157 + cursor = connections['trac'].cursor()
  158 +
  159 + cursor.execute(("UPDATE session_attribute SET value = '%s' "
  160 + "WHERE name='email' AND sid='%s'"),
  161 + [instance.email, instance.username])
  162 + cursor.execute(("UPDATE session_attribute SET value = '%s' "
  163 + "WHERE name='name' AND sid='%s'"),
  164 + [instance.get_full_name(), instance.username])