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 | 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]) | ... | ... |