mirror of
https://github.com/ae-utbm/sith.git
synced 2024-11-25 18:44:23 +00:00
Add INSERT to old DB for subscriptions and users
This commit is contained in:
parent
2b4a623e4a
commit
dfb13c37f2
@ -231,12 +231,29 @@ class User(AbstractBaseUser):
|
|||||||
return self.is_superuser or self.groups.filter(name=settings.SITH_GROUPS['root']['name']).exists()
|
return self.is_superuser or self.groups.filter(name=settings.SITH_GROUPS['root']['name']).exists()
|
||||||
|
|
||||||
def save(self, *args, **kwargs):
|
def save(self, *args, **kwargs):
|
||||||
|
create = False
|
||||||
with transaction.atomic():
|
with transaction.atomic():
|
||||||
if self.id:
|
if self.id:
|
||||||
old = User.objects.filter(id=self.id).first()
|
old = User.objects.filter(id=self.id).first()
|
||||||
if old and old.username != self.username:
|
if old and old.username != self.username:
|
||||||
self._change_username(self.username)
|
self._change_username(self.username)
|
||||||
|
else:
|
||||||
|
create = True
|
||||||
super(User, self).save(*args, **kwargs)
|
super(User, self).save(*args, **kwargs)
|
||||||
|
if create: # Create user on the old site: TODO remove me!
|
||||||
|
import MySQLdb
|
||||||
|
try:
|
||||||
|
db = MySQLdb.connect(**settings.OLD_MYSQL_INFOS)
|
||||||
|
c = db.cursor()
|
||||||
|
c.execute("""INSERT INTO utilisateurs (id_utilisateur, nom_utl, prenom_utl, email_utl, hash_utl, ae_utl) VALUES
|
||||||
|
(%s, %s, %s, %s, %s, %s)""", (self.id, self.last_name, self.first_name, self.email, "valid", "0"))
|
||||||
|
db.commit()
|
||||||
|
except Exception as e:
|
||||||
|
with open(settings.BASE_DIR+"/user_fail.log", "a") as f:
|
||||||
|
print("FAIL to add user %s (%s %s - %s) to old site" % (self.id, self.first_name, self.last_name,
|
||||||
|
self.email), file=f)
|
||||||
|
print("Reason: %s" % (repr(e)), file=f)
|
||||||
|
db.rollback()
|
||||||
|
|
||||||
def make_home(self):
|
def make_home(self):
|
||||||
if self.home is None:
|
if self.home is None:
|
||||||
|
@ -17,6 +17,7 @@ from django.utils.translation import ugettext_lazy as _
|
|||||||
|
|
||||||
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||||||
|
|
||||||
|
os.environ['HTTPS'] = "on"
|
||||||
|
|
||||||
# Quick-start development settings - unsuitable for production
|
# Quick-start development settings - unsuitable for production
|
||||||
# See https://docs.djangoproject.com/en/1.8/howto/deployment/checklist/
|
# See https://docs.djangoproject.com/en/1.8/howto/deployment/checklist/
|
||||||
|
@ -12,5 +12,6 @@ import os
|
|||||||
from django.core.wsgi import get_wsgi_application
|
from django.core.wsgi import get_wsgi_application
|
||||||
|
|
||||||
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "sith.settings")
|
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "sith.settings")
|
||||||
|
os.environ['HTTPS'] = "on"
|
||||||
|
|
||||||
application = get_wsgi_application()
|
application = get_wsgi_application()
|
||||||
|
@ -29,16 +29,18 @@ class Subscriber(User):
|
|||||||
|
|
||||||
def save(self):
|
def save(self):
|
||||||
super(Subscriber, self).save()
|
super(Subscriber, self).save()
|
||||||
try:
|
try: # Create user on the old site: TODO remove me!
|
||||||
db = MySQLdb.connect(**settings.OLD_MYSQL_INFOS)
|
db = MySQLdb.connect(**settings.OLD_MYSQL_INFOS)
|
||||||
c = db.cursor()
|
c = db.cursor()
|
||||||
c.execute("""INSERT INTO utilisateurs (nom_utl, prenom_utl, email_utl, hash_utl) VALUES
|
c.execute("""INSERT INTO utilisateurs (id_utilisateur, nom_utl, prenom_utl, email_utl, hash_utl, ae_utl) VALUES
|
||||||
(%s, %s, %s, %s)""", (self.last_name, self.first_name, self.email, "valid", ))
|
(%s, %s, %s, %s, %s, %s)""", (self.id, self.last_name, self.first_name, self.email, "valid", "1"))
|
||||||
|
db.commit()
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
with open("/home/sith/user_fail.log", "a") as f:
|
with open(settings.BASE_DIR+"/user_fail.log", "a") as f:
|
||||||
print("FAIL to add user %s (%s %s - %s) to old site" % (self.id, self.first_name, self.last_name,
|
print("FAIL to add user %s (%s %s - %s) to old site" % (self.id, self.first_name, self.last_name,
|
||||||
self.email), file=f)
|
self.email), file=f)
|
||||||
print("Reason: %s" % (repr(e)), file=f)
|
print("Reason: %s" % (repr(e)), file=f)
|
||||||
|
db.rollback()
|
||||||
|
|
||||||
class Subscription(models.Model):
|
class Subscription(models.Model):
|
||||||
member = models.ForeignKey(Subscriber, related_name='subscriptions')
|
member = models.ForeignKey(Subscriber, related_name='subscriptions')
|
||||||
@ -71,7 +73,7 @@ class Subscription(models.Model):
|
|||||||
last_id = Customer.objects.count() + 5195 # Number to keep a continuity with the old site
|
last_id = Customer.objects.count() + 5195 # Number to keep a continuity with the old site
|
||||||
Customer(user=self.member, account_id=Customer.generate_account_id(last_id+1), amount=0).save()
|
Customer(user=self.member, account_id=Customer.generate_account_id(last_id+1), amount=0).save()
|
||||||
self.member.make_home()
|
self.member.make_home()
|
||||||
try:
|
try: # Create subscription on the old site: TODO remove me!
|
||||||
LOCATION = {
|
LOCATION = {
|
||||||
"SEVENANS": 5,
|
"SEVENANS": 5,
|
||||||
"BELFORT": 6,
|
"BELFORT": 6,
|
||||||
@ -105,10 +107,12 @@ class Subscription(models.Model):
|
|||||||
type_cotis, id_comptoir) VALUES (%s, %s, %s, %s, %s, %s)""", (self.member.id, self.subscription_start,
|
type_cotis, id_comptoir) VALUES (%s, %s, %s, %s, %s, %s)""", (self.member.id, self.subscription_start,
|
||||||
self.subscription_end, PAYMENT[self.payment_method], TYPE[self.subscription_type],
|
self.subscription_end, PAYMENT[self.payment_method], TYPE[self.subscription_type],
|
||||||
LOCATION[self.location]))
|
LOCATION[self.location]))
|
||||||
|
db.commit()
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
with open("/home/sith/subscription_fail.log", "a") as f:
|
with open(settings.BASE_DIR+"/subscription_fail.log", "a") as f:
|
||||||
print("FAIL to add subscription to %s to old site" % (self.member), file=f)
|
print("FAIL to add subscription to %s to old site" % (self.member), file=f)
|
||||||
print("Reason: %s" % (repr(e)), file=f)
|
print("Reason: %s" % (repr(e)), file=f)
|
||||||
|
db.rollback()
|
||||||
|
|
||||||
def get_absolute_url(self):
|
def get_absolute_url(self):
|
||||||
return reverse('core:user_edit', kwargs={'user_id': self.member.pk})
|
return reverse('core:user_edit', kwargs={'user_id': self.member.pk})
|
||||||
|
Loading…
Reference in New Issue
Block a user