Example #1
0
def replace(request, id):
    name = _("Replace an issued Enumeration number with a new number.")
    e = get_object_or_404(Enumeration, id=id)
    if e.has_ever_been_active:
        #create a candidate eumeration
        eight_digits = random.randrange(10000000, 19999999)
        prefixed_eight_digits = "%s%s" % (settings.LUHN_PREFIX, eight_digits)
        checkdigit = generate(prefixed_eight_digits)
        new_number = "%s%s" % (eight_digits, checkdigit)
        while Enumeration.objects.filter(number=new_number).count() > 0:
            eight_digits = random.randrange(10000000, 19999999)
            prefixed_eight_digits = "%s%s" % (settings.LUHN_PREFIX,
                                              eight_digits)
            checkdigit = generate(prefixed_eight_digits)
            new_number = "%s%s" % (eight_digits, checkdigit)

        #create a message
        msg = "The number %s has been replaced with %s" % (e.number,
                                                           new_number)

        #Append the old number to the old_numbers field.
        e.old_numbers = "%s, %s" % (e.old_numbers, e.number)

        #Remove any command or whitespace from the begining
        if e.old_numbers.startswith(","):
            e.old_numbers = e.old_numbers[1:]

        if e.old_numbers.startswith(" "):
            e.old_numbers = e.old_numbers[1:]

        #Set the new number
        e.number = new_number
        #flag this recors as having been replaced
        e.is_number_replaced = True

        e.last_updated_ip = request.META['REMOTE_ADDR']
        e.save()
        msg = "A new enumeration number %s was assigned." % (e.number)

        #Create an event
        Event.objects.create(enumeration=e,
                             event_type="REENUMERATION",
                             note=msg,
                             details=msg,
                             body=RENUMBERED_BODY,
                             subject=RENUMBERED_SUBJECT)

        reversion.set_user(request.user)
        rmsg = "Replacement: %s", (msg)
        reversion.set_comment(rmsg)
        messages.success(request, msg)
    else:
        messages.info(
            request,
            "This record has never been active so a replacement is not allowed."
        )

    return HttpResponseRedirect(reverse('report_index'))
Example #2
0
def replace(request, id):
    name = _("Replace an issued Enumeration number with a new number.")
    e = get_object_or_404(Enumeration, id=id)
    if e.has_ever_been_active:
        #create a candidate eumeration
        eight_digits = random.randrange(10000000,19999999)                
        prefixed_eight_digits = "%s%s" % (settings.LUHN_PREFIX, eight_digits)
        checkdigit = generate(prefixed_eight_digits)            
        new_number = "%s%s" % (eight_digits, checkdigit)
        while Enumeration.objects.filter(number=new_number).count()>0:
            eight_digits          = random.randrange(10000000,19999999)
            prefixed_eight_digits = "%s%s" % (settings.LUHN_PREFIX, eight_digits)
            checkdigit            = generate(prefixed_eight_digits)
            new_number            = "%s%s" % (eight_digits, checkdigit)
        
        #create a message
        msg = "The number %s has been replaced with %s" % (e.number, new_number)
        
        #Append the old number to the old_numbers field.
        e.old_numbers = "%s, %s" % (e.old_numbers, e.number)
        
        #Remove any command or whitespace from the begining
        if e.old_numbers.startswith(","):
            e.old_numbers = e.old_numbers[1:]
            
        if e.old_numbers.startswith(" "):
            e.old_numbers = e.old_numbers[1:]
        
        #Set the new number
        e.number = new_number
        #flag this recors as having been replaced
        e.is_number_replaced = True
        
        e.last_updated_ip=request.META['REMOTE_ADDR']
        e.save()
        msg = "A new enumeration number %s was assigned." % (e.number)
        
        #Create an event
        Event.objects.create(enumeration=e, event_type="REENUMERATION", note= msg,
                             details = msg, body=RENUMBERED_BODY,
                             subject = RENUMBERED_SUBJECT)
        
        reversion.set_user(request.user)
        rmsg = "Replacement: %s", (msg)
        reversion.set_comment(rmsg)
        messages.success(request, msg)
    else:
        messages.info(request, "This record has never been active so a replacement is not allowed.")

    return HttpResponseRedirect(reverse('report_index'))
Example #3
0
def generate_pan(pan_len=16):
    prefix = '500000'  # not to mess with real world cards
    base = prefix + str(
        random.randint(10**(pan_len - len(prefix) - 2),
                       10**(pan_len - len(prefix) - 1) - 1))
    pan = base + baluhn.generate(base)
    assert baluhn.verify(pan)
    #print "pan=%s" % pan
    return pan
Example #4
0
def generate_pan(pan_len=16):
    prefix = '500000'  # not to mess with real world cards
    base = prefix + str(random.randint(
        10 ** (pan_len - len(prefix) - 2),
        10 ** (pan_len - len(prefix) - 1) - 1))
    pan = base + baluhn.generate(base)
    assert baluhn.verify(pan)
    #print "pan=%s" % pan
    return pan
Example #5
0
def add_luhn(s):
    digits = filter(lambda c: c.isdigit(), s)

    # our payload must have an even number of digits otherwise the serve computes
    # a different checksum than us
    if len(digits) % 2 == 0:
        s += '0'
        digits += '0'

    return quote(s + generate(''.join(digits)))
Example #6
0
def add_luhn(s):
    digits = filter(lambda c: c.isdigit(), s)

    # our payload must have an even number of digits otherwise the serve computes
    # a different checksum than us
    #print("rulsan", digits)
    #if len(digits) % 2 == 0:
    # s += '0'
    # digits += '0'

    return urllib.parse.quote(s + generate(''.join(digits)))
	def body_1(start, end,event_time):
		#Body
		data= [['No.', 'Name', 'Cat II', 'Cat III']]
		
		for i in range(start,end):
			#Generate Transaction Id
			transaction_id = str(event_id)+event_date+event_time+str(i)
			transaction_id = filter(str.isalnum, str(transaction_id))

			luhn = generate(transaction_id)
			transaction_id = str(transaction_id)+luhn
			
			data.append([str(i)+','+luhn,'','','']) #####
			   

		tstyle = [('INNERGRID', (0,0), (-1,-1), 0.25, colors.black),
				  ('BOX', (0,0), (-1,-1), 0.25, colors.black),]
			   
		t = Table(data, colWidths=(3*cm, 4*cm, 6*cm, 6*cm))
		t.setStyle(TableStyle(tstyle))
		t.wrapOn(c, 1*cm, 0*cm)
		t.drawOn(c, 1*cm, 1*cm)

		c.showPage()
Example #8
0
#!/usr/bin/env python

from baluhn import generate, verify
import os
import sys

value = sys.argv[1]

print generate(value)