Commit 1185515f1ea59454fdf4c1acb401b04a23a14bb6
1 parent
e7d91a5e
Exists in
master
and in
39 other branches
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]) |