X-Git-Url: http://woldlab.caltech.edu/gitweb/?a=blobdiff_plain;f=htsworkflow%2Ffrontend%2Fsamples%2Fmodels.py;h=749c82eee4cb9e99aceafb783fa6241cf942091e;hb=6465782187e3b47465116718da97ae808a4d2442;hp=38c1863bb84e806b7ffdbbd93054420cad4b09b7;hpb=96833cdd527fe260ed6f9aee22c56ed973c5ef3c;p=htsworkflow.git diff --git a/htsworkflow/frontend/samples/models.py b/htsworkflow/frontend/samples/models.py index 38c1863..749c82e 100644 --- a/htsworkflow/frontend/samples/models.py +++ b/htsworkflow/frontend/samples/models.py @@ -1,6 +1,8 @@ import urlparse from django.db import models from django.contrib.auth.models import User, UserManager +from django.db.models.signals import pre_save, post_save +from django.db import connection from htsworkflow.frontend import settings from htsworkflow.frontend.reports.libinfopar import * @@ -272,3 +274,15 @@ class HTSUser(User): def admin_url(self): return '/admin/%s/%s/%d' % (self._meta.app_label, self._meta.module_name, self.id) + +def HTSUserInsertID(sender, instance, **kwargs): + """ + Force addition of HTSUsers when someone just modifies the auth_user object + """ + u = HTSUser.objects.filter(pk=instance.id) + if len(u) == 0: + cursor = connection.cursor() + cursor.execute('INSERT INTO samples_htsuser (user_ptr_id) VALUES (%s);' % (instance.id,)) + cursor.close() + +post_save.connect(HTSUserInsertID, sender=User)