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 4 import urllib2
5 5  
6 6 from django.conf import settings
7   -from django.db import models
  7 +from django.db import models, connections
8 8 from django.db.models.signals import post_save
9 9 from django.dispatch import receiver
10 10  
... ... @@ -152,25 +152,13 @@ class TicketCollabCount(models.Model):
152 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 155 @receiver(post_save, sender=User)
167 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])
... ...