def bestellung_versenden(cls, request): nutzer = request.user from Produkte.views import Warenkorb text_warenkorb = '' for pk, ware in Warenkorb(request).items.items(): text_warenkorb += "%s x %s\n" % (ware.quantity, Kauf.obj_aus_pk(pk)) text = '''Hallo Georg! Ein Nutzer hat Waren zum Versand bestellt. Adresse: %s eMail für Rückfragen: %s Waren: %s ''' % (nutzer.my_profile.adresse_ausgeben(), request.user.email, text_warenkorb) send_mail( subject='[website] Bestellung zum Versand eingegangen', message=text, from_email='*****@*****.**', recipient_list=['*****@*****.**', cls.mailadresse], fail_silently=False, )
def izo_dump(id_zu_objekt): with open('id_zu_objekt.txt', 'w') as f: datei = { str(k): (Kauf.obj_zu_pk(v[0]), v[1]) for k, v in id_zu_objekt.items() } json.dump(datei, f)
def teilnahme_gebucht(cls, request): # nutzer = request.user from Produkte.views import Warenkorb text_warenkorb = '' for pk, ware in Warenkorb(request).items.items(): text_warenkorb += "%s x %s\n" % (ware.quantity, Kauf.obj_aus_pk(pk)) text = '''Hallo Georg! Ein Nutzer hat Teilnahmen an kommenden Veranstaltungen gebucht. Waren: %s Mailadresse für eventuelle Rückfragen: %s ''' % (text_warenkorb, request.user.email) send_mail( subject='[website] Bestellung Teilnahmen eingegangen', message=text, from_email='*****@*****.**', recipient_list=['*****@*****.**', cls.mailadresse], fail_silently=False, )
def studiumdings_gebucht(cls, request): # nutzer = request.user from Produkte.views import Warenkorb text_warenkorb = '' for pk, ware in Warenkorb(request).items.items(): text_warenkorb += "%s x %s\n" % (ware.quantity, Kauf.obj_aus_pk(pk)) text = '''Hallo Georg! Ein Nutzer hat Studiendinger gebucht. Waren: %s Vermutlich muss er eine händische Mail zur weiteren Vorgehensweise bekommen: %s ''' % (text_warenkorb, request.user.email) send_mail( subject='[website] Bestellung Studiendinger eingegangen', message=text, from_email='*****@*****.**', recipient_list=['*****@*****.**', cls.mailadresse], fail_silently=False, )
def izo_load(): with open('id_zu_objekt.txt', 'r') as f: datei = json.load(f) id_zu_objekt = {} for k, v in datei.items(): #print("versuche %s, %s zu importieren" % (k, v[0])) try: id_zu_objekt[int(k)] = (Kauf.obj_aus_pk(v[0]), v[1]) except: print("nicht geklappt bei " + k) return id_zu_objekt
def eintragen_kaeufe(kliste, id_zu_objekt, id_zu_profil): """ bekommt eine Liste von dicts mit dem Inhalt von je einer Zeile der registration-Tabelle der alten db. Außerdem ein mapping der produkt_id der alten db zu model-Instanzen der neuen. Trägt entsprechende Käufe ein und gibt dict produkt_id -> model-Instanz zurück kompliziert ist die Zuordnung von format zu art; es gibt in der alten db folgende formate der Käufe abhängig vom type vom produkt: scholie: PDF, Kindle, ePub, Druck antiquariat: Druck programm: '' seminar: '', vorOrt salon: '', vorOrt, vor Ort, Stream media-salon: '', Stream media-vortrag: '' media-vorlesung: '' """ def reg_zu_kauf(kauf): """ nimmt eine Zeile der kliste und gibt objekt und art für den zu erstellenden Kauf aus """ objekt, type_alt = id_zu_objekt[kauf['event_id']] if type_alt in ['programm', 'seminar']: art = 'teilnahme' elif type_alt == 'antiquariat': art = 'kaufen' elif type_alt in ['scholie', 'buch']: art = { 'Druck': 'druck', 'PDF': 'pdf', '': 'spam', 'ePub': 'epub', 'Kindle': 'mobi' }[kauf['format']] if art == 'spam': if kauf['quantity'] == 1: art = 'pdf' else: art = 'druck' elif type_alt[:5] == 'media': art = 'aufzeichnung' elif type_alt == 'salon': art = 'aufzeichnung' # ist falsch, aber zum Wohl des Kunden return objekt, art with transaction.atomic(): for kauf in kliste: if kauf['reg_datetime'][0] == '0': datum = '1111-11-11 11:11:11' else: datum = kauf['reg_datetime'] if kauf['reg_notes']: kommentar = "Alte reg_id %s, notes %s" % (kauf['reg_id'], kauf['reg_notes']) else: kommentar = "Aus alter DB mit reg_id %s" % kauf['reg_id'] objekt, art = reg_zu_kauf(kauf) kunde = id_zu_profil[kauf['user_id']] menge = kauf['quantity'] neu = Kauf.neuen_anlegen(objekt, art, menge, kunde, kommentar) neu.zeit = datum neu.save() print('Kauf von %s durch %s angelegt' % (objekt, kunde.user))
def art_aus_pk(pk): return Kauf.tupel_aus_pk(pk)[2]