def model_create(self): m = MoneybookersTransaction() fields = [ "transaction_id", "session_id", "hide_login", "prepare_only", "payment_methods", "rid", "ext_ref_id", "language", "title", "firstname", "lastname", "date_of_birth", "address", "address2", "phone_number", "postal_code", "city", "state", "country", "currency", "amount", "amount2", "amount2_description", "amount3", "amount3_description", "amount4", "amount4_description", "detail1_description", "detail1_text", "detail2_description", "detail2_text", "detail3_description", "detail3_text", "detail4_description", "detail4_text", "detail5_description", "detail5_text", "merchant_field", "user_ipaddress", "user_id", "invoice", "md5merchant", "merchant_field_value", ] for f in fields: value = self.get_value(f) if value: if f == "merchant_field_value": value = "%s=%s" % (m.merchant_field, value) f = "merchant_field" m.__dict__[f] = value self.set_value("user_ipaddress", None) self.model = m
mb = MoneybookersTransaction.objects.get(transaction_id=request.POST["transaction_id"]) user_id_old = mb.user_id invoice_old = mb.invoice amount_old = mb.amount except MoneybookersTransaction.DoesNotExist: pass form = MoneybookersStatusForm(request.POST, instance=mb) if form.is_valid(): try: status_data = form.save(commit=False) except Exception, e: error = "Exception: %s" % e else: error = "Invalid form: %s" % form.errors if not status_data: status_data = MoneybookersTransaction() if status_data.md5sig != md5sig_generate(status_data): # Invalid md5sig, that's not Moneybookers return HttpResponseForbidden("Allowed only for Moneybookers") if error: status_data.set_error(error) status_data.mb_ipaddress = request.META.get("REMOTE_ADDR", "0.0.0.0") if not request.is_secure() and STATUS_URL[:5]=="https": status_data.set_error("Moneybookers request was not SSL-encrypted") merchant_field = status_data.merchant_field merchant_value = request.POST.get(merchant_field,"")