This commit is contained in:
tomtom5152
2015-01-28 16:59:54 +00:00
3 changed files with 85 additions and 30 deletions

View File

@@ -95,6 +95,11 @@ ACCOUNT_ACTIVATION_DAYS = 7
EMAILER_TEST = False EMAILER_TEST = False
if not DEBUG or EMAILER_TEST: if not DEBUG or EMAILER_TEST:
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'server.techost.co.uk'
EMAIL_PORT = 465
EMAIL_HOST_USER = 'tec'
EMAIL_HOST_PASSWORD = '***REMOVED***'
DEFAULT_FROM_EMAIL = 'rigs@nottinghamtec.co.uk'
else: else:
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend' EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
@@ -138,4 +143,4 @@ TEMPLATE_DIRS = (
os.path.join(BASE_DIR, 'templates'), os.path.join(BASE_DIR, 'templates'),
) )
TERMS_OF_HIRE_URL = "http://dev.nottinghamtec.co.uk/wp-content/uploads/2014/11/terms.pdf" TERMS_OF_HIRE_URL = "http://dev.nottinghamtec.co.uk/wp-content/uploads/2014/11/terms.pdf"

View File

@@ -0,0 +1,46 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models, migrations
from django.conf import settings
class Migration(migrations.Migration):
dependencies = [
('RIGS', '0015_auto_20141208_0233'),
]
operations = [
migrations.CreateModel(
name='Invoice',
fields=[
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('invoice_date', models.DateField(auto_now_add=True)),
('void', models.BooleanField()),
('event', models.OneToOneField(to='RIGS.Event')),
],
options={
},
bases=(models.Model,),
),
migrations.CreateModel(
name='Payment',
fields=[
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('date', models.DateField()),
('amount', models.DecimalField(help_text=b'Please use ex. VAT', max_digits=10, decimal_places=2)),
('method', models.CharField(max_length=2, choices=[(b'C', b'Cash'), (b'I', b'Internal'), (b'E', b'External'), (b'SU', b'SU Core'), (b'M', b'Members')])),
('invoice', models.ForeignKey(to='RIGS.Invoice')),
],
options={
},
bases=(models.Model,),
),
migrations.AlterField(
model_name='event',
name='mic',
field=models.ForeignKey(related_name='event_mic', verbose_name=b'MIC', blank=True, to=settings.AUTH_USER_MODEL, null=True),
preserve_default=True,
),
]

View File

@@ -61,7 +61,7 @@ def import_users(delete=False):
def import_people(delete=False): def import_people(delete=False):
if(delete): if(delete):
models.Event.objects.get(is_rig=False).delete() models.Person.objects.all().delete()
cursor = setup_cursor() cursor = setup_cursor()
if cursor is None: if cursor is None:
return return
@@ -69,15 +69,20 @@ def import_people(delete=False):
cursor.execute(sql) cursor.execute(sql)
resp = cursor.fetchall() resp = cursor.fetchall()
for row in resp: for row in resp:
email = row[3] pk=row[0]
name=clean_ascii(row[1])
phone=clean_ascii(row[2].replace(' ',''))
address=clean_ascii(row[4])
email = clean_ascii(row[3])
fix_email(email) fix_email(email)
notes = "" notes = ""
if row[5] != "Normal": if row[5] != "Normal":
notes = row[5] notes = row[5]
person, created = models.Person.objects.get_or_create(pk=row[0], name=row[1], phone=row[2], email=email, print("Trying %s %s %s" % (pk, name, phone))
address=row[4], notes=notes) person, created = models.Person.objects.get_or_create(pk=pk, name=name, phone=phone, email=email,
address=address, notes=notes)
if created: if created:
print("Created: " + person.__str__()) print("Created: " + person.__str__())
with transaction.atomic(), reversion.create_revision(): with transaction.atomic(), reversion.create_revision():
@@ -88,7 +93,7 @@ def import_people(delete=False):
def import_organisations(delete=False): def import_organisations(delete=False):
if(delete): if(delete):
models.Event.objects.get(is_rig=False).delete() models.Organisation.objects.all().delete()
cursor = setup_cursor() cursor = setup_cursor()
if cursor is None: if cursor is None:
return return
@@ -112,7 +117,7 @@ def import_organisations(delete=False):
def import_vat_rates(delete=False): def import_vat_rates(delete=False):
if(delete): if(delete):
models.Event.objects.get(is_rig=False).delete() models.VatRate.objects.all().delete()
cursor = setup_cursor() cursor = setup_cursor()
if cursor is None: if cursor is None:
return return
@@ -136,19 +141,20 @@ def import_venues(delete=False):
cursor = setup_cursor() cursor = setup_cursor()
if cursor is None: if cursor is None:
return return
sql = """SELECT `venue`, `threephasepower` FROM `eventdetails` GROUP BY `venue` WHERE `venue` IS NOT NULL""" sql = """SELECT `venue`, `threephasepower` FROM `eventdetails` WHERE `venue` IS NOT NULL GROUP BY `venue`"""
cursor.execute(sql) cursor.execute(sql)
for row in cursor.fetchall(): for row in cursor.fetchall():
print(("Searching for %s", row[0])) name = row[0].strip()
print(("Searching for %s", name))
try: try:
object = models.Venue.objects.get(name__iexact=row[0]) object = models.Venue.objects.get(name__iexact=name)
if not object.three_phase_available and row[1]: if not object.three_phase_available and row[1]:
with transaction.atomic(), reversion.create_revision(): with transaction.atomic(), reversion.create_revision():
object.three_phase_available = row[1] object.three_phase_available = row[1]
object.save() object.save()
except ObjectDoesNotExist: except ObjectDoesNotExist:
with transaction.atomic(), reversion.create_revision(): with transaction.atomic(), reversion.create_revision():
object = models.Venue(name=row[0], three_phase_available=row[1]) object = models.Venue(name=name, three_phase_available=row[1])
object.save() object.save()
def import_rigs(delete=False): def import_rigs(delete=False):
@@ -157,7 +163,7 @@ def import_rigs(delete=False):
cursor = setup_cursor() cursor = setup_cursor()
if cursor is None: if cursor is None:
return return
sql = """SELECT r.id, event, person_id, organisation_id, venue, description, status, start_date, start_time, end_date, end_time, access_date, access_time, meet_date, meet_time, meet_info, based_on_id, based_on_type, dry_hire, user_id, payment_method, order_no, payment_received, collectorsid FROM eventdetails AS e INNER JOIN rigs AS r ON e.describable_id = r.id WHERE describable_type = 'Rig' AND venue IS NOT NULL""" sql = """SELECT r.id, event, person_id, organisation_id, venue, description, status, start_date, start_time, end_date, end_time, access_date, access_time, meet_date, meet_time, meet_info, based_on_id, based_on_type, dry_hire, user_id, payment_method, order_no, payment_received, collectorsid FROM eventdetails AS e INNER JOIN rigs AS r ON e.describable_id = r.id WHERE describable_type = 'Rig' AND `venue` IS NOT NULL"""
cursor.execute(sql) cursor.execute(sql)
for row in cursor.fetchall(): for row in cursor.fetchall():
print(row) print(row)
@@ -166,7 +172,7 @@ def import_rigs(delete=False):
organisation = models.Organisation.objects.get(pk=row[3]) organisation = models.Organisation.objects.get(pk=row[3])
else: else:
organisation = None organisation = None
venue = models.Venue.objects.get(name__iexact=row[4]) venue = models.Venue.objects.get(name__iexact=row[4].strip())
status = { status = {
'Booked': models.Event.BOOKED, 'Booked': models.Event.BOOKED,
'Provisional': models.Event.PROVISIONAL, 'Provisional': models.Event.PROVISIONAL,
@@ -242,7 +248,10 @@ def import_eventitem(delete=True):
def import_nonrigs(delete=False): def import_nonrigs(delete=False):
if(delete): if(delete):
models.Event.objects.get(is_rig=False).delete() try:
models.Event.objects.get(is_rig=False).delete()
except:
pass
cursor = setup_cursor() cursor = setup_cursor()
if cursor is None: if cursor is None:
return return
@@ -250,26 +259,21 @@ def import_nonrigs(delete=False):
cursor.execute(sql) cursor.execute(sql)
for row in cursor.fetchall(): for row in cursor.fetchall():
print(row) print(row)
mic = models.Profile.objects.get(pk=row[6])
with transaction.atomic(), reversion.create_revision(): with transaction.atomic(), reversion.create_revision():
event = models.Event() event = models.Event(pk=None, name=row[0], start_date=row[1], start_time=row[2], end_date=row[3], end_time=row[4], description=row[5], mic=mic)
event.name = row[0] print(event)
event.start_date = row[1]
event.start_time = row[2]
event.end_date = row[3]
event.end_time = row[4]
event.description = row[5]
event.mic = models.Profile.objects.get(pk=row[6])
event.save() event.save()
def main(): def main():
import_users() # import_users()
import_people() # import_people(True)
import_organisations() # import_organisations(True)
import_vat_rates() # import_vat_rates(True)
import_venues(False) # import_venues(True)
import_rigs(False) # import_rigs(True)
import_eventitem(False) # import_eventitem(True)
import_nonrigs(False) import_nonrigs(True)
if __name__ == "__main__": if __name__ == "__main__":