mirror of
https://github.com/nottinghamtec/PyRIGS.git
synced 2026-01-16 21:12:13 +00:00
Fixed event importer and imported
This commit is contained in:
@@ -14,7 +14,6 @@ from RIGS import models
|
||||
import reversion
|
||||
from datetime import datetime
|
||||
|
||||
|
||||
def setup_cursor():
|
||||
try:
|
||||
cursor = connections['legacy'].cursor()
|
||||
@@ -135,48 +134,65 @@ def import_venues(delete=False):
|
||||
object = models.Venue(name=row[0], three_phase_available=row[1])
|
||||
object.save()
|
||||
|
||||
def clean_ascii(text):
|
||||
return ''.join([i if ord(i) < 128 else '' for i in text])
|
||||
|
||||
def import_rigs():
|
||||
cursor = setup_cursor()
|
||||
if cursor is None:
|
||||
return
|
||||
sql = """SELECT e.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, user_id, payment_method, order_no, payment_received, collectorsid FROM eventdetails AS e LEFT JOIN rigs AS r ON e.id = r.id WHERE describable_type = 'Rig'"""
|
||||
sql = """SELECT e.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.id = r.id WHERE describable_type = 'Rig' AND venue IS NOT NULL"""
|
||||
cursor.execute(sql)
|
||||
for row in cursor.fetchall():
|
||||
with transaction.atomic(), reversion.revision():
|
||||
venue = models.Venue.objects.get(name__iexact=row[4])
|
||||
status = {
|
||||
'Booked': models.Event.BOOKED,
|
||||
'Provisional': models.Event.PROVISIONAL,
|
||||
'Cancelled': models.Event.CANCELLED,
|
||||
}
|
||||
print(row)
|
||||
person = models.Person.objects.get(pk=row[2])
|
||||
if row[3]:
|
||||
organisation = models.Organisation.objects.get(pk=row[3])
|
||||
else:
|
||||
organisation = None
|
||||
venue = models.Venue.objects.get(name__iexact=row[4])
|
||||
status = {
|
||||
'Booked': models.Event.BOOKED,
|
||||
'Provisional': models.Event.PROVISIONAL,
|
||||
'Cancelled': models.Event.CANCELLED,
|
||||
}
|
||||
mic = models.Profile.objects.get(pk=row[19])
|
||||
if row[16] and row[17] == "Rig":
|
||||
try:
|
||||
based_on = models.Event.objects.get(pk=row[16])
|
||||
except ObjectDoesNotExist:
|
||||
based_on = None
|
||||
else:
|
||||
based_on = None
|
||||
with transaction.atomic(), reversion.create_revision():
|
||||
try:
|
||||
object = models.Event.objects.get(pk=row[0])
|
||||
except ObjectDoesNotExist:
|
||||
object = models.Event(pk=row[0])
|
||||
object.name = row[1]
|
||||
object.person = row[2]
|
||||
object.organisation = row[3]
|
||||
object.name = clean_ascii(row[1])
|
||||
object.person = person
|
||||
object.organisation = organisation
|
||||
object.venue = venue
|
||||
object.notes = row[5]
|
||||
object.notes = clean_ascii(row[5])
|
||||
object.status = status[row[6]]
|
||||
object.start_date = row[7]
|
||||
object.start_time = row[8]
|
||||
object.end_date = row[9]
|
||||
object.end_time = row[10]
|
||||
object.access_at = datetime.combine(row[11], row[12])
|
||||
object.meet_at = datetime.combine(row[13], row[14])
|
||||
if row[11] and row[12]:
|
||||
object.access_at = datetime.combine(row[11], row[12])
|
||||
if row[13] and row[14]:
|
||||
object.meet_at = datetime.combine(row[13], row[14])
|
||||
object.meet_info = row[15]
|
||||
if row[17] == "Rig":
|
||||
object.based_on = row[16]
|
||||
object.based_on = based_on
|
||||
object.dry_hire = row[18]
|
||||
object.is_rig = True
|
||||
object.mic = row[19]
|
||||
object.mic = mic
|
||||
object.payment_method = row[20]
|
||||
object.purchase_order = row[21]
|
||||
object.payment_received = row[22]
|
||||
object.collector = row[23]
|
||||
|
||||
object.save()
|
||||
|
||||
def main():
|
||||
# import_users()
|
||||
|
||||
Reference in New Issue
Block a user